PT09IHJlbGVhc2UgMS41LjIgPT09CgoyMDE1LTA2LTI0ICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0Bjb2F4aW9uLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgcmVsZWFzaW5nIDEuNS4yCgoyMDE1LTA2LTE1IDE3OjMwOjI2ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIHRlc3RzOiBkYXNoZGVtdXg6IGFkZGVkIGV4cGxpY2l0IHR5cGUgY29udmVyc2lvbnMKCSAgZmxleGVsaW50IChodHRwOi8vd3d3LmdpbXBlbC5jb20vaHRtbC9mbGV4Lmh0bSkgc3RhdGljIGNvZGUgYW5hbHlzZXIKCSAgY29tcGxhaW5lZCBhYm91dCBpbXBsaWNpdCBjb252ZXJzaW9ucyBmcm9tIHVuc2lnbmVkIHRvIHNpZ25lZCwgc28gSSBhZGRlZAoJICBleHBsaWNpdCBjb252ZXJzaW9ucy4KCSAgSWRlYWxseSwgdGhlIHNpemUgcGFyYW1ldGVyIG9mIGdzdF9tcGRfcGFyc2UgZnVuY3Rpb24gc2hvdWxkIGJlIHVuc2lnbmVkLAoJICBidXQgSSBkb24ndCB3YW50IHRvIGNoYW5nZSB0aGUgQVBJLgoKMjAxNS0wNi0xNSAxNjo1OTozMyArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICB0ZXN0czogZGFzaGRlbXV4OiBjb3JyZWN0ZWQgcmV0dXJuIHR5cGUgZm9yIGR1cmF0aW9uX3RvX21zIGZ1bmN0aW9uCgkgIFRoZSBkdXJhdGlvbl90b19tcyBmdW5jdGlvbiBjb252ZXJ0cyBhIHRpbWUgc3BlY2lmaWVkIGJ5IHllYXIsIG1vbnRoLCBkYXksCgkgIGhvdXIsIG1pbnV0ZSwgc2Vjb25kLCBtaWxsaXNlY29uZCB0byBhIG1pbGxpc2Vjb25kIHZhbHVlLiBCZWNhdXNlIGFsbCB0aGUKCSAgYXJndW1lbnRzIGFyZSBwb3NpdGl2ZSBudW1iZXJzLCB0aGUgcmVzdWx0IG11c3QgYWxzbyBiZSBwb3NpdGl2ZS4KCSAgVGhpcyBwYXRjaCBjaGFuZ2VzIHRoZSByZXR1cm5lZCB2YWx1ZSBmcm9tIGEgZ2ludDY0IHRvIGEgZ3VpbnQ2NCB0eXBlLgoKMjAxNS0wNi0yNCAxMToxNTo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2NzLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vaHUucG86CgkqIHBvL3BsLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNS0wNi0yMyAxODoxOTozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogQWxzbyB1cGRhdGUgc2VnbWVudC5iYXNlIGFuZCBzZWdtZW50LnRpbWUgd2hlbiBzd2l0Y2hpbmcgcGVyaW9kcwoJICBBbmQgaW5jbHVkZSB0aGUgcHJlc2VudGF0aW9uIG9mZnNldCBpbiB0aGUgbGFzdCBrbm93biBwb3NpdGlvbiBmb3IgZWFjaAoJICBzdHJlYW0sIGFuZCBqdXN0IGJlY2F1c2Ugd2UgY2FuIGFsc28ga2VlcCB0cmFjayBvZiB0aGUgbGF0ZXN0IGtub3duIHBvc2l0aW9uCgkgIGluc2lkZSB0aGUgZGVtdXhlciBzZWdtZW50LgoKMjAxNS0wNi0yMyAxNjo0NjozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFJldmVydCAiZ2wvd2luZG93L3gxMTogZG9uJ3QgY3JlYXRlIG91ciBvd24gWDExIGRpc3BsYXkiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNTY5N2I2Yjg5YjRiMmExNWM0NWJkNDdiZTk0MGExN2Y0NDEyZWExMS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTAwMwoKMjAxNS0wNi0yMyAxNDoxNjozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkgIFJldmVydCAiZWFnbDogRG9uJ3QgZGlzcGF0Y2hfc3luYygpIHRvIHRoZSBtYWluIHRocmVhZCBpZiB3ZSBhcmUgb24gdGhlIG1haW4gdGhyZWFkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDBiZmY0ODEwMTFjZjc0YzU5ODY5YjUxMTM5M2QxNjk2YjU3MGUzZDUuCgkgIEl0IHdhc24ndCBzdXBwb3NlZCB0byBiZSBtZXJnZWQgYW5kIGFsc28gZG9lc24ndCBmaXggdGhlIHByb2JsZW0uCgoyMDE1LTA2LTIzIDEzOjEzOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBSZW1lbWJlciB0aGUgbGFzdCByZXR1cm4gdmFsdWUgb2YgZ3N0X2FkYXB0aXZlX2RlbXV4X3N0cmVhbV91cGRhdGVfZnJhZ21lbnRfaW5mbygpCgkgIEl0J3MgZ29pbmcgdG8gcmV0dXJuIEVPUyBpZiB0aGUgcGVyaW9kIGVuZGVkIG9yIG90aGVyd2lzZSB0aGVyZSBpcyBqdXN0IG5vCgkgIG5leHQgZnJhZ21lbnQgbGVmdC4gSWYgd2UgZG9uJ3Qgc3RvcmUgdGhlIGxhc3QgcmV0dXJuIHZhbHVlLCBpdCB3aWxsIGFsd2F5cwoJICBzdGF5IE9LIGFuZCBnc3RfYWRhcHRpdmVfZGVtdXhfY29tYmluZV9mbG93cygpIHdpbGwgYWx3YXlzIHJldHVybiBPSyBpbnN0ZWFkCgkgIG9mIEVPUyBvbmNlIGFsbCBzdHJlYW1zIGFyZSBkb25lLgoJICBUaGlzIHBhcnRpYWxseSBzd2l0Y2hlcyBwZXJpb2QgY2hhbmdlcyBpbiBEQVNIIGJ5IGF0IGxlYXN0IHRyeWluZyB0byBzd2l0Y2gKCSAgaW5zdGVhZCBvZiBqdXN0IHN0b3BwaW5nLiBXaGF0IGlzIHN0aWxsIGxlZnQgaXMgdGhhdCBhZnRlciBhIHBlcmlvZCBjaGFuZ2UKCSAgd2l0aCBEQVNIIHRoZSB0aW1lcyBhbGwgc3RhcnQgYXQgMCBhZ2FpbiBpbnN0ZWFkIG9mIGNvbnRpbnVpbmcuCgoyMDE1LTA2LTIzIDExOjA1OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wubToKCSAgZWFnbDogRG9uJ3QgZGlzcGF0Y2hfc3luYygpIHRvIHRoZSBtYWluIHRocmVhZCBpZiB3ZSBhcmUgb24gdGhlIG1haW4gdGhyZWFkCgkgIFRoaXMgd2lsbCBvdGhlcndpc2UgZGVhZGxvY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExMDEKCjIwMTUtMDYtMjMgMTA6MzE6NDQgKzAyMDAgIEpvaG4gTHVkd2lnIDxqb2huQHRoZWx1ZHdpZ3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9iYXNlLmg6CgkgIGdsOiBJbmNsdWRlIHRleFBhcmFtZXRlcmYgaW4gdGhlIEdMIGZ1bmN0aW9uIHRhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEyMjgKCjIwMTUtMDUtMjkgMTQ6Mjc6MjQgKzAzMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQHRvb2xzb25haXIuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHNiYWQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZXJyb3JpZ25vcmUuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZXJyb3JpZ25vcmUuaDoKCSAgZXJyb3ItaWdub3JlOiBOZXcgZWxlbWVudCB0byBjb252ZXJ0IHNvbWUgR3N0Rmxvd1JldHVybiB0eXBlcyBpbnRvIG90aGVycwoJICBDYW4gYmUgdXNlZCB0byBmaXggbWlzYmVoYXZpbmcgc2lua3MuIEl0IHdpbGwgcGFzcyB0aHJvdWdoIGFsbCBidWZmZXJzCgkgIHVudGlsIGl0IGVuY291bnRlcnMgR1NUX0ZMT1dfRVJST1Igb3IgR1NUX0ZMT1dfTk9UX05FR09USUFURUQgKGNvbmZpZ3VyYWJsZSkuCgkgIEF0IHRoYXQgcG9pbnQgaXQgd2lsbCB1bnJlZiB0aGUgYnVmZmVycyBhbmQgcmV0dXJuIEdTVF9GTE9XX05PVF9MSU5LRUQKCSAgKGNvbmZpZ3VyYWJsZSkgLSB1bnRpbCB0aGUgbmV4dCBSRUFEWV9UT19QQVVTRUQgb3IgRkxVU0hfU1RPUC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDA5OAoKMjAxNS0wNi0yMCAxMzozNjoyNyArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IHNpbXBsaWZpZXMgYW5kIGltcHJvdmVzIHNpbmtfZ2V0X2NhcHMuCgkgIFRoZSBwcm9ibGVtIGhlcmUgd2FzIHRoYXQgYWZ0ZXIgcmVtb3ZpbmcgdGhlIGZvcm1hdHMgYW5kCgkgIGFsbCB0aGUgdGhpbmdzIHdlIGNvdWxkIGNvbnZlcnQsIHdlIHRoZW4gaW50ZXJzZWN0ZWQgdGhlc2UKCSAgY2FwcyB3aXRoIHRoZSB0ZW1wbGF0ZSBjYXBzLgoJICBIZW5jZSBpZiBhIHN1YmNsYXNzIG9mZmVyZWQgcGVybWlzc2l2ZSBzaW5rIHRlbXBsYXRlcwoJICAoZWcgYWxsIHRoZSBwb3NzaWJsZSBmb3JtYXRzIHZpZGVvY29udmVydCBoYW5kbGVzKSwgYnV0IG9ubHkKCSAgb25lIG91dHB1dCBmb3JtYXQsIHRoZW4gYXQgbmVnb3RpYXRpb24gdGltZSBnZXRjYXBzIHJldHVybmVkCgkgIGNhcHMgd2l0aCB0aGUgZm9ybWF0IHJlc3RyaWN0ZWQgdG8gdGhhdCBmb3JtYXQsIGV2ZW4gdGhvdWdoCgkgIHdlIGRvIGhhbmRsZSBjb252ZXJzaW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMjU1CgoyMDE1LTA2LTIyIDE1OjQ3OjE4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5oOgoJICBtb3Rpb25jZWxsczogUG9ydCB0byBnX2dldF9jdXJyZW50X3RpbWUKCSAgVGhpcyBpcyBtb3JlIHBvcnRhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMjIxCgoyMDE1LTA2LTE2IDE3OjE4OjUyICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGFkZCBmcmFtZSByYXRlIHJhbmdlIHRvIGNhcHMKCSAgV2hlbiBBVkZvdW5kYXRpb24gaW5kaWNhdGVzIGEgc3VwcG9ydGVkIGZyYW1lIHJhdGUgcmFuZ2UsIGFkZCBpdCB0bwoJICB0aGUgY2Fwcy4gVGhpcyBpcyBpbXBvcnRhbnQgZm9yIGRldmljZXMgc3VjaCBhcyB0aGUgaVBob25lIDYsIHdoaWNoCgkgIGluZGljYXRlIGEgc2luZ2xlIEFWRnJhbWVSYXRlUmFuZ2Ugb2YgMmZwcyAtIDYwZnBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMDQ4CgoyMDE1LTA2LTE1IDE3OjM3OjQyICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIHRlc3RzOiBkYXNoZGVtdXg6IGFkZGVkIHBhcnNpbmcgb2YgcGVyaW9kIGVsZW1lbnQKCSAgSW1wcm92ZWQgZGFzaF9tcGQgdW5pdCB0ZXN0cyBieSBhZGRpbmcgbmV3IHRlc3RzIHRoYXQgcGFyc2UgdGhlIFBlcmlvZCBlbGVtZW50LgoJICBDb2RlIGNvdmVyYWdlIHJlcG9ydGVkIGJ5IGxjb3YgZm9yIGRhc2gvZ3N0bXBkcGFyc2VyLmMgaXM6CgkgIGxpbmVzLi4uLi4uOiA0My4wJSAoOTg1IG9mIDIyOTAgbGluZXMpCgkgIGZ1bmN0aW9ucy4uOiA0Ny41JSAoNjcgb2YgMTQxIGZ1bmN0aW9ucykKCjIwMTUtMDYtMjIgMTQ6MDY6MDQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBmaXggY29uc2lzdGVuY3kgYWJvdXQgcGJvIGF2YWlsYWJpbGl0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTE2NQoKMjAxNS0wNi0xNSAxNzozNDo0OCArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICB0ZXN0czogZGFzaGRlbXV4OiBleHRlbmRlZCBNUEQgZWxlbWVudCB0ZXN0IHRvIHRlc3QgeG1sIG5hbWVzcGFjZXMKCSAgRXh0ZW5kZWQgdGhlIGRhc2hfbXBkcGFyc2VyX21wZCB0ZXN0Y2FzZSB0byBhbHNvIHRlc3QgcGFyc2luZyB0aGUgeG1sCgkgIG5hbWVzcGFjZSBhdHRyaWJ1dGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA4NjMKCjIwMTUtMDYtMTUgMTM6NDM6NTMgKzAyMDAgIE1lcnNhZCBKZWxhY2ljIDxtZXJzYWRAYXhpcy5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IEFkZCBiaXRyYXRlIHRvIHRoZSB0YWdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA5OTIKCjIwMTUtMDYtMTUgMTI6NTk6NTUgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogY29ycmVjdGVkIGNvbXB1dGF0aW9uIG9mIHBlcmlvZCdzIGR1cmF0aW9uCgkgIEFjY29yZGluZyB0byBJU08vSUVDIDIzMDA5LTE6MjAxNChFKSwgY2hhcHRlciA1LjMuMi4xCgkgICJUaGUgUGVyaW9kIGV4dGVuZHMgdW50aWwgdGhlIFBlcmlvZFN0YXJ0IG9mIHRoZSBuZXh0IFBlcmlvZCwgb3IgdW50aWwKCSAgdGhlIGVuZCBvZiB0aGUgTWVkaWEgUHJlc2VudGF0aW9uIGluIHRoZSBjYXNlIG9mIHRoZSBsYXN0IFBlcmlvZC4iCgkgIFRoaXMgbWVhbnMgdGhhdCBhIGNvbmZpZ3VyZWQgdmFsdWUgZm9yIG9wdGlvbmFsIGF0dHJpYnV0ZSBwZXJpb2QgZHVyYXRpb24KCSAgc2hvdWxkIGJlIGlnbm9yZWQgaWYgdGhlIG5leHQgcGVyaW9kIGNvbnRhaW5zIGEgc3RhcnQgYXR0cmlidXRlIG9yIGl0IGlzCgkgIHRoZSBsYXN0IHBlcmlvZCBhbmQgdGhlIE1QRCBjb250YWlucyBhIG1lZGlhUHJlc2VudGF0aW9uRHVyYXRpb24gYXR0cmlidXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNzk3CgoyMDE1LTA2LTIyIDEzOjI5OjI1ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0LmM6CgkgIGJheWVyOiB1cGRhdGUgT1JDIGZpbGVzCgkgIFVwZGF0ZSBPUkMgZmlsZXMgd2l0aCBuZXdlc3QgT1JDIHRvIGZpeCBiYWNrdXAgY29kZSBnZW5lcmF0aW9uIGVycm9yLgoKMjAxNS0wNi0yMiAxMDo0OTo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0aXJ0c3BwYXJzZS5jOgoJICBpcnRzcHBhcnNlOiByZWZsb3cgY29kZSB0byBhdm9pZCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIHdhcm5pbmcKCSAgVGhpcyBzaG91bGQgaG9wZWZ1bGx5IGFsbG93IGV2ZW4gdGhlIG1vc3QgY2hhbGxlbmdlZCBzdGF0aWMKCSAgY29kZSBhbmFseXplciB0byBmaWd1cmUgb3V0IHRoYXQgaXQncyBhbGwgZmluZS4gQWxzbyBtYWtlcwoJICB0aGUgZmxvdyBjbGVhcmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzA1CgoyMDE1LTA2LTIyIDEwOjU4OjAwICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJICB0c211eDogY29kZSBzdHlsZSBmaXgKCSAgdHJpdmlhbCBwYXRjaCB0byBhZGQgcHJvcGVyICggd2hpbGUgY2hlY2tpbmcgZm9yIGlmKEdfVU5MSUtFTFkoKSkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTMwNQoKMjAxNS0wNi0yMiAwOToyMzoxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjRzcmM6IGZpeCBzbWFsbCBsZWFrIGluIGNhcHMgcXVlcnkgaGFuZGxlcgoJICBnc3RfcXVlcnlfc2V0X2NhcHNfcmVzdWx0KCkgZG9lcyBub3QgdGFrZSBvd25lcnNoaXAgb2YgdGhlIGNhcHMuCgoyMDE1LTA2LTIyIDExOjAzOjE1ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NF9zcmM6IGFkZCBtaXNzaW5nIGJyZWFrIGluIGNhcHMgcXVlcnkgaGFuZGxlcgoJICBUaGVyZSBpcyBhIG1pc3NpbmcgYnJlYWsgc3RhdGVtZW50IGluIHN3aXRjaCwKCSAgd2hpY2ggd2lsbCByZXN1bHQgaW4gZXhlY3V0aW5nIGRlZmF1bHQgY2FzZSBhcyB3ZWxsCgkgIHJlc3VsdGluZyBpbiB3cm9uZyBiZWhhdmlvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMzA1CgoyMDE1LTA2LTIyIDA5OjA4OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWcxc3lzLy5naXRpZ25vcmU6CgkqIGdzdC9tcGVnMXN5cy9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWcxc3lzL2J1ZmZlci5jOgoJKiBnc3QvbXBlZzFzeXMvYnVmZmVyLmg6CgkqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuaDoKCSogZ3N0L21wZWcxc3lzL21haW4uaDoKCSogZ3N0L21wZWcxc3lzL21wZWcxc3lzdGVtZW5jb2RlLnZjcHJvajoKCSogZ3N0L21wZWcxc3lzL3N5c3RlbXMuYzoKCSAgbXBlZzFzeXM6IHJlbW92ZSBhbmNpZW50IHBsdWdpbiB0aGF0J3MgbmV2ZXIgZXZlbiBiZWVuIHBvcnRlZCB0byAwLjgKCjIwMTUtMDYtMjEgMTc6MTM6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWdwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBqcGVnOiBhZGQgc29tZSBwYWRkaW5nIHRvIFNjYW5IZHIgc3RydWN0CgkgIEZvciBiaXRzIHRoYXQgd2UgZG9uJ3QgcGFyc2Ugb3V0IGF0IHRoZSBtb21lbnQuCgoyMDE1LTA2LTIxIDE3OjAzOjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogd2luMzIvY29tbW9uL2xpYmdzdGNvZGVjcGFyc2Vycy5kZWY6CgkgIGNvZGVjcGFyc2VyczoganBlZzogYWRkIG5ldyBBUEkgdG8gLmRlZiBmaWxlCgoyMDE1LTA2LTIxIDE0OjU4OjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVncGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczoganBlZzogZml4IGRvY3MgZm9yIHRhYmxlIHBhcnNpbmcgZnVuY3Rpb25zCgoyMDE1LTA2LTIxIDEzOjU1OjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVncGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZ3BhcnNlci5oOgoJICBkb2NzOiBhZGQgbmV3IEpQRUcgY29kZWNwYXJzZXIgQVBJIHRvIHRoZSBkb2NzCgkgIEFuZCBzcHJpbmtsZSBzb21lIG1vcmUgU2luY2UgbWFya2VycwoKMjAxNS0wNi0yMSAxMTo1MTozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY29kZWNwYXJzZXJzL3BhcnNlLXZwOC5jOgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvdnA4cGFyc2VyLXRlc3QuYzoKCSAgZXhhbXBsZXM6IG1vdmUgdnA4IHBhcnNlciB0ZXN0IHRvIGNvZGVjcGFyc2VyIGV4YW1wbGUgZGlyZWN0b3J5CgoyMDE1LTA2LTIxIDExOjIwOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogLmdpdGlnbm9yZToKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jb2RlY3BhcnNlcnMvcGFyc2UtanBlZy5jOgoJICBleGFtcGxlczogYWRkIHNtYWxsIGpwZWcgY29kZWNwYXJzZXIgdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczOTI1CgoyMDE1LTA2LTIwIDIyOjQ5OjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVncGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczoganBlZzogZml4IHZhbGlkaXR5IGNoZWNraW5nIG9mIGRhdGEgcGFyc2VkCgkgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKCkgYW5kIGdfYXNzZXJ0KCkgYXJlIG5vdCBhcHByb3ByaWF0ZQoJICBmb3IgY2hlY2tpbmcgdW50cnVzdGVkIGV4dGVybmFsIGRhdGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM5MjUKCjIwMTUtMDYtMjAgMTk6NTI6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWdwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVncGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczoganBlZzogZml4IHVwIEFQSQoJICAtIGFkZCBkYXRhIHBvaW50ZXIgdG8gR3N0SnBlZ1NlZ21lbnQgYW5kIHBhc3Mgc2VnbWVudAoJICB0byBhbGwgcGFyc2luZyBmdW5jdGlvbnMsIHJlbmFtZSBhY2NvcmRpbmdseQoJICAtIHNob3J0ZW4gR3N0SnBlZ01hcmtlckNvZGUgZW51bSB0eXBlIG5hbWUgdG8gR3N0SnBlZ01hcmtlcgoJICAtIG1vdmUgZnVuY3Rpb24gZ3RrLWRvYyBibHVyYnMgaW50byAuYyBmaWxlCgkgIC0gYWRkIHNpbmNlIG1hcmtlcnMKCSAgLSBmbGVzaCBvdXQgZG9jcyBmb3IgU09GIG1hcmtlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MzkyNQoKMjAxNS0wNi0xNCAxMTo0MTo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZ3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWdwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBqcGVnOiB0d2VhayBBUEkgYSBsaXR0bGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MzkyNQoKMjAxNS0wNi0xNCAxOTowMToxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZ3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWdwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBqcGVnOiBoaWRlIGdzdF9qcGVnX3NjYW5fZm9yX21hcmtlcl9jb2RlKCkKCSAgTWFrZSB0aGlzIGZ1bmN0aW9uIHByaXZhdGUgZm9yIG5vdywgc2luY2UgaXQncyB1bmNsZWFyIHdoZXRoZXIKCSAgaXQncyBhY3R1YWxseSBuZWVkZWQgc2VlaW5nIHRoYXQgZ3N0X2pwZWdfcGFyc2UoKSBzY2FucyB0b28uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM5MjUKCjIwMTMtMDktMjQgMTY6MTA6NDUgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZ3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGpwZWc6IGZpeCBhbmQgb3B0aW1pemUgc2NhbiBmb3IgbmV4dCBtYXJrZXIgY29kZS4KCSAgRml4IHNjYW4gZm9yIG5leHQgbWFya2VyIGNvZGUgd2hlbiB0aGVyZSBpcyBhbiBvZGQgbnVtYmVyIG9mIGZpbGxlcgoJICAoMHhmZikgYnl0ZXMgYmVmb3JlIHRoZSBhY3R1YWwgbWFya2VyIGNvZGUuIEFsc28gb3B0aW1pemUgdGhlIGxvb3AKCSAgdG8gZXhlY3V0ZSB3aXRoIGZld2VyIGluc3RydWN0aW9ucyAofjEwJSkuCgkgIFRoaXMgZml4ZXMgcGFyc2luZyBmb3IgU3BlY3RyYWxmYW4ubW92LgoKMjAxMy0wOS0xOCAxNTo1Njo1MiArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVncGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczoganBlZzogZml4IGNhbGN1bGF0aW9uIG9mIHNlZ21lbnQgc2l6ZS4KCSAgVGhlIHNpemUgb2YgYSBtYXJrZXIgc2VnbWVudCBpcyBkZWZpbmVkIHRvIGJlIGV4Y2x1c2l2ZSBvZiBhbnkgaW5pdGlhbAoJICBtYXJrZXIgY29kZS4gU28sIGZpeCB0aGUgc2l6ZSBmb3IgU09JLCBFT0kgYW5kIEFQUG4gc2VnbWVudHMgYnV0IGFsc28KCSAgdGhlIHNpemUgb2YgYW55IHBvc3NpYmxlIHNlZ21lbnQgdGhhdCBpcyB1c3VhbGx5ICJyZXNlcnZlZCIgb3Igbm90CgkgIGV4cGxpY2l0bHkgZGVmaW5lZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzQ0NwoKMjAxMy0wNi0xMyAxMzoyMjoxOCArMDgwMCAgV2luZCBZdWFuIDxmZW5nLnl1YW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVncGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczoganBlZzogZml4IGRlZmF1bHQgSHVmZm1hbiB0YWJsZXMgZ2VuZXJhdGlvbi4KCSAgRml4IGJ1aWxkX2h1ZmZtYW5fdGFibGUoKSB0byBjb3JyZWN0bHkgZmlsbCBpbiB0aGUgYXNzb2NpYXRlZCBIVUZGVkFMCgkgIGVudHJpZXMgdG8gdGhlIGRlZmF1bHQgSHVmZm1hbiB0YWJsZXMuCgoyMDEyLTA5LTEyIDEwOjQwOjA2ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWdwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVncGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczoganBlZzogYWRkIEpQRUcgYml0c3RyZWFtIHBhcnNlcgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM5MjUKCjIwMTUtMDYtMjAgMTY6MDc6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCB0eXBvIGluIGxvZyBtZXNzYWdlCgoyMDE1LTA2LTE1IDE2OjA5OjU0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgZ2xkaXNwbGF5OiBhZGQgZ3N0X2dsX2Rpc3BsYXlfY3JlYXRlX2NvbnRleHQKCSAgSXQgYWxzbyBlbWl0cyBhIGNyZWF0ZS1jb250ZXh0IHNpZ25hbCBzbyB0aGF0IGFuIGFwcGxpY2F0aW9uCgkgIGNhbiBwcm92aWRlIGFuIGV4dGVybmFsIEdzdEdMQ29udGV4dCBiYWNrZW5kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMzEwCgoyMDE1LTA2LTE1IDE2OjM2OjI2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJICBnbGNvbnRleHQ6IG1vdmUgZGlzcGxheSBmcm9tIHByaXYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDMxMAoKMjAxNS0wNi0xOCAxMDo1NToyOCArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSAgUmV2ZXJ0ICJnbGNvbnRleHQ6IGFkZCBnc3RfZ2xfY29udGV4dF9zZXRfZGlzcGxheSBoZWxwZXIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNzFiODEwM2NiZDE2ZmZmOWNmNWE2NWNmNTE3MDgzY2I3OTRhYTNiNS4KCjIwMTUtMDYtMTggMTA6NTI6MTggKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3B1cHJvY2Vzcy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dwdXByb2Nlc3MvZ3N0Z2xjb250ZXh0X2dwdV9wcm9jZXNzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9ncHVwcm9jZXNzL2dzdGdsY29udGV4dF9ncHVfcHJvY2Vzcy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3B1cHJvY2Vzcy9nc3RnbHdpbmRvd19ncHVfcHJvY2Vzcy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3B1cHJvY2Vzcy9nc3RnbHdpbmRvd19ncHVfcHJvY2Vzcy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIFJldmVydCAiZ2w6IGFkZCBHc3RHTENvbnRleHRHUFVQcm9jZXNzIGJhY2tlbmQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYjM3NzExMmVlMzg5MTJkMzE2ZTc3YjRlMjEwMjA0MTM4OWRjMDA1MS4KCjIwMTUtMDYtMTkgMTQ6MzU6MzcgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBSZW1vdmUgZHVwbGljYXRlLCB1c2VsZXNzIGxpbmUgb2YgY29kZQoKMjAxNS0wNi0xOCAyMjoxMTowNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIG9wZW5nbDogZ2xzdGVybyogYXJlIG9ubHkgYnVpbHQgd2l0aCBmdWxsIE9wZW5HTAoJICBEb24ndCB0cnkgdG8gcmVnaXN0ZXIgdGhlIGVsZW1lbnRzIHVubGVzcyB0aGV5IGFyZSBidWlsdC4KCjIwMTUtMDYtMTggMjE6MDk6MjQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBzdHlsZTogUmVtb3ZlIHdoaXRlIHNwYWNlcyBhdCB0aGUgZW5kIG9mIGxpbmUKCjIwMTUtMDYtMTggMTg6MDk6NTUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkgIGdsdmlld2NvbnZlcnQ6IEZpeCBHTEVTMiBjb21wYXRpYmlsaXR5CgoyMDE1LTA2LTE4IDE4OjAyOjIxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJICBnbHZpZXdjb252ZXJ0OiBGaXggYnJva2VuIHZhbGlkaXR5IGNoZWNrCgoyMDE1LTA2LTE1IDE2OjA2OjQxICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogTW92ZSBQQVIgY2FsY3MsIGFuZCB1c2UgdGhlbSBmb3Igc3RlcmVvc2NvcGljIGhhbGYtYXNwZWN0CgkgIE1vdmUgdGhlIHBpeGVsLWFzcGVjdC1yYXRpbyBjYWxjdWxhdGlvbnMgaGlnaGVyIHVwIGluIGNhcHMKCSAgZGV0ZXJtaW5hdGlvbiwgc28gdGhlIHJlc3VsdHMgYXJlIGF2YWlsYWJsZSBmb3IgYSBjYWxsIHRvCgkgIGdzdF92aWRlb19tdWx0aXZpZXdfZ3Vlc3NfaGFsZl9hc3BlY3QoKSB3aGVuIHN0ZXJlb3Njb3BpYyB2aWRlbwoJICBpcyBkZXRlY3RlZC4KCjIwMTUtMDUtMzAgMDM6MDk6MTcgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvM2R2aWRlby8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvM2R2aWRlby8zZHZpZGVvLnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrLzNkdmlkZW8vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay8zZHZpZGVvL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvM2R2aWRlby9tdmlld3dpZGdldC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvM2R2aWRlby9tdmlld3dpZGdldC5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvTWFrZWZpbGUuYW06CgkgIDNkdmlkZW86IEFkZCBzaW1wbGUgZ3RrIGV4YW1wbGUgc3RlcmVvc2NvcGljIHZpZGVvIHBsYXllcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjExMTU3CgoyMDE1LTA1LTMwIDAyOjI5OjA0ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdGdsc3RlcmVvbWl4LmM6CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb21peC5oOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9zcGxpdC5jOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9zcGxpdC5oOgoJKiBleHQvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWV3Y29udmVydC5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBBZGQgZ2x2aWV3Y29udmVydCwgZ2xzdGVyZW9taXggYW5kIGdsc3RlcmVvc3BsaXQgZWxlbWVudHMKCSAgQ29udmVyc2lvbiBlbGVtZW50cyBmb3IgdHJhbnNmb3JtaW5nIG11bHRpdmlldy9zdGVyZW9zY29waWMgdmlkZW8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMTE1NwoKMjAxNS0wNS0zMCAwMjoyNjozMiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIGdsaW1hZ2VzaW5rOiBTdXBwb3J0IG11bHRpdmlldy9zdGVyZW9zY29waWMgdmlkZW8KCSAgU3VwcG9ydCB2aWRlbyB3aXRoIG11bHRpdmlldyBpbmZvIGluIHRoZSBjYXBzLCB0cmFuc2Zvcm0KCSAgaXQgdG8gbW9ubyBhbmFnbHlwaCBieSBkZWZhdWx0LCBidXQgYWxsb3cgZm9yIGNvbmZpZ3VyaW5nCgkgIG90aGVyIG91dHB1dCBtb2RlcyBhbmQgaGFuZG9mZiB0byB0aGUgYXBwIHZpYQoJICB0aGUgZHJhdyBzaWduYWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTExNTcKCjIwMTUtMDUtMzAgMDI6MjE6NDMgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5oOgoJICBnbCBsaWJzOiBBZGQgZ2x2aWV3Y29udmVydCBoZWxwZXIgb2JqZWN0CgkgIEFkZCBBUEkgZm9yIGEgaGVscGVyIG9iamVjdCB0aGF0IGNhbiBjb252ZXJ0IGJldHdlZW4gZGlmZmVyZW50CgkgIHN0ZXJlb3Njb3BpYyB2aWRlbyByZXByZXNlbnRhdGlvbnMsIGFuZCBsYXRlciBkbyBmaWx0ZXJpbmcKCSAgb2YgbXVsdGlwbGUgdmlldyBzdHJlYW1zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjExMTU3CgoyMDE1LTA2LTE4IDE2OjIwOjI2ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGFkZGVkIHdhcm5pbmdzIGluIGdzdF9tcGRfY2xpZW50X3NldHVwX3N0cmVhbWluZyBmdW5jdGlvbgoJICBBZGRlZCBzb21lIHdhcm5pbmcgbWVzc2FnZXMgaW4gZ3N0X21wZF9jbGllbnRfc2V0dXBfc3RyZWFtaW5nIHRvIGhlbHAKCSAgZGVidWcgc2l0dWF0aW9ucyB3aGVuIHRoZSBmdW5jdGlvbiB3aWxsIHJldHVybiBGQUxTRS4KCSAgUmVuYW1lZCBhIHdyb25nbHkgc3BlbGxlZCB2YXJpYWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTE0OQoKMjAxNS0wNi0xOCAxMjoyMTo0MyArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBjb3JyZWN0ZWQgY29tbWVudHMgaW4gZ3N0bXBkcGFyc2VyLmgKCSAgQ29ycmVjdGVkIHNvbWUgY29tbWVudHMgaW4gZ3N0bXBkcGFyc2VyLmggZmlsZS4KCSAgTW92ZWQgZ3N0X21wZF9jbGllbnRfZ2V0X2FkYXB0YXRpb25fc2V0cyBmdW5jdGlvbiB0byBiZSBncm91cGVkIHdpdGgKCSAgb3RoZXIgZnVuY3Rpb25zIGZyb20gQWRhcHRhdGlvblNldCBncm91cAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMTQ5CgoyMDE1LTA2LTE4IDEzOjA4OjI1ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IGZpeGVkIGdldHRpbmcgcmVwcmVzZW50YXRpb24gYmFzZWQgb24gbWF4IGJhbmR3aWR0aAoJICBUaGUgZ3N0X21wZHBhcnNlcl9nZXRfcmVwX2lkeF93aXRoX21heF9iYW5kd2lkdGggZnVuY3Rpb24gYXNzdW1lcwoJICByZXByZXNlbnRhdGlvbnMgYXJlIG9yZGVyZWQgYnkgYmFuZHdpZHRoIGFuZCBpbmNvcnJlY3RseSByZXR1cm5zIHRoZQoJICBmaXJzdCBvbmUgd2hlbiB3YW50aW5nIHRoZSBvbmUgd2l0aCBtaW5pbXVtIGJhbmR3aWR0aC4KCSAgQ29ycmVjdGVkIGdzdF9tcGRwYXJzZXJfZ2V0X3JlcF9pZHhfd2l0aF9tYXhfYmFuZHdpZHRoIGZ1bmN0aW9uIHRvIGdldCB0aGUKCSAgY29ycmVjdCByZXByZXNlbnRhdGlvbiBpbiBjYXNlIG1heF9iYW5kd2lkdGggcGFyYW1ldGVyIGlzIDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExNTMKCjIwMTUtMDYtMTggMTQ6Mzg6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuaDoKCSAgYW5kcm9pZG1lZGlhOiBBbGxvdyB0aGUgYXBwbGljYXRpb24gdG8gcHJvdmlkZSB0aGUgSmF2YSBWTQoJICBJbiBKTklfT25Mb2FkKCkgd2Ugd2lsbCBhbHJlYWR5IGdldCB0aGUgSmF2YSBWTSBwYXNzZWQgYW5kIGNvdWxkCgkgIGp1c3QgZGlyZWN0bHkgdXNlIHRoYXQuIGdzdHJlYW1lcl9hbmRyb2lkLTEuMC5jIHdpbGwgbm93IHByb3ZpZGUKCSAgdGhpcyB0byB1cy4KCSAgUmVhc29uIGZvciB0aGlzIGlzIHRoYXQgYXBwYXJlbnRseSBub3QgYWxsIEFuZHJvaWQgc3lzdGVtIGFyZQoJICBwcm92aWRpbmcgdGhlIEpOSSBmdW5jdGlvbnMgdG8gZ2V0IHRoZSBjdXJyZW50bHkgcnVubmluZyBKYXZhIFZNcywgc28KCSAgd2Ugd291bGQgZmFpbCB0byBnZXQuIFdpdGggdGhpcyB3ZSB3aWxsIGFsd2F5cyBiZSBhYmxlIHRvIGdldCB0aGUgSmF2YQoJICBWTSBvbiBzdWNoIHN5c3RlbXMuCgoyMDE1LTA2LTE4IDE0OjMxOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBQcmVmZXIgc29mdHdhcmUgY29kZWNzIG92ZXIgaGFyZHdhcmUgY29kZWNzIGZvciBhdWRpbwoJICBIYXJkd2FyZSBjb2RlY3MgZG9uJ3QgbWFrZSBzZW5zZSBmb3IgYXVkaW8gYW5kIGFyZSBnZW5lcmFsbHkgbGVzcyByZWxpYWJsZSBvbgoJICBBbmRyb2lkIHRoYW4gdGhlIHNvZnR3YXJlIGNvZGVjcy4KCjIwMTUtMDYtMTggMTQ6Mjk6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmM6CgkgIGFuZHJvaWRtZWRpYTogRmFpbGluZyB0byBkZXRhY2ggYSB0aHJlYWQgaXMgbm90IHRoYXQgbXVjaCBvZiBhIHByb2JsZW0KCSAgU29tZW9uZSBlbHNlIG1pZ2h0IGhhdmUgZGV0YWNoZWQgaXQgYmVmb3JlIHVzLCBzbyBtYWtlIHRoaXMganVzdCBub3JtYWwgZGVidWcKCSAgb3V0cHV0IGluc3RlYWQgb2YgYSBHU1RfRVJST1IoKQoKMjAxNS0wNi0xOCAxMDo0Mzo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuYzoKCSAgYW5kcm9pZG1lZGlhOiBEb24ndCBmYWlsIGlmIEpOSV9DcmVhdGVKYXZhVk0gY2FuJ3QgYmUgZm91bmQKCSAgV2Ugb25seSBuZWVkIHRoYXQgaWYgbm8gSmF2YSBWTSBpcyBydW5uaW5nIHlldCwgYW5kIGFsbCB1c3VhbCBjYXNlcywKCSAgaS5lLiB3aGVuIGNhbGxpbmcgR1N0cmVhbWVyIGZyb20gYW4gYWN0dWFsIEFuZHJvaWQgYXBwLCB0aGVyZSB3aWxsIGFscmVhZHkKCSAgYmUgYSBKYXZhIFZNIHdlIGNhbiBqdXN0IHVzZS4KCSAgSXQgc2VlbXMgbGlrZSBzb21lIHBob25lcyBjb21lIHdpdGhvdXQgdGhhdCBzeW1ib2wsIGxldCdzIGhvcGUgdGhleSBjb21lCgkgIHdpdGggdGhlIG90aGVyIHN5bWJvbCBidXQgZm9yIG5vdyBkb24ndCBtYWtlIGEgbWlzc2luZyBKTklfQ3JlYXRlSmF2YVZNIGZhdGFsLgoKMjAxNS0wNi0xOCAxMjo1OToxOCArMDcwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogZ2V0IHJlbmRlcmVkIGFuZCBkcm9wcGVkIHN0YXRzIGZyb20gUU9TIG1lc3NhZ2VzCgkgIFVzZSBRT1MgbWVzc2FnZXMgdG8gdXBkYXRlIHJlbmRlcmVkIGFuZCBkcm9wcGVkIGZyYW1lIHN0YXRzLiBUaGlzIGlzCgkgIHRoZSBvbmx5IGFjY3VyYXRlIG1ldGhvZC4gVGhlIG9sZCBtZXRob2QgZGlkbid0IHRha2UgbWF4LWxhdGVuZXNzIGFuZAoJICBsYXRlbmN5IGludG8gYWNjb3VudC4KCjIwMTUtMDYtMTcgMTA6NDQ6MTYgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL25hbHV0aWxzLmM6CgkgIG5hbHV0aWxzOiB0cml2aWFsIHBhdGNoIHRvIGNoZWNrIGlmCgkgIHRyaXZpYWwgcGF0Y2ggdG8gYWRkIHByb3BlciAoIHdoaWxlIGNoZWNraW5nIGZvciBpZihHX1VOTElLRUxZKCkpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEwODcKCjIwMTUtMDYtMTYgMTc6NDg6NTEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2MDE1ZDI2IHRvIGY3NGIyZGYKCjIwMTUtMDYtMTUgMjE6MzI6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0a2dsd2lkZ2V0OiBDb25zdCdpZnkgYW5vdGhlciBhcnJheQoKMjAxNS0wNi0xNSAyMToyOTo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrZ2x3aWRnZXQ6IENhbGN1bGF0ZSB0aGUgdmlld3BvcnQgc2l6ZSBvdXJzZWx2ZXMKCSAgR2V0dGluZyB0aGUgY3VycmVudCB2aWV3cG9ydCBhbmQgbW9kaWZ5aW5nIGl0IHJlbGF0aXZlbHkgd2lsbCBwcm9kdWNlIGFuCgkgIGludGVyZXN0aW5nIGZlZWRiYWNrIGxvb3AgZHVyaW5nIHdpZGdldCByZXNpemluZy4gT3ZlciBhIGZldyBmcmFtZXMgd2UKCSAgd2lsbCBncmFkdWFsbHkgbW92ZSB0aGUgdmlld3BvcnQgYSBiaXQgdW50aWwgaXQgY29udmVyZ2VkIGFnYWluLCBhZGRpbmcKCSAgdW5uZWNlc3NhcnkgYWRkaXRpb25hbCBib3JkZXJzIGF0IHRoZSB0b3AgYW5kIGxlZnQuCgoyMDE1LTA2LTE1IDIxOjI0OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdHdpZGdldC5jOgoJICBndGs6IFVzZSB0aGUgZGlzcGxheSB3aWR0aC9oZWlnaHQgZm9yIHRoZSB3aWRnZXQncyBwcmVmZXJyZWQgd2lkdGgvaGVpZ2h0CgoyMDE1LTA2LTE1IDIwOjQ1OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmM6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0LmM6CgkgIGd0a3Npbms6IEFkZCBzdXBwb3J0IGZvciB4UkdCL0JHUngKCjIwMTUtMDYtMTUgMjA6Mzk6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSogZXh0L2d0ay9ndGtnc3R3aWRnZXQuYzoKCSAgZ3RrOiBDYWlybyBjb2xvciBmb3JtYXRzIGFyZSBpbiBuYXRpdmUgZW5kaWFubmVzcywgR1N0cmVhbWVyJ3MgaW4gbWVtb3J5IG9yZGVyCgkgIENBSVJPX0ZPUk1BVF9BUkdCMzIgaXMgQVJHQiBvbiBiaWcgZW5kaWFuIGFuZCBCR1JBIG9uIGxpdHRsZSBlbmRpYW4uCgoyMDE1LTA2LTE1IDIwOjM1OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuaDoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5oOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0LmM6CgkgIGd0azogSW1wbGVtZW50IGlnbm9yZS1hbHBoYSBwcm9wZXJ0eSBhbmQgZW5hYmxlIGl0IGJ5IGRlZmF1bHQKCjIwMTUtMDYtMTUgMjA6MTM6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSAgZ3RrOiBTeW5jIHByb3BlcnRpZXMgZnJvbSB0aGUgc2luayB0byB0aGUgd2lkZ2V0IHVwb24gd2lkZ2V0IGNyZWF0aW9uCgoyMDE1LTA2LTE1IDEwOjA4OjU3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogUmVtb3ZlIHJlZHVuZGFudCBtaW5fZHRzCgkgIEFmdGVyIGZldyBpdGVyYXRpb24sIHRoaXMgdmFyaWFibGUgYmVjYW1lIHRoZSBzYW1lIGFzIGR0cy4gSXQncyBub3QKCSAgdGhlIG1pbiBhcyB0aGUgbmFtZSBzYXlzLCBidXQgdGhlIGR0cyBvZiB0aGUgY3VycmVudCBidWZmZXIuIFNpbXBseQoJICByZW1vdmUgYW5kIHBsYWNlIHdpdGggZHRzLiBBbHNvIG1vdmUgdGhlIGRlYnVnIHRyYWNlIHRvIGFjdHVhbGx5CgkgIHByaW50IHRoZSBzaWduZWQgdmVyc2lvbiBvZiB0aGUgcnVubmluZy10aW1lIGR0cy4KCjIwMTUtMDYtMTUgMjI6NDM6NTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogYWRkIG1pc3NpbmcgaGFuZGxlLWV2ZW50cy9pZ25vcmUtYWxwaGEgcHJvcGVydHkgdG8gdGhlIGJpbgoKMjAxNS0wNi0xNSAxODoyODozNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuaDoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5oOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0LmM6CgkgIGd0azogaW1wbGVtZW50IHBpeGVsIGFuZCBkaXNwbGF5IGFzcGVjdCByYXRpbyBoYW5kbGluZwoKMjAxNS0wNi0xNSAxNDoyOTowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBQcmludCBzb21lIGRlYnVnIG91dHB1dCBpZiB3ZSBjaGFuZ2UgdGhlIHRpbWVzdGFtcCBvZmZzZXQKCjIwMTUtMDYtMTUgMTQ6MjU6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogQWRkIHNvbWUgbW9yZSBkZWJ1ZyBvdXRwdXQKCjIwMTUtMDYtMTUgMTQ6MjI6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IE1vdmUgdmFyaWFibGVzIGludG8gdGhlIHNjb3BlIHdoZXJlIHRoZXkgYXJlIG5lZWRlZAoKMjAxNS0wNi0xNSAxNDoxOTowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBEb24ndCB1cGRhdGUgdGhlIHRzLW9mZnNldCBiZWZvcmUgdXBkYXRpbmcgdGhlIGFjdHVhbCBjb25maWd1cmVkIGNhcHMKCjIwMTUtMDYtMTUgMTQ6MTg6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogUmVtZW1iZXIgaWYgdGhlIGxhc3QgTEFURU5DWSBxdWVyeSByZXR1cm5lZCBsaXZlIG9yIG5vdCBhbmQgdXNlIHRoZSBpbiB0aGUgUW9TIG1lc3NhZ2VzCgoyMDE1LTA2LTE1IDEyOjIwOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBEb24ndCBxdWVyeSBzdXBwb3J0ZWQgY29sb3IgZm9ybWF0cyBmb3Igbm9uLXZpZGVvIGNvZGVjcwoKMjAxNS0wNi0xNSAxMDozNDo1NiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IGJ1aWxkIGVycm9yCgkgIGFmdGVyIGUwMDBhNmYwYTQ5ODRmYmU4MTE5MGRmNmNkNDM5YzcwZGFmZGUzZDYsIHRoZXJlIGlzIGJ1aWxkIGVycm9yIGluIGJhZCBwbHVnaW5zCgkgIHRoaXMgaGFwcGVucyBiZWNhdXNlLCBHU1RfQ0xPQ0tfU1RJTUVfSVNfVkFMSUQgKCkgaXMgYmVpbmcgY2hlY2tlZCBmb3IgcGFkX2RhdGEKCSAgYnV0IGl0IGV4cGVjdHMgYSBHc3RDbG9ja1RpbWUgcGFyYW1ldGVyLiBDaGFuZ2luZyB0aGUgY2hlY2sgdG8gJ2R0cycKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDk2MQoKMjAxNS0wNi0xNSAxNjo0NzoxNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L21vdXNldmlkZW9vdmVybGF5LnBybzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9waXBlbGluZS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9waXBlbGluZS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcWdsd2lkZ2V0dmlkZW9vdmVybGF5LnBybzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcWdscmVuZGVyZXIuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHd0ZXh0dXJlc2hhcmUucHJvOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC92aWRlb292ZXJsYXkvdmlkZW9vdmVybGF5LnBybzoKCSAgZ2wvZXhhbXBsZXM6IHVwZGF0ZSBxdCBleGFtcGxlcyBmb3IgYXBpIGNoYW5nZXMKCjIwMTUtMDYtMTUgMTQ6MzU6MzUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrOiBzaWxlbmNlIHVudXNlZCB2YXJpYWJsZSB3YXJuaW5ncyBmb3IgdW5zdXBwb3J0ZWQgd2luc3lzJwoKMjAxNS0wNi0xNSAxNDozMzowOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGs6IGltcGxlbWVudCBiYXNpYyB3YXlsYW5kIEdMIHN1cHBvcnQKCjIwMTUtMDYtMTQgMjM6MjA6MzggKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogdXBkYXRlIHpvcmRlciBkb2N1bWVudGF0aW9uLgoJICBJdCBpcyBub3QgYm91bmQgYmV0d2VlbiAwIGFuZCAxMDAwMCBhbnltb3JlLgoKMjAxNS0wNi0xNCAyMzoxMzo1OSArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IE5vIG5lZWQgdG8gYXJ0aWZpY2lhbGx5IGJvdW5kIHRoZSB6b3JkZXIuCgkgIEl0IGlzIGFuIHVuc2lnbmVkIGludGVnZXIgc28gdGhlIHVwcGVyIGJvdW5kIGlzIEdfTUFYVUlOVC4KCjIwMTQtMTAtMjkgMTU6MDM6MDQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogbXBlZzQ6IGFjdHVhbGx5IHJldHVybiBmdWxsIG51bWJlciBvZiBiaXRzIG9mIHJlc3luYyBtYXJrZXIKCSAgU3dpdGNoIHRoZSBpbmNyZW1lbnQgb2YgbWFya2Vyc2l6ZSBmcm9tIHdoZW4gaXQgaXMgdXNlZCB0byB3aGVuIGl0IGlzCgkgIHJldHVybmVkIGZyb20gY29tcHV0ZV9yZXN5bmNfbWFya2VyX3NpemUuCgkgIFRoaXMgYWxzbyBtYWtlcyB0aGUgQ0hFQ0tfUkVNQUlOSU5HIGluIGdzdF9tcGVnNF9wYXJzZV92aWRlb19wYWNrZXRfaGVhZGVyCgkgIGNoZWNrIGZvciB0aGUgYWN0dWFsbHkgcmVxdWlyZWQgbnVtYmVyIG9mIGJpdHMgbm93IGFuZCBub3Qgb25lIHRvbyBmZXcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkzNDUKCjIwMTUtMDYtMTMgMTc6MzY6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIFJldmVydCAiY29kZWNwYXJzZXJzOiByZW1vdmUgaWdub3JlZCBpbmNyZW1lbnQgb2YgcmV0dXJuIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDkxNmI5NTQzMTVhYmMyZjk0MzQ4ZWMwYmUzZTExNmMxOWIwODBiNTQuCgkgIENsZWFybHkgc29tZXRoaW5nIGVsc2Ugd2FzIGludGVuZGVkLCBhbmQgaXQgYWxzbyBtYWtlcwoJICBtb3JlIHNlbnNlIHRvIGFkZCB0aGUgZXh0cmEgYml0LiBUaGUgcmVzeW5jIG1hcmtlciBpcwoJICBOIHplcm8gYml0cyBwbHVzIGEgMSBiaXQsIGFuZCB0aGUgcGF0dGVybi9tYXNrIG5lZWRzIHRvCgkgIGJlIHJ1biBvbiBOKzEgYml0cyB0b28uCgkgIChFdmVuIGFmdGVyIHRoZSByZXZlciB0aGUgY29kZSBkb2Vzbid0IGRvIHRoYXQgb2YgY291cnNlLCBzbwoJICBpdCBzdGlsbCBuZWVkcyB0byBiZSBmaXhlZCBkaWZmZXJlbnRseS4pCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkzNDUKCjIwMTUtMDYtMTIgMTg6MDg6NDQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzY29tbW9uLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc2NvbW1vbi5oOgoJICBvcGVuc2xlczogRml4IGJ1aWxkIHdpdGggQW5kcm9pZCBBUEkgbGV2ZWwgPCAxNAoJICBIZWFkZXJzIHdlcmUgYnJva2VuIG9uIG9sZGVyIEFuZHJvaWQgdmVyc2lvbnMsIGFwcGFyZW50bHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ0NTkKCjIwMTUtMDEtMjggMTM6MDY6MzkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzY29tbW9uLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc2NvbW1vbi5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmg6CgkgIG9wZW5zbGVzc2luazogQWxsb3cgc2V0dGluZyB0aGUgc3RyZWFtIHR5cGUgdmlhIGEgcHJvcGVydHkKCjIwMTUtMDEtMjcgMTU6MjU6NTkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29wZW5zbGVzL01ha2VmaWxlLmFtOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNjb21tb24uYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzY29tbW9uLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmg6CgkgIG9wZW5zbGVzc3JjOiBJbXBsZW1lbnQgcmVjb3JkaW5nIHByZXNldHMKCSAgVGhpcyBhbGxvd3MgdXMgdG8gc2lnbmFsIHdoYXQga2luZCBvZiBhdWRpbyB3ZSBhcmUgZXhwZWN0aW5nIHRvIHJlY29yZCwKCSAgd2hpY2ggc2hvdWxkIHRlbGwgdGhlIHN5c3RlbSB0byBhcHBseSBmaWx0ZXJzIChzdWNoIGFzIGVjaG8KCSAgY2FuY2VsbGF0aW9uLCBub2lzZSBzdXBwcmVzc2lvbiwgZXRjLikgaWYgcmVxdWlyZWQuCgoyMDE1LTA2LTEzIDExOjQwOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmg6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBSZW1vdmUgbGF0ZSBmcmFtZS1kcm9wcGluZyB3b3JrYXJvdW5kIGZvciBiYXNlc2luayBidWcKCSAgVGhpcyB3YXMgZml4ZWQgYnkgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTI1OAoJICBpbiBiYXNlc2luaywgYW5kIGlzIG5vdCBuZWNlc3NhcnkgdG8gZHVwbGljYXRlIGhlcmUgYW55bW9yZS4KCjIwMTUtMDYtMTMgMTg6NDM6MDQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyYmluLmM6CgkgIGdsbWl4ZXJiaW46IGltcGxlbWVudCBwcm9wZXIgZHluYW1pYyBwYWQgcmVtb3ZhbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwODgxCgoyMDE1LTA2LTEyIDIwOjE0OjM3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIGdsaW1hZ2VzaW5rOiBEb24ndCBkbyBwb29sIGNhY2hpbmcKCSAgV2Ugbm93IGtub3cgdGhhdCBwb29sIGNhY2hpbmcgY2FuIGNhdXNlIHJlbmVnb3RpYXRpb24gaXNzdWVzCgkgIHdoZW4gYW4gZWxlbWVudCBpbiB0aGUgcGlwZWxpbmUgY2hhbmdlIGZyb20gcGFzc3Rocm91Z2ggdG8gbm90CgkgIHBhc3N0aHJvdWdoLiBBcyBpdCdzIG5vdCBuZWVkZWQsIGRvbid0IGNhY2hlIGV4aXN0aW5nIHBvb2xzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MzQ0CgoyMDE1LTA2LTEyIDE4OjA4OjQwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogUmVtb3ZlIHJlZmVyZW5jZSB0byBjdnMKCjIwMTUtMDYtMTAgMTc6MDU6NTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFNlZ21lbnQgc3RhcnQgc2hvdWxkIG1hdGNoIGZpcnN0IFBUUwoJICBUaGUgc2VnbWVudCBzaG91bGQgc3RhcnQgYXQgZmlyc3QgUFRTLCBhbmQgdGhlIHZhaXJhYmxlIG5hbWUgbG93ZXJfcHRzCgkgIHN0YXRlIHNvIGNvcnJlY3RseS4gVGhvdWdoIHdlIHdoZXJlIHVzaW5nIHRoZSBmaXJzdCBEVFMgaW5zdGVhZC4gVGhpcwoJICBjb3VsZCBsZWFkIHRvIHNtYWxsIGRlc3luY2hyb25pemF0aW9uIG9mIHZpZGVvIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDU3NQoKMjAxNS0wNi0xMCAxMjozMjozNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkgIHRzbXV4OiBBZGQgbmVnYXRpdmUgRFRTIHN1cHBvcnQKCSAgVXNlIHRoZSBzYXZlZCBEVFMsIG1ha2UgaXQgc2lnbmVkIGFuZCBwYXNzIHRoYXQgdG8gdGhlIHN0cmVhbSBtdXhlci4gVGhpcwoJICBwcmVzZXJ2ZXMgdGhlIHJ1bm5pbmcgdGltZSBzaWduLiBBbGwgdXNhZ2Ugb2YgLTEgYXMgaW52YWxpZCBUUyBhcmUgbm93CgkgIHJlcGxhY2VkIHdpdGggR19NSU5JTlQ2NC4gTmVnYXRpdmUgdmFsdWVzIHdpbGwgYmUgc2VlbiBhcyB3cmFwLWFyb3VuZAoJICBwb2ludCwgYnV0IHRoZSBkZWx0YSBiZXR3ZWVuIFBUUyBhbmQgRFRTIHdpbGwgcmVtYWluIGNvcnJlY3QuIERlbXV4ZXJzCgkgIGRvbid0IGNhcmUgYWJvdXQgYWJzb2x1dGUgdmFsdWVzLCB0aGV5IG9ubHkgY2FyZXMgYWJvdXQgZGVsdGFzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNTc1CgoyMDE1LTA2LTEwIDEyOjMxOjEzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICB0c211eDogUmVtb3ZlIHVuZWVkZWQgY2FzdCBhbmQgY2FzdCBtYWNybwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNTc1CgoyMDE1LTA2LTEwIDExOjM5OjAxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IFByb3Blcmx5IGRldGVjdCBiYWNrd2FyZCBEVFMKCSAgVGhlcmUgd2FzIGNvZGUgdG8gZGV0ZWN0IGJhY2t3YXJkIGR0cywgYnV0IHRoZSBtYXJrZXIgbWluX2R0cwoJICB3YXMgbmV2ZXIgc2V0LiBTZXR0aW5nIGl0IGVuYWJsZSB0aGlzIGZlYXR1cmUgdGhhdCBwcmV2ZW50cwoJICBwb3RlbnRpYWwgaW50ZWdlciBvdmVyZmxvdyB3aGVuIGdlbmVyYXRpbmcgVFMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA1NzUKCjIwMTUtMDYtMTIgMTY6NDQ6NTUgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogZml4ZWQgc2VnZmF1bHQgZm9yIG1pc3NpbmcgZGVmYXVsdCBuYW1lc3BhY2UKCSAgQWRkZWQgYSBjaGVjayBmb3IgYV9ub2RlLT5ucyBiZWZvcmUgYWNjZXNzaW5nIGFfbm9kZS0+bnMtPmhyZWYgaW4KCSAgZ3N0X21wZHBhcnNlcl9nZXRfeG1sX25vZGVfbmFtZXNwYWNlLiBUaGlzIGNvdWxkIGhhcHBlbiBpZiB0aGUgeG1sCgkgIGlzIG1pc3NpbmcgdGhlIGRlZmF1bHQgbmFtZXNwYWNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwODY2CgoyMDE1LTA2LTEyIDIyOjMzOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IERvbid0IHJlcXVpcmUgdGhlIHNhbWUgZnJhbWVyYXRlIGluIHRoZSBpbnB1dCBhcyB0aGUgbW9kZSdzIGZyYW1lcmF0ZQoJICBXZSBvbmx5IHJlYWxseSBjYXJlIGFib3V0IHRoZSB0aW1lc3RhbXBzIGZvciB0aGUgc2luay4KCjIwMTUtMDYtMTMgMDE6NDA6MDAgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3BsYXlvdXQuYzoKCSAgZXhhbXBsZXM6IHBsYXlvdXQ6IEFkZCBiZXR0ZXIgaGVscCB0ZXh0CgkgIFRoaXMgc2hvdWxkIGhlbHAgcGVvcGxlIGZpZ3VyZSBvdXQgaG93IHRvIHVzZSB0aGUgZXhhbXBsZSBhIGJpdCBiZXR0ZXIKCjIwMTUtMDYtMTMgMDE6MzU6NTkgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3BsYXlvdXQuYzoKCSAgZXhhbXBsZXM6IHBsYXlvdXQ6IERlY3JlbWVudCB0aGUgY3VycmVudGx5LXBsYXlpbmcgY291bnRlciBjb3JyZWN0bHkKCSAgT25seSBkbyB0aGF0IHdoZW4gd2UncmUgcmVtb3ZpbmcgYW4gaXRlbSB0aGF0IHdhcyBwbGF5aW5nLCBvdGhlcndpc2Ugd2UnbGwgbWVzcwoJICB0aGluZ3MgdXAgd2hpbGUgdHJ5aW5nIHRvIGVkaXQgdGhlIHBsYXkgcXVldWUgKHBsYXlsaXN0KS4KCjIwMTUtMDEtMjkgMDA6NTY6MjYgKzAwMDAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9wbGF5b3V0LmM6CgkgIHBsYXlvdXQ6IE5ldyBleGFtcGxlIGZvciBzZWFtbGVzcyBhdWRpby92aWRlbyBwbGF5YmFjawoJICBBbiBleGFtcGxlIGFwcCB0aGF0IHRha2VzIHZpZGVvIFVSSXMgYXMgY29tbWFuZCBsaW5lIGFyZ3VtZW50cyBhbmQgc3dpdGNoZXMKCSAgYmV0d2VlbiB0aGVtIHNlYW1sZXNzbHkgb25lIGFmdGVyIHRoZSBvdGhlciB1c2luZyBjb21wb3NpdG9yIGFuZCBhdWRpb21peGVyLgoJICBCb3RoIGF1ZGlvLXZpZGVvIGFuZCB2aWRlby1vbmx5IG1lZGlhIGZpbGVzIGFyZSB2YWxpZCBpbnB1dHMsIGJ1dCBtaXhpbmcgZmlsZXMKCSAgb2YgYm90aCB0eXBlcyBpbiBhIHNpbmdsZSBpbnZvY2F0aW9uIGlzIGN1bWJlcnNvbWUgdG8gc3VwcG9ydCwgYW5kIGhlbmNlIGRvZXMKCSAgbm90IHdvcmsuIFRoZSBleGFtcGxlIGF0dGVtcHRzIHRvIGtlZXAgdGhlIGF1ZGlvIHN0cmVhbSBtb3ZpbmcgYWxvbmcgcGVyZmVjdGx5LAoJICBhbmQgZHVwbGljYXRlcyB2aWRlbyBmcmFtZXMgd2hlcmUgbmVjZXNzYXJ5IHRvIGNvdmVyIGdhcHMgaW4gdGhlIHZpZGVvCgkgIHRpbWVzdGFtcHMgdXNpbmcgdGhlICdpZ25vcmUtZW9zJyB2aWRlb2FnZ3JlZ2F0b3IgcGFkIHByb3BlcnR5LgoJICBFbnN1cmluZyBzZWFtbGVzcyAoYW5kIG1vc3RseS1nbGl0Y2gtZnJlZSkgc3dpdGNoaW5nIGlzIGhhcmRlciB0aGFuIGl0IHNvdW5kcywKCSAgYW5kIGhlbmNlIHRoZSBleGFtcGxlIGNvbnRhaW5zIHBsZW50eSBvZiBwYWQgcHJvYmVzIGFuZCBydW5uaW5nIHRpbWUKCSAgY2FsY3VsYXRpb25zIHRvIG1ha2UgdGhpbmdzIHdvcmsuCgkgIFRoZSBHUHRyQXJyYXkgcGxheV9xdWV1ZSBjb250YWlucyBpdGVtcyB0aGF0IGFyZSBiZWluZyBwbGF5ZWQgYmFjaywgaGF2ZSBiZWVuCgkgIHByZXBhcmVkIGZvciBwbGF5YmFjaywgYW5kIHdpbGwgYmUgcGxheWVkIGJhY2sgaW4gdGhlIGZ1dHVyZS4gVGhlIHF1ZXVlIGl0c2VsZgoJICBpcyBtdXRhYmxlIGJlc2lkZXMgdGhlIGZpcnN0IHR3byBpdGVtcyAocGxheWluZyBhbmQgcHJlcGFyZWQpLiBUaGUgaXRlbSB0aGF0IGhhcwoJICBiZWVuIHByZXBhcmVkIHNob3VsZCBub3QgYmUgZWRpdGVkIG9yIHJlbW92ZWQgc2luY2UgaXQgaGFzIGJlZW4gcHJlcGFyZWQgaW4KCSAgYWR2YW5jZSB0byBiZSBhY3RpdmF0ZWQgaW1tZWRpYXRlbHkgb24gdGhlIGN1cnJlbnQgaXRlbSdzIEVPUy4KCSAgVGhlIGV4YW1wbGUgYWxzbyBoYXMgc3VwcG9ydCBmb3Igc3dpdGNoaW5nIHRvIHRoZSBuZXh0IGl0ZW0gaW4gdGhlIHF1ZXVlCgkgIHByZW1hdHVyZWx5OyBzZWUgdGhlIC0tc3dpdGNoLWFmdGVyLy1zIGZsYWcgdG8gdGhlIGFwcGxpY2F0aW9uLgoJICBOb3RlOiB0aGUgb3V0cHV0IHZpZGVvIGlzIGhhcmQtY29kZWQgYXQgMTI4MHg3MjAsIGFuZCBpbnB1dCB2aWRlbyBpcyBzY2FsZWQgYXMKCSAgbmVlZGVkIHRvIGZpdCB0aGlzIHNpemUuIFNldCBPVVRQVVRfVklERU9fV0lEVEgvSEVJR0hUIHRvIGNoYW5nZSB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4OTQ3CgoyMDE1LTA2LTA2IDIwOjQwOjEzICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jb21wb3NpdG9yLmM6CgkgIHRlc3RzOiBBZGQgdGVzdCBmb3IgdGhlICdpZ25vcmUtZW9zJyBjb21wb3NpdG9yIHNpbmsgcGFkIHByb3BlcnR5CgkgIFdoZW4gdGhlICdpZ25vcmUtZW9zJyBwcm9wZXJ0eSBpcyBzZXQgb24gYSBwYWQsIGNvbXBvc2l0b3Igd2lsbCBrZWVwIHJlc2VuZGluZwoJICB0aGUgbGFzdCBidWZmZXIgb24gdGhlIHBhZCB0aWxsIHRoZSBwYWQgaXMgdW5saW5rZWQuIFdlIGNvdW50IHRoZSBidWZmZXJzCgkgIHJlY2VpdmVkIG9uIGFwcHNpbmssIGFuZCBpZiBpdCdzIG1vcmUgdGhhbiB0aGUgYnVmZmVycyBzZW50IGJ5IHZpZGVvdGVzdHNyYywgdGhlCgkgIHRlc3QgcGFzc2VzLgoKMjAxNS0wMi0xMCAwMDo0OTozNSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9ycGFkLmg6CgkgIHZpZGVvYWdncmVnYXRvcjogYWRkICJpZ25vcmUtZW9zIiBwcm9wZXJ0eSBmb3IgaW5wdXQgcGFkcwoJICBXaGVuIHNldCwgaXQgY2F1c2VzIHZpZGVvYWdncmVnYXRvciB0byByZXBlYXRlZGx5IGFnZ3JlZ2F0ZSB0aGUgbGFzdCBidWZmZXIgb24KCSAgYW4gRU9TIHBhZCBpbnN0ZWFkIG9mIHNraXBwaW5nIGl0IGFuZCBvdXRwdXR0aW5nIHNpbGVuY2UuIFRoaXMgaXMgdXNlZnVsLCBmb3IKCSAgaW5zdGFuY2UsIHdoaWxlIHBsYXlpbmcgYmFjayBmaWxlcyBzZWFtbGVzcyBvbmUgYWZ0ZXIgdGhlIG90aGVyLCB0byBhdm9pZAoJICB2aWRlb2FnZ3JlZ2F0b3IgZXZlciBvdXRwdXR0aW5nIHNpbGVuY2UgKHRoZSBjaGVja2VyYm9hcmQgcGF0dGVybikuCgkgIEl0IGlzIHRvIGJlIG5vdGVkIHRoYXQgaWYgYWxsIHRoZSBwYWRzIG9uIHZpZGVvYWdncmVnYXRvciBoYXZlIHRoaXMgcHJvcGVydHkgc2V0CgkgIG9uIHRoZW0sIHRoZSBtaXhlciB3aWxsIG5ldmVyIGZvcndhcmQgRU9TIGRvd25zdHJlYW0gZm9yIG9idmlvdXMgcmVhc29ucy4gSGVuY2UsCgkgIGF0IGxlYXN0IG9uZSBwYWQgd2l0aCAnaWdub3JlLWVvcycgc2V0IHRvIEZBTFNFIG11c3Qgc2VuZCBFT1MgdG8gdGhlIG1peGVyCgkgIGJlZm9yZSBpdCB3aWxsIGJlIGZvcndhcmRlZCBkb3duc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4OTQ2CgoyMDE0LTEyLTE5IDE0OjQzOjIwICswMTAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkgIG1wZWd0czogcmV0dXJuIGVhcmx5IGlmIHBhY2tldGl6aW5nIHNob3J0IHNlY3Rpb24KCSAgU2hvcnQgc2VjdGlvbnMgaGF2ZSAzIGJ5dGVzIG9mIGNvbW1vbiBoZWFkZXIsIHdoaWxlIG90aGVyIHNlY3Rpb25zCgkgIGhhdmUgOCBieXRlcyBvZiBjb21tb24gaGVhZGVyLiBJZiBwYWNrZXRpemluZyBjb21tb24gaGVhZGVyIG9mIHNob3J0CgkgIHNlY3Rpb24sIHdlIHNob3VsZCBzdG9wIGFmdGVyIHRoZSBmaXJzdCAzIGJ5dGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NjUzCgoyMDE1LTA2LTEyIDE3OjE0OjAyICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUB0b29sc29uYWlyLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkgIGRlYnVndXRpbHNiYWQ6IE1pbm9yIGNsZWFudXAKCSAgUmFuIGdzdC1pbmRlbnQgb24gZGVidWd1dGlsc2JhZC5jLCBtb3ZlZCBoZWFkZXJzIHRvIG5vaW5zdCBpbiBNYWtlZmlsZS5hbQoKMjAxNS0wNi0xMiAxNTozOTo1NiArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGs6IERvIG5vdCB0cnkgdG8gYWN0aXZhdGUgYSBOVUxMIEdMQ29udGV4dAoJICBBdCB0aGF0IHBvaW50IGluIHRoZSBjb2RlIG5vdGhpbmcgZ3VhcmFudGVlcyBpdCBleGlzdHMKCjIwMTUtMDYtMTIgMjE6MzE6NDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBnbC90ZXN0czogcmVtb3ZlIHJlZmVyZW5jZSB0byB1bmRlZmluZWQgYnVmZmVyIHRlc3QKCjIwMTUtMDYtMTEgMTg6MjY6NTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGRvd25sb2FkZWxlbWVudC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBzZXBhcmF0ZSBwYm8gdHJhbnNmZXIgZnJvbSB0ZXh0dXJlIHRyYW5zZmVycwoJICBXaGVuIHN1cHBvcnRlZCwgdGhlIHBvdGVudGlhbGx5IGxvbmdlciBwYm8gdXBsb2FkL2Rvd25sb2FkIGNhbiBiZQoJICBpbml0aWF0ZWQgYmVmb3JlIHRoZSB0ZXh0dXJlIHVwbG9hZC9kb3dubG9hZCwgcG90ZW50aWFsbHkgaW5jcmVhc2luZwoJICB0aHJvdWdocHV0LgoKMjAxNS0wNi0xMCAxNjozNjoxNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkbWV0YS5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogaW1wbGVtZW50IG9uIHRvcCBvZiBnbGJhc2VidWZmZXIKCSAgUHJvdmlkZXMgY29udmVuaWVudCBhY2Nlc3MgdG8gUEJPIHVzYWdlLgoJICBDdXJyZW50bHkgdGV4dHVyZSB1cGRhdGVzIGFyZSBjb3VwbGVkIHRpZ2h0bHkgdG8gZGF0YSB0cmFuc2ZlcnMuCgoyMDE1LTA2LTEwIDE2OjI0OjU5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWJ1ZmZlci5oOgoJICBnbDogbmV3IGdsYmFzZWJ1ZmZlciBHc3RNZW1vcnkgb2JqZWN0CgkgIFByb3ZpZGVzIGdlbmVyaWMgaGFuZGxpbmcgb2YgR0wgYnVmZmVyIG9iamVjdHMgYWNjZXNzaWJsZSB1c2luZwoJICB0aGUgR0wgYmluZCBwb2ludHMgKEdMX0FSUkFZX0JVRkZFUiwgR0xfUElYRUxfKl9CVUZGRVIpLgoJICBJbXBsZW1lbnRhdGlvbiBiYXNlZCBvZmYgdGhlIGN1cnJlbnQgR3N0R0xNZW1vcnkuCgoyMDE1LTA2LTEwIDE2OjIzOjM2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2FsbF9mdW5jdGlvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9idWZmZXJzLmg6CgkgIGdsL3Byb3RvdHlwZXM6IGFkZCBzb21lIGJ1ZmZlciBmdW5jdGlvbiBwcm90b3R5cGVzCgoyMDE1LTA2LTEyIDE1OjE3OjMwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5oOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmg6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3R3aWRnZXQuYzoKCSAgZ3RrOiBpbXBsZW1lbnQgdmlkZW8gYXNwZWN0LXJhdGlvIGhhbmRsaW5nCgkgIEZvciBib3RoIHRoZSBzb2Z0d2FyZSBhbmQgdGhlIEdMIHNpbmsncy4KCSAgRG9lc24ndCBkZWFsIHdpdGggdGhlIHBpeGVsLWFzcGVjdC1yYXRpbyBmaWVsZCBhdCBhbGwgeWV0LgoKMjAxNS0wNi0xMiAxMzoxNDo1NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2wvd2luZG93L3gxMTogb25seSBsaXN0ZW4gb24gdGhlIFggRGlzcGxheSB3aGVuIG5lZWRlZAoJICA1Njk3YjZiODliNGIyYTE1YzQ1YmQ0N2JlOTQwYTE3ZjQ0MTJlYTExIGNhdXNlcyB1cyB0byBwb3NzaWJseSBsaXN0ZW4KCSAgb24gYSB0b29sa2l0IHByb3ZpZGVkIERpc3BsYXkgY29ubmVjdGlvbi4gIFdlIHRodXMgY291bGQgZWF0IHRoZWlyCgkgIHByZWNpb3VzIHdpbnN5cyBldmVudHMuICBPbmx5IGxpc3RlbiBpZiB3ZSBuZWVkIHRvCgkgICghZm9yZWlnbl9kaXNwbGF5IG9yIHZpZGVvb3ZlcmxheSkuCgoyMDE1LTA2LTEyIDEyOjQwOjUwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSAgZ3RrOiBmaXggYSBjb3VwbGUgb2YgdHlwb3MKCjIwMTUtMDYtMTIgMTI6Mjk6MzcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkgIGd0a2dsc2luazogcmVzZXQgdGhlIGNvbnRleHQvZGlzcGxheSBpbiBSRUFEWV9UT19OVUxMCgkgIEZpeGVzIGNvbnRleHQgcHJvcGFnYXRpb24gaW4gcGlwZWxpbmVzIHdpdGggdXBzdHJlYW0gR0wgZWxlbWVudHMuCgoyMDE1LTA2LTExIDE3OjI1OjQ5ICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogZml4IGVycm9yIGNhbGN1bGF0aW5nIGxhcmdlIHByZXNlbnRhdGlvblRpbWVPZmZzZXQgdmFsdWVzCgkgIElmIHRoZSBwcmVzZW50YXRpb25UaW1lT2Zmc2V0IGF0dHJpYnV0ZSBvZiBhIERBU0ggbWFuaWZlc3QgY29udGFpbnMKCSAgYSB2YWx1ZSB0aGF0IGlzIGxhcmdlciB0aGFuIDJeMzIsIGdzdG1wZHBhcnNlciBpbmNvcnJlY3RseSBjYWxjdWxhdGVzCgkgIHRoZSBzdHJlYW0ncyBwcmVzZW50YXRpb24gdGltZSBvZmZzZXQuIFRoaXMgaXMgZHVlIHRvIHR3byBidWdzOgoJICAxOiBVc2luZyBnc3RfbXBkcGFyc2VyX2dldF94bWxfcHJvcF91bnNpZ25lZF9pbnRlZ2VyIHJhdGhlciB0aGFuCgkgIGdzdF9tcGRwYXJzZXJfZ2V0X3htbF9wcm9wX3Vuc2lnbmVkX2ludGVnZXJfNjQgdG8gcGFyc2UgdGhlCgkgIGF0dHJpYnV0ZQoJICAyOiBnc3RfbXBkX2NsaWVudF9zZXR1cF9yZXByZXNlbnRhdGlvbiBtdWx0aXBseWluZyB0aGUgdmFsdWUgYnkKCSAgR1NUX1NFQ09ORCBhbmQgdGhlbiBkaXZpZGluZyBieSB0aW1lc2NhbGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDgwNAoKMjAxNS0wNi0xMSAxMjo0MToxMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2d0a2dsc2luay5jOgoJICBnc3RndGs6IE5vIG5lZWQgdG8gcmVhbGl6ZSB0aGUgd2lkZ2V0CgkgIFRoZSB3aWRnZXQgYWxyZWFkeSBkb2VzIHRoYXQuCgoyMDE1LTA2LTExIDEyOjM4OjUzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3RrZ2xzaW5rLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9ndGtzaW5rLmM6CgkgIGdzdGd0azogRG9uJ3QgbGVhayB0aGUgd2lkZ2V0CgkgIGdfb2JqZWN0X2dldCgpIHJldHVybnMgYSByZWYsIGd0a19jb250YWluZXJfYWRkKCkgb25seSByZWZfc2luaygpLgoJICBUaGF0IG1lYW4gd2Ugc3RpbGwgbmVlZCB0byB1bnJlZiBhZnRlcndhcmQuIFRoaXMgbGVhayB3YXMgaGlkaW5nCgkgIGEgcmVmZXJlbmNlIGJ1ZyBwcmV2aW91c2x5IHByZXNlbnQuCgoyMDE1LTA2LTExIDEyOjEwOjIzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSAgZ3N0Z3RrOiBBbGxvdyBkb2luZyBnc3QtaW5zcGVjdC0xLjAgb24gdGhlc2UgZWxlbWVudHMKCSAgVGhpcyBwYXRjaCBhbGxvdyBnb2luZyBnc3QtaW5zcGVjdC0xLjAgb24gdGhlc2UgZWxlbWVudHMgcmVtb3ZpbmcKCSAgdWdseSBjcmFzaCB0aGF0IHdhcyBwcmV2aW91c2x5IG9jY3VycmluZy4gVGhlIG1ldGhvZCBjb25zaXN0IG9mCgkgIG1ha2luZyB0aGUgd2lkZ2V0IGNyZWF0aW9uIGFzIGxhenkgYXMgcG9zc2libGUuIFRoaXMgd2F5IHdlIGRvbid0CgkgIGVuZHVwIGRvaW5nIGd0a19pbml0KCkgYmVmb3JlIHRoZSBhcHBsaWNhdGlvbi4gV2UgYWxzbyByZWZfc2luaygpCgkgIHRoZSB3aWRnZXQsIHNvIHdlIGRvbid0IGNyYXNoIGlmIHRoZSBwYXJlbnQgd2lkZ2V0IGlzIGRpc2NhcmRlZCwKCSAgYW5kIGNsZWFubHkgZXJyb3Igb3V0IHdpdGggR0wgaWYgdGhlIHdpZGdldCBoYXMgbm8gcGFyZW50IHdpbmRvdywKCSAgYmVjYXVzZSBjYWxsaW5nIGd0a193aWRnZXRfcmVhbGl6ZWQoKSBjYW4gb25seSBiZSBkb25lIGlmIHRoZSB3aWRnZXQKCSAgaGFzIGJlZW4gcGFyZW50ZWQgdG8gYSB3aW5kb3cpLgoKMjAxNS0wNS0zMCAwMjoxNTo1MSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbDogQWRkIHN1cHBvcnQgZm9yIG11bHRpcGxlIHZpZXdzIGluIHVwbG9hZCwgY29sb3VyIGNvbnZlcnQgYW5kIGRvd25sb2FkCgkgIFN1cHBvcnQgbXVsdGlwbGUgYXR0YWNoZWQgdmlld3Mgb24gaW5wdXQvb3V0cHV0IGJ1ZmZlcnMKCSAgYnkgcHJvY2Vzc2luZyBlYWNoIG9uZSwgbm90IGp1c3QgdGhlIGZpcnN0LgoKMjAxNS0wNS0zMCAwMTozODoxNiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IEFkZCBzdXBwb3J0IGZvciBwYXNzaW5nIHN0ZXJlb3Njb3BpYy9tdWx0aXZpZXcgaW5mbwoJICBQYXNzIGFueSBtdWx0aXZpZXcgaW5mbyBmcm9tIHRoZSBjb250YWluZXIgb3IgU0VJIGluZm8gZG93bnN0cmVhbQoKMjAxNS0wNi0xMSAwMTo1NzowOCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IERvbid0IHN3aXRjaCB0byBwYXNzdGhyb3VnaCBvbiBzZXRfY2FwcygpCgkgIFdhaXQgdW50aWwgYXQgbGVhc3Qgb25lIGtleWZyYW1lIGhhcyBiZWVuIHBhcnNlZCBiZWZvcmUKCSAgZGVjaWRpbmcgdG8gc3dpdGNoIHRvIHBhc3N0aHJvdWdoIG1vZGUsIGluIGNhc2UgdGhlCgkgIHN0cmVhbSBjb250YWlucyBTRUkgbWVzc2FnZXMgdGhhdCBzdXBwbGVtZW50IHRoZSBvdXRwdXQKCSAgY2FwcyAtIGZvciBleGFtcGxlIGJ5IHByb3ZpZGluZyBzdGVyZW9zY29waWMgaW5mb3JtYXRpb24KCjIwMTUtMDYtMTIgMDA6MzI6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsL3dpbmRvdy94MTE6IGRvbid0IGNyZWF0ZSBvdXIgb3duIFgxMSBkaXNwbGF5CgkgIEl0J3Mgbm90IG5lZWRlZCBhbnltb3JlIHdpdGggbW9zdCB3aW5kb3cgb3BlcmF0aW9ucyBvY2N1cmluZyBpbiB0aGUKCSAgR0wgdGhyZWFkLgoKMjAxNS0wNi0xMiAwMDozMDo1OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2wvd2luZG93L3gxMTogaGFuZGxlX2V2ZW50cygpIG1heSBiZSBjYWxsZWQgYmVmb3JlIHRoZSB3aW5kb3cgaGFzIGJlZW4gY3JlYXRlZAoJICBGaXhlcyBhbiBYSU8gZmF0YWwgZXJyb3IKCjIwMTUtMDYtMTIgMDA6Mjk6MjMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xzaW5rYmluLmM6CgkgIGdsOiBtb3ZlIGJhc2VzaW5rIHByb3BlcnRpZXMgZnJvbSBnbGltYWdlc2lua2JpbiB0byBnbHNpbmtiaW4KCjIwMTUtMDMtMjUgMTk6Mjc6NDIgKzAyMDAgIFlhbmtvIEthbmV0aSA8eWFuZXRpQGRlY2xlcmEuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBSZW1vdmUgYXJiaXRyYXJ5IGNvbnN0cmFpbnQgb24gcHJvZy1tYXAgcHJvZ3JhbSBpZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Njc2NQoKMjAxNS0wNi0xMSAxNToyMjowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJpbi5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlcmJpbi5jOgoJKiBleHQvZ2wvZ3N0Z2xzcmNiaW4uYzoKCSAgZ2w6IFVzZSBnc3Rfb2JqZWN0X3JlZl9zaW5rKCkgZm9yIGdse2ZpbHRlcixtaXhlcixzcmN9YmluIHRvbwoKMjAxNS0wNi0xMSAxNToxNzowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHNpbmtiaW4uYzoKCSAgZ2xzaW5rYmluOiBVc2UgZ3N0X29iamVjdF9yZWZfc2luaygpIGZvciBjb25zaXN0ZW5jeSB3aXRoIHRoZSB2aWRlby1zaW5rIHByb3BlcnR5IG9uIHBsYXliaW4KCjIwMTUtMDYtMTEgMTU6MDI6NDQgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrOiBEbyBub3QgdHJ5IHRvIGluaXRpYWxpemUgZGlzcGxheSBpZiB3ZSBoYXZlIG5vdCBoYXZlIGEgR0xDb250ZXh0IHlldAoKMjAxNS0wNi0xMSAxNDo1ODoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9NYWtlZmlsZS5hbToKCSAgZ3RrOiBBZGQgbWlzc2luZyBDRkxBR1MgdG8gZXhhbXBsZQoKMjAxNC0xMi0xOCAxNzowMDozMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9ndGsvTWFrZWZpbGUuYW06CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmg6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuaDoKCSogZXh0L2d0ay9nc3RwbHVnaW4uYzoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0Lmg6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0Lmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3RrZ2xzaW5rLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9ndGtzaW5rLmM6CgkgIEltcGxlbWVudCBndGsgc2lua3MKCSAgdHdvIHNpbmtzIGFyZSBwcm92aWRlZC4gIGd0a3Npbmsgd2hpY2ggaXMgYSBjYWlyby9zb2Z0d2FyZSBiYXNlZCByZW5kZXJlcgoJICBhbmQgZ3RrZ2xzaW5rIHdoaWNoIHV0aWxpc2VzIHRoZSBHTCBzdXBwb3J0IGluIGd0ayBhbmQgZ3N0cmVhbWVyLgoKMjAxNS0wNi0xMCAxMDozNjoyMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkgIGgyNjNwYXJzZTogRml4IFBTQyBtYXRjaGluZwoJICBXZSB3ZXJlIG9mZiBieSBvbmUgYnl0ZSBpbiB0aGUgbWF0Y2hpbmcKCSAgSXQgc2hvdWxkIGJlICh1c2luZyAyNCBiaXQgbWF0Y2hpbmcpOgoJICAqIHN0YXJ0Y29kZSAgOiAwMDAwIDAwMDAgMDAwMCAwMDAwIDEwMDAgMDB4eAoJICAqIG1hc2sgKGJpbikgOiAxMTExIDExMTEgMTExMSAxMTExIDExMTEgMTEwMAoJICAqIG1hc2sgKGhleCkgOiAgICBmICAgIGYgICAgZiAgICBmICAgIGYgICAgYwoJICAqIG1hdGNoICAgICAgOiAgICAwICAgIDAgICAgMCAgICAwICAgIDggICAgMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNjg1CgoyMDE1LTA1LTExIDE2OjQ3OjI1ICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IGFsd2F5cyBlbnF1ZXVlIGZyYW1lcywgZXZlbiBvbiBlcnJvcgoJICBFdmVuIHdoZW4gd2UgZmFpbCB0byBlbmNvZGUgZnJhbWUsIHdlIHNob3VsZCBzdGlsbCBlbnF1ZXVlIGl0IHNvCgkgIGl0IGNvdWxkIGJlIHBhc3NlZCBpbnRvIGhhbmRsZV9mcmFtZSAod2l0aCBvdXRwdXRfYnVmZmVyID09IE5VTEwpLgoJICBPdGhlcndpc2UsIHdlIHJpc2sgR3N0VmlkZW9FbmNvZGVyJ3MgcXVldWUgb2YgZnJhbWVzIGdyb3dpbmcgdW5ib3VuZGVkLgoJICBOb3RlOiBXZSdyZSBzbGlnaHRseSBjaGFuZ2luZyB0aGUgcmVuZWdvdGlhdGlvbiBjb2RlIHRvIGFjY29tbW9kYXRlIGZvcgoJICBmcmFtZXMgd2l0aG91dCBvdXRwdXQgYnVmZmVycywgYnV0IHRoaXMgY29tbWl0IHRha2VzIG5vIG93bmVyc2hpcCBvdmVyCgkgIHRoZSB3YXkgbmVnb3RpYXRpb24gaXMgYmVpbmcgZG9uZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDY2OQoKMjAxNS0wNi0xMCAxNTowMzozMSArMDIwMCAgRmFiaW8gQ2V0cmluaSA8ZmNldHJpbmlAaG90bWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiBBdm9pZCBmcmFtZSByZW5kZXJpbmcgd2hpbGUgdGhlIHdpbmRvdyBpcyBjb21wbGV0ZWx5IGhpZGRlbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5ODU2CgoyMDE1LTA2LTEwIDExOjQyOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbDogT0VTX3ZlcnRleF9hcnJheV9vYmplY3QgaXMgaW1wcm9wZXJseSBpbXBsZW1lbnRlZCBvbiBQb3dlclZSIFNHWCA1NDRNUAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMTg1CgoyMDE1LTA1LTExIDE2OjQwOjA3ICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IGZyZWUgaW5wdXQgYnVmZmVyIEFTQVAKCSAgVlRDb21wcmVzc2lvblNlc3Npb25FbmNvZGVGcmFtZSByZXRhaW5zIHRoZSBDVlBpeGVsQnVmZmVyIGR1cmluZwoJICBlbmNvZGluZywgYW5kIHdpbGwgcmVsZWFzZSBpdCBhcyBzb29uIGFzIGl0IGNhbiAoZS5nLiBiZWZvcmUgaXQgZXZlbgoJICBjYWxscyBvdXIgY2FsbGJhY2spLiBUaGlzIG1lYW5zIHdlIGNhbiBzYWZlbHkgcmVsZWFzZSBpbnB1dCBidWZmZXIKCSAgYXQgdGhpcyBwb2ludCwgcG9zc2libHkgYWxsb3dpbmcgdGhlIHN5c3RlbSB0byByZXVzZSBpdCBzb29uZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA2NzEKCjIwMTUtMDUtMTEgMTY6Mzk6MTkgKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogQWRkIG1pc3NpbmcgZ3N0X3Z0ZW5jX2ZyYW1lX2ZyZWUoKSBpbiBlcnJvciBwYXRoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA2NjgKCjIwMTUtMDYtMDkgMTY6MzM6MzkgKzAyMDAgIFNhbnRpYWdvIENhcm90LU5lbWVzaW8gPHNhbmNhbmVAZ21haWwuY29tPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiBGaXggbWVtb3J5IGxlYWtzIGl0ZXJhdGluZyBvdmVyIHBhZHMKCSAgUmViYXNlZCBmb3IgbGF0ZXN0IG1hc3RlciBieSBOaWNvbGFzIEh1ZXQgPG5pY29sYXMuaHVldEBwYXJyb3QuY29tPi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTc0OAoKMjAxNS0wNi0xMCAwMDoxNjoyNyArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBhZGQgYWxpZ25tZW50PWF1IHRvIHNpbmsgY2FwcwoJICBWVCBjb21wcmVzc2lvbiBjYWxsYmFjayBnZXRzIGEgQ01TYW1wbGVCdWZmZXIgcGVyIGZyYW1lLCBzbyB2dGVuY19oMjY0CgkgIHNob3VsZCBzZXQgJ2FsaWdubWVudD1hdScgaW4gc2luayBjYXBzIHRvIGluZGljYXRlIHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA2MzUKCjIwMTUtMDYtMDkgMTg6MzA6NTUgKzAxMDAgIENocmlzIENsYXl0b24gPGNocmlzMjU1M0Bnb29nbGVtYWlsLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjRzcmM6IGZpeCBjb21waWxlciB3YXJuaW5ncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNjAxCgoyMDE1LTA1LTEyIDAwOjE4OjAyICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmYXNzZXRzcmMubToKCSAgYXZmYXNzZXRzcmM6IGZpeCBodWdlIG1lbW9yeSBsZWFrCgkgIENNU2FtcGxlQnVmZmVycyB3ZXJlIHJldGFpbmVkIC0+IGh1Z2UgbWVtb3J5IGxlYWsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA2MzgKCjIwMTUtMDUtMTEgMTY6NDQ6MzMgKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogbm8gbmVlZCBmb3IgcXVldWVfbGVuZ3RoIHdpdGggdHJ5X3BvcAoKMjAxNS0wNS0wNSAxNTowNzo1MyArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBkb24ndCBjb3B5IG1ldGEgZnJvbSBpbnB1dCB0byBvdXRwdXQKCSAgQ29weWluZyBhcmJpdHJhcnkgbWV0YXMgaXMgZ29pbmcgdG8gY2F1c2UgcHJvYmxlbXMgYW5kIHRoaXMgc2hvdWxkIHJlYWxseSBiZQoJICBoYW5kbGVkIGJ5IHRoZSBiYXNlIGNsYXNzLiBJdCBvdmVycmlkZXMgbW9zdCBvdGhlciB0aGluZ3MgYWxyZWFkeSBhbnl3YXksCgkgIGluY2x1ZGluZyB0aW1lc3RhbXAgYW5kIGR1cmF0aW9uLiBUaG9zZSBhcmUganVzdCBzZXQgaGVyZSBub3cgc28gd2UgY2FuCgkgIGluc2VydCB0aGUgZnJhbWUgc29ydGVkIGludG8gdGhlIHF1ZXVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4OTIyCgoyMDE1LTA2LTA5IDE1OjMyOjM2ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogTWFrZWZpbGUuYW06CgkgIGNydWZ0OiBhZGQgdGhlIG9ic29sZXRlIHRtcGwgZGlyIHRvIGNydWZ0LWRpcnMKCjIwMTUtMDYtMDkgMTQ6Mzc6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IGZpeCBtaXNsZWFkaW5nIGRvY3VtZW50YXRpb24gY29waWVkIGZyb20gYWRkZXIKCjIwMTUtMDYtMDkgMTI6MTE6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9NYWtlZmlsZS5hbToKCSAgZGFzaDogQWRkICQoR1NUX1BMVUdJTlNfQkFTRV9MSUJTKSB0byBMSUJBREQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDYxOQoKMjAxNS0wNi0wOSAxMTozMDoyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZDlhMzM1MyB0byA2MDE1ZDI2CgoyMDE1LTA2LTA5IDA5OjA3OjQ1ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmg6CgkgIGR2ZHNwdTogTWFwIHRoZSBwaXhlbCBkYXRhIG9uY2UgcGVyIHJlbmRlciwgbm90ICphaGVtKiB0d2ljZSBwZXIgYnl0ZS4KCSAgVGhlIG5haXZlIHBvcnQgdG8gMS4wIGZyb20geWVhcnMgYWdvIHdhcyBzaWxseSwgbWFrZSBpdCBiZXR0ZXIuCgoyMDE1LTA2LTA4IDIzOjA4OjA0ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkMzdhZjMyIHRvIGQ5YTMzNTMKCjIwMTUtMDYtMDUgMTc6MjA6MjAgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIHRlc3RzOiBkYXNoZGVtdXg6IGFkZCB1bml0IHRlc3RzIGZvciBjaGVja2luZyB0aGUgcGFyc2luZyBvZiBNUEQgZWxlbWVudAoJICBDcmVhdGUgYSBkYXNoIHRlc3QgdGFyZ2V0IGFuZCBhZGQgdW5pdCB0ZXN0cyB0aGF0IGNoZWNrIHRoZSBwYXJzaW5nIG9mCgkgIGF0dHJpYnV0ZXMgb2YgdGhlIE1QRCBlbGVtZW50IGFuZCB0aGUgZm9sbG93aW5nIGNoaWxkIGVsZW1lbnRzOgoJICAtIGJhc2VVUkwKCSAgLSBwcm9ncmFtIGluZm9ybWF0aW9uCgkgIC0gbG9jYXRpb24KCSAgLSBtZXRyaWNzCgkgIFRoZXNlIHRlc3RzIGNoZWNrIHRoZSBjb21wbGlhbmNlIG9mIHBhcnRzIG9mIHRoZSBNUEQgcGFyc2VyIGluIHRoZQoJICBkYXNoZGVtdXggZWxlbWVudCBhZ2FpbnN0IHRoZSBEQVNIIHNwZWNpZmljYXRpb24gWzFdLgoJICBbMV0gaHR0cDovL3N0YW5kYXJkcy5pc28ub3JnL2l0dGYvUHVibGljbHlBdmFpbGFibGVTdGFuZGFyZHMvYzA2NTI3NF9JU09fSUVDXzIzMDA5LTFfMjAxNF9FbGVjdHJvbmljX2luc2VydHMuemlwCgkgIGh0dHA6Ly9zdGFuZGFyZHMuaXNvLm9yZy9pdHRmL1B1YmxpY2x5QXZhaWxhYmxlU3RhbmRhcmRzL2MwNjUyNzRfSVNPX0lFQ18yMzAwOS0xXzIwMTQuemlwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAzOTAKCjIwMTUtMDUtMDYgMTQ6Mjk6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBzaW1wbGlmeSBhZ2dyZWdhdGUgcmV0dXJuaW5nCgkgIFJld29yayBzcGVjaWFsIGhhbmRsaW5nIHdpdGggZ290by9sYWJlbHMgdG8gb25seSBoYXZlIG9uZSBjYXNlCgkgIGFuZCBvdGhlcndpc2UganVzdCByZXR1cm4gbm9ybWFsbHkuCgoyMDE1LTA1LTA2IDE0OjE5OjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogcmVmYWN0b3IgY2FwcyByZWNvbmZpZ3VyZSB0byBpdHMgb3duIGZ1bmN0aW9uCgkgIE1ha2VzIHRoZSBhZ2dyZWdhdGlvbiBjb2RlIHNob3J0ZXIgYW5kIGVhc2llciB0byByZWFkCgoyMDE1LTA1LTA2IDEzOjU5OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogZml4aW5nIHR5cGVzIGluIGFnZ3JlZ2F0ZSBmdW5jdGlvbgoJICBDb3JyZWN0bHkgdXNlIGJvb2xlYW4gYW5kIEdzdEZsb3dSZXR1cm4gdHlwZXMgaW4gdGhlIGZ1bmN0aW9uLgoKMjAxNS0wNS0wNiAxMzowODoxMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IHVzZSBtYWNybyB0byBhY2Nlc3MgYWdncmVnYXRvciBzcmMgcGFkCgkgIE1ha2VzIGNvZGUgYSBiaXQgbW9yZSByZWFkYWJsZQoKMjAxNS0wNS0wNiAxMzowNzo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBhZ2dyZWdhdG9yOiBhZGQgYSBjb252ZW5pZW5jZSBtYWNybyB0byBnZXQgdGhlIHNvdXJjZSBwYWQKCSAgRWFzaWVyIHRoYW4gY2FzdGluZyBvciBhY2Vzc2luZyB0aGUgcGFyZW50IGV2ZXJ5d2hlcmUKCjIwMTUtMDYtMDggMTQ6MTY6MjIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBjb3JyZWN0IGZpeCBmb3IgZGVhZCBjb2RlCgkgIFJlbmFtZSB0ZW1wbGF0ZSB0byBjYXBzIHRvIGtlZXAgdGhlIG9yaWdpbmFsIGludGVudGlvbiBvZiB0aGUgY29kZSBhZnRlcgoJICBjb21taXQgYjRjOWFhMWMKCSAgQ0lEICMxMzA0Njc0CgoyMDE1LTA2LTA4IDE0OjE0OjQxICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgUmV2ZXJ0ICJ0c2RlbXV4OiByZW1vdmUgZGVhZCBjb2RlIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDA2MzVhY2ZlYzA0MWIxYzY2NGJjMDc3MDgzOWIxYTU3NmUzNTk4YjEuCgoyMDE1LTA2LTA4IDEzOjM3OjMyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogcmVtb3ZlIGRlYWQgY29kZQoJICBBZnRlciBjb21taXQgYjRjOWFhMWMzMDhmODhiZjRlMWY2OWFiMDE1NmVkOWY5OTgxNWU4ZSB0ZW1wbGF0ZSB3aWxsIGFsd2F5cyBiZQoJICBOVUxMLiBUaGUgaWYgY29uZGl0aW9uYWwgd2lsbCBhbHdheXMgYmUgRkFMU0UsIHNvIHJlbW92aW5nIGl0LgoJICBDSUQgIzEzMDQ2NzQKCjIwMTUtMDYtMDcgMjM6MDY6MzggKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDIxYmEyZTUgdG8gZDM3YWYzMgoKMjAxNS0wNi0wNyAxNzozMjowNyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYzQwODU4MyB0byAyMWJhMmU1CgoyMDE1LTA2LTA3IDE3OjAzOjE1ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IHJlbW92ZSB2YXJpYWJsZXMgdGhhdCB3ZSBkZWZpbmUgaW4gdGhlIHNuaXBwZXQgZnJvbSBjb21tb24KCSAgVGhpcyBpcyBzeW5jaW5nIG91ciBNYWtlZmlsZS5hbSB3aXRoIHVwc3RyZWFtIGd0a2RvYy4KCjIwMTUtMDYtMDcgMTc6MTY6MjUgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGQ2NzY5OTMgdG8gYzQwODU4MwoKMjAxNS0wNi0wNyAxNjo0NTowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKMjAxNS0wNi0wNyAxNjoyODo0MyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSAgZG9jczogb25seSBhZGQgdGhlIGxpYnMgdGhhdCB3ZSBhY3R1YWxseSBkb2N1bWVudCByaWdodCBub3cKCSAgS2VlcCB0aGUgbGlicyBpbiBhbHBoYWJldGljYWwgb3JkZXIgdW5sZXNzIGEgc3BlY2lmaWMgbGluayBvcmRlciBpcyByZXF1aXJlZC4KCSAgQWxzbyByZW1vdmUgdGhlIC1MIGRpcmVjdGl2ZXMgYXMgd2Ugc3BlY2lmeSB0aGUgZGlyZWN0IHBhdGggdG8gdGhlIC5sYSBmaWxlcy4KCjIwMTUtMDYtMDcgMTY6Mjg6MjIgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkgIGRvY3M6IHJlbW92ZSBkdXBsaWNhdGVkIGVudHJ5IGZyb20gdHlwZXMgZmlsZQoKMjAxNS0wNi0wNyAxNTo1OTo1OSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3piYXIuYzoKCSAgemJhcjogc3BsaXQgdGVzdAoJICBMZXRzIG5vdCBjcmFtIGV2ZXJ5dGhpbmcgaW50byBhIHNpbmdsZSB0ZXN0IC0gdGhpcyB3b3VsZCByZW5kZXIgdGhlIHRlc3QgbmFtZQoJICB1c2VsZXNzIGZvciBxdWljayBkaWFnbm9zaXMuIEhhdmluZyBzZXBhcmF0ZSB0ZXN0cyBmb3IgdGhlIG9wdGlvbmFsIGZlYXR1cmUgaXMKCSAgYWxzbyB2ZXJpZnlpbmcgdGhlIGJlaGF2aW91ciB3aGVuIHRoZSBmZWF0dXJlIGlzIG9mZi4KCj09PSByZWxlYXNlIDEuNS4xID09PQoKMjAxNS0wNi0wNyAxMDo1NTozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXJvcmMtZGlzdC5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMtZGlzdC5jOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yb3JjLWRpc3QuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0LmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1ZGllZmZlY3Rzb3JjLWRpc3QuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNS4xCgoyMDE1LTA2LTA3IDA5OjM2OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE1LTA1LTMwIDIxOjM1OjM2ICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBGaXggd3JvbmcgZ3N0LWxhdW5jaCBjb21tYW5kIGluIHRoZSBkZXNjcmlwdGlvbgoJICBGaXggd3JvbmcgZ3N0LWxhdWNoIGNvbW1hbmQgaW4gdGhlIGRlc2NyaXB0aW9uLgoJICBUaGlzIHBhdGNoIG1heSBoZWxwIHBlb3BsZSB0byBnZXQgcmlnaHQgdGVzdGluZyByZXN1bHRzIHVzaW5nIHRoZSBzY3JpcHQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAxNDMKCjIwMTUtMDYtMDUgMTQ6NDk6MTggKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIGRmYnZpZGVvc2luazogcmVtb3ZlIGlnbm9yZWQgYXNzaWdubWVudHMKCSAgUmVtb3ZlIGFzc2lnbm1lbnRzIHRvIERGQlJlc3VsdCByZXMgdGhhdCBhcmUgbmV2ZXIgcmVhZC4KCjIwMTUtMDYtMDUgMTQ6MzQ6NTUgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiByZW1vdmUgaWdub3JlZCBhc3NpZ25tZW50CgkgIEZ1bmN0aW9uIGdvZXMgdG8gZG9uZSBiZWZvcmUgdGhlIHZhbHVlIHNldCBpbiBzdGFydF9vZmZzZXQgaXMgZXZlciB1c2VkLgoKMjAxNS0wNi0wNSAwOTozNTozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJpbi5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlcmJpbi5jOgoJKiBleHQvZ2wvZ3N0Z2xzaW5rYmluLmM6CgkqIGV4dC9nbC9nc3RnbHNyY2Jpbi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2F2c2FtcGxldmlkZW9zaW5rLm06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dsaW1hZ2VzaW5rLmM6CgkgIEZpeCBhIGNvbW1vbiB0eXBvOiByZXRyZWl2ZSAtPiByZXRyaWV2ZQoJICBTZWVtcyB0byBoYXZlIGJlZW4gY29weSBwYXN0ZWQgYXJvdW5kIGEgZmV3IHBsYWNlcwoKMjAxNS0wNi0wNSAwOToyMjo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZHJvcCBUT0RPIHRoYXQgZG9lc24ndCBuZWVkIGEgc29sdXRpb24KCSAgQ29ubmVjdGlvbiBzcGVlZCBpcyBvbmx5IGNoZWNrZWQgYXQgdGhhdCBwb2ludCBpbiBobHNkZW11eCBzbyB0aGVyZQoJICBpcyBubyByZWFsIG5lZWQgdG8gcmVmYWN0b3IgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkzMjgKCjIwMTUtMDYtMDUgMDk6MTU6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9tM3U4LmM6CgkgIFJldmVydCAiaGxzZGVtdXg6IFNpbXBsaWZ5IGxvZ2ljIGluIHByb2Nlc3NfbWFuaWZlc3QiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNGNhM2EyMmI2YjMzYWQ4YmU0MzgzMDYzZTc2Zjc5YzRkMzQ2NTM1ZC4KCSAgVGhlIGNvbm5lY3Rpb24tc3BlZWQ9MCBpcyB1c2VkIGFzIGEgc3BlY2lhbCB2YWx1ZSBpbiB0aGUgcHJvcGVydHkKCSAgb2YgaGxzZGVtdXggdG8gbWVhbiAnYXV0b21hdGljJyBzZWxlY3Rpb24sIG0zdTguYyBkb2Vzbid0IG5lZWQKCSAgdG8ga25vdyBhYm91dCB0aGF0IGFzIGl0IHNob3VsZCBiZSBhcyBzaW1wbGUgYXMgcG9zc2libGUuCgkgIFNvIHRoaXMgcGF0Y2ggaGlkZXMgdGhpcyBhdXRvbWF0aWMgc2VsZWN0aW9uIGRvY3VtZW50ZWQgaW4gaGxzZGVtdXgKCSAgaW50byBtM3U4IGxvZ2ljIGFuZCBJIHRoaW5rIHRoZSBnZXRzIGhhcmRlciB0byB1bmRlcnN0YW5kIHRoZSBjb2RlLgoJICBJdCBhbHNvIG1ha2VzIHRoZSBobHNkZW11eCB1bml0IHRlc3RzIHdvcmsgYWdhaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTMyOAoKMjAxNS0wNi0wNSAxNDozMDowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IEZpeCBpbnZlcnRlZCBsb2dpYyBpbnRyb2R1Y2VkIGluIGxhc3QgY29tbWl0CgoyMDE1LTA2LTA1IDA4OjU4OjAzICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHNpbXBsZXZpZGVvbWFya2RldGVjdC5jOgoJICBzaW1wbGV2aWRlb21hcmtkZXRlY3Q6IGZpeCBkZXRlY3Qgb2YgdmlkZW9tYXJrIHBhcnRpYWxseSBvciBmdWxseSBvdXRzaWRlIHZpZGVvCgkgIEluIGNhc2Ugb2YgdGhlIHZpZGVvbWFyayBiZWluZyBwYXJ0aWFsbHkgb3IgZnVsbHkgb3V0c2lkZSwKCSAgYW4gZXJyb3Igd2FzIGJlaW4gdGhyb3duIHNheWluZywgbWFyayB3aWR0aCBpcyBtb3JlIHRoYW4gdmlkZW8gd2lkdGguCgkgIEFuZCB3aGVuIHRoZSB3aWR0aCwgb2Zmc2V0IHByb3BlcnRpZXMgYXJlIHNldCB0byBtYXhpbXVtIGl0IHJlc3VsdGVkIGluIGNyYXNoLgoJICBJbnN0ZWFkIG9mIHRocm93aW5nIGVycm9yLCBhZGRlZCBsb2dpYyB0byBkZXRlY3QgdGhlIG1hcmsKCSAgaW4gY2FzZSBvZiBwYXJ0aWFsIHZpc2liaWxpdHkgb3IgZG9udCBzaG93IHRoZSBtYXJrIHdoZW4gaXQgaXMgb3V0c2lkZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzkwOAoKMjAxNS0wNi0wNSAxNDoxMDo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IENhbGN1bGF0ZSB0aGUgbnVtYmVyIG9mIHNlZ21lbnRzIHdlIGhhdmUgd2hlbiBhIHNlZ21lbnQgdGVtcGxhdGUgaW5zdGVhZCBvZiBhIGxpc3QgaXMgdXNlZAoJICBPdGhlcndpc2Ugd2Ugd291bGQganVzdCBjb250aW51ZSBkb3dubG9hZGluZyBuZXcgZmlsZXMgZm9yZXZlciB1bnRpbCB3ZSBnZXQKCSAgNDA0IGZvciB0aGUgZmlyc3Qgb25lLCBhbmQgdGhlbiBlcnJvciBvdXQgaW5zdGVhZCBvZiBnb2luZyBFT1MuCgoyMDE1LTA2LTA1IDA4OjUzOjMwICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHNpbXBsZXZpZGVvbWFyay5jOgoJICBzaW1wbGV2aWRlb21hcms6IEFkZCBFcnJvciBsb2dzCgkgIFdoZW4gdGhlIHBhdHRlcm4gb2Zmc2V0IGlzIG91dHNpZGUgdGhlIHZpZGVvLCB0aGUgcHJpbnQgZXJyb3IgbWVzc2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzOTA4CgoyMDE1LTA2LTA1IDEzOjI4OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIFJldmVydCAibXBkcGFyc2VyOiBEb24ndCBjb25zaWRlciBzdHJlYW1zIHdpdGggYSBrbm93biBtZWRpYSBwcmVzZW50YXRpb24gZHVyYXRpb24gYXMgbGl2ZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAzNzAxMWU1MTk4MzBlMDc4NmZhNmUzMDdlZDI2MDAzYTJhODc3NGYxLgoJICBUaGlzIGNoYW5nZSB3YXMgYWN0dWFsbHkgY29tcGxldGVseSB1bm5lY2Vzc2FyeSwgdGhlIHN0cmVhbXMgaW4gcXVlc3Rpb24gYXJlCgkgIG1hcmtlZCBhcyBzdGF0aWMgYW5kIGFyZSBub3QgY29uc2lkZXJlZCBsaXZlIGFueXdheS4KCjIwMTUtMDYtMDUgMTM6MjE6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBEb24ndCBjb25zaWRlciBzdHJlYW1zIHdpdGggYSBrbm93biBtZWRpYSBwcmVzZW50YXRpb24gZHVyYXRpb24gYXMgbGl2ZQoKMjAxNS0wNi0wNSAxMToyNjoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogRXJyb3Igb3V0IGlmIGRvd25sb2FkaW5nIGEgc2VnbWVudCBmYWlsZWQgdG9vIG9mdGVuIGluIGxpdmUgbW9kZQoJICBJdCdzIHRydWUgdGhhdCB3ZSBzaG91bGRuJ3QgY29uc2lkZXIgZXJyb3JzIGZhdGFsIGltbWVkaWF0ZWx5LCBidXQgaWYgd2UKCSAgYWx3YXlzIGlnbm9yZSB0aGVtIHdlIHdpbGwgbG9vcCBpbmZpbml0ZWx5IG9uIGxpdmUgc3RyZWFtcyB3aXRoIHNlZ21lbnRzCgkgIHRoYXQgY2FuJ3QgYmUgZG93bmxvYWRlZCBhdCBhbGwuCgoyMDE1LTA2LTAzIDEyOjE3OjE5ICswMjAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cC5jOgoJICBzcnRwOiBBbGxvdyBnZXR0aW5nIHNzcmMgb2YgbW9yZSBwYWNrYWdlIHR5cGVzIHRoYW4gUlIgYW5kIFNSCgkgIFRoaXMgYWxsb3dzIGRlY3J5cHRpbmcgcmVkdWNlIHNpemUgcGFja2FnZXMuIFNlZSBSRkMgNTUwNgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMzI2CgoyMDE1LTA2LTA0IDEzOjM2OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiByZWZhY3RvciBwYWQgY3JlYXRpb24KCSAgQXZvaWQgcmVwZWF0aW5nIHRoZSBzYW1lIHBhZCBjcmVhdGlvbiBjb2RlIGV2ZXJ5d2hlcmUKCjIwMTUtMDYtMDQgMTU6NTc6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBEb24ndCBjcmFzaCBpbiBkZWJ1ZyBvdXRwdXQgaWYgc3RyZWFtLT5zZWdtZW50cyBpcyBOVUxMCgoyMDE1LTA2LTA0IDEzOjMxOjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSAga3N2aWRlb3NyYzogZml4IGxvZ2ljIGFuZCB0aW1lc3RhbXAgbm9uLW11eGVkIHN0cmVhbXMgYWdhaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDM4MQoKMjAxNS0wNi0wNCAxMjo1MzoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9saWJkZTI2NS9nc3RsaWJkZTI2NS5jOgoJKiBleHQvbGliZGUyNjUvbGliZGUyNjUtZGVjLmM6CgkgIGxpYmRlMjY1ZGVjOiBmaXggdXAgcGx1Z2luIG5hbWUgYW5kIGRlY29kZXIgZGVzY3JpcHRpb24KCjIwMTUtMDYtMDQgMTM6MzY6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2U6IENsYW1wIHNlZWsgdGltZXMgdG8gdGhlIGF2YWlsYWJpbGl0eVN0YXJ0VGltZQoJICBPdGhlcndpc2Ugd2Ugd2lsbCBzZWVrIHRvIG5lZ2F0aXZlIHRpbWVzLCB3aGljaCBhcmUgaW50ZXJwcmV0ZWQgYXMgdW5zaWduZWQKCSAgaW50ZWdlcnMgbGF0ZXIuCgoyMDE1LTA2LTA0IDEzOjEzOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogSW1wcm92ZSBkZWJ1ZyBvdXRwdXQgYSBiaXQgd2hlbiBhZHZhbmNpbmcgc2VnbWVudHMKCjIwMTUtMDYtMDQgMTI6MzY6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IFJlbGVhc2UgdGhlIG1hbmlmZXN0IG11dGV4IGJlZm9yZSB3YWl0aW5nIGZvciBhIGRvd25sb2FkCgkgIE90aGVyd2lzZSB3ZSB3aWxsIGh1cnQgcGFyYWxsZWwgZG93bmxvYWRzIGluIHRoZSBiZXN0IGNhc2UsIGFuZCBvZnRlbiBjYXVzZQoJICBkZWFkbG9ja3MuCgoyMDE1LTA2LTA0IDExOjU0OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBJZiBjaGFubmVsL3JhdGUgbmVnb3RpYXRpb24gZmFpbHMsIGZhbGwgYmFjayB0byBzdGVyZW8gYW5kIDQ4a0h6CgoyMDE1LTA2LTA0IDExOjUyOjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXNwYXJzZTogU2V0IHVwIGRlZmF1bHQgaGVhZGVyIHdpdGggNDhrSHogc2FtcGxlIHJhdGUgaW5zdGVhZCBvZiAwCgoyMDE1LTA2LTA0IDExOjQ1OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBnc3Rfc3RydWN0dXJlX2ZpeGF0ZV9maWVsZF9uZWFyZXN0X2ludCgpIG9ubHkgd29ya3MgaWYgdGhlIHN0cnVjdHVyZSBoYXMgdGhpcyBmaWVsZAoJICBKdXN0IHNldCB0aGUgcmF0ZS9jaGFubmVscyBkaXJlY3RseSBpZiB0aGUgY2FwcyBkb24ndCBoYXZlIHRoaXMgZmllbGQuCgoyMDE1LTA2LTA0IDExOjA1OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogVXNlIDY0IGJpdCBpbnRlZ2VyIGZvcm1hdCBzdHJpbmdzIHdoZW4gcGFzc2luZyBhIDY0IGJpdCBpbnRlZ2VyCgkgIE90aGVyd2lzZSB3ZSdsbCBvbmx5IGdldCBoYWxmIG9mIGl0cyBiaXRzIHByaW50ZWQgb24gMzIgYml0IGFyY2hpdGVjdHVyZXMuCgkgIEZvciB0aGlzLCBwcm9tb3RlIHRoZSAlZC1zdHlsZSBmb3JtYXQgc3RyaW5ncyB0byBzb21ldGhpbmcgdGhhdCBhY2NlcHRzCgkgIDY0IGJpdCBpbnRlZ2VycyB3aXRoIEdfR0lOVDY0X01PRElGSUVSLgoKMjAxNS0wNi0wNCAxMDo0NzowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZTogVmFsaWRhdGUgZm9ybWF0IHN0cmluZ3MgYmVmb3JlIHVzaW5nIHRoZW0KCSAgVXNpbmcgZm9ybWF0IHN0cmluZ3MgZnJvbSBhbiB1bnRydXN0ZWQgc291cmNlIHdpdGhvdXQgdmFsaWRhdGlvbiBpcwoJICBjYWxsaW5nIGZvciBwcm9ibGVtcywgYW5kIGF0IGxlYXN0IGFsbG93cyB0byByZW1vdGVseSBjcmFzaCB5b3VyIGFwcGxpY2F0aW9uLgoJICBJZiBub3Qgd29yc2UuCgoyMDE1LTA2LTA0IDA5OjQwOjE5ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJICBnbC9kaXNwbWFueDogRml4IGJ1aWxkCgoyMDE1LTA2LTAzIDIyOjIxOjMwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL01ha2VmaWxlLmFtOgoJICBnbC9leGFtcGxlOiBmaXggYnVpbGQgZXJyb3Igd2hlbiBjb21waWxpbmcgY29jb2EtdmlkZW9vdmVybGF5CgkgIGxpYnRvb2w6IGVycm9yOiBpZ25vcmluZyB1bmtub3duIHRhZyBPQkpDCgkgIGFuZAoJICBjbGFuZzogZXJyb3I6IGFyZ3VtZW50IHVudXNlZCBkdXJpbmcgY29tcGlsYXRpb246ICctcHRocmVhZCcKCjIwMTUtMDYtMDQgMTU6MDE6MTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuYzoKCSAgZ2wvd2luZG93L2Rpc3BtYW54OiBmaXggY29tcGlsZXIgd2FybmluZwoKMjAxNS0wNi0wNCAxMjoxNjozNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wubToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5oOgoJICBnbC93aW5kb3c6IHVzZSB0aGUgZGVmYXVsdCBtYWluIGxvb3AgaW1wbGVtZW50YXRpb24gZm9yIGFsbCBiYWNrZW5kcwoJICBmaXhlcyBnbGltYWdzaW5rIGJlaW5nIHVuYWJsZSB0byBkaXNwbGF5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMzM3CgoyMDE1LTA2LTAzIDIxOjIyOjA5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbHdpbmRvd19jb2NvYTogdXNlIHBhcmVudCBkZWZhdWx0IGltcGxlbWVudGF0aW9uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAzMzcKCjIwMTUtMDYtMDMgMjA6MDM6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBBZGQgdGhlIHN0YXJ0TnVtYmVyIGFzIG9mZnNldCB0byB0aGUgc2VnbWVudCBpbmRleCB3aGVuIHVzaW5nIGEgdGVtcGxhdGUKCjIwMTUtMDYtMDMgMTY6NTk6NDQgKzAyMDAgIFNhbnRpYWdvIENhcm90LU5lbWVzaW8gPHNhbmNhbmVAZ21haWwuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmg6CgkgIGR0bHNkZWM6IEZpeCBjcml0aWNhbCB3YXJuaW5nICJnb3QgZGF0YSBmbG93IGJlZm9yZSBzdHJlYW0tc3RhcnQgZXZlbnQiCgkgIEZvcndhcmQgc3RpY2t5IGV2ZW50cyBvbiByZXF1ZXN0ZWQgc3JjIHBhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDM0OAoKMjAxNS0wNi0wMyAxNToyNToxMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IHJlbW92ZSB1c2VsZXNzIHZhbHVlIGFzc2lnbm1lbnRzCgkgIEluIGFsbCB0aGVzZSBjYXNlcyByZXQgaXMgc2V0IGJ1dCBvdmVyd3JpdHRlbiBiZWZvcmUgdGhlIHJldHVybiBvZiB0aGUgZnVuY3Rpb24KCjIwMTUtMDYtMDMgMTQ6NDQ6MzEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGdzdC1jYW1lcmFiaW4yLXRlc3Q6IHByb3RlY3QgZnJvbSBkaXZpc2lvbiBieSB6ZXJvCgkgIEhpZ2hseSB1bmxpa2VseSB0byBoYXZlIDAgY2FwdHVyZXMsIGJ1dCBwcm90ZWN0IGZyb20gY3Jhc2hlcyBpbiB0aGUgZnV0dXJlIGJ5CgkgIGRvaW5nIG5vbmUgb2YgdGhlIG1hdGggaWYgdGhlcmUgaXMgbm8gZGF0YS4KCjIwMTUtMDYtMDIgMjA6NTc6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogbG93ZXIgY3VybCByZXF1aXJlbWVudCB0byA3LjM1LjAKCSAgQnVpbGQgYW5kIHVuaXQgdGVzdHMgd2VyZSB0ZXN0ZWQgYWdhaW5zdCA3LjM1IHRvbyBub3csCgkgIHdoaWNoIGlzIHRoZSB2ZXJzaW9uIGluIFVidW50dSAxNC4wNC4KCjIwMTUtMDYtMDIgMTY6NDA6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IGRvIG5vdCBhY2Nlc3MgdmFyaWFibGUgYWZ0ZXIgdW5yZWYKCSAgRGF0YSBtaWdodCBub3QgZXhpc3QgYW55bW9yZQoKMjAxNS0wNi0wMiAxNTo0NToxMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW50ZXJsZWF2ZS5jOgoJICB0ZXN0czogYXVkaW9pbnRlcmxlYXZlOiB0ZXN0IG5vdCBzZXR0aW5nIHBvc2l0aW9ucwoJICBEaXNhYmxlICJjaGFubmVsLXBvc2l0aW9ucy1mcm9tLWlucHV0IiwgYnV0IHdpdGhvdXQgYWN0dWFsbHkgZ2l2aW5nCgkgIGEgcG9zaXRpb24gdGFibGUsIHNvIGV2ZXJ5IHBvc2l0aW9uIHNob3VsZCBiZSBOT05FCgoyMDE1LTA2LTAyIDE1OjQ0OjU3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9pbnRlcmxlYXZlLmM6CgkgIHRlc3RzOiBGaXggaW5kZW50YXRpb24gaW4gYXVkaW9pbnRlcmxlYXZlIHRlc3QKCjIwMTUtMDYtMDIgMTE6MzE6MDAgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgemJhcjogZG9uJ3QgaWdub3JlIHpiYXJfc2Nhbl9pbWFnZSgpIGVycm9ycwoKMjAxNS0wNi0wMyAwMDozMTo0MiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJICBnbHN5bmNtZXRhOiBTZXQgbmV3IHN5bmMgcG9pbnQgd2hlbiBjb3B5aW5nCgkgIFNldCBhIG5ldyBzeW5jIHBvaW50IHdoZW4gY29weWluZyBpbnN0ZWFkIG9mCgkgIHRyYW5zZmVycmluZyB0aGUgKG5vbi1yZWZjb3VudGVkKSBHTCBzeW5jIG9iamVjdAoJICBmcm9tIHRoZSBzb3VyY2UgbWV0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDI3OQoKMjAxNS0wNi0wMiAyMzo1OTo1MCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJICBnbHN5bmNtZXRhOiBBZGQgc29tZSBkZWJ1ZyBvdXRwdXQKCjIwMTUtMDYtMDIgMTY6MDI6MzcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc2ZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFkLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNkZW11eF9tM3U4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9rYXRlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWc0dmlkZW9wYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndmlkZW9wYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGxleC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vcHVzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG9udmlmLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RpbWlkaXR5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvYWFjZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvYW1yd2JlbmMuYzoKCSogdGVzdHMvY2hlY2svbGlicy9oMjY0cGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3RzLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvdmMxcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvdnA4cGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgY2hlY2s6IFVzZSBHU1RfQ0hFQ0tfTUFJTiAoKSBtYWNybyBldmVyeXdoZXJlCgkgIE1ha2VzIHNvdXJjZSBjb2RlIHNtYWxsZXIsIGFuZCBlbnN1cmVzIHdlIGdvIHRocm91Z2ggY29tbW9uIGluaXRpYWxpemF0aW9uCgkgIHBhdGggKGxpa2UgdGhlIG9uZSB0aGF0IHNldHMgdXAgWE1MIHVuaXQgdGVzdCBvdXRwdXQgLi4uKQoKMjAxNS0wNi0wMiAxMDoyMTo0MiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3RzaW1wbGV2aWRlb21hcmsuYzoKCSAgc2ltcGxldmlkZW9tYXJrOiBmaXggZGlzcGxheSBvZiB2aWRlb21hcmsgcGFydGlhbGx5IG9yIGZ1bGx5IG91dHNpZGUgdmlkZW8KCSAgSW4gY2FzZSBvZiB0aGUgdmlkZW9tYXJrIGJlaW5nIHBhcnRpYWxseSBvciBmdWxseSBvdXRzaWRlLCBhbiBlcnJvciB3YXMgYmVpbmcKCSAgdGhyb3duIHNheWluZyB0aGUgbWFyayB3aWR0aCBpcyBtb3JlIHRoYW4gdmlkZW8gd2lkdGguIEFuZCB3aGVuIHRoZSB3aWR0aCwKCSAgb2Zmc2V0IHByb3BlcnRpZXMgYXJlIHNldCB0byBtYXhpbXVtIGl0IHJlc3VsdGVkIGluIGNyYXNoLiBJbnN0ZWFkIG9mIHRocm93aW5nCgkgIGFuIGVycm9yLCBhZGQgbG9naWMgdG8gZGV0ZWN0IHRoZSBtYXJrIGluIGNhc2Ugb2YgcGFydGlhbCB2aXNpYmlsaXR5IG9yIGRvbid0CgkgIHNob3cgdGhlIG1hcmsgd2hlbiBpdCBpcyBvdXRzaWRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzOTA4CgoyMDE1LTAzLTI0IDE1OjE3OjE2ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZW5hYmxlIENoaW5lc2UgQVZTIHZpZGVvIHN0cmVhbQoJICBDaGluZXNlIGJyb2FkY2FzdGVyIGVuY2Fwc3VsYXRlIEFWUyB2aWRlbyBjb2RlYyBpbnRvIE1QRUcyLVRTLiBUaGV5CgkgIHVzZSB0aGUgc3RyZWFtX2lkIDB4NDIgdG8gaWRlbnRpZnkgQVZTIHZpZGVvIHN0cmVhbXMuIEl0IHNob3VsZCBiZSBub3RlZAoJICB0aGF0IHRoaXMgaWQgaXMgY3VycmVudGx5IHdpdGhpbiB0aGUgSVNPIHJlc2VydmVkIHJhbmdlLCBoZW5jZSBpdCdzCgkgIHV0aWxpc2F0aW9uIGlzIHVub2ZmaWNpYWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc3MzEKCjIwMTUtMDYtMDIgMTc6MjQ6MTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogcHJvdmlkZSBjb21wYXRpYmlsaXR5IGRlZmluaXRpb24gZm9yIEdMRVMyIGZvciBHTF9SR0JBOAoKMjAxNS0wNi0wMiAxNjozMjowMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgZ2w6IGNvbnNvbGlkYXRlIGludGVybmFsX3JnYmFfZm9ybWF0IGludG8gZ2xtZW1vcnkKCSAgRXhwb3NlIHNvbWUgdXNlZnVsIHZhbHVlIGZvcm1hdCBjb252ZXJzaW9uIGZ1bmN0aW9ucyBhdmFpbGFibGUgaW4KCSAgR3N0R0xNZW1vcnkuCgoyMDE1LTA2LTAxIDE5OjQzOjIwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9pbnRlcmxlYXZlLmM6CgkgIGF1ZGlvaW50ZXJsZWF2ZTogQWx3YXlzIGhhdmUgImNoYW5uZWxzIiBiZSB0aGUgYWN0dWFsIHBhZCBjb3VudAoJICBEb24ndCBmb3JjZSBpdCBhbnl3aGVyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMjUyCgoyMDE1LTA2LTAxIDE5OjQyOjQ5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9pbnRlcmxlYXZlLmM6CgkgIGF1ZGlvaW50ZXJsZWF2ZTogVXNlIHRoZSBjaGFubmVsIGNvdW50IGZyb20gdGhlIHNldCBjYXBzCgkgIFRoaXMgaXMgdGhlIHNhbWUgbnVtYmVyIHRoYXQgd2FzIHVzZWQgdG8gYWxsb2NhdGUgdGhlIGJ1ZmZlcgoKMjAxNS0wNi0wMSAxODo1MDoxNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRG9jdW1lbnQgdGhhdCB0aGUgbGF0ZW5jeSBpcyBpbiBucwoKMjAxNS0wNi0wMSAyMDowMzoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFtYzogT25seSBsb3dlciByYW5rcyBvZiBPTVguRXh5bm9zLiBhdWRpbyBjb2RlY3MsIHRoZSB2aWRlbyBjb2RlY3MgYXJlIGFjdHVhbGx5IHdvcmtpbmcKCjIwMTUtMDYtMDEgMTk6NDA6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbWM6IEdpdmUgbWFyZ2luYWwgcmFuayB0byBjb2RlY3MgdGhhdCBzdGFydCB3aXRoIE9NWC5FeHlub3MuCgkgIE9NWC5FeHlub3MuIGNvZGVjcyBhcmUgZXhpc3Rpbmcgb24gc29tZSBkZXZpY2VzIGxpa2UgdGhlCgkgIEdhbGF4eSBTNSBtaW5pLCBhbmQgY2F1c2UgcmFuZG9tIGNyYXNoZXMgKG9mIHRoZSBkZXZpY2UsCgkgIG5vdCB0aGUgYXBwISkgYW5kIGdlbmVyYWxseSBtaXNiZWhhdmUuIFRoYXQgc3BlY2lmaWMgZGV2aWNlCgkgIGhhcyBvdGhlciBjb2RlY3MgdGhhdCB3b3JrIHdpdGggYSBkaWZmZXJlbnQgbmFtZSwgYnV0IGxldCdzCgkgIGp1c3QgZ2l2ZSB0aGVtIG1hcmdpbmFsIHJhbmsgaW4gY2FzZSB0aGVyZSBhcmUgZGV2aWNlcyB0aGF0CgkgIGhhdmUgbm8gb3RoZXIgY29kZWNzIGFuZCB0aGVzZSBhcmUgYWN0dWFsbHkgdGhlIG9ubHkgd29ya2luZwoJICBvbmVzCgoyMDE1LTA2LTAxIDE5OjIzOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBHaXZlIGxvd2VyIHJhbmtzIHRvIGNvZGVjcyBub3Qgc3RhcnRpbmcgd2l0aCBPTVguCgkgIE9uIHNvbWUgZGV2aWNlcyB0aGVyZSBhcmUgY29kZWNzIHRoYXQgZG9uJ3Qgc3RhcnQgd2l0aCBPTVguLCB3aGlsZQoJICB0aGVyZSBhcmUgYWxzbyBzb21lIHRoYXQgZG8uIEFuZCBvbiBzb21lIG9mIHRoZXNlIGRldmljZXMgdGhlIG9uZXMKCSAgdGhhdCBkb24ndCBzdGFydCB3aXRoIE9NWC4ganVzdCBjcmFzaCBkdXJpbmcgaW5pdGlhbGl6YXRpb24gd2hpbGUKCSAgdGhlIG90aGVycyB3b3JrLiBUbyBtYWtlIHRoaW5ncyBldmVuIG1vcmUgY29tcGxpY2F0ZWQgb3RoZXIgZGV2aWNlcwoJICBoYXZlIGNvZGVjcyB3aXRoIHRoZSBzYW1lIG5hbWUgdGhhdCB3b3JrIGFuZCBubyBhbHRlcm5hdGl2ZXMuCgkgIFNvIGp1c3QgZ2l2ZSBhIGxvd2VyIHJhbmsgdG8gdGhlc2Ugbm9uLU9NWCBjb2RlY3MgYW5kIGhvcGUgdGhhdAoJICB0aGVyZSdzIGFuIGFsdGVybmF0aXZlIHdpdGggYSBoaWdoZXIgcmFuay4KCSAgQWxzbyBzdGFnZWZyaWdodCBnaXZlcyBjb2RlY3Mgc3RhcnRpbmcgd2l0aCBPTVguIGEgaGlnaGVyIHJhbmsgdG9vIGFuZAoJICBjb25zaWRlcnMgb3RoZXIgY29kZWNzIHRoYXQgZG9uJ3Qgc3RhcnQgd2l0aCBPTVguIGFzIHNvZnR3YXJlIGNvZGVjcy4KCjIwMTUtMDYtMDEgMTE6MTI6MjIgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3piYXIuYzoKCSAgdGVzdHM6IHpiYXI6IGNoZWNrIGZvciBmcmFtZSBmaWVsZCBvbiBhdHRhY2gtZnJhbWU9dHJ1ZQoJICBBbHNvIGNoZWNrIGZvciB0aGUgc2FtcGxlIHRvIGhhdmUgYSBidWZmZXIgYW5kIGNhcHMKCSAgYXNzb2NpYXRlZCB3aXRoIGl0LgoJICBSZWxhdGVkIHRvOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NTU3CgoyMDE1LTA1LTIwIDE1OjA0OjQwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBSZXF1aXJlIHdpZHRoIGFuZCBoZWlnaHQgZmllbGQgZm9yIEgyNjQKCSAgVGhpcyBkZWNvZGVyIGRvZXMgbm90IHdvcmsgaWYgd2lkdGggYW5kIGhlaWdodCBmaWVsZCBhcmUgbm90IHNldAoJICBpbiB0aGUgc2lua3BhZCBjYXBzLiBMZXQncyBtYWtlIHRoaXMgZXhwbGljaXQgYnkgYWRkaW5nIHRoZW0gdG8KCSAgdGhlIHRlbXBsYXRlIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk2NTUKCjIwMTUtMDYtMDEgMTQ6MDc6MzcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dwdXByb2Nlc3MvZ3N0Z2xjb250ZXh0X2dwdV9wcm9jZXNzLmM6CgkgIGdsY29udGV4dF9ncHVfcHJvY2VzczogY2xvc2UgdGhlIHdpbmRvdyB3aGVuIGRvbmUKCjIwMTUtMDYtMDEgMTQ6MDU6NTggKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dwdXByb2Nlc3MvZ3N0Z2x3aW5kb3dfZ3B1X3Byb2Nlc3MuYzoKCSAgZ2x3aW5kb3dfZ3B1X3Byb2Nlc3M6IGF2b2lkIGVtcHR5IHN0cnVjdAoKMjAxNS0wNi0wMSAxMjo1ODoxMSArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2x3aW5kb3c6IG1vdmUgbWFpbiBsb29wL2NvbnRleHQgY3JlYXRpb24gYmFjayB0byBpbml0L2ZpbmFsaXplCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAxOTkKCjIwMTUtMDYtMDEgMTQ6MDU6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3N0Z3RrLmM6CgkgIGV4YW1wbGVzOiBGaXggZ2wgdXNhZ2Ugd2l0aG91dCB3YXlsYW5kIHN1cHBvcnQKCSAgTm90IGFsbCBwbGF0Zm9ybXMgaGF2ZSB3YXlsYW5kIHN1cHBvcnQuIEhhbmRsZSB0aGF0IGdyYWNlZnVsbHkgYXQKCSAgY29tcGlsZSB0aW1lCgoyMDE1LTA2LTAxIDEzOjU1OjIwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSAgcnRtcHNpbms6IEluaXRpYWxpemUgR3N0TWFwSW5mbwoJICBBdm9pZHMgZG9pbmcgYSBjYWxsIHRvIHVubWFwIHdpdGggaXQgdW5pbml0aWFsaXplZAoJICBDSUQgIzEzMDI4MzQKCjIwMTUtMDYtMDEgMTI6NTE6NDYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBjbGVhbiBkZXJlZmVyZW5jZXMgb2YgcHJpdmF0ZSBzdHJ1Y3R1cmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mjg3NQoKMjAxNS0wNC0yNSAyMjo1NToyOCArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkgIHZ0ZW5jOiBmaXgga2V5ZnJhbWUgcmVxdWVzdCByYWNlIGNvbmRpdGlvbgoJICBJdCBpcyBpbmNvcnJlY3QgdG8gbW9kaWZ5IHRoZSBmcmFtZSBwcm9wZXJ0aWVzIGFmdGVyIHBhc3NpbmcgdGhlbSwgc2luY2UKCSAgVlRDb21wcmVzc2lvblNlc3Npb25FbmNvZGVGcmFtZSB0YWtlcyByZWZlcmVuY2UgYW5kIHdlIGhhdmUgbm8gY29udHJvbAoJICBvdmVyIHdoZW4gaXQncyBiZWluZyB1c2VkLgoJICBJbiBmYWN0LCB0aGUgY29kZSBjYW4gYmUgc2ltcGxpZmllZC4gV2UganVzdCBwcmVhbGxvY2F0ZSB0aGUgZnJhbWUKCSAgcHJvcGVydGllcyBmb3Iga2V5ZnJhbWUgcmVxdWVzdHMsIGFuZCBwYXNzIE5VTEwgb3RoZXJ3aXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NDY3CgoyMDE1LTA2LTAxIDExOjU2OjEzICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5oOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IG1ha2UgcHJpdmF0ZSBhbGwgdmFyaWFibGUgc3ViY2xhc3NlcyBkb24ndCBuZWVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI4NzUKCjIwMTUtMDUtMDEgMjM6MjA6MzAgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZXh0L3piYXIvZ3N0emJhci5oOgoJICB6YmFyOiBhZGQgZnJhbWUgc2FtcGxlIHRvIGJhcmNvZGUgbWVzc2FnZQoJICBOZXcgYXR0YWNoLWZyYW1lIHByb3BlcnR5IGVuYWJsZXMgYmFyY29kZSBmcmFtZQoJICBkdW1waW5nIHdoZW4gc2V0IHRvIHRydWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc1NTcKCjIwMTUtMDUtMzEgMjE6MzA6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJICBnbDogRml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoyNDY6NDE6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUgJ3N1cmZhY2VfbGlzdGVuZXInIFstV2Vycm9yLC1XdW51c2VkLWNvbnN0LXZhcmlhYmxlXQoJICBzdGF0aWMgY29uc3Qgc3RydWN0IHdsX3N1cmZhY2VfbGlzdGVuZXIgc3VyZmFjZV9saXN0ZW5lciA9IHsKCSAgXgoKMjAxNS0wNS0yNyAyMzozNDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5oOgoJICBhbmRyb2lkbWVkaWE6IENvbmRpdGlvbmFsbHkgdXNlIGdldF97aW5wdXQsb3V0cHV0fV9idWZmZXIoKSBBbmRyb2lkIDIxIEFQSXMKCSAgQWxzbyBwcm9wZXJseSBzZXQgbGltaXQvcG9zaXRpb24gb24gYnl0ZSBidWZmZXIsIHNvbWUgY29kZWNzIHByZWZlciB0byBoYXZlCgkgIGNvcnJlY3QgdmFsdWVzIHRoZXJlLgoKMjAxNS0wNS0zMSAxNjo1MzoxNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsd2luZG93OiBmaXggY29tcGlsZXIgZXJyb3IKCSAgZ3N0Z2x3aW5kb3cuYzoxMTE4OjU0NDogZXJyb3I6ICdyZXR1cm4nIHdpdGggbm8gdmFsdWUsIGluIGZ1bmN0aW9uIHJldHVybmluZyBub24tdm9pZCBbLVdlcnJvcl0KCSAgZ19yZXR1cm5faWZfZmFpbCAoR1NUX0dMX0lTX1dJTkRPVyAod2luZG93KSk7CgoyMDE1LTA1LTMxIDE1OjQyOjQ4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVybm92aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9maWx0ZXJ2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkgIGdsL2V4YW1wbGVzOiB1cGRhdGUgZ3RrIGV4YW1wbGVzIGZvciBnbHVwbG9hZAoKMjAxNS0wNS0zMSAxNTo0MDoxNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2ZpbHRlcnZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL3N3aXRjaHZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSAgZ2wvZXhhbXBsZXM6IHVwZGF0ZSBndGsgZXhhbXBsZXMgZm9yIHdheWxhbmQKCjIwMTUtMDUtMjkgMTg6MDY6MjcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkgIGdsL3dheWxhbmQ6IGltcGxlbWVudCBzZXR0aW5nIHRoZSByZW5kZXIgcmVjdGFuZ2xlCgkgIFBsYWNlcyBvdXIgc3Vic3VyZmFjZSBhdCB0aGUgcmVjdGFuZ2xlIHByb3ZpZGVkIHBvc2l0aW9uCgoyMDE1LTA1LTI5IDE4OjAzOjUyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSAgZ2x3aW5kb3c6IGhhbmRsZSBnc3RfdmlkZW9fb3ZlcmxheV9zZXRfcmVuZGVyX3JlY3RhbmdsZQoKMjAxNS0wNS0yOSAxODowMToyOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvd2F5bGFuZF9ldmVudF9zb3VyY2UuYzoKCSAgZ2wvd2F5bGFuZDogZG9uJ3QgYmxvY2sgdGhlIGV2ZW50IGxvb3AgYWZ0ZXIgcG9sbAoJICBVc2UgdGhlIGRpc3BhdGNoX3BlbmRpbmcgc2V0IG9mIGZ1bmN0aW9ucyB3aGljaCBqdXN0IHJ1biB0aGUgY3VycmVudGx5CgkgIHF1ZXVlZCB1cCBldmVudHMgaW5zdGVhZCBvZiBwb3RlbnRpYWxseSB3YWl0aW5nIGZvciBhbiBldmVudCB0byBvY2N1ci4KCjIwMTUtMDUtMjcgMTY6NDI6NTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9nc3RndGsuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2dzdGd0ay5oOgoJICB0ZXN0cy9nbC9ndGs6IGltcGxlbWVudCBzZXR0aW5nIGEgd2F5bGFuZCBkaXNwbGF5L3N1cmZhY2UKCjIwMTUtMDUtMjcgMTY6Mzk6MDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbGRpc3BsYXlfd2F5bGFuZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbGRpc3BsYXlfd2F5bGFuZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJICBnbC93YXlsYW5kOiBpbXBsZW1lbnQgYmFzaWMgdmlkZW8gb3ZlcmxheSBzdXBwb3J0IHZpYSBzdWJzdXJmYWNlcwoJICBDdXJyZW50bHkgZG9lcyBub3QgcG9zaXRpb24gdGhlIHN1YnN1cmZhY2UgcmVsYXRpdmUgdG8gdGhlIHBhcmVudCBzdXJmYWNlIGF0IGFsbAoKMjAxNS0wNS0yNyAxNTo0NDozMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvd2F5bGFuZF9ldmVudF9zb3VyY2UuYzoKCSAgZ2wvd2F5bGFuZDogYWxsb3cgYSBOVUxMIHdsX2V2ZW50X3F1ZXVlCgkgIHBlcmZvcm0gb3BlcmF0aW9ucyBvbiB0aGUgZGVmYXVsdCB3bF9kaXNwbGF5IGV2ZW50IHF1ZXVlIGluIHRoYXQgY2FzZQoKMjAxNS0wNS0yNyAxNTo0MzowNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgZ2wvdXRpbHM6IGltcGxlbWVudCB3YXlsYW5kIGRpc3BsYXkgR3N0Q29udGV4dAoJICByZXF1cmllZCBmb3Igc2hhcmluZyBHTCBjb250ZXh0cyBvciBzdWJzdXJmYWNlIHN1cHBvcnQKCjIwMTUtMDUtMjIgMTY6MDc6NDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL3dheWxhbmRfZXZlbnRfc291cmNlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL3dheWxhbmRfZXZlbnRfc291cmNlLmg6CgkgIGdsL3dheWxhbmQ6IHJ1biBlYWNoIHdpbmRvdyBvbiBhIHNlcGFyYXRlIHF1ZXVlCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NzQ3CgoyMDE1LTA1LTMwIDAyOjE5OjI1ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbDogRG9uJ3QgbGVhayB0ZW1wIHN0cmluZ3MgaW4gX1JHQl9waXhlbF9vcmRlcigpCgkgIEZpeCBhIG1lbW9yeSBsZWFrIG9mIHRlbXBvcmFyeSBzdHJpbmdzIHdoZW4gY29tcHV0aW5nCgkgIHN3aXp6bGluZyBvZiBSR0IgZm9ybWF0cy4KCjIwMTUtMDUtMzAgMDI6Mjk6NDcgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBnbGZpbHRlcjogQWRkIHRyYW5zZm9ybV9pbnRlcm5hbF9jYXBzKCkgdmZ1bmMKCSAgQWRkIGEgdmZ1bmMgdGhhdCBpcyBjYWxsZWQgYnkgZ2xmaWx0ZXIgYmVmb3JlIGl0IHNldHMKCSAgY2FwcyBmZWF0dXJlcyBhbmQgaW50ZXJzZWN0cyB3aXRoIHRoZSBwZWVyIGNhcHMsIGFuZAoJICBtb3ZlIHJlbW92aW5nIHRoZSBzaXplIGZyb20gY2FwcyBpbnRvIGl0cyBkZWZhdWx0CgkgIGltcGxlbWVudGF0aW9uLiBBbGxvd3Mgc3ViLWNsYXNzZXMgdG8gZG8gbW9yZQoJICBzb3BoaXN0aWNhdGVkIG1hbmFnZW1lbnQgb2YgdGhlIHNpemUgZmllbGRzIGluIGNhc2UgdGhleQoJICBkb24ndCBzdXBwb3J0IGFyYml0cmFyeSByZXNpemluZyBvciBoYXZlIGRpc3RpbmN0CgkgIHByZWZlcmVuY2VzLgoKMjAxNS0wNS0zMCAwMjoyMzo0NCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IERvbid0IHJlbW92ZSBzaXplIGZpZWxkcyBmcm9tIGNhcHMKCSAgSW5zdGVhZCBvZiByZW1vdmluZyBzaXplIGZpZWxkcywgc2V0IHRoZW0gdG8gdGhlIGZ1bGwgcmFuZ2UKCSAgbGlrZSB2aWRlb3NjYWxlIGRvZXMsIHNvIHRoZSBjYXBzIGFyZSBjbGVhcmx5IHVuZml4ZWQgaW4KCSAgYWxsIGNhc2VzLgoKMjAxNS0wNS0xMCAxODo1NToxNiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuaDoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBBZGQgY2xhc3MgcHJvcGVydHkgdG8gZGlzYWJsZSBjYXBzIHNjYWxpbmcKCSAgQWRkIHByZXNlcnZlX3VwZGF0ZV9jYXBzX3Jlc3VsdCBib29sZWFuIG9uIHRoZSBjbGFzcyB0byBhbGxvdwoJICBzdWItY2xhc3NlcyB0byBkaXNhYmxlIHZpZGVvYWdncmVnYXRvciByZW1vdmluZyBzaXplcyBhbmQgZnJhbWVyYXRlCgkgIGZyb20gdGhlIHVwZGF0ZV9jYXBzKCkgcmV0dXJuIHJlc3VsdC4KCjIwMTUtMDUtMDQgMTg6MTc6MjEgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IENhdGNoIGVycm9ycywgYW5kIGFsbG93IHN1Yi1jbGFzcyB0byByZXR1cm4gTlVMTCBmcm9tIGdldF9vdXRwdXRfYnVmZmVyKCkKCSAgQSByZXR1cm4gdmFsdWUgb2YgR1NUX0ZMT1dfT0sgd2l0aCBhIE5VTEwgYnVmZmVyIGZyb20gZ2V0X291dHB1dF9idWZmZXIoKQoJICBtZWFucyB0aGUgc3ViLWNsYXNzIGRvZXNuJ3Qgd2FudCB0byBwcm9kdWNlIGFuIG91dHB1dCBidWZmZXIsIHNvCgkgIHNraXAgaXQuCgkgIElmIGdzdF92aWRlb2FnZ3JlZ2F0b3JfZG9fYWdncmVnYXRlKCkgZ2VuZXJhdGVzIGFuIGVycm9yLCBtYWtlIHN1cmUKCSAgdG8gcHJvcGFnYXRlIGl0IC0gZG9uJ3QganVzdCBpZ25vcmUgYW5kIGRpc2NhcmQgdGhlIGVycm9yIGJ5CgkgIG92ZXItd3JpdGluZyBpdCB3aXRoIHRoZSBnc3RfcGFkX3B1c2goKSByZXN1bHQuCgoyMDE1LTA1LTI5IDE2OjAyOjMxICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUB0b29sc29uYWlyLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmg6CgkgIHJ0bXBzaW5rOiBEbyBub3QgY3Jhc2ggd2hlbiByZWNlaXZpbmcgYnVmZmVycyBhZnRlciBHU1RfRkxPV19FUlJPUgoJICBJZiB0aGUgUlRNUCBVUkkgaXMgaW52YWxpZCwgdGhlIHJ0bXBzaW5rIHdpbGwgcmV0dXJuIEdTVF9GTE9XX0VSUk9SLgoJICBJZiBpdCBzdGlsbCByZWNlaXZlcyBidWZmZXJzIGFmdGVyIHRoYXQsIGl0IHNob3VsZG4ndCBjcmFzaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDEwNAoKMjAxNS0wNS0yOSAwOTowMToyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogYXZvaWQgYXNzZXJ0aW9uIHdoZW4gc3BsaXR0aW5nIGJ1ZmZlcgoJICBQYXNzIHNpemU9LTEgYXMgaXMgaWYgdGhhdCBpcyB0aGUgY2FzZSBpbnN0ZWFkIG9mIHN1YnRyYWN0aW5nCgkgIHRoZSBvZmZzZXQuIE90aGVyd2lzZSB3ZSBoYXZlIGFuIGludmFsaWQgc2l6ZSBwYXNzZWQgZm9yIHRoYXQKCSAgYnVmZmVyLgoKMjAxNS0wNS0yOCAxNTo1OTowMiArMDIwMCAgU2FudGlhZ28gQ2Fyb3QtTmVtZXNpbyA8c2FuY2FuZUBnbWFpbC5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlYy5jOgoJICBkdGxzc3J0cGRlYzogUmVsZWFzZSByZXF1ZXN0ZWQgcGFkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMDM2CgoyMDE1LTA1LTI4IDE1OjU3OjEwICswMjAwICBTYW50aWFnbyBDYXJvdC1OZW1lc2lvIDxzYW5jYW5lQGdtYWlsLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuYzoKCSAgZHRsc2RlYzogUmVtb3ZlIHVubmVjZXNzYXJ5IHJlZi91bnJlZiBvcGVyYXRpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAwMzYKCjIwMTUtMDUtMjggMTU6NTU6MDMgKzAyMDAgIFNhbnRpYWdvIENhcm90LU5lbWVzaW8gPHNhbmNhbmVAZ21haWwuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5jOgoJICBkdGxzZGVjOiBGaXggcmVsZWFzZSByZXF1ZXN0IHBhZCBmdW5jdGlvbgoJICBEb24ndCB1bnJlZiB0aGUgcGFkIHJlZmVyZW5jZSB3ZSBkb24ndCBvd24gYW5kIGp1c3QgcmVtb3ZlIHRoZSBwYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAwMzYKCjIwMTUtMDUtMjggMTQ6MzA6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IFNlYXJjaCBtb3JlIHdoZW4gYWR2YW5jaW5nIGZyYWdtZW50CgkgIEluIGxpdmUgc2l0dWF0aW9ucywgaXQgaXMgbm90IHVuY29tbW9uIGZvciB0aGUgY3VycmVudCBmcmFnbWVudCB0byBlbmQKCSAgdXAgb3V0IG9mIHRoZSAodXBkYXRlZCkgcGxheSByYW5nZSAobG93ZXN0L2hpZ2hlc3Qgc2VxdWVuY2UpLiBCdXQgdGhlIG5leHQKCSAgZnJhZ21lbnQgdG8gcGxheSAqaXMqIHByZXNlbnQgaW4gdGhlIHBsYXkgcmFuZ2UuCgkgIFdoZW4gYWR2YW5jaW5nLCBpZiB3ZSBjYW4ndCBmaW5kIHRoZSBjdXJyZW50IEdzdE0zVThNZWRpYUZpbGUsIGRvbid0IGFib3J0CgkgIHN0cmFpZ2h0IGF3YXkuIEluc3RlYWQsIGxvb2sgaWYgYSBHc3RNM1U4TWVkaWFGaWxlIHdpdGggdGhlIG5leHQgc2VxdWVuY2UgdmFsdWUKCSAgaXMgcHJlc2VudCwgYW5kIGlmIHNvIHN3aXRjaCB0byBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDAyOAoKMjAxNS0wNS0yNyAxMDo1ODoxMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9ncHVwcm9jZXNzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3B1cHJvY2Vzcy9nc3RnbGNvbnRleHRfZ3B1X3Byb2Nlc3MuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dwdXByb2Nlc3MvZ3N0Z2xjb250ZXh0X2dwdV9wcm9jZXNzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9ncHVwcm9jZXNzL2dzdGdsd2luZG93X2dwdV9wcm9jZXNzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9ncHVwcm9jZXNzL2dzdGdsd2luZG93X2dwdV9wcm9jZXNzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgZ2w6IGFkZCBHc3RHTENvbnRleHRHUFVQcm9jZXNzIGJhY2tlbmQKCSAgSXQgYnVpbGRzIGl0cyBHTCB2dGFibGUgZnJvbSBhIHByb2MgYWRkcmVzcyBwcm92aWRlZAoJICBieSB0aGUgYXBwbGljYXRpb24uCgoyMDE1LTA1LTI3IDE2OjI4OjM5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ3N0Z2xfZ2xlczJjb21wYXQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBnbDogYWRkIGFuZCB1c2UgZ3N0X2dsX2ludGVybmFsX2Zvcm1hdF9yZ2JhCgkgIFByZXZpb3VzbHkgd2hlbiBjb21waWxpbmcgR3N0R0wgd2l0aCBib3RoIEdMIGFuZCBHTEVTMiwKCSAgR0xfUkdCQTggd2FzIHBpY2tlZCBmcm9tIEdML2dsLmguIEJ1dCBhIGNsYXNoIG1heSBoYXBwZW4gYXQKCSAgcnVudGltZSB3aGVuIG9uZSBpcyBzZWxlY3RpbmcgR0xFUzIuCgkgIGdzdF9nbF9pbnRlcm5hbF9mb3JtYXRfcmdiYSBhbGxvd3MgdG8gY2hlY2sgYXQgcnVudGltZQoJICBpZiBpdCBzaG91bGQgdXNlIEdMX1JHQkEgb3IgR0xfUkdCQTguCgoyMDE1LTA1LTI3IDE0OjEwOjE2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJICBnbHdpbmRvd194MTE6IHVzZSBwYXJlbnQgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbgoKMjAxNS0wNS0yNyAxMToxNjozMiArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSAgZ2xjb250ZXh0X2dseDogcmVuYW1lIHZhcmlhYmxlIGZyb20gd2luZG93IHRvIGNvbnRleHQKCjIwMTUtMDUtMjcgMTE6MTE6NTUgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsd2luZG93OiBpbml0aWFsaXplIGRlYnVnIGluIGNsYXNzX2luaXQKCSAgVXNlZnVsIGlmIG9uZSB1c2VzIGdzdF9nbF93aW5kb3dfeDExX25ldyBkaXJlY3RseQoJICBpbnN0ZWFkIG9mIGdzdF9nbF93aW5kb3dfbmV3LgoKMjAxNS0wNS0yNyAxMTowNzozOCArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogaW5pdGlhbGl6ZSBkZWJ1ZyBpbiBjbGFzc19pbml0CgkgIFVzZWZ1bCBpZiBvbmUgdXNlcyBnc3RfZ2xfY29udGV4dF9lZ2xfbmV3IGRpcmVjdGx5CgkgIGluc3RlYWQgb2YgZ3N0X2dsX2NvbnRleHRfbmV3LgoKMjAxNS0wNS0yNyAxMDo1NToyMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSAgZ2xjb250ZXh0OiBhZGQgZ3N0X2dsX2NvbnRleHRfc2V0X2Rpc3BsYXkgaGVscGVyCgoyMDE1LTA1LTI3IDE1OjI1OjQwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSAgZ2xjb250ZXh0OiBhZGQgbWlzc2luZyBfQ0FTVCBhZnRlciBHX1RZUEVfQ0hFQ0tfQ0xBU1MKCjIwMTUtMDUtMjcgMTA6NTE6NTQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkgIGdsd2luZG93OiBhZGQgbWlzc2luZyBfQ0FTVCBhZnRlciBHX1RZUEVfQ0hFQ0tfQ0xBU1MKCjIwMTUtMDUtMjYgMTg6Mzg6MzkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsd2luZG93OiBwcm92aWRlcyBzb21lIGRlZmF1bHQgaW1wbGVtZW50YXRpb25zIHRvIGZhY3Rvcml6ZSB3aXRoIGFsbCBiYWNrZW5kcwoKMjAxNS0wNS0yOCAwMDo1OTozOSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFB1c2ggRU9TIG9uIGVycm9yIHJldHVybi4KCSAgQmVmb3JlIHNodXR0aW5nIGRvd24gdGhlIHNyY3BhZCB0YXNrIGR1ZSB0byBhCgkgIGRvd25zdHJlYW0gZXJyb3IsIHB1c2ggYW4gRU9TIHRvIGdpdmUgZG93bnN0cmVhbQoJICBhIGNoYW5jZSB0byBzaHV0IGRvd24gc29tZXdoYXQgY2xlYW5seS4KCjIwMTUtMDUtMjcgMTM6MTI6NTcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGRvbid0IG92ZXJ3cml0ZSB2YWx1ZQoJICBWYWx1ZSBvZiByZXMgaXMgcmVzZXQgdG8gRkFMU0UgaW4gZWFjaCBpdGVyYXRpb24gb2YgdGhlIHdoaWxlIGxvb3AuIFdlIHdhbnQgdG8KCSAgY29uc2VydmUgVFJVRSBpZiBhbnkgcGFkIGV2ZW50IHN1Y2NlZWRlZCB1bnRpbCB3ZSBhcnJpdmUgdG8gZG9uZS4KCSAgQWxzbywgYnVmIGlzIHNldCB0byB0aGUgdmFsdWUgb2YgKm91dGJ1ZiB0d2ljZS4gUmVtb3ZpbmcgdGhlIGZpcnN0IGFzc2lnbm1lbnQKCSAgc2luY2UgdGhlIHNlY29uZCBvbmUgaXMgb3V0c2lkZSBvZiBhIGNvbmRpdGlvbmFsLgoKMjAxNS0wNS0yNyAxMzowODo0NiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0cmV0aW5leC5jOgoJICBvcGVuY3Y6ICdmb3InIGxvb3AgaW5pdGlhbCBkZWNsYXJhdGlvbgoJICAnZm9yJyBsb29wIGluaXRpYWwgZGVjbGFyYXRpb25zIGFyZSBub3QgYWxsb3dlZCBpbiBDODksIG1vdmluZyB0aGUgZGVjbGFyYXRpb25zCgkgIHRvIGJlZm9yZSB0aGUgJ2ZvcicgbG9vcHMuCgoyMDE1LTA1LTI3IDEzOjA1OjExICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBnbGVmZmVjdHM6ICdmb3InIGxvb3AgaW5pdGlhbCBkZWNsYXJhdGlvbgoJICAnZm9yJyBsb29wIGluaXRpYWwgZGVjbGFyYXRpb25zIGFyZSBub3QgYWxsb3dlZCBpbiBDODksIG1vdmluZyB0aGUgZGVjbGFyYXRpb25zCgkgIHRvIGJlZm9yZSB0aGUgJ2ZvcicgbG9vcHMuCgoyMDE1LTA1LTI3IDEyOjAzOjQyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZDogcmVtb3ZlIHVudXNlZCB2YWx1ZQoJICBUaGUgZGF0YSB2YXJpYWJsZSBpcyBpbmNyZW1lbnRlZCBidXQgbmV2ZXIgcmVhZCBhZ2Fpbi4gUmVtb3ZlIHRoZSB1bnVzZWQgdmFsdWUKCSAgYXNzaWdubWVudC4KCjIwMTUtMDUtMjcgMDY6MTc6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogcmVtb3ZlIG1vcmUgdW51c2VkIGF0dHJpYnV0ZXMKCSAgVGhvc2UgYXJlIG5vdCB1c2VkIG9yIG9ubHkgcmVhZAoKMjAxNS0wNS0yNyAwNTozNTozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiByZW1vdmUgdW51c2VkIGF0dHJpYnV0ZQoJICBJdCBpcyBuZXZlciByZWFkIGZvciBhbnl0aGluZyB1c2VmdWwKCjIwMTUtMDUtMjYgMTY6NDc6NDcgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgZ2xvdmVybGF5OiBmaXggYSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk4NDYKCjIwMTUtMDUtMjYgMTU6MTA6MjggLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgZ2xvdmVybGF5OiBwcm9wZXJseSBoYW5kbGUgZXJyb3JzIHdoaWxlIGxvYWRpbmcgZmlsZQoJICBQb3N0IGFuIGVycm9yIG9uIHRoZSBidXMgaWYgYW55dGhpbmcgYmFkIGhhcHBlbnMgd2hpbGUgcmVhZGluZwoJICBhbmQgcGFyc2luZyB0aGUgaW1hZ2UgZmlsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTg0NgoKMjAxNS0wNS0yNiAxNTowNDozNCAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5Lmg6CgkgIGdsb3ZlcmxheTogcmVtb3ZlIHVudXNlZCB0eXBlX2ZpbGUgZmllbGQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTg0NgoKMjAxNS0wNS0yNiAxNTowMTozNyAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsOiBwcm9wYWdhdGUgcmV0dXJuIHZhbHVlIGZyb20gZmlsdGVyIGFuZCBmaWx0ZXJfdGV4dHVyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5ODQ2CgoyMDE1LTA1LTI2IDE2OjM5OjU5ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJICBkdmJzdWJvdmVybGF5OiByZW1vdmUgdW51c2VkIGFzc2lnbm1lbnQKCSAgYnVmIGlzIGluY3JlbWVudGVkIGp1c3QgYmVmb3JlIHJldHVybmluZywgdGhpcyBuZXcgdmFsdWUgaXMgbmV2ZXIgdXNlZC4KCSAgUmVtb3ZpbmcgdW51c2VkIGFzc2lnbm1lbnQuCgoyMDE1LTA1LTI2IDE1OjI0OjUyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiAnZm9yJyBsb29wIGluaXRpYWwgZGVjbGFyYXRpb24KCSAgJ2ZvcicgbG9vcCBpbml0aWFsIGRlY2xhcmF0aW9ucyBhcmUgb25seSBhbGxvd2VkIGluIEM4OSwgbW92aW5nIHRoZSBkZWNsYXJhdGlvbgoJICB0byBiZWZvcmUgdGhlICdmb3InIGxvb3AuCgoyMDE1LTA1LTI2IDE0OjE0OjM0ICswMTAwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkgIGV4Y2x1c2lvbjogZXhjZXB0aW9uIHdoZW4gc2V0IGZhY3RvciB0byAwCgkgIFdoZW4gZmFjdG9yIHByb3BlcnR5IGlzIHNldCB0byAwLCB0cmFuc2Zvcm0ganVzdCByZXR1cm5zLgoJICBBZGp1c3QgdGhlIG1pbmltdW0gdmFsdWUgdG8gMS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzkwNwoKMjAxNS0wNS0yNiAxMjo0Nzo0MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBnbGVmZmVjdHM6IHByb3Blcmx5IGluaXRpYWxpemUgdGhlIHNoYWRlcnMgYWNyb3NzIGNvbnRleHRzIGltcGxlbWVudGluZyBtdWx0aXBsZSBBUEkncwoKMjAxNS0wNS0yNiAxMjo0NDo0NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBnbGVmZmVjdHNfbGFwbGFjaWFuOiBmaXggc2hhZGVyIGNvbXBpbGF0aW9uIGluIGdsMy9nbGVzMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MzkzCgoyMDE1LTA1LTI1IDEyOjMzOjUwICswMjAwICBQYXRyaWNpYSBNdXNjYWx1IDxwYXRyaWNpYUBheGlzLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5oOgoJICBjdXJsc2luazogaGFuZGxlIHNvY2tldCBjYWxsYmFjayBmb3IgYWN0aXZlIEZUUCBjb25uZWN0aW9ucyBhcyB3ZWxsCgkgIFNpbmNlIHZlcnNpb24gNy4yOC4wLCBsaWJjdXJsIGFsbG93cyBhcHBsaWNhdGlvbiB0byBzZXQKCSAgc29ja2V0IG9wdGlvbnMgZm9yIGFjdGl2ZSBGVFAgY29ubmVjdGlvbnMuCgkgIEJ1bXAgbGliY3VybCByZXF1aXJlbWVudCB0byB2ZXJzaW9uIHRlc3RlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTgxNQoKMjAxNS0wNS0yMCAxMjowODozOCArMDEwMCAgRGF2aWQgV2FyaW5nIDxkYXZpZC53YXJpbmdAcmQuYmJjLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogRml4IHNlZ2ZhdWx0IGludHJvZHVjZWQgYnkgc2VnbWVudCBpdGVyYXRpb24gcmVmYWN0b3JpbmcgKDIxMDVhMzEwKS4KCSAgVGhlIGZ1bmN0aW9ucyB0byBnZXQgdGhlIG5leHQgZnJhZ21lbnQsIG5leHQgZnJhZ21lbnQgdGltZXN0YW1wIGFuZCB0byBhZHZhbmNlCgkgIHRvIHRoZSBuZXh0IGZyYWdtZW50IG5lZWQgdG8gd29yayBkaWZmZXJlbnRseSB3aGVuIHN0cmVhbS0+c2VnbWVudHMgaXMgTlVMTC4KCSAgVXNlIGxvZ2ljIHNpbWlsYXIgdG8gdGhhdCBpbnRyb2R1Y2VkIGJ5IGNvbW1pdCAyMTA1YTMxMCB0byBwZXJmb3JtIHRoZXNlCgkgIGZ1bmN0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTY4NAoKMjAxNS0wNS0xOCAyMjozMzo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHVzZSBzaWduZWQgaW50ZWdldCB0byByZXByZXNlbnQgc2VnbWVudCBpbmRleAoJICBXZSBuZWVkIHRvIGJlIGFibGUgdG8gcmVwcmVzZW50IC0xIHRvIGNoZWNrIHdoZW4gd2UgYXJlIEVPUwoJICBvbiByZXZlcnNlIHBsYXliYWNrIGFuZCB1bnNpZ25lZCBpbnRlZ2VyIHdvbid0IGFsbG93IHRoYXQuCgkgIENJRCAjMTI5ODE5MwoJICBDSUQgIzEyOTgxOTQKCSAgQ0lEICMxMjk4MTk1CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk1MzQKCjIwMTUtMDUtMjUgMTA6MzA6NTUgKzA5MDAgIFN1aHdhbmcgS2ltIDxzdWh3YW5nLmtpbUBsZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZml4IG91dGRhdGVkIGV4YW1wbGUgbGF1bmNoIGxpbmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTgwOQoKMjAxNS0wNS0yMiAxMzoxMjowOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvd2F5bGFuZF9ldmVudF9zb3VyY2UuYzoKCSAgZ2wvd2F5bGFuZDogcmVtb3ZlIGRlYWQgZXZlbnQgc291cmNlIGNvZGUKCjIwMTUtMDUtMjEgMTc6NDg6MzEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsZGlzcGxheV93YXlsYW5kLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsZGlzcGxheV93YXlsYW5kLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkgIGdsL3dheWxhbmQ6IGFkZCBHc3RHTERpc3BsYXlXYXlsYW5kCgkgIFNpbXBsZSBpbXBsZW1lbnRhdGlvbiBzcGxpdCBmcm9tIEdzdEdMV2luZG93V2F5bGFuZAoJICBDYW4gbm93IGhhdmUgbXVsdGlwbGUgZ2xpbWFnZXNpbmsgZWxlbWVudHMgYWxsIGRpc3BsYXlpbmcgb3V0cHV0CgkgIGxpbmtlZCB2aWEgR0wgb3Igb3RoZXJ3aXNlIChiYXJyaW5nIEdMIHBsYXRmb3JtIGxpbWl0YXRpb25zKS4KCSAgVGhlIGludGVsIGRyaXZlciBpcyByYWN5IGFuZCBjYW4gY3Jhc2ggc2V0dGluZyB1cCB0aGUgdHdvIGdsaW1hZ2VzaW5rIGNvbnRleHRzLgoJICBlLmcuCgkgIHZpZGVvdGVzdHNyYyAhIHRlZSBuYW1lPXQgISBxdWV1ZSAhIGdsdXBsb2FkICEgZ2xpbWFnZXNpbmtlbGVtZW50CgkgIHQuICEgcXVldWUgISBnbGVmZmVjdHNfYmx1ciAhIGdsaW1hZ2VzaW5rZWxlbWVudAoJICB2aWRlb3Rlc3RzcmMgISBnbHVwbG9hZCAhIGdsZmlsdGVyY3ViZSAhIHRlZSBuYW1lPXQgISBxdWV1ZSAhIGdsaW1hZ2VzaW5rZWxlbWVudAoJICB0LiAhIHF1ZXVlICEgZ2xlZmZlY3RzX2JsdXIgISBnbGltYWdlc2lua2VsZW1lbnQKCjIwMTUtMDUtMjUgMTc6Mjc6NTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkgIGdsdHJhbnNmb3JtYXRpb246IGZpeCBEcmF3RWxlbWVudHMgY2FsbCBmb3IgZWxlbWVudCBhcnJheSBidWZmZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk3MzQKCjIwMTUtMDUtMjMgMDE6MDA6MTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIubToKCSAgZ2wvY2FsYXllcjogcHJvdmlkZSB0aGUgZXhhY3QgR0wgYXBpIHZlcnNpb24gZm9yIHRoZSB3cmFwcGVkIGNvbnRleHQKCSAgT3RoZXJ3aXNlIHdlIGNvdWxkIGVuZCB1cCBiZWluZyBtaXN0YWtlbiBmb3IgdGhlIGRpZmVyZW5jZSBiZXR3ZWVuIGEKCSAgZ2wzIGFuZCBhIGdsMiBjb250ZXh0IHJlc3VsdGluZyBpbiBhIGZhaWx1cmUgZ2V0dGluZyB0aGUgbGlzdCBvZgoJICBleHRlbnNpb25zIGZyb20gdGhlIHdyYXBwZWQgY29udGV4dCBkdWUgdG8gdGhlIGRpZmZlcmVuY2UgYmV0d2VlbgoJICBnbEdldFN0cmluZyBhbmQgZ2xHZXRTdHJpbmdpIGZvciB0aGUgR0xfRVhURU5TSU9OUyB0b2tlbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTcyOAoKMjAxNS0wNS0yMiAwMjo0MDozNyArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcmVtb3ZlIHVubmVjZXNzYXJ5IHNlbWljb2xvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NjkxCgoyMDE1LTA1LTIxIDE1OjMwOjM0IC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgZ2w6IHdpbjMyOiBkbyBub3QgY2FsbCBTZXRQYXJlbnQgaW4gcmVsZWFzZV9wYXJlbnRfd2luX2lkKCkKCSAgV2hlbiBjYWxsZWQgZnJvbSBnc3RfZ2xfd2luZG93X3dpbjMyX2Nsb3NlKCksIGludGVybmFsIHdpbmRvdwoJICBjb3VsZCBub3QgZXhpc3QsIGFuZCBpZiBpdCBkb2VzIGl0J3MgZ29pbmcgdG8gYmUgZGVzdHJveWVkIGp1c3QKCSAgYWZ0ZXIgdGhhdCBhbnl3YXkuIEFsc28gaXQgY2F1c2VzIHdpbmRvd19wcm9jKCkgdG8gYmUgY2FsbGVkCgkgIGFuZCBjcmFzaCBiZWNhdXNlIGl0IGdldHMgYSBOVUxMIGNvbnRleHQuCgkgIFdoZW4gY2FsbGVkIGZyb20gZ3N0X2dsX3dpbmRvd193aW4zMl9zZXRfd2luZG93X2hhbmRsZSgpIHdlIGFyZQoJICBnb2luZyB0byBzZXQgYW5vdGhlciBwYXJlbnQgYW55d2F5LCBhbmQgaXQncyBwcm9iYWJseSBiZXR0ZXIgdG8KCSAgcmVwYXJlbnQgZGlyZWN0bHkgaW5zdGVhZCBvZiBwYXNzaW5nIGJ5IGEgTlVMTCBwYXJlbnQgd2hpY2ggY291bGQKCSAgY2F1c2UgdGhlIGludGVybmFsIHdpbmRvdyB0byBwb3B1cCBicmllZmx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NjAxCgoyMDE1LTA1LTIxIDE1OjMwOjAwIC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgZ2w6IHdpbjMyOiByZW1vdmUgdW51c2VkIGNvZGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTYwMQoKMjAxNS0wNS0yMCAxNzowOToyMSAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIGdsOiB3aW4zMjogZml4IGNyYXNoIHdoZW4gZmluYWxpemluZyBHc3RHTENvbnRleHQKCSAgZ3N0X2dsX2NvbnRleHRfZmluYWxpemUoKSBpcyBjYWxsaW5nIGdzdF9nbF93aW5kb3dfd2luMzJfcXVpdCgpCgkgIHdoaWNoIHdhcyBwb3N0aW5nIGEgbWVzc2FnZS4gQnV0IHRoZW4gd2luZG93X3Byb2MgdGFrZXMgd2luZG93J3MKCSAgY29udGV4dCBhbmQgZ2V0IGEgTlVMTC4KCSAgTm93IHRoYXQgd2UndmUgZ290IGEgR01haW5Mb29wIHdlIGNhbiBkbyBsaWtlIG90aGVyIGJhY2tlbmRzIGFuZAoJICBzaW1wbHkgY2FsbCBnX21haW5fbG9vcF9xdWl0KCkuCgkgIFRoaXMgYWxzbyByZW1vdmUgZHVwbGljYXRlZCBjb2RlIHRvIHJlbGVhc2UgdGhlIHBhcmVudCB3aW5kb3cgYW5kCgkgIHBvdGVudGlhbCBjcmFzaCB0aGVyZSBiZWNhdXNlIHBhcmVudF9wcm9jIGNvdWxkIGJlIE5VTEwgaWYgd2UgbmV2ZXIKCSAgY3JlYXRlZCB0aGUgaW50ZXJuYWwgd2luZG93LiBUaGF0IGNvdWxkIGhhcHBlbiBmb3IgZXhhbXBsZSBpZiBzZXR0aW5nCgkgIHN0YXRlIHRvIFJFQURZIHRoZW4gc2V0dGluZyBhIHdpbmRvd19oYW5kbGUsIGFuZCBnbyBiYWNrIHRvIE5VTEwgc3RhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk2MDEKCjIwMTUtMDUtMjAgMTc6MDY6NDIgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBnbDogd2luMzI6IEZpeCBsZWFrZWQgR3N0R0xDb250ZXh0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk2MDEKCjIwMTUtMDUtMjAgMTU6MzA6NDkgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBnbDogd2luMzI6IHNldCB0aGUgcGFyZW50IHdpbmRvdyB3aGVuIGNyZWF0aW5nIGludGVybmFsIHdpbmRvdwoJICBXaGVuIF9zZXRfd2luZG93X2hhbmRsZSgpIHdhcyBjYWxsZWQgaW4gUkVBRFkgc3RhdGUsIGl0IHdhc24ndAoJICBzZXQgdG8gdGhlIGludGVybmFsIHdpbmRvdyBjcmVhdGVkIGxhdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NjAxCgoyMDE1LTA1LTIwIDE1OjI5OjUwIC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL3dpbjMyX21lc3NhZ2Vfc291cmNlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi93aW4zMl9tZXNzYWdlX3NvdXJjZS5oOgoJICBnbDogd2luMzI6IHVzZSBhIEdNYWluQ29udGV4dCB0byBkaXNwYXRjaCB3aW4zMiBtZXNzYWdlcwoJICBnc3RfZ2xfd2luZG93X3dpbjMyX3NlbmRfbWVzc2FnZV9hc3luYygpIGNvdWxkIGJlIGNhbGxlZCBiZWZvcmUgdGhlCgkgIGludGVybmFsIHdpbmRvdyBpcyBjcmVhdGVkIHNvIHdlIGNhbm5vdCB1c2UgUG9zdE1lc3NhZ2UgdGhlcmUuCgkgIHgxMSBhbmQgd2F5bGFuZCBiYWNrZW5kcyBib3RoIGNyZWF0ZSBhIGN1c3RvbSBHU291cmNlIGZvciB0aGlzLAoJICBzbyB0aGVyZSBpcyBubyByZWFzb24gdG8gbm90IGRvIHRoYXQgZm9yIHdpbjMyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NjAxCgoyMDE1LTA1LTIyIDAwOjI3OjM2ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogRG9uJ3QgbGVhayBhbGwgbWVtb3J5IHVwbG9hZGVkIHZpYSByYXcgdXBsb2Fkcy4KCSAgUmVtb3ZlIGFuIGV4dHJhIHJlZiBtaXNzZWQgd2hlbiBzd2l0Y2hpbmcgb3ZlciB0byBub3QKCSAgcmV1c2luZyBvdXRwdXQgdGV4dHVyZXMKCjIwMTUtMDUtMjEgMTY6MjQ6NDggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvci9nbHZpZGVvbWl4ZXI6IERvbid0IGNhbGN1bGF0ZSBQQVIvREFSIHdpdGggdW5zZXQgR3N0VmlkZW9JbmZvcwoJICBPdGhlcndpc2Ugd2UgZGl2aWRlIGJ5IHplcm8uCgoyMDE1LTA1LTIxIDE2OjE5OjA4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiBGaXggZG91YmxlIGFzc2lnbm1lbnQKCjIwMTUtMDUtMjEgMTU6MDU6MzMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiByZXF1aXJlIGEgc2hhZGVyIHZlcnNpb24gdG8gaW5pdGlhbGl6ZS4KCSAgSXQncyB2ZXJ5IG5lYXIgcG9pbnRsZXNzIHRvIHRyeSBvdXIgR0wgaW1wbGVtZW50YXRpb24gd2l0aG91dCBzaGFkZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5Mjg0CgoyMDE1LTA1LTIwIDAyOjM4OjUzICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJleXV2L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2RvdWJsZWN1YmUvTWFrZWZpbGUuYW06CgkgIEZpeCBmbGFncyBvcmRlciBpbiBHTCBleGFtcGxlcyBmb3IgdW5pbnN0YWxsZWQgYnVpbGQKCjIwMTUtMDUtMjAgMDE6NTc6NTIgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3dhc2FwaS9NYWtlZmlsZS5hbToKCSAgd2FzYXBpOiBGaXggZmxhZ3Mgb3JkZXIgZm9yIHVuaW5zdGFsbGVkIGJ1aWxkCgoyMDE1LTA1LTIxIDAwOjU2OjAxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvci9nbHZpZGVvbWl4ZXI6IGZpeCB1cCBwYXIgaGFuZGxpbmcKCSAgV2Ugd2VyZSB1c2luZyB0aGUgd3JvbmcgZm9ybXVsYQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NjM0CgoyMDE1LTA0LTE3IDE1OjM2OjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBDb25zaWRlciBTRUkgTkFMVSBhcyAiSEVBREVSIiBwYWNrZXRzCgkgIExpa2UgU1BTL1BQUyB0aGV5IGRvIGNvbnRhaW4gaW5mb3JtYXRpb24gd2hpY2ggd2lsbCBiZSBuZWVkZWQgdG8KCSAgZGVjb2RlIHRoZSBmb2xsb3dpbmcgZGF0YSAoYXMgcGVyIGRlZmluaXRpb24gb2YgdGhlIGZsYWcpCgkgIEFsc28gZW5zdXJlcyB0aGF0IHRoZSBzZXJpZXMgb2YgU1BTL1BQUy9TRUkgTkFMVSBiZWZvcmUgYSBrZXlmcmFtZQoJICBjYW4gYmUgY29uc2lkZXJlZCBhcyBvbmUgY29udGlndW91cyBoZWFkZXIKCjIwMTUtMDQtMTcgMTU6MzU6NDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IENhcnJ5IG92ZXIgR1NUX0JVRkZFUl9GTEFHX0hFQURFUgoJICBJbiB0aGUgc2FtZSB3YXkgd2UgZG8gaXQgZm9yIHRoZSBERUxUQV9VTklUIGZsYWcKCSAgVGhpcyBhbGxvd3MgZG93bnN0cmVhbSBlbGVtZW50cyB0byBrbm93IHdoZXRoZXIgYSBnaXZlbiBtcGVnLXRzCgkgIHBhY2tldCBjb250YWlucyBhIGNvcnJlc3BvbmRpbmcgSEVBREVSIGVsZW1lbnRhcnkgdW5pdAoKMjAxNS0wNS0yMCAxMjoxMTozMSArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanMudmVybWVpckBiYXJjby5jb20+CgoJKiBleHQveDI2NS9nc3R4MjY1ZW5jLmM6CgkgIHgyNjVlbmM6IE9ubHkgY29weSBWUFMvU1BTL1BQUyBOQUwgdW5pdHMgaW4gaGVhZGVyIGJ1ZmZlcgoJICBQcmV2aW91c2x5IHRoZSBWUFMgdW5pdCB3YXMgZGV0ZWN0ZWQgYW5kIGFsbCBuZXh0IHBhY2tldHMgd2hlcmUgY29waWVkCgkgIGludG8gdGhlIGhlYWRlciBidWZmZXIgYXNzdW1pbmcgb25seSBTUFMgYW5kIFBQUyB3b3VsZCBmb2xsb3cuICBUaGlzIGlzCgkgIG5vdCBhbHdheXMgdHJ1ZSwgYWxzbyBvdGhlciB0eXBlcyBvZiBOQUwgdW5pdHMgZm9sbG93IHRoZSBWUFMgdW5pdCBhbmQKCSAgd2hlcmUgY29waWVkIHRvIHRoZSBoZWFkZXIgYnVmZmVyLiBOb3cgdGhlIFZQUy9TUFMvUFBTIGFyZSBleHBsaWNpdGVseQoJICBkZXRlY3RlZCBhbmQgY29waWVkIGluIHRoZSBoZWFkZXIgYnVmZmVyLgoKMjAxNS0wNS0yMCAxMToyNzoyNSArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanMudmVybWVpckBiYXJjby5jb20+CgoJKiBleHQveDI2NS9nc3R4MjY1ZW5jLmM6CgkgIHgyNjVlbmM6IEZpeCB0dW5lIHBhcmFtZXRlciBtaXNtYXRjaAoJICBUaGVyZSB3YXMgYSBtaXNtYXRjaCBiZXR3ZWVuIHRoZSB0dW5lIHBhcmFtZXRlciBpbiB4MjY1IGFuZCB0aGUgZW51bQoJICB1c2VkIGluIHRoaXMgZWxlbWVudC4gVGhlIHZhbHVlIGluIHRoZSBlbnVtIGlzIHRoZSB4MjY1IHR1bmUKCSAgcGFyYW1ldGVyICsgMS4KCjIwMTUtMDUtMTkgMTg6MDI6MzAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuaDoKCSAgYW1jYXVkaW9kZWM6IEFkZCBhbiBvdXRwdXQgYWRhcHRlciBmb3IgY2h1bmtpbmcgdGhlIG91dHB1dCBpbnRvIGNvZGVjIGZyYW1lcwoJICBPdGhlcndpc2UgdGhlIGJhc2UgY2xhc3Mgd2lsbCBiZSBjb25mdXNlZC4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODU3MzAKCjIwMTUtMDUtMTkgMTA6NDM6MjggLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJICBnbDogZml4IGNyYXNoIG9uIHdpbmRvd3Mgd2l0aCBpbnRlbCBkcml2ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTQzMAoKMjAxNS0wNS0yMCAwMDo1MDozNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkgIGNhb3BlbmdsbGF5ZXJzaW5rOiBzdGF0aWMgY29uc3QgdGhlIGluZGljZXMgYXJyYXkKCSAgdGhlIGNvbnRlbnRzIHdpbGwgbmV2ZXIgY2hhbmdlIGFueXdheS4KCjIwMTUtMDUtMjAgMDA6Mjg6NTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5oOgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSAgY2FvcGVuZ2xsYXllcnNpbms6IGNvcnJlY3RseSB1c2UgdGhlIHN5bmMgbWV0YSBhY3Jvc3MgbXVsdGlwbGUgY29udGV4dHMKCSAgMS4gU2V0IHRoZSBzeW5jIHBvaW50IGFmdGVyIHRoZSAocG9zc2libGUpIHVwbG9hZCBoYXMgb2NjdXJlZAoJICAyLiBXYWl0IGluIHRoZSBjb3JyZWN0IEdMIGNvbnRleHQgKHRoZSBkcmF3IGNvbnRleHQpCgkgIE5vdGU6IFdlIGRvbid0IGFkZCB0aGUgR0wgc3luYyBtZXRhIHRvIHRoZSBpbnB1dCBidWZmZXIgYXMgaXQncyBub3QKCSAgd3JpdGFibGUgYW5kIGEgY29weSB3b3VsZCBiZSBleHBlbnNpdmUuCgkgIFNpbWlsYXIgdG8gdGhlIGNoYW5nZSB3aXRoIHRoZSBzYW1lIG5hbWUgZm9yIGdsaW1hZ2VzaW5rCgoyMDE1LTA1LTIwIDAwOjI4OjA3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsuaDoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkgIGNhb3BlbmdsbGF5ZXJzaW5rOiB1cGRhdGUgZm9yIEdMMyBlbGVtZW50IGFycmF5IGJ1ZmZlciB1c2FnZQoJICBmaXhlcyBibGFuayBvdXRwdXQKCjIwMTUtMDUtMTkgMTY6MjI6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgZ2xpbWFnZXNpbms6IGNvcnJlY3RseSB1c2UgdGhlIHN5bmMgbWV0YSBhY3Jvc3MgbXVsdGlwbGUgY29udGV4dHMKCSAgMS4gU2V0IHRoZSBzeW5jIHBvaW50IGFmdGVyIHRoZSAocG9zc2libGUpIHVwbG9hZCBoYXMgb2NjdXJlZAoJICAyLiBXYWl0IGluIHRoZSBjb3JyZWN0IEdMIGNvbnRleHQgKHRoZSBkcmF3IGNvbnRleHQpCgkgIE5vdGU6IFdlIGRvbid0IGFkZCB0aGUgR0wgc3luYyBtZXRhIHRvIHRoZSBpbnB1dCBidWZmZXIgYXMgaXQncyBub3QKCSAgd3JpdGFibGUgYW5kIGEgY29weSB3b3VsZCBiZSBleHBlbnNpdmUuCgoyMDE1LTA1LTE5IDE2OjE5OjQxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIubToKCSAgZ2wvY2FsYXllcjogcHJvdmlkZSBhIGN1cnJlbnQgd3JhcHBlZCBHc3RHTENvbnRleHQgZm9yIGNhbGxiYWNrcwoJICBTbyB0aGF0IHRoZSBkcmF3IGFuZCByZXNpemUgY2FsbGJhY2tzIGNhbiBnZXQgdGhlIGN1cnJlbnQgR3N0R0xDb250ZXh0LgoKMjAxNS0wNS0xOSAxNjoxNDozOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSAgZ2xzeW5jbWV0YTogZW5zdXJlIHRoYXQgdGhlIEZlbmNlIGlzIGdvaW5nIHRvIGJlIGV4ZWN1dGVkCgkgIE90aGVyd2lzZSBpdCBjb3VsZCBzdGF5IGNsaWVudCBzaWRlIHdpdGhvdXQgYmVpbmcgc3VibWl0dGVkIHRvIHRoZSBHTAoJICBzZXJ2ZXIgcmVzdWx0aW5nIGluIGFub3RoZXIgY29udGV4dCB3YWl0aW5nIG9uIGEgRmVuY2UgdGhhdCB3aWxsIG5ldmVyCgkgIGJlY29tZSBzaWduYWxsZWQgY2F1c2luZyBhIGRlYWRsb2NrLgoKMjAxNS0wNS0xOSAxMTo0NzoyMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBkb24ndCByZXVzZSBvdXRwdXQgdGV4dHVyZXMgZm9yIHJhdyBkYXRhIHVwbG9hZAoJICBDYXVzZXMgc3RhbGUgdGV4dHVyZXMgdG8gYmUgdXNlZCBmdXJ0aGVyIGRvd24gdGhlIGNoYWluLgoKMjAxNS0wNS0xOSAxMToxMTowMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSAgZ2xmcmFtZWJ1ZmZlcjogZG9uJ3QgY2xlYXIgdGhlIGZyYW1lYnVmZmVyCgkgIEJyZWFrcyBhdHRlbXB0aW5nIHRvIGJsZW5kIHdpdGggdGhlIGRlc3RpbmF0aW9uIGJ1ZmZlciBhbmQgc2hvdWxkIGJlIGRvbmUKCSAgZXhwbGljaXRseSBieSB0aGUgY2FsbGJhY2sgYW55d2F5LgoKMjAxNS0wNS0xOSAxMTowOTo1NCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJICBnbGJhc2VmaWx0ZXI6IHRyYWNrIGdsX3N0YXJ0L3N0b3AgY29ycmVjdGx5CgkgIERvbid0IHN0YXJ0IG11bHRpcGxlIHRpbWVzIHdpdGhvdXQgY2FsbGluZyBnbF9zdG9wLgoKMjAxNS0wNS0xOCAyMDoxNjozMiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBSZXZlcnQgImRvYzogV29ya2Fyb3VuZCBndGtkb2MgaXNzdWUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZmY2YzczNmZlMDhlMDFmNDMyMGM0YjAyZTgxMWEwYjU3Y2Y5N2NjMS4KCSAgVGhpcyBpcyBmaXhlZCBieSB0aGUgZ3RrLWRvYyAxLjIzIHJlbGVhc2UuCgkgIDxwYXJhPiBjYW5ub3QgY29udGFpbiA8cmVmc2VjdDI+OgoJICBodHRwOi8vd3d3LmRvY2Jvb2sub3JnL3RkZy9lbi9odG1sL3BhcmEuaHRtbAoJICBodHRwOi8vd3d3LmRvY2Jvb2sub3JnL3RkZy9lbi9odG1sL3JlZnNlY3QyLmh0bWwKCjIwMTUtMDUtMTQgMDI6MTE6NTAgKzA5MDAgIEppbW15IE9obiA8eW9uZ2ppbi5vaG5AbGdlLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBTaW1wbGlmeSBsb2dpYyBpbiBwcm9jZXNzX21hbmlmZXN0CgkgIFNpbXBsaWZ5IGxvZ2ljIGluIHByb2Nlc3NfbWFuaWZlc3QgYW5kIHJlbW92ZSBhIFRPRE8gaXRlbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTMyOAoKMjAxNS0wNS0xOCAxNDoxMjo1NiArMDkwMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguaDoKCSAgY3ZzbW9vdGg6IHJlbmFtZSBwcm9wZXJ0aWVzCgkgIFRoZSBwcm9wZXJ0aWVzIGFyZSBuYW1lZCBhcyBwYXJhbTEgdG8gcGFyYW00LCB3aGljaCBtYWtlcyB2ZXJ5IGxpdHRsZSBzZW5zZQoJICBoZW5jZSByZW5hbWVkIHRoZSBwcm9wZXJ0aWVzIGFjY29yZGluZyB0byB3aGF0IGl0IGlzIGRvaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NTIzCgoyMDE1LTA1LTE4IDE0OjAxOjU5ICswOTAwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguYzoKCSAgY3ZzbW9vdGg6IFdyb25nIGFzc2lnbm1lbnQgb2YgcHJvcCBsZWFkcyB0byBjcmFzaAoJICB3aGVuIHNldHRpbmcgcGFyYW0yIHByb3BlcnR5LCBpdCBpcyB3cm9uZ2x5IGJlaW5nIGFzc2lnbmVkIHRvIHBhcmFtMS4KCSAgVGhpcyBsZWFkcyB0byB3cm9uZyBiZWhhdmlvciBhbmQgYSBjcmFzaCB3aGVuIHBhcmFtMiBpcyBzZXQgYXMgMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTUyMwoKMjAxNS0wNS0xOCAxNDozMDoxOSArMDkwMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkgIHB5cmFtaWRzZWdtZW50OiB3cm9uZyB2YWx1ZSBvZiBsZXZlbCBwcm9wZXJ0eQoJICBUaGUgcHJvcGVydHkgbGV2ZWwgaGFzIGEgbWluaW11bSB2YWx1ZSBvZiAwLiBCdXQgd2hlbiB3ZSBzZXQgdGhlIGxldmVsIGFzIDAsCgkgIGl0IGdldHMgYW4gYXNzZXJ0aW9uIGVycm9yLiBUaGUgZnVuY3Rpb24gaWN2UHlyU2VnbWVudGF0aW9uOHVDM1IgcmV0dXJucyBmYWxzZQoJICBpZiBsZXZlbCBpcyBzZXQgYXMgMCwgc2luY2UgdGhlIG1pbmltdW0gbGV2ZWwgY2FudCBiZSAwIGFuZCB0aHVzIHJlc3VsdHMgaW4gZXJyb3IuCgkgIEhlbmNlIGNoYW5naW5nIHRoZSBtaW5pbXVtIHZhbHVlIHRvIDEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk1MjUKCjIwMTUtMDUtMTYgMjM6Mzg6MTQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGRvYzogV29ya2Fyb3VuZCBndGtkb2MgaXNzdWUKCSAgV2l0aCBndGtkb2MgMS4yMiwgdGhlIFhNTCBnZW5lcmF0b3IgZmFpbHMgd2hlbiBhIGl0ZW1pemVkbGlzdCBpcwoJICBmb2xsb3dlZCBieSBhIHJlZnNlY3QyLiBXb3JrYXJvdW5kIHRoZSBpc3N1ZSBieSB3cmFwcGluZyB0aGUKCSAgcmVmc2VjdDIgaW50byBwYXJhLgoKMjAxNS0wNS0wNiAxNToxNzoyNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBmaXggYnVmZmVyIHRpbWVzdGFtcCBub3QgYmVpbmcgaW4gc3RyZWFtIHRpbWUKCSAgVGltZXN0YW1wcyBzaG91bGQgc3RhcnQgYXQgdGhlIHNlZ21lbnQgc3RhcnQsIHJhdGhlciB0aGFuIDAsIHNvCgkgIHdlIG5lZWQgdG8gbm90IHN1YnRyYWN0IHRoZSBmaXJzdCB0aW1lc3RhbXAuIFRoaXMgbWFrZXMgdGhlIHNpbmsKCSAgY29ycmVjdGx5IGFjY291bnQgZm9yIHJ1bm5pbmcgdGltZSB3aGVuIHN3aXRjaGluZyBQTVRzIHdoZXJlIGEKCSAgc3RyZWFtIHN0YXJ0cyBub3QgcXVpdGUgYXQgemVybywgY2F1c2luZyB0aW1pbmcgb2Zmc2V0cyB0aGF0IGNhbgoJICBiZWNvbWUgbm90aWNlYWJsZSBhbmQgY2F1c2luZyBkcm9wcGVkIGZyYW1lcyBhZnRlciBhIGZldyB0aW1lcy4KCjIwMTUtMDUtMDYgMTU6MTY6MzcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogYWNjdW11bGF0ZSBwcmV2aW91cyBzZWdtZW50IGJhc2UgdGltZQoKMjAxNS0wNC0yNCAxMjo1NjowMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICB0c2RlbXV4OiBmaXggcmVmY291bnRpbmcgd2hlbiBhcHBseWluZyBhIG5ldyBQTVQKCSAgQSBuZXcgcHJvZ3JhbSBvYmplY3QgaXMgY3JlYXRlZCB0byByZXBsYWNlIGFuIGV4aXN0aW5nIG9uZQoJICBpbiB0aGUgcHJvZ3JhbXMgaGFzaCB0YWJsZSwgc28gaXRzIHJlZmNvdW50IG5lZWRzIHRvIG1hdGNoLgoJICBXaXRoIHRoZSBkZWZhdWx0IG9mIDAgcmVmY291bnQgb24gY3JlYXRpb24sIHRoZSBuZXh0IFBBVAoJICBjaGFuZ2Ugd2lsbCBjYXVzZSB0aGF0IHJlZmNvdW50IHRvIGJlIGJvdGggaW5jcmVtZW50ZWQgYW5kCgkgIGRlY3JlbWVudGVkIChhc3N1bWluZyB0aGUgbmV3IFBBVCByZWZlcmVuY2VzIHRoYXQgc3RyZWFtIHRvbyksCgkgIHdoaWNoIHdpbGwgY2F1c2UgdGhlIHByb2dyYW0gdG8gYmUgZGVzdHJveWVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NDEyCgoyMDE1LTA1LTE0IDE2OjA2OjU1ICswMjAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVjLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZW5jLmM6CgkgIGR0bHM6IEZpeCBtZW1vcnkgbGVhawoJICBLZXlzIHdlcmUgbm90IGNvcnJlY3RseSByZWxlYXNlZCB3aGVuIGl0IHdhcyBnZXQgYXMgYSBwcm9wZXJ0eQoJICBub3Igd2hlbiBhIHNlY29uZCBrZXkgd2FzIHJlY2VpdmVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkzODAKCjIwMTUtMDUtMTQgMjE6MjE6MDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogZnJlZSB0aGUgdmVydGV4IGJ1ZmZlciB3aGVuIGRvbmUKCSAgZml4ZXMgYSBtZW1vcnkgbGVhawoKMjAxNS0wMS0yMiAxODowMDozNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsX2NvY29hX3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJICBnbGNvbnRleHQvY29jb2E6IGltcGxlbWVudCBHTDMgY29yZSBjb250ZXh0IHNlbGVjdGlvbgoKMjAxNS0wNS0xNCAxODozNTozNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSAgdGVzdHMvZ2w6IGZpeCB0eXBvCgoyMDE1LTA1LTE0IDE2OjQyOjA5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJsdXIuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bGFwbGFjaWFuLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c29iZWwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBleHQvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGV4dC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBnbDogcmVtb3ZlIHVzZWxlc3MgZ2x7RW4sRGlzfWFibGUgKEdMX1RFWFRVUkVfKikgY2FsbHMKCSAgV2UgYXJlIHVzaW5nIHNoYWRlcnMgZXZlcnl3aGVyZSBhbmQgc28gdGhleSBhcmUgbm90IG5lZWRlZAoKMjAxNS0wNS0xNCAxNToxMDo1OSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBnbGltYWdlc2luazogY2xlYW51cCBwcm9wZXJ0aWVzCgkgIHJlbW92ZSB1bnVzZWQgImRpc3BsYXktbmFtZSIKCSAgZW5zdXJlIGRlZmF1bHRzIGJldHdlZW4gdGhlIGJpbi9lbGVtZW50IGFyZSB0aGUgc2FtZQoKMjAxNS0wNS0xNCAxNDo1NjozMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBnbGVmZmVjdHM6IG9ubHkgdHJ5IHRoZSBHTDIgc2hhZGVyIGluaXQgcGF0aCBpZiB3ZSBoYXZlIGEgR0wyIGNvbnRleHQKCjIwMTUtMDUtMTIgMjI6MDQ6MjYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJICBnbHNoYWRlcjogYXR0ZW1wdCB0byBkZXRlY3QgdGhlIGdsZXMyIGluc2lkZSBvcGVuZ2wzIGNhc2UKCSAgVGhpcyBpcyBuZWNlc3NhcnkgdG8gdXNlIGdsZXMyIHNoYWRlcnMgaW4gYSBHTCAzIGNvcmUgY29udGV4dCBvbgoJICBPUyBYIHdoaWNoIGZhaWxzIHdpdGhvdXQgYSBwcm9wZXIgI3ZlcnNpb24gYmVpbmcgc2V0IG9uIHRoZSBzaGFkZXJzLgoKMjAxNS0wNS0xMiAxNzo1NTo0MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkgIGdsc2hhZGVyOiByZW1vdmUgcmVmZXJlbmNlcyB0byBnbDMgc3BlY2lmaWMgc2hhZGVycwoJICBXZSByZWx5IHNwZWNpZmljYWxseSBvbiBnbGVzMiBzaGFkZXJzIGJlaW5nIHN1cHBvcnRlZCBieSB0aGUgR0wKCSAgaW1wbGVtZW50YXRpb24gd2l0aCBHTDMgY29yZSBwcm9maWxlLgoKMjAxNS0wNS0wMSAxMjowNDoyOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmg6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5Lmg6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmg6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBnbDogZWxlbWVudCBidWZmZXJzIGFyZSBwYXJ0IG9mIHZhbyBzdGF0ZQoJICBVc2UgdGhlbSBhcyBzdWNoLiAgVGhleSBhcmUgYWxzbyByZXF1aXJlZCBmb3IgR0wzIGNvcmUgcHJvZmlsZSBzdXBwb3J0CgkgIHdpdGggZ2xEcmF3RWxlbWVudHMgb24gT1MgWC4KCjIwMTUtMDUtMDcgMTI6MjU6MTAgKzA3MDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogcHJvcGVybHkgZGV0ZWN0IChob3BlZnVsbHkpIHRoZSBjb3JyZWN0IGV4dF9yZy9hcmJfcmcgdmFyaWFudAoJICBHTF9FWFRfdGV4dHVyZV9yZyBpcyBvbmx5IHZhbGlkIGZvciBHTEVTMi4gR0xFUzMgdXNlcyBzaW1pbGFyIHdvcmRpbmcgdG8KCSAgdGhlIEdMX0FSQl90ZXh0dXJlX3JnIHdoaWNoIHJlcXVpcmVzIGEgc2l6ZWQgaW50ZXJuYWwgZm9ybWF0IHRoYXQgdGhlCgkgIEdMX0VYVF90ZXh0dXJlX3JnIGRvZXMgbm90IHJlcXVpcmUuCgkgIGh0dHBzOi8vd3d3Lmtocm9ub3Mub3JnL3JlZ2lzdHJ5L2dsZXMvZXh0ZW5zaW9ucy9FWFQvRVhUX3RleHR1cmVfcmcudHh0CgkgIGh0dHBzOi8vd3d3Lm9wZW5nbC5vcmcvcmVnaXN0cnkvc3BlY3MvQVJCL3RleHR1cmVfcmcudHh0CgoyMDE1LTA1LTE0IDEzOjA0OjIxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogaW1wbGVtZW50IHByb3BlciBwYXIgaGFuZGxpbmcKCSAgV2Ugd2VyZSBwcmV2aW91c2x5IGZhaWxpbmcgb24gZGlmZmVyZW50IGlucHV0IGFuZCBvdXRwdXQgcGFyCgoyMDE1LTA1LTEyIDEzOjQxOjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGF2b2lkIGJ1c3ktbG9vcGluZyB3aGVuIHdhaXRpbmcgZm9yIG5ldyBmcmFnbWVudAoJICBXaGVuIGFsbCBmcmFnbWVudHMgaGF2ZSBhbHJlYWR5IGJlZW4gZG93bmxvYWRlZCBvbiBhIGxpdmUgc3RyZWFtCgkgIGRhc2hkZW11eCB3b3VsZCBidXN5IGxvb3AgYXMgdGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gb2YKCSAgaGFzX25leHRfZnJhZ21lbnQgd291bGQgcmV0dXJuIFRSVUUuIEltcGxlbWVudCBpdCB0byBjb3JyZWN0bHkKCSAgc2lnbmFsIGlmIGFkYXB0aXZlZGVtdXggc2hvdWxkIHdhaXQgZm9yIHRoZSBtYW5pZmVzdCB1cGRhdGUgYmVmb3JlCgkgIHRyeWluZyB0byBnZXQgbmV3IGZyYWdtZW50cy4KCjIwMTUtMDUtMTEgMTQ6MTk6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogSW1wcm92ZSBsaXZlIHN0cmVhbSBtYW5pZmVzdCB1cGRhdGUgcmVwb3NpdGlvbmluZwoJICBXaGVuIHVwZGF0aW5nIHRoZSBtYW5pZmVzdCB0aGUgdGltZXN0YW1wcyBvbiBpdCBtaWdodCBoYXZlIGNoYW5nZWQgYSBsaXR0bGUKCSAgZHVlIHRvIHJvdW5kaW5nIGFuZCB0aW1lc2NhbGUgY29udmVyc2lvbnMuIElmIHRoZSBjaGFuZ2UgbWFrZXMgdGhlIHRpbWVzdGFtcAoJICBvZiB0aGUgY3VycmVudCBzZWdtZW50IHRvIGdvIHVwIGl0IG1ha2VzIGRhc2hkZW11eCByZXBvc2l0aW9uIHRvIHRoZSBwcmV2aW91cwoJICBvbmUgY2F1c2luZyBvbmUgZXh0cmEgdW5uZWNlc3NhcnkgZG93bmxvYWQuCgkgIFNvIHdoZW4gcmVwb3NpdGlvbmluZyBhZGQgYW4gZXh0cmEgMTAgbWljcm9zZWNvbmRzIHRvIGNvdmVyIGZvciB0aGF0IHJvdW5kaW5nCgkgIGlzc3VlcyBhbmQgaW5jcmVhc2UgdGhlIGNoYW5jZSBvZiBmYWxsaW5nIGluIHRoZSBzYW1lIHNlZ21lbnQuCgkgIEFkZGl0aW9uYWxseSwgYWxzbyBpbXByb3ZlIHRoZSB0aW1lIHVzZWQgd2hlbiB0aGUgY2xpZW50IGlzIGFscmVhZHkgYWZ0ZXIgdGhlCgkgIGxhc3Qgc2VnbWVudC4gSW5zdGVhZCBvZiB1c2luZyB0aGUgbGFzdCBzZWdtZW50IHN0YXJ0aW5nIHRpbWVzdGFtcCB1c2UgdGhlCgkgIGZpbmFsIHRpbWVzdGFtcCB0byBtYWtlIGl0IHJlcG9zaXRpb24gdG8gdGhlIG5leHQgb25lIGFuZCBub3QgdG8gdGhlIG9uZSB0aGF0CgkgIGhhcyBhbHJlYWR5IGJlZW4gZG93bmxvYWRlZC4KCjIwMTUtMDUtMTEgMTI6MzA6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGFkZCBtb3JlIHByb3RlY3Rpb24gd2hlbiBhY2Vzc2luZyBncHRyYXJyYXkgZW50cmllcwoJICBUaGUgZ2xpYiBzdHJ1Y3R1cmUgZG9lc24ndCBkbyByYW5nZSBjaGVja2luZyBzbyB3ZSBoYXZlIHRvIGRvIGl0CgkgIG91cnNlbHZlcy4KCSAgQWxzbyBhZGRzIHNvbWUgbW9yZSBkZWJ1Z2dpbmcgbWVzc2FnZXMKCjIwMTUtMDUtMDggMTY6NTg6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiByZW1vdmUgdW51c2VkIGZ1bmN0aW9ucwoJICBUaGVzZSBmdW5jdGlvbnMgb2YgZGlyZWN0bHkgZ2V0dGluZyBhbmQgc2V0dGluZyBzZWdtZW50IGluZGV4ZXMKCSAgYXJlIG5vIGxvbmdlciB1c2VmdWwgYXMgbm93IHdlIG5lZWQgMiBpbmRleGVzOiByZXBlYXQgYW5kIHNlZ21lbnQKCSAgaW5kZXguCgkgIFRoZSBvbmx5IG9wZXJhdGlvbnMgbmVlZGVkIGFyZSBhZHZhbmNlX3NlZ21lbnQsIGdvaW5nIGJhY2sgdG8gdGhlCgkgIGZpcnN0IG9uZSBvciBzZWVraW5nIGZvciBhIHRpbWVzdGFtcC4KCjIwMTUtMDUtMDggMTY6NDk6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogcmV1c2Ugc2Vla2luZyBmdW5jdGlvbiB0byByZWR1Y2UgcmVwZWF0ZWQgY29kZQoJICBJbnN0ZWFkIG9mIHdyaXRpbmcgYSBzZWVrIHJvdXRpbmUsIGp1c3QgdXNlIHRoZSBtcGRwYXJzZXIgZnVuY3Rpb24uCgkgIEFsc28gcmVtb3ZlIGZ1bmN0aW9uIHRoYXQgaXMgbm90IG5lZWRlZCBhbnltb3JlCgoyMDE1LTA1LTA4IDE2OjMxOjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHJlZmFjdG9yIHNlZ21lbnQgaXRlcmF0aW9uIGZvciBiZXR0ZXIgcGVyZm9ybWFuY2UKCSAgU2VnbWVudHMgYXJlIG5vdyBzdG9yZWQgd2l0aCB0aGVpciByZXBlYXQgY291bnRzIGluc3RlYWQgb2Ygc3BhbmRpbmcKCSAgdGhlbSB0byBtdWx0aXBsZSBzZWdtZW50cy4gVGhpcyBjYXVzZWQgYWR2YW5jaW5nIHRvIHRoZSBuZXh0IHNlZ21lbnQKCSAgdXNpbmcgYSBzaW5nbGUgaW5kZXggdG8gaGF2ZSB0byBpdGVyYXRlIG92ZXIgdGhlIHdob2xlIGxpc3QgZXZlcnkgdGltZS4KCSAgVGhpcyBjb21taXQgYWRkcmVzc2VzIHRoaXMgYnkgc3RvcmluZyBib3RoIHRoZSBzZWdtZW50IGluZGV4IGFzIHdlbGwKCSAgYXMgdGhlIHJlcGVhdCBpbmRleCBhbmQgbWFrZXMgYWR2YW5jaW5nIHRvIG5leHQgc2VnbWVudCBqdXN0IGFuCgkgIGluY3JlbWVudCBvZiB0aGUgcmVwZWF0IG9yIHRoZSBzZWdtZW50IGluZGV4LgoKMjAxNS0wNS0wNyAxNjozMDo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGltcHJvdmUgbXBkIHBhcnNpbmcgZm9yIHJlcGVhdGVkIHNlZ21lbnQgZW50cmllcwoJICBVc2UgYSBzaW5nbGUgc2VnbWVudCB0byByZXByZXNlbnQgaXQgaW50ZXJuYWxseSB0byBhdm9pZCB1c2luZyB0b28KCSAgbXVjaCBtZW1vcnkuIFRoaXMgaGFzIHRoZSBkcmF3YmFjayBvZiBpc3N1aW5nIGEgbGluZWFyIHNlYXJjaCB0bwoJICBmaW5kIHRoZSBjb3JyZWN0IHNlZ21lbnQgdG8gcGxheSBidXQgdGhpcyBjYW4gYmUgZml4ZWQgYnkgdXNpbmcKCSAgYmluYXJ5IHNlYXJjaGVzIG9yIGNhY2hpbmcgdGhlIGN1cnJlbnQgcG9zaXRpb24gYW5kIGp1c3QgbG9va2luZwoJICBmb3IgdGhlIG5leHQgb25lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MzY5CgoyMDE1LTA1LTEyIDEyOjU1OjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGRyb3AgZGVidWcgbWVzc2FnZSB0aGF0IHdhcyB3cm9uZwoJICBFT1MgZG9lc24ndCBuZWNlc3NhcmlseSBtZWFuIHRoYXQgbm8gZnJhZ21lbnQgd2FzIGRvd25sb2FkZWQKCjIwMTUtMDUtMTIgMTI6NTU6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogcnVuIGdzdC1pbmRlbnQKCSAgVG8gYWxsb3cgY29tbWl0aW5nIG9uIHRoaXMgZmlsZSBjbGVhbmx5CgoyMDE1LTA1LTExIDExOjU2OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IHRoZSBwYXJlbnQgaXMgcHJvdmlkZWQgaW4gdGhlIGZ1bmN0aW9uCgkgIE5vIG5lZWQgdG8gZ2V0IGl0IGFnYWluCgoyMDE1LTA1LTEzIDE1OjU5OjQ4ICswMjAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5jOgoJICBkdGxzZW5jOiBGaXggbWVtb3J5IGxlYWsgcmVsZWFzaW5nIGNvbm5lY3Rpb25faWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTMxOAoKMjAxNS0wNS0xMyAxNTozMzo0OSArMDIwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuYzoKCSAgZHRsc2VuYzogRml4IG1lbW9yeSBsZWFrIHdoaWxlIHNldHRpbmcgY29ubmVjdGlvbi1pZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MzE4CgoyMDE1LTA1LTEzIDE3OjE1OjU3ICswMjAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5jOgoJICBkdGxzZGVjOiBGaXggbWVtb3J5IGxlYWssIHJlbGVhc2UgcHJldmlvdXMgcGVtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkzMjIKCjIwMTUtMDUtMTMgMTY6MDY6NTIgKzAyMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmM6CgkgIGR0bHNkZWM6IEZpeCBtZW1vcnkgbGVhayBvbiBkaXNwb3NlCgkgIFBhcmVudCBkaXNwb3NlIGZ1bmN0aW9uIHdhcyBub3QgY2FsbGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkzMjIKCjIwMTUtMDUtMTMgMTc6MTk6MjUgKzAyMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5jOgoJICBkdGxzY29ubmVjdGlvbjogRml4IG1lbW9yeSBsZWFrIHdoaWxlIHNldHRpbmcgY2xvc3VyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MzI1CgoyMDE1LTA1LTEzIDE2OjIzOjI2ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZml4IGZhYWQyIHZlcnNpb24gY2hlY2sKCSAgT24gZmVkb3JhIDIyLCB0aGUgb3V0cHV0IG9mIGNwcCBpbnNlcnRzIGV4dHJhIGRlYnVnIGNvbW1lbnRzLCB3aGljaAoJICBtYWtlcyBvdXIgcmVnZXhwIGZvciB0aGUgZmFhZDIgdmVyc2lvbiBjaGVjayBmYWlsLiBUaGlzIGluIHR1cm4gY2F1c2VzCgkgIGl0IHRvIGNvbXBpbGUgd2l0aCB0aGUgd3JvbmcgYXJndW1lbnRzIHBhc3NlZCB3aGljaCB0aGVuIGNhdXNlcyBzdGFjawoJICBjb3JydXB0aW9uIGFuZCBjcmFzaGVzLgoJICBGaXggdGhpcyBieSBvbmx5IGNoZWNraW5nIGZvciB0aGUgdmVyc2lvbiAod2hpY2ggc2hvdWxkIGJlIGJ5IGl0c2VsZiBvbgoJICBhIHNpbmdsZSBsaW5lKS4gVGhpcyBpcyBwb3RlbnRpYWxseSBsZXNzIHNhZmUsIGl0IG1pZ2h0IGJlIHBvc3NpYmxlIHRoYXQKCSAgYSBzaW1pbGFyIHN0cmluZyB3b3VsZCBhcHBlYXIgaW4gYSBsYXRlciB2ZXJzaW9uIGluIHRoZSBoZWFkZXIgZmlsZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODU3MQoKMjAxNS0wNS0xMyAyMzo1NToyOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IHByb3BhZ2F0ZSB0aGUgdmVyc2lvbi9leHRlbnNpb24gZmFpbHVyZSB1cHdhcmRzCgkgIE90aGVyd2lzZSB0aGUgY2FsbGluZyBjb2RlIGhhcyBubyBpZGVhIHRoYXQgdGhlIGNvbnRleHQgZmFpbGVkIHRvCgkgIGJlIGNyZWF0ZWQgZnVsbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkyODQKCjIwMTUtMDUtMTMgMjM6NTQ6NTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGJhc2VtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkgIGdsOiBkb24ndCBkZWFkbG9jayBvbiBjb250ZXh0IGNyZWF0aW9uIGZhaWx1cmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTI4NAoKMjAxNS0wNS0xMyAxNTo0MjoxNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyYmluLmM6CgkgIGdsbWl4ZXJiaW46IERvbid0IHVucmVmIHBhZCB0ZW1wbGF0ZXMKCSAgT3RoZXJ3aXNlIHdlIHVucmVmIHRoZSByZWZlcmVuY2UgdGhhdCBpcyBvd25lZCBieSB0aGUgZWxlbWVudCBjbGFzcy4KCjIwMTUtMDUtMTMgMTI6MzE6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHBlbmM6IGZpeCBmYWlsdXJlIHJldHVybiB2YWx1ZXMgZnJvbSBjcmVhdGVfc2Vzc2lvbigpCgkgIGNyZWF0ZV9zZXNzaW9uKCkgcmV0dXJucyBhbiBlcnJfc3RhdHVzX3Qgd2l0aAoJICBlcnJfc3RhdHVzX29rPTAgYW5kIGVycl9zdGF0dXNfZmFpbD0xLCBzbwoJICByZXR1cm5pbmcgVFJVRS9GQUxTRSBpcyBub3QgcXVpdGUgcmlnaHQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkzMDQKCjIwMTUtMDUtMTMgMTM6MTQ6MTQgKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiBmaXggb3ZlciB1bmxvY2tpbmcKCSAgQ2FsbGVkIHNob3VsZCBjYWxsIGZ1bmN0aW9uIHdpdGggbG9jaywgYW5kIGlzCgkgIGFsc28gcmVzcG9uc2libGUgZm9yIHVubG9ja2luZyBpdCBsYXRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTMwNAoKMjAxNS0wNS0xMiAxNTo0NzozMyArMDgwMCAgTHlvbiBXYW5nIDxseW9uLndhbmdAZnJlZXNjYWxlLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogZml4IGN1c3RvbSBwaWN0dXJlIGZvcm1hdCAoQ1BGTVQpIHBhcnNpbmcKCSAgSW4gdGhlIEgyNjMgc3BlYywgQ1BGTVQgaXMgcHJlc2VudCBvbmx5IGlmIHRoZSB1c2Ugb2YgYSBjdXN0b20KCSAgcGljdHVyZSBmb3JtYXQgaXMgc2lnbmFsbGVkIGluIFBMVVNFUFRZUEUgYW5kIFVGRVAgaXMgIjAwMSIsCgkgIHNvIHdlIG5lZWQgdG8gY2hlY2sgcGFyYW1zLT5mb3JtYXQgYW5kIG9ubHkgaWYgdGhlIHZhbHVlIGlzCgkgIDYgKGN1c3RvbSBzb3VyY2UgZm9ybWF0KSB0aGUgQ1BGTVQgc2hvdWxkIGJlIHJlYWQsIG90aGVyd2lzZQoJICBpdCdzIG5vdCBwcmVzZW50IGFuZCB3cm9uZyBkYXRhIHdpbGwgYmUgcGFyc2VkLgoJICBXaGVuIHJlYWRpbmcgdGhlIENQRk1ULCB0aGUgd2lkdGggYW5kIGhlaWdodCB3ZXJlIG5vdAoJICBjYWxjdWxhdGVkIGNvcnJlY3RseSAod3JvbmcgYml0bWFzaykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MjUzCgoyMDE1LTA1LTEzIDE3OjM4OjM1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogZml4IHJlY3RhbmdsZSBvYnNjdXJlIHRlc3QgdG8gY2xhbXAgYWdhaW5zdCB0aGUgb3V0cHV0IGZyYW1lIHNpemUKCSAgUmF0aGVyIHRoYW4gb25lIG9mIHRoZSBpbnB1dCBwYWQgdmlkZW8gaW5mbydzLgoJICBUaGUgdGVzdCBjaGVja2luZyB0aGlzIHdhcyBub3QgY29uc3RyYWluaW5nIHRoZSBvdXRwdXQgZnJhbWUgc2l6ZQoJICB0byBlbnN1cmUgdGhhdCB0aGUgb3V0IG9mIGZyYW1lIHN0cmVhbSB3YXMgbm90IGJlaW5nIGRpc3BsYXllZC4KCjIwMTUtMDUtMTMgMTc6MTE6NTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBpbXBsZW1lbnQgcGFyIGhhbmRsaW5nCgkgIFdlIHdlcmUgcHJldmlvdXNseSBpZ25vcmluZyBpdCBjb21wbGV0ZWx5CgoyMDE1LTA1LTEzIDE3OjEwOjQyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogZG9uJ3QgdXBsb2FkIHRoZSB2ZXJ0ZXggZGF0YSBldmVyeSBmcmFtZQoJICBBZGQgdGhlIG1pc3NpbmcgY2FjaGUgdHJhY2tpbmcgc3RhdGVtZW50LgoKMjAxNS0wNS0xMiAxNjozNjo1OCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2x1cGxvYWRlbGVtZW50LmM6CgkgIGdsdXBsb2FkZWxlbWVudDogUmVtb3ZlIHVuZWVkZWQgaGVhZGVyIGFuZCBkZWZpbmVzCgoyMDE1LTA1LTExIDE1OjAyOjAyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIGdsdGVzdHNyYzogVXNlIGRlZmF1bHQgZ2V0X2NhcHMgaW1wbGVtZW50YXRpb24KCSAgVGhlIGN1c3RvbSBjb2RlIGlzIHdyb25nIGFzIGl0IGlnbm9yZXMgdGhlIHRlbXBsYXRlcywgd2hpY2ggbGVhZHMgdG8KCSAgbWlzc2luZyBmaWVsZHMgaW4gdGhlIHJlc3VsdC4gSW5zdGVhZCwgc2ltcGx5IHVzZSB0aGUgZGVmYXVsdCBnZXRfY2FwcwoJICBpbXBsZW1lbnRhdGlvbiB3aGljaCBkb2VzIGl0IGNvcnJlY3RseSAoZ2V0IHRoZSB0ZW1wbGF0ZSwgaW50ZXJzZWN0CgkgIHdpdGggZmlsdGVyIGFuZCByZXR1cm4pLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MjM3CgoyMDE1LTA1LTExIDE1OjU0OjUyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogSW1wbGVtZW50IEdzdFZpZGVvQWdncmVnYXRvcjo6ZmluZF9iZXN0X2Zvcm1hdCgpCgkgIFdpdGhvdXQgdGhpcywgd2Ugd2lsbCBmaXhhdGUgd2VpcmQgcGl4ZWwtYXNwZWN0LXJhdGlvcyBsaWtlIDEvMjE0NzQ4MzY0Ny4gQnV0CgkgIGluIHRoZSBlbmQsIGFsbCB0aGUgbmVnb3RpYXRpb24gY29kZSBpbiB2aWRlb2FnZ3JlZ2F0b3IgbmVlZHMgYSBiaWcgY2xlYW51cAoJICBhbmQgdmlkZW9hZ2dyZWdhdG9yIG5lZWRzIHRvIGdldCByaWQgb2YgdGhlIHNvZnR3YXJlLW1peGVyIHNwZWNpZmljIHRoaW5ncwoJICBldmVyeXdoZXJlLgoKMjAxNS0wNS0xMSAyMjo1MzowOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbDogZGVtb3RlIHVwbG9hZC9jb252ZXJ0L2Rvd25sb2FkIGVsZW1lbnRzIHRvIG5vbmUKCSAgQ29weSBwYXN0ZSBlcnJvcgoKMjAxNS0wNS0xMSAyMjozNzo0NCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbDogZXhwb3NlIGludGVybmFsIGdsdmlkZW9taXhlcmVsZW1lbnRcCgkgIFdlIG1pZ2h0IHdhbnQgbW9yZSBjb250cm9sIG92ZXIgdGhlIGV4YWN0IHBpcGVsaW5lCgkgIEFsc28gcmVkdWNlcyBvdmVyaGVhZAoKMjAxNS0wNS0xMSAyMjozNToxOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbDogZXhwb3NlIGludGVybmFsIGdsaW1hZ2VzaW5rZWxlbWVudAoJICBXZSBtaWdodCB3YW50IG1vcmUgY29udHJvbCBvdmVyIHRoZSBleGFjdCBwaXBlbGluZS4KCSAgQWxzbyByZWR1Y2VzIG92ZXJoZWFkLgoKMjAxNS0wNS0wNyAyMToxODoyNyArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBmaXggdW5jb25kaXRpb25hbCBidWZmZXIgcXVldWUgdW5sb2NrCgkgIFVubGVzcyBzdG9wUmVxdWVzdCBpcyBzZXQsIHdlIHNob3VsZCB1bmxvY2sgY29uZGl0aW9uYWxseSAtLSBvdGhlcndpc2UsCgkgIHRoZSAnY3JlYXRlOicgbWV0aG9kIGNhbiB3YWtlIHVwIHRvIGFuIGVtcHR5IGJ1ZmZlciBxdWV1ZQoJICBhbmQgcHVsbCBhIG5pbCBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgwNTQKCjIwMTUtMDUtMTEgMTI6MTg6MjggKzAyMDAgIEhlaW5yaWNoIEZpbmsgPGhmaW5rQHRvb2xzb25haXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkgIGRlY2tsaW5rOiBSZW5hbWUgbW9kZSAyMDQ4cCB0byAxNTU2cAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MjE4CgoyMDE1LTA1LTExIDEyOjA0OjQ3ICswMjAwICBIZWlucmljaCBGaW5rIDxoZmlua0B0b29sc29uYWlyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIGRlY2tsaW5rOiBVc2UgY29ycmVjdCBmcmFtZSByYXRlIGZvciBtb2RlIDIxNjBwNTAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTIxOAoKMjAxNS0wNS0xMSAxMjowMjo0NyArMDIwMCAgSGVpbnJpY2ggRmluayA8aGZpbmtAdG9vbHNvbmFpci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSAgZGVja2xpbms6IFJlbmFtZSBtb2RlIDMxODRwIHRvIDIxNjBwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkyMTgKCjIwMTUtMDEtMjIgMTU6NDM6MjIgKzAxMDAgIFBpb3RyIERyxIVnIDxwaW90cmRyYWdAZ21haWwuY29tPgoKCSogcG8vUE9URklMRVMuaW46CgkqIHBvL1BPVEZJTEVTLnNraXA6CgkgIHBvOiB1cGRhdGUgUE9URklMRVMuc2tpcCBhbmQgUE9URklMRVMuaW4KCSAgVGhlIG9uZXMgaW4gLnNraXAgbmVlZCB0byBiZSBhZGRlZCBiYWNrIHRvIFBPVEZJTEVTLmluCgkgIGFmdGVyIHBvcnRpbmcgdG8gMS54LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMzUyCgoyMDE1LTA1LTA4IDE0OjIwOjQ0ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvZ3N0cmVtb3Zlc2lsZW5jZS5jOgoJICByZW1vdmVzaWxlbmNlOiByZW1vdmUgZ3N0X3JlbW92ZV9zaWxlbmNlX3Jlc2V0KCkKCSAgTm8gbmVlZCB0byBjYWxsIGdzdF9yZW1vdmVfc2lsZW5jZV9yZXNldCgpIGluIGdzdF9yZW1vdmVfc2lsZW5jZV9pbml0KCkgYmVjYXVzZQoJICB2YWRfbmV3KCkgYWxyZWFkeSBjYWxscyB0aGlzIGZ1bmN0aW9uLiBTaW5jZSB0aGVyZSBhcmUgbm8gbW9yZSB1c2VzIG9mCgkgIF9zaWxlbmNlX3Jlc2V0KCksIHdlIGNhbiByZW1vdmUgaXQgYWx0b2dldGhlci4KCjIwMTUtMDUtMDggMTQ6NTU6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogV2Ugc2hvdWxkbid0IG1hbnVhbGx5IGNoZWNrIHJlY29uZmlndXJlIGZsYWcgb24gcGFkcyBidXQgaW5zdGVhZCBpbXBsZW1lbnQgOjpuZWdvdGlhdGUoKQoJICBBZGQgRklYTUUgY29tbWVudCByZWxhdGVkIHRvIHRoYXQuCgoyMDE1LTA1LTA4IDEzOjU0OjA2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L214Zi9teGZkdi1kaWYuYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBVcGRhdGUgcmVmZXJlbmNlcyB0byBkZWNvZGViaW4KCSAgVXBkYXRlIG9sZCByZWZlcmVuY2VzIGZvciBkZWNvZGViaW4yIHRvIGRlY29kZWJpbi4KCjIwMTUtMDUtMDggMTM6NDk6MzggKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9nc3RyZW1vdmVzaWxlbmNlLmM6CgkgIHJlbW92ZXNpbGVuY2U6IHVwZGF0ZSBleGFtcGxlIGxhdW5jaCBsaW5lCgoyMDE1LTA1LTA3IDIxOjA0OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZWMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZWMuaDoKCSAgZHRsc3NydHBkZWM6IERvbid0IG1lcmdlIFJUUCBhbmQgUlRDUCBzdHJlYW1zIHRoYXQgd2VyZSBqdXN0IHNwbGl0IGJ5IHNydHBkZWMKCSAgVGhlIGZ1bm5lbCBoYXMgc29tZSBvdmVyaGVhZCwgYW5kIGxhdGVyIHJ0cGJpbiB3aWxsIGhhdmUgdG8gc3BsaXQgYm90aCBzdHJlYW1zCgkgIGFnYWluIGFueXdheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODcyMwoKMjAxNS0wNS0wNiAxNTo0NzoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBSZXZlcnQgIlJldmVydCAiZ2xpbWFnZXNpbms6IGFkZCBwaXhlbC1hc3BlY3QtcmF0aW8gcHJvcGVydHkgb24gdGhlIGJpbiIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDk2ZTQzYjAzNGEwM2ZlNTQ2MzM5MDdiYzFiZjJhMjZmZTVmOTVmYi4KCjIwMTUtMDUtMDYgMTU6NDc6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgUmV2ZXJ0ICJSZXZlcnQgImdsaW1hZ2VzaW5rOiBmb3J3YXJkIEFMTCB0aGUgcHJvcGVydGllcyBvbiB0aGUgYmluIiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA1OWZiMGY4MzBmMDhlM2U1OWY4N2Y4M2RmOGZhM2MyZDlmM2Q5NzQxLgoKMjAxNS0wNS0wNiAxNTo0NzowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBSZXZlcnQgIlJldmVydCAiZ2xpbWFnZXNpbms6IGltcGxlbWVudCBhcyBhIGJpbiIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYmU5MzhmOTJkOTRlOGFjY2NmNTkzMTI4MjgxZjZlMDkyMTM2MDBhMC4KCjIwMTUtMDUtMDYgMTU6NDY6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50LmM6CgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuaDoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBleHQvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBSZXZlcnQgImdsOiByZWFkZCBnbHVwbG9hZC9kb3dubG9hZCBvbnRvIGVsZW1lbnQgcGFkcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA4N2Q4MjcwZjMwMmIwM2Y2M2NlMDRmOTg2ZDgyNDg5MmEyYzEzMWZkLgoKMjAxNS0wNS0wNiAxNTo0MzozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIFJldmVydCAiUmV2ZXJ0ICJnbHZpZGVvbWl4ZXI6IGltcGxlbWVudCB3aXRoIGdsbWl4ZXJiaW4iIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGI0YmQxMWYyZjNhNjAyMjRkMTg4YjI3YWI1NWIyNzgwNzdjYjEyMTcuCgoyMDE1LTA1LTA2IDEyOjU5OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBBY3R1YWxseSBzZXQgdGhlIGNhcHMgb24gdGhlIHNyY3BhZCBpbnN0ZWFkIG9mIGp1c3QgY2FsbGluZyB0aGUgZGVmYXVsdCBldmVudCBoYW5kbGVyIGZvciB0aGUgc2lua3BhZAoJICBGaXhlcyB1cCBkYWZhMTFiOWQyMWQwNmEwMjczMDA3NjI4YTJhMGJiNGQ3ODU4NjU4CgoyMDE1LTA0LTI5IDE4OjIzOjMxICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IG9ubHkgdXBkYXRlIHN0cmVhbSBwb3NpdGlvbiBpZiBxdWVyeSBzdWNjZXNzCgkgIFdlIGRvbid0IG5lZWQgdG8gY2hlY2sgYWJvdXQgdGhlIHF1ZXJ5IGZhaWwgY2FzZS4KCSAgYmVjYXVzZSBpdCBpcyB1cGRhdGUgdG8gc2VnbWVudCBwb3NpdGlvbiBldmVuIHRob3VnaCBxdWVyeSBmYWlsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NTI5CgoyMDE1LTA1LTA1IDEyOjQ1OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBkZWNrbGluazogRGlzYWJsZSBkZWNrbGluayBwbHVnaW4gb24gQW5kcm9pZAoKMjAxNS0wNS0wNSAxNDo0NDoyNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSAgZ2xzeW5jbWV0YTogZml4dXAgc2l6ZSBkZWNsYXJhdGlvbgoKMjAxNS0wNS0wNCAyMzo0MjozNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBoYW5kbGUgdGhlIGxvY2FsX2NvbnRleHQgcXVlcnkKCSAgc28gdGhhdCB1cHN0cmVhbSBlbGVtZW50cyBjYW4gZ2V0IHRoZSBHTCBjb250ZXh0IGZyb20gZ2xpbWFnZXNpbmsKCjIwMTUtMDUtMDMgMTQ6NTY6MDUgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy1jb25zdGFudHMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBBZGQgc3Vwb3J0IGZvciBDT0xPUl9Gb3JtYXRZVjEyCgkgIFJlZmVyZW5jZTogaHR0cDovL2RldmVsb3Blci5hbmRyb2lkLmNvbS9yZWZlcmVuY2UvYW5kcm9pZC9ncmFwaGljcy9JbWFnZUZvcm1hdC5odG1sI1lWMTIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzEyNgoKMjAxNS0wNC0zMCAxMTo0NDowNiArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLWNvbnN0YW50cy5oOgoJICBhbmRyb2lkbWVkaWE6IERlY2xhcmUgUU9NWF9DT0xPUl9GT1JNQVRZVlU0MjBQYWNrZWRTZW1pUGxhbmFyMzJtTXVsdGlWaWV3IGNvbnN0YW50CgkgIFRoaXMgY29sb3IgZm9ybWF0IGlzIHRoZSBzYW1lIGFzIFFPTVhfQ09MT1JfRk9STUFUWVVWNDIwUGFja2VkU2VtaVBsYW5hcjMybQoJICBidXQgc3RvcmVzIHR3byBpbWFnZXMgb25lIGFmdGVyIHRoZSBvdGhlciBpbiBhIHRvcC1ib3R0b20gbGF5b3V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MTI2CgoyMDE1LTA1LTA0IDExOjIzOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c2RlcGF5LmM6CgkgIG9wdXNkZXBheTogU2V0IG11bHRpc3RyZWFtPUZBTFNFIG9uIHRoZSBPcHVzIGNhcHMKCSAgVGhlIFJUUCBPcHVzIG1hcHBpbmcgb25seSBhbGxvd3MgbW9uby9zdGVyZW8sIGFuZCBub3QgbXVsdGlzdHJlYW0gT3B1cwoJICBzdHJlYW1zLgoKMjAxNS0wNS0wNCAxMDozNTo1NSArMDIwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSAgb3B1c2hlYWRlcjogRG8gbm90IGluY2x1ZGUgcmF0ZSBpbiBjYXBzIGlmIGl0IGlzIDAKCSAgQXMgZXhwcmVzc2VkIGluIGdzdF9vcHVzX2hlYWRlcl9jcmVhdGVfY2FwcywgdmFsdWUgMCBtZWFucyB1bnNldC4KCSAgU2V0dGluZyByYXRlIHZhbHVlIHRvIDAgbWFrZSBuZWdvdGlhdGlvbiB3aXRoIGRlY29kZXIgZmFpbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODg3NQoKMjAxNS0wNS0wNCAwODowNjozNSArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogRml4IHNsaWNlLWhlaWdodCBmb3IgVGVncmEgMyBkZXZpY2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg4NjcKCjIwMTUtMDMtMTMgMTY6MDc6MTUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy1jb25zdGFudHMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBBZGQgc3VwcG9ydCBmb3IgQ09MT1JfRm9ybWF0WVVWNDIwRmxleGlibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzEyNgoKMjAxNS0wMy0yNSAxNzo0Mzo1OSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLWNvbnN0YW50cy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IEFkZCBzdXBvcnQgZm9yIEludGVsIGNvbG9yIGZvcm1hdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzEyNgoKMjAxNS0wNS0wMiAxODowNjoxOCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBGaXggcHJvZmlsZSBhbmQgbGV2ZWwgc2V0dGluZyBpbiBjYXBzCgkgIERvbid0IHVzZSB0aGUgYXBpcyBpbiBjb2RlYy11dGlscyB0byBleHRyYWN0IHRoZSBwcm9maWxlIGFuZCBsZXZlbAoJICBzeW50YXggZWxlbWVudHMgc2luY2UgaXQgaXMgd3JvbmcgaWYgdGhlcmUgYXJlIGVtdWxhdGlvbiBwcmV2ZW50aW9uCgkgIGJ5dGVzIGV4aXN0aW5nIGluIHRoZSBieXRlLXN0cmVhbSBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NjEzCgoyMDE1LTA1LTAzIDIzOjA4OjE1ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSAgZ2xjb2xvcmNvbnZlcnQ6IEltcHJvdmUgcGFzc3Rocm91Z2ggY2hlY2sgd2hlbiBubyBjb252ZXJzaW9uIGlzIG5lZWRlZC4KCSAgTWFrZSB0aGUgcGFzc3Rocm91Z2ggY2hlY2sgY29udGluZ2VudCBvbiBvbmx5IHRoZSBmaWVsZHMgd2UKCSAgY2FuIG1vZGlmeSBiZWluZyB1bmNoYW5nZWQsIGFuZCBwcmUtY29tcHV0ZSBpdCB3aGVuIGNhcHMKCSAgY2hhbmdlIGluc3RlYWQgb2YgY2hlY2tpbmcgb24gZWFjaCBidWZmZXIuIE1ha2VzIHRoZSBwYXNzdGhyb3VnaAoJICBtb3JlIGxlbmllbnQgaWYgY29uc3VtZXJzIGFyZSBsYXggYWJvdXQgbWFraW5nIGlucHV0IGFuZCBvdXRwdXQKCSAgY2FwcyBjb21wbGV0ZS4KCjIwMTUtMDUtMDEgMTk6Mzk6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogaGFuZGxlIHdoZW4gc291cmNlIGNyZWF0aW9uIGZhaWwKCSAgUmVtZW1iZXIgdG8gc2V0IHRoZSBzb3VyY2UgdG8gTlVMTCBzdGF0ZSBhcyBhZGRpbmcgaXQgdG8gdGhlIHBpcGVsaW5lCgkgIHdpbGwgc2V0IGl0IHRvIHRoZSBSRUFEWSBzdGF0ZS4KCjIwMTUtMDUtMDEgMTk6MzE6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogZml4IGVsZW1lbnQgbGlua2luZyBvcmRlcgoJICBWaWRlbyBzb3VyY2Ugc2hvdWxkIGJlIGxpbmtlZCB0byB2aWRlb2Nyb3AgYW5kIG5vdCB0bwoJICB2aWRlb2NvbnZlcnQgYXMgaXQgaXMgZG9uZSBpbiB0aGUgbWFpbiBsaW5raW5nIHBhdGgKCjIwMTUtMDMtMTMgMDY6MTA6NTIgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jb21wb3NpdG9yLmM6CgkgIHRlc3RzOiBBZGQgYSBjaGVjayBmb3IgdGhlIG5ldyBjb21wb3NpdG9yIHBhZC1pcy1vYnNjdXJlZCBvcHRpbWl6YXRpb24KCSAgV2UgdmVyaWZ5IHRoYXQgYWxsIHRoZSBidWZmZXJzIG9uIGFuIG9ic2N1cmVkIHNpbmtwYWQgYXJlIHNraXBwZWQgYnkgb3ZlcnJpZGluZwoJICB0aGUgbWFwKCkgZnVuY3Rpb24gaW4gdGhlIEdzdFZpZGVvTWV0YSBvZiB0aGUgYnVmZmVycyB0byBzZXQgYSB2YXJpYWJsZSB3aGVuCgkgIGNhbGxlZC4gV2UgYWxzbyB0ZXN0IHRoYXQgdGhlIGJ1ZmZlcnMgZG8gZ2V0IG1hcHBlZCB3aGVuIHRoZXkncmUgbm90IG9ic2N1cmVkLgoJICBCbGFtZV5XQ3JlZGl0IGZvciB0aGUgR3N0VmlkZW9NZXRhIG1hcCgpIGlkZWEgZ29lcyB0byBUaW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYxNDcKCjIwMTUtMDQtMTggMTU6MTA6MDAgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogT25seSBtYXAgdGhlIGZyYW1lIGZyb20gYSBidWZmZXIgaWYgaXQgd2lsbCBiZSB1c2VkCgkgIEl0J3MgYSB3YXN0ZSBvZiByZXNvdXJjZXMgdG8gbWFwIGl0IGlmIGl0IHdvbid0IGJlIGNvbnZlcnRlZAoJICBvciB1c2VkIGF0IGFsbC4gU2luY2Ugd2UgbW92ZWQgdGhlIGZyYW1lIG1hcHBpbmcgZG93biwgd2UgbmVlZAoJICB0byB1c2UgdGhlIEdTVF9WSURFT19JTkZPIGFjY2Vzc29yIG1hY3JvcyBub3cgaW4gdGhlIGNvZGUgYWJvdmUKCSAgdGhhdCBpbnN0ZWFkIG9mIHRoZSBHU1RfVklERU9fRlJBTUUgYWNjZXNzb3IgbWFjcm9zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MTQ3CgoyMDE1LTA0LTE4IDE1OjA5OjAyICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IHVzZSBhY2Nlc3NvciBtYWNyb3MgZm9yIGNvbnNpc3RlbmN5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYxNDcKCjIwMTUtMDQtMTggMTU6MDk6MDIgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogU2tpcCBwYWRzIHRoYXQgYXJlIGNvbXBsZXRlbHkgb2JzY3VyZWQgYnkgYSBoaWdoZXIgem9yZGVyIHBhZAoJICBGb3IgZWFjaCBmcmFtZSwgY29tcGFyZSB0aGUgZnJhbWUgYm91bmRhcmllcywgY2hlY2sgaWYgdGhlIGZvcm1hdCBjb250YWlucyBhbgoJICBhbHBoYSBjaGFubmVsLCBjaGVjayBvcGFjaXR5LCBhbmQgc2tpcCB0aGUgZnJhbWUgaWYgaXQncyBnb2luZyB0byBiZSBjb21wbGV0ZWx5CgkgIG92ZXJ3cml0dGVuIGJ5IGEgaGlnaGVyIHpvcmRlciBmcmFtZS4gVGhlIGNoZWNrIGlzIE8obl4yKSwgYnV0IHRoYXQgZG9lc24ndAoJICBtYXR0ZXIgaGVyZSBiZWNhdXNlIHRoZSBudW1iZXIgb2Ygc2lua3BhZHMgaXMgc21hbGwuCgkgIE1vcmUgY2FuIGJlIGRvbmUgdG8gYXZvaWQgbmVlZGxlc3MgZHJhd2luZywgYnV0IHRoaXMgY292ZXJzIHRoZSBtYWpvcml0eSBvZgoJICBjYXNlcy4gU2VlIFRPRE9zLiBJZGVhbGx5LCBhIHJldmVyc2UgcGFpbnRlcidzIGFsZ29yaXRobSBzaG91bGQgYmUgdXNlZCBmb3IKCSAgb3B0aW1hbCBkcmF3aW5nLCBidXQgbWVtY3B5IGR1cmluZyBjb21wb3NpdGluZyBpcyBzbWFsbCBjb21wYXJlZCB0byB0aGUgQ1BVIHVzZWQKCSAgZm9yIGZyYW1lIGNvbnZlcnNpb24gb24gZWFjaCBwYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYxNDcKCjIwMTUtMDQtMzAgMTk6MDg6MjUgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjVwYXJzZTogRml4IHNvdXJjZSBjYXBzIHRvIHJlcG9ydCBjcm9wcGVkIGRpbWVuc2lvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzYxMwoKMjAxNS0wNC0xMCAxNTozNDo0MCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NXBhcnNlOiBGaXggdGhlIG1lbW9yeSBmcmVlaW5nIG9mIHN0b3JlZCBWUFMgbmFscwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NjEzCgoyMDE1LTA0LTMwIDE4OjM2OjM1ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IEZpeCBwcm9maWxlLCB0aWVyIGFuZCBsZXZlbCBzZXR0aW5nIGluIGNhcHMKCSAgRG9uJ3QgdXNlIHRoZSBhcGlzIGluIGNvZGVjLXV0aWxzIHRvIGV4dHJhY3QgdGhlIHByb2ZpbGUsdGllciBhbmQgbGV2ZWwKCSAgc3ludGF4IGVsZW1lbnRzIHNpbmNlIGl0IGlzIHdyb25nIGlmIHRoZXJlIGFyZSBlbXVsYXRpb24gcHJldmVudGlvbgoJICBieXRlcyBleGlzdGluZyBpbiB0aGUgYnl0ZS1zdHJlYW0gZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzYxMwoKMjAxNS0wNC0xNyAxNToxNTozMyArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyOiBoMjY1OiBGaXggbmFsIHVuaXQgc2l6ZSBjaGVja2luZwoJICBUaGUgRU9TIGFuZCBFT0IgbmFscyBoYXZlIHRoZSBzaXplIDIgd2hpY2ggaXMgdGhlIHNpemUgb2YKCSAgbmFsIHVuaXQgaGVhZGVyIGl0c2VsZi4gVGhlIGdzdF9oMjY1X3BhcnNlcl9pZGVudGlmeV9uYWx1KCkKCSAgaXMgbm90IHJlcXVpcmVkIHRvIHNjYW4gc3RhcnQgY29kZSBhZ2FpbiBpbiB0aGlzIGNhc2UuCgkgIEluIG90aGVyIGNhc2VzLCBmb3IgYSB2YWxpZCBuYWx1bml0IHRoZSBtaW5pbXVtIHJlcXVpcmVkIHNpemUKCSAgaXMgMyBieXRlcyAoMiBieXRlIGhlYWRlciBhbmQgYXQgbGVhc3QgMSBieXRlIFJCU1AgcGF5bG9hZCkKCjIwMTUtMDQtMTcgMTU6MDM6MzQgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXI6IGgyNjU6IENhbGN1bGF0ZSBjcm9wIHJlY3RhbmdsZSBkaW1lbnNpb25zCgoyMDE1LTA0LTE3IDE1OjAxOjU3ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyOiBoMjY1OiBGaXggcGFyc2luZyBtdWx0aXBsZSBTRUkgbWVzc2FnZXMgaW4gYSBzaW5nbGUgU0VJIE5hbAoJICBBbiBTRUkgTmFsIGNhbiBoYXZlIG1vcmUgdGhhbiBvbmUgU0VJIG1lc3NhZ2UuCgkgIENoYW5nZSBpbiBBUEk6IHRoZSBnc3RfaDI2NV9wYXJzZXJfcGFyc2Vfc2VpKCkKCjIwMTUtMDQtMzAgMjE6MzI6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IE1ha2Ugc3VyZSB0byBzZW5kIGNhcHMgZXZlbnRzIGRvd25zdHJlYW0gYmVmb3JlIGFueSBzZWdtZW50IGV2ZW50cwoJICBVcHN0cmVhbSBtaWdodCBub3QgZ2l2ZSB1cyBhIGNhcHMgZXZlbnQgKGR0bHNzcnRwZGVjKSBiZWNhdXNlIGl0IG1pZ2h0IGJlIGFuCgkgIFJUUC9SVENQIG1peGVkIHN0cmVhbSwgYnV0IHdlIHNwbGl0IHRoZSB0d28gc3RyZWFtcyBhbnl3YXkgYW5kIHNob3VsZCByZXBvcnQKCSAgcHJvcGVyIGNhcHMgZG93bnN0cmVhbSBpZiBwb3NzaWJsZS4KCSAgRml4ZXMgInN0aWNreSBldmVudCBtaXNvcmRlcmluZyIgd2FybmluZ3Mgd2l0aCBkdGxzc3J0cGRlYy4KCjIwMTUtMDQtMzAgMTA6NTA6MTkgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOgoJICBydGpwZWc6IHJlbW92ZSB1bnVzZWQgcXVhbGl0eSBwcm9wZXJ0eQoKMjAxNS0wNC0zMCAxMToxNTo0MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5jOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50Lmg6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgZ2w6IHJlYWRkIGdsdXBsb2FkL2Rvd25sb2FkIG9udG8gZWxlbWVudCBwYWRzCgkgIEFsbG93cyBpbnNlcnRpb24gb2YgZ2wgZWxlbWVudHMgaW50byBub24tZ2wgcGlwZWxpbmVzIHdpdGhvdXQgY29udmVydGVyCgkgICh1cGxvYWQvZG93bmxvYWQpIGVsZW1lbnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzOTc0CgoyMDE1LTA0LTI5IDIyOjU1OjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBSZXZlcnQgImdsdmlkZW9taXhlcjogaW1wbGVtZW50IHdpdGggZ2xtaXhlcmJpbiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAwZmI1NjczOGExNDM5MWYyNDhhYTBiZTg3NTZhZGVhZjk3OGJhYTBjLgoKMjAxNS0wNC0yOSAyMjozODowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIFJldmVydCAiZ2xpbWFnZXNpbms6IGltcGxlbWVudCBhcyBhIGJpbiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA4YTAwMTdlMjFkNWY5YTg1MDdmMDU5M2M2YjI0ZjcyM2FhNDE1MjU4LgoKMjAxNS0wNC0yOSAyMjozMjozMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFJldmVydCAiZ2xpbWFnZXNpbms6IGZvcndhcmQgQUxMIHRoZSBwcm9wZXJ0aWVzIG9uIHRoZSBiaW4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNGJlNDVlNWYzMGRjNjEyMWYyNzY5MzIzNjAzNDQ3ZjU5MWNhNGEwYS4KCjIwMTUtMDQtMjkgMjI6MzI6MjAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBSZXZlcnQgImdsaW1hZ2VzaW5rOiBhZGQgcGl4ZWwtYXNwZWN0LXJhdGlvIHByb3BlcnR5IG9uIHRoZSBiaW4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMmJhNmJiOWI5MzI1YjYzZjU4YTlmZjBiMmM4MmZhMjg3NTlkY2FiYy4KCjIwMTUtMDQtMjkgMDk6NTc6NTIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5oOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJICBrc3ZpZGVvc3JjOiBkb24ndCB0aW1lc3RhbXAgYnVmZmVycyBmb3IgbXV4ZWQgc3RyZWFtcwoKMjAxNS0wNC0yOSAyMTozNzo1NiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkgIGtzdmlkZW9zcmM6IGZpeCBoZWFkZXIgc2l6ZSBmb3IgbXV4ZWQgc3RyZWFtcwoKMjAxNS0wNC0yOSAxOTozOToxNCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyOiBoMjY1OiBGaXggdGhlIG51bWJlciBvZiB0aWxlIHJvd3MvY29sdW1ucyBwYXJzaW5nCgkgIFRoZSBwb3NzaWJsZSBtaW5pbXVtIHZhbHVlIGZvciBudW1fdGlsZV9jb2x1bW5zX21pbnVzMSBhbmQgbnVtX3RpbGVfcm93c19taW51czEKCSAgaXMgemVybyAoNy40LjMuMykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg2NDEKCjIwMTUtMDQtMjkgMTc6MjA6NTggKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJICBtaXhtYXRyaXg6IHJlbW92ZSB1bnVzZWQgcHJvcGVydHkgZW51bSBpdGVtcwoJICBUaGVzZSB0d28gcHJvcGVydGllcyBoYXZlIGJlZW4gdGhlcmUgc2luY2UgdGhlIG9yaWdpbiBvZiB0aGUgZWxlbWVudCBidXQgdGhleQoJICBhcmVuJ3QgdXNlZC4gUmVtb3ZpbmcgdGhlbS4KCjIwMTUtMDQtMjkgMTU6NDE6MDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IEZpeCBjb21wYXJpc2lvbiBsb2dpYwoJICBXZSBjYW4ndCBhbnN3ZXIgdGhlIFNFRUtJTkcgcXVlcnkgaWYgd2UgZG8gKm5vdCogaGF2ZSB0aGUgbWFuaWZlc3QKCjIwMTUtMDQtMjkgMTA6NTY6MjQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYWlmZi9NYWtlZmlsZS5hbToKCSAgYWlmZjogUmUtYWRkIG5vaW5zdF9IRUFERVJTIGluc3RydWN0aW9uCgkgIFdhcyByZW1vdmVkIGluIHRoZSBwcmV2aW91cyBhbmRyb2lkIGNsZWFudXAgY29tbWl0CgoyMDE1LTA0LTI4IDIxOjQzOjU2ICswMDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHN5cy93aW5rcy9NYWtlZmlsZS5hbToKCSogc3lzL3dpbmtzL2dzdGtzY2xvY2suYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbmtzL2tzZGV2aWNlcHJvdmlkZXIuYzoKCSogc3lzL3dpbmtzL2tzZGV2aWNlcHJvdmlkZXIuaDoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5jOgoJKiBzeXMvd2lua3Mva3NoZWxwZXJzLmg6CgkgIEdzdERldmljZVByb3ZpZGVyIGltcGxlbWVudGF0aW9uIGZvciBXSU4gS2VybmVsIFN0cmVhbWluZyBwbHVnaW4KCSAgZ3N0X2tzX2RldmljZV9wcm92aWRlcl9wcm9iZSgpIGlzIGEgbm8tYnJhaWVyLCBqdXN0IHJ1bnMga3NfZW51bWVyYXRlX2RldmljZXMoKQoJICBhbmQgcmVwb3J0cyB0aGUgcmVzdWx0cy4KCSAgTW9uaXRvcmluZyBpcyBhIGJpdCBtb3JlIHRyaWNreS4gV2UgaGF2ZSB0byBjcmVhdGUgYSBkdW1teSBtZXNzYWdlLXByb2Nlc3NpbmcKCSAgd2luZG93IGFuZCByZWdpc3RlciBkZXZpY2UgY2hhbmdlIG5vdGlmaWNhdGlvbnMgZm9yIGl0LgoJICBBcyBrZXJuZWwgc3RyZWFtaW5nIGNhbiAoYW5kIHNob3VsZCkgYmUgdXNlZCBmb3IgYXVkaW8gY2FwdHVyZSBhbmQgYXVkaW8KCSAgcGxheWJhY2ssIHRoaXMgY2hhbmdlIGFsc28gaGFzIGNlcnRhaW4gcGxhY2Vob2xkZXJzIGZvciBzdWNoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NzU3CgoyMDE1LTA0LTI5IDAyOjMwOjA1ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgZ2xpbWFnZXNpbms6IENhY2hlIGNhcHMgZm9yIHBhc3NpbmcgdG8gdGhlIGNsaWVudCBkcmF3IGNhbGwKCSAgRG9uJ3QgY29udmVydCB0aGUgR3N0VmlkZW9JbmZvIHRvIGNhcHMgb24gZXZlcnkgZHJhdyBjYWxsLAoJICBqdXN0IGNhY2hlIHRoZSBjYXBzIGFuZCBwYXNzIHRoZW0gaW50byB0aGUgR3N0U2FtcGxlLgoKMjAxNS0wNC0yOSAwMjoyMDowOSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IE1ha2UgdXBsb2FkIG1ldGhvZCBzdGF0aWMgY2FwcyBub24tY29uc3QuCgkgIFJldHJpZXZpbmcgYSBHc3RTdGF0aWNDYXBzIGRvZXMgYSBvbmUgdGltZSBpbnRlcm5hbAoJICBpbml0aWFsaXNhdGlvbiBhbmQgY2FjaGVzIGl0IC0gdGhleSBjYW4ndCBiZSBzdG9yZWQgYXMKCSAgY29uc3Qgc3RydWN0dXJlcy4KCjIwMTUtMDQtMjggMTc6MjQ6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1czogZml4IGluY2x1ZGVzIGFuZCBjb21waWxhdGlvbiBhZ2FpbnN0IG9wdXMgaW4gbm9uLXN0YW5kYXJkIHByZWZpeAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NTk0CgoyMDE1LTA0LTI4IDE2OjU4OjIxICswMjAwICBNZXJzYWQgSmVsYWNpYyA8bWVyc2FkQGF4aXMuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXM6IGRvbid0IHVzZSBkZXByZWNhdGVkIGdzdF9idWZmZXJfbmV3X2FuZF9hbGxvYwoJICBVc2UgdGhlIGhlbHBlciBmdW5jdGlvbiBhdmFpbGFibGUgaW4gdGhlIGJhc2UgY2xhc3MgaW5zdGVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODU4NQoKMjAxNS0wNC0yOCAxNjowNjo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9saWJkZTI2NS9saWJkZTI2NS1kZWMuYzoKCSAgZGUyNjVkZWM6IHVzZSBnX2dldF9udW1fcHJvY2Vzc29ycygpIGlmIGF2YWlsYWJsZQoJICBBbmQgcHJvdmlkZSBob21lLW1hZGUgZmFsbGJhY2sgZm9yIG9sZGVyIEdMaWIgdmVyc2lvbnMsCgkgIHNvIHRoYXQgd2UgY2FuIGxhdGVyIGZpbmQgdGhlc2UgYW5kIHJlbW92ZSB0aGVtIHdoZW4KCSAgd2UgYnVtcCB0aGUgR0xpYiByZXF1aXJlbWVudCAod2hpY2ggaXMgY2VydGFpbmx5IGdvaW5nCgkgIHRvIGhhcHBlbiBiZWZvcmUgMi4wKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODQ5NQoKMjAxNS0wNC0yOCAxNjowMjoyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnRlc3QuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgZ3N0OiByZW1vdmUgc29tZSB1bm5lY2Vzc2FyeSBnbGliIHZlcnNpb24gY2hlY2tzCgkgIFdlIHJlcXVpcmUgMi4zMiwgbm8gbmVlZCB0byBjaGVjayBmb3IgYW55dGhpbmcgb2xkZXIKCSAgdGhhbiB0aGF0LgoKMjAxNS0wNC0yOCAxMToyODozOSArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZjogZml4IGRlc2NyaXB0b3IgbGVhawoJICBGcmVlIHRoZSBleGlzdGluZyBkZXNjcmlwdG9yIGFycmF5LCBpZiBhbnksIGJlZm9yZSByZXBsYWNpbmcgaXQuCgkgIEZpeCBsZWFrcyB3aXRoIHRoZQoJICB2YWxpZGF0ZS5maWxlLnBsYXliYWNrLnNjcnViX2ZvcndhcmRfc2Vla2luZy50ZXN0LW1wZWcyLW1wM19teGYgc2NlbmFyaW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg1ODAKCjIwMTUtMDQtMjggMTA6MTM6MzUgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZml4IHRhZ2xpc3QgbGVhawoJICBJZiB0aGUgc3RyZWFtIHdoaWNoIGlzIGFib3V0IHRvIGJlIHJlbW92ZWQgc3RpbGwgaGFzIGEgcmVmIG9uIGEgdGFnIGxpc3Qgd2UKCSAgc2hvdWxkIGRyb3AgaXQuCgkgIEZpeCBhIGxlYWsgd2hpY2ggd2FzIG9jY2FzaW9uYWxseSBoYXBwZW5pbmcgd2l0aCB0aGUKCSAgdmFsaWRhdGUuZmlsZS5wbGF5YmFjay5jaGFuZ2Vfc3RhdGVfaW50ZW5zaXZlLnRyb25fZW5fZ2VfYWFjX2gyNjRfdHMgc2NlbmFyaW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg1NzYKCjIwMTUtMDQtMjcgMjI6NDQ6MjggKzA5MDAgIEppbW15IE9obiA8eW9uZ2ppbi5vaG5AbGdlLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IGZpeCBmaW5kX3N1YnRhYmxlKCkgcmV0dXJuIHZhbHVlCgkgIGZpbmRfc3VidGFibGUoKSByZXR1cm5zIGEgcG9pbnRlciwgc28gcmV0dXJuIE5VTEwgYW5kCgkgIG5vdCBGQUxTRSB3aGVuIG5vdGhpbmcgaXMgZm91bmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg1MjcKCjIwMTUtMDQtMjggMTQ6NTI6MzYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiB3aW4zMi9jb21tb24vbGliZ3N0Y29kZWNwYXJzZXJzLmRlZjoKCSAgd2luMzI6IHVwZGF0ZSBkZWZzCgoyMDE1LTA0LTI4IDIwOjQ2OjUyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IHJlbW92ZSB1bmVlZGVkIHVucmVmCgkgIFRoZSBjYWxsIHRvIF9nbF9tZW1fYWxsb2NfZGF0YSB3aWxsIHVucmVmIGFuZCBOVUxMaWZ5ICdkZXN0JyBmb3IgdXMuCgkgIFdlIGp1c3QgbmVlZCB0byByZXR1cm4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQyNDYKCjIwMTUtMDQtMjggMDk6Mzc6NTkgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IFVzZSBnc3RfcGFkX2dldF9wYWRfdGVtcGxhdGVfY2FwcyBpbiA6OmdldF9jYXBzKCkKCjIwMTUtMDQtMjggMjA6MTE6MDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJpbi5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlcmJpbi5jOgoJKiBleHQvZ2wvZ3N0Z2xzaW5rYmluLmM6CgkqIGV4dC9nbC9nc3RnbHVwbG9hZGVsZW1lbnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgZ2x1cGxvYWQ6IHByb3ZpZGUgdGhlIHNpbmsgdGVtcGxhdGUgY2FwcyB0aGF0IGNvdWxkIGJlIHVzZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjM5OQoKMjAxNS0wNC0yNyAxOToyODo1NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIudWk6CgkgIGV4YW1wbGVzOiBnc3QtY2FtZXJhOiBhZGQgem9vbSBwcm9wZXJ0eSB0byBVSQoJICBBZGQgYSBzbGlkZXIgdG8gbW9kaWZ5IHRoZSB6b29tIGluIGNhbWVyYWJpbgoKMjAxNS0wNC0yNyAxODozMzozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi51aToKCSAgZXhhbXBsZXM6IGdzdC1jYW1lcmE6IHJlbW92ZSB3aWRnZXRzIGRlcHJlY2F0ZWQgaW4gR1RLMy4wCgkgIFZCb3ggYW5kIEhCb3ggYXJlIG5vdyBzaW1wbHkgQm94CgoyMDE1LTA0LTI3IDE1OjQxOjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIudWk6CgkgIGV4YW1wbGVzOiBnc3QtY2FtZXJhOiB1cGRhdGUgdG8gR1RLMwoJICBXaGVuIG9wZW5pbmcgdGhlIC51aSBmaWxlIGl0IGNvbXBsYWlucyBhYm91dCBiZWluZyBmb3IgR1RLIDIgYW5kCgkgIGF1dG9tYXRpY2FsbHkgdXBkYXRlcyBpdCB0byBHVEszLiBDb21taXQgdGhpcyB2ZXJzaW9uIGFuZCB1cGRhdGUKCSAgdGhlIG1ha2VmaWxlCgoyMDE1LTA0LTI3IDEzOjQxOjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IHJlbW92ZSB1bnVzZWQgY29kZQoJICBUaGUgc3RydWN0dXJlIGlzIGNyZWF0ZWQgYW5kIG5ldmVyIHVzZWQgYW55bW9yZS4gUmVtb3ZlIGl0LgoKMjAxNS0wNC0yNyAxMzoyNDo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IHVzZSBkaWdpdGFsem9vbSBlbGVtZW50CgkgIFJlcGxhY2UgdmlkZW9jcm9wICEgdmlkZW9zY2FsZSAhIGNhcHNmaWx0ZXIgd2l0aCB0aGUgZGlnaXRhbHpvb20KCSAgYmluIHRoYXQgaGFzIHRoZSBzYW1lIHBpcGVsaW5lIGludGVybmFsbHkgYW5kIGFscmVhZHkgdXBkYXRlcwoJICB0aGUgY2Fwc2ZpbHRlciBhdXRvbWF0aWNhbGx5IHdoZW4gY2FwcyBjaGFuZ2UsIHJlbW92aW5nIHRoaXMgY29kZQoJICBmcm9tIHdyYXBwZXJjYW1lcmFiaW5zcmMgYW5kIG1ha2luZyBpdCBjbGVhbmVyLgoKMjAxNS0wNC0yNyAyMToxNDowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0ZGlnaXRhbHpvb20uYzoKCSAgZGlnaXRhbHpvb206IGNoYW5nZSB2aWRlb2Nyb3AgcGFyYW1ldGVycyBiZWZvcmUgcGFzc2luZyBjYXBzIGV2ZW50CgkgIEF2b2lkcyBvbmUgZXh0cmEgdW5lZWRlZCByZW5lZ290aWF0aW9uIGlmIHRoZSBlbGVtZW50cyBhcmUgYWxyZWFkeQoJICBjb25maWd1cmVkIHRvIHRoZWlyIGZpbmFsIHByb3BlcnR5IHZhbHVlcyB3aGVuIHRoZSBjYXBzIGV2ZW50CgkgIGdvZXMgdGhyb3VnaC4KCSAgQWxzbyBhdm9pZHMgaGl0dGluZyBidWcgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODM0NAoKMjAxNS0wNC0yMiAxMzowNjozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0ZGlnaXRhbHpvb20uYzoKCSAgZGlnaXRhbHpvb206IGFsc28gc2tpcCBpbnRlcm5hbCBwaXBlbGluZSBpbiB1cHN0cmVhbSBjYXBzIHF1ZXJ5CgkgIFRvIGF2b2lkIGdvaW5nIHRocm91Z2ggb3VyIGNhcHNmaWx0ZXIgd2hpY2ggd291bGQgbGltaXQgdGhlIGNob2ljZXMuCgoyMDE1LTA0LTIyIDEzOjA1OjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RkaWdpdGFsem9vbS5jOgoJICBkaWdpdGFsem9vbTogcHJldmVudCBhc3NlcnRpb24gd2hlbiBjYXBzIGlzIGFueQoKMjAxNS0wNC0yMSAyMzoxMDowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGRpZ2l0YWx6b29tLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGRpZ2l0YWx6b29tLmg6CgkgIGNhbWVyYWJpbjogZGlnaXRhbHpvb206IGNyZWF0ZSBhIGJpbiBlbGVtZW50IGZvciBkaWdpdGFsIHpvb21pbmcKCSAgSXQgY29udGFpbnMgdmlkZW9jcm9wICEgdmlkZW9zY2FsZSAhIGNhcHNmaWx0ZXIgYW5kIGltcGxlbWVudHMgZGlnaXRhbAoJICB6b29taW5nLgoJICBBdCB0aGlzIG1vbWVudCwgaXQgaXMgYSBwcml2YXRlIGVsZW1lbnQgb2YgdGhlIGNhbWVyYWJpbiBwbHVnaW4uCgkgIFRoaXMgd2lsbCByZW1vdmUgc29tZSBjb2RlIHVzZWQgaW4gd3JhcHBlcmNhbWVyYWJpbnNyYyB0byBtYWtlCgkgIGNvZGUgY2xlYXJlciBhbmQgZGlnaXRhbHpvb20gY2FuIHBvdGVudGlhbGx5IGJlIHVzZWQgYnkgb3RoZXIKCSAgYXBwbGljYXRpb25zIGluIHRoZSBmdXR1cmUsIGl0IGhhcyBub3RoaW5nIGNhbWVyYWJpbiBzcGVjaWZpYy4KCjIwMTUtMDQtMjcgMTA6MTE6NDEgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJICBlZ2w6IFVzZSBtYXhpbXVtIGJpdHMgcGVyIGNvbG9yIGluc3RlYWQgb2YgbWluaW11bQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NDI1CgoyMDE1LTA0LTI2IDIwOjU1OjAzICswMDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9saWJkZTI2NS9saWJkZTI2NS1kZWMuYzoKCSAgbGliZGUyNjU6IFczMiB0aHJlYWQgY291bnQgc3VwcG9ydAoJICBUaGlzIGNvZGUgaXMgaW1wb3J0ZWQgZnJvbSBHTGliIGdfZ2V0X251bV9wcm9jZXNzb3JzKCkuIFRoaXMgZnVuY3Rpb24KCSAgd2FzIGFkZGVkIGluIDIuMzYgYnV0IHdlIGRlcGVuZCBvbiAyLjMyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NDk1CgoyMDE1LTA0LTI2IDIxOjAwOjA2ICswMDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9saWJkZTI2NS9saWJkZTI2NS1kZWMuYzoKCSAgbGliZGUyNjU6IEZpeCBmb3JtYXQgc3RyaW5nIGZvciBnc2l6ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NDk2CgoyMDE1LTA0LTI2IDIxOjAzOjQ1ICswMDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5wbGMuYzoKCSAgc3BhbmRzcDogRG9uJ3QgdXNlIHRoZSBwcml2YXRlIGZpZWxkICdtaXNzaW5nX3NhbXBsZXMnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg0OTcKCjIwMTUtMDQtMjcgMTQ6NTY6MDYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IHJlbW92ZSB1bnVzZWQgcHJvcGVydHkgZW51bSBpdGVtCgkgIFRoZSBwcm9wZXJ0eSBlbnVtIGl0ZW0gaGFzIGJlZW4gdGhlcmUgc2luY2UgdGhlIG9yaWdpbiBvZiB0aGUgZWxlbWVudCBidXQgaXQKCSAgaGFzIG5ldmVyIGJlZW4gdXNlZC4gUmVtb3ZpbmcgaXQuCgoyMDE1LTA0LTI3IDE0OjQ5OjU5ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJICBnbGZpbHRlcmN1YmU6IERvbid0IGluaXRpYWxpemUgbXVsdGlwbGUgc2hhZGVycyBvbiByZW5lZ290aWF0aW9uCgoyMDE1LTA0LTI3IDEwOjU1OjEzICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXZlL2dzdG12ZW11eC5jOgoJKiBnc3Qvb252aWYvZ3N0cnRwb252aWZ0aW1lc3RhbXAuYzoKCSogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzoKCSogZ3N0L3N1YmVuYy9nc3R3ZWJ2dHRlbmMuYzoKCSogZ3N0L3R0YS9nc3R0dGFkZWMuYzoKCSogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJICBSZW5hbWUgcHJvcGVydHkgZW51bXMgZnJvbSBBUkdfIHRvIFBST1BfCgkgIFByb3BlcnR5IGVudW0gaXRlbXMgc2hvdWxkIGJlIG5hbWVkIFBST1BfIGZvciBjb25zaXN0ZW5jeSBhbmQgcmVhZGFiaWxpdHkuCgoyMDE1LTA0LTI3IDEwOjI0OjAwICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBSZW1vdmUgdW51c2VkIHN0b3AgZnVuY3Rpb24KCjIwMTUtMDQtMjcgMTY6MDQ6NTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogdW5yZWYgdGhlIHBvb2wgaW4gdGhlIGNvcnJlY3QgcGxhY2UKCSAgT3RoZXJ3aXNlIHdlIGNvdWxkIGhvbGQgYSBwb29sIHRvIGEgY29udGV4dCB0aGF0IGlzIG5ldmVyIGdvaW5nIHRvIGJlIHVzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg0MDUKCjIwMTUtMDQtMjcgMTA6MDE6NTMgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJICBnbHRyYW5zZm9ybWF0aW9uOiBVbnJlZiBzaGFkZXIgaW4gOjpzdG9wKCkKCjIwMTUtMDQtMjcgMTU6MjA6NTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGJhc2VtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkgIGdsOiB1bnJlZiBkaXNwbGF5L290aGVyLWNvbnRleHQgaW4gdGhlIGNvcnJlY3QgcGxhY2UKCSAgT3RoZXJ3aXNlIHN0YXRlIGNoYW5nZXMgZnJvbSBQTEFZSU5HLT5SRUFEWS0+UEFVU0VEIHdpbGwgY2F1c2UgdGhlcmUgdG8KCSAgdG8gYmUgbm8gZGlzcGxheSBjb25maWd1cmVkIG9uIHRoZSBlbGVtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NDA1CgoyMDE1LTA0LTEwIDE0OjA4OjQzICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NTogYWRkIGhlbHBlcnMgdG8gY29udmVydCBxdWFudGl6YXRpb24gbWF0cmljZXMKCSAgQWRkIHV0aWxpdHkgZnVuY3Rpb25zIHRvIGNvbnZlcnQgcXVhbnRpemF0aW9uIG1hdHJpY2VzIGZyb20gemlnLXphZyBzY2FuCgkgIG9yZGVyIGludG8gcmFzdGVyIHNjYW4gb3JkZXIgYW5kIHZpY2UtdmVyc2EKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzYxMwoKMjAxNS0wNC0xMCAxNDowNzo1NiArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyOiBoMjY1OiBza2lwIGJ5dGUgYWxpZ25tZW50IGJpdHMgd2hpbGUgcGFyc2luZyBzbGljZSBoZWFkZXIKCSAgU2tpcCB0aGUgYnl0ZSBhbGlnbm1lbnQgYml0cyBhcyBwZXIgdGhlIGxvZ2ljIG9mIGJ5dGVfYWxpZ25tZW50KCkKCSAgcHJvdmlkZWQgaW4gaGV2YyBzcGVjaWZpY2F0aW9uLiBUaGlzIHdpbGwgZml4IHRoZSBjYWxjdWxhdGlvbiBvZgoJICBzbGljZSBoZWFkZXIgc2l6ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzYxMwoKMjAxNS0wNC0xMCAxNDowNzozNSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyOiBoMjY1OiBGaXggdGhlIE51bURlbHRhUG9jcyBjYWxjdWxhdGlvbgoJICBBbHdheXMgdXNlIHRoZSBlcXVhdGlvbiBwcm92aWRlZCBpbiBzcGVjICg3LTU3KSBmb3IgZmluZGluZwoJICB0aGUgTnVtRGVsdGFQb2NzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc2MTMKCjIwMTUtMDQtMTAgMTQ6MDQ6MTcgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcjogaDI2NTogRml4IHRoZSBOdW1Qb2NUb3RhbEN1cnIgY2FsY3VsYXRpb24KCSAgVGhlIE51bVBvY1RvYWxDdXJyIHNob3VsZCBiZSBjYWxjdWxhdGVkIGZvciBhbGwgQiBhbmQgUCBzbGljZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc2MTMKCjIwMTUtMDQtMTAgMTM6NTk6NTAgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcjogaDI2NTogRml4IG5hbCBzaXplIGNhbGN1bGF0aW9uIGZvciBFT1MgYW5kIEVPQgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NjEzCgoyMDE1LTA0LTI2IDIxOjQyOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZXh0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgZ2xmaWx0ZXI6IERlLWNhbWVsY2FzZSBvbkluaXRGQk8oKSB2ZnVuYwoKMjAxNS0wNC0yNiAyMTozOTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZXh0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZXh0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIGdsZmlsdGVyOiBSZW1vdmUgb25TdGFydC9vblN0b3AgdmZ1bmNzLCBhbmQgdW51c2VkIG9uUmVzZXQoKQoJICBvblN0YXJ0L29uU3RvcCBhcmUganVzdCBkdXBsaWNhdGVzIG9mIHRoZSBiYXNldHJhbnNmb3JtIG9uZXMsIG9uUmVzZXQKCSAgd2FzIG5ldmVyIGNhbGxlZCBidXQgd2FzIHVzZWQgZXZlcnl3aGVyZSB3aGVuIHN0b3Agc2hvdWxkJ3ZlIGJlZW4gdXNlZC4KCjIwMTUtMDQtMjEgMDk6NDM6NTggKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6LnNhcm5lY2tpQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkgIGdsdHJhbnNmb3JtYXRpb246IGRvbid0IGluaXRpYWxpemUgbXVsdGlwbGUgc2hhZGVycyBvbiByZW5lZ290aWF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg0MDcKCSAgKiBkZWxldGUgc2hhZGVyIGlmIG9uZSBleGlzdHMKCSAgKiBzZXQgaXQgdG8gTlVMTCBhZnRlciB1bnJlZmluZwoKMjAxNS0wNC0yNiAyMToxMToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IEZpeCBjb21waWxlciB3YXJuaW5nCgkgIGdzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5jOjIzMDoxOTogZXJyb3I6IHVudXNlZCB2YXJpYWJsZSAnaW5fc3RydWN0dXJlJwoJICBbLVdlcnJvciwtV3VudXNlZC12YXJpYWJsZV0KCSAgR3N0U3RydWN0dXJlICppbl9zdHJ1Y3R1cmUgPSBnc3RfY2Fwc19nZXRfc3RydWN0dXJlIChjYXBzLCAwKTsKCSAgXgoKMjAxNS0wNC0xNSAwMToyNDo0NSArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBkcm9wIGZyYW1lcyB3ZSBnZXQgYmVmb3JlIHdlIGhhdmUgYSBjbG9jawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MDU0CgoyMDE1LTA0LTI2IDIwOjMzOjQxICswMjAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkgIGdsYmFzZWZpbHRlcjogVW5yZWYgb3RoZXIgY29udGV4dCBpbiBmaW5hbGl6ZSwgYW5kIGRpc3BsYXkgaW4gUkVBRFktPk5VTEwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODQwNQoKMjAxNS0wNC0xOSAxOToxNjo1NSArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IEtlZXAgY29sb3JpbWV0cnkgYW5kIGNocm9tYS1zaXRlIGZpZWxkcyBpZiBwYXNzdGhyb3VnaAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MTQxCgoyMDE1LTA0LTI2IDE4OjA0OjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogQW5kcm9pZC5tazoKCSogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9mYWFkL01ha2VmaWxlLmFtOgoJKiBleHQvaGxzL01ha2VmaWxlLmFtOgoJKiBleHQvbXBnMTIzL01ha2VmaWxlLmFtOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL01ha2VmaWxlLmFtOgoJKiBleHQveDI2NS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9hZHBjbWRlYy9NYWtlZmlsZS5hbToKCSogZ3N0L2FkcGNtZW5jL01ha2VmaWxlLmFtOgoJKiBnc3QvYWlmZi9NYWtlZmlsZS5hbToKCSogZ3N0L2FzZm11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9meGJhZC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXRvY29udmVydC9NYWtlZmlsZS5hbToKCSogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NkeGFwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2NvbG9yZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2RhdGF1cmlzcmMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9NYWtlZmlsZS5hbToKCSogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSogZ3N0L2Zlc3RpdmFsL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlZXZlcmIvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVpMHIvTWFrZWZpbGUuYW06CgkqIGdzdC9nYXVkaWVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9nZHAvTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9oZHZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2lkM3RhZy9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaXZmcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9pdnRjL01ha2VmaWxlLmFtOgoJKiBnc3QvanAya2RlY2ltYXRvci9NYWtlZmlsZS5hbToKCSogZ3N0L2pwZWdmb3JtYXQvTWFrZWZpbGUuYW06CgkqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkqIGdzdC9saXZlYWRkZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9taWRpL01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3BzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkqIGdzdC9udXZkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L29udmlmL01ha2VmaWxlLmFtOgoJKiBnc3QvcGF0Y2hkZXRlY3QvTWFrZWZpbGUuYW06CgkqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9wbm0vTWFrZWZpbGUuYW06CgkqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3NkaS9NYWtlZmlsZS5hbToKCSogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3NlZ21lbnRjbGlwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2lyZW4vTWFrZWZpbGUuYW06CgkqIGdzdC9zbW9vdGgvTWFrZWZpbGUuYW06CgkqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSogZ3N0L3N0ZXJlby9NYWtlZmlsZS5hbToKCSogZ3N0L3N1YmVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L3R0YS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWVhc3VyZS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSogZ3N0L3lhZGlmL01ha2VmaWxlLmFtOgoJKiBzeXMvYW5kcm9pZG1lZGlhL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgb2Jzb2xldGUgQW5kcm9pZCBidWlsZCBjcnVmdAoJICBUaGlzIGlzIG5vdCBuZWVkZWQgYW55IGxvbmdlci4KCjIwMTUtMDQtMTkgMDA6NTU6NTAgKzA5MDAgIFl1amluIExlZSA8c2FkZG9wb3BAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIHZ0ZGVjOiBmaXggYnVpbGQgZXJyb3Igd2l0aCBjbGFuZwoJICBUaGlzIGNvbW1pdCBmaXhlcyBhIHNpbXBsZSBidWlsZCBlcnJvciBieSBjbGFuZyB3aXRoCgkgIGJ5IGNsYW5nIHdpdGggWy1XZXJyb3IsLVd0YXV0b2xvZ2ljYWwtcG9pbnRlci1jb21wYXJlXSBvcHRpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MTEwCgoyMDE1LTA0LTI2IDE5OjA4OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBPbmx5IGFuc3dlciB0aGUgZHVyYXRpb24gcXVlcnkgaW4gbm9uLWxpdmUgbW9kZQoKMjAxNS0wNC0yNSAxODo1MDo1MiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGRyYXdoZWxwZXJzLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL3BsdWdpbi5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IGZpeCB0aGUgbGljZW5zZSBmcm9tIEdQTCB0byBMR1BMCgkgIFRoaXMgd2FzIGEgY29weSduJ3Bhc3RlIGJ1ZiBpbiB0aGUgaW5pdGlhbCBjb21taXQgZG9uZSBieSBteXNlbGYuCgoyMDE1LTA0LTI1IDE4OjQ2OjQxICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5oOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IGZpeCB0aGUgbGljZW5zZSBmcm9tIEdQTCB0byBMR1BMCgkgIFRoaXMgd2FzIGEgY29weSduJ3Bhc3RlIGJ1ZiBpbiB0aGUgaW5pdGlhbCBjb21taXQgZG9uZSBieSBteXNlbGYuCgoyMDE1LTA0LTI1IDEzOjM4OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0X2VsZW1lbnRfcHJpbnRfcHJvcGVydGllcy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0X2VsZW1lbnRfcHJpbnRfcHJvcGVydGllcy5oOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0bW90aW9uY2VsbHNfZHluYW1pY190ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3Rtb3Rpb25jZWxsc19keW5hbWljX3Rlc3QuaDoKCSAgZXhhbXBsZXM6IG1vdGlvbmNlbGxzOiByZW1vdmUgR1BMMyBjb2RlIHdlIGRvbid0IG5lZWQKCSAgSWYgOTUlIG9mIHRoZSBjb2RlIG9mIGFuIGV4YW1wbGUgYXBwIGNvbnNpc3RzIG9mIEdPYmplY3QKCSAgY29kZSwgbWF5YmUgdGhhdCdzIGRlZmVhdGluZyB0aGUgcG9pbnQgYSBsaXR0bGUuIFNvIGp1c3QKCSAgcmVtb3ZlIGEgbG90IG9mIHRoYXQgYW5kIHRyaW0gZG93biB0aGUgZXhhbXBsZSB0byB0aGUKCSAgYWJzb2x1dGUgbWluaW11bS4gQWxzbyByZW1vdmVzIHRoZSBsYXN0IHJlbWFpbmluZyBHUEwzCgkgIGxpY2Vuc2VkIGNvZGUgaW4gLWJhZC4KCjIwMTUtMDQtMjUgMTI6NTI6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0bW90aW9uY2VsbHNfZHluYW1pY190ZXN0LmM6CgkgIGV4YW1wbGVzOiBtb3Rpb25jZWxsczogc2ltcGxpZnkgcHJvcGVydHkgc2V0dGluZwoKMjAxNS0wNC0yNSAxMjo0ODoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3Rtb3Rpb25jZWxsc19keW5hbWljX3Rlc3QuYzoKCSAgZXhhbXBsZXM6IG1vdGlvbmNlbGxzOiBwb3J0IHRvIDEueAoKMjAxNC0xMS0yMCAwMDozMzo0NCArMDEwMCAgUm9iZXJ0IEpvYmJhZ3kgPGpvYmJhZ3kucm9iZXJ0QGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3Rtb3Rpb25jZWxsc19keW5hbWljX3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdG1vdGlvbmNlbGxzX2R5bmFtaWNfdGVzdC5oOgoJICBleGFtcGxlczogbW90aW9uY2VsbHM6IHJlbGljZW5zZSBvcGVuY3YgZXhhbXBsZSB0byBMR1BMdjIKCjIwMTUtMDQtMjQgMTQ6MDQ6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogY2FtZXJhYmluOiBhZGQgdGVzdHMgZm9yIEdzdFBob3RvZ3JhcGh5IGltYWdlIGNhcHR1cmUKCSAgR3N0UGhvdG9ncmFwaHkgZW5hYmxlcyBuZXcgcGF0aHMgaW4gd3JhcHBlcmNhbWVyYWJpbnNyYyB0aGF0IGFsbG93cwoJICB0aGUgc291cmNlIHRvIGJlIG5vdGlmaWVkIGFib3V0IHRoZSBjYXB0dXJlIGNhcHMgYW5kIHByb3ZpZGUgYW4KCSAgYWx0ZXJuYXRpdmUgY2FwcyBpZiBkZXNpcmVkIGJ5cGFzc2luZyB0aGUgbmVnb3RpYXRpb24gKHRoaXMgZG9lc24ndAoJICBzZWVtIGxpa2UgYSBnb29kIGlkZWEgdGhlc2UgZGF5cykuIFRvIG1ha2Ugc3VyZSBpdCBrZWVwcyB3b3JraW5nCgkgIHVudGlsIHdlIHJlbW92ZSBpdCBmcm9tIHRoZSBBUEkgaW4gZmF2b3Igb2Ygc3RhbmRhcmQgY2FwcyBuZWdvdGlhdGlvbgoJICBmZWF0dXJlcyB0aGlzIHRlc3Qgd2FzIGFkZGVkLgoJICBJdCBhZGRzIDMgZXh0cmEgdGVzdHMgd2l0aCBhIHNpbXBsZSB0ZXN0IHNvdXJjZSB0aGF0IHdpbGw6CgkgIDEpIFRlc3QgdGhhdCBjYXB0dXJpbmcgd2l0aCBBTlkgY2FwcyB3b3JrCgkgIDIpIFRlc3QgdGhhdCBjYXB0dXJpbmcgd2l0aCBhIGZpeGVkIGNhcHMgd29yawoJICAzKSBUZXN0IHRoYXQgY2FwdHVyaW5nIHdpdGggYSBmaXhlZCBjYXBzIGFuZCBoYXZpbmcgdGhlIHNvdXJjZQoJICBwaWNrIGEgZGlmZmVyZW50IHJlc29sdXRpb24gZnJvbSBHc3RQaG90b2dyYXBoeSBBUEkgd29ya3MKCSAgYnkgaGF2aW5nIHdyYXBwZXJjYW1lcmFiaW5zcmMgY3JvcCB0aGUgY2FwdHVyZSB0byB0aGUgZmluYWwKCSAgcmVxdWVzdGVkIGRpbWVuc2lvbnMKCjIwMTUtMDQtMjQgMTQ6MTk6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBSZXdvcmsgY3JvcHBpbmcgZm9yIHpvb20gYW5kIGRpbWVuc2lvbiByZWR1Y3Rpb24KCSAgd3JhcHBlcmNhbWVyYWJpbnNyYyBoYXMgYSB2aWRlb2Nyb3AgZWxlbWVudCB0byBiZSB1c2VkIGZvcgoJICB6b29taW5nIGFuZCBmb3IgY3JvcHBpbmcgd2hlbiBpbnB1dCBjYXBzIGlzIGRpZmZlcmVudCB3aGVuIHVzZWQKCSAgd2l0aCB0aGUgR3N0UGhvdG9ncmFwaHkgaW50ZXJmYWNlLiBUaGUgem9vbWluZyBwYXJ0IG5lZWRzCgkgIHRoZSBmb2xsb3dpbmcgZWxlbWVudHM6CgkgIGNhcHNmaWx0ZXIgISB2aWRlb2Nyb3AgISB2aWRlb3NjYWxlICEgY2Fwc2ZpbHRlcgoJICBUaGUgY2Fwc2ZpbHRlcnMgc2hvdWxkIGFsd2F5cyBoYXZlIHRoZSBzYW1lIGNhcHMgdG8gZW5zdXJlIHRoZQoJICB6b29taW5nIGlzIGRvbmUgYW5kIHByZXNlcnZlcyBkaW1lbnNpb25zLCB1bmxlc3Mgd2hlbiBpdCBpcyBuZWVkZWQKCSAgdG8gZG8gbW9yZSBjcm9wcGluZyBkdWUgdG8gaW5wdXQgZGltZW5zaW9ucyB0aG9zZSBjYXBzCgkgIG5lZWQgdG8gYmUgbW9kaWZpZWQgYWNjb3JkaW5nbHkgdG8gcHJlc2VydmUgdGhlIG91dHB1dCBkaW1lbnNpb25zLgoJICBUaGlzLCBob3dldmVyLCBtYWtlcyBpdCBoYXJkIHRvIGdldCBjYXBzIG5lZ290aWF0aW9uIHRvIHdvcmsgcHJvcGVybHkKCSAgYXMgd2UgbmVlZCB0byBoYXZlIGRpZmZlcmVudCBjYXBzIGluIHRoZSBjYXBzZmlsdGVycyB0byBhY2NvdW50IGZvcgoJICB0aGUgZXh0cmEgY3JvcHBpbmcgbmVlZGVkLiBJdCBjb3VsZCBiZSBzaW1wbGUgZm9yIGZpeGVkIGNhcHMgYnV0IGl0CgkgIGdldHMgdHJpY2t5IHdpdGggdW5maXhlZCBvbmVzLgoJICBUbyBzb2x2ZSB0aGlzLCB0aGlzIHBhdGNoIHNwbGl0cyB0aGUgem9vbWluZyBhbmQgZGltZW5zaW9uIHJlZHVjdGlvbgoJICBjcm9wcGluZyBpbnRvIDIgc2VwYXJhdGUgdmlkZW9jcm9wIGVsZW1lbnRzLiBUaGUgZmlyc3Qgb25lIGRvZXMKCSAgdGhlIGRpbWVuc2lvbiBjcm9wcGluZywgd2hpY2ggaXMgb25seSBuZWVkZWQgd2hlbiB0aGUgR3N0UGhvdG9ncmFwaHkKCSAgQVBJIGlzIHVzZWQgYW5kIHRoZSBzb3VyY2UgcHJvdmlkZXMgYSBjYXBzIHRoYXQgaXMgZGlmZmVyZW50IHRoYW4KCSAgd2hhdCBpcyByZXF1ZXN0ZWQsIHdoaWxlIHRoZSBzZWNvbmQgaXMgZGVkaWNhdGVkIHRvIHpvb20gY3JvcCBvbmx5LgoJICBUaGUgZmlyc3QgcGFydCBvZiB0aGUgcGlwZWxpbmUgZ29lcyBmcm9tOgoJICBzcmMgISB2aWRlb2NvbnZlcnQgISBjYXBzZmlsdGVyICEgdmlkZW9jcm9wICEgdmlkZW9zY2FsZSAhIGNhcHNmaWx0ZXIKCSAgdG8KCSAgc3JjICEgdmlkZW9jcm9wICEgdmlkZW9jb252ZXJ0ICEgY2Fwc2ZpbHRlciAhIHZpZGVvY3JvcCAhIHZpZGVvc2NhbGUgISBjYXBzZmlsdGVyCgkgIEl0IG1pZ2h0IGFkZCBhbiBleHRyYSBvdmVyaGVhZCBpbiB0aGUgaW1hZ2UgY2FwdHVyZSBhcyB0aGUgaW1hZ2UgbWlnaHQgbmVlZAoJICB0byBiZSBjcm9wcGVkIHR3aWNlIGJ1dCB0aGlzIGNhbiBiZSBzb2x2ZWQgYnkgZW5hYmxpbmcgdmlkZW9jcm9wIHRvIHVzZQoJICBjcm9wIG1ldGFzIHNvIG9ubHkgdGhlIGxhdGVyIG9uZSBkb2VzIHRoZSByZWFsIGNyb3BwaW5nLgoJICBJdCBhbHNvIG1ha2VzIHRoZSBjb2RlIGEgYml0IHNpbXBsZXIuCgoyMDE1LTA0LTI0IDE0OjE3OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IHJlbW92ZSBvYnNvbGV0ZSBjb21tZW50CgkgIFRoaXMgaXMgYWxyZWFkeSBoYW5kbGVkIGluIGFub3RoZXIgcGxhY2UgYW5kIGRvZXNuJ3QgbWFrZSBzZW5zZQoJICBpbiB0aGUgZnVuY3Rpb24gY29udGV4dCBhbnltb3JlCgoyMDE1LTA0LTI0IDE0OjE2OjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IGVycm9yIG91dCBpZiBzb3VyY2UgZmFpbHMgdG8gcHJlcGFyZSBmb3IgY2FwdHVyZQoJICBQb3N0IGFuIGVycm9yIHdoZW4gcHJlcGFyaW5nIHRoZSBpbWFnZSBjYXB0dXJlIHRocm91Z2ggcGhvdG9ncmFwaHkKCSAgaW50ZXJmYWNlIGZhaWxzCgoyMDE1LTA0LTI0IDE0OjEzOjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IGludGVyc2VjdCBpbnN0ZWFkIG9mIGNvbXBhcmUgZm9yIGVxdWFsaXR5CgkgIEludGVyc2VjdCBpcyBlbm91Z2ggdG8gY2hlY2sgaWYgdGhlIHJlcXVlc3RlZCBjYXBzIGFyZSBjb21wYXRpYmxlCgkgIHdpdGggd2hhdCB0aGUgc291cmNlIGlzIGdvaW5nIHRvIHByb3ZpZGUuIEVxdWFsaXR5IHdpbGwgYmUgdG9vIHN0cmljdC4KCjIwMTUtMDQtMjQgMTQ6MTM6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogZml4IHR5cG8KCjIwMTUtMDQtMjQgMDI6MjI6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHRlc3RzOiByZW1vdmUgdW51c2VkIG1hY3JvcwoJICBUaG9zZSBtYWNyb3Mgd2VyZSB3aXRoIHRoZSB3cm9uZyBuYW1lIChsaWtlbHkgYSBjb3B5IG4gcGFzdGUgbWlzdGFrZSkKCSAgYW5kIHdlcmUgdW51c2VkLgoKMjAxNS0wNC0yMyAxNDoyODoxMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW46IHJlbW92ZSBvYnNvbGV0ZSBjaGVjayBmb3IgMC4xMCBmZWF0dXJlCgoyMDE1LTA0LTI0IDE2OjQ4OjIzICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvYnVmZmVyL2dzdGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHJlbW92ZSB1bnVzZWQgZW51bSBpdGVtcyBQUk9QX0xBU1QKCSAgVGhpcyB3ZXJlIHByb2JhYmx5IGFkZGVkIHRvIHRoZSBlbnVtcyBkdWUgdG8gY2FyZ28gY3VsdCBwcm9ncmFtbWluZyBhbmQgYXJlCgkgIHVudXNlZC4KCjIwMTUtMDQtMjQgMTc6MTM6MTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogYmFsYW5jZSBjaGFuZ2Vfc3RhdGUgZGlzcGxheSByZWYvdW5yZWYKCSAgdGhlIGRpc3BsYXkgd2FzIGJlaW5nIHVucmVmZmVkIG9uIHRoZSBpbmNvcnJlY3Qgc3RhdGUgY2hhbmdlIGNhdXNpbmcKCSAgaW52YWxpZCBzdGF0ZSB3aGVuIGNoYW5naW5nIGZyb20gUExBWUlORy9QQVVTRUQtPlJFQURZLT5QQVVTRUQvUExBWUlORy4KCjIwMTUtMDQtMjMgMTc6NDM6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IERvbid0IGNsYWltIHRvIGJlIGxpdmUgd2hlbiBhbnN3ZXJpbmcgdGhlIExBVEVOQ1kgcXVlcnkKCSAgRXZlbiBmb3IgImxpdmUiIHN0cmVhbXMgd2UgYXJlIG5vdCBsaXZlIGluIHRoZSBHU3RyZWFtZXIgbWVhbmluZyBvZiB0aGUgd29yZC4KCSAgV2UgZG9uJ3QgcHJvZHVjZSBidWZmZXJzIHRoYXQgYXJlIHRpbWVzdGFtcGVkIGJhc2VkIG9uIHRoZWlyICJjYXB0dXJlIHRpbWUiCgkgIGFuZCBvdXIgY2xvY2ssIGJ1dCBqdXN0IGJhc2VkIG9uIHdoYXRldmVyIHRpbWVzdGFtcHMgdGhlIHN0cmVhbSBtaWdodCBjb250YWluLgoJICBBbHNvIGV2ZW4gaWYgd2Ugd2FudGVkIHRvIGNsYWltIHRvIGJlIGxpdmUsIHRoYXQgd291bGRuJ3Qgd29yayB3ZWxsIGFzIHdlCgkgIHdvdWxkIGhhdmUgdG8gcmV0dXJuIEdTVF9TVEFURV9DSEFOR0VfTk9fUFJFUk9MTCB3aGVuIGdvaW5nIGZyb20gUkVBRFkgdG8KCSAgUEFVU0VELCB3aGljaCB3ZSBjYW4ndC4gV2UgZmlyc3QgbmVlZCBkYXRhIHRvIGtub3cgaWYgd2UgYXJlICJsaXZlIiBvciBub3QuCgoyMDE1LTA0LTIzIDE3OjM5OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBVc2UgdGhlIGRvd25sb2FkZXIgb2YgdGhlIGJhc2UgY2xhc3MgaW5zdGVhZCBvZiBjcmVhdGluZyBvdXIgb3duCgkgIFRoZSBvbmUgb2YgdGhlIGJhc2UgY2xhc3MgaXMgY29tcGxldGVseSB1bnVzZWQgYmVjYXVzZSB3ZSBvdmVycmlkZSBhbGwKCSAgdGhlIGRvd25sb2FkaW5nIGhlcmUsIHNvIGxldCdzIGp1c3QgdXNlIHRoYXQgb25lIGluc3RlYWQuCgoyMDE1LTA0LTIzIDE3OjM2OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBEb24ndCBlcnJvciBvdXQgaWYgd2UgY2FuJ3QgbWF0Y2ggdmFyaWFudCBwbGF5bGlzdHMgYWZ0ZXIgdXBkYXRpbmcKCSAgSXQncyBiZXR0ZXIgdG8ganVzdCBzZWxlY3Qgc29tZSByYW5kb20gdmFyaWFudCBwbGF5bGlzdCBpbnN0ZWFkIG9mIHN0b3BwaW5nLAoJICBjaGFuY2VzIGFyZSB0aGF0IGl0J3Mgc3RpbGwgY29udGludWluZyB0byB3b3JrIGFuZCB3ZSBtaWdodCBqdXN0IGhhdmUgdG8KCSAgc2VsZWN0IGEgZGlmZmVyZW50IHZhcmlhbnQgYWdhaW4gbGF0ZXIuCgoyMDE1LTA0LTIzIDE3OjMzOjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRml4IGhvdyB0aGUgcGxheWxpc3RzIGFyZSByZWZyZXNoZWQKCSAgV2Ugc2hvdWxkIG9ubHkgcmVmcmVzaCB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHZhcmlhbnQgcGxheWxpc3QgKGlmIGFueSwKCSAgb3RoZXJ3aXNlIHRoZSBtYWluIHBsYXlsaXN0KSwgbm90IHRoZSBtYWluIHBsYXlsaXN0LiBBbmQgb25seSB0cnkgdG8KCSAgcmVmcmVzaCB0aGUgbWFpbiBwbGF5bGlzdCBpZiB1cGRhdGluZyB0aGUgdmFyaWFudCBwbGF5bGlzdCBmYWlscy4KCSAgU29tZSBzZXJ2ZXJzIChXb3d6YSkgdXNlIHRoZSByZXF1ZXN0IG9mIHRoZSBtYWluIHBsYXlsaXN0IHRvIGNyZWF0ZSBhCgkgICJzZXNzaW9uIiwgd2hpY2ggaXMgdGhlbiBwYXJ0IG9mIHRoZSBVUkkgb2YgdGhlIHZhcmlhbnQgcGxheWxpc3QgYW5kCgkgIGFsc28gdGhlIGZyYWdtZW50cy4gUmVmcmVzaGluZyB0aGUgbWFpbiBwbGF5bGlzdCB3b3VsZCBnZW5lcmF0ZSBhIG5ldwoJICBzZXNzaW9uLCBhbmQgdGhlIHNlcnZlciByYXRlIGxpbWl0cyB0aGF0IHVzdWFsbHkuIEFuZCBhZnRlciBhIGZldyByZXRyaWVzCgkgIHRoZSBzZXJ2ZXIganVzdCBraWNrcyB1cyBvdXQuCgkgIEFsc28gYXMgYSBzaWRlIGVmZmVjdCB3ZSBub3cgdXNlIHRoZSBzYW1lIGRvd25sb2FkZXIgZm9yIGFsbCBwbGF5bGlzdHMsIHNvCgkgIHRoYXQgd2Ugb25seSBoYXZlIDIgaW5zdGVhZCBvZiAzIGNvbm5lY3Rpb25zIHRvIHRoZSBzZXJ2ZXIuIEFuZCBhbHNvCgkgIHByZXZpb3VzbHkgd2UganVzdCBpZ25vcmVkIHRoZSBkb3dubG9hZGVkIGRhdGEgZnJvbSB0aGUgbWFpbiBwbGF5bGlzdCB0aGF0CgkgIHRoZSBiYXNlIGNsYXNzIGdhdmUgdG8gdXMuCgoyMDE1LTA0LTIzIDE3OjIyOjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBBbGxvdyBzdWJjbGFzc2VzIHRvIG92ZXJyaWRlIGhvdyBhIG5ldyBtYW5pZmVzdCB3b3VsZCBiZSBkb3dubG9hZGVkCgoyMDE1LTA0LTIzIDE3OjAyOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IEV4cG9zZSBkb3dubG9hZGVyCgkgIFRoaXMgYWxsb3dzIHN1YmNsYXNzZXMgdG8gdXNlIGl0IGFuZCBzaGFyZSBjb25uZWN0aW9ucyBpZiBwb3NzaWJsZS4KCjIwMTUtMDQtMjMgMTY6NDM6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiAuZ2l0aWdub3JlOgoJICBVcGRhdGUgLmdpdGlnbm9yZQoKMjAxNS0wNC0yMyAxNjo0MDo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZGVmaW5lIEdTVF9DSEVDS19URVNUX0VOVklST05NRU5UX0JFQUNPTgoJICBNYWtlIHN1cmUgdGhlIHRlc3QgZW52aXJvbm1lbnQgaXMgc2V0IHVwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTc0NzYyNAoKMjAxNS0wNC0yMyAxNjozOToyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBidW1wIGF1dG9tYWtlIHJlcXVpcmVtZW50IHRvIDEuMTQgYW5kIGF1dG9jb25mIHRvIDIuNjkKCSAgVGhpcyBpcyBvbmx5IHJlcXVpcmVkIGZvciBidWlsZHMgZnJvbSBnaXQsIHBlb3BsZSBjYW4gc3RpbGwKCSAgYnVpbGQgdGFyYmFsbHMgaWYgdGhleSBvbmx5IGhhdmUgb2xkZXIgYXV0b3Rvb2xzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTc0NzYyNAoKMjAxNS0wNC0yMyAxNjo0Nzo0MCArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHVwbG9hZGVsZW1lbnQuYzoKCSAgZ2x1cGxvYWQ6IFJlbGVhc2UgZ2x1cGxvYWQgYnVmZmVyIHdoZW4gY2FwcyBhcmUgY2hhbmdlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MzcxCgoyMDE1LTA0LTIzIDExOjQ3OjM3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSAgZ2F1ZGk6IGRvbid0IHJ1biBnYXVzc2lhbiBmdW5jdGlvbiBpZiBzaWdtYSBpcyAwCgoyMDE1LTA0LTIyIDE5OjI4OjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBoYW5kbGUgdG9vIHNob3J0IHNlZ21lbnRzCgkgIFdoZW4gdGhlIHNlZ21lbnQgaXMgdmVyeSBzaG9ydCBpdCBtaWdodCBiZSB0aGUgY2FzZSB0aGF0IHRoZQoJICB0eXBlZmluZGluZyBmYWlscyBhbmQgd2hlbiBmaW5pc2hpbmcgdGhlIHNlZ21lbnQgaGxzZGVtdXggd291bGQKCSAgY29uc2lkZXIgdGhlIHJlbWFpbmluZyBkYXRhIChwZW5kaW5nX2J1ZmZlcikgYXMgYW4gZW5jcnlwdGlvbgoJICBsZWZ0b3Zlci4KCSAgVGhpcyBwYXRjaCBmaXhlcyBpdCBhbmQgbWFrZXMgc3VyZSBhbiBlcnJvciBpcyBwcm9wZXJseSBwb3N0ZWQKCSAgaWYgdHlwZWZpbmQgZmFpbGVkIGJ5IHJlZmFjdG9yaW5nIGJ1ZmZlciBoYW5kbGluZyB0byBhIGZ1bmN0aW9uCgkgIGFuZCB1c2luZyBpdCBmcm9tIHRoZSBkYXRhX3JlY2VpdmVkIGFuZCBmaW5pc2hfZnJhZ21lbnQgZnVuY3Rpb25zLgoKMjAxNS0wNC0yMiAxOTowNDo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogdXNlIGNvcnJlY3QgdmFyaWFibGUgdHlwZQoJICBnc3RfYnVmZmVyX3Jlc2l6ZSBuZWVkcyBnc3NpemUgYW5kIG5vdCBnc2l6ZS4gVGhpcyBtYWtlcyBnZGIKCSAgcHJpbnQgaXQgY29ycmVjdGx5IHdoZW4gZGVidWdnaW5nLgoKMjAxNS0wNC0yMiAxNzowODowOSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGlua3ZpZGVvc3JjOiBmaXggbW9kZSBhdXRvZGV0ZWN0aW9uCgkgIFRoZSBhdXRvZGV0ZWN0aW9uIG1vZGUgd2FzIGJyb2tlbiBiZWNhdXNlIGEgcmFjZSBjb25kaXRpb24gaW4gdGhlIGlucHV0IG1vZGUKCSAgc2V0dGluZy4gVGhlIG1vZGUgY291bGQgYmUgcmV2ZXJ0ZWQgYmFjayB3aGVuIGl0IHdhcyByZXBsYWNlZCBpbgoJICB0aGUgc3RyZWFtaW5nIHRocmVhZCBieSB0aGUgb2xkIG1vZGUgaW4gdGhlIG1pZGRsZSBvZiBtb2RlIGNoYW5nZWQgY2FsbGJhY2suCgoyMDE1LTA0LTIyIDE3OjA0OjI1ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogZG8gbm90IHJlcGVhdCBmaXJzdCB2aWRlbyBmb3JtYXQgaW4gY2FwcyB0ZW1wbGF0ZQoJICBUaGUgZmlyc3QgZW50cnkgaW4gdGhlIG1vZGVzIGFycmF5IGlzIHVzZWQgYXMgZGVmYXVsdCBtb2RlIGZvciBhdXRvZGV0ZWN0aW9uLgoJICBUaGVyZSdzIG5vIG5lZWQgdG8gY29weSBpdCBpbnRvIHRoZSBjYXBzIHRlbXBsYXRlLgoKMjAxNS0wNC0yMiAxNTowNDowMyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkgIGdhdWRpOiBmaXggdG8gMzA3ODBkYjEKCSAgVGhlIHNlY29uZCBjaGVjayBmb3IgKGZhY3RvciA9PSAwKSBjcmVlcGVkIGluIHRoZSBsYXN0IGNvbW1pdC4KCSAgQXBvbG9naWVzLgoKMjAxNS0wNC0yMiAxNDozMDo1NiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkgIGdhdWRpOiBmaXggZXhjbHVzaW9uJ3MgZmFjdG9yIHJhbmdlCgkgIEF2b2lkIGRpdmlkaW5nIGJ5IHplcm8gd2hlbiB0aGUgZmFjdG9yIGlzIHplcm8uIEluc3RlYWQsIG91dHB1dCBhIGJ1ZmZlciB3aXRoCgkgIGFsbCBjb2xvciB2YWx1ZXMgYXMgemVyby4KCjIwMTUtMDQtMjIgMTQ6MTU6MTMgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkgIGdhdWRpOiByZW1vdmUgZmxvb3IgdmFyaWFibGUgaW4gc29sYXJpemUKCSAgRmxvb3IgdmFyaWFibGUgaGFzIG5vIGVmZmVjdCBhbmQgaXQgaXNuJ3Qgd29ydGggaXQgdG8gaGF2ZSBpdCBhZGp1c3RhYmxlLgoKMjAxNS0wNC0yMiAxMzo1NTowNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuaDoKCSAgZ2F1ZGk6IHJlbW92ZSB1bnVzZWQgcHJvcGVydHkKCjIwMTUtMDQtMjIgMTg6NTQ6NDUgKzA5MDAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogUG9zc2libGUgbnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlCgkgIFdoaWxlIHByaW50aW5nIGVycm9yIG1lc3NhZ2Ugd2hlbiBjb250ZXh0IGZhaWxzLCBlcnJvciB2YXJpYWJsZSBpcyBub3QgYmVpbmcgdXNlZCBhbnltb3JlCgkgIHNvIGl0IHdpbGwgbGVhZCB0byBudWxsIHBvaW50ZXIgZGVyZWZlcmVuY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODI4NwoKMjAxNS0wNC0yMiAxMDozODoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIElOU1RBTEw6CgkgIFJlbW92ZSBJTlNUQUxMIGZpbGUKCSAgYXV0b3Rvb2xzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgdGhpcywgYW5kIHdoZW4gdXNpbmcgZGlmZmVyZW50IHZlcnNpb25zCgkgIGZvciBhdXRvZ2VuLnNoIHRoZXJlIHdpbGwgYWx3YXlzIGJlIGNoYW5nZXMgdG8gYSBmaWxlIHRyYWNrZWQgYnkgZ2l0LgoKMjAxNS0wNC0yMiAxMDozODoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIExJQ0VOU0VfcmVhZG1lOgoJICBSZW1vdmUgTElDRU5TRV9yZWFkbWUKCSAgSXQncyBjb21wbGV0ZWx5IG91dGRhdGVkIGFuZCBqdXN0IGNvbmZ1c2luZywgYmV0dGVyIGlmIHBlb3BsZSBhcmUKCSAgZm9yY2VkIHRvIGxvb2sgYXQgdGhlIGFjdHVhbCBjb2RlIGluIHF1ZXN0aW9uIHRoYW4gdHJ1c3RpbmcgdGhpcyBmaWxlLgoKMjAxNS0wNC0yMSAyMjowNDo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogRG9uJ3Qgc3RvcCBhbGwgdGFza3MgYW5kIHN0cmVhbXMgZnJvbSB0aGUgdXBkYXRlIHRhc2sgb24gZXJyb3JzCgkgIEl0IHdpbGwgZGVhZGxvY2tzIGFzIHdlIHdpbGwgdGhlbiBqb2luKCkgdGhlIHVwZGF0ZSB0YXNrIGZyb20gaXRzZWxmLiBJbnN0ZWFkCgkgIGp1c3QgcG9zdCBhbiBhY3R1YWwgZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGFuZCBvbmx5IHN0b3AgdGhlIHVwZGF0ZSB0YXNrLgoJICBUaGUgYXBwbGljYXRpb24gaXMgdGhlbiByZXNwb25zaWJsZSBmb3Igc2h1dHRpbmcgZG93biB0aGUgZWxlbWVudCwgYW5kIHRodXMKCSAgYWxsIHRoZSBvdGhlciB0YXNrcyBhbmQgZXZlcnl0aGluZywgYmFzZWQgb24gdGhlIGVycm9yIG1lc3NhZ2UgaXQgZ2V0cy4KCjIwMTUtMDQtMjEgMTg6Mjk6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBGaXggc2Vla2luZwoJICBXZSBhbHNvIGhhdmUgdG8gdXBkYXRlIHRoZSBjdXJyZW50X2ZpbGUgR0xpc3QgcG9pbnRlciBpbiB0aGUgTTNVIHBsYXlsaXN0CgkgIGNsaWVudCwgb3RoZXJ3aXNlIHdlIGFyZSBqdXN0IGNvbnRpbnVpbmcgcGxheWJhY2sgZnJvbSB0aGUgY3VycmVudCBwb3NpdGlvbgoJICBpbnN0ZWFkIG9mIHNlZWtpbmcuCgoyMDE1LTA0LTIxIDE4OjA1OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG9uJ3QgY2FsbCB1bmxvY2soKSBqdXN0IHRvIGNhbGwgbG9jaygpIGltbWVkaWF0ZWx5IGFmdGVyd2FyZHMKCjIwMTUtMDQtMjAgMDg6MjE6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogUmVzZXQgem9vbSBlbGVtZW50IGNhcHMgdG8gZ28gdG8gdmlld2ZpbmRlciBtb2RlCgkgIEF2b2lkcyBub3QtbmVnb3RpYXRlZCBmYWlsdXJlcyByZWxhdGVkIHRvIHVzaW5nIGltYWdlIGNhcHR1cmUgY2FwcwoJICBzdGlsbCB3aGVuIGFkanVzdGluZyB0byBnbyBiYWNrIHRvIHZpZXdmaW5kZXIuCgoyMDE1LTA0LTIwIDA4OjIwOjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjogYWRkIHRlc3QgZm9yIGNhcHR1cmUgd2l0aCBkaWZmZXJlbnQgY2FwcwoJICBBZGRzIGEgdGVzdCB0byB2ZXJpZnkgdGhhdCB2aWV3ZmluZGVyIGFuZCBpbWFnZSBjYXB0dXJlIGNhcHMKCSAgY2FuIGJlIHNldCB0byBub24taW50ZXJzZWN0aW5nIGNhcHMgYW5kIHN0aWxsIHdvcmsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ4NjgKCjIwMTUtMDQtMjAgMDg6NDI6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogZml4IGxlYWsgb2YgZHJhaW4gcXVlcnkKCSAgZ3N0X3BhZF9wZWVyX3F1ZXJ5IGRvZXNuJ3QgdGFrZSBvd25lcnNoaXAgb2YgdGhlIHF1ZXJ5IG9iamVjdAoKMjAxNS0wNC0yMCAwODo0Mjo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IFJlZmFjdG9yIGludGVybmFsIHBpcGVsaW5lCgkgIFJlbW92ZSB0ZWUgYW5kIG91dHB1dC1zZWxlY3RvciBhbmQganVzdCBsaW5rIHRoZSBzb3VyY2UKCSAgcGFkIHRvIHRoZSBvdXRwdXRzIHdlIHdhbnQgYXMgbmVlZGVkLgoJICBUaGUgd2F5IHdlIG5lZWQgdG8gcHJpb3JpdGl6ZSBjYXBzIG5lZ290aWF0aW9uIGFuZCBhbGxvY2F0aW9uCgkgIHF1ZXJpZXMgZGVwZW5kaW5nIG9uIHRoZSBtb2RlIGVuYWJsZWQgaXMgdG9vIGN1c3RvbSB0byBiZQoJICBoYW5kbGVkIHVzaW5nIHRlZSBhbmQgb3V0cHV0LXNlbGVjdG9yLgoJICBUaGlzIHByb3ZpZGVzIG1vcmUgZmxleGliaWxpdHkgYW5kIGRvZXNuJ3QgZ2V0IGluIHRoZSB3YXkgb2YgcHJvcGVyCgkgIGhhbmRsaW5nIG9mIG5lZ290aWF0aW9uIGFuZCBhbGxvY2F0aW9uIHF1ZXJpZXMuCgoyMDE1LTA0LTA1IDIwOjE4OjU2ICswMjAwICBNaWNoYcWCIETEmWJza2kgPGRlYnNraS5taS56ZEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbGVmZmVjdHM6IENyZWF0ZSBlbGVtZW50IGZvciBlYWNoIGVmZmVjdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MjA5CgoyMDE1LTAzLTIyIDExOjIyOjUyICswMTAwICBNaWNoYcWCIETEmWJza2kgPGRlYnNraS5taS56ZEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bGFwbGFjaWFuLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsZWZmZWN0czogTWVyZ2UgbGFwbGFjaWFuIGZpbHRlciBpbnRvIGVmZmVjdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjIwOQoKMjAxNS0wMy0yMiAxMToyMDo0OSArMDEwMCAgTWljaGHFgiBExJlic2tpIDxkZWJza2kubWkuemRAZ21haWwuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNvYmVsLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsZWZmZWN0czogTWVyZ2Ugc29iZWwgZmlsdGVyIGludG8gZWZmZWN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MjA5CgoyMDE1LTAzLTIyIDExOjEzOjMwICswMTAwICBNaWNoYcWCIETEmWJza2kgPGRlYnNraS5taS56ZEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Ymx1ci5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2xlZmZlY3RzOiBNZXJnZSBibHVyIGZpbHRlciBpbnRvIGVmZmVjdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjIwOQoKMjAxNS0wMy0yMSAyMzo1MDozMyArMDEwMCAgTWljaGHFgiBExJlic2tpIDxkZWJza2kubWkuemRAZ21haWwuY29tPgoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSAgZ2xlZmZlY3RzOiBDb3JyZWN0IGF0dHJpYnV0ZXMgZm9yIGhjb252IGFuZCB2Y29udiBzaGFkZXJzCgkgIFdpZHRoIGFuZCBoZWlnaHQgd2VyZSBzd2l0Y2hlZCBmb3IgZ2xvdyBzaGFkZXJzLiBGb3IgYmx1cgoJICBmaWx0ZXIgYXR0cmlidXRlcyBuYW1lcyB3ZXJlIG9ic29sZXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MjA5CgoyMDE1LTAzLTIxIDIzOjIxOjEzICswMTAwICBNaWNoYcWCIETEmWJza2kgPGRlYnNraS5taS56ZEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIGdsZWZmZWN0czogRml4IGZpc2hleWUgc2hhZGVyIC0gcGFzcyBmbG9hdCB0byBzcXJ0CgkgIE9uIE9TWCBwYXNzaW5nIGxpdGVyYWwgaW50IHRvIHNxcnQoKSBpbiBHTFNMIHJlc3VsdHMgaW4gZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYyMDkKCjIwMTUtMDQtMjEgMDc6Mjg6NTggKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6LnNhcm5lY2tpQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkgIGdsdHJhbnNmb3JtYXRpb246IGZpeCBzaGFkZXIgbWVtb3J5IGxlYWsKCjIwMTUtMDQtMjEgMTI6MjU6MTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbHdpbmRvdzogdHJhY2sgY29udGV4dCBhY3RpdmF0aW9uIHByb3Blcmx5CgkgIFdlIG9ubHkgbmVlZCB0byBkZWFjdGl2YXRlL3JlYWN0aXZhdGUgdGhlIGNvbnRleHQgaWZmIGl0IHdhcyBhbHJlYWR5CgkgIGFjdGl2ZS4KCjIwMTUtMDQtMjEgMTI6MTk6NDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGJhc2VtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIGdsZGlzcGxheTogc3luY2hyb25pemUgdGhlIHNlYXJjaGluZyBhbmQgY3JlYXRpb24gb2YgR3N0R0xDb250ZXh0J3MKCSAgT290aGVyd2lzZSB3ZSBjb3VsZCBlbmQgdXAgd2l0aCBtdWx0aXBsZSBlbGVtZW50cyBpbiBkaWZmZXJlbnQgY2hhaW5zCgkgIGVhY2ggY3JlYXRpbmcgYSBjb250ZXh0LiAgRml4ZXMgY29udGV4dCBjcmVhdGlvbiB3aXRoIGdsdmlkZW9taXhlci4KCjIwMTUtMDQtMjAgMTQ6MzU6MTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IFJlbW92ZSBkZWFkIGNvZGUKCSAgVGhlIGRldGVjdGlvbiBmb3IgbWlzc2luZyBmb3JtYXQvYWxpZ25tZW50IGlzIGRvbmUgd2F5IGJlZm9yZSB0aGlzCgkgIGNvZGVwYXRoIGlzIHJlYWNoZWQgKGF0IHdoaWNoIHBvaW50IHdlIGhhdmUgYWxyZWFkeSBkZWNpZGVkIG9mIGEKCSAgZm9ybWF0IGFuZCBhbGlnbm1lbnQpLgoJICBDSUQgIzEyMzI4MDAKCjIwMTUtMDEtMDcgMTY6MjY6NTcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuYzoKCSAgaGFuZGRldGVjdDogcmVtb3ZlIHVubmVlZGVkIGNoZWNrCgkgIFZhcmlhYmxlIGhhbmRzIGlzIGFscmVhZHkgY2hlY2tlZCB0byBjb250YWluIGEgdmFsdWUgcHJldmlvdXNseSBhdCB0aGUgYmVnaW5uaW5nCgkgIG9mIHRoZSBjdXJyZW50IGJsb2NrLiBUaGVyZSBpcyBubyBuZWVkIHRvIGNoZWNrIGFnYWluLiBUaGlzIGlzIGxvZ2ljYWxseSBkZWFkIGNvZGUuCgkgIENJRCAxMTk3NjkzCgoyMDE1LTA0LTIwIDE0OjIwOjA1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobXBpcGU6IEVuc3VyZSBzdHJpbmcgcmVjZWl2ZWQgZnJvbSByZWN2KCkgaXMgTlVMTC10ZXJtaW5hdGVkCgkgIFdlIHdpbGwgYmUgZG9pbmcgc3RyaW5nIG9wZXJhdGlvbnMgb24gaXQgbGF0ZXIuCgkgIENJRCAjMTI5MjgzMAoKMjAxNS0wNC0yMCAxMTozMDoxMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGNsZWFuIGFzc2lnbm1lbnQgdHlwbwoJICBObyBuZWVkIHRvIHNldCB0aGUgdmFsdWUgdHdpY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDIKCSAgQ0lEICMyOTUxMjIKCjIwMTUtMDQtMjAgMTA6NTc6NDEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiByZW1vdmUgZGVhZCBjb2RlCgkgIHBvc2l0aW9uIG9mIEdzdFNlZ21lbnQgaXMgYW4gdW5zaWduZWQgaW50NjQsIGl0IGNhbiBuZXZlciBiZSBiZWxvdyB6ZXJvLgoJICBDSUQgIzEyOTUxMjMKCjIwMTUtMDItMDkgMTE6Mjk6NDYgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJICBmaWVsZGFuYWx5c2lzOiBleGNlcHRpb24gd2hlbiBibG9jayB3aWR0aCB0byAwCgkgIFdoZW4gYmxvY2sgd2lkdGggcHJvcGVydHkgaXMgc2V0IHRvIDAsIGV4Y2VwdGlvbiBvY2N1cnMuCgkgIFRoaXMgaGFwcGVucyBkdWUgdG8gZGl2aWRlIGJ5IHplcm8gZXJyb3JzIGluIGNhbGN1bGF0aW9ucy4KCSAgYmxvY2sgd2lkdGggcHJvcGVydHkgY2FuIG5ldmVyIGJlIDAuIEhlbmNlIGFkanVzdGluZyB0aGUgbWluaW11bSB2YWx1ZSB0byAxLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MTg4CgoyMDE1LTA0LTE1IDE1OjIyOjM3ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IGZpeCBjYXBzIGxlYWsgaW4gZ3N0X2dsX21peGVyX3BhZF9zaW5rX2dldGNhcHMoKQoJICBDYXBzIHJlZmNvdW50aW5nIHdhcyBhbGwgd3JvbmcgaW4gdGhpcyBmdW5jdGlvbi4gUmV3cm90ZSBpdCBhbmQgYWRkIHNvbWUKCSAgY29tbWVudHMgdG8gbWFrZSBpdCBjbGVhcmVyLgoJICBGaXggY2FwcyBsZWFrcyB3aXRoIHRoZQoJICB2YWxpZGF0ZS5maWxlLmdsdmlkZW9taXhlci5zaW1wbGUucGxheV8xNXMuc3luY2hyb25pemVkIHNjZW5hcmlvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3OTE1CgkgIFNpZ25lZC1vZmYtYnk6IEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKMjAxNS0wNC0yMCAxNzowODoyMyArMTAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IGF2b2lkIGltcGxpY2l0IGNvbG9yIGNvbnZlcnNpb25zCgkgIFJld29yayB0aGUgR0wgdGV4dHVyZSBjb2RlIGEgbGl0dGxlIHRvIGF2b2lkIGltcGxpY2l0IGNvbG9yIGNvbnZlcnNpb24gaW5zaWRlCgkgIEFWRi9WVCBvbiBib3RoIGlPUyBhbmQgT1NYLgoKMjAxNS0wNC0xOSAwMToxNTowNyArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5tOgoJICBjb3JldmlkZW90ZXh0dXJlY2FjaGU6IGZyZWUgdGV4dHVyZSBjYWNoZSBvbiBpT1MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODEyMgoKMjAxNS0wNC0xOSAwMToyMTo0MCArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBjaGVjayBmb3IgZmFpbHVyZSB0byBjcmVhdGUgYnVmZmVyCgkgIGdzdF9jb3JlX21lZGlhX2J1ZmZlcl9uZXcgYW5kIGdzdF9jb3JlX3ZpZGVvX3RleHR1cmVfY2FjaGVfZ2V0X2dsX2J1ZmZlcgoJICBjYW4gZmFpbCBmb3IgdmFyaW91cyBwbGF0Zm9ybSByZWFzb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MTIyCgoyMDE1LTA0LTE5IDEzOjEyOjA1ICswOTAwICBZdWppbiBMZWUgPHNhZGRvcG9wQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBmaXggYnVpbGQgZmFpbHVyZSB3aXRoIGNsYW5nCgkgIFVzZSBmYWJzIGZvciBmbG9hdGluZyBwb2ludCBpbnB1dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODEyOAoKMjAxNS0wNC0xNyAxMzo1NzozOCAtMDYwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IFJlbW92ZSB1bnVzZWQgbGF0ZW5jeSBxdWVyeSBjb2RlCgkgIFRoZSBiZWhhdmlvciBjaGFuZ2VzIGJhc2VkIG9uIHRoZSB0eXBlIG9mIHNlZ21lbnQsCgkgIG5vdCBvbiB0aGUgbGl2ZW5lc3Mgb2YgdGhlIHNvdXJjZS4KCjIwMTUtMDQtMTcgMTM6NTU6MjYgLTA2MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBDbGVhbnVwIGxhdGVuY3kgcXVlcnkgaGFuZGxpbmcKCSAgVGhlIG1pbmltdW0gbGF0ZW5jeSBpcyBhbHdheXMgMCBvciBtb3JlLiBBbmQgd2Ugc2hvdWxkCgkgIHJlcXVlcnkgdXBzdHJlYW0gYXMgaXQgbWF5IGhhdmUgY2hhbmdlZC4KCjIwMTQtMDctMTcgMTA6NTM6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBIYW5kbGUgcXVldWUvcmVsZWFzZSBlcnJvcnMgbm9uLWZhdGFsCgkgIFRoZXkgY2FuIGhhcHBlbiBzb21ldGltZXMgYXMgYSB0cmFuc2llbnQgcHJvYmxlbSwgZS5nLiBpZiB0aGVyZQoJICBpcyBhIHByb2JsZW0gaW4gdGhlIHN0cmVhbS4gT25seSBoYW5kbGUgdGhlbSBhcyBmYXRhbCBpZiBtYW55IG9mCgkgIHRoZW0gaGFwcGVuIGluIGEgcm93LgoKMjAxNS0wNC0xMSAxNjo1MzozOCArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmNwcDoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5oOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGUuaDoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZWVyb2RlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5oOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXJvZGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVyb2RlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5oOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuYzoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZGlzcGFyaXR5Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3RncmFiY3V0LmNwcDoKCSogZXh0L29wZW5jdi9nc3RncmFiY3V0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z2aWRlb2ZpbHRlci5oOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0cmV0aW5leC5jOgoJKiBleHQvb3BlbmN2L2dzdHJldGluZXguaDoKCSogZXh0L29wZW5jdi9nc3RzZWdtZW50YXRpb24uY3BwOgoJKiBleHQvb3BlbmN2L2dzdHNlZ21lbnRhdGlvbi5oOgoJKiBleHQvb3BlbmN2L2dzdHNraW5kZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3Rza2luZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guaDoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5oOgoJICBvcGVuY3Y6IENoYW5nZSBvcGVuY3YgcGx1Z2luIHRvIHVzZSBvcGVuY3YyLXN0eWxlIGluY2x1ZGVzCgkgIElmIG9sZCBvcGVuY3YxLXN0eWxlIGxlZ2FjeSBpbmNsdWRlIGRpcmVjdG9yeSBpcyBhdmFpbGFibGUsCgkgIHRoaXMgY2hhbmdlIGJlY29tZXMgcHVyZWx5IGNvc21ldGljIChtYXliZSB3aWxsIGNvbXBpbGUgYSBiaXQgZmFzdGVyKS4KCSAgSXQgYmVjb21lcyBhbiBGVEJGUyBmaXggd2hlbiBvcGVuY3YxLXN0eWxlIGluY2x1ZGUgZGlyZWN0b3J5IGlzIG1pc3NpbmcKCSAgKHBvc3NpYmx5IGJlY2F1c2Ugb3BlbmN2IHBhY2thZ2UgbWFpbnRhaW5lciBkZWNpZGVkIG5vdCB0byBwYWNrIGl0KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzcwNQoKMjAxNS0wNC0xMiAwMDo1Njo0OCArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9wZW5jdjogQ2hhbmdlIGNvbmZpZ3VyZSB0ZXN0IHRvIGNoZWNrIGZvciBPcGVuQ1YyIGhlYWRlcnMKCSAgKiBDaGVja3MgZm9yIG9wZW5jdjIgaGVhZGVycyBvbmx5LCBub3QgZm9yIGxlZ2FjeSBvcGVuY3YxIGhlYWRlcnMKCSAgKiBDaGVja3MgZm9yIGV2ZXJ5IG9wZW5jdjIgaGVhZGVyIHRoYXQgdGhlIGltcGxlbWVudGF0aW9uIG5lZWRzLAoJICBub3QganVzdCBoaWdoZ3VpX2MuaAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MTYzCgoyMDE1LTA0LTE3IDA1OjEyOjEwICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGdldCBjb25uZWN0aW9uIGFuZCBpbnB1dCBjbG9jayBlYXJseQoKMjAxNS0wNC0xNyAxNTozMjo1NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFVuaWZ5IGRlYnVnIHN0YXRlbWVudHMKCSAgVXNlIDB4JTA0eCBmb3IgUElEcwoKMjAxNS0wNC0xNyAxNTozMDoyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFVuaWZ5IGR1cmF0aW9uIHF1ZXJ5aW5nIGNvZGUKCSAgQW5kIHByb3Blcmx5IHVzZSBpdCBpbiB0aGUgU0VFS0lORyBxdWVyeS4KCSAgRml4ZXMgc2Vla2luZyB3aXRoIGdzdC1wbGF5CgoyMDE1LTA0LTE2IDE0OjE3OjA0ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBmaXggY2FwcyBsZWFrIHdoZW4gZWFybHkgcmV0dXJuaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc5OTMKCSAgU2lnbmVkLW9mZi1ieTogR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoyMDE1LTA0LTE2IDE0OjIxOjE2ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IHVucmVmIG93bmVkIGNhcHMgd2hlbiBmaW5hbGl6aW5nIHRoZSBtaXhlcgoJICBGaXggYSBjYXBzIGxlYWsgd2l0aCB0aGUKCSAgdmFsaWRhdGUuZmlsZS5nbHZpZGVvbWl4ZXIuc2ltcGxlLnBsYXlfMTVzLnN5bmNocm9uaXplZCBzY2VuYXJpby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzkxNQoJICBTaWduZWQtb2ZmLWJ5OiBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCjIwMTUtMDQtMTUgMTU6MTY6MzMgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogcGFzcyB0aGUgcHJvcGVyIGZyZWUgZnVuY3Rpb24gdG8gZnJhbWVzIGFuZCBidWZmZXJzIGFycmF5CgkgICdhcnJheV9idWZmZXJzJyBjb250YWluIGJvcnJvd2VkIEdzdEJ1ZmZlciBhbmQgc28gc2hvdWxkbid0IGhhdmUgYSBmcmVlCgkgIGZ1bmN0aW9uLiAnZnJhbWVzJyBpcyB0aGUgb25lIGNvbnRhaW5pbmcgR3N0R0xNaXhlckZyYW1lRGF0YSBhbmQgc28gc2hvdWxkIHVzZQoJICBfZnJlZV9nbG1peGVyX2ZyYW1lX2RhdGEgYXMgZnJlZSBmdW5jdGlvbi4KCSAgRml4IEdzdEdMTWl4ZXJGcmFtZURhdGEgbGVha3Mgd2l0aCB0aGUKCSAgdmFsaWRhdGUuZmlsZS5nbHZpZGVvbWl4ZXIuc2ltcGxlLnBsYXlfMTVzLnN5bmNocm9uaXplZCBzY2VuYXJpby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzkxMwoJICBTaWduZWQtb2ZmLWJ5OiBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCjIwMTUtMDQtMTcgMTU6MjA6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xkb3dubG9hZGVsZW1lbnQuYzoKCSAgZ2xkb3dubG9hZGVsZW1lbnQ6IERvd25sb2FkICpmcm9tKiBPcGVuR0wsIG5vdCBpbnRvCgoyMDE1LTA0LTE3IDA5OjI0OjEyICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBlcmljc3Nvbi5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NGVuYzogQWRkIGNvbXBsZXhpdHkgcHJvcGVydHkgZm9yIHNwZWVkL3F1YWxpdHkgdHJhZGVvZmYKCjIwMTUtMDQtMTcgMTQ6MjQ6MjggKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSAgZ2xjb250ZXh0OiBNYWtlIGdzdF9nbF9jb250ZXh0X2VnbF9hY3RpdmF0ZSBmYWlsIGlmIHRoZSBvbGQgc3VyZmFjZSBjb3VsZCBub3QgYmUgZGVzdHJveWVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYyNTEKCjIwMTUtMDQtMTcgMTA6Mzg6MTYgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x1cGxvYWRlbGVtZW50LmM6CgkgIGdsdXBsb2FkZWxlbWVudDogVW5yZWYgR3N0R0xVcGxvYWQgb2JqZWN0IGFuZCBjYXBzIGluIDo6c3RvcCgpCgkgIEZpeCBsZWFrIG9mIHRoZSBHc3RHTFVwbG9hZCBvYmplY3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgwMzMKCjIwMTUtMDQtMTcgMTQ6MDk6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xiYXNlbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYmluLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHNpbmtiaW4uYzoKCSogZXh0L2dsL2dzdGdsc3JjYmluLmM6CgkgIGdsOiBSZW1vdmUgc29tZSBlbXB0eSA6OmZpbmFsaXplKCkgaW1wbGVtZW50YXRpb25zCgoyMDE1LTA0LTE3IDE0OjA2OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZG93bmxvYWRlbGVtZW50LmM6CgkgIGdsZG93bmxvYWRlbGVtZW50OiBGaXggZWxlbWVudCBkZXNjcmlwdGlvbgoKMjAxNS0wNC0xNyAxNDowNTo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGRvd25sb2FkZWxlbWVudC5jOgoJICBnbGRvd25sb2FkZWxlbWVudDogUmVtb3ZlIHVudXNlZCA6OmZpbmFsaXplKCkgaW1wbGVtZW50YXRpb24KCjIwMTUtMDQtMTcgMTQ6MDM6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50LmM6CgkgIGdsY29sb3Jjb252ZXJ0ZWxlbWVudDogQWxzbyB1bnJlZiBjYXBzIGluIDo6c3RvcCgpIGFscmVhZHkKCSAgVGhleSBhcmUgbm90IHVzZWZ1bCBhbnltb3JlIGFmdGVyd2FyZHMsIHNvIGtlZXBpbmcgdGhlbSB1bnRpbCA6OmZpbmFsaXplKCkKCSAgbWlnaHQgb25seSBjYXVzZSBzb21lb25lIHRvIHVzZSB0aGVtIGxhdGVyIGFuZCB0aGVuIGZhaWwuCgoyMDE1LTA0LTE1IDE0OjQ5OjAyICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnRlbGVtZW50OiBmaXggR3N0R0xDb2xvckNvbnZlcnQgbGVhawoJICBjb252ZXJ0LT5jb252ZXJ0IHdhcyBuZXZlciB1bnJlZmZlZC4KCSAgVGhpcyBjYW4gYmUgcmVwcm9kdWNlIHdpdGggdGhlCgkgIHZhbGlkYXRlLmZpbGUuZ2x2aWRlb21peGVyLnNpbXBsZS5wbGF5XzE1cy5zeW5jaHJvbml6ZWQgc2NlbmFyaW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc5MTEKCjIwMTUtMDQtMTYgMjI6NDM6NTQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhyYW9wLmM6CgkgIGFwZXhzaW5rOiBGaXggYnVmZmVyIG92ZXJmbG93LCBpbiBjYXNlIGFueW9uZSBldmVyIHBvcnRzIGl0LgoJICBGaXggYSBzaW1wbGUgYnVmZmVyIG92ZXJmbG93IC0gMTYgYnl0ZXMgaXNuJ3QgZW5vdWdoIHRvIGhvbGQKCSAgdGhlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIGd1bG9uZyBvbiB4ODZfNjQuIEkgZ3Vlc3MgdGhlCgkgIGludGVudCB3YXMgdG8gZ2VuZXJhdGUgYSAzMiBiaXQgcmFuZG9tIGtleSwgc28gbGV0J3MgZG8gdGhhdC4KCSAgT25seSBtYXR0ZXJzIGlmIGFueW9uZSBldmVyIHBvcnRzIHRoZSBzaW5rIHRvIDEueAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2NTI0CgoyMDE1LTA0LTE2IDEzOjM1OjAwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogZml4IHBhZCBsZWFrIHdoZW4gbm90IGFkZGluZyBhIG5ldyBwYWQgYWZ0ZXIgbm8tbW9yZS1wYWRzCgoyMDE1LTA0LTA5IDE3OjM1OjU1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGZpeCBzZWdtZW50IHBvc2l0aW9uIHRyYWNraW5nIGZvciB0aGUgZ2VuZXJhbCBjYXNlCgkgIERpZmZlcmVudCBzdHJlYW1zIGNhbiBoYXZlIGRpZmZlcmVudCBQVFMvRFRTIGJhc2VzLCBhbmQgc29tZQoJICBzdHJlYW1zIG1heSBub3QgZXZlbiBoYXZlIERUUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwMgoKMjAxNS0wNC0xNiAxMDo0Mjo0NSArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkgIGdsY29udGV4dDogTWFrZSBnc3RfZ2xfY29udGV4dF9lZ2xfYWN0aXZhdGUgZmFpbCBpZiB0aGUgc3VyZmFjZSBjb3VsZCBub3QgYmUgY3JlYXRlZAoJICBBbHNvIGFkZCBzb21lIGVycm9yIGxvZ2dpbmcuCgoyMDE1LTA0LTE1IDIxOjA3OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBEb24ndCB1bnJlZiBidWZmZXIgdGhhdCB3YXMgdW5yZWZmZWQganVzdCBhIGZldyBsaW5lcyBiZWZvcmUgYWxyZWFkeQoKMjAxNS0wNC0xMSAwNDoyMDo0MyArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkgIEFkZCBhZGFwdGl2ZWRlbXV4LCBiYWR2aWRlbyBhbmQgYmFkYmFzZSB0byB0aGUgbGluay1saXN0IGZvciB0aGUgZG9jc2Nhbm5lcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3Njk3CgoyMDE1LTA0LTEyIDAxOjU4OjMxICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzCgkgIENvbXBsZW1lbnQgY29tbWl0IDU0OTZmZDNlNzVlNjVhNGUzODc3MTVkMGJhMDc0MDc5MGFlZmE1ZjYgYnkgcmVtb3ZpbmcKCSAgdGhlIGludm9sdmVkIHZhcmlhYmxlcy4KCjIwMTUtMDQtMTQgMjA6MzM6MjUgKzEwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IGZpeCBHTCBuZWdvdGlhdGlvbgoKMjAxNS0wNC0xNCAxODowNTozMSArMTAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogbG9nIHRpbWVzdGFtcHMKCjIwMTUtMDQtMTMgMTE6NTU6NDIgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogc3VidHJhY3QgdGltZSBzcGVudCBpbiBBVkYgcXVldWVzCgkgIFRoZSB0aW1lIHNwZW50IGluIEFWRiBxdWV1ZXMgd2FzIGJlaW5nIGluY29ycmVjdGx5IGFkZGVkIHRvIHJ1bm5pbmcgdGltZQoJICByYXRoZXIgdGhhbiBzdWJ0cmFjdGVkLgoKMjAxNS0wNC0xMSAwNzozODo1NyArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBmaXggR0wgdGV4dHVyZSBuZWdvdGlhdGlvbgoJICBHU1RfVklERU9fR0xfVEVYVFVSRV9VUExPQURfTUVUQV9BUElfVFlQRSBzaG91bGQgbm8gbG9uZ2VyIGJlIHVzZWQuCgkgIEluc3RlYWQsIGp1c3QgZ2V0IHRoZSBHTCBjb250ZXh0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MzUyCgoyMDE1LTA0LTEzIDE5OjQwOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5jOgoJICBkdGxzZGVjOiBGaXggdHlwbwoKMjAxNS0wNC0xMyAxOTo0MDoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVjLmM6CgkgIGR0bHNzcnRwZGVjOiBBZGQgc29tZSBtb3JlIGRlYnVnIG91dHB1dAoKMjAxNS0wNC0xMyAxOTo0MDowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogQWRkIHNvbWUgbW9yZSBkZWJ1ZyBvdXRwdXQKCjIwMTUtMDQtMTAgMDk6MzQ6MDEgKzA5MDAgIFl1amluIExlZSA8c2FkZG9wb3BAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZW5hYmxlIHBsYXliYWNrIG9mIGNvbnRlbnQgd2l0aCB0ZXh0IHN0cmVhbXMKCSAgVGhlcmUgaXMgYSBwbGF5YmFjayBlcnJvciB3aGVuIHRyeWluZyB0byBwbGF5IGEgY29udGVudCB0aGF0CgkgIGhhcyAnYXBwbGljYXRpb24nIG1pbWVUeXBlLiBUaGlzIGNvbW1pdCBwcmV2ZW50cyBhbiBleGNlcHRpb24gZnJvbQoJICBzZXR1cCB0ZXh0IHN0cmVhbXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc1MjUKCjIwMTUtMDQtMTIgMTM6MDE6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJICB3aW5rczogUmVzZXQgRFRTIHRvIEdTVF9DTE9DS19USU1FX05PTkUKCSAgT3RoZXJ3aXNlIHdlIG1pZ2h0IGdldCBhIHByZXZpb3VzIERUUyBzZXQgZnJvbSBhIHJlY3ljbGVkIGJ1ZmZlciB0aGF0IHdlIGdldAoJICBiYWNrIGZyb20gYSBidWZmZXIgcG9vbCwgd2hpY2ggdGhlbiBjb25mdXNlcyBzeW5jaHJvbml6YXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc3MjIKCjIwMTUtMDMtMjggMTU6NDQ6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJICBhbWM6IFVzZSBuZXcgSk5JIHV0aWxzIGFsbW9zdCBldmVyeXdoZXJlCgoyMDE1LTAzLTI4IDE1OjQ4OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmg6CgkgIGFtYzogQWxsb3cgY3JlYXRpbmcgZ2xvYmFsIGFuZCBsb2NhbCByZWZlcmVuY2VzIG9mIG9iamVjdHMKCjIwMTUtMDMtMjggMTU6MjE6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuaDoKCSAgYW1jOiBNYWtlIEdFcnJvciBhcmd1bWVudCBvcmRlciBtb3JlIGNvbnNpc3RlbnQKCjIwMTUtMDMtMjggMTU6MDg6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuaDoKCSAgYW1jOiBBZGQgaGVscGVyIGZ1bmN0aW9uIGZvciBnZXR0aW5nIGEgZGlyZWN0IGJ1ZmZlciBhcnJheQoKMjAxNS0wMy0yOCAxNTowODowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5oOgoJICBhbWM6IEphdmEgbG9uZ3MgYXJlIGdpbnQ2NHMKCjIwMTUtMDMtMjggMTQ6MzE6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuaDoKCSAgYW1jOiBJbXByb3ZlIEpOSSB1dGlsaXRpZXMgYW5kIGFkZCBzb21lIG1pc3Npbmcgb25lcwoJICBXZSBub3cgZmlsbCBHRXJyb3JzIGZvciBldmVyeXRoaW5nIHRoYXQgY291bGQgdGhyb3cgYW4gZXhjZXB0aW9uLCBhbmQgbWV0aG9kCgkgIGNhbGxzIG5vdyBhbHdheXMgcmV0dXJuIGEgZ2Jvb2xlYW4gYW5kIHRoZWlyIHZhbHVlIGluIGFuIG91dC1wYXJhbWV0ZXIgdG8KCSAgZGlzdGluZ3Vpc2ggZmFpbHVyZXMgZnJvbSBvdGhlciB2YWx1ZXMuCgoyMDE1LTA0LTExIDE5OjM1OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBGaXggbGFzdCBjb21taXQKCjIwMTUtMDQtMTEgMTk6MTc6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsOiBSZW1vdmUgaU9TL0VBR0wgd29ya2Fyb3VuZCBmb3IgUi9SRyB0ZXh0dXJlcwoJICBUaGlzIHNob3VsZCBiZSB1bm5lZWRlZCBub3cgYWZ0ZXIgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjUwNwoKMjAxNS0wNC0xMSAxOToxNDozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogQWRkIGNvcnJlY3QgY2hlY2sgZm9yIFJHL1IgdGV4dHVyZXMgaW4gZ2xjb2xvcmNvbnZlcnQgdG9vCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1MDcKCjIwMTUtMDQtMTEgMTI6MTI6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSAgd2lua3M6IGZpeCBkZWJ1ZyBtZXNzYWdlIHBhcmFtZXRlciBmb3JtYXQKCSAgVGhlIGZpcnN0IHBhcnQgb2YgdGhlIEdVSUQgc3RydWN0dXJlIGlzIGEgRFdPUkQKCSAgd2hpY2ggaXMgZGVmaW5lZCBhcyBhbiB1bnNpZ25lZCBsb25nLCBzbyB3ZSBuZWVkCgkgIHRvIGVpdGhlciBjYXN0IG9yIHVzZSAlMDhseC4KCjIwMTUtMDQtMTAgMjA6MjU6NDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5oOgoJICBwY2FwcGFyc2U6IFRha2UgYnVmZmVyIGRpcmVjdGx5IGZyb20gdGhlIGFkYXB0ZXIKCSAgTm8gbmVlZCB0byBtYWtlIGEgY29weSBpbnRvIGEgbmV3IGJ1ZmZlciwganVzdCB0YWtlIHRoZSBkYXRhCgkgIGZyb20gdGhlIGFkYXB0ZXIuCgoyMDE1LTA0LTEwIDIwOjE1OjUyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBQcm9kdWNlIEdzdEJ1ZmZlckxpc3QKCjIwMTUtMDQtMTAgMTY6MjM6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiByZW1vdmUgdW51c2VkIGF0dHJpYnV0ZSBhbmQgcmVsYXRlZCBwYWQgcHJvYmUKCSAgVGhlIHZhcmlhYmxlIHdhcyBuZXZlciBzZXQgdG8gdHJ1ZSBhbmQgY2FuIGJlIHJlbW92ZWQgYWxvbmcKCSAgd2l0aCB0aGUgcHJvYmUgaW4gd2hpY2ggaXQgdXNlZCB0byBhY3QKCjIwMTUtMDMtMzEgMTc6MTA6NDUgKzAxMDAgIEFudG9uIE9iemhpcm92IDxvYnpoaXJvdkB5YWhvby5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSAgZ2xiYXNlZmlsdGVyOiBhdm9pZCBzZWdmYXVsdCB3aGVuIGdsIHBsYXRmb3JtIGlzIG5vdCBhdmFpbGFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzEyNAoKMjAxNS0wNC0wOSAxNjoyMDo0NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIHRlc3RzOiBmaXggdHlwZSBtaXNtYXRjaCBpbiB2YXJhcmdzIHBhc3NpbmcKCSAgQSBiaXRtYXNrIGlzIDY0IGJpdHMsIGJ1dCBpbnRlZ2VyIGltbWVkaWF0ZXMgYXJlIHBhc3NlZCBhcyBpbnQKCSAgaW4gdmFyYXJncywgd2hpY2ggaGFwcGVuIHRvIGJlIDMyIGJpdCB3aXRoIGhpZ2ggcHJvYmFiaWxpdHkuCgkgIFRoaXMgdHJpZ2dlcmVkIGEgdmFsZ3JpbmQganVtcC1yZWxpZXMtb24tdW5pbml0YWxpemVkLXZhbHVlCgkgIHJlcG9ydCB3ZWxsIGF3YXkgZnJvbSB0aGUgc2l0ZSwgc2luY2UgaXQgZG9lc24ndCB0cmlnZ2VyIG9uCgkgIHN0YWNrIGFjY2Vzc2VzLCBhbmQgdGhlcmUgbXVzdCBoYXZlIGJlZW4gZW5vdWdoIHplcm9lcyB0byBzdG9wCgkgIGdfb2JqZWN0X3NldCBhdCB0aGUgcmlnaHQgcGxhY2UuCgoyMDE0LTA4LTIwIDEzOjQ2OjEyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGhhbmRsZSBzZWVrcyB3aXRoIG5vIHRhcmdldCAoaWUsIGtlZXAgY3VycmVudCBwb3NpdGlvbikKCSAgU3VjaCBzZWVrcyBhcmUgdXNlZCB0byBjaGFuZ2UgcGxheWJhY2sgcmF0ZSBhbmQgd2UgZG8gbm90IHdhbnQKCSAgdG8gYWx0ZXIgdGhlIHBvc2l0aW9uIGluIHRoYXQgY2FzZSwgc28gd2UgYnlwYXNzIHRoZSBmbHVzaC9zZWVrCgkgIGxvZ2ljLCBhbmQgc2V0IHRoaW5ncyB1cCBzbyBhIG5ldyBzZWdtZW50IGlzIHNjaGVkdWxlZCB0byBiZQoJICByZWdlbmVyYXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTEwMAoKMjAxNS0wMy0yNiAxMzo0NjoxNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmg6CgkgIHRzcGFyc2U6IGZpeCB0aW1lc3RhbXBzIG5vdCB1cGRhdGluZyBhZnRlciBhIFBNVCBjaGFuZ2UKCSAgVGhlIFBDUnMgc3RheSBsb2NrZWQgb250byB0aGUgc2FtZSBQSUQgYXMgYmVmb3JlIHRoZSBjaGFuZ2UsCgkgIGJ1dCB0aGUgcmVsZXZhbnQgUElEIGhhcyBubyByZWFzb24gdG8gYmUgdGhlIHNhbWUgYWZ0ZXIgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDIKCjIwMTUtMDMtMjQgMTI6NTY6NTMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogc2VuZCBuZXcgc2VnbWVudCB3aGVuIGEgc3RyZWFtIGlzIGFkZGVkCgkgIFRoaXMgd2lsbCBoYXBwZW4gd2hlbiB0aGUgUE1UIGNoYW5nZXMsIHJlcGxhY2luZyBzdHJlYW1zIHdpdGgKCSAgbmV3IG9uZXMuIEluIHRoYXQgY2FzZSwgd2UgbmVlZCB0byBhY2N1bXVsYXRlIHRoZSBydW5uaW5nIHRpbWUKCSAgZnJvbSB0aGUgcHJldmlvdXMgY2hhaW4gaW4gdGhlIHNlZ21lbnQgYmFzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwMgoKMjAxNS0wMy0wOSAwOTo1NjozOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBrZWVwIHRyYWNrIG9mIGN1cnJlbnQgcG9zaXRpb24KCSAgVGhpcyBhbGxvd3Mgc2Vla2luZyB0byBjb3JyZWN0bHkgc2V0IHRoZSBiYXNlIG9uIHRoZSBzZWdtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTAyCgoyMDE1LTA0LTA5IDE1OjQxOjU3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrOiBEb24ndCBydW4gdGhlIHN0YXRlIGNoYW5nZSB0ZXN0IG9uIHRoZSBkdGxzIGVsZW1lbnRzCgkgIFRoZXJlIGlzbid0IHJlYWxseSBhbnkgd2F5IHRvIHRlc3QgdGhlIGVsZW1lbnRzIHN0YW5kYWxvbmUuCgoyMDE1LTA0LTA4IDE5OjI5OjQwIC0wNzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IFJlbW92ZSBicm9rZW4gdGltZXN0YW1wcy1nb2luZy1iYWNrd2FyZHMgY2hlY2sKCSAgVGhpcyB3b3VsZCd2ZSBhbHNvIHRyaWdnZXJlZCBpZiBmb3Igc29tZSByZWFzb24gdGhlIHNlZ21lbnQgd2FzIHVwZGF0ZWQKCSAgaW4gc3VjaCBhIHdheSB0aGF0IFBUUyB3ZW50IGJhY2t3YXJkcywgYnV0IHRoZSBydW5uaW5nIHRpbWUgaW5jcmVhc2VkLiBMaWtlCgkgIHdoYXQgaGFwcGVucyB3aGVuIG5vbi1mbHVzaGluZyBzZWVrcyBhcmUgZG9uZS4KCSAgV2UncmUgZG9pbmcgYSBwcm9wZXIgYnVmZmVyLWZyb20tdGhlLXBhc3QgY2hlY2sgYSBmZXcgbGluZXMgYmVsb3cgYmFzZWQgb24gdGhlCgkgIHJ1bm5pbmcgdGltZSwgd2hpY2ggaXMgdGhlIG9ubHkgdGltZSB3ZSBzaG91bGQgY2FyZSBhYm91dCBoZXJlLgoKMjAxNS0wNC0wOCAxODo1MTo1MCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuaDoKCSAga3N2aWRlb3NyYzogZml4IHN1cHBvcnQgZm9yIERWIGRldmljZXMKCjIwMTUtMDItMTAgMTM6MzI6MDAgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvd2lua3Mva3NoZWxwZXJzLmM6CgkgIGtzdmlkZW9zcmM6IG9ubHkgbGlzdCBjYXB0dXJlIGRldmljZXMKCjIwMTUtMDQtMDggMTY6NDY6MTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogVXNlIEFNX1RFU1RTX0VOVklST05NRU5UCgkgIE5lZWRlZCBieSB0aGUgbmV3IGF1dG9tYWtlIHRlc3QgcnVubmVyCgoyMDE1LTA0LTA4IDEwOjUyOjE3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmM6CgkgIG9wZW5zbGVzOiBFeHBsaWNpdGx5IHNwZWNpZnkgbGF5b3V0PWludGVybGVhdmVkIGluIGNhcHMKCSAgVGhpcyBpcyBmaW5lIHRvIGhhcmQtY29kZS4gU2VjdGlvbiA5LjEuOCBvZiB0aGUgT3BlblNMIEVTIDEuMQoJICBzcGVjaWZpY2F0aW9uLCBpdCBpcyBleHBlY3RlZCB0aGF0IG11bHRpLWNoYW5uZWwgYXVkaW8gaXMgYWx3YXlzCgkgIGludGVybGVhdmVkLgoKMjAxNS0wNC0wNyAxNTo1NzozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBEZXBlbmQgb24gb3BlbmgyNjQgPj0gMS4zLjAKCSAgUmVxdWlyZWQgZm9yIHRoZSB2ZXJzaW9uIGNoZWNrIGhlYWRlciwgYXMgYWdyZWVkIHVwb24gb24gSVJDCgoyMDE1LTA0LTA1IDA1OjM3OjA5ICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGZpeCBzZXR0aW5nIG9mIGJ1ZmZlciBvZmZzZXQgZW5kCgkgIERvbid0IHNldCBvZmZzZXQgZW5kIHRvIHJhbmRvbSB2YWx1ZXMgb2ZmIHRoZSBzdGFjay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzM1MgoKMjAxNS0wNC0wNyAxMTowOTozOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW4yNjQ6IEZpeCBHVHlwZS9nc2l6ZSB1c2FnZQoJICBnc3RvcGVuaDI2NGVuYy5jcHA6MTA4Ojc6IHdhcm5pbmc6IGRlcmVmZXJlbmNpbmcgdHlwZS1wdW5uZWQgcG9pbnRlciB3aWxsIGJyZWFrIHN0cmljdC1hbGlhc2luZyBydWxlcyBbLVdzdHJpY3QtYWxpYXNpbmddCgoyMDE1LTA0LTA3IDExOjIxOjU1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjQ6IERldGVjdCAxLjQgQVBJIGNoYW5nZQoJICBBcyBtZW50aW9ubmVkIGluIHJlbGVhc2Ugbm90ZXMgOiBBZGRlZCBuZXcgU3BzL1BwcyBzdHJhdGVnaWVzIGZvciByZWFsLXRpbWUKCSAgdmlkZW8gKHJlcGxhY2UgdGhlIG9sZCBzZXR0aW5nIHZhcmlhYmxlICdiRW5hYmxlU3BzUHBzSWRBZGRpdGlvbicgd2l0aAoJICAnZVNwc1Bwc0lkU3RyYXRlZ3knKQoKMjAxNS0wNC0wNiAyMDoyODoyMiAtMDcwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogRGlzY29ubmVjdCBtb3VzZS9rZXkgZXZlbnQgc2lnbmFsIGhhbmRsZXJzIGZyb20gd2luZG93IHdoZW4gc2h1dHRpbmcgZG93biBjb250ZXh0CgoyMDE1LTA0LTA2IDIwOjI0OjA2IC0wNzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBHdWFyZCBhZ2FpbnN0IGRpc2Nvbm5lY3RpbmcgaW52YWxpZCBzaWduYWwgaWRzCgoyMDE1LTAzLTI2IDExOjUyOjMzICswMTAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IGZpeCBtZW1vcnkgbGVhawoJICBSZXNldCB0aGUgaW50ZXJuYWwgc2VnbWVudCBiZWZvcmUgZnJlZWluZyBpdC4KCSAgbXhmX2luZGV4X3RhYmxlX3NlZ21lbnRfcGFyc2UoKSBhbGxvY2F0ZXMgZGF0YSBpbnNpZGUgdGhlIHNlZ21lbnQKCSAgKGxpa2Ugc2VnbWVudC0+ZGVsdGFfZW50cmllcykgd2hpY2ggaGF2ZSB0byBiZSBmcmVlZCB1c2luZwoJICBteGZfaW5kZXhfdGFibGVfc2VnbWVudF9yZXNldCgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2ODAzCgoyMDE1LTA0LTA0IDEwOjU2OjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc3NpbmsuYzoKCSAgaGxzc2luazogd3JpdGUgdGhlIHBsYXlsaXN0IGVuZCBtYXJrZXIgb24gRU9TCgkgIENhdGNoIEVPUyBmcm9tIHRoZSBtdWx0aWZpbGVzaW5rIGFuZCBhZGQgdGhlIGVuZGxpc3QgbWFya2VyIHRvCgkgIHRoZSBwbGF5bGlzdCB3aGVuIGl0IGhhcHBlbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzMxOQoKMjAxNS0wMy0yOSAxNzo1MzoyMyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBkb2N1bWVudCBnYXAgaGFuZGxpbmcgYmVoYXZpb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjI0OQoKMjAxNS0wMy0yNyAxOTozNjo0MiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBkcm9wIHN0YWxlIHdoaXRlIHNwYWNlIGF0IHdhcm5pbmcKCjIwMTUtMDMtMjcgMTk6Mjg6MDUgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvYWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBmaXggdHlwbyBpbiB0ZXN0IHN1aXRlCgoyMDE1LTAzLTI3IDE4OjMyOjI3IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2FnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogYWRkIGdhcCBldmVudCBoYW5kbGluZyB1bml0IHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjI0OQoKMjAxNS0wMy0xNyAyMjoxMzowNiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBpbXBsZW1lbnQgZ2FwIGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYyNDkKCjIwMTUtMDQtMDMgMTg6NTc6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGJjNzZhOGIgdG8gYzhmYjM3MgoKMjAxNS0wNC0wMyAxMTo0NjoxMiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXM6IEZpeCBpbmNvcnJlY3QgZmFsbC10aHJvdWdoIGNvbmRpdGlvbiBpbiBwcm9wZXJ0eSBnZXR0ZXIKCjIwMTItMDQtMjcgMTg6Mjk6MTQgKzAyMDAgIEd1aWxsYXVtZSBFbW9udCA8Z3VpamVtb250QGlnYWxpYS5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSogc3lzL3NobS9zaG1waXBlLmg6CgkgIHNobXNpbms6IGFkZCBhbiBzaG0tYXJlYS1uYW1lIHByb3BlcnR5CgkgIFRoZSBzaG0tYXJlYS1wcm9wZXJ0eSB0ZWxscyB0aGUgbmFtZSBvZiB0aGUgc2htIGFyZWEgdXNlZCBieSB0aGUgZWxlbWVudC4gVGhpcwoJICBpcyB1c2VmdWwgZm9yIGNhc2VzIHdoZXJlIHNobXNpbmsgaXMgbm90IGFibGUgdG8gY2xlYW4gdXAgKGNhbGxpbmcKCSAgc2htX3VubGluaygpKSwgZS5nLiBpZiBpdCBpcyBpbiBhIHNhbmRib3guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzUxMzQKCjIwMTUtMDQtMDEgMjI6MTA6MTEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFVuaWZ5IGRvd25zdHJlYW0gZmxvdyByZXR1cm4gYW5kIGZsdXNoaW5nCgkgIEFsc28gbWVhbnMgdGhhdCBoYXZpbmcgYSBub24tT0sgZG93bnN0cmVhbSBmbG93IHJldHVybgoJICB3YWtlcyB1cCB0aGUgY2hhaW4gZnVuY3Rpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MjIwCgoyMDE1LTA0LTAxIDIxOjQ1OjAxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBGbHVzaGluZyBpcyBhbHdheXMgaW4gcGFkIGxvY2ssIG5vIG5lZWQgdG8gYXRvbWljcwoJICBUaGUgdXNhZ2Ugb2YgYXRvbWljcyB3YXMgYWx3YXlzIGRvdWJ0ZnVsIGFzIGl0IHdhcyB1c2VkIHRvIHJlbGVhc2UgYQoJICBHQ29uZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MjIwCgoyMDE1LTA0LTAxIDIxOjM4OjExIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBSZXNldCBwZW5kaW5nX2VvcyBvbiBwYWQgZmx1c2gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzIyMAoKMjAxNS0wNC0wMSAyMTozNzoyNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogVW5pZnkgY29kZSB0byBzZXQgYSBwYWQgZmx1c2hpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzIyMAoKMjAxNS0wNC0wMiAxODowNTo1NSArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLm06CgkgIGxpYmdzdGdsOiBmaXggcmVuZGVyaW5nIG9uIGlPUwoJICBTdG9wIGFzc3VtaW5nIHRoYXQgdGhlIGhhbmRsZSBoYXMgYmVlbiBzZXQgYnkgdGhlIHRpbWUgLT5jcmVhdGVfY29udGV4dCBpcwoJICBjYWxsZWQuIEFmdGVyIGJjN2E3MjU5ZjM1N2IwMDY1ZGQ5NGUwNjY4YjVhODk1ZDgzZmE1M2Egc2V0X3dpbmRvd19oYW5kbGUgYWx3YXlzCgkgIGhhcHBlbnMgYWZ0ZXIgLT5jcmVhdGVfY29udGV4dCBpbiBmYWN0LgoJICBTZWUgYWxzbyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MDkwCgoyMDE1LTAzLTA2IDIxOjEyOjUyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUXVlcnkgbGF0ZW5jeSBvbiBmaXJzdCBpbmNvbWluZyBidWZmZXIuCgkgIEFuZCBrZWVwIG9uIHF1ZXJ5aW5nIHVwc3RyZWFtIHVudGlsIHdlIGdldCBhIHJlcGx5LgoJICBBbHNvLCB0aGUgX2dldF9sYXRlbmN5X3VubG9ja2VkKCkgbWV0aG9kIHJlcXVpcmVkIGJlaW5nIGNhbGxkCgkgIHdpdGggYSBwcml2YXRlIGxvY2ssIHNvIHJlbW92ZWQgdGhlIF91bmxvY2tlZCgpIHZhcmlhbnQgZnJvbSB0aGUgQVBJLgoJICBBbmQgaXQgbm93IHJldHVybnMgR1NUX0NMT0NLX1RJTUVfTk9ORSB3aGVuIHRoZSBlbGVtZW50IGlzIG5vdCBsaXZlIGFzCgkgIHdlIHRoaW5rIHRoYXQgMCB1cHN0cmVhbSBsYXRlbmN5IGlzIHBvc3NpYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzY4CgoyMDE1LTA0LTAxIDIwOjMyOjQxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IEFsbG93IGRvd25zdHJlYW0gY2FwcyB3aXRoIGEgbm9uLWRlZmF1bHQgY2hhbm5lbC1tYXNrCgkgIEluc3RlYWQgb2YgZmFpbGluZywgdGFrZSB0aGUgZG93bnN0cmVhbSBjaGFubmVsIG1hc2sgaWYgdGhlIGNoYW5uZWwKCSAgY291bnQgaXMgMS4KCjIwMTUtMDMtMzEgMTY6Mjc6MDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogRG9uJ3QgdXNlIGNvbnRleHQgaWYgbm90IHByZXNlbnQKCSAgQXZvaWRzIGFzc2VydGlvbnMgYXQgcnVudGltZQoKMjAxNS0wMy0zMSAxMToyNDo1NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9NYWtlZmlsZS5hbToKCSAgaW50cm9zcGVjdGlvbjogRG9uJ3QgdXNlIGctaXItc2Nhbm5lciBjYWNoZSBhdCBjb21waWxlIHRpbWUKCSAgSXQgcG9sbHV0ZXMgdXNlciBkaXJlY3RvcmllcyBhbmQgd2UgZG9uJ3QgbmVlZCB0byBjYWNoZSBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MDk1CgoyMDE1LTAzLTMxIDEwOjUzOjU1ICswMTAwICBWaWN0b3IgVG9zbyA8dmljdG9ydG9zb0ByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuaDoKCSAgZGlyZWN0c291bmRzcmM6IEltcGxlbWVudCB2b2x1bWUgYW5kIG11dGUKCSAgVXNpbmcgdGhlIE1peGVyQVBJIGFzIElEaXJlY3RTb3VuZENhcHR1cmVCdWZmZXIgZG9lc24ndCBpbXBsZW1lbnQgdm9sdW1lCgkgIGNvbnRyb2wuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQzODMKCjIwMTUtMDMtMzAgMTM6NDk6MDEgKzAxMDAgIEFudG9uIE9iemhpcm92IDxvYnpoaXJvdkB5YWhvby5jby51az4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZXh0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkgIGdsZWZmZWN0czogcG9ydCBhbGwgZWZmZWN0cyB0byBHTEVTMi4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU5NTUKCjIwMTUtMDMtMjggMTE6NDA6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzc2luay5jOgoJICBobHNzaW5rOiBpbXBsZW1lbnQgYSBjaGFpbl9saXN0IHRvIHJlcXVlc3Qga2V5IHVuaXQgZm9yIHNlZ21lbnRzCgkgIHVwc3RyZWFtIG1pZ2h0IHNlbmQgYnVmZmVyIGxpc3RzIGluc3RlYWQgb2YgYnVmZmVycyBhbmQgaGxzc2luaydzCgkgIHByb2JlIHdvbid0IGdldCBjYWxsZWQgYW5kIGEgbmV3IHNlZ21lbnQgd29uJ3QgYmUgY3JlYXRlZCB3aGVuIG5lZWRlZC4KCSAgVGhpcyBwYXRjaCBmaXhlcyBpdCBieSBhZGRpbmcgYSBjaGFpbl9saXN0IGZ1bmN0aW9uIHRvIHRoZSBzaW5rIHBhZAoJICB0aGF0IHdpbGwganVzdCBwYXNzIHRocm91Z2ggdGhlIHdob2xlIGJ1ZmZlcmxpc3QgaWYgbm8gc2VnbWVudCBuZWVkcwoJICB0byBiZSByZXF1ZXN0ZWQgYXQgdGhlIG1vbWVudCBvciBjb252ZXJ0IHRoZSBsaXN0IGludG8gYnVmZmVycyB0bwoJICBjaGVjayB0aGUgcHJvcGVyIHRpbWVzdGFtcCB0byByZXF1ZXN0IHRoZSBuZXh0IGtleS11bml0IHRoYXQgd2lsbAoJICBzdGFydCB0aGUgc2VnbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjkwNgoKMjAxNS0wMy0yOCAxNzoyODozNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogcmVzdXJyZWN0IHNvbWUgZmxvdyByZXR1cm4gaGFuZGxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDU3MgoKMjAxNS0wMy0yOCAxNzoyODoyNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiByZXN1cnJlY3Qgc29tZSBmbG93IHJldHVybiBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NTcyCgoyMDE1LTAzLTI3IDAwOjI3OjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGRvIG5vdCB0cnkgdG8gYWR2YW5jZSBmcmFnbWVudCBpZiB0aGVyZSBpcyBub25lCgkgIEl0IG1pZ2h0IHJldHVybiBPSyBmcm9tIHN1YmNsYXNzZXMgYW5kIGl0IGNvdWxkIGNhdXNlIGEgYml0cmF0ZQoJICByZW5lZ290aWF0aW9uLiBGb3IgREFTSCBhbmQgTVNTIHRoYXQgaXMgb2sgYXMgdGhleSB3b24ndCBleHBvc2UKCSAgbmV3IHBhZHMgYXMgcGFydCBvZiB0aGlzIGJ1dCBpdCBjYW4gY2F1c2UgaXNzdWVzIGZvciBITFMgYXMKCSAgaXQgd2lsbCBleHBvc2UgbmV3IHBhZHMsIGxlYWRpbmcgdG8gcGFkcyB0aGF0IHdpbGwgb25seSBoYXZlIEVPUwoJICB0aGF0IGNhdXNlIGRlY29kZWJpbiB0byBmYWlsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU5MDUKCjIwMTUtMDMtMjQgMTM6NTc6NTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkgIHJ0cG9wdXNwYXk6IEZvcndhcmQgc3RlcmVvIHByZWZlcmVuY2VzIGZyb20gY2FwcyB1cHN0cmVhbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NjE3CgoyMDE1LTAzLTI0IDEzOjU2OjIxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJICBydHBvcHVzcGF5OiBTZXQgdGhlIG51bWJlciBvZiBjaGFubmVscyB0byAyIGFzIHBlciBSRkMgZHJhZnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjYxNwoKMjAxNS0wMy0xNyAyMTo0OTo0MCArMDgwMCAgSnVuIFhpZSA8eGl4aTEwMTExMDExQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IHNldCBkZWZhdWx0IEBzdGFydE51bWJlciBhbmQgYWxzbyBhdm9pZCB3cm9uZyBvdmVyd3JpdGUKCSAgU2V0IGRlZmF1bHQgQHN0YXJ0TnVtYmVyIHRvIDEsIGlmIEBzdGFydE51bWJlciBpcyBtaXNzaW5nIGF0IGFsbCBsZXZlbC4KCSAgQWxzbyBhdm9pZCBpbmNvcnJlY3Qgb3ZlcndyaXRpbmcgaW5oZXJpdGVkIHZhbHVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MzQ3CgoyMDE1LTAzLTI0IDE2OjE4OjIyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvYWdncmVnYXRvcjogY2hlY2sgc2luayBjYXBzIGFyZSB2YWxpZAoKMjAxNS0wMy0yNCAxNjoxNzowMCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBSZXZlcnQgImF1ZGlvYWdncmVnYXRvcjogY2hlY2sgc2luayBjYXBzIGFyZSB2YWxpZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA2ZDRkMGQxY2RmN2M3NTMxZmJmNzJjZTM5ZTFlYWIxMjYwZDIwNTUwLgoJICBOZXZlciBwdXQgY29kZSB3aXRoIHNpZGUgZWZmZWN0cyBpbnRvIGFuIGFzc2VydGlvbiwgaXQgY2FuIGJlIGNvbXBpbGVkIG91dAoKMjAxNS0wMy0yNCAxNTo0NToyNSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhdWRpb2FnZ3JlZ2F0b3I6IGNoZWNrIHNpbmsgY2FwcyBhcmUgdmFsaWQKCSAgQ0lEICMxMjkxNjIyCgoyMDE1LTAzLTI0IDE1OjEzOjUyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBmYWxsIHRocm91Z2ggc3dpdGNoIHN0YXRlbWVudAoJICBBZGRpbmcgYSBjb21tZW50IG1ha2VzIGNvdmVyaXR5IGhhcHB5IGFuZCBxdWVsbHMgdGhlIGlzc3VlLgoJICBDSUQgMTI5MTYyOQoKMjAxNS0wMy0yNCAxOTowNTowMCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvcnBhZC5oOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IERvY3VtZW50IHdoeSBidWZmZXJfdmluZm8gaXMgbmVlZGVkCgoyMDE1LTAzLTI0IDE5OjA0OjI2ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogQ2hlY2sgaWYgdGhlcmUncyBhIHByZXZpb3VzIGJ1ZmZlciB0byAna2VlcCcKCSAgSWYgd2Ugd2FudCB0byBrZWVwIGEgcHJldmlvdXMgYnVmZmVyIGJ1dCB0aGVyZSdzIG5vIHByZXZpb3VzIGJ1ZmZlciwgd2UgYWN0dWFsbHkKCSAgbmVlZCBtb3JlIGRhdGEgaW5zdGVhZC4KCjIwMTUtMDMtMjMgMTY6NDM6MDEgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkgIGdsL2Rpc3BtYW54OiBzdXJmYWNlbGVzcyBFR0wgY29udGV4dCBzdXBwb3J0CgkgIFNob3cgdGhlIERpc3BtYW5YIHdpbmRvdyBvbmx5IGlmIHRoZXJlJ3Mgbm8gc2hhcmVkIGV4dGVybmFsIEdMIGNvbnRleHQKCSAgc2V0IHVwLiBXaGVuIGEgd2luZG93IGlzIHJlcXVpcmVkIGJ5IHRoZSBjb250ZXh0IGEgdHJhbnNwYXJlbnQKCSAgRGlzcG1hblggZWxlbWVudCBpcyBjcmVhdGVkIGFuZCBsYXRlciBvbiBtYWRlIHZpc2libGUgYnkgdGhlIDo6c2hvdwoJICBtZXRob2QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY2MzIKCjIwMTUtMDMtMjMgMTU6MDk6MzMgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkgIGdhdWRpZWZmZWN0czogY2xlYW4gc29sYXJpemUgY29kZQoKMjAxNS0wMy0yMyAxNDozOTo1NiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJICBnYXVkaWVmZmVjdHM6IHJlbW92aW5nIHZhbHVlcyBvbmx5IHVzZWQgb25jZQoKMjAxNS0wMy0yMyAxMToxMzoyNCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuaDoKCSAgZ2F1ZGllZmZlY3RzOiBzbWFsbCBjbGVhbnVwIGluIGhlYWRlcnMKCjIwMTUtMDMtMjMgMTM6MTU6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IFNldCBvdXRwdXQgZm9ybWF0IGltbWVkaWF0ZWx5IGFmdGVyIGNyZWF0aW5nIHRoZSBlbmNvZGVyIGluc3RhbmNlCgkgIFdlIGtub3cgdGhlIGNhcHMgYnkgdGhlbiwgdGhlcmUncyBubyBuZWVkIHRvIHdhaXQgdW50aWwgd2UgYWN0dWFsbHkgcmVjZWl2ZQoJICB0aGUgZmlyc3QgYnVmZmVyLgoKMjAxNS0wMy0yMyAxMzoxMzozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJICBvcHVzZW5jOiBSZW1vdmUgYW5vdGhlciB1bnVzZWQgdmFyaWFibGUKCjIwMTUtMDMtMjMgMTM6MTE6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJICBvcHVzZW5jOiBSZW1vdmUgdXNlbGVzcyBoZWFkZXJzIGFuZCBoZWFkZXJfc2VudCB2YXJpYWJsZXMgZnJvbSB0aGUgaW5zdGFuY2Ugc3RydWN0CgkgIFRoZXkgYXJlIG9ubHkgdXNlZCBpbnNpZGUgYSBzaW5nbGUgZnVuY3Rpb24uCgoyMDE1LTAzLTIzIDEyOjI0OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSAgb3B1czogSGFuZGxlIHNwcm9wLXN0ZXJlbyBhbmQgc3Byb3AtbWF4Y2FwdHVyZXJhdGUgUlRQIGNhcHMgZmllbGRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY2MTcKCjIwMTUtMDMtMjMgMTI6MDk6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IFRha2UgY2hhbm5lbHMgYW5kIHNhbXBsZSByYXRlIGZyb20gdGhlIGNhcHMgaWYgd2UgaGF2ZSBubyBzdHJlYW0gaGVhZGVyCgoyMDE1LTAzLTIzIDEyOjA3OjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBSZXNldCB0aGUgZGVjb2RlciBpZiB0aGUgY2FwcyBjaGFuZ2UKCjIwMTUtMDMtMjMgMTE6NTc6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IFRha2Ugb3V0cHV0IHNhbXBsZSByYXRlIGZyb20gdGhlIHN0cmVhbSBoZWFkZXJzIHRvbwoJICBUaGlzIHdheSB3ZSBsZXQgb3B1c2RlYyBkbyB0aGUgcmVzYW1wbGluZyBpZiBuZWVkZWQgYW5kIGRvbid0IGNhcnJ5CgkgIGFyb3VuZCBidWZmZXJzIHdpdGggYSB0b28gaGlnaCBzYW1wbGUgcmF0ZSBpZiBub3QgcmVxdWlyZWQuCgkgIFdoaWxlIE9wdXMgYWx3YXlzIHVzZXMgNDhrSHogaW50ZXJuYWxseSwgdGhpcyBpbmZvcm1hdGlvbiBmcm9tIHRoZQoJICBoZWFkZXIgc3BlY2lmaWVzIHdoaWNoIGZyZXF1ZW5jaWVzIGFyZSBzYWZlIHRvIGRyb3AuCgoyMDE1LTAzLTIzIDExOjU2OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJICBvcHVzaGVhZGVyOiBQdXQgbnVtYmVyIG9mIGNoYW5uZWxzIGFuZCBzYW1wbGUgcmF0ZSBpbnRvIHRoZSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY2MTcKCjIwMTUtMDMtMjIgMTk6MTI6MTUgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsd2luZG93OiByZW1vdmUgdW51c2VkIGdsX3RocmVhZCBmaWVsZAoKMjAxNS0wMy0yMiAxOTowMzoxOSArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsZGlzcGxheTogZml4IEdUaHJlYWQgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NTQxCgoyMDE1LTAzLTIwIDE4OjMzOjQ1ICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogZml4IGNhcHMgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NTQxCgoyMDE1LTAzLTE4IDExOjI1OjQyICswMTAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBBZGQgc3VwcG9ydCBmb3IgYnVmZmVyIGxpc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjM4NwoKMjAxNS0wMy0xOSAxNjoxNzo1OCArMDEwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogRG8gbm90IGRyb3AgYWxsIGJ1ZmZlcnMgaW4gYnVmZmVyIGxpc3QgaWYgb25lIGZhaWxzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYzODcKCjIwMTUtMDMtMTkgMTM6NTk6NDIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJICBnYXVkaWVmZmVjdHM6IHVwZGF0ZSBjb3B5cmlnaHQgZGF0ZXMgb2YgZGlsYXRlCgoyMDE1LTAzLTE5IDEzOjU4OjIxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSAgZ2F1ZGllZmZlY3RzOiBmYWN0b3JpemUgdHJhbnNmb3JtIGNvZGUgb2YgZGlsYXRlCgoyMDE1LTAzLTE5IDE0OjA0OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoKCSAgZHRsczogUGFzcyB0aGUgY29ubmVjdGlvbiBpbnN0YW5jZSBhcyBkYXRhIHRvIHRoZSB0aHJlYWQgcG9vbAoJICBObyBuZWVkIHRvIHJlZi91bnJlZiB0aGUgY29ubmVjdGlvbiBldmVyeSB0aW1lIHdlIHB1c2ggc29tZXRoaW5nIG9uIHRoZSBwb29sLgoJICBIb3dldmVyIHdlIGhhdmUgdG8gcHJvdmlkZSBub24tTlVMTCBkYXRhIHRvIHRoZSBwb29sLCBzbyBsZXQncyBqdXN0IGdpdmUgaXQKCSAgc29tZSBjb2ZmZWUuCgoyMDE1LTAzLTE5IDEzOjU1OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoKCSAgZHRsczogUmVtb3ZlIHVudXNlZCB0aHJlYWQgc3RydWN0IGZpZWxkCgoyMDE1LTAzLTE5IDEzOjMwOjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5jOgoJICBkdGxzOiBVc2UgYSBzaGFyZWQgdGhyZWFkIHBvb2wgZm9yIHRoZSB0aW1lb3V0cwoJICBUaGlzIHdheSB3ZSB3aWxsIHNoYXJlIHRocmVhZHMgd2l0aCBvdGhlciBEVExTIGNvbm5lY3Rpb25zIGlmIHBvc3NpYmxlLCBhbmQKCSAgZG9uJ3QgaGF2ZSB0byBzdGFydC9zdG9wIHRocmVhZHMgZm9yIHRpbWVvdXRzIGlmIHRoZXJlIGFyZSBtYW55IHRvIGJlIGhhbmRsZWQKCSAgaW4gYSBzaG9ydCBwZXJpb2Qgb2YgdGltZS4KCSAgQWxzbyB1c2UgdGhlIHN5c3RlbSBjbG9jayBhbmQgYXN5bmMgd2FpdGluZyBvbiBpdCBmb3Igc2NoZWR1bGluZyB0aGUgdGltZW91dHMuCgoyMDE1LTAzLTE4IDE4OjE3OjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoKCSAgZHRsczogU2h1dGRvd24gdGltZW91dCB0aHJlYWQgd2hlbiBpdCdzIG5vdCBuZWVkZWQKCSAgSXQgaXMgbm90IG5lZWRlZCBtb3N0IG9mIHRoZSB0aW1lIGFuZCB1c3VhbGx5IHdlIGhhdmUgYSB0aHJlYWQKCSAgaWRsaW5nIGFyb3VuZCBkb2luZyBub3RoaW5nIGFsbCB0aGUgdGltZSBhZnRlciB0aGUgZmlyc3QgZmV3IHNlY29uZHMuCgoyMDE1LTAzLTE4IDEwOjEyOjQ5IC0wNzAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC9kb2NzOiB1cGRhdGUgc29tZSBkb2MgY29tbWVudHMKCjIwMTUtMDMtMTggMTc6NDA6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmM6CgkgIGR0bHNlbmM6IENsZWFyIHRoZSBxdWV1ZSB3aGVuIGRlYWN0aXZhdGluZyB0aGUgcGFkCgoyMDE1LTAzLTE4IDE3OjM4OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmg6CgkgIGR0bHNlbmM6IEhhbmRsZSBwYWQgYWN0aXZpdHkgc3RhdGVzIHByb3Blcmx5CgoyMDE1LTAzLTE4IDE3OjM1OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5jOgoJICBkdGxzZW5jOiBEb24ndCBtYW51YWxseSBhY3RpdmF0ZS9kZWFjdGl2YXRlIHNyY3BhZAoKMjAxNS0wMy0xOCAxMDo0NzoxNSArMDEwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogU2VwYXJhdGUgYnVmZmVyIGVuY29kaW5nIGZ1bmN0aW9uYWxpdHkgaW50byBhIGRpZmZlcmVudCBmdW5jdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2Mzg3CgoyMDE1LTAzLTE4IDEwOjE2OjQxICswMTAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiBBZGQgc3VwcG9ydCBmb3IgYnVmZmVyIGxpc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjM4NwoKMjAxNS0wMy0xOCAwOTozOTo0OSArMDEwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogQWRkIG1pc3NpbmcgbG9ja3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjM4NwoKMjAxNS0wMy0xOCAwOToxNzozMSArMDEwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogU3BsaXQgY2hhaW4gZnVuY3Rpb25hbGl0eSBzbyBpdCBjYW4gYmUgcmV1c2VkIGZvciBidWZmZXIgbGlzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2Mzg3CgoyMDE1LTAzLTE4IDEzOjUyOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmg6CgkgIGR0bHNlbmM6IFVzZSBhIEdRdWV1ZSBpbnN0ZWFkIG9mIGEgR1B0ckFycmF5CgkgIFVzaW5nIGEgR1B0ckFycmF5IGFzIGEgcXVldWUgaXMgbm90IHZlcnkgZWZmaWNpZW50IGFzIHRoZSB3aG9sZQoJICBhcnJheSBoYXMgdG8gYmUgY29waWVkIHdoZW5ldmVyIGFuIGVsZW1lbnQgaXMgcmVtb3ZlZCBmcm9tIHRoZQoJICBiZWdpbm5pbmcuCgoyMDE1LTAzLTE4IDEwOjA2OjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5jOgoJICBkdGxzZGVjOiBGaXggbG9ja2luZwoJICBFc3BlY2lhbGx5IGRvbid0IGhvbGQgYW55IG11dGV4IHdoaWxlIGFkZGluZy9yZW1vdmluZyBwYWRzIG9yIHB1c2hpbmcgZGF0YS4KCjIwMTUtMDMtMTggMDk6NTc6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmM6CgkgIGR0bHNkZWM6IEFkZCBzdXBwb3J0IGZvciBidWZmZXIgbGlzdHMKCjIwMTUtMDMtMTggMDk6NDY6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5jOgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5oOgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVjLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZW5jLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZW5jLmg6CgkgIGR0bHM6IEZpeCBzb21lIHNlYXJjaCAmIHJlcGxhY2UgbWlzdGFrZXMgZnJvbSByZW5hbWluZyB0aGUgZWxlbWVudHMKCjIwMTUtMDMtMTcgMTY6NDk6NTQgKzAxMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHBlbmM6IEltcHJvdmUgbWVtb3J5IG1hbmFnZW1lbnQgb24gY2hhaW4gZnVuY3Rpb24KCSAgQXZvaWRpbmcgY29weSB0aGUgYnVmZmVyIHR3aWNlLCBvbmUgd2hpbGUgbWFwcGluZyBhbmQgb3RoZXIgd2l0aCBtZW5jcHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjM1NgoKMjAxNS0wMy0xNyAxNjo1MDo0MSArMDEwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogRml4IHR5cG8gaW4gbG9nCgoyMDE1LTAzLTE3IDExOjQzOjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2FnZW50LmM6CgkgIGR0bHM6IEluaXRpYWxpemUgZGVidWcgY2F0ZWdvcnkgZWFybGllcgoJICBPdGhlcndpc2UgdGhlIG9wZW5zc2wgaW5pdGlhbGl6YXRpb24gd2lsbCB1c2UgaXQgYmVmb3JlIGluaXRpYWxpemF0aW9uCgoyMDE0LTExLTEzIDIwOjM5OjExIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW50ZXJsZWF2ZS5jOgoJICBhdWRpb2ludGVybGVhdmU6IEFkZCB1bml0IHRlc3RzCgkgIEFsbW9zdCBhIGNvcHkgb2YgdGhlICJpbnRlcmxlYXZlIiB1bml0IHRlc3RzLCBpbXByb3ZlZCB0byBzdXBwb3J0CgkgIHRoZSB0aHJlYWQgb24gdGhlIHNyYyBwYWQgb24gR3N0QWdncmVnYXRvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDIzNgoKMjAxNS0wMy0wNiAxMzo0OTo0OCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2ludGVybGVhdmUuaDoKCSAgYXVkaW9pbnRlcmxlYXZlOiBTZXQgc3JjIGNhcHMgaW4gYWdncmVnYXRlCgkgIFRoaXMgcHJldmVudHMgcmFjZXMgYmV0d2VlbiB0aGUgc2V0Y2FwcyBvZiB0aGUgc2luayBwYWRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAyMzYKCjIwMTQtMTEtMTMgMTU6NDA6MTUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9pbnRlcmxlYXZlLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvaW50ZXJsZWF2ZS5oOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvaW50ZXJsZWF2ZTogQWRkIGludGVybGVhdmUgZWxlbWVudCBiYXNlZCBvbiBhdWRpb2FnZ3JlZ2F0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDIzNgoKMjAxNS0wMy0wNiAxNjo1MToxMiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhdWRpb2FnZ3JlZ2F0b3I6IFByaW50IGEgbWVzc2FnZSB3aGVuIGEgYnVmZmVyIGlzIGxhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDIzNgoKMjAxNC0xMS0xNSAxNzo1NDo1MSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhdWRpb2FnZ3JlZ2F0b3I6IERvbid0IHJlLXNlbmQgdGhlIGNhcHMgaWYgdGhleSBkaWQgbm90IGNoYW5nZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMjM2CgoyMDE0LTExLTA2IDE3OjE1OjE3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuaDoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmg6CgkgIGF1ZGlvYWdncmVnYXRvcjogU3BsaXQgYmFzZSBjbGFzcyBmcm9tIGF1ZGlvbWl4ZXIKCSAgQWxzbzoKCSAgLSAgRG9uJ3QgbW9kaWZ5IHNpemUgb24gZWFybHkgYnVmZmVyCgkgIFRoZSBzaXplIGlzIHRoZSBzaXplIG9mIHRoZSBidWZmZXIsIG5vdCBvZiByZW1haW5pbmcgcGFydC4KCSAgLSBVc2UgdGhlIGlucHV0IGNhcHMgd2hlbiBtYW5pcHVsYXRpbmcgdGhlIGlucHV0IGJ1ZmZlcgoJICBBbHNvIHN0b3JlIGluIGluIHRoZSBzaW5rIHBhZAoJICAtIFJlcGx5IHRvIHRoZSBwb3NpdGlvbiBxdWVyeSBpbiBieXRlcyB0b28KCSAgLSBQdXQgR0FQIGZsYWcgb24gb3V0cHV0IGlmIGFsbCBpbnB1dHMgYXJlIEdBUCBkYXRhCgkgIC0gT25seSB0cnkgdG8gY2xpcCBidWZmZXIgaWYgdGhlIGluY29taW5nIHNlZ21lbnQgaXMgaW4gdGltZSBvciBzYW1wbGVzCgkgIC0gVXNlIGluY29taW5nIHNlZ21lbnQgd2l0aCBpbmNvbWluZyB0aW1lc3RhbXAKCSAgSGFuZGxlIG5vbi10aW1lIHNlZ21lbnRzIGFuZCBOT05FIHRpbWVzdGFtcHMKCSAgLSBEb24ndCByZXNldCB0aGUgcG9zaXRpb24gd2hlbiBwdXNoaW5nIG91dCBuZXcgY2FwcwoJICAtIE1ha2UgYSBudW1iZXIgb2YgbWVtYmVyIHZhcmlhYmxlcyBwcml2YXRlCgkgIC0gQ29ycmVjdGx5IGhhbmRsZSBjYXNlIHdoZXJlIG5vIHBhZCBoYXMgYSBidWZmZXIKCSAgSWYgbm9uZSBvZiB0aGUgcGFkcyBoYXZlIGJ1ZmZlcnMgdGhhdCBjYW4gYmUgaGFuZGxlZCwgZG9uJ3QgY2xhaW0gdG8gYmUgRU9TLgoJICAtIEVuc3VyZSBwcm9wZXIgbG9ja2luZwoJICAtIE9ubHkgc3VwcG9ydCB0aW1lIHNlZ21lbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAyMzYKCjIwMTUtMDMtMDcgMjI6MDg6NDAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQG9jcmV0ZS5jYT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogUmVsZWFzZSBwYWQgb2JqZWN0IGxvY2sgYmVmb3JlIGRyb3BwaW5nIGJ1ZmZlcgoJICBPdGhlcndpc2UsIHRoZSBsb2NraW5nIG9yZGVyIGlzIHZpb2xhdGVkIGFuZCBkZWFkbG9ja3MgaGFwcGVuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzY4CgoyMDE1LTAzLTA2IDIwOjIyOjEzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBPbmx5IGlnbm9yZSBwYWRzIHdpdGggbm8gYnVmZmVycyBvbiB0aW1lb3V0CgkgIFdoZW4gdGhlIHRpbWVvdXQgaXMgcmVhY2hlZCwgb25seSBpZ25vcmUgcGFkcyB3aXRoIG5vIGJ1ZmZlcnMsIGl0ZXJhdGUKCSAgb3ZlciB0aGUgb3RoZXIgcGFkcyB1bnRpbCBhbGwgYnVmZmVycyBoYXZlIGJlZW4gcmVhZC4gVGhpcyBpcyBpbXBvcnRhbnQKCSAgaW4gdGhlIGNhc2VzIHdoZXJlIHRoZSBpbnB1dCBidWZmZXJzIGFyZSBzbWFsbGVyIHRoYW4gdGhlIG91dHB1dCBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3NjgKCjIwMTUtMDMtMDYgMjE6MTI6MTMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEJlIG1vcmUgYWdncmVzc2l2ZSB3aXRoIGludmFsaWQgcmVwbGllcyB0byBvdXIgbGF0ZW5jeSBxdWVyeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzY4CgoyMDE1LTAzLTA2IDIwOjI1OjAzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBPbmx5IGFkdmFuY2UgYnkgdGhlIGJ1ZmZlciBzaXplIHdoZW4gYSBidWZmZXIgaXMgbGF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzY4CgoyMDE1LTAzLTE2IDE3OjQ5OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2FnZW50LmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNjZXJ0aWZpY2F0ZS5jOgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5jOgoJICBkdGxzOiBtYWtlIHN1cmUgd2UgYWN0dWFsbHkgbG9nIGludG8gdGhlIHJpZ2h0IGRlYnVnIGNhdGVnb3J5CgkgIEdTVF9EVExTX1VTRV9HU1RfTE9HIGlzIG5vdCBkZWZpbmVkIGFueXdoZXJlLCBzbwoJICB3ZSdkIGp1c3QgbG9nIGludG8gdGhlIGRlZmF1bHQgY2F0ZWdvcnkgYnkgYWNjaWRlbnQuCgkgIFdlIHVzZSB0aGUgZ3N0IGxvZ2dpbmcgc3lzdGVtIHVuY29uZGl0aW9uYWxseSBub3csCgkgIHNvIG1pZ2h0IGp1c3QgYXMgd2VsbCByZW1vdmUgdGhpcyAjaWYgI2Vsc2UuCgoyMDE1LTAzLTE2IDE3OjM2OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2FnZW50LmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmM6CgkgIGR0bHM6IGZpeCBzb21lIG1vcmUgY29tcGlsZXIgd2FybmluZ3MKCSAgZ2NjLTQuOS4yOgoJICBnc3RkdGxzYWdlbnQuYzoxMTQ6MTogZXJyb3I6IG9sZC1zdHlsZSBmdW5jdGlvbiBkZWZpbml0aW9uCgkgIGdzdGR0bHNjb25uZWN0aW9uLmM6MjUzOjM6IGVycm9yOiBJU08gQzkwIGZvcmJpZHMgbWl4ZWQgZGVjbGFyYXRpb25zIGFuZCBjb2RlCgkgIGdzdGR0bHNjb25uZWN0aW9uLmM6MjkxOjM6IGVycm9yOiBJU08gQzkwIGZvcmJpZHMgbWl4ZWQgZGVjbGFyYXRpb25zIGFuZCBjb2RlCgkgIGdzdGR0bHNjb25uZWN0aW9uLmM6MzkxOjM6IGVycm9yOiBJU08gQzkwIGZvcmJpZHMgbWl4ZWQgZGVjbGFyYXRpb25zIGFuZCBjb2RlCgkgIGdzdGR0bHNjb25uZWN0aW9uLmM6NDM0OjM6IGVycm9yOiBJU08gQzkwIGZvcmJpZHMgbWl4ZWQgZGVjbGFyYXRpb25zIGFuZCBjb2RlCgkgIGdzdGR0bHNjb25uZWN0aW9uLmM6NzczOjE6IGVycm9yOiAnQklPX3NfZ3N0X2R0bHNfY29ubmVjdGlvbicgd2FzIHVzZWQgd2l0aCBubyBwcm90b3R5cGUgYmVmb3JlIGl0cyBkZWZpbml0aW9uCgkgIGdzdGR0bHNjb25uZWN0aW9uLmM6NzczOjE6IGVycm9yOiBvbGQtc3R5bGUgZnVuY3Rpb24gZGVmaW5pdGlvbgoKMjAxNS0wMy0xNiAxNzo1MzoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL01ha2VmaWxlLmFtOgoJKiBleHQvZHRscy9nc3RkdGxzYWdlbnQuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2NlcnRpZmljYXRlLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNjb21tb24uaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlYy5jOgoJICBkdGxzOiBVbmNvbmRpdGlvbmFsbHkgdXNlIEdTdHJlYW1lciBkZWJ1ZyBsb2cgc3lzdGVtCgoyMDE1LTAzLTE2IDE3OjQ4OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2FnZW50LmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNhZ2VudC5oOgoJKiBleHQvZHRscy9nc3RkdGxzY2VydGlmaWNhdGUuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2NlcnRpZmljYXRlLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNjb21tb24uaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5oOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGJpbi5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGJpbi5oOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlYy5oOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlbXV4LmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVtdXguaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBlbmMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBlbmMuaDoKCSogZXh0L2R0bHMvcGx1Z2luLmM6CgkgIGR0bHM6IFJlLW5hbWVzcGFjZSBmcm9tIEVyIHRvIEdzdAoKMjAxNS0wMy0xNiAxNzozNToyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmM6CgkgIGR0bHM6IEZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzCgkgIGdzdGR0bHNjb25uZWN0aW9uLmM6MTI4OjMyOiBlcnJvcjogcGFzc2luZyAnY29uc3QgY2hhciBbMzBdJyB0byBwYXJhbWV0ZXIgb2YgdHlwZSAndm9pZCAqJwoJICBkaXNjYXJkcyBxdWFsaWZpZXJzIFstV2Vycm9yLC1XaW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXMtZGlzY2FyZHMtcXVhbGlmaWVyc10KCSAgU1NMX2dldF9leF9uZXdfaW5kZXggKDAsICJnc3RkdGxzYWdlbnQgY29ubmVjdGlvbiBpbmRleCIsIE5VTEwsIE5VTEwsCgkgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCSAgL3Vzci9pbmNsdWRlL29wZW5zc2wvc3NsLmg6MTk4MTo0Mzogbm90ZTogcGFzc2luZyBhcmd1bWVudCB0byBwYXJhbWV0ZXIgJ2FyZ3AnIGhlcmUKCSAgaW50IFNTTF9nZXRfZXhfbmV3X2luZGV4KGxvbmcgYXJnbCwgdm9pZCAqYXJncCwgQ1JZUFRPX0VYX25ldyAqbmV3X2Z1bmMsCgkgIF4KCSAgZ3N0ZHRsc2Nvbm5lY3Rpb24uYzo4MjI6NDA6IGVycm9yOiBhcml0aG1ldGljIG9uIGEgcG9pbnRlciB0byB2b2lkIGlzIGEgR05VIGV4dGVuc2lvbgoJICBbLVdlcnJvciwtV3BvaW50ZXItYXJpdGhdCgkgIG1lbWNweSAob3V0X2J1ZmZlciwgcHJpdi0+YmlvX2J1ZmZlciArIHByaXYtPmJpb19idWZmZXJfb2Zmc2V0LCBjb3B5X3NpemUpOwoJICB+fn5+fn5+fn5+fn5+fn5+IF4KCjIwMTUtMDMtMTYgMTc6MzQ6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzYWdlbnQuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2NlcnRpZmljYXRlLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGJpbi5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlbXV4LmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZW5jLmM6CgkqIGV4dC9kdGxzL3BsdWdpbi5jOgoJICBkdGxzOiBGaXggaW5kZW50aW9uCgoyMDE1LTAzLTE2IDE3OjMzOjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9kdGxzL01ha2VmaWxlLmFtOgoJKiBleHQvZHRscy9nc3RkdGxzYWdlbnQuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2FnZW50Lmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNjZXJ0aWZpY2F0ZS5jOgoJKiBleHQvZHRscy9nc3RkdGxzY2VydGlmaWNhdGUuaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc2NvbW1vbi5oOgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5jOgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5oOgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwYmluLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwYmluLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVjLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVjLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVtdXguYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZW11eC5oOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGVuYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGVuYy5oOgoJKiBleHQvZHRscy9wbHVnaW4uYzoKCSAgZHRsczogQWRkIG5ldyBEVExTIHBsdWdpbgoJICBUaGlzIGlzIGEgY29weSBvZiB0aGUgRXJpY3Nzb24gRFRMUyBwbHVnaW4gZnJvbQoJICBodHRwczovL2dpdGh1Yi5jb20vRXJpY3Nzb25SZXNlYXJjaC9vcGVud2VicnRjLWdzdC1wbHVnaW5zL3RyZWUvbWFzdGVyL2V4dC9lcmR0bHMvc3JjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ1ODIKCjIwMTUtMDMtMTYgMDM6NTM6MzMgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvcm9yYy5vcmM6CgkgIGNvbXBvc2l0b3I6IFJldmVydCBtb3N0IG9mIHByZXZpb3VzIHBhdGNoLgoJICBUaGUgY2FsY3VsYXRpb24gZG9lc24ndCBwcm9kdWNlIHRoZSBzYW1lIHJlc3VsdHMuCgkgIEtlZXAganVzdCB0aGUgY2hhbmdlIHRvIGRpdmlkZSBhbHBoYSBieSAyNTUgaW5zdGVhZCBvZiAyNTYsCgkgIGZvciBzbGlnaHRseSBiZXR0ZXIgYWNjdXJhY3kKCjIwMTUtMDMtMTUgMTY6NTU6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuaDoKCSAgYW5kcm9pZG1lZGlhOiBBZGQgaGVscGVycyBmb3IgY2FsbGluZyBzdGF0aWMgbWV0aG9kcwoKMjAxNS0wMy0xNSAxNjozODoyOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5oOgoJICBhbmRyb2lkbWVkaWE6IEZpeCBpbmRlbnRpb24KCjIwMTQtMDYtMDUgMTA6MzM6NTYgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuaDoKCSAgYW5kcm9pZG1lZGlhOiBBZGQgbW9yZSBKTkkgaGVscGVyIGZ1bmN0aW9ucwoKMjAxNC0wNi0wMiAxMjozNzowOSArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5oOgoJICBhbmRyb2lkbWVkaWE6IFNwbGl0IGpuaSBjb2RlIHRvIGdzdGpuaXV0aWxzLmMKCjIwMTUtMDMtMTUgMTY6MTA6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGRyb3Agc29tZSBzdXBlcmZsdW91cyBhc3NlcnRpb25zCgkgIGdfcmV0dXJuXypfaWZfZmFpbCgpIGlzIGZvciBwdWJsaWMgQVBJIHRvIGNhdGNoCgkgIHByb2dyYW1taW5nIGVycm9ycy4gRm9yIGludGVybmFsIGNvZGUsIHdlIHNob3VsZAoJICBqdXN0IHVzZSBnX2Fzc2VydCgpIHRvIGNoZWNrIGludGVybmFsIHN0YXRlLgoKMjAxNS0wMy0xNSAxNTo1NDowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICB0ZXN0czogbXBlZ3RzbXV4OiBhZGQgdGVzdCBmb3Iga2V5ZnJhbWUvZGVsdGEgZmxhZyBwcm9wYWdhdGlvbgoJICBUaGUgZmlyc3Qgb3V0cHV0IE1QRUctVFMgcGFja2V0IHRoYXQgY29ycmVzcG9uZHMgdG8gYSB2aWRlbyBpbnB1dAoJICBidWZmZXIgd2hpY2ggaGFkIHRoZSBkZWx0YSBmbGFnIGNsZWFyZWQgKGkuZS4gd2FzIGEga2V5ZnJhbWUpCgkgIHNob3VsZCBoYXZlIHRoZSBkZWx0YSBmbGFnIGNsZWFyZWQgYXMgd2VsbC4KCSAgVGhpcyBpcyBuZWVkZWQgZS5nLiBieSB0Y3BzZXJ2ZXJzaW5rIGluIG9yZGVyIHRvIGtlZXAgdHJhY2sKCSAgb2YgdGhlIGxhc3Qga2V5ZnJhbWUgYW5kIGJlIGFibGUgdG8gYnVyc3QgZGF0YSB0byBuZXdseS0KCSAgY29ubmVjdGVkIGNsaWVudHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDY4NzIKCjIwMTUtMDMtMTUgMTQ6MzU6MTUgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSAgZ2wvZG9jczogYWRkIG1pc3NpbmcgZnVuY3Rpb25zL29iamVjdHMKCjIwMTUtMDMtMTUgMTI6NTg6MjYgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2xkaXNwbGF5OiB0ZW50YXRpdmUgcHJvcGVyIGNvbnRleHQgY29sbGlzaW9uIGRldGVjdGlvbgoJICBGaXhlcwoJICB0ZWUgbmFtZT10ICEgcXVldWUgISBnbGlhbWdlc2luayB0LiAhIHF1ZXVlICEgZ2xpbWFnZXNpbmsKCjIwMTQtMDctMTggMTA6NDQ6NTkgKzAyMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IEZpeCBuYW1lc3BhY2Ugb2Ygc29tZSBpbnRlcm5hbCBmdW5jdGlvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzM0NwoKMjAxNS0wMy0xNiAwMDoyMjoxNCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yb3JjLm9yYzoKCSAgY29tcG9zaXRvcjogRml4IGJsZW5kaW5nIGZ1bmN0aW9ucwoJICBDb3JyZWN0bHkgY2FsY3VsYXRlIGFscGhhIGluIGEgZmV3IHBsYWNlcyBieSBkaXZpZGluZyBieSAyNTUsCgkgIG5vdCAyNTYuCgkgIEZpeCB0aGUgYXJnYiBhbmQgYmdyYSBibGVuZGluZyBmdW5jdGlvbnMgdG8gYXZvaWQgYW4gb2ZmLWJ5LW9uZQoJICBlcnJvciBpbiB0aGUgY2FsY3VsYXRpb25zLCBzbyBwYWludGluZyB3aXRoIGFscGhhID0gMHhmZiBkb2Vzbid0CgkgIGV2ZXIgYmxlZWQgdGhyb3VnaCBmcm9tIGJlaGluZAoKMjAxNS0wMy0xNSAxMjowNjoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICB0ZXN0czogbXBlZ3RzbXV4OiBhZGQgdW5pdCB0ZXN0IGZvciAiYWxpZ25tZW50IiBwcm9wZXJ0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMTI5CgoyMDE1LTAzLTE0IDE1OjI3OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBtYWtlICJhbGlnbm1lbnQiIHByb3BlcnR5IG1vcmUgdXNlZnVsIGZvciBwYWNrZXRpc2F0aW9uCgkgIEN1cnJlbnRseSB0aGUgYWxpZ25tZW50IHByb3BlcnR5IGp1c3QgbWFrZXMgc3VyZSB0aGF0IHdlCgkgIG91dHB1dCB0aGluZ3MgaW4gbXVsdGlwbGVzIG9mIGFsaWduKnBhY2tldF9zaXplIGJ5dGVzLCBidXQKCSAgd2l0aCBubyBjbGVhciBtYXhpbXVtIHNpemUuIFdoZW4gc3RyZWFtaW5nIE1QRUctVFMgb3ZlcgoJICBVRFAgb25lIHdhbnRzIGJ1ZmZlcnMgd2l0aCBhIG1heGltdW0gcGFja2V0IHNpemUgb2YgMTMxNi4KCSAgVGhlIGFsaWdubWVudCBwcm9wZXJ0eSBzbyBmYXIgd291bGQganVzdCBvdXRwdXQgYnVmZmVycwoJICB0aGF0IGFyZSBhIG11bHRpcGxlIG9mIDEzMTYgdGhlbi4KCSAgSW5zdGVhZCB3ZSBub3cgbWFrZSB0aGUgYWxpZ25tZW50IHByb3BlcnR5IG91dHB1dAoJICBpbmRpdmlkdWFsIGJ1ZmZlcnMgd2l0aCB0aGUgYWxpZ25tZW50IHNpemUsIHdoaWNoCgkgIGlzIGVudGlyZWx5IGJhY2t3YXJkcyBjb21wYXRpYmxlIHdpdGggdGhlIGV4cGVjdGVkCgkgIGJlaGF2aW91ciB1cCB1bnRpbCBub3cuIEZvciBlZmZpY2llbmN5IHJlYXNvbgoJICBjb2xsZWN0IGFsbCB0aG9zZSBidWZmZXJzIGluIGEgYnVmZmVyIGxpc3QgYW5kCgkgIHNlbmQgdGhhdCBkb3duc3RyZWFtLgoJICBBbHNvIGNvbGxlY3QgZGF0YSB0byBwdXNoIGRvd25zdHJlYW0gaW4gYSBidWZmZXIKCSAgbGlzdCBmcm9tIHRoZSBhZGFwdGVyIGlmIHdlIGRvbid0IGFsaWduIHRoaW5ncywKCSAgd2hpY2ggaXMgc3RpbGwgbW9yZSBlZmZpY2llbnQgYmVjYXVzZSBvZiB0aGUKCSAgc2lsbHkgd2F5IHRoZSBtdXhlciBjdXJyZW50bHkgY3JlYXRlcyBvdXRwdXQKCSAgcGFja2V0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjEyOQoKMjAxNS0wMy0xMSAyMzowMzoyNCArMDgwMCAgeGl4aSA8eGl4aTEwMTExMDExQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGZldGNoIHdyb25nIHNlZ21lbnQgYXQgdGhlIGVuZCBvZiBQZXJpb2QKCSAgRml4IGNoZWNrIGZvciBlbmQgb2YgUGVyaW9kIHRpbWUgdG8gYXZvaWQgdHJ5aW5nCgkgIHRvIGZldGNoIGEgc2VnbWVudCB0aGF0IGRvZXNuJ3QgZXhpc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjAzOAoKMjAxNS0wMy0xNCAxOTo0ODoyMSArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x1cGxvYWRlbGVtZW50LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogbW92ZSBtZXRhLWRhdGEgY29weSBpbnRvIGdzdC1nbCBsaWJyYXJ5CgkgIEluIHNvbWUgdXBsb2FkIGltcGxlbWVudGF0aW9ucyB0aGUgb3V0IGJ1ZmZlciBoYXMgbW9yZSB0aGFuIG9uZSByZWZlcmVuY2VzLAoJICB0dXJuaW5nIHRoZSBidWZmZXIgbm90IHdyaXRhYmxlLCBzbyBpdCB3b24ndCBiZSBwb3NzaWJsZSB0byBtb2RpZnkgaXRzCgkgIG1ldGEtZGF0YS4KCSAgVGhpcyBwYXRjaCBtb3ZlcyB0aGUgbWV0YS1kYXRhIGNvcHkgYmVmb3JlIGluY3JlYXNpbmcgdGhlIHJlZmVyZW5jZSBvZiB0aGUgb3V0CgkgIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjE3MwoKMjAxNS0wMy0xNCAxODo0NTowMSArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBmaXggdGhlIHNsaWdodCBkaWZmZXJlbmNlIGJldHdlZW4gRVhUX3JnIGFuZCBBUkJfcmcKCSAgR0xfRVhUX3RleHR1cmVfcmcgZG9lc24ndCB0YWtlIHNpemVkIGZvcm1hdHMgZm9yIHRoZSBpbnRlcm5hbGZvcm1hdAoJICBwYXJhbWV0ZXIgb2YgVGV4SW1hZ2UqIGJ1dCBHTF9BUkJfdGV4dHVyZV9yZyBhbmQgR0woRVMpMyBkby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjUwNwoKMjAxNS0wMy0xNCAxNzoyOTowMiArMDAwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IHJlbW92ZSBoYWNrIGFyb3VuZCBidWcgNjQ4MzU5CgkgIEl0IGlzIGFscmVhZHkgZml4ZWQKCjIwMTUtMDMtMTQgMTI6MjQ6NTMgKzAwMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiByZW1vdmUgZGVwcmVjYXRlZCBnX2F0b21pYyBmdW5jdGlvbgoJICBXZSBkZXBlbmQgb24gMi4zMiBhbHJlYWR5CgoyMDE1LTAzLTE0IDExOjQ1OjIwICswMDAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IGZpeCBwYWQgbGVhawoJICBPbmx5IGdldCB0aGUgcGFkIGlmIGl0IGlzIHJlYWxseSBnb2luZyB0byBiZSB1c2VkIHRvIGF2b2lkCgkgIGxlYWtpbmcgaXQKCjIwMTUtMDMtMTQgMTg6MTA6MjQgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZS9tYWluLmNwcDoKCSAgZ2wvZXhhbXBsZXM6IGZpeHVwIGdlbmVyaWMgY3ViZSBleGFtcGxlIGZvciBOREMKCSAgdHJhbnNsYXRpbmcgb3V0c2lkZSB0aGUgY2xpcCByZWdpb24gZG9lc24ndCB3b3JrCgoyMDE1LTAzLTE0IDE1OjM4OjI4ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9zZGxzaGFyZTIuYzoKCSAgZ2wvZXhhbXBsZXM6IGFkZCBzZGxzaGFyZTIgdGhhdCB1c2VzIGdsaW1hZ2VzaW5rIHRvIG91dHB1dCB0ZXh0dXJlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NjgxCgoyMDE1LTAzLTE0IDE2OjMwOjQyICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazoga2VlcCB3aW5kb3cgaW52aXNpYmxlIHdoZW4gc2hhcmluZyBvdXRwdXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTY4MQoKMjAxNS0wMy0xNCAxNToxNjo1NSArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJleXV2L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2RvdWJsZWN1YmUvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvZG91YmxlY3ViZS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcGlwZWxpbmUuY3BwOgoJICBnbGltYWdlc2luazogcHJvdmlkZSBHc3RTYW1wbGUgaW4gY2xpZW50LWRyYXcgc2lnbmFsCgkgIEluc3RlYWQgb2YgcHJpdmlkaW5nIHRleHR1cmUgYW5kIHNpemUgZGlyZWN0bHkuCgkgIEFuZCBhcHBseSBjaGFuZ2VzIHRvIGV4YW1wbGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NjgxCgoyMDE1LTAzLTE0IDE1OjM3OjA1ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9zZGxzaGFyZS5jOgoJICBzZGxzaGFyZTogdXNlIGdsdXBsb2FkIGFuZCB1bm1hcCBmcmFtZQoKMjAxNS0wMy0xNCAxNjoyNToyOSArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5oOgoJICBnbHN5bmNtZXRhOiBtYWtlIGNvbnRleHQgdG8gd2FpdCBhbmQgc2V0IHN5bmMgZXhwbGljaXQKCSAgb3RoZXJ3aXNlIHdlIG1heSB3YWl0IG9uIGEgc3luYyBvYmplY3QgaW4gc2FtZSBjb250ZXh0IGJ5IGFjY2lkZW50CgoyMDE1LTAzLTE0IDE1OjE2OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCBidWlsZAoJICBXYXMgc3VwcG9zZWQgdG8gYmUgc3F1YXNoZWQgaW50byBlYXJsaWVyIGNvbW1pdC4KCjIwMTUtMDMtMTQgMTU6MTU6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkgIGRvY3M6IHVwZGF0ZSBwbHVnaW4gZG9jcwoKMjAxNS0wMy0xNCAxNDo0MzozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3BsdWdpbi5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zcmMuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc3JjLmg6CgkgIFJlbW92ZSB1bnBvcnRlZCBhbmQgdXNlbGVzcyBvc3h2aWRlb3NyYyBlbGVtZW50CgkgIFRoZXJlIGFyZSBvdGhlciBlbGVtZW50cyBmb3IgdGhpcyBub3cuCgoyMDE1LTAzLTEzIDE4OjI0OjQzICswMDAwICBSYW1pcm8gUG9sbGEgPHJhbWlyby5wb2xsYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiBwcm9wZXJseSBlc2NhcGUgcGVyY2VudCBzaWduIGluIGRvY3VtZW50YXRpb24KCjIwMTUtMDMtMTQgMTI6NTg6MjIgKzAwMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogQWRkIE5VTEwgY2hlY2sgaW4gZXJyb3IgY2FzZQoJICBPdGhlciBjb250ZXh0IG1heSBiZSBOVUxMIGlmIHNvbWV0aGluZyB3ZW50IHdyb25nLiBBdm9pZCB0cnlpbmcgdG8gdW5yZWYKCSAgYSBOVUxMIHBvaW50ZXIuCgoyMDE1LTAzLTE0IDExOjAxOjEyICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBmaXggYSBjb3VwbGUgb2YgdHlwb3MgaW4gY29uZmlndXJlLmFjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQwMjAKCjIwMTUtMDMtMTQgMTA6Mzk6MDYgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuYzoKCSogZXh0L2dsL2dzdGdsdXBsb2FkZWxlbWVudC5jOgoJICBnbHVwbG9hZC9jb2xvcmNvbnZlcnQ6IG9ubHkgY29weSB0aW1lc3RhbXBzIGlmIHRoZSBpbnB1dCBidWZmZXIgIT0gb3V0cHV0CgoyMDE1LTAzLTExIDAwOjA2OjU1ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xkaXNwbGF5X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGRpc3BsYXlfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbDogYWRkIEdzdEdMRGlzcGxheUNvY29hCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYwMTIKCjIwMTUtMDMtMTMgMDk6MDc6MTYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvY29jb2EtdmlkZW9vdmVybGF5Lm06CgkgIGV4YW1wbGVzOiBpbml0aWFsaXplIE5TQXBwIGF0IHRoZSBiZWdpbm5pbmcKCjIwMTUtMDMtMTQgMDc6NDk6MTQgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBkbyBub3QgdGVybWluYXRlIGxvb3AgaW4gZ3N0X2dsX3dpbmRvd19jb2NvYV9jbG9zZQoJICBJdCBpcyBub3cgZG9uZSBpbiBfZmluYWxpemUuCgkgIEZpeCByZWdyZXNzaW9uIGludHJvZHVjZWQgYnkKCSAgImdsL3dpbmRvdzogY3JlYXRlIHRoZSBtYWluIGxvb3AvY29udGV4dCBvbiBpbml0L2ZpbmFsaXplIgoJICBiYzdhNzI1OWYzNTdiMDA2NWRkOTRlMDY2OGI1YTg5NWQ4M2ZhNTNhCgoyMDE1LTAzLTEzIDE1OjM0OjU1ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIGdsOiBhdm9pZCBvdmVyd3JpdGluZyBkaXNwbGF5IGFuZCBjb250ZXh0IHRvIE5VTEwKCSAgSXQgaGFwcGVucyB3aGVuIHRoZSBhcHBsaWNhdGlvbiBwcm92aWRlcyBkaXNwbGF5CgkgIGFuZC9vciBjb250ZXh0LgoKMjAxNS0wMy0xMyAxNzo0MToxNyArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSAgZ2xzaGFkZXI6IGF0dHJpYnV0ZSBsb2NhdGlvbnMgYXJlIC0xIG9uIGVycm9yCgoyMDE1LTAzLTEzIDE3OjA0OjE3ICswMDAwICBOZW9zMzQ1MiA8bmVvczM0NTJAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkgIGdsc2hhZGVyOiBwcmV2ZW50IGZyb20gZ2V0dGluZyBhdHRyaWJ1dGVzIHdpdGhvdXQgdmVydGV4IHNoYWRlcgoJICBJdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gcXVlcnkgZm9yIHZlcnRleCBhdHRyaWJ1dGVzIHdpdGhvdXQgYSB2ZXJ0ZXgKCSAgc2hhZGVyLiBNb3Jlb3ZlciB0aGlzIGlzIGNhdXNpbmcgYSBjcmFzaCBvbiBPU1guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYxNjgKCjIwMTUtMDMtMTQgMDI6NTM6MDAgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYmluLmM6CgkgIEdMOiBSZW1vdmUgYW5ub3lpbmcgcHJpbnRmIGluIHRoZSBmaWx0ZXJiaW4gY2xhc3NfaW5pdAoKMjAxNS0wMy0xMiAwOToyNzozMCArMDEwMCAgaWpzZiA8aWpzZkBnbXgubmV0PgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgUmVzdHJpY3RlZCBhY3RpdmVWaWRlb01heEZyYW1lRHVyYXRpb24gdG8gZml4IGZyYW1lIHJhdGUKCjIwMTUtMDMtMTMgMTI6NDM6MTMgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogYWRkIHBpeGVsLWFzcGVjdC1yYXRpbyBwcm9wZXJ0eSBvbiB0aGUgYmluCgoyMDE1LTAzLTEzIDEyOjQwOjA0ICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IHVucmVmIHRoZSBidWZmZXJwb29sCgoyMDE1LTAzLTEzIDEyOjI5OjU0ICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGZvcndhcmQgQUxMIHRoZSBwcm9wZXJ0aWVzIG9uIHRoZSBiaW4KCjIwMTUtMDMtMTMgMTI6Mjg6MzYgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHVwbG9hZGVsZW1lbnQuYzoKCSAgZ2x1cGxvYWRlbGVtZW50OiBwcm9wZXJseSB1bnJlZiBidWZmZXJzIHRoYXQgYXJlIHRoZSBzYW1lIGFzIHRoZSBpbnB1dAoJICBiYXNldHJhbnNmb3JtIGRvZXNuJ3QgdW5yZWYgZXF1YWwgaW5wdXQgYW5kIG91dHB1dCBidWZmZXJzCgoyMDE1LTAzLTEzIDEwOjI1OjM1ICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGV4dC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGV4dC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGV4dC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIGdsOiBnZXQgdGhlIGNvbnRleHQgZnJvbSBiYXNlbWl4ZXIvYmFzZWZpbHRlcgoKMjAxNS0wMy0xMyAwOTozODo1NCArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsYmFzZW1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsOiByZXRyZWl2ZSB0aGUgZ2xkaXNwbGF5L2FwcCBnbCBjb250ZXh0IGFzIHNvb24gYXMgcG9zc2libGUKCSAgZml4ZXMgdGhlIHVzYWdlIG9mIGdzdF9nbF9kaXNwbGF5X2ZpbHRlcl9nbF9hcGkKCjIwMTUtMDMtMTMgMDk6Mzc6NDYgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsL3Rlc3RzOiBmaXggZGVhZGxvY2sgb24gZ2xjb250ZXh0IHdyYXBwZWQgY29udGV4dCB0ZXN0CgoyMDE1LTAzLTEyIDE2OjQ2OjQ0ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogY2FjaGUgaW5kaWNlcyBpbiBhIGJ1ZmZlciBvYmplY3QKCjIwMTUtMDMtMTIgMTc6MTE6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IEZpeCBkaXNjb250IGRldGVjdGlvbiBhbmQgYnVmZmVyIGFsaWdubWVudCBjb2RlCgkgIEFjdHVhbGx5IGFjY3VtdWxhdGUgdGhlIHNhbXBsZSBjb3VudGVyIHRvIGNoZWNrIHRoZSBhY2N1bXVsYXRlZCBlcnJvcgoJICBiZXR3ZWVuIGFjdHVhbCB0aW1lc3RhbXBzIGFuZCBleHBlY3RlZCBvbmVzIGluc3RlYWQgb2YganVzdCByZXNldHRpbmcKCSAgdGhlIGVycm9yIGJhY2sgdG8gMCB3aXRoIGV2ZXJ5IG5ldyBidWZmZXIuCgkgIEFsc28gZG9uJ3QgcmVzZXQgZGlzY29udF90aW1lIHdoZW5ldmVyIHdlIGRvbid0IHJlc3luYy4gVGhlIHdob2xlIHBvaW50IG9mCgkgIGRpc2NvbnRfdGltZSBpcyB0byByZW1lbWJlciB3aGVuIHdlIGZpcnN0IGRldGVjdGVkIGEgZGlzY29udCB1bnRpbCB3ZSBhY3R1YWxseQoJICBhY3Qgb24gaXQgYSBiaXQgbGF0ZXIgaWYgdGhlIGRpc2NvbnQgc3RheWVkIGFyb3VuZCBmb3IgZGlzY29udF93YWl0IHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYwMzIKCjIwMTUtMDMtMDggMTg6MTY6MDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5oOgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBjYW9wZW5nbGxheWVyc2luazogaW1wbGVtZW50IGFzIGEgYmluIGxpa2UgZ2xpbWFnZXNpbmsKCjIwMTUtMDMtMDMgMTg6MDU6MDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBhdm9pZCBkZWFkbG9jayB3aGVuIGNyZWF0aW5nIGNvbnRleHQgb24gdGhlIG1haW4gdGhyZWFkLgoJICBNYWtlIHdpbmRvdy92aWV3IGNyZWF0aW9uIGFzeW5jIHNvIHRoYXQgaXQgaXMgcG9zc2libGUgdG8KCSAgZ3N0X2dsX2NvbnRleHRfY3JlYXRlIGZyb20gdGhlIG1haW4gdGhyZWFkLgoKMjAxNS0wMy0wMyAxNzoyNjo0NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsYmFzZW1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIGdsOiBzdG9yZSB0aGUgbGlzdCBvZiBjb250ZXh0cyB3aXRoaW4gZ2xkaXNwbGF5CgkgIFJlbW92ZXMgdGhlIHJlbGlhbmNlIG9uIHRoZSBhbGxvY2F0aW9uIHF1ZXJ5IHRvIHByb3BvZ2F0ZSBHTCBjb250ZXh0cy4KCSAgQWxsb3dzIHRocmVhZCBzYWZlbHkgZ2V0dGluZyBhIGNvbnRleHQgZm9yIHRoZSBhIHNwZWNpZmljIHRocmVhZC4KCjIwMTUtMDMtMDMgMTY6NDg6MjQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogdW5zZXQgdGhlIGN1cnJlbnQgc2hhZGVyIGFmdGVyIHJlbmRlcmluZwoJICBmaXhlcyBnbHRlc3RzcmMgISBnbGltYWdlc2luayB3aGVuIGdsdGVzdHNyYyBkb2Vzbid0IHVzZSBhIHNoYWRlcgoKMjAxNS0wMy0wMyAxNjozODo1NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkgIGdsdGVzdHNyYzogcmVtb3ZlIHVzYWdlIG9mIGdsZG93bmxvYWQgbGlicmFyeSBvYmplY3QKCjIwMTUtMDItMjggMDA6MzA6MzggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJICBnbGNvbnRleHQ6IHN0b3JlIHRoZSB0aHJlYWQgY3VycmVudCBjb250ZXh0CgoyMDE1LTAyLTI2IDE4OjI2OjM2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9nc3RnbHNyY2Jpbi5jOgoJKiBleHQvZ2wvZ3N0Z2xzcmNiaW4uaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbDogbmV3IGdsc3JjYmluIGVsZW1lbnQKCjIwMTUtMDItMjYgMTM6NDU6NTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsdmlkZW9taXhlcjogaW1wbGVtZW50IHdpdGggZ2xtaXhlcmJpbgoJICBUaGUgcmVsZXZhbnQgcHJvcGVydGllcyBhcmUgZm9yd2FyZGVkIHRvL2Zyb20gdGhlIGNvbnRhaW5pbmcgYmluCgkgIGFuZCBzaW5rIHBhZHMuCgoyMDE1LTAyLTI2IDAwOjIwOjM3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5oOgoJICBnbG1peGVyOiByZW1vdmUgdXNhZ2Ugb2YgdXBsb2FkL2Rvd25sb2FkIG9iamVjdHMKCjIwMTUtMDItMjUgMjM6NDg6NTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdGdsbWl4ZXJiaW4uYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXJiaW4uaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbDogbmV3IGdsbWl4ZXJiaW4gZWxlbWVudAoKMjAxNS0wMi0yMCAxNjo0NzowMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsaW1hZ2VzaW5rOiBpbXBsZW1lbnQgYXMgYSBiaW4KCSAgZ2x1cGxvYWQgISBnbGNvbG9yY29udmVydCAhIHNpbmsKCSAgU29tZSBwcm9wZXJ0aWVzIGFyZSBtYW51YWxseSBmb3J3YXJkZWQuICBUaGUgcmVzdCBhcmUgYXZhaWxhYmxlIHVzaW5nCgkgIEdzdENoaWxkUHJveHkuCgkgIFRoZSB0d28gc2lnbmFscyBhcmUgZm9yd2FyZGVkIGFzIHdlbGwuCgoyMDE1LTAyLTE5IDE4OjIzOjM3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9nc3RnbHNpbmtiaW4uYzoKCSogZXh0L2dsL2dzdGdsc2lua2Jpbi5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBuZXcgZ2xzaW5rYmluIGVsZW1lbnQKCSAgc2ltaWxhciB0byBnbGZpbHRlcmJpbiBidXQgZm9yIHNpbmtzCgoyMDE1LTAyLTE5IDE0OjE5OjU5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IGRvbid0IHVzZSB0aGUgbGlicmFyeSB1cGxvYWQvY29udmVydCBvYmplY3RzCgoyMDE1LTAyLTE5IDEzOjMzOjI4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJpbi5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJiaW4uaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbDogbmV3IGVsZW1lbnQgZ2xmaWx0ZXJiaW4KCSAgSXQgZW5jYXBzdWxhdGVzIGEgY29uZml1cmFibGUgR0wgcHJvY2Vzc2luZyBlbGVtZW50IGluIHRoZQoJICB1cGxvYWQvY29sb3Jjb252ZXJ0L2Rvd25sb2FkIGRhbmNlIHJlcXVpcmVkIHRvIHRyYW5zcGFyZW50bHkgcHJvY2VzcwoJICB0aGUgbWFqb3JpdHkgb2YgR3N0QnVmZmVyJ3MuCgoyMDE1LTAyLTE5IDEzOjI0OjU5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9nc3RnbGRvd25sb2FkZWxlbWVudC5jOgoJKiBleHQvZ2wvZ3N0Z2xkb3dubG9hZGVsZW1lbnQuaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbDogYWRkIG5ldyBnbGRvd25sb2FkZWxlbWVudAoJICBTaW1wbHkgdHJhbnNmb3JtcyBjYXBzIHRvL2Zyb20gcmF3L2dsbWVtb3J5IGNhcHNmZWF0dXJlcwoKMjAxNS0wMi0xMiAxNzo1OToyNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50LmM6CgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbDogYWRkIGEgbmV3IGdsY29sb3Jjb252ZXJ0IGVsZW1lbnQgYmFzZWQgb24gdGhlIGdsY29sb3Jjb252ZXJ0IGxpYnJhcnkgb2JqZWN0CgoyMDE1LTAzLTExIDE2OjU2OjE2ICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IGltcGxlbWVudCBwcm9wb3NlX2FsbG9jYXRpb24gcG9vbCBoYW5kbGluZyBmb3IgZ2xtZW1vcnkgdXBsb2FkCgoyMDE1LTAyLTExIDIzOjI5OjAxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9nc3RnbHVwbG9hZGVsZW1lbnQuYzoKCSogZXh0L2dsL2dzdGdsdXBsb2FkZWxlbWVudC5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBhZGQgYSBuZXcgZ2x1cGxvYWQgZWxlbWVudCBiYXNlZCBvbiB0aGUgZ2x1cGxvYWQgbGlicmFyeSBvYmplY3QKCjIwMTUtMDItMTEgMTQ6NDg6NDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdGdsYmFzZW1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbGJhc2VtaXhlci5oOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlcnBhZC5oOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmg6CgkgIGdsOiBhZGQgYSBuZXcgZ2xiYXNlbWl4ZXIgY2xhc3MgYmVsb3cgZ2xtaXhlcgoJICBJdCBkZWFscyB3aXRoIHByb3BhZ2F0aW5nIHRoZSBnbCBkaXNwbGF5L2NvbnRleHRzIHRocm91Z2hvdXQgdGhlCgkgIGFwcGxpY2F0aW9uL3BpcGVsaW5lCgoyMDE1LTAyLTExIDAxOjQ4OjExICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIGdsOiBhZGQgYSBuZXcgZ2xiYXNlZmlsdGVyIGNsYXNzIGJlbG93IGdsZmlsdGVyCgkgIEl0IGRlYWxzIHdpdGggcHJvcGFnYXRpbmcgdGhlIGdsIGRpc3BsYXkvY29udGV4dHMgdGhyb3VnaG91dCB0aGUKCSAgYXBwbGljYXRpb24vcGlwZWxpbmUKCjIwMTUtMDItMTEgMDE6Mjc6MjggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIGdsdXRpbHM6IGV4cG9zZSBydW5uaW5nIGEgcXVlcnkgb24gYSBzZXQgb2Ygc3JjL3NpbmsgcGFkcwoKMjAxNS0wMy0xMiAxMjo0OTo0MCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSAgb3B1c2VuYzogcmVwbGFjZSBjYnIgYW5kIGNvbnN0cmFpbmVkLXZiciBwcm9wZXJ0aWVzIHdpdGggYW4gZW51bQoJICBJdCB3YXMgZGVlbWVkIGNvbmZ1c2luZyBiZWZvcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ5MDkKCjIwMTUtMDMtMTIgMTA6MTQ6NTAgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogYWR2ZXJ0aXNlIHJlc2l6ZSBpbiB0aGUgY2FwcyBuZWdvdGlhdGlvbiBwcm9wZXJseQoKMjAxNS0wMy0xMiAwMTo0OTo1OCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBBZGQgbG9ja2luZyB0byBmaWxsX2J1ZmZlciBhbmQgZml4IG1peF9idWZmZXIKCSAgVGhlIGF1ZGlvbWl4ZXIgcGFkIHN0cnVjdCBmaWVsZHMgbWF5IGJlIGNoYW5nZWQgZnJvbSBvdGhlciB0aHJlYWRzCgoyMDE1LTAzLTEyIDAxOjU2OjQ0ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuaDoKCSAgYXVkaW9taXhlcjogTWFyayBhIGRpc2NvbnQgd2hlbiB3ZSByZWNlaXZlIGEgbmV3IHNlZ21lbnQgZXZlbnQKCSAgVGhpcyBhbGxvd3MgdXMgdG8gaGFuZGxlIG5ldyBzZWdtZW50IGV2ZW50cyBjb3JyZWN0bHk7IGVpdGhlciBieSBkcm9wcGluZwoJICBidWZmZXJzIG9yIGluc2VydGluZyBzaWxlbmNlOyBmb3IgZXhhbXBsZSBpZiB0aGUgb2Zmc2V0IGlzIGNoYW5nZWQgb24gYW4gc3JjcGFkCgkgIGNvbm5lY3RlZCB0byBhdWRpb21peGVyLgoKMjAxNS0wMy0xMiAwOTo0NjowMiArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiB3ZSBkb24ndCBkbyByZXNpemluZyBvZiB0aGUgdmlkZW8gZnJhbWVzCgkgIEFzIHdlIGNhbm5vdCBkbyBhY2N1cmF0ZSB0ZXhlbCBzYW1wbGluZyB0aGVuIGR1ZSB0byB0aGUgdGV4dHVyZQoJICBjb29yZGluYXRlcyBiZWluZyBpbnRlcnBvbGF0ZWQgYmFzZWQgb24gdGhlIG91dHB1dCBmcmFtZSBzaXplLgoKMjAxNS0wMS0yMCAxOTo1MzowOSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IFdoaWxlIGFnZ3JlZ2F0aW5nLCBzeW5jIHZhbHVlcyBmb3IgYWxsIHBhZHMgYmVmb3JlIGNvbnZlcnRpbmcgZnJhbWVzCgoyMDE1LTAzLTExIDE4OjQ5OjIyICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbC94MTE6IGRvbid0IFhHZXRXaW5kb3dBdHRyaWJ1dGVzIGV2ZXJ5IFhFdmVudAoJICBmaXhlcyBhIGRlYWRsb2NrIGluIHhjYiB3aGVyZSB0aGUgWCB3aW5kb3cgbWF5IG5vdCBleGlzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTYzMwoKMjAxNS0wMy0xMSAxNDo1MDoyOCArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5tOgoJICBnbC93aW5kb3c6IGhvcGVmdWxseSBmaXh1cCBjb21waWxlIHdhcm5pbmdzIG9uIGFuZHJvaWQvaW9zCgoyMDE1LTAzLTExIDE3OjE5OjE3ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogUmVtb3ZlIHJlZHVuZGFudCBjaGVjayBmb3IgY2xlYXJpbmcgY29udGV4dCBvbiByZXNldC4KCSAgVGhlIGNvbnRleHQgaXMgYWxyZWFkeSBjbGVhcmVkIGEgZmV3IGxpbmVzIGFib3ZlLgoKMjAxNS0wMy0xMSAxNjo1NToxNCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3Rpc29mZi5jOgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZXNjLmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZW1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9nc3RpbnNlcnRiaW4uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVycG9vbC5jOgoJICBSZW1vdmUgYSBidW5jaCBvZiBzaWxseSAnOzsnIHR5cG9zIGF0IHRoZSBlbmQgb2YgbGluZXMKCjIwMTUtMDMtMDYgMTU6MzE6MTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLm06CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsL3dpbmRvdzogY3JlYXRlIHRoZSBtYWluIGxvb3AvY29udGV4dCBvbiBpbml0L2ZpbmFsaXplCgkgIEF2b2lkcyByYWNlcyBzZXR0aW5nIHRoZSB3aW5kb3cgaGFuZGxlIGZyb20gdGhlIG1haW4gdGhyZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NjMzCgoyMDE1LTAzLTA4IDAyOjA0OjExICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGFnZ3JlZ2F0b3J5OiBkb24ndCByZWRlZmluZSBHU1RfRkxPV19DVVNUT01fU1VDQ0VTUwoKMjAxNS0wMy0wNCAxMToxMjozMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBSZW1vdmUgdW51c2VkIGxhYmVsL3ZhcmlhYmxlCgoyMDE1LTAzLTEwIDE1OjMxOjIxICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGZpeCBnZXRfcHJlc2VudGF0aW9uX29mZnNldCBjaGVjay4KCSAgQW5kIHJldHVybiAwIGlzbnRlYWQgb2YgRkFMU0UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU0NTUKCjIwMTUtMDMtMDIgMTQ6MDA6MDMgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogaW1wbGVtZW50IGdldF9wcmVzZW50YXRpb25fb2Zmc2V0LgoJICBUbyBhY2NvdW50IGZvciBwcmVzZW50YXRpb25UaW1lT2Zmc2V0IGFzIHBlciBzZWN0aW9uIDcuMi4xIC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTQ1NQoKMjAxNS0wMy0wMiAxMzo1MzowMyArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IFtBUEldOiBnZXRfcHJlc2VudGF0aW9uX29mZnNldCB2aXJ0dWFsIG1ldGhvZC4KCSAgQXNrcyB0aGUgc3ViY2xhc3MgZm9yIGEgcG90ZW50aWFsIHRpbWUgb2Zmc2V0IHRvIGFwcGx5IHRvIGVhY2gKCSAgc2VwYXJhdGUgc3RyZWFtLCBpbiBkYXNoIHN0cmVhbXMgY2FuIGhhdmUgInByZXNlbnRhdGlvbiB0aW1lIG9mZnNldHMiLAoJICB3aGljaCBjYW4gYmUgZGlmZmVyZW50IGZvciBlYWNoIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTQ1NQoKMjAxNS0wMy0wNiAxMjoyNDo0NCArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGdzdG1wZHBhcnNlcjogUmVhbGx5IHNldCB0aGUgZGVmYXVsdCB2YWx1ZSBmb3Igc3RhcnROdW1iZXIuCgkgICsgVGhlIHNwZWNzIGFzayBmb3IgYSBkZWZhdWx0IG9mIDEsIHRoZSBjdXJyZW50IGNvZGUgb25seSBkaWQKCSAgc2V0IGEgZGVmYXVsdCB3aGVuIHRoZSBmaWVsZCB3YXMgcHJlc2VudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTQ1NQoKMjAxNS0wMy0wOSAxMToxMToxNiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXI6IHVudXNlZCB2YWx1ZQoJICBWYWx1ZSBzZXQgaW4gb2ZmIHdpbGwgYmUgaW1tZWRpYXRlbHkgb3ZlcndyaXR0ZW4gYWZ0ZXIgZ29pbmcgdG8gbmV4dC4KCSAgQ0lEICMxMjI2NDc2CgoyMDE1LTAzLTA5IDEyOjUxOjIxICswOTAwICBob29uaGVlLmxlZSA8aG9vbmhlZS5sZWVAbGdlLmNvbT4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIHk0bWRlYzogcmVtb3ZlIHVubmVjZXNzYXJ5IHNlbWljb2xvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1ODc3CgoyMDE1LTAzLTA5IDEyOjQxOjU5ICswOTAwICBob29uaGVlLmxlZSA8aG9vbmhlZS5sZWVAbGdlLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkgIHRlc3RzOiBnbGNvbnRleHQ6IHJlbW92ZSB1bm5lY2Vzc2FyeSBzZW1pY29sb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTg3NQoKMjAxNS0wMy0wNiAxNDo0OToyMCArMDIwMCAgTW9oYW1tZWQgSGFzc2FuIDxtb2hhbW1lZC5oYXNzYW5Aam9sbGEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IHVwZGF0ZSB6b29tIHBhcmFtIHNwZWMgaWYgdmlkZW8gc291cmNlIGNoYW5nZXMgaXRzIG1heC16b29tCgkgIElmIHRoZSB2aWRlbyBzb3VyY2UgaGFwcGVucyB0byBhbGxvdyBtYXgtem9vbSB0byBiZSBncmVhdGVyIHRoYW4gb3VyIG1heGltdW0gaGFyZCBjb2RlZAoJICB2YWx1ZSBvZiAxMCB0aGVuIHRoZSB1c2VyIGNhbm5vdCBzZXQgYW55dGhpbmcgZ3JlYXRlciB0aGFuIG91ciBtYXhpbXVtIHNwZWNpZmllZCBpbiB0aGUKCSAgcGFyYW0gc3BlYy4gV2UgaGF2ZSB0byB1cGRhdGUgb3VyIHBhcmFtIHNwZWMgdG8gcHJldmVudCBnbGliIGZyb20gY2FwcGluZyB0aGUgdmFsdWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTc0MAoKMjAxNS0wMy0wNyAxMDoyODozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5oOgoJICB2dGRlYzogUmVnaXN0ZXIgYSBoYXJkd2FyZS1vbmx5IHZ0ZGVjX2h3IG9uIE9TWCBhbmQgZ2l2ZSBpdCBhIGhpZ2hlciByYW5rCgkgIHdoaWxlIGhhdmluZyB0aGUgZGVmYXVsdCB2dGRlYyBhdCBzZWNvbmRhcnkgcmFuay4gVGhpcyBhbGxvd3MgZGVjb2RlYmluL3BsYXliaW4KCSAgdG8gcHJlZmVyIHRoZSBoYXJkd2FyZSBiYXNlZCBkZWNvZGVycywgYW5kIGlmIHRoYXQgZmFpbHMgdG8gaW5pdGlhbGl6ZSBiZWNhdXNlCgkgIGhhcmR3YXJlIHJlc291cmNlcyBhcmUgYnVzeSB0byBmYWxsIGJhY2sgdG8gZS5nLiB0aGUgbGliYXYgYmFzZWQgaDI2NCBkZWNvZGVyCgkgIGluc3RlYWQgb2YgdGhlIHNvZnR3YXJlIGJhc2VkIHZ0ZGVjICh3aGljaCBpcyBzbG93ZXIpLCBhbmQgb25seSBmYWxsIGJhY2sgdG8KCSAgdGhlIHNvZnR3YXJlIGJhc2VkIHZ0ZGVjIGlmIHRoZXJlIGlzIG5vIGhpZ2hlciByYW5rZWQgZGVjb2RlciBhdmFpbGFibGUuCgoyMDE1LTAzLTA2IDIwOjExOjAwIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBEb24ndCBzaGFyZSBvdXIgZG93bnN0cmVhbSBwb29sIHdpdGggdXBzdHJlYW0KCSAgUG9vbCBjYW5ub3QgaGF2ZSBtdWx0aXBsZSBvd25lci4gVGhpcyBjYW4gbGVhZCB0byBzcHVyaW91cwoJICBwb29sIHdhcyBmbHVzaGluZyBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTcwCgoyMDE1LTAzLTA1IDE2OjI4OjM2IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IERvbid0IGNoYWluIGRvd25zdHJlYW0gcG9vbAoJICBDaGFpbmluZyBhIGRvd25zdHJlYW0gcG9vbCB3b3VsZCBsZWFkIHRvIHR3byBvd25lciBvZiB0aGUgc2FtZQoJICBwb29sLiBJbiBkeW5hbWljIHBpcGVsaW5lLCBpZiBvbmUgb3duZXIgaXMgcmVtb3ZlZCBmcm9tIHRoZSBwaXBlbGluZQoJICB0aGUgcG9vbCB3aWxsIGJlIHN0b3BwZWQsIGFuZCB0aGUgcmVzdCBvZiB0aGUgcGlwZWxpbmUgd2lsbCBmYWlsCgkgIHNpbmNlIHRoZSBwb29sIHdpbGwgbm93IGJlIGZsdXNoaW5nLiBBbHNvIGZpeCBwcm9wb3NlZCBwb29sIGNhY2hpbmcsCgkgIGZpbHRlci0+cG9vbCB3YXMgbmV2ZXIgc2V0LCBuZXZlciB1bnJlZmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzA1CgoyMDE1LTAzLTA1IDE1OjQ5OjUwIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IE9ubHkgY2FjaGUgcG9vbCwgZG9uJ3QgbWFuYWdlIGl0CgkgIEdMSW1hZ2UgZG9lcyBub3QgdXNlIGFueSBraW5kIG9mIGludGVybmFsIHBvb2wuIFRoZXJlIHdhcyBzb21lCgkgIHJlbWFpbmluZyBjb2RlIGFuZCBjb21tZW50IHN0YXRpbmcgdGhhdCBpdCB3YXMgbWFuYWdpbmcgdGhlCgkgIHBvb2wsIGFuZCBpdCB3YXMgaW4gZmFjdCBzZXR0aW5nIHRoZSBhY3RpdmUgc3RhdGUgd2hlbiBkb2luZwoJICB0byByZWFkeSBzdGF0ZS4KCSAgKiBPbmx5IGNyZWF0ZSB0aGUgcG9vbCBpZiByZXF1ZXN0ZWQgYW5kIGluIHByb3Bvc2VfYWxsb2NhdGlvbgoJICAqIENhY2hlIHRoZSBwb29sIHRvIGF2b2lkIHJlYWxsb2NhdGlvbiBvbiBzcHVyaW91cyByZWNvbmZpZ3VyZQoJICAqIERvbid0IHRyeSB0byBkZWFjdGl2YXRlIHRoZSBwb29sICh3ZSBkb24ndCBvd24gaXQpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3MDUKCjIwMTUtMDMtMDYgMTI6MDc6NDcgLTA1MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuYzoKCSAgcG5ncGFyc2U6IHN0b3Agc3BhbW1pbmcgaW5mbyBtZXNzYWdlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzU1CgoyMDE1LTAzLTA2IDE4OjU0OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgZ2xkb3dubG9hZDogU2ltcGxpZnkgY2FwcyBmZWF0dXJlIHNldHRpbmcgY29kZQoKMjAxNS0wMy0wNiAxODoxNToxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2w6IFJlbW92ZSBmb3JtYXQgaW5mbyBpbiBnbGNvbG9yY29udmVydCdzIHRyYW5zZm9ybV9jYXBzIGZ1bmN0aW9uIGluc3RlYWQgb2Ygb24gZXZlcnkgY2FsbGVyCgkgIC4uLiBhbmQgbGV0IGdsbWl4ZXIgYWN0dWFsbHkgdHJhbnNmb3JtIHRoZSBjYXBzIGl0IGlzIHN1cHBvc2VkIHRvIHRyYW5zZm9ybQoJICBpbnN0ZWFkIG9mIGludmVudGluZyBuZXcgY2Fwcy4KCjIwMTUtMDMtMDYgMTg6NDk6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIFJldmVydCAidmlkZW9hZ2dyZWdhdG9yOiBDcmVhdGUgbmV3IGNhcHMgZnJvbSB0aGUgdmlkZW8taW5mbyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA3ODIxNWJlMGRmYmI0ZThlZDRmMjQ5ZTE2MWE5NGM2NDQzMjhkMjhkLgoJICBiZWNhdXNlIGl0IGJyb2tlIGdsdmlkZW9taXhlciB3aXRoIGN1c3RvbSBjYXBzIGZlYXR1cmVzLgoKMjAxNS0wMy0wNiAxODozNjoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogU2ltcGxpZnkgY2FwcyBmZWF0dXJlIHNldHRpbmcgY29kZQoKMjAxNS0wMy0wNiAxNDo1NDo0MSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cDogZG9ubF9wcmVzZW50IHZhcmlhYmxlIHVudXNlZAoJICBkb25sX3ByZXNlbnQgaXMgbm90IGltcGxlbWVudGVkLCB5ZXQgdGhlIHZhbHVlIGlzIHNldCBhbmQgY2hlY2tlZCBhIGZldyB0aW1lcy4KCSAgQ2xlYW5pbmcgdGhpcy4KCSAgQ0lEICMxMjQ5Njg3CgoyMDE1LTAzLTA2IDE0OjI3OjQ0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJICBtcGVndHNtdXg6IGZhbGwgdGhyb3VnaCBzd2l0Y2ggc3RhdGVtZW50CgkgIEFkZGluZyBhIGNvbW1lbnQgbWFrZXMgY292ZXJpdHkgaGFwcHkgYW5kIHF1ZWxscyB0aGUgaXNzdWUuCgkgIENJRCAjMTEzOTc0OAoKMjAxNS0wMy0wNiAxNDozNjoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBDcmVhdGUgbmV3IGNhcHMgZnJvbSB0aGUgdmlkZW8taW5mbwoJICBJbiBjYXNlIHRoZSBvcmlnaW5hbCBjYXBzIHdlcmUgbWlzc2luZyBzb21lIG9wdGlvbmFsIGZpZWxkcyBsaWtlCgkgIGludGVybGFjZS1tb2RlLiBXZSBhc3N1bWUgZGVmYXVsdCB2YWx1ZXMgZm9yIHRob3NlIGV2ZXJ5d2hlcmUsCgkgIGJ1dCB0aGV5IGNhbiBzdGlsbCBjYXVzZSBuZWdvdGlhdGlvbiB0byBmYWlsIGlmIGEgZG93bnN0cmVhbSBlbGVtZW50CgkgIGV4cGVjdHMgdGhlIGZpZWxkIHRvIGJlIHRoZXJlIGFuZCBhdCBhIHNwZWNpZmljIHZhbHVlLgoKMjAxNS0wMi0yNSAxMzo1MjoyMSArMDEwMCAgRmxvcmlhbiBad29jaCA8Znp3b2NoQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBhbGxvdyAiY2FwdHVyZS1zY3JlZW4iIG1vZGUgdG8gc2VsZWN0IHdoaWNoIHNjcmVlbiB0byBjYXB0dXJlIHZpYSB0aGUgImRldmljZS1pbmRleCIgb3B0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxNjEKCjIwMTUtMDMtMDUgMTk6MDk6NDkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsZGlzcGxheTogT25seSB1c2UgZGVidWdnaW5nIGlmIHdlIGhhdmUgdmFsaWQgdmFsdWVzCgkgIFRoZSBkZWJ1ZyBjYXRlZ29yeSB3b24ndCBoYXZlIGJlZW4gY3JlYXRlZC9hY3RpdmF0ZWQgaWYgaXQncyBub3QgYQoJICB2YWxpZCBkaXNwbGF5CgoyMDE1LTAzLTA1IDE1OjU0OjU1ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9tb3Rpb25jZWxsc193cmFwcGVyLmNwcDoKCSAgbW90aW9uY2VsbHM6IHByb3RlY3QgYWdhaW5zdCBub3QgZm91bmQgaWQKCSAgSWYgc2VhcmNoSWR4KCkgZG9lc24ndCBmaW5kIHRoZSBpZCBpdCByZXR1cm5zIC0xLCB3aGljaCBicmVha3MKCSAgbW90aW9uY2Vsc3N2ZWN0b3IuYXQgKGlkeCkuIENoZWNrIGZvciBpdCBhbmQgcmV0dXJuIGlmIG5vdCBmb3VuZC4KCSAgQ2hhbmdpbmcgYSBmZXcgb3RoZXIgbGluZXMgZm9yIHN0eWxlIGNvbnNpc3RlbmN5LgoKMjAxNS0wMy0wNSAxNTozNDowOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJICBvcGVuY3Y6IHJlbW92ZSBhbHdheXMtdHJ1ZSBjaGVjawoJICBmaWx0ZXItPmN2SW1hZ2UgaGFzIGp1c3QgYmVlbiB1c2VkL2RlcmVmZXJlbmNlZCwgdGhlcmUgd291bGQgYmUgYW4gZXJyb3IKCSAgdGhlcmUgaWYgdGhlIHBvaW50ZXIgd2FzIE5VTEwuIE5vIG5lZWQgdG8gY2hlY2sgc2luY2UgaXQgd2lsbCBhbHdheXMgYmUgdHJ1ZS4KCjIwMTUtMDMtMDQgMTY6MTM6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkgIGRlY2tsaW5rYXVkaW9zcmM6IENhbGN1bGF0ZSB0aGUgZHVyYXRpb24gbW9yZSBhY2N1cmF0ZWx5IGZyb20gdGhlIGNhcHR1cmUgdGltZSBhbmQgbnVtYmVycyBvZiBzYW1wbGVzCgkgIFRoaXMgc2hvdWxkIHByZXZlbnQgYW55IGFjY3VtdWxhdGluZyByb3VuZGluZyBlcnJvcnMgd2l0aCB0aGUgZHVyYXRpb24uCgoyMDE1LTAzLTA0IDE2OjA1OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJICBkZWNrbGlua2F1ZGlvc3JjOiBGaXggdGhlIHRpbWVzdGFtcCBhbmQgb2Zmc2V0IGNhbGN1bGF0aW9ucyBldmVuIG1vcmUKCjIwMTUtMDMtMDQgMTY6MDQ6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkgIGRlY2tsaW5rYXVkaW9zcmM6IERvbid0IHN1YnRyYWN0IHRoZSBkdXJhdGlvbiBmcm9tIHRoZSBjYXB0dXJlIHRpbWUKCSAgV2UgYWxyZWFkeSBoYXZlIHRoZSByZWFsIGNhcHR1cmUgdGltZSwgbm90IHRoZSB0aW1lIHdoZW4gd2UgcmVjZWl2ZWQKCSAgdGhlIGVuZCBvZiB0aGUgcGFja2V0LgoKMjAxNS0wMy0wNCAxMzoxNjowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgUmV2ZXJ0ICJhdWRpb21peGVyOiBMYXRlbmN5IGlzIHR3aWNlIHRoZSBvdXRwdXQgYnVmZmVyIGR1cmF0aW9uLCBub3Qgb25seSBvbmNlIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQzODdjZjY3ZGY5MWI1OTU0MGYzMmVlMTdiNGMwMmY3NDc5NjlhZGQuCgkgIFRoZSBhbmFseXNpcyB3YXMgd3Jvbmc6IFRoZSBmaXJzdCAyMG1zIG9mIGxhdGVuY3kgYXJlIGludHJvZHVjZWQgYnkgdGhlIHNvdXJjZQoJICBhbHJlYWR5IGFuZCBwdXQgaW50byB0aGUgbGF0ZW5jeSBxdWVyeSwgbWFraW5nIGl0IG9ubHkgbmVjZXNzYXJ5IHRvIGNvdmVyIHRoZQoJICBhZGRpdGlvbmFsIDIwbXMgb2YgYXVkaW9taXhlciBpbnNpZGUgYXVkaW9taXhlci4KCjIwMTUtMDMtMDQgMDk6MjQ6MjcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBmaXggbGF0ZW5jeSBxdWVyeSBpbiBGRUMgY2FzZQoJICBUaGUgbWF4IGxhdGVuY3kgcGFyYW1ldGVyIGlzICJ0aGUgbWF4aW11bSB0aW1lIGFuIGVsZW1lbnQKCSAgc3luY2hyb25pemluZyB0byB0aGUgY2xvY2sgaXMgYWxsb3dlZCB0byB3YWl0IGZvciByZWNlaXZpbmcgYWxsCgkgIGRhdGEgZm9yIHRoZSBjdXJyZW50IHJ1bm5pbmcgdGltZSIgKGRvY3MvZGVzaWduL3BhcnQtbGF0ZW5jeS50eHQpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MzM4CgoyMDE1LTAzLTAzIDExOjQyOjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHJlc2V0IHRoZSBwYXJzZXIgaW5mb3JtYXRpb24gd2hlbiBjYXBzIGNoYW5nZXMKCSAgVGhpcyBwcmV2ZW50cyBpdCBmcm9tIGdvaW5nIGludG8gcGFzc3Rocm91Z2ggYWZ0ZXIgcmVjZWl2aW5nIDIKCSAgYnl0ZS1zdHJlYW0gY2FwcyAoZGlmZmVyZW50IG9uZXMpIGFzIGl0IHdvdWxkIGtlZXAgdGhlIGhhdmVfcHBzIGFuZAoJICBoYXZlX3NwcyBzZXQgdG8gdHJ1ZSBhbmQgd291bGQganVzdCBnbyBpbnRvIHBhc3N0aHJvdWdoIHdpdGhvdXQKCSAgdXBkYXRpbmcgaXRzIGNhcHMuCgkgIFRoaXMgcGF0Y2ggbWFrZXMgaXQgcmVzZXQgaXRzIHN0cmVhbSBpbmZvcm1hdGlvbiB0byByZXN0YXJ0IHByb3Blcmx5CgkgIHdoZW4gbmV3IGNhcHMgYXJlIHJlY2VpdmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NDA5CgoyMDE1LTAzLTAzIDE3OjQ3OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBzZXQgdGltZXN0YW1wIG9uIGRpc2NvbnQgYnVmZmVycwoJICBNYWtlIHN1cmUgZGlzY29udCBidWZmZXJzIGhhdmUgaXRzIHRpbWVzdGFtcCBzZXQgdG8gYWxsb3cgZG93bnN0cmVhbQoJICB0byByZXN5bmMgaWYgbmVlZGVkCgoyMDEyLTAzLTIyIDA4OjQ3OjU3ICswMTAwICBPbGVrc2lqIFJlbXBlbCA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIGNhbWVyYWJpbjI6IGNoZWNrIG5lZ290aWF0ZWQgY2FwcyBhdm9pZCByZXNldGluZyBvZiB0aGUgcGlwZQoJICBUbyBhdm9pZCB1c2VsZXNzIHJlbmVnb3RpYXRpb24gb2YgdGhlIHBpcGUgd2UgY2FuIGNoZWNrIGZvcgoJICBuZWdvdGlhdGVkIGNhcHMgb24gc3JjX2ZpbHRlciBhbmQgY29tcGFyZSBpdCB3aXRoIHJlcXVlc3RlZAoJICBmaWx0ZXIuIElmIHRoZSBjYXBzIGludGVyc2VjdCwgYXZvaWQgcmVzdGFydC4KCSAgU2lnbmVkLW9mZi1ieTogT2xla3NpaiBSZW1wZWwgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjYxMAoKMjAxNS0wMy0wMiAwMTowODoxNSArMDMwMCAgSWx5YSBBdmVyeWFub3YgPGkuYXZlcnlhbm92QGdlb3NjYW4uYWVybz4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogUmVtb3ZlIGR1cGxpY2F0ZSBjb2RlCgkgIFRoZSBtdXhlciBpcyBhbHJlYWR5IGFsbG9jYXRlZCBpbiByZXNldCgpLCB3aGljaCBpcyBjYWxsZWQgc29vbiBhZnRlcndhcmRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NTA2CgoyMDE1LTAzLTAzIDEwOjEyOjExICswODAwICBTb25nIEJpbmcgPGIwNjQ5OEBmcmVlc2NhbGUuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBTZXQgcXVlcnkgQUxMT0NBVElPTiBuZWVkX3Bvb2wgdG8gRkFMU0UKCSAgU2V0IHF1ZXJ5IEFMTE9DQVRJT04gbmVlZF9wb29sIHRvIEZBTFNFIGFzIGl0IG9ubHkgbmVlZCBxdWVyeSBpZiBjYW4KCSAgc3VwcG9ydCB2aWRlbyBvdmVybGF5IGNvbXBvc2l0aW9uIG1ldGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU0OTUKCjIwMTUtMDMtMDQgMTQ6Mzg6MzYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2c2FtcGxldmlkZW9zaW5rLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2F2c2FtcGxldmlkZW9zaW5rLm06CgkgIGFwcGxlbWVkaWEvYXZzYW1wbGVzaW5rOiB1dGlsaXNlIGEgcHVsbCBiYXNlZCBhcHByb2FjaCBvZiBkaXNwbGF5aW5nIHZpZGVvIGZyYW1lcwoJICBVc2luZyByZXF1ZXN0TWVkaWFEYXRhV2hlblJlYWR5T25RdWV1ZSB0aGUgbGF5ZXIgd2lsbCBleGVjdXRlIGEgYmxvY2sKCSAgd2hlbiBpdCB3b3VsZCBsaWtlIG1vcmUgZnJhbWVzLiBVc2luZyB0aGlzIHdlIGNhbiBwcm92aWRlIHRoZSBjdXJyZW50CgkgIGZyYW1lIGFuZCBhdm9pZCBuZWVkbGVzc2x5IGZpbGxpbmcgdGhlIGxheWVyJ3MgYnVmZmVyIHF1ZXVlIGNhdXNpbmcKCSAgb2xkZXIgZnJhbWVzIHRvIGJlIGRpc3BsYXllZCB3aGVuIHVuZGVyIHJlc291cmNlIHByZXNzdXJlLgoKMjAxNS0wMy0wMyAxNToyMjozOCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBnbG92ZXJsYXk6IEZpeCB1cHNpZGUgZG93biBhbmQgbWlzcy1hbGlnbmVkIEpQRUcKCSAgTGliSlBFRyB1c2VzIG1hY3JvYmxvY2sgb2YgOHg4IHNhbXBsZS4gSW4gdGhpcyBlbGVtZW50IHdlIHVzZSBSR0IgYW5kCgkgIFk0NDQsIHR3byAyNGJpdCBmb3JtYXRzIHRoYXQgYXJlIHN0b3JlZCBpbiAzMmJpdCBwaXhlbHMuIFRoaXMgbWVhbiB3ZQoJICBoYXZlIDMyeDMyIGJ5dGVzIG1hY3JvYmxvY2tzLiBGb3IgdGhpcyByZWFzb24sIHdlIG5lZWQgdG8gYWxsb2NhdGUKCSAgb3VyIGJ1ZmZlciBzbGlnaHRseSBsYXJnZXIuIFdlIGFsc28gbmVlZCB0byBwYXNzIHRoZSBsaW5lIHBvaW50ZXIgaW4KCSAgdGhlIHJpZ2h0IG9yZGVyLCBvdGhlcndpc2UgdGhlIGltYWdlIGVuZHVwIHVwc2lkZS1kb3duLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTA5CgoyMDE1LTAzLTAzIDIwOjAzOjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBMYXRlbmN5IGlzIHR3aWNlIHRoZSBvdXRwdXQgYnVmZmVyIGR1cmF0aW9uLCBub3Qgb25seSBvbmNlCgkgIExldCdzIGFzc3VtZSBhIHNvdXJjZSB0aGF0IG91dHB1dHMgb3V0cHV0cyAyMG1zIGJ1ZmZlcnMsIGFuZCBhdWRpb21peGVyIGhhdmluZwoJICBhIDIwbXMgb3V0cHV0IGJ1ZmZlciBkdXJhdGlvbi4gSG93ZXZlciB0aW1lc3RhbXBzIGRvbid0IGFsaWduIHBlcmZlY3RseSwgdGhlCgkgIHNvdXJjZSBidWZmZXJzIGFyZSBvZmZzZXR0ZWQgYnkgNW1zLgoJICBGb3Igb3VyIEFTQ0lJIGFydCBwaWN0dXJlLCBlYWNoIGxldHRlciBpcyA1bXMsIGVhY2ggcGlwZSBpcyB0aGUgc3RhcnQgb2YgYQoJICAyMG1zIGJ1ZmZlci4gU28gd2hhdCBoYXBwZW5zIGlzIHRoZSBmb2xsb3dpbmc6CgkgIDAgICAyMCAgNDAgIDYwCgkgIE9PT09PT09PT09PT09PT08KCSAgfCAgIHwgICB8ICAgfAoJICA1ICAgMjUgIDQ1ICA2NQoJICBJSUlJSUlJSUlJSUlJSUlJCgkgIHwgICB8ICAgfCAgIHwKCSAgVGhpcyBtZWFucyB0aGF0IHRoZSBzZWNvbmQgb3V0cHV0IGJ1ZmZlciAoMjAgdG8gNDBtcykgb25seSBnZXRzIGl0cyBsYXN0IDVtcwoJICBhdCB0aW1lIDQ1bXMgKHRoZSB0aW1lc3RhbXAgb2YgdGhlIG5leHQgYnVmZmVyIGlzIHRoZSB0aW1lIHdoZW4gdGhlIGJ1ZmZlcgoJICBhcnJpdmVzKS4gQnV0IGlmIHdlIG9ubHkgaGF2ZSBhIGxhdGVuY3kgb2YgMjBtcywgd2Ugd291bGQgd2FpdCB1bnRpbCA0MG1zCgkgIHRvIGdlbmVyYXRlIHRoZSBvdXRwdXQgYnVmZmVyIGFuZCBtaXNzIHRoZSBsYXN0IDVtcyBvZiB0aGUgaW5wdXQgYnVmZmVyLgoKMjAxNS0wMi0xOCAyMToyMTowMSAtMDUwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSAgZ2x0cmFuc2Zvcm1hdGlvbjogbm9ybWFsaXplIHRyYW5zbGF0aW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NzYzCgkgICogTHVib3N6OiB1c2UgbWF4ZmxvYXQgZm9yIHRyYW5zZm9ybWF0aW9uIHJhbmdlCgoyMDE1LTAyLTE4IDIwOjQxOjE0IC0wNTAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJICBnbHRyYW5zZm9ybWF0aW9uOiBGaXggZG9jIHR5cG8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDc2MwoKMjAxNS0wMy0wMyAxMzo0NTo0NiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBHZXQgcmlkIG9mIHVwbG9hZGVyIGlmIGNhcHMgaGF2ZSBjaGFuZ2VkCgkgIFdlIG5lZWQgdG8gdXBkYXRlIHRoZSB1cGxvYWRlciBmb3JtYXQgaWYgdGhhdCBjYXBzIGhhdmUgY2hhbmdlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTU0OQoKMjAxNS0wMy0wMyAxNjo1MDozMCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsc2htYWxsb2NhdG9yLmM6CgkgIHdheWxhbmRzaW5rOiBnX21rc3RlbXAgaXMgc2FmZXIgdGhhbiBta3N0ZXAKCjIwMTUtMDMtMDMgMTY6NDk6MDcgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvd2F5bGFuZC93bHNobWFsbG9jYXRvci5jOgoJICBSZXZlcnQgIndheWxhbmRzaW5rOiBta3N0ZW1wIHJlcXVpcmVzIHNldHRpbmcgcGVybWlzc2lvbiBtYXNrIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDE4OTBlNzM1NWE1NDY0ZmNmZmY1ODYzMzg1MTI2NWIzZmM3YTM3MzEuCgkgIEJldHRlciB0byB1c2UgZ19ta3N0ZW1wIHRoYXQgdGFrZXMgY2FyZSBvZiB0aGUgbWFzayB3aXRob3V0IGFmZmVjdGluZyB0aGUKCSAgZW50aXJlIHByb2Nlc3MuCgoyMDE1LTAzLTAzIDE2OjU1OjI2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsOiBGaXggY29udGV4dCBsZWFrcwoJICBJbnRyb2R1Y2VkIGJ5IGExMmNhMTM3NTBhMTUzMDBhYjNjNzE4ZWJkZTI5ODRkYzNkNTg3YjMKCjIwMTUtMDMtMDMgMTY6MjM6NDAgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IHJlbW92ZSB1bm5lY2Vzc2FyeSBjb25kaXRpb25hbAoJICBUaGUgdHdvIGJyYW5jaGVzIG9mIHRoZSBpZiBjb25kaXRpb25hbCBhcmUgaWRlbnRpY2FsLCB3aGljaCBtZWFucyBpbiBhbGwgY2FzZXMKCSAgdGhlIHNhbWUgZ3N0X2FzZl9wdXRfZ3VpZCgpIHdpbGwgYmUgZXhlY3V0ZWQuIERvIGl0IGRpcmVjdGx5LgoJICBDSUQgIzEyMjY0NDgKCjIwMTUtMDMtMDMgMTU6NTE6NTAgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvd2F5bGFuZC93bHNobWFsbG9jYXRvci5jOgoJICB3YXlsYW5kc2luazogbWtzdGVtcCByZXF1aXJlcyBzZXR0aW5nIHBlcm1pc3Npb24gbWFzawoJICBVc2luZyBta3N0ZW1wIHdpdGhvdXQgc2V0dGluZyB0aGUgcGVybWlzc2lvbiBtYXNrIGlzIHBvdGVudGlhbGx5IGhhcm1mdWwuCgkgIFBPU0lYIHNwZWNpZmljYXRpb24gb2YgbWtzdGVtcCgpIGRvZXMgbm90IHNheSBhbnl0aGluZyBhYm91dCBmaWxlIG1vZGVzLCBzbyB3ZQoJICBuZWVkIHRvIG1ha2Ugc3VyZSBpdHMgZmlsZSBtb2RlIGNyZWF0aW9uIG1hc2sgaXMgc2V0IGFwcHJvcHJpYXRlbHkgYmVmb3JlCgkgIGNhbGxpbmcgaXQuCgoyMDE1LTAzLTAyIDE2OjQ1OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGluazogUmVzZXQgdGhlIGNsb2NrIGNhbGlicmF0aW9uIHdoZW4gdW5zZXR0aW5nIHRoZSBtYXN0ZXIgY2xvY2sKCSAgT3RoZXJ3aXNlIHRoZSBvbGQgY2FsaWJyYXRpb24gd2lsbCBzdGljayBhcm91bmQgZm9yIHRoZSBuZXh0IHRpbWUgd2UgdXNlIGl0LAoJICBwb3RlbnRpYWxseSBnaXZpbmcgdXMgY29tcGxldGVseSB3cm9uZyB0aW1lcy4KCjIwMTUtMDMtMDIgMTM6NTc6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbmt7YXVkaW8sdmlkZW99c3JjOiBBZGQgc29tZSBtb3JlIGRlYnVnIG91dHB1dAoKMjAxNS0wMi0xMiAxMzo0MzozMCArMDEwMCAgRGFuaWVsRDEwIDxkLmRlZGlzc2VAdm9nby5mcj4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIGRlY2tsaW5rOiBJbmNvcnJlY3QgZnJhbWUgcmF0ZSBmb3IgaW50ZXJsYWNlZCBtb2RlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0Mzg2CgoyMDE1LTAzLTAxIDE5OjU3OjIzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbF9jb2NvYV9wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSAgZ2wvY29jb2E6IHJlZ2lzdGVyIG9ubHkgb25lIGN1c3RvbSBuc2FwcCBsb29wCgkgIE90aGVyd2lzZSB0aGUgcGlwZWxpbmUgc3RhbGxzIHdoZW4gcnVubmluZwoJICBtb3JlIHRoYW4gb25lIGdsaW1hZ2VzaW5rIHdpdGggZ3N0LWxhdW5jaC4KCSAgQWxzbyBvbmx5IHJlZ2lzdGVyIHRoZSBjdXN0b20gbnNhcHAgbG9vcAoJICB3aGVuIHNldHRpbmcgdXAgdGhlIG5zYXBwIGZyb20gZ3N0Z2wuCgoyMDE1LTAzLTAxIDE2OjU0OjEwICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSAgZ2wvY29jb2E6IGluc3RlYWQgb2YgY2xhc3NfaW5pdCB1c2UgZ19vbmNlIHRvIHNldHVwIG5zYXBwCgoyMDE1LTAyLTI2IDIzOjA0OjA5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSAgZ2wvY29jb2E6IGNoZWNrIGZvciBkZXByZWNhdGVkIGNvbnN0YW50cyBwcmlvciB0byBPU1ggMTAuMTAKCjIwMTUtMDMtMDEgMDk6NDM6MzIgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJICBnbGJ1ZmZlcnBvb2w6IEZpeCBvZmZzZXQgZm9yIG9kZCBoZWlnaHQKCSAgV2UgYWxzbyBuZWVkIHRvIHJlY2FsY3VsYXRlIHRoZSBvZmZzZXQsIHNpbmNlIG90aGVyd2lzZSB0aGUgZnJhbWUKCSAgbWFwcGluZyB3aWxsIGJlIGZvcndhcmQgdHdvIGxpbmVzIGluIHRoZSBVIGFuZCBWIHBsYW5lcyAoSTQyMCkgZHVlCgkgIHRvIGdzdF92aWRlb19pbmZvX2FsaWduKCkgcm91bmQgdXAgdGhlIFkgcGxhbmUgdG8gYSBldmVuIG51bWJlciBvZgoJICBsaW5lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTA1NAoKMjAxNS0wMy0wMSAwMDowODo0MiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkgIGdsLXRlc3Q6IFBvcnQgdW5pdCB0ZXN0cyB0byBuZXcgQVBJCgoyMDE1LTAyLTI4IDE1OjAwOjEzIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogU3VwcG9ydCBvZmZzZXQgd2hlbiBkb3dubG9hZGluZwoJICBNYWtlIHN1cmUgd2Ugc3VwcG9ydCBvZmZzZXQgYW5kIHZpZGVvIGFsaWdubWVudCB3aGVuIGRvd25sb2FkaW5nIHRvby4KCSAgVGhpcyBpcyBjdXJyZW50bHkgbm90IHVzZWQgKHBsYW5lX3N0YXJ0IGlzIGFsd2F5cyAwKSwgYnV0IGl0IG1ha2VzCgkgIHRoZSBjb2RlIGNvcnJlY3QgaWYgd2Ugd2FudCB0byB1c2UgdGhhdCBsYXRlci4KCjIwMTUtMDItMjggMTM6MDE6MTYgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBQcm92aWRlIGNvcnJlY3Qgc2l6ZSBvbiB1cGxvYWQKCSAgUHJvdmlkZSB0aGUgcmlnaHQgc2l6ZSB0byBHTCB3aGVuIHVwbG9hZGluZy4gVXNpbmcgbWF4c2l6ZSBpcyB3cm9uZwoJICBzaW5jZSB3ZSBvZmZzZXQgdGhlIGRhdGEgcG9pbnQgd2l0aCB0aGUgbWVtb3J5IG9mZnNldCBhbmQgdmlkZW8KCSAgYWxpZ25lbWVudCBvZmZzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQyNDYKCjIwMTUtMDItMjggMTI6NDg6MDMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBQcm92aWRlIGNvcnJlY3Qgc2l6ZSBvbiBkb3dubG9hZAoJICBQcm92aWRlIHRoZSByaWdodCBzaXplIHRvIEdMIHdoZW4gZG93bmxvYWRpbmcuIFRoaXMgZml4ZXMgZG93bmxvYWRpbmcKCSAgZnJvbSBHTE1lbW9yeSB0aGF0IHdoZXJlIGNyZWF0ZWQgZm9yIGxpYmF2LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MjQ2CgoyMDE1LTAyLTI4IDExOjU1OjI2IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSAgZ2xtZW1vcnk6IFVzZSBmYWxsYmFjayBmb3IgcGFydGlhbCBjb3B5CgkgIFdoZW4gdGhlIG1lbW9yeSBpcyBwYXJ0aWFsIGNvcHksIHRoZSB0ZXh0dXJlIHNpemUgYW5kIHZpZGVvaW5mbyBubwoJICBsb25nZXIgbWFrZSBzZW5zZS4gQXMgd2UgY2Fubm90IGd1ZXNzIHdoYXQgdGhlIGFwcGxpY2F0aW9uIHdhbnRzLCB3ZQoJICBzYWZlbHkgY29weSBpbnRvIGEgc3lzbWVtIG1lbW9yeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDI0NgoKMjAxNS0wMi0yNSAxODowNzowMyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsbWVtb3J5OiBBZGQgR3N0QWxsb2NhdGlvblBhcmFtcyBhbmQgYWxpZ25tZW50IHN1cHBvcnQKCSAgVGhpcyBpbXBsZW1lbnRzIHN1cHBvcnQgZm9yIEdzdEFsbG9jYXRpb25QYXJhbXMgYW5kIG1lbW9yeSBhbGlnbm1lbnRzLgoJICBUaGUgcGFyYW1ldGVycyB3aGVyZSBzaW1wbHkgaWdub3JlZCB3aGljaCBjb3VsZCBsZWFkIHRvIGNyYXNoIG9uCgkgIGNlcnRhaW4gcGxhdGZvcm0gd2hlbiB1c2VkIHdpdGggbGliYXYgYW5kIG5vIGx1Y2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQyNDYKCjIwMTUtMDItMjggMTg6MjE6MzMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogcGVyZm9ybSBlZ2wgdXBsb2FkIG9uIHRoZSBnbCB0aHJlYWQKCSAgRml4ZXMgRUdMSW1hZ2UgdXNhZ2Ugb24gcmFzcGJlcnJ5IHBpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDM5MTQKCjIwMTUtMDItMjcgMTE6MDc6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zcmM6IEZpeCBzY2FsaW5nIHdpdGggcmF0ZSBvZiBpbnRlcm5hbC9leHRlcm5hbCBjbG9jawoKMjAxNS0wMi0yNyAwMDoyNjowMCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFVzZSBzdGFuZGFyZCB1cHN0cmVhbSBsYXRlbmN5IHF1ZXJ5aW5nIGxvZ2ljCgkgIFRoZSBzYW1lIGZ1bmN0aW9uYWxpdHkgaXMgZHVwbGljYXRlZCBpbiB0aGUgZGVmYXVsdCBsYXRlbmN5IHF1ZXJ5aW5nCgkgIG5vdy4KCjIwMTUtMDItMjcgMDA6MDE6NDEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiBVc2UgZGVmYXVsdCB1cHN0cmVhbSBsYXRlbmN5IHF1ZXJ5aW5nIGxvZ2ljCgkgIFdlIGNhbiByZWx5IG9uIHRoZSBzdGFuZGFyZCB1cHN0cmVhbSBsYXRlbmN5IHF1ZXJ5aW5nIGxvZ2ljIGFuZCB0aGVuIGFkZAoJICBvdXIgb3duIGxhdGVuY3kuCgoyMDE1LTAyLTI2IDEzOjIwOjI2ICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogU2V0IGZyZWVkIG1ldGhvZCBpbXBsZW1lbnRhdGlvbiB0byBOVUxMCgkgIFdoZW4gdHJ5aW5nIHRvIHJlbmRlciBidWZmZXJzIHdpdGggbWV0YTpHTFRleHR1cmVVcGxvYWQgdGhlIGdsaW1hZ2VzaW5rIGNyYXNoZXMKCSAgd2l0aCBhIHNlZ21lbnRhdGlvbiBmYXVsdC4KCSAgVGhpcyBwYXRjaCB3b3JrYXJvdW5kcyB0aGlzIGNyYXNoIHNldHRpbmcgdG8gTlVMTCB0aGUgbWV0aG9kIGltcGxlbWVudGF0aW9uCgkgIGFmdGVyIGZyZWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUyMDYKCjIwMTUtMDItMjUgMTQ6NDg6NTkgKzAxMDAgIFJvbWFuIE5vd2lja2kgPHIubm93aWNraUBzaW1zLnBsPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogcmVsZWFzZSBleGlzdGluZyBEM0Qgc3dhcCBjaGFpbiBvbiBpbml0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxNTkKCjIwMTUtMDItMjQgMTk6MDE6NDUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSAgb3BlbmdsOiBDbGVhbiBNYWtlZmlsZS5hbQoJICArIFNwbGl0IGhlYWRlcnMgZnJvbSBzb3VyY2UKCSAgKyBSZW1vdmUgdW5lZWRlZCBBTV9DRkxBR1MsIEFNX0xERkxBR1MKCSAgKyBBbHdheXMgc2V0IE9CSkNGTEFHUwoJICBEdWUgdG8gdGhlIHByZXNlbmNlIG9mIGEgLm0gYW5kIHJlZ2FyZGxlc3Mgb2YgdGhlIGNvbmRpdGlvbmFsIHZhbHVlcywKCSAgYXV0b21ha2Ugd2lsbCBwcm9tb3RlIHRoZSBsaW5rIGNvbW1hbmQgdG8gT0JKQyB1c2luZyBPQkpDRkxBR1MuIE9ubHkKCSAgdGhlIGJhc2ljIGZsYWdzIChsaWtlIHdhcm5pbmdzIGFuZCBvcHRpbWl6YXRpb24pIGFyZSBnb2luZyB0byBtYWtlIGEKCSAgZGlmZmVyZW5jZSB0aG91Z2guCgkgIFRoaXMgY2xlYW51cCBidWlsZHMgdXAgdGhlIG1ha2VmaWxlIHdpdGggbGVzcyBzcGVjaWZpYyBmaWxlcyBmaXJzdAoJICB0b3dhcmQgbW9yZSBzcGVjaWZpYyBmaWxlLiBGTEFHUyBhcmUgYnVpbHQgd2l0aCB0aGUgYmFzaWMgdGhhdCB1bnVzZWQKCSAgZmxhZ3Mgd2lsbCBoYXZlIGVtcHR5IHZhcmlhYmxlLgoKMjAxNS0wMi0yNCAxMjo1NDo1NCAtMDUwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBjb3NtZXRpYyBjbGVhbnVwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDUKCjIwMTUtMDItMjQgMTk6NTI6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkgIG9wZW5nbDogZG9uJ3QgYWRkIC0tdGFnPUNDIHR3aWNlIHRvIExJQlRPT0xGTEFHUwoKMjAxNS0wMi0yNCAxNDozNTozNyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJICBvcGVuZ2w6IEFkZCAtLXRhZz1DQyB0byBMSUJUT09MQ0xGQUdTCgkgIFRoaXMgaXMgcmVxdWlyZWQgZm9yIHN0YXRpYyBidWlsZC4KCjIwMTUtMDItMjQgMTg6NTA6MDMgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogaW50ZXJsYWNlZCBkb2Vzbid0IG1lYW4gcHJvZ3Jlc3NpdmUgc2NhbgoJICBSZW1vdmluZyBpbnRlcmxhY2VkIHZhcmlhYmxlIHNpbmNlIGl0IGlzIG1lYW50IHRvIG1lYW4gcHJvZ3Jlc3NpdmUgc2NhbgoJICBhbmQgdGhhdCBpc24ndCB1c2VkLgoKMjAxNS0wMi0yNCAxODozODozMSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJICBSZXZlcnQgInRlc3RzOiBjaGVjayBqcGVncGFyc2UgZm9yIHByb2dyZXNzaXZlIG1hcmtlciIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAxYzc3ZDEyY2U4NzcwZjBlMDY1ZTljMDBjMzVkNzExZmRlZjFjOWY4LgoJICAiaW50ZXJsYWNlZCIgaW4gdGhlIGNhcHMgZG9uJ3QgbWVhbiB0aGUgc2FtZSB0aGluZyBhcyB0aGUgU09GMiBtYXJrZXIgaW4gdGhlCgkgIEpQRUcgZm9ybWF0LiBUaGlzIHRlc3QgcGFzc2VzIGJlY2F1c2Ugb2YgYnJva2VuIGJlaGF2aW91ci4KCjIwMTUtMDItMjQgMTc6NDE6NDMgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSAgdGVzdHM6IGNoZWNrIGpwZWdwYXJzZSBmb3IgcHJvZ3Jlc3NpdmUgbWFya2VyCgoyMDE1LTAyLTI0IDE0OjAxOjA0ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsd2luZG93OiBEZWFjdGl2YXRlIHdpbmRvdyBiZWZvcmUgY2hhbmdpbmcgaGFuZGxlCgkgIFdoZW4gc2V0dGluZyBhIG5ldyB3aW5kb3cgaGFuZGxlLCB3ZSBuZWVkIHRvIGVuc3VyZSBhbGwgaW1wbGVtZW50YXRpb25zCgkgIHdpbGwgZGV0ZWN0IHRoZSBjaGFuZ2UuCgkgIEZvciB0aGF0IHdlIGRlYWN0aXZhdGUgdGhlIGNvbnRleHQgYmVmb3JlIHNldHRpbmcgdGhlIHdpbmRvdyBoYW5kbGUsIHRoZW4KCSAgcmVhY3RpdmF0ZSB0aGUgY29udGV4dAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MDkwCgoyMDE1LTAyLTI0IDEzOjU4OjI2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5oOgoJICBnbC9lZ2w6IERldGVjdCB3aW5kb3cgaGFuZGxlIGNoYW5nZXMKCSAgV2hlbiAocmUpYWN0aXZhdGluZyB0aGUgY29udGV4dCwgdGhlIGJhY2tpbmcgd2luZG93IGhhbmRsZSBtaWdodCBoYXZlIGNoYW5nZWQuCgkgIElmIHRoYXQgaGFwcGVuZWQsIGRlc3Ryb3kgdGhlIHByZXZpb3VzIHN1cmZhY2UgYW5kIGNyZWF0ZSBhIG5ldyBvbmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTA5MAoKMjAxNS0wMi0yNCAxNDoyMDo0MiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5jOgoJICBnbDogcmVtb3ZlIGRvY2Jvb2sgcmVsYXRlZCB3YXJuaW5ncwoKMjAxNS0wMi0yNCAxMzo1MToyNCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTUtMDItMjQgMTM6MzY6MDAgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiBub3QgdXNpbmcgZGVwcmVjYXRlZCBBUEkgYW55bW9yZQoKMjAxNS0wMi0yNCAxMzoxNjoyMSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IHVwZGF0ZSBleGFtcGxlIHBpcGVsaW5lIGNvbW1hbmQKCjIwMTUtMDItMjQgMTk6MDM6NDMgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSAgbXBlZ3RzOiBGaXggYSBjb21waWxlciB3YXJuaW5nCgkgIENhdXNlcyB0aGUgZm9sbG93aW5nIHdhcm5pbmcgb24gY2xhbmc6CgkgIGdzdC1kdmItc2VjdGlvbi5jOjU2NzozNjogZXJyb3I6IGZvcm1hdCBzcGVjaWZpZXMgdHlwZSAndW5zaWduZWQgbG9uZycgYnV0IHRoZSBhcmd1bWVudCBoYXMgdHlwZSAnaW50JyBbLVdlcnJvciwtV2Zvcm1hdF0KCSAgZGVzY3JpcHRvcnNfbG9vcF9sZW5ndGgsIGVuZCAtIDQgLSBkYXRhKTsKCSAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5efn5+fn5+fn5+fn5+fgoKMjAxNS0wMi0yNCAyMzo1NDoxMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IG9ubHkgYXR0ZW1wdCB1c2Ugb2YgdGhlIHRleHR1cmUgY2FjaGUgd2l0aCBHTE1lbW9yeSBjYXBzIGZlYXR1cmVzCgkgIE90aGVyd2lzZSB3ZSBzZW5kIHJlY3RhbmdsZSB0ZXh0dXJlcyB0byBnbGltYWdlc2luawoKMjAxNS0wMi0yNCAyMzo1MjozOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkgIGNhb3BlbmdsbGF5ZXJzaW5rOiByZW5kZXIgYmxhY2sgd2hlbiB3ZSBkb24ndCBoYXZlIGEgdGV4dHVyZSB0byBkaXNwbGF5CgkgIExpa2Ugd2hlbiB0aGUgd2luc3lzIGFza3MgdXMgdG8gcmVkcmF3IGJlZm9yZSB0aGUgcGlwZWxpbmUgaGFzIHN0YXJ0ZWQKCjIwMTUtMDItMjUgMDA6MDA6NDggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogYWxsb3cgc2hhcmluZyBiZXR3ZWVuIGJ1ZmZlcnMKCSAgVGhlcmUgd2FzIG5vIHJlYWwgcmVhc29uIHdoeSB0aGUgZmxhZyB3YXMgc2V0LiAgV2Ugc2hvdWxkIGJlIGFibGUKCSAgdG8gaGFuZGxlIGl0LiAgRml4ZXMgbGFzdC1zYW1wbGUgaGFuZGxpbmcgb24gZ2wgc2lua3MKCjIwMTUtMDItMjQgMjA6MzQ6MzUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkgIGdsc3luY21ldGE6IGFkZCBjb21wYXQgZGVmaW5pdGlvbiBmb3IgZ2xlczIKCjIwMTUtMDItMjQgMTE6MTk6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiBEb24ndCBpbml0aWFsaXplIHRoZSByZW5kZXIgd2luZG93IHN3YXAgY2hhaW4gd2hpbGUgdGhlIGRldmljZSBpcyBsb3N0IGFuZCB3ZSdyZSB3YWl0aW5nIGZvciByZXNldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NjE1CgoyMDE1LTAyLTI0IDExOjE4OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBEZWFjdGl2YXRlIHRoZSBmYWxsYmFjayBidWZmZXIgcG9vbCB3aGVuIHJlcGxhY2luZyBpdCBkdXJpbmcgY2FwcyBjaGFuZ2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ2MTUKCjIwMTUtMDEtMjkgMTc6NDE6MTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLmg6CgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5tOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIG5ldyBjYW9wZW5nbGxheWVyc2luayBlbGVtZW50CgkgIHJlbmRlcnMgZ3N0cmVhbWVyIGdsIHNjZW5lL3ZpZGVvIGZyYW1lcyB0byBhIGNhb3BlbmdsbGF5ZXIgcmV0cmVpdmFibGUKCSAgZnJvbSB0aGUgImxheWVyIiBwcm9wZXJ0eS4KCjIwMTUtMDEtMTkgMTI6NDM6MjMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2F2c2FtcGxldmlkZW9zaW5rLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2F2c2FtcGxldmlkZW9zaW5rLm06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvYXZzYW1wbGVzaW5rLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2F2c2FtcGxlc2luay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvYXZzYW1wbGVzaW5rL21haW4ubToKCSAgYXBwbGVtZWRpYTogbmV3IEFWU2FtcGxlQnVmZmVyTGF5ZXJTaW5rCgkgIFJlbmRlcnMgYnVmZmVycyB1c2luZyB0aGUgQ0FMYXllciBzdWJjbGFzcyBBVlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcgoJICB3aGljaCBjYW4gYmUgcGxhY2VkIGluc2lkZSBhIENvcmUgQW5pbWF0aW9uIHJlbmRlciB0cmVlLgoKMjAxNS0wMi0yNCAxOTowNjoxOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5tOgoJICBnbC9jYWxheWVyOiBkb24ndCB1c2UgdGhlIGFzeW5jIGNhbGxiYWNrIHRvIHJlbmRlcgoJICBub3QgdW50aWwgd2UgY2FuIHByb3ZpZGUgZXF1aXZhbGVudCBmdW5jdGlvbmFsaXR5IGZvciBvdGhlciB3aW5kb3cKCSAgaW1wbGVtZW50YXRpb25zLgoKMjAxNS0wMi0yNCAwMToyMDoyMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSAgZ2xzeW5jbWV0YTogYWxzbyBzdXBwb3J0ZWQgd2l0aCBnbGVzMwoKMjAxNS0wMi0yNCAxNDoyMzo0OSArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLm06CgkgIGxpYmdzdGdsOiBlYWdsOiBoYW5kbGUgQ0FMYXllciByZXNpemUKCjIwMTUtMDItMjMgMTY6MTM6MzEgKzAxMDAgIFZhc2lsaXMgTGlhc2tvdml0aXMgPHZsaWFza292QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogRml4IHRyYW5zZmVyX3BibyBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0OTc3CgoyMDE1LTAyLTIyIDEwOjAzOjU0ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSAgZ2wvY29jb2E6IHJlZHVjZSBjdXN0b20gbWFpbiBsb29wIGxhdGVuY3kKCSAgVGhpcyBmaXggYSB2ZXJ5IHNsb3cgcmVuZGVyaW5nIHJhdGUgcmVncmVzc2lvbiB0aGF0IG9ubHkKCSAgaGFwcGVucyB3aGVuIHVzaW5nIGdzdC1sYXVuY2gsIGkuZS4gaW4gdGhlIGNhc2Ugd2hlcmUKCSAgdGhlIG1haW4gdGhyZWFkIGRvZXMgbm90IHJ1biBhbnkgTlNBcHAgbG9vcC4KCSAgR2l0IGJpc2VjdCByZXBvcnRlZCBpdCBoYXMgYmVlbiBpbnRyb2R1Y2VkIGJ5IHRoZSBjb21taXQKCSAgZTEwZDI0MTdlMmZlN2FhNDczM2MwNzY5ODQzMzliMGQ2MWNhYTE2OToKCSAgIm1vdmUgdG8gQ0dMIGFuZCBDQU9wZW5HTExheWVyIGZvciByZW5kZXJpbmciLgoJICBUaGVuIHRoZSBjb21taXQgN2Q0NjM1NzYyNzFlNWE0Y2MxMDcwNzgwYmExYTY5Yzk3MWU4YmUxZDoKCSAgImdzdGdsd2luZG93X2NvY29hOiBmaXggc2xvdyByZW5kZXIgcmF0ZSIgYXR0ZW1wdGVkIHRvIGZpeAoJICB0aGUgc2xvdyByZW5kZXJpbmcgcmF0ZSBwcm9ibGVtIHdoZW4gdXNpbmcgZ3N0LWxhdW5jaC4KCSAgQXQgbGVhc3QgZm9yIG1lIGl0IGRvZXMgbm90IHdvcmsuIEkgdHJpZWQgc2V2ZXJhbAoJICBjb21iaW5hdGlvbnMsIGZvciBleGFtcGxlIHRvIGZsdXNoIENBIHRyYW5zYWN0aW9ucyBpbiB0aGUKCSAgY3VzdG9tIGFwcCBsb29wLCBhcyBtZW50aW9uZWQgaW4gdGhlIGRvYywgYnV0IHRoZSBvbmx5IHNvbHV0aW9uCgkgIHRoYXQgZml4ZXMgdGhlIHNsb3cgcmVuZGVyaW5nIGlzIGJ5IHJlZHVjaW5nIHRoZSBsb29wIGxhdGVuY3kuCgkgIEZyb20gd2hhdCBJIHRlc3RlZCwgbm8gbmVlZCB0byBwdXQgbGVzcyB0aGFuIDYwbXMsIGV2ZW4gaWYgdGhlCgkgIGZyYW1lcmF0ZSBoYXMgYW4gaW50ZXJ2YWwgbXVjaCBsb3dlciAoMTYuNm1zIGZvciA2MCBmcHMpLgoKMjAxNS0wMi0xNyAyMzo1MDo1MSArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlcnBhZC5oOgoJICBnbG1peGVyOiBmaXggc29tZSBjb21waWxlciB3YXJuaW5ncwoJICBpNjg2LWFwcGxlLWRhcndpbjExLWxsdm0tZ2NjLTQuMgoJICBnc3RnbG1peGVyLmg6NDM6IGVycm9yOiByZWRlZmluaXRpb24gb2YgdHlwZWRlZiDigJhHc3RHTE1peGVy4oCZCgkgIGdzdGdsbWl4ZXJwYWQuaDozMjogZXJyb3I6IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9mIOKAmEdzdEdMTWl4ZXLigJkgd2FzIGhlcmUKCSAgZ3N0Z2xtaXhlci5oOjQ2OiBlcnJvcjogcmVkZWZpbml0aW9uIG9mIHR5cGVkZWYg4oCYR3N0R0xNaXhlckZyYW1lRGF0YeKAmQoJICBnc3RnbG1peGVycGFkLmg6MzM6IGVycm9yOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiDigJhHc3RHTE1peGVyRnJhbWVEYXRh4oCZIHdhcyBoZXJlCgoyMDE1LTAyLTIxIDE5OjA3OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJICBkb2NzOiB1cGRhdGUKCjIwMTUtMDItMjEgMTk6MDc6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBhZGQgb3B1cyBlbGVtZW50cyB0byBkb2N1bWVudGF0aW9uCgoyMDE1LTAyLTIxIDE4OjUyOjAwICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJICBteGYtZXhhbXBsZTogZG9uJ3QgcXVpdCBvbiBXYXJuaW5nCgkgIERvbid0IHF1aXQgb24gV2FybmluZy4KCSAgUHJpbnQgb3V0IGEgbWVzc2FnZSB3aGVuIHRoZXJlIGlzIGFuIEVycm9yIG9yIFdhcm5pbmcuCgoyMDE1LTAyLTIxIDE4OjQ3OjI5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJICBteGYtZXhhbXBsZTogYWx3YXlzIHNob3cgZ3RrIHdpbmRvdwoJICBTaG93IGd0ayB3aW5kb3cgZXZlbiB3aGVuIHRoZXJlIGFyZSBubyB0YWdzLCB0byBhbHdheXMgaGF2ZSB2aXN1YWwgZmVlZGJhY2sKCSAgYWJvdXQgdGhlIHBpcGVsaW5lIHJ1bm5pbmcuCgoyMDE1LTAyLTIxIDE3OjM1OjAzICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJICBteGYtZXhhbXBsZTogbWVyZ2UgcmV0dXJucyBpbiBnX3ZhbHVlX3RvX3N0cmluZygpCgoyMDE1LTAyLTIxIDE3OjI1OjUxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJICBteGYtZXhhbXBsZTogbWFrZSBidXNfY2FsbGJhY2sgY29uc2lzdGVudAoJICBTaW1wbGlmeSB0aGUgYnVzX2NhbGxiYWNrIHRvIG1ha2UgaXQgY29uc2lzdGVuIHdpdGggb3RoZXIgZXhhbXBsZXMuCgoyMDE1LTAyLTIxIDE3OjE4OjAyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJICBteGYtZXhhbXBsZTogZml4IHVzYWdlIG9mIGFyZ2MgYW5kIGFyZ3YKCjIwMTUtMDItMjEgMTc6MDI6MDkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkgIGNhbWVyYWJpbiBleGFtcGxlczogcmVtb3ZlIHVubmVlZGVkIHZhcmlhYmxlCgkgIHJldCBpcyBvbmx5IHVzZWQgb25jZSwgd2UgZG9uJ3QgbmVlZCB0byBzdG9yZSBpdCBpbiBhIHZhcmlhYmxlIGZvciB0aGF0LgoKMjAxNS0wMi0yMSAxNDo0MjowNSArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdzdGdsbWVtb3J5OiBSZW1vdmUgbm93IHVudXNlZCB0cmFuc2Zlcl91cGxvYWQgZnVuY3Rpb24uCgoyMDE1LTAyLTIxIDIzOjI5OjIyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IGRpc2FibGUgYXV0b21hdGljIHBibyB1cGxvYWQKCSAgdW50aWwgd2UgY2FuIHRyYWNrIHdoZXJlIHRoZSBkYXRhIGlzL29yIGlzIGdvaW5nIHRvIGJlLgoKMjAxNS0wMi0yMCAxMzo1NTowNSArMDAwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNkZW11eF9tM3U4LmM6CgkgIGhsc2RlbXV4OiBzZWxlY3QgY29ycmVjdCBzdGFydGluZyBwb3NpdGlvbiBmb3IgbGl2ZSBzdHJlYW1zCgkgIFdoZW4gcGxheWluZyBsaXZlIEhMUyBzdHJlYW1zLCB0aGUgbWVkaWEgcGxheWJhY2sgc3RhcnRzIGZyb20gdGhlCgkgIGJlZ2lubmluZyBvZiB0aGUgbWVkaWEgcGxheWxpc3QuIFdoZW4gcGxheWluZyBhIGxpdmUgSExTIHN0cmVhbSwKCSAgbWVkaWEgcGxheWJhY2sgc2hvdWxkIHN0YXJ0IGZyb20gMyBmcmFnbWVudHMgZnJvbSB0aGUgZW5kIG9mIHRoZQoJICBwbGF5bGlzdC4KCSAgU2VlIHNlY3Rpb24gNi4zLjMuIG9mIHRoZSBITFMgZHJhZnQgWzFdCgkgIFRoaXMgY29tbWl0IGNoYW5nZXMgdGhlIGxvZ2ljIHRvIHNlbGVjdCAzIGZyYWdtZW50cyBmcm9tIHRoZSBlbmQgd2hlbgoJICBwbGF5aW5nIGEgbGl2ZSBzdHJlYW0uCgkgIFsxXSBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9kcmFmdC1wYW50b3MtaHR0cC1saXZlLXN0cmVhbWluZy0xMiNwYWdlLTI5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc3NDIKCjIwMTUtMDItMjAgMTg6NDI6MjMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSAgZ2xlbWVtb3J5OiBvbmx5IHN0b3JlIGFuZCBhY3Qgb24gdGhlIG1hcCBmbGFncyBvbiBmaXJzdC9sYXN0IG1hcC91bm1hcAoJICBBbnl0aW1lIGVsc2UsIHdlIGhhdmUgbm8gaWRlYSBob3cgdG8gbWF0Y2ggdXAgbWFwIGFuZCB1bm1hcHMuCgkgIFdlIGFsc28gZG9uJ3Qga25vdyBleGFjdGx5IGhvdyB0aGUgY2FsbGluZyBjb2RlIGlzIHVzaW5nIHVzLgoJICBBbHNvIGZpeGVzIHRoZSBjYXNlIHdoZXJlIHdlJ3JlIHRyeWluZyB0byB0cmFuc2ZlciB3aGlsZSBzb21lb25lIGVsc2UKCSAgaXMgYWNjZXNzaW5nIG91ciBkYXRhIHBvaW50ZXIgb3IgdGV4dHVyZSByZXN1bHRpbmcgaW4gbWlzbWF0Y2hlZCB2aWRlbwoJICBmcmFtZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ4MzkKCjIwMTUtMDItMTkgMjE6MjE6NTYgLTA1MDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogVXNlIHNyY19sb2NrIHRvIHByb3RlY3QgbGF0ZW5jeSByZWxhdGVkIG1lbWJlcnMKCSAgT25lIGhhcyB0byB1c2UgdGhlIHNyY19sb2NrIGFueXdheSB0byBwcm90ZWN0IHRoZSBtaW4vbWF4L2xpdmUgc28gdGhleQoJICBjYW4gYmUgbm90aWZpZWQgYXRvbWljYWxseSB0byB0aGUgc3JjIHRocmVhZCB0byB3YWtlIGl0IHVwIG9uIGNoYW5nZXMsCgkgIHN1Y2ggYXMgcHJvcGVydHkgY2hhbmdlcy4gU28gbm8gcG9pbnQgaW4gaGF2aW5nIGEgc2Vjb25kIGxvY2suCgkgIEFsc28sIHRoZSBvYmplY3QgbG9jayB3YXMgYmVpbmcgaGVsZCBhY3Jvc3MgYSBjYWxsIHRvCgkgIEdTVF9FTEVNRU5UX1dBUk5JTkcsIGd1YXJhbnRlZWluZyBhIGRlYWRsb2NrLgoKMjAxNS0wMi0xOSAxODo1MzozMiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUmVtb3ZlIHVudHJ1ZSBjb21tZW50CgoyMDE1LTAyLTE5IDE4OjMwOjM1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBEb24ndCB0cnkgdG8gcHVzaCB0YWdzIHdoaWxlIGZsdXNoIHNlZWtpbmcKCSAgVGhlIGRvd25zdHJlYW0gc2VnbWVudCBjb3VsZCBoYXZlIGJlZW4gZmx1c2hlZCBhbHJlYWR5LCBzbwoJICBuZWVkIHRvIHJlLXNlbmQgdGhlIHNlZ21lbnQgZXZlbnQgYmVmb3JlIHJlLXNlbmRpbmcgdGhlIHRhZ3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDItMTkgMTQ6MzQ6MjMgKzAxMDAgIEd1aWxsYXVtZSBTZWd1aW4gPGd1aWxsYXVtZUBzZWd1LmluPgoKCSogZXh0L2hscy9nc3RobHNzaW5rLmM6CgkgIGhsc3Npbms6IHJlZHVjZSBwbGF5bGlzdCdzIEVYVC1YLVZFUlNJT04gdG8gMwoJICBXZSBhcmUgbm90IHVzaW5nIGFueSBmZWF0dXJlcyBncmVhdGVyIHRoYW4gdGhlIDNyZCB2ZXJzaW9uLAoJICBzbyByZWR1Y2UgdG8gd2hhdCB3ZSBhY3R1YWxseSB1c2UgdG8gbWFrZSBpdCBjb21wYXRpYmxlIHdpdGgKCSAgbW9yZSBwbGF5ZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ2ODkKCjIwMTUtMDItMTkgMTQ6MzA6MTAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJICBydHBvcHVzcGF5OiBkZWZhdWx0IGVuY29kaW5nIG5hbWUgdG8gT1BVUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3ODEwCgoyMDE1LTAyLTE5IDE0OjA1OjA2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSAgcnRwb3B1c3BheTogbWFrZSBjYXBzIHdyaXRhYmxlIGJlZm9yZSB0cnVuY2F0aW5nIHRoZW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzgxMAoKMjAxNS0wMi0wNSAxMDoyNzo1MSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkgIHJ0cG9wdXNwYXk6IG5lZ290aWF0ZSB0aGUgZW5jb2RpbmcgbmFtZQoJICBDaHJvbWUgdXNlcyBhIGRpZmZlcmVudCBlbmNvZGluZyBuYW1lIHRoYXQgZ3N0cmVhbWVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3ODEwCgoyMDE1LTAyLTE5IDE3OjIxOjQ2ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3RzaW1wbGV2aWRlb21hcmtkZXRlY3QuYzoKCSAgc2ltcGxldmlkZW9tYXJrZGV0ZWN0OiBtb3ZlIG9mZnNldCBjYWxjdWxhdGlvbnMgb3V0IG9mIGlubmVyIGxvb3BzCgkgIHRoZSBjYWxjdWxhdGlvbnMgZm9yIGRldGVjdGluZyB0aGUgdmlkZW9tYXJrIGlzIGJlaW5nIHJlcGVhdGVkCgkgIGluIGZvciBsb29wIHVubmVjZXNzYXJpbHkuIE1vdmluZyB0aGlzIG91dHNpZGUgb2YgZm9yIGxvb3AKCSAgc3VjaCB0aGF0IHRoZSBjb2RlIG5lZWQgbm90IGJlIGV4ZWN1dGVkIGV2ZXJ0aW1lIHRoZSBsb29wIGlzIGV4ZWN1dGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0Nzc4CgoyMDE1LTAyLTE5IDExOjA0OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBVc2UgdGhlIHNpbmtwYWRzIGl0ZXJhdG9yIGRpcmVjdGx5IHRvIHF1ZXJ5IHVwc3RyZWFtIGxhdGVuY2llcwoJICBXaGlsZSBnc3RfYWdncmVnYXRvcl9pdGVyYXRlX3NpbmtwYWRzKCkgbWFrZXMgc3VyZSB0aGF0IGV2ZXJ5IHBhZCBpcyBvbmx5CgkgIHZpc2l0ZWQgb25jZSwgZXZlbiB3aGVuIHRoZSBpdGVyYXRvciBoYXMgdG8gcmVzeW5jLCB0aGlzIGlzIG5vdCBhbGwgd2UgaGF2ZQoJICB0byBkbyBmb3IgcXVlcnlpbmcgdGhlIGxhdGVuY3kuIFdoZW4gdGhlIGl0ZXJhdG9yIHJlc3luY3Mgd2UgYWN0dWFsbHkgaGF2ZQoJICB0byBxdWVyeSBhbGwgcGFkcyBmb3IgdGhlIGxhdGVuY3kgYWdhaW4gYW5kIGZvcmdldCBvdXIgcHJldmlvdXMgcmVzdWx0cy4gSXQKCSAgbWlnaHQgaGF2ZSBoYXBwZW5lZCB0aGF0IGEgcGFkIHdhcyByZW1vdmVkLCB3aGljaCBpbmZsdWVuY2VkIHRoZSByZXN1bHQgb2YKCSAgdGhlIGxhdGVuY3kgcXVlcnkuCgoyMDE1LTAyLTE5IDEwOjU3OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBNb3ZlIGdzdF9hZ2dyZWdhdG9yX2dldF9sYXRlbmN5X3VubG9ja2VkKCkgYSBiaXQKCSAgSXQgd2FzIGJldHdlZW4gYW5vdGhlciBmdW5jdGlvbiBhbmQgaXRzIGhlbHBlciBmdW5jdGlvbiBiZWZvcmUsIHdoaWNoIHdhcwoJICBjb25mdXNpbmcgd2hlbiByZWFkaW5nIHRoZSBjb2RlIGFzIGl0IGhhZCBub3RoaW5nIHRvIGRvIHdpdGggdGhlIG90aGVyCgkgIGZ1bmN0aW9ucy4KCjIwMTUtMDItMTkgMDE6Mjg6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcmVzaW5kdmQvcnNuaW5wdXRzZWxlY3Rvci5jOgoJICByc25pbnB1dHNlbGVjdG9yOiBGYWlsIHRoZSBsYXRlbmN5IHF1ZXJ5IGlmIG9uZSBvZiB0aGUgdXBzdHJlYW0gcXVlcmllcyBmYWlscwoKMjAxNS0wMi0xOSAwMToyODoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogRmFpbCB0aGUgbGF0ZW5jeSBxdWVyeSBpZiBvbmUgb2YgdGhlIHVwc3RyZWFtIHF1ZXJpZXMgZmFpbHMKCjIwMTUtMDItMTkgMDE6Mjg6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEZhaWwgdGhlIGxhdGVuY3kgcXVlcnkgaWYgb25lIG9mIHRoZSB1cHN0cmVhbSBxdWVyaWVzIGZhaWxzCgoyMDE1LTAyLTE4IDE5OjA2OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IE9ubHkgc2V0IGxhdGVuY3kgaWYgd2UgYWxyZWFkeSBrbm93IG91ciBjYXBzCgkgIE90aGVyd2lzZSB3ZSBtaWdodCBzZXQgYm9ndXMgdmFsdWVzIG9yIEdTVF9DTE9DS19USU1FX05PTkUuCgkgIEFsc28gbWFrZSBzdXJlIHRvIHJlc2V0IHRoZSBjYXBzIGZpZWxkIHRvIE5VTEwgYWZ0ZXIgdW5yZWZmaW5nCgkgIHRoZSBjYXBzIHRvIHByZXZlbnQgYWNjaWRlbnRpYWwgdXNlIGFmdGVyd2FyZHMsIGFuZCB1bnJlZiBhbnkKCSAgb2xkIGNhcHMgYmVmb3JlIHdlIHJlbWVtYmVyIG5ldyBjYXBzLgoKMjAxNS0wMi0xOCAxNTo1Mzo1MyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRG9jdW1lbnQgbG9ja2luZyBvcmRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAyLTE4IDE1OjExOjE0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBSZW5hbWUgY29uZnVzaW5seSBuYW1lZCBTUkNfU1RSRUFNX0xPQ0sgbWFjcm9zIHRvIFNSQ19MT0NLCgkgIFRoaXMgd2lsbCBtYXRjaCB0aGUgbmFtZSBvZiB0aGUgbG9jayBpdHNlbGYuIEl0IGlzIGFsc28gbm90IGEgc3RyZWFtCgkgIGxvY2sgYXMgaXQgbm90IHJlY3Vyc2l2ZSBhbmQgbm90IGhlbGQgd2hpbGUgcHVzaGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMi0xOCAxNTowNjowMSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUmVuYW1lIGNvbmZ1c2luZ2x5IG5hbWVkIHN0cmVhbSBsb2NrIHRvIGZsdXNoIGxvY2sKCSAgVGhpcyBsb2NrIGlzIG5vdCB3aGF0IGlzIGNvbW1vbmx5IGtub3duIGFzIGEgInN0cmVhbSBsb2NrIiBpbiBHU3RyZW1lciwKCSAgaXQncyBub3QgcmVjdXJzaXZlIGFuZCBpdCdzIHRha2VuIGZyb20gdGhlIG5vbi1zZXJpYWxpemVkIEZMVVNIX1NUQVJUIGV2ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAyLTE4IDE1OjA0OjA0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBGaXggbWFjcm8gaW5kZW5kYXRpb24KCSAgQ2hhbmdlcyBubyBjb2RlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDItMTggMTc6MTA6NDggLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmg6CgkgIGdsdHJhbnNmb3JtOiBGaXggaW5jbHVkZXMgb2YgZ3JhcGhlbmUgaGVhZGVycwoJICBUaGUgZ3JhcGhlbmUtMS4wIHBhcnQgc2hvdWxkIG5vdCBiZSBpbiB0aGUgc291cmNlIGNvZGUuIFRoaXMgZGlyZWN0b3J5CgkgIGlzIHBhcnQgb2YgdGhlIGNmbGFncyBpbmNsdWRlLiBUaGlzIGlzIHNpbWlsYXIgdG8gZ3N0cmVhbWVyLTEuMC8KCSAgZGlyZWN0b3J5LiBUaGlzIGJyZWFrIGNvbXBpbGF0aW9uIGlmIHRoZSBpbmNsdWRlIGRpcmVjdG9yeSB3aGVyZQoJICBncmFwaGVuZSBpcyBpbnN0YWxsZWQgaXMgbm90IGluIHlvdXIgaW5jbHVkZSBwYXRoLgoKMjAxNS0wMi0xOCAxOTowNzo0MiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IHJlbW92ZSB1bm5lZWRlZCB2YWx1ZXMKCSAgTm8gbmVlZCB0byBzdG9yZSB0aGUgR3N0Rmxvd1JldHVybiB3aGVuIHdlIGNhbiBjaGVjayBpZiBpdCBpcyBub3QgT0sgZGlyZWN0bHkKCjIwMTUtMDItMTggMTg6MzM6MjAgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiByZW5hbWluZyBHc3RGbG93UmV0dXJuIHZhcmlhYmxlCgkgIEhhdmluZyBhIHZhcmlhYmxlIG5hbWVkIHJldCBpbiBhIHN0YXRpYyB2b2lkIGZ1bmN0aW9uIGlzIHZlcnkgY29uZnVzaW5nIHNpbmNlCgkgIHRoaXMgdXN1YWxseSBpcyB0byBzdG9yZSB3aGF0IHRoZSBmdW5jdGlvbiB3aWxsIHJldHVybi4KCjIwMTUtMDItMTggMTg6MDA6NDggKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiByZW1vdmUgaWdub3JlZCB2YWx1ZQoJICBWYWx1ZSBzdG9yZWQgaW4gcmV0IHdpbGwgYmUgb3Zld3JpdHRlbiBpbiB0aGUgbmV4dCBpdGVyYXRpb24gb2YgdGhlIGxvb3AuIFdoaWNoCgkgIG1lYW5zIGl0IGlzIG5ldmVyIHVzZWQuCgkgIFBsdXMgYSBzdHlsZSBpc3N1ZSB0byBtYWtlIGdzdC1pbmRlbnQgaGFwcHkgYW5kIGFsbG93IHRoZSBjb21taXQuCgoyMDE1LTAyLTE4IDE3OjQxOjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBSZW1vdmUgZ193YXJuaW5ncygpIGZvciB0aGUgZGVwcmVjYXRlZCBhdWRpbyBwcm9wZXJ0eQoJICBPdGhlcndpc2UgdGhlcmUgYXJlIGdfd2FybmluZ3MoKSBhbHJlYWR5IHdoZW4ganVzdCB1c2luZyBnc3QtaW5zcGVjdCBvcgoJICBkdW1waW5nIGEgcGlwZWxpbmUgZ3JhcGguCgoyMDE1LTAyLTE1IDIzOjE2OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogcHJvdGVjdCBhZ2FpbnN0IG1hbGZvcm1lZCBpc29tYmZmIGZvcm1hdAoJICBCZSBtb3JlIGNhcmVmdWwgYXJvdW5kIG1hbGZvcm1lZCBtcGRzIHRoYXQgYW5ub3VuY2UgdXNpbmcKCSAgaXNvbWJmZiBwcm9maWxlIGJ1dCBhY3R1YWxseSBhcmUgcmVndWxhciBtcGRzCgoyMDE1LTAyLTE4IDEyOjQ1OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogRGVhY3RpdmF0ZSB0aGUgZmFsbGJhY2sgcG9vbCBhbmQgdW5yZWYgdGhlIGZhbGxiYWNrIGJ1ZmZlciB3aGVuIHJlc2V0dGluZwoJICBPdGhlcndpc2Ugd2Ugd2lsbCBzdGlsbCBoYXZlIGEgcmVmZXJlbmNlIHRvIHRoZSBzdXJmYWNlIGxlZnQsIHdoaWNoIHdvdWxkCgkgIHByZXZlbnQgYWN0aXZhdGluZyB0aGUgc2luayBhZ2FpbiBsYXRlci4gRS5nLiBhZnRlciB3ZSBsb3N0IHRoZSBkZXZpY2UuCgkgIEhvcGVmdWxseSBmaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NjE1CgoyMDE1LTAyLTE3IDExOjUzOjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiByZW1vdmUgdW51c2VkIGRlZmluZQoKMjAxNS0wMi0xNyAxMTo0MToyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogdXNlIGNvcnJlY3QgZnVuY3Rpb24gdG8gY2xlYXIgZnJhZ21lbnQgaW5mbwoJICBKdXN0IGZyZWVpbmcgdGhlIHVybCB3b24ndCByZXNldCB0aGUgYnl0ZSByYW5nZXMgYW5kIGNhbiBsZWFkIHRvIHdyb25nCgkgIHJhbmdlcyBiZWluZyB1c2VkLgoKMjAxNS0wMi0xNyAxMDo1MDo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IGRlcHJhY2F0ZSBiYW5kd2lkdGgtdXNhZ2UgaW4gZmF2b3Igb2YgYml0cmF0ZS1saW1pdAoJICBCaXRyYXRlLWxpbWl0IGlzIGFscmVhZHkgYXZhaWxhYmxlIGluIHRoZSBiYXNlY2xhc3MgYW5kLCBldmVuIHRob3VnaAoJICB0aGUgYmFuZHdpZHRoLXVzYWdlIG5hbWUgaXMgYmV0dGVyLCBobHMgYW5kIG1zcyBhbHJlYWR5IHVzZWQKCSAgYml0cmF0ZS1saW1pdC4gVGhpcyBwYXRjaCBkZXByZWNhdGVzIHRoZSBiYW5kd2lkdGgtdXNhZ2UgYW5kIG1hcHMKCSAgaXQgdG8gdGhlIGJhc2VjbGFzcyBiaXRyYXRlLWxpbWl0ZS4KCjIwMTUtMDItMTcgMTA6NDA6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IGFkZCBiaXRyYXRlLWxpbWl0IHByb3BlcnR5CgkgIE1vdmUgdGhlIHByb3BlcnR5IGZyb20gc3ViY2xhc3NlcyB0byBhZGFwdGl2ZWRlbXV4LCBpdCBhbGxvd3MKCSAgc2VsZWNpbmcgdGhlIHBlcmNlbnRhZ2Ugb2YgdGhlIG1lYXN1cmVkIGJpdHJhdGUgdG8gYmUgdXNlZCB3aGVuCgkgIHNlbGVjdGluZyBzdHJlYW0gYml0cmF0ZXMKCjIwMTUtMDItMTcgMTA6MDQ6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzc2luay5jOgoJKiBleHQvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJICBobHNzaW5rOiBhbGxvdyBjcmVhdGlvbiBvZiAnaW5maW5pdGUnIHBsYXlsaXN0CgkgIEFsbG93IHRoZSBwbGF5bGlzdC1sZW5ndGggdG8gYWNjZXB0ICcwJyBhcyBhIHZhbHVlLCBpbmRpY2F0aW5nCgkgIHRoYXQgbm8gc2VnbWVudCBzaG91bGQgYmUgcmVtb3ZlZCBmcm9tIHRoZSBwbGF5bGlzdC4gVGhpcyBhbGxvd3MKCSAgZ2VuZXJhdGluZyBwbGF5bGlzdHMgdG8gYmUgdXNlZCBhcyBWT0Qgd2hlbiBjb21wbGV0ZS4KCjIwMTUtMDItMTcgMTA6MDQ6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzc2luay5jOgoJKiBleHQvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJKiBleHQvaGxzL2dzdG0zdThwbGF5bGlzdC5oOgoJICBobHNzaW5rOiByZW1vdmUgdW51c2VkIGF0dHJpYnV0ZQoJICB0aGUgR0ZpbGUgYXR0cmlidXRlIGlzIG5ldmVyIHVzZWQKCjIwMTUtMDItMTcgMTA6MDM6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IGFkZCBjb25uZWN0aW9uLXNwZWVkIHByb3BlcnR5CgkgIEFsbG93cyB0byBzZXQgYSBiaXRyYXRlIGRpcmVjdGx5IGluc3RlYWQgb2YgbWVhc3VyaW5nIGl0IGludGVybmFsbHkKCSAgYmFzZWQgb24gdGhlIHJlY2VpdmVkIGNodW5rcy4gVGhlIGNvbm5lY3Rpb24tc3BlZWQgd2FzIHJlbW92ZWQgZnJvbQoJICBtc3NkZW11eCBhbmQgaGxzZGVtdXggYXMgaXQgaXMgbm93IGluIHRoZSBiYXNlIGNsYXNzCgoyMDE1LTAyLTE3IDAwOjM0OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJICBiYXNlY2FtZXJhYmluc3JjOiBkb24ndCB1c2UgcHJpdmF0ZSBHTXV0ZXggaW1wbGVtZW50YXRpb24gZGV0YWlscwoJICBEb24ndCB1c2UgcHJpdmF0ZSBHTXV0ZXggaW1wbGVtZW50YXRpb24gZGV0YWlscyB0byBjaGVjawoJICB3aGV0aGVyIGl0IGhhcyBiZWVuIGZyZWVkIGFscmVhZHkgb3Igbm90LiBKdXN0IGNsZWFyIG11dGV4CgkgIGFuZCBHQ29uZCB1bmNvbmRpdGlvbmFsbHkgaW4gZnJlZSBmdW5jdGlvbiwgdGhleSBhcmUgYWx3YXlzCgkgIGluaXRlZCBhbnl3YXksIGFuZCB0aGUgZnJlZSBmdW5jdGlvbiBjYW4ndCBiZSBjYWxsZWQgbXVsdGlwbGUKCSAgdGltZXMgZWl0aGVyLgoKMjAxNS0wMi0xNiAyMzo1NDoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IGRvbid0IHVzZSBwcml2YXRlIEdNdXRleCBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzCgkgIERvbid0IHVzZSBwcml2YXRlIEdNdXRleCBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzIHRvIGNoZWNrCgkgIHdoZXRoZXIgaXQgaGFzIGJlZW4gZnJlZWQgYWxyZWFkeSBvciBub3QuIEp1c3QgdHVybiBkaXNwb3NlCgkgIGZ1bmN0aW9uIGludG8gZmluYWxpemUgZnVuY3Rpb24gd2hpY2ggd2lsbCBvbmx5IGJlIGNhbGxlZAoJICBvbmNlLCB0aGF0IHdheSB3ZSBjYW4ganVzdCBjbGVhciB0aGUgbXV0ZXggdW5jb25kaXRpb25hbGx5LgoKMjAxNS0wMi0xNyAxODoxNzo1OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsX2NvY29hX3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IGRvbid0IGRlYWRsb2NrIGlmIHRoZSBkaXNwYXRjaF9zeW5jIGlzIGNhbGxlZCBmcm9tIHRoZSBtYWluIHRocmVhZAoJICBQcm92aWRlIGEgaGVscGVyIGZ1bmN0aW9uIHRvIGNoZWNrIHdoZXRoZXIgd2UgYXJlIGJlaW5nIGNhbGxlZCBmcm9tCgkgIHRoZSBtYWluIHRocmVhZCBhbmQgYWN0IGFwcHJvcHJpYXRlbHkuCgoyMDE1LTAyLTE3IDE2OjQxOjE3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIubToKCSAgZ2wvY2FsYXllcjogb25seSBzdGFydCBkcmF3aW5nIGlmIHRoZSBwYXJlbnQgZ2wgY29udGV4dCBpcyByZWFkeQoJICBvdGhlcndpc2Ugd2UgbWF5IHRyeSB0byB1c2UgR3N0R0xGdW5jcyAqIHRoYXQgaGFzbid0IGJlZW4gc2V0IHlldAoKMjAxNS0wMi0xNyAxNjozOTo1NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsX2NvY29hX3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IHNtYWxsIHJlZmFjdG9yIG9mIGxheWVyL3ZpZXcgY3JlYXRpb24gaW50byB0aGUgd2luZG93CgoyMDE1LTAyLTE3IDAxOjA0OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsd2luZG93OiBSZW1vdmUgYXNzZXJ0aW9uIGluIGdzdF9nbF93aW5kb3dfc2hvdygpIGZvciBzdWJjbGFzc2VzIG5vdCBpbXBsZW1lbnRpbmcgaXQKCSAgT24gQW5kcm9pZCBhbmQgaU9TIHdlIGNhbid0IGNyZWF0ZSBhIHdpbmRvdyBvdXJzZWx2ZXMsIHNvIGFsc28gY2FuJ3QganVzdCBzaG93CgkgIG9uZS4gVGhhdCdzIG5vdCBhIHByb2JsZW0gYW5kIGFuIGFzc2VydGlvbiBpcyBub3QgcmVhbGx5IG5lZWRlZCBoZXJlLgoKMjAxNS0wMi0xNiAxMjozNTowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBDaGVjayBpZiBWVFNlc3Npb25Db3B5UHJvcGVydHkoKSBzdWNjZWVkcyBiZWZvcmUgdXNpbmcgdGhlIHJlc3VsdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NTg1CgoyMDE1LTAyLTEzIDIzOjQ1OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBkcm9wIEdBUCBldmVudHMgdW50aWwgd2UgaGFuZGxlIHRoZW0gcHJvcGVybHkKCjIwMTUtMDItMTIgMTI6MDQ6NDQgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHNpbXBsZXZpZGVvbWFyay5jOgoJICBzaW1wbGV2aWRlb21hcms6IHJlZmFjdG9yIGNvZGUKCSAgdGhlIGNhbGN1bGF0aW9ucyBmb3IgZHJhd2luZyB0aGUgdmlkZW9tYXJrIGlzIGJlaW5nIHJlcGVhdGVkCgkgIGluIGZvciBsb29wIHVubmVjZXNzYXJpbHkuIE1vdmluZyB0aGlzIG91dHNpZGUgb2YgZm9yIGxvb3AKCSAgc3VjaCB0aGF0IHRoZSBjb2RlIG5lZWQgbm90IGJlIGV4ZWN1dGVkIGV2ZXJ0aW1lIHRoZSBsb29wIGlzIGV4ZWN1dGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MzcxCgoyMDE1LTAyLTA5IDExOjIxOjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICB0c2RlbXV4OiBGaXggc2VnbWVudCBhbmQgc2VnbWVudCBldmVudCBoYW5kbGluZyBkdXJpbmcgc2Vla2luZwoJICBBbHdheXMgdXBkYXRlIHRoZSBzZWdtZW50IGFuZCBub3Qgb25seSBmb3IgYWNjdXJhdGUgc2Vla2luZyBhbmQgYWx3YXlzCgkgIHNlbmQgYSBuZXcgc2VnbWVudCBldmVudCBhZnRlciBzZWVrcy4KCSAgRm9yIG5vbi1hY2N1cmF0ZSBmb3JjZSBhIHJlc2V0IG9mIG91ciBzZWdtZW50IGluZm8gdG8gc3RhcnQgZnJvbQoJICB3aGVyZSBvdXIgc2VlayBsZWQgdXMgYXMgd2UgZG9uJ3QgbmVlZCB0byBiZSBhY2N1cmF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMzYzCgoyMDE1LTAyLTEzIDE2OjA2OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiB1c2UgbmV3IGdzdF9hZ2dyZWdhdG9yX3BhZF9kcm9wX2J1ZmZlcigpCgoyMDE1LTAyLTEzIDE2OjAzOjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IHVzZSBuZXcgZ3N0X2FnZ3JlZ2F0b3JfcGFkX2Ryb3BfYnVmZmVyKCkKCjIwMTUtMDItMTMgMTU6NTM6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvYWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiB1c2UgbmV3IGdzdF9hZ2dyZWdhdG9yX3BhZF9kcm9wX2J1ZmZlcigpCgoyMDE1LTAyLTEzIDE1OjQ5OjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGFnZ3JlZ2F0b3I6IGFkZCBnc3RfYWdncmVnYXRvcl9wYWRfZHJvcF9idWZmZXIoKQoJICBzdGVhbF9idWZmZXIoKSArIHVucmVmIHNlZW1zIHRvIGJlIGEgd2lkZS1zcHJlYWQgaWRpb20KCSAgKHdoaWNoIHBlcmhhcHMgaW5kaWNhdGVzIHRoYXQgc29tZXRoaW5nIGlzIG5vdCBxdWl0ZQoJICByaWdodCB3aXRoIHRoZSB3YXkgYWdncmVnYXRvciBwYWQgd29ya3MgY3VycmVudGx5KS4KCjIwMTUtMDItMTIgMTM6MzI6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IG9ubHkgcG9zdCBsYXRlbmN5IG1lc3NhZ2UgaWYgYW55dGhpbmcgY2hhbmdlZAoJICBQZXJoYXBzIHdlIHNob3VsZCBjaGVjayBmb3IgZWxlbWVudCBzdGF0ZSBhcyB3ZWxsIGFuZAoJICBvbmx5IHBvc3QgaXQgaWYgaW4gUExBWUlORyBzdGF0ZS4KCjIwMTUtMDItMTIgMTU6NDg6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NvbXBvc2l0b3IuYzoKCSAgdGVzdHM6IHJlbW92ZSBHU1RfRElTQUJMRV9QQVJTRSBndWFyZHMgZnJvbSB0d28gdGVzdHMgdGhhdCBkb24ndCByZXF1aXJlIGl0CgoyMDE1LTAxLTI4IDEyOjEyOjI2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmM6CgkgIG9wZW5zbGVzOiBNYWtlIGRlYnVnIGNhdGVnb3J5IG5hbWluZyBhIGJpdCBtb3JlIGNvbnNpc3RlbnQKCjIwMTUtMDItMTMgMTk6MTI6MjAgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogYXZmdmlkZW9zcmM6IGZpeCBjcmFzaCB3aGVuIG5vbi1HTCBtZW1vcnkgaXMgdXNlZAoKMjAxNS0wMi0wNSAxODoxMDoxNSArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBGaXggbG9naWMgaW4gZnJhZ21lbnRfZG93bmxvYWRfZmluaXNoLgoJICBUaGlzIHdhcyBwcmV2ZW50aW5nIHVzIGZyb20gc3VyZmFjaW5nIGEgbWVhbmluZ2Z1bCBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzcwMwoKMjAxNS0wMi0xMiAyMjowNjoxNyArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogRml4IGhhbmRsaW5nIG9mIGxpdmUgc3RyZWFtcyB3aXRoIHRpbWVzaGlmdCBidWZmZXJzLgoJICBCeSBpbXBsZW1lbnRpbmcgZ2V0X2xpdmVfc2Vla19yYW5nZS4KCSAgQXMgc2hvd24gYnkgOgoJICBnc3QtdmFsaWRhdGUtMS4wIHBsYXliaW4gXAoJICB1cmk9aHR0cDovL2Rldi1pcGxhdGZvcm1zLmt3LmJiYy5jby51ay9kYXNoL25ld3MyNC1hdmMzL25ld3MyNC5waHAKCSAgVGhpcyBwYXRjaCBoYW5kbGVzIGxpdmUgc2Vla2luZywgYnkgc2V0dGluZyBhIGxpdmUgc2VlayByYW5nZQoJICBjb21wcmlzZWQgYmV0d2VlbiBub3cgLSB0aW1lU2hpZnRCdWZmZXJEZXB0aCBhbmQgbm93LgoJICBUaGUgaW50ZWVyc3RpbmcgdGhpbmcgd2l0aCB0aGlzIHN0cmVhbSBpcyB0aGF0IG9uZSBjYW4gYWN0dWFsbHkKCSAgYXNrIGZyYWdtZW50cyB1cCB0byBhdmFpbGFiaWxpdHlTdGFydFRpbWUsIGJ1dCBpdCBzZWVtcyBxdWl0ZSBjbGVhcgoJICBpbiB0aGUgc3BlYyB0aGF0IGNvbnRlbnQgaXMgb25seSBndWFyYW50ZWVkIHRvIGV4aXN0IHVwIHRvCgkgIHRpbWVTaGlmdEJ1ZmZlckRlcHRoLgoJICBPbmUgY2FuIHRlc3QgbGl2ZSBzZWVraW5nIHRoaXMgd2F5IDoKCSAgZ3N0LXZhbGlkYXRlLTEuMCBwbGF5YmluIFwKCSAgdXJpPWh0dHA6Ly9kZXYtaXBsYXRmb3Jtcy5rdy5iYmMuY28udWsvZGFzaC9uZXdzMjQtYXZjMy9uZXdzMjQucGhwIFwKCSAgLS1zZXQtc2NlbmFyaW8gc2Vla19iYWNrLnNjZW5hcmlvCgkgIHdpdGggc2NlbmFyaW8gYmVpbmc6CgkgIGRlc2NyaXB0aW9uLCBzZWVrPXRydWUKCSAgc2VlaywgcGxheWJhY2stdGltZT1wb3NpdGlvbis1LjAsIHN0YXJ0PSJwb3NpdGlvbi02MDAuMCIsCgkgIGZsYWdzPWFjY3VyYXRlK2ZsdXNoCgkgIFRoaXMgZXhhbXBsZSB3aWxsIHBsYXkgdGhlIHN0cmVhbSwgd2FpdCBmb3IgZml2ZSBzZWNvbmRzLCB0aGVuIHNlZWsgYmFjawoJICB0byBhIHBvc2l0aW9uIDEwIG1pbnV0ZXMgZWFybGllci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDM2MgoKMjAxNS0wMi0xMiAyMjowNDoxMCArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBTZXQgZmlyc3Qgc2VnbWVudCB0aW1lIHRvIHNlZ21lbnQgc3RhcnQuCgkgIE90aGVyd2lzZSBhcyBsb25nIGFzIGEgc2VlayB3YXNuJ3QgZXhlY3V0ZWQsIHRoZSBwb3NpdGlvbiB3YXMKCSAgcmVwb3J0ZWQgaW5jb3JyZWN0bHk6CgkgIGdzdC12YWxpZGF0ZS0xLjAgcGxheWJpbiBcCgkgIHVyaT1odHRwOi8vZGV2LWlwbGF0Zm9ybXMua3cuYmJjLmNvLnVrL2Rhc2gvbmV3czI0LWF2YzMvbmV3czI0LnBocAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MzYyCgoyMDE1LTAyLTEyIDE3OjMzOjUwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBGaXggZGVidWcgc3RhdGVtZW50CgoyMDE1LTAyLTEyIDE1OjAyOjMxICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZG1ldGEuYzoKCSAgZ2w6IEFkZC9VcGRhdGUgbW9yZSBkZWJ1ZyBzdGF0ZW1lbnRzCgkgIFdoZXJlIHBvc3NpYmxlLCB1c2UgdGhlIF9PQkpFQ1QgdmFyaWFudHMgaW4gb3JkZXIgdG8gdHJhY2sgYmV0dGVyIGZyb20KCSAgd2hpY2ggb2JqZWN0IHRoZSBkZWJ1ZyBzdGF0ZW1lbnQgaXMgY29taW5nIGZyb20KCSAgRGVmaW5lIChhbmQgdXNlKSBHU1RfQ0FUX0RFRkFVTFQgd2hlcmUgYXBwbGljYWJsZQoJICBVc2UgR1NUX1BUUl9GT1JNQVQgd2hlcmUgYXBwbGljYWJsZQoKMjAxNS0wMi0xMiAxNDo1ODoxNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkgIGdsOiBNYWtlIGdsY29udGV4dCBkZWJ1ZyBjYXRlZ29yeSB1c2VkIGluIG1vcmUgcGxhY2VzCgkgIEFzIGEgYm9udXMgaXQgbWFrZXMgdGhlIGVnbCBjb250ZXh0IGRlYnVnIG1lc3NhZ2VzIHZpc2libGUgbm93IDopCgoyMDE1LTAyLTEyIDE0OjU2OjEyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBTcHJpbmtsZSBtb3JlIGRlYnVnCgoyMDE1LTAyLTEyIDExOjE1OjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBzZXQgcHJvcGVyIHN0cmVhbSB0eXBlIHRvIHN0cmVhbXMKCSAgc3RybmNtcCByZXR1cm5zIDAgd2hlbiBpdCBjb21wYXJlcyBlcXVhbCBhbmQgbm90IGEKCSAgYm9vbGVhbgoKMjAxNS0wMi0xMiAxMToyNjo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogY2FsY3VsYXRlIHN0cmVhbV90aW1lIHVzZWQgdG8gc3luYyBwYWQgdmFsdWVzIGNvcnJlY3RseQoJICBVc2UgcGFkIChpbnB1dCkgc2VnbWVudCB0byBjYWxjdWxhdGUgdGhlIHN0cmVhbSB0aW1lIGZyb20gdGhlCgkgIGlucHV0IHRpbWVzdGFtcCwgbm90IHRoZSBhZ2dyZWdhdG9yIChvdXRwdXQpIHNlZ21lbnQuCgoyMDE1LTAyLTEyIDExOjExOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IE9ubHkgdXNlIHRoZSBkdXJhdGlvbiBvZiB0aGUgc2FtcGxlIGlmIGl0IGlzIHZhbGlkCgoyMDE1LTAxLTI3IDEzOjQ4OjQyICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogdHJhY2sgcGVyLWZyYWdtZW50IGJpdHJhdGVzLgoJICBBbmQgdXNlIHRoZSBhdmVyYWdlIHRvIGdvIHVwIGluIHJlc29sdXRpb24sIGFuZCB0aGUgbGFzdCBmcmFnbWVudAoJICBiaXRyYXRlIHRvIGdvIGRvd24uCgkgIFRoaXMgYWxsb3dzIHRoZSBkZW11eGVyIHRvIHJlYWN0IHJhcGlkbHkgdG8gYml0cmF0ZSBsb3NzLCBhbmQKCSAgYmUgY29uc2VydmF0aXZlIGZvciBiaXRyYXRlIGltcHJvdmVtZW50cy4KCSAgKyBBZGQgYSBjb25zdHJ1Y3Qgb25seSBwcm9wZXJ0eSB0byBkZWZpbmUgdGhlIG51bWJlciBvZiBmcmFnbWVudHMKCSAgdG8gY29uc2lkZXIgd2hlbiBjYWxjdWxhdGluZyB0aGUgYXZlcmFnZSBtb3ZpbmcgYml0cmF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mjk3OQoKMjAxNS0wMi0xMSAxNDo0NDoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC94MjY1L2dzdHgyNjVlbmMuYzoKCSAgeDI2NWVuYzogQWRkIHN1cHBvcnQgZm9yIDEwYml0IDQ6MjowIGFuZCA0OjQ6NCBmb3JtYXRzCgoyMDE1LTAyLTExIDE0OjE2OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuaW5wdXRzZWxlY3Rvci5jOgoJKiBleHQveDI2NS9nc3R4MjY1ZW5jLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJICBJbXByb3ZlIGFuZCBmaXggTEFURU5DWSBxdWVyeSBoYW5kbGluZwoJICBUaGlzIG5vdyBmb2xsb3dzIHRoZSBkZXNpZ24gZG9jcyBldmVyeXdoZXJlLCBlc3BlY2lhbGx5IHRoZSBtYXhpbXVtIGxhdGVuY3kKCSAgaGFuZGxpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQxMDYKCjIwMTUtMDItMTAgMTU6NTU6NTAgKzA4MDAgIFNvbmcgQmluZyA8YjA2NDk4QGZyZWVzY2FsZS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkgIGNhbWVyYWJpbiBleGFtcGxlczogbWVtb3J5IGxlYWsgaW4gY2FtZXJhYmluIGV4YW1wbGVzIGNvZGUKCSAgc2hvdWxkIHVucmVmIGNhcHMgYWZ0ZXIgc2V0IHRvIHByb2ZpbGUuIHByb2ZpbGUgd2lsbCByZWYgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQyMTkKCjIwMTUtMDItMTAgMTU6NTM6MjEgKzA4MDAgIFNvbmcgQmluZyA8YjA2NDk4QGZyZWVzY2FsZS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgY2FtZXJhYmluIGV4YW1wbGVzOiBtZW1vcnkgbGVhayBpbiBjYW1lcmFiaW4gZXhhbXBsZXMgY29kZQoJICBzaG91bGQgdW5yZWYgYWZ0ZXIgc2V0IG9iamVjdC4gVGhlIG9iamVjdCB3aWxsIGJlIHJlZmVkIHdoZW4gc2V0CgkgIHByb3BlcnR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MjE5CgoyMDE1LTAyLTEwIDE2OjE4OjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlc3JpbmdidWZmZXI6IE9ubHkgYWxsb2NhdGUgYXQgbW9zdCBoYWxmIHRoZSBudW1iZXIgb2YgaW50ZXJuYWwgYnVmZmVycyBhcyBleHRlcm5hbCBhdWRpb3JpbmdidWZmZXIgb25lcwoJICBPdGhlcndpc2Ugd2UgbWlnaHQgZW5kIHVwIHJlYWRpbmcgdG9vIG11Y2ggZnJvbSB0aGUgYXVkaW9yaW5nYnVmZmVyLCB3aGljaAoJICB3b3VsZCByZXN1bHQgaW4gcmVhZGluZyBzaWxlbmNlLgoKMjAxNS0wMi0xMCAxNjowMToxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbmt2aWRlb3NyYzogQXBwbHkgdGhlIGRpZmYgYmV0d2VlbiBlbGVtZW50IGFuZCBwaXBlbGluZSAiYmFzZSIgdGltZSBpbiBhbGwgY2FzZXMKCSAgRXZlbiBpZiBib3RoIGNsb2NrcyBoYXZlIHRoZSBzYW1lIHJhdGUsIHdlIG5lZWQgdG8gYXBwbHkgdGhpcyBkaWZmLiBPbmx5IHdoZW4KCSAgaXQncyB0aGUgc2FtZSBjbG9jayB3ZSBkb24ndCwgYXMgaXQncyBvdXIgY2xvY2sgdGhlbi4KCjIwMTUtMDItMTAgMTU6MzA6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zcmM6IEFkZCB0aGUgZGlmZiBiZXR3ZWVuIHRoZSBwaXBlbGluZSBiYXNlIHRpbWUgYW5kIHdoZW4gd2Ugc3RhcnQgdG8gcGxheQoJICBBZGQgdGhlIGRpZmYgYmV0d2VlbiB0aGUgZXh0ZXJuYWwgdGltZSB3aGVuIHdlIHdlbnQgdG8gcGxheWluZyBhbmQKCSAgdGhlIGV4dGVybmFsIHRpbWUgd2hlbiB0aGUgcGlwZWxpbmUgd2VudCB0byBwbGF5aW5nLiBPdGhlcndpc2Ugd2UKCSAgd2lsbCBhbHdheXMgc3RhcnQgb3V0cHV0dGluZyBmcm9tIDAgaW5zdGVhZCBvZiB0aGUgY3VycmVudCBydW5uaW5nCgkgIHRpbWUuCgoyMDE1LTAyLTEwIDE0OjUzOjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IEFjdHVhbGx5IGluY2x1ZGUgdGhlIGNoYW5nZSBtZW50aW9uZWQgaW4gdGhlIGxhc3QgY29tbWl0CgoyMDE1LTAyLTEwIDE0OjQ4OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGlua3ZpZGVve3NyYyxzaW5rfTogU2FtcGxlIHRoZSBpbnRlcm5hbCBjbG9jayBpbW1lZGlhdGVseSBhZnRlciBzdGFydGluZyB0aGUgZGV2aWNlCgkgIE90aGVyd2lzZSB3ZSBtaWdodCBzdGF5IGF0IDAuMHMgZm9yIHRvbyBsb25nIGJlY2F1c2Ugd2Ugd2lsbCB0YWtlIHRoZSBmaXJzdAoJICB0aW1lc3RhbXAgd2UgZXZlciBzZWUgYXMgMC4wLi4uIHdoaWNoIHdpbGwgYmUgYWZ0ZXIgd2Ugc3RhcnRlZCB0aGUgZGV2aWNlLgoKMjAxNS0wMi0xMCAxMDo1NjozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBXaGVuIHJlY2VpdmluZyB0aW1lb3V0IGJlZm9yZSBjYXBzLCBtYWtlIHN1cmUgdG8gYWxzbyBhZHZhbmNlIG91ciBmcmFtZSBjb3VudGVyCgkgIE90aGVyd2lzZSB3ZSB3aWxsIGRpcmVjdGx5IGdvIEVPUyBvbiB0aGUgbmV4dCBub24tdGltZW91dC4KCjIwMTUtMDItMTAgMTA6NDk6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFBhdXNlIHNyY3BhZCB0YXNrIG9uIGZsb3cgZXJyb3JzCgkgIE90aGVyd2lzZSB3ZSB3aWxsIGNhbGwgdGhlIHRhc2sgZnVuY3Rpb24gb3ZlciBhbmQgb3ZlciBhZ2FpbiB1bnRpbAoJICB1cHN0cmVhbSBmaW5hbGx5IGhhbmRsZWQgdGhlIGZsb3cgcmV0dXJuIGFuZCBzaHV0cyB1cyBkb3duLgoKMjAxNS0wMi0wOSAwMDo1OTozMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGZpeCBidWZmZXIgc2VsZWN0aW9uIHdoZW4gZHVyYXRpb249LTEKCSAgSWYgdGhlIHNyYyBmcmFtZXJhdGUgYW5kIHZpZGVvYWdncmVhdG9yJ3Mgb3V0cHV0IGZyYW1lcmF0ZSB3ZXJlCgkgIGRpZmZlcmVudCwgdGhlbiB3ZSB3ZXJlIHRha2luZyBldmVyeSBzaW5nbGUgYnVmZmVyIHRoYXQgaGFkIGR1cmF0aW9uPS0xCgkgIGFzIGl0IGNhbWUgaW4gcmVnYXJkbGVzcyBvZiB0aGUgYnVmZmVyJ3Mgc3RhcnQgdGltZS4gIFRoaXMgY2F1c2VkIHRoZSBzcmMKCSAgdG8gcG9zc2libHkgcnVuIGF0IGEgZGlmZmVyZW50IHNwZWVkIHRvIHRoZSBvdXRwdXQgZnJhbWVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MDk2CgoyMDE1LTAyLTA5IDIxOjA0OjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbms6IEZpeCBjb21waWxlciB3YXJuaW5nIHdpdGggZ2NjCgkgIGdzdGRlY2tsaW5rLmNwcDogSW4gbWVtYmVyIGZ1bmN0aW9uICd2aXJ0dWFsIEhSRVNVTFQgR1N0cmVhbWVyRGVja2xpbmtJbnB1dENhbGxiYWNrOjpWaWRlb0lucHV0RnJhbWVBcnJpdmVkKElEZWNrTGlua1ZpZGVvSW5wdXRGcmFtZSosIElEZWNrTGlua0F1ZGlvSW5wdXRQYWNrZXQqKSc6CgkgIGdzdGRlY2tsaW5rLmNwcDo0OTg6MjI6IGVycm9yOiBjb21wYXJpc29uIGJldHdlZW4gc2lnbmVkIGFuZCB1bnNpZ25lZCBpbnRlZ2VyIGV4cHJlc3Npb25zIFstV2Vycm9yPXNpZ24tY29tcGFyZV0KCSAgaWYgKGNhcHR1cmVfdGltZSA+IG1faW5wdXQtPmNsb2NrX3N0YXJ0X3RpbWUpCgkgIF4KCSAgZ3N0ZGVja2xpbmsuY3BwOjUwMzoyMjogZXJyb3I6IGNvbXBhcmlzb24gYmV0d2VlbiBzaWduZWQgYW5kIHVuc2lnbmVkIGludGVnZXIgZXhwcmVzc2lvbnMgWy1XZXJyb3I9c2lnbi1jb21wYXJlXQoJICBpZiAoY2FwdHVyZV90aW1lID4gbV9pbnB1dC0+Y2xvY2tfb2Zmc2V0KQoJICBeCgoyMDE1LTAyLTA5IDE3OjE3OjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5oOgoJICBkZWNrbGlua3thdWRpbyx2aWRlb31zcmM6IEltcGxlbWVudCBjbG9jayBzbGF2aW5nIGlmIHRoZSBwaXBlbGluZSBjbG9jayBpcyBub3QgdGhlIGRlY2tsaW5rIGNsb2NrCgoyMDE1LTAyLTA5IDE3OjE1OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJICBkZWNrbGlua2F1ZGlve3NyYyxzaW5rfTogT25seSBzdGFydCBzdHJlYW1zIC8gc2NoZWR1bGVkIHBsYXliYWNrIGlmIHRoZXJlIGlzIGEgdmlkZW9zcmMgYXQgdGhpcyBwb2ludAoKMjAxNS0wMi0wOSAxNzowNDoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSAgZGVja2xpbmthdWRpb3NyYzogRG9uJ3QgcHJvdmlkZSBhIGNsb2NrCgkgIFRoZSBhdWRpbyBzb3VyY2Ugb25seSB3b3JrcyB0b2dldGhlciB3aXRoIHRoZSB2aWRlbyBzb3VyY2UsIGFuZCB0aGUgdmlkZW8KCSAgc291cmNlIGlzIGFscmVhZHkgcHJvdmlkaW5nIGEgY2xvY2suCgoyMDE1LTAyLTA5IDE2OjE4OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zaW5rLmNwcDoKCSAgZGVja2xpbmthdWRpb3Npbms6IFRocm90dGxlIHJlYWRpbmcgZnJvbSB0aGUgcmluZ2J1ZmZlcgoJICBUaGUgZHJpdmVyIGhhcyBhbiBpbnRlcm5hbCBidWZmZXIgb2YgdW5zcGVjaWZpZWQgYW5kIHVuY29uZmlndXJhYmxlIHNpemUsIGFuZAoJICBpdCB3aWxsIHB1bGwgZGF0YSBmcm9tIG91ciByaW5nIGJ1ZmZlciBhcyBmYXN0IGFzIGl0IGNhbiB1bnRpbCB0aGF0IGlzIGZ1bGwuCgkgIFVuZm9ydHVuYXRlbHkgdGhhdCBtZWFucyB0aGF0IHdlIHB1bGwgc2lsZW5jZSBmcm9tIHRoZSByaW5nYnVmZmVyIHVubGVzcyBpdHMKCSAgc2l6ZSBpcyBieSBjb25pbmNpZGVuY2UgbGFyZ2VyIHRoYW4gdGhlIGRyaXZlcidzIGludGVybmFsIHJpbmdidWZmZXIuCgkgIFRoZSBnb29kIG5ld3MgaXMgdGhhdCBpdCdzIG5vdCByZXF1aXJlZCB0byBjb21wbGV0ZWx5IGZpbGwgdGhlIGJ1ZmZlciBmb3IKCSAgcHJvcGVyIHBsYXliYWNrLiBTbyB3ZSBub3cgdGhyb3R0bGUgcmVhZGluZyBmcm9tIHRoZSByaW5nYnVmZmVyIHdoZW5ldmVyCgkgIHRoZSBkcml2ZXIgaGFzIGJ1ZmZlcmVkIG1vcmUgdGhhbiBoYWxmIG9mIG91ciByaW5nYnVmZmVyIHNpemUgYnkgd2FpdGluZwoJICBvbiB0aGUgY2xvY2sgZm9yIHRoZSBhbW91bnQgb2YgdGltZSB1bnRpbCBpdCBoYXMgYnVmZmVyZWQgbGVzcyB0aGFuIHRoYXQKCSAgYWdhaW4uCgoyMDE1LTAyLTA5IDE1OjE5OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zaW5rLmNwcDoKCSAgZGVja2xpbmthdWRpb3Npbms6IFN0YXJ0IHNjaGVkdWxlZCBwbGF5YmFjayB3aGVuIGdvaW5nIHRvIFBMQVlJTkcKCSAgVGhlIHJpbmdidWZmZXIncyBhY3F1aXJlKCkgaXMgdG9vIGVhcmx5LCBhbmQgcmluZ2J1ZmZlcidzIHN0YXJ0KCkgd2lsbCBvbmx5IGJlCgkgIGNhbGxlZCBhZnRlciB0aGUgY2xvY2sgaGFzIGFkdmFuY2VkIGEgYml0Li4uIHdoaWNoIGl0IHdvbid0IHVubGVzcyB3ZSBzdGFydAoJICBzY2hlZHVsZWQgcGxheWJhY2suCgoyMDE1LTAyLTA5IDIxOjE4OjI0ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogZml4IHRleHR1cmUgc2hhcmluZyBvbiBpT1MKCSAgTW92ZSBHTEVTIGNhbGxzIHRvIHRoZSBjb250ZXh0IHRocmVhZC4gRml4CgkgIENWT3BlbkdMRVNUZXh0dXJlQ2FjaGVDcmVhdGVUZXh0dXJlRnJvbUltYWdlIHVzYWdlIG9uIGlPUy4KCjIwMTUtMDItMDkgMjA6NDQ6NTAgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGxpYmdzdGdsOiBzZXQgdXNlciBkYXRhIGFuZCBHRGVzdHJveU5vdGlmeSBmb3Igd3JhcHBlZCB0ZXh0dXJlcwoKMjAxNS0wMi0wOCAyMTo1Mzo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbmt7YXVkaW8sdmlkZW99c3JjOiBUYWtlIHRoZSBjYXB0dXJlIHRpbWVzIGZyb20gdGhlIHBpcGVsaW5lIGNsb2NrCgkgIE5vdCBmcm9tIHRoZSBkZWNrbGluayBjbG9jay4gQm90aCB3aWxsIHJldHVybiBleGFjdGx5IHRoZSBzYW1lIHRpbWUgb25jZSB0aGUKCSAgZGVja2xpbmsgY2xvY2sgZ290IHNsYXZlZCB0byB0aGUgcGlwZWxpbmUgY2xvY2sgYW5kIHJlY2VpdmVkIHRoZSBmaXJzdAoJICBvYnNlcnZhdGlvbiwgYnV0IHVudGlsIHRoZW4gaXQgd2lsbCByZXR1cm4gYm9ndXMgdmFsdWVzLiBCdXQgYXMgYm90aCByZXR1cm4KCSAgZXhhY3RseSB0aGUgc2FtZSB2YWx1ZXMsIHdlIGNhbiBhcyB3ZWxsIHVzZSB0aGUgcGlwZWxpbmUgY2xvY2sgZGlyZWN0bHkuCgoyMDE1LTAyLTA4IDE0OjMyOjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGRvbid0IHNldCBlbGVtZW50IGZhY3RvcnkgZGV0YWlscwoJICBUaGlzIGlzIGFuIGFic3RyYWN0IGJhc2UgY2xhc3MsIG5vdCBhbiBlbGVtZW50LgoKMjAxNS0wMi0wOCAwMToxOTo0MiArMTEwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJICBkdmRzcHU6IHNvbWUgb3B0aW1pemF0aW9ucwoJICBEZXRlY3QgaW52aXNpYmxlIHBpeGVscywgYW5kIHNraXAgZ3N0c3B1X3ZvYnN1Yl9ibGVuZF9jb21wX2J1ZmZlcnMoKQoJICB3aGVuIHRoZXJlIGFyZSBvbmx5IGludmlzaWJsZSBwaXhlbHMuICBUaGlzIHNpZ25pZmljYW50bHkgcmVkdWNlcyB0aGUKCSAgQ1BVIGxvYWQgaW4gY2FzZXMgb2YgRFZEcyB3aGljaCBkb24ndCB1c2UgdGhlIGNsaXBfcmVjdCB0byBleGNsdWRlCgkgIHByb2Nlc3NpbmcgZm9yIHBhcnRzIG9mIHRoZSBzY3JlZW4gd2hlcmUgdGhlIHZpZGVvIGlzIHZpc2libGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjcyMjEKCjIwMTUtMDItMDggMDU6MDY6NDggKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBBdm9pZCB3YXJuaW5nIGlmIHRoZSB2aWRlbyBmb3IgYSBzdGlsbCBmcmFtZSBhcnJpdmVzIGFmdGVyIHRoZSBTUFUKCSAgV2hlbiB3ZSBkb24ndCBoYXZlIGEgc2VnbWVudCBvbiB0aGUgdmlkZW8gcGFkIHlldCBkdXJpbmcgYSBzdGlsbCBmcmFtZQoJICBkb24ndCBmcmVhayBvdXQuCgoyMDE1LTAyLTA4IDA0OjUxOjEzICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmQ6IERvbid0IHNlbmQgbWVhbmluZ2xlc3Mgc2VnbWVudCBwb3NpdGlvbiBkb3duc3RyZWFtCgkgIERvbid0IHBsYWNlIGEgbWVhbmluZ2xlc3MgdmFsdWUgaW4gdGhlIHBvc2l0aW9uIGZpZWxkIGluCgkgIG91dGdvaW5nIHNlZ21lbnRzIC0gdmFsdWVzIGhhdmUgdG8gYmUgaW4gdGhlIHJhbmdlIHN0YXJ0LT5zdG9wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNTU4CgoyMDE1LTAyLTA2IDE2OjIyOjI2ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIFJldmVydCAiYWlmZnBhcnNlOiBtYWtlIHN1cmUgd2UgaGF2ZSBkYXRhIGJlZm9yZSBoYW5kbGluZyBzaW5rIGV2ZW50IgoJICBUaGlzIHJldmVydHMgY29tbWl0IGE0YmFhYmI0OGQyNTIyMTRkMzgzM2I1MDJjNzkwM2Q5ZjE1ZjM1MDIuCgoyMDE1LTAyLTA2IDE1OjEwOjU1ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogbWFrZSBzdXJlIHdlIGhhdmUgZGF0YSBiZWZvcmUgaGFuZGxpbmcgc2luayBldmVudAoJICBDaGVjayBBSUZGX1BBUlNFX0RBVEEgaXMgVHJ1ZSBiZWZvcmUgaGFuZGxpbmcgc2luayBldmVudCwgaWYgbm90IGdvdG8gZXhpdC4KCjIwMTUtMDItMDUgMTU6NTc6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmg6CgkgIGF1ZGlvbWl4ZXI6IHJlbW92ZSBub3ctdW51c2VkIGJhc2VfdGltZSBmaWVsZCBpbiBvYmplY3Qgc3RydWN0dXJlCgoyMDE1LTAyLTA2IDEwOjU5OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBTdHJlYW1saW5lIGxhdGVuY3kgY2FsY3VsYXRpb25zCgkgIE1pbiBsYXRlbmN5IGNhbiBuZXZlciBiZSBpbnZhbGlkLCBsYXRlbmN5IHByb3BlcnR5IGNhbiBuZXZlciBiZSBpbnZhbGlkCgkgIGVpdGhlci4gU28gbm8gbmVlZCB0byBjaGVjayBmb3IgYWxsIHRoZXNlIHRoaW5ncyBpbiB2YXJpb3VzIHBsYWNlcy4KCjIwMTUtMDItMDYgMTA6MzY6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IElmIHVwc3RyZWFtIGhhcyBubyBtYXggbGF0ZW5jeSBidXQgdGhlIHN1YmNsYXNzIGhhcywgdGFrZSB0aGUgc3ViY2xhc3MgbWF4IGxhdGVuY3kKCjIwMTUtMDItMDYgMTA6MzM6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEZpeCBtaW4+bWF4IGxhdGVuY3kgZXJyb3IgY2hlY2sKCSAgV2UgaGF2ZSB0byBpbmNsdWRlIHRoZSB1cHN0cmVhbSBsYXRlbmN5LCBvdXIgb3duIGxhdGVuY3kgYW5kIHRoZSBzdWJjbGFzcwoJICBsYXRlbmN5IGluIHRoZSBjYWxjdWxhdGlvbnMuCgkgIEZJWE1FOiBUaGlzIGlzIHN0aWxsIG5vdCBlbnRpcmVseSBjb3JyZWN0CgoyMDE1LTAyLTA2IDEwOjMwOjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBEb24ndCBhZGQgdGhlIGxhdGVuY3kgcHJvcGVydHkgdG8gdGhlIG1heCBsYXRlbmN5CgkgIEl0IGhhcyBubyBtZWFuaW5nIGZvciB0aGUgbWF4IGxhdGVuY3kgYW5kIGlzIG9ubHkgdXNlZCB0byBpbmNyZWFzZSB0aGUgbWluCgkgIGxhdGVuY3kuCgoyMDE1LTAyLTA2IDEyOjUzOjE1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL3Zhby5oOgoJICBnbHByb3RvL3Zhbzogb25seSBzdXBwb3J0ZWQgaW4gY29yZSBmb3IgRVMgMy4wKwoJICBXYXMgY2F1c2luZyBob3Jpem9udGFsbHkgZmxpcHBlZCB2aWRlbyBmb3IgZnJhbWUgMiBvbndhcmQgb24gYW5kcm9pZAoKMjAxNS0wMi0wNSAxMzozMToxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiByZWxhY2UgcGFyc2VkIHdpdGggZnJhbWVkIGluIGFhYyBjYXBzCgkgIEZvciBBQUMgaXQgc2hvdWxkIGFsd2F5cyBiZSAnZnJhbWVkJyBhbmQgbm90ICdwYXJzZWQnCgoyMDE1LTAyLTA1IDExOjM5OjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGZpeCBvdXRwdXQgY2FwcyB0byBuZWdvdGlhdGUgd2l0aCBzb21lIG11eGVycwoJICBBZGQgcGFyc2VkL2ZyYW1lZD10cnVlIHRvIGFsbG93IG5lZ290aWF0aW9uIHdpdGggc29tZQoJICBtdXhlcnMgdGhhdCByZXF1aXJlZCBwYXJzZWQgaW5wdXQuIEVuY29kZXJzIGFscmVhZHkgcHJvdmlkZQoJICBwYXJzZWQvZnJhbWVkIG91dHB1dCBzbyBpdCBzaG91bGQgc2F5IHNvIGluIGNhcHMuCgoyMDE1LTAyLTA1IDE1OjQ4OjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY29tcG9zaXRvci5jOgoJICB0ZXN0czogY29tcG9zaXRvcjogYWRkIHVuaXQgdGVzdCBmb3IgcHJvcGVyIHNlZ21lbnQuYmFzZSBoYW5kbGluZwoJICBBcyBhZGp1c3RlZCBieSBnc3RfcGFkX3NldF9vZmZzZXQoKSwgb3Igd2hlbiBkb2luZyBzZWdtZW50IHNlZWtzCgkgIG9yIGxvb3BpbmcgZm9yIGV4YW1wbGUuCgoyMDE1LTAyLTA1IDE1OjIzOjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICB0ZXN0czogYXVkaW9taXhlcjogYWRkIHVuaXQgdGVzdCBmb3IgcHJvcGVyIHNlZ21lbnQuYmFzZSBoYW5kbGluZwoJICBBcyBhZGp1c3RlZCBieSBnc3RfcGFkX3NldF9vZmZzZXQoKSwgb3Igd2hlbiBkb2luZyBzZWdtZW50IHNlZWtzCgkgIG9yIGxvb3BpbmcgZm9yIGV4YW1wbGUuIFNlZSBwcmV2aW91cyBhdWRpb21peGVyIGNvbW1pdC4KCjIwMTUtMDItMDUgMTY6MDI6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IFJlbW92ZSB3ZWlyZCBhbmQgd3Jvbmcgc2VnbWVudCBoYW5kbGluZwoJICBUaGVyZSdzIG5vIHJlYXNvbiB3aHkgYXVkaW9taXhlciBzaG91bGQgb3ZlcnJpZGUgdGhlIHNlZ21lbnQKCSAgYmFzZSBvZiB1cHN0cmVhbSB3aXRoIHdoYXRldmVyIHZhbHVlIGl0IGdvdCBmcm9tIGEgU0VFSyBldmVudCwKCSAgb3IgZXZlbiB3b3JzZS4uLiB3aXRoIDAgaWYgdGhlcmUgd2FzIG5vIFNFRUsgZXZlbnQgeWV0LiBUaGlzCgkgIGJyb2tlIHN5bmNocm9uaXphdGlvbiBpZiB1cHN0cmVhbSBwcm92aWRlZCBhIHNlZ21lbnQgYmFzZSBvdGhlcgoJICB0aGFuIDAsIGUuZy4gd2hlbiB1c2luZyBwYWQgb2Zmc2V0cy4KCSAgQWxzbyB0aGF0IHRoaXMgY29kZSBkaWQgdGhpbmdzIGNvbmRpdGlvbmFsIG9uIHRoZSBlbGVtZW50J3Mgc3RhdGUKCSAgc2hvdWxkJ3ZlIGJlZW4gYSBiaWcgd2FybmluZyBhbHJlYWR5IHRoYXQgc29tZXRoaW5nIGlzIGp1c3Qgd3JvbmcuCgkgIElmIHRoaXMgYnJlYWtzIGFueXRoaW5nIGVsc2Ugbm93LCBsZXQncyBmaXggaXQgcHJvcGVybHkgOikKCSAgQWxzbyBkb24ndCBkbyBmYW5jeSBzZWdtZW50IHBvc2l0aW9uIHRyaWNrZXJ5IHdoZW4gcmVjZWl2aW5nIGEKCSAgc2VnbWVudCBldmVudC4gSXQncyBqdXN0IG5vdCBjb3JyZWN0LgoKMjAxNS0wMi0wNSAxMjoyNDowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXNyaW5nYnVmZmVyOiBPbmx5IHByZS1yb2xsIGEgc2luZ2xlIGJ1ZmZlcgoJICBUaGVyZSBpcyBubyByZWFzb24gdG8gcHJlLXJvbGwgbW9yZSBidWZmZXJzIGhlcmUgYXMgd2UgaGF2ZSBvdXIgb3duIHJpbmdidWZmZXIKCSAgd2l0aCBtb3JlIHNlZ21lbnRzIGFyb3VuZCBpdCwgYW5kIHdlIGNhbiBpbW1lZGlhdGVseSBwcm92aWRlIG1vcmUgYnVmZmVycyB0bwoJICBPcGVuU0wgRVMgd2hlbiBpdCByZXF1ZXN0cyB0aGF0IGZyb20gdGhlIGNhbGxiYWNrLgoJICBQcmUtcm9sbGluZyBhIHNpbmdsZSBidWZmZXIgYmVmb3JlIHN0YXJ0aW5nIGlzIG5lY2Vzc2FyeSB0aG91Z2gsIGFzIG90aGVyd2lzZQoJICB3ZSB3aWxsIG9ubHkgb3V0cHV0IHNpbGVuY2UuCgkgIExvd2VycyBsYXRlbmN5IGEgYml0LCBkZXBlbmRpbmcgb24gbGF0ZW5jeS10aW1lIGFuZCBidWZmZXItdGltZSBzZXR0aW5ncy4KCjIwMTUtMDItMDUgMTI6MjI6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzcmluZ2J1ZmZlcjogQWxsb2NhdGUgYXQgbW9zdCA0IGludGVybmFsIGJ1ZmZlcnMKCSAgNCBpcyB0aGUgInR5cGljYWwiIG51bWJlciBvZiBidWZmZXJzIGRlZmluZWQgYnkgQW5kcm9pZCdzIE9wZW5TTCBFUwoJICBpbXBsZW1lbnRhdGlvbiwgYW5kIGl0cyBjb2RlIGlzIG9wdGltaXplZCBmb3IgdGhpcy4gQWxzbyBiZWNhdXNlIHdlCgkgIGhhdmUgb3VyIG93biByaW5nYnVmZmVyIGFyb3VuZCB0aGlzLCB3ZSB3aWxsIGFsd2F5cyBoYXZlIGVub3VnaAoJICBidWZmZXJpbmcgb24gb3VyIHNpZGUgYWxyZWFkeS4KCSAgQWxsb3dzIGZvciBtb3JlIGVmZmljaWVudCBwcm9jZXNzaW5nLgoKMjAxNS0wMi0wNSAxMjoyMTo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmM6CgkgIG9wZW5zbGVzc2luay9zcmM6IExvd2VyIGRlZmF1bHQgYnVmZmVyIHRpbWUgdG8gMjAwbXMgbGlrZSBhbHNhc2luawoKMjAxNS0wMi0wNSAxNjo0NjozMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBlbnN1cmUgdGhhdCB0aGUgaW5wdXQgdXBsb2FkL2NvbG9yY29udmVydCBhcmUgYWx3YXlzIGF2YWlsYWJsZQoKMjAxNS0wMi0wNSAxMTowNjoxMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBsb2cgdGhlIGNvbnZlcnRlZCBjYXBzCgoyMDE1LTAyLTA1IDExOjA1OjAyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IHJlc3RyaWN0IEVHTCBhbmQgVXBsb2FkTWV0YSB0byBSR0JBCgkgIG90aGVyIGZvcm1hdHMgYXJlIGhpZ2hseSB1bnRlc3RlZC4KCjIwMTUtMDItMDUgMTE6MDQ6MDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogZG9uJ3QgaW50ZXJzZWN0IHdpdGggdGhlIGlucHV0IGNhcHMKCSAgdGhhdCBsaW1pdHMgb3VyIGZvcm1hdHMgdG8gd2hhdGV2ZXIgaXMgaW4gdGhlIGlucHV0IGNhcHMKCjIwMTUtMDItMDQgMTQ6MTA6MTMgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2w6IGZpeCBtZW1vcnkgbGVhawoJICBJbiBnc3RfZ2xfZmlsdGVyX2ZpeGF0ZV9jYXBzICgpIGl0IGNhbiBnb3RvIGRvbmUgd2l0aG91dCBmcmVlaW5nIHRoZSBtZW1vcnkgb2YKCSAgdGhlIHRtcCBHc3RTdHJ1Y3R1cmUuIFRoaXMgbWFrZXMgaXQgZ28gb3V0IG9mIHNjb3BlIGFuZCBsZWFrLgoJICBDSUQgIzEyNjU3NjUKCjIwMTUtMDItMDQgMTE6NTI6MjYgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmNwcDoKCSAgbW90aW9uY2VsbHM6IGluaXRpYWxpemUgY2xhc3MgdmFyaWFibGVzCgkgIFNvbWUgdmFyaWFibGVzIGFyZSBub3QgaW5pdGlhbGl6ZWQgaW4gdGhlIGNvbnN0cnVjdG9yLiBJdCBpcyBoaWdobHkgdW5saWtlbHkKCSAgdGhleSBhcmUgdXNlZCBiZWZvcmUgYmVpbmcgc2V0LCBidXQgaXQgaXMgc2FmZXIgdG8gaW5pdGlhbGl6ZSB0aGVtLgoJICBDSUQgIzExOTc3MDQKCjIwMTUtMDItMDMgMTg6MTM6MjUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy93aW5rcy9rc2hlbHBlcnMuYzoKCSAga3N2aWRlb3NyYzogRml4IG1pc3NpbmcgYnJhY2Ugd2FybmluZwoJICBUaGVyZSBpcyBtb3JlIGJ1dCBpdCdzIGZyb20ga3MuaCBHVUlEIGluaXRpYWxpemVyLCB3aGljaCBpcyBzaGlwcGVkCgkgIHRoaXMgd2F5IHdpdGggbWluZ3cuCgoyMDE1LTAyLTAzIDE3OjQ0OjM0IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5oOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJICBrc3ZpZGVvc3JjOiBGaXggYnVmZmVyIGhhbmRsaW5nCgkgIFRoZSBwc2V1ZG8gYnVmZmVyIHBvb2wgY29kZSB3YXMgdXNpbmcgZ3N0X2J1ZmZlcl9pc193cml0YWJsZSgpCgkgIGFsb25lIHRvIHRyeSBhbmQgZmlndXJlLW91dCBpZiBjYWNoZWQgYnVmZmVyIGNvdWxkIGJlIHJldXNlZC4KCSAgSXQgbmVlZHMgdG8gY2hlY2sgZm9yIG1lbW9yeSB3cml0YWJpbGl0eSB0b28uIEFsc28gY2hlY2sgbWFwCgkgIHJlc3VsdCBhbmQgZml4IG1hcCBmbGFncy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDI2NAoKMjAxNS0wMi0wMyAxNzowNTowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBhdm9pZCBsZWFraW5nIGZvcmNlIGtleXVuaXQgZXZlbnQgd2hlbiBnb2luZyB0byBOVUxMCgkgIERvIG5vdCBzZXQgdG8gTlVMTCBiZWZvcmUgdW5yZWZmaW5nIHRoZSBldmVudCBvciBpdCB3aWxsIGxlYWsKCjIwMTMtMDMtMTggMDg6MTU6MDAgKzAwMDAgIEFudG9uIEdyaXRzYXkgPGFudG9uQGFuZ3JpLnJ1PgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBwYXJzZSBmb3JjZSBrZXkgdW5pdCBldmVudHMgd2l0aCB0aGUgY29ycmVjdCBmdW5jdGlvbgoJICBPdGhlcndpc2UgaXQgd29uJ3QgYmUgcGFyc2VkIGFuZCBib2d1cyB2YWx1ZXMgd291bGQgYmUgdXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjAzMgoKMjAxNS0wMS0yNiAyMDo0MjoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgdHNkZW11eDogcmVtb3ZlIHVwZGF0ZSBzZWdtZW50IGxvZ2ljCgkgIFRoaXMgaXMgbm90IG5lZWRlZCBpbiAxLnggc2VyaWVzIGFueW1vcmUKCjIwMTUtMDItMDMgMTA6NTk6MTYgLTAzMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQGRhcmtvc3BoZXJlLmZyPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZG9uJ3QgbWFyayBzdHJlYW1zIGFzIG5lZWRpbmcgYSBuZXcgc2VnbWVudCBvbiBmbHVzaAoJICBUaGUgZmx1c2ggaXMgY2FsbGVkIG9uIGRpc2NvbnQgYW5kIHdlIHNob3VsZG4ndCBvdXRwdXQgYSBuZXcgc2VnbWVudAoJICBlYWNoIHRpbWUgYSBkaXNjb250IGhhcHBlbnMuIFNvIHRoaXMgY29tbWl0IHJlbW92ZSB0aGUgbWFyayBmb3IgYSBuZXcKCSAgc2VnbWVudCB3aGVuIGZsdXNoaW5nIHN0cmVhbXMgYnkgcHJvcGFnYXRpbmcgdGhlICdoYXJkJyBmbGFnIHBhc3NlZAoJICBvbiB0aGUgZmx1c2luZyBmcm9tIHRoZSBiYXNlIGNsYXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMzYzCgoyMDE1LTAyLTAzIDE3OjMyOjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLm06CgkgIGNvcmV2aWRlb3RleHR1cmVjYWNoZTogQWRkIHNvbWUgYXNzZXJ0aW9ucyBpbnN0ZWFkIG9mIGp1c3QgZGVyZWZlcmVuY2luZyBOVUxMCgoyMDE1LTAyLTAzIDE3OjI5OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLm06CgkgIGNvcmV2aWRlb3RleHR1cmVjYWNoZTogRG9uJ3QgdW5jb25kaXRpb25hbGx5IHVzZSB0aGUgQ29yZU1lZGlhIG1ldGEgb24gaU9TCgkgIFdlIG1pZ2h0IGluc3RlYWQgaGF2ZSBhIENvcmVWaWRlbyBtZXRhLgoKMjAxNS0wMi0wMyAxNDo1NTozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgVW5kbyBhY2NpZGVudGFsIGNvbW1vbiBtb2R1bGUgcmV3aW5kCgkgIGluIGNvbW1pdCA3ZDQ2MzU3NgoKMjAxNS0wMi0wMyAxNTozODo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBEb24ndCBkZXJlZmVyZW5jZSBOVUxMIGZyYW1lcyB3aGVuIGRyYWluaW5nL2ZsdXNoaW5nCgoyMDE1LTAyLTAzIDE1OjMwOjA4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbDogcmVtb3ZlIHRoZSBlZ2wgY2FwcyBmcm9tIHRoZSBzcmMgcGFkcwoJICB3ZSBkb24ndCBhY3R1YWxseSBzdXBwb3J0IHByb2R1Y2luZyBFR0xJbWFnZSBidWZmZXJzIGFueXdoZXJlLgoKMjAxNS0wMi0wMyAxMzozMjo0NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogcHV0IEdzdEdMU3luY01ldGEgb24gb3V0cHV0IGJ1ZmZlcnMKCSAgYWxsb3dzIHRocmVhZCBzYWZlbHkgdXNpbmcgdGhlIHByb3ZpZGVkIG91dHB1dCBidWZmZXIgaW4gYSBzZXBhcmF0ZQoJICB0aHJlYWQKCjIwMTUtMDItMDMgMDA6MzU6MjYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogb25seSB0cnkgdGhlIGdsbWVtb3J5IHVwbG9hZCBmb3Igc3lzbWVtL2dsbWVtb3J5IGNhcHMgZmVhdHVyZXMKCSAgQWxsb3dzIHNlbGVjdGluZy90ZXN0aW5nIHRoZSB1cGxvYWQgcGF0aCB3aXRoIGV4cGxpY2l0IGNhcHMgZmVhdHVyZXMuCgoyMDE1LTAyLTAzIDAwOjI2OjIwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IGFkZCBtaXNzaW5nIGluaXRpbGlzYXRpb24gb2YgdGV4X3RhcmdldCB3aGVuIGNvcHlpbmcKCSAgZml4ZXM6CgkgIGdsY29sb3JzY2FsZSAhIHZpZGVvL3gtcmF3XChtZXRhOkdzdFZpZGVvR0xUZXh0dXJlVXBsb2FkTWV0YVwpICEKCSAgZ2xpbWFnZXNpbmsKCjIwMTUtMDItMDMgMDA6MTU6MzAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogYWxsb3cgTlVMTCBidWZmZXIgZm9yIGFjY2VwdCB2ZnVuYwoKMjAxNS0wMi0wMyAwMDoxMzowNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiByZW1vdmUgdW5zZWQgY29udmVydCBmaWVsZCBpbiBwcml2YXRlIHN0cnVjdAoKMjAxNS0wMi0wMyAwMDoxMTowNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBnbHVwbG9hZC9kb3dubG9hZC9jb252ZXJ0OiBwcm92aWRlIHRyYW5zZm9ybV9jYXBzIGZ1bmN0aW9ucwoJICBBbGxvd3MgZmluZXIgZ3JhaW4gZGVjaXNpb25zIGFib3V0IGZvcm1hdHMgYW5kIGZlYXR1cmVzIGF0IGVhY2gKCSAgc3RhZ2Ugb2YgdGhlIHBpcGVsaW5lLgoJICBBbHNvIHByb3ZpZGUgcHJvcG9zZV9hbGxvY2F0aW9uIGZvciBnbHVwbG9hZCBiZXNlZCBvbiB0aGUgc3VwcG9ydGVkCgkgIG1ldGhvZHMuCgoyMDE1LTAyLTAzIDExOjA3OjU4ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGNvbW1vbjoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdzdGdsd2luZG93X2NvY29hOiBmaXggc2xvdyByZW5kZXIgcmF0ZQoJICBJbiBnc3RfZ2xfd2luZG93X2NvY29hX2RyYXcgd2UgdXNlZCB0byBqdXN0IGNhbGwgc2V0TmVlZHNEaXNwbGF5OllFUy4gVGhhdCB3YXMKCSAgY3JlYXRpbmcgYW4gaW1wbGljaXQgQ0EgdHJhbnNhY3Rpb24gd2hpY2ggd2FzIGdldHRpbmcgY29tbWl0dGVkIGF0IHRoZSBuZXh0CgkgIHJ1bmxvb3AgaXRlcmF0aW9uLiBTaW5jZSB3ZSBkb24ndCBrbm93IGhvdyBvZnRlbiB0aGUgbWFpbiBydW5sb29wIGlzIHJ1bm5pbmcsCgkgIGFuZCB3aGVuIHdlIHJ1biBpdCBpbXBsaWNpdGx5IChmcm9tIGdzdF9nbF93aW5kb3dfY29jb2FfbnNhcHBfaXRlcmF0aW9uKSB3ZSBvbmx5CgkgIGRvIHNvIGV2ZXJ5IDIwMG1zLCB1c2UgYW4gZXhwbGljaXQgQ0EgdHJhbnNhY3Rpb24gaW5zdGVhZCBhbmQgY29tbWl0IGl0CgkgIGltbWVkaWF0ZWx5LiBDQSB0cmFuc2FjdGlvbnMgbmVzdCBhbmQgZGVib3VuY2UgYXV0b21hdGljYWxseSBzbyB0aGlzIHdpbGwgbmV2ZXIKCSAgcmVzdWx0IGluIGV4dHJhIHdvcmsuCgoyMDE1LTAyLTAyIDIzOjQwOjE2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLmg6CgkgIGdzdGdsY2FvcGVuZ2xsYXllcjogdXNlIHRoZSBjb3JyZWN0IHJlY3RhbmdsZSB0eXBlIGZvciBpT1MgYW5kIE9TIFgKCjIwMTUtMDItMDIgMjE6MDc6NDggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJICBnbGNvbG9yY29udmVydDogdXNlIHRoZSBjb3JyZWN0IGNhcHMgZmVhdHVyZSBmb3Igc3VwcG9ydGVkIGNhcHMKCSAgZ2xjb2xvcmNvbnZlcnQgY3VycmVudGx5IG9ubHkgc3VwcG9ydHMgY29udmVydGluZyBiZXR3ZWVuIEdMTWVtb3J5CgkgIHRhcmdldHMuCgoyMDE1LTAyLTAyIDIwOjUxOjMxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJICBnbHN5bmNtZXRhOiBkb24ndCB1c2UgdGhlIGdzdCBkZWJ1ZyBvYmplY3QgdmFyaWFudHMKCSAgV2UgYXJlIG5vdCBhIEdPYmplY3Qgb3IgYW55IGluZmVyYWJsZSBHc3RNaW5pT2JqZWN0IHN1cHBvcnRlZCBieQoJICB0aGUgZ3N0IGRlYnVnIHN5c3RlbS4gIEFsc28gZml4ZXMgYSBzZWdmYXVsdC4KCjIwMTUtMDEtMzAgMTg6NTE6MTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2w6IHVwZGF0ZSB1bml0IHRlc3QgZm9yIGdsbWVtb3J5IGFwaSBjaGFuZ2UKCjIwMTUtMDEtMzAgMTU6MTM6MjcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgZ2xpbWFnZXNpbms6IGNsb2JiZXIgdGhlIGFscGhhIGNoYW5uZWwgYnkgZGVmYXVsdAoJICB0aGlzIGNhbiBiZSBkaXNhYmxlZCB3aXRoIHRoZSBpZ25vcmUtYWxwaGEgcHJvcGVydHkKCjIwMTUtMDEtMzAgMTI6MzI6MTcgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5tOgoJICBSZXZlcnQgImxpYmdzdGdsOiBnc3RnbGNhb3BlbmdsbGF5ZXI6IHNldCB0aGUgbGF5ZXIgYXMgb3BhcXVlIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDZmMTUyZDM4MWNhMjE1OTVjZGM4MjNmMzIzNDFjOGYyZmU3MWI5YzcuCgkgIFRoZSBsYXllciBzaG91bGRuJ3QgYmUgYWx3YXlzIG9wYXF1ZSwgaXQgc2hvdWxkIGJlIG1hZGUgYSBwcm9wZXJ0eS4KCjIwMTUtMDEtMzAgMTI6MjI6MjUgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5tOgoJICBsaWJnc3RnbDogZ3N0Z2xjYW9wZW5nbGxheWVyOiBzZXQgdGhlIGxheWVyIGFzIG9wYXF1ZQoKMjAxNS0wMS0yOSAxNjozMDozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogQWRkIEZJWE1FIGNvbW1lbnQgYWJvdXQgcG9zc2liaWxpdHkgb2Ygbm9uLUFwcGxlIFlDYkNyNDIyIHJlY3Rhbmd1bGFyIHRleHR1cmVzCgoyMDE1LTAxLTI5IDE2OjI2OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBPbmx5IHVzZSBHTF9URVhUVVJFX1JFQ1RBTkdMRSB3aXRoIE9wZW5HTAoJICBJdCdzIG5vdCBkZWZpbmVkIGZvciBHTEVTLgoKMjAxNS0wMS0zMCAwMDoyODoxOCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHJld29yayBHTCB0ZXh0dXJlIHNoYXJpbmcKCSAgVXNlIFlVViBpbnN0ZWFkIG9mIFJHQiB0ZXh0dXJlcywgdGhlbiBjb252ZXJ0IHVzaW5nIHRoZSBuZXcgYXBwbGUgc3BlY2lmaWMKCSAgc2hhZGVyIGluIEdzdEdMQ29sb3JDb252ZXJ0LiBBbHNvIHVzZSBHTE1lbW9yeSBkaXJlY3RseSBpbnN0ZWFkIG9mIHVzaW5nIHRoZQoJICBHTCB1cGxvYWQgbWV0YSwgYXZvaWRpbmcgYW4gZXh0cmEgdGV4dHVyZSBjb3B5IHdlIHVzZWQgdG8gaGF2ZSBiZWZvcmUuCgoyMDE1LTAxLTI4IDAwOjUzOjU5ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBmaXggQ01CbG9ja0J1ZmZlclJlZiBsZWFrCgkgIEZpeCBodWdlIGxlYWsgdGhhdCB3ZW50IHVubm90aWNlZCBmb3IgdG9vIGxvbmcuIE9vcHMuCgoyMDE1LTAxLTI4IDAwOjQ4OjI3ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBsaWJnc3RnbDogcnVuIGEgY3VzdG9tIHNoYWRlciB0byBjb252ZXJ0IFlVViB0byBSR0Igb24gbWFjIGFuZCBpb3MKCSAgV2hlbiBHTF9BUFBMRV95Y2Jjcl80MjIgaXMgYXZhaWxhYmxlLCBydW4gYSBjdXN0b20gc2hhZGVyIHRvIGNvbnZlcnQKCSAgR0xfVEVYVFVSRV9SRUNUQU5HTEUgdGV4dHVyZXMgZnJvbSBZVVYgdG8gUkdCLgoJICBTZWUgaHR0cHM6Ly93d3cub3BlbmdsLm9yZy9yZWdpc3RyeS9zcGVjcy9BUFBMRS95Y2Jjcl80MjIudHh0CgoyMDE1LTAxLTI4IDAwOjQzOjA5ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZmFzc2V0c3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgYXBwbGVtZWRpYTogZG9uJ3QgY2FsbCBDVlBpeGVsQnVmZmVyTG9ja0Jhc2VBZGRyZXNzIHdoZW4gZG9pbmcgdGV4dHVyZSBzaGFyaW5nCgkgIFdoZW4gZG9pbmcgdGV4dHVyZSBzaGFyaW5nIHdlIGRvbid0IG5lZWQgdG8gY2FsbCBDVlBpeGVsQnVmZmVyTG9ja0Jhc2VBZGRyZXNzIHRvCgkgIG1hcCB0aGUgYnVmZmVyIGluIENQVS4gVGhpcyBjdXRzIGFib3V0IDEwJSByZWxhdGl2ZSBjcHUgdGltZSBmcm9tIGEgdnRkZWMgIQoJICBnbGltYWdlc2luayBwaXBlbGluZS4KCjIwMTUtMDEtMjggMDA6MTM6NDYgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkbWV0YS5jOgoJICBnbDogaW5pdGlhbCBzdXBwb3J0IGZvciB0ZXh0dXJlIHRhcmdldHMgb3RoZXIgdGhhbiBHTF9URVhUVVJFXzJECgkgIE1ha2UgR3N0R0xNZW1vcnkgaG9sZCB0aGUgdGV4dHVyZSB0YXJnZXQgKHRleF90YXJnZXQpIHRoZSB0ZXh0dXJlIGl0IHJlcHJlc2VudHMKCSAgKHRleF9pZCkgaXMgYm91bmQgdG8uIE1vZGlmeSBnc3RfZ2xfbWVtb3J5X3dyYXBwZWRfdGV4dHVyZSBhbmQKCSAgZ3N0X2dsX2Rvd25sb2FkX3BlcmZvcm1fd2l0aF9kYXRhIHRvIHRha2UgdGhlIHRleHR1cmUgdGFyZ2V0IGFzIGFuIGFyZ3VtZW50LgoJICBUaGlzIGNoYW5nZSBpcyBuZWVkZWQgdG8gc3VwcG9ydCB3cmFwcGluZyB0ZXh0dXJlcyBjcmVhdGVkIG91dHNpZGUgbGliZ3N0Z2wsCgkgIHdoaWNoIG1pZ2h0IGJlIGJvdW5kIHRvIGEgdGFyZ2V0IG90aGVyIHRoYW4gR0xfVEVYVFVSRV8yRC4gRm9yIGV4YW1wbGUgb24gT1NYCgkgIHRleHR1cmVzIGNvbWluZyBmcm9tIFZpZGVvVG9vbGJveCBoYXZlIHRhcmdldCBHTF9URVhUVVJFX1JFQ1RBTkdMRS4KCSAgV2l0aCB0aGlzIGNoYW5nZSB3ZSBzdGlsbCBrZWVwIChhbmQgc29tZXRpbWVzIGltcGx5KSBHTF9URVhUVVJFXzJEIGFzIHRoZQoJICB0YXJnZXQgb2YgdGV4dHVyZXMgY3JlYXRlZCB3aXRoIGxpYmdzdGdsLgoJICBBUEk6IG1vZGlmeSBHc3RHTE1lbW9yeQoJICBBUEk6IG1vZGlmeSBnc3RfZ2xfbWVtb3J5X3dyYXBwZWRfdGV4dHVyZQoJICBBUEk6IGdzdF9nbF9kb3dubG9hZF9wZXJmb3JtX3dpdGhfZGF0YQoKMjAxNS0wMS0yMiAxMzoxODoyMyArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ3N0Z2xjb2xvcmNvbnZlcnQ6IG1pY3JvIG9wdGltaXphdGlvbgoJICBEb24ndCBjYWxsIGdsQ2xlYXIgJiYgZ2xDbGVhckNvbG9yIGF0IGVhY2ggZHJhdyBzaW5jZSB3ZSdyZSBnb2luZyB0byBkcmF3IHRoZQoJICB3aG9sZSB2aWV3cG9ydCBhbnl3YXkuIEdldHMgcmlkIG9mIGEgZ2xGbHVzaCB0cmlnZ2VyZWQgYnkgZ2xDbGVhciBvbiBPU1guCgoyMDE1LTAxLTIyIDEzOjE3OjExICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICBhcHBsZW1lZGlhOiBjb3JldmlkZW9idWZmZXI6IG1ha2UgbWFwcGluZyB0aGUgQ1ZQaXhlbEJ1ZmZlciBpbiBDUFUgb3B0aW9uYWwKCSAgTWFwcGluZyBpcyBub3QgbmVjZXNzYXJ5IGFuZCBpbXBhY3RzIHBlcmZvcm1hbmNlIHdoZW4gZG9pbmcgdGV4dHVyZSBzaGFyaW5nIHdpdGgKCSAgZG93bnN0cmVhbQoKMjAxNS0wMS0yMiAxMzoxMTo0NiArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ3N0Z2xjb2xvcmNvbnZlcnQ6IHJlbGF4IGNhcHMgZmVhdHVyZXMgY2hlY2sKCSAgUmVxdWlyZSBjYXBzIHRvIGhhdmUgdGhlIEdTVF9DQVBTX0ZFQVRVUkVfTUVNT1JZX0dMX01FTU9SWSBmZWF0dXJlIGJ1dCBhbGxvdwoJICB0aGVtIHRvIGhhdmUgbW9yZSBmZWF0dXJlcy4KCjIwMTUtMDEtMjggMTY6NDM6NTkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkgIG9wdXNlbmM6IGNoYW5nZSBhdWRpbyBwcm9wZXJ0eSB0byBhdWRpby10eXBlCgkgIFRoaXMgaXMgbm93IGFuIGVudW0gd2l0aCB2YWx1ZXMgZ2VuZXJpYyAoZGVmYXVsdCkgYW5kIHZvaWNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwODkxCgoyMDE1LTAxLTI5IDIzOjQ1OjE1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgZ2wvd2luMzI6IGZpeHVwIGNvbXBpbGF0aW9uCgoyMDE1LTAxLTI5IDExOjU0OjM1ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogcmVtb3ZlIGRvdWJsZS1zZXR0aW5nIG9mIHJlbmRlciBmdW5jdGlvbgoJICBObyBuZWVkIHRvIHNldCB0aGUgYXVkaW92aXN1YWxpemVyLT5yZW5kZXIgZnVuY3Rpb24gdHdpY2UuIE9uY2UgaXMgZW5vdWdoLgoKMjAxNS0wMS0yOSAyMjoyNTowMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbHdpbmRvdzogbWFrZSBzaG93aW5nIGEgd2luZG93IGV4cGxpY2l0CgkgIEFsc28gZml4ZXMgdGhlIGNnbCBjb250ZXh0IGFsd2F5cyBkaXNwbGF5aW5nIGEgd2luZG93IHRvIHJlbmRlciB0byBmb3IKCSAgZXZlcnkgR3N0R0xDb250ZXh0Q29jb2EgY3JlYXRlZAoKMjAxNS0wMS0yNiAxNzowNjoyOSArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBDbGVhbnVwIGxvY2tpbmcgYXJvdW5kIEFnZ3JlZ2F0b3JQYWQgZmx1c2ggcmVsYXRlZCBmaWVsZHMKCSAgQW5kIGRvY3VtZW50IHRoZSBsb2NraW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjYgMTM6MTE6MDUgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjoga2VlcCBjaGFpbiBmdW5jdGlvbnMgYXMgZHVtYiBhcyBwb3NzaWJsZS4KCSAgKyBBIHBhZCBjaGFpbiBmdW5jdGlvbiBoYXMgbm8gYnVzaW5lc3MgY2hlY2tpbmcgb3RoZXIgcGFkcywKCSAgdGhhdCdzIHdoYXQgdGhlIGFnZ3JlZ2F0ZSB0aHJlYWQgaXMgZm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTI2IDExOjMyOjQ3ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogTW9yZSBmaXhlcyBhcm91bmQgbG9ja2luZyB3aGVuIGFjY2Vzc2luZyBwcm90ZWN0ZWQgcHJpdmF0ZSBmaWVsZHMKCSAgSW4gc29tZSBtb3JlIHBsYWNlcyB3ZSB3ZXJlIGFjY2Vzc2luZyBHc3RBZ2dyZWdhdG9yLT5zZWdtZW50CgkgIGFuZCBHc3RBZ2dyZWdhdG9yLT5zZXFudW0gd2l0aG91dCBob2xkaW5nIHRoZSBHU1RfT0JKRUNUX0xPQ0sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yNiAxMToyOTowOCArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYWdncmVnYXRvcjogTWFrZSB0aGUgUEFEX0xPQ0sgcHJpdmF0ZQoJICBJbnN0ZWFkIG9mIHVzaW5nIHRoZSBHU1RfT0JKRUNUX0xPQ0sgd2Ugc2hvdWxkIGhhdmUKCSAgYSBkZWRpY2F0ZWQgbXV0ZXggZm9yIHRoZSBwYWQgYXMgaXQgaXMgYWxzbyBhc3NvY2lhdGVkCgkgIHdpdGggdGhlIG11dGV4IG9uIHRoZSBFVkVOVF9NVVRFWCBvbiB3aGljaCB3ZSB3YWl0CgkgIGluIHRoZSBfY2hhaW4gZnVuY3Rpb24gb2YgdGhlIHBhZC4KCSAgVGhlIEdzdEFnZ3JlZ2F0b3JQYWQuc2VnbWVudCBpcyBzdGlsbCBwcm90ZWN0ZWQgd2l0aCB0aGUKCSAgR1NUX09CSkVDVF9MT0NLLgoJICBSZW1vdmUgdGhlIGdzdF9hZ2dyZWdhdG9yX3BhZF9wZWFrX3VubG9ja2VkIG1ldGhvZCBhcyBpdCBkb2VzIG5vdCBtYWtlCgkgIHNlbnNlIGFueW1vcmUgd2l0aCBhIHByaXZhdGUgbG9jay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yNiAxMToyNTo1NCArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2FnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogSGlkZSBHc3RBZ2dyZWdhdG9yUGFkIGJ1ZmZlciBhbmQgRU9TIGZpbGVkcwoJICBBbmQgYWRkIGEgZ2V0dGVyIGZvciB0aGUgRU9TLgoJICBUaGUgdXNlciBzaG91bGQgYWx3YXlzIHVzZSB0aGUgdmFyaW91cyBnZXR0ZXJzIHRvIGFjY2VzcwoJICB0aG9zZSBmaWVsZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yMSAxOTowOToxMyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogTWFrZSBmbHVzaCBzdGFydC9zdG9wIHRlc3Qgbm9uLXJhY3kKCSAgVGhlIGZsdXNoIHN0b3AgY291bGQgaGF2ZSBoYXBwZW5lZCBiZXR3ZWVuIHRoZSBzb3VyY2UgdHJ5aW5nCgkgIHRvIHB1c2ggdGhlIHNlZ21lbnQgZXZlbnQgYW5kIHRoZSBidWZmZXIsIHRoaXMgd291bGQgY2F1c2UgYSB3YXJuaW5nLgoJICBQcmV2ZW50IHRoYXQgYnkgdGFraW5nIHRoZSBzb3VyY2UncyBzdHJlYW0gbG9jayB3aGlsZSBmbHVzaGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yMiAxNzo0MToyNCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogUmVwbGFjZSByYWN5IHRpbWVvdXQgYmFzZWQgdGVzdGVkIHdpdGggZHJhaW4gcXVlcnkKCSAgVXNpbmcgdGhlIGRyYWluIHF1ZXJ5LCB3ZSBjYW4gYmUgY2VydGFpbiB0aGF0IHRoZSBidWZmZXIgaGFzIGRvbmUgZ29pbmcKCSAgdGhyb3VnaCB0aGUgYWdncmVnYXRvciBieSB0YWtpbmcgdGhlIHN0cmVhbSBsb2Nrcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yMSAxODo0MTo0MyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRG9jdW1lbnQgbG9ja2luZyBvZiBHc3RBZ2dyZWdhdG9yUHJpdmF0ZSBtZW1iZXJzCgkgIE1vc3Qgb2YgdGhlbSBhcmUgcHJvdGVjdGVkIGJ5IHRoZSBvYmplY3QgbG9jaywgc3BlY2lmeQoJICB3aGljaCBvbmVzIHVzZSBhIGRpZmZlcmVudCBsb2NrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTIxIDE4OjQ3OjA5IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBhZ2dyZWdhdG9yOiBEb2N1bWVudCBob3cgdGhlIHNlZ21lbnQgaXMgcHJvdGVjdGVkCgkgIERvY3VtZW50IHRoYXQgaXQgY2FuIG9ubHkgYmUgYWNjZXNzZWQgd2l0aCB0aGUgb2JqZWN0IGxvY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjEgMTk6NDQ6NTcgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFByb3RlY3QgYWxsIGxhdGVuY3kgcmVsYXRlZCBtZW1iZXJzIHdpdGggdGhlIG9iamVjdCBsb2NrCgkgIFRoZSBsb2NraW5nIHdhcyBub3QgY29uc2lzdGVudCwgbm93IGNvbnNpc3RlbnRseSB1c2UgdGhlIG9iamVjdCBsb2NrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTIxIDE5OjQzOjEyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRG9jdW1lbnQgbG9ja2luZyBmb3IgZ3N0X2FnZ3JlZ2F0b3JfZ2V0X2xhdGVuY3lfdW5sb2NrZWQoKQoJICBSZW5hbWVkIGl0IHRvIF91bmxvY2tlZCgpIHRvIG1ha2UgaXQgY2xlYXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjEgMTk6MzU6MjUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFByb3RlY3QgdGhlIHNyY3BhZCBjYXBzIG5lZ290aWF0aW9uIHdpdGggdGhlIHN0cmVhbSBsb2NrCgkgIEluc3RlYWQgb2YgYWRkaW5nIGFub3RoZXIgbG9jaywgdXNlIHRoZSBzcmNwYWQgc3RyZWFtIGxvY2ssIHdoaWNoIGlzIGFscmVhZHkKCSAgdGFrZW4gYW55d2F5IHRvIHB1c2ggb3V0IHRoZSBuZXcgY2FwcyBpZiBuZWVkZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjEgMTk6MzM6MTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFByb3RlY3QgdGhlIHRhZ3Mgd2l0aCB0aGUgb2JqZWN0IGxvY2sKCSAgVGhlIHRhZ3MgcmVsYXRlZCB2YXJpYWJsZXMgd2VyZSBzb21ldGltZXMgcHJvdGVjdGVkLCBzb21ldGltZXMgbm90IGFuZAoJICBzb21ldGltZXMgYXRvbWljLiBQdXQgdGhlbSBhbGwgdW5kZXIgdGhlIG9iamVjdCBsb2NrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTIxIDE5OjMyOjM0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBBdm9pZCByYWNlIGluIGNhcHMgbmVnb3RpYXRpb24KCSAgV2l0aCB0aGUgY3VycmVudCBhdWRpb21peGVyLCB0aGUgaW5wdXQgY2FwcyBuZWVkIHRvIGJlIHRoZSBzYW1lLAoJICBvdGhlcndpc2UgdGhlcmUgaXMgYW4gdW5hdm9pZGFibGUgcmFjZSBpbiB0aGUgY2FwcyBuZWdvdGlhdGlvbi4gU28KCSAgZW5mb3JjZSB0aGF0IHVzaW5nIGNhcHNmaWx0ZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjEgMTg6NTM6MjAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IENvbnNpc3Rlbmx5IGxvY2sgdGhlIGZsb3dfcmV0dXJuIHN0YXRlCgkgIFVzZSB0aGUgb2JqZWN0J3MgbG9jayB0byBwcm90ZWN0IGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTIxIDE4OjQ3OjQwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBDbGVhciBHc3RBdWRpb0luZm8gdGhlIHRoZSBjYXBzCgkgIFdoZW4gY2xlYXJpbmcgdGhlIGNhcHMsIGFsc28gY2xlYXIgdGhlIG1hdGNoaW5nIEdzdEF1ZGlvSW5mbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTIxIDE4OjQ1OjM2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBDb25zaXN0ZW50bHkgbG9jayBzb21lIG1lbWJlcnMKCSAgU29tZSBtZW1iZXJzIHNvbWV0aW1lcyB1c2VkIGF0b21pYyBhY2Nlc3MsIHNvbWV0aW1lcyB3aGVyZSBub3QgbG9ja2VkIGF0CgkgIGFsbC4gSW5zdGVhZCBjb25zaXN0ZW50bHkgdXNlIGEgbXV0ZXggdG8gcHJvdGVjdCB0aGVtLCBhbHNvIGRvY3VtZW50CgkgIHRoYXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjEgMTg6Mzk6MjQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IERvbid0IHJlc2V0IGNhcHMgb24gZmx1c2gKCSAgQSBmbHVzaCBldmVudCBkb2Vzbid0IGludmFsaWRhdGUgdGhlIHByZXZpb3VzIGNhcHMgZXZlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMTQgMTQ6NDU6MDYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogTG9jayBhY2Nlc3MgdG8gbWVtYmVycyBvZiBHc3RBZ2dyZWdhdG9yUGFkCgkgIFRha2UgdGhlIHBhZCdzIG9iamVjdCBsb2NrIGJlZm9yZSBhY2Nlc3NpbmcgbWVtYmVycyBvZiB0aGUKCSAgR3N0QWdncmVnYXRvclBhZCBzdHJ1Y3R1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMTQgMTQ6Mzg6MDkgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgYWdncmVnYXRvcjogUHJvdGVjdCBleHBvcnRlZCBwYWQgbWVtYmVycyB3aXRoIHRoZSBwYWQncyBvYmplY3QgbG9jawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTE0IDE0OjM1OjE1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYWdncmVnYXRvcjogUmVwbGFjZSBldmVudCBsb2NrIHdpdGggcGFkJ3Mgb2JqZWN0IGxvY2sKCSAgUmVkdWNlIHRoZSBudW1iZXIgb2YgbG9ja3Mgc2ltcGxpZnkgY29kZSwgd2hhdCBpcyBwcm90ZWN0cwoJICBpcyBleHBvc2VkLCBidXQgdGhlIGxvY2sgd2FzIG5vdC4KCSAgQWxzbyBtZWFucyBhZGRpbmcgYW4gX3VubG9ja2VkIHZlcnNpb24gb2YgZ3N0X2FnZ3JlZ2F0b3JfcGFkX3N0ZWFsX2J1ZmZlcigpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTA5IDIyOjAxOjAwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBQcm90ZWN0IGRhdGEgd2l0aCB0aGUgc2FtZSBtdXRleCBhcyBHQ29uZAoJICBXaGVuZXZlciBhIEdDb25kIGlzIHVzZWQsIHRoZSBzYWZlc3QgcGFyYWRpZ20gaXMgdG8gcHJvdGVjdAoJICB0aGUgdmFyaWFibGUgd2hpY2ggY2hhbmdlIGlzIHNpZ25hbGxlZCBieSB0aGUgR0NvbmQgd2l0aCB0aGUgc2FtZQoJICBtdXRleCB0aGF0IHRoZSBHQ29uZCBkZXBlbmRzIG9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTI5IDAyOjI4OjM4ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogSWYgZ2V0dGluZyBhIHRpbWVvdXQgYmVmb3JlIGhhdmluZyBjYXBzLCBqdXN0IGFkdmFuY2Ugb3VyIHBvc2l0aW9uCgkgIFRoaXMgY2FuIGhhcHBlbiBpZiB0aGlzIGlzIGEgbGl2ZSBwaXBlbGluZSBhbmQgbm8gc291cmNlIHByb2R1Y2VkIGFueSBidWZmZXIKCSAgYW5kIHNlbnQgbm8gY2FwcyB1bnRpbCBhbiBvdXRwdXQgYnVmZmVyIHNob3VsZCd2ZSBiZWVuIHByb2R1Y2VkIGFjY29yZGluZyB0byB0aGUKCSAgbGF0ZW5jeS4KCSAgVGhpcyBmaXggaXMgc2ltaWxhciBpbiBzcGlyaXQgdG8gY29tbWl0IGJlNzAzNGQxIGJ5IFNlYmFzdGlhbiBmb3IgYXVkaW9taXhlci4KCjIwMTUtMDEtMjkgMTc6MzE6MDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY2FsYXllcjogYWRkIHJlc2l6ZSBjYWxsYmFjayBiYXNlZCBvbiB0aGUgYm91bmRzIHJlY3RhbmdsZQoKMjAxNS0wMS0yOSAxNToyNjoyMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5tOgoJICBnbC9jYW9wZW5nbGxheWVyOiBkcmF3IGFzeW5jaHJvbm91c2x5CgkgIFRoaXMgZXNzZW50aWFsbHkgbWFrZXMgdGhlIENBT3BlbkdMTGF5ZXIgZHJhdyBldmVyeSByZWZyZXNoIGN5Y2xlLgoKMjAxNS0wMS0yOCAxNzo1OTo0MiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBkb24ndCBzZWdmYXVsdCBpZiB3ZSBoYXZlIGEgTlVMTCBkcmF3L3Jlc2l6ZS9jbG9zZSBjYWxsYmFjawoKMjAxNS0wMS0yOCAxNzoxNjoxNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBjZ2wvY2FsYXllcjogdXNlIGEgY2FsbGJhY2sgaW5zdGVhZCBvZiBoYXJkY29kaW5nIHRoZSBkcmF3IGZ1bmN0aW9uYWxpdHkKCjIwMTUtMDEtMjggMTc6MTM6MDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSAgY2dsOiBpbnN0YWxsIHRoZSBnbCBjb250ZXh0IGFuZCBnbCBsYXllciBoZWFkZXJzCgoyMDE1LTAxLTI4IDE3OjA1OjE0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xfY29jb2FfcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIubToKCSAgY2dsOiBhZGQgYSBoZWFkZXIgZm9yIHRoZSBDQU9wZW5HTExheWVyIHN1cHBvcnQKCjIwMTUtMDEtMjggMTc6MDI6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGlua3ZpZGVvc2luazogQWx3YXlzIGxvY2sgdGhlIG11dGV4IGJlZm9yZSBzdGFydGluZyB0aGUgc3RyZWFtcwoKMjAxNS0wMS0yOCAxNjo1ODoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBGaXggZGVhZGxvY2sKCjIwMTUtMDEtMjggMTU6NDg6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGlua3thdWRpbyx2aWRlb31zaW5rOiBPbmx5IHN0YXJ0IHNjaGVkdWxlZCBwbGF5YmFjayBvbmNlIGJvdGggc291cmNlcyBhcmUgcmVhZHkgYW5kIHdlIGFyZSBpbiBQTEFZSU5HCgkgIE90aGVyd2lzZSB3ZSBtaWdodCBzdGFydCB0aGUgc2NoZWR1bGVkIHBsYXliYWNrIGJlZm9yZSB0aGUgYXVkaW8gb3IgdmlkZW8gc3RyZWFtcyBhcmUKCSAgYWN0dWFsbHkgZW5hYmxlZCwgYW5kIHRoZW4gZXJyb3Igb3V0IGxhdGVyIGJlY2F1c2UgdGhleSBhcmUgZW5hYmxlZCB0byBsYXRlLgoJICBXZSBlbmFibGUgdGhlIHN0cmVhbXMgd2hlbiBnZXR0aW5nIHRoZSBjYXBzLCB3aGljaCBtaWdodCBiZSAqYWZ0ZXIqIHdlIHdlcmUKCSAgc2V0IHRvIFBMQVlJTkcgc3RhdGUuCgoyMDE1LTAxLTI4IDE1OjI2OjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGlua3thdWRpbyx2aWRlb31zcmM6IE9ubHkgc3RhcnQgdGhlIHN0cmVhbXMgb25jZSBib3RoIHNvdXJjZXMgYXJlIHJlYWR5IGFuZCB3ZSBhcmUgaW4gUExBWUlORwoJICBPdGhlcndpc2Ugd2UgbWlnaHQgc3RhcnQgdGhlIHN0cmVhbXMgYmVmb3JlIHRoZSBhdWRpbyBvciB2aWRlbyBzdHJlYW1zIGFyZQoJICBhY3R1YWxseSBlbmFibGVkLCBhbmQgdGhlbiBlcnJvciBvdXQgbGF0ZXIgYmVjYXVzZSB0aGV5IGFyZSBlbmFibGVkIHRvIGxhdGUuCgkgIFdlIGVuYWJsZSB0aGUgc3RyZWFtcyB3aGVuIGdldHRpbmcgdGhlIGNhcHMsIHdoaWNoIG1pZ2h0IGJlICphZnRlciogd2Ugd2VyZQoJICBzZXQgdG8gUExBWUlORyBzdGF0ZS4KCjIwMTUtMDEtMjggMTQ6MjE6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBNYWtlIHN1cmUgb3VyIGNsb2NrIG5ldmVyIHJldHVybnMgTk9ORSwgYWx3YXlzIGFkdmFuY2VzIGFuZCBkb2VzIG5vdCBqdW1wIHdoZW4gZ29pbmcgZnJvbSBQQVVTRUQgdG8gUExBWUlORwoJICBJdCBiYXNpY2FsbHkgYmVoYXZlcyB0aGUgc2FtZSBhcyB0aGUgYXVkaW8gY2xvY2tzLgoKMjAxNS0wMS0yOCAxMjoyMDowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBIYW5kbGUgdGhlIGNsb2NrIHJldHVybmluZyBHU1RfQ0xPQ0tfVElNRV9OT05FIHByb3Blcmx5CgoyMDE1LTAxLTI4IDExOjQxOjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGlua3ZpZGVve3Npbmssc3JjfTogTWFrZSBlbGVtZW50cyBtb3JlIHNpbWlsYXIgdG8gdGhlIGF1ZGlvIGVsZW1lbnRzIGJ5IGVuYWJsaW5nIHRoZSB2aWRlbyBpbnB1dC9vdXRwdXQgb25seSB3aGVuIGdldHRpbmcgdGhlIGFjdHVhbCBjYXBzCgkgIFRoaXMgd2lsbCBhbHNvIG1ha2UgaXQgZWFzaWVyIGxhdGVyIHRvIHN1cHBvcnQgY2FwcyBjaGFuZ2VzIGFuZCBzdXBwb3J0CgkgIHNlbGVjdGluZyB0aGUgbW9kZSBiYXNlZCBvbiB0aGUgY2FwcyBpZiB0aGF0IHNob3VsZCBldmVyIGJlIGltcGxlbWVudGVkLgoKMjAxNS0wMS0yNiAxOTowMjowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbmt2aWRlb3NyYzogUHJvcGVybHkgcmVwb3J0IGNhcHMgaWYgbW9kZSE9YXV0byBhbmQgaGFuZGxlIGNhcHMgY2hhbmdlcyBwcm9wZXJseSBmb3IgbW9kZT1hdXRvCgoyMDE1LTAxLTI2IDE4OjI3OjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJICBkZWNrbGlua2F1ZGlvc3JjOiBEb24ndCByZWxlYXNlIGlucHV0IGRldmljZSB0d2ljZSBvbiBlcnJvcnMgaW4gc2V0X2NhcHMoKQoKMjAxNS0wMS0yNyAxMToyNTo1MyArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuYzoKCSAgZ2wvZGlzcG1hbng6IGZpeCBidWlsZAoJICBDb21taXQgYWI0OGJiNmYwZjU1MDkxNjYyZTU5NWEwMDFlMTc4MTU0Y2U2MGNkYiBjaGFuZ2VkIHRoZSBBUEkgb2YKCSAgR3N0R0xXaW5kb3cuCgoyMDE1LTAxLTI3IDE0OjUyOjQ3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IG1vcmUgY29tcGF0aWJpbGl0eSBkZWZpbmVzIGZvciBnbGVzMiBzeXN0ZW1zCgoyMDE1LTAxLTI3IDEyOjE1OjQzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkgIGdsbWVtb3J5OiBhZGQgc29tZSB0aHJlYWQgc2FmZXR5IGZvciBnbCBvcGVyYXRpb25zCgoyMDE1LTAxLTI3IDExOjUzOjUxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkgIGdsbWVtb3J5OiB1c2UgcGJvJ3MgZm9yIGRvd25sb2FkCgkgIEluIG9yZGVyIHRvIHVzZSBwYm8ncyBlZmZpY2llbnRseSwgdGhlIHRyYW5zZmVyIG9wZXJhdGlvbiBoYXMgdG8KCSAgYmUgc2VwYXJhdGVkIGZyb20gdGhlIHVzZSBvZiB0aGUgZG93bmxvYWRlZCBkYXRhIHdoaWNoIHJlcXVpcmVzIHNvbWUKCSAgcmVhcmNoaXRlY3R1cmluZyBhcm91bmQgZ2xjb2xvcmNvbnZlcnQvZ2xkb3dubG9hZCBhbmQgZWxlbWVudHMKCjIwMTUtMDEtMjcgMTE6MDQ6MDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYmFzZS5oOgoJICBnbHByb3RvdHlwZXM6IGFkZCBzb21lICh1biltYXAgYnVmZmVyIHZhcmlhbnRzIGZvciBHTC9HTEVTCgoyMDE1LTAxLTI2IDE3OjUxOjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogdXNlIGF1ZGlvXyUwMnUgYW5kIHZpZGVvXyUwMnUgbmFtZXMgZm9yIHBhZHMKCSAgSW5zdGVhZCBvZiB1c2luZyB0aGUgZGVmYXVsdCBnaG9zdHBhZCV1IG5hbWluZy4gVGhlIGF1ZGlvXy92aWRlb18KCSAgbmFtZXMgYXJlIG1vcmUgY29tbW9uIGluIGRlbXV4ZXJzCgoyMDE1LTAxLTI2IDE1OjMzOjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJICBkZWNrbGlua2F1ZGlvc3JjOiBSZWxlYXNlIHRoZSBhdWRpbyBpbnB1dCBvbiBlcnJvcnMsIG5vdCB0aGUgdmlkZW8gaW5wdXQKCjIwMTUtMDEtMjYgMTM6NDY6NDQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiByZW1vdmUgdW5uZWNlc3NhcnkgdmFyaWFibGUKCSAgVGhlIGJwcyB2YXJpYWJsZSBpcyBkZWNsYXJlZCB3aXRoIHZhbHVlIGFpZmYtPmJwcywgcmVhZCBvbmNlIGFuZCBuZXZlciB3cml0dGVuLgoJICBhaWZmLT5icHMgY2FuIGJlIHVzZWQgZGlyZWN0bHkgaW5zdGVhZC4KCjIwMTUtMDEtMjYgMTI6NDk6NDUgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBmaXggd2hpY2ggc3RvcCB2YXJpYWJsZSBpcyB1c2VkIGluIGFzc2lnbm1lbnQKCSAgQXNzaWdubWVudCBpcyBkb25lIHRvIHZhcmlhYmxlIHNlZ21lbnQuc3RvcCB3aGVuIHRoZSBpbnRlbnRpb24gd2FzIHRvIGFzc2lnbiB0bwoJICBsb2NhbCB2YXJpYWJsZSBzdG9wLiBJbnN0ZWFkIG9mIG92ZXJ3cml0aW5nIGl0LCB0aGUgdmFsdWUgaXMgbm93IGNsYW1wZWQgYW5kCgkgIHNlZ21lbnQuc3RvcCBpcyBzZXQgdG8gaXQgc29vbiBhZnRlci4KCSAgQ0lEICMxMjY1NzcyCgoyMDE1LTAxLTI2IDA5OjIyOjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGZpeCBjcmFzaCB3aGVuIHJlY2VpdmluZyBidWZmZXIgd2l0aG91dCB0aW1lc3RhbXBzCgkgIFVuc2V0IG91dCBidWZmZXIgaW4gY2xpcCBmdW5jdGlvbiB3aGVuIHdlIHVucmVmIHRoZSBidWZmZXIgdG8gYmUKCSAgY2xpcHBlZCwgb3RoZXJ3aXNlIGFnZ3JlZ2F0b3Igd2lsbCBjb250aW51ZSB0byB1c2UgdGhlIGFscmVhZHktCgkgIGZyZWVkIGJ1ZmZlci4gRml4ZXMgY3Jhc2ggd2hlbiBidWZmZXJzIHdpdGhvdXQgdGltZXN0YW1wcyBhcmUKCSAgYmVpbmcgZmVkIHRvIGFnZ3JlZ2F0b3IuIFBhcnRseSBiZWNhdXNlIGFnZ3JlZ2F0b3IgaWdub3JlcyB0aGUKCSAgZXJyb3IgZmxvdyByZXR1cm4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMzMzQKCjIwMTUtMDEtMTggMTg6MDU6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJKiB3aW4zMi9NQU5JRkVTVDoKCSogd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwOgoJKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0ZHJhdy52Y3Byb2o6CgkgIFJlbW92ZSB1bnBvcnRlZCBkaXJlY3RkcmF3IHBsdWdpbgoJICBUaGlzIEFQSSBoYXMgYmVlbiBkZXByZWNhdGVkIGZvciBldGVybml0aWVzIGFuZCBtaWNyb3NvZnQKCSAgc3RvcHBlZCBzaGlwcGluZyB0aGUgaGVhZGVycyBpbiAyMDEwIGFjY29kaW5nIHRvIHdpa2lwZWRpYSwKCSAgc28gbGV0J3MganVzdCByZW1vdmUgaXQgYW5kIGZvY3VzIG9uIGJyaW5naW5nIHRoZSBwbHVnaW5zCgkgIGJhc2VkIG9uIHRoZSBuZXdlciBBUElzIHVwIHRvIHNudWZmLgoKMjAxNC0wMy0yNiAxNzo0MzozMyArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSAgYWlmZm11eDogd3JpdGUgcGFkZGluZyBieXRlIGF0IGVuZCBvZiBTU05EIGNodW5rIGlmIG5lZWRlZAoJICBBSUZGIGNodW5rcyBhcmUgc3VwcG9zZWQgdG8gYmUgZXZlbiBhbGlnbmVkLgoJICBBbGlnbmluZyB0aGUgU1NORCBjaHVuayB3aWxsIGFsbG93IHRoZSBhaWZmIG11eGVyIHRvIHByb3Blcmx5IHdyaXRlCgkgIGNodW5rcyAobGlrZSB0aGUgSUQzIG9uZSkgYXQgdGhlIGVuZCBvZiB0aGUgZmlsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzQwMgoKMjAxNS0wMS0yMyAxMjo0NDoyMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBGcmVlIGxlYWtlZCBHc3RTdHJ1Y3R1cmUKCSAgQ292ZXJpdHkgQ0lEIDogMTI1NjU2NQoKMjAxNS0wMS0yMyAxMjo0MToyOSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgZ2x0ZXN0c3JjOiBFbnN1cmUgdmFyaWFibGUgaXMgaW5pdGlhbGl6ZWQgYmVmb3JlIHVzYWdlCgkgIENvdmVyaXR5IENJRDogMTI1NjU2OQoKMjAxNS0wMS0yMyAxMjoyNjoxNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZGJvb2xodWZmLmM6CgkgIGNvZGVjcGFyc2VyczogSW5kZW50IGZpbGUKCSAgU29tZW9uZSdzIGJlZW4gY29tbWl0aW5nIHdpdGhvdXQgdXNpbmcgZ3N0LWluZGVudCA6KQoKMjAxNS0wMS0yMyAxMjoyNDo1MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9uYWx1dGlscy5oOgoJICBjb2RlY3BhcnNlcnM6IEFkZCBSRUFEX1VFX01BWCBtYWNybwoJICBSRUFEX1VFX0FMTE9XRUQgd2FzIGFsbW9zdCBleGNsdXNpdmVseSB1c2VkIHdpdGggbWluID09IDAsIHdoaWNoIGRvZXNuJ3QKCSAgbWFrZSBtdWNoIHBvaW50IGZvciB1bnNpZ25lZCBpbnRlZ2Vycy4KCSAgQWRkIGEgUkVBRF9VRV9NQVggdmFyaWFudCBhbmQgdXNlIHRoYXQgaW5zdGVhZC4gQWxzbyByZXBsYWNlZCB0d28gdXNhZ2VzCgkgIG9mIENIRUNLX0FMTE9XRUQgKGEsMCxzb21ldGhpbmcpIGJ5IENIRUNLX0FMTE9XRURfTUFYIChhLCBzb21ldGhpbmcpCgoyMDE1LTAxLTIzIDEyOjI4OjQyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVydmlkZW9zcmM6IEZpeCBHQVAgZmxhZyBzZXR0aW5nIG9uIG5vbi1ibGFjayBmcmFtZXMKCSAgVGhlIHByZXZpb3VzIGNvbW1pdCBmaXhlZCBzZXR0aW5nIHRoZSBHQVAgZmxhZyBvbiBibGFjayBmcmFtZXMsIGJ1dAoJICBpbmNvcnJlY3RseSBkcm9wcGVkIHRoZSBmbGFnIG9uIHJlcGVhdGVkIHB1c2hlcyBvZiB0aGUgc2FtZSB2aWRlbwoJICBidWZmZXIuCgoyMDE1LTAxLTIzIDE3OjI3OjQyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3Rlc3RzOiB1cGRhdGUgZ2x3aW5kb3cgYXBpIGNoYW5nZQoKMjAxNS0wMS0yMyAxNjo1MjoyNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5tOgoJICBnbC93aW5kb3cvZWFnbDogZml4IGEgY291cGxlIG9mIHR5cG9zCgoyMDE1LTAxLTIzIDE2OjM5OjQ0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSAgZ2x3aW5kb3c6IGNsZWFudXAvcmVvcmdhbml6ZSBmdW5jdGlvbnMvbWVtYmVycyBpbnRvIGxvZ2ljYWwgZ3JvdXBzCgoyMDE1LTAxLTIzIDE1OjAyOjU1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUubToKCSAgYXBwbGVtZWRpYTogdXBkYXRlIGZvciBnc3RnbCBjb2NvYSAtPiBjZ2wgY2hhbmdlCgoyMDE1LTAxLTIzIDE0OjE4OjEyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL2NvY29hX3V0aWxzLm1tOgoJICBnbC9xdC9leGFtcGxlczogdXBkYXRlIGZvciBOU09wZW5HTCAtPiBDR0wgY2hhbmdlCgoyMDE1LTAxLTIzIDE0OjExOjQ4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsX2NvY29hX3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsd2luZG93OiByZW1vdmUgd2lkdGgvaGVpZ2h0IGZyb20gX2RyYXcoKQoJICBEZXBlbmRpbmcgb24gdGhlIHBsYXRmb3JtLCBpdCB3YXMgb25seSBldmVyIGltcGxlbWVudGVkIHRvIDEpIHNldCBhCgkgIGRlZmF1bHQgc3VyZmFjZSBzaXplLCAyKSByZXNpemUgYmFzZWQgb24gdGhlIHZpZGVvIGZyYW1lIG9yIDMpIG5vdGhpbmcuCgkgIEluc3RlYWQsIHByb3ZpZGUgYSBzZXRfcHJlZmVycmVkX3NpemUgKCkgdGhhdCBlbGVtZW50cy9hcHBsaWNhdGlvbnMKCSAgY2FuIHVzZSB0byByZXF1ZXN0IGEgY2VydGFpbiBzaXplIHdoaWNoIG1heSBiZSBpZ25vcmVkIGZvcgoJICB2aWRlb292ZXJsYXkvb3RoZXIgY2FzZXMuCgoyMDE1LTAxLTIyIDIxOjQzOjUxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkgIGdsY29udGV4dC9jb2NvYTogYXZvaWQgZGVzdHJveWluZyBhIHBvc3NpYmx5IDAgR1NvdXJjZSBpZAoKMjAxNS0wMS0yMCAyMjowMTozOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbF9jb2NvYV9wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IG1vdmUgdG8gQ0dMIGFuZCBDQU9wZW5HTExheWVyIGZvciByZW5kZXJpbmcKCSAgUmVtb3ZlcyB0aGUgdXNlIG9mIE5TT3BlbkdMKiB2YXJpZXR5IGFuZCBmdW5jdGlvbnMuICBBbnkgQ29jb2EKCSAgc3BlY2lmaWMgZnVuY3Rpb25zIHRoYXQgdG9vay9yZXR1cm5lZCBhIE5TT3BlbkdMKiBvYmplY3Qgbm93CgkgIHRha2UvcmV0dXJuIHRoZSBDR0wgZXF1aXZhbGVudHMuCgoyMDE1LTAxLTIyIDE2OjA4OjExICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkgIGdsY29udGV4dC9jb2NvYTogYWRkIGRlYnVnIGNhdGVnb3J5CgoyMDE1LTAxLTIyIDEwOjUwOjIzICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVydmlkZW9zcmM6IEZpeCBHQVAgZmxhZyBzZXR0aW5nIG9uIGJsYWNrIGZyYW1lcyBjb3JyZWN0bHkKCSAgVGhpcyBkaWQgbm90IGFjdHVhbGx5IHdvcmsgc2luY2UgdGhlIHZpZGVvX2J1ZmZlciB3YXMgc2V0IHRvIE5VTEwgYWZ0ZXIKCSAgdGhlIGZpcnN0IGJsYWNrIGZyYW1lLgoJICBSZXBvcnRlZCBieTogUGF0cmlrIE9sZHNiZXJnIDxwYXRyaWsub2xkc2JlcmdAZXJpY3Nzb24uY29tPgoKMjAxNS0wMS0yMSAyMzozNzoxMCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcnZpZGVvc3JjOiBGaXggbWF4IHZhbHVlIG9mIHRoZSB0aW1lb3V0IHByb3BlcnR5CgkgIFJlcG9ydGVkIGJ5OiBQYXRyaWsgT2xkc2JlcmcgPHBhdHJpay5vbGRzYmVyZ0Blcmljc3Nvbi5jb20+CgoyMDE1LTAxLTIxIDIzOjM1OjU1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0OiBJbXBsZW1lbnQgdGhlIHByZXNldCBpbnRlcmZhY2UKCSAgV2lsbCBiZSB1c2VmdWwgd2hlbiB3ZSB3YW50IHRvIHNldCBwcmVzZXRzIG9uIHRoZSBlbmNvZGVyIHZpYSBlbmNvZGViaW4KCSAgb3Igc3VjaC4KCjIwMTUtMDEtMjEgMTU6MzE6MjEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBzeW5jIHdpdGggYmFzZSBjbGFzcyBpbiAtYmFzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyODc1CgoyMDE1LTAxLTIxIDE1OjA2OjIxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogZW5zdXJlIGRlZmF1bHQgcXVlcnkvZXZlbnQgaGFuZGxlcnMgYXJlIHVzZWQKCSAgU3luYyBhdWRpb3Zpc3VhbGl6ZXIgY2xhc3MgaW1wbGVtZW50YXRpb24gdG8gdGhlIG9uZSBpbiBnc3QtcGx1Z2lucy1iYXNlLiBUaGlzCgkgIGNvbW1pdCBtYXRjaGVzIDlkZDBlNmNjY2M5NzFkOGE2YmNjYTRlOWU0ZDJlZTFkYmIyMGZmZmEgaW4gdGhhdCBtb2R1bGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI4NzUKCjIwMTUtMDEtMjEgMTA6MTg6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvc2lyZW4vZGVjb2Rlci5jOgoJKiBnc3Qvc2lyZW4vZW5jb2Rlci5jOgoJICBzaXJlbjogTWFrZSBzb21lIGxvY2FsIHZhcmlhYmxlcyBub24tc3RhdGljIGZvciB0aHJlYWQtc2FmZXR5CgkgIE90aGVyd2lzZSB3ZSB3aWxsIG92ZXJyaWRlIHZhbHVlcyBmcm9tIGFub3RoZXIgdGhyZWFkIGlmIHdlIGVuY29kZQoJICBvciBkZWNvZGUgZnJhbWVzIGF0IHRoZSBzYW1lIHRpbWUgaW4gZGlmZmVyZW50IHRocmVhZHMuCgoyMDE1LTAxLTIxIDEwOjE3OjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSogZXh0L2JzMmIvZ3N0YnMyYi5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmM6CgkqIGdzdC9saWJyZmIvZDNkZXMuYzoKCSogZ3N0L21wZWcxc3lzL2J1ZmZlci5jOgoJKiBnc3QvbXBlZ3BzbXV4L2NyYy5oOgoJKiBnc3QvcGF0Y2hkZXRlY3QvZ3N0cGF0Y2hkZXRlY3QuYzoKCSogZ3N0L3R0YS9maWx0ZXJzLmg6CgkqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkqIGdzdC92YmlkZWMvdmJpZGF0YS5jOgoJKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uLmM6CgkqIHN5cy9kdmIvY2FtdHJhbnNwb3J0LmM6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc2luay5jOgoJKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkgIENvbnN0aWZ5IHNvbWUgc3RhdGljIGFycmF5cyBldmVyeXdoZXJlCgoyMDE1LTAxLTIxIDA4OjQ5OjIzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiBGaXggbGlzdCBvZiBmaWxlcyB0cmFja2VkCgkgIHNmc2luay9zZnNyYyBoYXZlbid0IGJlZW4gcG9ydGVkIChhbmQgdGhlcmVmb3JlIGRpc3QnZWQpIGluIDEueAoKMjAxNC0xMi0wOSAwOTo1ODowMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogbWlub3IgZGVidWcgdXBkYXRlCgkgIE9ubHkgc2hvdyBQVFMvRFRTIHdoZW4gdGhleSBhcmUgdmFsaWQsIGFuZCBpbmNsdWRlIHRoZSBzdHJlYW0gaWQKCjIwMTUtMDEtMjAgMTQ6NTU6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZG8gbm90IHNraXAgdGhlIGZpcnN0IGZyYWdtZW50CgkgIEF2b2lkIGFkdmFuY2luZyBmcmFnbWVudCByaWdodCBhZnRlciBkb3dubG9hZGluZyB0aGUgaGVhZGVyLiBJZiBpdAoJICBpcyB0aGUgaGVhZGVyLCBieSBkZWZhdWx0LCBkb24ndCBhZHZhbmNlIHRvIHRoZSBuZXh0IGZyYWdtZW50LgoKMjAxNS0wMS0yMCAxNjo1NzoxNSArMDEwMCAgUGlvdHIgRHLEhWcgPHBpb3RyZHJhZ0BnbWFpbC5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IHVwZGF0ZSBQT1RGSUxFUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMjUxCgoyMDE1LTAxLTE2IDE5OjMyOjE1ICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZXhwb3NlIHN0ZXJlby1oaWdoIHByb2ZpbGUKCSAgRXhwb3Npbmcgc3RlcmVvLWhpZ2ggcHJvZmlsZSBhcyBhIGNvbXBhdGlibGUgcHJvZmlsZSBvZiBtdWx0aXZpZXctaGlnaAoJICBpZiB0aGUgbWF4aW11bSBudW1iZXIgb2YgZW5jb2RlZCB2aWV3cyBpbiB0aGUgc3RyZWFtIGlzIHR3by4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzE3NAoKMjAxNS0wMS0xOSAxNzozMToyNiArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHBhcnNlIFNQUyBzdWJzZXQKCSAgVGhpcyBwYXRjaCBjYWxscyBnc3RfaDI2NF9wYXJzZXJfcGFyc2Vfc3Vic2V0X3NwcygpIHdoZW4gYQoJICBTUFMgc3Vic2V0IE5BTCB0eXBlIGlzIGZvdW5kLgoJICBBbGwgdGhlIGJpdHMgcmVxdWlyZWQgZm9yIHBhcnNpbmcgdGhlIFNQUyBzdWJzZXQgaW4gTkFMcyB3ZXJlCgkgIGFscmVhZHkgdGhlcmUsIGp1c3Qgd2UgbmVlZCB0byBjYWxsIHRoZW0gd2hlbiB0aGUgdGhpcyBOQUwgdHlwZQoJICBpcyBmb3VuZC4KCSAgV2l0aCB0aGlzIHBhcnNpbmcsIHRoZSBudW1iZXIgb2Ygdmlld3MgKG1pbnVzIDEpIGF0dHJpYnV0ZSBpcwoJICBmaWxsZWQsIHdoaWNoIHdhcyBhIHJlcXVpcmVtZW50IGZvciBuZWdvdGlhdGluZyB0aGUgc3RlcmVvLWhpZ2gKCSAgcHJvZmlsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzE3NAoKMjAxMy0wMy0xOSAxNDoyMzowMCArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBhZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBNVkMgTkFMIHVuaXRzLgoJICBJbml0aWFsIHN1cHBvcnQgZm9yIE1WQyBOQUwgdW5pdHMuIEl0IGlzIG9ubHkgbmVlZGVkIHRvIHByb3BhZ2F0ZSB0aGUKCSAgY29tcGxldGUgc2V0IG9mIE5BTCB1bml0cyBkb3duc3RyZWFtIGF0IHRoaXMgdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjEzNQoJICBTaWduZWQtb2ZmLWJ5OiBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTUtMDEtMjAgMDk6MjM6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogYWRkIGV4cGxpY2l0IGNhc3QgdG8gbWFrZSBjbGFuZyBoYXBweQoJICBGaXhlcyBjb21waWxhdGlvbgoKMjAxNS0wMS0xNSAxNzo0NDo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IHJlZmFjdG9yIGNodW5rIGRvd25sb2FkaW5nIGZsb3cKCSAgQWRkIG1vcmUgcG93ZXIgdG8gdGhlIGNodW5rX3JlY2VpdmVkIGZ1bmN0aW9uIChyZW5hbWVkIHRvIGRhdGFfcmVjZWl2ZWQpCgkgIGFuZCBhbHNvIHRvIHRoZSBmcmFnbWVudF9maW5pc2ggZnVuY3Rpb24uCgkgIFRoZSBkYXRhX3JlY2VpdmVkIGZ1bmN0aW9uIG11c3QgcGFyc2UvZGVjcnlwdCB0aGUgZGF0YSBpZiBuZWNlc3NhcnkgYW5kCgkgIGFsc28gcHVzaCBpdCB1c2luZyB0aGUgbmV3IHB1c2hfYnVmZmVyIGZ1bmN0aW9uIHRoYXQgaXMgZXhwb3NlZCBub3cuIFRoZQoJICBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGdldHMgZGF0YSBmcm9tIHRoZSBzdHJlYW0gYWRhcHRlciAoYWxsIGF2YWlsYWJsZSkKCSAgYW5kIHB1c2hlcyBpdC4KCSAgVGhlIGZyYWdtZW50X2ZpbmlzaCBmdW5jdGlvbiBtdXN0IGFsc28gYWR2YW5jZSB0aGUgZnJhZ21lbnQuIFRoZSBkZWZhdWx0CgkgIGltcGxlbWVudGF0aW9uIG9ubHkgYWR2YW5jZXMgdGhlIGZyYWdtZW50LgoJICBUaGlzIGFsbG93cyB0aGUgc3Vic2VnbWVudCBoYW5kbGluZyBpbiBkYXNoZGVtdXggdG8gY29udGludW91c2x5IGRvd25sb2FkCgkgIHRoZSBzYW1lIGZpbGUgZnJvbSB0aGUgc2VydmVyIGluc3RlYWQgb2Ygc3RvcHBpbmcgYXQgZXZlcnkgc3Vic2VnbWVudAoJICBib3VuZGFyeSBhbmQgc3RhcnRpbmcgYSBuZXcgcmVxdWVzdAoKMjAxNS0wMS0xOSAxMjozNzoyMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29tcG9zaXRvci9ibGVuZC5jOgoJICBjb21wb3NpdG9yOiBmaXggaWxsZWdhbCBtZW1vcnkgYWNjZXNzIGluIGJsZW5kIGZ1bmN0aW9uIHdpdGggbmVnYXRpdmUgeXBvcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMTE1CgoyMDE1LTAxLTE5IDA4OjM3OjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBhZGQgbG9nIG1lc3NhZ2UgYWJvdXQgc2VnbWVudCB0aW1lIGluZm9ybWF0aW9uCgkgIEZvciBkZWJ1Z2dpbmcgcHVycG9zZXMKCjIwMTUtMDEtMTkgMDg6MzY6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZml4IG11bHRpLXBlcmlvZCBwbGF5YmFjawoJICBJZiB3ZSBzYXkgaXQgaXMgdGhlIGZpcnN0IHNlZ21lbnQgYWZ0ZXIgYSBuZXcgcGVyaW9kIGl0IHdpbGwgcmVzeW5jCgkgIHRoZSBzZWdtZW50LnN0YXJ0IHZhbHVlIGFuZCBhbGwgYnVmZmVycyB3aWxsIGJlIGxhdGUgZm9yIHRoZSBuZXcgcGVyaW9kCgkgIHdlIGFyZSB0cnlpbmcgdG8gcGxheS4gT3RoZXJ3aXNlIHdlIHdhbnQgdG8ga2VlcCB0aGUgc2VnbWVudC5zdGFydCB3aXRoCgkgIHRoZSBwcmV2aW91cyB2YWx1ZSB0byBhbGxvdyB0aGUgcnVubmluZyB0aW1lIHRvIHNtb290aGx5IGluY3JlYXNlCgoyMDE1LTAxLTE5IDExOjIzOjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogRml4IGNvbXBpbGVyIHdhcm5pbmcgd2l0aCBjbGFuZwoJICBnc3RkYXNoZGVtdXguYzoxMzMwOjEzOiBlcnJvcjogaW1wbGljaXQgY29udmVyc2lvbiBmcm9tIGVudW1lcmF0aW9uIHR5cGUgJ2VudW0gX0dzdEFkYXB0aXZlRGVtdXhGbG93UmV0dXJuJyB0byBkaWZmZXJlbnQgZW51bWVyYXRpb24gdHlwZQoJICAnR3N0Rmxvd1JldHVybicgWy1XZXJyb3IsLVdlbnVtLWNvbnZlcnNpb25dCgkgIHJldCA9IEdTVF9BREFQVElWRV9ERU1VWF9GTE9XX1NVQlNFR01FTlRfRU5EOwoJICB+IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgoyMDE1LTAxLTE4IDIxOjA1OjQ0ICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogZml4IG1lbWxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzE0MgoKMjAxNS0wMS0xOCAxNzoyNTozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJKiBnc3QvcmVhbC9nc3RyZWFsLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWwuaDoKCSogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5oOgoJKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmg6CgkgIFJlbW92ZSByZWFsIHBsdWdpbiB3aGljaCBpcyBubyBsb25nZXIgbmVlZGVkIGFuZCBoYXMgbmV2ZXIgYmVlbiBwb3J0ZWQKCSAgRGVjb2RlcnMgZm9yIHRoZXNlIGZvcm1hdHMgZXhpc3QgaW4gZ3N0LWxpYmF2LCBpZiBhbnlvbmUKCSAgc3RpbGwgaGFzIGEgbmVlZCBmb3IgdGhlbS4KCjIwMTUtMDEtMTggMTc6MTA6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L215dGh0di9NYWtlZmlsZS5hbToKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuaDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFJlbW92ZSBsaWJnbXl0aC1iYXNlZCBNeXRoVFYgc291cmNlIGVsZW1lbnQgd2hpY2ggd2FzIG5ldmVyIHBvcnRlZAoJICBnbXl0aCBzZWVtcyB0byBiZSB1bm1haW50YWluZWQgdXBzdHJlYW0sIGFuZCBubyBvbmUgaGFzIGFza2VkCgkgIGZvciB0aGlzIHRvIGJlIHBvcnRlZCBmb3IgYSB2ZXJ5IGxvbmcgdGltZSwgc28gbGV0J3MganVzdAoJICByZW1vdmUgaXQuIE5laXRoZXIgZGViaWFuIG5vciBGZWRvcmEgc2VlbSB0byBzaGlwIGxpYmdteXRoCgkgIGFueSBsb25nZXIsIGFuZCBpbiBhbnkgY2FzZSBpdCdzIG1vc3QgbGlrZWx5IGRlcHJlY2F0ZWQgYnkKCSAgdGhlIFVQblAgc3VwcG9ydCBpbiBNeXRoVFYuCgoyMDE1LTAxLTE3IDEwOjA2OjQwICsxMTAwICBMYXNzZSBMYXVyc2VuIDxsYXNzZUBsYXNzZWxhdXJzZW4uY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIGdsYXBpOiBmaXggY29tcGlsYXRpb24gd2l0aCBsYXRlc3QgTVNWQwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMDQxCgoyMDE1LTAxLTE1IDEyOjU3OjU5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IHVzZSB0aGUgY29ycmVjdCBzaXplIGZvciB0aGUgcGJvCgkgIEl0IHdhcyBtaXNzaW5nIHRoZSBHc3RWaWRlb0FsaWdubWVudCBwYWRkaW5nIHdoaWNoIGNvdWxkIGNhdXNlIEdMCgkgIGVycm9ycyByZWxhdGVkIHRvIG92ZXJydW5uaW5nIHRoZSBzaXplIG9mIHRoZSBwYm8uCgoyMDE1LTAxLTE2IDE2OjE4OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHByZXZlbnQgZWFybHkgRU9TIHdoZW4gc3dpdGNoaW5nIGF0IGxhc3QgZnJhZ21lbnQKCSAgQ2hlY2sgaWYgdGhlcmUgaXMgYSBuZXh0IGZyYWdtZW50IGJlZm9yZSBhZHZhbmNpbmcgdG8gYXZvaWQgY2F1c2luZwoJICBhIGJpdHJhdGUgc3dpdGNoIChhbmQgbWF5YmUgZXhwb3NpbmcgbmV3IHBhZHMpIG9ubHkgdG8gcHVzaCBFT1MuCgkgIFRoaXMgY2F1c2VzIHBsYXliYWNrIHRvIHN0b3Agd2l0aCBhbiBlcnJvciBpbnN0ZWFkIG9mIHByb3Blcmx5CgkgIGZpbmlzaGluZyB3aXRoIEVPUyBtZXNzYWdlLgoKMjAxNS0wMS0xMyAxNDoyMjowMiArMDAwMCAgRGF2aWQgV2FyaW5nIDxkYXZpZC53YXJpbmdAcmQuYmJjLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogRml4IGRldGVjdGlvbiBmb3IgdGhlIGVuZCBvZiBzZWdtZW50LgoJICBUaGUgc2VnbWVudCBzdGFydCB0aW1lIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG9mZnNldCBpbnRvIHRoZSBjdXJyZW50IHNlZ21lbnQuCgkgIFRoZSBvbGQgY29uZGl0aW9uIHRvIGRldGVjdCB0aGUgZW5kIG9mIHBlcmlvZCAoaS5lLiBzZWdtZW50IHN0YXJ0IHRpbWUgPgoJICBwZXJpb2Qgc3RhcnQgKyBwZXJpb2QgZHVyYXRpb24pIGZhaWxlZCB3aGVuIHRoZSBwZXJpb2Qgc3RhcnQgd2FzIG5vdCAwIHNpbmNlCgkgIHRoZSBzZWdtZW50IHN0YXJ0IHRpbWUgZG9lcyBub3QgdGFrZSB0aGUgcGVyaW9kIHN0YXJ0IHRpbWUgaW50byBhY2NvdW50LgoJICBGaXggdGhpcyBkZXRlY3Rpb24gYnkgb25seSBjb21wYXJpbmcgdGhlIHNlZ21lbnQgc3RhcnQgdG8gdGhlIHBlcmlvZCBkdXJhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzM2OQoKMjAxNS0wMS0xNCAyMzoxMToxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHJlbW92ZSB1bnVzZWQgc2VnbWVudCBhdHRyaWJ1dGUKCSAgSXQgd2FzIG5ldmVyIHVzZWQsIG9ubHkgaW5pdGlhbGl6ZWQKCjIwMTUtMDEtMTIgMTc6NDA6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBpbXBsZW1lbnQgSVNPQk1GRiBwcm9maWxlIGhhbmRsaW5nCgkgIFRoZSBJU09CTUZGIHByb2ZpbGUgYWxsb3dzIGRlZmluaW5kIHN1YnNlZ21lbnRzIGluIGEgc2VnbWVudC4gQXQgdGhvc2UKCSAgc3Vic2VnbWVudCBib3VuZGFyaWVzIHRoZSBjbGllbnQgY2FuIHN3aXRjaCBmcm9tIG9uZSByZXByZXNlbnRhdGlvbiB0bwoJICBhbm90aGVyIGFzIHRoZXkgaGF2ZSBhbGlnbmVkIGluZGV4ZXMuCgkgIFRvIGhhbmRsZSB0aG9zZSB0aGUgJ3NpZHgnIGluZGV4IGlzIHBhcnNlZCBmcm9tIHRoZSBzdHJlYW0gYW5kIHRoZQoJICBlbnRyaWVzIHBvaW50IHRvIHB0cy9vZmZzZXQgb2YgdGhlIHNhbXBsZXMgaW4gdGhlIHN0cmVhbS4gS25vd2luZyB0aGF0CgkgIHRoZSBlbnRyaWVzIGFyZSBhbGlnbmVkIGluIHRoZSBkaWZmZXJlbnQgcmVwcmVzZW50YXRpb24gYWxsb3dzIHRoZSBjbGllbnQKCSAgdG8gc3dpdGNoIG1pZCBmcmFnbWVudC4gSW4gdGhpcyBwcm9maWxlIGEgc2luZ2xlIGZyYWdtZW50IGlzIHVzZWQgcGVyCgkgIHJlcHJlc2VudGF0aW9uIGFuZCB0aGUgc3Vic2VnbWVudHMgYXJlIGNvbnRhaW5lZCBpbiB0aGlzIGZyYWdtZW50LgoJICBUbyBub3RpZnkgdGhlIHN1cGVyY2xhc3MgYWJvdXQgdGhlIHN1YnNlZ21lbnQgYm91bmRhcnkgdGhlIGNodW5rX3JlY2VpdmVkCgkgIGZ1bmN0aW9uIHJldHVybnMgYSBzcGVjaWFsIGZsb3cgcmV0dXJuIHRoYXQgaW5kaWNhdGVzIHRoYXQuIEluIHRoaXMgY2FzZSwKCSAgdGhlIHN1cGVyIGNsYXNzIHdpbGwgY2hlY2sgaWYgYSBtb3JlIHN1aXRhYmxlIGJpdHJhdGUgaXMgYXZhaWxhYmxlIGFuZCB3aWxsCgkgIGNoYW5nZSB0byB0aGUgc2FtZSBzdWJzZWdtZW50IGluIHRoaXMgbmV3IHJlcHJlc2VudGF0aW9uLgoJICBJdCBhbHNvIHJlcXVpcmVzIHNwZWNpYWwgaGFuZGxpbmcgb2YgdGhlIHBvc2l0aW9uIGluIHRoZSBzdHJlYW0gYXMgdGhlCgkgIGZyYWdtZW50IGFkdmFuY2luZyBpcyBub3cgZG9uZSBieSBpbmNyZW1lbnRpbmcgdGhlIGluZGV4IG9mIHRoZSBzdWJzZWdtZW50LgoJICBJdCB3aWxsIG9ubHkgYWR2YW5jZSB0byB0aGUgbmV4dCBmcmFnbWVudCBvbmNlIGFsbCBzdWJzZWdtZW50cyBoYXZlIGJlZW4KCSAgZG93bmxvYWRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTI0OAoKMjAxNS0wMS0xMiAxMTo1NzowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvTWFrZWZpbGUuYW06CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0aXNvZmYuYzoKCSogZXh0L2Rhc2gvZ3N0aXNvZmYuaDoKCSAgZGFzaGRlbXV4OiBwYXJzZSB0aGUgc2lkeCBpbmRleCBmcm9tIGlzb2JtZmYgc3RyZWFtcwoJICBBbGxvd3MgZGFzaGRlbXV4IHRvIGlkZW50aWZ5IHRoZSBzdWJzZWdtZW50cyBpbiB0aGUgc3RyZWFtIGFuZAoJICBzd2l0Y2ggYml0cmF0ZXMgd2hlbiBuZWVkZWQKCjIwMTUtMDEtMDkgMTY6NDM6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBjaGVjayBmb3IgcHJvZmlsZXMKCSAgQ2hlY2sgZm9yIGF2YWlsYWJsZSBwcm9maWxlcyB0byBlbmFibGUgY2VydGFpbiBmZWF0dXJlcyBmb3IKCSAgZGFzaCBwbGF5YmFjay4gRm9yIG5vdyB3ZSBjaGVjayBmb3IgdGhlIElTT0ZGIE9uIERlbWFuZCAyMDExIHByb2ZpbGUuCgoyMDE1LTAxLTEzIDEwOjE2OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogYWRkIGEgc3BlY2lhbCByZXR1cm4gdG8gc2lnbmFsIHN1YnNlZ21lbnQgYm91bmRhcnkKCSAgVGhlIHN1YnNlZ21lbnQgYm91bmRhcnkgcmV0dXJuIHRlbGxzIHRoZSBhZGFwdGl2ZWRlbXV4IHRoYXQgaXQgY2FuCgkgIHRyeSB0byBzd2l0Y2ggdG8gYW5vdGhlciByZXByZXNlbnRhdGlvbiBhcyB0aGUgc3RyZWFtIGlzIGF0IGEgc3VpdGFibGUKCSAgcG9zaXRpb24gZm9yIHN0YXJ0aW5nIGZyb20gYW5vdGhlciBiaXRyYXRlLgoKMjAxNS0wMS0xMyAxMDoxNToyMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBBY3R1YWxseSB1c2UgdGhlIGJ5dGUgcmFuZ2UgZm9yIHRoZSBmcmFnbWVudCB1cmwKCSAgT3RoZXJ3aXNlIHdlIHdvdWxkIGFsd2F5cyBkb3dubG9hZCB0aGUgZnVsbCBmcmFnbWVudC4gVGhpcyB3b3VsZAoJICBtYWtlIGhhbmRsaW5nIHN1YnNlZ21lbnRzIGluIERBU0ggaW1wb3NzaWJsZS4KCjIwMTUtMDEtMTMgMTA6MTM6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogYWxsb3cgZG93bmxvYWRzIG9mIGhlYWRlcnMgb25seQoJICBJbiBvcmRlciB0byBnZXQgc29tZSBzdWJzZWdtZW50IGluZm9ybWF0aW9uLCBzdWJjbGFzc2VzIG1pZ2h0IHdhbnQKCSAgdG8gZG93bmxvYWQgb25seSB0aGUgaGVhZGVycyB0byBoYXZlIGVub3VnaCBkYXRhICh0aGUgaW5kZXgpCgkgIHRvIGRlY2lkZSB3aGVyZSB0byBzdGFydCBkb3dubG9hZGluZyBmcm9tIHRoZSBzdWJzZWdtZW50LgoKMjAxNS0wMS0xMiAxODoyMjoxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiByZWZhY3RvciBjb21tb24gY29kZSB0byBmdW5jdGlvbgoJICBSZXVzZSB0aGUgc2FtZSBmdW5jdGlvbiB3aGVuIGZpbmlzaGluZyBkb3dubG9hZGluZyBhbmQgc2lnbmFsaW5nIHRvCgkgIHRoZSBkb3dubG9hZCBsb29wIHRocmVhZCB0byBnZXQgdGhlIG5leHQgZnJhZ21lbnQgb3IgYWJvcnQKCjIwMTUtMDEtMDkgMTc6MTk6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBpbmZvcm0gc3ViY2xhc3Mgd2hlbiBoZWFkZXJzL2luZGV4IGFyZSBiZWluZyBkb3dubG9hZGVkCgkgIFRoaXMgYWxsb3dzIHRoZSBzdWJjbGFzc2VzIHRvIGtub3cgaWYgdGhlIGNodW5rcyB0aGF0IGFyZSBkb3dubG9hZGVkIGFyZQoJICBwYXJ0IG9mIHRoZSBoZWFkZXIgb3Igb2YgdGhlIGluZGV4IGFuZCB3aWxsIHBhcnNlIHRoZSBwYXJ0cyB0aGF0IGFyZQoJICBvZiB0aGVpciBpbnRlcmVzdC4KCjIwMTUtMDEtMTUgMTY6MTE6MjQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBhIGZldyBsZWFrIGZpeGVzCgoyMDE1LTAxLTE1IDEzOjE2OjA3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdGZyYWdtZW50LmM6CgkgIGZyYWdtZW50OiBmaXggY2FwcyBhbmQgYnVmZmVyIGxlYWtzIGluIGdldF9wcm9wZXJ0eQoKMjAxNS0wMS0xNCAxNzo0Mzo1MSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiByZW1vdmUgdW51c2VkIGZyYWdtZW50c19jYWNoZSBmaWVsZAoKMjAxNS0wMS0xNCAxNjo0MjoyNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBhIGZldyBsZWFrIGZpeGVzCgoyMDE1LTAxLTEyIDIxOjIyOjA2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2JzMmIvZ3N0YnMyYi5jOgoJICBiczJiOiBpbXBsZW1lbnQgdGhlIHByZXNldCBpbnRlcmZhY2UKCSAgSW5zdGVhZCBvZiBhIHByZXNldCBwcm9wZXJ0eSBpbXBsZW1lbnQgdGhlIHByZXNldCBpbnRlcmZhY2UgaW4gYSByZWFkLW9ubHkKCSAgZmFzaGlvbi4KCjIwMTUtMDEtMTIgMTI6MTE6MDEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJzMmIueG1sOgoJICBkb2NzOiBhZGQgbmV3IGJzMmIgcGx1Z2luIGFuZCBlbGVtZW50CgoyMDE1LTAxLTEwIDIxOjQxOjEyICswMTAwICBDaHJpc3RvcGggUmVpdGVyIDxyZWl0ZXIuY2hyaXN0b3BoQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvYnMyYi9NYWtlZmlsZS5hbToKCSogZXh0L2JzMmIvZ3N0YnMyYi5jOgoJKiBleHQvYnMyYi9nc3RiczJiLmg6CgkgIGJzMmI6IGFkZCBuZXcgcGx1Z2luIChFZmZlY3QvQXVkaW8sIGNyb3NzZmVlZCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMTY4OQoKMjAxNS0wMS0xNSAxMzoxMzo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJICBpbnRlcmF1ZGlvc2luazogTWFrZSBzdXJlIHRoYXQgYnVmZmVyIHRpbWUgaXMgYWx3YXlzIGJpZ2dlciB0aGFuIHBlcmlvZCB0aW1lCgoyMDE1LTAxLTE1IDEyOjQ5OjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IEFsc28gY29uc2lkZXIgbWF4LWxhdGVuZXNzIHByb3BlcnR5IHZhbHVlIGJlZm9yZSBkcm9wcGluZyBsYXRlIGZyYW1lcwoKMjAxNS0wMS0xNSAxNDowOTo0MyArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUubToKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSAgdnRkZWM6IGltcGxlbWVudCB0aGUgR0wgdGV4dHVyZSB1cGxvYWQgbWV0YQoKMjAxNS0wMS0wOSAwMDoxNjoxNyArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUubToKCSAgYXZmdmlkZW9zcmM6IGltcGxlbWVudCB0aGUgR0wgdGV4dHVyZSB1cGxvYWQgbWV0YQoKMjAxNS0wMS0xNSAwOTo0Nzo0NSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXJwYWQuaDoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IGRvbid0IHVwbG9hZCBpZiBhbHBoYSA8PSAwCgkgIEltcGxlbWVudGVkIHVzaW5nIGEgdXBsb2FkX2J1ZmZlciB2ZnVuYyB3aXRoaW4gR3N0R0xNaXhlciBhbGxvd2luZwoJICBOVUxMIHVwbG9hZGVkIGJ1ZmZlcnMuCgoyMDE1LTAxLTE1IDA5OjQ1OjIxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IHJlbW92ZSBzcHVyaW91cyBnc3RfdmlkZW9faW5mb19hbGlnbgoJICBUaGF0IHdpbGwgYmUgdGFrZW4gY2FyZSBvZiBieSB0aGUgY2FsbGluZyBjb2RlICh0eXBpY2FsbHkgYSBidWZmZXJwb29sKS4KCSAgVGhlIEdzdFZpZGVvQWxpZ25tZW50IGlzIHB1cmVseSBpbmZvcm1hdGlvbmFsIHRvIGNvbXB1dGUgcGxhbmUgZGF0YSBzaXplcy4KCjIwMTUtMDEtMTQgMjM6NDg6MTYgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogRG9jdW1lbnQgdGhlIHpvcmRlciBwYWQgcHJvcGVydHkgZnJvbSBnc3R2aWRlb2FnZ3JlZ2F0b3IKCjIwMTUtMDEtMTQgMjM6NDc6MTkgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogTml0cGljayBzcGFjaW5nL3B1bmN0dWF0aW9uIGluIGRlYnVnIGxvZ2dpbmcKCjIwMTUtMDEtMTQgMTY6MzM6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGlua3ZpZGVvc2luazogU3RvcCBzY2hlZHVsZWQgcGxheWJhY2sgc2hvcnRseSBpbiBQQVVTRUQtPlBMQVlJTkcgaWYgaXQgd2FzIHJ1bm5pbmcgYWxyZWFkeQoJICBUaGlzIGZpeGVzIGhhbmRsaW5nIG9mIGZsdXNoaW5nIHNlZWtzLCB3aGVyZSB3ZSB3aWxsIGdldCBhIFBBVVNFRC0+UExBWUlORwoJICBzdGF0ZSB0cmFuc2l0aW9uIGFmdGVyIHRoZSBwcmV2aW91cyBvbmUgd2l0aG91dCBhY3R1YWxseSBnb2luZyB0byBQQVVTRUQKCSAgZmlyc3QuCgoyMDE1LTAxLTE0IDE2OjAxOjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmg6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBEb24ndCBzY2hlZHVsZSB0b28gbGF0ZSBmcmFtZXMgaW4gcHJlcGFyZSgpCgkgIE90aGVyd2lzZSB3ZSB3aWxsIG92ZXJmbG93IHRoZSBpbnRlcm5hbCBidWZmZXIgb2YgdGhlIGhhcmR3YXJlCgkgIHdpdGggdXNlbGVzcyBmcmFtZXMgYW5kIHJ1biBpbnRvIGFuIGVycm9yLiBUaGlzIGlzIG5lY2Vzc2FyeSB1bnRpbAoJICB0aGlzIGJ1ZyBpbiBiYXNlc2luayBpcyBmaXhlZDoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjkxNgoKMjAxNS0wMS0xNCAxNTo1NDoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5oOgoJICBkZWNrbGlua3ZpZGVvc2luazogS2VlcCB0cmFjayBvZiB0aGUgdGltZSB3aGVuIHdlIHdlbnQgdG8gUExBWUlORyBmb3IgdGhlIGV4dGVybmFsIGNsb2NrIHRvbwoJICBPdGhlcndpc2Ugd2UncmUgYWRkaW5nIGFuIG9mZnNldCBvZiB0aGUgdGltZSB0aGUgcGlwZWxpbmUgd2FzIGluIFBMQVlJTkcKCSAgYWxyZWFkeSB0byB0aGUgcnVubmluZyB0aW1lIHdoZW4gY29udmVydGluZyBpdCB0byBvdXIgaW50ZXJuYWwgY2xvY2suCgoyMDE1LTAxLTE0IDEzOjMyOjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IEVuYWJsZSBRb1MgYW5kIHNldCBtYXgtbGF0ZW5lc3MgdG8gMjBtcwoKMjAxNS0wMS0xMiAxNzoyNDo1MiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlcjogZml4IHN0YWNrIHNtYXNoaW5nCgkgIEVuc3VyZSB0aGF0IHdlIGRvIG5vdCB0cnVzdCB0aGUgYml0c3RyZWFtIHdoZW4gZmlsbGluZyBhIHRhYmxlCgkgIHdpdGggYSBmaXhlZCBtYXggc2l6ZS4KCSAgQWRkaXRpb25hbGx5LCB0aGUgY29kZSB3YXMgbm90IHF1aXRlIG1hdGNoaW5nIHdoYXQgdGhlIHNwZWMgc2F5czoKCSAgLSBhIHZhbHVlIG9mIDMgYnJva2UgZnJvbSB0aGUgbG9vcCBiZWZvcmUgYWRkaW5nIGFuIGVudHJ5CgkgIC0gYW4gdW5oYW5kbGVkIHZhbHVlIGRpZCBub3QgYWRkIGFuIGVudHJ5CgkgIFRoZSByZWZlcmVuY2UgYWxnb3JpdGhtIGRvZXMgdGhlc2UgdGhpbmdzIGRpZmZlcmVudGx5ICg3LjMuMy4xCgkgIGluIElUVS1UIFJlYy4gSC4yNjQgKDA1LzIwMDMpKS4KCSAgVGhpcyBwbGF5cyAoYXBwYXJlbnRseSBjb3JyZWN0bHkpIHRoZSBvcmlnaW5hbCByZXBybyBmaWxlLCB3aXRoCgkgIG5vIHN0YWNrIHNtYXNoaW5nLgoJICBCYXNlZCBvbiBhIHBhdGNoIGFuZCBidWcgcmVwb3J0IGJ5IEFuZHLDqSBEcmFzemlrIDxnaXRAYW5kcmVkLm5ldD4KCjIwMTUtMDEtMTQgMjI6MDg6NDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXJwYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbDogc3BsaXQgZ2xjb2xvcmNvbnZlcnQgdXNhZ2UgZnJvbSBnbHVwbG9hZAoJICB0aGUgc2VwYXJhdGlvbiBhbGxvd3MgdGhlIHRyYW5zZmVyIG9wZXJhdGlvbiB0byBvY2N1ciBpbiBhIHNlcGFyYXRlCgkgIHRocmVhZC90aW1lIHdoaWNoIG1heSBpbmNyZWFzZSBwZXJmb3JtYW5jZSBpbiBzcGVjaWZpYyBjaXJjdW1zdGFuY2VzLgoKMjAxNS0wMS0xNCAxMjozOToxMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBvZmZzZXQgdGhlIGRhdGEgcG9pbnRlciBmb3IgdXBsb2FkIGZvciBHc3RWaWRlb0FsaWdubWVudAoJICBvdGhlcndpc2Ugd2UgYXR0ZW1wdCB0byByZWFkIGZyb20gdGhlIHBhZGRpbmcgZGF0YQoKMjAxNS0wMS0xNCAwMDowODoxMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJICBnbG1lbW9yeTogdXNlIHBibydzIGZvciB1cGxvYWQKCjIwMTUtMDEtMTMgMjM6NDc6MDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogcmVsYXggdGhlIEdMTWVtb3J5IHVwbG9hZGVyIGNoZWNrIGZvciBpbnB1dCBjYXBzIGZlYXR1cmVzCgkgIEFzIHRoZXJlIG1heSBiZSBhIHN5c21lbSBjYXBzIGZlYXR1cmVzIHdpdGggR0xNZW1vcnkgZmlsbGVkIGJ1ZmZlcnMuCgkgIGUuZy4KCSAgdmlkZW90ZXN0c3JjICEgZ2xpbWFnZXNpbmsKCjIwMTUtMDEtMTMgMTE6MzI6MDMgLTA4MDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcm1lcmFsaUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIFJldmVydCAiUmV2ZXJ0ICJvcGVuaDI2NDogZml4IHRvIHdvcmsgd2l0aCByZWxlYXNlZCB2ZXJzaW9ucyBhbmQgbWFzdGVyIG9mIHVwc3RyZWFtIiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAzMjlmMGNjYmExYWE2MDRkYTFiZDgwMjkzZmQxZmU3MTc0NDdkZjVkLgoKMjAxNC0xMi0xNyAwOToxOTo1MiAtMDgwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVybWVyYWxpQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0OiByZW1vdmUgYWxsIHRyYWNlIG91dHB1dCB0byBjb25zb2xlIGZyb20gZW5jb2RlcgoKMjAxNS0wMS0xMyAxOTo1NjoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJICBkZWNrbGluazogVXNlIEJUMjAyMCBjb2xvcnNwYWNlIGZvciBVbHRyYUhEIHJlc29sdXRpb25zCgoyMDE1LTAxLTEzIDE5OjU1OjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbms6IEZpeCBpbmRlbnRpb24gb25jZSBhZ2FpbgoKMjAxNS0wMS0xMyAxNjo0OTowNyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IGhhbmRsZSB0aGUgcmV0dXJuIG9mIHRoZSBzZXR1cCBmdW5jdGlvbgoJICBNYWtlIHRoZSBjbGFzcyBmdXR1cmUgcHJvb2YgYnkgaGFuZGxpbmcgdGhlIGdib29sZWFuIHJldHVybiBvZiB0aGUgc2V0dXAKCSAgZnVuY3Rpb24uIFNvIGlmL3doZW4gYSBjaGlsZCBjbGFzcyB1c2VzIHRoaXMgdGhlIGJhc2UgY2xhc3MgaXMgcmVhZHkuCgoyMDE1LTAxLTEzIDE2OjQ2OjEwICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIFJldmVydCAiYXVkaW92aXN1YWxpemVyOiByZW1vdmUgdW51c2VkIHZhbHVlIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDI1Yzk3NTcwODM0ZDZkZTFjMTQ0MjRlNzEyMjFkMTllYjBkMzNlZTMuCgkgIEl0IGlzIHByZWZlcmFibGUgdG8gaGFuZGxlIHRoZSByZXR1biBvZiB0aGUgc2V0dXAgZnVuY3Rpb24uCgoyMDE1LTAxLTEzIDE3OjQ0OjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IEdldCBvdXIgb3duICJzdGFydCB0aW1lIiBpbnN0ZWFkIG9mIHRoZSBvbmUgb2YgdGhlIHBpcGVsaW5lCgkgIGRlY2tsaW5rdmlkZW9zaW5rIG1pZ2h0IGJlIGFkZGVkIGxhdGVyIHRvIHRoZSBwaXBlbGluZSwgb3IgaXRzIHN0YXRlIG1pZ2h0CgkgIGJlIGhhbmRsZWQgc2VwYXJhdGVseSBmcm9tIHRoZSBwaXBlbGluZS4gSW4gd2hpY2ggY2FzZSB0aGUgcnVubmluZyB0aW1lIHdoZW4KCSAgd2UgKGxhc3QpIHdlbnQgaW50byBQTEFZSU5HIHN0YXRlIHdpbGwgYmUgZGlmZmVyZW50IGZyb20gdGhlIHBpcGVsaW5lJ3MuCgkgIEhvd2V2ZXIgd2UgbmVlZCBvdXIgb3duIHN0YXJ0IHRpbWUgdG8gdGVsbCB0aGUgRGVja2xpbmsgQVBJLCB3aGljaCBydW5uaW5nCgkgIHRpbWUgc2hvdWxkIGJlIGRpc3BsYXllZCBhdCB0aGUgbW9tZW50IHdlIGdvIHRvIFBMQVlJTkcgYW5kIHN0YXJ0IHNjaGVkdWxlZAoJICByZW5kZXJpbmcuCgoyMDE1LTAxLTEzIDE3OjAwOjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJICBpbnRlcjogVXNlIGEgI2RlZmluZSBmb3IgdGhlIGRlZmF1bHQgdmFsdWUgb2YgdGhlIGNoYW5uZWwgcHJvcGVydHkKCjIwMTUtMDEtMTMgMTY6NTg6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5oOgoJICBpbnRlcnZpZGVvc3JjOiBNYWtlIHRoZSB0aW1lb3V0IGNvbmZpZ3VyYWJsZSBhZnRlciB3aGljaCB3ZSBzdGFydCBzaG93aW5nIGEgYmxhY2sgZnJhbWUKCjIwMTUtMDEtMTMgMTU6NDI6MjYgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiByZW1vdmUgdW51c2VkIHZhbHVlCgkgIGtsYXNzLT5zZXR1cCAoc2NvcGUpIHdpbGwgYWx3YXlzIHJldHVybiBUUlVFIHNpbmNlIGFsbCBjaGlsZHJlbiBvZiB0aGlzIGNsYXNzCgkgIGRvIHNvLCBubyBuZWVkIHRvIHN0b3JlIHRoZSByZXR1cm4uIEJlc2lkZXMsIHRoZSB2YWx1ZSBpcyBvdmVyd3JpdHRlbiBhIGZldwoJICBsaW5lcyBkb3duIGJlZm9yZSBpdCBpcyB1c2VkLgoJICBDaGFuZ2UgaGVscHMga2VlcCBmaWxlcyBpbiBzeW5jIGFmdGVyOgoJICAtYmFzZSBjb21taXQgYTkxZDUyMWEzNjAyZjMzMDgzNDA1NDY3ZGI5NDU0ZDQyMmI5ZGExYgoKMjAxNS0wMS0xMyAxNDo1NDoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogRG9uJ3QgZG8gYW55IGNvbnZlcnNpb25zIGlmIHRoZSBwYWQgaXMgY29tcGxldGVseSB0cmFuc3BhcmVudCBhbnl3YXkKCjIwMTUtMDEtMTIgMTI6NTg6MjcgKzAxMDAgIEJyYW5pc2xhdiBLYXRyZW5pYWsgPGJrYXRyZW5pYWtAbnV2b3RlY2hub2xvZ2llcy5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXI6IHNpbGVuY2UgbWVzc2FnZXMgZm9yIGZsdXNoZWQgLyBjcmVhdGVkIHNhbXBsZXMKCSAgVGhlc2UgbWVzc2FnZXMgYXJlIGxvZ2dlZCBwZXJpb2RpY2FsbHkgYW5kIHBvbHV0ZSB0aGUgbG9nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDE1OTIKCjIwMTQtMTItMjUgMjM6MTA6MTkgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBmaXggbWVtbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxOTQzCgoyMDE0LTEyLTI1IDIyOjU5OjQyICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogZml4IHNvbWUgbWVtb3J5IGxlYWtzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDE5NDMKCjIwMTQtMTItMzEgMTc6NDU6NTMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IGFsbG93IHdyYXBwZWQgY29udGV4dHMgdG8gYmUgdXRpbGlzZWQgbGlrZSBub24td3JhcHBlZCBjb250ZXh0cwoJICBGaWxsIGluIHRoZSBtaXNzaW5nIHBpZWNlcyBsaWtlIGdldF9wcm9jX2FkZHJlc3MsIHRoZSBnbCBmdW5jdGlvbiB2dGFibGUKCjIwMTUtMDEtMTIgMjE6MjU6MTQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vLmdpdGlnbm9yZToKCSogZ3N0L2NvbXBvc2l0b3IvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkgIGdpdGlnbm9yZTogaWdub3JlIG1vcmUgZmlsZXMKCjIwMTUtMDEtMTIgMTU6MzM6MDkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgdmlzdWFsOiB1c2UgdW51c2VkIHZhbHVlCgkgIHJldCBpcyBhc3NpZ25lZCBidXQgbm90IHVzZWQgYW5kIGluIHRoZSBuZXh0IGN5Y2xlIG9mIHRoZSBsb29wIGl0IGlzIG92ZXJ3cml0dGVuCgkgIHdpdGggZGVmYXVsdF9wcmVwYXJlX291dHB1dF9idWZmZXIgKCkuIElmIHRoZXJlIGlzIGEgZmxvdyBlcnJvciB0aGUgZnVuY3Rpb24KCSAgc2hvdWxkIHJldHVybiBpbnN0ZWFkLgoJICBDSUQgIzEyMjY0NzUKCjIwMTUtMDEtMTIgMTY6MTA6MzEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGYyYzZiOTUgdG8gYmM3NmE4YgoKMjAxNS0wMS0xMiAxNTo1Nzo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIGRlY2tsaW5rOiBJbml0aWFsaXplIHJlZmNvdW50IG9mIG91ciBDKysgY2xhc3NlcyBpbiB0aGUgY29uc3RydWN0b3IKCSAgQ0lEIDEyNjIyODgKCSAgQ0lEIDEyNjIyODcKCSAgQ0lEIDEyNjIyODkKCjIwMTUtMDEtMTIgMTQ6MjI6NDcgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJICBnYXVkaWVmZmVjdHM6IHN0b3JlZCB2YWx1ZSBpcyBvdmVyd3JpdHRlbgoJICBWYWx1ZSBmcm9tIGxlZnRfbHVtaW5hbmNlIGlzIGFzc2lnbmVkIHRvIG91dF9sdW1pbmFuY2UgaGVyZSwgYnV0IHRoYXQgc3RvcmVkCgkgIHZhbHVlIGlzIG5vdCB1c2VkIGJlZm9yZSBpdCBpcyBvdmVyd3JpdHRlbiBpbiB0aGUgbmV4dCBjeWNsZSBvZiB0aGUgbG9vcC4KCSAgUmVtb3ZpbmcgYXNzaWduYXRpb24uCgkgIENJRCAjMTIyNjQ3MwoKMjAxNS0wMS0xMiAxMjo1MDozMyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogZml4IGRlYWQgY29kZQoJICBmb3VuZCBpcyBpbml0aWFsaXplZCB0byBGQUxTRSB0byB0aGVuIG9ubHkgYmUgdXNlZCBpbiB0d28gY29uZGl0aW9uYWwgc3RhdGVtZW50cwoJICB0aGF0IHdpbGwgYWx3YXlzIGJlIGZhbHNlLCBtYWtpbmcgdGhlIGJsb2NrcyBpbnNpZGUgdGhlbSBkZWFkIGNvZGUuIExvb2tpbmcgYmFjawoJICBpbiB0aGUgZmlsZSdzIGhpc3RvcnkgdGhlIHNldHRpbmcgb2YgdGhlIHZhcmlhYmxlJ3MgdmFsdWUgYmVmb3JlIGl0IGlzIGNoZWNrZWQKCSAgd2FzIGRyb3BwZWQgYXMgcGFydCBvZiB0aGUgcG9ydCB0byAwLjExLCBicmluZ2luZyB0aGF0IHZhbHVlIHNldHRpbmcgYmFjay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjYzOAoKMjAxNS0wMS0xMSAyMDo0MDozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogbWlub3Igb3B0aW1pc2F0aW9uIHdoZW4gc2Nhbm5pbmcgZm9yIFNDUnMKCSAgQmFpbCBvdXQgZWFybHkgd2hlbiB3ZSdyZSBzY2FubmluZyBmb3IgU0NSLCBubyBuZWVkIHRvCgkgIHBhcnNlIHN0dWZmIHdlJ3JlIG5vdCBnb2luZyB0byB1c2Ugbm9yIGludGVyZXN0ZWQgaW4uCgoyMDE1LTAxLTExIDAxOjA4OjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IGZpeCBjb21waWxlciB3YXJuaW5nIGFuZCBzaW1wbGlmeSBjaGVja3MgaW4gc2V0X2NhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDE5NQoKMjAxNS0wMS0wMyAxMzowNjo0NSArMDEwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IHJld29yayBzZXRfZm9ybWF0IGNvZGUgc28gbXBnMTIzYXVkaW9kZWMgd29ya3Mgd2l0aCBkZWNvZGViaW4vcGxheWJpbgoJICBUaGUgb2xkIGNvZGUgd2FzIHVzaW5nIGdzdF9jYXBzX25vcm1hbGl6ZSgpIGFuZCB3YXMgZ2VuZXJhbGx5IG92ZXJseQoJICBjb21wbGV4LiBTaW1wbGlmeSBieSBwaWNraW5nIHNhbXBsZSByYXRlIGFuZCBudW1iZXIgb2YgY2hhbm5lbHMgZnJvbQoJICB1cHN0cmVhbSBhbmQgdGhlIHNhbXBsZSBmb3JtYXQgZnJvbSB0aGUgYWxsb3dlZCBjYXBzLiBJZiB0aGUgZm9ybWF0IGNhcHMKCSAgaXMgYSBsaXN0IG9mIHN0cmlucywganVzdCBwaWNrIHRoZSBmaXJzdCBvbmUuIEFuZCBpZiB0aGUgc3JjcGFkIGlzbid0CgkgIGxpbmtlZCB5ZXQsIHVzZSB0aGUgZGVmYXVsdCBmb3JtYXQgKFMxNikuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAxOTUKCjIwMTUtMDEtMTAgMTU6MzQ6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkgIGdsL2NvY29hOiBEaXNhYmxlIGhhY2sgZm9yIE5TQXBwIGl0ZXJhdGlvbiB3aXRoIGEgc3BlY2lhbCAjZGVmaW5lCgkgIFRoZSBoYWNrIGNhdXNlcyBkZWFkbG9ja3MgYW5kIG90aGVyIGludGVyZXN0aW5nIHByb2JsZW1zIGFuZCBpdCByZWFsbHkKCSAgY2FuIG9ubHkgYmUgZml4ZWQgcHJvcGVybHkgaW5zaWRlIEdMaWIuIFdlIHdpbGwgaW5jbHVkZSBhIHBhdGNoIGZvcgoJICBHTGliIGluIG91ciBidWlsZHMgZm9yIG5vdyB0aGF0IGhhbmRsZXMgdGhpcywgYW5kIGhvcGVmdWxseSBhdCBzb21lCgkgIHBvaW50IEdMaWIgd2lsbCBhbHNvIG1lcmdlIGEgcHJvcGVyIHNvbHV0aW9uLgoJICBBIHByb3BlciBzb2x1dGlvbiB3b3VsZCBmaXJzdCByZXF1aXJlIHRvIHJlZmFjdG9yIHRoZSBwb2xsaW5nIGluCgkgIEdNYWluQ29udGV4dCB0byBvbmx5IHByb3ZpZGUgYSBzaW5nbGUgZmQsIGUuZy4gdmlhIGVwb2xsL2txdWV1ZQoJICBvciBhIHRocmVhZCBsaWtlIHRoZSBvbmUgYWRkZWQgYnkgb3VyIHBhdGNoLiBUaGVuIHRoaXMgc2luZ2xlCgkgIGZkIGNvdWxkIGJlIHJldHJpZXZlZCBmcm9tIHRoZSBHTWFpbkNvbnRleHQgYW5kIGRpcmVjdGx5IGludGVncmF0ZWQKCSAgaW50byBhIE5TUnVuTG9vcC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTQ1MAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0Mzc0CgoyMDE1LTAxLTEwIDE1OjQwOjMwICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkgIGludGVyOiBpbnRlcmF1ZGlvc3JjIC0gZml4YXRlIGxheW91dCBmb3IgZGVmYXVsdCBjYXBzCgkgIE1ha2VzIGludGVyYXVkaW9zcmMgcHJvZHVjZSB2YWxpZCBhdWRpbyBjYXBzIGluIHRoZSBhYnNlbmNlIG9mIGFueSBvdGhlcgoJICBndWlkYW5jZSBieSBhZGRpbmcgdG8gdGhlIHBhZCB0ZW1wbGF0ZSBhbmQgZml4YXRlIGZ1bmN0aW9uCgoyMDE1LTAxLTA5IDIxOjUxOjQwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBSZW1vdmUgcG9pbnRsZXNzIGF0b21pYwoJICBJdCBpcyBvbmx5IG1vZGlmaWVkIGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQKCjIwMTUtMDEtMDkgMjE6MzA6MzYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEZpeCBxdWVyeSBsZWFrCgoyMDE1LTAxLTA5IDE3OjU2OjA5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogcmVtb3ZlIGNoZWNrIGZvciBiZWxvdyB6ZXJvIGZvciB1bnNpZ25lZCB2YWx1ZQoJICBDTEFNUCBjaGVja3MgYm90aCBpZiB2YWx1ZSBpcyAnPCAwJyBhbmQgJz4gbWF4Jy4gVmFsdWUgd2lsbCBuZXZlciBiZSBhIG5lZ2F0aXZlCgkgIG51bWJlciBzaW5jZSBpdCBpcyBhbiB1bnNpZ25lZCBpbnRlZ2VyLiBSZW1vdmluZyB0aGF0IGNoZWNrIGFuZCBvbmx5IGNoZWNraW5nIGlmCgkgIGl0IGlzIGJpZ2dlciB0aGFuIG1heCBhbmQgc2V0dGluZyBpdCBhcHByb3ByaWF0ZWx5LgoJICBBbHNvIGNvbnZlcnRpbmcgdGhlIHByZXZpb3VzIGluc3RhbmNlIG9mIHRoaXMgaW50byBNSU4oKSBmb3IgY29uc2lzdGVuY3kuCgkgIENJRCAxMTM5NzkzCgoyMDE0LTEyLTAyIDEwOjEwOjM5ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGV4cG9zZSBjb21wYXRpYmxlIHByb2ZpbGVzIHRvIGRvd25zdHJlYW0KCSAgU29tZSB2aWRlbyBiaXRzdHJlYW1zIHJlcG9ydCBhIHRvbyByZXN0cmljdGl2ZSBzZXQgb2YgcHJvZmlsZXMuIElmIGEgdmlkZW8KCSAgZGVjb2RlciB3YXMgdG8gc3RyaWN0bHkgZm9sbG93IHRoZSBpbmRpY2F0ZWQgcHJvZmlsZSwgaXQgd291bGRuJ3Qgc3VwcG9ydCB0aGF0CgkgIHN0cmVhbSwgd2hlcmVhcyBpdCBjb3VsZCBpbiB0aGVvcnkgYW5kIGluIHByYWN0aWNlLiBTbyB3ZSBzaG91bGQgcmVsYXggdGhlCgkgIHByb2ZpbGUgcmVzdHJpY3Rpb24gZm9yIGFsbG93aW5nIHRoZSBkZWNvZGVyIHRvIGdldCBjb25uZWN0ZWQgd2l0aCBwYXJzZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk5OTIKCjIwMTUtMDEtMDkgMTY6NDM6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFByaW50IGppdHRlciBmcm9tIGNsb2NrIHdhaXRpbmcgaW4gdGhlIGRlYnVnIGxvZ3MKCjIwMTUtMDEtMDkgMTQ6NDI6MzQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSAgYXVkaW92aXN1YWxpemVyOiByZW1vdmUgY2hlY2sgaWYgYmVsb3cgemVybyBmb3IgdW5zaWduZWQgdmFsdWUKCSAgQ0xBTVAgY2hlY2tzIGJvdGggaWYgeSBpcyAnPCAwJyBhbmQgJz4gaDEnLiB5IHdpbGwgbmV2ZXIgYmUgYSBuZWdhdGl2ZSBudW1iZXIKCSAgc2luY2UgaXQgaXMgYW4gdW5zaWduZWQgaW50ZWdlci4gUmVtb3ZpbmcgdGhhdCBjaGVjayBhbmQgb25seSBjaGVja2luZyBpZiBpdAoJICBiaWdnZXIgdGhhbiBoMSBhbmQgc2V0dGluZyBpdCB0byB0aGF0IG1heCBhcHByb3ByaWV0YWx5LgoJICBDSUQgMTEzOTc5MgoKMjAxNS0wMS0wOCAxNjoyNDoyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogY2FjaGUgY3VycmVudCBmaWxlIHBvc2l0aW9uIGluIHRoZSBsaXN0CgkgIEF2b2lkcyBpdGVyYXRpbmcgdGhlIGxpc3QgZXZlcnl0aW1lIHRvIGxvb2sgZm9yIHRoZSBuZXh0IHNlZ21lbnQKCSAgdG8gYmUgdXNlZCAob3IgdG8gYWR2YW5jZSB0byB0aGUgbmV4dCBvbmUpLgoKMjAxNS0wMS0wOCAxNTo0Njo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBzaW1wbGlmeSBuZXh0IHNlZ21lbnQgY2hlY2tpbmcgZnVuY3Rpb25zCgkgIE9wdGltaXplIGxvb3AgYnkgbW92aW5nIGNvbmRpdGlvbiBvdXRzaWRlIG9mIGl0IGFuZCByZXVzZSB0aGUKCSAgZmluZF9uZXh0X2ZyYWdtZW50IGZ1bmN0aW9uIHRvIGNoZWNrIGlmIHRoZXJlIGlzIG5leHQgaW5zdGVhZCBvZgoJICByZXBsaWNhdGluZyB0aGUgc2FtZSBsb29wCgoyMDE1LTAxLTA4IDEzOjAzOjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBjYWNoZSB0b3RhbCBkdXJhdGlvbiB0byBhdm9pZCBpdGVyYXRpbmcgYXQgZXZlcnkgcXVlcnkKCSAgRHVyYXRpb24gcXVlcmllcyBjYW4gYmUgZG9uZSBhIGZldyB0aW1lcyBwZXIgc2Vjb25kIGFuZCB3b3VsZCBjYXVzZQoJICB0aGUgc2VnbWVudCBsaXN0IHRvIGJlIHRyYXZlcnNlZCBmb3IgZXZlcnkgb25lLiBDYWNoaW5nIHRoZSBkdXJhdGlvbgoJICBwcmV2ZW50cyB0aGF0LgoKMjAxNS0wMS0wOCAxODoxNToyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbmt2aWRlb3NyYzogUG9zdCBMQVRFTkNZIG1lc3NhZ2Ugd2hlbiB0aGUgbW9kZSBjaGFuZ2VzCgkgIERpZmZlcmVudCBtb2RlcyBoYXZlIGRpZmZlcmVudCBmcmFtZXJhdGVzLCBhbmQgdGh1cyBkaWZmZXJlbnQgbGF0ZW5jaWVzLiBXZQoJICBtaWdodCBuZWVkIHRvIHJlY29uZmlndXJlIHRoZSBsYXRlbmN5IG9mIHRoZSBwaXBlbGluZS4KCjIwMTUtMDEtMDggMTg6MTQ6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zcmM6IEZpeCBjb21waWxlciB3YXJuaW5nCgoyMDE1LTAxLTA4IDE2OjQyOjMxICswMTAwICBGbG9yaWFuIExhbmdsb2lzIDxmbG9yaWFuLmxhbmdsb2lzQGZyLnRoYWxlc2dyb3VwLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmg6CgkgIGRlY2tsaW5rdmlkZW9zcmM6IEFkZCBhdXRvbWF0aWMgbW9kZSBkZXRlY3Rpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTI4NAoKMjAxNS0wMS0wOCAxNTo1NDoxOCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogZ19yZXR1cm5faWZfZmFpbCBpbiBmdW5jdGlvbiB3aXRoIHJldHVybiB0eXBlCgkgIE5lZWQgdG8gdXNlIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKCkgd2hlbiB0aGUgZnVuY3Rpb24gcmV0dXJucyBhIHR5cGUsIGluIHRoaXMKCSAgY2FzZSBhIGdib29sZWFuCgoyMDE1LTAxLTA4IDE1OjM2OjA0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cDogdmFsdWUgdHJ1bmNhdGVkIHRvbyBzaG9ydCBjcmVhdGVzIGRlYWQgY29kZQoJICB0eXBlIGlzIHRydW5jYXRlZCB0byAwLTMxIHdpdGggIiYgMHgxZiIsIGJ1dCByaWdodCBhZnRlciB0aGF0IGl0IGlzIGNoZWNrcyBpZgoJICB0aGUgdmFsdWUgaXMgZXF1aXZhbGVudCB0byBHU1RfSDI2NV9OQUxfVlBTLCBHU1RfSDI2NV9OQUxfU1BTLCBhbmQKCSAgR1NUX0gyNjVfTkFMX1BQUyAod2hpY2ggYXJlIDMyLCAzMywgYW5kIDM0IHJlc3BlY3RpdmVseSkuIE9idmlvdXNseSwgdGhpcyB3aWxsCgkgIG5ldmVyIGJlIFRydWUgaWYgdGhlIHZhbHVlIGlzIG1heGltdW0gMzEgYWZ0ZXIgdGhlIHRydW5jYXRpb24uCgkgIFRoZSBpbnRlbnRpb24gb2YgdGhlIGNvZGUgd2FzIHRvIHRydW5jYXRlIHRvIDAtNjMuCgoyMDE1LTAxLTA4IDE1OjI3OjQ0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwOiBmaXggbmFsIHVuaXQgdHlwZSBjaGVjawoJICBBZnRlciBmdXJ0aGVyIGludmVzdGlnYXRpb24gdGhlIHByZXZpb3VzIGNvbW1pdCBpcyB3cm9uZy4gVGhlIGNvZGUgaW50ZW5kZWQgdG8KCSAgY2hlY2sgaWYgdGhlIHR5cGUgaXMgMzkgb3IgdGhlIHJhbmdlcyA0MS00NCBhbmQgNDgtNTUuIEp1c3QgbGlrZSBnc3RoMjY1cGFyc2UuYwoJICBkb2VzLiBUeXBlIDQwIHdvdWxkIG5vdCBiZSBjb21wbGV0ZS4KCjIwMTUtMDEtMDggMTM6NDc6MDkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHA6IGZpeCBkZWFkIGNvZGUgYW5kIGNoZWNrIGZvciBpbXBvc3NpYmxlIHZhbHVlcwoJICBuYWxfdHlwZSBpcyB0aGUgaW5kZXggZm9yIGEgR3N0SDI2NU5hbFVuaXRUeXBlIGVudW0uIFRoZXJlIGFyZSB0d28gdHlwZXMgb2YgZGVhZAoJICBjb2RlIGhlcmU6CgkgIEZpcnN0LCBhZnRlciBjaGVja2luZyBpZiBuYWxfdHlwZSBpcyA+PSAzOSB0aGVyZSBhcmUgdHdvIE9SIGNvbmRpdGlvbmFscyB0aGF0CgkgIGNoZWNrIGlmIHRoZSB2YWx1ZSBpcyBpbiByYW5nZXMgaGlnaGVyIHRoYW4gdGhhdCBudW1iZXIsIHNvIGlmIG5hbF90eXBlID49IDM5CgkgIGZhbGxzIGluIHRoZSBUcnVlIGJyYW5jaCB0aG9zZSBvdGhlciBjb25kaXRpb25zIGFyZW4ndCBjaGVja2VkIGFuZCBpZiBpdCBmYWxscwoJICBpbiB0aGUgRmFsc2UgYnJhbmNoIGFuZCB0aGV5IGFyZSBjaGVja2VkLCB0aGV5IHdpbGwgYWx3YXlzIGFsc28gYmUgRmFsc2UuIFRoZXkKCSAgYXJlIHJlZHVuZGFudC4KCSAgU2Vjb25kLCB0aGUgZW51bSBoYXMgYSByYW5nZSBvZiAwIHRvIDQwLiBTbyB0aGUgY2hlY2tzIGZvciByYW5nZXMgaGlnaGVyIHRoYW4gNDEKCSAgc2hvdWxkIG5ldmVyIGJlIFRydWUuCgkgIFJlbW92aW5nIHRoaXMgcmVkdW5kYW50IGNoZWNrcy4KCSAgQ0lEIDEyNDk2ODQKCjIwMTUtMDEtMDggMTQ6NDc6MTYgKzAxMDAgIEZsb3JpYW4gWndvY2ggPGZ6d29jaEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogVW5sb2NrIHRoZSBzdHJlYW0gbG9jayB3aGlsZSB3YWl0aW5nIGZvciBwZW5kaW5nIGZyYW1lcyB0byBiZSBjb21wbGV0ZWQgaW4gZmluaXNoKCkKCSAgV2UgbWlnaHQgb3RoZXJ3aXNlIGRlYWRsb2NrIGJlY2F1c2UgZ3N0X3Z0ZW5jX2VucXVldWVfYnVmZmVyKCkgY2FuIGJlCgkgIGNhbGxlZCBhZ2FpbiBhbmQgd2lsbCB0YWtlIHRoZSBzdHJlYW0gbG9jayBhZ2FpbiBmcm9tIGFub3RoZXIgdGhyZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyMTc0CgoyMDE1LTAxLTA4IDA4OjQ2OjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IGltcGxlbWVudCBfaGFzX25leHRfZnJhZ21lbnQgdG8gYXZvaWQgYnVzeSBsb29waW5nCgkgIEl0IHdpbGwgYWxsb3cgdGhlIGRlbXV4ZXIgdG8gd2FpdCBmb3IgYSBmcmFnbWVudCB0byBiZSBhdmFpbGFibGUgaW5zdGVhZAoJICBvZiBidXN5IGxvb3BpbmcgcG9sbGluZyB0aGUgcGxheWxpc3QgZm9yIGEgbmV3IGZyYWdtZW50CgoyMDE1LTAxLTA4IDEyOjU1OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbms6IEFkZCBhIGR1bW15IHZhbHVlIHRvIHRoZSB2aWRlbyBjb25uZWN0aW9uIG1hcHBpbmcgdGFibGUgZm9yIGF1dG8KCjIwMTUtMDEtMDggMTI6NDg6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmg6CgkgIGRlY2tsaW5rYXVkaW9zcmM6IEFkZCBwcm9wZXJ0eSB0byBzZWxlY3QgdGhlIGF1ZGlvIGlucHV0IGNvbm5lY3Rpb24KCjIwMTUtMDEtMDggMTI6MjM6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSAgZGVja2xpbms6IEFkZCBYTFIgYW5kIFJDQSBhdWRpbyBjb25uZWN0aW9uIGVudW1zCgoyMDE1LTAxLTA4IDEyOjE3OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbmt2aWRlb3NyYzogQWRkIGF1dG8gdmFsdWUgZm9yIHRoZSBjb25uZWN0aW9uIHByb3BlcnR5CgkgIFRoaXMgd2lsbCB1c2UgdGhlIGRlZmF1bHQvYXV0byBjb25uZWN0aW9uIGZvciB2aWRlbyBjYXB0dXJpbmcsIGFuZCBjYW4KCSAgYmUgc2V0IHZpYSB0aGUgRGVja2xpbmsgY29uZmlndXJhdGlvbiB0b29scy4KCjIwMTUtMDEtMDggMTI6MTM6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbms6IEZpeCBpbmRlbnRpb24gb25jZSBhZ2FpbgoKMjAxNS0wMS0wNiAxNDowMjozOCArMDEwMCAgRmxvcmlhbiBMYW5nbG9pcyA8Zmxvcmlhbi5sYW5nbG9pc0Bmci50aGFsZXNncm91cC5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5oOgoJICBkZWNrbGluazogQWRkIHByb3BlcnR5IGZvciBjb25maWd1cmluZyB0aGUgaW5wdXQgY29ubmVjdGlvbiBvZiB0aGUgdmlkZW8gc291cmNlcwoKMjAxNS0wMS0wOCAwOTozNToyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSAgZ2wvY29jb2E6IERvbid0IGluaXQgYW5kIGNsZWFyIHN0YXRpYyBHTXV0ZXggLyBHQ29uZAoJICBXZSB3b3VsZCBwb3RlbnRpYWxseSB1c2UgaXQgZnJvbSB0aGUgbWFpbiBsb29wIGxhdGVyIGluCgkgIGdzdF9nbF93aW5kb3dfY29jb2FfaW5pdF9uc2FwcCgpIGlmIGl0IHRpbWVkIG91dCBiZWZvcmUuCgoyMDE1LTAxLTA3IDE2OjUzOjQxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiByZW1vdmUgbG9naWNhbGx5IGRlYWQgY29kZQoJICBTb29uIGFmdGVyIHNldHRpbmcgdHdvIHZhcmlhYmxlcyB0byAxLCB0aGUgY29kZSBjaGVja3MgaWYgdGhlaXIgdmFsdWVzIGFyZQoJICBkaWZmZXJlbnQgZnJvbSBlYWNoIG90aGVyLiBUaGlzIHdvdWxkIG5ldmVyIGJlIHRydWUuIFJlbW92aW5nIHRoaXMuCgkgIENJRCAxMjI2NDQzCgoyMDE1LTAxLTA3IDE2OjQwOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RwbmdwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmg6CgkgIFJldmVydCAicG5ncGFyc2U6IGltcHJvdmUgcGFyc2luZyBvZiB0aGUgaW1hZ2UiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNTllN2YwNTk3ZDFjYzUyNDE3NGU4NDdkZTdiOTE0MDc5MjIzMDRjOC4KCSAgVGhpcyBwYXRjaCBzaG91bGQgbm90IGhhdmUgYmVlbiBwdXNoZWQsIHNlZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMDU4I2MzCgoyMDE1LTAxLTA3IDE2OjI2OjU3ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmM6CgkgIGhhbmRkZXRlY3Q6IHJlbW92ZSB1bm5lZWRlZCBjaGVjawoJICBWYXJpYWJsZSBoYW5kcyBpcyBhbHJlYWR5IGNoZWNrZWQgdG8gY29udGFpbiBhIHZhbHVlIHByZXZpb3VzbHkgYXQgdGhlIGJlZ2lubmluZwoJICBvZiB0aGUgY3VycmVudCBibG9jayAoaW4gbGluZSA1MDQpLiBUaGVyZSBpcyBubyBuZWVkIHRvIGNoZWNrIGFnYWluLiBUaGlzIGlzCgkgIGxvZ2ljYWxseSBkZWFkIGNvZGUuCgkgIENJRCAxMTk3NjkzCgoyMDE0LTExLTEzIDE1OjU2OjA3ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RwbmdwYXJzZS5oOgoJICBwbmdwYXJzZTogaW1wcm92ZSBwYXJzaW5nIG9mIHRoZSBpbWFnZQoJICBFdmVyeXRpbWUgYSBidWZmZXIgaXMgYmVpbmcgcHJvdmlkZWQgZnJvbSBiYXNlcGFyc2UsIHdlIGFyZSBwYXJzaW5nIGFsbCB0aGUgZGF0YSBmcm9tIHRoZSBiZWdpbm5pbmcuCgkgIEJ1dCBzaW5jZSB3ZSB3b3VsZCBoYXZlIGFscmVhZHkgcGFyc2VkIHNvbWUgb2YgdGhlIGRhdGEgaW4gdGhlIHByZXZpb3VzIGl0ZXJhdGlvbnMsCgkgIGl0IGRvZXNudCBtYWtlIG11Y2ggc2Vuc2UgdG8ga2VlcCBwYXJzaW5nIHRoZSBzYW1lIGV2ZXJ5dGltZS4KCSAgSGVuY2Ugc2tpcHBpbmcgdGhlIGRhdGEgd2hpY2ggaXMgYWxyZWFkeSByZWFkIGluIHByZXZpb3VzIGl0ZXJhdGlvbnMgdG8gaW1wcm92ZSB0aGUgcGFyc2luZyBwZXJmb3JtYW5jZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDA1OAoKMjAxNS0wMS0wNyAxNTozMjowNSArMDEwMCAgRmxvcmlhbiBMYW5nbG9pcyA8Zmxvcmlhbi5sYW5nbG9pc0Bmci50aGFsZXNncm91cC5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbms6IEZpeCBsYXRlbmN5IHZhbHVlcyBmb3Igc291cmNlcwoKMjAxNS0wMS0wNyAxMDoyMzozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiByZW1vdmUgZHVwbGljYXRlIGNhbGwgdG8gdXJpX2pvaW4KCjIwMTUtMDEtMDcgMDk6MzA6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogc2tpcCBjaGVja2luZyAnI0VYVC1YLScgdG9rZW4gZm9yIGFsbCBlbnRyaWVzCgkgIFB1dCB0aGlzIGNvbW1vbiBjaGVjayBiZWZvcmUgdG8gYXZvaWQgcmVwZWF0aW5nIGl0IGZvciBhbGwgcG9zc2libGUKCSAgZW50cmllcyB0byBzYXZlIHNvbWUgY3ljbGVzCgoyMDE1LTAxLTA3IDA5OjIxOjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IGF2b2lkIHVzaW5nIGdfbGlzdF9hcHBlbmQgZm9yIGNyZWF0aW5nIHNlZ21lbnRzIGxpc3QKCSAgVXNlIGdfbGlzdF9wcmVwZW5kIGFuZCByZXZlcnNlIGl0IGF0IHRoZSBlbmQgdG8gc2tpcCB0cmF2ZXJzaW5nIHRoZQoJICBzYW1lIGxpc3QgZm9yIGV2ZXJ5IG5ldyBzZWdtZW50CgoyMDE0LTA2LTIwIDEyOjM4OjU5IC0wNjAwICBUaG9tYXMgQmx1ZW1lbCA8dGJsdWVtZWxAY29udHJvbDQuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBEb24ndCB1c2UgYXBwcm94aW1hdGUgZHVyYXRpb24gZm9yIGZyYWdtZW50IGJ1ZmZlciBwdHMKCSAgVGhlIGR1cmF0aW9uIHZhbHVlcyBpbiBwbGF5bGlzdHMgYXJlIGFwcHJveGltYXRlIG9ubHksIGFuZCBmb3IKCSAgcGxheWxpc3QgdmVyc2lvbnMgMiBhbmQgb2xkZXIgdGhleSBhcmUgb25seSByb3VuZGVkIGludGVnZXIgdmFsdWVzLgoJICBUaGV5IGNhbm5vdCBiZSB1c2VkIHRvIHRpbWVzdGFtcCBidWZmZXJzLiAgVGhpcyByZXN1bHRlZCBpbiBwbGF5YmFjawoJICBnYXBzIGFuZCBza2lwcyBiZWNhdXNlIHRoZSBhY3R1YWwgZHVyYXRpb24gb2YgZnJhZ21lbnRzIGlzIHNsaWdodGx5CgkgIGRpZmZlcmVudC4gIFRoZSBzb2x1dGlvbiBpcyB0byBvbmx5IHNldCB0aGUgcHRzIG9mIHRoZSB2ZXJ5IGZpcnN0CgkgIGJ1ZmZlciBwcm9jZXNzZWQsIG5vdCBmb3IgZWFjaCBmcmFnbWVudC4KCjIwMTUtMDEtMDYgMTg6NDQ6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogb25seSB1cGRhdGUgc2VnbWVudCBpZiB3ZSBoYXZlIGEgdmFsaWQgUFRTCgkgIE90aGVyd2lzZSB3ZSBzZXQgdGhlIHBvc2l0aW9uIHRvIEdTVF9DTE9DS19USU1FX05PTkUgYW5kIGl0IGRpc3J1cHRzCgkgIGJpdHJhdGUgc3dpdGNoaW5nCgoyMDE1LTAxLTA3IDExOjMxOjMwICswNTMwICBSYWphdCBWZXJtYSA8cmFqYXQudmVybWFAc3QuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogZml4IGNyYXNoIHdoaWxlIHNldHRpbmcgYml0cmF0ZSBpbiBjYXBzIHN0cnVjdHVyZQoJICBxLT5iaXRyYXRlIGlzIGEgZ3VpbnQ2NCwgYnV0IEdfVFlQRV9JTlQgbWF5IHJlYWQgZmV3ZXIgYml0cwoJICBvZmYgdGhlIHN0YWNrLCBhbmQgaWYgd2UgcGFzcyBtb3JlIHRoZW4gdGhlIE5VTEwgc2VudGluZWwKCSAgbWF5IG5vdCBiZSBmb3VuZCBhdCB0aGUgcmlnaHQgcGxhY2UsIHdoaWNoIGluIHR1cm4gbWlnaHQKCSAgbGVhZCB0byBjcmFzaGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxNzUxCgoyMDE1LTAxLTAyIDAwOjU5OjAwICswMDAwICBEdW5jYW4gUGFsbWVyIDxkcGFsbWVyQGRpZ2lzb2Z0LnR2PgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBGaXggcGVyaW9kaWMgU1BTL1BQUyBzZW5kaW5nIHdvcmsgYWZ0ZXIgYSBzZWVrCgkgIFJlc2V0IHRoZSBpbnRlcnZhbCB2YXJpYWJsZSB0byBoYXZlIFNQUy9QUFMgc2VuZGluZyB3b3JrIGFmdGVyCgkgIGEgKGJhY2t3YXJkcykgc2Vlay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjIxMgoKMjAxNS0wMS0wNSAyMToyNjoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBmaXggZGVhZGxvY2sgd2l0aCBwYWQgb2JqZWN0IGxvY2sKCSAgVGhlIGltYWdlIGNhcHR1cmUgbXV0ZXggYW5kIHRoZSBwYWQgb2JqZWN0IGxvY2sgd291bGQgY2F1c2UgYSByYWNlCgkgIGlmIHRoZSBwYWQgcXVlcnkgd2FzIG1hZGUgcmlnaHQgd2hlbiB0aGUgaW1hZ2UgcHJvYmUgd2FzIHJ1bm5pbmcuCgkgIFRoZSBpbWFnZSBwcm9iZSBuZWVkcyB0aGUgY2FwdHVyZSBtdXRleCBhbmQgdGhlIHF1ZXJ5aW5nIHdvdWxkIG5lZWQKCSAgdGhlIHBhZCBvYmplY3QgbG9jay4KCjIwMTUtMDEtMDUgMTU6MTY6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogc2ltcGxpZnkgd2VpcmQgaWYvZWxzZSBjbGF1c2UKCSAgSXQgaXMgbm90IGFuIGlmL2Vsc2Ugc2l0dWF0aW9uIGJ1dCBhbiBpZiBlcnJvciBhYm9ydCBvdGhlcndpc2UKCSAganVzdCBjb250aW51ZS4gUmVtb3ZlIGVsc2UgdG8gbWFrZSBpdCBtb3JlIHJlYWRhYmxlCgoyMDE0LTA0LTA0IDE2OjQ1OjUxICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IEltcGxlbWVudCBsaXZlIHNlZWtpbmcKCSAgaGxzZGVtdXggYXNzdW1lcyB0aGF0IHNlZWtpbmcgaXMgbm90IGFsbG93ZWQgZm9yIGxpdmUgc3RyZWFtcywKCSAgaG93ZXZlciBzZWVrIGlzIHBvc3NpYmxlIGlmIHRoZXJlIGFyZSBzdWZmaWNpZW50IGZyYWdtZW50cyBpbiB0aGUKCSAgbWFuaWZlc3QuIEZvciBleGFtcGxlIHRoZSBCQkMgaGF2ZSBsaXZlIHN0cmVhbXMgdGhhdCBjb250YWluIDIgaG91cnMKCSAgb2YgZnJhZ21lbnRzLgoJICBUaGUgc2VlayBjb2RlIGZvciBib3RoIGxpdmUgYW5kIG9uLWRlbWFuZCBpcyBjb21tb24gY29kZS4gVGhlCgkgIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGVtIGlzIHRoYXQgYW4gb2Zmc2V0IGhhcyB0byBiZSBjYWxjdWxhdGVkCgkgIGZvciB0aGUgdGltZWNvZGUgb2YgdGhlIGZpcnN0IGZyYWdtZW50IGluIHRoZSBsaXZlIHBsYXlsaXN0LgoJICBXaGVuIGhsc2RlbXV4IHN0YXJ0cyB0byBwbGF5IGEgbGl2ZSBzdHJlYW0sIHRoZSBwb3NzaWJsZSBzZWVrIHJhbmdlCgkgIGlzIGJldHdlZW4gMCBhbmQgQSBzZWNvbmRzLiBBZnRlciBzb21lIHRpbWUgaGFzIHBhc3NlZCwgdGhlIGJlZ2lubmluZyBvZgoJICB0aGUgc3RyZWFtIHdpbGwgbm8gbG9uZ2VyIGJlIGF2YWlsYWJsZSBpbiB0aGUgcGxheWxpc3QgYW5kIHRoZSBzZWVrCgkgIHJhbmdlIGlzIGJldHdlZW4gQiBhbmQgQyBzZWNvbmRzLgoJICBTZWVrIHJhbmdlOgoJICBzdGFydCAgICAgICAgICAwIC4uLi4uLi4uLi4uIEEKCSAgbGF0ZXIgICAgICAgICAgICAgICBCIC4uLi4uLi4uLi4uIEMKCSAgVGhpcyBjb21taXQgYWRkcyBjb2RlIHRvIGtlZXAgYSBub3RlIG9mIHRoZSBCIGFuZCBDIHZhbHVlcwoJICBhbmQgdGhlIGhpZ2hlc3Qgc2VxdWVuY2UgbnVtYmVyIGl0IGhhcyBzZWVuLiBFdmVyeSB0aW1lIGl0IHVwZGF0ZXMgdGhlCgkgIG1lZGlhIHBsYXlsaXN0LCBpdCB3YWxrcyB0aGUgbGlzdCBvZiBmcmFnbWVudHMsIHNlZWluZyBpZiB0aGVyZSBpcyBhCgkgIGZyYWdtZW50IHdpdGggc2VxdWVuY2UgbnVtYmVyID4gaGlnaGVzdF9zZWVuX3NlcXVlbmNlLiBJZiBzbywgdGhlIHZhbHVlcwoJICBvZiBCIGFuZCBDIGFyZSB1cGRhdGVkLiBUaGUgdmFsdWUgb2YgQiBpcyB1c2VkIHdoZW4gdGltZXN0YW1waW5nCgkgIGJ1ZmZlcnMuCgkgIEl0IGFsc28gbWFrZXMgc3VyZSB0aGUgc2VlayByYW5nZSBpcyBuZXZlciBjbG9zZXIgdGhhbiB0aHJlZSBmcmFnbWVudHMKCSAgZnJvbSB0aGUgZW5kIG9mIHRoZSBwbGF5bGlzdCAtIHNlZSA2LjMuMy4gIlBsYXlpbmcgdGhlIFBsYXlsaXN0IGZpbGUiCgkgIG9mIHRoZSBITFMgZHJhZnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU0MzUKCjIwMTUtMDEtMDUgMTc6NTg6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBwcmVwYXJlIGZvciBzdXBwb3J0aW5nIHNlZWtzIGluIGxpdmUgc3RyZWFtcwoJICBBZGQgZnVuY3Rpb24gdG8gYWxsb3cgc3ViY2xhc3NlcyB0byBzcGVjaWZ5IHNlZWtpbmcgcmFuZ2UgZm9yCgkgIGxpdmUgc3RyZWFtcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1NDM1CgoyMDE1LTAxLTA0IDE3OjE1OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBkb24ndCB1c2UgaXRlcmF0b3Igd2hlbiBzZXR0aW5nIGZsdXNoIHBlbmRpbmcgb24gcGFkcwoKMjAxNS0wMS0wNCAxNjo1NzowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogY2hlY2sgaWYgcGFkcyBhcmUgcmVhZHkgbW9yZSBlZmZpY2llbnRseQoJICBObyBuZWVkIHRvIHVzZSBhbiBpdGVyYXRvciBmb3IgdGhpcyB3aGljaCBjcmVhdGVzIGEgdGVtcG9yYXJ5CgkgIHN0cnVjdHVyZSBldmVyeSB0aW1lIGFuZCBhbHNvIGludm9sdmVzIHRha2luZyBhbmQgcmVsZWFzaW5nIHRoZQoJICBvYmplY3QgbG9jayBtYW55IHRpbWVzIGluIHRoZSBjb3Vyc2Ugb2YgaXRlcmF0aW5nLiBOb3QgdG8gbWVudGlvbgoJICBhbGwgdGhhdCBHTGlzdCBoYW5kbGluZyBpbiBnc3RfYWdncmVnYXRvcl9pdGVyYXRlX3NpbmtwYWRzKCkuCgoyMDE1LTAxLTA0IDEyOjU5OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBhZ2dyZWdhdG9yOiBuYW1lIHZmdW5jIGFyZ3VtZW50cyBjb25zaXN0ZW50bHkKCjIwMTQtMTItMzEgMjA6NDc6MjQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogbm9kaXN0IGZvciBvcmMgZ2VuZXJhdGVkIGNvZGUKCjIwMTUtMDEtMDEgMTU6NDY6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGFkZCBnLWkgdHJhbnNmZXIgYW5kIHNjb3BlIGFubm90YXRpb25zCgoyMDE1LTAxLTAxIDE0OjEwOjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiByZWdpc3RlciBuYW1lcyBvZiBpdGVyYXRlX3NpbmtwYWRzIGZ1bmN0aW9ucyB3aXRoIGRlYnVnIHN5c3RlbQoKMjAxNS0wMS0wMSAxNDowMzowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogcmVkdWNlIGRlYnVnIG1lc3NhZ2VzIGZvciB0YWtpbmcvcmVsZWFzaW5nIGxvZ3MgdG8gVFJBQ0UgbGV2ZWwKCSAgRG9uJ3Qgc3BhbSBkZWJ1ZyBsb2cgd2l0aCB0aGlzIHN0dWZmLgoKMjAxNC0xMi0zMSAxODoxNjoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBhZ2dyZWdhdG9yOiBtb3ZlIHByb3BlcnR5IG1lbWJlciBpbnRvIHByaXZhdGUgc3RydWN0dXJlCgkgIE91ciBsb2NraW5nIChvciBsYWNrIHRoZXJlb2YpIHdoaWxlIGFjY2Vzc2luZyB0aGlzIGFsc28KCSAgbG9va3MgZ2VuZXJhbGx5IHF1aXRlIGRvZGd5LgoKMjAxNC0xMi0zMSAxNDo1MDo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogcmVtb3ZlIGVtcHR5IGRpc3Bvc2UgZnVuY3Rpb24KCjIwMTQtMTItMzAgMjM6NTg6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgYWdncmVnYXRvcjogZ2l2ZSBwcml2YXRlIGZ1bmN0aW9ucyBuYW1lc3BhY2UgcHJlZml4CgkgIEVzcGVjaWFsbHkgdGhlIEdTVF9ERUJVR19GVU5DUFRSIG9uZXMuCgoyMDE0LTEyLTMxIDEyOjM1OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBhZ2dyZWdhdG9yOiBmaXggdXAgc29tZSBkb2NzIGNvbW1lbnRzIGluIGhlYWRlcgoKMjAxNC0xMi0zMCAyMzo0NDo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBhZ2dyZWdhdG9yOiByZW1vdmUgbm93LXVudXNlZCBzeXN0ZW0gY2xvY2sgbWVtYmVyCgoyMDE0LTEyLTMwIDE5OjQzOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbG1peGVyLCBnbHZpZGVvbWl4ZXI6IHVwZGF0ZSBmb3IgR3N0QWdncmVnYXRvclBhZEZvcmVhY2hGdW5jIGNoYW5nZQoKMjAxNC0xMi0zMCAxOToyNjo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IHVwZGF0ZSBmb3IgYWdncmVnYXRvciBzdGFydC9zdG9wIHZmdW5jIGNoYW5nZQoKMjAxNC0xMi0zMCAxOToyMjowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBhZ2dyZWdhdG9yOiBtYWtlIEdzdEFnZ3JlZ2F0b3JQYWRGb3JlYWNoRnVuYyB0YWtlIGFuIEdzdEFnZ3JlZ2F0b3JQYWQKCjIwMTQtMTItMzAgMTg6MDE6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IHVwZGF0ZSBmb3IgYWdncmVnYXRvciBzdGFydC9zdG9wIHZmdW5jIGNoYW5nZQoKMjAxNC0xMi0zMCAxNzo1NjozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiB1cGRhdGUgZm9yIGFnZ3JlZ2F0b3Igc3RhcnQvc3RvcCB2ZnVuYyBjaGFuZ2UKCjIwMTQtMTItMzAgMTc6NTA6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGJyaW5nIHN0YXJ0L3N0b3AgdmZ1bmMgc2VtYW50aWNzIGluIGxpbmUgd2l0aCBvdGhlciBiYXNlY2xhc3NlcwoJICBTdWItY2xhc3Mgc2hvdWxkIG5vdCBoYXZlIHRvIGNoYWluIHVwIHRvIEdzdEFnZ3JlZ2F0b3IncyBzdGFydC9zdG9wCgkgIHZmdW5jcywgc2FtZSBhcyBpbiBHc3RCYXNlU3JjLCBHc3RCYXNlU2luaywgR3N0QmFzZVRyYW5zZm9ybSBldGMuCgoyMDE0LTEyLTMwIDE1OjI5OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBmaXggb3V0cHV0LWJsb2NrLXNpemUgcHJvcGVydHkgZGVzY3JpcHRpb24KCjIwMTQtMTItMzAgMDg6MDc6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IG9ubHkgdHlwZWZpbmQgd2hlbiB3ZSBoYXZlIGEgbWluaW11bSBhbW91bnQgb2YgZGF0YQoJICBGb3Igc21hbGwgYW1vdW50cyBzb21lIGRhdGEgbWlnaHQgYmUgbWlzdHlwZWQgYW5kIGl0IHdvdWxkIGNhdXNlCgkgIHRoZSBwaXBlbGluZSB0byBmYWlsLiBGb3IgZXhhbXBsZSBpZiB5b3UgaGF2ZSBBQUMgaW5zaWRlIG1wZWd0cywKCSAgZm9yIHNtYWxsIGFtb3VudHMsIHRoZSBBQUMgc2FtcGxlcyB3b3VsZCBjYXVzZSB0aGUgdHlwZWZpbmRlciB0bwoJICB0aGluayBpdCBpcyBBQUMgYW5kIG5vdCBtcGVndHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYwNjEKCjIwMTQtMTItMjkgMTE6NDk6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSAgZGVja2xpbms6IEFkZCBzdXBwb3J0IGZvciA0SyAvIFVIRCBtb2RlcwoKMjAxNC0xMi0yOSAxMTo0OTo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIGRlY2tsaW5rOiBGaXggaW5kZW50aW9uCgoyMDE0LTEyLTI5IDEwOjQ0OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBkbyBub3QgdHJ5IHRvIHJlZiBudWxsIHBvaW50ZXIKCSAgUGxheWxpc3RzIG1pZ2h0IGJlIG1pc3NpbmcgdGhlIGF2YWlsYWJpbGl0eSBzdGFydCB0aW1lLCBzbyBjaGVjayBmb3IKCSAgaXQgYmVmb3JlIHRyeWluZyB0byByZWYgdGhlIG9iamVjdAoKMjAxNC0xMi0yOSAxMDo0NDoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogcnVuIGdzdC1pbmRlbnQgb24gbXBkcGFyc2VyCgkgIFJ1biBnc3QtaW5kZW50IG9uIG1wZHBhcnNlciB0byBoYXZlIGl0IHN0b3AgY29tcGxhaW5pbmcgb24gZXZlcnkKCSAgY29tbWl0CgoyMDE0LTEyLTI4IDE4OjI2OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiByZW1vdmUgcG9pbnRsZXNzIEdTVF9ERUJVR19GVU5DUFRSCgkgIE5vdCB1c2VmdWwgZm9yIEdPYmplY3QgdmZ1bmNzLgoKMjAxNC0xMi0yOCAxODoyNDoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogcmVtb3ZlIGR1cGxpY2F0ZSBwYWQgcGFyZW50X2NsYXNzIHZhcmlhYmxlCgkgIEdfREVGSU5FX1RZUEUgYWxyZWFkeSBwcm92aWRlcyBvbmUsIGp1c3QgbmVlZCB0byB1c2UgaXQuCgoyMDE0LTEyLTI4IDE4OjIyOjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBhZ2dyZWdhdG9yOiBhZGQgX0NBU1QoKSB2YXJpYW50cyBmb3IgY2FzdCBtYWNyb3MKCjIwMTQtMTItMjggMDE6MTM6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvcnBhZC5oOgoJICBhZ2dyZWdhdG9yOiBtYWtlIHBhZGRpbmcgbGFyZ2VyCgkgIEVzcC4gdGhlIGNsYXNzIHN0cnVjdHVyZXMsIGNhbid0IGhhdmUgZW5vdWdoCgkgIHNwYXJlIHNwYWNlIGZvciB2aXJ0dWFsIGZ1bmN0aW9ucy4KCjIwMTQtMTItMjggMDA6NTg6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW4uaDoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmg6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5oOgoJICBzaXJlbjogcmVtb3ZlIHVubmVlZGVkIHN0cnVjdHVyZSBwYWRkaW5nCgkgIFB1YmxpYyBoZWFkZXJzIGFyZSBwcml2YXRlIGFuZCBub3QgaW5zdGFsbGVkLgoKMjAxNC0xMi0yNyAxNjoxNTo0MSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBMb2cgdG8gdGhlIHBhZCBpbnN0ZWFkIG9mIHRoZSBlbGVtZW50CgkgIE1vcmUgY29ycmVjdCB3YXkgb2YgZG9pbmcgdGhlIHNhbWUgdGhpbmcgYXMgYmVmb3JlCgoyMDE0LTEyLTI3IDE1OjUwOjE3ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogUG9pbnQgdG8gY29tcG9zaXRvciBmb3IgdGhlIHBhZCBwcm9wZXJ0aWVzIGRvY3VtZW50YXRpb24KCjIwMTQtMTItMjcgMTU6NDk6NDcgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogRG9jdW1lbnQgdGhlIHBhZCBwcm9wZXJ0aWVzCgoyMDE0LTEyLTI3IDE1OjQ5OjM5ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IERvY3VtZW50IHRoZSBwYWQgcHJvcGVydGllcwoKMjAxNC0xMi0yNyAwOTo0OTo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogTWFrZSBzdXJlIHRoYXQgdGhlIG1pbmltdW0gbGF0ZW5jaWVzIGFyZSBuZXZlciBHU1RfQ0xPQ0tfVElNRV9OT05FCgoyMDE0LTEyLTI3IDA5OjQyOjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBXYWl0IGZvciB0aGUgbWluaW11bSBsYXRlbmN5LCBub3QgdGhlIG1heGltdW0KCSAgVGhlIG1pbmltdW0gbGF0ZW5jeSBpcyB0aGUgbGF0ZW5jeSB3ZSBoYXZlIHRvIHdhaXQgYXQgbGVhc3QKCSAgdG8gZ3VhcmFudGVlIHRoYXQgYWxsIHVwc3RyZWFtcyBoYXZlIHByb2R1Y2VkIGRhdGEuIFRoZSBtYXhpbXVtCgkgIGxhdGVuY3kgaGFzIG5vIG1lYW5pbmcgbGlrZSB0aGF0IGFuZCBzaG91bGRuJ3QgYmUgdXNlZCBmb3Igd2FpdGluZy4KCjIwMTQtMTItMjcgMDQ6MjE6MzYgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogQ2xhbXAgdGhlIG1pbiBsYXRlbmN5IGF0IHRoZSBtYXggaWYgaXQncyBncmVhdGVyCgoyMDE0LTEyLTI3IDA0OjIxOjI2ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFByaW50IHRoZSBzaW5rcGFkIG5hbWUgd2hpbGUgbG9nZ2luZyBsYXRlbmN5IHF1ZXJpZXMKCSAgVmVyeSB1c2VmdWwgd2hpbGUgZGVidWdnaW5nLgoKMjAxNC0xMi0yNyAwNDoxOTo1MiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBUYWtlIHRoZSBzdHJlYW0gbG9jayB3aGVuIGl0ZXJhdGluZyBzaW5rIHBhZHMKCSAgV2hlbiBpdGVyYXRpbmcgc2luayBwYWRzIHRvIGNvbGxlY3Qgc29tZSBkYXRhLCB3ZSBzaG91bGQgdGFrZSB0aGUgc3RyZWFtIGxvY2sgc28KCSAgd2UgZG9uJ3QgZ2V0IHN0YWxlIGRhdGEgYW5kIHBvc3NpYmx5IGRlYWRsb2NrIGJlY2F1c2Ugb2YgdGhhdC4gVGhpcyBmaXhlcwoJICBhIGRlZmluaXRpdmUgZGVhZGxvY2sgaW4gX3dhaXRfYW5kX2NoZWNrKCkgdGhhdCBtYW5pZmVzdHMgd2l0aCBoaWdoIG1heAoJICBsYXRlbmNpZXMgaW4gYSBsaXZlIHBpcGVsaW5lLCBhbmQgZml4ZXMgb3RoZXIgcG9zc2libGUgcmFjZSBjb25kaXRpb25zLgoKMjAxNC0xMi0yNiAyMzowNTo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBkbyBub3Qgc2V0IHNvdXJjZSBzdGF0ZSB3aXRoIGxvY2sKCSAgSXQgbWlnaHQgYmUgcmFjeSB3aXRoIHRoZSBpbWFnZSBwcm9iZSB0aHJlYWQgYXMgaXQgdXNlcyB0aGUgY2FwdHVyZQoJICBtdXRleCBqdXN0IGxpa2UgdGhlIHN0YXJ0LWNhcHR1cmUgaGFuZGxlciBmcm9tIGNhbWVyYWJpbi4gVGhlCgkgIHN0YXJ0LWNhcHR1cmUgd291bGQgYmUgd2FpdGluZyBmb3IgdGhlIHNvdXJjZSdzIHN0cmVhbWluZyB0aHJlYWQKCSAgdG8gc3RvcCB0byBiZSBhYmxlIHRvIHNldCB0aGUgc291cmNlIHN0YXRlIHRvIHJlYWR5IHdoaWxlIHRoZQoJICBwcm9iZSB3b3VsZCBiZSBibG9ja2VkIHdhaXRpbmcgdG8gYWNxdWlyZSB0aGUgY2FwdHVyZSBtdXRleC4KCSAgSXQgY2F1c2VzIGEgZGVhZGxvY2suCgoyMDE0LTEyLTI2IDEwOjE3OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IHVzZSB0aGUgZHJhaW4gcXVlcnkgaW5zdGVhZCBvZiBmbHVzaAoJICBUaGUgZmx1c2ggbWlnaHQgY2xlYXIgYW55IHBlbmRpbmcgY2FwdHVyZXMgdGhhdCBhcmUgc3RpbGwgaW4KCSAgcXVldWVzIGJlaW5nIHByb2Nlc3NlZCB3aGlsZSB0aGUgZHJhaW4gcXVlcnkgd2lsbCB3YWl0IGZvciB0aG9zZQoJICB0byBiZSBwcm9wZXJseSBkb25lCgoyMDE0LTEyLTI2IDIyOjQ1OjQxICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBpbXByb3ZlIHRpbWVzdGFtcCBjb2RlCgkgIFVzZSBhIGNvbWJpbmF0aW9uIG9mIHRoZSBydW5uaW5nIHRpbWUgYW5kIENNQ2xvY2tHZXRUaW1lIGZyb20gQVZGIHRvIGNvbXB1dGUKCSAgdGltZXN0YW1wcy4KCjIwMTQtMTItMjYgMTE6NDg6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IHVzZSBwdWJsaWMgQVBJIGZvciBhY2Nlc3Npbmcgc3RyZWFtIGhlYWRlciBhcnJheXMgaW4gY2FwcwoJICBEb24ndCByZWx5IG9uIGNvcmUgaW1wbGVtZW50YXRpb24gZGV0YWlscywgd2hpY2ggYXJlIHByaXZhdGUgYW5kCgkgIG1heSBjaGFuZ2UuIEl0J3MgYWxzbyBub3QgbmVlZGVkIGhlcmUsIHRoZSBwZXJmb3JtYW5jZSBpbXBhY3QgaXMKCSAgY2xvc2UgdG8gbm9uZS4gQWxzbyBjb3B5IGJ1ZmZlciBiZWZvcmUgY2hhbmdpbmcgaXRzIG1ldGFkYXRhLgoKMjAxNC0xMi0yNiAxMToyOToxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkgIHRlc3RzOiBnZHBkZXBheTogdXBkYXRlIGZvciBpbnRlcm5hbCBnZHAgcmVmYWN0b3JpbmcKCSAgVGhpcyB0ZXN0IHVzZXMgc29tZSBpbnRlcm5hbC9wcml2YXRlIEFQSSwgc28gbmVlZHMgdG8KCSAgYmUgdXBkYXRlZCBmb3IgcmVjZW50IGNoYW5nZXMuCgoyMDE0LTEyLTI2IDExOjI3OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuaDoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiByZWZhY3RvciBwYXlsb2FkaW5nIGNvZGUgYSBsaXR0bGUKCSAgR2V0IHJpZCBvZiBzb21lIGluZGlyZWN0aW9ucyBhbmQgaW5lZmZpY2llbmNpZXMsCgkgIGp1c3QgcGF5bG9hZCB0aGluZ3MgZGlyZWN0bHkgd2hpY2ggZ2l2ZXMgdXMgbW9yZQoJICBjb250cm9sIG92ZXIgd2hhdCBtZW1vcnkgaXMgYWxsb2NhdGVkIHdoZXJlIGFuZAoJICBob3cgYW5kIG1ha2VzIHRoaW5ncyBtdWNoIHNpbXBsZXIuIEluIHBhcnRpY3VsYXIsCgkgIHdlIGNhbiBub3cgYWxsb2NhdGUgdGhlIHBheWxvYWQgaGVhZGVyIHBsdXMgdGhlCgkgIEdzdE1lbW9yeSB0byByZXByZXNlbnQgaXQgaW4gb25lIGdvLgoKMjAxNC0xMi0xNSAwMDo0MToyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmg6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkgIGdkcHBheTogcmVmYWN0b3IgYSBsaXR0bGUKCSAgR2V0IHJpZCBvZiBub3ctdXNlbGVzcyBwYWNrZXRpemVyIHN0cnVjdCBhbmQganVzdAoJICBjYWxsIGludGVybmFsIGZ1bmN0aW9ucyBkaXJlY3RseS4gQWxzbyByZW1vdmUKCSAgdmVyc2lvbiBwcm9wZXJ0eSB3aGljaCBpcyBub3cgZGVmdW5jdCwgbm90IGxlYXN0CgkgIGJlY2F1c2Ugd2UgY3JlYXRlIHRoZSBwYWNrZXRpemVyIHdpdGggdGhlCgkgIHZlcnNpb24gaW4gdGhlIGluaXQgZnVuY3Rpb24gYmVmb3JlIGEgdmVyc2lvbgoJICBjYW4gYmUgc2V0LgoKMjAxNC0xMi0xMyAxNjo0NjowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICB0ZXN0czogZ2RwcGF5OiBpbml0aWFsaXNlIG1lbW9yeSBvZiBidWZmZXJzIHVzZWQgaW4gdW5pdCB0ZXN0CgoyMDE0LTEyLTEzIDE1OjIzOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuaDoKCSAgZ2RwcGF5OiBvcHRpbWlzZSBwYXlsb2FkaW5nIG9mIGJ1ZmZlcnMgd2l0aCBtdWx0aXBsZSBtZW1vcmllcwoJICBBZGQgZnVuY3Rpb24gdG8gY2FsY3VsYXRlIGEgcGF5bG9hZCBDUkMgYWNyb3NzIG11bHRpcGxlIG1lbW9yaWVzCgkgIHNvIHdlIGRvbid0IGhhdmUgdG8gbWVyZ2UgYnVmZmVycyB3aXRoIG11bHRpcGxlIG1lbW9yaWVzIGp1c3QgdG8KCSAgY2FsY3VsYXRlIHRoZSBDUkMuIEFsc28gbWFrZSBDUkMgY2FsY3VsYXRpb24gZnVuY3Rpb24gc3RhdGljLAoJICBzaW5jZSBpdCdzIG5vdCB1c2VkIG91dHNpZGUgZGF0YXByb3RvY29sLmggYW5kIG1vdmUgc3BlY2lhbC1jYXNpbmcKCSAgb2YgbGVuZ3RoID0gMCAtPiBDUkMgPSAwIGludG8gQ1JDIGZ1bmN0aW9uIChmcm9tIGNhbGxlcikuCgkgIFBlcmhhcHMgbW9yZSBpbXBvcnRhbnRseSwgc2luY2UgcGF5bG9hZCBDUkMgaXMgb2ZmIGJ5IGRlZmF1bHQ6CgkgIGRvbid0IG1hcCBidWZmZXIgKGFuZCBwb3NzaWJseSBtZXJnZSBtZW1vcmllcyBpbiB0aGUgcHJvY2VzcykKCSAgaWYgd2UgYXJlIG5vdCBnb2luZyB0byB1c2UgaXQgdG8gY2FsY3VsYXRlIGEgQ1JDIGFueXdheS4KCjIwMTQtMTItMTMgMTU6MTk6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5oOgoJICBnZHBwYXk6IGRhdGFwcm90b2NvbDogZHJvcCBib2d1cyBjb25zdAoJICBEb2Vzbid0IHJlYWxseSBtYWtlIHNlbnNlIGdpdmVuIHRoYXQgd2UgbWFwCgkgIGl0IGFuZCBwb3NzaWJseSBtZXJnZSBtZW1vcmllcyBhbmQgc3VjaC4KCjIwMTQtMTEtMjQgMTI6MTg6MzYgLTA3MDAgIFZpamF5IEpheWFyYW1hbiA8VmlqYXkuSmF5YXJhbWFuQGVjaG9zdGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHR5cGVmaW5kIG1pZ2h0IGZhaWwgaWYgZmlyc3QgYnVmZmVyIGlzIHRvbyBzaG9ydAoJICBJZiB0eXBlZmluZCBmYWlscywgY2hlY2sgdG8gc2VlIGlmIHRoZSBidWZmZXIgaXMgdG9vIHNob3J0IGZvciB0eXBlZmluZC4gSWYgdGhpcyBpcyB0aGUgY2FzZSwKCSAgcHJlcGVuZCB0aGUgZGVjcnlwdGVkIGJ1ZmZlciB0byB0aGUgcGVuZGluZyBidWZmZXIgYW5kIHRyeSBhZ2FpbiB0aGUgbmV4dCB0aW1lIGFyb3VuZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDQ1OAoKMjAxNC0wOC0yNyAxNjoyNjoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9NYWtlZmlsZS5hbToKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBwb3J0IHRvIGFkYXB0aXZlIGJhc2UgY2xhc3MKCSAgQ29uZmxpY3RzOgoJICBleHQvaGxzL2dzdGhsc2RlbXV4LmMKCSAgZXh0L2hscy9nc3RobHNkZW11eC5oCgoyMDE0LTEyLTIzIDAxOjUxOjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGNoZWNrIGlmIGVsZW1lbnQgZXhpc3RzIGJlZm9yZSBzZXR0aW5nIGl0IHRvIG51bGwKCSAgVW5kZXIgY2VydGFpbiBlcnJvciBjb25kaXRpb25zIGl0IG1pZ2h0IGhhcHBlbiB0aGF0IHRoZSBlbGVtZW50CgkgIGhhcyBiZWVuIGZyZWVkIGFscmVhZHkgYW5kIHRyeWluZyB0byBzZXQgaXQgdG8gTlVMTCBjYXVzZXMgYW4KCSAgYXNzZXJ0aW9uCgoyMDE0LTEyLTIzIDAxOjUxOjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IG1ha2Ugc3VyZSB0YXNrIGhhcyBzdG9wcGVkIGJlZm9yZSBmcmVlaW5nIGl0CgkgIE90aGVyd2lzZSB0aGUgdGhyZWFkIHdpbGwgYmUgcnVubmluZyBhbmQgaXRzIG1lbW9yeSB3aWxsIGdldCBmcmVlZC4KCSAgVGhpcyBsZWFkcyB0byBtZW1vcnkgY29ycnVwdGlvbgoKMjAxNC0xMi0yMyAwMTo0ODo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBmaXggc2VnbWVudCBzdGFydCB3aGVuIGV4cG9zaW5nIG5ldyBzdHJlYW1zCgkgIFNlZ21lbnQgc3RhcnQgbmVlZHMgb25seSB0byBiZSB1cGRhdGVkIHdoZW4gc3RhcnRpbmcgdGhlIHN0cmVhbXMKCSAgb3IgYWZ0ZXIgYSBzZWVrLCBkb2luZyBpdCBkdXJpbmcgYml0cmF0ZSBjaGFuZ2VzIHdpbGwgY2F1c2UgdGhlCgkgIHJ1bm5pbmcgdGltZSB0byBnbyBkaXNjb250aW51b3VzIChqdW1wIGJhY2sgdG8gYSBwcmV2aW91cyB0cykKCSAgYW5kIFFPUyB3aWxsIGRyb3AgYnVmZmVycwoKMjAxNC0xMi0xOSAwMjoyMjo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBhbGxvdyBzdWJjbGFzcyB0byB1c2UgbmV3IHBhZHMgZ3JvdXAgd2hlbiBzd2l0Y2hpbmcgYml0cmF0ZQoJICBGaXggcGFkIGdyb3VwcyBzd2l0Y2hpbmcgd2hlbiBiaXRyYXRlIGNoYW5nZXMgdG8gYWxsb3cgSExTIHRvIHVzZSB0aGlzIGZlYXR1cmUKCjIwMTQtMTItMjMgMTI6MjQ6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IElmIGdldHRpbmcgYSB0aW1lb3V0IGJlZm9yZSBoYXZpbmcgY2FwcywganVzdCBhZHZhbmNlIG91ciBwb3NpdGlvbgoJICBUaGlzIGNhbiBoYXBwZW4gaWYgdGhpcyBpcyBhIGxpdmUgcGlwZWxpbmUgYW5kIG5vIHNvdXJjZSBwcm9kdWNlZCBhbnkgYnVmZmVyCgkgIGFuZCBzZW50IG5vIGNhcHMgdW50aWwgdGhlIGFuIG91dHB1dCBidWZmZXIgc2hvdWxkJ3ZlIGJlZW4gcHJvZHVjZWQgYWNjb3JkaW5nCgkgIHRvIHRoZSBsYXRlbmN5LgoKMjAxNC0xMi0yMyAxMjoxNTo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogTWFrZSBzdXJlIHRvIHJlbGVhc2UgdGhlIGN1cnJlbnQgYnVmZmVyIGluIHJlc2V0KCkKCSAgSWYgd2UgZGlkbid0IG91dHB1dCB0aGUgbGFzdCBvbmUgaW4gYWdncmVnYXRlIGJlY2F1c2Ugd2Ugd2VyZSBzaHV0dGluZyBkb3duCgkgIGVhcmxpZXIgd2UgbWlnaHQgb3RoZXJ3aXNlIGxlYWsgaXQuCgoyMDE0LTEyLTIzIDExOjQ1OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogQ2hhbmdlIGJsb2Nrc2l6ZSBwcm9wZXJ0eSB0byBvdXRwdXQtYnVmZmVyLWR1cmF0aW9uIGluIHRpbWUgZm9ybWF0CgkgIFRoaXMgbWFrZXMgdGhlIGludGVyZmFjZSBvZiBhdWRpb21peGVyIGluZGVwZW5kZW50IG9mIHRoZSBhY3R1YWwgY2Fwcy4KCjIwMTQtMTItMjMgMTE6NDU6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IERvbid0IGxlYWsgZmx1c2gtc3RhcnQgZXZlbnRzCgoyMDE0LTEyLTIzIDEwOjI0OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBBbHNvIGNoYW5nZSB0aGUgZGVmYXVsdCBsYXRlbmN5IHRvIDAsIG5vdCBqdXN0IHRoZSBtaW5pbXVtCgoyMDE0LTEyLTIzIDA5OjUyOjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBGaXggZG9jcyBhbmQgZGVmYXVsdCB2YWx1ZSBvZiB0aGUgbGF0ZW5jeSBwcm9wZXJ0eQoKMjAxNC0xMi0yMiAyMjoxOTo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogQWxzbyBpbmNsdWRlIHRoZSBzdWJjbGFzcyBsYXRlbmN5IGluIHRoZSByZXN1bHQgb2YgdGhlIGxhdGVuY3kgcXVlcnkKCjIwMTQtMTItMjIgMjI6MTE6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogVXNlIHRoZSBzcmMgcXVlcnkgaW1wbGVtZW50YXRpb24gb2YgYWdncmVnYXRvciBhcyB0aGUgZGVmYXVsdCBjYXNlCgoyMDE0LTEyLTIyIDIyOjExOjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBVc2UgdGhlIHNyYyBxdWVyeSBpbXBsZW1lbnRhdGlvbiBvZiBhZ2dyZWdhdG9yIGFzIHRoZSBkZWZhdWx0IGNhc2UKCjIwMTQtMTItMjIgMTY6NDU6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgIGJheWVyMnJnYjogdGFrZSBpbnRvIGFjY291bnQgZmlsdGVyIGluIHRyYW5zZm9ybV9jYXBzIGZ1bmN0aW9uCgkgIEZpeGVzIGNyaXRpY2FscyB3aGVuIGZpbHRlciBjYXBzIGFyZSBwYXNzZWQuCgkgIEFsc28gZml4IHdyb25nIEdTVF9ERUJVR19PQkpFQ1QgdXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxODYzCgoyMDE0LTEyLTIyIDE1OjI2OjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBQb3N0IGEgbGF0ZW5jeSBtZXNzYWdlIGlmIHRoZSB2YWx1ZSBvZiB0aGUgbGF0ZW5jeSBwcm9wZXJ0eSBjaGFuZ2VzCgoyMDE0LTEyLTIyIDE1OjAzOjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBXYWtlIHVwIHRoZSBzcmMgdGhyZWFkIGFmdGVyIGhhbmRsaW5nIGEgbGF0ZW5jeSBxdWVyeQoJICBEdWUgdG8gY2hhbmdlZCBsYXRlbmNpZXMgb3IgY2hhbmdlZCBsaXZlLW5lc3Mgd2UgbWlnaHQgaGF2ZSB0bwoJICBhZGp1c3QgaWYgd2Ugd2FpdCBvbiBhIGRlYWRsaW5lIGF0IGFsbCBhbmQgaG93IGxvbmcuCgoyMDE0LTEyLTIyIDE1OjAwOjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBEb24ndCBjb3VudCB0aGUgbnVtYmVyIG9mIHRpbWVzIHdlIG5lZWQgdG8gd2FrZSB1cCBidXQgaW5zdGVhZCBjaGVjayBhbGwgY29uZGl0aW9ucyBmb3Igd2FpdGluZyBhZ2FpbgoJICBUaGlzIHNpbXBsaWZpZXMgdGhlIGNvZGUgYW5kIGFsc28gbWFrZXMgc3VyZSB0aGF0IHdlIGRvbid0IGZvcmdldCB0byBjaGVjayBhbGwKCSAgY29uZGl0aW9ucyBmb3Igd2FpdGluZy4KCSAgQWxzbyBmaXggYSBwb3RlbnRpYWwgZGVhZGxvY2sgY2F1c2VkIGJ5IG5vdCBjaGVja2luZyBpZiB3ZSdyZSBhY3R1YWxseSBzdGlsbAoJICBydW5uaW5nIGJlZm9yZSBzdGFydGluZyB0byB3YWl0LgoKMjAxNC0xMi0yMiAxMTo0OTowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBJbnN0ZWFkIG9mIGNyYXNoaW5nIGlmIG5vIGNvcnJlc3BvbmRpbmcgZnJhbWUgaXMgZm91bmQsIGlnbm9yZSB0aGlzCgkgIC4uLiBhbmQgaG9wZSB0aGF0IGV2ZXJ5dGhpbmcgd2lsbCBiZSBmaW5lLiBUaGlzIHNob3VsZG4ndCByZWFsbHkgaGFwcGVuIGJ1dAoJICBwcmV2aW91c2x5IGhhcHBlbmVkIGR1cmluZyBzaHV0ZG93bi4gSXQgc2hvdWxkIGJlIGZpeGVkIGluIHZpZGVvZW5jb2RlciBub3csCgkgIGJ1dCBiZXR0ZXIgYmUgb24gdGhlIHNhZmUgc2lkZSBoZXJlLgoKMjAxNC0xMi0yMiAxMTo0NjowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIE1BSU5UQUlORVJTOgoJICBNQUlOVEFJTkVSUzogVXBkYXRlIG15IG1haWwgYWRkcmVzcwoKMjAxNC0xMi0yMSAwNzo0NzoyNSAtMDUwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb21peGVyL01ha2VmaWxlLmFtOgoJICBhdWRpb21peGVyOiBmaXggYnVpbGQgZmxhZyBvcmRlcgoJICBIYXZlIHRoZSBsaWJyYXJpZXMvaW5sY3VkZXMgZnJvbSBwbHVnaW5zLWJhZCBmaXJzdCB0byBhdm9pZCBwaWNraW5nIHVwIHRoZSBpbnN0YWxsZWQgdmVyc2lvbi4KCSAgRml4ZXMgdGhlIGJ1aWxkIHdoZW4gdGhlIGxvY2FsIGFwaSBjaGFuZ2VkLgoKMjAxNC0xMi0yMCAxMjoyNDo1MyAtMDUwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9mcmVldmVyYi9Hc3RGcmVldmVyYi5wcnM6CgkqIGdzdC9mcmVldmVyYi9NYWtlZmlsZS5hbToKCSAgZnJlZXZlcmI6IGFkZCBhIGZldyBwcmVzZXRzCgoyMDE0LTEyLTE5IDEzOjE4OjUwIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBnbHRlc3Q6IFBvcnQgdG8gbmV3IEFQSQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTAwCgoyMDE0LTEyLTE5IDEyOjIyOjEyIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkgIGdsYnVmZmVycG9vbDogQWx3YXlzIHJlY2FsY3VsYXRlIGJ1ZmZlciBzaXplCgkgIEFjdHVhbGx5IHdlIHNob3VsZCBhbHdheXMgcmVjYWxjdWxhdGUgYnVmZmVyIHNpemUgc2luY2Ugb3VyIGJ1ZmZlciBzaXplCgkgIGV2ZW4gd2hlbiBub3QtcGFkZGVkIGlzIHNtYWxsZXIgZm9yIG1hbnkgc3ViLXNhbXBsZWQgZm9ybWF0cy4gVGhpcyBpcwoJICBiZWNhdXNlIHdlIGRvbid0IGFkZCBwYWRkaW5nIGJldHdlZW4gdGhlIHBsYW5lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDkwMAoKMjAxNC0xMi0xOSAxMjoxMjowOCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkgIGdsbWVtb3J5OiBObyBuZWVkIGZvciBwYWRkaW5nCgkgIEEgbWVtb3J5IG9iamVjdCBjYW5ub3QgYmUgcHV0IG9uIHN0YWNrLCBzbyBubyBuZWVkIGZvciBwYWRkaW5nLgoKMjAxNC0xMi0xOSAxMjoxMTowOCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWRtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIGdsOiBBZGQgc3VwcG9ydCBmb3IgR3N0VmlkZW9BbGlnbm1lbnQKCSAgVGhpcyBhbGxvdyBzYXZpbmcgYSBjb3B5IHdpdGggbGliYXYgdmlkZW8gZGVjb2RlcnMgb3IgZGVjb2RlcnMgd2l0aAoJICBzaW1pbGFyIHBhZGRpbmcgcmVxdWlyZW1lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5MDAKCjIwMTQtMTEtMjIgMTE6MjU6MjMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJICBnbG1lbW9yeTogSGFuZGxlIHVwbG9hZC9kb3dubG9hZCBmbGFncyBmcm9tIG1hcAoJICBQcm9ibGVtIHdhcyB0aGF0IGlmIGJ1ZmZlciB3YXMgbWFwcGVkIFJFQURXUklURSAoc3RhdGUgb2YgYnVmZmVycyBmcm9tCgkgIGxpYmF2IHJpZ2h0IG5vdyksIG1hcHBpbmcgaXQgUkVBRC9HTCB3aWxsIG5vdCB1cGxvYWQuIFRoaXMgaXMgYmVjYXVzZSB0aGUKCSAgZmxhZyBpcyBvbmx5IHNldCB3aGVuIHRoZSBidWZmZXIgaXMgdW5tYXBwZWQuIFdlIGNhbiBmaXggdGhpcyBieSBzZXR0aW5nCgkgIHRoZSBmbGFncyBpbiBtYXAuIFRoaXMgcmVzdWx0IGluIGFscmVhZHkgbWFwcGVkIGJ1ZmZlciB0aGF0IGdldCBtYXBwZWQKCSAgdG8gYmUgcmVhZCBpbiBHTCB3aWxsIGJlIHVwbG9hZGVkLiBUaGUgcHJvYmxlbSBpcyB0aGF0IGlmIHRoZSB3cml0ZQoJICBtYXBwZXIgbWFrZXMgbW9kaWZpY2F0aW9uIGFmdGVyd2FyZCwgdGhlIG1vZGlmaWNhdGlvbiB3aWxsIG5ldmVyIGdldAoJICB1cGxvYWRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDkwMAoKMjAxNC0xMi0xMyAyMTo0NzozOCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IEhhbmRsZSBjdXN0b20gc3RyaWRlIHdpdGggT1BFTkdMMwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTAwCgoyMDE0LTEyLTE5IDE1OjA1OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5oOgoJICBkZWNrbGluazogRml4IHZhcmlvdXMgY29tcGlsZXIgd2FybmluZ3Mgd2l0aCBnY2MKCjIwMTQtMTItMTkgMTQ6NTA6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogUmUtYWRkIHRoZSBDT00gaW5pdGlhbGl6YXRpb24gY29kZSBmb3IgV2luZG93cwoJICBVbnRlc3RlZCwgYW5kIHdlIHdpbGwgbmV2ZXIgZGVpbml0aWFsaXplIENPTSBhZ2Fpbi4KCjIwMTQtMTItMTkgMTQ6Mzg6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBSZW1vdmUgaW4tc2FtZS1waXBlbGluZSBkZXRlY3Rpb24gY29kZSBmb3IgYXVkaW8vdmlkZW8gZWxlbWVudHMgb2YgdGhlIHNhbWUgZGV2aWNlCgkgIFRoaXMgY2F1c2VzIGRlYWRsb2NrcyBzb21ldGltZXMgZm9yIHNvbWUgcmVhc29uLgoKMjAxNC0xMi0xOSAxNDozNTowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5oOgoJICBkZWNrbGlua3ZpZGVvc2luazogSW1wbGVtZW50IGNsb2NrIHNsYXZpbmcKCjIwMTQtMTItMTkgMTM6NTI6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGlua3ZpZGVvc2luazogQWRkIHNvbWUgbW9yZSBkZWJ1ZyBvdXRwdXQgZm9yIHdoZW4gZnJhbWVzIGFyZSBzY2hlZHVsZWQKCjIwMTQtMTItMTkgMTM6Mjg6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuaDoKCSAgZGVja2xpbms6IEFkZCBwcm9wZXJ0eSBmb3IgY29uZmlndXJpbmcgdGhlIGJ1ZmZlciBzaXplIG9mIHRoZSBzb3VyY2VzCgoyMDE0LTEyLTE5IDEzOjI0OjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5oOgoJICBkZWNrbGlua2F1ZGlvc3JjOiBJbXBsZW1lbnQgdGltZXN0YW1wIGppdHRlciBhbmQgZGlzY29udCBoYW5kbGluZwoKMjAxNC0xMi0xOSAxMjozNzozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGluazogT3VyIGNhcHR1cmUgdGltZSBpcyB0aGUgZW5kIHRpbWVzdGFtcCBvZiB0aGUgYnVmZmVyLCBzdWJ0cmFjdCB0aGUgZHVyYXRpb24KCjIwMTQtMTItMTkgMTI6MzA6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuaDoKCSAgZGVja2xpbms6IEFsbG93IGZvciBhIG1heGltdW0gb2YgNSBwYWNrZXRzIHRvIGJlIHF1ZXVlZCB1cAoJICBJbiBjYXNlIGRvd25zdHJlYW0gaXMgYSBiaXQgc2xvdyB3aXRoIGNvbnN1bWluZyBwYWNrZXRzIGF0IHRpbWVzLgoKMjAxNC0xMi0xOSAxMjowMzowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbms6IEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5IGluIHNvdXJjZXMgYW5kIHJlbWVtYmVyIHNlbGVjdGVkIG1vZGUKCjIwMTQtMTItMTggMTg6MzA6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGluazogUmVtb3ZlIG9ic29sZXRlIGZpbGVzCgoyMDE0LTEyLTE4IDE3OjMxOjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmg6CgkgIGRlY2tsaW5rOiBBZGQgaW5pdGlhbCB2ZXJzaW9uIG9mIGF1ZGlvIGFuZCB2aWRlbyBzb3VyY2VzCgoyMDE0LTEyLTEzIDE3OjIzOjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5oOgoJICBkZWNrbGluazogSW5pdGlhbCB2ZXJzaW9uIG9mIHRoZSBhdWRpby92aWRlbyBzaW5rIHJld3JpdGUKCjIwMTQtMTItMTkgMTM6MDQ6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuaDoKCSAgYXVkaW9taXhlcjogVHJhY2sgZGlzY29udC10aW1lIHBlciBwYWQgaW5zdGVhZCBvZiBnbG9iYWxseQoJICBXZSBkbyBkaXNjb250IGhhbmRsaW5nIHBlciBwYWQsIG5vdCBwZXIgZWxlbWVudCEKCjIwMTQtMTItMTUgMTY6Mjc6MTYgKzAxMDAgIEJyYW5rbyBTdWJhc2ljIDxicmFua29AYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmg6CgkgIGN1cmxzbXRwc2luazogYWRkIGZpbmFsIGJvdW5kYXJ5IHRvIGFsbCBtdWx0aXBhcnQgZW1haWxzCgkgIENvcnJlY3RlZCB0aGUgZmluYWwgYm91bmRhcnkgbWVjaGFuaXNtIHNvIHRoYXQgYSBmaW5hbCBib3VuZGFyeSBpcwoJICBhZGRlZCB0byBlYWNoIG1haWwgd2l0aCBtdWx0aXBhcnQgY29udGVudCB0aGF0IGlzIHNlbnQsCgkgIG5vdCBqdXN0IHRvIHRoZSBsYXN0IG9uZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTU1MwoKMjAxNC0xMi0xOCAyMzozMzo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogV2UncmUgb25seSBFT1MgaWYgYWxsIG91ciBwYWRzIGFyZSBhY3R1YWxseSBFT1MKCSAgSGF2aW5nIGEgYnVmZmVyIG9yIG5vdCBvbiB0aGUgcGFkIGlzIGlycmVsZXZhbnQuCgoyMDE0LTEyLTE4IDIyOjQyOjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBUaGUgcGFkJ3Mgc2l6ZSBpcyBhbHdheXMgc3VwcG9zZWQgdG8gYmUgdGhlIHdob2xlIGJ1ZmZlciBzaXplCgkgIEFuZCB0aGUgb2Zmc2V0IHRoZSBvZmZzZXQgaW50byB0aGF0IGJ1ZmZlci4gQ2hhbmdpbmcgdGhlIHNpemUgd2lsbAoJICBjYXVzZSBhbGwga2luZHMgb2YgYXNzdW1wdGlvbnMgdG8gZmFpbCBhbmQgY2F1c2UgY3Jhc2hlcy4KCjIwMTQtMTItMTggMjI6MDQ6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogRG9uJ3QgdHJ5IHRvIG1hcCBOVUxMIGJ1ZmZlcnMKCjIwMTQtMTItMTggMjI6MDM6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogTWFrZSBzdXJlIHRvIGFsd2F5cyB1cGRhdGUgdGhlIHBhZCdzIHZpZGVvaW5mbyB0b2dldGhlciB3aXRoIGJ1ZmZlcnMKCSAgT3RoZXJ3aXNlIHRoZSB2aWRlb2luZm8gYW5kIHRoZSBidWZmZXIgY29udGVudCBjYW4gZ28gb3V0IG9mIHN5bmMuCgoyMDE0LTEyLTE4IDExOjQ4OjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiBGaXggbWVtb3J5IGxlYWsgd2hlbiBubyBidWZmZXIgaXMgYXZhaWxhYmxlIGZvciBhIHBhZCBjdXJyZW50bHkKCSAgQ0lEIDEyNTg3MTgKCjIwMTQtMTItMTggMTA6NTQ6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGVmMWZmZGMgdG8gZjJjNmI5NQoKMjAxNC0xMi0xNyAyMjowMToyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3gyNjUvZ3N0eDI2NWVuYy5jOgoJICB4MjY1ZW5jOiByZXVzZSB0aGUgZ3N0dmlkZW8gcHJveHkgZ2V0Y2FwcwoJICBUaGUgY2FwcyBxdWVyeSBpcyBpbXBsZW1lbnRpbmcgdGhlIHNhbWUgbG9naWMgYXMgdGhlIGRlZmF1bHQKCSAgaGFuZGxlciBmcm9tIHRoZSBiYXNlIGNsYXNzLiBSZXVzZSBpdCB0byBzaW1wbGlmeSBjb2RlLgoKMjAxNC0xMi0xNyAyMTo1MjoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBwbHVnIHJlZiBsZWFrIG9mIHRlbXBsYXRlIGNhcHMKCSAgdGhlIHBhZCB0ZW1wbGF0ZSBjYXBzIGlzIGFscmVhZHkgYSBuZXcgcmVmLiBObyBuZWVkIHRvIGNvcHkuCgoyMDE0LTEyLTE3IDE5OjUxOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhZ2dyZWdhdG9yOiBBZGQgZnVuY3Rpb24gdG8gYWxsb3cgc3ViY2xhc3NlcyB0byBzZXQgdGhlaXIgb3duIGxhdGVuY3kKCSAgRm9yIGF1ZGlvbWl4ZXIgdGhpcyBpcyBvbmUgYmxvY2tzaXplLCBmb3IgdmlkZW9hZ2dyZWdhdG9yIHRoaXMgc2hvdWxkCgkgIGJlIHRoZSBkdXJhdGlvbiBvZiBvbmUgb3V0cHV0IGZyYW1lLgoKMjAxNC0xMi0xNyAxOTozNzoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogTWFrZSBzdXJlIHRvIG5vdCBoYXZlIHBhZHMgYmVpbmcgYmVoaW5kIHRoZSBjdXJyZW50IG9mZnNldAoJICBXZSB3b3VsZCBicmVhayBzeW5jIGJldHdlZW4gdGhlIGRpZmZlcmVudCBzdHJlYW1zIHRoZW4uCgoyMDE0LTEyLTE3IDE3OjU0OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvYWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBBZGQgYSB0aW1lb3V0IHBhcmFtZXRlciB0byA6OmFnZ3JlZ2F0ZSgpCgkgIFdoZW4gdGhpcyBpcyBUUlVFLCB3ZSByZWFsbHkgaGF2ZSB0byBwcm9kdWNlIG91dHB1dC4gVGhpcyBoYXBwZW5zCgkgIGluIGxpdmUgbWl4aW5nIG1vZGUgd2hlbiB3ZSBoYXZlIHRvIG91dHB1dCBzb21ldGhpbmcgZm9yIHRoZSBjdXJyZW50CgkgIHRpbWUsIG5vIG1hdHRlciBpZiB3ZSBoYXZlIGVub3VnaCBpbnB1dCBvciBub3QuCgoyMDE0LTEyLTE3IDE4OjIwOjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBBZGQgcXVldWVzIGFmdGVyIHRoZSAobGl2ZSkgc291cmNlcyBpbiB0aGUgdW5pdCB0ZXN0CgoyMDE0LTEyLTE3IDEyOjIwOjU0ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBpbXByb3ZlIHRpbWVzdGFtcGluZyBhbmQgbGF0ZW5jeSByZXBvcnRpbmcKCSAgVXNlIEFWRiBwcm92aWRlZCB0aW1pbmdzIHRvIHRpbWVzdGFtcCBvdXRwdXQgYnVmZmVycy4gVXNlIHRoZSBydW5uaW5nIHRpbWUgYXQKCSAgdGhlIHRpbWUgdGhlIGZpcnN0IGJ1ZmZlciBpcyBwcm9kdWNlZCB0byBiYXNlIHRpbWVzdGFtcHMgb24uIFJlcG9ydCAxLWZyYW1lCgkgIGxhdGVuY3kgYmFzZWQgb24gdGhlIG5lZ290aWF0ZWQgZnJhbWVyYXRlIGluc3RlYWQgb2YgaGFyZGNvZGluZyA0bXMgbGF0ZW5jeS4KCjIwMTQtMTItMTUgMjI6MjQ6MjYgLTA1MDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmg6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d1dGlsLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3V0aWwuaDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSAgZHNob3dkZWN3cmFwcGVyOiBSZW1vdmUgZGVwZW5kZW5jeSBvbiBBVEwKCSAgVGhpcyBmaXhlcyBjb21waWxpbmcgd2l0aCBWaXN1YWwgQysrIEV4cHJlc3MKCSAgdGhhdCBkb2Vzbid0IGluY2x1ZGUgQVRMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3MjIzCgoyMDE0LTEyLTA0IDIzOjMwOjIzIC0wNTAwICBNYXR0aGV3IEJhZGVyIDxtYXR0QGh5cGVybG9iaWMubmV0PgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkgIGRzaG93c3Jjd3JhcHBlcjogQWRkZWQgc3VwcG9ydCBmb3IgaW1hZ2UvanBlZyBhbmQgaDI2NAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMTg4CgoyMDE0LTEyLTE2IDE5OjQ5OjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9hZ2dyZWdhdG9yLmM6CgkgIHRlc3RzOiBmaXggYWdncmVnYXRvciB1bml0IHRlc3QgYWZ0ZXIgcHJvcGVydHkgcmVuYW1pbmcKCjIwMTQtMTItMTYgMTc6Mzc6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IEltcGxlbWVudCBnZXRfbmV4dF90aW1lKCkKCjIwMTQtMTItMTYgMTc6MzM6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFNvbWUgbWlub3IgY2xlYW51cAoKMjAxNC0xMi0wNSAxODoxOTo1NCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogbWFrZSB0aGUgc3JjIHBhZCB0YXNrIGRyaXZlIHRoZSBwaXBlbGluZSBmb3IgbGl2ZSBwaXBlbGluZXMKCSAgVGhpcyByZW1vdmVzIHRoZSB1c2VzIG9mIEdBc3luY1F1ZXVlIGFuZCByZXBsYWNlcyBpdCB3aXRoIGV4cGxpY2l0CgkgIEdNdXRleCwgR0NvbmQgYW5kIHdha2V1cCBjb3VudCB3aGljaCBpcyB1c2VkIGZvciB0aGUgbm9uLWxpdmUgY2FzZS4KCSAgRm9yIGxpdmUgcGlwZWxpbmVzLCB0aGUgYWdncmVnYXRvciB3YWl0cyBvbiB0aGUgY2xvY2sgdW50aWwgZWl0aGVyCgkgIGRhdGEgYXJyaXZlcyBvbiBhbGwgc2luayBwYWRzIG9yIHRoZSBleHBlY3RlZCBvdXRwdXQgYnVmZmVyIHRpbWUKCSAgYXJyaXZlcyBwbHVzIHRoZSB0aW1lb3V0L2xhdGVuY3kgYXQgd2hpY2ggdGltZSwgdGhlIHN1YmNsYXNzCgkgIHByb2R1Y2VzIGEgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMTQ2CgoyMDE0LTEyLTA4IDE1OjE4OjI1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogYWx3YXlzIHRyeSB0byB1c2UgbmV3ZXIgYnVmZmVycwoJICBpbnN0ZWFkIG9mIGRyb3BwaW5nIHRoZW0gZm9yIGJlaW5nIHRvbyBvbGQuICBUaGlzIGVuc3VyZXMgdGhhdAoJICB0aGUgbmV3ZXN0IGJ1ZmZlciBpcyBhbHdheXMgdXNlZCBmb3IgcmVuZGVyaW5nCgoyMDE0LTEyLTE2IDEzOjM1OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL3B2cjJkL2dzdHB2cnZpZGVvc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICByZWN0YW5nbGU6IGNsZWFyIHJlY3RhbmdsZSBzdHJ1Y3QgYmVmb3JlIHVzZQoKMjAxNC0xMi0xNSAxNToyMTo1MCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1c3BhcnNlOiBmaXggZnJhbWUgc2l6ZSBkZXRlcm1pbmF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDEzMjEKCjIwMTQtMDYtMTkgMjE6MzI6MDkgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIG14ZmRlbXV4OiBVc2UgSW5kZXhUYWJsZVNlZ21lbnRzLgoJICBUaGlzIHNwZWVkcyB1cCBzZWVraW5nIGRyYXN0aWNhbGx5LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMjk0CgoyMDE0LTEyLTE0IDAxOjI5OjI2ICswMTAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2FnZ3JlZ2F0b3IuYzoKCSAgdGVzdHMvYWdncmVnYXRvcjogVXNlIGNvcnJlY3QgdHlwZSB3aGVuIHNldHRpbmcgcHJvcGVydHkKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTQ5NQoKMjAxNC0wNS0wOCAxMDo0MTowMyArMDUzMCAgU3VkaXAgSmFpbiA8c3VkaXAuamFpbkBsaW5hcm8ub3JnPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogc2NhbiBtb3JlIGJ5dGVzIHRvIGZpbmQgaW5pdGlhbCBQQ1JzCgkgIEZpeGVzIHBsYXliYWNrIG9mIFNhbXN1bmctQ29sb3JmdWwtVmFyaWV0eS0xMDgwaS50cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTc2OAoKMjAxNC0xMi0xMiAyMDo1NzoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgUmV2ZXJ0ICJvcGVuaDI2NDogZml4IHRvIHdvcmsgd2l0aCByZWxlYXNlZCB2ZXJzaW9ucyBhbmQgbWFzdGVyIG9mIHVwc3RyZWFtIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDE1Mzk0YWE3MDU0M2Y1NWM1NGZhOGE0NzQ4MDUyMjRmNDEzOGY3NmMuCgkgIFRoZSBsYXRlc3QgcmVsZWFzZSAodjEuMSkgZG9lcyBub3QgaGF2ZSBwa2ctY29uZmlnIHN1cHBvcnQKCSAgeWV0LCBzbyB0aGlzIHBsdWdpbiB3b24ndCBiZSBidWlsdCB3aXRoIHRoZSBsYXRlc3QgcmVsZWFzZS4KCSAgQ2VyYmVybyB1c2VzIHRoZSBsYXRlc3QgcmVsZWFzZSwgc28gdGhpcyBtYWtlcyBjZXJiZXJvCgkgIGJ1aWxkcyBmYWlsLCB3aGljaCBleHBlY3QgdGhlIHBsdWdpbiB0byBiZSBidWlsdC4KCSAgV2UgY2FuIHJlLWNvbW1pdCB0aGlzIG9uY2UgdGhlcmUncyBhIHJlbGVhc2UgdGhhdCBpbmNsdWRlcwoJICBwa2ctY29uZmlnIHN1cHBvcnQuCgoyMDE0LTEyLTEyIDEwOjA1OjIzIC0wODAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJtZXJhbGlAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NDogZml4IHRvIHdvcmsgd2l0aCByZWxlYXNlZCB2ZXJzaW9ucyBhbmQgbWFzdGVyIG9mIHVwc3RyZWFtCgoyMDE0LTEyLTEyIDExOjIxOjI3ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9nc3R3YXRjaGRvZy5jOgoJICB3YXRjaGRvZzogR3N0RWxlbWVudC0+c3RhdGUgaXMgcHJvdGVjdGVkIHdpdGggdGhlIE9CSkVDVF9MT0NLCgkgIE5vdCB0aGUgU1RBVEVfTE9DSy4KCSAgZ3N0X3dhdGNoZG9nX2ZlZWQgd2FzIGFscmVhZHkgYWx3YXlzIGNhbGxlZCB3aXRoIHRoZSBPQkpFQ1RfTE9DSyB0YWtlbi4KCjIwMTQtMTEtMjcgMjA6NDg6MjQgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvcnBhZC5oOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IEhpZGUgc29tZSBtb3JlIGZpZWxkcyBmcm9tIHRoZSBBUEkKCSAgKyBBZGQgc29tZSBkb2N1bWVudGF0aW9uCgoyMDE0LTEyLTEyIDAwOjMwOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L29udmlmL01ha2VmaWxlLmFtOgoJICBvbnZpZjogZml4ICdtYWtlIGRpc3QnCgoyMDE0LTEyLTExIDIxOjAxOjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGZpeCBzZWVrIGV2ZW50IGhhbmRsaW5nCgkgIFByb3Blcmx5IGRvIHNlZWtpbmcgYW5kIGF2b2lkIG9ubHkgc2Vla2luZyB3aGVuIHRoZSBzZWdtZW50IHdhcyB1cGRhdGVkLgoJICBJdCB3b3VsZCBjYXVzZSBzZWVrcyBhZnRlciB0aGUgc3RyZWFtIHdhcyBFT1MgdG8gZmFpbCwgZm9yIGV4YW1wbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg5MjAKCjIwMTQtMTEtMTcgMTk6MjY6NTMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3Qvb252aWYvZ3N0cnRwb252aWZ0aW1lc3RhbXAuYzoKCSogZ3N0L29udmlmL2dzdHJ0cG9udmlmdGltZXN0YW1wLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG9udmlmLmM6CgkgIHJ0cG9udmlmdGltZXN0YW1wOiBBdXRvbWF0aWNhbGx5IGRpc2NvdmVyIHRoZSBudHAtb2Zmc2V0IGJ5IGRlZmF1bHQuCgkgIFRoaXMgb25seSB3b3JrcyBpZiBubyBwYWNrZXRzIGFyZSBwdXNoZWQgaW4gYmVmb3JlIHRoZSBwaXBlbGluZSBnb2VzCgkgIHRvIHBsYXlpbmcuIFNvIGl0IGhlbHBzIHRvIGhhdmUgYSBsaXZlIHNvdXJjZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTc2OQoKMjAxNC0wNi0wNSAxNTowNjozMyArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvb252aWYvTWFrZWZpbGUuYW06CgkqIGdzdC9vbnZpZi9nc3RydHBvbnZpZi5jOgoJKiBnc3Qvb252aWYvZ3N0cnRwb252aWZwYXJzZS5jOgoJKiBnc3Qvb252aWYvZ3N0cnRwb252aWZwYXJzZS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBvbnZpZi5jOgoJICBhZGQgcnRwb252aWZleHRyYWN0IGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTc2OQoKMjAxNC0wNC0yOCAxMTowNzoxNyArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9vbnZpZi9NYWtlZmlsZS5hbToKCSogZ3N0L29udmlmL2dzdHJ0cG9udmlmLmM6CgkqIGdzdC9vbnZpZi9nc3RydHBvbnZpZnRpbWVzdGFtcC5jOgoJKiBnc3Qvb252aWYvZ3N0cnRwb252aWZ0aW1lc3RhbXAuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG9udmlmLmM6CgkgIGFkZCBydHBvbnZpZnRpbWVzdGFtcCBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE3NjkKCjIwMTQtMTItMDggMTE6MDI6NTEgKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IGZpeCBwb3NpdGlvbi90ZXhjb29yZCBhdHRyaWIgaW5kZXggdXNhZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTIzMQoKMjAxNC0xMi0xMSAxODoxNzowMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJICBnbGZpbHRlcmN1YmU6IHVzZSBhIHNoYWRlciBldmVyeXdoZXJlCgoyMDE0LTEyLTExIDE4OjE1OjAyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsOiBmaXh1cCB2YW8gYW5kIHZibyB1c2FnZSBmb3IgbGVnYWN5IEdMCgoyMDE0LTEyLTExIDE0OjU3OjE4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIGdsZWZmZWN0czogZG9uJ3QgYWJvcnQgd2hlbiBzZXR0aW5nIHRoZSBlZmZlY3QgdG8gMCwxLDIKCjIwMTQtMTItMTAgMTI6NDg6MzMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9zZGxzaGFyZS5jOgoJICBnbC9leGFtcGxlczogZml4dXAgc2RsIGV4YW1wbGUgZm9yIGdsdVBlcnNwZWN0aXZlIHJlbW92YWwKCjIwMTQtMTItMDkgMDg6Mzg6NTUgLTA4MDAgIE5pY2sgU3RvdWdodG9uIDxuc3RvdWdodG9uQGFldGhlci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuYzoKCSAgYmx1ZXo6IHN1cHBvcnQgY29tcGlsZS10aW1lIGRpc3RpbmN0aW9uIGJldHdlZW4gYmx1ZXo0IGFuZCBibHVlejUKCSAgU2lnbmVkLW9mZi1ieTogTmljayBTdG91Z2h0b24gPG5zdG91Z2h0b25AYWV0aGVyLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODYyNgoKMjAxNC0xMi0xMCAxODoyMzowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBjaGVjayB0aGUgcmV0dXJuIGZyb20gdXBkYXRlX21hbmlmZXN0IGNvcnJlY3RseQoJICBJdCBpcyBhIEdzdEZsb3dSZXR1cm4gYW5kIG5vdCBhIGJvb2xlYW4KCjIwMTQtMTItMTAgMDk6MjQ6MTcgKzAwMDAgIERhdmlkIFdhcmluZyA8ZGF2aWQud2FyaW5nQHJkLmJiYy5jby51az4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IENoYW5nZSBwZXJpb2Qgd2hlbiBzZXR0aW5nIGJ5IHBlcmlvZCBpZC4KCSAgTWFrZSBnc3RfbXBkX2NsaWVudF9zZXRfcGVyaW9kX2lkIHNldCB0aGUgY3VycmVudCBwZXJpb2QgaW5kZXggd2hlbiBpdCBmaW5kcyBhCgkgIHBlcmlvZCB3aXRoIGEgbWF0Y2hpbmcgcGVyaW9kIGlkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMzIyCgoyMDE0LTEyLTEwIDE1OjI3OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBmaXggcmV2ZXJzZSBwbGF5YmFjayBmcmFnbWVudCB0cmFja2luZwoJICBSZXdvcmsgcmV2ZXJzZSBmcmFnbWVudCB0cmF2ZXJzaW5nIHdpdGggcmVwZXRpdGlvbiBmaWVsZHMgdG8gcHJldmVudAoJICBOVUxMIHBvaW50ZXIgZGVyZWYgYW5kIGF2b2lkIG5ldmVyIGFkdmFuY2luZyBhIGZyYWdtZW50IGFzIHRoZSB2YXJpYWJsZQoJICBpcyB1bnNpZ25lZCBhbmQgd291bGQgYWx3YXlzIGJlIG5vbi1uZWdhdGl2ZS4KCSAgQ0lEICMxMjU3NjI3CgkgIENJRCAjMTI1NzYyOAoKMjAxNC0xMi0xMSAwMDowMjoyNiArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogYnVtcCByYW5rIHRvIFBSSU1BUlkKCjIwMTQtMTItMTAgMjI6MzY6NTMgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSAgdnRlbmM6IG5lZ290aWF0ZSBwcm9maWxlIGFuZCBsZXZlbCB3aXRoIGRvd25zdHJlYW0KCjIwMTQtMTItMTAgMTk6NDQ6MDEgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSAgdnRlbmM6IHJlcG9ydCBsYXRlbmN5CgoyMDE0LTEyLTA1IDE2OjIwOjA4ICswMDAwICBEYXZpZCBXYXJpbmcgPGRhdmlkLndhcmluZ0ByZC5iYmMuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBGaW5kIGN1cnJlbnQgc2VnbWVudCBpbiB0aGUgc3RyZWFtcyB0aGF0IGhhdmUganVzdCBiZWVuIHNldHVwCgkgIFVzaW5nIGRlbXV4LT5zdHJlYW1zIHdpbGwganVzdCBza2lwIHRoZSB3aG9sZSBsb29wIGFzIGRlbXV4LT5zdHJlYW1zIHdpbGwKCSAgYWx3YXlzIGJlIE5VTEwgYXQgdGhhdCBwb2ludAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMjg1CgoyMDE0LTEyLTA5IDA1OjAzOjExICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5jOgoJICBtaXJyb3I6IE5lZWRzIHJlbWFwIHdoZW4gdGhlIG1vZGUgY2hhbmdlcy4KCSAgVGhpcyBjYXVzZWQgdGhlIHVzZXIgdG8gdGhpbmsgdGhlIG1vZGUgd2Fzbid0IHRha2VuIGludG8gYWNjb3VudC4KCjIwMTQtMTItMDkgMDQ6Mjg6MTcgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIFJldmVydCAiaDI2NHBhcnNlOiBleHBvc2UgY29tcGF0aWJsZSBwcm9maWxlcyB0byBkb3duc3RyZWFtIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDM5MTBjYmU3Y2UxYTY3ZWQ1NTA2Zjg3ZTRjNWEwMDVjMTY4ZDBlNmMuCgoyMDE0LTEyLTA4IDA4OjUzOjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGRvIG5vdCB0cnkgdG8gdW5sb2NrIG5vdCBsb2NrZWQgbXV0ZXgKCSAgQSBtaXNwbGFjZWQgdW5sb2NrIHdhcyBjYXVzaW5nIGFuIGFzc2VydGlvbiBmb3IgcGxheWJhY2sgd2l0aCBhCgkgIHNldCBzdG9wIHRpbWUKCjIwMTQtMTItMDggMDg6MjQ6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSAgZ3N0LWxpYnM6IGJ1aWxkIG9yZGVyOiB1cmlkb3dubG9hZGVyIGJlZm9yZSBhZGFwdGl2ZWRlbXV4CgkgIE90aGVyd2lzZSBtYWtlIGluc3RhbGwgZmFpbHMKCjIwMTQtMTItMDUgMTY6MzM6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJICB2dGVuYzogQWRkIHByb3BlcnRpZXMgdG8gc3BlY2lmeSB0aGUgbWF4aW11bSBrZXlmcmFtZSBpbnRlcnZhbCBpbiBmcmFtZXMgYW5kIHNlY29uZHMKCjIwMTQtMTItMDUgMTY6MTU6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogRml4IGNvbnZlcnNpb24gb2YgdGhlIGJpdHJhdGUgcHJvcGVydHkgYW5kIG91ciBpbnRlcm5hbCBiaXRyYXRlIHN0b3JhZ2UKCSAgVGhlIHByb3BlcnR5IGlzIGluIGtiaXQvcyBhbmQgd2Ugc3RvcmUgaXQgaW4gYml0L3MsIHNvIGp1c3QgbXVsdGlwbHkgYW5kCgkgIGRpdmlkZSBieSAxMDAwLiBObyBuZWVkIHRvIHB1dCBhIGZhY3RvciBvZiA4IGluIHRoZXJlLgoJICBrVlRDb21wcmVzc2lvblByb3BlcnR5S2V5X0F2ZXJhZ2VCaXRSYXRlIGlzIGFsc28gaW4gYml0L3MgYWNjb3JkaW5nIHRvCgkgIGl0cyBkb2N1bWVudGF0aW9uLgoKMjAxNC0xMi0wNSAxMzoxMjo1OSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcnZpZGVvc3JjOiBGaXggYSBtZW1vcnkgbGVhawoJICBGcmVlcyB0aGUgc291cmNlIEFSR0IgYmxhY2sgZnJhbWUgdGhhdCB3ZSB1c2UgdG8gY3JlYXRlIHRoZSBibGFjayBmcmFtZQoJICBpbiBvdXIgdGFyZ2V0IGZvcm1hdC4KCjIwMTQtMTItMDIgMTA6MTA6MzkgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZXhwb3NlIGNvbXBhdGlibGUgcHJvZmlsZXMgdG8gZG93bnN0cmVhbQoJICBTb21lIHZpZGVvIGJpdHN0cmVhbXMgcmVwb3J0IGEgdG9vIHJlc3RyaWN0aXZlIHNldCBvZiBwcm9maWxlcy4gSWYgYSB2aWRlbwoJICBkZWNvZGVyIHdhcyB0byBzdHJpY3RseSBmb2xsb3cgdGhlIGluZGljYXRlZCBwcm9maWxlLCBpdCB3b3VsZG4ndCBzdXBwb3J0IHRoYXQKCSAgc3RyZWFtLCB3aGVyZWFzIGl0IGNvdWxkIGluIHRoZW9yeSBhbmQgaW4gcHJhY3RpY2UuIFNvIHdlIHNob3VsZCByZWxheCB0aGUKCSAgcHJvZmlsZSByZXN0cmljdGlvbiBmb3IgYWxsb3dpbmcgdGhlIGRlY29kZXIgdG8gZ2V0IGNvbm5lY3RlZCB3aXRoIHBhcnNlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTk5MgoKMjAxMy0wNS0wMSAxMToxNzowMiArMDgwMCAgQ2h1bi13ZWkgRmFuIDxmYW5jaHVud2VpQHNyYy5nbm9tZS5vcmc+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb2Zha2VzcmMuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuaDoKCSAgZHNob3d2aWRlb3Npbms6IFBvcnQgdG8gMS4wIGFuZCBuZXcgR0xpYiB0aHJlYWRpbmcgQVBJCgkgIFRoaXMgdXBkYXRlcyB0aGUgZHNob3d2aWRlb3NpbmsgdG8gd29yayB3aXRoIHRoZSBHU3RyZWFtZXIgMS4wLnggQVBJcywgYW5kCgkgIGF2b2lkcyB0aGUgdXNlIG9mIGRlcHJlY2F0ZWQgR0xpYiB0aHJlYWRpbmcgQVBJIHRoYXQgYXJlIG5vdyB1c2VkIHNpbmNlCgkgIEdMaWIgMi4zMisKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTM2NAoKMjAxNC0xMi0wNCAwMTo0Njo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IGFkZCBsaXZlIHN1cHBvcnQKCSAgSW1wbGVtZW50IHRoZSBmdW5jdGlvbnMgb2YgYWRhcHRpdmVkZW11eCB0byBoYXZlIGxpdmUgc3VwcG9ydAoJICBlbmFibGVkLiBUaGlzIGFsbG93cyBtc3NkZW11eCB0byByZWZyZXNoIHRoZSBNYW5pZmVzdCBwZXJpb2RpY2FsbHkKCjIwMTQtMTItMDQgMTU6NTI6NDQgLTA1MDAgIE1hdHRoZXcgQmFkZXIgPG1hdHRAaHlwZXJsb2JpYy5uZXQ+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL0NNYWtlTGlzdHMudHh0OgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuaDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2RlY3dyYXBwZXIuaDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmg6CgkgIGRzaG93ZGVjd3JhcHBlcjogUG9ydCB0byAxLngKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDk0NQoKMjAxNC0xMi0wMSAxNjo0MDoyNCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvdmNkL3ZjZHNyYy5jOgoJICB2Y2RzcmM6IHBvcnQgdG8gMS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU0NzY2MQoKMjAxNC0xMi0wNCAxMjoyMTowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogZml4IGdldHRpbmcgY3VycmVudCBwb3NpdGlvbiBpbiBzZWdtZW50cyB3aGVuIGFmdGVyIGxhc3Qgb25lCgkgIEZvciBsaXZlIHN0cmVhbXMgdGhpcyBtYWtlcyBhIGRpZmZlcmVuY2Ugd2hlbiByZXN5bmNpbmcgYWZ0ZXIgYQoJICBNYW5pZmVzdCByZWZyZXNoLCBvdGhlcndpc2UgaXQgZG9lc24ndCBrbm93IHdoZXJlIHRvIHJlc3RhcnQKCjIwMTQtMTItMDIgMjM6Mjc6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IHN1cHBvcnQgbWFuaWZlc3RzIHdpdGggcmVwZXRpdGlvbiBmcmFnbWVudHMKCSAgUmVhZCB0aGUgInIiIGF0dHJpYnV0ZSBmcm9tIGZyYWdtZW50cyB0byBzdXBwb3J0IGZyYWdtZW50cyBub2RlcwoJICB0aGF0IHVzZSByZXBldGl0aW9uIHRvIGhhdmUgYSBzaG9ydGVyIE1hbmlmZXN0IHhtbC4KCSAgSW5zdGVhZCBvZiBkb2luZzoKCSAgPGMgZD0iMTAwIiAvPgoJICA8YyBkPSIxMDAiIC8+CgkgIFlvdSBjYW4gdXNlOgoJICA8YyBkPSIxMDAiIHI9IjIiIC8+CgoyMDE0LTExLTIyIDAxOjAxOjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL01ha2VmaWxlLmFtOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiBwb3J0IHRvIGFkYXB0aXZlZGVtdXggYmFzZSBjbGFzcwoKMjAxNC0xMi0wMyAxNjoxMzoxNyAtMDUwMCAgTWF0dGhldyBCYWRlciA8bWF0dEBoeXBlcmxvYmljLm5ldD4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkgIGRzaG93c3Jjd3JhcHBlcjogRml4ZWQgbnVsbCBjYXBzIGNvbXBhcmlzb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTA4NgoKMjAxNC0xMi0wNCAwMjoxMjowOCAtMDIwMCAgRmzDoXZpbyBSaWJlaXJvIDxlbWFpbEBmbGF2aW9yaWJlaXJvLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzc2luay5jOgoJKiBleHQvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJICBobHNzaW5rOiByZW1vdmUgdW5uZWNlc3NhcnkgdGl0bGUgb24gRVhUSU5GIHRhZwoJICBBY2NvcmRpbmcgdG8gdGhlIEhMUyBzcGVjIHRoZSByZW1haW5kZXIgb2YgdGhlIGxpbmUgZm9sbG93aW5nCgkgIHRoZSBjb21tYSBvbiBFWFRJTkYgdGFnIGlzIG5vdCByZXF1aXJlZC4gVGhpcyBwYXRjaCByZW1vdmVzCgkgIHRoZSBmYWtlIHRpdGxlIGFuZCBzYXZlcyBzb21lIGJ5dGVzIG9uIHRoZSBwbGF5bGlzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTA5NgoKMjAxNC0xMi0wNCAyMDozNzo1MSArMDUzMCAgUmFtcHJha2FzaCBKZWxhcmkgPHJhbXByYWthc2guamVsYXJpQGUtY29uc3lzdGVtcy5jb20+CgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBSZW5hbWUgZ3N0LWxhdW5jaC0wLjEwIHRvIGdzdC1sYXVuY2gtMS4wIGluIGRvY3MKCjIwMTQtMTItMDQgMTU6NDI6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkgIGRlY2tsaW5rOiBGaXggbWFrZSBkaXN0Y2hlY2sKCSAgQW5kIHByb3Blcmx5IGRpc3QgYWxsIGhlYWRlcnMgYW5kIHNvdXJjZSBmaWxlcy4KCjIwMTQtMTItMDMgMTg6MzE6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogcmVsZWFzZSB0aHJlYWRzIHdhaXRpbmcgZm9yIG1hbmlmZXN0IHVwZGF0ZSBvbiBzaHV0ZG93bgoJICBGb3IgbGl2ZSBzdHJlYW1zLCBhbHNvIHVuYmxvY2sgdGhyZWFkcyB0aGF0IG1pZ2h0IGJlIHdhaXRpbmcgZm9yIGEgbWFuaWZlc3QKCSAgdXBkYXRlIHdoZW4gc3RvcHBpbmcgdGhlIHBpcGVsaW5lLgoJICBBbHNvIGFkZCBzb21lIG1vcmUgZGVidWcgbWVzc2FnZXMKCjIwMTQtMTItMDMgMTM6NTI6MDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogdXNlIGdzdF90YXNrX3N0b3AgaW5zdGVhZCBvZiBnc3RfdGFza19wYXVzZQoJICBUbyBhdm9pZCByYWNlIGNvbmRpdGlvbnMgd2l0aCBnc3RfdGFza19zdG9wKCk7IGdzdF90YXNrX2pvaW4oKSB3aXRoCgkgIGFub3RoZXIgdGhyZWFkIGRvaW5nIGdzdF90YXNrX3BhdXNlKCksIHRoZSBqb2luaW5nIHRocmVhZCB3b3VsZCBiZQoJICB3YWl0aW5nIGZvciB0aGUgdGFzayB0byBzdG9wIGJ1dCBpdCB3b3VsZCBuZXZlciBoYXBwZW4uIFNvIGp1c3QKCSAgdXNlIGdzdF90YXNrX3N0b3AoKSBldmVyeXdoZXJlIHRvIHByZXZlbnQgbW9yZSBtdXRleGVzCgoyMDE0LTEyLTAzIDEyOjQ4OjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGZpeCBkZWFkbG9jayB3aGVuIHN0b3BwaW5nIHN0cmVhbXMKCSAgUmVtZW1iZXIgdG8gdW5sb2NrIHRoZSBtYW5pZmVzdCdzIGxvY2sgd2hlbiBsZWF2aW5nIHRoZSBkb3dubG9hZCB0YXNrLgoKMjAxNC0xMi0wMyAxNjowMToxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9saW51eC9EZWNrTGlua0FQSURpc3BhdGNoLmNwcDoKCSAgZGVja2xpbms6IEZpeCBjb21waWxlciB3YXJuaW5ncyB3aXRoIGdjYyBpbiB0aGUgZGlzcGF0Y2hlcgoKMjAxNC0xMi0wMyAxNTozMDo0MyArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmg6CgkgIGdsc3luY21ldGE6IGFkZCBHX0VORF9ERUNMUwoKMjAxNC0xMi0wMyAxNTowNzoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay93aW4vRGVja0xpbmtBUEkuaDoKCSogc3lzL2RlY2tsaW5rL3dpbi9EZWNrTGlua0FQSV9pLmM6CgkgIGRlY2tsaW5rOiBVcGRhdGUgV2luZG93cyBTREsgaGVhZGVycyB0byAxMC4zLjEKCSAgTm8gaWRlYSB3aGVyZSB0aGUgRGVja2xpbmtBUElEaXNwYXRjaC5jcHAgY29tZXMgZnJvbSBvbiBXaW5kb3dzLAoJICBidXQgdGhpcyBzaG91bGQgc3RpbGwgd29yay4gV2lsbCBqdXN0IGJlY29tZSBhIHByb2JsZW0gb25jZSB3ZQoJICB1c2Ugb3RoZXIgcGFydHMgb2YgdGhlIEFQSS4KCjIwMTQtMTItMDMgMTQ6NDI6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUEkuaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSUNvbmZpZ3VyYXRpb24uaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSURlY2tDb250cm9sLmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElEaXNjb3ZlcnkuaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSURpc3BhdGNoLW9zeC5jcHA6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElEaXNwYXRjaC5jcHA6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElNb2Rlcy5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJU3RyZWFtaW5nLmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElUeXBlcy5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJVmVyc2lvbi5oOgoJICBkZWNrbGluazogVXBkYXRlIE9TIFggU0RLIGhlYWRlcnMgdG8gMTAuMy4xCgoyMDE0LTEyLTAzIDE0OjM5OjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2xpbnV4L0RlY2tMaW5rQVBJLmg6CgkqIHN5cy9kZWNrbGluay9saW51eC9EZWNrTGlua0FQSUNvbmZpZ3VyYXRpb24uaDoKCSogc3lzL2RlY2tsaW5rL2xpbnV4L0RlY2tMaW5rQVBJRGVja0NvbnRyb2wuaDoKCSogc3lzL2RlY2tsaW5rL2xpbnV4L0RlY2tMaW5rQVBJRGlzY292ZXJ5Lmg6CgkqIHN5cy9kZWNrbGluay9saW51eC9EZWNrTGlua0FQSURpc3BhdGNoLmNwcDoKCSogc3lzL2RlY2tsaW5rL2xpbnV4L0RlY2tMaW5rQVBJTW9kZXMuaDoKCSogc3lzL2RlY2tsaW5rL2xpbnV4L0RlY2tMaW5rQVBJVHlwZXMuaDoKCSAgZGVja2xpbms6IFVwZGF0ZSBMaW51eCBTREsgaGVhZGVycyB0byAxMC4zLjEKCjIwMTQtMTItMDMgMTA6MDY6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogcmVtb3ZlIHVudXNlZCBlcnJvciB2YXJpYWJsZQoJICBDSUQgIzEyNTY1NTYKCjIwMTQtMTItMDMgMDk6NDU6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogcmVtb3ZlIG1vcmUgZ2V0X2R1cmF0aW9uIGNoZWNrcwoJICBTdWJjbGFzc2VzIG11c3QgaW1wbGVtZW50IGdldF9kdXJhdGlvbiBmdW5jdGlvbi4gSWYgdGhleSBkbyBub3Qga25vdwoJICB0aGUgZHVyYXRpb24gdGhleSBjYW4gcmV0dXJuIEdTVF9DTE9DS19USU1FX05PTkUKCjIwMTQtMTItMDMgMDk6NDA6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogYWxsIHN1YmNsYXNzZXMgbXVzdCBpbXBsZW1lbnQgZ2V0X2R1cmF0aW9uCgkgIENJRCAjMTI1NjU1NwoKMjAxNC0xMi0wMiAyMzoyOToyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBtYWtlIHN1cmUgdG8gYWx3YXlzIHN0b3AgdGhlIHN0cmVhbSBvbiBFT1MKCSAgRm9yIE9uLURlbWFuZCBzdHJlYW1zLCBhbHdheXMgc3RvcCB0aGUgdGFza3MgZm9yIHN0cmVhbXMgdGhhdCByZWFjaGVkCgkgIEVPUwoKMjAxNC0xMi0wMyAwODowMjo1OCArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogdHJ5IGNnbCBiZWZvcmUgZ2x4CgkgIEl0IHdhcyBhbHJlYWR5IGRvbmUgYnkgY29tbWl0CgkgIGY1MDZlODA2ODZlZWRjNjY5MTI1ODNkYjExOTE0ZWMzZjcxM2I0NzgKCSAgYnV0IGl0IGhhcyBiZWVuIGJyb2tlbiBieSBjb21taXQKCSAgNDVlYzc3N2NlYTBlNjliMjU5N2QxZWMwMmIxOGVjMzFkNjE4YzkyMAoKMjAxNC0xMi0wMyAwNzo0Njo1MCArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICB0ZXN0czogYWRkIGdsaW1hZ2VzaW5rIHVuaXQgdGVzdCB0byAuZ2l0aWdub3JlCgoyMDE0LTEyLTAyIDE1OjUyOjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBmaXggZG91YmxlIHVucmVmIG9mIG9iamVjdAoJICB0aGUgZGF0ZXRpbWUgaXMgYWxyZWFkeSByZWxlYXNlZCBieSB0aGUgZW5kIG9mIHRoZSBmdW5jdGlvbgoKMjAxNC0xMC0xMCAxMToyNDowOCArMDEwMCAgRGF2aWQgV2FyaW5nIDxkYXZpZC53YXJpbmdAcmQuYmJjLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBGaW5kIHRoZSBjdXJyZW50IHBlcmlvZCBpbiBhIGxpdmUgc3RyZWFtCgkgIFN0YXJ0IGZyb20gdGhlIGNvcnJlY3QgcGVyaW9kIG9uIGEgbGl2ZSBzdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzQyMQoKMjAxNC0xMi0wMiAxMDowNjowMCArMDAwMCAgRGF2aWQgV2FyaW5nIDxkYXZpZC53YXJpbmdAcmQuYmJjLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogRml4IHBlcmlvZCBzZWxlY3Rpb24gZm9yIGxpdmUgc3RyZWFtcwoJICBGaXggcGVyaW9kIHNlbGVjdGlvbiBhbmQgcHJvcGVybHkgZXJyb3Igb3V0IHdoZW4gdXBkYXRlIGNhbm5vdCBiZSBkb25lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUyOTgKCjIwMTQtMDctMDkgMTA6MTE6NDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndGJhc2U6IEltcHJvdmUgbGFzdCBQQ1IgZGV0ZWN0aW9uCgkgIFdoZW4gZGVhbGluZyB3aXRoIHJhbmRvbS1hY2Nlc3MgY29udGVudCAoc3VjaCBhcyBmaWxlcyksIHdlIGluaXRpYWxseQoJICBzZWFyY2ggZm9yIHRoZSBsYXN0IFBDUiBpbiBvcmRlciB0byBmaWd1cmUgb3V0IGR1cmF0aW9uIGFuZCB0byBoYW5kbGUKCSAgb3RoZXIgcG9zaXRpb24gZXN0aW1hdGlvbiBzdWNoIGFzIHRob3NlIHVzZWQgaW4gc2Vla2luZy4KCSAgUHJldmlvdXNseSwgdGhlIGNvZGUgbG9va2luZyBmb3IgdGhhdCBsYXN0IFBDUiB3b3VsZCBzZWFyY2ggaW4gdGhlIGxhc3QKCSAgNjQwa0Igb2YgdGhlIGZpbGUgZ29pbmcgZm9yd2FyZCwgYW5kIHN0b3AgYXQgdGhlIGZpcnN0IFBDUiBlbmNvdW50ZXJlZC4KCSAgVGhlIHByb2JsZW0gd2l0aCB0aGF0IHdhcyB0d28tZm9sZDoKCSAgKiBJdCB3b3VsZG4ndCByZWFsbHkgYmUgdGhlIGxhc3QgUENSIChpdCB3b3VsZCBiZSB0aGUgZmlyc3Qgb25lIHdpdGhpbgoJICB0aG9zZSBsYXN0IDY0MGtCLiBJbiBjYXNlIG9mIFZCUiBmaWxlcywgdGhpcyB3b3VsZCBwdXQgb2ZmIGR1cmF0aW9uCgkgIGFuZCBzZWVrIGNvZGUgc2xpZ2h0bHkuCgkgICogSXQgd291bGQgZmFpbCBvbiBmaWxlcyB3aXRoIGJpdHJhdGVzIGhpZ2hlciB0aGFuIDUyTWJpdC9zIChub3QgY29tbW9uKQoJICBJbnN0ZWFkIHRoaXMgcGF0Y2ggbW9kaWZpZXMgdGhhdCBjb2RlIGJ5OgoJICAqIFNjYW5uaW5nIG92ZXIgdGhlIGxhc3QgMjA0OGtCIChhbGxvd3MgdG8gY29wZSB3aXRoIHN0cmVhbXMgdXAgdG8gMTYwTWJpdC9zKQoJICAqIFN0YXJ0cyBieSB0aGUgZW5kIG9mIHRoZSBmaWxlLCBnb2luZyBvdmVyIGNodW5rcyBvZiAzMDAgTVBFRy1UUyBwYWNrZXRzCgkgICogRG9lc24ndCBzdG9wIGF0IHRoZSBmaXJzdCBQQ1IgZGV0ZWN0ZWQgaW4gYSBjaHVuaywgYnV0IGluc3RlYWQgcmVjb3JkcyBhbGwKCSAgb2YgdGhlbSwgYW5kIG9ubHkgc3RvcCBzZWFyY2hpbmcgaWYgdGhlcmUgd2FzICJhdCBsZWFzdCIgb25lIFBDUiB3aXRoaW4KCSAgdGhhdCBjaHVuawoJICBUaGlzIHNob3VsZCBpbXByb3ZlIGR1cmF0aW9uIHJlcG9ydGluZyBhbmQgc2Vla2luZyBvcGVyYXRpb25zIG9uIFZCUiBmaWxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4NTMyCgoyMDE0LTEyLTAxIDExOjQ3OjI5ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogT25seSBhY3RpdmF0ZSB3YXJuaW5nIGZvciByZWFsIHN0cmVhbXMKCSAgc3RyZWFtcyB3aXRoIHN0cmVhbV90eXBlIDB4ZmYgYXJlIFBDUi1vbmx5IHN0cmVhbXMsIGl0J3Mgbm9ybWFsIG5vdAoJICB0byBoYXZlIGEgcGFkIGZvciB0aGVtLgoKMjAxNC0xMi0wMSAxMjoxNDoyMCArMDEwMCAgSsO8cmdlbiBTbG93YWNrIDxqdXJnZW4uc2xvd2Fja0BiYXJjby5jb20+CgoJKiBleHQveDI2NS9nc3R4MjY1ZW5jLmM6CgkqIGV4dC94MjY1L2dzdHgyNjVlbmMuaDoKCSAgeDI2NWVuYzogYWRkIHFwIHByb3BlcnR5CgkgIFFQIHByb3BlcnR5IGVuYWJsZXMgQ1FQIG1vZGUgYW5kIHNldHMgdGhlIFFQIGZvciBQIHNsaWNlcy4KCjIwMTQtMTItMDEgMTA6NTk6MzIgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzLnZlcm1laXJAYmFyY28uY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvY29jb2EtdmlkZW9vdmVybGF5Lm06CgkgIGdsL2NvY29hOiBGaXggZXhhbXBsZSBvbiBNYWMgT1MgWCAxMC4xMAoJICBVc2luZyBOU0FwcCBkaXJlY3RseSBzZWVtcyB0byBjb25mdXNlIHNvbWV0aGluZywgYXMgdGhlIGNvbXBpbGVyCgkgIHdhcyBleHBlY3RpbmcgYW4gaWQ8TlNGaWxlTWFuYWdlckRlbGVnYXRlPi4gU3dpdGNoZWQgdG8gdXNpbmcKCSAgW05TQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25dLCBhbmQgc3BlY2lmaWVkIHRoZSBkZWxlZ2F0ZQoJICBwcm90b2NvbCBvbiB0aGUgd2luZG93IGNsYXNzIGFzIHdlbGwuCgkgIFNpbWlsYXIgdG8gaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODc0MAoKMjAxNC0xMi0wMSAxMDoyNzo0MyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvTWFrZWZpbGUuYW06CgkgIGdzdC1saWJzOiBGaXggZGVwZW5kZW5jeSBidWlsZAoJICBhZGFwdGl2ZWRlbXV4IGRlcGVuZHMgb24gdXJpZG93bmxvYWRlciBhbmQgdmlkZW8gZGVwZW5kcyBvbiBiYXNlCgoyMDE0LTEyLTAxIDA5OjQ4OjQxICswMTAwICBUaG9tYXMgS2xhdXNuZXIgPHdpekBkYW5iYWxhLnR1d2llbi5hYy5hdD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBEbyBjb21wYXJpc29ucyBpbiBhIHBvcnRhYmxlIHdheSB3aXRoID0gaW5zdGVhZCBvZiA9PQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTUzCgoyMDE0LTExLTMwIDIxOjU0OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHJld29ya2luZyBsaXZlIG1hbmlmZXN0IHVwZGF0ZSB3YWl0CgkgIENoZWNrIGlmIHRoZSBzdHJlYW0gaXMgbGl2ZSBiZWZvcmUgY2hlY2tpbmcgaWYgaXQgaXMgRU9TIGFzIGEgbGl2ZQoJICBzdHJlYW0gbWlnaHQgYmUgY29uc2lkZXJlZCBFT1Mgd2hlbiBpdCBqdXN0IG5lZWRzIHRvIHdhaXQgZm9yIGEgbWFuaWZlc3QKCSAgdXBkYXRlIHRvIHByb2NlZWQgd2l0aCB0aGUgbmV4dCBmcmFnbWVudHMKCjIwMTQtMTEtMjkgMTA6Mjg6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZml4IG1hbmlmZXN0IHVwZGF0ZSBsb2NraW5nCgkgIFRvIGF2b2lkIHVubG9ja2luZyBhIG5vdCBsb2NrZWQgbXV0ZXgKCjIwMTQtMTEtMjkgMTA6Mjc6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogRml4IHNlZ21lbnQgZm9yIG1hbmlmZXN0cyB0aGF0IHdvbid0IHN0YXJ0IGF0IDAKCSAgRm9yIGxpdmUgc3RyZWFtcywgdGhlIG1hbmlmZXN0IG1pZ2h0IHN0YXJ0IGF0IGFuIGFkdmFuY2VkIHBvc2l0aW9uLiBBdm9pZAoJICB1c2luZyBzZWdtZW50IHN0YXJ0PTAgdG8gaGF2ZSBwbGF5YmFjayBzdGFydCBpbW1lZGlhdGVseQoKMjAxNC0xMS0yOSAxMDoyNjozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcmVwbGFjZSB0aGUgc3RyZWFtcyB3aXRoIHRoZSBuZXcgbXBkIGNsaWVudCdzIHN0cmVhbXMKCSAgT3RoZXJ3aXNlIGl0IHdvbid0IHVwZGF0ZSB3aXRoIHRoZSBuZXcgc2VnbWVudCBpbmZvIGZyb20gdGhlIHBsYXlsaXN0CgkgIHVwZGF0ZQoKMjAxNC0xMS0yOSAxMDoyNTo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogd2hlbiB1cGRhdGluZyB0aGUgbWFuaWZlc3QsIHNldCB0aGUgdXJpCgkgIFRoaXMgd2lsbCBhbGxvdyBkYXNoZGVtdXggdG8gY3JlYXRlIHRoZSBjb3JyZWN0IGZ1bGwgcGF0aCBVUklzIHRvCgkgIGNvbnRpbnVlIGRvd25sb2FkaW5nIGZyYWdtZW50cwoKMjAxNC0wOC0yNiAxNjo0NTo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvTWFrZWZpbGUuYW06CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHBvcnQgdG8gYWRhcHRpdmUgZGVtdXgKCjIwMTQtMTEtMjIgMTc6Mjc6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogYWxzbyBjbGVhciBmbHVzaGluZyBzdGF0ZSBvbiBwYWRzIGJlZm9yZSByZXN0YXJ0aW5nCgkgIER1cmluZyBmbHVzaGluZyBzZWVrcyB0aGUgZmx1c2hpbmcgZmxvdyByZXR1cm4gd2lsbCBwcm9wYWdhdGUgdXAgdG8gdGhlCgkgIHNvdXJjZSBlbGVtZW50IGFuZCBhbGwgcGFkcyBhcmUgZ29pbmcgdG8gaGF2ZSB0aGUgZmx1c2hpbmcgZmxhZyBzZXQuCgkgIFNvIGJlZm9yZSByZXN0YXJ0aW5nIGFsc28gcmVtb3ZlIHRoYXQgZmxhZyB0b2dldGhlciB3aXRoIHRoZSBFT1Mgb25lLgoJICBXZSBkb24ndCBkbyB0aGF0IHdoZW4gcHVzaGluZyB0aGUgZmx1c2ggc3RvcCBldmVudCBiZWNhdXNlIG91ciBldmVudAoJICBoYW5kbGVyIGZvciB0aGUgcHJveHlwYWQgd2lsbCBkcm9wIGFsbCBldmVudHMuCgoyMDE0LTExLTIxIDIwOjQyOjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBhZGQgYWRhcHRpdmVkZW11eCBiYXNlIGNsYXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU4NDgKCjIwMTQtMTEtMjkgMTM6MTY6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IG1pbm9yIGNhcHMgZXZlbnQgcGF5bG9hZGluZyBvcHRpbWlzYXRpb24KCSAgQXZvaWQgY3JlYXRpb24gb2YgYnVmZmVyIHdlJ3JlIGp1c3QgZ29pbmcgdG8gdGhyb3cKCSAgYXdheSB0d28gbGluZXMgbGF0ZXIgYW55d2F5LgoKMjAxNC0xMS0yOSAxMzoxNTozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdkcHBheTogZml4IHNvbWUgbWVtb3J5IGxlYWtzCgoyMDE0LTExLTMwIDAwOjQyOjE3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogcmVxdWlyZSBHTF9BUkJfRVMyX2NvbXBhdGliaWxpdHkgZm9yIG9wZW5nbDMKCSAgdW50aWwgd2UgZ2VuZXJhdGUgZ2wzIGNvbXBsaWFudCBzaGFkZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAwMTIKCjIwMTQtMTEtMzAgMDA6MTg6NTUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgZ2xpbWFnZXNpbms6IHByb3Blcmx5IGhhbmRsZSB0aGUgIW9wZW5nbDMgY2FzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMDEyCgoyMDE0LTExLTI4IDE3OjMxOjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkgIGRlY2tsaW5rc2luazogRHJvcCB0b28gbGF0ZSBmcmFtZXMgYW5kIHN0YXJ0IHNjaGVkdWxlZCBwbGF5YmFjayBhdCB0aGUgY29ycmVjdCB0aW1lCgoyMDE0LTExLTI4IDE2OjA0OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkgIGdsZmlsdGVyYXBwOiBmaXggdW51c2VkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCSAgV2hlbiBHU1RfR0xfSEFWRV9PUEVOR0wgaXMgMCBvciB1bnNldC4KCjIwMTQtMTEtMjggMTU6MDY6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGlua3NyYzogRm9yIHRoZSBzb3VyY2UsIHVuc2V0dGluZyB0aGUgY2FsbGJhY2sgYWxyZWFkeSBkZWxldGVzIGl0CgoyMDE0LTExLTE0IDExOjE5OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkgIGRlY2tsaW5rc2luazogV2FpdCBmb3IgdGhlIHBpcGVsaW5lIGNsb2NrIGluc3RlYWQgb2YgdGhlIGRlY2tsaW5rIGNsb2NrCgkgIE90aGVyd2lzZSB3ZSdyZSBnb2luZyB0byBzdGFydmUgb3RoZXIgZWxlbWVudHMgaWYgdGhlIGRlY2tsaW5rIGNsb2NrCgkgIGlzIHNsb3dlciB0aGFuIHRoZSBwaXBlbGluZSBjbG9jaywgb3Igc3RhcnRzIG11Y2ggbGF0ZXIuCgkgIE9mIGNvdXJzZSB0aGlzIHdpbGwgc3RpbGwgY2F1c2UgcHJvYmxlbXMgaWYgdGhlIGRlY2tsaW5rIGNsb2NrIGFuZCBvdXJzIGFyZQoJICBjb21wbGV0ZWx5IG91dCBvZiBzeW5jLCBvciBydW5uaW5nIGF0IGEgdmVyeSBkaWZmZXJlbnQgcmF0ZS4gQnV0IHRoaXMgYXQgbGVhc3QKCSAgd29ya3MgYmV0dGVyIG5vdy4KCjIwMTQtMTEtMTQgMTA6NTg6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJICBkZWNrbGlua3Npbms6IFNjaGVkdWxlIHZpZGVvIGZyYW1lcyBhY2NvcmRpbmcgdG8gdGhlaXIgdGltZXN0YW1wcywgbm90IGFjY29yZGluZyB0byBhIGZyYW1lIGNvdW50ZXIKCjIwMTQtMTEtMTQgMTE6MDI6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSAgZGVja2xpbmtzaW5rOiBBZGQgc29tZSBGSVhNRSBjb21tZW50cyBhYm91dCBzeW5jaHJvbml6YXRpb24KCjIwMTQtMTEtMTQgMTA6Mzg6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGlua3NyYzogU2FtcGxlIHRoZSBwaXBlbGluZSBjbG9jayBmb3IgdGhlIHRpbWVzdGFtcHMgaW5zdGVhZCBvZiBjb21pbmcgdXAgd2l0aCBvdXIgb3duCgkgIElmIHdlIGp1c3QgY291bnQgdGhlIGZyYW1lcyBhbmQgY2FsY3VsYXRlIHRpbWVzdGFtcHMgZnJvbSB0aGF0LCBhbGwgZnJhbWVzCgkgIHdpbGwgYXJyaXZlIGxhdGUgaW4gdGhlIHNpbmsgYXMgd2UgaGF2ZSBhIGxpdmUgc291cmNlIGhlcmUuIEluc3RlYWQgdGFrZQoJICB0aGUgcGlwZWxpbmUgY2xvY2sgYXQgY2FwdHVyZSB0aW1lIGFzIHJlZmVyZW5jZS4KCjIwMTQtMTEtMjggMTQ6NTA6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbmtzcmM6IEhhbmRsZSBjYWxsYmFjay9kZWxlZ2F0ZSBvYmplY3QgdGhlIHNhbWUgd2F5IGFzIGluIHRoZSBzaW5rCgkgIFBvdGVudGlhbGx5IGZpeGVzIGNyYXNoZXMuCgoyMDE0LTExLTI4IDE0OjQ2OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuaDoKCSAgZGVja2xpbmtzaW5rOiBEb24ndCBjcmFzaCB3aGVuIGdvaW5nIHRvIFJFQURZIGFub3RoZXIgdGltZQoJICBXZSBoYXZlIHRvIGhhbmRsZSB0aGUgY2FsbGJhY2sgb2JqZWN0IGEgYml0IGRpZmZlcmVudDoKCSAgYSkgaXQgbmVlZHMgYSB2aXJ0dWFsIGRlc3RydWN0b3IKCSAgYikgd2UgbmVlZCB0byBzZXQgdGhlIGNhbGxiYWNrIHRvIE5VTEwgd2hlbiB3ZSdyZSBkb25lIHdpdGggdGhlIG91dHB1dAoJICBjKSBjcmVhdGUgYSBuZXcgb25lIGV2ZXJ5IHRpbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDYxNgoKMjAxNC0xMS0yOCAxMDoyMzo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogRmFpbHVyZSB0byBtYXAgYSB2aWRlbyBmcmFtZSBpcyBub3QganVzdCBhIHdhcm5pbmcKCSAgQWxzbyBhZGQgc29tZSB3YXJuaW5nIGRlYnVnIG91dHB1dCBpZiBtYXBwaW5nIGEgb3V0cHV0IGJ1ZmZlciBmYWlscwoKMjAxNC0xMS0yOCAxMDoyMjo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBGYWlsdXJlIHRvIG1hcCBhIHZpZGVvIGZyYW1lIGlzIG5vdCBqdXN0IGEgd2FybmluZwoKMjAxNC0xMS0yOCAxNDowODo0MCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJICBnbGZpbHRlcmFwcCBpcyBub3cgYXZhaWxhYmxlIG9uIGdsZXMyIGFzIHdlbGwgc28gYnVpbGQgaXQKCjIwMTQtMTEtMjggMTM6MDQ6MjEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nc3RnbF9jb21wYXQuaDoKCSAgZ2w6IGZpeHVwIGNvbXBhdCBkZWZpbml0aW9uIGZvciBHTHVpbnQ2NCBmb3IgT1MgWAoKMjAxNC0xMS0yOCAxMTo1NjoxMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nc3RnbF9jb21wYXQuaDoKCSAgZ2w6IGFkZCBjb21wYXQgZGVmaW5pdGlvbiBmb3IgR0x1aW50NjQgZm9yIGFuZHJvaWQKCSAgLi4vLi4vLi4vLi4vZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9zeW5jLmg6NDE6MjM6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnR0x1aW50NjQnCgkgIEdMdWludDY0IHRpbWVvdXQpKQoKMjAxNC0xMS0yOCAwMjoyMTo0OSArMDkwMCAgRGFubnkgU29uZyA8ZGFubnkuc29uZy5nYUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IGZpeCB0eXBvIGluIGRvY3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDgxNQoKMjAxNC0xMS0yOCAxMToxMTo0MyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSAgZ2xzeW5jOiBmaXggYnVpbGQgd2l0aCBkZXNrdG9wIGdsCgoyMDE0LTExLTI4IDExOjA0OjIyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkgIGdsOiBmaXggdHlwbyBpbiAjaWYKCSAgR1NUX0dMX0FQSV9IQVZFX09QRU5HTCBkb2Vzbid0IGV4aXN0CgoyMDE0LTExLTI4IDEwOjU5OjQ2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJICBnbDogZml4IHZhcmlvdXMgYnVpbGQgZXJyb3JzIHdpdGhvdXQgZGVza3RvcCBnbAoKMjAxNC0xMS0yOCAxMDowMzoxOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbGRpc3BsYXk6IGZpeCBidWlsZCBlcnJvcgoJICBnc3RnbGRpc3BsYXkuYzoyMzQ6NTQxOiBlcnJvcjogJ3JldHVybicgd2l0aCBubyB2YWx1ZSwgaW4gZnVuY3Rpb24gcmV0dXJuaW5nIG5vbi12b2lkIFstV2Vycm9yXQoJICBnX3JldHVybl9pZl9mYWlsIChHU1RfSVNfR0xfRElTUExBWSAoZGlzcGxheSkpOwoKMjAxNC0xMS0yNyAyMTowNTo0NSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZXh0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZXh0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZXh0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgZ2xkaXNwbGF5OiBpbXBsZW1lbnQgcnVudGltZSBHTCBhcGkgZmlsdGVyaW5nCgkgIE5lZWRlZCBzbyB0aGF0IHRoZSBwaXBlbGluZS9hcHBsaWNhdGlvbiBjYW4gbGltaXQgdGhlIGNob2ljZSBvZiBHTCBhcGkKCSAgdG8gd2hhdCBpdCBzdXBwb3J0cwoKMjAxNC0xMS0yNyAxNjoxNzo1MCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5oOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmV5dXYvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvZG91YmxlY3ViZS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9yZWNvcmRncmFwaGljL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcWdscmVuZGVyZXIuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvc2Rsc2hhcmUuYzoKCSAgZ2w6IHJlbW92ZSB0aGUgdXNlIG9mIGdsdQoKMjAxNC0xMC0xNyAxNToyMjoyNCArMDIwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dzdGdsX2NvbXBhdC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL3N5bmMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmg6CgkgIGdsOiBhZGQgYSBzeW5jIG1ldGEgZm9yIHN5bmNocm9uaXppbmcgYWNyb3NzIEdMIGNvbnRleHRzCgkgIEEgY29udGV4dCBjYW4gY3JlYXRlIGEgR0xzeW5jIG9iamVjdCB0aGF0IGNhbiBiZSB3YWl0ZWQgb24gaW4gb3JkZXIKCSAgdG8gZW5zdXJlIHRoYXQgR0wgcmVzb3VyY2VzIGNyZWF0ZWQgaW4gb25lIGNvbnRleHQgYXJlIGFibGUgdG8gYmUKCSAgdXNlZCBpbiBhbm90aGVyIHNoYXJlZCBjb250ZXh0IHdpdGhvdXQgYW55IGNoYW5jZSBvZiByZWFkaW5nIGludmFsaWQKCSAgZGF0YS4KCSAgVGhpcyBtZXRhIHdvdWxkIGJlIHBsYWNlZCBvbiBidWZmZXJzIHRoYXQgYXJlIGtub3duIHRvIGNyb3NzIGZyb20KCSAgb25lIGNvbnRleHQgdG8gYW5vdGhlci4gIFRoZSByZWNlaXZpbmcgZWxlbWVudCB3b3VsZCB0aGVuIHdhaXQKCSAgb24gdGhlIHN5bmMgb2JqZWN0IHRvIGVuc3VyZSB0aGF0IHRoZSBkYXRhIHRvIGJlIHVzZWQgaXMgY29tcGxldGUuCgoyMDE0LTEwLTE3IDE1OjA4OjI5ICswMjAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2FsbF9mdW5jdGlvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9zeW5jLmg6CgkgIGdscHJvdG90eXBlczogYWRkIHN5bmMgZnVuY3Rpb24gZGVmaW5pdGlvbnMKCjIwMTQtMTEtMTcgMTg6MDY6MjAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsZmlsdGVyYXBwOiBwb3J0IHRvIGdsZXMyIGFuZCBnbDMKCjIwMTQtMTEtMTQgMjM6MjQ6NDggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5oOgoJICBnbG92ZXJsYXk6IHN1cHBvcnQgZ2wzCgoyMDE0LTExLTE0IDAwOjIwOjEwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuaDoKCSAgZ2x2aWRlb21peGVyOiBhZGQgc3VwcG9ydCBmb3IgZ2wzCgoyMDE0LTExLTEzIDIxOjMwOjM4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuaDoKCSAgZ2xmaWx0ZXJjdWJlOiBhZGQgYSBnbDMgY29kZSBwYXRoCgoyMDE0LTExLTEzIDE1OjA5OjA0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSAgZ2xmaWx0ZXJzaGFkZXI6IHN1cHBvcnQgZ2wzCgoyMDE0LTExLTEzIDEyOjEyOjQ2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5oOgoJICBnbHRyYW5zZm9ybWF0aW9uOiBzdXBwb3J0IGdsMwoKMjAxNC0xMS0xMiAyMzo0ODozMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBnbGVmZmVjdHM6IHN1cHBvcnQgZ2wzIHdoZXJlZXZlciBnbGVzMiBpcyBzdXBwb3J0ZWQKCjIwMTQtMTEtMTIgMjM6NDc6MTMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5oOgoJICBnbGNvbG9yc2NhbGU6IHN1cHBvcnQgZ2wzCgoyMDE0LTExLTEyIDIyOjQ5OjExICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIGdsZmlsdGVyOiBhZGQgYSBnbDMgY29kZSBwYXRoIHVzaW5nIHZhbydzIGFuZCB2Ym8ncwoKMjAxNC0xMS0xMiAyMjo0ODowNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSAgZ2xmcmFtZWJ1ZmZlcjogYWRkIHN1cHBvcnQgZm9yIGdsMwoKMjAxNC0xMC0yMyAyMjozNToyMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJICBnbGNvbG9yY29udmVydDogYWRkIHN1cHBvcnQgZm9yIGdsMwoKMjAxNC0xMC0yMSAyMjoxODo1MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBnbGltYWdlc2luazogdXNlIHZibydzIGFuZCB2YW8ncyBmb3IgZ2wzCgoyMDE0LTEwLTIxIDE5OjMwOjM4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkgIGdsc2hhZGVyIGFkZCBzdXBwb3J0IGZvciBnbDMKCjIwMTQtMTAtMTkgMDg6MDk6MzcgKzA0MDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSAgZ2x4OiBhc2sgZm9yIGEgR0wzIGNvcmUgY29udGV4dAoKMjAxNC0xMS0yNyAyMToyMjo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBNaW5vciBjbGVhbnVwCgoyMDE0LTExLTI2IDE1OjAyOjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9ycGFkLmg6CgkgIGNvbXBvc2l0b3I6IEltcGxlbWVudCByZXNjYWxpbmcgb2YgdGhlIGlucHV0IHZpYSBwYWQgcHJvcGVydGllcwoJICBjb21wb3NpdG9yIGhhcyBub3cgdGhlIHNhbWUgaW50ZXJmYWNlIGFzIGdsdmlkZW9taXhlci4KCjIwMTQtMTEtMjcgMjA6MzQ6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogQ29weSBvdmVyIG1vcmUgZmllbGRzIGZyb20gdGhlIHJlbGV2YW50IHZpZGVvLWluZm8KCSAgZ3N0X3ZpZGVvX2luZm9fc2V0X2Zvcm1hdCgpIHdpbGwgcmVzZXQgdGhlIGNvbXBsZXRlIHZpZGVvLWluZm8sIGJ1dAoJICB3ZSB3YW50IHRvIGtlZXAgdmFsdWVzIGxpa2UgdGhlIFBBUiwgY29sb3JpbWV0cnkgYW5kIGNocm9tYSBzaXRlLgoJICBPdGhlcndpc2Ugd2UgcmlzayBzZXR0aW5nIGRpZmZlcmVudCB2YWx1ZXMgb24gdGhlIHNyY3BhZCBjYXBzIHRoYW4KCSAgd2hhdCBpcyBhY3R1YWxseSBpbnNpZGUgdGhlIGJ1ZmZlcnMuCgoyMDE0LTExLTI3IDIwOjI1OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IERpcmVjdGx5IHVzZSB0aGUgY29udmVydGVycyB2aWRlby1pbmZvIGluc3RlYWQgb2YgcmVjYWxjdWxhdGluZyBpdAoKMjAxNC0xMS0yNyAxOTo1MjoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBEbyBzb3VyY2UgcGFkIG5lZ290aWF0aW9uIG9ubHkgZnJvbSB0aGUgYWdncmVnYXRlZCBmdW5jdGlvbgoJICBPdGhlcndpc2Ugd2UgbWlnaHQgbmVnb3RpYXRlIGZyb20gdGhlIHNpbmtwYWQgc3RyZWFtaW5nIHRocmVhZHMgYXQKCSAgdGhlIHNhbWUgdGltZSBhcyBvbiB0aGUgc3JjcGFkIHN0cmVhbWluZyB0aHJlYWQsIGFuZCB0aGVuIGFsbCBraW5kcwoJICBvZiBjcmF6eSBidWdzIGhhcHBlbiB0aGF0IGRvbid0IG1ha2UgYW55IHNlbnNlIGF0IGFsbC4KCjIwMTQtMTEtMjcgMTg6NDY6MDMgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvcnBhZC5oOgoJICB2aWRlb2NvbnZlcnQ6IEhpZGUgYWxsIGNvbnZlcnNpb24gcmVsYXRlZCBmaWVsZHMKCSAgQW5kIGRvIG5vdCBkZWxheSB0aGUgc2V0dGluZyBvZiB0aGUgY29udmVyc2lvbl9pbmZvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA3NjgKCjIwMTQtMTEtMjcgMTY6NDM6MzkgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogRG8gbm90IHRyeSB0byByZXNpemUgYSBidWZmZXIgdG8gYSBuZWdhdGl2ZSBzaXplIG9uIEVPUwoKMjAxNC0xMS0yNiAxODoyNDowNSArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3JwYWQuaDoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBFeHBvc2Ugdm1ldGhvZHMgdG8gc2V0IGNvbnZlcnRlcnMgYW5kIHByZXBhcmUvY2xlYW4gZnJhbWVzCgkgIFRoaXMgZ2l2ZXMgbW9yZSBmbGV4aWJpbGl0eSB0byB0aGUgc3ViY2xhc3NlcyBhbmQgcGVybWl0cyB0byByZW1vdmUgdGhlCgkgIEdzdFZpZGVvQWdncmVnYXRvckNsYXNzLT5kaXNhYmxlX2ZyYW1lX2NvbnZlcnNpb24gdWdseSBBUEkuCgkgIFdBUk5JTkc6IFRoaXMgYnJlYWtzIHRoZSBBUEkgYXMgaXQgcmVtb3ZlcyB0aGUgZGlzYWJsZV9mcmFtZV9jb252ZXJzaW9uCgkgIGZpZWxkCgkgIEFQSToKCSAgKyBHc3RWaWRlb0FnZ3JlZ2F0b3JDbGFzcy0+ZmluZF9iZXN0X2Zvcm1hdAoJICArIEdzdFZpZGVvQWdncmVnYXRvclBhZENsYXNzLT5zZXRfZm9ybWF0CgkgICsgR3N0VmlkZW9BZ2dyZWdhdG9yUGFkQ2xhc3MtPnByZXBhcmVfZnJhbWUKCSAgKyBHc3RWaWRlb0FnZ3JlZ2F0b3JQYWRDbGFzcy0+Y2xlYW5fZnJhbWUKCSAgLSBHc3RWaWRlb0FnZ3JlZ2F0b3JDbGFzcy0+ZGlzYWJsZV9mcmFtZV9jb252ZXJzaW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA3NjgKCjIwMTQtMTEtMjYgMTU6NDE6MzcgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHdhdGNoZG9nLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHdhdGNoZG9nLmg6CgkgIHdhdGNoZG9nOiBIYW5kbGUgRkxVU0hJTkcgc2VlayBldmVudHMgZXZlbiBpbiBQQVVTRUQgc3RhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDc1NwoKMjAxNC0xMS0yNiAxNTo0MzoxMiArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0d2F0Y2hkb2cuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0d2F0Y2hkb2cuaDoKCSAgd2F0Y2hkb2c6IFByb3Blcmx5IGhhbmRsZSBQQVVTRUQgc3RhdGUKCSAgSW4gUEFVU0VEIHN0YXRlIHdlIHNob3VsZCBqdXN0IHByZXJvbGwsIHNvIGdldCBvbmUgYnVmZmVyCgkgIGFuZCBzdG9wIG1vbml0b3JpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA3NTcKCjIwMTQtMTAtMzEgMTE6MDE6NDcgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBMZXQgYSBmdWxsIHJlbmVnb3RpYXRpb24gaGFwcGVuIGFmdGVyIHJlbW92aW5nIHRoZSBsYXN0IHBhZAoJICBXaXRoIHRoZSBjdXJyZW50IGNvZGUsIHdlIHdpbGwgZW5kIHVwIHNldHRpbmcgdGhlIHByZWZlcnJlZCBkb3duc3RyZWFtCgkgIGZvcm1hdCBhcyB0aGUgc3JjcGFkIGZvcm1hdCwgYW5kIGl0IG1pZ2h0IG5vdCBiZSBhY2NlcHRlZCBieSB0aGUgbmV4dAoJICBzaW5rcGFkIHRvIGJlIGFkZGVkLiBXZSBzaG91bGQgaW5zdGVhZCBsZXQgdGhlIG5leHQgc2lua3BhZCByZWNvbmZpZ3VyZQoJICBldmVyeXRoaW5nLgoKMjAxNC0xMS0yNyAxMzo0MDo1NiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJICB2dGVuYzogYWRkIHF1YWxpdHkgcHJvcGVydHkKCjIwMTQtMTEtMjcgMTM6MzM6MDcgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBzZXQgcHJvZmlsZSBhbmQgbGV2ZWwgaW4gY2FwcwoKMjAxNC0xMS0yNyAxODowOTo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogVW5yZWYgYnVmZmVyIHdpdGggdGhlIGNvcnJlY3QgZnVuY3Rpb24KCjIwMTQtMTEtMjcgMTg6MDk6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IEhhbmRsZSBmYWlsdXJlIG9mIG1lbW9yeSBhbGxvY2F0aW9uIGdyYWNlZnVsbHkKCjIwMTQtMTEtMjcgMTg6MDQ6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IFVzZSBnX3RyeV9tYWxsb2MoKSBpbiB0aGUgYXBwcm9wcmlhdGUgcGxhY2VzCgkgIGdfbWFsbG9jKCkgYWJvcnRzIGlmIGFsbG9jYXRpb24gZmFpbHMsIGl0J3MgcG9pbnRsZXNzIHRvIGNoZWNrIGFnYWluc3QgTlVMTAoJICBhZnRlcndhcmRzLiBUaGF0J3Mgd2h5IGdfdHJ5X21hbGxvYygpIGV4aXN0cy4KCjIwMTQtMTEtMjcgMTc6MTE6MTMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGYzMmNmY2QgdG8gZWYxZmZkYwoKMjAxNC0xMS0yNyAxMDo0ODo0MyArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogc3VwcG9ydCBSR0IxNi9CR1IxNiB2aWRlbyBmb3JtYXQgZG93bmxvYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDgwMQoKMjAxNC0xMS0yNyAxMzowMToxOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBvbmx5IGF0dGVtcHQgYSByZXNpemUgd2hlbiB0aGUgd2luZG93IGhhcyBhbHJlYWR5IHJlc2l6ZWQKCSAgZml4ZXMgYSBibGFjayBzdGFydHVwIHNjcmVlbiBvbiB3YXlsYW5kCgoyMDE0LTExLTI3IDExOjQ3OjM4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJICBnbC93YXlsYW5kOiBpbXBsZW1lbnQgcmVzaXppbmcgdGhlIHdpbmRvdyB1c2luZyB0aGUgcmlnaHQgbW91c2UgYnV0dG9uCgoyMDE0LTExLTI2IDIyOjA1OjEwICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJICBidWlsZDogVXNlIG5ld2VyIEFYX1BUSFJFQUQgaW5zdGVhZCBvZiBBQ1hfUFRIUkVBRAoKMjAxNC0xMS0yNiAxNDozNjo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvcXR3cmFwcGVyL01ha2VmaWxlLmFtOgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSogc3lzL3F0d3JhcHBlci9jb2RlY21hcHBpbmcuYzoKCSogc3lzL3F0d3JhcHBlci9jb2RlY21hcHBpbmcuaDoKCSogc3lzL3F0d3JhcHBlci9pbWFnZWRlc2NyaXB0aW9uLmM6CgkqIHN5cy9xdHdyYXBwZXIvaW1hZ2VkZXNjcmlwdGlvbi5oOgoJKiBzeXMvcXR3cmFwcGVyL3F0dXRpbHMuYzoKCSogc3lzL3F0d3JhcHBlci9xdHV0aWxzLmg6CgkqIHN5cy9xdHdyYXBwZXIvcXR3cmFwcGVyLmM6CgkqIHN5cy9xdHdyYXBwZXIvcXR3cmFwcGVyLmg6CgkqIHN5cy9xdHdyYXBwZXIvdmlkZW9kZWNvZGVycy5jOgoJICBSZW1vdmUgdW5wb3J0ZWQgYW5kIG9ic29sZXRlIHF0d3JhcHBlciBwbHVnaW4gY29kZQoJICBRdWlja1RpbWUgaXMgZGVwcmVjYXRlZCwgd2Ugd2FudCBuZXcgcGx1Z2lucyBiYXNlZAoJICBvbiBhdmZvdW5kYXRpb24gKG9zeCkgb3IgZHh2YS9tZWRpYWZvdW5kYXRpb24gKHdpbmRvd3MpLgoKMjAxNC0xMS0yNyAwMToyNzoxOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBzdXBwb3J0IGZpeGVkIGRpbWVuc2lvbnMgb24gYm90aCBzaWRlcyBvZiB0aGUgZWxlbWVudAoJICBGaXhlczoKCSAgd2lkdGg9MzIwLGhlaWdodD0yNDAgISBnbGZpbHRlciAhIHdpZHRoPTgwMCxoZWlnaHQ9NjAwCgkgIHdpZHRoPTIzMCxoZWlnaHQ9MjQwICEgZ2xmaWx0ZXIgISB3aWR0aD02MDAKCSAgLi4uICEgZ2xmaWx0ZXIgISB3aWR0aD04MDAKCjIwMTQtMTEtMjUgMTM6MzM6MDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2w6IGZpeCBhdXRvbWFnaWMgZGlzYWJsaW5nIG9mIGRlc2t0b3AgR0wKCSAgSWYgY29uZmlndXJlIGZpbmRzIEdMICsgR0xFUzIgYnV0IHRoZSB1c2VyIHBhc3NlcyAtLWVuYWJsZS1nbGVzMiBhbmQKCSAgdGhlIHR3byBHTCBBUEkncyBjYW5ub3QgYmUgYnVpbHQgYWdhaW5zdCB0b2dldGhlciwgY29uZmlndXJlIHdhcyBzdGlsbAoJICBhbGxvd2luZyB0aGUgZGVza3RvcCBHTCBzdGFjayB0byBiZSBidWlsdC4KCjIwMTQtMTEtMjYgMTM6MDY6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogQWxzbyBzeW5jIHBhZCBwcm9wZXJ0aWVzIHRvIHRoZSBjb250cm9sbGVyIGlmIGNvbnZlcnNpb24gaXMgZGlzYWJsZWQKCjIwMTQtMTEtMjYgMTI6MzU6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3JwYWQuaDoKCSAgY29tcG9zaXRvcjogUmVtb3ZlIHVudXNlZCB6b3JkZXIgcGFkIHByb3BlcnR5CgkgIEl0J3MgaGFuZGxlZCBpbiB2aWRlb2FnZ3JlZ2F0b3IgYWxyZWFkeS4KCjIwMTQtMTEtMjMgMjM6NDk6NTAgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvbmFsdXRpbHMuaDoKCSAgY29kZWNwYXJzZXJzOiBmaXggc29tZSBjb21waWxlciB3YXJuaW5ncwoJICBpNjg2LWFwcGxlLWRhcndpbjExLWxsdm0tZ2NjLTQuMiAoR0NDKSA0LjIuMQoJICAid2FybmluZzogY29tcGFyaXNvbiBpcyBhbHdheXMgdHJ1ZSBkdWUgdG8gbGltaXRlZAoJICByYW5nZSBvZiBkYXRhIHR5cGUiCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA2NzMKCjIwMTQtMTEtMjUgMTg6NTM6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IEdzdFZpZGVvTWV0YSBpcyBzdXBwb3J0ZWQganVzdCBmaW5lLCB0ZWxsIHVwc3RyZWFtIGFib3V0IHRoYXQKCSAgQWxzbyBwcm92aWRlIGEgR3N0VmlkZW9CdWZmZXJQb29sIHRvIHVwc3RyZWFtIGp1c3QgaW4gY2FzZS4KCjIwMTQtMTEtMjQgMTM6MjU6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSAgd2lua3M6IGZpeCBkZWJ1ZyBtZXNzYWdlIGZvcm1hdCBpc3N1ZXMKCSAgQW5kIHByaW50IGxhc3QgYml0cyBvZiBHVUlEIHByb3Blcmx5IGluc3RlYWQKCSAgb2YgcHJpbnRpbmcgbm9uc2Vuc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMwNTUKCjIwMTQtMTEtMjUgMDg6MjQ6MTYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogZml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3MKCSAgaTY4Ni1hcHBsZS1kYXJ3aW4xMS1sbHZtLWdjYy00LjIgKEdDQykgNC4yLjEKCSAgIndhcm5pbmc6IGNvbXBhcmlzb24gaXMgYWx3YXlzIHRydWUgZHVlIHRvIGxpbWl0ZWQKCSAgcmFuZ2Ugb2YgZGF0YSB0eXBlIgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNjc0CgoyMDE0LTExLTI0IDE5OjUzOjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHVzZSBwa2ctY29uZmlnIHRvIGRldGVjdCBYMTEKCSAgTGlrZSB3ZSBkbyBpbiAtYmFzZSBhbmQgLWdvb2Qgbm93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMDQ3CgoyMDE0LTExLTI0IDE5OjIxOjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjRlbmM6IFVzZSBhIGZpeGVkIG51bWJlciBvZiBzbGljZXMgYnkgZGVmYXVsdAoKMjAxNC0xMS0yNCAxOToxNjoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0ZW5jOiBBZGQgc29tZSBtb3JlIGVuY29kaW5nIHByb3BlcnRpZXMKCSAgTWVyZ2VkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL0VyaWNzc29uUmVzZWFyY2gvb3BlbndlYnJ0Yy1nc3QtcGx1Z2lucwoJICBiYXNlZCBvbiBhIHBhdGNoc2V0IGJ5IFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGVyaWNzc29uLmNvbT4KCjIwMTQtMTEtMjQgMTg6NDA6NTMgKzA1MzAgIFJhbXByYWthc2ggSmVsYXJpIDxyYW1wcmFrYXNoLmplbGFyaUBlLWNvbnN5c3RlbXMuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IEZpeCB1bnVzZWQgdmFyaWFibGUgd2FybmluZyBieSBtb3ZpbmcgZGVjbGFyYXRpb24gd2hlcmUgaXQgaXMgYWN0dWFsbHkgdXNlZAoKMjAxNC0xMS0yNCAxNDowNzoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJICBkZWNrbGluazogQWRkIHN1cHBvcnQgZm9yIDJrIG1vZGVzCgoyMDE0LTExLTI0IDEzOjU2OjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbms6IEhEMTA4MGk1MCBpcyA1MCBmcmFtZXMgcGVyIHNlY29uZAoKMjAxNC0xMS0yNCAxNzo1ODo0MiArMDUzMCAgUmFtcHJha2FzaCBKZWxhcmkgPHJhbXByYWthc2guamVsYXJpQGUtY29uc3lzdGVtcy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBGaXggZm9ybWF0IHN0cmluZyBjb21waWxlciB3YXJuaW5nCgoyMDE0LTExLTI0IDE3OjE4OjQ0ICswNTMwICBSYW1wcmFrYXNoIEplbGFyaSA8cmFtcHJha2FzaC5qZWxhcmlAZS1jb25zeXN0ZW1zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkgIGR2YnNlY3Rpb246IEZpeCBmb3JtYXQgc3RyaW5nIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTQtMTEtMjQgMTY6NTQ6NDIgKzA1MzAgIFJhbXByYWthc2ggSmVsYXJpIDxyYW1wcmFrYXNoLmplbGFyaUBlLWNvbnN5c3RlbXMuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkgIG1wZWd0c2Rlc2NyaXB0b3I6IEZpeCBmb3JtYXQgc3RyaW5nIGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOjc3ODoxNjogd2FybmluZzogZm9ybWF0IHNwZWNpZmllcyB0eXBlICd1bnNpZ25lZCBsb25nJyBidXQgdGhlIGFyZ3VtZW50IGhhcyB0eXBlICdpbnQnIFstV2Zvcm1hdF0KCjIwMTQtMTEtMjQgMTE6MzI6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IEZpeCB2YWxpZCBjb21waWxlciB3YXJuaW5nCgkgIGdzdGdsdXBsb2FkLmM6NDQyOjMyOiBlcnJvcjogaWYgc3RhdGVtZW50IGhhcyBlbXB0eSBib2R5IFstV2Vycm9yLC1XZW1wdHktYm9keV0KCSAgaWYgKHVwbG9hZC0+dGV4dHVyZV9pZHNbaV0pOwoJICBeCgoyMDE0LTExLTI0IDEwOjQzOjIzICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9NYWtlZmlsZS5hbToKCSAgZ2w6IHNoaXAgdGhlIGdzdGdsY29udGV4dF9lZ2wuaCBoZWFkZXIKCSAgSXQgaXMgcmVxdWlyZWQgYnkgZ3N0ZWdsaW1hZ2VtZW1vcnkuaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDYxMQoKMjAxNC0xMS0yMyAyMTo0MzoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5jOgoJICBnbDogc2hhZGVydmFyaWFibGVzOiBtYWtlIHBhcnNpbmcgb2YgZmxvYXRzIGxvY2FsZS1pbmRlcGVuZGVudAoJICBGbG9hdGluZyBwb2ludCBudW1iZXJzIGFyZSB3cml0dGVuIGRpZmZlcmVudGx5IGluIGRpZmZlcmVudAoJICBsb2NhbGVzLCBlLmcuIGluIG1hbnkgY291bnRyaWVzIDEvMiA9IDAsNSBpbnN0ZWFkIG9mIDAuNSwgYW5kCgkgIHN0cnRvZCB3aWxsIG5vdCBiZSBhYmxlIHRvIHBhcnNlICIwLjUiIGNvcnJlY3RseSBpbiBzdWNoIGEKCSAgbG9jYWxlLgoKMjAxNC0xMS0yNCAwMjo1MjoyNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkgIGdsc2hhZGVydmFyaWFibGVzOiBhbHNvIHRyaW0gXHIgYXMgd2VsbCBhcyBcbgoKMjAxNC0xMS0wNSAyMDoxODowNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2VtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IHJlYXJjaGl0ZWN0dXJlIGZvciBub24gR0xNZW1vcnkgaW5wdXRzL291dHB1dHMKCSAgQWxsb3dzIG90aGVyIG1lbW9yeSB0eXBlcyB0byBiZSBpbXBsZW1lbnRlZC9yZXR1cm5lZC91c2VkIGJ5IHRoZSBjYWxsZXIuCgoyMDE0LTExLTE0IDEwOjU1OjE0ICswOTAwICBXb25jaHVsIExlZSA8d29uY2h1bDg2LmxlZUBsZ2UuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBzZW5kIFNFRUtJTkcgcXVlcnkgdXBzdHJlYW0gZmlyc3QKCSAgU29tZXRpbWVzIHJhd3BhcnNlIGRvZXMgbm90IGhhbmRsZSB0aGUgc2Vla2luZyBxdWVyeQoJICBwcm9wZXJseSwgdGhlIHJhd3BhcnNlIHNob3VsZCBzZW5kIHRoZSBxdWVyeSB1cHN0cmVhbQoJICBmaXJzdC4gRm9yIGV4YW1wbGUsIHVwc3RyZWFtIGNvdWxkIHN1cHBvcnQgc2Vla2luZyBpbgoJICBUSU1FIGZvcm1hdCAoYnV0IG5vdCBpbiBCWVRFIGZvcm1hdCksIHNvIHRoZSBCWVRFIGZvcm1hdAoJICBzZWVraW5nIHF1ZXJ5IHRoYXQgcmF3cGFyc2Ugc2VuZHMgaW4gcHVzaCBtb2RlIHdvdWxkCgkgIGZhaWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI3NjQKCjIwMTQtMTEtMjEgMTU6NDY6NDkgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IGxldCBWVCBwaWNrIHRoZSBiaXRyYXRlIGJ5IGRlZmF1bHQKCjIwMTQtMTEtMjAgMTA6MjM6MzAgLTA4MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBmaXggcnRwL3J0Y3Agc2luayBldmVudCBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNDUxCgoyMDE0LTExLTIwIDE2OjA0OjM0ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBzZXQgSDI2NF9CYXNlbGluZV9BdXRvTGV2ZWwgb24gT1NYIGFzIHdlbGwKCjIwMTQtMTEtMjAgMTU6NTA6MTggKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IGRpc2FibGUgdGhlIHJlb3JkZXIgcXVldWUgZm9yIGJhc2VsaW5lIHN0cmVhbXMKCjIwMTQtMTEtMjAgMDk6NDE6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogRml4IGRpdmlkZSBieSB6ZXJvIGluIHRoZSBwaWN0dXJlIGJ1ZmZlciBsZW5ndGggY2FsY3VsYXRpb24KCjIwMTQtMTEtMjAgMDk6MTM6NTggKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBjcml0aWNhbCBlcnJvciB3aGlsZSBzZWVrIHBsYXliYWNrLXRlc3Qoc3RvcCBzdGF0ZSkKCSAgSWYgd2Ugc2VlayB3aGVuIG1lZGlhIGlzIGluIHN0b3Agc3RhdGUsIHBsYXliYWNrLXRlc3QgZ2l2ZXMKCSAgY3JpdGljYWwgZXJyb3IsIHNpbmNlIGNvbnRleHQgb2YgZ2xpbWFnZXNpbmsgaXMgZGVzdHJveWVkIGR1cmluZyBzdG9wLgoJICBCdXQgc2luY2UgY29udGV4dCBpcyBub3QgcHJlc2VudCwgd2UgbmVlZCBub3QgaGFuZGxlIHNlbmRfZXZlbnQgaW4gZ2xpbWFnZXNpbmsKCSAgSGVuY2UgYWRkaW5nIGEgY29uZGl0aW9uIHRvIGNoZWNrIGlmIGNvbnRleHQgaXMgdmFsaWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAzMDUKCjIwMTQtMTEtMTkgMTc6MTc6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFVuYmxvY2sgZXZlbnRzL3F1ZXJpZXMgaW1tZWRpYXRlbHkgaWYgdGhlIHBhZCBpcyBmbHVzaGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMzc2CgoyMDE0LTExLTE5IDE3OjE1OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBEcm9wIHNlcmlhbGl6ZWQgZXZlbnRzL3F1ZXJpZXMgaWYgdGhlIHBhZCBpcyBmbHVzaGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMzc2CgoyMDE0LTExLTE5IDE3OjAzOjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBCbG9jayBzZXJpYWxpemVkIGV2ZW50cy9xdWVyaWVzIHVudGlsIHRoZSBwYWQgaGFzIGNvbnN1bWVkIGFsbCBidWZmZXJzCgkgIE90aGVyd2lzZSB0aGUgY2FwcyBvZiB0aGUgcGFkIG1pZ2h0IGNoYW5nZSB3aGlsZSB0aGUgc3ViY2xhc3Mgc3RpbGwgd29ya3Mgd2l0aAoJICBhIGJ1ZmZlciBvZiB0aGUgb2xkIGNhcHMsIGFzc3VtaW5nIHRoZSB0aGUgY3VycmVudCBwYWQgY2FwcyBhcHBseSB0byB0aGF0CgkgIGJ1ZmZlci4gV2hpY2ggdGhlbiBsZWFkcyB0byBjcmFzaGVzIGFuZCBvdGhlciBuaWNlIGVmZmVjdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAzNzYKCjIwMTQtMTEtMTkgMTc6MDI6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogRG9uJ3Qgb3V0cHV0IDAtZHVyYXRpb24gYnVmZmVycyBhdCB0aGUgc2VnbWVudCBlbmQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDM3NgoKMjAxNC0xMS0xOSAxNzowMzozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRml4IHR5cG8gaW4gZGVidWcgb3V0cHV0CgoyMDE0LTExLTE3IDE0OjA1OjAxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogZml4IHVwIFFvUyBoYW5kbGluZyBmb3IgbGl2ZSBzb3VyY2VzCgkgIE9ubHkgYXR0ZW1wdCBhZGFwdGl2ZSBkcm9wIHdoZW4gd2UgYXJlIG5vdCBsaXZlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk5OTYKCjIwMTQtMTEtMTcgMTQ6MDA6MTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBhZ2dyZWdhdG9yOiBhZGQgX2dldF9sYXRlbmN5KCkgZm9yIHN1YmNsYXNzIHVzYWdlCgkgIEFQSTogZ3N0X2FnZ3JlZ2F0b3JfZ2V0X2xhdGVuY3kKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTk5NgoKMjAxNC0xMS0xNyAwOTozNjo1MiArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogYnVpbGQgZXJyb3JzIHdoZW4gR1NUX0dMX0hBVkVfT1BFTkdMIGlzIDAKCSAgTW92aW5nIHZhcmlhYmxlcyB3aXRoaW4gI2lmIEdTVF9HTF9IQVZFX09QRU5HTCwgd2hpY2ggYXJlIG5vdCBnb2luZyB0byBiZSB1c2VkIG90aGVyd2lzZS4KCSAgYW5kIHdoaWNoIGFyZSBuZWVkZWQgb25seSB3aGVuIE9wZW5HbCBpcyBwcmVzZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAyMzUKCjIwMTQtMTEtMTcgMTE6MTA6MzUgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RoYW5kZGV0ZWN0X3Rlc3QuYzoKCSAgZXhhbXBsZXM6IHJlbGljZW5zZSBvcGVuY3YgZ3N0aGFuZGRldGVjdF90ZXN0IHRvIExHUEx2MisKCSAgVGhlIEdQTDMgbGljZW5zZSBoZWFkZXIgd2FzIGNvcHknbidwYXN0ZWQgZnJvbSBhCgkgIG5laWdoYm91cmluZyBzb3VyY2UgZmlsZSBieSBtaXN0YWtlLCB0aGUgb3JpZ2luYWwKCSAgY29kZSB3YXMgbm90IEdQTDMgbGljZW5zZWQsIGJ1dCBmZWxsIHVuZGVyIHRoZQoJICBkZWZhdWx0IEdTdHJlYW1lciBsaWNlbnNlLCB3aGljaCBpcyBMR1BMdjIrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1NjU1CgoyMDE0LTExLTE3IDE4OjUwOjI4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IGFkZCByZWFkLW9ubHkgY29udGV4dCBwcm9wZXJ0eQoKMjAxNC0xMS0xNyAxODo1MDowNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogYWRkIHJlYWQtb25seSBjb250ZXh0IHByb3BlcnR5CgoyMDE0LTExLTExIDE3OjA4OjI1ICswOTAwICBIeXVuanVuIEtvIDx6em9vbmlzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RfZWxlbWVudF9wcmludF9wcm9wZXJ0aWVzLmM6CgkgIG9wZW5jdi1leGFtcGxlOiBVc2UgZ19zbnByaW50ZiBpbnN0ZWFkIG9mIHNwcmludGYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTg0NgoKMjAxNC0xMS0xNiAyMDozMjo1NiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZHJvcCBleHBsaWNpdCBjb21wYXJpc29ucyBhZ2FpbnN0IDAgZm9yIHRydWUvZmFsc2UKCjIwMTQtMTEtMTYgMTE6MDA6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IE9ubHkgdXNlIGNvbnZlcnRSZWN0VG9CYWNraW5nIG9uIE9TWCA+PSAxMC43CgkgIEl0IGRvZXMgbm90IGV4aXN0IGJlZm9yZSBhbmQgb2xkZXIgdmVyc2lvbnMgYWxzbyBkb24ndCBoYXZlCgkgIHN1cHBvcnQgZm9yIEhpRFBJIGRpc3BsYXlzIGFueXdheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDIwMQoKMjAxNC0xMS0xNiAxMDo1Nzo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIGdsOiBVc2UgbnVtZXJpYyBPU1ggdmVyc2lvbiBpbnN0ZWFkIG9mIHRoZSBtYWNybwoJICBUaGUgbWFjcm8gaXMgbm90IGRlZmluZWQgb24gb2xkZXIgT1NYIHZlcnNpb25zIGFuZCBldmFsdWF0ZXMgdG8gMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDIwMQoKMjAxNC0xMS0xNSAyMTo1OTo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmJiYXNlYmluOiBmaXggcG9zc2libGUgY3Jhc2ggYnkgcGFzc2luZyA2NCBiaXRzIGZvciA2NC1iaXQgcXVldWUgcHJvcGVydHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDE5MQoKMjAxNC0xMS0xNCAxMDo0MDozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbms6IEZpeCBpbmRlbnRpb24KCjIwMTQtMTEtMTAgMTA6MDE6MjQgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z2IuZGV2ZWxAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IGRlcml2YXRpb24gb2YgTWF4UGljTnVtIHZhcmlhYmxlLgoJICBUaGUgbG9naWMgdG8gY29tcHV0ZSB0aGUgTWF4UGljTnVtIHZhcmlhYmxlIHdhcyByZXZlcnNlZC4gSW4gcGFyaWN1bGFyLAoJICBNYXhQaWNOdW0gaXMgZG91YmxlIE1heEZyYW1lTnVtIG9ubHkgaWYgZmllbGRfcGljX2ZsYWcgaXMgc2V0IHRvIDEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkyOTEKCjIwMTQtMTEtMTMgMTI6MDE6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IERvbid0IG92ZXJyaWRlIHRoZSBhcHBsaWNhdGlvbiBkZWxlZ2F0ZQoJICBPdGhlcndpc2UgaW50ZXJlc3RpbmcgdGhpbmdzIHdpbGwgaGFwcGVuIGluIENvY29hIGFwcGxpY2F0aW9ucywgbGlrZQoJICBpbmZpbml0ZSBldmVudCBsb29wcyB0aGF0IGJsb2NrIHRoZSBOU0FwcGxpY2F0aW9uIGxvb3AgZm9yZXZlci4KCSAgVGhpcyB3YXMgb25seSBuZWVkZWQgZm9yIEdOVVN0ZXAgYW5kIHRodXMgY2FuIHNhZmVseSBiZSByZW1vdmVkIG5vdy4KCjIwMTQtMTEtMTMgMTE6NTg6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL2NvY29hLXZpZGVvb3ZlcmxheS5tOgoJICBnbC9jb2NvYTogUmVtb3ZlIEdOVVN0ZXAgc3VwcG9ydAoJICBVbnRpbCBnY2MgYW5kIEdOVVN0ZXAgcHJvcGVybHkgc3VwcG9ydCBPYmplY3RpdmUtQyBibG9ja3MgYW5kIG90aGVyCgkgICJuZXciIGZlYXR1cmVzIG9mIE9iamVjdGl2ZS1DIHdlIGNhbid0IHByb3Blcmx5IHN1cHBvcnQgdGhlbSB3aXRob3V0CgkgIG1ha2luZyB0aGUgY29kZSBtdWNoIG1vcmUgdWdseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTE1MgoKMjAxNC0xMS0xMiAxODowNjo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuaDoKCSAgaW50ZXJhdWRpb3Npbms6IE1ha2Ugc3VyZSB0byBzdG9yZSBhdCBsZWFzdCBwZXJpb2QtdGltZSBzYW1wbGVzIGF0IG9uY2UgaW4gdGhlIGFkYXB0ZXIKCSAgSXQncyBiZXR0ZXIgdG8gY3JlYXRlIHNvbWUgbW9yZSBzaWxlbmNlIHRoYW4gaGF2aW5nIHRoZSBzb3VyY2UgcHVsbCBtdWx0aXBsZQoJICBzaG9ydCBidWZmZXJzIG91dCBvZiB0aGUgYWRhcHRlciBhbmQgaW5zZXJ0IHNpbGVuY2UgYmV0d2VlbiB0aGVtLgoKMjAxNC0xMS0xMiAxNjo0NToxMiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogZml4IGJ1aWxkIG9uIGlPUwoKMjAxNC0xMS0xMiAxNTozNTozNiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSAgY29yZW1lZGlhYnVmZmVyOiBzZXQgLT5waXhlbF9idWYgZm9yIENWUGl4ZWxCdWZmZXIgYnVmZmVycwoJICBGaXggYSBidWcgZm9yIHdoaWNoIHdlIG5ldmVyIGFjdHVhbGx5IHNldCAtPnBpeGVsX2J1ZiB0byBub24tTlVMTCBmb3IKCSAgQ1ZQaXhlbEJ1ZmZlciBidWZmZXJzLgoKMjAxNC0wNi0wNiAxMzo1NzozMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHNldCBjaGFubmVsIHBvc2l0aW9ucyB1c2luZyB0aGUgYXBwcm9wcmlhdGUgQVBJCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzEwMzgKCjIwMTQtMTEtMTIgMTM6NTg6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcnZpZGVvc3JjOiBTdG9wIHNob3dpbmcgdGhlIGN1cnJlbnQgZnJhbWUgYWZ0ZXIgMSBzZWNvbmQsIG5vdCBhZnRlciAzMCBmcmFtZXMKCjIwMTQtMTEtMTIgMDk6NDE6NTMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBhZGQgQ0ZMQUdTIGFuZCBMQUREIGZvciBnbGltYWdlc2luayB1bml0IHRlc3QKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjY5NAoKMjAxNC0xMS0xMiAxMTo1Mjo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0ZW5jOiBBZGQgbmV3IGVuYWJsZS1mcmFtZS1za2lwIHByb3BlcnR5IGFuZCBkaXNhYmxlIGl0IGJ5IGRlZmF1bHQKCSAgT3RoZXJ3aXNlIGUuZy4gdmlkZW90ZXN0c3JjICEgb3BlbmgyNjRlbmMgISAuLi4gd2lsbCBkcm9wIGV2ZXJ5IHNlY29uZCBmcmFtZQoJICBiZWNhdXNlIG90aGVyd2lzZSB0aGUgdGFyZ2V0IGJpdHJhdGUgY2FuJ3QgYmUgcmVhY2hlZCB3aXRob3V0IGxvb3NpbmcgdG9vCgkgIG11Y2ggcXVhbGl0eS4KCjIwMTQtMTEtMTIgMDk6NTk6NTMgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IGZpeCBjb21waWxhdGlvbiBvbiA8IDEwLjkKCjIwMTQtMTEtMTIgMTE6NDQ6MDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogZG9uJ3Qgc2V0IHRoZSB1cGxvYWQgdG8gTlVMTCBvbiB0aGUgZHJhaW4gcXVlcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjY5NAoKMjAxNC0xMS0xMSAxNzowNDo0OCArMDkwMCAgSHl1bmp1biBLbyA8enpvb25pc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2w6IENvcnJlY3QgaW52YWxpZCBjb21tZW50IHRleHQKCjIwMTQtMTEtMTEgMjM6NTQ6NDQgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dsaW1hZ2VzaW5rLmM6CgkgIGdsOiBhZGQgdW5pdCB0ZXN0IHRoYXQgY2hlY2tzIGZvciBnbGltYWdlc2luayBkcmFpbiBxdWVyeSBoYW5kbGluZwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNjk0CgoyMDE0LTExLTExIDIzOjQ5OjU5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogcmVsZWFzZSBzdG9yZWQgYnVmZmVycyBvbiBkcmFpbiBxdWVyeQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNjk0CgoyMDE0LTExLTExIDIzOjQzOjQyICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbDogZG8gbm90IHJhaXNlIGEgY3JpdGljYWwgbXNnIGlmIHRoZSBiYWNrZW5kIGRvZXMgbm90IGhhbmRsZSB3aW5kb3cgZXZlbnRzCgkgIEZpeCAiYXNzZXJ0aW9uICd3aW5kb3dfY2xhc3MtPmhhbmRsZV9ldmVudHMgIT0gTlVMTCcgZmFpbGVkIgoJICBpZiBub3QgdXNpbmcgYSBYMTEgd2luZG93LgoKMjAxNC0xMS0xMSAxODowMTo1NCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogZW5hYmxlIHRoZSBodyBlbmNvZGVyIG9uIE9TWAoKMjAxNC0xMS0xMSAxMjowMDozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJICBkZWNrbGlua3Npbms6IENoZWNrIHRoZSBjb3JyZWN0IHZhcmlhYmxlIGZvciBmYWlsdXJlCgkgIElmIHdlIGNhbid0IGdldCBhbiBvdXRwdXQsIHdlIHdvdWxkIG90aGVyd2lzZSBqdXN0IHVzZSBpdCBsYXRlciBhbmQgY3Jhc2guCgoyMDE0LTExLTExIDExOjE4OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSAgaW50ZXJhdWRpb3NyYzogTWFrZSBzdXJlIHdlIGhhdmUgYSB3cml0YWJsZSBidWZmZXIgYmVmb3JlIHdlIHN0YXJ0IGNoYW5naW5nIG1ldGFkYXRhCgoyMDE0LTExLTExIDExOjE1OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXJ2aWRlb3NyYzogU2V0IHRoZSBHQVAgZmxhZyBvbiByZXBlYXRlZCBidWZmZXJzCgkgIHZpZGVvcmF0ZSBkb2VzIHRoZSBzYW1lIGFuZCBpdCBhbGxvd3Mgb3B0aW1pemF0aW9ucyBkb3duc3RyZWFtLgoKMjAxNC0xMS0xMSAxMToxMjo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkgIGludGVyYXVkaW9zcmM6IFNldCB0aGUgR0FQIGZsYWcgb24gYnVmZmVycyB0aGF0IG9ubHkgY29udGFpbiBzaWxlbmNlCgoyMDE0LTExLTExIDE0OjIzOjU1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2w6IHJlbW92ZSB0aGUgd2lkdGgvaGVpZ2h0IGZpZWxkcyBmcm9tIHRoZSBjYXBzIHRvIHN1cHBvcnQgZnJhbWUgcmVzaXppbmcKCSAgSXQgd2FzIHByZXZpb3VzbHkgb25seSBvY2N1cmluZyB3aXRoIHN5c21lbSBjYXBzIGZlYXR1cmVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkzMzQKCjIwMTQtMTEtMTAgMTc6NDI6MjAgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQGRhcmtvc3BoZXJlLmZyPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGgyNjRwYXJzZXI6IGZpeCBHc3RIMjY0UGFyc2VyUmVzdWx0IGRvY3VtZW50YXRpb24gdHlwbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5OTA2CgoyMDE0LTExLTEwIDE2OjAxOjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IEFkZCB4MjY1ZW5jIHVuaXQgdGVzdCB0byAuZ2l0aWdub3JlCgoyMDE0LTExLTA5IDIwOjUzOjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RwbmdwYXJzZS5jOgoJICBwbmdwYXJzZTogb3B0aW1pc2UgcmVhZGluZyBvZiBwbmcgZmlsZXMKCSAgUmVhZCBQTkcgZGF0YSBjaHVuayBpbiBvbmUgZ28gYnkgbGV0dGluZyB0aGUgcGFyc2VyCgkgIGJhc2UgY2xhc3Mga25vdyB0aGUgc2l6ZSB3ZSBuZWVkLCBzbyB0aGF0IGl0IGRvZXNuJ3QKCSAgZHJpcC1mZWVkIHVzIHNtYWxsIGNodW5rcyBvZiBkYXRhIChjYXVzaW5nIGEgbG90IG9mCgkgIHJlYWxsb2NzIGFuZCBtZW1jcHkgaW4gdGhlIHByb2Nlc3MpIHVudGlsIHdlIGhhdmUKCSAgZXZlcnl0aGluZy4KCSAgSW1wcm92ZXMgcGFyc2luZyBwZXJmb3JtYW5jZSBvZiB2ZXJ5IGxhcmdlIFBORyBmaWxlcwoJICAoNjVNQikgZnJvbSB+MTMgc2Vjb25kcyB0byBhIGNvdXBsZSBvZiBtaWxsaXNlY3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYxNzYKCjIwMTQtMTEtMDkgMTk6MjM6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHNtdXgvbXB0c190ZXN0Mi5jOgoJICBleGFtcGxlczogcmVtb3ZlIHBvaW50bGVzcyBtcGVndHNtdXggZXhhbXBsZQoJICBTZXJ2ZXMgbm8gcHVycG9zZSwgaXMgbm90IGV2ZW4gaG9va2VkIHVwIHRvIHRoZQoJICBidWlsZCBzeXN0ZW0sIGhhcyBoYXJkIGNvZGVkIGZpbGUgbmFtZXMgYW5kIHBhdGhzLAoJICBhbmQgY2FuIGVhc2lseSBiZSByZXBsYWNlZCB3aXRoIGEgZ3N0LWxhdW5jaCBsaW5lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5ODQ0CgoyMDE0LTExLTA5IDEwOjI1OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IERvbid0IHByZXRlbmQgdG8gc3VwcG9ydCByZWNvbmZpZ3VyYXRpb24KCSAgV2Ugd2lsbCBydW4gaW50byBhbiBhc3NlcnRpb24gaW4gc2V0X2NhcHMoKSBpZiB3ZSB0cnkgdG8gY2hhbmdlCgkgIGNhcHMgd2hpbGUgdGhlIHNvdXJjZSBpcyBhbHJlYWR5IHJ1bm5pbmcuIERvbid0IHRyeSB0byBmaW5kIG5ldwoJICBjYXBzIGluIEdzdEJhc2VTcmM6Om5lZ290aWF0ZSgpIHRvIHByZXZlbnQgY2FwcyBjaGFuZ2VzLgoKMjAxNC0xMC0wOSAxMzoxMTo0OCArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IHNldCBzZXFfbGF5ZXJfc2VudCB0byBGQUxTRSBvbiByZXNldCgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg1MjYKCjIwMTQtMTAtMDkgMTM6MDM6NTYgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuaDoKCSAgdmMxcGFyc2U6IGltcGxlbWVudCBhc2YgdG8gKi1mcmFtZS1sYXllciBzdHJlYW0tZm9ybWF0CgkgIFRoaXMgY29tbWl0IGFkZCBhbiBoZWxwZXIgdG8gY29udmVydCBhIGZyYW1lIHRvIGZyYW1lLWxheWVyIGZvcm1hdCBhbmQKCSAgdXNlIGl0IHRvIGltcGxlbWVudCB0aGVzZSB0d28gc3RyZWFtLWZvcm1hdCBjb252ZXJzaW9uOgoJICAtIGFzZiAtLT4gc2VxdWVuY2UtbGF5ZXItZnJhbWUtbGF5ZXIKCSAgLSBhc2YgLS0+IGZyYW1lLWxheWVyCgkgIEluIHNpbXBsZS9tYWluIHByb2ZpbGUsIHdlIGJhc2ljYWxseSBoYXZlIGEgcmF3IGZyYW1lLCBzbyBidWlsZGluZyBhCgkgIGZyYW1lIGxheWVyIGlzbid0IHRvbyBjb21wbGljYXRlZC4gQnV0IGluIGFkdmFuY2VkIHByb2ZpbGUsIHRoZSBmaXJzdAoJICBmcmFtZS1sYXllciBzaG91bGQgY29udGFpbiBzZXF1ZW5jZS1oZWFkZXIsIGVudHJ5cG9pbnQsIGFuZCBmcmFtZSBhbmQKCSAgZWFjaCBrZXlmcmFtZSBzaG91bGQgY29udGFpbiBlbnRyeXBvaW50LCBzbyB3ZSBoYXZlIHRvIGhhbmRsZSB0aGVzZQoJICBjYXJlZnVsbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg1MjYKCjIwMTQtMTAtMDkgMTA6Mzg6NDAgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBjaGVjayBvdXRwdXQgZm9ybWF0IGF0IG5lZ290aWF0aW9uIHRpbWUKCSAgQWRkIGFuIGhlbHBlciB0byBjaGVjayB0aGF0IG91dHB1dCBzdHJlYW0tZm9ybWF0IGlzIGNvaGVyZW50IHdpdGgKCSAgcHJvZmlsZSBhbmQgaGVhZGVyLWZvcm1hdC4gSXQgYWxzbyBjaGVjayBpZiB3ZSBrbm93IGhvdyB0byBkbyB0aGUKCSAgY29udmVyc2lvbiBpZiB0aGUgaW5wdXQgc3RyZWFtLWZvcm1hdCBkaWZmZXJzIGZyb20gc2VsZWN0ZWQKCSAgb3V0cHV0LWZvcm1hdC4KCSAgU28sIGluIGNhc2Ugb3V0cHV0IHN0cmVhbS1mb3JtYXQgaXMgbm90IGFsbG93ZWQsIGl0IHdpbGwgbm93IGZhaWwgYXQKCSAgbmVnb3RpYXRpb24gcmF0aGVyIHRoYW4gaW4gcHJlX3B1c2hfZnJhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg1MjYKCjIwMTQtMDktMzAgMTU6MzU6MzggKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBhZGQgc29tZSBhc2YgcmVsYXRlZCBzdHJlYW0tZm9ybWF0IGNvbnZlcnNpb25zCgkgIFRoaXMgY29tbWl0IGludHJvZHVjZXMgYW4gaGVscGVyIHRvIGNvbnZlcnQgYW4gQVNGIGZyYW1lIHRvIEJEVXMgZm9ybWF0IHdpdGgKCSAgc3RhcnRjb2RlcyBhbmQgdXNlIHRoaXMgaGVscGVyIHRvIGltcGxlbWVudHMgZm9sbG93aW5nIHN0cmVhbS1mb3JtYXQKCSAgY29udmVyc2lvbnM6CgkgIC0gYXNmIC0tPiBiZHUKCSAgLSBhc2YgLS0+IHNlcXVlbmNlLWxheWVyLWJkdQoJICAtIGFzZiAtLT4gc2VxdWVuY2UtbGF5ZXItcmF3LWZyYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg1MjYKCjIwMTQtMDktMzAgMTU6Mjg6NTUgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuaDoKCSAgdmMxcGFyc2U6IGFkZCBzb21lIHNpbXBsZSBzdHJlYW0tZm9ybWF0IGNvbnZlcnNpb24KCSAgSXQgYWRkIHRoZSBzdXBwb3J0IG9mIGZvbGxvd2luZyBzdHJlYW0tZm9ybWF0IGNvbnZlcnNpb246CgkgIC0gYmR1IC0tPiBzZXF1ZW5jZS1sYXllci1iZHUKCSAgLSBiZHUtZnJhbWUgLS0+IHNlcXVlbmNlLWxheWVyLWJkdS1mcmFtZQoJICAtIGZyYW1lLWxheWVyIC0tPiBzZXF1ZW5jZS1sYXllci1mcmFtZS1sYXllcgoJICBGb3IgdGhlc2UgY29udmVyc2lvbiwgdGhlIG9ubHkgcmVxdWlyZW1lbnRzIGlzIHRvIHB1c2ggYSBzZXF1ZW5jZS1sYXllcgoJICBidWZmZXIgcHJpb3IgdG8gZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODUyNgoKMjAxNC0wOS0zMCAxNDo1MzoyNSArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IHByZXBhcmUgdGhlIHN0cmVhbS1mb3JtYXQgY29udmVyc2lvbiBjb2RlIGFuZCBhZGQgdGhlIHNpbXBsZXN0IG9uZXMKCSAgSXQgcHJlcGFyZXMgdGhlIHRlbXBsYXRlIGZvciBzdHJlYW0tZm9ybWF0IGNvbnZlcnNpb24gYW5kIGl0IGltcGxlbWVudHMKCSAgdGhlIGZvbGxvd2luZyBjb252ZXJzaW9uOgoJICAtIHNlcXVlbmNlLWxheWVyLWJkdSAtLT4gYmR1CgkgIC0gc2VxdWVuY2UtbGF5ZXItYmR1LWZyYW1lIC0tPiBiZHUtZnJhbWUKCSAgLSBzZXF1ZW5jZS1sYXllci1mcmFtZS1sYXllciAtLT4gZnJhbWUtbGF5ZXIKCSAgV29yayBpcyBkb25lIGluIHRoZSBwcmVfcHVzaF9mcmFtZSgpIG1ldGhvZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODUyNgoKMjAxNC0wOS0wNSAxNzo1Nzo0NyArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGRvIG5vdCBvdmVycmlkZSBsYXN0IGtub3duIHN0cmVhbSBlcnJvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MTQxCgoyMDE0LTExLTA3IDE5OjMwOjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogc2Vla3MgaW4gdGhlIG1hbmlmZXN0IG5ldmVyIGZhaWwKCSAgU2V0IHZvaWQgYXMgdGhlIHJldHVybiBhbmQgcmVtb3ZlIGVycm9yIGhhbmRsaW5nIGFzIGl0IGNvdWxkCgkgIG5ldmVyIGZhaWwKCjIwMTQtMTEtMDcgMTk6MTY6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IG1ha2Ugc3VyZSBmbHVzaGVzIGhhdmUgdGhlIHNhbWUgc2VxbnVtIGFzIHRoZSBzZWVrIGV2ZW50CgkgIFRoZXkgYXJlIHBhcnQgb2YgdGhlIHNhbWUgb3BlcmF0aW9uIGFuZCBzaG91bGQgcHJlc2VydmUgdGhlIHNlcW51bQoKMjAxNC0xMS0wNyAxOTowOToxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogc2ltcGxpZnkgc2VlayB0byBlb3MgaGFuZGxpbmcKCSAgUmVtb3ZlIHJlZHVuZGFudCBmbHVzaCBzdG9wIHB1c2hpbmcgYW5kIHJlbW92ZSBhIGdvdG8gdG8gbWFrZQoJICB0aGUgY29kZSBmbG93IHNpbXBsZXIKCjIwMTQtMDktMTcgMTU6MjI6NTkgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBzZW5kIG1pc3NpbmcgRkxVU0hfU1RPUC9FT1Mgd2hlbiBubyBzZWVraW5nIHBlcmlvZCBpcyBmb3VuZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODAwCgoyMDE0LTExLTA3IDE1OjUwOjUxICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IHNldCB0aGUgSEVBREVSIGZsYWcgb24gYnVmZmVycyBjb250YWluaW5nIFNQUyBvciBQUFMKCjIwMTQtMTEtMDcgMTU6NDE6MTUgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmg6CgkgIGgyNjVwYXJzZTogc2V0IHRoZSBIRUFERVIgZmxhZyBvbiBidWZmZXJzIGNvbnRhaW5pbmcgVlBTLCBTUFMgb3IgUFBTCgoyMDE0LTExLTA3IDExOjQxOjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLnBjLmluOgoJICBnc3RnbGNvbmZpZzogUHV0IGdzdGdsY29uZmlnLmggaW50byAkKGxpYmRpcikvZ3N0cmVhbWVyLTEuMC9pbmNsdWRlCgkgIEl0J3MgYXJjaGl0ZWN0dXJlIGRlcGVuZGVudCBhbmQgc2hvdWxkIG5vdCBiZSBwbGFjZWQgaW50byB0aGUgaW5jbHVkZQoJICBkaXJlY3RvcnkgYXMgdGhlIGFzc3VtcHRpb24gaXMgdGhhdCBhbGwgdGhvc2UgaGVhZGVycyBhcmUgYXJjaGl0ZWN0dXJlCgkgIGluZGVwZW5kZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NzY3CgoyMDE0LTExLTA3IDAwOjE2OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBzbW9vdGhzdHJlYW1pbmc6IGluaXRpYWxpc2UgbmV3IEdzdEgyNjROYWxVbml0IGZpZWxkcwoJICBDSUQgIzEyNTExMDcuCgoyMDE0LTExLTA2IDIzOjU4OjA2ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogZG9uJ3QgbWFrZSBnc3RfZ2xpbWFnZV9zaW5rX2hhbmRsZV9ldmVudHMgY2FsbCBfZW5zdXJlX2dsX3NldHVwCgkgIGdzdF9nbGltYWdlX3NpbmtfaGFuZGxlX2V2ZW50cyBjYW4gYmUgY2FsbGVkIGZyb20gdGhlIG92ZXJsYXkgaW50ZXJmYWNlIGFuZCBmcm9tCgkgIHRoZSBtYWluIHRocmVhZCBiZWZvcmUgR0wgaXMgc2V0dXAuIEJlZm9yZSB0aGlzIGNoYW5nZSwgdGhhdCB3b3VsZCBjYWxsCgkgIF9lbnN1cmVfZ2xfc2V0dXAoKSBhbmQgZGVhZGxvY2sgb24gT1NYLgoJICBDaGFuZ2UgdGhpbmdzIHNvIHRoYXQgaXQncyBhbHdheXMgc2FmZSB0byBjYWxsIGdzdF9nbGltYWdlX3NpbmtfaGFuZGxlX2V2ZW50cygpCgkgIHdpdGhvdXQgc3R1ZmYgZGVhZGxvY2tpbmcuCgoyMDE0LTExLTA2IDIzOjU1OjIwICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogZml4IHBvc3NpYmxlIGRlYWRsb2NrIG9uIG9zeAoJICBSZW1vdmUgZ3N0X2dsaW1hZ2Vfc2lua19oYW5kbGVfZXZlbnRzIGNhbGwgaW4gZ3N0X2dsaW1hZ2Vfc2lua19pbml0LiBJdCB3YXMKCSAgdW5uZWNlc3NhcnkgYW5kIHdoZW4gdGhlIGVsZW1lbnQgd2FzIGluc3RhbnRpYXRlZCBmcm9tIHRoZSBtYWluIHRocmVhZCwgY2F1c2VkIGEKCSAgZGVhZGxvY2sgaW4gT1NYIGNyZWF0aW5nIHRoZSBjb250ZXh0ICh0aHJlYWQpLgoKMjAxNC0xMS0wNiAxMzoyMjoxNyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJICB2dGVuYzogYWRkIHJlYWx0aW1lIGFuZCBhbGxvdy1mcmFtZS1yZW9yZGVyaW5nIHByb3BlcnRpZXMKCjIwMTQtMTEtMDcgMTA6MDE6NTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogY2xhbXAgdGhlIHJlc2l6ZSB3aWR0aC9oZWlnaHQgdG8gPj0gMSB0byBhdm9pZCBhIEdMIGVycm9yCgoyMDE0LTExLTA2IDE3OjM2OjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXJ2aWRlb3NyYzogUHJpbnQgYSB3YXJuaW5nIGludG8gdGhlIGRlYnVnIGxvZyBvbiBnZW5lcmF0aW5nIGJsYWNrIGZyYW1lcwoKMjAxNC0xMS0wNiAxNzoyMTozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJICBpbnRlcnZpZGVvc2luazogQWRkIHNvbWUgZGVidWcgb3V0cHV0IGluIHRoZSByZW5kZXIgZnVuY3Rpb24KCjIwMTQtMTEtMDYgMTE6NTM6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IGRvbid0IHVubmVjZXNhcmlseSBzZXQgc3JjX2NhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTM3NAoKMjAxNC0xMC0yOSAyMjo1NTo0NyArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZG9uJ3QgdW5uZWNlc2FyaWx5IHNldCBzcmNfY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5Mzc0CgoyMDE0LTExLTA2IDE4OjQzOjAxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBnbHV0aWxzOiBvbmx5IGF0dGVtcHQgZ2V0dGluZyB0aGUgYXBwIGNvbnRleHQgd2hlbiB3ZSBkb24ndCBhbHJlYWR5IGhhdmUgYSBkaXNwbGF5CgkgIGF2b2lkcyBxdWVyeWluZy9tZXNzYWdpbmcgdGhlIHdvcmxkIG9uIGVhY2ggZnJhbWUKCjIwMTQtMTEtMDYgMTg6Mzc6MjMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBmYWlsIGNvbnRleHQgY3JlYXRpb24gaWYgZ2xHZXRTdHJpbmcgcmV0dXJucyBOVUxMCgoyMDE0LTEwLTI5IDEyOjI0OjE2ICswMTAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zekBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2xpbWFnZXNpbms6IGltcGxlbWVudCBnc3RfdmlkZW9fb3ZlcmxheV9oYW5kbGVfZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYwMzUKCjIwMTQtMTEtMDQgMTU6MTY6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJICBpbnRlcmF1ZGlvc3JjOiBGaXggY29tcGlsZXIgd2FybmluZyBhYm91dCB1bnVzZWQgdmFyaWFibGVzCgkgIGdzdGludGVyYXVkaW9zcmMuYzogSW4gZnVuY3Rpb24gJ2dzdF9pbnRlcl9hdWRpb19zcmNfY3JlYXRlJzoKCSAgZ3N0aW50ZXJhdWRpb3NyYy5jOjMzOToyNzogZXJyb3I6IHZhcmlhYmxlICdidWZmZXJfc2FtcGxlcycgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KCSAgZ3VpbnQ2NCBwZXJpb2Rfc2FtcGxlcywgYnVmZmVyX3NhbXBsZXM7CgkgIF4KCjIwMTQtMTEtMDQgMTQ6NTY6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmg6CgkgIGludGVyYXVkaW86IE1ha2UgYnVmZmVyIHNpemUgYW5kIGxhdGVuY3kgaGFuZGxpbmcgbW9yZSBleHBsaWNpdCBhbmQgYWRkIHByb3BlcnRpZXMgZm9yIHRoZW0KCSAgVGhpcyBub3cgbWFrZXMgYXVkaW8gd29yayBtb3JlIHJlbGlhYmxlIHdpdGhvdXQgZGlzY29udHMuCgoyMDE0LTExLTA0IDEzOjU5OjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkgIGludGVyYXVkaW9zaW5rOiBVc2UgdGhlIGJwZiBmcm9tIHRoZSBhdWRpbyBpbmZvIGluc3RlYWQgb2YgaGFyZGNvZGluZyA0CgoyMDE0LTExLTA0IDEzOjU4OjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSAgaW50ZXJhdWRpbzogT25seSBmbHVzaCB0aGUgcmluZ2J1ZmZlciBvbiB0aGUgc2luayBzaWRlCgoyMDE0LTExLTA0IDEzOjQ2OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkgIGludGVyYXVkaW9zaW5rOiBGbHVzaCB0aGUgYWRhcHRlciB3aGVuIHdlIGdldCBuZXcgY2FwcwoJICBJZGVhbGx5IHdlIHdvdWxkIGRyYWluIHRoZSBzb3VyY2UgYnV0IHRoYXQgd291bGQgcmVxdWlyZSBtb3JlIGNvb3JkaW5hdGlvbgoJICBiZXR3ZWVuIHNpbmsgYW5kIHNvdXJjZSB0aGFuIHdoYXQgd2UgY3VycmVudGx5IGhhdmUuCgoyMDE0LTExLTA0IDA5OjUyOjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnbC9jb2NvYTogaW5jbHVkZSBnbDMuaCBpbiBjb25maWd1cmUgdG9vIGZvciBjb25zaXN0ZW5jeSB3aXRoIGdzdGdsYXBpLmgKCjIwMTQtMTEtMDMgMjA6NDU6MDMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluL2dzdGluc2VydGJpbi5jOgoJICBpbnNlcnRiaW46IEFkZCBkb2MgZm9yIHRoZSBpZ25vcmVkIHVzZXItZGF0YSBpbiBhY3Rpb24gc2lnbmFscwoKMjAxNC0xMS0wMyAyMzoyNDozMyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IHVzZSBOU0F1dG9yZWxlYXNlUG9vbCB0byBmcmVlIHJlc2l6ZSBkYXRhCgkgIE90aGVyd2lzZSB3aGVuIHJlc2l6aW5nIHRoZSB3aW5kb3cgeW91IHdpbGwgYWxzbyBnZXQgbWVzc2FnZXMgbGlrZToKCSAgY2xhc3MgTlNDb25jcmV0ZU1hcFRhYmxlIGF1dG9yZWxlYXNlZCB3aXRoIG5vIHBvb2wgaW4gcGxhY2UgLSBqdXN0IGxlYWtpbmcKCSAgY2xhc3MgTlNDb25jcmV0ZVZhbHVlIGF1dG9yZWxlYXNlZCB3aXRoIG5vIHBvb2wgaW4gcGxhY2UgLSBqdXN0IGxlYWtpbmcKCSAgY2xhc3MgTlNDb25jcmV0ZVZhbHVlIGF1dG9yZWxlYXNlZCB3aXRoIG5vIHBvb2wgaW4gcGxhY2UgLSBqdXN0IGxlYWtpbmcKCSAgY2xhc3MgX19OU0NGRGljdGlvbmFyeSBhdXRvcmVsZWFzZWQgd2l0aCBubyBwb29sIGluIHBsYWNlIC0ganVzdCBsZWFraW5nCgoyMDE0LTExLTAzIDIzOjA4OjA5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBnbC9jb2NvYTogaW5jbHVkZSBnbDMuaCB0byBoYXZlIEdMX0NPTlRFWFRfUFJPRklMRV9NQVNLCgoyMDE0LTExLTAzIDIzOjA3OjM0ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogbWFrZSBzdXJlIHRvIHR1cm4gb24gZnJhbWUgcmVjdGFuZ2xlIGNoYW5nZXMgbm90aWZpY2F0aW9ucwoJICBEZWZhdWx0IHZhbHVlIG9mIHByb3BlcnR5IHBvc3RzRnJhbWVDaGFuZ2VkTm90aWZpY2F0aW9ucyBpcyBZRVMKCSAgYnV0IGl0IGlzIHdvcnRoIHRvIGV4cGxpY2l0bHkgZW5hYmxlIGl0LgoKMjAxNC0xMS0wMyAyMzowMjoxNyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IGZpeCB1bmNhdWdodCBleGNlcHRpb24gJ3VucmVjb2duaXplZCBzZWxlY3RvciBzZW50IHRvIGluc3RhbmNlJwoJICBOZWVkIHRvIHNldCB0aGUgJzonIGFzIHRoZSByZXNoYXBlIG1ldGhvZCBub3cgdGFrZXMgb25lIHBhcmFtZXRlci4KCSAgRm9yIHRoZSBzdG9yeSwgdGhlIEdzdEdMTlNWaWV3IHdhcyBwcmV2aW91c2x5IGluaGVyaXRpbmcgZnJvbQoJICBOU09wZW5HTFZpZXcgd2hpY2ggaGFzIGEgcmVzaGFwZSBmdW5jdGlvbiB3aXRob3V0IGFueSBwYXJhbWV0ZXIuCgkgIE5vdyB0aGUgR3N0R0xOU1ZpZXcgaW5oZXJpdHMgZnJvbSBOU1ZpZXcgYW5kIHdlIHJlLXVzZSB0aGUgcmVzaGFwZQoJICBmdW5jdGlvbiBtYW51YWxseS4KCjIwMTQtMTEtMDMgMjI6NTk6NDEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBmaXggY29tcGlsZXIgd2FybmluZwoJICBVc2UgdGhlIHJlc2hhcGUgZnVuY3Rpb24gYWZ0ZXIgYmVpbmcgZGVmaW5lZC4gVGhlIG90aGVyIHdheQoJICB3b3VsZCBoYXZlIGJlZW4gdG8gZGVjbGFyZSB0aGUgcmVzaGFwZSBmdW5jdGlvbiBpbiB0aGUgaGVhZGVyLgoJICBnc3RnbHdpbmRvd19jb2NvYS5tOiBJbiBmdW5jdGlvbiAnLVtHc3RHTE5TVmlldyBkcmF3UmVjdDpdJzoKCSAgZ3N0Z2x3aW5kb3dfY29jb2EubTo1NTU6IHdhcm5pbmc6ICdHc3RHTE5TVmlldycgbWF5IG5vdCByZXNwb25kIHRvICctcmVzaGFwZScKCSAgZ3N0Z2x3aW5kb3dfY29jb2EubTo1NTU6IHdhcm5pbmc6IChNZXNzYWdlcyB3aXRob3V0IGEgbWF0Y2hpbmcgbWV0aG9kIHNpZ25hdHVyZQoJICBnc3RnbHdpbmRvd19jb2NvYS5tOjU1NTogd2FybmluZzogd2lsbCBiZSBhc3N1bWVkIHRvIHJldHVybiAnaWQnIGFuZCBhY2NlcHQKCSAgZ3N0Z2x3aW5kb3dfY29jb2EubTo1NTU6IHdhcm5pbmc6ICcuLi4nIGFzIGFyZ3VtZW50cy4pCgoyMDE0LTExLTAzIDE2OjU0OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXJ2aWRlb3NyYzogTmVnb3RpYXRlIGZyYW1lcmF0ZSB3aXRoIGRvd25zdHJlYW0KCSAgUHJlZmVyIHRoZSBjbG9zZXN0IGZyYW1lcmF0ZSB0byB0aGUgaW5wdXQgZnJhbWVyYXRlIHRob3VnaC4KCjIwMTQtMTEtMDMgMTY6MjQ6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcipzcmM6IE5vIG5lZWQgdG8gc2V0IGNhcHMgbWFudWFsbHkgb24gdGhlIHBhZAoJICBiYXNlc3JjIGRvZXMgdGhhdCBmb3IgdXMgYWxyZWFkeS4KCjIwMTQtMTEtMDMgMTY6MTM6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogU3dhcCBzb3VyY2UvZGVzdGluYXRpb24gcGFyYW1ldGVycyBvZiBnc3RfdmlkZW9fY29udmVydGVyX2ZyYW1lKCkKCjIwMTQtMTEtMDMgMTU6MTk6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXI6IGZpeCBvcmRlciBvZiBhcmd1bWVudHMKCjIwMTQtMTEtMDMgMTA6MDU6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSAgaW50ZXJhdWRpbzogU2V0IGFsbCByZXF1aXJlZCBmaWVsZHMgb24gdGhlIHRlbXBsYXRlIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTU0MgoKMjAxNC0xMS0wMyAwMDoxNzo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbDogZml4IFNpbmNlIG1hcmtlciBmb3IgZ3N0X2dsX3dpbmRvd19ydW5fbmF2aWdhdGlvbigpCgoyMDE0LTExLTAyIDIzOjI0OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5jOgoJICBpbnRlcjogZG9uJ3QgbGVhayBzdXJmYWNlIG5hbWUKCjIwMTMtMDktMDMgMTE6MTE6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IHN0YXJ0IHB1c2hpbmcgZGF0YSBhZ2FpbiB3aGVuIGEgcGFkIGdldHMgbGlua2VkIGxhdGVyCgkgIFRoZSB3aG9sZSBub3RfbGlua2VkIG9wdGltaXNhdGlvbiBpcyByZWFsbHkgYSBiaXQgZG9kZ3kgaGVyZSwgYnV0CgkgIGxldCdzIGxlYXZlIGl0IGluIHBsYWNlIGZvciBub3cgYW5kIGF0IGxlYXN0IHN0YXJ0IHB1c2hpbmcgZGF0YQoJICBhZ2FpbiB3aGVuIGEgcGFkIGdvdCBsaW5rZWQgbGF0ZXIsIGluIHdoaWNoIGNhc2Ugd2Ugc2hvdWxkIGdldCBhCgkgIFJFQ09ORklHVVJFIGV2ZW50LgoKMjAxMy0wOS0wMiAyMzozNjo0MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkqIGdzdC9tcGVnZGVtdXgvcGx1Z2luLmM6CgkgIG1wZWdkZW11eDogbmFtZXNwYWNlIGZpeGVzCgoyMDE0LTExLTAyIDE5OjI2OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogcG9zdCBRb1MgbWVzc2FnZXMgd2hlbiBkcm9wcGluZyBmcmFtZXMgZHVlIHRvIFFvUwoKMjAxNC0xMS0wMiAxOToxMjo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5oOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IGZpeCBib2lsZXJwbGF0ZSBtYWNyb3MKCjIwMTQtMTEtMDIgMTc6MTg6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBTcHJpbmtsZSBzb21lIEdfUEFSQU1fREVQUkVDQVRFRCBhbmQgI2lmbmRlZiBHU1RfUkVNT1ZFX0RFUFJFQ0FURUQKCjIwMTQtMTEtMDIgMTc6MTc6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsczogZml4IGluZGVudGF0aW9uCgoyMDE0LTEwLTI5IDE4OjE4OjA3ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkgIGdsc2hhZGVyOiBGaXggbWVtb3J5IGxlYWsKCSAgTWVtb3J5IGlzIG9ubHkgZnJlZWQgaW4gdGhlIFRSVUUgY2xhdXNlIG9mIHRoZSBpZiBjb25kaXRpb25hbC4gRnJlZSBpbiB0aGUgZWxzZQoJICBjbGF1c2UgYXMgd2VsbC4KCSAgQWxzbywgY29uc29saWRhdGUgZ19tYWxsb2MgKyBzcHJpbnRmIGludG8gYSBnX3N0cmR1cF9wcmludGYoKS4KCSAgQ0lEICMxMjEyMTcxCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkzNjgKCjIwMTQtMTEtMDEgMTA6MTA6MjcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSAgcnRwb3B1czogVXNlIE9QVVMgZW5jb2RpbmcgbmFtZQoJICBCb3RoIEZpcmVmb3ggYW5kIENocm9tZSB1c2VzIE9QVVMgYXMgdGhlIGVuY29kaW5nIGluIHRoZWlyIFNEUC4KCSAgQWRkaW5nIHRoaXMgbm93IGRlZmFjdG8gc3RhbmRhcmQgbmFtZSByZW1vdmUgdGhlIG5lZWQgZm9yIHNwZWNpYWwKCSAgY2FzZSBpbiBTRFAgcGFyc2luZyBjb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3ODEwCgoyMDE0LTEwLTMxIDE3OjMyOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBhZGQgdHlwZSBvZiBzdHJlYW0gdG8gZGVidWcgbG9nCgkgIE1ha2VzIGl0IGZhc3RlciB0byBkZWJ1ZyB3aHkgY2VydGFpbiBzdHJlYW1zIGFyZSBub3Qgc2hvd2luZwoKMjAxNC0xMC0zMSAxNzozMjozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogZG8gbm90IHVubG9jayBub3QgbG9ja2VkIG11dGV4CgoyMDE0LTEwLTMxIDEwOjQ1OjE5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBmaXggY29tbWVudHMgdGhhdCBjb25mdXNlIGd0ay1kb2MKCSAgR1RLLURvYyB1c2VzIGEgc3BlY2lhbCBzeW50YXggZm9yIGNvZGUgZG9jdW1lbnRhdGlvbi4gQSBtdWx0aWxpbmUgY29tbWVudCB0aGF0CgkgIHN0YXJ0cyB3aXRoIGFuIGFkZGl0aW9uYWwgJyonIG1hcmtzIGEgZG9jdW1lbnRhdGlvbiBibG9jayB0aGF0IHdpbGwgYmUgcHJvY2Vzc2VkCgkgIGJ5IHRoZSBHVEstRG9jIHRvb2xzLiBTbyBHVEstRG9jIGlzIGNvbmZ1c2VkIGlmIGEgY29tbWVudCBibG9jayBzdGFydHMgd2l0aCB0aGF0CgkgIGFkZGl0aW9uYWwgJyonIGJ1dCBpc24ndCBtZWFudCB0byBiZSBwcm9jZXNzZWQuIFJlbW92aW5nIHRoaXMgYWRkaXRpb25hbCAnKicuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk0NDQKCjIwMTQtMTAtMzEgMTI6NTI6NTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgZ2xpbWFnZXNpbms6IHJlc2l6ZSB0aGUgdmlld3BvcnQgY29ycmVjdGx5IG9uIGEgY2FwcyBjaGFuZ2UKCSAgd2l0aCBmb3JjZS1hc3BlY3QtcmF0aW89dHJ1ZSwgaWYgdGhlIHdpZHRoIG9yIGhlaWdodCBjaGFuZ2VkLCB0aGUKCSAgdmlld3BvcnQgd2Fzbid0IGJlaW5nIHVwZGF0ZWQgdG8gcmVzcGVjdCB0aGUgbmV3IHZpZGVvIHdpZHRoIGFuZCBoZWlnaHQKCSAgdW50aWwgYSByZXNpemUgb2NjdXJlZC4KCjIwMTQtMTAtMzEgMTI6NTI6MDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IGFkdmVydGlzZSBzdXBwb3J0IGZvciBjaGFuZ2luZyBpbnB1dCBjYXBzIG1pZC1zdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTMzNAoKMjAxNC0xMC0zMSAxMjozMDo1MyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbDogc3ByaW5rbGUgc29tZSBTaW5jZSBtYXJrZXJzCgoyMDE0LTEwLTMwIDE0OjI3OjM4ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkgIG1wZWd0czogcmVtb3ZlIHN0b3JhZ2Ugb2YgbmV2ZXIgdXNlZCB2YWx1ZXMKCSAgQm90aCBfcGFyc2VfYXRzY19tZ3QoKSBhbmQgIF9wYXJzZV9hdHNjX3ZjdCAoKSBjaGFuZ2UgdGhlIHZhbHVlIG9mIHRoZSB2YXJpYWJsZQoJICBkYXRhIGp1c3QgYmVmb3JlIHJldHVybmluZy4gVGhlIG5ldyB2YWx1ZSBpcyBuZXZlciB1c2VkIHNpbmNlIGRhdGEgaXMgYSBwb2ludGVyCgkgIGRlY2xhcmVkIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZ1bmN0aW9uIGFuZCBnb2luZyBvdXQgb2Ygc2NvcGUganVzdCBhZnRlciB0aGUKCSAgbmV3IHZhbHVlIGlzIHN0b3JlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTQwNAoKMjAxNC0xMC0zMCAxNzowNjowMSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSAgZ2F1ZGllZmZlY3RzOiByZW1vdmUgPCAwIGNvbXBhcmlzb24gb24gZ3VpbnQzMgoJICBDdXJyZW50IENMQU1QIGNoZWNrcyBib3RoIGlmIHRoZSB2YWx1ZSBpcyBiZWxvdyAwIG9yIGFib3ZlIDI1NS4gQ29uc2lkZXJpbmcgaXQKCSAgaXMgYW4gdW5zaWduZWQgdmFsdWUgaXQgY2FuIG5ldmVyIGJlIGxlc3MgdGhhbiB6ZXJvLCBzbyB0aGF0IGNvbXBhcmlzb24gaXMKCSAgdW5uZWNlc3NhcnkuIFN3aXRjaGluZyB0byB1c2luZyBpZiBqdXN0IGZvciB0aGUgdXBwZXIgYm91bmQuCgkgIENJRCAjMTEzOTc5NgoKMjAxNC0xMC0zMCAxNjowNToxNCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSAgZ2F1ZGllZmZlY3RzOiBkZWNsYXJlIGZsb29yIGFuZCBjZWlsaW5nIGFzIGNvbnN0YW50cwoKMjAxNC0xMC0zMCAxNTo0OTowMSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkgIGdhdWRpZWZmZWN0czogc3RvcmVkIHZhbHVlIGlzIG92ZXJ3cml0dGVuCgkgIFZhbHVlIGZyb20gbGVmdF9sdW1pbmFuY2UgaXMgYXNzaWduZWQgdG8gb3V0X2x1bWluYW5jZSBoZXJlLCBidXQgdGhhdCBzdG9yZWQKCSAgdmFsdWUgaXMgbm90IHVzZWQgYmVmb3JlIGl0IGlzIG92ZXJ3cml0dGVuIGluIHRoZSBuZXh0IGN5Y2xlIG9mIHRoZSBsb29wLgoJICBSZW1vdmluZyBhc3NpZ25hdGlvbi4KCSAgQ0lEICMxMjI2NDczCgoyMDE0LTEwLTI0IDE2OjUyOjQyICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogZG8gbm90IHJlbW92ZSBwcm9ncmFtcyBvbiBFT1MKCSAgQXMgYSBjb25zZXF1ZW5jZSwgdHNkZW11eCB3b24ndCByZW1vdmUgaXRzIHBhZHMgYW55bW9yZSBvbiBFT1MuCgkgIEZpeGVzIHRoZSBjYXNlIHdoZW4gbXBlZ3RzYmFzZSBpcyBub3QgYWJsZSB0byBwcm9jZXNzIG5ldyBwYWNrZXRzCgkgIGFmdGVyIEVPUyBhcyB0aGUgY29ycmVzcG9uZGluZyBwaWRzIGFyZW4ndCBrbm93biBhbnltb3JlIGJlY2F1c2UKCSAgdGhlIHByb2dyYW1zIHdlcmUgcmVtb3ZlZCBhbmQgdGhlIHBlcy9wc2kgd2VyZSBrZXB0LCBwcmV2ZW50aW5nIHRoZQoJICBQQVQgdG8gYmUgcGFyc2VkIGFnYWluLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4Njk1CgoyMDE0LTA0LTIxIDExOjQ4OjIyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9jb21tb24uYzoKCSAgc2lyZW46IGZpeCBzYW1wbGUgcmF0ZSBsaXN0CgkgIEl0IHdhcyB1c2luZyBhIDI0MDAwLzI0MDAwLzQ4MDAwLCBidXQgSSB0aGluayBpdCBtZWFudCB0byB1c2UKCSAgMjQwMDAvMzIwMDAvNDgwMDAuIE5vdCAxMDAlIHN1cmUuLi4KCSAgaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvRy43MjIuMSBoYXMgdGhlIGxpc3Qgb2Ygc3VwcG9ydGVkCgkgIGJpdHJhdGVzLiBJdCdzIG5vdCBjbGVhciB3aGV0aGVyIHRoZSAiZmxhZyIgY29kZSBtYXBzIHRvIHRoaXMsCgkgIGhvd2V2ZXIuCgkgIENvdmVyaXR5IDIwNjA3MgoKMjAxNC0xMC0zMCAxNDo0OTowNSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiByZW1vdmUgc3RvcmFnZSBvZiBuZXZlciB1c2VkIHZhbHVlcwoJICBUaGVzZSB0d28gdmFsdWVzIGFyZSBzdG9yZWQganVzdCBiZWZvcmUgdGhlIGZ1bmN0aW9uIHJldHVybnMgYW5kIHRoZXkgZ28gb3V0IG9mCgkgIHNjb3BlLgoKMjAxNC0wNi0xMCAwOTozMzo0MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSAgb3B1c2VuYzogdXBkYXRlIG91dHB1dCBzZWdtZW50IHN0b3AgdGltZSB0byBtYXRjaCBjbGlwcGVkIHNhbXBsZXMKCSAgVGhpcyB3aWxsIGxldCBvZ2dtdXggZ2VuZXJhdGUgYSBncmFucG9zIG9uIHRoZSBsYXN0IHBhZ2UgdGhhdCBwcm9wZXJseQoJICByZXByZXNlbnRzIHRoZSBjbGlwcGVkIHNhbXBsZXMgYXQgdGhlIGVuZCBvZiB0aGUgc3RyZWFtLgoKMjAxNC0xMC0zMCAxODo0NTowNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhY2Nvc3RlZC5uZXQ+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IFRyaXZpYWwgZG9jdW1lbnRhdGlvbiBmaXgKCjIwMTQtMTAtMzAgMjM6MDg6MDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IGRvbid0IGdldCB0aGUgY3VycmVudCBjYXBzIGZyb20gR3N0VmlkZW9JbmZvIGZvciB0aGUgc3JjcGFkCgkgIEl0J3MgbWlzc2luZyB0aGUgY2FwcyBmZWF0dXJlcyBuZWVkZWQuCgoyMDE0LTEwLTMwIDE4OjU3OjU5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL3NkbHNoYXJlLmM6CgkgIGdsL2V4YW1wbGVzOiB1cGRhdGUgZm9yIG90aGVyLWNvbnRleHQgcHJvcGVydHkgcmVtb3ZhbAoKMjAxNC0xMC0zMCAxNjo0ODowMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguaDoKCSAgZ2xjb250ZXh0OiBhZGQgbW9yZSBmdW5jdGlvbmFsaXR5IHRvIHdyYXBwZWQgY29udGV4dHMKCSAgSW1wbGVtZW50cyBnZXRfY3VycmVudF9jb250ZXh0KCkgYW5kIGdldF9wcm9jX2FkZHJlc3MoKSBmb3Igd3JhcHBlZAoJICBjb250ZXh0cy4KCjIwMTQtMTAtMzAgMTI6NDM6MDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSAgZ2xzaGFkZXI6IGFkdmVydGlzZSB0aGUgZGVmYXVsdCB2ZXJ0ZXggYW5kIGZyYWdtZW50IHNoYWRlcnMgb24gZGVza3RvcCBHTAoKMjAxNC0wNS0yMiAxMzoxMzoxNCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IHJlY29nbml6ZSBTVkMgTkFMIHVuaXRzLgoJICBJZGVudGlmeSBTVkMgTkFMIHVuaXRzIGFuZCB0YWcgdGhlbSBhcyBzdWNoLiBUaGlzIGlzIG5lY2Vzc2FyeSBmb3IKCSAgZ3N0X2gyNjRfcGFyc2VyX3BhcnNlX3NsaWNlX2hkcigpIHRvIGZhaWwgZ3JhY2VmdWxseSwgaWYgdGhlIHVzZXIKCSAgZGlkIG5vdCBwZXJmb3JtIHRoZSBjaGVjayBoaW1zZWxmLgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTEwLTI5IDE0OjUzOjE1ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggbnVtYmVyIG9mIGxpc3QwIHssbm9uLX1hbmNob3IgcmVmcy4KCSAgRml4IGNvcHktcGFzdGUgZXJyb3IgaW4gZ3N0X2gyNjRfc3BzX212Y19jb3B5KCkgd2hlcmUgbnVtX2FuY2hvcl9yZWZzX2wwCgkgIGFuZCBudW1fbm9uX2FuY2hvcl9yZWZzX2wwIHdlcmUgaW5jb3JyZWN0bHkgaW5pdGlhbGl6ZWQgZnJvbSBsaXN0MS4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0xMC0yOSAxMzo1MTo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9saWJnc3Rjb2RlY3BhcnNlcnMuZGVmOgoJICBVcGRhdGUgLmRlZiBmb3IgbmV3IEFQSQoKMjAxNC0xMC0yOSAxMzoxNTo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBzcHJpbmtsZSBzb21lIGd0ay1kb2MgU2luY2U6IG1hcmtlcnMgZm9yIG5ldyBBUEkKCjIwMTQtMTAtMjkgMTI6MjI6MTQgKzAxMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6QGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBzYXRpc2Z5IGdzdC1pbmRlbnQKCjIwMTQtMTAtMjkgMjI6MjM6MTMgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJICBnbGZpbHRlcmN1YmU6IEZpeCB0eXBvIGluIHByb3BlcnR5IGRlc2NyaXB0aW9uCgoyMDE0LTEwLTI5IDIyOjIzOjAyICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IEluaXRpYWxpc2UgbmFsdSBleHRlbnNpb24gdHlwZSB0byBOT05FCgkgIEFsd2F5cyBzZXQgYSBkZWZhdWx0IE5BTFUgZXh0ZW5zaW9uIHR5cGUsIGFuZCBvdmVycmlkZSBpdAoJICB3aGVuIHdlIGZpbmQgYSBzdXBwb3J0ZWQgZXh0ZW5zaW9uLCB0byBhdm9pZCBoYXZpbmcgaXQgdW5zZXQvcmFuZG9tCgkgIGZvciB1bnN1cHBvcnRlZCBOQUxVIGV4dGVuc2lvbnMKCjIwMTQtMTAtMDcgMTY6Mjg6MDMgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZXI6IEZpeCBmcmFtZSBwYWNraW5nIFNFSSBwYXJzaW5nCgoyMDE0LTAzLTI1IDE0OjA4OjQ0ICswMTAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogYWRkIHN1cHBvcnQgZm9yIEZyYW1lIFBhY2tpbmcgQXJyYW5nZW1lbnQgU0VJIG1lc3NhZ2UuCgkgIFRoaXMgcGFyc2VzIHRoZSBmcmFtZV9wYWNraW5nX2FycmFnZW1lbnQoKSBwYXlsb2FkIGluIFNFSSBtZXNzYWdlLgoJICBUaGlzIGluZm9ybWF0aW9uIGNhbiBiZSB1c2VkIGJ5IGRlY29kZXJzIHRvIGFwcHJvcHJpYXRlbHkgcmVhcnJhbmdlIHRoZQoJICBzYW1wbGVzIHdoaWNoIGJlbG9uZyB0byBTdGVyZW9zY29waWMgYW5kIE11bHRpdmlldyBIaWdoIHByb2ZpbGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1MjE1CgkgIFNpZ25lZC1vZmYtYnk6IFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMy0wOCAxODoxNzoxNiArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGFkZCBzdXBwb3J0IGZvciBTdGVyZW8gVmlkZW8gSW5mb3JtYXRpb24gU0VJIG1lc3NhZ2UuCgkgIEFkZCB0aGUgbmVjZXNzYXJ5IHBheWxvYWQgcGFyc2luZyBzdXBwb3J0IGZvciBzdGVyZW9fdmlkZW9faW5mby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTIxNQoJICBTaWduZWQtb2ZmLWJ5OiBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoyMDEyLTEwLTAxIDEzOjM2OjQ1ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogcGFyc2Ugc2VxX3BhcmFtZXRlcl9zZXRfbXZjX2V4dGVuc2lvbigpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1MjE1CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTItMDktMjYgMTg6NDY6MzYgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBwYXJzZSBNVkMgc3ludGF4IGVsZW1lbnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1MjE1CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMTAtMjkgMjI6NTg6MzcgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIHRzcGFyc2U6IEhhbmRsZSBiYWNrd2FyZCBhbmQgZGlzY29udCB0aW1lc3RhbXBzIGJldHRlci4KCSAgQXNzdW1lIHRoYXQgc21hbGwgYmFja3dhcmQgUENSIGp1bXBzIGFyZSBqdXN0IGZyb20gdXBzdHJlYW0gcGFja2V0CgkgIG1pcy1vcmRlcmluZyBhbmQgZG9uJ3QgcmVzZXQgdGltZXN0YW1wIHRyYWNraW5nIHN0YXRlIC0gYXNzdW1pbmcgdGhhdAoJICB0aGluZ3Mgd2lsbCBiZSBPSyBhZ2FpbiBzaG9ydGx5LgoJICBNYWtlIHRoZSB0aHJlc2hvbGQgZm9yIGRldGVjdGluZyBkaXNjb250IGJldHdlZW4gc2VxdWVudGlhbCBidWZmZXJzCgkgIGNvbmZpZ3VyYWJsZSBhbmQgbWF0Y2ggdGhlIHNtb290aGluZy1sYXRlbmN5IHNldHRpbmcgb24gdHNwYXJzZQoJICB0byBiZXR0ZXIgY29wZSB3aXRoIGRhdGEgYnVyc3RzLgoKMjAxNC0xMC0yOSAyMjo1ODozNyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmg6CgkgIHRzcGFyc2U6IEltcGxlbWVudCB0aW1lc3RhbXAvcmV0aW1lc3RhbXBpbmcgb2Ygb3V0cHV0IGJ1ZmZlcnMKCSAgV2hlbiB0aGUgc2V0LXRpbWVzdGFtcHMgcHJvcGVydHkgaXMgc2V0LCB1c2UgUENScyBvbiB0aGUgcHJvdmlkZWQKCSAgKG9yIGF1dG9kZXRlY3RlZCkgcGNyLXBpZCB0byBhcHBseSAob3IgcmVwbGFjZSkgdGltZXN0YW1wcyBvbiB0aGUKCSAgb3V0cHV0IGJ1ZmZlcnMsIHVzaW5nIHBpZWNlLXdpc2UgbGluZWFyIGludGVycG9sYXRpb24uCgkgIFRoaXMgYWxsb3dzIHRzcGFyc2UgdG8gYmUgdXNlZCB0byBzdHJlYW0gYW4gYXJiaXRyYXJ5IG1wZWctdHMgZmlsZSwKCSAgb3IgdG8gc21vb3RoIGppdHRlcnkgcmVjZXB0aW9uIHRpbWVzdGFtcHMgZnJvbSBhIG5ldHdvcmsgc3RyZWFtLgoJICBUaGUgcmVwb3J0ZWQgbGF0ZW5jeSBpcyBpbmNyZWFzZWQgdG8gbWF0Y2ggdGhlIHNtb290aGluZyBsYXRlbmN5IGlmCgkgIG5lY2Vzc2FyeS4KCjIwMTQtMTAtMjkgMTA6MDk6MzUgKzAxMDAgIFZpbmNlbnQgQWJyaW91IDx2aW5jZW50LmFicmlvdUBzdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogYXV0byBkZWNpc2lvbiB0byBpbmNsdWRlIEdMIGxpYnJhcnkgZmFpbHMKCSAgVGhlIHBhcnQgb2YgdGhlIGNvbmZpZ3VyZS5hYyB0aGF0IGNvbnNpc3QgdG8gY2hlY2sgaWYgd2UKCSAgY2FuIGluY2x1ZGUgYm90aCBHTCBhbmQgR0xFUzIgYXQgdGhlIHNhbWUgdGltZSBpcyBmYWlsaW5nLgoJICBJbmRlZWQsIGluIHRoZSBjYXNlIE5FRURfR0xFUzI9eWVzIGFuZCBORUVEX09QRU5HTD1hdXRvLAoJICBIQVZFX09QRU5HTCB2YXJpYWJsZSBpcyB1cGRhdGVkIHdoZXJlYXMgaXQgc2hvdWxkIGJlIEhBVkVfR0wKCSAgdmFyaWFibGUgdGhhdCBoYXMgdG8gYmUgdXBkYXRlZCAoSEFWRV9PUEVOR0wgdmFyaWFibGUgaXMgbm90CgkgIHVzZWQgaW4gdGhlIHJlc3Qgb2YgdGhlIGNvbmZpZ3VyZS5hYykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkzNDgKCSAgU2lnbmVkLW9mZi1ieTogVmluY2VudCBBYnJpb3UgPHZpbmNlbnQuYWJyaW91QHN0LmNvbT4KCSAgUmV2aWV3ZWQtYnk6IEJlbmphbWluIEdBSUdOQVJEIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKMjAxNC0xMC0yOSAxMDozNzozOCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiByZW1vdmUgaWdub3JlZCBpbmNyZW1lbnQgb2YgcmV0dXJuCgkgICdyZXR1cm4gdmFsKys7JyByZXR1cm5zIHRoZSB2YWx1ZSBiZWZvcmUgaXQgaXMgaW5jcmVtZW50ZWQgYmVjYXVzZSB0aGUgcG9zdAoJICBpbmNyZW1lbnQgaGFwcGVucyBhZnRlciB0aGUgc3RhdGVtZW50LiBSZW1vdmluZyB0aGUgdW51c2VkIGluY3JlbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTM0NQoKMjAxNC0xMC0yOSAwODoyNzo1NyArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6Zml4IGluY29ycmVjdCBwYXJhbWV0ZXIgcGFzc2VkIHRvIGhhbmRsZV9zZXRfY29udGV4dAoKMjAxNC0xMC0yOCAyMTo0MjozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC93ZWJwL2dzdHdlYnBkZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmg6CgkgIEFkZCBzb21lIG1pc3NpbmcgR19FTkRfREVDTFMKCjIwMTQtMTAtMjggMTc6NDQ6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGZpeCB3cm9uZyB1bnJlZnMgaW4gc2V0X2Zvcm1hdCBlcnJvciBjb2RlIHBhdGgKCjIwMTQtMTAtMjggMTg6Mjc6MTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogZ2V0IHRoZSBjb25maWcgZnJvbSB0aGUgY29ycmVjdCBwb29sCgoyMDE0LTEwLTI4IDE4OjAxOjI3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IGF2b2lkIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgc2l6ZSB3aGVuIGNoYWluaW5nIG11bHRpcGxlIGdsZmlsdGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5Mjc3CgoyMDE0LTEwLTI4IDE4OjAxOjAxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IGdzdC1pbmRlbnQgZmlsZQoKMjAxNC0xMC0yOCAxNzozMTozNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguaDoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBhZGQgYXBpIGZvciByZXRyZWl2aW5nIHRoZSBjdXJyZW50IGNvbnRleHQgYW5kIGFwaQoJICB0aGF0IGlzIGN1cnJlbnQgaW4gdGhlIGNhbGxpbmcgdGhyZWFkLgoKMjAxNC0xMC0yMSAxOTowMzowOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9hbGxfZnVuY3Rpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvdmFvLmg6CgkgIGdscHJvdG90eXBlczogYWRkIHZlcnRleCBhdHRyaWJ1dGUgYXJyYXkgZGVmaW5pdGlvbnMKCjIwMTQtMTAtMjcgMTc6NTc6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDg0ZDA2Y2QgdG8gN2JiMmJjZQoKMjAxNC0xMC0yNyAxNTozNDo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVyOiBVc2UgNjQtYml0IHNhZmUgc2NhbGluZyBmdW5jdGlvbnMKCjIwMTQtMTAtMjcgMTI6NDM6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHJlZmxvdyBzd2l0Y2ggY2FzZSBzdGF0ZW1lbnQgYSBiaXQKCSAgTWFrZSBpdCBjbGVhciB0aGVyZSdzIG5vICdicmVhaycgbWlzc2luZyBhdCB0aGUgZW5kCgkgIG9mIHRoZSBjYXNlIFNZU19EVkJULCBhbmQgcGFjaWZ5IGNvdmVyaXR5IChDSUQgMTI0OTY4OSkuCgoyMDE0LTA2LTEyIDE2OjU5OjQ2ICswMjAwICBMLiBTb3JpbiA8c29yaW5AYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsc3Noc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc3Noc2luay5oOgoJICBjdXJsc3Noc2luazogdXNlIHRoZSBsb2NhbGx5IGRlZmluZWQgdHlwZXMKCSAgSnVzdCBhIG1hdHRlciBvZiBjb2Rpbmcgc3R5bGUsIG1ha2VzIHRoZSBjb2RlIGEgYml0IHRpZGllci4uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNTgxCgoyMDE0LTEwLTI2IDE1OjQ1OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogTWFrZWZpbGUuYW06CgkgIFBhcmFsbGVsaXNlICdtYWtlIGNoZWNrLXZhbGdyaW5kJwoKMjAxNC0xMC0yNiAxNTo0NDowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBjaGVjayBmb3IgbW9yZSBvcGVuaDI2NCBBUEkgdGhhdCB3ZSBuZWVkCgoyMDE0LTEwLTI1IDE4OjUwOjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgdGVzdHM6IGZpeCBhdWRpb21peGVyIHRlc3Qgb24gYmlnIGVuZGlhbiBzeXN0ZW1zCgoyMDE0LTEwLTI0IDIxOjQyOjU4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGNvcnJlY3RseSBjYXBpdGFsaXplIERpU0VxQwoKMjAxNC0xMC0yNCAyMDoxMjoyMyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiByZXdvcmsgX291dHB1dF9mcm9udGVuZF9zdGF0cygpCgkgIFJldHJ5IHN0YXQgcmVwb3J0aW5nIGlvY3RscyBvbiBFSU5UUgoKMjAxNC0xMC0yNCAxOTozMDoyNSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhZGQgY2hlY2tzIG9uIGFsbG93ZWQgRFZCLVQgYmFuZHdpZHRocwoKMjAxNC0xMC0yNCAxOToxMjozMyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhZGQgZml4bWUgbm90ZSBvbiBEVFZfTE5BIHNldHRpbmcKCSAgUmVwaHJhc2UgYW5vdGhlciBjb21tZW50IHdoaWxlIGF0IGl0CgoyMDE0LTEwLTI0IDE4OjU3OjQwIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFkZCBtaXNzaW5nIGxvZ2ljIGZvciBhZGRpdGlvbmFsIGJhbmR3aWR0aHMKCSAgTmV3IDEuNzEyLCA1IGFuZCAxMCBNSHogYmFuZHdpZHRocyB3ZXJlIGJlZW4gaWdub3JlZAoJICBhdCBzZXQvZ2V0IHByb3AuCgoyMDE0LTEwLTI0IDE1OjUzOjU5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IFVzZSBsaWJzcnRwLnBjIGlmIHByZXNlbnQKCjIwMTQtMTAtMjMgMTc6NDI6MjcgKzAzMDAgIFZvb3RlbGUgVmVzdGVyYmxvbSA8dm92QGJhbmctb2x1ZnNlbi5kaz4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICByYXdwYXJzZTogZml4IGhhbmRsaW5nIG9mIHNlZ21lbnQgZXZlbnQgaW4gc2luayBldmVudCBoYW5kbGVyCgoyMDE0LTEwLTI0IDAwOjM1OjIyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBvdmVycmlkZSB0aGUgY2FwcyBxdWVyeSBpbiBvcmRlciB0byAnY29udmVydCcgY2Fwc2ZlYXR1cmVzCgkgIE90aGVyd2lzZSwgaXQgaXMgb25seSBwb3NzaWJsZSBmb3IgdGhlIHNpbmsgcGFkcyBhbmQgdGhlIHNyYyBwYWRzIHRvCgkgIGhhdmUgdGhlIGV4YWN0IHNhbWUgY2FwcyBmZWF0dXJlcy4gIFdlIGNhbiBjb252ZXJ0IGZyb20gYW55IGZlYXR1cmUKCSAgdG8gYW5vdGhlciBmZWF0dXJlIHNvIHN1cHBvcnQgdGhhdC4KCjIwMTQtMTAtMjMgMjM6NTU6NDggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IG92ZXJyaWRlIHRoZSBhY2NlcHQgY2FwcyBxdWVyeSBpbiBvcmRlciB0byAnY29udmVydCcgY2Fwc2ZlYXR1cmVzCgkgIE90aGVyd2lzZSwgaXQgaXMgb25seSBwb3NzaWJsZSBmb3IgdGhlIHNpbmsgcGFkcyBhbmQgdGhlIHNyYyBwYWRzIHRvCgkgIGhhdmUgdGhlIGV4YWN0IHNhbWUgY2FwcyBmZWF0dXJlcy4gIFdlIGNhbiBjb252ZXJ0IGZyb20gYW55IGZlYXR1cmUKCSAgdG8gYW5vdGhlciBmZWF0dXJlIHNvIHN1cHBvcnQgdGhhdC4KCjIwMTQtMDgtMTQgMjM6Mjk6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIGdsOiBwcm9wb2dhdGUgb3RoZXItY29udGV4dCB1c2luZyBHc3RDb250ZXh0CgoyMDE0LTEwLTIwIDAzOjA3OjA4IC0wNjAwICBCcmVuZGFuIExvbmcgPHNlbGZAYnJlbmRhbmxvbmcuY29tPgoKCSogZXh0L2Rhc2gvUkVBRE1FOgoJICBkYXNoOiBSZW1vdmUgb2Jzb2xldGUgUkVBRE1FLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4ODQ4CgoyMDE0LTEwLTIyIDE5OjM0OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkgIGludGVyYXVkaW86IEFkZCBzdXBwb3J0IGZvciBhcmJpdHJhcnkgcmF3IGF1ZGlvIGZvcm1hdHMKCjIwMTQtMTAtMjIgMTk6MzE6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuaDoKCSAgaW50ZXJ2aWRlbzogQWRkIHN1cHBvcnQgZm9yIGFyYml0cmFyeSB2aWRlbyBmb3JtYXRzCgoyMDE0LTEwLTIyIDE5OjI4OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXI6IFRydW5jYXRlIHRoZSBjYXBzIGFzIHBhcnQgb2YgdGhlIGZpeGF0aW5nCgoyMDE0LTEwLTIyIDE5OjA4OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkgIGludGVyYXVkaW86IEZpeCB0aW1lc3RhbXAsIGxhdGVuY3kgYW5kIHBlcmlvZCBoYW5kbGluZwoKMjAxNC0xMC0yMiAxODo0MTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJICBpbnRlcmF1ZGlvOiBVc2UgR1NUX0RFQlVHX09CSkVDVCgpIGluc3RlYWQgb2YgR1NUX0RFQlVHKCkKCjIwMTQtMTAtMjIgMTg6NDA6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuaDoKCSAgaW50ZXJhdWRpbzogUHJvcGVybHkgcGFzcyB0aHJvdWdoIGNhcHMgZnJvbSB0aGUgc2luayB0byB0aGUgc291cmNlCgkgIE90aGVyd2lzZSBhIG1hZ2ljIGNhcHNmaWx0ZXIgYWZ0ZXIgdGhlIHNvdXJjZSBpcyByZXF1aXJlZCB3aXRoCgkgIGV4YWN0bHkgdGhlIHNhbWUgY2FwcyBhcyB0aGUgaW5wdXQuCgoyMDE0LTEwLTIyIDE4OjEzOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmg6CgkgIGludGVyOiBDbGVhbiB1cCBzdXJmYWNlcyBhZnRlciB0aGUgbGFzdCB1c2VyIGlzIGdvbmUKCjIwMTQtMTAtMjIgMTg6MDc6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXI6IFdoaXRlc3BhY2UgY2xlYW51cAoKMjAxNC0xMC0yMiAxODowMzoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuaDoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5oOgoJICBpbnRlcnZpZGVvOiBQcm9wZXJseSBwYXNzIHRocm91Z2ggY2FwcyBmcm9tIHRoZSBzaW5rIHRvIHRoZSBzb3VyY2UKCSAgT3RoZXJ3aXNlIGEgbWFnaWMgY2Fwc2ZpbHRlciBhZnRlciB0aGUgc291cmNlIGlzIHJlcXVpcmVkIHdpdGgKCSAgZXhhY3RseSB0aGUgc2FtZSBjYXBzIGFzIHRoZSBpbnB1dC4KCSAgVGhpcyB3b3VsZCd2ZSBmYWlsZWQgYmVmb3JlIHdpdGggaW52YWxpZCBidWZmZXIgc2l6ZXM6CgkgIGdzdC1sYXVuY2gtMS4wIHZpZGVvdGVzdHNyYyAhIGludGVydmlkZW9zaW5rICBpbnRlcnZpZGVvc3JjICEgInZpZGVvL3gtcmF3LHdpZHRoPTY0MCxoZWlnaHQ9NDgwIiAhIHh2aW1hZ2VzaW5rCgoyMDE0LTEwLTIyIDE1OjA3OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBDaGVjayBmb3IgMC1zaXplIGFmdGVyIGFkanVzdGluZyB0aGUgc2l6ZSBmb3IgdGhlIGZyYW1lIHNpemUKCSAgSWYgd2UgZG9uJ3QgaGF2ZSBhIGNvbXBsZXRlIHJhdyBhdWRpbyBmcmFtZSB3ZSB3b3VsZCBvdGhlcndpc2Ugc3RpbGwKCSAgYXNrIGZvciBhIDAgc2l6ZWQgYnVmZmVyIGZyb20gdGhlIGFkYXB0ZXIuCgoyMDE0LTEwLTIyIDE0OjQzOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBEb24ndCB0cnkgdG8gcmV0cmlldmUgMCBieXRlIGJ1ZmZlcnMgZnJvbSB0aGUgYWRhcHRlciBpbiBtdWx0aS1mcmFtZSBtb2RlCgoyMDE0LTEwLTIyIDEzOjAzOjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGltcHJvdmUgb3BlbmgyNjQgY2hlY2sKCSAgVGhlIG9wZW5oMjY0IEFQSSBpcyBzdGlsbCB1bnN0YWJsZSwgc28gY2hlY2sgZm9yCgkgIHN0cnVjdHVyZSBtZW1iZXIgdGhhdCB3ZSBuZWVkIHRvIHByZXZlbnQgYnVpbGRpbmcKCSAgYWdhaW5zdCBhbiBvbGRlciBpbmNvbXBhdGlibGUgdmVyc2lvbi4KCjIwMTQtMTAtMjIgMTI6MzY6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogc2ltcGxpZnkgb3BlbmgyNjQgY2hlY2sKCSAgT2YgY291cnNlIFBUSFJFQURTX0NGTEFHUyBpcyBub3QgdXNlZCBhbnl3aGVyZSBub3cKCSAgZm9yIHRoZSBjaGVjaywgYnV0IHRoYXQgd2FzIHRoZSBjYXNlIGJlZm9yZSBhcyB3ZWxsLgoKMjAxNC0xMC0yMSAxNjoyMTowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogRml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0Z2x3aW5kb3dfY29jb2EubTogSW4gZnVuY3Rpb24gJy1bR3N0R0xOU1ZpZXcgZHJhd1JlY3Q6XSc6CgkgIGdzdGdsd2luZG93X2NvY29hLm06NTU1OiB3YXJuaW5nOiAnR3N0R0xOU1ZpZXcnIG1heSBub3QgcmVzcG9uZCB0byAnLXJlc2hhcGUnCgkgIGdzdGdsd2luZG93X2NvY29hLm06NTU1OiB3YXJuaW5nOiAoTWVzc2FnZXMgd2l0aG91dCBhIG1hdGNoaW5nIG1ldGhvZCBzaWduYXR1cmUKCSAgZ3N0Z2x3aW5kb3dfY29jb2EubTo1NTU6IHdhcm5pbmc6IHdpbGwgYmUgYXNzdW1lZCB0byByZXR1cm4gJ2lkJyBhbmQgYWNjZXB0CgkgIGdzdGdsd2luZG93X2NvY29hLm06NTU1OiB3YXJuaW5nOiAnLi4uJyBhcyBhcmd1bWVudHMuKQoKMjAxNC0xMC0yMSAxNTo0MjozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBGaXggbG9ja2luZwoJICBUaGUgb2JqZWN0IGxvY2sgb25seSBwcm90ZWN0cyB0aGUgc2Vzc2lvbiwgYXMgd2UgbW9kaWZ5CgkgIHRoZSBzZXNzaW9uIGZyb20gb3RoZXIgdGhyZWFkcyB3aGVuIHRoZSBiaXRyYXRlIHByb3BlcnR5CgkgIGlzIGNoYW5nZWQuIERvbid0IGhvbGQgaXQgbXVjaCBsb25nZXIgdGhhbiBmb3Igc2Vzc2lvbgoJICByZWxhdGVkIHRoaW5ncy4KCSAgQW5kIHdlIG5lZWQgdG8gcmVsZWFzZSB0aGUgdmlkZW8gZGVjb2RlciBzdHJlYW0gbG9jayBiZWZvcmUKCSAgZW5xdWV1ZWluZyBhIGZyYW1lcy4gSXQgbWlnaHQgd2FpdCBmb3Igb3VyIGNhbGxiYWNrIHRvIGRlcXVldWUKCSAgYSBmcmFtZSBmcm9tIGFub3RoZXIgdGhyZWFkLCB3aGljaCB3aWxsIHRoZW4gdGFrZSB0aGUgc3RyZWFtCgkgIGxvY2sgdG9vIGFuZCBkZWFkbG9jay4KCjIwMTQtMTAtMjEgMTM6MDE6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGE4Yzg5MzkgdG8gODRkMDZjZAoKMjAxNC0xMC0yMSAxMzoyODo1MCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB1c2UgYSBtYWNybyB0byBjaGVjayBmb3IgcHRocmVhZAoJICBSZXBsYWNlIHRoZSBoYXJkY29kZWQgLWxwdGhyZWFkIGluIG1vc3Qgb2YgdGhlIHBsYWNlcyB3aXRoICRQVEhSRUFEX0xJQlMuIEZvcgoJICBvcGVuaDI2NCBhbHNvIGFkZCAkUFRIUkVBRF9MSUJTIHRvIE9QRU5IMjY0X0xJQlMgdW50aWwgdXBzdHJlYW0gc2hpcHMgYSAucGMKCSAgZmlsZS4KCjIwMTQtMTAtMjEgMTI6NTg6MzkgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBSRUFETUU6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMzYzODhhMSB0byBhOGM4OTM5CgoyMDE0LTEwLTIxIDEyOjM5OjE0ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogcmVzZXQgZW5kX29mX3BsYXlsaXN0IGF0dHJpYnV0ZSB3aGVuIHdlIHJlY2VpdmUgYSBzZWVrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg2OTYKCjIwMTQtMTAtMjAgMTg6MjU6MDggKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IGNyaXRpY2FsIGVycm9yIGZvciBibG9ja3NpemUsIHRpbWVvdXQgbWluL21heCB2YWx1ZXMKCSAgQXVkaW9taXhlciBibG9ja3NpemUsIGNhbnQgYmUgMCwgaGVuY2UgYWRqdXN0aW5nIHRoZSBtaW5pbXVtIHZhbHVlIHRvIDEKCSAgdGltZW91dCB2YWx1ZSBvZiBhZ2dyZWdhdG9yIGlzIGRlZmluZWQgd2l0aCBNQVggb2YgTUFYSU5UNjQsCgkgIGJ1dCBpdCBjYW5ub3QgY3Jvc3MgR19NQVhMT05HICogR1NUX1NFQ09ORCAtIDEKCSAgSGVuY2UgY2hhbmdlZCB0aGUgbWF4IHZhbHVlIG9mIHRoZSBzYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg4NDUKCjIwMTQtMTAtMjEgMDY6MDQ6MTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IGZpeHVwIGVnbGltYWdlIGluY2x1ZGUgcGF0aAoKMjAxNC0xMC0yMSAwMjo1MjowNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGZpeGF0ZSB0aGUgcGFydHMgb2YgdGhlIGNhcHMgd2UgZG9uJ3Qga25vdyBob3cgdG8gZGVhbCB3aXRoCgkgIGZpeGVzIGdsdmlkZW9taXhlciB3aXRoIHZpZGVvL3gtcmF3LHdpZHRoPWZvbyBpLmUuIG5vIGZvcm1hdCBmaWVsZC4KCjIwMTQtMTAtMTggMTA6MDM6NDMgKzAyMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xidWZmZXJwb29sOiBhZGQgdGhlIEdzdFZpZGVvR0xUZXh0dXJlVXBsb2FkTWV0YSBidWZmZXIgcG9vbCBvcHRpb24KCjIwMTQtMTAtMjAgMTA6MzQ6MjcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmg6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmg6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBvcGVyYXRlIG9uIGNhcHMgcmF0aGVyIHRoYW4gdmlkZW8gaW5mbwoJICBPdGhlcndpc2UgdGhlIENhcHNGZWF0dXJlcyB3aWxsIGJlIGxvc3QgYWxvbmcgd2l0aCB0aGUgcG9zc2liaWxpdHkKCSAgb2YgbXVsdGlwbGUgb3V0cHV0IHR5cGVzIGFuZCBmb3JtYXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MTI5CgoyMDE0LTA5LTE5IDExOjM3OjU2ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogaW50cm9kdWNlIGEgaGVscGVyIHRvIG1ha2Ugc2VxdWVuY2UtbGF5ZXIKCSAgSXQgd2lsbCBiZSB1c2VmdWwgdG8gaW1wbGVtZW50IHN0cmVhbS1mb3JtYXQgY29udmVyc2lvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODUyNgoKMjAxNC0xMC0yMCAwMjoyNzoxNSAtMDYwMCAgQnJlbmRhbiBMb25nIDxzZWxmQGJyZW5kYW5sb25nLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2w6IENoZWNrIGZvciBHTFUgYmVmb3JlIHRyeWluZyB0byB1c2UgaXQgaW4gY29uZmlndXJlLmFjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg4MTYKCjIwMTQtMTAtMjAgMTU6MDI6MjggKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbGNvbG9yY29udmVydDogc3VwcG9ydCBSR0IxNi9CR1IxNiB2aWRlbyBmb3JtYXQgdXBsb2FkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg4NDIKCjIwMTQtMTAtMDkgMTU6MTI6MDEgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL3ZjMXBhcnNlci5jOgoJICB2YzFwYXJzZXI6IGZpeCBleHBlY3RlZCBsZXZlbCBpbiBzZXF1ZW5jZS1sYXllciBwYXJzaW5nIHVuaXQgdGVzdAoJICBTZXF1ZW5jZS1sYXllciB1c2VkIGZvciB1bml0IHRlc3QgaGF2ZSBhIGxldmVsIHNldCB0byAyIHdoaWNoIHNob3VsZAoJICBtYXRjaCB0aGUgbWVkaXVtIGxldmVsLCBub3QgdGhlIGhpZ2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgyMzAKCjIwMTQtMTAtMDkgMTU6MDU6NTUgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJICB2YzFwYXJzZXI6IGZpeCBsZXZlbCB2YWx1ZXMgZm9yIHNpbXBsZS9tYWluIHByb2ZpbGUKCSAgSW4gc2ltcGxlIHByb2ZpbGUsIGxldmVsIHNldCB0byAwIG9yIDIgaW5kaWNhdGUgbG93IGFuZCBtZWRpdW0gbGV2ZWwKCSAgcmVzcGVjdGl2ZWx5LiBJbiBtYWluIHByb2ZpbGUsIGxldmVsIHNldCB0byAwLCAyIG9yIDQgaW5kaWNhdGUgbG93LAoJICBtZWRpdW0gYW5kIGhpZ2ggbGV2ZWwgcmVzcGVjdGl2ZWx5LgoJICBMZXZlbCB2YWx1ZXMgYXJlIGRlZmluZWQgaW4gQW5uZXggSi4xLjIgb2YgdGhlIFNNUFRFIDQyMU0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgyMzAKCjIwMTQtMDgtMDIgMTE6Mjk6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBzZW5kIGluaXRpYWwgR0FQIGV2ZW50IG9uIHNwYXJzZSBzdHJlYW1zIGZvciBmYXN0ZXIgc3RhcnR1cCB3aXRoIHBsYXliaW4KCSAgU2lnbmFsIHNwYXJzZSBzdHJlYW1zIHByb3Blcmx5IGluIHN0cmVhbS1zdGFydCBldmVudCBhbmQgZm9yY2Ugc2VuZGluZwoJICBvZiBwZW5kaW5nIHN0aWNreSBldmVudHMgd2hpY2ggaGF2ZSBiZWVuIHN0b3JlZCBvbiB0aGUgcGFkIGFscmVhZHkgYW5kCgkgIHdoaWNoIG90aGVyd2lzZSB3b3VsZCBvbmx5IGJlIHNlbnQgb24gdGhlIGZpcnN0IGJ1ZmZlciBvciBzZXJpYWxpemVkCgkgIGV2ZW50ICh3aGljaCBtZWFucyB2ZXJ5IGxhdGUgaW4gY2FzZSBvZiBzdWJ0aXRsZSBzdHJlYW1zKS4gUGxheXNpbmsgaW4KCSAgcGxheWJpbiB3YWl0cyBmb3Igc3RyZWFtLXN0YXJ0IG9yIGFub3RoZXIgc2VyaWFsaXplZCBldmVudCwgYW5kIGlmIHdlCgkgIGRvbid0IGRvIHRoaXMgaXQgd2lsbCB3YWl0IGZvciB0aGUgbXVsdGlxdWV1ZSB0byBydW4gZnVsbCBiZWZvcmUKCSAgc3RhcnRpbmcgcGxheWJhY2ssIHdoaWNoIG1pZ2h0IHRha2UgYSBjb3VwbGUgb2Ygc2Vjb25kcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDA0MAoKMjAxNC0xMC0yMCAxMjozMDo1MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEdBUCBkZXRlY3Rpb24KCSAgQWxsIHBhZHMgb2YgYSBzdHJlYW0gYXJlIG5vdyBhZGRlZCBhdCB0aGUgYmVnaW5uaW5nLiBJbiBvcmRlciB0byBjb3BlIHdpdGgKCSAgc3RyZWFtcyB0aGF0IGRvbid0IGdldCBhbnkgZGF0YSAoZm9yZXZlciBvciBmb3IgYSBsb25nIHRpbWUpIHdlIGRldGVjdCBnYXBzCgkgIGFuZCBwdXNoIG91dCBHQVAgZXZlbnRzIHdoZW4gbmVlZGVkLgoJICBDbGVhbnVwcyBhbmQgY29tbWVudGluZyBieSBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDA0MAoKMjAxNC0xMC0wMSAxNjoxNzo0NiArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5oOgoJICB2YzFwYXJzZTogc2VsZWN0IGNhcHMgYWNjb3JkaW5nIHRvIHdtdiBmb3JtYXQgYXQgbmVnb3RpYXRpb24KCSAgU29tZSBWQzEgZGVjb2RlciBjYW4gaGF2ZSBkaWZmZXJlbnQgY2FwcyBhY2NvcmRpbmcgdG8gd212IGZvcm1hdCwgaWUKCSAgV01WMyBvciBXVkMxLgoJICBTbyBpbnN0ZWFkIG9mIGtlZXBpbmcgdGhlIGZpcnN0IGF2YWlsYWJsZSBjYXBzLCB3ZSBpbnRlcnNlcmN0IHdpdGgKCSAgY3VycmVudCBXTVYgZm9ybWF0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NTMyCgoyMDE0LTEwLTIwIDExOjIyOjU0ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFkZCBwdGhyZWFkIHRvIHRoZSBjb25maWd1cmUgY2hlY2sgZm9yIG9wZW5oMjY0CgoyMDE0LTEwLTIwIDA5OjQ3OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSAgcnRtcHNpbms6IERlY2xhcmUgc2luayB2YXJpYWJsZSB0aGF0IHdhcyBmb3Jnb3R0ZW4gaW4gbGFzdCBjb21taXQKCjIwMTQtMTAtMTkgMjA6MzU6NDEgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkgIHJ0bXBzaW5rOiBGcmVlIFVSSSBzdHJpbmcgaW4gZmluYWxpemUoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4Njc0CgoyMDE0LTEwLTE3IDIxOjI2OjUyIC0wNzAwICBCcmlvbiBWaWJiZXIgPGJyaW9uQHBvYm94LmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogRml4IGZvciBidWlsZGluZyBvbiBNYWMgT1MgWCAxMC4xMAoJICBVc2luZyBOU0FwcCBkaXJlY3RseSBzZWVtcyB0byBjb25mdXNlIHNvbWV0aGluZywgYXMgdGhlIGNvbXBpbGVyCgkgIHdhcyBleHBlY3RpbmcgYW4gaWQ8TlNGaWxlTWFuYWdlckRlbGVnYXRlPi4gU3dpdGNoZWQgdG8gdXNpbmcKCSAgW05TQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25dLCBhbmQgc3BlY2lmaWVkIHRoZSBkZWxlZ2F0ZQoJICBwcm90b2NvbCBvbiB0aGUgd2luZG93IGNsYXNzIGFzIHdlbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg3NDAKCjIwMTQtMTAtMTkgMTQ6NTc6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogVXNlIGtWVFByb2ZpbGVMZXZlbF9IMjY0X0Jhc2VsaW5lX0F1dG9MZXZlbCBvbmx5IG9uIGlPUwoJICBJdCBpcyBub3QgcmVxdWlyZWQgb24gT1NYIGFwcGFyZW50bHkgYW5kIHdhcyBvbmx5IGFkZGVkIGluIDEwLjkuNiB0aGVyZS4KCSAgQ2FsY3VsYXRpbmcgdGhlIGNvcnJlY3QgbGV2ZWwgZnJvbSB0aGUgY29uZmlndXJhdGlvbiBpcyBub3QgdHJpdmlhbCwgc28gbGV0J3MKCSAganVzdCBub3Qgc2V0IGEgbGV2ZWwgYXQgYWxsIGhlcmUuCgoyMDE0LTEwLTE5IDE0OjUxOjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogVlRDb21wcmVzc2lvblNlc3Npb25QcmVwYXJlVG9FbmNvZGVGcmFtZXMgb25seSBleGlzdHMgc2luY2UgMTAuOS42CgkgIENoZWNrIHdpdGggY29uZmlndXJlIGZvciBpdCBpbnN0ZWFkIG9mIHVzaW5nIG9uZSBvZiB0aGUgYXZhaWxhYmlsaXR5IG1hY3JvcwoJICBhcyB0aG9zZSB3b3VsZG4ndCB3b3JrIGFzIGV4cGVjdGVkIHdpdGggbWlub3IgdmVyc2lvbnMuCgoyMDE0LTEwLTE5IDE0OjMyOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IFJlbW92ZSB1bnVzZWQgI2RlZmluZQoKMjAxNC0xMC0xOSAxMzo0NDozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIHJ0cGJhZDogRml4IG1ha2UgZGlzdCBieSByZW1vdmluZyBub24tZXhpc3RpbmcgZmlsZSBmcm9tIEVYVFJBX0RJU1QKCSAgSXQncyB1c2VkIGJ5IHRoZSBydHAgcGx1Z2luIGluIGdzdC1wbHVnaW5zLWdvb2QgZm9yIFZQOCBidXQgbm90IG5lZWRlZAoJICBvciB1c2VkIGhlcmUuCgoyMDE0LTEwLTE3IDE2OjUxOjI3ICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgcnRwYmFkOiBpbmNsdWRlIHBsdWdpbnMgYmFzZSBjZmxhZ3MgKGZpeCBidWlsZCBvbiBqZW5raW5zKQoKMjAxNC0xMC0xNiAxMDozNDowMSArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5oOgoJICBydHA6IGFkZCBoMjY1IFJUUCBwYXlsb2FkZXIgKyBkZXBheWxvYWRlcgoKMjAxNC0xMC0xNSAxNToyNTo1NSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJICBjdXJsYmFzZXNpbms6IHN0cmlwIG5ld2xpbmVzIGZyb20gY3VybCBkZWJ1ZyBtZXNzYWdlcwoJICBUaGUgbWVzc2FnZXMgd2UgcmVjZWl2ZSBpbiB0aGUgY3VzdG9tIGxvZyBoYW5kbGVyIG1pZ2h0IGVuZCB3aXRoIGEgbmV3bGluZSBhbmQKCSAgYXJlIG5vdCBcMCB0ZXJtaW5hdGVkLiBDb3B5IHRoZSBtZXNzYWdlcywgdHJpbSBhbmQgdGVybWluYXRlIHRoZW0uCgoyMDE0LTEwLTE1IDE1OjI0OjEyICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkgIGN1cmxiYXNlc2luazogc21hbGwgY29kZSBjbGVhbnVwCgkgIFVzZSBhIGxvY2FsIHZhciBhbmQgc2F2ZSBhIGxvY2FsIHZhci4KCjIwMTQtMTAtMTUgMTY6NTI6MDkgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMveDI2NWVuYy5jOgoJICB0ZXN0cy94MjY1ZW5jOiBhZGQgc2ltcGxlIHVuaXQgdGVzdAoKMjAxNC0wMy0wNSAxNjozOTozMCArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQveDI2NS9NYWtlZmlsZS5hbToKCSogZXh0L3gyNjUvZ3N0eDI2NWVuYy5jOgoJKiBleHQveDI2NS9nc3R4MjY1ZW5jLmg6CgkgIHgyNjVlbmM6IGFkZCB4MjY1IGVuY29kZXIgZWxlbWVudAoKMjAxNC0xMC0xNCAxNDowMDoxMSArMDIwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSAgZ2xkZWludGVybGFjZTogcmVmIHRoZSB1cGxvYWRlZCBidWZmZXIKCSAgSW5zdGVhZCBvZiB0aGUgcG9zc2libHkgbm9uLUdMIGlucHV0IGJ1ZmZlci4KCjIwMTQtMTAtMTQgMTY6NDE6NTEgKzAyMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgZ2xmaWx0ZXI6IGFkZCB1cGxvYWRlZF9idWZmZXIgZmllbGQKCjIwMTQtMDktMjIgMDk6NDQ6MTQgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBwYXJzZSBmcmFtZSBoZWFkZXIgd2hlbiBzdHJlYW0gZm9ybWF0IGlzIEFTRi9yYXcgZm9yIHNpbXBsZS9tYWluIHByb2ZpbGUKCSAgV2hlbiBzdHJlYW0tZm9ybWF0IGlzIEFTRiBvciBzZXF1ZW5jZS1sYXllci1yYXctZnJhbWUsIHdlIGJhc2ljYWxseSBoYXZlCgkgIGEgcmF3IGZyYW1lIHNvIHdlIGNhbiBwYXJzZSBpdCB0byBleHRyYWN0IHNvbWUgaW5mb3JtYXRpb24gc3VjaCB0aGUKCSAga2V5ZnJhbWUgZmxhZy4gVGhlIG9ubHkgcmVxdWlyZW1lbnQgaXMgdG8gaGF2ZSBhIHZhbGlkIHNlcXVlbmNlLWhlYWRlci4KCSAgVGhpcyBjb21taXQgcGFyc2UgdGhlIGZyYW1lIGhlYWRlciBhbmQgc2V0IHRoZSBERUxUQV9VTklUIGJ1ZmZlciBmbGFnIGluCgkgIGNhc2UgdGhlIGZyYW1lIGlzIG5vdCBhIGtleWZyYW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NTE5CgoyMDE0LTEwLTE0IDEwOjUxOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2xpYmRlMjY1L2xpYmRlMjY1LWRlYy5jOgoJICBsaWJkZTI2NTogQ2hhbmdlIHJhbmsgdG8gU0VDT05EQVJZLCBnc3QtbGliYXYgaGFzIFBSSU1BUlkgcmFuawoKMjAxNC0wOS0xNyAxMDozODo0NCArMDIwMCAgSm9hY2hpbSBCYXVjaCA8YmF1Y2hAc3RydWt0dXIuZGU+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2xpYmRlMjY1L01ha2VmaWxlLmFtOgoJKiBleHQvbGliZGUyNjUvZ3N0bGliZGUyNjUuYzoKCSogZXh0L2xpYmRlMjY1L2xpYmRlMjY1LWRlYy5jOgoJKiBleHQvbGliZGUyNjUvbGliZGUyNjUtZGVjLmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBJbnRlZ3JhdGUgbGliZGUyNjUgaW50byBnc3QtcGx1Z2lucy1iYWQuCgoyMDE0LTEwLTEzIDE0OjA1OjI0ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZToganVzdCBhc3N1bWUgbm9uZSBoZWFkZXItZm9ybWF0IHdoZW4gbm8gY29kZWNfZGF0YSBpcyBwcmVzZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg0NDkKCjIwMTQtMTAtMTQgMDk6MTk6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogU2V0IHJlb3JkZXIgbGVuZ3RoIHRvIDAgaWYgd2UgY2FuJ3QgY2FsY3VsYXRlIGl0CgkgIEluc3RlYWQgb2YgbGVhdmluZyBpdCBhdCB3aGF0ZXZlciB2YWx1ZSBpdCBoYWQgYmVmb3JlLgoKMjAxNC0xMC0xMyAxMzoyODo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogT25seSBmaW5hbGl6ZSB0aGUgb3RoZXIgY29udGV4dCBpbiBmaW5hbGl6ZSgpCgkgIE90aGVyd2lzZSB3ZSBjaGFuZ2UgYSB2YWx1ZSBvZiBhIHByb3BlcnR5IHdoZW4gZ29pbmcgdG8gUkVBRFkgc3RhdGUsCgkgIHdoaWNoIGlzIHVuZXhwZWN0ZWQgYmVoYXZpb3VyLgoKMjAxNC0xMC0xMyAxMzoyNzo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IENhbGwgdGhlIHBhZCdzIHBhcmVudCBjbGFzcyBmaW5hbGl6ZSBtZXRob2QKCjIwMTQtMTAtMTMgMTM6Mjc6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBPbmx5IGZpbmFsaXplIHRoZSBvdGhlciBjb250ZXh0IGluIGZpbmFsaXplKCkKCSAgT3RoZXJ3aXNlIHdlIGNoYW5nZSBhIHZhbHVlIG9mIGEgcHJvcGVydHkgd2hlbiBnb2luZyB0byBSRUFEWSBzdGF0ZSwKCSAgd2hpY2ggaXMgdW5leHBlY3RlZCBiZWhhdmlvdXIuCgoyMDE0LTEwLTEzIDEzOjI1OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkgIGdsdGVzdHNyYzogQWRkIG90aGVyLWNvbnRleHQgcHJvcGVydHkKCjIwMTQtMTAtMTMgMTE6NTY6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IERvbid0IGxlYWsgb3RoZXItY29udGV4dAoKMjAxNC0xMC0xMyAxMTo1Mzo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmg6CgkgIGdsbWl4ZXI6IEFkZCBvdGhlci1jb250ZXh0IHByb3BlcnR5CgoyMDE0LTEwLTEyIDIxOjI1OjE2IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgZHZiOiBtYWtlIGludGVybGVhdmluZyBhIHByb3AgYW5kIHByb3h5IG9uIGR2YmJhc2ViaW4KCSAgRFRWX0lOVEVSTEVBVklORyBpcyBjdXJyZW50bHkgdXNlZCBvbmx5IGZvciBEVEJNLiBUaGlzIGlzCgkgIGNvbmdydWVudCB3aXRoIHRoZSB2NGwgZHZiIEFQSSB3aGVyZSB0aGUgZGlmZmVyZW50IGludGVybGVhdmluZwoJICBtb2RlcyB3aGVyZSBhZGRlZCBmb3IgdjUuNwoKMjAxNC0xMC0xMiAxODozMDozOCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhZGQgdHJhbnNtaXNzaW9uIG1vZGUgY2hlY2tzIGZvciBEVkItVC9UMgoJICBUaGVzZSBhbmQgZXZlcnkgc2FuaXR5IGNoZWNrIGxlYWRpbmcgdG8gYSB3YXJuaW5nCgkgICh3ZSBoYXZlIGEgZmV3IGluIHBsYWNlKSBzaG91bGQgY29tZSBoYW5keSB3aGVuCgkgIGRlYnVnaW5nIGZhaWxlZCB0dW5uaW5nIHNjZW5hcmlvcy4KCjIwMTQtMTAtMTIgMTM6MzQ6MDkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZG9jcywgZHJvcCB2NSBBUEkgY2hhbmdlIGhpc3RvcnkgY29tbWVudHMgPCAuNQoJICBXZSBvbmx5IHN1cHBvcnQgZnJvbSBtaW5vciA1IGFuZCB1cCBub3cuIEFsc28gYWRkIGEKCSAgbm90ZSBhYm91dCB0aGUgcmVjZW50bHkgYWRkZWQgcHJlbGltaW5hciBEVE1CIHN1cHBvcnQuCgoyMDE0LTEwLTEyIDEzOjA4OjEzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFkZCBtaXNzaW5nIERWQi1UMiBiYW5kd2lkdGggdHlwZXMKCSAgRFZCLVQyIHN1cHBvcnRzIDUsIDEwIGFuZCAxLjcxMiBNSHoKCSAgT3JkZXIgb2YgdGhlIGVudW0gdmFsdWVzIChuZXcgdmFsdWVzIGFmdGVyIF9BVVRPKQoJICBoYXMgYmVlbiBrZXB0IGNvbmdydWVudCB3aXRoIHRoZSBvbmUgaW4gdGhlIHY0bAoJICBBUEkgZm9yIGNvbnNpc3RlbmN5CgoyMDE0LTEwLTA3IDEwOjM3OjMzICswMjAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBkbyBub3QgcmVuZGVyIHR3aWNlIHRoZSBzYW1lIGJ1ZmZlcgoJICBEbyBub3QgdHJ5IHRvIHJlbmRlciBhIGJ1ZmZlciB0aGF0IGlzIGFscmVhZHkgYmVpbmcgcmVuZGVyZWQuCgkgIFRoaXMgaGFwcGVucyB0eXBpY2FsbHkgZHVyaW5nIHRoZSBpbml0aWFsIHJlbmRlcmluZyBzdGFnZSBhcyB0aGUgZmlyc3QKCSAgYnVmZmVyIGlzIHJlbmRlcmVkIHR3aWNlOiBmaXJzdCBieSBwcmVyb2xsKCksIHRoZW4gYnkgcmVuZGVyKCkuCgkgIFRoaXMgY29tbWl0IGF2b2lkcyB0aGlzIGFzc2VydGlvbiBmYWlsdXJlOgoJICBDUklUSUNBTDogZ3N0X3dheWxhbmRfY29tcG9zaXRvcl9hY3F1aXJlX2J1ZmZlcjogYXNzZXJ0aW9uCgkgICdtZXRhLT51c2VkX2J5X2NvbXBvc2l0b3IgPT0gRkFMU0UnIGZhaWxlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MDY5CgkgIFNpZ25lZC1vZmYtYnk6IEZhYmllbiBEZXNzZW5uZSA8ZmFiaWVuLmRlc3Nlbm5lQHN0LmNvbT4KCSAgU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoyMDE0LTA3LTI0IDE2OjUzOjUzICswMjAwICBUaWZhaW5lIEluZ3VlcmUgPHRpZmFpbmUuaW5ndWVyZUBzdC5jb20+CgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJICB3YXlsYW5kc2luayA6IEFsbG93IHN1cmZhY2UgdG8gY2F0Y2ggaW5wdXQgZXZlbnRzCgkgIElmIHdheWxhbmRzaW5rIGlzIHRoZSBvd25lciBvZiB0aGUgZGlzcGxheSB0aGVuIGl0IGlzIGluIGNoYXJnZQoJICBvZiBjYXRjaGluZyBpbnB1dCBldmVudHMgb24gdGhlIHN1cmZhY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM2ODIKCSAgU2lnbmVkLW9mZi1ieTogVGlmYWluZSBJbmd1ZXJlIDx0aWZhaW5lLmluZ3VlcmVAc3QuY29tPgoJICBSZXZpZXdlZC1ieTogQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoyMDE0LTA3LTAyIDEzOjI5OjU1ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2xidWZmZXIuYzoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5LmM6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5oOgoJICB3YXlsYW5kc2luazogdGFrZSBpbnRvIGFjY291bnQgdGhlIGNhc2Ugd2hlcmUgYSBwb29sIG1heSBiZSBkZXN0cm95ZWQgdG9nZXRoZXIgd2l0aCBHc3RXbERpc3BsYXkKCSAgVGhlcmUgYXJlIHR3byBjYXNlcyBjb3ZlcmVkIGhlcmU6CgkgIDEpIFRoZSBHc3RXbERpc3BsYXkgZm9yY2VzIHRoZSByZWxlYXNlIG9mIHRoZSBsYXN0IGJ1ZmZlciBhbmQgdGhlIHBvb2wKCSAgZ2V0cyBkZXN0cm95ZWQgaW4gdGhpcyBjb250ZXh0LCB3aGljaCBtZWFucyBpdCB1bnJlZ2lzdGVycyBhbGwgdGhlCgkgIG90aGVyIGJ1ZmZlcnMgZnJvbSB0aGUgR3N0V2xEaXNwbGF5IGFzIHdlbGwgYW5kIHRoZSBkaXNwbGF5LT5idWZmZXJzCgkgIGhhc2ggdGFibGUgZ2V0cyBjb3JydXB0ZWQgYmVjYXVzZSBpdCBpcyBpdGVyYXRpbmcuCgkgIDIpIFRoZSBwb29sIGFuZCBpdHMgYnVmZmVycyBnZXQgZGVzdHJveWVkIGNvbmN1cnJlbnRseSBmcm9tIGFub3RoZXIKCSAgdGhyZWFkIHdoaWxlIEdzdFdsRGlzcGxheSBpcyBmaW5hbGl6aW5nIGFuZCBtYW55IHRoaW5ncyBnZXQgY29ycnVwdGVkLgoKMjAxNC0wNy0wMSAxMTo0MzoyMCArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL3dsYnVmZmVyLmM6CgkqIGV4dC93YXlsYW5kL3dsYnVmZmVyLmg6CgkqIGV4dC93YXlsYW5kL3dsdmlkZW9mb3JtYXQuaDoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuaDoKCSAgd2F5bGFuZHNpbms6IHN0YWNrIHRoZSB2aWRlbyBzdWJzdXJmYWNlIGludG8gYW5vdGhlciBzdWJzdXJmYWNlIHRoYXQgY292ZXJzIHRoZSB3aG9sZSByZW5kZXIgcmVjdGFuZ2xlCgkgIFRoZSBtYWluIHJlYXNvbiBiZWhpbmQgdGhpcyBpcyB0aGF0IHdoZW4gdGhlIHZpZGVvIGNhcHMgY2hhbmdlIGFuZCB0aGUgdmlkZW8KCSAgc3Vic3VyZmFjZSBuZWVkcyB0byByZXNpemUgYW5kIGNoYW5nZSBwb3NpdGlvbiwgdGhlIHdsX3N1YnN1cmZhY2Uuc2V0X3Bvc2l0aW9uCgkgIGNhbGwgbmVlZHMgYSBjb21taXQgaW4gaXRzIHBhcmVudCBpbiBvcmRlciB0byB0YWtlIGVmZmVjdC4gUHJldmlvdXNseSwKCSAgdGhlIHBhcmVudCB3YXMgdGhlIGFwcGxpY2F0aW9uJ3Mgc3VyZmFjZSwgb3ZlciB3aGljaCB0aGVyZSBpcyBubyBjb250cm9sLgoJICBOb3csIHRoZSBwYXJlbnQgaXMgaW5zaWRlIHRoZSBzaW5rLCBzbyB3ZSBjYW4gY29tbWl0IGl0IGFuZCBjaGFuZ2Ugc2l6ZSBzbW9vdGhseS4KCSAgQXMgYSBzaWRlIGVmZmVjdCwgdGhpcyBhbHNvIGFsbG93cyB0aGUgc2luayB0byBkcmF3IGl0cyBibGFjayBib3JkZXJzIG9uCgkgIGl0cyBvd24sIHdpdGhvdXQgdGhlIG5lZWQgZm9yIHRoZSBhcHBsaWNhdGlvbiB0byBkbyB0aGF0LiBBbmQgYW5vdGhlciBzaWRlCgkgIGVmZmVjdCBpcyB0aGF0IHRoaXMgY2FuIG5vdyBhbGxvdyByZXNpemluZyB0aGUgc2luayB3aGVuIGl0IGlzIGluIHRvcC1sZXZlbAoJICBtb2RlIGFuZCBoYXZlIGl0IHJlc3BlY3QgdGhlIGFzcGVjdCByYXRpby4KCjIwMTQtMDYtMjAgMTY6MjQ6MzYgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC93bHNobWFsbG9jYXRvci5jOgoJKiBleHQvd2F5bGFuZC93bHZpZGVvZm9ybWF0LmM6CgkqIGV4dC93YXlsYW5kL3dsdmlkZW9mb3JtYXQuaDoKCSAgd2F5bGFuZHNpbms6IHJlbmFtZSB2aWRlbyBmb3JtYXQgY29udmVyc2lvbiBmdW5jdGlvbnMgdG8gaW5kaWNhdGUgdGhleSBhcmUgYWJvdXQgd2xfc2htCgkgIE5lZWRlZCB0byBhZGQgbGludXhfZG1hYnVmIGZvcm1hdCBjb252ZXJzaW9uIGZ1bmN0aW9ucyBsYXRlcgoKMjAxNC0wNi0yMyAxNzoyNzowMSArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL3dsYnVmZmVyLmM6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5jOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuaDoKCSAgd2F5bGFuZHNpbms6IHJlbW92ZSB0aGUgdWdseSBnc3Rfd2xfZGlzcGxheV9zdG9wKCkgbm93IHRoYXQgdGhpcyBtZWNoYW5pc20gaXMgbm90IG5lZWRlZCBhbnltb3JlCgkgIEJlY2F1c2Ugd2Ugbm8gbG9uZ2VyIGhhdmUgYSBjdXN0b20gYnVmZmVyIHBvb2wgdGhhdCBob2xkcyBhIHJlZmVyZW5jZQoJICB0byB0aGUgZGlzcGxheSwgdGhlcmUgaXMgbm8gd2F5IGZvciBhIGN5Y2xpYyByZWZlcmVuY2UgdG8gaGFwcGVuIGxpa2UKCSAgYmVmb3JlLCBzbyB3ZSBubyBsb25nZXIgbmVlZCB0byBleHBsaWNpdGx5IGNhbGwgYSBmdW5jdGlvbiBmcm9tIHRoZQoJICBkaXNwbGF5IHRvIHJlbGVhc2UgdGhlIHdsX2J1ZmZlcnMuCgkgIEhvd2V2ZXIsIHRoZSBnZW5lcmFsIG1lY2hhbmlzbSBvZiByZWdpc3RlcmluZyBidWZmZXJzIHRvIHRoZSBkaXNwbGF5CgkgIGFuZCBmb3JjaWJseSByZWxlYXNpbmcgdGhlbSB3aGVuIHRoZSBkaXNwbGF5IGlzIGRlc3Ryb3llZCBpcyBzdGlsbAoJICBuZWVkZWQgdG8gYXZvaWQgcG90ZW50aWFsIG1lbW9yeSBsZWFrcy4gVGhlIGNvbW1lbnQgaW4gd2xidWZmZXIuYwoJICBpcyB1cGRhdGVkIHRvIHJlZmxlY3QgdGhlIGN1cnJlbnQgc2l0dWF0aW9uLgoKMjAxNC0wNi0yMyAxNjo0MDowMiArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5oOgoJKiBleHQvd2F5bGFuZC93bHNobWFsbG9jYXRvci5jOgoJKiBleHQvd2F5bGFuZC93bHNobWFsbG9jYXRvci5oOgoJICB3YXlsYW5kc2luazogcmVwbGFjZSB0aGUgY3VzdG9tIGJ1ZmZlciBwb29sIHdpdGggYW4gYWxsb2NhdG9yCgkgIFRoaXMgcmVkdWNlcyB0aGUgY29tcGxleGl0eSBvZiBoYXZpbmcgYSBjdXN0b20gYnVmZmVyIHBvb2wsIGFzCgkgIHdlIGRvbid0IHJlYWxseSBuZWVkIGl0LiBXZSBvbmx5IG5lZWQgdGhlIGN1c3RvbSBhbGxvY2F0aW9uIHBhcnQuCgkgIEFuZCBzaW5jZSB0aGUgd2xfYnVmZmVyIGlzIG5vIGxvbmdlciBzYXZlZCBpbiBhIEdzdE1ldGEsIHdlIGNhbgoJICBjcmVhdGUgaXQgYW5kIGFkZCBpdCBvbiB0aGUgYnVmZmVycyBpbiB0aGUgc2luaydzIHJlbmRlcigpCgkgIGZ1bmN0aW9uLCB3aGljaCByZW1vdmVzIHRoZSByZWZlcmVuY2UgY3ljbGUgY2F1c2VkIGJ5IHRoZSBwb29sCgkgIGhvbGRpbmcgYSByZWZlcmVuY2UgdG8gdGhlIGRpc3BsYXkgYW5kIGFsc28gYWxsb3dzIG1vcmUgZ2VuZXJpYwoJICBzY2VuYXJpb3MgKHRoZSBhbGxvY2F0b3IgYmVpbmcgdXNlZCBpbiBhbm90aGVyIHBvb2wsIG9yIGJ1ZmZlcnMKCSAgYmVpbmcgYWxsb2NhdGVkIHdpdGhvdXQgYSBwb29sIFtpZiBhbnl0aGluZyBzdHVwaWQgZG9lcyB0aGF0XSkuCgkgIFRoaXMgY29tbWl0IGFsc28gc2ltcGxpZmllcyB0aGUgcHJvcG9zZV9hbGxvY2F0aW9uKCkgZnVuY3Rpb24sCgkgIHdoaWNoIGRvZXNuJ3QgcmVhbGx5IG5lZWQgdG8gZG8gYWxsIHRoZXNlIGNvbXBsaWNhdGVkIGNoZWNrcywKCSAgc2luY2UgdGhlcmUgaXMgYWx3YXlzIGEgY29ycmVjdCBidWZmZXIgcG9vbCBhdmFpbGFibGUsIGNyZWF0ZWQKCSAgaW4gc2V0X2NhcHMoKS4KCSAgVGhlIG90aGVyIHNpZGUgZWZmZWN0IG9mIHRoaXMgY29tbWl0IGlzIHRoYXQgYSBuZXcgd2xfc2htX3Bvb2wKCSAgaXMgbm93IGNyZWF0ZWQgZm9yIGV2ZXJ5IEdzdE1lbW9yeSwgd2hpY2ggbWVhbnMgdGhhdCB3ZSB1c2UKCSAgYXMgbXVjaCBzaG0gbWVtb3J5IGFzIHdlIGFjdHVhbGx5IG5lZWQgYW5kIG5vIG1vcmUuIFByZXZpb3VzbHksCgkgIHRoZSBjcmVhdGVkIHdsX3NobV9wb29sIHdvdWxkIGFsbG9jYXRlIHNwYWNlIGZvciAxNSBidWZmZXJzLCBubwoJICBtYXR0ZXIgaWYgdGhleSB3ZXJlIGJlaW5nIHVzZWQgb3Igbm90LgoKMjAxNC0wNi0yMCAxNDo0Nzo1NyArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5oOgoJKiBleHQvd2F5bGFuZC93bGJ1ZmZlci5jOgoJKiBleHQvd2F5bGFuZC93bGJ1ZmZlci5oOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5Lmg6CgkgIHdheWxhbmRzaW5rOiByZXdvcmsgdGhlIG1lY2hhbmlzbSBmb3Iga2VlcGluZyBidWZmZXJzIG91dCBvZiB0aGUgcG9vbCB1bnRpbCB3bF9idWZmZXI6OnJlbGVhc2UKCSAgVGhpcyBhbHNvIHJlbW92ZXMgdGhlIEdzdFdsTWV0YSBhbmQgYWRkcyBhIHdyYXBwZXIgY2xhc3MgZm9yIHdsX2J1ZmZlcgoJICB3aGljaCBpcyBzYXZlZCBpbiB0aGUgR3N0QnVmZmVyIHFkYXRhIGluc3RlYWQgb2YgYmVpbmcgYSBHc3RNZXRhLgoJICBUaGUgbW90aXZhdGlvbiBiZWhpbmQgdGhpcyBpcyBtYWlubHkgdG8gYWxsb3cgYXR0YWNoaW5nIHdsX2J1ZmZlcnMgb24KCSAgR3N0QnVmZmVycyB0aGF0IGhhdmUgbm90IGJlZW4gYWxsb2NhdGVkIGluc2lkZSB0aGUgR3N0V2F5bGFuZEJ1ZmZlclBvb2wsCgkgIHNvIHRoYXQgaWYgZm9yIGV4YW1wbGUgYW4gdXBzdHJlYW0gZWxlbWVudCBpcyBzZW5kaW5nIHVzIGEgYnVmZmVyCgkgIGZyb20gYSBkaWZmZXJlbnQgcG9vbCwgd2hpY2ggaG93ZXZlciBkb2VzIG5vdCBuZWVkIHRvIGJlIGNvcGllZAoJICB0byBhIGJ1ZmZlciBmcm9tIG91ciBwb29sIGJlY2F1c2UgaXQgbWF5IGJlIGEgaGFyZHdhcmUgYnVmZmVyCgkgIChoZWxsbyBkbWFidWYhKSwgd2UgY2FuIGNyZWF0ZSBhIHdsX2J1ZmZlciBkaXJlY3RseSBmcm9tIGl0IGFuZCBmaXJzdCwKCSAgYXR0YWNoIGl0IG9uIGl0IHNvIHRoYXQgd2UgZG9uJ3QgaGF2ZSB0byByZS1jcmVhdGUgYSB3bF9idWZmZXIgZXZlcnkKCSAgdGltZSB0aGUgc2FtZSBHc3RCdWZmZXIgYXJyaXZlcyBhbmQgc2Vjb25kLCBmb3JjZSB0aGUgd2hvbGUgbWVjaGFuaXNtCgkgIGZvciBrZWVwaW5nIHRoZSBidWZmZXIgb3V0IG9mIHRoZSBwb29sIHVudGlsIHRoZXJlIGlzIGEgd2xfYnVmZmVyOjpyZWxlYXNlCgkgIG9uIHRoYXQgZm9yZWlnbiBHc3RCdWZmZXIuCgoyMDE0LTEwLTA5IDA4OjIwOjE1ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSAgc2Nocm9kZWM6IG9wdGltaXplIHBhcnNlIGxvZ2ljCgkgIEhlYWRlciB3aWxsIGJlIHJlYWQgZWFjaCBhbmQgZXZlcnl0aW1lIHBhcnNlIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkCgkgIHdoaWNoIGlzIG5vdCBuZWNlc3Nhcnkgc2luY2UgdW50aWwgd2UgaGF2ZSBjb21wbGV0ZSBkYXRhLAoJICB3ZSBuZWVkIG5vdCBwYXJzZSB0aGUgaGVhZGVyIGFnYWluLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3OTg0CgoyMDE0LTEwLTEwIDEzOjA1OjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRkZWMuYzoKCSAgZmx1aWRkZWM6IGRvbid0IGxlYWsgaW5jb21pbmcgY2FwcyBldmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MjkxCgoyMDE0LTEwLTA5IDE4OjE4OjAyICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogZml4IGZyYW1lc2l6ZSB3aGVuIGlucHV0IGlzIGZyYW1lLWxheWVyCgkgIGZyYW1lLWxheWVyIGhlYWRlciBpcyByZXByZXNlbnRlZCBhcyBhIHNlcXVlbmNlIG9mIDMyIGJpdCB1bnNpZ25lZAoJICBpbnRlZ2VyIHNlcmlhbGl6ZWQgaW4gbGl0dGxlLWVuZGlhbiBieXRlIG9yZGVyLCBzbyBmcmFtZXNpemUgaXMgb24gdGhlCgkgIGZpcnN0IDMgYnl0ZXMuCgkgIFNNUFRFIDQyMU0gQW5uZXggTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODI0MwoKMjAxNC0xMC0wNyAxNzowNTowNCArMDIwMCAgQW50b25pbyBPc3BpdGUgPGFvMkBhbzIuaXQ+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSAgbWlkaXBhcnNlOiBtZW50aW9uIGZsdWlkZGVjIGluc3RlYWQgb2YgZmx1aWRzeW50aAoJICBUaGUgZWxlbWVudCBuYW1lIGlzIGFjdHVhbGx5IGZsdWlkZGVjIGV2ZW4gaWYgaXQgdXNlcyBmbHVpZHN5bnRoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MjIzCgoyMDE0LTEwLTA5IDExOjUxOjE2ICswMjAwICBBbnRvbmlvIE9zcGl0ZSA8YW8yQGFvMi5pdD4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkZGVjLmM6CgkgIGZsdWlkZGVjOiBmaXggc29tZSBtZW1vcnkgbGVha3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODIyMwoKMjAxNC0xMC0wOSAwNDoxMTowMCAtMDQwMCAgRGF2aWQgV29vZGhvdXNlIDxkd213MkBpbmZyYWRlYWQub3JnPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuaDoKCSAgcGNhcHBhcnNlOiBBZGQgc3VwcG9ydCBmb3IgTElOS1RZUEVfUkFXCgkgIEFsc28sIHN0cmljdGx5IHNwZWFraW5nLCB0aGVzZSBudW1iZXJzIGFyZW4ndCBETFRfKjsgdGhleSBhcmUgTElOS1RZUEVfKiBiZWNhdXNlCgkgIGxpYnBjYXAgdHJhbnNsYXRlcyBmcm9tIGludGVybmFsIE9TLXNwZWNpZmljIERMVF8gbnVtYmVyaW5nIHRvIHRoZSBwb3J0YWJsZQoJICBMSU5LVFlQRV8gbnVtYmVyIHNwYWNlIHdoZW4gd3JpdGluZyBmaWxlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODIwNgoKMjAxNC0xMC0wOSAxNDo1MTo1NiArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgdGVzdDogdXNlIEdfR1NJWkVfRk9STUFUIGluIGF1ZGlvbWl4ZXIgdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MjI3CgoyMDE0LTEwLTA3IDE2OjU3OjI3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2FnZ3JlZ2F0b3IuYzoKCSAgdGVzdHMvYWdncmVnYXRvcjogYWRkIHRpbWVvdXQgaGFuZGxpbmcgdGVzdCBmb3IgdGhlIHRpbWVvdXQgcGFyYW1ldGVyCgoyMDE0LTEwLTA2IDIxOjQ2OjI0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhZ2dyZWdhdG9yOiBhZGQgbGF0ZW5jeSBxdWVyeSBoYW5kbGluZwoKMjAxNC0xMC0wNiAxODozMzo1MiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IHN1cHBvcnQgdW5yZXNwb25zaXZlIHBhZHMKCSAgUmVuZGVyIHVucmVzcG9uc2l2ZSBwYWRzIHdpdGggdGhlIGxhc3QgdmlkZW8gZnJhbWUgcmVjZWl2ZWQuCgoyMDE0LTEwLTA2IDE4OjIzOjAzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgYWdncmVnYXRvcjogYWRkIGEgdGltZW91dCBwcm9wZXJ0eSBkZXRlcm1pbmluZyBidWZmZXIgd2FpdCB0aW1lCgkgIERldGVybWluZXMgdGhlIGFtb3VudCBvZiB0aW1lIHRoYXQgYSBwYWQgd2lsbCB3YWl0IGZvciBhIGJ1ZmZlciBiZWZvcmUKCSAgYmVpbmcgbWFya2VkIHVucmVzcG9uc2l2ZS4KCSAgTmV0d29yayBzb3VyY2VzIG1heSBmYWlsIHRvIHByb2R1Y2UgYnVmZmVycyBmb3IgYW4gZXh0ZW5kZWQgcGVyaW9kIG9mIHRpbWUsCgkgIGN1cnJlbnRseSBjYXVzaW5nIHRoZSBwaXBlbGluZSB0byBzdGFsbCBwb3NzaWJseSBpbmRlZmluaXRlbHksIHdhaXRpbmcgZm9yCgkgIHRoZXNlIGJ1ZmZlcnMgdG8gYXBwZWFyLgoJICBTdWJjbGFzc2VzIHNob3VsZCByZW5kZXIgdW5yZXNwb25zaXZlIHBhZHMgd2l0aCBlaXRoZXIgc2lsZW5jZSAoYXVkaW8pLCB0aGUKCSAgbGFzdCAodmlkZW8pIGZyYW1lIG9yIHdoYXQgbWFrZXMgdGhlIG1vc3Qgc2Vuc2UgaW4gdGhlIGdpdmVuIGNvbnRleHQuCgoyMDE0LTEwLTA2IDE4OjEwOjM4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3JwYWQuaDoKCSAgdmlkZW9hZ2dyZWdhdG9yOiByZW1vdmUgdGhlIHVzZSBvZiB0aGUgcXVldWVkIGJ1ZmZlciBvbiBzaW5rIHBhZHMKCSAgVGhhdCBkYXRhIGlzIG5vdyBoZWxkIGJ5IHRoZSBhZ2dyZWdhdG9yIGNsYXNzCgoyMDE0LTEwLTA5IDExOjQ2OjIzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NXBhcnNlOiBleHBvc2UgcGFyc2VkIHByb2ZpbGUsIHRpZXIgYW5kIGxldmVsIHRvIGRvd25zdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjIzOQoKMjAxNC0xMC0wOSAwMToxODoxNiArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBleHBvc2UgcGFyc2VkIHByb2ZpbGUgYW5kIGxldmVsIHRvIGRvd25zdHJlYW0KCSAgU2V0IHBhcnNlZCBwcm9maWxlIGFuZCBsZXZlbCBpbiBzcmMgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjIzOQoKMjAxNC0xMC0wOSAxMDo1NDozNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogQWRkIHN1cHBvcnQgZm9yIEhpRFBJIGRpc3BsYXlzCgkgIFdpdGhvdXQgdGhpcyBvdXIgR0wgc3VyZmFjZSB3b3VsZCBiZSB1cHNjYWxlZCBhZnRlciByZW5kZXJpbmcKCSAgYnkgQ29jb2EsIHdoaWNoIHdvdWxkIHJlZHVjZSBpbWFnZSBxdWFsaXR5LgoKMjAxNC0xMC0wOSAxMjoyODoxMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBvdXRwdXQgd2h5IHdlIGNhbm5vdCBjb252ZXJ0IGEgYnVmZmVyCgoyMDE0LTEwLTA5IDEyOjI1OjU1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGZpeCBwbGFuYXIgWVVWIGRvd25sb2FkCgkgIC0gc2FtcGxlIHRoZSB1IGFuZCB2IHBsYW5lcyBwcm9wZXJseQoJICAtIG91dHB1dCB0aGUgY29ycmVjdGx5IHNjYWxlZCB1IGFuZCB2IHBsYW5lcyBmb3IgZGlmZmVyZW50IGNocm9tYSBibG9jayBzaXplcwoKMjAxNC0xMC0wOCAyMTo1MToxMiArMDMwMCAgVml2aWEgTmlrb2xhaWRvdSA8bi52aXZpYUBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIGdsb3ZlcmxheTogQW5kIGZpeCBhbm90aGVyIHVudXNlZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgoyMDE0LTEwLTA4IDIxOjQ5OjI1ICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDxuLnZpdmlhQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgZ2xvdmVybGF5OiBGaXggdW51c2VkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBjb21waWxpbmcgd2l0aG91dCBkZXNrdG9wIEdMCgoyMDE0LTA5LTI2IDEzOjU1OjIwICswNTMwICBBbnVqIEphaXN3YWwgPGFudWouamFpc3dhbEBzYW1zdW5nLmNvbT4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgemJhcjogQWRkIFlWVTkgYW5kIFlVVjkgdG8gWkJBUl9ZVVZfQ0FQUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NDA3CgoyMDE0LTA5LTI4IDEwOjUxOjA5ICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZXh0L2dsL2dsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIGdsdGVzdHNyYzogaW1wbGVtZW50IGNoZWNrZXJzIHBhdHRlcm4gd2l0aCBHTFNMCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc1MDUKCjIwMTQtMTAtMDcgMTU6MjQ6MTAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNkZW11eF9tM3U4LmM6CgkgIGhsc2RlbXV4OiBGaXggTTNVOCBwYXJzaW5nIHVuaXQgdGVzdCBhZnRlciBBUEkgY2hhbmdlcwoKMjAxNC0xMC0wMiAxMDozNzo1NyAtMDYwMCAgVGhvbWFzIEJsdWVtZWwgPHRibHVlbWVsQGNvbnRyb2w0LmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBGaXggYWNjZXNzaW5nIGludmFsaWRhdGVkIG1lbW9yeQoJICBJbiBnc3RfaGxzX2RlbXV4X2dldF9uZXh0X2ZyYWdtZW50KCkgdGhlIG5leHQgZnJhZ21lbnQgVVJJIGdldHMKCSAgc3RvcmVkIGluIG5leHRfZnJhZ21lbnRfdXJpLCBidXQgdGhlIGdzdF9obHNfZGVtdXhfdXBkYXRlc19sb29wKCkKCSAgY2FuIGF0IGFueSB0aW1lIHVwZGF0ZSB0aGUgcGxheWxpc3QsIHJlbmRlcmluZyB0aGlzIHN0cmluZyBpbnZhbGlkLgoJICBUaGVyZWZvcmUsIGFueSBkYXRhIChsaWtlIGtleSwgaXYsIFVSSXMpIHRoYXQgaXMgdGFrZW4gZnJvbSBhCgkgIEdzdE0zVThDbGllbnQgbmVlZHMgdG8gYmUgY29waWVkLiBJbiBhZGRpdGlvbiwgYWNjZXNzaW5nIHRoZQoJICBpbnRlcm5hbHMgb2YgYSBHc3RNM1U4Q2xpZW50IHJlcXVpcmVzIGxvY2tpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc3OTMKCjIwMTQtMTAtMDcgMTI6MTI6MDQgKzAyMDAgIEZlbGl4IFNjaHdhcnogPGZlbGl4LnNjaHdhcnpAb3NzLnNjaHdhcnouZXU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL21wZWd0cy5oOgoJICBtcGVndHM6IGZpeCB0eXBvcyBpbiBjb21tZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MDcyCgoyMDE0LTEwLTA3IDIzOjA0OjMwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGZpeCBVWVZZIGRvd25sb2FkIGdyZWVuIHNjcmVlbgoKMjAxNC0xMC0wNyAyMjo1MDoyMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29scmNvbnZlcnQ6IGZpeCBZVVkyIGRvd25sb2FkCgkgIC0gVGhlIHNoYWRlciB3YXMgb3V0cHV0aW5nIHRoZSB3cm9uZyB2YWx1ZXMgY29tcGFyZWQgd2l0aCByYXcKCSAgdmlkZW90ZXN0c3JjLgoJICAtIGRlYWwgd2l0aCB0aGUgdGV4dHVyZSBlZGdlIHByb3Blcmx5LgoJICAtIHByb3Blcmx5IHNhbXBsZSB0aGUgMngxIHJlY3RhbmdsZSBmb3IgdGhlIHUgYW5kIHYgdmFsdWVzCgkgIC0gZG9uJ3QgZG91YmxlIHNhbXBsZSB0aGUgeSB2YWx1ZQoKMjAxNC0xMC0wNiAyMToyNTozMCArMDMwMCAgVml2aWEgTmlrb2xhaWRvdSA8bi52aXZpYUBnbWFpbC5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSAgY3VybHNtdHBzaW5rOiBTZXQgQ1VSTE9QVF9VUExPQUQgdG8gMSB0byBub3QgdXNlIFZSRlkgYW5kIG90aGVyIHVubmVlZGVkIGNvbW1hbmRzCgkgIEZpeGVzIHRoZSBzaW5rIHdpdGggU01UUCBzZXJ2ZXJzIHRoYXQgZGlzYWJsZSBWUkZZIGZvciBzcGFtIHByb3RlY3Rpb24uCgkgIGh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcC9jdXJsL2J1Z3MvMTM4OS8KCjIwMTQtMDktMTcgMTY6NDg6MDIgKzAyMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGphbi5zdGVmZmVuc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFJlcGxhY2UgR01haW5Db250ZXh0IHdpdGggR0FzeW5jUXVldWUgKHYyKQoJICBUaGUgcHJldmlvdXMgaW1wbGVtZW50YXRpb24ga2VwdCBhY2N1bXVsYXRpbmcgR1NvdXJjZXMsCgkgIHNsb3dpbmcgZG93biB0aGUgaXRlcmF0aW9uIGFuZCBsZWFraW5nIG1lbW9yeS4KCSAgSW5zdGVhZCBvZiB0cnlpbmcgdG8gZml4IHRoZSBtYWluIGNvbnRleHQgZmx1c2hpbmcsIHJlcGxhY2UKCSAgaXQgd2l0aCBhIEdBc3luY1F1ZXVlIHdoaWNoIGlzIHNpbXBsZSB0byBmbHVzaCBhbmQgaGFzCgkgIGxlc3Mgb3ZlcmhlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY3ODIKCjIwMTQtMTAtMDYgMTM6MDk6MDAgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogSGFuZGxlIHNlZWsgZXZlbnQgaW4gUkVBRFkgc3RhdGUKCjIwMTQtMDctMjEgMTE6MDc6MTkgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5oOgoJICBhdWRpb21peGVyOiBTZXQgdGhlIHNpbmtwYWQgc2VnbWVudHMgYmFzZXRpbWUgYWZ0ZXIgc2Vla2luZwoJICBPdGhlcndpc2Ugc3RyZWFtIG9mZnNldCBhbmQgcnVubmluZyB0aW1lIGNvbXBhcmlzb24gd2lsbCBub3QgYmUKCSAgY29ycmVjdCwgbGVhZGluZyB0byBzZWdmYXVsdHMgYWZ0ZXIgc2Vla3MKCjIwMTQtMDUtMjggMTY6Mjk6MzcgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9hdWRpb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBQb3J0IHRvIEdzdEFnZ3JlZ2F0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzE4MwoJICBDby1BdXRob3JlZCBieTogTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKMjAxNC0wOS0yMyAxNTo1OToxMCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IERvIG5vdCB3cm9uZ2x5IHNldCB0aGUgYWdncmVnYXRvci5zZWdtZW50CgkgIFRoZSBhZ2dyZWdhdG9yLnNlZ21lbnQgaXMgbm90IHRvIGJlIGluaXRpYWxpemVkIGJ5IHRoZSBzdWJjbGFzc2VzIGJ1dAoJICBieSB0aGUgYWdncmVnYXRvciBpdHNlbGYuIE1vcmVvdmVyLCBpbml0aWFsaXppbmcgaXQgb24gc3RhcnQgd291bGQgbWFrZQoJICB1cyBsb29zZSB0aGUgaW5mb3JtYXRpb24gY29taW5nIGZyb20gdGhlIGluaXRpYWwgc2Vlay4KCjIwMTQtMDctMzAgMTE6NTc6NDYgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBNYWtlIHN1cmUgbm90IHRvIHVucmVmIGEgTlVMTCBwb2ludGVyCgoyMDE0LTA4LTA1IDE1OjM2OjMwICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFNldCBzZXFudW0gb25seSB3aGVuIHNlZ21lbnRzIGFyZSByZWNlaXZlZC4KCjIwMTQtMDgtMDIgMTg6MjU6MDEgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogQWRkIGEgc3RyZWFtaW5nIGxvY2sgc28gdG8gc2VjdXJlIGZsdXNoIHN0YXJ0IGFjdGlvbgoJICBXaXRob3V0IGEgbG9jayB0aGF0IGlzIHRha2VuIGluIEZMVVNIX1NUQVJUIHdlIGhhZCBhIHJhcmUgcmFjZSB3aGVyZSB3ZQoJICBlbmQgdXAgYWdncmVnYXRpbmcgYSBidWZmZXIgdGhhdCB3YXMgYmVmb3JlIHRoZSB3aG9sZSBGTFVTSF9TVEFSVC9TVE9QCgkgIGRhbmNlLiBUaGF0IGNvdWxkIGxlYWQgdG8gdmVyeSB3cm9uZyBiZWhhdmlvdXIgaW4gc3ViY2xhc3Nlcy4KCjIwMTQtMDctMTggMTM6NTg6NTUgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUXVlcnkgc2Vla2luZyB3aGVuIGEgc2VlayBmYWlsZWQgdG8gc2VlIGlmIGl0IHdhcyBleHBlY3RlZAoJICBBbmQgZG8gbm90IHdvcnJ5IGlmIHNlZWtpbmcgZmFpbGVkIG9uIGEgc3RyZWFtIHRoYXQgaXMgbm90IHNlZWthYmxlCgoyMDE0LTA3LTE4IDAxOjQxOjI2ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IHNldCBmdXR1cmUgc2VxbnVtIGJlZm9yZSBwcm9wYWdhdGluZyB0aGUgc2VlayBldmVudC4KCSAgU28gdGhlIHNlcW51bSBpcyBwcm9wZXJseSBzZXQgZm9yIHRoZSBmb2xsb3dpbmcgZXZlbnRzLgoKMjAxNC0wNy0wOCAxNjoxNjo1NSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBTdG9yZSBzZWdtZW50IHdoZW4gc2Vla2VkIGluIFJFQURZIGZvciBsYXRlciB1c2UKCjIwMTQtMTAtMDYgMTY6NDQ6NTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRwbHVnaW4uYzoKCSAgb3BlbmgyNjQ6IFVzZSBhIE1BUkdJTkFMIHJhbmsgZm9yIHRoZSBlbmNvZGVyIGFuZCBkZWNvZGVyCgkgIFRoZXkgd29yayBidXQgZm9yIG5vdyB3ZSBwcmVmZXIgb3RoZXJzIHVudGlsIHRoZXNlIGFyZSBleHRlbnNpdmVseSB0ZXN0ZWQuCgoyMDE0LTEwLTAxIDEwOjU3OjI2ICswMjAwICBMaWh1YSBMaXUgPGxpaHVhbEBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJICBjdXJsc210cHNpbms6IEVtYWlsIHdpdGggbXVsdGlwYXJ0IGNvbnRlbnQtdHlwZSBzaG91bGQgZW5kIHdpdGggYSBmaW5hbCBib3VuZGFyeQoJICBBZGQgZmluYWwgYm91bmRhcnkgZm9yIGVhY2ggb2YgdGhlIHNlbmRpbmcgb3V0IGVtYWlscyBmcm9tIHNtdHBzaW5rLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MTM0CgoyMDE0LTEwLTA2IDExOjQ0OjEyICswMTAwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5oOgoJICB2aWRlb3BhcnNlcjogY29tbWVudCB1bnVzZWQgR1NUX0JBU0VfUEFSU0VfRlJBTUVfRkxBR19QQVJTSU5HCgkgIEdTVF9CQVNFX1BBUlNFX0ZSQU1FX0ZMQUdfUEFSU0lORyB2YWx1ZSBpcyB3cm9uZywgYW5kIHRoZSBzYW1lIGZsYWcgaXMKCSAgbm90IGJlaW5nIHVzZWQgcHJlc2VudGx5LiBIZW5jZSBjaGFuZ2luZyB0aGUgdmFsdWUgYW5kIGNvbW1lbnRpbmcgaXQgb3V0LgoJICBUaGlzIG5lZWRzIHRvIGJlIGluY2x1ZGVkIGluIGJhc2VwYXJzZS5oIGxhdGVyIG9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc0MTEKCjIwMTQtMTAtMDQgMjA6NTU6MDggKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjRlbmM6IG1ha2UgZGVub2lzZSB3b3JrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc4OTQKCjIwMTQtMTAtMDYgMTA6MTE6NDcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogVW5tYXAgYW5kIGZyZWUgR3N0VmlkZW9GcmFtZXMgYXMgbmVlZGVkIGFmdGVyIGNvbnZlcnNpb24gYW5kIGVycm9ycwoKMjAxNC0xMC0wNiAxMDoxMToyMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogVW5yZWYgdGhlIHRhZ2xpc3QgaW4gR3N0QWdncmVnYXRvcjo6c3RvcCgpCgoyMDE0LTEwLTAzIDIwOjQyOjU4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFkZCBwcmVsaW1pbmFyeSBzdXBwb3J0IGZvciBEVE1CCgkgIFByZXZpb3VzbHkga25vd24gYXMgRE1CLVQvSCwgdGhpcyBpcyB0aGUKCSAgdGVycmVzdGlhbCBEVFYgYnJvYWRjYXN0IHN0YW5kYXJkIGN1cnJlbnRseQoJICB1c2VkIGJ5IHRoZSBQZW9wbGUncyBSZXB1YmxpYyBvZiBDaGluYSwKCSAgSG9uZyBLb25nLCBMYW9zIGFuZCBNYWNhdSAob2ZmaWNpYWxseSksCgkgIGFuZCBieSBNYWxheXNpYSwgSXJhcSwgSm9yZGFuLCBTeXJpYSBhbmQKCSAgTGViYW5vbiAoZXhwZXJpbWVudGFsbHkpLgoKMjAxNC0xMC0wMyAyMDoyMDozMCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhZGQgbWlzc2luZyBzdGFuZGFyZCB0cmFuc21pc3Npb24gbW9kZXMKCSAgVGhlc2UgYXBwbHkgdG8gSVNEQi1ULCBEVkItVDIgYW5kIERUTUIKCSAgT3JkZXIgb2YgdGhlIGVudW0gdmFsdWVzIChuZXcgcmF0ZXMgYWZ0ZXIgX0FVVE8pCgkgIGhhcyBiZWVuIGtlcHQgY29uZ3J1ZW50IHdpdGggdGhlIG9uZSBpbiB0aGUgdjRsCgkgIEFQSSBmb3IgY29uc2lzdGVuY3kuCgoyMDE0LTEwLTAzIDIwOjAzOjI3IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFkZCBtaXNzaW5nIERUTUIgZ3VhcmQgaW50ZXJ2YWxzCgoyMDE0LTEwLTAzIDE5OjU1OjAyIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFkZCBtaXNzaW5nIERWQi1UMiBndWFyZCBpbnRlcnZhbHMKCSAgQWNjb3JkaW5nIHRvIHRoZSB2NGwtZHZiIEFQSSBkb2NzLCB0aGVzZSBhcmUgb25seQoJICB1c2VkIGZvciBEVkItVDIgYXQgdGhlIG1vbWVudC4KCSAgT3JkZXIgb2YgdGhlIGVudW0gdmFsdWVzIChuZXcgcmF0ZXMgYWZ0ZXIgX0FVVE8pCgkgIGhhcyBiZWVuIGtlcHQgY29uZ3J1ZW50IHdpdGggdGhlIG9uZSBpbiB0aGUgdjRsCgkgIEFQSSBmb3IgY29uc2lzdGVuY3kuCgoyMDE0LTEwLTAzIDE5OjIwOjAzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGZpeCB0eXBvIGluIEdzdE1wZWd0c0V4dGVuZGVkRXZlbnREZXNjcmlwdG9yIGRvYwoKMjAxNC0xMC0wMyAxOTowNjoyMSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhZGQgX01VVEFCTEVfUExBWUlORyB0byB0dW5pbmcgcHJvcHMKCSAgVGhlIGVsZW1lbnQgY2FuIChyZSl0dW5lIHdoaWxlIHBsYXlpbmcgc28gYmFzaWNhbGx5CgkgIGV2ZXJ5IHByb3BlcnR5IHVzZWQgYXQgc2V0X2ZlX3BhcmFtcygpIGNhbiBiZSBzZXQKCSAgaW4gc3RhdGUgPD0gUExBWUlORy4KCjIwMTQtMTAtMDMgMTc6MjI6MjMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJICBvcGVuaDI2NGRlYzogVGhlIGNvZGVjIGNhbiBvbmx5IGRvIGJhc2VsaW5lIHNvIHNpbXBsaWZ5IHRoZSBjb2RlIGEgYml0CgkgIGFuZCBkZWNsYXJlIHRoaXMgYWxzbyBvbiB0aGUgc3JjcGFkIGNhcHMuCgkgIFdpdGggYmFzZWxpbmUgcHJvZmlsZSB0aGVyZSBhcmUgbm8gQi1mcmFtZXMgb3IgZnJhbWUgcmVvcmRlcmluZy4KCjIwMTQtMTAtMDMgMTc6MjA6MjggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJICBvcGVuaDI2NGRlYzogT24gOjpmaW5pc2goKSBzdG9wIHRyeWluZyBpZiB0aGUgZGVjb2RlciByZXR1cm5lZCB0aGF0IG5vIG91dHB1dCBpcyBhdmFpbGFibGUKCjIwMTQtMTAtMDMgMTM6NTQ6MjIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRwbHVnaW4uYzoKCSAgb3BlbmgyNjQ6IFJ1biBnc3QtaW5kZW50IG92ZXIgZXZlcnl0aGluZwoKMjAxNC0xMC0wMyAxMzo1MjozMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9NYWtlZmlsZS5hbToKCSAgb3BlbmgyNjQ6IFJlbW92ZSB1bnVzZWQgY29kZWNwYXJzZXJzIGxpYgoKMjAxNC0xMC0wMiAxNjo0NjoyNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0OiBBZGQgRklYTUUgY29tbWVudCBhYm91dCBtaXNzaW5nIEFQSSBpbiBvcGVuaDI2NAoKMjAxNC0xMC0wMiAxNjozMzozMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkgIG9wZW5oMjY0ZGVjOiBUcnkgdG8gaGFuZGxlIGZyYW1lIHJlb3JkZXJpbmcKCSAgQXMgb3BlbmgyNjQgaGFzIG5vIHdheSB0byBhdHRhY2ggYW55IElEcyB0byBpbnB1dCBmcmFtZXMgdGhhdCB3ZSB0aGVuIGdldCBvbgoJICB0aGUgb3V0cHV0IGZyYW1lcywgd2UgaGF2ZSB0byBhc3N1bWUgdGhhdCB0aGUgaW5wdXQgaGFzIHZhbGlkIFBUUy4gV2UganVzdAoJICB0YWtlIHRoZSBmcmFtZSB3aXRoIHRoZSBvbGRlc3QgUFRTLCBhbmQgaWYgdGhlcmUgaXMgbm8gUFRTIGluZm9ybWF0aW9uIHdlIHRha2UKCSAgdGhlIG9uZSB3aXRoIHRoZSBvbGRlc3QgRFRTLgoKMjAxNC0xMC0wMiAxNjoyMzozNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkgIG9wZW5oMjY0ZGVjOiBEb24ndCBkcm9wIHZpZGVvY29kZWMgZnJhbWVzIGlmIHdlIGNhbid0IGRlY29kZSB0aGVtICp5ZXQqCgkgIEZpeGVzIGppdHRlcnkgcGxheWJhY2sgb2Ygc3RyZWFtcyB3aXRoIEIgZnJhbWVzLgoKMjAxNC0xMC0wMiAxNjoyMTozNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkgIG9wZW5oMjY0ZGVjOiBHc3RWaWRlb0RlY29kZXIgd29ya3Mgb24gZnJhbWVzLCBub3Qgc3ViLWZyYW1lcyAoZS5nLiBOQUxzKQoJICBBbmQgd2UgY2FuIGp1c3QgcGFzcyBjb21wbGV0ZSBBVXMgdG8gdGhlIGRlY29kZXIgd2l0aG91dCBwcm9ibGVtcy4KCjIwMTQtMTAtMDIgMTY6MTk6NDYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJICBvcGVuaDI2NGRlYzogQXMgd2UgcmVxdWlyZSBOQUwgYWxpZ25tZW50IGZyb20gdXBzdHJlYW0gd2UgZG9uJ3QgbmVlZCB0byBwYXJzZSBhbnl0aGluZwoKMjAxNC0xMC0wMiAxNTo0ODo1MSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkgIG9wZW5oMjY0ZGVjOiBQcm9wZXJseSBkcmFpbiBjb2RlYyBvbiA6OmZpbmlzaCgpCgoyMDE0LTEwLTAyIDE1OjIyOjE0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjRlbmM6IFByb3Blcmx5IGRyYWluIHRoZSBlbmNvZGVyIG9uIDo6ZmluaXNoKCkKCjIwMTQtMTAtMDIgMTQ6MzY6NDUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NGVuYzogV2UgYWx3YXlzIGdldCBhIHNpbmdsZSBmcmFtZSBhcyBvdXRwdXQsIG5vdCBhIE5BTAoJICBObyBuZWVkIHRvIGFjY3VtdWxhdGUgTkFMcy4KCjIwMTQtMTAtMDIgMTQ6MjA6MjEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NGVuYzogRml4IHVwIGNhcHMgYW5kIHN0cmlkZSBoYW5kbGluZwoKMjAxNC0xMC0wMiAxNDoxNTo0OSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0ZW5jOiBBZGQgc3VwcG9ydCBmb3IgR3N0VmlkZW9NZXRhCgkgIFRoaXMgd2lsbCBhbGxvdyB1cHN0cmVhbSBlbGVtZW50cyB0byB3b3JrIG1vcmUgZWZmaWNpZW50bHkuCgoyMDE0LTEwLTAyIDE0OjEyOjExICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSAgb3BlbmgyNjRkZWM6IEFkZCBzdXBwb3J0IGZvciBHc3RWaWRlb01ldGEKCSAgVGhpcyB3aWxsIG1ha2Ugb3BlcmF0aW9uIHdpdGggdmFyaW91cyBzaW5rcyBmYXN0ZXIgZm9yIGZyZWUuCgoyMDE0LTEwLTAyIDE0OjA4OjQ5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSAgb3BlbmgyNjRkZWM6IE9wdGltaXplIGZyYW1lIGNvcHlpbmcgYSBiaXQKCjIwMTQtMTAtMDIgMTQ6MDY6NTggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJICBvcGVuaDI2NGRlYzogRG9uJ3QgZm9yZ2V0IHRvIHVucmVmIHRoZSBpbnB1dCBzdGF0ZQoKMjAxNC0xMC0wMiAxNDowMzo0MyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkgIG9wZW5oMjY0ZGVjOiBGaXggdmFyaW91cyBjcmFzaGVzIG9uIDo6c3RvcCgpCgoyMDE0LTEwLTAyIDE0OjAwOjA2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSAgb3BlbmgyNjRkZWM6IFJlbW92ZSBpbnZhbGlkIHNwcm9wcy1wYXJhbWV0ZXItc2V0IGhhbmRsaW5nCgkgIFRoaXMgb25seSBleGlzdHMgb24gUlRQIGNhcHMsIG5vdCBIMjY0IGNhcHMuCgoyMDE0LTEwLTAyIDEzOjUzOjAxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjRlbmM6IERvbid0IHNldCBjYXBzIG1hbnVhbGx5CgkgIFRoaXMgd2lsbCBicmVhayB0aGUgb3JkZXIgb2YgZXZlbnRzIGluIEdTdHJlYW1lci4KCjIwMTQtMTAtMDIgMTM6NDk6MTQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJICBvcGVuaDI2NGRlYzogRml4IGlucHV0IHN0YXRlIGhhbmRsaW5nIGFuZCBwcm9wYWdhdGlvbiBvZiB1cHN0cmVhbSBjYXBzIGZpZWxkcwoKMjAxNC0xMC0wMyAxMzo0NToyNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmgyNjQvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5oOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuaDoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0cGx1Z2luLmM6CgkgIG9wZW5oMjY0OiBBZGQgT3BlbkgyNjQgYmFzZWQgZW5jb2Rlci9kZWNvZGVyIGVsZW1lbnRzCgkgIFRoZXNlIGFyZSB0aGUgb3BlbmgyNjQgZWxlbWVudHMgcmVsZWFzZWQgdW5kZXIgdGhlIEJTRC0yIGxpY2Vuc2UKCSAgYnkgRXJpY3Nzb24gYXMgcGFydCBvZiB0aGUgT3BlbldlYlJUQyBwcm9qZWN0LgoJICBodHRwczovL2dpdGh1Yi5jb20vRXJpY3Nzb25SZXNlYXJjaC9vcGVud2VicnRjLWdzdC1wbHVnaW5zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc3ODgKCjIwMTQtMDktMTggMTc6MTQ6MjIgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBEbyBub3QgdG8gcmVsZWFzZSBWSURFT19BR0dSRUdBVE9SX0xPQ0sgd2hpbGUgc2V0dGluZyBmb3JtYXQgaW5mbwoJICBXZSBzaG91bGQgYmUgYWJsZSB0byBhbHdheXMga2VlcCB0aGUgVklERU9fQUdHUkVHQVRPUl9MT0NLIHdoaWxlCgkgIG5lZ290aWF0aW5nIGNhcHMsIHRoaXMgcGF0Y2ggaW50cm9kdWNlIHRoYXQgY2hhbmdlLgoJICBUaGF0IGFsc28gaW1wbGllcyB0aGF0IHdlIGRvIG5vdCBuZWVkIHRoZSBTRVRDQVBTX0xPQ0sgYW55bW9yZSBiZWNhdXNlCgkgIG5vdyBWSURFT19BR0dSRUdBVE9SX0xPQ0sgZ3VhcmFudGVlcyB0aGF0IHNldGNhcHMgaXMgbm90IGNhbGxlZCBmcm9tCgkgIHNldmVyYWwgdGhyZWFkcyBhbmQgdGhlIGdzdF9hZ2dyZWdhdG9yX3NldF9jYXBzIG1ldGhvZCBpcyBub3cKCSAgcHJvdGVjdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1MDQyCgoyMDE0LTEwLTAzIDEyOjM0OjE1ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFRha2UgbG9jayB0byBlbnN1cmUgc2V0X2NhcHMgaXMgbm90IGNhbGxlZCBjb25jdXJlbnRseQoJICBBdm9pZGluZyB0byBiZSBpbiBhbiBpbmNvbnNpc3RlbnQgc3RhdGUgd2hlcmUgd2UgZG8gbm90IGhhdmUKCSAgYWN0dWFsIG5lZ290aWF0ZSBjYXBzIHNldCBhcyBzcmNjYXBzIGFuZCBsZWFkaW5nIHRvIHBvaW50IHdoZXJlIHdlCgkgIHRyeSB0byB1bnJlZiAtPnNyY2NhcHMgd2hlbiB0aGV5IGhhdmUgYWxyZWFkeSBiZWVuIHNldCB0byBOVUxMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1MDQyCgoyMDE0LTA5LTI5IDEwOjE1OjM5ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIGdzdDogcmVtb3ZlIHVubmVjZXNzYXJ5IEdMSUJfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUwoJICBUaGVyZSBhcmUgdW5uZWNlc3NhcnkgZGVmaW5pdGlvbnMgZm9yIGRpc2FibGluZyBkZXByZWNhdGlvbiB3YXJuaW5ncy4KCSAgU2luY2UgR0xJQl9ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIGlzIG5vdCBuZWVkZWQgYW55bW9yZSBpbiB0aGVzZSBmaWxlcywKCSAgcmVtb3ZpbmcgdGhlIHNhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc1NTkKCjIwMTQtMTAtMDEgMTY6MTk6MDIgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiB1bnJlZiBjYXBzIHdoZW4gaXQgaXMgZW1wdHkgaW4gcmVuZWdvdGlhdGUoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NzI0CgoyMDE0LTEwLTAyIDEwOjI2OjQzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBGaXggY2FsY3VsYXRpb24gb2YgdGhlIGZyYW1lIHNpemUgZm9yIENPTE9SX0Zvcm1hdFlVVjQyMFBsYW5hcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MTU2CgoyMDE0LTEwLTAxIDE3OjIyOjU5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IEFsc28gY29weSBvdmVyIHRoZSBjaHJvbWEgc2l0aW5nIGFuZCBjb2xvcmltZXRyeSB3aGVuIGRlY2lkaW5nIG9uIGEgY29udmVyc2lvbgoKMjAxNC0xMC0wMSAxNzoxODowNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBSZXZlcnQgdGhlIGxhc3QgY29tbWl0IGFuZCBoYW5kbGUgcmVzb2x1dGlvbnMgZGlmZmVyZW5jZXMgcHJvcGVybHkKCSAgVGhpcyBpcyBhYm91dCBjb252ZXJ0aW5nIHRoZSBmb3JtYXQsIG5vdCBhYm91dCBjb252ZXJ0aW5nIGFueSB3aWR0aHMgYW5kCgkgIGhlaWdodHMuIFN1YmNsYXNzZXMgYXJlIGV4cGVjdGVkIHRvIGhhbmRsZXIgZGlmZmVyZW50IHJlc29sdXRpb25zIHRoZW1zZWx2ZXMsCgkgIGxpa2UgdGhlIHZpZGVvbWl4ZXJzIGFscmVhZHkgZG8gcHJvcGVybHkuCgoyMDE0LTEwLTAxIDE3OjExOjE2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IEdzdFZpZGVvQ29udmVydGVyIGN1cnJlbnRseSBjYW4ndCByZXNjYWxlIGFuZCB3aWxsIGFzc2VydAoJICBMZWFkcyB0byB1Z2x5IGFzc2VydGlvbnMgaW5zdGVhZCBvZiBwcm9wZXJseSBlcnJvcmluZyBvdXQ6CgkgIENSSVRJQ0FMICoqOiBnc3RfdmlkZW9fY29udmVydGVyX25ldzogYXNzZXJ0aW9uICdpbl9pbmZvLT53aWR0aCA9PSBvdXRfaW5mby0+d2lkdGgnIGZhaWxlZAoKMjAxNC0xMC0wMSAxNjowNDozNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogQWx3YXlzIHVwZGF0ZSBvdXIgdmlld3BvcnQgaWYgQ29jb2EgdGVsbHMgdXMgc29tZXRoaW5nIGhhcyBjaGFuZ2VkCgkgIFRoZSB2aXNpYmxlIHJlY3QgYW5kIGJvdW5kcyBtaWdodCBiZSB0aGUgc2FtZSBhcyBiZWZvcmUsIGJ1dCBDb2NvYQoJICBtaWdodCd2ZSBjaGFuZ2VkIG91ciB2aWV3cG9ydCB3aXRob3V0IHVzIG5vdGhpbmcuIFRoaXMgaGFwcGVucyBpZgoJICB5b3UgaGlkZSB0aGUgdmlldyBhbmQgc2hvdyBpdCBhZ2Fpbi4KCjIwMTQtMTAtMDEgMTE6NTU6MTMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IEhhbmRsZSBOU1ZpZXc6OnJlbmV3R1N0YXRlKCkgcHJvcGVybHkKCSAgRG9uJ3QgdXBkYXRlIHRoZSBzY3JlZW4gdW50aWwgd2UgcmVkcmF3LCB0aGlzIHByZXZlbnRzIGZsaWNrZXJpbmcgZHVyaW5nCgkgIHNjcm9sbGluZywgY2xpcHBpbmcsIHJlc2l6aW5nLCBldGMKCjIwMTQtMTAtMDEgMDA6NTM6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZGRlYy5jOgoJICBmbHVpZGRlYzogZG9uJ3QgY3Jhc2ggb24gMC1zaXplZCBpbnB1dCBidWZmZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc2NTgKCjIwMTQtMDktMzAgMTQ6NTg6MDYgKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2x0cmFuc2Zvcm1hdGlvbjogcmVxdWlyZXMgZ3JhcGhlbmUgMS4wLjAKCjIwMTQtMDktMjUgMTc6MDE6MzEgKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6QGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkgIGdsdHJhbnNmb3JtYXRpb246IGdyYXBoZW5lIG11bHRpcGxpY2F0aW9uIG9yZGVyIGhhcyBjaGFuZ2VkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM1MTAKCjIwMTQtMDktMzAgMjA6Mzk6MzYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiB1cGRhdGUgZWxlbWVudCBkb2N1bWVudGF0aW9uCgoyMDE0LTA5LTMwIDE4OjI2OjM0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svbGlicy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIHRlc3RzL2dsY29sb3Jjb252ZXJ0OiBkbyByZW9yZGVyIGNoZWNraW5nIGZvciByZ2JhIGZvcm1hdHMKCjIwMTQtMDktMzAgMTQ6NDY6MTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogY29udmVydCB4UkdCIGludG8gQVJHQiBwcm9wZXJseQoJICBUaGUgYWxwaGEgY2hhbm5lbCBtaWdodCBub3QgYmUgdGhlIGxhc3QgY29tcG9uZW50IHNvIGNoZWNrIHdoaWNoIG9uZQoJICBpdCBpcyBpbiBhbmQgY2xvYmJlciB0aGF0IG9uZSBpbnN0ZWFkLgoKMjAxNC0wOS0zMCAwMTo0NToyMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJICB0ZXN0cy9nbG1lbW9yeTogYWRkIHNpbXBsZSB0cmFuc2ZlciB0ZXN0CgkgIHRlc3RzIHRyYW5zZmVycmluZyB0by9mcm9tIHRoZSBHTCB3aXRoIGEgMXgxIFJHQkEgcGl4ZWwuCgoyMDE0LTA5LTMwIDAxOjM4OjA1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IHVuc2V0IHRoZSBvcHBvc2l0ZSBjb3JyZXNwb25kaW5nIHRyYW5zZmVyIGZsYWdzIHdoZW4gbWFwcGVkIHdpdGggd3JpdGUKCSAgZml4ZXMgY29uc2lzdGVuY3kgd2l0aCBjb25zZWN1dGl2ZSBnc3RfbWVtb3J5X21hcCgpJ3Mgd2l0aAoJICBmbGFncyAmIEdTVF9NQVBfV1JJVEUKCjIwMTQtMDktMjkgMDk6MzM6NDIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IFVwZGF0ZSB2aWV3cG9ydCBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgY2xpcHBpbmcKCSAgV2UgaGF2ZSB0byB1cGRhdGUgdGhlIEdMIHZpZXdwb3J0IGlmIHRoZSBOU1ZpZXcgaXMgb25seSBwYXJ0aWFsbHkKCSAgdmlzaWJsZS4gT3RoZXJ3aXNlIHRoZSBjb250ZW50IG9mIHRoZSBmcmFtZSB3aWxsIGJlIHZpc2libHkgb2Zmc2V0LgoKMjAxNC0wOS0yOSAxMDowMToyNyArMDIwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGRvIG5vdCBkaXNjYXJkIG9uIGRpc2NvbnQgaWYgUEVTIHN0YXJ0CgkgIElmIGEgZGlzY29udGludWl0eSBpbiB0aGUgc3RyZWFtIGlzIGRldGVjdGVkLCBkYXRhIGlzIGRpc2NhcmRlZCB1bnRpbAoJICBhIG5ldyBQRVMgc3RhcnRzLiBJZiB0aGUgZmlyc3QgcGFja2V0IGFmdGVyIHRoZSBkaXNjb250aW51aXR5IGlzIGFsc28KCSAgdGhlIHN0YXJ0IG9mIGEgUEVTLCB0aGVyZSBpcyBubyByZWFzb24gdG8gZGlzY2FyZCB0aGUgcGFja2V0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzU2OQoKMjAxNC0wNy0zMSAyMjo1Nzo0MCArMDEwMCAgRGF2aWQgV2FyaW5nIDxkYXZpZGp3QHJkLmJiYy5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaDogVXNlIEdzdFVyaSB0byBqb2luIFVSSXMKCjIwMTQtMDktMjkgMTA6NDk6NDYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkgIGdsL2NvY29hOiBJbXByb3ZlIHRoZSBOU0FwcGxpY2F0aW9uIGluaXRpYWxpemF0aW9uCgkgIFRoaXMgaXMgb25seSBmb3Igbm9uLUNvY29hIGFwcHMgYnV0IHByZXZpb3VzbHkgY2F1c2VkIGEgMiBzZWNvbmQKCSAgd2FpdGluZyBkdXJpbmcgc3RhcnR1cCBmb3IgQ29jb2EgYXBwcy4gVGhpcyBpcyB1bmFjY2VwdGFibGUuCgkgIEluc3RlYWQgd2Ugbm93IGNoZWNrIGEgYml0IG1vcmUgZXh0ZW5zaXZlIGlmIHNvbWV0aGluZyBhY3R1YWxseQoJICBydW5zIG9uIHRoZSBHTGliIGRlZmF1bHQgbWFpbiBjb250ZXh0LCBhbmQgaWYgbm90IGRvbid0IGV2ZW4KCSAgYm90aGVyIHdhaXRpbmcgZm9yIHNvbWV0aGluZyB0byBoYXBwZW4gZnJvbSB0aGVyZS4KCjIwMTQtMDktMjkgMDk6MjQ6NDkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IE5TVmlldzo6ZHJhd1JlY3QoKSBzaG91bGQgY2FsbCBpbnRvIHJlc2hhcGUgdG9vCgkgIFdlIGEpIG5lZWQgdG8gcmVuZGVyIGFnYWluIGJlY2F1c2UgcGFydCBvZiB0aGUgd2luZG93IHdhcwoJICBvYnNjdXJlZCBhbmQgYikgbWlnaHQgbmVlZCB0byByZXNoYXBlIGJlY2F1c2Ugb2YgY2xpcHBpbmcKCSAgY2hhbmdlcy4KCjIwMTQtMDktMjYgMTQ6MjE6NDYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogQ2FsbCBVSSByZWxhdGVkIEFQSSBmcm9tIHRoZSBhcHBsaWNhdGlvbiBtYWluIHRocmVhZAoKMjAxNC0wOS0yNiAxMzowNToyNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbF9jb2NvYV9wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBTd2l0Y2ggdG8gYSBwbGFpbiBOU1ZpZXcgc3ViY2xhc3MgaW5zdGVhZCBvZiBOU09wZW5HTFZpZXcKCSAgV2UgZG9uJ3QgYW5kIGNhbid0IHVzZSBOU09wZW5HTFZpZXcgYXMgaXQncyBzdXBwb3NlZCB0byBiZSB1c2VkIGFuZAoJICBpdCBnZXRzIGludG8gb3VyIHdheSBieSBiZWluZyB0byBjbGV2ZXIgaW4gdmFyaW91cyBzaXR1YXRpb25zLgoKMjAxNC0wOS0yOSAwODo1NDoyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBJbml0aWFsaXplIHZhcmlhYmxlCgkgIEF2b2lkcyB0aGUgZm9sbG93aW5nIHdhcm5pbmc6CgkgIGdzdGdsY29udGV4dC5jOjY0Nzo1ODogZXJyb3I6ICdwcmV2JyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluCgkgIHRoaXMgZnVuY3Rpb24gWy1XZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZF0KCjIwMTQtMDktMjggMTg6MDM6MDkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSAgdmlkZW86IGZpeCBidWlsZCBpbiBnc3QtdW5pbnN0YWxsZWQgc2V0dXAKCSAgSW5jbHVkZSB0aGUgYmFzZSB2aWRlbyBsaWIgYXBwcm9wcmlhdGVseSBhbmQgcmVzb3J0IGFsbCBvZiB0aGVtIGFzCgkgIHRoYXl0YW4gc3VnZ2VzdGVkLgoKMjAxNC0wOS0yOSAwMDoyMzo1NyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL1JFQURNRToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9nc3R0aHJlYWQuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL2dzdHRocmVhZC5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9waXBlbGluZS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHJlbmRlcmVyLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9xZ2x3dGV4dHVyZXNoYXJlLnBybzoKCSAgZXhhbXBsZXM6IEZpeCBRdC9HTCBxZ2x3dGV4dHVyZXNoYXJlIGV4YW1wbGUgZm9yIFgxMQoJICBXZSBuZWVkIHRvIHBhc3MgdGhlIFgxMSBkaXNwbGF5IHRvIEdzdEdMIG9yIGVsc2UgaXQgd2lsbAoJICB1c2UgaXRzIG93biBYMTEgRGlzcGxheSBwb2ludGVyLCBhbmQgdGhlIEdMIENvbnRleHQgd29uJ3QgZ2V0IHNoYXJlZAoJICBjb3JyZWN0bHkgb24gbmV3ZXIgWCBzZXJ2ZXJzCgoyMDE0LTA5LTI4IDIwOjIxOjUwICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0Ly5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L1JFQURNRToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L21vdXNldmlkZW9vdmVybGF5LnBybzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9waXBlbGluZS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9xcmVuZGVyZXIuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9xcmVuZGVyZXIuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcGlwZWxpbmUuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3FnbHdpZGdldHZpZGVvb3ZlcmxheS5wcm86CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcWdscmVuZGVyZXIuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHd0ZXh0dXJlc2hhcmUucHJvOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC92aWRlb292ZXJsYXkvRGVidWcvdmlkZW9vdmVybGF5OgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC92aWRlb292ZXJsYXkvdmlkZW9vdmVybGF5LnBybzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvdmlkZW9vdmVybGF5L3ZpZGVvdmlkZW9vdmVybGF5LnBybzoKCSAgZXhhbXBsZXM6IHBvcnQgR0wvUXQgZXhhbXBsZXMgdG8gUXQ1CgkgIFVwZGF0ZSB0aGUgR0wgUXQgaW50ZWdyYXRpb24gZXhhbXBsZXMgZm9yIFF0NSBjaGFuZ2VzIGFuZCBmb3IgR3N0R0wKCSAgc2lnbmFsIHNpZ25hdHVyZSBjaGFuZ2VzLgoKMjAxNC0wOS0yOSAwMDozMjowNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IGZpeHVwIGVycm9yIGluIHNoYXJlZ3JvdXAgY29tbWVudAoKMjAxNC0wOS0yOSAwMDoyNzozMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFJldmVydCBhY2NpZGVudGFsIHB1c2g6ICJnbHRlc3RzcmM6IGltcGxlbWVudCBjaGVja2VycyBwYXR0ZXJuIHdpdGggR0xTTCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBlYWUwOTE3OWYwYjRlYjU4NGM4ZmM3YjY1NjBkOGZjOGU4NmVlZDRjLgoKMjAxNC0wOS0yOSAwMDoyNDoyOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IGRldGVjdCB0aGUgc2hhcmVncm91cCBjYXNlIHdoZXJlIHRoZSBjb250ZXh0IGFyZSBpbiBkaWZmZXJlbnQgY2hhaW5zCgkgIEluIHRoZSBlbmQgdGhleSB3aWxsIGxlYWQgdG8gdGhlIHNhbWUgcm9vdCBjb250ZXh0IGluIHRoZSB0cmVlIHNvIGNoZWNrIHRoYXQKCSAgZm9yIGVxdWFsaXR5LgoKMjAxNC0wOS0yOCAxMDo1MTowOSArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBnbHRlc3RzcmM6IGltcGxlbWVudCBjaGVja2VycyBwYXR0ZXJuIHdpdGggR0xTTAoKMjAxNC0wOS0yOCAyMToxODozMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBzaWxlbmNlIGEgd2FybmluZyB3aXRoIGVtcHR5IGlucHV0IGNhcHMKCSAgZGlzY292ZXJlZCB3aXRoIHRoZSBkb3VibGVjdWJlIGV4YW1wbGUKCSAgZ3N0X2NhcHNfZ2V0X2ZlYXR1cmVzOiBhc3NlcnRpb24gJ2luZGV4IDwgR1NUX0NBUFNfTEVOIChjYXBzKScgZmFpbGVkCgoyMDE0LTA5LTI4IDIwOjM3OjA0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL3JlY29yZGdyYXBoaWMvbWFpbi5jcHA6CgkgIGV4YW1wbGVzL2dsOiB1cGRhdGUgZm9yIHNpZ25hbCBzaWduYXR1cmUgY2hhbmdlCgoyMDE0LTA5LTI4IDE2OjU4OjQyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogZG9uJ3QgY3JlYXRlIGNvbnZlcnRlcnMgd2hlbiB0aGUgc3ViY2xhc3MgZG9lc24ndCB3YW50IHRoZW0KCSAgZml4ZXMgYSBjcml0aWNhbCB3aXRoIGdsdmlkZW9taXhlciBhZnRlcgoJICAzNWJkMTk2OWY5MTJjZWNkYTBmYjVkZjk1OTVhMDA1ZTZkZGY0ZTdhCgkgIENSSVRJQ0FMICoqOiBnc3RfdmlkZW9fY29udmVydGVyX25ldzogYXNzZXJ0aW9uICdpbl9pbmZvLT53aWR0aCA9PSBvdXRfaW5mby0+d2lkdGgnIGZhaWxlZAoKMjAxNC0wOS0yNiAyMjoyOTo1NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBnbG92ZXJsYXk6IGZpeCB6ZXJvIG91dHB1dCBmcmFtZXMgd2l0aCBZVVkyL1VZVlkKCSAgYWxzbywgYmUgbmljZSBhbmQgZGlzYWJsZSBibGVuZGluZyBmb3Igb3RoZXIgZWxlbWVudHMKCjIwMTQtMDktMjYgMjI6MjI6MDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgZ2xvdmVybGF5OiBwcm90ZWN0IGRlc2t0b3AgZ2wgc3BlY2lmaWMgdG9rZW5zIHdpdGggI2lmCgoyMDE0LTA5LTI2IDEyOjI4OjEwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIGdsb3ZlcmxheTogZnJlZSB0aGUgaW1hZ2UgbWVtb3J5IGV2ZXJ5IHRpbWUgdGhlIGxvY2F0aW9uIGNoYW5nZXMKCSAgZml4ZXMgYSBtZW1vcnkgbGVhawoKMjAxNC0wOS0yNSAyMDo0ODo1OSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSAgZ2xvdmVybGF5OiBJbmNsdWRlIGludG8gdGhlIGJ1aWxkIHdpdGggR0xFUzIgb25seSB0b28KCjIwMTQtMDktMjYgMDE6NDU6MjIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgZ2x0ZXN0c3JjOiBmcmVlIHRoZSBzaGFkZXIgb24gc3RvcAoKMjAxNC0wOS0yNiAwMTozNDo1NCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IGZpeCBibGVuZGluZyB3aXRoIGxvdy1hbHBoYSBzb3VyY2VzCgkgIFdlIGFsc28gbmVlZCB0byBhcHBseSB0aGUgYmxlbmQgcGFyYW1hdGVycyB0byB0aGUgYWxwaGEgY2hhbm5lbCBvdGhlcndpc2UKCSAgdGhlIG91dHB1dCBvZiB0aGUgYmxlbmQgd2lsbCBhcHBlYXIgYmxhY2sgYXQgbG93IGFscGhhIHZhbHVlcyAoPCAwLjIpLgoKMjAxNC0wOS0yNiAwMToxNDozNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5Lmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2xvdmVybGF5OiByZWltcGxlbWVudCBldmVyeXRoaW5nCgkgIC0gdXBkYXRlIGZvciBzaGFkZXJzCgkgIC0gYWRkIGFscGhhIHByb3BlcnR5CgkgIC0gaW1hZ2UgcGxhY2VtZW50IHByb3BlcnRpZXMgc2hhbWVsZXNzbHkgYm9ycm93ZWQgZnJvbSBnZGtwaXhidWZvdmVybGF5CgkgIC0gaW1hZ2UgcGxhY2VtZW50IHByb3BlcnRpZXMgYXJlIEdzdENvbnRyb2xsZXIgYWJsZQoJICAtIHVzZSBHc3RHTE1lbW9yeSBmb3IgdGhlIG92ZXJsYXkgaW1hZ2UgZGF0YQoJICAtIGFkZCBzdXBwb3J0IGZvciBnbGVzMgoKMjAxNC0wOS0yNSAxNjowNDozMyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2pwMmtjb2Rlc3RyZWFtLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgc3R5bGU6IHJlbW92ZSB1bm5lY2Vzc2FyeSBicmVhayBzdGF0ZW1lbnRzCgkgIENvZGUgZmxvdyBuZXZlciBhcnJpdmVzIHRvIHRoZXNlIGJyZWFrIHN0YXRlbWVudHMgZHVlIHRvIHRoZSBnb3RvcyBwcmVjZWRpbmcKCSAgdGhlbS4gU28gdGhlIGJyZWFrcyBhcmUgdW5uZWNlc3NhcnksIGFzIGRpc2N1c3NlZCBpbiBidWcgNzM2OTQyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3MzcwCgoyMDE0LTA5LTI1IDE1OjQ1OjU3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICBtcGVnMmVuYzogYnJlYWsgc3RhdGVtZW50IHVubmVjZXNzYXJ5CgkgIENvZGUgZmxvdyBuZXZlciBhcnJpdmVzIHRvIHRoZSBicmVhayBzdGF0ZW1lbnRzIGR1ZSB0byB0aGUgZ290bydzLiBTbyB0aGUKCSAgYnJlYWtzIGFyZSB1bm5lY2Vzc2FyeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjk0MgoKMjAxNC0wOS0yNSAxNjoxMzoxOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbF9jb2NvYV9wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogU3dpdGNoIGZyb20gb3VyIGN1c3RvbSBtYWluIGxvb3AgdG8gYSBHTWFpbkxvb3AKCSAgU2ltcGxpZmllcyBjb2RlIGEgbG90IGFuZCBtYWtlcyBpdCBtb3JlIHNpbWlsYXIgdG8gdGhlIG90aGVyIGJhY2tlbmRzLgoKMjAxNC0wOS0yNSAxNjoxMjoyNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSAgZ2wvY29jb2E6IENsZWFyIHRoZSBjdXJyZW50IEdMIGNvbnRleHQgd2hlbiBpdCBzaG91bGQgaGFwcGVuCgoyMDE0LTA5LTI0IDEyOjQyOjIzICswMjAwICBMaWh1YSBMaXUgPGxpaHVhbEBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJICBjdXJsc210cHNpbms6IEVtYWlsIHdpdGggbXVsdGlwYXJ0IGNvbnRlbnQtdHlwZSBzaG91bGQgZW5kIHdpdGggYSBmaW5hbCBib3VuZGFyeQoJICBBZGQgZmluYWwgYm91bmRhcnkgZm9yIGVhY2ggb2YgdGhlIHNlbmRpbmcgb3V0IGVtYWlscyBmcm9tIHNtdHBzaW5rLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MTM0CgoyMDE0LTA5LTI1IDEwOjE0OjQxICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc2luay5jOgoJICBjdXJsKnNpbms6IGFkZCBtb3JlIGxvZ2dpbmcKCjIwMTQtMDktMjUgMDg6MDU6NTAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSAgY3VybGJhc2VzaW5rOiBhZGQgYSBkZWJ1ZyBmdW5jdGlvbgoJICBJZiBnc3RyZWFtZXIgaXMgYnVpbGQgd2l0aCBsb2dnaW5nIGVuYWJsZWQsIGFkZCBhIGRlYnVnIGZ1bmN0aW9uIGFuZCBvdXRwdXQKCSAgdmVyYm9zZSBtZXNzYWdlcyB0byB0aGUgbG9nIGluc3RlYWQgb2Ygc3RkZXJyLgoKMjAxNC0wOS0yNCAyMjoyNDo0OSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc2luay5jOgoJICBjdXJsaHR0cHNpbms6IG9ubHkgYWRkIGNvbnRlbnQtZGlzcG9zaXRpb24gaGVhZGVyIGlmIGEgZmlsZW5hbWUgaXMgc2V0CgkgIFRoZSBoZWFkZXIgaXMgb3B0aW9uYWwgYW5kIHRoZXJlZm9yZSB3ZSBiZXR0ZXIgb21pdCBpdCBpZiB3ZSBkb24ndCBoYXZlIGEgZmlsZW5hbWUuCgoyMDE0LTA5LTI0IDIyOjA2OjIxICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkgIGN1cmxiYXNlc2luazogZG9uJ3QgcmVwbGFjZSBzcGVjaWZpYyBlcnJvciBtZXNzYWdlcyB3aXRoIGEgZ2VuZXJpYyBvbmUKCSAgT25seSBzZXQgYW4gZXJyb3IgaWYgd2UgaGF2ZW4ndCBzZXQgb25lIGFscmVhZHkuCgoyMDE0LTA5LTI0IDIxOjA3OjIwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2N1cmwvZ3N0Y3VybHRsc3NpbmsuYzoKCSAgY3VybHRsc3Npbms6IHN3YXAgY2hlY2sKCSAgTGV0cyBjaGVjayBmb3IgTlVMTCBmaXJzdCwgYXMgdGhhdCBpcyB0aGUgZGVmYXVsdCBhbnl3YXkuCgoyMDE0LTA3LTI5IDE2OjEyOjI2ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IFJldHVybiBmbHVzaGluZyBpZiB3ZSBnZXQgY2hhaW5lZCB3aGlsZSBiZWluZyBzZXQgdG8gUkVBRFkKCSAgT3Igbm90IG5lZ290aWF0ZWQgaW4gdGhlIGNhc2Ugd2Ugd291bGQgYmUgYWN0dWFsbHkgbm90IG5lZ290aWF0ZWQKCSAgQ3VycmVudGx5IHdlIGFyZSBnZXR0aW5nIGFzc2VydGlvbnMgZnJvbQoJICBnc3RfcGJfdXRpbHNfYWRkX2NvZGVjX2Rlc2NyaXB0aW9uX3RvX3RhZ19saXN0IGJlY2F1c2Ugb2YgTlVMTAoJICBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3MTg2CgoyMDE0LTA5LTA5IDEzOjEyOjMxICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IG1hcmsgZmlyc3QgYnVmZmVyIGFzIGRpc2NvbnQgYWZ0ZXIgcmVzdGFydGluZyBhIGRvd25sb2FkIHRhc2sKCSAgTWFyayBmaXJzdCBidWZmZXIgYXMgZGlzY29udCBhZnRlciByZXN0YXJ0aW5nIGEgZG93bmxvYWQgdGFzaywgc28KCSAgZG93bnN0cmVhbSBjYW4gcmVzZXQgaXRzIHN0YXRlIHRvIHByb3Blcmx5IGhhbmRsZSB0aGUgbmV3IGZyYWdtZW50LgoJICBSZWxhdGVkIGlzc3VlOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MzE4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYzMTkKCjIwMTQtMDktMTkgMjI6MzI6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHB1c2ggYSB0aW1lIHNlZ21lbnQgd2hlbiByZXN0YXJ0aW5nIHN0cmVhbWluZwoJICBUaGlzIHNob3VsZCBpbmZvcm0gZGVtdXhlcnMvZGVjb2RlcnMgZG93bnN0cmVhbSB0aGF0IHRoZSBzdHJlYW0gaXMKCSAgYWJvdXQgdG8gc3RhcnQgZnJvbSBhIG5ldyBwb3NpdGlvbiBhbmQgdGhleSBzaG91bGQgZmx1c2ggYWNjb3JkaW5nbHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjMxOQoKMjAxNC0wOS0yNCAxNjo1NTo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9iYWQtdmlkZW8tb3JjLWRpc3QuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2JhZC12aWRlby1vcmMtZGlzdC5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vYmFkLXZpZGVvLW9yYy5vcmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RjbXMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGNtcy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udmVydC5oOgoJICB2aWRlbzogdXNlIHZpZGVvIGxpYiBjb252ZXJzaW9uIGNvZGUgaW5zdGVhZCBvZiBjb3B5CgoyMDE0LTA5LTE4IDE3OjI2OjM3ICswNTMwICBBbnVqIEphaXN3YWwgPGFudWouamFpc3dhbEBzYW1zdW5nLmNvbT4KCgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSAgbXBsZXg6IGJyZWFrIHN0YXRlbWVudCB1bm5lY2Vzc2FyeQoJICBPbmUgbW9yZSBjb2RlIGZsb3cgaXNzdWUgd2hlcmUgaXQgbmV2ZXIgYXJyaXZlcyB0byB0aGUgYnJlYWsgc3RhdGVtZW50IGR1ZSB0bwoJICB0aGUgZ290by4gU28gdGhlIGJyZWFrIGlzIHVubmVjZXNzYXJ5LgoJICBQbHVzIHR3byBjb2Rpbmcgc3R5bGUgZml4ZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4OTUKCjIwMTQtMDktMjQgMjI6NDI6NTggKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNob3BteWRhdGEuYzoKCSAgY2hvcG15ZGF0YTogVHJhbnNmZXIgdGltZXN0YW1wcyB0byBvdXRwdXQgYnVmZmVycwoJICBBbGxvd3MgdXNpbmcgY2hvcG15ZGF0YSBhcyBhIHNpbXBsZSByZXBhY2tldGl6ZXIKCjIwMTQtMDktMTkgMDk6NTE6NDggKzA1MzAgIEFudWogSmFpc3dhbCA8YW51ai5qYWlzd2FsQHNhbXN1bmcuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IGJyZWFrIHN0YXRlbWVudHMgdW5uZWNlc3NhcnkKCSAgQ29kZSBmbG93IG5ldmVyIGFycml2ZXMgdG8gdGhlIGJyZWFrIHN0YXRlbWVudHMgZHVlIHRvIHRoZSBnb3RvJ3MuIFNvIHRoZQoJICBicmVha3MgYXJlIHVuZWNlc3NhcnkuIFNlY29uZCBwYXJ0IHRvIGNvbW1pdCBhMzk1OGFlNjViCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY5NDAKCjIwMTQtMDktMTkgMDk6NTk6NDEgKzA1MzAgIEFudWogSmFpc3dhbCA8YW51ai5qYWlzd2FsQHNhbXN1bmcuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IGJyZWFrIHN0YXRlbWVudCB1bm5lY2Vzc2FyeQoJICBDb2RlIGZsb3cgbmV2ZXIgYXJyaXZlcyB0byB0aGUgYnJlYWsgc3RhdGVtZW50cyBkdWUgdG8gdGhlIGdvdG8ncy4gU28gdGhlCgkgIGJyZWFrcyBhcmUgdW5lY2Vzc2FyeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjk0MgoKMjAxNC0wOS0xOCAxNjoxMzo1OCAtMDQwMCAgSm9zaHVhIE0uIERvZSA8b3NzQG52bC5hcm15Lm1pbD4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkgIGRzaG93c3Jjd3JhcHBlcjogYXZvaWQgZXJyb3Igd2hlbiBzZXRfY2FwcyBjYWxsZWQgdHdpY2UKCSAgSWYgc2V0X2NhcHMgaXMgY2FsbGVkIGluIGEgcnVubmluZyBzdGF0ZSwgcmV0dXJuIGltbWVkaWF0ZWx5IGlmIHRoZSBjYXBzCgkgIGhhdmVuJ3QgY2hhbmdlZC4gSWYgdGhlIHBpbnMgYXJlIGFscmVhZHkgY29ubmVjdGVkLCBkaXNjb25uZWN0IHRoZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY5MjYKCjIwMTQtMDktMjQgMTQ6Mjk6MzcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBza2lwIGlucHV0IGZyYW1lcyB3aXRoIGFuIGFscGhhIG9mIDAKCjIwMTQtMDktMjQgMTM6MTM6MTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmg6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIGdsOiBkb3dubG9hZCB3aGVuZXZlciB3ZSBoYXZlIHN5c21lbSBjYXBzZmVhdHVyZXMKCSAgT3RoZXJ3aXNlIHdlIGNvdWxkIHBhc3Mgb24gYSBSR0JBIGZvcm1hdHRlZCBidWZmZXIgYW5kIGRvd25zdHJlYW0gd291bGQKCSAgbWlzaW50ZXJwcmV0IHRoYXQgYXMgc29tZSBvdGhlciB2aWRlbyBmb3JtYXQuCgkgIEZpeGVzIHBpcGVsaW5lcyBvZiB0aGUgZm9ybQoJICBnbGVmZmVjdHMgISB0ZWUgISB4dmltYWdlc2luawoKMjAxNC0wOS0xOSAwMToyMjoxNCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZXh0L2dzZXR0aW5ncy9vcmcuZnJlZWRlc2t0b3AuZ3N0cmVhbWVyLmRlZmF1bHQtZWxlbWVudHMuZ3NjaGVtYS54bWwuaW46CgkgIGdzZXR0aW5nczogRml4IHR5cG8gaW4gZGVzY3JpcHRpb24KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjkzMwoKMjAxNC0wOS0yMyAxNzozMjo1OSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVncHNtdXgvcHNtdXhzdHJlYW0uYzoKCSAgbXBlZ3BzbXV4OiByZWZhY3RvciBkdXBsaWNhdGUgZWxzZSBicmFuY2hlcwoJICBVbmtub3duIGNhc2Ugc2hvdWxkIGFzc2VydCBpZiByZWFjaGVkIGluc3RlYWQgb2YganVzdCBhc3N1bWluZyB0aGUgbWF4IGJ1ZmZlcgoJICBzaXplLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NDYwCgoyMDE0LTA5LTE5IDA5OjU0OjExICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogaW5pdGlhbGl6ZSBzZW50X2NvZGVjX3RhZyBiZWZvcmUgdXNpbmcgaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjk1MQoKMjAxNC0wOS0yMiAxNzoxNDoyOSArMDUzMCAgU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmM6CgkgIHZpZGVvZmlsdGVyczogQWRkIHN1cHBvcnQgZm9yIG1vcmUgWVVWIGZvcm1hdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzExMQoKMjAxNC0wOC0yMSAwMjoxNDo0MCArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3pAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkgIGdsdGVzdHNyYzogYWRkIE1hbmRlbGJyb3QgZnJhY3RhbCBwYXR0ZXJuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1MTMxCgoyMDE0LTA4LTIxIDAyOjEzOjU4ICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zekBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nbHRlc3RzcmMuaDoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkgIGdsdGVzdHNyYzogaW1wbGVtZW50IHNub3cgcGF0dGVybiB3aXRoIEdMU0wuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzUxMzEKCjIwMTQtMDktMjMgMTI6MDI6MTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBmYWxsYmFjayB0byB1cGxvYWQgaWYgY29udGV4dHMgY2Fubm90IHNoYXJlIEdMIHJlc291cmNlcwoJICBGaXhlcyBwaXBlbGluZXMgb2YgdGhlIGZvcm0KCSAgZ2xlZmZlY3RzICEgdGVlICEgZ2xpbWFnZXNpbmsKCSAgYXMgdGVlIGRvZXMgbm90IHBhc3Mgb24gdGhlIGFsbG9jYXRpb24gcXVlcnkuCgoyMDE0LTA5LTIzIDEyOjAxOjA0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJICBnbGNvbnRleHQ6IGFkZCBnc3RfZ2xfY29udGV4dF9jYW5fc2hhcmUKCSAgV2hpY2ggZGV0ZXJtaW5lcyB3aGV0aGVyIHR3byBHc3RHTENvbnRleHQncyBjYW4gc2hhcmUgc2hhcmFibGUKCSAgT3BlbkdMIHJlc291cmNlcy4KCjIwMTQtMDktMjIgMjA6MDE6MjcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBnbC90ZXN0czogdXBkYXRlIGZvciB1cGxvYWQgQVBJIGNoYW5nZXMKCjIwMTQtMDktMjIgMTA6MDg6MTcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsOiBMZXQgZ3N0X2dsX2NvbnRleHRfZ2V0X3RocmVhZCgpIHJldHVybiBhIG5ldyByZWZlcmVuY2UgdG8gdGhlIEdUaHJlYWQKCSAgT3RoZXJ3aXNlIGl0IG1pZ2h0IGdvIGF3YXkgaW4gdGhlIG1lYW50aW1lIGFuZCB0aGUgY2FsbGVyIGhhcyBzb21lIHJhbmRvbSBwb2ludGVyLgoKMjAxNC0wOS0yMiAxMToxMDo0MiArMDUzMCAgQW51aiBKYWlzd2FsIDxhbnVqLmphaXN3YWxAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2w6IGNvbnNlY3V0aXZlIHJldHVybiwgYnJlYWsgc3RhdGVtZW50CgkgIFNpZ25lZC1vZmYtYnk6IEFudWogSmFpc3dhbCA8YW51ai5qYWlzd2FsQHNhbXN1bmcuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2OTM5CgoyMDE0LTA5LTIyIDEyOjIxOjIyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZGVidWcuaDoKCSAgZ2wvZGVidWc6IGRlc2t0b3AgR0wgZG9lcyBub3QgaGF2ZSB0aGUgS0hSIHN1ZmZpeGVzCgoyMDE0LTA5LTIyIDExOjU5OjMwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9ndGt2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkgIGV4YW1wbGVzL2dsL2d0azogdXNlIHRoZSBzeW5jIGJ1cyBjYWxsYmFjayB0byBzZXQgdGhlIHdpbmRvdyBoYW5kbGUKCSAgQW5kIG91dHB1dCBlcnJvciBtZXNzYWdlcy4KCjIwMTQtMDktMTkgMTg6NTk6MDEgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWRkIG1pc3NpbmcgRkVDIHJhdGVzCgkgIE9yZGVyIG9mIHRoZSBlbnVtIHZhbHVlcyAobmV3IHJhdGVzIGFmdGVyIF9BVVRPKQoJICBoYXMgYmVlbiBrZXB0IGNvbmdydWVudCB3aXRoIHRoZSBvbmUgaW4gdGhlIHY0bAoJICBBUEkgZm9yIGNvbnNpc3RlbmN5LgoKMjAxNC0wOS0yMSAxMzozMjoyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2w6IGFkZCBzaW5jZSBtYXJrZXJzIGZvciBuZXcgQVBJCgoyMDE0LTA5LTIxIDIxOjQyOjQxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogYWRkIGRlYnVnIGxpbmUgZm9yIGZyZWVpbmcgdGV4dHVyZXMKCjIwMTQtMDktMjEgMjE6MzY6NDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBnbHVwbG9hZDogcHJvdmlkZSB0aGUgb3V0cHV0IGJ1ZmZlciB0aGF0IGlzIHJlbmRlcmVkIGludG8KCSAgQWxsb3dzIGNhbGxlcnMgdG8gcHJvcGVybHkgcmVmZXJlbmNlIGNvdW50IHRoZSBidWZmZXJzIHVzZWQgZm9yCgkgIHJlbmRlcmluZy4KCSAgRml4ZXMgYSByZWRyYXcgcmFjZSBpbiBnbGltYWdlc2luayB3aGVyZSB0aGUgcHJldmlvdXMgYnVmZmVyCgkgICh0aGUgb25lIHVzZWQgZm9yIHJlZHJhdyBvcGVyYXRpb25zKSBpcyBmcmVlZCBhcyBzb29uIGFzIHRoZSBuZXh0CgkgIGJ1ZmZlciBpcyB1cGxvYWRlZC4KCSAgMS4gZ2xpbWFnZXNpbmsgdXBsb2FkcyBpbiBfcHJlcGFyZSgpIHRvIHRleHR1cmUgbgoJICAxLjEgZ2x1cGxvYWQgaG9sZHMgYnVmZmVyIG4KCSAgMi4gZ2xpbWFnZXNpbmsgX3JlbmRlcigpcyB0ZXh0dXJlIG4KCSAgMy4gZ2xpbWFnZXNpbmsgdXBsb2FkcyB0ZXh0dXJlIG4rMQoJICAzLjEgZ2x1cGxvYWQgZnJlZSBwcmV2aW91cyBidWZmZXIgd2hpY2ggZGVsZXRlcyB0ZXh0dXJlIG4KCSAgMy4yIGdsdXBsb2FkIGhvbGRzIGJ1ZmZlciBuKzEKCSAgNC4gZ2x3aW5kb3cgcmVzaXplL2V4cG9zZQoJICA1LiBnbGltYWdlc2luayByZWRyYXdzIHdpdGggdGV4dHVyZSBuCgkgIFRoZSByYWNlIGlzIHRoYXQgdGhlIGJ1ZmZlciBuICh0aGUgb25lIHVzZWQgZm9yIHJlZHJhd2luZykgaXMgZnJlZWQgYXMgc29vbiBhcwoJICB0aGUgYnVmZmVyIG4rMSBhcnJpdmVzLiAgVGhlcmUgY291bGQgYmUgYW55IGFtb3VudCBvZiB0aW1lIGFuZCBudW1iZXIgb2YKCSAgcmVkcmF3cyBiZXR3ZWVuIHRoaXMgZXZlbnQgYW5kIHdoZW4gYnVmZmVyIG4rMSBpcyBhY3R1YWxseSByZW5kZXJlZCBhbmQgdGh1cwoJICByZXBsYWNlcyBidWZmZXIgbiBhcyB0aGUgcmVkcmF3IHNvdXJjZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjc0MAoKMjAxNC0wOS0yMSAyMTozMDo1OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSAgZ2xjb250ZXh0OiBhZGQgQVBJIHRvIHJldHJlaXZlIHRoZSB0aHJlYWQgdGhhdCBjb250ZXh0IGlzIGFjdGl2ZSBpbgoKMjAxNC0wOS0xOSAxNTozMjozMyArMDUzMCAgU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2w6IFJlbW92ZWQgdW5yZWFjaGFibGUgYnJlYWssIHVudXNlZCB2YXJpYWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2OTU3CgoyMDE0LTA5LTE5IDE0OjM2OjM5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IEZpeCBlbmNvZGVyIHRvIHdvcmsgb24gaU9TCgkgIGlPUyBoYXMgc3BlY2lhbCBzdHJpZGUgcmVxdWlyZW1lbnRzIHRoYXQgd2UgZG9uJ3Qga25vdyB5ZXQsIHNvIGNvcHkKCSAgaW5wdXQgYnVmZmVycyBpbnRvIGJ1ZmZlcnMgYWxsb2NhdGVkIGJ5IGlPUyBmb3Igbm93LgoJICBMYXRlciB3ZSBzaG91bGQgY2hlY2sgdGhlIHN0cmlkZSBhbmQgcHJvYmFibHkgcHJvdmlkZSBhIGJ1ZmZlciBwb29sIGZvciB0aGVzZQoJICBidWZmZXJzIHNvIHVwc3RyZWFtIGNhbiBkaXJlY3RseSB3cml0ZSBpbiB0aGVyZS4KCjIwMTQtMDktMTkgMTQ6MzI6NDYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkgIGFwcGxlbWVkaWE6IFdlIG5lZWQgdG8gbWFwIHRoZSBjb3JlbWVkaWEgYnVmZmVycyBpbiBub24tcmVhZG9ubHkgbW9kZQoJICBPdXIgYnVmZmVycyBjbGFpbSB0byBiZSB3cml0YWJsZSBzbyBvdGhlciBlbGVtZW50cyBleHBlY3QgdG8gYmUgYWJsZQoJICB0byB3cml0ZSB0aGVyZSB3aXRob3V0IGxvc2luZyB0aGVpciBjaGFuZ2VzLgoKMjAxNC0wOS0xOCAxODoxNjo1OSArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGxvY2sgY2xpZW50IG11dGV4IGJlZm9yZSBlbnRlcmluZyB0aGUgcmV0cnlfZmFpbG92ZXIgYmxvY2sKCSAgVGhpcyBpcyBjb25zaXN0ZW50IHdpdGggdGhlIGNhc2Ugd2hlcmUgdGhlIGJsb2NrIGV4ZWN1dGlvbiBpcwoJICB0cmlnZ2VyZWQgYnkgdGhlIGdvdG8gaW52b2tlZCBhZnRlciB0aGUgY3VycmVudF92YXJpYW50IHVwZGF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjkxOQoKMjAxNC0wOS0xMiAwMjozNjo0NyAtMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogc3luY2hyb25pemUgd2l0aCB0aGUgZG93bmxvYWQgbG9vcCB0aHJlYWQgdG8gc2lnbmFsIGl0IHRvIGNvbnRpbnVlCgkgIElmIEVPUyBvciBFUlJPUiBoYXBwZW5zIGJlZm9yZSB0aGUgZG93bmxvYWQgbG9vcCB0aHJlYWQgaGFzIHJlYWNoZWQgaXRzCgkgIGdfY29uZF93YWl0KCkgY2FsbCwgdGhlbiB0aGUgZ19jb25kX3NpZ25hbCBkb2Vzbid0IGhhdmUgYW55IGVmZmVjdCBhbmQKCSAgdGhlIGRvd25sb2FkIGxvb3AgdGhyZWFkIHN0dWNrcyBsYXRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTY2MwoKMjAxNC0wOS0xMiAwMjozNTo0NCAtMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogc3luY2hyb25pemUgd2l0aCB0aGUgZG93bmxvYWQgbG9vcCB0aHJlYWQgdG8gc2lnbmFsIGl0IHRvIGNvbnRpbnVlCgkgIElmIEVPUyBvciBFUlJPUiBoYXBwZW5zIGJlZm9yZSB0aGUgZG93bmxvYWQgbG9vcCB0aHJlYWQgaGFzIHJlYWNoZWQgaXRzCgkgIGdfY29uZF93YWl0KCkgY2FsbCwgdGhlbiB0aGUgZ19jb25kX3NpZ25hbCBkb2Vzbid0IGhhdmUgYW55IGVmZmVjdCBhbmQKCSAgdGhlIGRvd25sb2FkIGxvb3AgdGhyZWFkIHN0dWNrcyBsYXRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTY2MwoKMjAxNC0wOC0yOSAxMjozODoxMiArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBzeW5jaHJvbml6ZSB3aXRoIHRoZSBkb3dubG9hZCBsb29wIHRocmVhZCB0byBzaWduYWwgaXQgdG8gY29udGludWUKCSAgSWYgRU9TIG9yIEVSUk9SIGhhcHBlbnMgYmVmb3JlIHRoZSBkb3dubG9hZCBsb29wIHRocmVhZCBoYXMgcmVhY2hlZCBpdHMKCSAgZ19jb25kX3dhaXQoKSBjYWxsLCB0aGVuIHRoZSBnX2NvbmRfc2lnbmFsIGRvZXNuJ3QgaGF2ZSBhbnkgZWZmZWN0IGFuZAoJICB0aGUgZG93bmxvYWQgbG9vcCB0aHJlYWQgc3R1Y2tzIGxhdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NjYzCgoyMDE0LTA5LTE3IDE3OjI3OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBmaXggY2xlYXJpbmcgb2YgZW9zIHN0YXRlIGluIHBhZHMKCSAgVGhlIGludGVybmFsIHBhZCBzdGlsbCBrZWVwcyBpdHMgRU9TIGZsYWcgYW5kIGV2ZW50IGFzIGl0IGNhbiBiZSBhc3NpZ25lZAoJICBhZnRlciB0aGUgZmx1c2gtc3RhcnQvc3RvcCBwYWlyIGlzIHNlbnQuIFRoZSBFT1MgaXMgYXNzaWduZWQgZnJvbSB0aGUgc3RyZWFtaW5nCgkgIHRocmVhZCBzbyB0aGlzIGlzIHJhY3kuCgkgIFRvIGJlIHN1cmUgdG8gY2xlYXIgaXQsIGl0IGhhcyB0byBiZSBkb25lIGFmdGVyIHNldHRpbmcgdGhlIHNvdXJjZSB0byBSRUFEWSB0bwoJICBiZSBzdXJlIHRoYXQgaXRzIHN0cmVhbWluZyB0aHJlYWQgaXNuJ3QgcnVubmluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjAxMgoKMjAxNC0wOS0xNyAxNzoyNzoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZml4IGNsZWFyaW5nIG9mIGVvcyBzdGF0ZSBpbiBwYWRzCgkgIFRoZSBpbnRlcm5hbCBwYWQgc3RpbGwga2VlcHMgaXRzIEVPUyBmbGFnIGFuZCBldmVudCBhcyBpdCBjYW4gYmUgYXNzaWduZWQKCSAgYWZ0ZXIgdGhlIGZsdXNoLXN0YXJ0L3N0b3AgcGFpciBpcyBzZW50LiBUaGUgRU9TIGlzIGFzc2lnbmVkIGZyb20gdGhlIHN0cmVhbWluZwoJICB0aHJlYWQgc28gdGhpcyBpcyByYWN5LgoJICBUbyBiZSBzdXJlIHRvIGNsZWFyIGl0LCBpdCBoYXMgdG8gYmUgZG9uZSBhZnRlciBzZXR0aW5nIHRoZSBzb3VyY2UgdG8gUkVBRFkgdG8KCSAgYmUgc3VyZSB0aGF0IGl0cyBzdHJlYW1pbmcgdGhyZWFkIGlzbid0IHJ1bm5pbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYwMTIKCjIwMTQtMDktMTcgMTQ6NTE6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGZpeCBjbGVhcmluZyBvZiBlb3Mgc3RhdGUgaW4gcGFkcwoJICBUaGUgaW50ZXJuYWwgcGFkIHN0aWxsIGtlZXBzIGl0cyBFT1MgZmxhZyBhbmQgZXZlbnQgYXMgaXQgY2FuIGJlIGFzc2lnbmVkCgkgIGFmdGVyIHRoZSBmbHVzaC1zdGFydC9zdG9wIHBhaXIgaXMgc2VudC4gVGhlIEVPUyBpcyBhc3NpZ25lZCBmcm9tIHRoZSBzdHJlYW1pbmcKCSAgdGhyZWFkIHNvIHRoaXMgaXMgcmFjeS4KCSAgVG8gYmUgc3VyZSB0byBjbGVhciBpdCwgaXQgaGFzIHRvIGJlIGRvbmUgYWZ0ZXIgc2V0dGluZyB0aGUgc291cmNlIHRvIFJFQURZIHRvCgkgIGJlIHN1cmUgdGhhdCBpdHMgc3RyZWFtaW5nIHRocmVhZCBpc24ndCBydW5uaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MDEyCgoyMDE0LTA5LTE4IDE3OjQ5OjQ2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IExldCB0aGUgZW5jb2RlciBhdXRvbWF0aWNhbGx5IGNob29zZSBhIGgyNjQgbGV2ZWwKCSAgV2Ugc2hvdWxkIG5lZ290aWF0ZSB0aGVzZSB0aGluZ3MgdmlhIGNhcHMuLi4KCjIwMTQtMDktMTggMTM6NDU6MzMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogVXNlIDAgaW5zdGVhZCBvZiBHX01BWERPVUJMRSBhcyB0aGUgbWF4IGtleWZyYW1lIGludGVydmFsCgkgIDAgbWVhbnMgbm8gbGltaXQsIHdoaWNoIHdhcyBtZWFudCBoZXJlIHdpdGggR19NQVhET1VCTEUgcHJvYmFibHkuCgoyMDE0LTA5LTE4IDEzOjQyOjI0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IEV4cGVjdGVkIGR1cmF0aW9uIGlzIHN1cHBvc2VkIHRvIGJlIHRoZSBkdXJhdGlvbiBvZiB0aGUgc3RyZWFtLCBub3QgYSBmcmFtZQoJICBKdXN0IGRvbid0IHNldCBpdCBmb3Igbm93LCBpdCBpc24ndCByZWFsbHkgbmVlZGVkLgoKMjAxNC0wOS0xOCAxMTozOTo1MyArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvdmMxcGFyc2VyLmM6CgkgIHZjMXBhcnNlcjogYWRkIHVuaXQgdGVzdCBmb3Igc2VxdWVuY2UtbGF5ZXIgcGFyc2luZwoJICBDaGVjayB0aGF0IGEgc2VxdWVuY2UtbGF5ZXIgaGVhZGVyIGlzIHN1Y2Nlc3NmdWxseSBwYXJzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4NzEKCjIwMTQtMDktMTggMTE6NDk6MTMgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICB2YzFwYXJzZXI6IHRha2UgY2FyZSBvZiBlbmRpYW5uZXNzIHdoZW4gcGFyc2luZyBzZXF1ZW5jZS1sYXllcgoJICBzZXF1ZW5jZS1sYXllciBpcyBzZXJpYWxpemVkIGluIGxpdHRsZS1lbmRpYW4gYnl0ZSBvcmRlciBleGNlcHQgZm9yCgkgIFNUUlVDVF9DIHdoaWNoIGlzIHNlcmlhbGl6ZWQgaW4gYmlnLWVuZGlhbiBieXRlIG9yZGVyLgoJICBCdXQgc2luY2UgU1RSVUNUX0EgYW5kIFNUUlVDVF9CIGZpZWxkcyBhcmUgZGVmaW5lZCBhcyB1bnNpZ25lZCBpbnQgbXNiCgkgIGZpcnN0LCB3ZSBoYXZlIHRvIHBhc3MgdGhlbSBhcyBiaWctZW5kaWFuIHRvIHRoZWlyIHBhcnNpbmcgZnVuY3Rpb24uIFNvCgkgIHdlIGJhc2ljYWxseSB1c2UgdGVtcG9yYXJ5IGJ1ZmZlcnMgdG8gY29udmVydCB0aGVtIGluIGJpZy1lbmRpYW4uCgkgIFNlZSBTTVBURSA0MjFNIEFubmV4IEogYW5kIEwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4NzEKCjIwMTQtMDktMTggMTM6MTE6MDUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJICB2dGVuYzogUHJvcGVybHkgaGFuZGxlIGtleWZyYW1lcwoJICBFc3BlY2lhbGx5IHNldCB0aGUgU1lOQ19QT0lOVCBmbGFnIG9uIGtleWZyYW1lcy4KCjIwMTQtMDktMTggMTQ6MjQ6MTMgKzA1MzAgIFNhbmpheSBOTSA8c2FuamF5Lm5tQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiByZW1vdmVkIGFuIHVud2FudGVkIGluaXRpYWxpemF0aW9uIGFuZCBhIHZhcmlhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4NjMKCjIwMTQtMDktMTcgMTI6MjQ6MzkgKzAyMDAgIEplcm9tZSBMYWhldXJ0ZSA8amxhaGV1cnRlQHF1aXZpZGkuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9CVUlMRC50eHQ6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvQ01ha2VMaXN0cy50eHQ6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkgIGRzaG93c3Jjd3JhcHBlcjogUG9ydCB0byAxLjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjI4MwoKMjAxNC0wOS0xOCAxMjo1MzoxMSArMDUzMCAgU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjI6IHJlbW92ZWQgcmVkdW5kYW50IGluaXRpYWxpemF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4NTMKCjIwMTQtMDktMTcgMTU6NTA6MjMgKzA1MzAgIEFudWogSmFpc3dhbCA8YW51ai5qYWlzd2FsQHNhbXN1bmcuY29tPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBsb2dpY2FsIGRpc2p1bmN0aW9uIGNvbnNlY3V0aXZlIHJldHVybiwgYnJlYWsgdW5uZWNlc3NhcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjc5MAoKMjAxNC0wOS0xNyAxMTo0OToyMiArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IGVuYWJsZSBoZWFkZXItZm9ybWF0IGNvbnZlcnNpb24KCSAgSW4gZmFjdCB3ZSBzdXBwb3J0IGhlYWRlci1mb3JtYXQgY29udmVyc2lvbiB3aGljaCBpcyBkb25lIGluCgkgIHVwZGF0ZV9jYXBzKCkgbWV0aG9kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2Nzg2CgoyMDE0LTA5LTE4IDEwOjMwOjA0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IEZpeCBjb21waWxhdGlvbgoKMjAxNC0wOS0xOCAwOTo0NzowNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBIYW5kbGUgMC8xIGZyYW1lcmF0ZXMgY29ycmVjdGx5IGJ5IG5vdCBjYWxjdWxhdGluZyB0aGVpciBmcmFtZSBkdXJhdGlvbgoKMjAxNC0wOS0xNyAxNzozNzoxMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkgIGF0ZGVjOiBGaXggc29tZSBjb21waWxlciB3YXJuaW5ncyB3aXRoIG5ld2VyIGNsYW5nCgoyMDE0LTA5LTE3IDE3OjEwOjU4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IFByZXBhcmUgZW5jb2RlciBhZnRlciBzZXR1cAoJICBUaGlzIHdpbGwgYWxsb3cgZW5jb2RpbmcgdG8gaGFwcGVuIGZhc3RlciBvbiB0aGUgZmlyc3QgZnJhbWUuCgoyMDE0LTA5LTE3IDE3OjA4OjU3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSAgdnRlbmM6IE9ubHkgZHJhaW4gdGhlIGVuY29kZXIgaW4gOjpmaW5pc2goKSwgbm90IG9uIGV2ZXJ5IGZyYW1lCgkgIE90aGVyd2lzZSBxdWFsaXR5IGFuZCBiaXRyYXRlIHdpbGwgYmUgYmFkLgoKMjAxNC0wOS0xNyAxNTozOToyNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBFcnJvciBvdXQgaWYgZW5jb2RpbmcgcmV0dXJuZWQgYW4gZXJyb3IKCSAgT3RoZXJ3aXNlIHdlIHdpbGwganVzdCBjb250aW51ZSBjb25zdW1pbmcgZnJhbWVzIHVudGlsIGFsbCBtZW1vcnkgaXMgZmlsbGVkCgkgIHVwIGFuZCB0aGUgYXBwIGNyYXNoZXMuCgoyMDE0LTA5LTE3IDE0OjU2OjA1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IENoZWNrIGZvciBlcnJvcnMgZnJvbSBWVENvbXByZXNzaW9uU2Vzc2lvbkNvbXBsZXRlRnJhbWVzKCkKCjIwMTQtMDktMTcgMTQ6NTU6MjQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogUHJvcGVybHkgc2NhbGUgdGltZXN0YW1wcyBmb3IgdGhlIEFQSSBhbmQgc2V0IGludmFsaWQgdmFsdWVzCgoyMDE0LTA5LTE3IDE0OjU0OjM5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IFByb3Blcmx5IHNjYWxlIHRpbWVzdGFtcHMgZm9yIHRoZSBBUEkgYW5kIHNldCBpbnZhbGlkIHZhbHVlcwoKMjAxNC0wOS0xNyAxMzoxOTowNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZGVjYmluLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGRlY2Jpbi5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRlbmNiaW4uYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZW5jYmluLmg6CgkgIGFwcGxlbWVkaWE6IFJlbW92ZSBvbGQgY29kZSB0aGF0IGlzIG9mIG5vIHVzZSBhbnltb3JlCgoyMDE0LTA5LTE2IDE3OjM4OjUzICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogZm9yZ2Ugc2VxdWVuY2UtbGF5ZXIgZnJvbSBzZXFfaGRyIGluc3RlYWQgb2Ygc2VxX2xheWVyCgkgIElmIHdlIGRvbid0IGhhdmUgYSBzZXFfbGF5ZXJfYnVmZmVyLCB3ZSBhbHNvIGRvbid0IGhhdmUgYSB2YWxpZAoJICBzZXFfbGF5ZXIgYmVjYXVzZSB0aGVyZSBhcmUgc2V0IHRvZ2V0aGVyIGluCgkgIGdzdF92YzFfcGFyc2VfaGFuZGxlX3NlcV9sYXllcigpLgoJICBTbyB3aGVuIG91dHB1dCBoZWFkZXIgZm9ybWF0IGlzIHNlcXVlbmNlLWxheWVyIGFuZCB3aGVuIHdlIGRvbid0IGhhdmUgYQoJICBzZXFfbGF5ZXJfYnVmZmVyLCB3ZSBmb3JnZSBvbmUgZnJvbSBzZXFfaGRyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NzgxCgoyMDE0LTA5LTE3IDEwOjM5OjI2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBhcHBsZW1lZGlhOiBVbmNvbmRpdGlvbmFsbHkgdXNlIFZpZGVvVG9vbGJveCBvbiBpT1MgaWYgYXZhaWxhYmxlCgkgIEJlY2F1c2Ugd2UgZG8gd2VhayBsaW5raW5nIG5vdyB3ZSBjYW4gYWx3YXlzIGNvbXBpbGUgaXQgaW4gYW5kIGNoZWNrIGF0CgkgIHJ1bnRpbWUgaWYgaXQgaXMgYWN0dWFsbHkgYXZhaWxhYmxlIG9yIG5vdC4KCjIwMTQtMDktMTcgMTA6Mzg6MjAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWE6IERvIHdlYWsgbGlua2luZyB3aXRoIHRoZSBWaWRlb1Rvb2xib3ggZnJhbWV3b3JrCgkgIEl0IGRvZXMgbm90IGV4aXN0IG9uIG9sZGVyIE9TWCBhbmQgaU9TIGJ1dCB3ZSBzdGlsbCB3YW50IHRvCgkgIGJlIGFibGUgdG8gdXNlIGl0IHdoZW4gaXQncyBhdmFpbGFibGUuCgoyMDE0LTA5LTE2IDEyOjA2OjM1ICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IGRvIG5vdCBsZWFrIGJ1ZmZlciBwb29sIGluIGVycm9yIGNhc2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjczNQoKMjAxNC0wOS0xNiAxNTo1OTo1OCArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IGZpeCBzZXF1ZW5jZS1sYXllci9mcmFtZS1sYXllciBlbmRpYW5uZXNzCgkgIFNlcXVlbmNlLWxheWVyIGFuZCBmcmFtZS1sYXllciBhcmUgc2VyaWFsaXplZCBpbiBsaXR0bGUtZW5kaWFuIGJ5dGUKCSAgb3JkZXIgZXhjZXB0IGZvciBTVFJVQ1RfQyBhbmQgZnJhbWVkYXRhIGZpZWxkcyBhcyBkZXNjcmliZWQgaW4gU01QVEUgNDIxTSBBbm5leAoJICBMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NzUwCgoyMDE0LTA5LTE2IDE2OjUxOjI4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSAgdnRlbmM6IFBvcnQgdG8gR3N0VmlkZW9FbmNvZGVyIGJhc2UgY2xhc3MKCjIwMTQtMDktMTYgMTY6MTM6MTYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogVXNlIGNvcnJlY3QgaW5zdGFuY2Ugc3RydWN0IHNpemUKCjIwMTQtMDktMTYgMTU6NDg6MTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogRml4IGNvbXBpbGVyIHdhcm5pbmdzCgkgIHZhbHVlcyBvZiB0eXBlICdPU1N0YXR1cycgc2hvdWxkIG5vdCBiZSB1c2VkIGFzIGZvcm1hdCBhcmd1bWVudHM7IGFkZCBhbiBleHBsaWNpdCBjYXN0IHRvICdpbnQnIGluc3RlYWQgWy1XZm9ybWF0XQoKMjAxNC0wOS0xNiAxNTowMjo0NiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFjdHguYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhY3R4Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS1pbnRlcm5hbC5oOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL210YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL210YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkgIHZ0ZW5jOiBQb3J0IHRvIHRoZSByZWFsIFZpZGVvVG9vbGJveCBBUEkgaW5zdGVhZCBvZiB1c2luZyBvdXIgZGxvcGVuKCkgd3JhcHBlcgoJICBJdCdzIGEgcHVibGljIGZyYW1ld29yayBzaW5jZSBhIGxvbmcgdGltZS4KCjIwMTQtMDktMTYgMTE6NDI6MzQgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IGRvIG5vdCBsZWFrIHBvb2wgaW4gZXJyb3IgY2FzZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjczMgoKMjAxNC0wOS0xNiAxMTo0MzowMiArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkgIHZkcGRlY29kZXI6IGRvIG5vdCBsZWFrIHBvb2wKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjczMwoKMjAxNC0wOS0xNiAxMTo0MTo0MyArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgZ2x0ZXN0c3JjOiBkbyBub3QgbGVhayBwb29sIGluIGVycm9yIGNhc2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY3MzAKCjIwMTQtMDktMTYgMTE6NDI6MTMgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogZG8gbm90IGxlYWsgcG9vbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NzMxCgoyMDE0LTA5LTE2IDExOjQxOjE2ICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogZG8gbm90IGxlYWsgcG9vbCBpbiBlcnJvciBjYXNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NzI5CgoyMDE0LTA5LTE2IDEzOjIxOjIyICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSAgdm1uY2RlYzogbW9kaWZ5IHdyb25nIHBhY2tldGl6ZWQgbW9kZSBsb2dpYwoJICBwYWNrZXRpemVkIG1vZGUgaXMgYmVpbmcgc2V0IHdoZW4gZnJhbWVyYXRlIGlzIGJlaW5nIHNldAoJICB3aGljaCBpcyBub3QgY29ycmVjdC4gQ2hhbmdpbmcgdGhlIHNhbWUgYnkgY2hlY2tpbmcgdGhlCgkgIGlucHV0IHNlZ2VtZW50IGZvcm1hdC4gSWYgaW5wdXQgc2VnbWVudCBpcyBpbiBUSU1FIGl0IGlzCgkgIFBhY2tldGl6ZWQsIGFuZCBpZiBpdCBpcyBpbiBCWVRFUyBpdCBpcyBub3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYyNTIKCjIwMTQtMDktMTYgMTE6MjQ6MzcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvd2VicC9nc3R3ZWJwZGVjLmM6CgkgIHdlYnBkZWM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTQtMDktMTYgMTM6MTk6MjUgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L3dlYnAvZ3N0d2VicGRlYy5jOgoJICB3ZWJwZGVjOiBtb2RpZnkgd3JvbmcgcGFja2V0aXplZCBtb2RlIGxvZ2ljCgkgIHBhY2tldGl6ZWQgbW9kZSBpcyBiZWluZyBzZXQgd2hlbiBmcmFtZXJhdGUgaXMgYmVpbmcgc2V0CgkgIHdoaWNoIGlzIG5vdCBjb3JyZWN0LiBDaGFuZ2luZyB0aGUgc2FtZSBieSBjaGVja2luZyB0aGUKCSAgaW5wdXQgc2VnZW1lbnQgZm9ybWF0LiBJZiBpbnB1dCBzZWdtZW50IGlzIGluIFRJTUUgaXQgaXMKCSAgUGFja2V0aXplZCwgYW5kIGlmIGl0IGlzIGluIEJZVEVTIGl0IGlzIG5vdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjI1MgoKMjAxNC0wOS0xNiAwMToxNTozMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RlbXBsYXRlbWF0Y2guYzoKCSAgdGVtcGxhdGVtYXRjaDogQ29tcGFyZSB0aGUgY29ycmVjdCBsb29wIHZhcmlhYmxlcwoKMjAxNC0wOS0xNSAxNTo0Mjo0MSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBObyBuZWVkIHRvIHNldCBrVlRWaWRlb0RlY29kZXJTcGVjaWZpY2F0aW9uX0VuYWJsZUhhcmR3YXJlQWNjZWxlcmF0ZWRWaWRlb0RlY29kZXIgb24gaU9TCgoyMDE0LTA5LTE1IDE1OjM2OjQ0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEFuZCBtYWtlIHRoZSBwcmVwcm9jZXNzb3IgY2hlY2sgd29yayBwcm9wZXJseQoKMjAxNC0wOS0xNSAxNToyNTo0NiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBEbyB0aGUgQU1fQ09ORElUSU9OQUwoKSBhZnRlciBmaW5hbGx5IHNldHRpbmcgdGhlIHZhcmlhYmxlCgoyMDE0LTA5LTE1IDE1OjEyOjMxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiBEb24ndCBpbmNsdWRlIFZpZGVvVG9vbGJveCBvbiBpT1MgPCA4LjAKCSAgSXQncyBwcml2YXRlIEFQSSBhbmQgZG9lcyBub3Qgd29yayB3aXRob3V0IGEgamFpbGJyb2tlbiBkZXZpY2UuCgoyMDE0LTA5LTE1IDEzOjMzOjQ1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQWxzbyByZWZldGNoIHRoZSBwbGF5bGlzdCBhZnRlciB0aGUgZmlyc3QgZnJhZ21lbnQgZmFpbHVyZQoJICBQcmV2aW91c2x5IHdlIG9ubHkgcmVmZXRjaGVkIHRoZSBwbGF5bGlzdCBpZiBkb3dubG9hZGluZyBhIGZyYWdtZW50CgkgIGhhcyBmYWlsZWQgb25jZS4gV2Ugc2hvdWxkIGFsc28gZG8gdGhhdCBpZiBpdCBmYWlsZWQgYSBzZWNvbmQgb3IgdGhpcmQgdGltZSwKCSAgY2hhbmNlcyBhcmUgdGhhdCB0aGUgcGxheWxpc3Qgd2FzIHVwZGF0ZWQgbm93IGFuZCBjb250YWlucyBuZXcgVVJJcy4KCjIwMTQtMDktMTUgMTE6NTk6MzIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaDogQWN0dWFsbHkgcmV0cnkgMyB0aW1lcyBhcyBhZHZlcnRpc2VkIGluc3RlYWQgb2YgMgoKMjAxNC0wOS0xNSAxMTo1OToxOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzOiBBY3R1YWxseSByZXRyeSAzIHRpbWVzIGFzIGFkdmVydGlzZWQgaW5zdGVhZCBvZiAyCgoyMDE0LTA5LTEzIDIwOjQ5OjE2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IEZpeCBjb21waWxhdGlvbiBvbiBpT1MgOC4wCgoyMDE0LTA5LTExIDE0OjM2OjMxICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogZml4IG1hbGZvcm1lZCBzZXF1ZW5jZSBsYXllciBoZWFkZXIgYW5kIFNUUlVDVF9DCgkgIFRoaXMgY29tbWl0IGZpeCBzZXZlcmFsIGlzc3VlcyB3aXRoIHNlcXVlbmNlIGxheWVyIGhlYWRlciBmb3JnaW5nIG9uCgkgIHVwZGF0ZV9jYXBzKCk6CgkgIC0gMHgwMDAwMDAwNCB1bnNpZ25lZCBpbnRlZ2VyIGlzIGJlZm9yZSBTVFJVQ1RfQy4KCSAgLSBTZXQgcmVzZXJ2ZWQgYml0cyBvZiBTVFJVQ1RfQyB0byB0aGVpciB2YWx1ZXMgZm9yIHNpbXBsZS9tYWluCgkgIHByb2ZpbGVzIGluIHNlcXVlbmNlIGxheWVyIGhlYWRlciBmb3JtYXQgYW5kIEFTRiBoZWFkZXIgZm9ybWF0LgoJICAtIFNlcXVlbmNlIGxheWVyIHNoYWxsIGJlIHJlcHJlc2VudGVkIGFzIGEgc2VxdWVuY2Ugb2YgMzIgYml0cyB1bnNpZ25lZAoJICBpbnRlZ2VycyBhbmQgc2hhbGwgYmUgc2VyaWFsaXplZCBpbiBsaXR0bGUtZW5kaWFuIGJ5dGUgb3JkZXIgZXhjZXB0CgkgIGZvciBTVFJVQ1RfQyB3aGljaCBzaGFsbCBiZSBzZXJpYWxpemVkIGluIGJpZy1lbmRpYW4gYnl0ZS1vcmRlci4KCSAgU2VlIFNNUFRFIDQyMU0gQW5uZXggTCBmb3IgbW9yZSBkZXRhaWxzIGFib3V0IHNlcXVlbmNlIGxheWVyIGZvcm1hdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjQ3NAoKMjAxNC0wOS0xMiAxNDo0OTo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogVXNlIHByb3BlciB2YXJpYWJsZSBmb3IgZGVsaXZlcnkgc3lzdGVtCgkgIFdlIHdhbnQgdG8gY2hlY2sgdGhlIGRlbGl2ZXJ5IHN5c3RlbSBpcyBJU0RCVCAoYW5kIG5vdCB0aGUgbW9kdWxhdGlvbgoJICB3aGljaCB3ZSBjaGVjayBsYXRlciBpbiB0aGF0IGNhc2UpLgoJICBDSUQgIzEyMzg0MzkKCjIwMTQtMDktMTIgMDk6MzA6MDQgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBmaXggdHJpdmlhbCBjb2Rpbmcgc3R5bGUgaXNzdWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjUzMQoKMjAxNC0wOS0xMSAxODozMzoyMCArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5oOgoJICB0c2RlbXV4OiBmaXggb3ZlcmZsb3cgb2YgcGFja2V0X2xlbmd0aCBmaWVsZCBvZiBQRVNIZWFkZXIKCSAgcGFja2V0X2xlbmd0aCBpcyBkZWZpbmVkIGFzIGEgZ3VpbnQxNiBpbiB0aGUgUEVTSGVhZGVyIHN0cnVjdHVyZS4gVGhpcwoJICBkZWZpbml0aW9uIG1hdGNoIHRoZSBzcGVjaWZpY2F0aW9uLiBCdXQgc2luY2Ugd2UgYWRkIDYgYnl0ZXMgdG8gdGhlCgkgIHBhY2tldF9sZW5ndGggdmFsdWUgKGxlbmd0aCBvZiBzdGFydF9jb2RlICsgc3RyZWFtX2lkICsgcGFja2V0X2xlbmd0aCksCgkgIHdlIGNhbiBvdmVyZmxvdyB0aGUgZ3VpbnQxNiB3aGVuIHRoZSB2YWx1ZSBpbiB0aGUgUEVTIGhlYWRlciBpcyBncmVhdGVyCgkgIHRoYW4gNjU1MjkuCgkgIFNvIHVzZSBhIGd1aW50MzIgaW5zdGVhZCBvZiBhIGd1aW50MTYgdG8gYXZvaWQgb3ZlcmZsb3cuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY0OTAKCjIwMTQtMDktMTAgMTU6Mzk6NDQgLTAzMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBpbXByb3ZlIHBvc2l0aW9uIGRldGVjdGlvbiB3aGVuIGEgZG93bmxvYWQgcmVzdGFydAoJICBRdWVyeSBvdGhlciBzcmMgcGFkcyBiZWZvcmUgZmFsbGluZyBiYWNrIHRvIHRoZSBwb3NpdGlvbiBvZiB0aGUgbGFzdAoJICBrbm93biBwdXNoZWQgc2VnbWVudCAod2hpY2ggY2FuIGJlIGZhciBhaGVhZCBpbiB0aW1lKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjQyMQoKMjAxNC0wOS0xMCAxNTo0MzowNSArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGltcHJvdmUgcG9zaXRpb24gZGV0ZWN0aW9uIHdoZW4gYSBkb3dubG9hZCByZXN0YXJ0CgkgIFF1ZXJ5IG90aGVyIHNyYyBwYWRzIGJlZm9yZSBmYWxsaW5nIGJhY2sgdG8gdGhlIHBvc2l0aW9uIG9mIHRoZSBsYXN0CgkgIGtub3duIHB1c2hlZCBzZWdtZW50ICh3aGljaCBjYW4gYmUgZmFyIGFoZWFkIGluIHRpbWUpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NDIxCgoyMDE0LTA5LTExIDE2OjIxOjMwICswNDAwICBCZWxvem9yb3YgU2VtZW4gPHNraW1pbm9rREBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eF9oMjY0LmM6CgkgIG1wZWdwc211eDogZml4IG1lbW9yeSBsZWFrIHdoZW4gY29udmVydGluZyBILjI2NCBhdmMgdG8gYnl0ZS1zdHJlYW0gZm9ybWF0CgkgIEZpeCBtZW1vcnkgbGVhayBmb3IgaW5wdXQgc3RyZWFtIHdpdGggY2FwcyAidmlkZW8veC1oMjY0LHN0cmVhbS1mb3JtYXQ9YXZjIi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjQyNgoKMjAxNC0wOS0xMCAxOToyNzoyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSAgYWlmZm11eDogYWxsb2NhdGUgYnl0ZSB3cml0ZXIgb24gc3RhY2sKCjIwMTQtMDktMTAgMTk6MTk6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJICBhc2ZtdXg6IGFsbG9jYXRlIGJ5dGUgcmVhZGVycyBvbiB0aGUgc3RhY2sKCjIwMTQtMDktMTAgMTA6NTg6MDMgKzAyMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICB0c2RlbXV4OiBjbGVhciBtdXRleCByZXNvdXJjZXMgaW4gZGlzcG9zZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MzkwCgoyMDE0LTA5LTEwIDE3OjI0OjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgRml4IHVwIG9uZS1lbGVtZW50IGxpc3RzIGluIHRlbXBsYXRlIGNhcHMKCjIwMTQtMDktMTAgMTY6Mzg6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZml4IGJvZ3VzIEJHUkEgY2FwcwoJICBSZW1vdmUgMC4xMC1zdHlsZSBlbmRpYW5uZXNzLypfbWFzay9icHAvZGVwdGggZmllbGRzLgoKMjAxNC0wOS0xMCAxOToxNjo1MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1aWxkOiBkb24ndCBBQ19TVUJTVCBpbnRlcm1lZGlhdGUgdmFsdWVzCgoyMDE0LTA5LTA5IDEyOjAxOjQ3ICswMjAwICBWYXNpbGlzIExpYXNrb3ZpdGlzIDx2bGlhc2tvdkBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkgIEdzdEdMV2luZG93OiBJbnRyb2R1Y2UgbmF2aWdhdGlvbiB0aHJlYWQKCSAgVGhpcyB0aHJlYWQgZGlzcGF0Y2hlcyBuYXZpZ2F0aW9uIGV2ZW50cy4gSXQgaXMgbmVlZGVkIHRvIGF2b2lkIGRlYWRsb2NrcwoJICBiZXR3ZWVuIHdpbmRvdyBiYWNrZW5kIHRocmVhZHMgdGhhdCBlbWl0IG5hdmlnYXRpb24gZXZlbnRzIChlLmcuIFgxMS9HTWFpbkxvb3AKCSAgdGhyZWFkKSBhbmQgY29uc3VtZXJzIG9mIG5hdmlnYXRpb24gZXZlbnRzIHN1Y2ggYXMgZ2xpbWFnZXNpbmssIHNlZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNjYxCgkgIEdzdEdsV2luZG93X3gxMSB0aHJlYWQgaXMgY2hhbmdlZCB0byBpbnZva2UgdGhlIG5hdmlnYXRpb24gdGhyZWFkIGZvciBuYXZpZ2F0aW9uCgkgIGRpc3BhdGNoaW5nLCBpbnN0ZWFkIG9mIGVtaXRpbmcgdGhlIGV2ZW50IGl0c2VsZi4gT3RoZSBiYWNrZW5kcyBiZXNpZGUgWDExIGRvCgkgIG5vdCBkaXNwYXRjaCBuYXZpZ2F0aW9uIGV2ZW50cyB5ZXQsIGJ1dCBzaG91bGQgdXNlIHRoaXMgdGhyZWFkIHdoZW4gZGlzcGF0Y2hpbmcKCSAgdGhlc2UgZXZlbnRzIGluIHRoZSBmdXR1cmUuCgkgIFRoZSBuYXZpZ2F0aW9uIHRocmVhZCBpcyBjdXJyZW50bHkgcGFydCBvZiBHc3RHTFdpbmRvdyBhbmQgbm90IGltcGxlbWVudGVkIGluCgkgIHNlcGFyYXRlIHN1YmNsYXNzZXMgLyBiYWNrZW5kcy4gVGhpcyB3aWxsIGJlIG5lZWRlZCBpbiB0aGUgZnV0dXJlLgoJICBnc3RfZ2xfd2luZG93X3gxMV9nZXRfc3VyZmFjZV9kaW1lbnNpb25zIGlzIGFsc28gY2hhbmdlZCB0byB1c2UgYSBjYWNoZWQgdmFsdWUKCSAgb2YgdGhlIHdpbmRvdydzIHdpZHRoLCBoZWlnaHQuIFRoZXNlIHZhbHVlcyBhcmUgbm93IHJldHJpZXZlZCBpbiB0aGUgWDExCgkgIHRocmVhZCwgZnVuY3Rpb24gZ3N0X2dsX3dpbmRvd194MTFfaGFuZGxlX2V2ZW50LiBUaGlzIGNoYW5nZSBpcyBuZWVkZWQgYmVjYXVzZQoJICBvdGhlcndpc2UgdGhlIFhHZXRXaW5kb3dBdHRyaWJ1dGVzIGdldHMgY2FsbGVkIGZyb20gdGhlIG5hdmlnYXRpb24gdGhyZWFkLAoJICBsZWFkaW5nIHRvIHhsaWIgYWJvcnRpbmcgZHVlIHRvIG11bHRpdGhyZWFkZWQgYWNjZXNzIChpZiBYSW5pdFRocmVhZHMgaXMgbm90CgkgIGNhbGxlZCBiZWZvcmUsIGFzIGlzIHRoZSBjYXNlIGZvciBnc3QtbGF1bmNoKQoKMjAxNC0wOS0wNSAxMzo1ODoxOSAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiByZXRyeSBvcGVuaW5nIHRoZSBmcm9udGVuZCBvbiBFSU5UUgoKMjAxNC0wOS0wNSAxMzozMjowOSAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhc3NvcnRlZCBkb2MgJiBzcGVsbGluZyBmaXhlcwoKMjAxNC0wOS0wNyAwMTozMDoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJICBSZXZlcnQgImRhdGF1cmlzcmM6IFJlbW92ZSB1bm5lY2Vzc2FyeSBlbHNlIGlmIGNvbmRpdGlvbiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAzMDI0YWU5YzM4NDkwODE3YTc2YzgzZmVhYjNjODQ3Mjk4OWNhZmFkLgoJICBUaGUgKmJ1ZiBjYW4gYmUgTlVMTCBvciBub3QgZGVwZW5kaW5nIGlmIHRoZSBjYWxsZXIgb2YgZ3N0X3BhZF9nZXRfcmFuZ2UKCSAgZnVuY3Rpb24gcHJvdmlkZWQgb3Igbm90IGEgYnVmZmVyLgoKMjAxNC0wOS0wNSAxNjoxMTowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzZGVtdXhfbTN1OC5jOgoJICB0ZXN0czogaGxzZGVtdXg6IGZpeCBjb21waWxhdGlvbgoJICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gL2hvbWUvdGhpYWdvc3MvZ3N0L2hlYWQvZ3N0cmVhbWVyL2dzdC9nc3QuaDo1NDowLAoJICBmcm9tIC9ob21lL3RoaWFnb3NzL2dzdC9oZWFkL2dzdHJlYW1lci9saWJzL2dzdC9jaGVjay9nc3RjaGVjay5oOjM0LAoJICBmcm9tIGVsZW1lbnRzL2hsc2RlbXV4X20zdTguYzoyNzoKCSAgLi4vLi4vZXh0L2hscy9nc3RmcmFnbWVudGVkLmg6ODoyODogZXJyb3I6IHJlZHVuZGFudCByZWRlY2xhcmF0aW9uIG9mIOKAmGZyYWdtZW50ZWRfZGVidWfigJkgWy1XZXJyb3I9cmVkdW5kYW50LWRlY2xzXQoJICBHU1RfREVCVUdfQ0FURUdPUllfRVhURVJOIChmcmFnbWVudGVkX2RlYnVnKTsKCSAgTW92ZSB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgdG8gYWZ0ZXIgdGhlIGRlY2xhcmF0aW9uLgoKMjAxNC0wOS0wNSAxMjo1NjoxMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBobHNkZW11eDogQW5kIGZpeCBNYWtlZmlsZSB5ZXQgYWdhaW4KCjIwMTQtMDktMDUgMTI6MjU6MDEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzZGVtdXhfbTN1OC5jOgoJICBobHNkZW11eDogSW5jbHVkZSB0aGUgbTN1OC5jIGZpbGUgZGlyZWN0bHkgaW4gdGhlIHRlc3QgYmVjYXVzZSBvZiBhbiBhdXRvbWFrZSBidWcKCSAgJCh0b3Bfc3JjZGlyKSBkb2Vzbid0IHNlZW0gdG8gd29yayB3aXRoIF9TT1VSQ0VTIGJlY2F1c2UgdGhhdCB3b3VsZCBiZSB0b28KCSAgb2J2aW91cy4KCSAgaHR0cDovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2F1dG9tYWtlLzIwMTMtMDkvbXNnMDAwMDUuaHRtbAoKMjAxNC0wOS0wNSAwOTo1MzoxNSArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBGaXggaGFuZGxpbmcgb2YgNjQgYml0IGZsb2F0aW5nIHBvaW50IGRhdGEKCSAgSW4gZ3N0X2FpZmZfcGFyc2VfY3JlYXRlX2NhcHMgaWYgYW5kIGVsc2UtaWYgY29uZGl0aW9ucwoJICBhcmUgZHVwbGljYXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjA5MAoKMjAxNC0wOS0wNSAwODo1MTozMCArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0Lmg6CgkgIGZhY2VkZXRlY3Q6IEFkZCBuZXcgcHJvcGVydHkgbWluLXN0ZGRldgoJICBmYWNlIGRldGVjdGlvbiB3aWxsIGJlIHBlcmZvcm1lZCBvbmx5IGlmIGltYWdlIHN0YW5kYXJkIGRldmlhdGlvbiBpcwoJICBncmVhdGVyIHRoYXQgbWluLXN0ZGRldi4gRGVmYXVsdCBtaW4tc3RkZGV2IGlzIDAgZm9yIGJhY2t3YXJkCgkgIGNvbXBhdGliaWxpdHkuIFRoaXMgcHJvcGVydHkgd2lsbCBhdm9pZCB0byBwZXJmb3JtIGZhY2UgZGV0ZWN0aW9uIG9uCgkgIGltYWdlcyB3aXRoIGxpdHRsZSBjaGFuZ2VzIGltcHJvdmluZyBjcHUgdXNhZ2UgYW5kIHJlZHVjaW5nIGZhbHNlCgkgIHBvc2l0aXZlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNTEwCgoyMDE0LTA3LTA3IDEwOjUyOjU3ICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zekBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5oOgoJICBnbHRyYW5zZm9ybWF0aW9uOiBmaXggaXNzdWVzIGFuZCBleHBvc2UgbXZwIG1hdHJpeAoJICAqIGFzcGVjdCBzaG91bGQgbm90IGJlIDAgb24gaW5pdAoJICAqIHJlbmFtZSBmb3Z5IHRvIGZvdgoJICAqIGFkZCBtdnAgdG8gcHJvcGVydGllcyBhcyBib3hlZCBncmFwaGVuZSB0eXBlCgkgICogZml4IHRyYW5zZm9ybWF0aW9uIG9yZGVyLiBzY2FsZSBmaXJzdAoJICAqIGNsZWFyIGNvbG9yIHdpdGggMS4wIGFscGhhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQyMjMKCjIwMTQtMDktMDQgMjE6NDE6NTQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgaGxzZGVtdXg6IEFsc28gZ2V0IHRoZSBtM3U4LmMgc291cmNlIGZpbGUgZnJvbSB0aGUgJCh0b3Bfc3JjZGlyKSBmb3IgdGhlIHRlc3QKCSAgU2hvdWxkIGZpeCBtYWtlIGRpc3RjaGVjayBmb3IgcmVhbCBub3cuCgoyMDE0LTA5LTA0IDE5OjAxOjQ1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGhsc2RlbXV4OiBVc2UgJCh0b3Bfc3JjZGlyKSBpbnN0ZWFkIG9mICQodG9wX2J1aWxkZGlyKSBmb3IgdGhlIGluY2x1ZGUgcGF0aAoKMjAxNC0wOS0wNCAxODoyMTozOCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IERvbid0IHNlbmQgZmx1c2ggZXZlbnRzIHRvIGRlYWN0aXZhdGVkIHBhZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjAxMgoKMjAxNC0wOS0wNCAxODoyMToyNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IERvbid0IHNlbmQgZmx1c2ggZXZlbnRzIHRvIGRlYWN0aXZhdGVkIHBhZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjAxMgoKMjAxNC0wOS0wNCAxODoyMDo1OCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvbid0IHNlbmQgZmx1c2ggZXZlbnRzIHRvIGRlYWN0aXZhdGVkIHBhZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjAxMgoKMjAxNC0wOS0wNCAxNzo1MjozNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBobHNkZW11eDogQ29tcGlsZSB0aGUgbTN1OC5jIGRpcmVjdGx5IGluc3RlYWQgb2YgcmUtdXNpbmcgdGhlIC5vIGZpbGUKCjIwMTQtMDktMDQgMTc6NTA6MTYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzZGVtdXhfbTN1OC5jOgoJICBobHNkZW11eDogQWRkIHVuaXQgdGVzdCBmb3IgcGFyc2luZyBvZiBNM1U4IHBsYXlsaXN0cwoJICBQb3J0ZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20veWxhdHV5YS9nc3QtcGx1Z2lucy1iYWQKCSAgVGhpcyBzdGlsbCBoYXMgc29tZSB1bml0IHRlc3RzIGZvciBhbHRlcm5hdGl2ZSByZW5kaXRpb25zIGFuZAoJICBzZWVraW5nLCB3aGljaCBhcmUgY29tbWVudGVkIG91dCBmb3IgdGhlIHRpbWUgYmVpbmcgdW50aWwgd2UKCSAgc3VwcG9ydCB0aGVtIHByb3Blcmx5LgoKMjAxNC0wOS0wNCAxNzo0OToyMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogUHJvcGVybHkgYXNzaWduIG9mZnNldHMgdG8gdGhlIGZpbGVzIGlmIHdlIGFjY3VtdWxhdGUgdGhlbSBpbnN0ZWFkIG9mIHJlYWRpbmcgZnJvbSB0aGUgcGxheWxpc3QKCjIwMTQtMDktMDQgMTM6Mzg6MjEgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJICBkYXRhdXJpc3JjOiBSZW1vdmUgdW5uZWNlc3NhcnkgZWxzZSBpZiBjb25kaXRpb24KCSAgSW4gZ3N0X2RhdGFfdXJpX3NyY19jcmVhdGUoKSwgYnVmIGNhbm5vdCBiZSBOVUxMLCBoZW5jZQoJICBlbHNlIGlmICgqYnVmICE9IE5VTEwpIHdpbGwgYmUgaW52YWxpZCBzbyByZW1vdmluZyB0aGUKCSAgZWxzZSBpZiBjb25kaXRpb24gYW5kIGFkZGluZyBhIGNoZWNrIHRvIHVucmVmZXJlbmNlIGJ1ZgoJICBpbiBlbHNlIGNvbmRpdGlvbiwganVzdCBpbiBjYXNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU4NjEKCjIwMTQtMDktMDIgMTg6MDY6NTMgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogc2ltcGxpZnkgSVNEQi1UIGxhdW5jaCBsaW5lIGV4YW1wbGUKCjIwMTQtMDktMDIgMTI6MTM6MDEgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZGVsYXkgbG9ja2luZyB0aWxsIGFjdHVhbGx5IG5lZWRlZAoJICBHZXQgcmlkIG9mIHVubmVlZGVkIGxvY2tpbmcgYXQgcHJvcCBzZXR0aW5nIGJ5IGRvaW5nCgkgIGl0IG9ubHkgd2hlbiB0dW5pbmcgdGhlIGZyb250ZW5kIGF0IF90dW5lX2ZlKCkKCjIwMTQtMDktMDIgMTI6MTE6NDQgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJICBkYXRhdXJpc3JjOiBNYWtlIGdldF91cmkoKSB0aHJlYWRzYWZlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU4NjEKCjIwMTQtMDktMDEgMTc6NDE6NTAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuaDoKCSAgYW1jYXVkaW9kZWM6IFJlbW92ZSBoYWNrIGZvciBHb29nbGUgTVAzIGRlY29kZXIKCSAgVGhlIGZpcnN0IGJ1ZmZlciBkb2VzIG5vdCBjb250YWluIG1vcmUgZ2FyYmFnZSB0aGFuIGFueSBvdGhlciBNUDMgZGVjb2RlcgoJICBvdXRwdXRzIGFuZCB3ZSBkb24ndCByZWFsbHkga25vdyBob3cgbXVjaCB3ZSBoYXZlIHRvIGRyb3Agb3Igbm90LgoJICBBZnRlciB0aGlzIGNoYW5nZSB0aGUgb3V0cHV0IGhhcyB0aGUgc2FtZSBkdXJhdGlvbiBhcyB3aXRoIG1hZC4KCjIwMTQtMDktMDEgMDg6MjQ6NTcgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5jOgoJICB6ZWJyYXN0cmlwZTogUmVmYWN0b3IgdG8gcmVtb3ZlIGR1cGxpY2F0ZSBjb2RlCgkgIGdzdF96ZWJyYV9zdHJpcGVfdHJhbnNmb3JtX2ZyYW1lX2lwX3BsYW5hclkKCSAgZ3N0X3plYnJhX3N0cmlwZV90cmFuc2Zvcm1fZnJhbWVfaXBfWVVZMgoJICBnc3RfemVicmFfc3RyaXBlX3RyYW5zZm9ybV9mcmFtZV9pcF9BWVVWCgkgIGFsbCBhYm92ZSAzIGZ1bmN0aW9ucyBkbyB0aGUgc2FtZSBmdW5jdGlvbmFsaXR5IGV4Y2VwdCBmb3Igb2Zmc2V0IGFuZCBwaXhlbCBzdHJpZGUuCgkgIEhlbmNlIG1vdmluZyB0aGUgZnVuY3Rpb25hbGl0eSB0byBhIHNpbmdsZSBmdW50aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1MDMyCgoyMDE0LTA4LTI5IDE4OjU1OjMyIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGZpeCBkZXNjcmlwdGlvbiBmb3IgbW9kdWxhdGlvbiBwcm9wCgoyMDE0LTA4LTI5IDE3OjE2OjA5IC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFkZCBiYXNpYyBjaGVja3Mgb24gSVNEQi1UIHBhcmFtZXRlcnMKCSAgQWxzbyBhZGQgYSByb3V0aW5lIGZvciBjaGVja2luZyB3cm9uZyBkZWxzeXMvbW9kdWxhdGlvbgoJICBjb21iaW5hdGlvbnMgcmlnaHQgYmVmb3JlIHR1bmluZyAob25seSBpbXBsZW1lbnRlZCBmb3IKCSAgSVNEQi1UIGZvciBub3cpLgoKMjAxNC0wOC0yOSAxODowOTowNyAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhZGQgc3VwcG9ydCBmb3IgYWRkaXRpb25hbCBtb2R1bGF0aW9uIHR5cGVzCgoyMDE0LTA4LTI5IDEzOjI2OjEyIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGRyb3AgRklYTUUgb24gX0lTREJUX0xBWUVSX0VOQUJMRUQgcHJvcAoJICBWYWxpZCB2YWx1ZXMgcmFuZ2UgZnJvbSAxIHRvIDcgYXMgc3RhdGVkLgoJICBEVFZfSVNEQlRfTEFZRVJfRU5BQkxFRCBiaXRtYXNrIGlzIGJ1aWx0IGZyb20KCSAgT1ItaW5nIDB4MSAweDIgMHg0LiBJZiBhbGwgYml0cyBhcmUgc2V0CgkgICgweDAwMDAwMTExID0gNykgaXQgbWVhbnMgYWxsIGxheWVycyBzaG91bGQgYmUKCSAgZGVtb2R1bGF0ZWQuCgoyMDE0LTA4LTI5IDE5OjI2OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiByZW1vdmUgY29kZSB0aGF0IGNhbid0IGJlIHJlYWNoZWQKCSAgSWYgdGhpcyBjb2RlIGNvdWxkIGV2ZXIgYmUgcmVhY2hlZCwgaXQgd291bGQgbGVhawoJICBtZW1vcnkgKENJRCAxMjMxOTc5KSwgYnV0IGdzdF9jYXBzX2dldF9mZWF0dXJlcygpCgkgIG5ldmVyIHJldHVybnMgTlVMTCwgc28gdGhhdCBjYW4ndCBoYXBwZW4uCgoyMDE0LTA4LTI5IDE5OjI0OjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiByZW1vdmUgY29kZSB0aGF0IGNhbid0IGJlIHJlYWNoZWQKCSAgSWYgdGhpcyBjb2RlIGNvdWxkIGV2ZXIgYmUgcmVhY2hlZCwgaXQgd291bGQgbGVhawoJICBtZW1vcnkgKENJRCAxMjMxOTc3KSwgYnV0IGdzdF9jYXBzX2dldF9mZWF0dXJlcygpCgkgIG5ldmVyIHJldHVybnMgTlVMTCwgc28gdGhhdCBjYW4ndCBoYXBwZW4uCgoyMDE0LTA4LTI4IDIwOjEyOjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggdXAgaGFuZGxpbmcgb2YgaW5wdXQgY2FwcyBjb3JuZXIgY2FzZXMKCSAgRG8gbW9yZSBlbGFib3JhdGUgdmFsaWRhdGlvbiBvZiB0aGUgaW5wdXQgY2Fwczogd2hhdCBmaWVsZHMKCSAgYXJlIHJlcXVpcmVkIGFuZC9vciBub3QgYWxsb3dlZC4gRG9uJ3QgYXNzdW1lIEFWQzMgZm9ybWF0CgkgIGlucHV0IHdpdGhvdXQgY29kZWNfZGF0YSBmaWVsZCBpcyBieXRlLXN0cmVhbSBmb3JtYXQuIEZpeAoJICB1cCBzb21lIG5vdy11bnJlYWNoYWJsZSBjb2RlIChDSUQgMTIzMjgwMCkuCgoyMDE0LTA4LTI4IDE2OjQyOjMwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBBZGQgbWlzc2luZyBicmVhayB0byBzd2l0Y2gKCSAgQ0lEIDEyMzI4MDEKCjIwMTQtMDgtMjggMTE6Mzc6NTYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgcmF3cGFyc2U6IFJlc2V0IG5lZ290aWF0aW9uIHN0YXRlIHdoZW4gZ29pbmcgYmFjayB0byBSRUFEWQoJICBBZnRlciBnb2luZyBiYWNrIHRvIFJFQURZIHdlIGNhbiBhY2NlcHQgbmV3IGZvcm1hdCBzZXR0aW5ncyBhZ2Fpbi4KCjIwMTQtMDgtMjIgMTU6MTg6NTkgLTA2MDAgIFRob21hcyBCbHVlbWVsIDx0Ymx1ZW1lbEBjb250cm9sNC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9obHMvTWFrZWZpbGUuYW06CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogU3VwcG9ydCBPcGVuU1NMIGZvciBBRVMgZGVjcnlwdGlvbiBvZiBITFMgZnJhZ21lbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzM1MjQ4CgoyMDE0LTA4LTI2IDE2OjIxOjQyICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9nbGNvbnRleHRpZC5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL2dzdHRocmVhZC5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9waXBlbGluZS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHJlbmRlcmVyLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9xZ2x3dGV4dHVyZXNoYXJlLnBybzoKCSAgZ2w6IHFnbHd0ZXh0dXJlc2hhcmUgZGVtbyBmaXhlcyBhbmQgY2xlYW51cAoJICAxLiBnbGNvbnRleHRpZCBmdW5jdGlvbiBpcyByZXBsYWNlZCBieSBnc3RyZWFtZXIgZ3N0X2dsX2NvbnRleHRfbmV3X3dyYXBwZWQgLgoJICAyLiBjYWxsIGdzdF9pbml0IGJlZm9yZSBnc3RfZ2xfZGlzcGxheV9uZXcgLCBzZWVtcyBnc3RfZ2xfZGlzcGxheV9uZXcgZGVwZW5kcwoJICBvbiBnc3RfYWxsb2NhdG9yX3JlZ2lzdGVyICwgd2hpY2ggb25seSB3b3JrZWQgYWZ0ZXIgZ3N0X2luaXQgY2FsbGVkCgkgIDMuIGZsdXNoIGdzdHJlYW1lciBPcGVuR0wgY29udGV4dCBiZWZvcmUgdXNpbmcgc2hhcmVkIHRleHR1cmUsIGZpeAoJICBmbGlja2VyIHByb2JsZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU1NjYKCjIwMTQtMDgtMjcgMTM6NDA6NDIgKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsOiBBZGQgR1NUR0xBUEkgbWFjcm8gdG8gdGhlIGRlYnVnIGNhbGxiYWNrIGZ1bmN0aW9uCgkgIEZpeGVzIHRoZSBXaW5kb3dzIGJ1aWxkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NTY1CgoyMDE0LTA4LTI4IDA5OjUzOjE3ICswMzAwICBCbGFrZSBUcmVncmUgPGJsYWtlLnRyZWdyZUBnbWFpbC5jb20+CgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgcmZic3JjOiBDbGFtcCBvdXQgb2YgYm91bmRzIHJlc29sdXRpb25zIHRvIHByZXZlbnQgc2VnZmF1bHRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY4MDEKCjIwMTQtMDgtMjcgMTQ6NDc6MjUgKzAyMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2w6IGRvIG5vdCBjaGVjayBmb3IgR0wvR0xVL0VHTC9HTEVTMiBsaWJzIGlmIGRpc2FibGVkIGluIGNvbmZpZ3VyYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTUyMgoKMjAxNC0wOC0yNiAxMjozODo1MiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSAgZWdsOiBXcmFwIEtIUl9jcmVhdGVfY29udGV4dCBmbGFncyBpbiBhbiBpZmRlZgoJICBFR0xfQ09OVEVYVF9GTEFHU19LSFIgYW5kIEVHTF9DT05URVhUX09QRU5HTF9ERUJVR19CSVRfS0hSCgkgIGRvbid0IGV4aXN0IGluIHRoZSBBbmRyb2lkIE5ESy4gV3JhcCB0aGVpciB1c2FnZSBpbiBhbiAjaWZkZWYKCSAgRUdMX0tIUl9jcmVhdGVfY29udGV4dCB0byBmaXggdGhlIGJ1aWxkIHRoZXJlLgoKMjAxNC0wOC0yMSAxMjozMjoxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkb24ndCBjb25zaWRlciB1bmtub3duIHN0cmVhbS1mb3JtYXQgYXMgYXZjCgkgIEl0IHNob3VsZCB0cnkgdG8gdXNlIGJ5dGVzdHJlYW0gaW4gdGhlc2UgY2FzZXMgdGhhdCB0aGUgZm9ybWF0CgkgIGlzIHNldCB0byBfRk9STUFUX05PTkUgYXMgaXQgc2VlbXMgdGhhdCBpcyB3aGF0IHRoZSAnZWxzZScgY2xhdXNlCgkgIGZvciBieXRlc3RyZWFtIGNhbiBoYW5kbGUgKGJ5IGRlZmF1bHRpbmcgdG8gX0ZPUk1BVF9CWVRFU1RSRUFNKS4KCjIwMTQtMDgtMjUgMTM6MzM6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHRlc3RzOiBmaXggY2FwcyBmb3IgYXZjIGZvcm1hdAoJICBJZiBpdCBoYXMgYSBjb2RlY19kYXRhIGZpZWxkLCBpdCBzaG91bGQgYWxzbyB1c2UgdGhlIHN0cmVhbS1mb3JtYXQ9YXZjIGFzCgkgIGNvZGVjX2RhdGEgZG9lc24ndCBtYWtlIHNlbnNlIG90aGVyd2lzZSBhbmQgdGhlIGRlZmF1bHQgc2hvdWxkCgkgIGJlIGJ5dGVzdHJlYW0KCjIwMTQtMDgtMjUgMTU6MjE6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSAgZG9jczogYWRkIG1wZWdwc211eCBhbmQgbXBlZ3RzbXV4CgoyMDE0LTA4LTI1IDE1OjIwOjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvbWl4ZXIueG1sOgoJICBkb2NzOiBhZGQgYXVkaW9taXhlciB0byBkb2NzCgoyMDE0LTA4LTI1IDE1OjIwOjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJICBkb2NzOiBhZGQgYWlmZiBlbGVtZW50cyB0byBkb2NzCgoyMDE0LTA4LTI1IDE0OjU2OjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgIGRvY3M6IHBsdWdpbnM6IG1pc2MgdXBkYXRlcwoKMjAxNC0wOC0yNSAxNDo0Mzo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy50eXBlczoKCSAgZG9jczogbW92ZSBHc3RQaG90b2dyYXBoeSBpbnRlcmZhY2UgZG9jcyBpbnRvIHRoZSBsaWJyYXJ5IGRvY3MKCSAgTm93IHRoYXQgd2UgaGF2ZSBkb2NzIGZvciB0aGUgbGlicy4KCjIwMTQtMDgtMjUgMTI6MjE6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJICBzbmRmaWxlOiBkb24ndCBkZWNvZGUgZm9ybWF0cyB0aGF0IGFyZSBiZXR0ZXIgaGFuZGxlZCBieSBvdGhlciBlbGVtZW50cwoJICBJbiBwYXJ0aWN1bGFyOiBmbGFjLCBvZ2csIHBjbSwgYXUsIGFpZmYsIHdhdi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjMxNgoKMjAxNC0wOC0yMiAxNjo0OToxMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSAgZWdsOiBmYWxsYmFjayB0byBhIG5vbi1kZWJ1ZyBjb250ZXh0IGlmIGEgZGVidWcgb25lIGZhaWxzCgkgIFRoZSB0ZXh0IGZvciBFR0xfS0hSX2NyZWF0ZV9jb250ZXh0IGFkZGVkIHRoZSBwb3NzaWJsaXR5IGZvciBFUwoJICBjb250ZXh0cyB0byBhc2sgZm9yIGEgZGVidWcgY29udGV4dCBob3dldmVyIHRoYXQgaGFzIG5vdCBiZWVuCgkgIGZ1bGx5IHJlYWxpemVkIGJ5IGFsbCBpbXBsZW1lbnRhdGlvbnMuICBGYWxsYmFjayB0byBhIG5vbi1kZWJ1ZwoJICBjb250ZXh0IHdoZW4gdGhlIGltcGxlbWVudGF0aW9uIGVycm9ycy4KCjIwMTQtMDgtMDUgMTQ6MDY6MDcgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDxrYWthcm90b0BrYWthcm90by5ob21lbGludXgubmV0PgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBBZGQgc3VwcG9ydCBmb3IgUlRQL1JUQ1AgbWl4aW5nIGlmIGRhdGEgYXJyaXZlcyBvbiBSVENQIHBhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MzIxCgoyMDE0LTA4LTIxIDE2OjI0OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZml4IGFib3J0IGluIGVycm9yIGNvZGUgcGF0aCB3aXRoIG5ld2VyIGdsaWIKCSAgRG9uJ3QgZm9yZ2V0IHRvIHVubG9jayBtcGQgY2xpZW50IGFnYWluIHdoZW4gZXJyb3Jpbmcgb3V0LgoJICBGaXhlcyBhYm9ydCB3aGVuIGdfbXV0ZXhfY2xlYXIoKSBpcyBjYWxsZWQgb24gYSBsb2NrZWQgbXV0ZXguCgoyMDE0LTA3LTAyIDEyOjQ5OjQ0ICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zekBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIGdzdG9wZW5nbDogYWRkIGludHJvc3BlY3Rpb24gc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NDgyCgoyMDE0LTA4LTA1IDEyOjA3OjA4ICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zekBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvc3dpdGNodmlkZW9vdmVybGF5L21haW4uY3BwOgoJICBleGFtcGxlczogZml4IGd0aysgMy4xNCBkZXByZWNhdGlvbiBlcnJvcgoJICBodHRwczovL2RldmVsb3Blci5nbm9tZS5vcmcvZ3RrMy8zLjEzL0d0a1dpZGdldC5odG1sI2d0ay13aWRnZXQtc2V0LWRvdWJsZS1idWZmZXJlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NDgyCgoyMDE0LTA3LTA3IDEwOjUyOjA2ICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zekBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGV4cG9zZSBjb250ZXh0CgkgICogZXhwb3NlIGNvbnRleHQgaW4gZHJhdyAvIHJlc2hhcGUgY2FsbGJhY2tzCgkgICogYWRkIGNvbnRleHQgcHJvcGVydHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDQ4MgoKMjAxNC0wNy0wNyAxMDo1MToyOCArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3pAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJICBnbHNoYWRlcjogZXhwb3NlIG9wZW5nbCBoYW5kbGUgaW4gZ2V0dGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ0ODIKCjIwMTQtMDgtMjAgMDk6Mzc6MDEgKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBnbDogY2hlY2sgbnVsbCBiZWZvcmUgdW5yZWYgR3N0R0xEaXNwbGF5CgoyMDE0LTA4LTIxIDEwOjAzOjA3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZGVidWcuaDoKCSAgZ2w6IGFkZCBwcm90b3R5cGUgZGVmaW5pdGlvbiBmb3IgS0hSX2RlYnVnCgoyMDE0LTA4LTIwIDIzOjI0OjEyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJICBnbGNvbnRleHQ6IGltcGxlbWVudCB0aGUgZGVidWcgY2FsbGJhY2sKCSAgRm9yIGJvdGggR0xfS0hSX2RlYnVnIGFuZCBBUkJfZGVidWdfb3V0cHV0LiAgVGhpcyBhbGxvd3MgdXMgdG8KCSAgcmVjZWl2ZSBlcnJvcnMgYW5kIG90aGVyIGhpbnRzIGZyb20gdGhlIEdMIGluc3RlYWQgb2YgcXVlcnlpbmcgYWZ0ZXIKCSAgZXZlcnkgR0wgb3BlcmF0aW9uLgoKMjAxNC0wOC0yMCAyMzoyMzowNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2FsbF9mdW5jdGlvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nc3RnbF9jb21wYXQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIGdsOiBhZGQgcHJvdG90eXBlcyBmb3IgS0hSX2RlYnVnL0FSQl9kZWJ1Z19vdXRwdXQKCjIwMTQtMDgtMTkgMTc6MTc6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHVucmVmIHBhZCByZWZlcmVuY2Ugd2hlbiByZW1vdmluZyBpbnRlcm5hbCBzb3VyY2UgaW4gZXJyb3IKCSAgQXZvaWRzIGxlYWtpbmcgdGhlIHBhZCBpbiBlcnJvciBzaXR1YXRpb25zCgoyMDE0LTA4LTE5IDE2OjAxOjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiByZWFkIGxhbmd1YWdlIGZyb20gQ29udGVudENvbXBvbmVudCBub2RlIGFzIGEgZmFsbGJhY2sKCSAgSWYgdGhlIGxhbmd1YWdlIGlzIG5vdCBzcGVjaWZpZWQgaW4gdGhlIEFkYXB0YXRpb25TZXQsIHVzZSB0aGUgQ29udGVudENvbXBvbmVudAoJICBub2RlIHRvIGdldCBpdC4gV2Ugb25seSBnZXQgaXQgaWYgdGhlcmUgaXMgb25seSBhIHNpbmdsZSBDb250ZW50Q29tcG9uZW50IGFzCgkgIGl0IGRvZXNuJ3Qgc2VlbSBjbGVhciBvbiB3aGF0IHRvIGRvIGlmIHRoZXJlIGFyZSBtdWx0aXBsZSBlbnRyaWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIyMzcKCjIwMTQtMDYtMjUgMTU6NTU6MzIgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9NYWtlZmlsZS5hbToKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHB1c2ggbGFuZ3VhZ2UgY29kZSB0YWcKCSAgTGFuZ3VhZ2UgY29kZSB0YWcgaXMgcmV0cmlldmVkIGZyb20gdGhlIEFkYXB0YXRpb25TZXQgbGFuZ3VhZ2UKCSAgcHJvcGVydHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIyMzcKCjIwMTQtMDgtMTkgMjA6MTQ6MjIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgZ2w6IGRvbid0IHRha2UgYW4gZXh0cmEgcmVmIG9uIHRoZSBkaXNwbGF5IG9uIHNldF9jb250ZXh0CgkgIGdzdF9jb250ZXh0X2dldF9nbF9kaXNwbGF5KCkgcmV0dXJucyBhIHJlZi4gIERvbid0IHRha2UgYW5vdGhlciBpbgoJICBnc3Rfb2JqZWN0X3JlcGxhY2UoKS4KCjIwMTQtMDgtMTkgMTc6MDE6MzYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogdW5yZWYgdGhlIEdzdEdMVXBsb2FkIGluIHRoZSBwYWQgaWYgZnJlZWQgd2hpbGUgcnVubmluZwoJICBEeW5hbWljIHBpcGVsaW5lcyB0aGF0IGdldCBhbmQgcmVsZWFzZSB0aGUgc2luayBwYWRzIHdpbGwgZmluYWxpemUKCSAgdGhlIHBhZCB3aXRob3V0IGdvaW5nIHRocm91Z2ggZ3N0X2dsX21peGVyX3N0b3AoKSB3aGljaCBpcyB3aGVyZSB0aGUKCSAgdXBsb2FkIG9iamVjdCBpcyB1c3VhbGx5IGZyZWVkLiAgRG9uJ3QgbGVhayBvYmplY3RzIGluIHN1Y2ggY2FzZS4KCjIwMTQtMDgtMTQgMjM6NTE6MjEgLTA0MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IGF2b2lkIGdsIHJlc291cmNlIHJhY2UgY29uZGl0aW9uIGJldHdlZW4gZGlmZmVyZW50IHRocmVhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0ODMwCgoyMDE0LTA4LTE5IDE0OjQ0OjI5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBkb24ndCBjbG9iYmVyIHVubmVjZXNzYXJ5IEdzdFZpZGVvSW5mbyBmaWVsZHMKCSAgb3RoZXJ3aXNlIHdlIG1pZ2h0IGNsb2JiZXIgb3RoZXIgaW1wb3J0YW50IGZpZWxkcyBzdWNoIGFzIHRoZSBmcmFtZSByYXRlLgoKMjAxNC0wOC0xOSAxNDo0Mzo0MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogZ2V0IHRoZSBhdHRyaWJ1dGUgZnJvbSB0aGUgY29ycmVjdCBzaGFkZXIKCjIwMTQtMDgtMTkgMTQ6MjM6MjEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiB1bnJlZiB0aGUgd2luZG93IG9uIG5hdmlnYXRpb24gZXZlbnQKCSAgcGx1Z3MgYSBtZW1vcnkgbGVhawoKMjAxNC0wOC0xOSAwMDowMToyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogcmVtb3ZlIHBhZHMgd2hlbiByZXNldHRpbmcgdGhlIGVsZW1lbnQKCSAgT3RoZXJ3aXNlIHRoZSBwYWRzIHdpbGwgYmUgdGhlcmUgaWYgaXQgaXMgcmVzdGFydGVkIGFuZCB0aGUgc3RyZWFtCgkgIGNhbiBiZSBhIGNvbXBsZXRlbHkgZGlmZmVyZW50IG9uZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDM5NAoKMjAxNC0wOC0xNyAwMTo0MjowNSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcjogaDI2NDogVXNlIHByb3BlciBiaXRfcmVhZGVyIGFwaSB3aGlsZSBwYXJzaW5nIGJ1ZmZlcmluZ19wZXJpb2QgU0VJCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ5NzAKCjIwMTQtMDgtMTQgMTA6MTk6MTMgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3RzY2VuZWNoYW5nZS5jOgoJICBzY2VuZWNoYW5nZTogZml4IGNyYXNoIG9uIHN0YXJ0dXAKCSAgZ3N0X3ZpZGVvX2ZyYW1lX21hcCgpIHdhcyB1c2luZyB0aGUgb2xkaW5mbyBHc3RWaWRlb0luZm8KCSAgYmVmb3JlIGl0J3MgYmVlbiBwb3B1bGF0ZWQsIHJlc3VsdGluZyBpbiBhIGNyYXNoIHJpZ2h0CgkgIGF0IHRoZSBzdGFydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDc2MwoKMjAxNC0wOC0xNCAxNToyNjo1MyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkgIGFuZHJvaWRtZWRpYTogTWFrZSBzdXJlIHRvIHVuYmxvY2sgYW55IHRocmVhZCB3YWl0aW5nIG9uIHRoZSBkcmFpbiBjb25kaXRpb24gdmFyaWFibGUgd2hlbiBlcnJvcnMgaGFwcGVuCgoyMDE0LTA4LTE0IDE1OjI0OjIxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuaDoKCSAgYW5kcm9pZG1lZGlhOiBGaXggZHJhaW5pbmcgbG9naWMgdG8gbGV0IHRoZSBiYXNlIGNsYXNzIGhhbmRsZSBFT1MgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzM0Nzc1CgoyMDE0LTA4LTExIDIxOjI1OjQxIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiYmFzZWJpbjogZml4IHBhcnNpbmcgb2YgZnJlcXMgaW4gc29tZSBaQVAgZmlsZXMKCSAgQ2hhbmdlIGF2b2lkcyBhdHRlbXB0aW5nIHRvIGNvbnZlcnQgdG8ga0h6IGlmIHVubmVlZGVkLgoJICBUaGVyZSBhcmUgcXVpdGUgc29tZSBaQVAgZm9ybWF0IHZhcmlhbnRzIG91dCB0aGVyZS4gQW1vbmcKCSAgdGhlaXIgc3VidGxlIGxpdHRsZSBkaWZmZXJlbmNlcywgc29tZSBzdG9yZSB0cmFuc3BvbmRlcgoJICBmcmVxdWVuY2llcyBpbiBNaHogYW5kIG90aGVycyBpbiBrSHouIFRoZSBsYXR0ZXIgYmVlbiB0aGUKCSAgbW9zdCBjb21tb24gdmFyaWFudC4KCjIwMTQtMDgtMDcgMTk6Mzc6MDEgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZ2V0IHJpZCBvZiByZW1haW5pbmcgdHJhaWxpbmcgd2hpdGVzcGFjZQoKMjAxNC0wOC0wNyAxOToxOTozNiAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiB3cmFwIGFyb3VuZCBrbm93bi1pbnRlcnJ1cHRpYmxlIGlvY3RscwoJICBBbHNvIGdldCByaWQgb2YgdGhlIGFzdW1wdGlvbiB0aGF0IHNvbWUgcmVxdWVzdHMgbGlrZQoJICBGRV9TRVRfVE9ORSBvciBGRV9TRVRfVk9MVEFHRSBvbmx5IGVycm9yIG91dCB3aXRoIC0xCgoyMDE0LTA4LTA3IDE0OjAwOjQwIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGRyb3AgZ3N0X2R2YnNyY19yZXRyeV9pb2N0bCBmb3IgcmV0cnkgbWFjcm8KCSAgTE9PUF9XSElMRV9FSU5UUiBtYWNybyBtYWtlcyBpdCBlYXNpZXIgdG8gaGFuZGxlCgkgIGFzc29ydGVkIGlvY3RsIGFyZ3AgdHlwZXMuIEZ1bmN0aW9uYWxpdHkgaXMgb3RoZXJ3aXNlCgkgIGVxdWl2YWxlbnQuCgoyMDE0LTA4LTEyIDEyOjM1OjAwIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmg6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGR2YnNyYzogZHZiYmFzZWJpbjogYWRkICd0dW5lJyBzaWduYWwKCSAgSXQgd29ya3MgdGhlIHNhbWUgYXMgdGhlICd0dW5lJyBwcm9wZXJ0eSB0aGF0IGlzIHVzZWQgb25seSB0byBzaWduYWwKCSAgdGhlIGVsZW1lbnQgdGhhdCBpdCBzaG91bGQgdHVuZSwgYnV0IGl0IGlzIG1vcmUgbmF0dXJhbCB0byBiZSB1c2VkCgkgIGFzIGEgc2lnbmFsIHJhdGhlciB0aGFuIGEgcHJvcGVydHkuCgkgIEl0IGlzIGFsc28gcHJveGllZCBhdCB0aGUgZHZiYmFzZWJpbiBlbGVtZW50CgoyMDE0LTA4LTA3IDE1OjI1OjMyICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEbyBub3Qgc3dpdGNoIHBsYXlsaXN0IG9uIHRyaWNrIG1vZGVzCgkgIEluc3RlYWQgYWx3YXlzIHVzZSB0aGUgbG93IGJhbmR3aXRoIHBsYXlsaXN0IG1ha2luZyB0aGluZ3MgZ28gc21vb3RoZXIKCSAgYXMgdGhlIGN1cnJlbnQgaGV1cmlzdGljIGlzIHJhdGhlciBzZXQgZm9yIG5vcm1hbCBwbGF5YmFjaywgYW5kCgkgIGN1cnJlbnRseSBpdCBkb2VzIG5vdCBiZWhhdmUgcHJvcGVybHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ0NDUKCjIwMTQtMDctMjEgMTQ6NDI6NDcgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IE5vIG5lZWQgdG8gaGF2ZSBhIEktRnJhbWUgbGlzdCB0byBkbyB0cmljayBtb2RlcwoJICBJdCBqdXN0IHdvcmtzIGNsZWFubHkgd2l0aG91dCBhbnkgaW5kZXggYW5kIHRoZXJlIGlzIG5vIHJlYWwgcmVhc29uIGZvcgoJICB0aGF0IGxpbWl0YXRpb24uIEFsc28sIHRoZXJlIGFyZSB2ZXJ5IGZldyBzdHJlYW0gd2l0aCB0aGF0IGZlYXR1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ0NDUKCjIwMTQtMDgtMDUgMTc6MTM6MTMgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IERvIG5vdCB0d2VhayBzZWdtZW50cyBvbiByZXZlcnNlIHBsYXliYWNrCgkgIFdlIGNhbid0IGNvbXBhcmUgdGhlIGZpcnN0IGJ1ZmZlciBzdGFydCBhbmQgdGhlIHNlZ21lbnQgc3RhcnQgaW4gdGhhdAoJICBjYXNlLi4uIHBsYXliYWNrIGlzIGdvaW5nIGJhY2t3YXJkIQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NDQ1CgoyMDE0LTA4LTEzIDE2OjU3OjE1ICswMjAwICBWYWxlbnRpbiBQT05TIDx2YWx4NzZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IFVzZSBOVUxMIHRvIGRpc2FibGUgZXllcy9ub3NlL21vdXRoCgkgIFdpdGhvdXQgcHJpbnRpbmcgYSB3YXJuaW5nIGFib3V0IGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ2MjMKCjIwMTQtMDgtMTAgMjI6NTg6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkgIGdsYnVmZmVycG9vbDogZml4IGFsbG9jYXRvciBsZWFrIGluIHNvbWUgY2FzZXMKCSAgU3BvdHRlZCBieSBTZWJhc3RpYW4gUmFzbXVzc2VuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTIzCgoyMDE0LTA4LTExIDEyOjMyOjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IHNhdmUgYSBmZXcgcmVmL3VucmVmIHBhaXJzCgkgIFRoZSBldmVudC9xdWVyeSBmdW5jdGlvbnMgYWxyZWFkeSBoYXZlIGEgcmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50LCBhdm9pZAoJICByZWYvdW5yZWYgaW4gdGhlIGZ1bmN0aW9ucyBoYW5kbGluZyBjYXBzIHF1ZXJpZXMgYW5kIGV2ZW50cy4KCjIwMTQtMDgtMTEgMTI6MzE6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogcmVtb3ZlIG9ic29sZXRlIGZpeG1lCgoyMDE0LTA4LTExIDEyOjIyOjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IGltcHJvdmUgbmVnb3RpYXRpb24KCSAgQ2hlY2sgaWYgZG93bnN0cmVhbSBzdXBwb3J0cyBvdmVybGF5IG1ldGEsIGlmIHBvc3NpYmxlIHVzZSBpdCBhbmQKCSAgaWYgbm90IGZhbGxiYWNrIHRvIG5vLW92ZXJsYXkgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzOTE2CgoyMDE0LTA4LTExIDEyOjIxOjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IGFsd2F5cyBpbnRlcnNlY3Qgd2l0aCB0aGUgZmlsdGVyIGNhcHMKCSAgQXZvaWRzIHJldHVybmluZyB2YWx1ZXMgdGhhdCBwZWVycyBjYW4ndCB1c2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzkxNgoKMjAxNC0wOC0xMSAxMTozNTowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBpbXByb3ZlIG5lZ290aWF0aW9uCgkgIENoZWNrIGlmIGRvd25zdHJlYW0gc3VwcG9ydHMgb3ZlcmxheSBtZXRhLCBpZiBwb3NzaWJsZSB1c2UgaXQgYW5kCgkgIGlmIG5vdCBmYWxsYmFjayB0byBuby1vdmVybGF5IGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzkxNgoKMjAxNC0wOC0xMSAxMTozMzoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBhbHdheXMgaW50ZXJzZWN0IHdpdGggdGhlIGZpbHRlciBpbiBnZXRjYXBzCgkgIEF2b2lkcyByZXR1cm5pbmcgdW5zdXBwb3J0ZWQgY2FwcyB0byBwZWVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzOTE2CgoyMDE0LTA4LTExIDIzOjM4OjQwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogZml4IHVwIGRvYyBjb21tZW50IGZvciBzZXRfc3JjX2NhcHMKCSAgSXQgZG9lcyBub3Qgb2NjdXIgJ2xhdGVyJyBhbnltb3JlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI2NjIKCjIwMTQtMDgtMDcgMTk6NTQ6MzYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogcHVzaCB0aGUgY2FwcyBldmVudCBhcyBzb29uIGFzIHdlIHJlY2VpdmUgaXQKCSAgQWxvbmcgd2l0aCB0aGUgcmVxdWlyZWQgbWFuZGF0b3J5IGRlcGVuZGVudCBldmVudHMuCgkgIFNvbWUgZWxlbWVudHMgbmVlZCB0byBwZXJmb3JtIGFuIGFsbG9jYXRpb24gcXVlcnkgaW5zaWRlCgkgIDo6bmVnb3RpYXRlZF9jYXBzKCkuICBXaXRob3V0IHRoZSBjYXBzIGV2ZW50IGJlaW5nIHNlbnQgcHJpb3IsCgkgIGRvd25zdHJlYW0gZWxlbWVudHMgd2lsbCBiZSB1bmFibGUgdG8gYW5zd2VyIGFuZCB3aWxsIHJldHVybgoJICBhbiBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjY2MgoKMjAxNC0wOC0xMSAxNjowMTozMiArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZXh0L3dlYnAvTWFrZWZpbGUuYW06CgkqIGV4dC93ZWJwL2dzdHdlYnAuYzoKCSogZXh0L3dlYnAvZ3N0d2VicGVuYy5jOgoJKiBleHQvd2VicC9nc3R3ZWJwZW5jLmg6CgkgIHdlYmVuYzogQWRkIFdlYlAgaW1hZ2UgZW5jb2RlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMDg3CgoyMDE0LTA4LTA5IDAxOjI5OjMwICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJICBzYmNlbmM6IFVucmVmIG91dHB1dCBjYXBzIGluIGVycm9yIGNhc2VzCgkgIGdzdF9jYXBzX2ludGVyc2VjdCgpIHJldHVybnMgYSByZWZlcmVuY2UgdG8gYSBjYXBzIG9iamVjdCB3aGljaCBpbgoJICB0aGUgbm9ybWFsIGNhc2UgaXMgY29uc3VtZWQsIGJ1dCBpbiBlcnJvciBjYXNlcyBtdXN0IGJlIHVucmVmZXJlbmNlZC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUyMQoKMjAxNC0wOC0wOCAxNDowODoxOSArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBVbnJlZiBwYWQgdGVtcGxhdGUgY2FwcyBhZnRlciB1c2FnZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTE3CgoyMDE0LTA4LTA5IDExOjQxOjE3ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ0ZXN0LmM6CgkgIGludGVyOiBVbnJlZiBidXMgYWZ0ZXIgdXNhZ2UKCSAgZ3N0X3BpcGVsaW5lX2dldF9idXMoKSByZXR1cm5zIGEgcmVmZXJlbmNlIHRvIGEgYnVzIHRoYXQgbmVlZHMgdG8KCSAgYmUgdW5yZWZlcmVuY2VkIGFmdGVyIHVzYWdlLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTI1CgoyMDE0LTA4LTA5IDExOjQ1OjQxICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJICBleGFtcGxlcy9nbDogdW5yZWYgYnVzIGFuZCBlbGVtZW50IGFmdGVyIHVzYWdlCgkgIGdzdF9waXBlbGluZV9nZXRfYnVzKCkgYW5kIGdzdF9iaW5fZ2V0X2J5X2ludGVyZmFjZSgpIGJvdGgKCSAgcmV0dXJuIHJlZmVyZW5jZXMgdGhhdCBuZWVkIHRvIGJlIHVucmVmZXJlbmNlZCBhZnRlciB1c2FnZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUyNwoKMjAxNC0wOC0xMCAxOToxMjowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSAgZG9jczogdXBkYXRlIGZvciBnaXQgbWFzdGVyCgoyMDE0LTA4LTEwIDE5OjA1OjQzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkgIGRvY3M6IHJlbW92ZSBydHB2cDggcGx1Z2luIGRvY3MsIHRoZSBlbGVtZW50cyBhcmUgbm93IGluIC1nb29kCgoyMDE0LTA4LTEwIDE4OjA3OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIG9wZW5nbDogdXBkYXRlIGVsZW1lbnQgZG9jcyBmb3IgMS54CgoyMDE0LTA4LTEwIDE3OjQ4OjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVnbGdsZXNzaW5rLnhtbDoKCSAgZG9jczogcmVtb3ZlIGVnbGdsZXNzaW5rIGZyb20gZG9jcyBhcyBpdCBubyBsb25nZXIgZXhpc3RzCgoyMDE0LTA4LTA5IDExOjM2OjM4ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IFVucmVmIGVsZW1lbnRzIGFmdGVyIHVzYWdlCgkgIGdzdF9iaW5fZ2V0X2J5X25hbWUoKSBhbmQgZ3N0X2Jpbl9nZXRfYnlfaW50ZXJmYWNlKCkgYm90aCByZXR1cm4KCSAgcmVmZXJlbmNlcyB0byBlbGVtZW50cyB0aGF0IG5lZWQgdG8gYmUgdW5yZWZlcmVuY2VkIGFmdGVyIHVzYWdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTI0CgoyMDE0LTA4LTA5IDAxOjI3OjUzICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNpbmsuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzcmMuYzoKCSAgb3BlbmFsOiBVbnJlZiBwYWQgdGVtcGxhdGUgY2FwcyBhZnRlciB1c2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTIwCgoyMDE0LTA4LTEwIDEyOjI5OjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFmaWx0ZXIuYzoKCSAgbGFkc3BhOiBmaXggdXAgYnJva2VuIHBhdGNoIG1lcmdlCgkgIFNvcnJ5LCBzaG91bGQndmUgYmVlbiBjb21taXQgLS1hbWVuZAoKMjAxNC0wOC0wOSAxMzoyNDowMCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogc3lzL3B2cjJkL2dzdHB2cnZpZGVvc2luay5jOgoJICBwdnJ2aWRlb3Npbms6IEF2b2lkIGxlYWtpbmcgYnVmZmVycG9vbCBjb25maWd1cmF0aW9uCgkgIGdzdF9idWZmZXJfcG9vbF9nZXRfY29uZmlnKCkgcmV0dXJucyBhIGNvcHkgdG8gdGhlIGJ1ZmZlcnBvb2wncwoJICBjb25maWd1cmF0aW9uLCB3aGljaCBtdXN0IGJlIHBhc3NlZCB0byBnc3Rfc3RydWN0dXJlX2ZyZWUoKSBhZnRlcgoJICB1c2UgaWYgbm90IGdpdmVuIGF3YXkgdG8gZ3N0X2J1ZmZlcl9wb29sX3NldF9jb25maWcoKS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUzNwoKMjAxNC0wOC0wOSAxMzoyMjo0MiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkgIGRpcmVjdHNvdW5kc3JjOiBBdm9pZCBsZWFraW5nIGNvcHkgb2YgY2FwcyBvYmplY3QKCSAgZ3N0X3BhZF9nZXRfcGFkX3RlbXBsYXRlX2NhcHMoKSByZXR1cm5zIGEgcmVmZXJlbmNlIHdoaWNoIGlzIHVucmVmZXJlbmNlZCwKCSAgc28gY3JlYXRpbmcgYSBjb3B5IHVzaW5nIGdzdF9jYXBzX2NvcHkoKSByZXN1bHRzIGluIGEgcmVmZXJlbmNlIGxlYWsuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MzYKCjIwMTQtMDgtMDkgMTM6MjA6NDEgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBBdm9pZCBsZWFraW5nIGNhcHMgb2JqZWN0IGFuZCBpdHMgY29weQoJICBnc3RfcGFkX2dldF9wYWRfdGVtcGxhdGVfY2FwcygpIHJldHVybnMgYSByZWZlcmVuY2Ugd2hpY2ggaXMgdW5yZWZlcmVuY2VkLAoJICBzbyBjcmVhdGluZyBhIGNvcHkgdXNpbmcgZ3N0X2NhcHNfY29weSgpIHJlc3VsdHMgaW4gYSByZWZlcmVuY2UgbGVhay4gQWxzbwoJICB0aGUgY2FwcyBhcmUgcHVzaGVkIGFzIGFuIGV2ZW50IGRvd25zdHJlYW0sIGJ1dCB0aGlzIGRvZXNuJ3QgY29uc3VtZSB0aGUKCSAgY2FwcyBzbyBpdCBtdXN0IHN0aWxsIGJlIHVucmVmZXJlbmNlZC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUzNAoKMjAxNC0wOC0wOSAxMzoxNzoxNyArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJICBhbWN2aWRlb2VuYzogQXZvaWQgbGVha2luZyBjb3B5IG9mIGNhcHMgb2JqZWN0CgkgIGdzdF9wYWRfZ2V0X3BhZF90ZW1wbGF0ZV9jYXBzKCkgcmV0dXJucyBhIHJlZmVyZW5jZSB3aGljaCBpcyB1bnJlZmVyZW5jZWQsCgkgIHNvIGNyZWF0aW5nIGEgY29weSB1c2luZyBnc3RfY2Fwc19jb3B5KCkgcmVzdWx0cyBpbiBhIHJlZmVyZW5jZSBsZWFrLgoJICBBbHNvIHJlbW92ZSB0aGUgaW5jb3JyZWN0IGNvbW1lbnQgdG8gYXZvaWQgY29uZnVzaW9uIGluIHRoZSBmdXR1cmUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MzMKCjIwMTQtMDgtMDkgMTM6MTI6MTQgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogZml4IGNhcHMgcmVmY291bnRpbmcKCSAgdGNhcHMgd2FzIHVucmVmZWQgd2hlbiBpdCBzaG91bGRuJ3QgaGF2ZSBiZWVuIHVucmVmZWQKCSAgaW4gc29tZSBjYXNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUzMQoKMjAxNC0wOC0wOSAxMzowOTo1MiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBBdm9pZCBsZWFraW5nIGNvcHkgb2YgY2FwcyBvYmplY3QKCSAgZ3N0X3BhZF9nZXRfcGFkX3RlbXBsYXRlX2NhcHMoKSByZXR1cm5zIGEgcmVmZXJlbmNlIHdoaWNoIGlzIHVucmVmZXJlbmNlZCwKCSAgc28gY3JlYXRpbmcgYSBjb3B5IHVzaW5nIGdzdF9jYXBzX2NvcHkoKSByZXN1bHRzIGluIGEgcmVmZXJlbmNlIGxlYWsuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MjgKCjIwMTQtMDgtMDkgMTE6MTc6NDQgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBVbnJlZiBhbGxvd2VkIGNhcHMgYWZ0ZXIgdXNhZ2UKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUyMgoKMjAxNC0wOC0wOSAwMToyNToyMSArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFmaWx0ZXIuYzoKCSAgbGFkc3BhOiBVbnJlZiBwYWQgdGVtcGxhdGUgY2FwcyBhZnRlciB1c2FnZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTE5CgoyMDE0LTA4LTA5IDAxOjI1OjIxICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYWZpbHRlci5jOgoJICBsYWRzcGE6IFVucmVmIHBhZCB0ZW1wbGF0ZSBjYXBzIGFmdGVyIHVzYWdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MTkKCjIwMTQtMDgtMDkgMDE6MjM6NTAgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgZGZidmlkZW9zaW5rOiBVbnJlZiBwYWQgdGVtcGxhdGUgY2FwcyBhZnRlciB1c2FnZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTE4CgoyMDE0LTA4LTEwIDExOjM1OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvY29sb3JzcGFjZS5jOgoJICB0ZXN0czogcmVtb3ZlIGRlZnVuY3QgdGVzdCBjb2RlIGZvciBvbGQgY29sb3JzcGFjZSBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MzgKCjIwMTQtMDgtMDkgMTM6Mjc6MDAgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZDoKCSAgZWxlbWVudC1tYWtlcjogQXZvaWQgbGVha2luZyBjb3B5IG9mIGNhcHMgb2JqZWN0CgkgIGdzdF9wYWRfZ2V0X3BhZF90ZW1wbGF0ZV9jYXBzKCkgcmV0dXJucyBhIHJlZmVyZW5jZSB3aGljaCBpcyB1bnJlZmVyZW5jZWQsCgkgIHNvIGNyZWF0aW5nIGEgY29weSB1c2luZyBnc3RfY2Fwc19jb3B5KCkgcmVzdWx0cyBpbiBhIHJlZmVyZW5jZSBsZWFrLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTM5CgoyMDE0LTA4LTA5IDE0OjI3OjM0ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICBnc3Rnc21lbmM6IFVucmVmIGNhcHMgb2JqZWN0IGFmdGVyIHVzYWdlCgkgIGdzdF9hdWRpb19lbmNvZGVyX3NldF9vdXRwdXRfZm9ybWF0KCkgZG9lcyBub3QgY29uc3VtZSBjYXBzLCBzbwoJICB1bnJlZmVyZW5jZSB0aGF0IG9iamVjdCBpbnN0ZWFkLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTQ0CgoyMDE0LTA4LTA5IDE0OjI0OjU5ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkgIG9wdXM6IEltcHJvdmUgYW5ub3RhdGlvbiBvZiBpbnRlcm5hbCBmdW5jdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTQzCgoyMDE0LTA4LTA2IDE4OjExOjIwICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBzdXBwb3J0IGRvd25sb2FkaW5nIHNlZ21lbnRzIGluIHJldmVyc2Ugb3JkZXIKCSAgV2hlbiBhIHNlZWsgd2l0aCBhIG5lZ2F0aXZlIHJhdGUgaXMgcmVxdWVzdGVkLCBmaW5kIHRoZSB0YXJnZXQKCSAgc2VnbWVudCB3aGVyZSBnc3RzZWdtZW50LnN0b3AgYmVsb25ncyBpbiBhbmQgdGhlbiBkb3dubG9hZCBmcm9tCgkgIHRoaXMgc2VnbWVudCBiYWNrd2FyZHMgdW50aWwgdGhlIGZpcnN0IHNlZ21lbnQuCgkgIFRoaXMgYWxsb3dzIHByb3BlciByZXZlcnNlIHBsYXliYWNrLgoKMjAxNC0wOC0wNyAxOToxODo0OSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuaDoKCSAgZ2x2aWRlb21peGVyOiBhZGQgYSBiYWNrZ3JvdW5kIHByb3BlcnR5CgkgIFRoYXQncyBjb21wYXRpYmxlIHdpdGggdGhlIGNvbXBvc2l0b3IvdmlkZW9taXhlciBwcm9wZXJ0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxOTU0CgoyMDE0LTA4LTA2IDEzOjI3OjA0ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGV4dDpmYWFkOiBTZXQgcmFuayB0byBTRUNPTkRBUlkgYXMgdGhlIGxpYmF2IGRlY29kZXIgaXMgY29uY2lkZXJlZCBiZXR0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjEzMQoKMjAxNC0wOC0wNiAxNjo0ODowMyArMDMwMCAgVmFzaWxpcyBMaWFza292aXRpcyA8dmxpYXNrb3ZAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgR3N0R0xXaW5kb3csIEdzdEdMSW1hZ2VzaW5rLCB4MTE6IFNjYWxlIG5hdmlnYXRpb24gZXZlbnRzIG9uIHJlc2l6ZWQgd2luZG93cwoJICBJZiB3aW5kb3cgaXMgcmVzaXplZCwgR3N0U3RydWN0dXJlIHBvaW50ZXIgdmFsdWVzIGhhdmUgdG8gYmUgcmVzY2FsZWQgdG8KCSAgb3JpZ2luYWwgZ2VvbWV0cnkuIEEgZ2V0X3N1cmZhY2VfZGltZW5zaW9ucyBHTFdpbmRvdyBjbGFzcyBtZXRob2QgaXMgYWRkZWQgZm9yCgkgIHRoaXMgcHVycG9zZSBhbmQgdXNlZCBpbiB0aGUgbmF2aWdhdGlvbiBzZW5kX2V2ZW50IGZ1bmN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNDg2CgoyMDE0LTA4LTA2IDA4OjE1OjM4IC0wNDAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBkb24ndCBkZXRlcm1pbmUgaWYgZnJhbWUgbmVlZHMgdXBsb2FkIGJ5IHBvaW50ZXIgY29tcGFyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MjY5CgoyMDE0LTA4LTA1IDExOjQ1OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFja2V0aXplcjogU3RvcmUgUENSIHRpbWUvYnl0ZSBvZmZzZXRzIGluIDY0IGJpdCBpbnRlZ2VycwoJICAzMiBiaXQgaW50ZWdlcnMgYXJlIGdvaW5nIHRvIG92ZXJmbG93LCBlc3BlY2lhbGx5IHRoZSBQQ1Igb2Zmc2V0IHRvCgkgIHRoZSBmaXJzdCBQQ1Igd2lsbCBvdmVyZmxvdyBhZnRlciBhYm91dCAxNTkgc2Vjb25kcy4gVGhpcyBtYWtlcyBwbGF5YmFjawoJICBvZiBzdHJlYW1zIHN0b3AgYXQgMTU5IHNlY29uZHMgYXMgc3VkZGVubHkgdGhlIHRpbWVzdGFtcHMgYXJlIHN0YXJ0aW5nCgkgIGFnYWluIGZyb20gMC4gTm93IHdlIGhhdmUgYSBmZXcgbW9yZSB5ZWFycyB0aW1lIHVudGlsIGl0IGhhcHBlbnMgYWdhaW4KCSAgYW5kIDY0IGJpdHMgYXJlIHRvbyBzbWFsbC4KCjIwMTQtMDgtMDUgMTA6NDI6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBSZXZlcnQgIm1wZWd0c3BhY2tldGl6ZXI6IENvbnZlcnQgUENSIHRpbWVzIHRvIEdTdHJlYW1lciB0aW1lcyBiZWZvcmUgY29tcGFyaW5nIHRoZW0gYWdhaW5zdCA1MDAgKiBHU1RfTVNFQ09ORCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA5ZjE4NmM2YWIzMmMxZTk0OTkxNmQzODUxODZiMmQ0MDAxOTBhZGQ2LgoJICBUaGF0IGNvbW1pdCB3YXMgYWN0dWFsbHkgY29tcGxldGVseSB3cm9uZywgbmV2ZXJtaW5kLgoKMjAxNC0wOC0wNSAxMDozNjoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IENvbnZlcnQgUENSIHRpbWVzIHRvIEdTdHJlYW1lciB0aW1lcyBiZWZvcmUgY29tcGFyaW5nIHRoZW0gYWdhaW5zdCA1MDAgKiBHU1RfTVNFQ09ORAoJICBPdGhlcndpc2UgaXQgd2lsbCBiZWxpZXZlIHRvIGRldGVjdCBQQ1IgZ2FwcyBhbHJlYWR5IHdoZW4gdGhlcmUncyBhIHZlcnkgc21hbGwKCSAgZ2FwIG9mIGEgZmV3IG1pbGxpc2Vjb25kcywgYnJlYWtpbmcgcGxheWJhY2sgb2Ygc29tZSBmaWxlcy4KCjIwMTQtMDctMzEgMTc6NDA6MzAgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGR2YnNyYzogcmVtb3ZlIHNyY3BhZCBsZWZ0b3ZlcgoJICBUaGUgZWxlbWVudCBpcyBpbmhlcml0aW5nIGl0cyBzcmNwYWQgZnJvbSBiYXNlc3JjCgoyMDE0LTA4LTAxIDE4OjAyOjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkgIGRlY2tsaW5rc2luazogSW5pdGlhbGl6ZSBwaXhlbCBmb3JtYXQgdG8gYm1kRm9ybWF0OEJpdFlVVgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1ODcxCgoyMDE0LTA4LTAxIDE2OjQwOjQ5ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2Vyc19oMjY0OiBpbml0aWFsaXplIHNvbWUgZmllbGRzIG9mIHBpY190aW1pbmcgc3RydWN0dXJlCgkgIE90aGVyd2lzZSBwaWMgdGltaW5nIHN0cnVjdHVyZSBjYW4gaGF2ZSBpbnZhbGlkIGNwYl9yZW1vdmFsX2RlbGF5LAoJICBkcGJfb3V0cHV0X2RlbGF5IG9yIHBpY19zdHJ1Y3RfcHJlc2VudF9mbGFnIHdoaWNoIGFyZSBibGluZGx5IHJldHJpZXZlZAoJICBpbiBoMjY0cGFyc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQxMjQKCjIwMTQtMDgtMDEgMTY6NTg6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSAgZGVja2xpbmtzaW5rOiBDYXRjaCBlcnJvcnMgZHVyaW5nIGRhdGEgZmxvdyBhbmQgZXJyb3Igb3V0IHByb3Blcmx5CgkgIE90aGVyd2lzZSB3ZSB3aWxsIGp1c3QgZGVhZGxvY2sgdGhlIHRocmVhZCBpZiBlLmcuIHNjaGVkdWxpbmcgYSB2aWRlbwoJICBmcmFtZSBmYWlscyBmb3Igd2hhdGV2ZXIgcmVhc29uLgoKMjAxNC0wNy0zMSAyMDo1MjozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcmV0dXJuIHRoZSBlcnJvciB0byB0aGUgc291cmNlIGltbWVkaWF0ZWx5IHRvIHN0b3AgZmFzdGVyCgkgIFdoZW4gZmx1c2hpbmcsIHRoaXMgd2lsbCBwcmV2ZW50IGRhc2hkZW11eCBmcm9tIHRyeWluZyB0byBkb3dubG9hZCBtb3JlCgkgIGZyYWdtZW50cyBvciBtb3JlIGNodW5rcyBvZiB0aGUgc2FtZSBmcmFnbWVudCBiZWZvcmUgc3RvcHBpbmcuCgkgIEFsc28gaW1wcm92ZXMgdGhlIGVycm9yIGhhbmRsaW5nIHRvIG5vdCB0cmFuc2Zvcm0gZXZlcnl0aGluZyBub24tb2sgaW50bwoJICBhbiBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDAxNAoKMjAxNC0wNy0yOSAwMjoxMTo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQG9zZy5zaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogYXZvaWQgdGltZXN0YW1wIG92ZXJmbG93cwoJICBDYXVzZSB0aW1pbmcgdG8gYnJlYWsgaW4gdGhlIHBpcGVsaW5lIHRoYXQgY2FuIGxlYWQgdG8gYSBzdGFsbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzODM3CgoyMDE0LTA4LTAxIDEzOjE0OjAzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogUmVtb3ZlIGZpbGVzIG5vIGxvbmdlciBwcmVzZW50CgkgIFRoZXkgd2VyZSByZW1vdmVkIHdoZW4gc25kZmlsZSB3YXMgcG9ydGVkIHRvIDEueAoKMjAxNC0wOC0wMSAxMjozODo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIGRlY2tsaW5rOiA1OS45NGZwcyBpcyA2MDAwMC8xMDAxLCBub3QgMzAwMDAvMTAwMQoJICBBbmQgYWxzbyBjaGFuZ2UgMzAvMSB0byA2MC8xIGZvciBvbmUgNjBmcHMgbW9kZS4KCjIwMTQtMDgtMDEgMTc6NTE6MDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbC9kb2NzOiByZW1vdmUgc3VwZXJmbG91cyAndGhlJwoKMjAxNC0wOC0wMSAxNjo0MToxMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbDogZG9jdW1lbnQgR1NUX0dMXyogZW52aXJvbm1lbnQgdmFyaWFibGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMyNDUKCjIwMTQtMDgtMDEgMTA6MDE6MTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3Rlc3RzOiB1cGRhdGUgZm9yIEFQSSBjaGFuZ2VzCgoyMDE0LTA3LTMxIDE4OjU1OjMzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb21tb246CgkgIE1ha2VmaWxlOiBBZGQgdXNhZ2Ugb2YgYnVpbGQtY2hlY2tzIHN0ZXAKCSAgQWxsb3dzIGJ1aWxkaW5nIGNoZWNrcyB3aXRob3V0IHJ1bm5pbmcgdGhlbQoKMjAxNC0wNy0zMSAxODo0NjozMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSAgZ2xjb250ZXh0OiBhZGQgYSBkZXN0cm95IGZ1bmN0aW9uCgkgIHRoYXQganVzdCBjYWxscyB0aGUgc3ViY2xhc3MKCjIwMTQtMDctMzEgMTg6MzY6NTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2wveDExOiBzaWxlbmNlIHJ1bnRpbWUgd2FybmluZwoJICBnX21haW5fbG9vcF9xdWl0OiBhc3NlcnRpb24gJ2xvb3AgIT0gTlVMTCcgZmFpbGVkCgoyMDE0LTA3LTMxIDE1OjE4OjA0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogdXNlIHRoZSBwbGFuZSBvZmZzZXRzIHRvIGNvbXB1dGUgdGhlIHNpemUgb2YgdGhlIGRhdGEgcG9pbnRlcgoJICBDZXJ0YWluIGVsZW1lbnRzIGV4cGVjdCB0aGF0IHRoZXJlIGJlIGEgY2VydGFpbiBudW1iZXIgb2YgbGluZXMKCSAgdGhhdCB0aGV5IGNhbiB3cml0ZSBpbnRvLiAgZS5nLiBmb3Igb2RkIGhlaWdodHMsIEk0MjAsIFlWMTIsIE5WMTIsCgkgIE5WMjEgKGFuZCBvdGhlcnMpIFkgbGluZXMgYXJlIGV4cGVjdGVkIHRvIGhhdmUgZXhhY3RseSB0d2ljZSB0aGUKCSAgbnVtYmVyIG9mIFUvVVYgbGluZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM3MTcKCjIwMTQtMDctMzEgMTQ6MDc6MjkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZG1ldGEuYzoKCSAgZ2xtZW1vcnk6IHVzZSBHc3RWaWRlb0luZm8gZXZlcnl3aGVyZQoJICBTaW1wbGlmaWVzIGEgbG90IG9mIHRoZSBjYWxsaW5nIGNvZGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzcxNwoKMjAxNC0wNy0zMCAxNjozMjowMSAtMDMwMCAgUm9iZXJ0IEpvYmJhZ3kgPGpvYmJhZ3kucm9iZXJ0QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5oOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0Lmg6CgkgIGZhY2VibHVyOiBmYWNlZGV0ZWN0OiBhZGQgcHJvcGVydGllcyB0byBmYWNlYmx1cgoJICBNYWtlcyBmYWNlYmx1ciBoYXZlIHRoZSBzYW1lIHByb3BlcnRpZXMgYXMgZmFjZWRldGVjdC4gQWxzbyBpbXByb3ZlcwoJICB0aGUgc3RhbmRhcmQgZGVmYXVsdHMgYW5kIG1ha2VzIHRoZW0gdGhlIHNhbWUgaW4gdGhlIDIgZWxlbWVudHMKCjIwMTQtMDctMzAgMTY6MzA6MzkgLTAzMDAgIFJvYmVydCBKb2JiYWd5IDxqb2JiYWd5LnJvYmVydEBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuaDoKCSAgZmFjZWJsdXI6IHBvc3QgbWVzc2FnZSB3aGVuIHByb2ZpbGUgbG9hZGluZyBmYWlscwoKMjAxNC0wNy0zMCAxNjowNzoxNyAtMDMwMCAgUm9iZXJ0IEpvYmJhZ3kgPGpvYmJhZ3kucm9iZXJ0QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IGZhY2VibHVyOiB1cGRhdGUgbGF1bmNoIGxpbmUgZXhhbXBsZXMKCSAgUmVmbGVjdCAxLjAgYW5kIG1vcmUgdXNlZnVsIGV4YW1wbGVzCgoyMDE0LTA3LTI5IDEzOjI1OjIyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazoga2VlcCB0aGUgdXBsb2FkZWQgYnVmZmVyIGFyb3VuZCBvbiBzdWNjZXNzZnVsIHJlZGlzcGxheQoJICBXZSBtaWdodCBuZWVkIGl0IGxhdGVyIHRvIHBlcmZvcm0gYSByZWRpc3BsYXkuICBHc3RHTFVwbG9hZCB3aWxsIHRha2UKCSAgb2YgcmVsZWFzaW5nIHRoZSBwcmV2aW91cyBidWZmZXIgd2hlbiBpdCByZWNlaXZlcyBhIG5ldyBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM3MjYKCjIwMTQtMDctMjkgMTE6NDc6NTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogcmVlbmFibGUgdGhlIHRleHR1cmVfcmcgc3VwcG9ydCBmb3IgIWVhZ2wKCSAgVGhlIEdTVF9HTF9IQVZFX1BMQVRGT1JNX0VBR0wgaXMgYWx3YXlzIGRlZmluZWQgd2UgbmVlZCB0byBjb21wYXJlCgkgIGFnYWluc3QgdGhlIHZhbHVlIGluc3RlYWQuCgoyMDE0LTA3LTI4IDE5OjExOjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAb3NnLnNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9saWJzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBnaXRpZ25vcmU6IHVwZGF0ZSB3aXRoIG5ldyB0ZXN0cwoKMjAxNC0wNy0yOCAxNjo1NToxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQG9zZy5zaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvZmlsZXMvYmx1ZS1zcXVhcmUucG5nOgoJICB0ZXN0czogZmlsZXM6IGFkZHMgbWlzc2luZyBmaWxlIGZyb20gcHJldmlvdXMgY29tbWl0CgkgIFRoaXMgaXMgcmVxdWlyZWQgZm9yIHRoZSB0ZW1wbGF0ZW1hdGNoIHRlc3QgdG8gd29yawoKMjAxNC0wNy0yOCAxNTo0NTowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQG9zZy5zaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RlbXBsYXRlbWF0Y2guYzoKCSogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkgIHRlc3RzOiB0ZW1wbGF0ZW1hdGNoOiBhZGQgdGVzdCB0byBjaGVjayB0aGF0IHdlIHVzZSB0aGUgY29ycmVjdCByZ2IgZm9ybWF0CgkgIHRlbXBsYXRlbWF0Y2ggc2hvdWxkIHVzZSB0aGUgc2FtZSBSR0IgZm9ybWF0IHRoYXQgb3BlbmN2IHVzZXMgKEJHUiksIG1ha2Ugc3VyZQoJICB3ZSBrZWVwIGl0IHRoYXQgd2F5IHdpdGggdGhpcyB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4NDg1CgoyMDEyLTA2LTE1IDEzOjE5OjA2ICswMTAwICBEYXZpZCBSb3RobGlzYmVyZ2VyIDxkYXZpZC5yb3RobGlzYmVyZ2VyQHlvdXZpZXcuY29tPgoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkgIG9wZW5jdiB0ZW1wbGF0ZW1hdGNoOiBTZXQgY2FwcyB0byBCR1Igb3JkZXIKCSAgdGVtcGxhdGVtYXRjaCBvcGVyYXRlcyBvbiBCR1IgZGF0YS4gSW4gZmFjdCwgT3BlbkNWJ3MgSXBsSW1hZ2UgYWx3YXlzCgkgIHN0b3JlcyBjb2xvciBpbWFnZSBkYXRhIGluIEJHUiBvcmRlciAtLSB0aGlzIGlzbid0IGRvY3VtZW50ZWQgYXQgYWxsIGluCgkgIHRoZSBPcGVuQ1Ygc291cmNlIGNvZGUsIGJ1dCB0aGVyZSBhcmUgaGludHMgYXJvdW5kIHRoZSB3ZWIgKHNlZSBmb3IKCSAgZXhhbXBsZQoJICBodHRwOi8vd3d3LmNzLmlpdC5lZHUvfmFnYW0vY3M1MTIvbGVjdC1ub3Rlcy9vcGVuY3YtaW50cm8vb3BlbmN2LWludHJvLmh0bWwjU0VDVElPTjAwMDQxMDAwMDAwMDAwMDAwMDAwCgkgIGFuZCBodHRwOi8vd3d3LmNvbXAubGVlZHMuYWMudWsvdmlzaW9uL29wZW5jdi9pcGxpbWFnZS5odG1sICkuCgkgIGdzdF90ZW1wbGF0ZW1hdGNoX2xvYWRfdGVtcGxhdGUgbG9hZHMgdGhlIHRlbXBsYXRlICh0aGUgaW1hZ2UgdG8gZmluZCkKCSAgZnJvbSBkaXNrIHVzaW5nIE9wZW5DVidzIGN2TG9hZEltYWdlLCBzbyBpdCBpcyBzdG9yZWQgaW4gYW4gSXBsSW1hZ2UgaW4KCSAgQkdSIG9yZGVyLiBCdXQgaW4gZ3N0X3RlbXBsYXRlbWF0Y2hfY2hhaW4sIG5vIE9wZW5DViBjb252ZXJzaW9uCgkgIGZ1bmN0aW9ucyBhcmUgdXNlZDogdGhlIGltYWdlRGF0YSBwb2ludGVyIG9mIHRoZSBJcGxJbWFnZSBmb3IgdGhlIHZpZGVvCgkgIGZyYW1lICh0aGUgaW1hZ2UgdG8gc2VhcmNoIGluKSBpcyBqdXN0IHNldCB0byBwb2ludCB0byB0aGUgcmF3IGJ1ZmZlcgoJICBkYXRhLiBXaXRob3V0IHRoaXMgZml4LCB0aGF0IHJhdyBkYXRhIGlzIGluIFJHQiBvcmRlciwgc28gdGhlIGNhbGwgdG8KCSAgY3ZNYXRjaFRlbXBsYXRlIGVuZHMgdXAgY29tcGFyaW5nIHRoZSB0ZW1wbGF0ZSdzIEJsdWUgY2hhbm5lbCBhZ2FpbnN0CgkgIHRoZSBmcmFtZSdzIFJlZCBjaGFubmVsLCBwcm9kdWNpbmcgdmVyeSBwb29yIHJlc3VsdHMuCgoyMDE0LTA3LTI4IDEzOjEwOjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAb3NnLnNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSAgdGVtcGxhdGVtYXRjaDogbWFyayBwYWRzIGFzIHByb3h5IGNhcHMKCSAgQWxsb3dzIG5lZ290aWF0aW9uIHRvIGhhcHBlbiBwcm9wZXJseQoKMjAxMi0wNi0yNSAyMDozNzowMSArMDEwMCAgV2lsbGlhbSBNYW5sZXkgPHdpbGxpYW0ubWFubGV5QHlvdXZpZXcuY29tPgoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkgIHRlbXBsYXRlbWF0Y2g6IFByb2R1Y2UgYSB3YXJuaW5nIG1lc3NhZ2UgaWYgd2UgY2FuJ3QgbG9hZCBhIHRlbXBsYXRlIGltYWdlCgoyMDEyLTA2LTIwIDE1OjIyOjUyICswMTAwICBXaWxsaWFtIE1hbmxleSA8d2lsbGlhbS5tYW5sZXlAeW91dmlldy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSAgdGVtcGxhdGVtYXRjaDogTWF0Y2ggcmVjdGFuZ2xlIGdyb3dzIHJlZGRlciB3aXRoIGluY3JlYXNlZCBtYXRjaCBjZXJ0YWludHkKCSAgVGhpcyBpcyB1c2VmdWwgZm9yIGRlYnVnZ2luZyB5b3VyIG1hdGNoZXMgYXMgaXQgaW5kaWNhdGVzIGhvdyBjZXJ0YWluIHRoZQoJICBtYXRjaCB3YXMgaW4gYWRkaXRpb24gdG8gaXRzIHBvc2l0aW9uLgoKMjAxMi0wNi0yMCAxNTowNTo0MCArMDEwMCAgV2lsbGlhbSBNYW5sZXkgPHdpbGxpYW0ubWFubGV5QHlvdXZpZXcuY29tPgoKCSAgdGVtcGxhdGVtYXRjaDogQWxsb3cgY2hhbmdpbmcgdGVtcGxhdGUgcHJvcGVydHkgb24gdGhlIGZseQoJICBQcmV2aW91c2x5IGNoYW5naW5nIHRoZSB0ZW1wbGF0ZSBwcm9wZXJ0eSByZXN1bHRlZCBpbiBhbiBleGNlcHRpb24KCSAgdGhyb3duIGZyb20gY3ZNYXRjaFRlbXBsYXRlLCBiZWNhdXNlICJkaXN0X2ltYWdlIiAodGhlIGludGVybWVkaWF0ZQoJICBtYXRjaC1jZXJ0YWludHktZGlzdHJpYnV0aW9uKSB3YXMgdGhlIHdyb25nIHNpemUgKGJlY2F1c2UgdGhlCgkgIHRlbXBsYXRlIGltYWdlIHNpemUgaGFkIGNoYW5nZWQpLgoJICBMb2NraW5nIGhhcyBhbHNvIGJlZW4gYWRkZWQgdG8gYWxsb3cgY2hhbmdpbmcgdGhlIHByb3BlcnRpZXMgKGUuZy4gdGhlCgkgIHBhdHRlcm4gdG8gbWF0Y2gpIHdoaWxlIHRoZSBwaXBlbGluZSBpcyBwbGF5aW5nLgoJICAqIGdzdF9lbGVtZW50X3Bvc3RfbWVzc2FnZSBpcyBtb3ZlZCBvdXRzaWRlIG9mIHRoZSBsb2NrLCBiZWNhdXNlIGl0IHdpbGwKCSAgY2FsbCBpbnRvIGFyYml0cmFyeSB1c2VyIGNvZGUgKG90aGVyd2lzZSwgaWYgdGhhdCB1c2VyIGNvZGUgY2FsbHMgaW50bwoJICBnc3RfdGVtcGxhdGVtYXRjaF9zZXRfcHJvcGVydHkgb24gdGhpcyBzYW1lIHRocmVhZCBpdCB3b3VsZCBkZWFkbG9jaykuCgkgICogZ3N0X3RlbXBsYXRlX21hdGNoX2xvYWRfdGVtcGxhdGU6IElmIHdlIGZhaWwgdG8gbG9hZCB0aGUgbmV3IHRlbXBsYXRlCgkgIHdlIHN0aWxsIHVubG9hZCB0aGUgcHJldmlvdXMgdGVtcGxhdGUsIHNvIHRoaXMgZWxlbWVudCBiZWNvbWVzIGEgbm8tb3AKCSAgaW4gdGhlIHBpcGVsaW5lLiBUaGUgYWx0ZXJuYXRpdmUgd291bGQgYmUgdG8ga2VlcCB0aGUgcHJldmlvdXMgdGVtcGxhdGU7CgkgIEkgYmVsaWV2ZSB1bmxvYWRpbmcgdGhlIHByZXZpb3VzIHRlbXBsYXRlIGlzIGEgYmV0dGVyIGNob2ljZSwgYmVjYXVzZSBpdAoJICBpcyBjb25zaXN0ZW50IHdpdGggdGhlIHN0YXRlIHRoaXMgZWxlbWVudCB3b3VsZCBiZSBpbiBpZiBpdCBmYWlscyB0bwoJICBsb2FkIHRoZSB2ZXJ5IGZpcnN0IHRlbXBsYXRlIGF0IHN0YXJ0LXVwLgoJICBUaGFua3MgdG8gV2lsbCBNYW5sZXkgZm9yIHRoZSBidWxrIG9mIHRoaXMgd29yazsgYW55IGVycm9ycyBhcmUgcHJvYmFibHkKCSAgbWluZS4KCjIwMTItMDYtMDEgMTY6MDc6MzQgKzAxMDAgIERhdmlkIFJvdGhsaXNiZXJnZXIgPGRhdmlkLnJvdGhsaXNiZXJnZXJAeW91dmlldy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSAgdGVtcGxhdGVtYXRjaDogUGFzcyB2aWRlbyB0aHJvdWdoIHdoZW4gbm90aGluZyB0byBtYXRjaCBhZ2FpbnN0CgkgIFRoZSBlYXJseSByZXR1cm4gd2FzIGJ5cGFzc2luZyB0aGUgY2FsbCB0byBnc3RfcGFkX3B1c2guIFdpdGggbm8KCSAgZmlsdGVyLT50ZW1wbGF0ZSAoYW5kIHRodXMgbm8gZmlsdGVyLT5jdlRlbXBsYXRlSW1hZ2UpIHRoZSByZXN0IG9mIHRoaXMKCSAgZnVuY3Rpb24gaXMgZXNzZW50aWFsbHkgYSBuby1vcCAoZXhjZXB0IGZvciB0aGUgY2FsbCB0byBnc3RfcGFkX3B1c2gpLgoJICBUaGlzIChwbHVzIHRoZSBwcmV2aW91cyBjb21taXQpIGFsbG93cyB0ZW1wbGF0ZW1hdGNoIHRvIGJlCgkgIGVuYWJsZWQvZGlzYWJsZWQgd2l0aG91dCByZW1vdmluZyBpdCBlbnRpcmVseSBmcm9tIHRoZSBwaXBlbGluZSwgYnkKCSAgc2V0dGluZy91bnNldHRpbmcgdGhlIHRlbXBsYXRlIHByb3BlcnR5LgoKMjAxMi0wNi0yMCAxNTowNTowNiArMDEwMCAgV2lsbGlhbSBNYW5sZXkgPHdpbGxpYW0ubWFubGV5QHlvdXZpZXcuY29tPgoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkgIHRlbXBsYXRlbWF0Y2g6IFJlbW92ZSBuby1vcCBjYWxsIHRvIGdzdF90ZW1wbGF0ZW1hdGNoX2xvYWRfdGVtcGxhdGUKCSAgV2UgaGF2ZSBqdXN0IHNldCBmaWx0ZXItPnRlbXBsYXRlIHRvIE5VTEwsIHNvCgkgIGdzdF90ZW1wbGF0ZW1hdGNoX2xvYWRfdGVtcGxhdGUgZGlkIG5vdGhpbmcuCgoyMDE0LTA3LTA4IDE5OjE4OjQ4IC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogY2xhcmlmeSB1bml0cyBmb3IgZnJlcSBhbmQgc3ltYm9sLXJhdGUKCjIwMTQtMDctMDcgMTg6NTI6MjAgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGR2YnNyYzogYWRkIHByZWxpbWluYXJ5ICBzdXBwb3J0IGZvciBJU0RCLVQvVGIKCSAgSVNEQi1UIGFuZCBJU0RCLVRiICh0aGUgQnJhemlsaWFuIHZhcmlhbnQpIGFyZSB0aGUKCSAgdGVycmVzdGlhbCBEVFYgc3RhbmRhcmRzIHVzZWQgYnkgSmFwYW4sIFBoaWxpcHBpbmVzLAoJICBNYWxkaXZlcywgVGhhaWxhbmQsIG1vc3QgU291dGggQW1lcmljYW4gY291bnRyaWVzCgkgIGFuZCBCb3Rzd2FuYS4gQ2hhbmdlc2V0IGFkZHMgdGhlIHNldCBvZiBwcmV2aW91c2x5CgkgIG1pc3NpbmcgKGFuZCByZXF1aXJlZCkgSVNEQi1UIHBhcmFtZXRlcnMsIGFkYXB0ZXIKCSAgYW5kIGZyb250ZW5kIHNldHVwIGxvZ2ljIGFuZCBwcm94aWVzIHRoZSBuZXcKCSAgcHJvcGVydGllcyBvbiBkdmJiYXNlYmluLgoJICBUZXN0ZWQgdG8gd29yayB3aXRoIHRoZSBsaXZlIGFlcmlhbCBicm9hZGNhc3QgYnkKCSAgVHYgUGFyYcOtYmEgSEQgaW4gQ2FtcGluYSBHcmFuZGUgKEJyYXppbCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI4NzUKCjIwMTQtMDctMDUgMDM6MDg6MDAgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGR2YnNyYzogbWFrZSBzbG9mL2xvZjEvbG9mMiBzZXR0YWJsZSBwcm9wZXJ0aWVzCgkgIEFsbG93cyBwcm9wZXIgdHVuaW5nIGFyb3VuZCBoaWdoL2xvdyBiYW5kIGJvdW5kYXJpZXMgd2hlbiB1c2luZwoJICBub24gInN0YW5kYXJkIiBMTkJzLgoJICBOb3QgYWxsIExOQnMgKExvdyBub2lzZSBibG9jayBkb3duIGNvbnZlcnRlcnMpIGFyZSBtYWRlIGVxdWFsLgoJICBUaGlzIGlzIHBhcnRpY3VsYXJseSB0cnVlIGZvciB1bml2ZXJzYWwgTE5CRnMsIHdoZXJlLCBldmVuIHRob3VnaAoJICB0aGVyZSBhcmUgc2VlbWluZ2x5IHN0YW5kYXJkIHZhbHVlcyBmb3IgdGhlIGxvY2FsIG9zY2lsbGF0b3IKCSAgZnJlcXVlbmNpZXMsIHRoZXNlIGNhbiB2YXJ5IGZyb20gbWFudWZhY3R1cmVyIHRvIG1hbnVmYWN0dXJlcgoJICBhbmQgTE5CIG1vZGVsLiBDaGFuZ2UgYWxzbyBwcm94aWVzIHRoZSBuZXcgTE5CIHByb3BlcnRpZXMgaW4KCSAgZHZiYmFzZWJpbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjgxOAoKMjAxNC0wNy0yNyAxMzoyNjowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IHNpbGVuY2UgZ3NpZ25hbCB3YXJuaW5nCgkgIGluc3RhbmNlICcweGJsYWgnIGhhcyBubyBoYW5kbGVyIHdpdGggaWQgJzEzJwoKMjAxNC0wNy0yNiAxMzoyNzo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQG9zZy5zaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBkbyBub3QgZ2l2ZSByZWZlcmVuY2VzIHRvIHByb2JlcwoJICBUaGV5IGFyZSBrZXB0IHVudGlsIHRoZSBwcm9iZXMgYXJlIHJlbW92ZWQgYnV0IHRoZXkgd2lsbCBuZXZlciBiZQoJICByZW1vdmVkIGFzIHRoZSByZWZjb3VudCBvZiB0aGUgZWxlbWVudCB3b24ndCBnZXQgdG8gMCBiZWNhdXNlIHRoZQoJICBwcm9iZXMgb3duIHJlZmVyZW5jZXMgKGN5Y2xpYyByZWZzKS4gQXMgdGhlIHByb2JlcyBzaG91bGQgb25seSBiZQoJICBydW5uaW5nIGFzIGxvbmcgYXMgdGhlIGVsZW1lbnQgaXMgcnVubmluZyB0aGVyZSBpcyBubyBuZWVkIHRvCgkgIHNlY3VyZSBhIHJlZiBmb3IgdGhlbS4KCSAgUmVtb3ZlcyAzIGxlYWtlZCByZWZzIG9mIHdyYXBwZXJjYW1lcmFiaW5zcmMKCjIwMTQtMDctMjYgMTI6NDY6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0Bvc2cuc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiB1c2UgZ3N0X29iamVjdF9yZWYgdG8gbWFrZSBpdCBlYXNpZXIgdG8gdHJhY2sgcmVmcwoJICBIZWxwcyBkZWJ1Z2dpbmcKCjIwMTQtMDctMjYgMTI6Mzg6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0Bvc2cuc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogdW5yZWYgcmVxdWVzdCBwYWRzCgkgIERvIG5vdCBmb3JnZXQgdG8gdW5yZWYgb3V0cHV0LXNlbGVjdG9yIHJlcXVlc3RlZCBwYWRzCgoyMDE0LTA0LTIxIDIzOjA1OjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuaDoKCSAganBlZ3BhcnNlOiBwb3J0IHRvIGJhc2VwYXJzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MzU2CgoyMDE0LTA3LTI0IDEyOjI1OjM2ICswMzAwICBWYXNpbGlzIExpYXNrb3ZpdGlzIDx2bGlhc2tvdkBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbHdpbmRvdy8xMTogRW1pdCBzaWduYWxzIGZvciBtb3VzZSBhbmQga2V5IG5hdmlnYXRpb24gZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM0ODYKCjIwMTQtMDctMjQgMTI6MjM6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkgIGdsd2luZG93OiBDb25zdGlmeSBzdHJpbmcgcGFyYW1ldGVycyB0byB0aGUgc2VuZF8qX2V2ZW50KCkgZnVuY3Rpb25zCgoyMDE0LTA3LTI0IDEzOjA1OjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogcmVtb3ZlIGV4dHJhIGFyZ3VtZW50IGZyb20gZGVidWcgY2FsbAoKMjAxNC0wNy0wNyAwMDoyMDowMSArMDMwMCAgVmFzaWxpcyBMaWFza292aXRpcyA8dmxpYXNrb3ZAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBnbGltYWdlc2luazogQWRkIG5hdmlnYXRpb24gaW50ZXJmYWNlIGFuZCBjYWxsYmFja3MgZm9yIEdzdEdMV2luZG93IG1vdXNlL2tleSBzaWduYWxzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM0ODYKCjIwMTQtMDctMDYgMjM6Mzk6NDcgKzAzMDAgIFZhc2lsaXMgTGlhc2tvdml0aXMgPHZsaWFza292QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSAgR3N0R0xXaW5kb3cgOiBBZGQgbW91c2UtZXZlbnQgYW5kIGtleS1ldmVudCBzaWduYWxzIGZvciBuYXZpZ2F0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM0ODYKCjIwMTQtMDctMjMgMTA6MjU6MzEgKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSAgZ2w6IGZpeCBtdWx0aSBnbCBvYmplY3QgbGVha3MKCSAgMS4gZml4IEZCTyBsZWFrcyBpbiBkZWNpZGVfYWxsb2NhdGlvbgoJICAyLiBmaXggdGV4dHVyZSBsZWFrcyBpbiBkZWNpZGVfYWxsb2NhdGlvbiBhbmQgcmVzZXQKCSAgMy4gZml4IHRleHR1cmUgbGVha3MgaW4gRkJPIGluY29tcGxldGUgZXJyb3IgcGF0aAoKMjAxNC0wNy0yMyAxMzo1NTowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogb25seSBmbHVzaCBidWZmZXJzIGlmIHJlbmVnb3RpYXRpb24gaXMgbmVlZGVkCgkgIFRoaXMgYXZvaWQgZXh0cmEgb3ZlcmhlYWQgd2hlbiB0YWtpbmcgc2VxdWVudGlhbCBwaWN0dXJlcyB0aGF0IHdvdWRsbid0CgkgIG5lZWQgcmVuZWdvdGlhdGlvbgoKMjAxNC0wNy0yMyAxMzozNzowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW46IGhhbmRsZSBFT1Mgb24gdGhlIHBpcGVsaW5lCgkgIE1ha2UgY2FtZXJhYmluIGhhbmRsZSBFT1MgdG8gdGhlIHBpcGVsaW5lIHRvIGFsbG93IHN0YW5kYXJkIHBpcGVsaW5lCgkgIGNsb3NlIHdoZXJlIGFuIEVPUyBpcyBzZW50IHRvIHRoZSB3aG9sZSBwaXBlbGluZSBiZWZvcmUgc2V0dGluZyBpdCB0byBOVUxMLgoKMjAxNC0wNy0yMSAxODoyMjoxOCArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRG8gbm90IHNjYW4gZm9yIGtleWZyYW1lIHdoZW4gaW4gcHVzaCBtb2RlLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNDkwCgoyMDE0LTA3LTIxIDE4OjIxOjQxICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBEbyBub3Qgc2NhbiBmb3IgYSBrZXlmcmFtZSBpbiBub24tYWNjdXJhdGUgbW9kZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzQ5MAoKMjAxNC0wNy0wMSAxMDoyNDo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IHJlbW92ZSBvYnNvbGV0ZSBjb2RlCgkgIEJ1ZmZlcnMgaGF2ZSBubyBjYXBzIGluIDEuMAoKMjAxNC0wNy0wMSAxMDowNzo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgZ2RwcGF5OiBwdXQgYWxsIHN0aWNreSBldmVudHMgaW4gc3RyZWFtaGVhZGVyCgkgIFVzZSB0aGUgc3RpY2t5IGV2ZW50cyB0byBjb21wb3NlIHRoZSBzdHJlYW1oZWFkZXIgYXMgdGhleSBhcmUgdGhlCgkgIG9uZXMgdGhhdCBhcmUgcGVyc2lzdGVkIHRvIGNvbmZpZyBuZXcgcGFkcyBsaW5rZWQuIEluc3RlYWQgb2Ygc3RvcmluZwoJICB0aGVtIG91cnNlbHZlcyByZWx5IG9uIHRoZSBwYWQgc3RvcmFnZSB0aGF0IGFscmVhZHkgb3JkZXJzIGl0IGZvciB1cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNTk2CgoyMDE0LTA3LTIxIDIxOjAzOjI2ICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBmYWNlZGV0ZWN0OiBpbXByb3ZlIGVudW0gR3N0RmFjZURldGVjdFVwZGF0ZXMgZGVzY3JpcHRpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA1MDkKCjIwMTQtMDUtMjEgMTI6NTk6NTcgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IG1ha2UgdXBkYXRlcyBvbl9jaGFuZ2Ugd29ya3MgYXMgZXhwZWN0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDUwOQoKMjAxNC0wNy0yMiAxMjo0MjozNiArMDUzMCAgU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5oOgoJICBwbm1lbmM6IFBvcnQgUE5NIEVuY29kZXIgdG8gdXNlIEdzdFZpZGVvRW5jb2RlciBDbGFzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxOTQzCgoyMDE0LTA2LTE4IDExOjQ0OjU0ICswNTMwICBTYW5qYXkgTk0gPHNhbmpheS5ubUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tdXRpbHMuYzoKCSAgcG5tZGVjOiBQYXRjaCB0byBoYW5kbGUgbWF4IHZhbHVlCgkgIENvbnZlcnQgdGhlIGltYWdlIHZhbHVlcyBmcm9tIDAtbWF4dmFsdWUgdG8gMC0yNTUgd2hlbgoJICAnZGVjb2RpbmcnIHRoZSBwbm0gaW1hZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTc3MwoKMjAxNC0wNy0xNSAxNjo0Mjo1NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGVkZWM6IGhhbmRsZSBzZWdtZW50IGV2ZW50IGVhcmxpZXIKCSAgRGVsYXlpbmcgdGhlIHNlZ21lbnQgZXZlbnQgdG8gd2hlbiBjYXBzIGFyZSBkZWNpZGVkIGNhbiBjYXVzZSBpc3N1ZXMgYXMKCSAgdGhlIGZpcnN0IHRoaW5nIGthdGVkZWMgZG9lcyBvbiBpdHMgY2hhaW4gZnVuY3Rpb24gaXQgZG9pbmcgYSBzZWdtZW50IGNsaXAuCgkgIEl0IHdpbGwgbGVhZCB0byBhbiBhc3NlcnRpb24gaWYgdGhlIHNlZ21lbnQgZm9ybWF0IGlzIHVuZGVmaW5lZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMjI2CgoyMDE0LTA3LTE1IDE2OjQxOjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSAga2F0ZWRlYzogaGFuZGxlIHN0cmVhbWhlYWRlcnMgaW4gY2FwcwoJICBQcm9wZXJseSBoYW5kbGUgdGhlIGNhcHMgZXZlbnQgYnkgY29uZmlndXJpbmcgdGhlIGthdGUgZGVjb2RpbmcgbGliIHVzaW5nIHRoZQoJICBhdmFpbGFibGUgc3RyZWFtaGVhZGVycy4gVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSB0byBkZWNvZGUga2F0ZSBzdWJ0aXRsZXMgd2hlbgoJICB0aGUgc3RyZWFtIGlzIHNlZWtlZCBiZWZvcmUga2F0ZWRlYyBnZXRzIHRoZSBpbml0aWFsIGJ1ZmZlcnMgdGhhdCBhcmUgdXN1YWxseQoJICB0aGUgc3RyZWFtaGVhZGVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzIyNgoKMjAxNC0wNy0yMSAxNzozNDo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3BlbmpwZWc6IERvbid0IHJlbWVtYmVyIC1sb3BlbmpwMiBhcyBsaWJzIHdoZW4gZmFsbGluZyBiYWNrIHRvIG9wZW5qcGVnMQoKMjAxNC0wNy0yMSAxMTowNzoyOCArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvTWFrZWZpbGUuYW06CgkgIGdsOiBSZW9yZGVyIENGTEFHUyB0byBpbmNsdWRlIGluLXNvdXJjZSBkaXJzIGZpcnN0IGluIGV4YW1wbGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM0MjYKCjIwMTQtMDUtMDYgMDk6Mjg6MTQgKzAwMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBvcGVuanBlZzogV2luMzItY29tcGF0aWJsZSBPcGVuSlBFRy0yLjAgZGV0ZWN0aW9uCgkgIE9wZW5KUEVHIDIuMCBBUEkgdXNlcyBzdGRjYWxsIG9uIFczMiBieSBkZWZhdWx0LiBUaGlzIHByZXZlbnRzIG5vcm1hbAoJICBhdXRvY29uZiBsaWJyYXJ5IG1hY3JvcyBmcm9tIGZpbmRpbmcgaXRzIGZ1bmN0aW9ucy4KCSAgQSBtb3JlIGNvbXBhdGlibGUgY2hlY2sgaXMgdG8gYWN1dGFsbHkgbGluayBhIHByb2dyYW0gdGhhdCBpbmNsdWRlcyBhCgkgIHJlYWwgaGVhZGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNDg3CgoyMDE0LTA3LTIxIDEwOjE0OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgkgIGdzdG9wZW5uaTJzcmMuY3BwOjcyMToxNDogZXJyb3I6IHZhcmlhYmxlICdvbmlfdHMnIGlzIHVzZWQgdW5pbml0aWFsaXplZCB3aGVuZXZlciAnaWYnIGNvbmRpdGlvbiBpcyBmYWxzZSBbLVdlcnJvciwtV3NvbWV0aW1lcy11bmluaXRpYWxpemVkXQoJICB9IGVsc2UgaWYgKHNyYy0+Y29sb3ItPmlzVmFsaWQgKCkgJiYgc3JjLT5zb3VyY2V0eXBlID09IFNPVVJDRVRZUEVfQ09MT1IpIHsKCSAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJICBnc3RvcGVubmkyc3JjLmNwcDo3NTI6MjY6IG5vdGU6IHVuaW5pdGlhbGl6ZWQgdXNlIG9jY3VycyBoZXJlCgkgIEdTVF9CVUZGRVJfUFRTIChidWYpID0gb25pX3RzIC0gc3JjLT5vbmlfc3RhcnRfdHM7CgkgIF5+fn5+fgoJICBnc3RvcGVubmkyc3JjLmNwcDo3MjE6MTA6IG5vdGU6IHJlbW92ZSB0aGUgJ2lmJyBpZiBpdHMgY29uZGl0aW9uIGlzIGFsd2F5cyB0cnVlCgkgIH0gZWxzZSBpZiAoc3JjLT5jb2xvci0+aXNWYWxpZCAoKSAmJiBzcmMtPnNvdXJjZXR5cGUgPT0gU09VUkNFVFlQRV9DT0xPUikgewoJICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkgIGdzdG9wZW5uaTJzcmMuY3BwOjcyMToxNDogZXJyb3I6IHZhcmlhYmxlICdvbmlfdHMnIGlzIHVzZWQgdW5pbml0aWFsaXplZCB3aGVuZXZlciAnJiYnIGNvbmRpdGlvbiBpcyBmYWxzZSBbLVdlcnJvciwtV3NvbWV0aW1lcy11bmluaXRpYWxpemVkXQoJICB9IGVsc2UgaWYgKHNyYy0+Y29sb3ItPmlzVmFsaWQgKCkgJiYgc3JjLT5zb3VyY2V0eXBlID09IFNPVVJDRVRZUEVfQ09MT1IpIHsKCSAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJICBnc3RvcGVubmkyc3JjLmNwcDo3NTI6MjY6IG5vdGU6IHVuaW5pdGlhbGl6ZWQgdXNlIG9jY3VycyBoZXJlCgkgIEdTVF9CVUZGRVJfUFRTIChidWYpID0gb25pX3RzIC0gc3JjLT5vbmlfc3RhcnRfdHM7CgkgIF5+fn5+fgoJICBnc3RvcGVubmkyc3JjLmNwcDo3MjE6MTQ6IG5vdGU6IHJlbW92ZSB0aGUgJyYmJyBpZiBpdHMgY29uZGl0aW9uIGlzIGFsd2F5cyB0cnVlCgkgIH0gZWxzZSBpZiAoc3JjLT5jb2xvci0+aXNWYWxpZCAoKSAmJiBzcmMtPnNvdXJjZXR5cGUgPT0gU09VUkNFVFlQRV9DT0xPUikgewoJICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkgIGdzdG9wZW5uaTJzcmMuY3BwOjY0MjoxODogbm90ZTogaW5pdGlhbGl6ZSB0aGUgdmFyaWFibGUgJ29uaV90cycgdG8gc2lsZW5jZSB0aGlzIHdhcm5pbmcKCSAgdWludDY0X3Qgb25pX3RzOwoJICBeCgkgID0gMAoKMjAxNC0wNy0xNyAxNjoyNTo1NCArMDIwMCAgRmFicmljZSBCZWxsZXQgPGZhYnJpY2VAYmVsbGV0LmluZm8+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIHBhcnNlcjogbXBlZzQ6IGZpeCB2bGMgdGFibGUgdXNlZCBmb3Igc3ByaXRlIHRyYWplY3RvcnkKCSAgVGhlIHZsYyB0YWJsZSBtZW1iZXJzIGNiaXRzLCBjd29yZCBhbmQgdmFsdWVzIHdlcmUgYXNzaWduZWQgaW4gdGhlIHdyb25nCgkgIG9yZGVyLCBjYXVzaW5nIHRoZSBtcGVnNCBwYXJzZXIgdG8gZmFpbCB3aGVuIGhhbmRsaW5nIHNwcml0ZQoJICB0cmFqZWN0b3JpZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMzMjIKCjIwMTQtMDctMTggMTU6MDk6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBNYWtlIHN0YXRpc3RpY3MgbWVzc2FnZSBtb3JlIGdlbmVyaWMgZm9yIG90aGVyIGFkYXB0aXZlIHN0cmVhbWluZyBkZW11eGVycyB0byByZXVzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1ODI4CgoyMDE0LTAyLTI1IDExOjU4OjU3ICswMTAwICBBbGV4YW5kZXIgWmFsbGVzb3YgPHphbGxlc292QGdtYWlsLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFByb3ZpZGUgc3RhdGlzdGljcyBhYm91dCB0aW1lIHRvIGRvd25sb2FkIHBsYXlsaXN0cyBhbmQgZnJhZ21lbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU4MjgKCjIwMTQtMDctMTkgMTg6MDQ6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuNC4wID09PQoKMjAxNC0wNy0xOSAxNzoyNzoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS40LjAKCjIwMTQtMDctMTkgMTY6NDU6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNC0wNy0xOSAxMjo0Nzo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNC0wNy0xNiAxODoyNzoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IHNldCBzcmMgdG8gcmVhZHkgd2hlbiB0aGVyZSBhcmUgbm8gcGVuZGluZyBidWZmZXJzCgkgIFNldHRpbmcgdG8gcmVhZHkgd2lsbCBibG9jayB3YWl0aW5nIGZvciBidWZmZXJzIHRvIGJlIHJlY2xhaW1lZCwgc28gZmx1c2gKCSAgYmVmb3JlIHNldHRpbmcgdG8gbnVsbCB0byBtYWtlIHN1cmUgbm8gYnVmZmVycyBhcmUgcGVuZGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMDcyCgoyMDE0LTA3LTE3IDEwOjA1OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIGV4YW1wbGVzOiBmaXggY29tcGlsYXRpb24gb2YgZ2wgZnh0ZXN0IGV4YW1wbGUgb24gd2luMzIgd2l0aCBHdGsrIDMuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMDYzCgoyMDE0LTA3LTE3IDAwOjExOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlc3JpbmdidWZmZXI6IFByb3ZpZGUgdGhlIHNpemUgb2Ygb3VyIGFycmF5IHRvIEdldERlc3RpbmF0aW9uT3V0cHV0RGV2aWNlSURzCgkgIE90aGVyd2lzZSBpdCBkb2VzIG5vdCBhbmQganVzdCBmYWlscy4gSXQgbmVlZHMgdG8ga25vdyB0aGUgc2l6ZSBvZiB0aGUKCSAgYXJyYXkgdG8gbm90IHdyaXRlIHRvbyBtdWNoIHRvIGl0LgoKMjAxNC0wNy0xNyAwMDoxMToyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSAgb3BlbnNsZXNzaW5rOiBTaWxlbmNlIHNvbWUgZXJyb3IgZGVidWcgb3V0cHV0IHRvIGxvZyBvdXRwdXQKCSAgVGhlc2UgYXJlIG5vdCByZWFsbHkgZXJyb3JzLCBqdXN0IHVuc3VwcG9ydGVkIGZlYXR1cmVzIHdlIGRvbid0CgkgIG5lY2Vzc2FyaWx5IG5lZWQuCgoyMDE0LTA3LTE2IDE2OjU3OjM1ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFJlc2V0IGZsb3dfcmV0dXJuICphZnRlciogc3RvcHBpbmcgdGhlIHNyY3BhZCB0YXNrLgoJICBPdGhlcndpc2UgaXQgbWlnaHQgYmUgc2V0IGluIGFuIGFscmVhZHkgcnVubmluZyBhZ2dyZWdhdGUgZnVuY3Rpb24uCgoyMDE0LTA3LTEwIDEzOjE4OjIxICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEZsdXNoIHNpbmtwYWRzIHdoZW4gc3RvcHBpbmcKCSAgQWxsIHZhbHVlcyBhcmUgbWVhbmluZ2xlc3MgaW4gdGhhdCBjYXNlLCBzbyB3ZSBzaG91bGQgbWFrZSBzdXJlIHRoYXQKCSAgd2UgY2xlYW4gZXZlcnl0aGluZwoKMjAxNC0wNy0xMCAxMzoxNTo1NSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBEbyBub3QgZm9yZ2V0IHRvIHJlc2V0IHRoZSBmbG93IHJldHVybiB3aGVuIHN0b3BpbmcKCSAgU2V0dGluZyBpdCB0byBGTFVTSElORyB3aGVuIHRoZSBlbGVtZW50IGlzIG5vdCBzdGFydGVkLCBhbmQgdG8gT0sKCSAgd2hlbiBpdCBzdGFydHMuCgoyMDE0LTA3LTA4IDE2OjQ4OjA4ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEhhbmRsZSBldmVudCBzZXFudW0KCjIwMTQtMDctMTMgMTY6MDc6MDIgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogQXZvaWQgdGFraW5nIHVubmVjZXNzYXJ5IHJlZgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMTIzCgoyMDE0LTA3LTE2IDE2OjMxOjI3ICswMzAwICBNYXJ0IFJhdWRzZXBwIDxsZWlvQGdlbnRvby5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBJbmNsdWRlIEdMX0NGTEFHUyB3aGlsZSBjaGVja2luZyBmb3IgR0wgdHlwZWRlZnMKCSAgT3RoZXJ3aXNlIHRob3NlIGNoZWNrcyBtYXkgZmFpbCBhdCBjb25maWd1cmUgdGltZSBpZiB0aGV5IGNvbnRhaW4gZXh0cmEKCSAgaW5jbHVkZSBwYXRocywgd2hpbGUgYXQgYnVpbGQgdGltZSB0aGV5IGFyZSBpbmNsdWRlZCwgcG90ZW50aWFsbHkgY2F1c2luZwoJICBpbmNvbXBhdGlibGUgdHlwZWRlZnMgYmV0d2VlbiBzeXN0ZW0gR0wgaGVhZGVycyBhbmQgZ3N0cmVhbWVyIGNvbXBhdGliaWxpdHkKCSAgcHJvdG90eXBlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzI0OAoKMjAxNC0wNy0xNiAxNjoyOToxMCArMDMwMCAgTWFydCBSYXVkc2VwcCA8bGVpb0BnZW50b28ub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBnbDogQWx3YXlzIGluY2x1ZGUgRUdMX0NGTEFHUyBpbiBHTF9DRkxBR1Mgd2hlbiBFR0xfTElCUyBpcyBhZGRlZCB0byBHTF9MSUJTCgkgIFRoZXkgc2hvdWxkIGJlIGhhbmRsZWQgaW4gdGFuZGVtLCBpbiBjYXNlIGFueSBFR0wgcHJvdmlkZXIgY291bGQgcmVxdWlyZSBzb21lCgkgIENGTEFHUyBhbmQgc2V0IHRoZW0gKHBvc3NpYmx5IG9uY2UgbW92ZWQgdG8gcHJlZmVyIHBrZy1jb25maWcgZmlsZXMpLAoJICBzdWNoIGFzIGZvciBhIGN1c3RvbSBoZWFkZXIgbG9jYXRpb24uCgoyMDE0LTAzLTE3IDE2OjA5OjQ2ICswMTAwICBQaW90ciBEcsSFZyA8cGlvdHJkcmFnQGdtYWlsLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogdXBkYXRlIFBPVEZJTEVTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY1NTUKCjIwMTQtMDctMTUgMTM6Mjk6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiBPcGVuIERpcmVjdDNEIGRldmljZXMgaW4gYSB0aHJlYWRzYWZlIHdheQoJICBPdGhlcndpc2Ugd2UnbGwgZ2V0IGNyYXNoZXMgd2hlbiB1c2luZyB0aGUgZGV2aWNlIGZyb20gbXVsdGlwbGUKCSAgdGhyZWFkcywgZS5nLiB3aGVuIHVzaW5nIG11bHRpcGxlIHNpbmtzIGF0IG9uY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc1MjMKCjIwMTQtMDctMTEgMjE6MTU6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsc2Z0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNzaHNpbmsuYzoKCSAgY3VybHNzaHNpbms6IEluY2x1ZGUgZ3N0LmggYW5kIG90aGVyIHN0dWZmIGJlZm9yZSBhbnl0aGluZyBlbHNlCgoyMDE0LTA3LTExIDEwOjQwOjQyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogRml4IGNhcHMgZmlsdGVyIGNhcHMgcHJveHlpbmcKCSAgVGhlIG5vdGlmeSBzaWduYWwgaXMgdHJpZ2dlcmVkIHdoZW4gY2FwcyBpcyBjaGFuZ2VkLiBCdXQgaW5zdGVhZCBvZgoJICBwcm94eWluZyB0aGUgZml4ZWQgY2Fwcywgd2UgcXVlcnkgZm9yIHRoZSBjYXBzLiBIZW5jZSwgd2hlbiB3ZSBnbyB0bwoJICBSRUFEWSBzdGF0ZSwgd2UgZW5kdXAgc2V0dGluZyB0ZW1wbGF0ZSBjYXBzIG9uIHRoZSBwcm94aWVkIGNhcHMKCSAgZmlsdGVyIGluc3RlYWQgb2YgTlVMTCwgd2hpY2ggbGVhZHMgdG8gbmVnb2l0YXRpb24gZmFpbHVyZS4gQ29ycmVjdGx5CgkgIHByb3h5IE5VTEwgY2FwcyBpZiB0aGlzIGlzIHRoZSBuZXcgY2Fwcy4gRml4ZXMgbm90IG5lZ290aWF0ZWQgZXJyb3IKCSAgd2hlbiBydW5uaW5nIGluIGNoZWVzZS4gQWxzbyBmaXggYSBsZWFrIG9mIGNhcHMgc3RyaW5nIGluIG9uZSBvZiB0aGUKCSAgdHJhY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI3NDEKCjIwMTQtMDctMTEgMTM6NTg6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkgIGdsOiBBbHdheXMgYnVpbGQgZ3N0Z2xtaXhlciwgbm90IG9ubHkgd2hlbiBmdWxsIE9wZW5HTCBzdXBwb3J0IGlzIGVuYWJsZWQKCjIwMTQtMDctMTEgMTM6MjU6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsc2Z0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNzaHNpbmsuYzoKCSAgY3VybDogVXNlIHdpbnNvY2syIGluc3RlYWQgYW5kIHRoZSBHTGliIG1hY3JvIGZvciBjaGVja2luZyBpZiB3ZSdyZSBvbiBXaW5kb3dzCgoyMDE0LTA3LTExIDEzOjI1OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5jcHA6CgkgIG1vdGlvbmNlbGxzOiBVc2Ugbm8gbmV0d29yayBBUEkgaWYgbm90IHJlcXVpcmVkCgoyMDE0LTA3LTExIDEzOjIxOjIxICswMjAwICBBbGV4ZXkgUGF2bG92IDxhbGV4cHV4QGdtYWlsLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc3Noc2luay5jOgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmNwcDoKCSAgZXh0OiBJbmNsdWRlIHdpbnNvY2suaCBvbiBXaW5kb3dzIHdoZW4gcmVxdWlyZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzA1MgoKMjAxNC0wNy0xMSAxMjoxMzoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4zLjkxCgoyMDE0LTA3LTExIDEyOjA0OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIGdsOiBMaW5rIHRvIGFsbCByZXF1aXJlZCBsaWJyYXJpZXMgYnV0IG5vdCBtb3JlCgoyMDE0LTA3LTExIDEyOjAxOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJICB2aWRlbzogUHJvcGVybHkgaW5jbHVkZSBoZWFkZXJzIGluIE1ha2VmaWxlLmFtCgkgIGFuZCBkb24ndCBzZXQgbm9pbnN0X0hFQURFUlMgdHdpY2UuCgoyMDE0LTA3LTExIDExOjA1OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTQtMDctMTEgMDk6NDM6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXRkZWM6IENoYW5nZSByYW5rIHRvIE1BUkdJTkFMIHVudGlsIGl0IGNhbiBwcm9wZXJseSBoYW5kbGUgbXVsdGljaGFubmVsIGF1ZGlvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc3NTcKCjIwMTQtMDctMTEgMDk6NDE6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZXh0L2dsL2dzdGdsbWl4ZXJwYWQuaDoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmg6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXJwYWQuaDoKCSAgZ2w6IE1vdmUgR3N0R0xNaXhlciB0byB0aGUgcGx1Z2luIGZvciBub3cKCSAgSXQgZGVwZW5kcyBvbiBHc3RBZ2dyZWdhdG9yIGFuZCB3ZSBkb24ndCB3YW50IHRvIGluc3RhbGwgaGVhZGVycwoJICBmb3IgdGhhdCB5ZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIyMDcKCjIwMTQtMDctMTEgMDk6MzM6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJICBsaWJzOiBEb24ndCBpbnN0YWxsIGhlYWRlcnMgYW5kIHBjIGZpbGVzIGZvciBsaWJnc3R3YXlsYW5kL2JhZHZpZGVvL2JhZGJhc2UKCSAgVGhlc2Ugd2lsbCBkaXNhcHBlYXIgYWZ0ZXIgMS40LjAgYW5kIGl0IHdvdWxkIGJlIHJhdGhlciBhbm5veWluZyBpZgoJICBwZW9wbGUgc3RhcnRlZCBkZXBlbmRpbmcgb24gdGhlbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjIwNwoKMjAxNC0wNy0xMCAxNTo1Mjo0NiArMDEwMCAgUGhpbGlwIFdpdGhuYWxsIDxwaGlsaXAud2l0aG5hbGxAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJICBvcHVzOiBGaXggYSBkb3VibGUtdW5yZWYgaW4gdGhlIE9wdXMgaGVhZGVyIGNvZGUKCSAgVGhlIGhlYWRlcnMgd2VyZSBuZXZlciBnZXR0aW5nIHJlZmZlZCB3aGVuIGJlaW5nIGFkZGVkIHRvIHRoZSBoZWFkZXJzCgkgIGxpc3QsIHdoaWNoIGlzIGxhdGVyIHVucmVmZmVkLWFuZC1mcmVlZCBieSB0aGUgY2FsbGVyIChlLmcuCgkgIGdzdF9vcHVzX3BhcnNlX3BhcnNlX2ZyYW1lKCkpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMDEzCgoyMDE0LTA3LTExIDA4OjU0OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vdmkucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE0LTA3LTEwIDExOjI5OjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogQWRkIENBVCBzZWN0aW9uIGFuZCBDQSBkZXNjcmlwdG9yIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjk4NgoKMjAxNC0wNy0xMCAxMToyNDoxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBBZGQgcGFyc2luZyBmb3IgQ0EgZGVzY3JpcHRvciAoMHgwNSkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjk4NgoKMjAxNC0wNy0wNyAxMTo1MjoxOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjI6IEZsdXNoIGRvd25zdHJlYW0gYWZ0ZXIgc2V0dGluZyBzcmMgdG8gUkVBRFkKCSAgdjRsMnNyYyByZXF1aXJlcyBhbGwgYnVmZmVycyB0byBjb21lIGJhY2sgaW4gb3JkZXIgdG8gY2xlYW5seSBzdG9wCgkgIHN0cmVhbWluZy4gRmx1c2hpbmcgdGhlIHBpcGxpbmUgc2hvdWxkIGZvcmNlIGFsbCBidWZmZXJzIHRvIGNvbWUKCSAgYmFjay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjc0MQoKMjAxNC0wNy0wNiAxMToyODozNCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogdGVzdHMvaWNsZXMvZGNjcC9jYWxsL0RDQ1BDbGllbnQuYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9jYWxsL0RDQ1BTZXJ2ZXIuYzoKCSAgdGVzdHMvaWNsZXMvZGNjcDogUmVsZWFzZSByZWZlcmVuY2UgdG8gcGFyZW50CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI5NzcKCjIwMTQtMDctMDkgMTU6MDM6NDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBLZWVwIGFzcGVjdCByYXRpbyBieSBkZWZhdWx0CgkgIFRoZSBleHBlY3RlZCBkZWZhdWx0IGJlaGF2aW91ciBmb3IgdmlkZW8gc2luayBpcyB0byBtYWludGFpbiB0aGUKCSAgYXNwZWN0IHJhdGlvLiBGaXggdGhlIGRlZmF1bHQgdmFsdWUgdG8gcmVmbGVjdCB0aGlzLiBUaGUgcHJvcGVydHkKCSAgZGVmYXVsdCB3YXMgYWxyZWFkeSBUUlVFLCBidXQgdGhlIHZhbHVlIHdhcyBub3QgaW5pdGlhbGx5IFRSVUUuCgoyMDE0LTA3LTA2IDAxOjU1OjUwICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVndHM6IE5vIG5lZWQgdG8gY2hlY2sgZm9yIE5VTEwgYmVmb3JlIGNhbGxpbmcgZ19mcmVlKCkKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjc4OQoKMjAxNC0wNy0wNiAwMTo1NToxNiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBEb24ndCBjb25mdXNlIHNsaWNlIGFsbG9jYXRvciB3aXRoIHJlZ3VsYXIgb25lCgkgIFByZXZpb3VzbHkgc2VsZWN0b3JfYnl0ZXMgYW5kIHByaXZhdGVfZGF0YV9ieXRlcyB3ZXJlIHNvbWV0aW1lcyBhbGxvY2F0ZWQgYW5kCgkgIGZyZWUgdXNpbmcgdGhlIG5vcm1hbCBhbGxvY2F0b3IgYW5kIHNvbWV0aW1lcyB1c2luZyB0aGUgc2xpY2UgYWxsb2NhdG9yLgoJICBBZGRpdGlvbmFsbHkgcHJlZmVyIGdfc3RyZHVwKCkgdG8gZ19tZW1kdXAoKSBmb3Igc3RyaW5ncy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjc4OQoKMjAxNC0wNy0wOSAwNzo1MDoxMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IEZpeCBkdmIgbGlua2FnZSBsZWFrcwoJICBDSUQgIzEyMjQxMzAKCjIwMTQtMDctMDQgMTQ6MDQ6NDcgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBtcGVndHM6IHVzZSBnZXR0ZXIgZm9yIGVnZGUgbGlua2FnZSBkZXNjcmlwdG9yIHR5cGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDkxNAoKMjAxNC0wNy0wNCAxNDowMjoyMiArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJICBtcGVndHM6IGRvY3M6IGFkZCBtaXNzZWQgKl9mcmVlIG1ldGhvZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDkxNAoKMjAxNC0wNi0yNCAxOToxODo1NiArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGZpeCBhbm5vdGF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA5MTQKCjIwMTQtMDctMDkgMDc6Mzg6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJICBtcGVndHM6IEFkZCBwYWRkaW5nIHRvIHB1YmxpYyBzdHJ1Y3R1cmVzCgkgIEFsbG93cyB1c2UgdG8gYWRkIEFQSSBpbiB0aGUgZnV0dXJlIHdpdGhvdXQgYnJlYWtpbmcgQUJJLiBXZSBicm9rZSB0aGUgQVBJL0FCSQoJICBvbmNlIGJldHdlZW4gMS4yIGFuZCAxLjQsIGxldCdzIHRyeSB0byBhdm9pZCB0aGlzIGluIHRoZSBmdXR1cmUgZXZlbiBpZiB0aGlzCgkgIGlzIGFuIHVuc3RhYmxlIGxpYnJhcnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA5MTQKCjIwMTQtMDctMDggMTU6NDM6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkgIG1wZWd0czogYXRzYzogZml4IGxlYWsgb2Ygc2hvcnQgbmFtZQoKMjAxNC0wNy0wOCAxNDo1NjoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IGZpeCBsZWFrIG9mIGxhbmd1YWdlIGNvZGUKCjIwMTQtMDctMDYgMjM6MzA6NTMgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBGaXggc29tZSBtb3JlIHRoZSBsb2NraW5nIGxvZ2ljIGluIHVwZGF0ZV9zcmNfY2FwcwoJICBXZSBuZWVkIHRoZSBHU1RfT0JKRUNUX0xPQ0sgb25seSB0byBpdGVyYXRlIHRoZSBzaW5rcGFkcywgbm90aGluZyBlbHNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNzUwCgoyMDE0LTA3LTA2IDIyOjE2OjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGZpeCBicm9rZW4gbG9ja2luZyBpbiB1cGRhdGVfc3JjX2NhcHMgZnVuY3Rpb24KCSAgV2Ugd291bGQgdW5sb2NrIGFuIGFscmVhZHktdW5sb2NrZWQgbXV0ZXggdGhhdCB3ZSBuZXZlciByZS1sb2NrZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI3NTAKCjIwMTQtMDctMDYgMTY6MTc6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGZpeCBsb2NraW5nCgkgIFdlIHdvdWxkIHVubG9jayBhIG11dGV4IHdlIG5ldmVyIGxvY2tlZCBvbiBTRUdNRU5UCgkgIGV2ZW50cy4KCjIwMTQtMDctMDQgMjE6MDA6MzggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IE1ha2UgY2FzY2FkZXMgZGlyIGEgbGl0dGxlIG1vcmUgcG9ydGFibGUKCjIwMTQtMDctMDQgMjA6NTU6MTEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5oOgoJICBoYW5kZGV0ZWN0OiBVc2UgYWxyZWFkeSBtYXBwZWQgaW1hZ2UKCSAgTm8gbmVlZCB0byBtYXAgYWdhaW4gdGhlIGltYWdlLCBpdCdzIGFscmVhZHkgaGFuZGxlZCBieSB0aGUgYmFzZSBjbGFzcy4KCjIwMTQtMDctMDQgMjA6Mzk6NDkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmM6CgkgIGhhbmRkZXRlY3Q6IE1vdmUgc2l6ZSB3YXJuaW5nIGluIHNldF9jYXBzIHNvIGl0J3MgY2FsbGVkIG9uY2UKCjIwMTQtMDctMDQgMjA6MzM6NDEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmg6CgkgIGZhY2VibHVyOiBQb3J0IHRvIE9wZW5jdlZpZGVvRmlsdGVyIGJhc2UgY2xhc3MKCSAgVGhpcyBmaXhlcyBpc3N1ZSB3aGl0IGJsYWNrIGZyYW1lcyB3aGVuIHNwZWNpYWwgbWVtb3J5LCBsaWtlIEdsTWVtb3J5IGlzCgkgIGluIHVzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI3NTYKCjIwMTQtMDctMDQgMjA6MzE6NTAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z2aWRlb2ZpbHRlci5jOgoJICBjdnZpZGVvZmlsdGVyOiBEb24ndCB0cnkgdG8gbWFrZSBidWZmZXIgd3JpdGFibGUKCSAgRmlyc3QgdGhpcyBpcyBoYW5kbGUgYnkgYmFzZSB0cmFuc2Zvcm0sIGhlbmNlIHRoaXMgaXMgYSBuby1vcCwgYW5kIGlmIGl0IHdhc24ndCBpdAoJICB3b3VsZCBsZWFkIHRvIGEgYnVmZmVyIGNvcHkgYmVpbmcgbGVha2VkLCBhbmQgdGhlbiBhbiB1bnJlZmZlZCBidWZmZXIgYmVpbmcKCSAgcHVzaGVkIGRvd25zdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI3NTYKCjIwMTQtMDctMDQgMjA6MzA6MjAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z2aWRlb2ZpbHRlci5jOgoJICBjdnZpZGVvZmlsdGVyOiBDaGVjayBidWZmZXJfbWFwIHJldHVybiB2YWx1ZQoJICBDaGVjayB0aGUgcmVzdHVybiB2YWx1ZSBhbmQgY2xlYW5seSBmYWlsIGlmIHdlIGNvdWxkIG5vdCBtYXBwZWQgdGhlIGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI3NTYKCjIwMTQtMDctMDQgMDM6MTk6NDIgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBQcmludCBpbnZhbGlkIGZvdXJjYyBpbiBlcnJvciBtZXNzYWdlIGluIGhleAoJICBQcmV2aW91c2x5IHRoaXMgd2FzIHByaW50ZWQgYXMgY2hhcmFjdGVycyB3aGljaCBjYXVzZWQgbGF0ZXIgcHJvY2Vzc2luZwoJICBvZiB0aGUgZXJyb3IgbWVzc2FnZSB0byBzb21ldGltZXMgd2FybiBhYm91dCBub24tVVRGLTggY2hhcmFjdGVycy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjcxNQoKMjAxNC0wNy0wNCAwMzoyMDoyMiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogUHJpbnQgaW52YWxpZCBmb3VyY2MgaW4gZXJyb3IgbWVzc2FnZSBpbiBoZXgKCSAgUHJldmlvdXNseSB0aGlzIHdhcyBwcmludGVkIGFzIGNoYXJhY3RlcnMgd2hpY2ggY2F1c2VkIGxhdGVyIHByb2Nlc3NpbmcKCSAgb2YgdGhlIGVycm9yIG1lc3NhZ2UgdG8gc29tZXRpbWVzIHdhcm4gYWJvdXQgbm9uLVVURi04IGNoYXJhY3RlcnMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI3MTUKCjIwMTQtMDctMDQgMTc6NTE6NTggKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGVzIHdpdGggLS1kaXNhYmxlLWV4dGVybmFsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI3NDQKCjIwMTQtMDctMDEgMTI6MzQ6NDQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYWNjb3N0ZWQubmV0PgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IEFkZCBwcm9wZXIgY2xlYW4gdXAgb2YgT3Blbk5JMiBvYmplY3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1MzUKCjIwMTQtMDctMDEgMTI6MTg6NDUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYWNjb3N0ZWQubmV0PgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuaDoKCSAgb3Blbm5pMnNyYzogRG9uJ3QgZW1iZWQgQysrIG9iamVjdHMgaW4gb3VyIEdPYmplY3QKCSAgU2luY2UgQysrIG9iamVjdHMgc2hvdWRsIGJlIHByb3Blcmx5IGNvbnN0cnVjdGVkLCB3ZSBrZWVwIG9ubHkgcG9pbnRlcnMKCSAgdG8gdGhlbSBhbmQgbWFudWFsbHkgY29uc3RydWN0IHRoZW0gb24gdGhlIGhlYXAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1MzUKCjIwMTQtMDctMDEgMTI6MTg6MTkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYWNjb3N0ZWQubmV0PgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IENsb3NlIGRldmljZSB3aGVuIHN0b3BwaW5nIHRoZSBzdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjUzNQoKMjAxNC0wNy0wMSAxMTo1ODozNiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhY2Nvc3RlZC5uZXQ+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5oOgoJICBvcGVubmkyc3JjOiBGaXggdGltZXN0YW1waW5nCgkgIE9wZW5OSTIgbWFrZXMgbm8gZ3VhcmFudGVlcyBvZiB0aW1lc3RhbXAgc3RhcnRpbmcgZnJvbSB6ZXJvLCBqdXN0IHRoYXQKCSAgaXQgd2lsbCBiZSBhIG1pbGxpc2Vjb25kIHRpbWVzdGFtcC4gTWFrZSB0aW1lc3RhbXBzIHN0YXJ0IGZyb20gemVybwoJICBtYW51YWxseSBzbyB0aGluZ3Mgd29yayBjb3JyZWN0bHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1MzUKCjIwMTQtMDctMDEgMTE6NTY6NTkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYWNjb3N0ZWQubmV0PgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IE1ha2UgdGhlIGxvY2F0aW9uIHByb3BlcnR5IG5vdCBiZSBtYW5kYXRvcnkKCSAgT3VyIGNhbGxzIHRvIGRldmljZSBvcGVuIGFscmVhZHkgaGFuZGxlIHRoZSB1bnNldCBsb2NhdGlvbiBjYXNlIChieQoJICBvcGVuaW5nIGFueSBhdmFpbGFibGUgZGV2aWNlKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjUzNQoKMjAxNC0wNy0wMSAxMTo1NjoxNSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhY2Nvc3RlZC5uZXQ+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogT3BlbiBkZXZpY2Ugb24gTlVMTC0+UkVBRFkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjUzNQoKMjAxNC0wNy0wMSAxMTo1Mzo0NiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhY2Nvc3RlZC5uZXQ+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogRml4IGRlYWRsb2NrIHdoZW4gX2dldF9jYXBzKCkgaXMgY2FsbGVkIGJlZm9yZSBSRUFEWQoJICBUaGUgb2JqZWN0IGxvY2sgd2FzIG5vdCBiZWluZyBkcm9wcGVkIGluIHRoZSBlbXB0eSBjYXNlLiBSZXN0cnVjdHVyZWQKCSAgdGhlIGNvZGUgYSBiaXQgdG8gbWFrZSB0aGlzIHNvcnQgb2YgZXJyb3IgbGVzcyBsaWtlbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1MzUKCjIwMTQtMDctMDEgMTE6NTE6MjEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYWNjb3N0ZWQubmV0PgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IE1hcmsgZWxlbWVudCBhcyBhIGxpdmUgc291cmNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1MzUKCjIwMTQtMDctMDMgMTk6MTA6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiBBbHdheXMgbG9jayB0aGUgRDNEIHN1cmZhY2VzIGluIHdyaXRlIG1vZGUKCSAgTG9ja2luZyB0aGVtIGluIHJlYWRvbmx5IG1vZGUgY2FuIGdpdmUgZGlmZmVyZW50IHN0cmlkZSB0byBtYXBwaW5nCgkgIGluIHdyaXRlIG1vZGUsIHdoaWNoIHRoZW4gY2F1c2VzIHJlbmRlcmluZyB0byBiZSBicm9rZW4uCgkgIEhhcHBlbmVkIG9uIGFsbCAobWFueT8pIE5WSURJQSBHUFVzLgoJICBUaGFua3MgdG8gdm9za2F0ZXIxNUBnbWFpbC5jb20gZm9yIGhpbnRpbmcgYXQgdGhlIHByb2JsZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI4MDkKCjIwMTQtMDctMDMgMTk6MDU6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkaGVscGVyczogU3dhcCBVViBwbGFuZXMgcHJvcGVybHkgZm9yIFlWMTIgYXMgY29tcGFyZWQgdG8gSTQyMAoJICBJZiB3ZSBvbmx5IGRvIGl0IGluIG9uZSBwbGFjZSBjb2xvcnMgd2lsbCBsb29rIGZ1bm55LgoKMjAxNC0wNy0wMyAxNzo1MzozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFtYzogUHJvcGVybHkgaW50ZWdyYXRlIENPTE9SX1FDT01fRm9ybWF0WVZVNDIwU2VtaVBsYW5hcjMybSBhZ2FpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNjgzCgoyMDE0LTA3LTAzIDE1OjA3OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW1jYXVkaW9kZWM6IGF1ZGlvL21wZWcgaXMgYWx3YXlzIE1QRUcgMSBsYXllciAzCgkgIENvbmZpZ3VyaW5nIGUuZy4gbGF5ZXIgMiBvbiBzdWNoIGEgZGVjb2RlciB1c3VhbGx5IGZhaWxzIHVubGVzcwoJICBpdCBhZGRpdGlvbmFsbHkgYWxzbyBhY2NlcHRzIGF1ZGlvL21wZWctTDIuCgoyMDE0LTA3LTAzIDE0OjE1OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRG9uJ3QgZGVyZWZlcmVuY2UgTlVMTCBpZiB3ZSBoYXZlIG5vIFBDUiB5ZXQKCSAgQ2FuIGhhcHBlbiBzb21ldGltZXMgaWYgdGhlIGR1cmF0aW9uIGlzIHJlcXVlc3RlZCBiZWZvcmUgd2UKCSAgcmVjZWl2ZWQgZW5vdWdoIGRhdGEgd2l0aCBhIFBDUi4KCjIwMTQtMDctMDMgMjE6Mzk6MTkgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgdHNkZW11eDogQWRkIGxvY2tpbmcgYXJvdW5kIG1wZWd0c3BhY2tldGlzZXIgZ3JvdXBzLgoJICBPdGhlcndpc2Ugb2NjYXNpb25hbGx5IERVUkFUSU9OIHF1ZXJpZXMgY2FuIGNyYXNoLCBpZiB0aGV5IGhhcHBlbiBhdAoJICB0aGUgd3JvbmcgbW9tZW50LgoKMjAxNC0wNy0wMyAwOTowMDozMiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkgIGdsY29jb2E6IGluaXRhbGl6ZSBOU0FwcCBhc2FwIHdoZW4gdXNpbmcgZ3N0LWxhdW5jaAoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjY2MQoKMjAxNC0wNy0wMiAxMjo1NDo0NSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogZW5hYmxlIHZ0ZGVjIGFuZCB2dGVuYyBvbmx5IG9uID49IDEwLjggd2hlcmUgVmlkZW9Ub29sYm94IGlzIHB1YmxpYwoJICBGaXhlczogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzY3MAoKMjAxNC0wNy0wMiAwNDo1NDoyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogYXZvaWQgc2VnZmF1bHQgd2hlbiBvdXRwdXQgaXNuJ3QgY29uZmlndXJlZAoJICBUaGlzIGNhbiBoZWxwIHdoZW4gdGhlIGNhbGxiYWNrIGlzIGNhbGxlZCBkdXJpbmcvYWZ0ZXIgdmlkZW9kZWNvZGVyCgkgIGJhc2UgY2xhc3Mgc2h1dCBkb3duCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0MzUKCjIwMTQtMDctMDIgMDA6Mjc6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IGlnbm9yZSB0aGUgZHJvcHBlZCBmbGFnIGlmIGJ1ZmZlciB3YXMgcmVjZWl2ZWQKCSAgQXBwYXJlbnRseSB0aGVyZSBpcyBzb21lIGlzc3VlIHdpdGggVlQgdGhhdCBtYWtlcyBpdCBtYXJrIHRoZSBkcm9wcGVkCgkgIGZsYWcgZXZlbiB0aG91Z2ggdGhlIGJ1ZmZlciB3YXMgZGVjb2RlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODQzNQoKMjAxNC0wNy0wMiAxMDozMTo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IERvbid0IGxlYWsgYWxsIHN1cmZhY2VzCgkgIFRoaXMgd2FzIGJyb2tlbiB3aGVuIGRpc2FibGluZyB0aGUgYnVmZmVyIHBvb2wgZXhwb3J0aW5nLgoJICBBbHNvIGRpc2FibGUgYnVmZmVyIHBvb2wgYSBiaXQgbW9yZSBlZmZpY2llbnQuLi4KCjIwMTQtMDctMDIgMTA6MDE6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiBQb3N0TWVzc2FnZSgpIHRha2VzIGludGVnZXJzIGFzIGxhc3QgcGFyYW1ldGVycywgbm90IHBvaW50ZXJzCgoyMDE0LTA3LTAyIDA5OjU5OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxNC0wNy0wMiAxNzozODoxMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvbW9jX2dzdHRocmVhZC5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvbW9jX3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9tb2NfcWdscmVuZGVyZXIuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHd0ZXh0dXJlc2hhcmU6CgkgIGdsL2V4YW1wbGVzOiBnaXRpZ25vcmUgZ2VuZXJhdGVkIGZpbGVzCgoyMDE0LTA3LTAxIDA4OjM2OjUzICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9nbGNvbnRleHRpZC5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHJlbmRlcmVyLmNwcDoKCSAgZ2wgOiBmaXggcWdsd3RleHR1cmVzaGFyZSBkZW1vCgoyMDE0LTA2LTIzIDExOjUzOjExICswMjAwICBHw7ZyYW4gSsO2bnNzb24gPGdvcmFuam5AYXhpcy5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9nc3R3YXRjaGRvZy5jOgoJICB3YXRjaGRvZzogT25seSBjcmVhdGUgYSBuZXcgR1NvdXJjZSBpZiB3ZSBoYXZlIGEgbWFpbiBjb250ZXh0CgkgIFdlIGNhbiBzdGlsbCBnZXQgT09CIGV2ZW50cyB3aGlsZSBzdG9wcGluZyB0aGUgd2F0Y2hkb2cgZWxlbWVudCwgYW5kIHdoaWxlCgkgIHN0b3BwaW5nIGl0IHdlIGRlc3Ryb3kgdGhlIG1haW4gY29udGV4dC4KCSAgQWxzbyBsZXQgdGhlIEdTb3VyY2Ugb3duIGEgcmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50IGZvciBhZGRpdGlvbmFsIHNhZmV0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjU1NAoKMjAxNC0wNy0wMSAxMjo1MjozOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogcmVzZXQgUW9TIG9uIHNlZ21lbnQgZXZlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjU0MAoKMjAxNC0wNy0wMSAxNjo1NDowMCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9oMjY0cGFyc2VyLmM6CgkgIHRlc3RzOiBoMjY0cGFyc2VyOiBhZGQgdGVzdCB0byBpZGVudGlmeSBFT1NFUSAvIEVPUyBOQUxzLgoJICBDaGVjayB0aGF0IGVuZF9vZl9zZXEoKSBbRU9TRVFdIGFuZCBlbmRfb2Zfc3RyZWFtIFtFT1NdIE5BTCB1bml0cwoJICBhcmUgY29ycmVjdGx5IHBhcnNlZCBhbmQgdGhlIHJlcG9ydGVkIE5BTCB1bml0IHNpemUgeWllbGRzIDEgYnl0ZSwKCSAgaS5lLiB0aGUgb25seSBOYWxIZWFkZXJCeXRlcyBpbiB0aGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjU1MwoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA2LTI1IDE3OjE5OjAwICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjY0cGFyc2UuYzoKCSAgdGVzdHM6IGgyNjRwYXJzZTogYWRkIHRlc3QgZm9yIGJ5dGUtc3RyZWFtL2F1IG91dHB1dC4KCSAgQ2hlY2sgdGhhdCBjb252ZXJzaW9uIHRvIGJ5dGUtc3RyZWFtL2F1IGZvcm1hdHMgd29yayBhbmQgdGhhdCB3ZQoJICBjYW4gZWZmZWN0aXZlbHkgZHJvcCBicm9rZW4vaW52YWxpZCBOQUwgdW5pdHMgZnJvbSB0aGUgcmVzdWx0aW5nCgkgIGFjY2VzcyB1bml0IGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjIwMwoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA2LTI1IDE4OjQ3OjU1ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjY0cGFyc2UuYzoKCSAgdGVzdHM6IGgyNjRwYXJzZTogY2hlY2sgU0VJIGJ1ZmZlcmluZ19wZXJpb2QoKSBtZXNzYWdlIGlzIG91dHB1dC4KCSAgSWYgYW4gU0VJIE5BTCB1bml0IHdpdGggYSBidWZmZXJpbmdfcGVyaW9kKCkgbWVzc2FnZSBpcyBpbnNlcnRlZAoJICBiZXR3ZWVuIGFuIFNQUyBhbmQgUFBTIE5BTCB1bml0LCBjaGVjayB0aGF0IHRoZSBvdXRwdXQgYnVmZmVyIHN0aWxsCgkgIGNvbnRhaW4gaXQuIGkuZS4gbWFrZSBzdXJlIHRoYXQgdGhpcyBTRUkgbWVzc2FnZSBpcyBub3QgZHJvcHBlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjE1NgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA2LTI2IDA5OjQ0OjI2ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCBjb2xsZWN0aW9uIG9mIGFjY2VzcyB1bml0cyB0byBwcmVzZXJ2ZSBjb25maWcgaGVhZGVycy4KCSAgQWx3YXlzIHVzZSBhIEdzdEFkYXB0ZXIgd2hlbiBjb2xsZWN0aW5nIGFjY2VzcyB1bml0cyAoYWxpZ25tZW50PSJhdSIpCgkgIGluIGVpdGhlciBieXRlLXN0cmVhbSBvciBhdmNDIGZvcm1hdC4gVGhpcyBpcyByZXF1aXJlZCB0byBwcm9wZXJseQoJICBwcmVzZXJ2ZSBjb25maWcgaGVhZGVycyBsaWtlIFNQUyBhbmQgUFBTIHdoZW4gaW52YWxpZCBvciBicm9rZW4gTkFMCgkgIHVuaXRzIGFyZSBzdWJzZXF1ZW50bHkgcGFyc2VkLgoJICBNb3JlIHByZWNpc2VseSwgdGhpcyBmaXhlcyBzY2VuYXJpbyBsaWtlOgoJICA8U1BTPiA8UFBTPiA8aW52YWxpZC1OQUw+IDxzbGljZT4KCSAgd2hlcmUgd2UgdXNlZCB0byByZXNldCB0aGUgb3V0cHV0IGZyYW1lIGJ1ZmZlciB3aGVuIGFuIGludmFsaWQgb3IKCSAgYnJva2VuIE5BTCBpcyBwYXJzZWQsIGkuZS4gU1BTIGFuZCBQUFMgTkFMIHVuaXRzIHdlcmUgbG9zdCwgdGh1cwoJICBwcmV2ZW50aW5nIHRoZSBuZXh0IHNsaWNlIHVuaXQgdG8gYmUgZGVjb2RlZCwgc2hvdWxkIHRoaXMgYWxzbwoJICByZXByZXNlbnQgYW55IHZhbGlkIGRhdGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIyMDMKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNi0yNSAxMzoxNDoxMCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBpbXByb3ZlIGNvbmRpdGlvbnMgZm9yIHNraXBwaW5nIE5BTCB1bml0cy4KCSAgQ2FyZWZ1bGx5IHRyYWNrIGNhc2VzIHdoZW4gc2tpcHBpbmcgYnJva2VuIG9yIGludmFsaWQgTkFMIHVuaXRzIGlzCgkgIG5lY2Vzc2FyeS4gSW4gcGFydGljdWxhciwgYWx3YXlzIGFsbG93IE5BTCB1bml0cyB0byBiZSBwcm9jZXNzZWQKCSAgYW5kIGxldCB0aGF0IGdzdF9oMjY0X3BhcnNlX3Byb2Nlc3NfbmFsKCkgZnVuY3Rpb24gZGVjaWRlIG9uIHdoZXRoZXIKCSAgdGhlIGN1cnJlbnQgTkFMIG5lZWRzIHRvIGJlIGRyb3BwZWQgb3Igbm90LgoJICBUaGlzIGZpeGVzIHBhcnNpbmcgb2Ygc3RyZWFtcyB3aXRoIFNFSSBOQUwgYnVmZmVyaW5nX3BlcmlvZCgpIG1lc3NhZ2UKCSAgaW5zZXJ0ZWQgYmV0d2VlbiBTUFMgYW5kIFBQUywgb3IgU1BTLUV4dCBOQUwgZm9sbG93aW5nIGEgdHJhZGl0aW9uYWwKCSAgU1BTIE5BTCB1bml0LCBhbW9uZyBvdGhlciBjYXNlcyB0b28uCgkgIFByYWN0aWNhbCBleGFtcGxlcyBmcm9tIHRoZSBILjI2NCBBVkMgY29uZm9ybWFuY2Ugc3VpdGUgaW5jbHVkZQoJICBhbHBoYWNvbmZvcm1hbmNlRywgQ1ZTRTJfU29ueV9CLCBDVlNFM19Tb255X0gsIENWU0VGREZUM19Tb255X0UKCSAgd2hlbiBwYXJzaW5nIGluIHN0cmVhbS1mb3JtYXQ9Ynl0ZS1zdHJlYW0sYWxpZ25tZW50PWF1IG1vZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIyMDMKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNi0yNSAxMTowNjo0MSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBpbnRyb2R1Y2UgbmV3IHN0YXRlIHRyYWNraW5nIHZhcmlhYmxlcy4KCSAgSW1wcm92ZSBwYXJzZXIgc3RhdGUgdHJhY2tpbmcgYnkgaW50cm9kdWNpbmcgbmV3IGZsYWdzIHJlZmxlY3RpbmcKCSAgaXQ6ICJnb3Qtc3BzIiwgImdvdC1wcHMiIGFuZCAiZ290LXNsaWNlIi4gVGhpcyBpcyBhbiBhZGRpdGlvbiBmb3IKCSAgcm9idXN0bmVzcyBwdXJwb3Nlcy4KCSAgT2xkZXIgaGF2ZV9zcHMgYW5kIGhhdmVfcHBzIHZhcmlhYmxlcyBhcmUga2VwdCBiZWNhdXNlIHRoZXkgaGF2ZQoJICBhIGRpZmZlcmVudCBtZWFuaW5nLiBpLmUuIHRoZXkgYXJlIHVzZWQgZm9yIGRlY2lkaW5nIG9uIHdoZW4gdG8KCSAgc3VibWl0IHVwZGF0ZWQgY2FwcyBvciBub3QsIGFuZCByYXRoZXIgbWVhbiAiaGF2ZSBuZXcgU1BTL1BQUyB0bwoJICBiZSBzdWJtaXR0ZWQ/IgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA2LTI0IDEzOjU1OjEzICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCBhbmQgb3B0aW1pemUgTkFMIGNvbGxlY3Rpb24gZnVuY3Rpb24uCgkgIFVzZSBnc3RfaDI2NF9wYXJzZXJfaWRlbnRpZnlfbmFsdV91bmNoZWNrZWQoKSB0byBpZGVudGlmeSB0aGUgbmV4dAoJICBOQUwgdW5pdC4gV2UgZG9uJ3Qgd2FudCB0byBwYXJzZSB0aGUgZnVsbCBOQUwgdW5pdCwgYnV0IG9ubHkgdGhlCgkgIGhlYWRlciBieXRlcyBhbmQgcG9zc2libHkgdGhlIGZpcnN0IFJCU1AgYnl0ZSBmb3IgaWRlbnRpZnlpbmcgdGhlCgkgIGZpcnN0X21iX2luX3NsaWNlIHN5bnRheCBlbGVtZW50LgoJICBBbHNvIGZpeCBjaGVjayBmb3IgZmFpbHVyZSB3aGVuIHJldHVybmluZyBmcm9tIHRoYXQgZnVuY3Rpb24uIFRoZQoJICBvbmx5IHN1Y2Nlc3MgY29uZGl0aW9uIGZvciB0aGF0IGlzIEdTVF9IMjY0X1BBUlNFUl9PSywgc28gdXNlIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMTU0CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDctMDEgMTY6MDk6MjggKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGNsYXJpZmljYXRpb25zIGFuZCBkb2N1bWVudGF0aW9uIGZpeGVzLgoJICBGaXggZG9jdW1lbnRhdGlvbiBmb3IgR3N0SDI2NE5hbFVuaXQuIFRoZSBAcmVmX2lkYyBwYXJ0IHdhcyB0b3RhbGx5CgkgIHVuYmFsYW5jZWQuIEFsc28gYWRkIGEgbm90ZSBhYm91dCBAb2Zmc2V0IGFuZCBAc2l6ZSBmaWVsZHMgdG8gcmVtaW5kCgkgIHRoYXQgdGhpcyBpcyByZWxhdGl2ZSB0byB0aGUgc3RhcnQgb2YgdGhlIE5BTCB1bml0LCB0aHVzIGluY2x1ZGluZwoJICB0aGUgaGVhZGVyIGJ5dGVzLgoKMjAxNC0wNy0wMSAxNTo0NjoxNyArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IGlkZW50aWZpY2F0aW9uIG9mIEVPU0VRIGFuZCBFT1MgTkFMcy4KCSAgQW4gZW5kX29mX3NlcSgpIFtFT1NFUV0gb3IgZW5kX29mX3N0cmVhbSgpIFtFT1NdIE5BTCB1bml0IGlzIHJlYWxseQoJICBvbmUgYnl0ZSBsb25nIGJlY2F1c2UgdGhpcyBzaGFsbCBpbmNsdWRlIHRoZSBOYWxIZWFkZXJCeXRlcyAoMSkgdG9vLgoJICBUaGUgTkFMVS5vZmZzZXQgc3RhcnRzIGZyb20gdGhlIGZpcnN0IGJ5dGUgb2YgdGhlIGhlYWRlci4KCSAgVGhpcyBpcyB0aGUgcHJvcGVyIGZpeCB0byBjb21taXQgZDM3Zjg0Mi4gSW4gcHJhY3RpY2UsIHRoaXMgZml4ZXMKCSAgcGFyc2luZyBvZiBGUkV4dDFfUGFuYXNvbmljX0QgYW5kIEZSRXh0Ml9QYW5hc29uaWNfQywgdGhhdCBpbmNsdWRlCgkgIGFkZGl0aW9uYWwgZnJhbWVzIGFmdGVyIGFuIEVPU0VRLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNTUzCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDYtMjcgMTI6MjQ6NDkgKzAyMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGphbi5zdGVmZmVuc0BnbWFpbC5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IFJlcG9ydCBsaW1pdGVkIGJhbmR3aWR0aAoJICBNYWtlcyB1cmlkZWNvZGViaW4gdHJlYXQgdGhpcyBzb3VyY2UgYXMgYSBzdHJlYW0gc291cmNlLAoJICBhbGxvd2luZyB0aW1lc2hpZnRpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIzMzUKCjIwMTQtMDctMDEgMTA6MDM6MDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3RzLmM6CgkgIG1wZWd0czogRXhwb3NlIEdzdE1wZWd0c0Rlc2NyaXB0b3IgZnJlZSBmdW5jdGlvbgoJICBOb3RoaW5nIGVhcnRoIHNoYXR0ZXJpbmcsIGJ1dCBhdm9pZHMgcGVvcGxlIGhhdmluZyB0byB1c2UgZ19ib3hlZF9mcmVlKCkKCjIwMTQtMDYtMzAgMTk6MTU6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGVhZ2w6IERpc2FibGUgdXNhZ2Ugb2YgUiBhbmQgUkcgdGV4dHVyZXMgb24gaU9TCgkgIFRoZXkgZG9uJ3Qgd29yayBjdXJyZW50bHkgYW5kIGp1c3QgcmVuZGVyIHplcm9lcywgd2hpbGUgdGhlCgkgIGZhbGxiYWNrIGNvZGUgcGF0aCB3aXRoIExVTSBhbmQgTFVNX0FMUEhBIHRleHR1cmVzIHN0aWxsIHdvcmtzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMzkwCgoyMDE0LTA2LTMwIDExOjU0OjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSAgZmFjZWJsdXI6IHJlbGVhc2UgdGhlIGhhYXIgY2FzY2FkZQoKMjAxNC0wNi0zMCAxMjoyMjowNyArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2FnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogQXZvaWQgZGVzdHJveWluZyBzb3VyY2VzIHdlIGRvIG5vdCBvd24KCSAgKyBVbnJlZiB0aGUgbWFpbmNvbnRleHQgaW4gYSBuZXcgZGlzcG9zZSBmdW5jdGlvbgoJICArIE1ha2Ugc3VyZSB0byByZW1vdmUgYWxsIHNvdXJjZXMgb24gZGlzcG9zZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNDQ1CgoyMDE0LTA2LTE2IDEyOjM1OjEzICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IGZpeCBtZW1vcnkgbGVhawoJICBUaGUgcGl4ZWwgYnVmZmVyIHJlbGVhc2UgY2FsbGJhY2sgaXMgY2FsbGVkIGlmIHRoZSB2b2lkICoKCSAgZGF0YVB0ciBnaXZlbiB0byB0aGUgQ1ZQaXhlbEJ1ZmZlckNyZWF0ZVdpdGhQbGFuYXJCeXRlcwoJICBpcyBub3QgTlVMTC4KCSAgQWNjb3JkaW5nIHRvIHRoZSBkb2N1bWVudGF0aW9uIGRhdGFQdHIgaXMgc3VwcG9zZWQgdG8gYmUgYQoJICAicGxhbmUgZGVzY3JpcHRpb24gYmxvY2siIGJ1dCBubyBzcGVjaWZpYyB0eXBlIGlzIGdpdmVuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExODQ3CgoyMDE0LTA2LTMwIDAwOjIyOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5jdi9nc3RzZWdtZW50YXRpb24uY3BwOgoJICBzZWdtZW50YXRpb246IFJlbGVhc2UgbWVtb3J5IHN0b3JhZ2UgaW4gZmluYWxpemUKCjIwMTQtMDYtMzAgMDA6MTg6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5LmM6CgkgIHRleHRvdmVybGF5OiBSZWxlYXNlIG1lbW9yeSBzdG9yYWdlIGFuZCByZXNpemUgaW1hZ2Ugd2hlbiBjYXBzIGNoYW5nZQoKMjAxNC0wNi0zMCAwMDoxNTozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJICB0ZW1wbGF0ZW1hdGNoOiBSZWxlYXNlIGN2SW1hZ2VzIHdoZW4gcmVsb2FkaW5nIHRlbXBsYXRlcyBhcmUgY2hhbmdpbmcgY2FwcwoKMjAxNC0wNi0zMCAwMDoxMjoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSAgcHlyYW1pZHNlZ21lbnQ6IFJlbGVhc2UgaW1hZ2Ugd2hlbiBjaGFuZ2luZyBjYXBzIG9yIHJldXNpbmcgdGhlIGVsZW1lbnQKCjIwMTQtMDYtMzAgMDA6MDk6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuYzoKCSAgaGFuZGRldGVjdDogUmVsZWFzZSBtZW1vcnkgc3RvcmFnZQoKMjAxNC0wNi0zMCAwMDowNzoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSAgZmFjZWJsdXI6IFJlbGVhc2UgbWVtb3J5IHN0b3JhZ2UKCSAgQW5kIGFsc28gcmVsZWFzZSBjdkltYWdlcyBhbmQgbWVtb3J5IHN0b3JhZ2Ugd2hlbiBjaGFuZ2luZyBjYXBzIG9yIHJldXNpbmcgdGhlCgkgIGVsZW1lbnQuCgoyMDE0LTA2LTMwIDAwOjA1OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkgIGVkZ2VkZXRlY3Q6IERvbid0IGxlYWsgY3ZJbWFnZXMgd2hlbiBjYXBzIGFyZSBjaGFuZ2luZyBvciB0aGUgZWxlbWVudCBpcyByZXVzZWQKCjIwMTQtMDYtMjkgMjM6NDI6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkgIHB5cmFtaWRzZWdtZW50OiBSZWxlYXNlIG1lbW9yeSBzdG9yYWdlIHdoZW4gZmluYWxpemluZwoKMjAxNC0wNi0yOSAyMzozMzoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IFJlbW92ZSBvYnNvbGV0ZSBGSVhNRSBjb21tZW50CgoyMDE0LTA2LTI5IDIzOjMxOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogRG9uJ3QgbGVhayBhbGwgaW5wdXQgYnVmZmVycwoKMjAxNC0wNi0yOSAyMzoyMjoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IEZpeCBtZW1vcnkgbGVhayBpbiB1bml0IHRlc3QKCjIwMTQtMDYtMjkgMjI6MzA6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5LmM6CgkgIHRleHRvdmVybGF5OiBGcmVlIHRleHQgYnVmZmVyIGluIGZpbmFsaXplCgoyMDE0LTA2LTI5IDIyOjI2OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBDaGFpbiB1cCB0byB0aGUgcGFyZW50IGNsYXNzJyBmaW5hbGl6ZSBmdW5jdGlvbgoKMjAxNC0wNi0yOSAyMjoyNTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogTWFrZSBzdXJlIHRvIGFsd2F5cyB1bnJlZiB0aGUgZGlzcGxheQoJICBFdmVuIGlmIHdlIGRpZG4ndCBjcmVhdGUgYSBjb250ZXh0IHlldC4KCjIwMTQtMDYtMjkgMjI6MjA6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmg6CgkgIGludGVyc3Vic3JjOiBiYXNlc3JjIGlzIGFscmVhZHkgY3JlYXRpbmcgYSBwYWQgZm9yIHVzLCBubyBuZWVkIHRvIGRvIGl0IHR3aWNlCgoyMDE0LTA2LTI5IDIyOjE4OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3lhZGlmL2dzdHlhZGlmLmM6CgkqIGdzdC95YWRpZi9nc3R5YWRpZi5oOgoJICB5YWRpZjogYmFzZXRyYW5zZm9ybSBpcyBjcmVhdGluZyBwYWRzIGZvciB1cyBhbHJlYWR5LCBkb24ndCBkbyBpdCB0d2ljZQoKMjAxNC0wNi0yOSAyMTo1NzozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IEZpeCBtZW1vcnkgbGVhayBpbiB1bml0IHRlc3QKCjIwMTQtMDYtMjkgMjE6NTM6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IEZpeCBtZW1vcnkgbGVha3MgaW4gdW5pdCB0ZXN0CgoyMDE0LTA2LTI5IDIxOjM0OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3RzLmM6CgkgIG1wZWd0czogRml4IG1lbW9yeSBsZWFrcyBpbiB0aGUgdGVzdCBhbmQgdGhlIGxpYnJhcnkKCSAgQ3VycmVudGx5IHVzZXMgZ19ib3hlZF9mcmVlKCkgaW4gdGhlIHVuaXQgdGVzdCwgdGhpcyBuZWVkcyB0bwoJICBiZSBmaXhlZCBwcm9wZXJseSB3aGVuIGNsZWFuaW5nIHVwIHRoZSBBUEkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA5MTQKCjIwMTQtMDYtMjkgMjE6MDU6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IE1ha2Ugc3RhdGljIGNhcHMgYWN0dWFsbHkgc3RhdGljCgkgIE90aGVyd2lzZSB3ZSBsZWFrIG9uY2UgY2FwcyBpbnN0YW5jZSBvbiBldmVyeSBmdW5jdGlvbiBjYWxsLgoKMjAxNC0wNi0yOSAyMTowMTozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjRzcmM6IEZyZWUgcHJvcGVydHkgc3RyaW5ncyB3aGVuIGRpc3Bvc2luZyB0aGUgaW5zdGFuY2UKCjIwMTQtMDYtMjkgMjA6NTg6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5jOgoJICBpbnRlcnN1YnNpbmsvc3JjOiBGcmVlIGNoYW5uZWwgc3RyaW5nIHdoZW4gZmluYWxpemluZyB0aGUgaW5zdGFuY2UKCjIwMTQtMDYtMjkgMjA6MTM6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0c3JjOiBGaXggY29tcGlsZXIgd2FybmluZyB3aGVuIGNvbXBpbGluZyB3aXRoIEdfRElTQUJMRV9BU1NFUlQKCjIwMTQtMDYtMjkgMjA6MTE6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBGaXggY29tcGlsZXIgd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCBHX0RJU0FCTEVfQVNTRVJUCgoyMDE0LTA2LTI4IDIzOjI2OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlOiBVc2UgR19HU0laRV9GT1JNQVQgaW5zdGVhZCBvZiB1bnBvcnRhYmxlICV6dQoKMjAxNC0wNi0yOCAxNzowMjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9iYWQtdmlkZW8tb3JjLWRpc3QuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2JhZC12aWRlby1vcmMtZGlzdC5oOgoJICBiYWR2aWRlbzogVXBkYXRlIGRpc3QgZ2VuZXJhdGVkIE9SQyBmaWxlcwoKMjAxNC0wNi0yOCAxNzowMTo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9iYWQtdmlkZW8tb3JjLm9yYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGNtcy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0Y21zLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb252ZXJ0Lmg6CgkgIGJhZHZpZGVvOiBSZW5hbWUgdmlkZW9jb252ZXJ0IGZ1bmN0aW9ucyB0byBwcmV2ZW50IGNvbmZsaWN0cyB3aXRoIHN0YXRpYyBsaW5raW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0NDMKCjIwMTQtMDYtMjggMTE6MjA6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9hZ2dyZWdhdG9yLmM6CgkgIHRlc3RzOiBhZ2dyZWdhdG9yOiBmaXggdmFyaW91cyBsZWFrcyBpbiB0aGUgdGVzdHMKCjIwMTQtMDYtMjggMDk6NDM6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiB0ZXN0czogRml4IHBhZCBsZWFrCgkgIFJlbWVtYmVyIHRvIHVucmVmIHJlcXVlc3RlZCBwYWQKCjIwMTQtMDYtMjggMDk6MzU6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJICBkYXRhdXJpc3JjOiBmaXggbGVhayBhcyBnc3RfYnVmZmVyX3JlcGxhY2UgYWRkcyBpdHMgb3duIHJlZgoJICBTbyB1bnJlZiB0aGUgYnVmZmVyIGFmdGVyIHRoYXQgb3RoZXJ3aXNlIGl0IGxlYWtzCgoyMDE0LTA2LTI4IDA5OjM0OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogYWx3YXlzIHN0b3JlIG9yIHVucmVmIHRoZSBidWZmZXIgb24gdGhlIF9jaGFpbiBmdW5jdGlvbgoJICBPdGhlcndpc2UgaXQgbGVha3MsIGFuZCBpdCBpcyB2ZXJ5IGNvbW1vbiB0byBnbyB0byBmbHVzaGluZyB3aGVuIHRoZQoJICBwaXBlbGluZSBpcyBzdG9wcGluZywgbGVha2luZyBhIGJ1ZmZlci4KCjIwMTQtMDYtMjggMDk6MzI6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBhbHdheXMgdW5yZWYgdGhlIGJ1ZmZlciBvbiBfZmluaXNoIGZ1bmN0aW9uCgkgIE90aGVyd2lzZSB0aGUgdXNlciBkb2Vzbid0IGtub3cgaWYgaXQgd2FzIHVucmVmJ2Qgb3Igbm90CgoyMDE0LTA2LTI4IDA5OjMxOjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogYWRkIGRpc3Bvc2UvZmluYWxpemUgZnVuY3Rpb25zCgkgIEFkZCBmdW5jdGlvbnMgdG8gYmUgYWJsZSB0byBjbGVhbnVwIHRoZSBtdXRleC9jb25kIGFuZCBwZW5kaW5nIGJ1ZmZlcnMKCSAgb24gdGhlIGFnZ3JlZ2F0b3IgYW5kIG9uIGl0cyBwYWQKCj09PSByZWxlYXNlIDEuMy45MCA9PT0KCjIwMTQtMDYtMjggMTE6MzA6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjMuOTAKCjIwMTQtMDYtMjggMTE6Mjc6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNC0wNi0yOCAxMDo0Mzo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkgIGludGVyYXVkaW9zcmM6IEZhaWwgaW4gc2V0X2NhcHMoKSBpZiB0aGUgY2FwcyBjYW4ndCBiZSBwYXJzZWQKCjIwMTQtMDYtMjcgMTc6MzU6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW46IGZpeCBjYXBzIGxlYWsgaW4gdGVzdAoJICBUaGUgZ3N0X3F1ZXJ5X3NldF9jYXBzX3Jlc3VsdCBkb2Vzbid0IHRha2Ugb3duZXJzaGlwIG9mIGNhcHMKCjIwMTQtMDYtMjcgMTc6Mjc6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogZml4IGNhcHMgbGVha3MKCSAgRml4IGxlYWsgb2YgY2FwcyBldmVudCBhbmQgb2YgY2FwcyBvYmplY3RzIHdoZW4gc2V0dGluZyBjYXBzIG9uCgkgIHNpbmsgYW5kIHNyYyBwYWRzCgoyMDE0LTA2LTI3IDE3OjAwOjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IHVucmVmIGV2ZW50cyB3aGVuIGZyZWVpbmcgZXZlbnRzIGxpc3QKCSAgSW5zdGVhZCBvZiBqdXN0IGZlZWluZyB0aGUgcXVldWUgc3RydWN0cwoKMjAxNC0wNi0yNyAxNjo1ODo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkgIGthdGVlbmM6IGZpeCBzZWdtZW50IGV2ZW50IGxlYWsKCSAgZ3N0X2V2ZW50X3JlcGxhY2UgaW5jcmVtZW50cyB0aGUgcmVmY291bnQKCjIwMTQtMDYtMjcgMTI6NTA6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkgIG1wZWd0czogYXRzYzogYXZvaWQgY2FsbGluZyBnX2NvbnZlcnQgd2l0aCAwLXNpemVkIGlucHV0CgkgIEF2b2lkcyBhbiBhc3NlcnRpb24uIFRoZSBjYWNoZWQgc3RyaW5nIHdpbGwgYmUgYXNzaWduZWQgYW4gZW1wdHkgc3RyaW5nCgkgIGFzIGl0cyB2YWx1ZSB3aGVuIHNpemUgaXMgMC4KCjIwMTQtMDYtMjcgMTA6NTM6MjAgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogd2luMzIvY29tbW9uL2xpYmdzdGNvZGVjcGFyc2Vycy5kZWY6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IG1lbW9yeSBsZWFrIGluIEdzdEgyNjRQUFMuCgkgIFRoZSBnc3RfaDI2NF9wYXJzZV9wcHMoKSBmdW5jdGlvbiBkeW5hbWljYWxseSBhbGxvY2F0ZXMgdGhlIHNsaWNlCgkgIGdyb3VwIGlkcyBtYXAgYXJyYXksIHNvIHRoYXQgbmVlZHMgdG8gYmUgY2xlYXJlZCBiZWZvcmUgcGFyc2luZyBhCgkgIG5ldyBQUFMgTkFMIHVuaXQgYWdhaW4sIG9yIHdoZW4gaXQgaXMgbm8gbG9uZ2VyIG5lZWRlZC4KCSAgTGlrZXdpc2UsIGEgY2xlYW4gY29weSB0byB0aGUgaW50ZXJuYWwgTkFMIHBhcnNlciBzdGF0ZSBuZWVkcyB0byBiZQoJICBwZXJmb3JtZWQgc28gdGhhdCB0byBhdm9pZCBhIGRvdWJsZS1mcmVlIGNvcnJ1cHRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDcyODIKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNi0yNiAxNzoxODo0NyArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IHR5cG8gaW4gR3N0SDI2NFZVSVBhcmFtcyBkZXNjcmlwdGlvbi4KCjIwMTQtMDEtMzEgMTc6MDc6NDIgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogYWRkIHN1cHBvcnQgZm9yIFJlY292ZXJ5IFBvaW50IFNFSSBtZXNzYWdlLgoJICBUaGUgcmVjb3ZlcnkgcG9pbnQgU0VJIG1lc3NhZ2UgaGVscHMgYSBkZWNvZGVyIGluIGRldGVybWluaW5nIGlmIHRoZQoJICBkZWNvZGluZyBwcm9jZXNzIHdvdWxkIHByb2R1Y2UgYWNjZXB0YWJsZSBwaWN0dXJlcyBmb3IgZGlzcGxheSBhZnRlcgoJICB0aGUgZGVjb2RlciBpbml0aWF0ZXMgcmFuZG9tIGFjY2VzcyBvciBhZnRlciB0aGUgZW5jb2RlciBpbmRpY2F0ZXMKCSAgYSBicm9rZW4gbGluayBpbiB0aGUgY29kZWQgdmlkZW8gc2VxdWVuY2UuCgkgIFRoaXMgaXMgbm90IHVzZWQgaW4gdGhlIGgyNjRwYXJzZSBlbGVtZW50LCBidXQgaXQgY291bGQgaGVscCBkZWJ1Z2dpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMzODAKCjIwMTQtMDMtMjUgMTI6MDE6NTUgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL25hbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvbmFsdXRpbHMuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBhZGQgbmFsX3JlYWRlcl9za2lwX2xvbmcoKSBoZWxwZXIuCgkgIEFkZCBuYWxfcmVhZGVyX3NraXBfbG9uZygpIGhlbHBlciBmdW5jdGlvbiB0byBhbGxvdyBhbiBhcmJpdHJhcnkgbnVtYmVyCgkgIG9mIGJpdHMgdG8gYmUgc2tpcHBlZC4gVGhlIGZvcm1lciBuYWxfcmVhZGVyX3NraXAoKSBmdW5jdGlvbiBpcyB0b28KCSAgbGltaXRlZCB0byB0aGUgYWN0dWFsIGNhY2hlIHNpemUuCgkgIFVzZSB0aGlzIG5ldyBmdW5jdGlvbiB0byBzaW1wbGlmeSBnc3RfaDI2NF9wYXJzZXJfcGFyc2Vfc2VpX21lc3NhZ2UoKQoJICBkZWZhdWx0IGNhc2UsIHRoYXQgc2tpcHMgdW5zdXBwb3J0ZWQgcGF5bG9hZHMuCgkgIHYyOiBtYWRlIGFyZ3MgY29uc2lzdGVudCBmcm9tIGhlYWRlciB0byBzb3VyY2UgZmlsZS4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNi0yNyAwMDowOTowOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogZml4IGEgcmVmY291bnQgZXJyb3Igd2hlbiBrZWVwaW5nIHRoZSBidWZmZXIKCSAgV2UgdGFrZSBhIHJlZiBvbiB0aGUgcGFkJ3MgYnVmZmVyIGF0IHRoZSBiZWdpbm5pbmcgc28gd2UgbmVlZCB0bwoJICB1bnJlZiB3aGVuIHdlIGFyZSBkb25lIGluIGFsbCBjYXNlcy4KCjIwMTQtMDYtMjYgMTU6NTk6MzUgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dnA4cmFuZ2VkZWNvZGVyLmM6CgkgIGNvZGVjcGFyc2VyczogdnA4OiBtb3ZlIHVwIGJ1aWx0LWluIHJhbmdlIGRlY29kZXIgcHJpdmF0ZSBkYXRhLgoJICBVc2UgdGhlIGZpcnN0IF9nc3RfcmVzZXJ2ZWRbXcKgc2xvdCB0byBob2xkIHRoZSBidWlsdC1pbiByYW5nZSBkZWNvZGVyCgkgIHByaXZhdGUgZGF0YS4gVGhlIGZpcnN0IHNsb3Qgd2FzIGZvcm1lcmx5IHRoZSBidWZmZXIgc2l6ZSwgd2hpY2ggd2FzCgkgIHRoZW4gcHJvbW90ZWQgdG8gc2VtaS1wdWJsaWMgbmFtZXNwYWNlIHdoZW4gaXQgZ290IGludGVncmF0ZWQgYXMgZ2l0CgkgIGNvbW1pdCAyOTQwYWM2LgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA2LTI2IDExOjI1OjM3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogZnJlZSBwaXhlbCBzd2l6emxpbmcgaW5mb3JtYXRpb24KCjIwMTQtMDYtMjYgMTE6MTU6NTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuaDoKCSAgZ2xtaXhlcjogcmVtb3ZlIHJlZHVuZGFudC91bnVzZWQgbG9jawoJICBVc2UgdGhlIEdzdE9iamVjdCBsb2NrIGluc3RlYWQKCjIwMTQtMDYtMjYgMTE6MTI6NDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogcmVtb3ZlIHJlZHVuZGFudCBjcmVhdGlvbiBhbmQgZnJlZSBvZiBHUHRyQXJyYXlzCgkgIEFsc28gcGx1Z3MgYSBtZW1vcnkgbGVhawoKMjAxNC0wNi0yNiAxMDo1NDozOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBwbHVnIGEgbWVtb3J5IGxlYWsgZm9yIHRoZSBjYXBzCgkgIGdzdF9xdWVyeV9zZXRfY2Fwc19yZXN1bHQoKSB0YWtlcyBhIHJlZiBvbiB0aGUgY2FwcwoKMjAxNC0wNi0yNiAxMDo1MzoxNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IHBsdWcgYSBtZW1vcnkgbGVhayBvZiB0aGUgc3JjY2FwcwoKMjAxNC0wNi0yNiAxMDozMTowMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBpbnRlcnNlY3Qgd2l0aCB0aGUgZmlsdGVyY2FwcyBpZiBhdmFpbGFibGUKCjIwMTQtMDYtMjYgMTA6MzA6NDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nc3RnbF9nbGVzMmNvbXBhdC5oOgoJICBnbDogdXBkYXRlIGdsZXMyIGNvbXBhdGFiaWxpdHkgaGVhZGVyCgoyMDE0LTA2LTI1IDE0OjUwOjA1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LXNjdGUtc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5oOgoJKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmM6CgkqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuaDoKCSogc3lzL2R2Yi9jYW1kZXZpY2UuYzoKCSogc3lzL2R2Yi9jYW1kZXZpY2UuaDoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50Lmg6CgkqIHN5cy9kdmIvY2FtdXRpbHMuYzoKCSogc3lzL2R2Yi9jYW11dGlscy5oOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndHMuYzoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBtcGVndHM6IFVuaWZ5IEFQSSA6IEdzdE1wZWd0cyAvIGdzdF9tcGVndHNfIC8gR1NUXypfTVBFR1RTXwoJICBJdCB3YXMgcHJldmlvdXNseSBhIG1peCBhbmQgbWF0Y2ggb2YgYm90aCB2YXJpYW50cywgaW50cm9kdWNpbmcganVzdCB0b28gbXVjaAoJICBjb25mdXNpb24uCgkgIFRoZSBwcmVmaXggYXJlIGZyb20gbm93IG9uOgoJICAqIEdzdE1wZWd0cyBmb3Igc3RydWN0dXJlcyBhbmQgdHlwZSBuYW1lcyAoYW5kIG5vdCBHc3RNcGVnVHMpCgkgICogZ3N0X21wZWd0c18gZm9yIGZ1bmN0aW9ucyAoYW5kIG5vdCBnc3RfbXBlZ190c18pCgkgICogR1NUX01QRUdUU18gZm9yIGVudW1zL2ZsYWdzIChhbmQgbm90IEdTVF9NUEVHX1RTXykKCSAgKiBHU1RfVFlQRV9NUEVHVFNfIGZvciB0eXBlcyAoYW5kIG5vdCBHU1RfVFlQRV9NUEVHX1RTXykKCSAgVGhlIHJhdGlvbmFsZSBmb3IgY2hvc2luZyB0aGF0IGlzOgoJICAqIHRoZSBuYW1lc3BhY2UgaXMgc2hvcnRlci9kaXJlY3QgKGl0J3MgbXBlZ3RzLCBub3QgbXBlZ190cyBub3IgbXBlZy10cykKCSAgKiB0aGUgbmFtZXNwYWNlIGlzIG9uZSB3b3JkIHVuZGVyIEdzdAoJICAqIGl0J3Mgc2hvcnRlciAoeWFoKQoKMjAxNC0wNi0yNSAxNDoxMzo1NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVndHNzZWN0aW9uOiBGcmVlIGRhdGEgaW4gZXJyb3IgY2FzZXMKCSAgRGF0YSBpcyBtYXJrZWQgYXMgInRyYW5zZmVyIGZ1bGwiLCBpZiB3ZSBoYXZlIGFuIGVycm9yIHdlIG5lZWQgdG8KCSAgZnJlZSBpdC4KCjIwMTQtMDYtMjUgMjI6MDU6MzcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBwYXNzIHRocm91Z2ggdGhlIGFsbG9jYXRpb24gcXVlcnkgd2hlbiBpbiBwYXNzdGhyb3VnaCBtb2RlCgkgIE90aGVyd2lzZSB0d28gR0wgZWxlbWVudHMgb24gZWl0aGVyIHNpZGUgd2lsbCBmYWlsIHRvIHVzZSB0aGUgc2FtZQoJICBHTCBjb250ZXh0LgoKMjAxNC0wNi0yNSAyMTo1MDo0MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IHByZWZlciBwYXNzdGhyb3VnaCBmb3Igbm9uLXN5c21lbSBjYXBzCgoyMDE0LTA2LTI1IDE4OjIzOjUyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2xzaGFkZXI6IGVuYWJsZSBnbHNoYWRlciBvbiBHTEVTMgoKMjAxNC0wNi0yNCAxOTozNzoxNyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkgIGdsY29sb3JzY2FsZTogZG8gcGFzc3Rocm91Z2ggb24gc2FtZSBjYXBzCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMTc4CgoyMDE0LTA2LTI0IDE5OjM1OjAxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogaGFuZGxlIE5VTEwgZGVjaWRlX3F1ZXJ5IHdoaWNoIG1lYW5zIHBhc3N0aHJvdWdoCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMTc4CgoyMDE0LTA2LTI0IDE5OjIzOjAxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogcHJlcGVuZCBpbnRlcnNlY3Rpb24gdG8gc3JjIGNhcHMKCSAgUHJlZmVyIHRvIHN0YXkgaW4gdGhlIHNhbWUgbWVtb3J5IHNwYWNlIGlmIHBvc3NpYmxlLgoJICBBbHNvIGl0IGxldCBhIGNoYW5jZSB0byBkbyBwYXNzdGhyb3VnaC4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIxNzgKCjIwMTQtMDYtMjIgMTM6MTQ6MjcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IGVuYWJsZSBnbHZpZGVvbWl4ZXIgb24gR0xFUzIKCjIwMTQtMDYtMjQgMjI6MTU6NTMgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgZHZic3JjOiBhZGQgY29weXJpZ2h0L2xpY2Vuc2Ugc3R1YiB0byBoZWFkZXIKCjIwMTQtMDYtMjQgMjA6NTI6NTQgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgZHZic3JjOiBkb2N1bWVudGF0aW9uIGZpeGVzCgoyMDE0LTA2LTI1IDEyOjAwOjM0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBiYXMgb3V0cHV0IHdpZHRoL2hlaWdodCBvbiB0aGUgcGFkIHByb3BlcnRpZXMKCSAgQWxsb3dzIGF1dG9tYXRpYyBuZWdvdGlhdGlvbiBvZiB0aGUgc2l6ZSBpbiB0aGUgZm9sbG93aW5nIGNhc2U6CgkgIGdzdC1sYXVuY2gtMS4wIGdsdmlkZW9taXhlciBuYW1lPW0gc2lua18wOjp4cG9zPTAgc2lua18xOjp4cG9zPTMyMCAhIGdsaW1hZ2VzaW5rIFwKCSAgdmlkZW90ZXN0c3JjICEgbS4gXAoJICB2aWRlb3Rlc3RzcmMgcGF0dGVybj0xICEgbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTg3OAoKMjAxNC0wNi0yNSAxMDoxODo0OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogZG9uJ3QgY2xvYmJlciBhbHJlYWR5IGFsbG9jYXRlZCBzaGFkZXIKCjIwMTQtMDYtMjQgMTY6MzI6MjIgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNmdHBzaW5rLmM6CgkgIGN1cmxzP2Z0cHNpbms6IEZpeCBtZW1vcnkgbGVha3MgZHVlIHRvIG5ldyBlcnJvciBoYW5kbGluZwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMTc0CgoyMDE0LTA2LTI0IDE2OjA0OjU3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBNb3JlIGRvYyBmaXhlcwoJICBTdGlsbCBub3QgZG9uZSA6KAoKMjAxNC0wNi0yNCAxNTo0MTozNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSAgbXBlZ3RzOiBtb3JlIGFubm90YXRpb24gZml4ZXMKCjIwMTQtMDYtMDEgMTA6NDQ6MjMgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgbXBlZ3RzOiBjaGFuZ2UgdG8gR1R5cGUgYW5kIGZyb20gZ2NoYXJbXSB0byBnY2hhcioKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDkxNAoKMjAxNC0wNi0yNCAyMzo1MToyNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBYSW5pdFRocmVhZHMgd2hlbiBlbnYgdmFyaWFibGUgaXMgc2V0CgkgIFRoaXMgaXMgdG9vIGFsbG93IGdzdC1sYXVuY2ggZGVidWdnaW5nIHdpdGggbXVsdGlwbGUgR0wgY29udGV4dHMgYXMKCSAgd2VsbCBhcyBhdm9pZGluZyBzZWdmYXVsdGluZyBpbm5vY2VudCBndGsrIGFwcHMgdGhhdCBoYXZlIG5vdCBjYWxsZWQKCSAgWEluaXRUaHJlYWRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNTI1CgoyMDE0LTA2LTI0IDIzOjMzOjMwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2w6IGFkZCBhIHNjYXJ5IG5vdGUgYWJvdXQgaW5pdGlhbGl6aW5nIHRocmVhZCBzdXBwb3J0IGZvciB0aGUgd2luc3lzCgkgIFdlIGNhbm5vdCBkbyBpdCBhcyB0aGUgd2luc3lzIG1heSBjcmFzaCBpZiB3ZSBpbml0aWFsaXplIHRvbyBsYXRlLgoJICBFeGFtcGxlLCBHTFggY29udGV4dHMgd2l0aCBJbnRlbCBkcml2ZXJzOgoJICBJbnRlbCByZXF1aXJlcyB0aGUgWCBEaXNwbGF5IHRvIGJlIHRoZSBzYW1lIGluIG9yZGVyIHRvIHNoYXJlIEdMCgkgIHJlc291cmNlcyBhY3Jvc3MgR0wgY29udGV4dHMuICBUaGVzZSBHTCBjb250ZXh0cyBhcmUgZ2VuZXJhbGx5CgkgIGFjY2Vzc2VkIGZyb20gZGlmZmVyZW50IHRocmVhZHMuICBXaXRob3V0IHdpbnN5cyBzdXBwb3J0IGl0IGlzCgkgIG5lYXJseSBpbXBvc3NpYmxlIHRvIGd1YXJlbnRlZSB0aGF0IGNvbmN1cnJlbnQgYWNjZXNzIHdpbGwgbm90CgkgIG9jY3VyLiAgVGhpcyBjb25jdXJyZW50IGFjY2VzcyBjb3VsZCByZXN1bHQgaW4gY3Jhc2hlcyBvciBhYm9ydGlvbgoJICBieSB0aGUgd2luc3lzICh4Y2IpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNTI1CgoyMDE0LTA2LTI0IDE0OjA1OjE0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndHMuYzoKCSAgbXBlZ3RzOiBGaXggZGVzY3JpcHRvcl9mcm9tX2R2Yl9zZXJ2aWNlCgkgIFZhcmlvdXMgbGVha3Mvb3ZlcndyaXRlcyBpc3N1ZXMKCjIwMTQtMDYtMjQgMTM6NDY6MTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBlcnNwZWN0aXZlLmM6CgkgIGFsbDogRG9uJ3QgZGVjbGFyZSB2YXJpYWJsZXMgaW4gJ2ZvcicgbG9vcHMKCjIwMTQtMDYtMjQgMTE6Mjc6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9NYWtlZmlsZS5hbToKCSAgYmFkYmFzZTogVXNlIHRoZSBjb3JyZWN0IExERkxBR1MgZm9yIGNyZWF0aW5nIGxpYnJhcmllcwoJICBPdGhlcndpc2Ugd2Ugd29uJ3QgZS5nLiBjcmVhdGUgLmRsbHMgb24gV2luZG93cwoKMjAxNC0wNi0yNCAwODowMToyMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9NYWtlZmlsZS5hbToKCSAgY29tcG9zaXRvcjogRml4IE1ha2VmaWxlIENGTEFHUy9MSUJBREQgb3JkZXJpbmcKCSAgV2Ugd2FudCB0byB1c2UgdGhlIGxpYnJhcmllcyBmcm9tIC1iYWQgaWYvd2hlbiBwcmVzZW50CgoyMDE0LTA2LTIzIDIwOjQ0OjIzICswMjAwICBFcmljIFRyb3Vzc2V0IDxldHJvdXNzZXRAYXdveC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmg6CgkgIGQzZHZpZGVvc2luazogUmVsZWFzZSBEM0Qgc3VyZmFjZXMgd2hlbiBzaHV0dGluZyBkb3duIHRoZSBzaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjYwMjYKCjIwMTQtMDYtMjMgMjA6MzM6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSAgb3BlbnNsZXNzcmM6IENsYXNzaWZpY2F0aW9uIG9mIHRoZSBlbGVtZW50IGZhY3Rvcnkgc2hvdWxkIGJlIFNvdXJjZS8gbm90IFNyYy8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzgxMQoKMjAxNC0wNi0yMyAyMjo0MDoyMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogZG9uJ3QgY2xvYmJlciBhbHJlYWR5IGhlYXAgYWxsb2NhdGVkIHZpZGVvIGZyYW1lCgkgIENJRCAjIDEyMjM0NDAKCjIwMTQtMDYtMjMgMjI6MzY6MjMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGZpeCB1cCB0aGUgcGFyZW50IGNoYWluaW5nIGZvciBkaXNwb3NlIGFuZCBmaW5hbGl6ZQoKMjAxNC0wNi0yMyAyMTo0MzoxMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWRtZXRhLmM6CgkgIGdsdXBsb2FkbWV0YTogcmVlbmFibGUgR0xNZW1vcnkgdXBsb2FkIHBhdGgKCjIwMTQtMDYtMjIgMjM6Mzk6MTQgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBmaXggZGlzZXFjLXNvdXJjZSBwcm9wIG5hbWUgaW4gZXhhbXBsZQoKMjAxNC0wNi0yMiAyMTowNDo0NSAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGZpeCBuaXQgb24gd2FybmluZyBtZXNzYWdlCgoyMDE0LTA2LTIyIDIyOjA0OjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHVzZSAkRVJST1JfQ0ZMQUdTIGluc3RlYWQgb2YgaGFyZC1jb2RpbmcgLVdlcnJvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTczMTY5MgoKMjAxNC0wNi0xNSAyMToxNTo1MSArMDIwMCAgS29vcCBNYXN0IDxrd21AcmFpbmJvdy1ydW5uZXIubmw+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdXNlIC1XZXJyb3IgdG8gbWFrZSB0aGUgaW5jbHVkZSBHTCBhbmQgR0xFUzIgaGVhZGVyIGNoZWNrIGd1YXJhbnRlZWQgZmF0YWwKCSAgQ2xhbmcgd2lsbCBvbmx5IGdpdmUgYSB3YXJuaW5nIGZvciB0aGUgcmVkZWZpbml0aW9uIG9mIHR5cGVkZWYgR0xlbnVtLgoJICBTaW5jZSBtYXN0ZXIgaXMgYnVpbGQgd2l0aCAtV2Vycm9yIHRoaXMgd2lsbCByZXN1bHQgaW4gYSBidWlsZCBmYWlsdXJlCgkgIGxhdGVyIGluIHRoZSBnbCBwbHVnaW4uIEFkZCAtV2Vycm9yIHRvIHRoZSB0ZXN0LCBzbyB0aGUgdGVzdCByZXN1bHQgaXMgYXMKCSAgZXhwZWN0ZWQuIFRoaXMgd2lsbCBhbGxvdyB0aGUgZ2wgcGx1Z2lucyB0byBidWlsZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03MzE2OTIKCjIwMTQtMDYtMTcgMTQ6MjM6NDMgKzAxMDAgIENocmlzIEJhc3MgPGZsb29ibGVmbGFtQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjVwYXJzZTogZml4IGh2Y0Mgc2l6ZSBjaGVjawoJICBJbiBJU08vSUVDIDE0NDk2LTE1LCB0aGUgbWluaW11bSBzaXplIG9mIGEgSEVWQ0RlY29kZXJDb25maWd1cmF0aW9uUmVjb3JkCgkgIChpLmUuLCB0aGUgY29udGVudHMgb2YgYSBodmNDIGJveCkgaXMgMjMgYnl0ZXMuIEhvd2V2ZXIsIHRoZSBjb2RlIGluIGgyNjVwYXJzZQoJICBjaGVja3MgdGhhdCB0aGUgc2l6ZSBvZiB0aGlzIGRhdGEgaXMgbm90IGxlc3MgdGhhbiAyOCBieXRlcywgYW5kIGl0IHJlZnVzZXMgdG8KCSAgYWNjZXB0IGNhcHMgaWYgdGhlIGNoZWNrIGZhaWxzLiBUaGUgcmVzdWx0IGlzIHRoYXQgc3RhbmRhcmRzLWNvbmZvcm1hbnQgc3RyZWFtcwoJICB0aGF0IGRvbid0IGNhcnJ5IGFueSBwYXJhbWV0ZXIgc2V0cyBpbiB0aGVpciBodmNDIGJveGVzIHdvbid0IHBsYXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNzgzCgoyMDE0LTA2LTE5IDIwOjE1OjA1ICswMjAwICBLb29wIE1hc3QgPGt3bUByYWluYm93LXJ1bm5lci5ubD4KCgkqIGV4dC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJICBtb2RwbHVnOiBkb24ndCBoYXJkY29kZSBjKysgc3RhbmRhcmQgbGlicmFyeQoJICBGaXhlcyBidWlsZCB3aXRoIGxsdm0gb24gRnJlZUJTRC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03MzE5MzAKCjIwMTQtMDYtMjIgMTk6MzY6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMy4zID09PQoKMjAxNC0wNi0yMiAxOToyMjoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1saWJzL2dzdC92aWRlby9iYWQtdmlkZW8tb3JjLWRpc3QuYzoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3JvcmMtZGlzdC5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4zLjMKCjIwMTQtMDYtMjIgMTk6MDk6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNC0wNi0yMiAxODo1ODo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSAgZ2w6IE5lZWQgdG8gbGluayB0byBuZXcgYmFkdmlkZW8gbGlicmFyeSBmb3IgdGhlIHZpZGVvIGFnZ3JlZ2F0b3IgYmFzZSBjbGFzcwoKMjAxNC0wNi0yMiAxODo1MTo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSAgdmlkZW86IExpbmsgd2l0aCAkKExJQk0pIGZvciByaW50KCkgYW5kIG90aGVycwoKMjAxNC0wNi0yMiAxNDoyNTo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vcGwucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zci5wbzoKCSogcG8vdWsucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE0LTA2LTIwIDA4OjIwOjU1IC0wNjAwICBUaG9tYXMgQmx1ZW1lbCA8dGJsdWVtZWxAY29udHJvbDQuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBGaXggZGVjcnlwdGluZyBmcmFnbWVudHMKCSAgT25seSByZXNldCB0aGUgZGVjcnlwdGlvbiBlbmdpbmUgb24gdGhlIGZpcnN0IGJ1ZmZlciBvZiBhIGZyYWdtZW50LAoJICBub3QgYWdhaW4gZm9yIHRoZSBzZWNvbmQgYnVmZmVyLiAgVGhpcyBmaXhlcyBjb3JydXB0aW5nIHRoZSBzZWNvbmQKCSAgYnVmZmVyIG9mIGEgZnJhZ21lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE5NjgKCjIwMTQtMDYtMjIgMTQ6MTI6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgcmF3cGFyc2U6IFVzZSB0aGUgcGFkIHBhc3NlZCB0byB1cyBkaXJlY3RseSBmb3IgZGVmYXVsdCBldmVudCBoYW5kbGluZwoKMjAxNC0wNi0xOSAxNzoyNDoyNiArMDkwMCAgSnVzdGluIEpveSA8anVzdGluLmpveS45dG81QGdtYWlsLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICByYXdwYXJzZTogZGVmYXVsdCBxdWVyeSBzaG91bGQgYmUgZm9yd2FyZCBvbiB0YXJnZXQgcGFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE4OTkKCjIwMTQtMDYtMjIgMTI6MzI6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBmaXggdXAgY29tbWVudAoKMjAxNC0wNi0yMiAwOTo0NDoyNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ3N0Z2xfZ2xlczJjb21wYXQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVzMi5oOgoJICBnbDogbW92ZSBnbGVzMiBjb21wYXQgaGVhZGVyIHRvIGdscHJvdG90eXBlcwoKMjAxNC0wNi0yMiAwOTozNjozNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuaDoKCSAgZ2xidWZmZXJwb29sOiBwcm92aWRlIGEgY29uc2lzdGVudCBBUEkgcmVnYXJkbGVzcyBvZiBwbGF0Zm9ybQoKMjAxNC0wNi0yMiAwOToyMjoyMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSAgZ2w6IG1hcmsgbGlicmFyeSBhcyBBUEkgdW5zdGFibGUKCjIwMTQtMDYtMjEgMTY6NTc6MzQgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgbGliczp1cmlkb3dubG9hZGVyOiBQcm9wZXJseSBkZWNsYXJlIEFQSXMgYXMgVU5TVEFCTEUKCjIwMTQtMDYtMjEgMTY6NTI6NTEgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5oOgoJICBsaWJzOnZpZGVvOiBQcm9wZXJseSBkZWNsYXJlIEFQSXMgYXMgVU5TVEFCTEUKCjIwMTQtMDYtMjEgMTY6NTE6MDEgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGxpYnM6YmFzZTogUHJvcGVybHkgZGVjbGFyZSBBUElzIGFzIFVOU1RBQkxFCgoyMDE0LTA2LTIxIDE2OjU3OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IEZpeCBjb21waWxlciB3YXJuaW5nCgkgIGdzdHdheWxhbmRzaW5rLmM6NDgwOjE0OiBlcnJvcjogY29tcGFyaXNvbiBvZiBjb25zdGFudCAtMSB3aXRoIGV4cHJlc3Npb24gb2YKCSAgdHlwZSAnZW51bSB3bF9zaG1fZm9ybWF0JyBpcyBhbHdheXMgZmFsc2UKCSAgWy1XZXJyb3IsLVd0YXV0b2xvZ2ljYWwtY29uc3RhbnQtb3V0LW9mLXJhbmdlLWNvbXBhcmVdCgkgIGlmIChmb3JtYXQgPT0gLTEpCgkgIH5+fn5+fiBeICB+fgoKMjAxNC0wNi0yMSAxNjo1NTowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFVwZGF0ZSBjb21tZW50cyB0byB0aGUgbmV3IHJlYWxpdHkgYW5kIHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzCgoyMDE0LTA2LTIxIDE1OjQwOjU4ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkgIGxpYnM6dmlkZW86IEFkZCAtSSQodG9wX3NyY2RpcikvZ3N0LWxpYnMgdG8gZml4IGRpc3RjaGVjawoKMjAxNC0wNi0yMSAxNToyNjoxNCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvTWFrZWZpbGUuYW06CgkgIGxpYnM6YmFzZTogRml4IGluY2x1ZGVkaXIKCjIwMTQtMDYtMjEgMTM6NDU6MTMgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRml4IHJlcXVlc3RlZCBwYWQgbmFtZQoKMjAxNC0wNi0yMCAyMjowMjowNyArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9ycGFkLmg6CgkgIGxpYnM6IHZpZGVvYWdncmVnYXRvOiBEbyBub3QgaW1wb3J0IHZpZGVvY29udmVydC5oIGluIGdzdHZpZGVvYWdncmVnYXRvcnBhZC5oCgkgICsgQWRkIGEgUHJpdmF0ZSBzdHJ1Y3R1cmUgdG8gdGhlIEdzdFZpZGVvQWdncmVnYXRvclBhZAoJICArIEFkZCBzb21lIHBhZGRpbmcKCjIwMTQtMDYtMjAgMjE6MTg6NTggKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSAgRmluYWwgZml4IGNvbXBpbGF0aW9uCgoyMDE0LTA2LTIwIDIwOjExOjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiByZW1vdmUgZ3N0LWxpYnMvZ3N0L3ZpZGVvLyBmcm9tIENSVUZUX0RJUlMKCSAgSXQgd2FzIGdvbmUsIGJ1dCBub3cgaXQncyBiYWNrLgoKMjAxNC0wNi0yMCAyMDoyMzozMCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJICBsaWJzOnZpZGVvOkZpeCBjb21waWxhdGlvbgoKMjAxNC0wNi0yMCAxMToxMDo0NSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbDpnbHZpZGVvbWl4ZXI6IEFkZCB0aGUgQ29tcG9zaXRvciBpbiB0aGUgZWxlbWVudCBtZXRhZGF0YSBjbGFzcwoJICBTbyBpdCBpcyBwb3NzaWJsZSB0byBwaWNrIG9uZSBjb21wb3NpdGluZyBlbGVtZW50IGZyb20gdGhlIHJlZ2lzdHJ5CgoyMDE0LTA1LTIyIDE5OjQ2OjAyICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9jb21wb3NpdG9yL01ha2VmaWxlLmFtOgoJKiBnc3QvY29tcG9zaXRvci9ibGVuZC5jOgoJKiBnc3QvY29tcG9zaXRvci9ibGVuZC5oOgoJKiBnc3QvY29tcG9zaXRvci9ibGVuZG9yYy5oOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuaDoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvcm9yYy1kaXN0LmM6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3JvcmMtZGlzdC5oOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yb3JjLm9yYzoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvcnBhZC5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiBBZGQgYSBuZXcgY29tcG9zaXRvciBiYXNlZCBvbiB0aGUgbmV3IEdzdFZpZGVvQWdncmVnYXRvciBiYXNlIGNsYXNzCgkgIEl0IGlzIGEgcmVwbGFjZW1lbnQgZm9yIHZpZGVvbWl4ZXIgd2l0aCBhIHNpbWlsYXJlIEFQSQoJICBDby1BdXRob3JlZCBieTogVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxOTE5CgoyMDE0LTA2LTEwIDExOjI2OjUzICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVycGFkLmg6CgkgIGdsOiBQb3J0IGdsbWl4ZXIgdG8gdGhlIEdzdFZpZGVvQWdncmVnYXRvciBiYXNlY2xhc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTkyMQoKMjAxNC0wNi0wMyAxOTowMDozNCArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2JhZC12aWRlby1vcmMtZGlzdC5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vYmFkLXZpZGVvLW9yYy1kaXN0Lmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9iYWQtdmlkZW8tb3JjLm9yYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGNtcy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0Y21zLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9ycGFkLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udmVydC5oOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC12aWRlby11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYWQtdmlkZW8ucGMuaW46CgkgIHZpZGVvYWdncmVnYXRvcjogQ3JlYXRlIGEgbmV3IEdzdFZpZGVvQWdncmVnYXRvciBiYXNlY2xhc3MKCSAgVGhpcyBiYXNlIGNsYXNzIGhhcyBiZWVuIGFkZGVkIHRvIGEgbmV3bHkgY3JlYXRlZCBsaWJnc3RiYWR2aWRlbyBsaWJyYXJ5CgkgIENvLUF1dGhvcmVkIGJ5OiBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE5MTgKCjIwMTQtMDUtMjIgMTk6NDQ6MzcgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFkLWJhc2UtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFkLWJhc2UucGMuaW46CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9saWJzL2FnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogQWRkIG5ldyBHc3RBZ2dyZWdhdG9yIGJhc2UgY2xhc3MKCSAgVGhpcyBiYXNlIGNsYXNzIGhhcyBiZWVuIGFkZGVkIHRvIGEgbmV3bHkgY3JlYXRlZCBsaWJnc3RiYWRiYXNlIGxpYnJhcnkKCSAgQ28tQXV0aG9yZWQgYnk6IE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTkxNwoKMjAxNC0wNi0yMCAxNDo1OToxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogQ2xlYXIgZXhjZXB0aW9ucyBhbHNvIHdoZW4gd2UgZGlkIG5vdCBwcm92aWRlIGEgR0Vycm9yCgoyMDE0LTA2LTE5IDExOjI2OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSAgYW5kcm9pZG1lZGlhOiBBbHNvIGRvbid0IHJlcG9ydCB3YXJuaW5ncyBmb3IgcXVldWUvZGVxdWV1ZSBlcnJvcnMgZHVyaW5nIGZsdXNoaW5nIGluIGVycm9yIGNhc2VzCgkgIC4uLiBhbmQgZml4IGEgY2FzZSB3aGVyZSB3ZSByZWxlYXNlZCBhbiBpbnZhbGlkIGJ1ZmZlciBpbmRleC4KCjIwMTQtMDYtMTkgMTE6MTU6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJICBhbmRyb2lkbWVkaWE6IERvbid0IGNvbnNpZGVyIGlucHV0IGJ1ZmZlciBxdWV1ZWluZyBmYWlsdXJlcyBhcyBhbiBlcnJvciBkdXJpbmcgZmx1c2hpbmcKCjIwMTQtMDYtMTkgMTE6MTI6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJICBhbmRyb2lkbWVkaWE6IENsZWFuIHVwIGZsdXNoaW5nIGNvZGUgYW5kIGRvbid0IGNvbnNpZGVyIG91dHB1dCBidWZmZXIgcmVsZWFzaW5nIGZhaWx1cmVzIGR1cmluZyBmbHVzaGluZyBhcyBhbiBlcnJvcgoKMjAxNC0wNi0xOSAwOTo1NzoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogSW5jbHVkZSB0aGUgZGVidWcgc3RyaW5nIGluIHRoZSBlcnJvciBtZXNzYWdlcyB3ZSBwcm9wYWdhdGUgZnJvbSB0IHNvdXJjZQoKMjAxNC0wNi0xOSAwOTo1NjowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEluY2x1ZGUgdGhlIGRlYnVnIHN0cmluZyBpbiB0aGUgZXJyb3IgbWVzc2FnZXMgd2UgcHJvcGFnYXRlIGZyb20gdGhlIHNvdXJjZQoKMjAxNC0wNi0xOSAwOTo1NDoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEluY2x1ZGUgYSBtb3JlIGRlc2NyaXB0aXZlIGVycm9yIG1lc3NhZ2UKCjIwMTQtMDYtMTkgMDk6NTM6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IFByb3BhZ2F0ZSBlcnJvciBtZXNzYWdlcyBmcm9tIHRoZSBzb3VyY2UgZWxlbWVudCB1cCBpbiB0aGUgaGllcmFyY2h5CgkgIEluc3RlYWQgb2YgaW52ZW50aW5nIG91ciBvd24gZ2VuZXJpYyBlcnJvciBzdHJpbmdzIHdoaWNoIGFyZSBtb3N0bHkgdXNlbGVzcy4KCjIwMTQtMDYtMTkgMDk6NDA6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEaXJlY3RseSBjb252ZXJ0IEdFcnJvcnMgdG8gZXJyb3IgbWVzc2FnZXMKCSAgVGhpcyB3aWxsIG1ha2Ugc3VyZSB0aGF0IHdlIGRvbid0IGxlYWsgZGVidWcgaW5mb3JtYXRpb24gaW50byB0aGUgYWN0dWFsCgkgIGVycm9yIG1lc3NhZ2Ugc3RyaW5nIGFuZCBrZWVwIGl0IGJlaGluZCB0aGUgZGVidWcgc3RyaW5nLgoKMjAxNC0wNi0xNyAxMTo0ODoxMiArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIGdzdHNydHBlbmM6IHVucmVmIGV2ZW50IHdoZW4gbmVlZGVkCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE3NjgKCjIwMTQtMDYtMTggMTU6MzY6MDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiBpbXByb3ZlIHByb3BlcnR5IGNvbW1lbnRzCgkgIEFkZCBhIE5vdGUgdG8gdGhlIGFsbG93LXJlcGVhdC10eCBwcm9wZXJ0eSBiZWNhdXNlIGl0IGlzIHBvdGVudGlhbGx5CgkgIGluc2VjdXJlIHdoZW4gdXNlZCBpbmNvcnJlY3RseS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTcxNAoKMjAxNC0wNi0xMyAxMToxNToyNSArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuaDoKCSAgZ3N0c3J0cGVuYzogYWRkIGFsbG93LXJlcGVhdC10eCBwcm9wZXJ0eQoKMjAxNC0wNS0yNyAxMjo0MDowOSArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3pAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgb3BlbmdsOiBhZGQgZWxlbWVudCBmb3IgdHJhbnNmb3JtaW5nIHZpZGVvIGdlb21ldHJ5CgkgICogYWRkIGdyYXBoZW5lIGFzIHNvZnQgZGVwZW5kZW5jeSBmb3IgbGluZWFyIGFsZ2VicmEKCjIwMTQtMDYtMTggMTA6MTM6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcG5tL01ha2VmaWxlLmFtOgoJICBwbm06IGxpbmsgYWdhaW5zdCBsaWJnc3RiYXNlIGZvciBHc3RBZGFwdGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA1MjMKCjIwMTQtMDYtMTcgMjM6MjA6MDQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSAgZ2xmcmFtZWJ1ZmZlcjogZG9uJ3Qgc2VnZmF1bHQgbmVlZGxlc3NseSB3aXRoIEdMRVMyCgkgIGdzdF9nbF9mcmFtZWJ1ZmZlcl91c2VfdjIgd2FzIHVzaW5nIGEgZnVuY3Rpb24gdGhhdCBpcyBub3QgYXZhaWxhYmxlCgkgIHdpdGggR0xFUzIKCjIwMTQtMDYtMTYgMjA6MzY6MDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5oOgoJICBnbGZpbHRlcnNoYWRlcjogcG9ydCB0byBHTEVTMgoJICBQcm92aWRlIGEgdGltZSB2YXJpYWJsZQoKMjAxNC0wNi0xNyAxMzo0ODoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9saWJnc3Rjb2RlY3BhcnNlcnMuZGVmOgoJICB3aW4zMjogdXBkYXRlIGV4cG9ydHMgZm9yIGNoYW5nZWQgaDI2NCBjb2RlYyBwYXJzZXIgQVBJCgoyMDE0LTA2LTE3IDEyOjUwOjE3ICswNTMwICBTYW5qYXkgTk0gPHNhbmpheS5ubUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tdXRpbHMuYzoKCSAgcG5tZGVjOiBBZGRlZCBQQk0gU3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNTIzCgoyMDE0LTA2LTE3IDEzOjE1OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvd2F5bGFuZC5oOgoJICB3YXlsYW5kOiBhZGQgdW5zdGFibGUgQVBJIGd1YXJkcyB0byB3YXlsYW5kIGxpYnJhcnkgaGVhZGVyCgoyMDE0LTA2LTE3IDEzOjExOjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkgIGdzdC1saWJzOiBmaXggdW5pbnN0YWxsZWQgYnVpbGQgb2YgbmV3IHdheWxhbmQgbGliCgoyMDE0LTA2LTE2IDE4OjUzOjUzICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5LmM6CgkgIHdheWxhbmRzaW5rL3dsZGlzcGxheTogdmVyaWZ5IHRoYXQgYWxsIHRoZSByZXF1aXJlZCBpbnRlcmZhY2VzIGhhdmUgYmVlbiBmb3VuZCBvbiB0aGUgY29tcG9zaXRvcgoJICBUaGlzIGFsbG93cyB3YXlsYW5kc2luayB0byBmYWlsIGdyYWNlZnVsbHkgYmVmb3JlIGdvaW5nIHRvIFJFQURZCgkgIGluIGNhc2Ugb25lIG9mIHRoZSByZXF1aXJlZCBpbnRlcmZhY2VzIGRvZXMgbm90IGV4aXN0LiBOb3QgYWxsCgkgIGludGVyZmFjZXMgYXJlIG5lY2Vzc2FyeSBmb3IgYWxsIG1vZGVzIG9mIG9wZXJhdGlvbiwgYnV0IGl0IGlzCgkgIGJldHRlciBpbWhvIHRvIGZhaWwgYmVmb3JlIGdvaW5nIHRvIFJFQURZIGlmIGF0IGxlYXN0IG9uZSBmZWF0dXJlCgkgIGlzIG5vdCBzdXBwb3J0ZWQsIHRoYW4gdG8gZmFpbCBhbmQvb3IgY3Jhc2ggYXQgc29tZSBsYXRlciBwb2ludC4KCSAgSW4gdGhlIGZ1dHVyZSB3ZSBtYXkgd2FudCB0byByZWxheCB0aGlzIHJlc3RyaWN0aW9uIGFuZCBhbGxvdyBjZXJ0YWluCgkgIGludGVyZmFjZXMgbm90IHRvIGJlIHByZXNlbnQgdW5kZXIgY2VydGFpbiBjaXJjdW1zdGFuY2VzLCBmb3IgZXhhbXBsZQoJICBpZiB0aGVyZSBpcyBhbiBhbHRlcm5hdGl2ZSBzaW1pbGFyIGludGVyZmFjZSBhdmFpbGFibGUgKGZvciBpbnN0YW5jZSwKCSAgeGRnX3NoZWxsIGluc3RlYWQgb2Ygd2xfc2hlbGwpLCBidXQgZm9yIG5vdyBsZXQncyByZXF1aXJlIHRoZW0gYWxsLgoJICBXZXN0b24gc3VwcG9ydHMgdGhlbSBhbGwsIHdoaWNoIGlzIGVub3VnaCBmb3IgdXMgbm93LiBPdGhlciBjb21wb3NpdG9ycwoJICBzaG91bGQgcmVhbGx5IGltcGxlbWVudCB0aGVtIGlmIHRoZXkgZG9uJ3QgYWxyZWFkeS4gSSBkb24ndCBsaWtlIHRoZQoJICBpZGVhIG9mIHN1cHBvcnRpbmcgbWFueSBkaWZmZXJlbnQgY29tcG9zaXRvcnMgd2l0aCBkaWZmZXJlbnQgc2V0cyBvZgoJICBpbnRlcmZhY2VzIGltcGxlbWVudGVkLiB3bF9zdWJjb21wb3NpdG9yLCB3bF9zaG0gYW5kIHdsX3NjYWxlciBhcmUKCSAgcmVhbGx5IGVzc2VudGlhbCBmb3IgaGF2aW5nIGEgbmljZSB2aWRlbyBzaW5rLiBFbm91Z2ggc2FpZC4KCjIwMTQtMDYtMTYgMTg6MDM6NTEgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogcmVtb3ZlIHRoZSBidWZmZXIgZnJvbSB0aGUgc3VyZmFjZSB3aGVuIGdvaW5nIFBBVVNFRCAtPiBSRUFEWQoJICBUaGlzIGVzc2VudGlhbGx5IGhpZGVzIHRoZSB2aWRlbyBhbmQgYWxsb3dzIHRoZSBhcHBsaWNhdGlvbiB0bwoJICBwb3RlbnRpYWxseSBkcmF3IGEgYmxhY2sgYmFja2dyb3VuZCBvciB3aGF0ZXZlciBlbHNlIGl0IHdhbnRzLgoJICBUaGlzIGFsbG93cyB0byBkaWZmZXJlbnRpYXRlIHRoZSAicGF1c2VkIiBhbmQgInN0b3BwZWQiIG1vZGVzCgkgIGZyb20gdGhlIHVzZXIncyBwb2ludCBvZiB2aWV3LgoJICBBbHNvIHJld29yZGVkIGEgY29tbWVudCB0aGVyZSB0byBtYWtlIG15IHRoaW5raW5nIG1vcmUgY2xlYXIsCgkgIHNpbmNlIHRoZSAicmVhc29uIGZvciBrZWVwaW5nIHRoZSBkaXNwbGF5IGFyb3VuZCIgaXMgbm90IHJlYWxseQoJICB0aGUgZXhwb3NlZCgpIGNhbGxzLCBhcyB0aGVyZSBpcyBubyBidWZmZXIgc2hvd24gaW4gUkVBRFkvTlVMTAoJICBhbnltb3JlLgoKMjAxNC0wNi0xMiAxNzo0Mzo0MCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci13YXlsYW5kLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXdheWxhbmQucGMuaW46CgkgIHdheWxhbmQ6IGluc3RhbGwgLnBjIGZpbGUKCjIwMTQtMDYtMTMgMTY6Mzc6MzggKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJICB3YXlsYW5kc2luay93bHdpbmRvdzogZG8gbm90IGNvbW1pdCBhIHJlc2l6ZSB3aGVuIGl0IGhhcHBlbnMgZHVlIHRvIGEgdmlkZW8gaW5mbyBjaGFuZ2UKCSAgMSkgV2Uga25vdyB0aGF0IGdzdF93YXlsYW5kX3NpbmtfcmVuZGVyKCkgd2lsbCBjb21taXQgdGhlIHN1cmZhY2UKCSAgaW4gdGhlIHNhbWUgdGhyZWFkIGEgbGl0dGxlIGxhdGVyLCBhcyBnc3Rfd2xfd2luZG93X3NldF92aWRlb19pbmZvKCkKCSAgaXMgYWx3YXlzIGNhbGxlZCBmcm9tIHRoZXJlLCBzbyB3ZSBjYW4gc2F2ZSB0aGUgY29tcG9zaXRvciBmcm9tCgkgIHNvbWUgZXh0cmEgY2FsY3VsYXRpb25zLgoJICAyKSBXZSBzaG91bGQgbm90IGNvbW1pdCBhIHJlc2l6ZSB3aXRoIHRoZSBuZXcgdmlkZW8gaW5mbyB3aGlsZSB3ZSBhcmUgc3RpbGwKCSAgc2hvd2luZyB0aGUgYnVmZmVyIG9mIHRoZSBwcmV2aW91cyB2aWRlbywgd2l0aCB0aGUgb2xkIGNhcHMsIGFzIHRoYXQKCSAgd291bGQgcHJvYmFibHkgYmUgYSB2aXNpYmxlIHJlc2l6ZSBnbGl0Y2guCgoyMDE0LTA2LTEzIDE2OjI5OjMyICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSAgd2F5bGFuZHNpbmsvd2x3aW5kb3c6IHRha2UgaW50byBhY2NvdW50IHRoZSB2aWRlbyBhc3BlY3QgcmF0aW8gd2hlbiBkZXRlcm1pbmluZyB0aGUgc2l6ZSBvZiB0aGUgc3VyZmFjZQoKMjAxNC0wNi0xMyAxNTo1ODowOCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93Lmg6CgkgIHdheWxhbmRzaW5rOiBpbXByb3ZlIHRoZSB3YXkgdGhlIHZpZGVvIHNpemUgaXMgcGFzc2VkIHRvIHdsd2luZG93IGFuZCBhbHNvIGltcHJvdmUgdGhlIGNvZGUgZm9yIHdpbmRvdyBjcmVhdGlvbgoKMjAxNC0wNi0wNiAxMjo0OTo1NiArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL3dheWxhbmQuYzoKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvd2F5bGFuZC5oOgoJICB3YXlsYW5kc2luazogcmVuYW1lIHBhdXNlL3Jlc3VtZV9yZW5kZXJpbmcgdG8gYmVnaW4vZW5kX2dlb21ldHJ5X2NoYW5nZSBhbmQgdXBkYXRlIHRoZWlyIGRvY3VtZW50YXRpb24KCjIwMTQtMDUtMjkgMTI6Mjc6NDYgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICB3YXlsYW5kc2luazogcmVtb3ZlIHRoZSBtYW51YWwgc3luY2hyb25pemF0aW9uIGZyb20gcGF1c2UvcmVzdW1lX3JlbmRlcmluZyBhbmQgdXNlIHN1YnN1cmZhY2Ugc3luYy9kZXN5bmMKCSAgUHJldmlvdXNseSwgaW4gb3JkZXIgdG8gY2hhbmdlIHRoZSBzdXJmYWNlIHNpemUgd2UgaGFkIHRvIGxldCB0aGUgcGlwZWxpbmUKCSAgcmVkcmF3IGl0LCB3aGljaCBhdCBmaXJzdCBhbHNvIGludm9sdmVkIHJlLW5lZ290aWF0aW5nIGNhcHMsIGV0Yywgc28gYQoJICBzeW5jaHJvbml6YXRpb24gd2l0aCB0aGUgcGlwZWxpbmUgd2FzIGFic29sdXRlbHkgbmVjZXNzYXJ5LgoJICBBdCB0aGUgbW9tZW50LCB3ZSBhcmUgdXNpbmcgd2xfdmlld3BvcnQsIHdoaWNoIHNlcGFyYXRlcyB0aGUgc3VyZmFjZSBzaXplCgkgIGZyb20gdGhlIGJ1ZmZlciBzaXplIGFuZCBpdCBhbHNvIGFsbG93cyB1cyB0byBjb21taXQgYSBzdXJmYWNlIHJlc2l6ZSB3aXRob3V0CgkgIGF0dGFjaGluZyBhIG5ldyBidWZmZXIsIHNvIGl0IGlzIGVub3VnaCB0byBqdXN0IGRvOgoJICBnc3Rfd2F5bGFuZF92aWRlb19wYXVzZV9yZW5kZXJpbmcoKToKCSAgd2xfc3Vic3VyZmFjZV9zZXRfc3luYygpCgkgIGdzdF92aWRlb19vdmVybGF5X3NldF9yZW5kZXJfcmVjdGFuZ2xlKCk6CgkgIHdsX3N1YnN1cmZhY2Vfc2V0X3Bvc2l0aW9uKCkKCSAgd2xfdmlld3BvcnRfc2V0X2Rlc3RpbmF0aW9uKCkKCSAgd2xfc3VyZmFjZV9kYW1hZ2UoKQoJICB3bF9zdXJmYWNlX2NvbW1pdCgpCgkgIC4uLiBjb21taXQgdGhlIHBhcmVudCBzdXJmYWNlIC4uLgoJICBnc3Rfd2F5bGFuZF92aWRlb19yZXN1bWVfcmVuZGVyaW5nKCk6CgkgIHdsX3N1YnN1cmZhY2Vfc2V0X2Rlc3luYygpCgkgIFRoaXMgaXMgZW5vdWdoIHRvIHN5bmNocm9uaXplIGEgc3VyZmFjZSByZXNpemUgYW5kIHRoZSBwaXBlbGluZSBjYW4gY29udGludWUKCSAgZHJhd2luZyBpbmRlcGVuZGVudGx5LiBOb3cgb2YgY291cnNlLCB0aGUgbmFtZXMgcGF1c2UvcmVzdW1lX3JlbmRlcmluZyBhcmUKCSAgYmFkLiBJIHdpbGwgcmVuYW1lIHRoZW0gaW4gYW5vdGhlciBjb21taXQuCgoyMDE0LTA2LTA2IDEyOjEwOjI0ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IHByb3RlY3QgYWNjZXNzIHRvIHByb3BlcnRpZXMgd2l0aCB0aGUgT0JKRUNUX0xPQ0sKCjIwMTQtMDYtMDYgMTI6MDQ6NDQgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICB3YXlsYW5kc2luazogcHJvdGVjdCBhY2Nlc3MgdG8gdGhlIGRpc3BsYXkgd2l0aCBhIG5ldyBkaXNwbGF5X2xvY2sKCSAgQWNjZXNzIGlzIHByb3RlY3RlZCBvbmx5IGZvciBzZXR0aW5nL2NyZWF0aW5nL2Rlc3Ryb3lpbmcgdGhlIGRpc3BsYXkKCSAgaGFuZGxlLiBzZXRfY2FwcygpIGZvciBleGFtcGxlIGlzIG5vdCBwcm90ZWN0ZWQgYmVjYXVzZSBpdCBjYW5ub3QgYmUKCSAgY2FsbGVkIGJlZm9yZSBjaGFuZ2luZyBzdGF0ZSB0byBSRUFEWSwgYXQgd2hpY2ggcG9pbnQgdGhlcmUgd2lsbCBiZQoJICBhIGRpc3BsYXkgaGFuZGxlIGF2YWlsYWJsZSBhbmQgd2hpY2ggY2Fubm90IGNoYW5nZSBieSBhbnkgdGhyZWFkIGF0CgkgIHRoYXQgcG9pbnQKCjIwMTQtMDYtMDYgMTA6MzU6MjAgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogcmVtb3ZlIHRoZSBPQkpFQ1RfTE9DSyBmcm9tIHNldF9jYXBzKCkKCSAgSXQncyBub3QgcmVhbGx5IG5lY2Vzc2FyeSwgdGhpcyBtZXRob2QgaXMgcHJvdGVjdGVkIGZyb20gR3N0QmFzZVNpbmsgd2l0aCB0aGUgUFJFUk9MTF9MT0NLCgoyMDE0LTA1LTI4IDEzOjEwOjQzICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgd2F5bGFuZHNpbms6IFJlcGxhY2UgdGhlIE9CSkVDVF9MT0NLIHdpdGggYSBwcml2YXRlIHJlbmRlcl9sb2NrIHRvIGxvY2sgcmVuZGVyIG9wZXJhdGlvbnMKCSAgVGhpcyBpcyBiZWNhdXNlOgoJICAqIEdTVF9FTEVNRU5UX1dBUk5JTkcvRVJST1IgZG8gbG9jayB0aGUgT0JKRUNUX0xPQ0sgYW5kIHdlIGRlYWRsb2NrIGluc3RhbnRseQoJICAqIEluIGZ1dHVyZSBjb21taXRzIEkgd2FudCB0byBtYWtlIHVzZSBvZiBHc3RCYXNlU2luayBmdW5jdGlvbnMgdGhhdCBhbHNvCgkgIGxvY2sgdGhlIE9CSkVDVF9MT0NLIGluc2lkZSB0aGlzIGNvZGUKCjIwMTQtMDUtMjYgMTQ6MTM6NTYgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5oOgoJICB3YXlsYW5kc2luazogbW92ZSBzdXJmYWNlIHJlc2l6aW5nIGxvZ2ljIHRvIHRoZSBHc3RXbFdpbmRvdyBhbmQgbWFrZSBpdCBiZSBjYWxsZWQgZnJvbSB0aGUgbWFpbiB0aHJlYWQKCjIwMTQtMDUtMjYgMTI6NTQ6MTAgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5oOgoJICB3YXlsYW5kc2luazogY2xlYW51cCBHc3RXbFdpbmRvdyBhIGJpdCBhZnRlciB0aGUgb3ZlcmxheWluZyBzZW1hbnRpY3MgY2hhbmdlCgkgICogb3duX3N1cmZhY2UgaXMgbm90IG5lZWRlZCBhbnltb3JlCgkgICogZ3N0X3dsX3dpbmRvd19mcm9tX3N1cmZhY2UgaXMgbm90IHVzZWQgZXh0ZXJuYWxseSBhbnltb3JlCgkgICogbWFueSBpbml0aWFsaXphdGlvbnMgdG8gMCBhcmUgbm90IG5lZWRlZCAoR09iamVjdCBkb2VzIHRoZW0pCgoyMDE0LTA1LTI2IDExOjM0OjUxICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvd2F5bGFuZC5jOgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC93YXlsYW5kLmg6CgkgIHdheWxhbmQ6IHJlbW92ZSBnc3Rfd2F5bGFuZF92aWRlb19zZXRfc3VyZmFjZV9zaXplKCkKCSAgTm90IG5lZWRlZCBhbnltb3JlLCBzaW5jZSB3ZSB1c2UgZ3N0X3ZpZGVvX292ZXJsYXlfc2V0X3JlbmRlcl9yZWN0YW5nbGUoKQoKMjAxNC0wNS0yMyAxODoxODozMiArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5jOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuaDoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuaDoKCSAgd2F5bGFuZHNpbms6IGNyZWF0ZSBhbmQgbWFpbnRhaW4gdGhlIHN1YnN1cmZhY2UgaW5zaWRlIHRoZSBzaW5rCgkgIFRoaXMgbWVhbnMgdGhhdCB0aGUgZ2l2ZW4gc3VyZmFjZSBpbiBzZXRfd2luZG93X2hhbmRsZSBjYW4gbm93IGJlCgkgIHRoZSB3aW5kb3cncyB0b3AtbGV2ZWwgc3VyZmFjZSBvbiB0b3Agb2Ygd2hpY2ggd2F5bGFuZHNpbmsgY3JlYXRlcwoJICBpdHMgb3duIHN1YnN1cmZhY2UgZm9yIHJlbmRlcmluZyB0aGUgdmlkZW8uCgkgIFRoaXMgaGFzIG1hbnkgYWR2YW50YWdlczoKCSAgKiBXZSBjYW4gbWFpbnRhaW4gYXNwZWN0IHJhdGlvIGJ5IG92ZXJsYXlpbmcgdGhlIHN1YnN1cmZhY2UgaW4KCSAgdGhlIGNlbnRlciBvZiB0aGUgZ2l2ZW4gYXJlYSBhbmQgZmlsbCB0aGUgcGFyZW50IHN1cmZhY2UncyBhcmVhCgkgIGJsYWNrIGluIGNhc2Ugd2UgbmVlZCB0byBkcmF3IGJvcmRlcnMgKGluc3RlYWQgb2YgYWRkaW5nIGFub3RoZXIKCSAgc3Vic3VyZmFjZSBpbnNpZGUgdGhlIHN1YnN1cmZhY2UgZ2l2ZW4gZnJvbSB0aGUgYXBwbGljYXRpb24sCgkgIHNvLCBsZXNzIHN1YnN1cmZhY2VzKQoJICAqIFdlIGNhbiBtb3JlIGVhc2lseSBzdXBwb3J0IHRvb2xraXRzIHdpdGhvdXQgc3Vic3VyZmFjZXMgKHNlZSBndGspCgkgICogV2UgY2FuIGdldCBwcm9wZXJseSB1c2UgZ3N0X3ZpZGVvX292ZXJsYXlfc2V0X3JlbmRlcl9yZWN0YW5nbGUKCSAgYXMgb3VyIGFwaSB0byBzZXQgdGhlIHZpZGVvIGFyZWEgc2l6ZSBmcm9tIHRoZSBhcHBsaWNhdGlvbiBhbmQKCSAgdGhlcmVmb3JlIHJlbW92ZSBnc3Rfd2F5bGFuZF92aWRlb19zZXRfc3VyZmFjZV9zaXplLgoKMjAxNC0wNS0yMyAxMzowOToyNyArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL3dheWxhbmQuYzoKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvd2F5bGFuZC5oOgoJICB3YXlsYW5kOiBhZGQgcHVibGljIEFQSSBmb3IgY3JlYXRpbmcgJiB1c2luZyB0aGUgZGlzcGxheSBoYW5kbGUgR3N0Q29udGV4dAoKMjAxNC0wNS0yMSAxODoyNzoyOCArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL3dheWxhbmQuaDoKCSAgd2F5bGFuZHNpbms6IGdldCB0aGUgZXh0ZXJuYWwgZGlzcGxheSBoYW5kbGUgdXNpbmcgR3N0Q29udGV4dAoJICBUaGlzIGRyb3BzIHRoZSB1Z2x5IEdzdFdheWxhbmRXaW5kb3dIYW5kbGUgc3RydWN0dXJlIGFuZCBpcyBtdWNoCgkgIG1vcmUgZWxlZ2FudCBiZWNhdXNlIHdlIGNhbiBub3cgcmVxdWVzdCB0aGUgZGlzcGxheSBzZXBhcmF0ZWx5CgkgIGZyb20gdGhlIHdpbmRvdyBoYW5kbGUuIFRoZXJlZm9yZSB0aGUgd2luZG93IGhhbmRsZSBjYW4gYmUgcmVxdWVzdGVkCgkgIGluIHJlbmRlcigpLCBpLmUuIHdoZW4gaXQgaXMgcmVhbGx5IG5lZWRlZCBhbmQgd2UgY2FuIHN0aWxsIG9wZW4KCSAgdGhlIGNvcnJlY3QgZGlzcGxheSBmb3IgZ2V0dGluZyBjYXBzIGFuZCBjcmVhdGluZyB0aGUgcG9vbCBlYXJsaWVyLgoJICBUaGlzIGNoYW5nZSBhbHNvIHNlcGFyYXRlcyBzZXR0aW5nIHRoZSB3bF9zdXJmYWNlIGZyb20gc2V0dGluZyBpdHMgc2l6ZS4KCSAgQXBwbGljYXRpb25zIHNob3VsZCBkbyB0aGF0IGJ5IGNhbGxpbmcgdHdvIGZ1bmN0aW9ucyBpbiBzZXF1ZW5jZToKCSAgZ3N0X3ZpZGVvX292ZXJsYXlfc2V0X3dpbmRvd19oYW5kbGUgKG92ZXJsYXksIHN1cmZhY2UpOwoJICBnc3Rfd2F5bGFuZF92aWRlb19zZXRfc3VyZmFjZV9zaXplIChvdmVybGF5LCB3LCBoKTsKCjIwMTQtMDUtMjEgMTM6MTQ6MTUgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5oOgoJICB3YXlsYW5kc2luazogZHJvcCB3aWR0aC9oZWlnaHQgYXJndW1lbnRzIGZyb20gZ3N0X3dsX3dpbmRvd19uZXdfZnJvbV9zdXJmYWNlKCkKCjIwMTQtMDUtMjIgMTA6MTA6NTEgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuaDoKCSogZXh0L3dheWxhbmQvd2x2aWRlb2Zvcm1hdC5oOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5oOgoJICB3YXlsYW5kc2luazogYWRkIEdfQkVHSU4vRU5EX0RFQ0xTIG9uIGFsbCBoZWFkZXJzIGZvciBjb25zaXN0ZW5jeQoKMjAxNC0wNS0yMSAxMjo1ODoxMCArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBmaXggYXNzZXJ0aW9uIGZhaWx1cmUgd2hlbiBzdG9wcGluZyBpbW1lZGlhdGVseSBhZnRlciBzdGFydGluZywgd2l0aG91dCBkaXNwbGF5aW5nIGFueXRoaW5nCgkgIFRoaXMgd2FzIHRyaWdnZXJlZCBpbiBzY2VuYXJpb3MgbGlrZQoJICBmaWxlc3JjIGxvY2F0aW9uPW5vbmV4aXN0ZW50X2ZpbGUgISBkZWNvZGViaW4gISB3YXlsYW5kc2luawoKMjAxNC0wNS0yMSAxMTo1NTo0NSArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL3NjYWxlci54bWw6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5jOgoJICB3YXlsYW5kc2luazogVXBkYXRlIHdsX3NjYWxlciB0byB2ZXJzaW9uIDIKCjIwMTQtMDUtMjAgMTk6MDQ6MTYgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSAgd2F5bGFuZC9NYWtlZmlsZS5hbTogbGluayB3aXRoIGdzdHZpZGVvIHRvIGF2b2lkIGludHJvc3BlY3Rpb24gZXJyb3JzCgoyMDE0LTA1LTIwIDE5OjAzOjM5ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkgIHdheWxhbmRzaW5rL01ha2VmaWxlLmFtOiBGaXggc2NhbGVyLWNsaWVudC1wcm90b2NvbC5oIGdlbmVyYXRpb24KCjIwMTQtMDMtMTMgMTM6MTM6MDggKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93bHZpZGVvZm9ybWF0LmM6CgkqIGV4dC93YXlsYW5kL3dsdmlkZW9mb3JtYXQuaDoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuaDoKCSAgd2F5bGFuZHNpbms6IHJlbW92ZSB1bnVzZWQgZnVuY3Rpb25zCgoyMDE0LTAzLTEyIDE5OjI1OjA2ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IEFkZCBteXNlbGYgdG8gdGhlIGF1dGhvcnMgbGlzdAoKMjAxNC0wMy0xMiAxNzowMzoxMCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5jOgoJICB3YXlsYW5kc2luay93bGRpc3BsYXk6IGJpbmQgdG8gdGhlIGxhdGVzdCBhdmFpbGFibGUgd2xfY29tcG9zaXRvciB2ZXJzaW9uCgoyMDE0LTAzLTEyIDE0OjI4OjQ0ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IGNyZWF0ZS9kZXN0cm95IHRoZSBkaXNwbGF5IHdoZW4gZW50ZXJpbmcvbGVhdmluZyB0aGUgUkVBRFkgc3RhdGUgaW5zdGVhZCBvZiBQQVVTRUQKCSAgVGhpcyBpcyB0aGUgb25seSB3YXkgdG8gZ2V0IHRoZSBuZWdvdGlhdGlvbiB3b3JraW5nIHdpdGggdGhlIGR5bmFtaWMKCSAgZGV0ZWN0aW9uIG9mIGZvcm1hdHMgZnJvbSB0aGUgZGlzcGxheSwgYmVjYXVzZSB0aGUgcGlwZWxpbmUgbmVlZHMKCSAgdG8ga25vdyB0aGUgc3VwcG9ydGVkIGZvcm1hdHMgaW4gdGhlIFJFQURZIHN0YXRlIGFuZCB0aGUgc3VwcG9ydGVkCgkgIGZvcm1hdHMgY2FuIG9ubHkgYmUga25vd24gaWYgd2Ugb3BlbiB0aGUgZGlzcGxheS4KCSAgVW5mb3J0dW5hdGVseSxpbiB3YXlsYW5kIHdlIGNhbm5vdCBoYXZlIGEgc2VwYXJhdGUgY29ubmVjdGlvbiB0bwoJICB0aGUgZGlzcGxheSBmcm9tIHRoZSByZXN0IG9mIHRoZSBhcHBsaWNhdGlvbiwgc28gd2UgbmVlZCB0byBhc2sgZm9yIGEKCSAgd2luZG93IGhhbmRsZSB3aGVuIGdvaW5nIHRvIFJFQURZIGluIG9yZGVyIHRvIGdldCB0aGUgZGlzcGxheSBmcm9tIGl0LgoJICBBbmQgc2luY2UgaXQncyB0b28gZWFybHkgdG8gY3JlYXRlIGEgdG9wIGxldmVsIHdpbmRvdyBmcm9tIHRoZSBzdGF0ZQoJICBjaGFuZ2UgdG8gUkVBRFksIGNyZWF0ZSBpdCBpbiByZW5kZXIoKSB3aGVuIHRoZXJlIGlzIG5vIG90aGVyIHdpbmRvdy4KCSAgVGhpcyBhbHNvIGNoYW5nZXMgc2V0X3dpbmRvd19oYW5kbGUoKSB0byBub3Qgc3VwcG9ydCB3aW5kb3cgaGFuZGxlCgkgIGNoYW5nZXMgaW4gUEFVU0VEL1BMQVlJTkcgKGJlY2F1c2UgaXQncyBjb21wbGV4IHRvIGhhbmRsZSBhbmQgdXNlbGVzcwoJICBpbiBwcmFjdGljZSkgYW5kIG1ha2Ugc3VyZSB0aGF0IHRoZXJlIGlzIGFsd2F5cyBhIHZhbGlkIGRpc3BsYXkgcG9pbnRlcgoJICBhcm91bmQgaW4gdGhlIFJFQURZIHN0YXRlLgoKMjAxNC0wMy0xMiAxNDoxMzo0OSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBTdXBwb3J0IGFsbCB2aWRlbyBmb3JtYXRzIHN1cHBvcnRlZCBieSB0aGUgZGlzcGxheQoKMjAxNC0wMy0xMiAxMzo1NDo0NCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBmaXggY3Jhc2ggaW4gY2FzZSB0aGVyZSBpcyBubyBwb29sIGJlY2F1c2Ugb2YgYSBjYXBzIG5lZ290aWF0aW9uIGVycm9yCgoyMDE0LTAzLTExIDE5OjQ3OjUyICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSAgd2F5bGFuZHNpbms6IHNldCBhbiBlbXB0eSBpbnB1dCByZWdpb24gb24gdGhlIHZpZGVvIHN1cmZhY2UKCjIwMTQtMDMtMTEgMTk6NDY6NTYgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJICB3YXlsYW5kc2luay93bHdpbmRvdzogcmV1c2UgY29kZSBiZXR3ZWVuIHRoZSB0d28gY29uc3RydWN0b3JzCgoyMDE0LTAzLTExIDE4OjQ1OjIzICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IGluY3JlYXNlIGRlYnVnIG1lc3NhZ2VzCgoyMDE0LTAzLTExIDE3OjQ4OjQ2ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgd2F5bGFuZHNpbms6IFVzZSBhIGJvb2xlYW4gaW4gY29tYmluYXRpb24gd2l0aCByZW5kZXJfY29uZCB0byBjb21wbHkgd2l0aCBHQ29uZCdzIHVzYWdlIGRvY3VtZW50YXRpb24KCjIwMTQtMDMtMTEgMTc6NDU6MDUgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICB3YXlsYW5kc2luazogSW1wbGVtZW50IGV4cG9zZSgpIGFuZCBoYW5kbGUgcmVzaXppbmcgcHJvcGVybHkgaW4gbm9uLVBMQVlJTkcgc3RhdGVzCgoyMDE0LTAzLTExIDEzOjE0OjAwICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5LmM6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5oOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5oOgoJICB3YXlsYW5kc2luazogVXNlIHdsX3NjYWxlci93bF92aWV3cG9ydCB0byBzY2FsZSB0aGUgc3VyZmFjZSBpbiB0aGUgY29tcG9zaXRvci9oYXJkd2FyZQoKMjAxNC0wMy0xMSAxMzowNTo1NiArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3dheWxhbmQvLmdpdGlnbm9yZToKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGV4dC93YXlsYW5kL3NjYWxlci54bWw6CgkgIHdheWxhbmRzaW5rOiBCdWlsZCBiaW5kaW5ncyBmb3IgdGhlIHVuc3RhYmxlIHdsX3NjYWxlciBzcGVjCgoyMDE0LTAzLTEwIDEzOjUwOjA2ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IFNldCBleHRlcm5hbCBzdXJmYWNlcyBhbmQgdGhlaXIgY2hpbGQgb2JqZWN0cyB0byB1c2Ugb3VyIG93biBldmVudCBxdWV1ZQoJICBUaGlzIGZpeGVzIHdlaXJkIGZyZWV6ZXMgYmVjYXVzZSBvZiBmcmFtZV9yZWRyYXdfY2FsbGJhY2soKSBub3QgYmVpbmcKCSAgY2FsbGVkIGZyb20gdGhlIG1haW4gdGhyZWFkIHdoZW4gaXQgc2hvdWxkIHdpdGggd2VzdG9uJ3MgdG95IHRvb2xraXQuCgkgIEl0J3MgYWxzbyBzYWZlciB0byBrbm93IHRoYXQgZnJhbWVfcmVkcmF3X2NhbGxiYWNrKCkgd2lsbCBhbHdheXMgYmUKCSAgY2FsbGVkIGZyb20gb3VyIGRpc3BsYXkgdGhyZWFkLi4uIE90aGVyd2lzZSBpdCBjb3VsZCBiZSBjYWxsZWQgYWZ0ZXIKCSAgdGhlIHNpbmsgaGFzIGJlZW4gZGVzdHJveWVkIGZvciBleGFtcGxlLgoKMjAxNC0wMy0wNyAxNzoyNTowMCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIHdheWxhbmRzaW5rOiBXYWl0IGZvciB0aGUgZnJhbWVfY2IgdG8gcmVkcmF3IGFuZCBkcm9wIGZyYW1lcyBtZWFud2hpbGUKCSAgV2UgYXJlIG5vdCBzdXBwb3NlZCB0byByZWRyYXcgdW50aWwgd2UgcmVjZWl2ZSBhIGZyYW1lIGNhbGxiYWNrIGFuZCB0aGlzCgkgIGlzIGVzcGVjaWFsbHkgdXNlZnVsIHRvIGF2b2lkIGFsbG9jYXRpbmcgdG9vIG1hbnkgYnVmZmVycyB3aGlsZSB0aGUKCSAgd2luZG93IGlzIG5vdCB2aXNpYmxlLCBiZWNhdXNlIHRoZSBjb21wb3NpdG9yIG1heSBub3QgY2FsbCB3bF9idWZmZXIucmVsZWFzZQoJICB1bnRpbCB0aGUgd2luZG93IGJlY29tZXMgdmlzaWJsZSAob2ssIHRoaXMgaXMgYSB3YXlsYW5kIGJ1ZywgYnV0Li4uKS4KCjIwMTQtMDMtMDcgMTY6MTY6MzAgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5oOgoJICB3YXlsYW5kc2luazogSGFuZGxlIHdsX2J1ZmZlcjo6cmVsZWFzZSBhbmQgZG9uJ3QgcmV1c2UgYnVmZmVycyB0aGF0IGFyZSBub3QgcmVsZWFzZWQKCSAgVGhpcyBpcyBhY2hpZXZlZCBieSBhZGRpbmcgYW4gZXh0cmEgcmVmZXJlbmNlIG9uIHRoZSBidWZmZXJzLCB3aGljaCBkb2VzCgkgIG5vdCBhbGxvdyB0aGVtIHRvIHJldHVybiB0byB0aGUgcG9vbC4gV2hlbiB0aGV5IGFyZSByZWxlYXNlZCwgdGhpcyByZWZlcmVuY2UKCSAgaXMgZHJvcHBlZC4KCSAgVGhlIHJlc3QgY29tcGxleGl0eSBvZiB0aGlzIHBhdGNoIChoYXNoIHRhYmxlLCBtdXRleCwgZmxhZywgZXhwbGljaXQgcmVsZWFzZSBjYWxscykKCSAgbWVyZWx5IGV4aXN0cyB0byBhbGxvdyBhIHNhZmUsIGd1YXJhbnRlZWQgYW5kIGRlYWRsb2NrLWZyZWUgZGVzdHJ1Y3Rpb24gc2VxdWVuY2UuCgkgIFNlZSB0aGUgYWRkZWQgY29tbWVudCBvbiBnc3R3YXlsYW5kc2luay5jIGZvciBkZXRhaWxzLgoKMjAxNC0wMy0wNiAxNzowMzo1MCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmg6CgkgIHdheWxhbmRzaW5rL3dheWxhbmRwb29sOiByZW1vdmUgdXNlbGVzcyBtdW5tYXAgY2FsbAoJICBUaGlzIGRhdGEgcG9pbnRlciBpcyBwYXJ0IG9mIGEgYmlnZ2VyIG1tYXAnZWQgcmVnaW9uLAoJICBpdCBoYXMgbm90IGJlZW4gcmV0dXJuZWQgZnJvbSBtbWFwIGl0c2VsZi4KCjIwMTQtMDItMjggMTM6Mzc6MzAgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJICB3YXlsYW5kc2luay93YXlsYW5kcG9vbDogY2FsbCB0aGUgc3RhcnQvc3RvcCBtZXRob2RzIG9mIHRoZSBwYXJlbnQgY2xhc3MKCSAgc3RhcnQoKSBtYWtlcyBzdXJlIHRoYXQgdGhlIG1pbmltdW0gYW1tb3VudCBvZiBidWZmZXJzIHJlcXVlc3RlZCBpcyBhbGxvY2F0ZWQuCgkgIHN0b3AoKSBtYWtlcyBzdXJlIHRoYXQgYnVmZmVycyBhcmUgYWN0dWFsbHkgZGVzdHJveWVkIGFuZCBwcmV2ZW50cwoJICBmaWxsaW5nIHRoZSBmaWxlIHN5c3RlbSB3aGVuIHJlc2l6aW5nIHRoZSBzdXJmYWNlIGEgbG90LCBiZWNhdXNlIHRoZQoJICB3YXlsYW5kLXNobS0qIGZpbGVzIHdpbGwgc3RheSBvbiB0aGUgZmlsZSBzeXN0ZW0gYXMgbG9uZyBhcyB0aGUgd2xfYnVmZmVycwoJICBjcmVhdGVkIG91dCBvZiB0aGVtIGFyZSBhbGl2ZS4KCjIwMTQtMDItMjggMTM6MzY6NDMgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJICB3YXlsYW5kc2luay93YXlsYW5kcG9vbDogdW5saW5rIG1tYXBlZCBzaG0gZmlsZXMgc28gdGhhdCB0aGV5IGRvbid0IHJlbWFpbiBvbiB0aGUgZmlsZSBzeXN0ZW0KCjIwMTQtMDItMjggMTE6NDg6MzAgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC93YXlsYW5kLmg6CgkgIHdheWxhbmRzaW5rOiBpbXBsZW1lbnQgdGhlIEdzdFZpZGVvT3ZlcmxheSAmIEdzdFdheWxhbmRWaWRlbyBpbnRlcmZhY2VzCgkgIFRoaXMgaXMgdGhlIGluaXRpYWwgaW1wbGVtZW50YXRpb24sIHdpdGhvdXQgdGhlIEdzdFZpZGVvT3ZlcmxheS5leHBvc2UoKQoJICBtZXRob2QuIEl0IG9ubHkgaW1wbGVtZW50cyB1c2luZyBhbiBleHRlcm5hbCAoc3ViKXN1cmZhY2UgYW5kIHJlc2l6aW5nCgkgIGl0IHdpdGggR3N0V2F5bGFuZFZpZGVvLgoKMjAxNC0wMi0xNCAxNjowODo1NiArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogaW1wbGVtZW50IHdpdGggc3R1YnMgdGhlIEdzdFdheWxhbmRWaWRlbyAmIEdzdFZpZGVvT3ZlcmxheSBpbnRlcmZhY2VzCgoyMDEzLTA1LTA2IDEzOjE2OjAyICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC93YXlsYW5kLmM6CgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL3dheWxhbmQuaDoKCSAgd2F5bGFuZDogQWRkIG5ldyBnc3Qtd2F5bGFuZCBsaWJyYXJ5IGNvbnRhaW5pbmcgYSBuZXcgR3N0V2F5bGFuZFZpZGVvIGludGVyZmFjZQoJICBUaGlzIGludGVyZmFjZSBpcyBuZWVkZWQgdG8gYmUgYWJsZSB0byBlbWJlZCB3YXlsYW5kc2luayBpbnRvCgkgIG90aGVyIHdheWxhbmQgc3VyZmFjZXMuIER1ZSB0byB0aGUgc3BlY2lhbCBuYXR1cmUgb2Ygd2F5bGFuZCwKCSAgR3N0VmlkZW9PdmVybGF5IGlzIG5vdCBlbm91Z2ggZm9yIHRoaXMgam9iLgoKMjAxNC0wMi0yNiAxODozNToyOSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5jOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuaDoKCSAgd2F5bGFuZHNpbms6IGhhbmRsZSB0aGUgbGlzdCBvZiBzdXBwb3J0ZWQgZm9ybWF0cyBwcm9wZXJseQoJICBlbnVtIHdsX3NobV9mb3JtYXQgaXMgbm90IGEgZmxhZ3MgZW51bSwgYXMgaXQgbWF5IGhhdmUgYmVlbiBpbiB0aGUgcGFzdCwKCSAgc28gbXVsdGlwbGUgZm9ybWF0cyBjYW5ub3QgYmUgc3RvcmVkIGluIGEgYml0ZmllbGQuIFVzZSBhbiBhcnJheSBpbnN0ZWFkLgoKMjAxNC0wMi0yNiAxNzo0MToxMSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsdmlkZW9mb3JtYXQuYzoKCSAgd2F5bGFuZHNpbmsvd2x2aWRlb2Zvcm1hdDogYWRkIG1hcHBpbmdzIGZvciBtYW55IGNvbW1vbiBmb3JtYXRzCgoyMDE0LTAyLTI2IDE2OjIwOjQxICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IHVucmVmIHRoZSBidWZmZXIgcG9vbAoKMjAxNC0wMi0yNiAxNjoxMToyOSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmg6CgkgIHdheWxhbmRzaW5rL3dheWxhbmRwb29sOiByZWYgdGhlIGRpc3BsYXkgaW5zdGVhZCBvZiB0aGUgc2luayB0byBhdm9pZCBjeWNsaWMgcmVmZXJlbmNlcwoJICBUaGUgcmVmZXJlbmNlIHRvIHRoZSBzaW5rIGlzIG5vdCByZWFsbHkgbmVlZGVkIGFueXdheSBpbiB3YXlsYW5kcG9vbCwKCSAgd2hhdCBtYXR0ZXJzIGJhc2ljYWxseSBpcyB0aGF0IHRoZSBkaXNwbGF5IGlzIGFjdGl2ZSBhcyBsb25nIGFzIHRoZQoJICBwb29sIGlzIGFjdGl2ZSwgc28gd2UgcmVhbGx5IHdhbnQgdG8gcmVmZXJlbmNlIHRoZSBkaXNwbGF5IG9iamVjdAoJICBpbnN0ZWFkIG9mIHRoZSBzaW5rLgoKMjAxNC0wMi0yNiAxNDo1NjoyMSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIHdheWxhbmRzaW5rOiBtYWtlIHRoZSBkaXNwbGF5IHByb3BlcnR5IHVzZWZ1bAoJICBMZXQgdGhlIGRpc3BsYXkgcHJvcGVydHkgY29udHJvbCB0aGUgbmFtZSBvZiB0aGUgZGlzcGxheSwKCSAgbGlrZSBpbiB4KHYpaW1hZ2VzaW5rLgoKMjAxNC0wMi0xNCAxNzoyMDo0MiArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBhY2Nlc3Mgc2luay0+cG9vbCBpbiBhIG1vcmUgYXRvbWljIGZhc2hpb24KCjIwMTQtMDItMTQgMTY6MzM6MTAgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICB3YXlsYW5kc2luazogcmVtb3ZlIHRoZSB1c2VsZXNzIHdheWxhbmRfbG9jawoKMjAxNC0wMi0xMyAxMzoyODo0MCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5jOgoJKiBleHQvd2F5bGFuZC93bHZpZGVvZm9ybWF0LmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkgIHdheWxhbmRzaW5rOiBhcHBseSB0aGUgc2FtZSBkZWJ1ZyBjYXRlZ29yeSB0byBhbGwgdGhlIHN1Ym9iamVjdHMKCjIwMTQtMDItMTMgMTM6MTU6MzEgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5oOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSogZXh0L3dheWxhbmQvd2x2aWRlb2Zvcm1hdC5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJICB3YXlsYW5kc2luazogY2xlYW51cCBoZWFkZXIgaW5jbHVkZXMKCjIwMTQtMDItMTMgMTE6NTk6NDUgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuaDoKCSAgd2F5bGFuZHNpbms6IHNwbGl0IHdpbmRvdy1yZWxhdGVkIGNvZGUgb3V0IHRvIGEgbmV3IEdzdFdsV2luZG93IGNsYXNzCgkgIEdzdFdsV2luZG93IGFsc28gaGFzIEFQSSByZWFkeSB0byBzdXBwb3J0IHN1YnN1cmZhY2VzLgoKMjAxNC0wMi0xMyAxMTozMjowMCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIHdheWxhbmRzaW5rOiByZW1vdmUgY2FsbGJhY2sgYW5kIHJlZHJhd19wZW5kaW5nIHZhcmlhYmxlcyBmcm9tIHRoZSB3aW5kb3cgc3RydWN0dXJlCgoyMDE0LTAyLTEzIDEwOjUxOjU5ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSAgd2F5bGFuZHNpbmsvd2F5bGFuZHBvb2w6IGltcHJvdmUgZGVidWcgbWVzc2FnZQoKMjAxNC0wMi0xMyAxMDozNzowMSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkgIHdheWxhbmRzaW5rL3dheWxhbmRwb29sOiBmaW5kIHRoZSB2aWRlbyBmb3JtYXQgZnJvbSB0aGUgR3N0VmlkZW9JbmZvIGluc3RlYWQgb2YgYWNjZXNzaW5nIHRoZSBzaW5rCgkgIEZvciB0aGUgc2FrZSBvZiBpc29sYXRpb24gb25seS4gVGhlIGZvcm1hdCBzaG91bGQgYmUgdGhlIHNhbWUuCgoyMDE0LTAyLTEzIDEwOjI5OjA4ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSAgd2F5bGFuZHNpbmsvd2F5bGFuZHBvb2w6IHJlZmFjdG9yIGNvZGUKCSAgKiBtYWtlIHVzZSBvZiBHc3RCdWZmZXJQb29sOjpzdGFydC9zdG9wIGZ1bmN0aW9ucyB0byBhbGxvY2F0ZS9kZWFsbG9jYXRlIG1lbW9yeQoJICAqIGdldCByaWQgb2Ygc3RydWN0IHNobV9wb29sIGFuZCBkbyBhbGwgb3BlcmF0aW9ucyBjbGVhbmx5IGluc2lkZSBXYXlsYW5kQnVmZmVyUG9vbAoJICAqIHN0b3JlIGEgR3N0VmlkZW9JbmZvIGR1cmluZyBjb25maWd1cmF0aW9uIGluc3RlYWQgb2YgdGhlIHdpZHRoICYgaGVpZ2h0CgkgIGFuZCB1c2UgdGhlIHN0cmlkZSBmcm9tIHRoZSB2aWRlbyBpbmZvIGluc3RlYWQgb2YgaGFyZGNvZGluZyBpdHMgdmFsdWUKCjIwMTQtMDItMTMgMTA6MDI6NTQgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSogZXh0L3dheWxhbmQvd2x2aWRlb2Zvcm1hdC5jOgoJKiBleHQvd2F5bGFuZC93bHZpZGVvZm9ybWF0Lmg6CgkgIHdheWxhbmRzaW5rOiBzcGxpdCB2aWRlbyBmb3JtYXQgcmVsYXRlZCBmdW5jdGlvbnMgb3V0IHRvIGEgc2VwYXJhdGUgZmlsZQoKMjAxNC0wMi0xMiAxNToxNjowOCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkgIHdheWxhbmRzaW5rL3dheWxhbmRwb29sOiBtb3ZlIGNvZGUgYXJvdW5kIGZvciBiZXR0ZXIgcmVhZGFiaWxpdHkKCjIwMTQtMDItMTIgMTQ6NDE6NTIgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5oOgoJICB3YXlsYW5kc2luazogbW92ZSBzdHJ1Y3Qgc2htX3Bvb2wgYW5kIGl0cyByZWxhdGVkIGZ1bmN0aW9ucyB0byB3YXlsYW5kcG9vbC5jCgkgIEFuZCBhbHNvIG1ha2UgdGhlIGluc3RhbmNlIG9mIHRoaXMgc3RydWN0IHRvIGJlIG93bmVkIGJ5IHRoZSBidWZmZXIKCSAgcG9vbCBpbnN0ZWFkIG9mIHRoZSBlbGVtZW50LCBmb3IgdGhlIHNha2Ugb2YgaXNvbGF0aW9uCgoyMDEzLTA1LTE0IDE5OjM1OjMzICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSAgd2F5bGFuZHNpbms6IFVzZSBYREdfUlVOVElNRV9ESVIgaW5zdGVhZCBvZiAvdG1wIGZvciB0aGUgc2htIGZpbGUKCjIwMTQtMDItMTIgMTQ6MTU6NTIgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5oOgoJICB3YXlsYW5kc2luazogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMKCjIwMTQtMDItMTIgMTE6Mjg6NDAgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5LmM6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5oOgoJICB3YXlsYW5kc2luazogcHJvY2VzcyBkaXNwbGF5IGV2ZW50cyBpbiBhIHNlcGFyYXRlIHRocmVhZAoJICBUaGlzIGFsc28gbW92ZXMgdGhlIGRpc3BsYXktcmVsYXRlZCBjb2RlIGludG8gYSBuZXcgR3N0V2xEaXNwbGF5IGNsYXNzLAoJICB3aGljaCB0YWtlcyBjYXJlIG9mIHRoZSBuZXcgdGhyZWFkCgoyMDE0LTAyLTA0IDE2OjMyOjMxICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuaDoKCSAgd2F5bGFuZHNpbms6IHRpZHkgdXAgdGhlIGhlYWRlciBmaWxlcwoKMjAxNC0wNi0xMiAxNjozODozNSArMDUzMCAgU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5oOgoJICBwbm1kZWM6IHVzZSBHc3RWaWRlb0RlY29kZXIgQ2xhc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTQwMAoKMjAxNC0wNi0xNiAwNzo0MjozNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBEb24ndCBvdmVyd3JpdGUgb3JpZ2luYWwgc2VlayB2YWx1ZQoJICBJbiBhY2N1cmF0ZSBtb2RlLCB3ZSdsbCBiZSB1c2luZyBzdGFydCB0byBmaWxsIGluIHRoZSBzZWVrIHNlZ21lbnQsCgkgIHRoZXJlZm9yZSBkb24ndCBvdmVyd3JpdGUgaXQgd2l0aCB0aGUgc2hpZnRlZCBzZWVrIHBvc2l0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNjk4CgoyMDE0LTA2LTE1IDE1OjE4OjQ2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBzaWxlbmNlIGluY29ycmVjdCBudW1iZXIgb2YgYXJndW1lbnRzIGluIGZvcm1hdCB3YXJuaW5nCgoyMDE0LTA2LTE1IDE1OjE3OjA3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIGdsZG93bmxvYWQ6IHBsdWcgYSBtZW1vcnkgbGVhawoKMjAxNC0wNi0xNSAxMzo1OTowNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogd2lyZSB1cCB0aGUgYWxwaGEgcGFkIHByb3BlcnR5CgoyMDE0LTA2LTE1IDEzOjQ0OjA0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBzdXBwb3J0IGlucHV0IGZyYW1lIHNjYWxpbmcKCjIwMTQtMDYtMTUgMTI6MjY6MjEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmg6CgkgIGdsdmlkZW9taXhlcjogYWRkIHBvc2l0aW9uaW5nIG9mIGlucHV0IHN0cmVhbXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTc5OAoKMjAxNC0wNi0xNSAxMjoyNDozOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJICBnbG1peGVyOiBhbGxvdyB0aGUgc3ViY2xhc3MgdG8gY2hvb3NlIHRoZSBzaW5rIHBhZCB0eXBlCgkgIEFsbG93cyBjdXN0b20gcHJvcGVydGllcyB0byBiZSBwbGFjZWQgb24gdGhlIHNpbmsgcGFkcyBieSBzdWJjbGFzc2VzCgoyMDE0LTA2LTEzIDExOjQ2OjE5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogbGl2ZTogaGFuZGxlIHBjci9kdHMgZGlzY3JlcGFuY2llcyBzb21lIG1vcmUKCSAgV2hlbiB3cmFwb3Zlci9yZXNldCBvY2N1ciwgd2UgZW5kIHVwIHdpdGggYSBzbWFsbCB3aW5kb3cgb2YgdGltZSB3aGVyZQoJICB0aGUgUFRTL0RUUyB3aWxsIHN0aWxsIGJlIHVzaW5nIHRoZSBwcmV2aW91cy9uZXh0IHRpbWUtcmFuZ2UuCgkgIEluIG9yZGVyIG5vdCB0byByZXR1cm4gYm9ndXMgdmFsdWVzLCByZXR1cm4gR1NUX0NMT0NLX1RJTUVfTk9ORSBpZiB0aGUKCSAgUFRTL0RUUyB2YWx1ZSB0byBjb252ZXJ0IGRpZmZlcnMgYnkgbW9yZSB0aGFuIDE1cyBhZ2FpbnN0IHRoZSBsYXN0IHNlZW4KCSAgUENSCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQ1MzYKCjIwMTQtMDYtMTMgMTA6Mzc6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBGaXggd3JhcGFyb3VuZCBkZXRlY3Rpb24gaXNzdWUKCSAgVXNpbmcgMzJiaXQgdW5zaWduZWQgdmFsdWVzIGZvciBjb3JyZWN0ZWQgcGNyL29mZnNldCBtZWFudCB0aGF0IHdlCgkgIHBvdGVudGlhbGx5IGVuZGVkIHVwIGluIGJvZ3VzIHZhbHVlcwoJICBGdXJ0aGVybW9yZSwgcmVmcGNyIC0gcmVmcGNyb2Zmc2V0IGNvdWxkIGVuZCB1cCBiZWluZyBuZWdhdGl2ZSwgd2hpY2gKCSAgUENSVElNRV9UT19HU1RUSU1FKCkgY2FuJ3QgaGFuZGxlIChhbmQgcmV0dXJuZWQgYSBtYXNzaXZlIHBvc2l0aXZlIHZhbHVlKQoKMjAxNC0wNi0xMyAxMToyNjozOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBhZGQgZ3N0ZWdsaW1hZ2VtZW1vcnkKCjIwMTQtMDYtMTMgMDk6NTU6NDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogYWRkIGdsZnJhbWVidWZmZXIgb2JqZWN0CgoyMDE0LTA2LTEzIDA5OjUyOjAxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IG1pc2MgYWRkcyBmb3IgZ2wgZnVuY3Rpb25zCgoyMDE0LTA2LTEzIDA5OjQxOjUxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGFkZCBnbHVwbG9hZG1ldGEgb2JqZWN0CgoyMDE0LTA2LTEzIDA5OjMyOjU2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IHVwZGF0ZSBmb3Igc29tZSBnbCBmdW5jdGlvbiBuYW1lIGNoYW5nZXMKCjIwMTQtMDYtMTIgMjM6MTQ6NDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmFwcC5oOgoJICBnbGZpbHRlcmFwcDogYWN0dWFsbHkgZW1pdCB0aGUgY2xpZW50LWRyYXcgc2lnbmFsCgoyMDE0LTA2LTEyIDIzOjEzOjExICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJleXV2L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2RvdWJsZWN1YmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvcmVjb3JkZ3JhcGhpYy9tYWluLmNwcDoKCSAgZ2wvZXhhbXBsZXM6IHVwZGF0ZSBmb3IgVEVYVFVSRV8yRCBjaGFuZ2UKCjIwMTQtMDUtMzAgMTY6NTI6MDkgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgdHNkZW11eDogaW1wbGVtZW50IHByb3BlciBzZWVraW5nIGZvciBoMjY0IHN0cmVhbXMuCgkgIENvLUF1dGhvcmVkIGJ5OiBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgkgIEZyb20gYSBoaWdoIGxldmVsIHBlcnNwZWN0aXZlLCB0aGUgbmV3IHByb2Nlc3MgZm9yIHNlZWtpbmcgaDI2NAoJICBzdHJlYW1zIGlzIGFzIGZvbGxvd3M6CgkgIDEpIFJld2luZCB0aGUgc3RyZWFtIHVudGlsIHdlIGZpbmQgdGhlIGZpcnN0IEktc2xpY2Ugb2YgYSBmcmFtZSwKCSAgYW5kIG1hcmsgaXRzIG9mZnNldCBpbiB0aGUgc3RyZWFtLgoJICAyKSBSZXdpbmQgdGhlIHN0cmVhbSB1bnRpbCB3ZSBmaW5kIFNQUyBhbmQgUFBTIGluZm9ybWF0aW9ucywKCSAgdG8gbWFrZSBzdXJlIHRoZSBzdWJzZXF1ZW50IHBhcnNlciBpcyB1cCB0byBkYXRlLgoJICAzKSBBY2N1bXVsYXRlIG9wdGlvbm5hbCBTRUkgTkFMIHVuaXRzIG9uIHRoZSB3YXkuCgkgIDQpIFB1c2ggdGhlIFNQUywgUFBTIGFuZCBTRUkgdW5pdHMgYmVmb3JlIHRoZSBuZXcga2V5ZnJhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzUxMzIKCjIwMTQtMDYtMTIgMTA6MTQ6MjcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBkbyBub3QgdHJ5IHRvIGNsb3NlIG5lZ2F0aXZlIGZpbGUgZGVzY3JpcHRvcnMKCSAgSW50ZXJlc3RpbmdseSwgQ292ZXJpdHkgaW1wbGllcyB0aGF0IGNsb3NlIHRha2VzIGFuIHVuc2lnbmVkCgkgIGFyZ3VtZW50LCB3aGlsZSBteSBjbG9zZSgyKSBtYW4gcGFnZSBzaG93cyBpdCB0YWtpbmcgYSBzaWduZWQKCSAgYXJndW1lbnQuIEkgZ3Vlc3MgaXQgbWF5IGJlIHBsYXRmb3JtcyBzcGVjaWZpYy4KCSAgQ292ZXJpdHkgMTIxNDYwMgoKMjAxNC0wNi0xMiAxMDoxNzoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHM6IGZpeCBidWlsZCB3aXRoIEdMaWIgMi4zMgoJICBQcm92aWRlIGludGVybmFsIGNvcHkgb2YgZ19saXN0X2NvcHlfZGVlcCgpIHVudGlsIHdlCgkgIGJ1bXAgdGhlIEdMaWIgcmVxdWlyZW1lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE1NTUKCjIwMTQtMDYtMTIgMTA6MDA6NTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogYmFpbCBvdXQgZWFybHkgd2hlbiBieXRlcyBwZXIgc2FtcGxlIGlzIG5vdCBzZXQKCSAgVGhpcyBzaG91bGQgYWx3YXlzIGJlIHNldCBmb3IgdmFsaWQgZmlsZXMgd2hlbiB3ZSBnZXQgdGhlcmUsCgkgIGFuZCBjaGVja2luZyB0aGlzIGF2b2lkcyBoYXZpbmcgYWQgaG9jIGNoZWNrcyBmdXJ0aGVyIGRvd24KCSAgaW4gc2V2ZXJhbCBwbGFjZXMuCgkgIENvdmVyaXR5IDExMzk2OTgKCjIwMTQtMDYtMTEgMTU6MTE6NDAgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggcXVhbnRpemF0aW9uIG1hdHJpeCBjb252ZXJzaW9uIHJvdXRpbmUgbmFtZXMuCgkgIEZpeCByb3V0aW5lIG5hbWVzIGZvciB6aWd6YWcvcmFzdGVyIHNjYW4gb3JkZXIgY29udmVyc2lvbiByb3V0aW5lcyBmb3IKCSAgcXVhbnRpemF0aW9uIG1hdHJpY2VzLiBUaGlzIG91Z2h0IHRvIHVzZSB0aGUgZ3N0X2gyNjRfcXVhbnRfbWF0cml4XyooKQoJICBuYW1pbmcgY29udmVudGlvbiBpbnN0ZWFkIG9mIGdzdF9oMjY0X3ZpZGVvX3F1YW50X21hdHJpeF8qKCksIHdoaWNoCgkgIGRlcml2ZWQgZnJvbSB0aGUgTVBFRy0yIGZ1bmN0aW9uIG5hbWVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNTI0CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDUtMjYgMTg6Mjk6MjEgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZwOHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGFkZCBDKysgZ3VhcmRzIGZvciBNUEVHLTQgYW5kIFZQOCBwYXJzZXJzLgoJICBGaXggTVBFRy00IGFuZCBWUDggQVBJcyB0byBleHBvcnQgdGhlaXIgZXh0ZXJuYWwgc3ltYm9scyBhcyBwdXJlIEMKCSAgc3ltYm9scywgaS5lLiB1bi1tYW5nbGVkIGZvciBDKysuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE1MjIKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNi0xMiAxNDo1ODo0NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJICBnbG1peGVyOiBzZW5kIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCSAgYW5kIHRoZSBjYXBzIGV2ZW50IGFmdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwOTQ0CgoyMDE0LTA2LTEyIDEzOjM3OjUxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJleXV2L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2RvdWJsZWN1YmUvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvcmVjb3JkZ3JhcGhpYy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL01ha2VmaWxlLmFtOgoJICBnbC9leGFtcGxlczogYWRkIEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTCgoyMDE0LTA2LTEyIDEzOjE1OjEwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvZG91YmxlY3ViZS9tYWluLmNwcDoKCSAgZ2wvZXhhbXBsZXM6IHJlbW92ZSBzcHVyaW91cyBpbmNsdWRlIGZvciBkb3VibGVjdWJlIGV4YW1wbGUKCjIwMTQtMDYtMTIgMTM6MDY6MzEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJleXV2L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2RvdWJsZWN1YmUvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvcmVjb3JkZ3JhcGhpYy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVydmlkZW9vdmVybGF5L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3RrdmlkZW9vdmVybGF5L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvc3dpdGNodmlkZW9vdmVybGF5L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvTWFrZWZpbGUuYW06CgkgIGdsL2V4YW1wbGVzOiBhZGQgdGhlIHNyY2RpciBhbmQgYnVpbGRkaXIgaW5jbHVkZXMKCSAgQW5kIHJlbW92ZSByZWZlcmVuY2VzIHRvICQoR1NUX1BMVUdJTlNfR0xfKikKCjIwMTQtMDYtMTIgMTI6NDk6NDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmFwcC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL3JlY29yZGdyYXBoaWMvbWFpbi5jcHA6CgkgIGdsZmlsdGVyYXBwOiByZW1vdmUgdGhlIHJlc2hhcGUvZHJhdyBwcm9wZXJ0aWVzCgkgIFRoZSByZXNoYXBlIHByb3BlcnR5IHdhcyBuZXZlciB1c2VkLgoJICBSZXBsYWNlIHRoZSBkcmF3IHByb3BlcnR5IHdpdGggYSBzaWduYWwuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDUwNwoKMjAxNC0wNi0xMiAxMjoxNDozNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBsb2NrIHRoZSBzaXplIG9mIG1peC0+ZnJhbWVzIHRvIHRoZSBudW1iZXIgb2YgcGFkcwoJICBGaXhlcyBhIHNlZ2ZhdWx0IHdpdGggZGVjb2RlYmluICEgZ2xtaXhlciB3aGVyZSB0aGUgcmVxdWVzdCBwYWRzIG9uCgkgIGJvdGggc2lkZXMgd2VyZSBiZWluZyByZXF1ZXN0ZWQgYWZ0ZXIgdGhlIHN0YXRlIGNoYW5nZSB0byBQQVVTRUQuCgkgIEFsc28gZml4ZXMgZHluYW1pY2FsbHkgYWRkaW5nIGFuZCByZW1vdmluZyBwYWRzIHdoaWxlIGdsbWl4ZXIgaXMKCSAgaW4gYSBzdGF0ZSA+PSBQQVVTRUQuCgoyMDE0LTA2LTEyIDEyOjA5OjU2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJleXV2L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2RvdWJsZWN1YmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvcGlwZWxpbmUuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3BpcGVsaW5lLmg6CgkgIGdsL2V4YW1wbGVzOiBQb3J0IHRvIHVzaW5nIHNpZ25hbHMgaW5zdGVhZCBvZiBwcm9wZXJ0aWVzCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAZXBpdGVjaC5ldT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDUwNwoKMjAxNC0wNi0wMSAxNTowMjo1MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIGdsaW1hZ2VzaW5rOiByZXBsYWNlIHBvaW50ZXIgcHJvcGVydGllcyB3aXRoIHNpZ25hbHMKCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0NTA3CgoyMDE0LTA2LTExIDA5OjM4OjAwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFVzZSBmaXJzdCBncm91cCBmb3IgaGFuZGxpbmcgcmVmZXJlbmNlIHBjcgoJICBJZiBfc2V0X2N1cnJlbnRfcGNyX29mZnNldCBnZXRzIGNhbGxlZCBhZnRlciBhIGZsdXNoaW5nIHNlZWssIHdlIGVuZGVkCgkgIHVwIHVzaW5nIHRoZSBjdXJyZW50IGdyb3VwIGZvciBkZWx0YSBjYWxjdWxhdGlvbiAuLi4gd2hlcmVhcyB3ZSBzaG91bGQKCSAgYmUgdXNpbmcgdGhlIGZpcnN0IGdyb3VwIHRvIGNhbGN1bGF0ZSBzaGlmdHMuCgkgIEFsc28gYWRkIGFuIGVhcmx5IGV4aXQgaWYgdGhlcmUgYXJlIG5vIGNoYW5nZXMgdG8gYXBwbHkKCjIwMTQtMDYtMTAgMTQ6NTA6MTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoJICBUaGUgc2Vla3NlZ21lbnQgd2FzIG5vIGxvbmdlciB1c2VkIHNpbmNlIHRoZSBzd2l0Y2ggdG8gY2FsY3VsYXRpbmcgc2VnbWVudHMKCSAgd2hlbiB3ZSBzZWUgZGF0YS4KCjIwMTQtMDYtMTAgMTQ6Mjc6NTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRml4IGRlYnVnIHN0YXRlbWVudAoKMjAxNC0wNi0xMCAxNDoyNzowMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBGaXggZHVyYXRpb24gZXZhbHVhdGlvbiBpbiBwdXNoIG1vZGUKCSAgV2hlbiB3b3JraW5nIGluIHB1c2ggbW9kZSwgd2UgbmVlZCB0byBiZSBhYmxlIHRvIGV2YWx1YXRlIHRoZSBkdXJhdGlvbgoJICBiYXNlZCBvbiBhIHNpbmdsZSBncm91cCBvZiBvYnNlcnZhdGlvbnMuCgkgIFRvIGRvIHRoYXQgd2UgdXNlIHRoZSBjdXJyZW50IGdyb3VwIHZhbHVlcwoKMjAxNC0wNi0wMiAxMTowNzowMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEhhbmRsZSBlYXJseSBQVFMgY29udmVyc2lvbgoJICBXaGVuIGhhbmRsaW5nIHRoZSBQVFMvRFRTIGNvbnZlcnNpb24gaW4gbmV3IGdyb3VwcywgdGhlcmUncyBhIHBvc3NpYmlsaXR5CgkgIHRoYXQgdGhlIFBUUyBtaWdodCBiZSBzbWFsbGVyIHRoYW4gdGhlIGZpcnN0IFBDUiB2YWx1ZSBvYnNlcnZlZCwgZHVlIHRvCgkgIHJlLW9yZGVyaW5nLgoJICBXaGVuIHVzaW5nIHRoZSBjdXJyZW50IGdyb3VwLCBvbmx5IGFwcGx5IHRoZSB3cmFwYXJvdW5kIGNvcnJlY3Rpb24gd2hlbiB3ZQoJICBhcmUgY2VydGFpbiBpdCBpcyBvbmUgKGkuZS4gZGlmZmVycyBieSBtb3JlIHRoYW4gYSBzZWNvbmQpIGFuZCBub3Qgd2hlbiBpdCdzCgkgIGp1c3QgYSBzbWFsbCBkaWZmZXJlbmNlIChsaWtlIG91dC1vZi1vcmRlciBQVFMpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMDg4CgoyMDE0LTA2LTA5IDEwOjEwOjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBkb24ndCBwcmludCBhbHJlYWR5LWZyZWVkIHN0cmluZwoJICBDSUQgMTIyMTk4NwoKMjAxNC0wNi0wOSAxMDo1Njo0OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICBzcGVlZDogRml4IHBvc2l0aW9uIHF1ZXJ5IHNvbWUgbW9yZQoJICBGb3Jnb3QgdG8gcmVtb3ZlIGNvZGUgaW4gMTZmZDkxNzYzMmMwOTkyMzQ5Y2EyOGNmOTEwOGU5NTYyYzQ5M2FkNwoJICBDSUQgIzExMzk2NzcKCjIwMTQtMDYtMDcgMDc6MTM6NTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzZGVtdXg6IEZpeCBzdGlja3kgZXZlbnQgaGFuZGxpbmcKCSAgV2hlbiB3ZSByZWNlaXZlIHN0aWNreSBldmVudHMgZnJvbSB1cHN0cmVhbSwgYWx3YXlzIHJldHVybiBUUlVFLgoJICBGaXhlcyB0aGUgaXNzdWUgd2hlcmUgd2UgcmVjZWl2ZSBjdXN0b20gc3RpY2t5IGV2ZW50cyAoc3VjaCBhcyAidXJpIikKCSAgYW5kIG5vIHBhZHMgYXJlIGNyZWF0ZWQgeWV0LgoKMjAxNC0wNi0wNCAxODozNDo0NCArMDEwMCAgRGFtaWFuIFppb2JybyA8ZGFtaWFuQHhtZW1lbnRvaXQuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBJbXByb3ZlIHBhcnNpbmcgcXVvdGVkIGtleSBVUklzIGFuZCBhcHBseSBpdCBmb3IgSS1mcmFtZS1iYXNlZCBzdHJlYW0gVVJJCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA4MzAKCjIwMTQtMDYtMDYgMTM6MDg6MDQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBEb24ndCBzdG9yZSB0aGUgY3VycmVudCBrZXkgaW4gdGhlIHBsYXlsaXN0CgkgIEl0J3MgcGVyIGZyYWdtZW50IGFuZCBhcHBseWluZyB0byBhbGwgZm9sbG93aW5nIGZyYWdtZW50cwoJICB1bnRpbCB0aGUgbmV4dCBrZXkgaXMgc3BlY2lmaWVkLgoKMjAxNC0wNi0wNiAxMzowNDowNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogRml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDE0LTA1LTMwIDE2OjM0OjE4IC0wNjAwICBUaG9tYXMgQmx1ZW1lbCA8dGJsdWVtZWxAY29udHJvbDQuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBSZWxvYWQgdGhlIHZhcmlhbnQgcGxheWxpc3QgaWYgcmVmcmVzaGluZyBhIHBsYXlsaXN0IG9yIGRvd25sb2FkaW5nIGEgZnJhZ21lbnQgZmFpbHMKCSAgVGhpcyBjYW4gaGFwcGVuIGlmIHRoZSBwbGF5bGlzdHMgaGF2ZSBtb3ZlZCBkdWUgdG8gdGhlIHZhcmlhbnQgcGxheWxpc3QKCSAgbm93IGJlaW5nIHJlZGlyZWN0ZWQgdG8gYW5vdGhlciB0YXJnZXQuIFRoaXMgY3VycmVudGx5IG9ubHkgd29ya3MgYXMgbG9uZwoJICBhcyB0aGUgcmVmZXJlbmNlZCBwbGF5bGlzdHMgZG9uJ3QgY2hhbmdlIGluIHJlbGF0aW9uIHRvIHRoZSB2YXJpYW50CgkgIHBsYXlsaXN0LCBhbmQgdGhlIG5ldyBsb2NhdGlvbiBpcyBwdXJlbHkgZHVlIHRvIGEgbmV3IHBhdGggdHJpZ2dlcmVkIGJ5IGEKCSAgbmV3IHJlZGlyZWN0aW9uIHRhcmdldCBvZiB0aGUgdmFyaWFudCBwbGF5bGlzdCwgb3IgYSBuZXcgcmVkaXJlY3Rpb24KCSAgdGFyZ2V0IG9mIHRoZSBwbGF5bGlzdCBpdHNlbGYuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzExNjQKCjIwMTQtMDYtMDUgMTY6NDU6MTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBVc2UgYW4gYXJiaXRyYXJ5IGZyYW1lcmF0ZSBpZiBub25lIGlmIGdpdmVuCgkgIFRoZSBzY2hybyBlbmNvZGVyIGFsd2F5cyByZXF1aXJlcyBhIGZyYW1lcmF0ZSwgYnV0IHNvbWUgc291cmNlIG1hdGVyaWFsLAoJICBzdWNoIGFzIFJUUCBkb2Vzbid0IGhhdmUgYSBmaXhlZCBvbmUsIHNvIGp1c3QgZmFrZSBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTA1NAoKMjAxNC0wNi0wNCAxNDozNTo1MSAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGRyb3AgcmVkdW5kYW50IGFzc2lnbm1lbnQKCjIwMTQtMDYtMDQgMDE6MDI6MjAgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBpbXByb3ZlIHRpbWVvdXQgaGFuZGluZyBhdCBsb2NraW5nIGxvb3AKCSAgTmV3IGFwcHJvYWNoIGF0dGVtcHRzIHRvIGJlIG1vcmUgYWNjdXJhdGUgYnkgbWVhc3VyaW5nCgkgIHRoZSBlbGFwc2VkIHRpbWUgYnkgaXRlcmF0aW9uLiBBbHNvOgoJICAqIFVzZSBhIDEwIHNlY29uZHMgZGVmYXVsdCB0aW1lb3V0IGFuZCBhIGhhbGYgYSBzZWNvbmQKCSAgcG9sbGluZyBzdGVwLiBOZXcgdmFsdWVzIHNob3VsZCBiZXR0ZXIgbWF0Y2ggdGhlIHR1bmluZwoJICBwcm9jZXNzIG9uIHJlYWwtbGlmZSBzY2VuYXJpb3MuCgkgICogQ29ycmVjdCBlbGFwc2VkX3RpbWUgY29tcHV0YXRpb24uCgkgICogQWRkIF9yZXRyeV9pb2N0bCgpIHRvIGF2b2lkIGJhaWxpbmcgb3V0IG9uIHRlbXBvcmFyeQoJICBpb2N0bCBFSU5UUiBmYWlsdXJlcyAobm8gbmVlZCB0byBjaGVjayBmb3IgRUFHQUlOIGNhdXNlCgkgIHdlIGFyZSBvcGVuaW5nIHRoZSBmcm9udGVuZCBvbiBibG9ja2luZyBtb2RlKQoJICAqIFNtYWxsIGNvcnJlY3Rpb25zIHRvIGZhaWwgY29uZGl0aW9uIGhhbmRsaW5nCgoyMDE0LTA2LTA1IDE4OjQzOjMwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2wvd2F5bGFuZDogY3JlYXRlIGEgZHVtbXkgZGlzcGxheSBpbnN0ZWFkIG9mIGFuIEVHTERpc3BsYXkKCSAgQ3VycmVudGx5LCBHc3RHTFdpbmRvd1dheWxhbmRFR0wgaG9sZHMgdGhlIHdheWxhbmQgZGlzcGxheSBjb25uZWN0aW9uCgkgIElmIHdlIGNyZWF0ZSB0aGUgRUdMRGlzcGxheSBhdCB0aGUgR3N0RGlzcGxheSBjcmVhdGlvbiB0aW1lLCB0aGVuCgkgIGxpYkVHTCB3aWxsIGludGVybmFsbHkgb3BlbiBhbm90aGVyIGNvbm5lY3Rpb24gdG8gdGhlIHdheWxhbmQgc2VydmVyLgoJICBUaGVzZSB0d28gZGlzcGxheSBjb25uZWN0aW9ucyBhcmUgdW5hYmxlIHRvIGNvbW11bmljYXRlIHJlc3VsdGluZyBpbgoJICBubyB3aW5kb3cgb3V0cHV0L2Rpc3BsYXkgYW5kIGhhbmdzIGluc2lkZSBsaWJFR0wuCgkgIEV2ZW50dWFsbHkgd2Ugd2lsbCBtb3ZlIHRoZSB3bF9kaXNwbGF5IGZyb20gR3N0R0xXaW5kb3cgdG8gR3N0R0xEaXNwbGF5LgoKMjAxNC0wNi0wNSAwOTo0MDozOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXAuYzoKCSAgcnRtcDogcHJveHkgbG9nZ2luZyBmcm9tIGxpYnJ0bXAKCSAgSGVscHMgd2l0aCBkZWJ1Z2dpbmcgdmFyaW91cyBsaWJydG1wIGlzc3VlcwoKMjAxNC0wNi0wNSAwODoyOTo1MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogRml4IHBvc2l0aW9uIHF1ZXJ5aW5nCgkgIEl0J3MgdGhlIHBvc2l0aW9uIHdlJ3JlIHF1ZXJ5aW5nLCBub3QgdGhlIGR1cmF0aW9uIDopCgoyMDE0LTA2LTA0IDIxOjM5OjQ4ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFJlbW92ZSBleHRyYW5lb3VzIGV4dHJhIHBhcmFtZXRlciBmcm9tIGNoZWNrX3BlbmRpbmdfYnVmZmVycyBmdW5jdGlvbgoKMjAxNC0wNi0wNCAyMTozMToyMSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpc2VyOiBBbHdheXMgaW5pdGlhbGlzZSBwYWNrZXQgQUZDIGZsYWdzIGFuZCBQQ1IgZmllbGRzCgkgIEFsc28gZml4IGEgc2xpZ2h0IHR5cG8gaW4gYSBjb21tZW50IGFib3V0IHRoZSBzbW9vdGhpbmcgYWxnb3JpdGhtCgoyMDE0LTA1LTIzIDE1OjA3OjE5ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFJlc2V0IHBlbmRpbmdfdHMgb24gYSBkaXNjb250LCB0byByZS1tZWFzdXJlIGluaXRpYWwgdGltZXN0YW1wcwoJICBTaW5jZSBhbGwgdGhlIG90aGVyIHRpbWVzdGFtcCB0cmFja2luZyBub3cgZ2V0cyByZXNldCBvbiBhIGRpc2NvbnQsCgkgIGl0IG1ha2VzIHNlbnNlIHRvIHdhaXQgZm9yIGEgUENSIGFuZCB0aW1lc3RhbXAgYnVmZmVycyBsaWtlIHdoZW4KCSAgcGxheWJhY2sgZmlyc3Qgc3RhcnRzCgoyMDE0LTAzLTIxIDIyOjE2OjQxIC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5oOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuaDoKCSAgc3J0cDogYWRkIHN1cHBvcnQgZm9yIHJvbGxvdmVyIGNvdW50ZXJzIGFuZCByZXBsYXkgcHJvdGVjdGlvbiB3aW5kb3cgc2l6ZQoJICBXZSBhZGQgYSBuZXcgc2lnbmFsLCBnZXQtcm9sbG92ZXItY291bnRlciwgdG8gdGhlIFNSVFAgZW5jb2Rlci4gR2l2ZW4gYQoJICBzc3JjIHRoZSBzaWduYWwgd2lsbCByZXR1cm4gdGhlIGN1cnJlbnRseSBpbnRlcm5hbCBTUlRQIHJvbGxvdmVyIGNvdW50ZXIKCSAgZm9yIHRoZSBnaXZlbiBzdHJlYW0uCgkgIEZvciB0aGUgU1JUUCBkZWNvZGVyIHdlIGhhdmUgYSBuZXcgU1JUUCBjYXBzIHBhcmFtZXRlciAicm9jIiB0aGF0IG5lZWRzCgkgIHRvIGJlIHNldCB3aGVuIGEgbmV3IFNSVFAgc3RyZWFtIGlzIGNyZWF0ZWQgZm9yIGEgZ2l2ZW4gU1NSQy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjg2MQoKMjAxMy0xMC0xNCAxNjoxNDo0MiArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IGhhbmRsZSBnYXAgYnVmZmVyIGZsYWcKCSAgUmVtb3ZlIEdBUCBmbGFnIHVubGVzcyBib3RoIHNpZGVzIGhhdmUgZ2FwIGRhdGEsIGlnbm9yZQoJICBpbmNvbWluZyBkYXRhIGlmIGl0IGlzIGdhcCBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMzk3CgoyMDE0LTA1LTI1IDIxOjQzOjIyICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBpbXByb3ZlIHN0YXRlIGNoYW5nZSBkZWJ1ZyBtZXNzYWdlCgoyMDE0LTA2LTAzIDEzOjU5OjUxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogYWx3YXlzIHJlbGVhc2UgdGhlIHByZXZpb3VzIGJ1ZmZlcgoJICBGaXhlcyB0aGUgY2FzZSB3aGVyZSBfcGVyZm9ybV93aXRoX2J1ZmZlcigpIGlzIGNhbGxlZCB3aXRob3V0CgkgIGludGVydmVuaW5nIGNhbGxzIHRvIF9yZWxlYXNlX2J1ZmZlcigpIGFzIGlzIHRoZSBjYXNlIG9uIHN0YXJ0IHVwCgkgIHdpdGggZ2xpbWFnZXNpbmsuCgkgIEFsc28gcmVsZWFzZSB0aGUgYnVmZmVyIHdoZW4gcmVzZXRpbmcgdGhlIHVwbG9hZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTEwNwoKMjAxNC0wNi0wMiAyMTo1MTozOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NobS5jOgoJICB0ZXN0czogVGFrZSBhY2NvdW50IG9mIG1lbW9yeSBhbGlnbm1lbnQgaW4gc2htIHRlc3QKCjIwMTQtMDYtMDIgMjE6NDM6NTYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IEZhaWwgZ3JhY2VmdWxseSBpZiBldmVudCBjYW4ndCBiZSBwYXJzZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTA5MwoKMjAxNC0wNi0wMiAyMTo0MzozNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiBBbGxvY2F0ZSBlbm91Z2ggbWVtb3J5IHRvIGRvIGFsaWdubWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMDkzCgoyMDE0LTA2LTAyIDEyOjM5OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBBY3R1YWxseSBwcmludCB0aGUgc3RhY2t0cmFjZSBpbnRvIHRoZSBlcnJvciBzdHJpbmcKCjIwMTQtMDYtMDIgMTE6Mjg6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IENsZWFyIHRoZSBleGNlcHRpb24gYmVmb3JlIHRyeWluZyB0byBjYWxsIEphdmEgbWV0aG9kcyB0byBjb252ZXJ0IGl0IHRvIGEgc3RyaW5nCgoyMDE0LTA2LTAyIDExOjE2OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBGaXggY3Jhc2hlcyB3aGVuIGxvYWRpbmcgdGhlIHBsdWdpbiBpbiBhIHN0YW5kYWxvbmUgYXBwbGljYXRpb24gb24gQW5kcm9pZCA+PSA0LjQKCSAgQ2hlY2sgaWYgbGlibmF0aXZlaGVscGVyIGlzIGxvYWRlZCBpbiB0aGUgcHJvY2VzcyBhbmQgaWYKCSAgaXQgaGFzIHRoZXNlIGF3ZnVsIHdyYXBwZXJzIGZvciBKTklfQ3JlYXRlSmF2YVZNIGFuZAoJICBKTklfR2V0Q3JlYXRlZEphdmFWTXMgdGhhdCBjcmFzaCB0aGUgYXBwIGlmIHlvdSBkb24ndAoJICBjcmVhdGUgYSBKbmlJbnZvY2F0aW9uIGluc3RhbmNlIGZpcnN0LiBJZiBpdCBpc24ndCB3ZQoJICBqdXN0IGZhaWwgaGVyZSBhbmQgZG9uJ3QgaW5pdGlhbGl6ZSBhbnl0aGluZy4KCSAgU2VlIHRoaXMgY29kZSBmb3IgcmVmZXJlbmNlOgoJICBodHRwczovL2FuZHJvaWQuZ29vZ2xlc291cmNlLmNvbS9wbGF0Zm9ybS9saWJuYXRpdmVoZWxwZXIvKy9tYXN0ZXIvSm5pSW52b2NhdGlvbi5jcHAKCjIwMTQtMDYtMDIgMTA6MTE6NTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgc3BlZWQ6IG1ha2UgcG9zaXRpb24gcXVlcnkgYWJsZSB0byBjb252ZXJ0IGJ5dGVzIHRvIHRpbWUKCSAgKHNhbWUgYXMgNzQ0YzU4ZDcxYjIxNDc1ZDJlZGQ1YjkzMzRlMjc3Y2ZhNGM1MzI2MCBidXQgZm9yIHRoZQoJICBwb3NpdGlvbiBxdWVyeSkKCSAgSXQgd2FzIG9ubHkgcXVlcnlpbmcgaW4gdGltZSwgYnV0IHRoZW4gdHJ5aW5nIHRvIHVzZSBkZWFkIGJ5dGVzCgkgIHRvIHRpbWUgY29udmVyc2lvbiBjb2RlLgoJICBDb3Zlcml0eSAxMTM5Njc3CgoyMDE0LTA2LTAyIDA5OjQyOjMzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBhdm9pZCBjcmFzaGluZyBpbiBwYXRob2xvZ2ljYWwgY2FzZQoJICAoSWRlbnRpY2FsIHRvIGNvbW1pdCA2MTJjZGVlYzgwZGE5NWIxMmY5ZmFkOTI4NDE5YzdkZTJiZTIwZDY4IHdoaWNoCgkgIHdhcyBmb3IgcmVzaW5kdmQpCgkgIFdoZW4gd2UnZCBzZWUgYW4gdW5rbm93biBzdHJlYW0gdHlwZSwgdGhlbiBhIFNERFMgc3RyZWFtLgoJICBUaGVuIHdlJ2QgZ2V0IHRvIHRoZSBlbmQgb2YgdGhlIHN3aXRjaCB3aXRoIGEgTlVMTCB0ZW1wIHN0cmVhbQoJICBwb2ludGVyLCBhbmQgZGVyZWZlcmVuY2UgaXQuCgkgIENvdmVyaXR5IDExMzk3MDgKCjIwMTQtMDYtMDIgMDk6MjM6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogSGFuZGxlICh1bmxpa2VseSkgTlVMTCByZXR1cm4gb2YgZ2wtPkdldFN0cmluZyAoR0xfVkVSU0lPTikgbW9yZSBncmFjZWZ1bGx5CgkgIENJRCAxMjE5ODU4CgoyMDE0LTA2LTAyIDA4OjIyOjE1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJICBtcGVndHM6IFJlbW92ZSB1bm5lZWRlZCBOVUxMIGNoZWNrCgkgIEFsbG9jYXRpbmcgdGhvc2Ugc3RydWN0dXJlcyBpcyBkb25lIGluIGFsbCBjb2RlIHBhdGhzIGxlYWRpbmcgdGhlcmUKCSAgQ0lEICMxMjE5ODYwCgkgIENJRCAjMTIxOTg2MQoJICBDSUQgIzEyMTk4NjIKCSAgQ0lEICMxMjE5ODYzCgkgIENJRCAjMTIxOTg2NAoKMjAxNC0wNi0wMSAxMDo0Mzo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29wdGlvbnMuY2M6CgkgIG1wZWcyZW5jOiBpbmNyZWFzZSBtYXguIGFsbG93ZWQgdmFsdWUgZm9yIGJpdHJhdGUgcHJvcGVydHkKCSAgRm9yIERWRCB0aGUgbGltaXQgaXMgYXJvdW5kIDEwTWJpdC9zLCBidXQgZm9yIGUuZy4gQVRTQwoJICBpdCBjb3VsZCBiZSBtdWNoIGhpZ2hlci4KCjIwMTQtMDUtMjUgMTM6MDU6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiYmFzZWJpbjogYmV0dGVyIGVycm9yIGhhbmRsaW5nIGluIGNhc2UgdHNwYXJzZSBpcyBtaXNzaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA2NDEKCjIwMTQtMDUtMzAgMTc6MzU6NDkgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YmJhc2ViaW46IGFkZCBwcm9wIHNldHVwIGNvZGUgZm9yIGd1aW50NjQKCSAgTmVlZGVkIHNpbmNlIHdlIGFyZSBub3cgcHJveHlpbmcgdHVuaW5nLXRpbWVvdXQKCSAgZnJvbSBkdmJzcmMuCgoyMDE0LTA1LTIwIDA3OjM0OjU2ICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuY3BwOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkgIG1vdGlvbmNlbGxzOiBpbXByb3ZlIGxvZ2dpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDE0MQoKMjAxNC0wNS0yMCAwNzoyOToxNiArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmNwcDoKCSAgbW90aW9uY2VsbHM6IG1ha2UgZnJhbWVkcm9wIHdvcmsgYXQgMzAgZnBzIHRvbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMTQxCgoyMDE0LTA1LTIwIDA3OjI1OjIwICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSogZXh0L29wZW5jdi9tb3Rpb25jZWxsc193cmFwcGVyLmNwcDoKCSAgbW90aW9uY2VsbHM6IHVzZSBzdGFuZGFyZCBtYWNybyBmb3IgYm9vbGVhbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMTQxCgoyMDE0LTA1LTIwIDA3OjE4OjM5ICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3BlbmN2OiBtYWtlIHRoZSBwbHVnaW4gY29tcGlsZSB3aXRoIGFsbCAyLjQueCB2ZXJzaW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMTQxCgoyMDE0LTA1LTI2IDIyOjM0OjAxIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuYzoKCSogc3lzL2R2Yi9jYW1kZXZpY2UuYzoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJICBkdmIvY2FtKjogdXNlIGdfc3RyZXJyb3IgYW5kIG90aGVyIGZldyBuaXRzCgoyMDE0LTA1LTMwIDExOjAwOjA2IC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmJiYXNlYmluOiBmaXggZHZic3JjIHNpZ25hbCBwcm94eWluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxMjA0CgoyMDE0LTA1LTMwIDAwOjQ5OjQ5IC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmJiYXNlYmluOiBwcm94eSBuZXcgcHJvcHMvc2lnbmFscyBmcm9tIGR2YnNyYwoJICBQcm94eSB0dW5pbmcgc3RhcnQvZG9uZS9mYWlsIHNpZ25hbHMgYW5kIHR1bmluZy10aW1lb3V0CgkgIHByb3BlcnR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxMjA0CgoyMDE0LTA1LTAxIDE4OjI1OjA1IC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkgIGR2YnNyYzogc21hcnRlbiB1cCB0dW5pbmcgbG9naWMKCSAgKiBEcm9wIHJlbWFpbmluZyBzbGVlcCgpIGxvZ2ljIGluIGZhdm9yIG9mIHBvbGxpbmcKCSAgKiBVc2UgYmVzdCBndWVzcyBkZWxpdmVyeSBzeXN0ZW0gaWYgbm9uZSBpcyBzZXQKCSAgKiBNYWtlIHR1bmluZy9sb2NraW5nIHRpbWVvdXQgY29uZmlndXJhYmxlCgkgICogQWRkIHNpZ25hbHMgZm9yIHR1bmluZyBzdGFydCwgZG9uZSBhbmQgZmFpbAoJICAqIERyb3AgZ3N0X2R2YnNyY19mcm9udGVuZF9zdGF0dXMoKS4gSXQgd2FzIHVzZWQgb25seQoJICBmb3Igc2lnbmFsIExPQ0sgY2hlY2tpbmcuIFRoaXMgaXMgbm93IHBhcnQgb2YgdGhlCgkgIHR1bmluZy9sb2NraW5nIGxvb3AKCSAgKiBCcmVhayB1cCBmcm9udGVuZCBjb25maWd1cmF0aW9uIGFuZCB0dW5pbmcKCSAgb24gc2VwYXJhdGUgZnVuY3Rpb25zCgkgIFBsdXM6CgkgICogQWRkIHNvbWUgbW9yZSB1c2VmdWwgREVCVUcvVFJBQ0UgbWVzc2FnZXMKCSAgKiBNb3ZlIG92ZXIgbWlzcGxhY2VkIERWQiBBUEkgbWVzc2FnZQoJICAqIEZpeCB3cm9uZyBjb21tZW50IGZvciBkZWZhdWx0IERWQiBidWZmZXIgc2l6ZSAoaHR0cDovL2xpbnV4dHYub3JnL2Rvd25sb2Fkcy92NGwtZHZiLWFwaXMvZG14X2ZjYWxscy5odG1sI0RNWF9TRVRfQlVGRkVSX1NJWkUpCgkgIFRoaXMgcGF0Y2ggYnVpbGRzIHVwIG9uIHByZXZpb3VzIHdvcmsgZG9uZSBieQoJICBGYWJyaXppbyAoTWlzdG8pIE1pbG8gPG1pc3RvYmFhbkBnbWFpbC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDEyMDQKCjIwMTQtMDUtMzAgMTY6MzU6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJICBhbmRyb2lkbWVkaWE6IEFkZCBleGNlcHRpb25zIGZyb20gdGhlIEphdmEgQVBJIHRvIGVycm9yIG1lc3NhZ2VzLCBhbmQgcG9zdCBtb3JlIGVycm9yL3dhcm5pbmcgbWVzc2FnZXMgb3ZlcmFsbAoKMjAxNC0wNS0zMCAxNToyNDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkgIGFuZHJvaWRtZWRpYTogQWRkIGEgR0Vycm9yIGFyZ3VtZW50IHRvIGFsbCBhbWMgbWV0aG9kcyBhbmQgY2F0Y2ggZXhjZXB0aW9ucyB0aGVyZQoKMjAxNC0wNS0zMCAxNToyNDoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogRGVzY3JpYmUgZXhjZXB0aW9ucyBoYXBwZW5pbmcgd2hlbiBzY2FubmluZyBhbGwgY29kZWNzCgoyMDE0LTA1LTMwIDEyOjE5OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBBZGQgQVBJIHRvIGNvbnZlcnQgYW4gZXhjZXB0aW9uIGludG8gYSBzdHJpbmcKCjIwMTQtMDUtMzAgMTI6NDA6MDggKzAyMDAgIEpvcmdlIFphcGF0YSA8am9yZ2VsdWlzLnphcGF0YUBnbWFpbC5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgUmVsZWFzZSB0aGUgY29kZWMgYmVmb3JlIGZyZWVpbmcgaXQKCSAgT24gU2Ftc3VuZyBHYWxheHkgUzQgaXQgaXMgaW1wb3NzaWJsZSB0byBoYXZlIG1vcmUgdGhhbiBvbmUKCSAgaGFyZHdhcmUgZGVjb2RlciBhdCB0aGUgc2FtZSB0aW1lLiBJZiB3ZSBkbyBub3QgcmVsZWFzZSBpdAoJICBleHBsaWNpdGx5IHRoZSBHQyBvbmx5IHJlbGVhc2VzIGl0IHdoZW5ldmVyIHRoZSB3aG9sZSBhcHBsaWNhdGlvbgoJICBpcyBmaW5pc2hlZCBub3Qgd2hlbmV2ZXIgdGhlIGFjdGl2aXR5IGlzIGZpbmlzaGVkIGFuZCB0aHVzIGEgcGxheWVyCgkgIHdpbGwgbm90IGJlIGFibGUgdG8gd29yayBjb3JyZWN0bHkKCjIwMTQtMDUtMzAgMDI6MTA6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IGZpeCBzdHJ1Y3R1cmUgaGFuZGxpbmcgaW4gcHJldmlldyBtZXNzYWdlCgkgIEF2b2lkIHRyeWluZyB0byBtb2RpZnkgdGhlIG1lc3NhZ2Ugc3RydWN0dXJlIGFzIGl0IGlzbid0IG11dGFibGUuCgkgIFVzZSBhIGNvcHkgYW5kIHBvc3QgYSBuZXcgbWVzc2FnZSBpZiBuZWNlc3NhcnkuCgkgIEZpeGVzIGZhaWxpbmcgdGVzdHMuCgoyMDE0LTA1LTMwIDEyOjIzOjA5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogcmVtb3ZlIHVuZWVkZWQgZ2wgYXBpIGlmZGVmcwoKMjAxNC0wNS0zMCAxMTo1MTowMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbHdpbmRvd194MTE6IGFsbG93IGV4cG9zZSBldmVudHMgdG8gcmVkcmF3IG91ciB3aW5kb3cKCSAgb3RoZXJ3aXNlIHdlIHdpbGwgbm90IHVwZGF0ZSB0aGUgd2luZG93IGNvbnRlbnRzIG9uIGxvdyBmcmFtZXJhdGUKCSAgc3RyZWFtcyB1bnRpbCB0aGUgbmV4dCBidWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzUyOQoKMjAxNC0wNS0zMCAxMTo0NjowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IHVucmVmIHRoZSBvbGQgYnVmZmVyIG91dHNpZGUgdGhlIGxvY2sKCSAgaXQgY291bGQgdmVyeSB3ZWxsIGRlYWRsb2NrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM1MjkKCjIwMTQtMDUtMzAgMTE6MzU6MDQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBSZXZlcnQgIls4ODAvOTA2XSBnbGltYWdlc2luazogcmVtb3ZlIHVudXNlZCBzdG9yZWRfYnVmZmVyIGZpZWxkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGFmM2E2OGRiN2RjNDczZmI2OTAzYzE4OTY2YjM5ZTRjM2YxNDY0ZDcuCgkgIENvbmZsaWN0czoKCSAgZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzUyOQoKMjAxNC0wNS0zMCAxMDo0NjoyNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogZml4IHVwIGFzc2VydGlvbgoJICBlcnJvcjogJ3JldHVybicgd2l0aCBubyB2YWx1ZSwgaW4gZnVuY3Rpb24gcmV0dXJuaW5nIG5vbi12b2lkCgoyMDE0LTA1LTMwIDEwOjI3OjE0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2Jhc2UuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9ibGVuZGluZy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2VnbGltYWdlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZmJvLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZml4ZWRmdW5jdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9vcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9zaGFkZXJzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWRtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbGZlYXR1cmU6IHJlbW92ZSBHU1RfR0xfQVBJX0dMRVMzCgkgIGluc3RlYWQgY2hlY2sgdGhlIGdsIHZlcnNpb24gdXNpbmcgZ3N0X2dsX2NvbnRleHRfY2hlY2tfZ2xfdmVyc2lvbigpCgoyMDE0LTA1LTMwIDEwOjI1OjE4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBjaGVjayBmb3IgR0xFUyB2ZXJzaW9ucwoKMjAxNC0wNS0yOSAyMDozNTo0OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSAgZ2wvY29udGV4dDogYWRkIGNoZWNrX2dsX3ZlcnNpb24KCjIwMTQtMDUtMjkgMTc6MDk6MjYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogVHJ5IEdMWCBzdXBwb3J0IGJlZm9yZSBFR0wgc3VwcG9ydAoJICBJZiBhdmFpbGFibGUsIGdseCBoYXMgZ290IGEgYmV0dGVyIGNoYW5jZSBvZiBiZWluZyB0aGUgR2wgcGxhdGZvcm0KCSAgd2Ugd2FudCB0byB1c2UgY29tcGFyZWQgdG8gRUdMCgoyMDE0LTA1LTI5IDE2OjU5OjI4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBUcnkgdG8gb3BlbiBsaWJ7RUdMfEdMfEdMRVN2Mn0uc28uMSBiZWZvcmUgbGlie0VHTHxHTHxHTEVTdjJ9CgkgIEZpeGVzIGlzc3VlcyB3aXRoIC5zbyAod2l0aG91dCBudW1iZXJpbmcpIGJlaW5nIGluc3RhbGxlZCBmb3IgZGV2ZWxvcG1lbnQKCSAgKHN1Y2ggYXMgZnJvbSBtZXNhLWRldikgYnV0IGFjdHVhbCBkcml2ZXIgKHdpdGggbnVtYmVyaW5nKSBjb21pbmcgZnJvbQoJICBzb21lIG90aGVyIHBsYWNlIChsaWtlIG52aWRpYSBkcml2ZXJzKQoKMjAxNC0wNS0yOSAxNjowMToyMiArMDIwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8dXJhZXVzQGxpbnV4cmlzaW5nLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMKCjIwMTQtMDUtMjkgMTI6MzA6MTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uaDoKCSAgYXRzYy1zZWN0aW9uOiBGaXggYW5ub3RhdGlvbgoKMjAxNC0wNS0yOSAxMjoyOTo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIGR2Yi1kZXNjcmlwdG9yOiBGaXggbXVsdGlsaW5ndWFsIHNlcnZpY2UgbmFtZSBwYXJzaW5nCgkgIHRoZSBwcm92aWRlciBhbmQgc2VydmljZSBuYW1lIHdhcyBpbnZlcnRlZAoKMjAxNC0wNS0yOCAxNjo0Nzo1MyArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGU6IHRzLXBhcnNlcjogYWRkIHBhcmVudGlhbCByYXRpbmcgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwODU0CgoyMDE0LTA1LTI4IDE2OjQ3OjI4ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZTogdHMtcGFyc2VyOiBhZGQgY2EgaWRkZW50aWZpZXIgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwODU0CgoyMDE0LTA1LTI4IDEyOjIzOjUwICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZTogdHMtcGFyc2VyOiBhZGQgc3RyZWFtIGlkZW50aWZpZXIgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwODU0CgoyMDE0LTA1LTI4IDEyOjIzOjEyICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZTogdHMtcGFyc2VyOiBhZGQgY29udGVudCBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA4NTQKCjIwMTQtMDUtMjggMTI6MTk6NDMgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlOiB0cy1wYXJzZXI6IGFkZCBjb21wb25lbnQgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwODU0CgoyMDE0LTA1LTI5IDExOjU1OjUxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogZmFjdG9yIGR1bXBpbmcgY29kZQoJICBXZSBjYW4ganVzdCByZS11c2UgdGhlIG5ldyBmdW5jdGlvbiBpbnN0ZWFkIG9mIGhhdmluZyB0d28gZHVwbGljYXRlcwoKMjAxNC0wNS0yOSAxMDo1MDo1OCArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGU6IHRzLXBhcnNlcjogYWRkIGxpbmthZ2UgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwOTAxCgoyMDE0LTA1LTI4IDIwOjQyOjA1ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogYnVnZml4IG1vYmlsZSBoYW5kIG92ZXIgbGlua2FnZSBwYXJzZSBtaXNzbWF0Y2gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDkwMQoKMjAxNC0wNS0yOCAxNjozNDowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmg6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgbXBlZ3RzOiBhdHNjOiBhZGQgbWlzc2luZyBmaWVsZCB0byBFVFQgdGFibGUKCSAgU2V0IHRoZSBzdWJ0YWJsZV9leHRlbnNpb24gYXMgZXR0X3RhYmxlX2lkX2V4dGVuc2lvbgoJICBmb3IgRVRUIHRhYmxlcyBhcyBpdCBpcyB1c2VkIGJ5IGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA0MzUKCjIwMTQtMDUtMjggMTU6NTk6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgbXBlZ3RzOiBhdHNjOiBhZGQgYXRzYydzIEVJVCB0YWJsZSBwYXJzaW5nCgkgIEFUU0MgaGFzIGl0cyBvd24gdmVyc2lvbiBvZiB0aGUgRUlUIHRhYmxlIChEVkIgYWxzbyBoYXMgb25lKS4KCSAgVGhpcyBwYXRjaCBhZGRzIHBhcnNpbmcgZm9yIHRoZSBBVFNDIEVJVCB0YWJsZSBhbmQgYWxzbyBmaXhlZAoJICB0aGUgc2VjdGlvbiBpZGVudGlmaWNhdGlvbiB0byBtYXJrIGl0IGFzIHRoZSBBVFNDIG9uZS4KCSAgVGhlIGltcGxlbWVudGF0aW9uIGF3cyByZWZhY3RvcmVkIHRvIHJldXNlIHNvbWUgY29tbW9uIGludGVybmFsCgkgIHN0cnVjdHVyZXMgZnJvbSBFVFQuCgkgIEFsc28gYWRkcyBpdHMgZHVtcGluZyBmdW5jdGlvbiB0byB0cy1wYXJzZXIgZXhhbXBsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNDM1CgoyMDE0LTA1LTIyIDE3OjQ5OjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3RzLmM6CgkgIHRlc3RzOiBtcGVndHM6IGFkZCB0ZXN0IGZvciBTVFQgcGFyc2luZwoJICBTcGVjaWFsbHkgZm9yIHRoZSB0aW1lIHRvIFVUQyBkYXRldGltZSBjb252ZXJzaW9uCgkgIEV4YW1wbGUgdGFrZW4gZnJvbSB0aGUgQTY1IHNwZWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDQzNQoKMjAxNC0wNS0yMiAwMTo0Nzo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBtcGVndHM6IGF0c2M6IGFkZCBTVFQgdGFibGUgcGFyc2luZwoJICBBZGRzIHRoZSBzeXN0ZW0gdGltZSB0YWJsZSBzdHJ1Y3R1cmUgYW5kIGZ1bmN0aW9ucyBmb3IgY29udmVuaWVudCBwYXJzaW5nIG9mCgkgIGl0IGFuZCBmb3IgZ2V0dGluZyB0aGUgVVRDIGRhdGV0aW1lIHRoYXQgaXQgcmVwcmVzZW50cy4gQWxzbyBhZGRzIGl0cwoJICBpbmZvcm1hdGlvbiBkdW1waW5nIHRvIHRoZSB0cy1wYXJzZXIgZXhhbXBsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNDM1CgoyMDE0LTA1LTE5IDE2OjIwOjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJICBtcGVndHM6IGF0c2M6IGFkZCBlbmNvZGluZyBjb252ZXJzaW9uIGZvciBVVEYtMTYgRVRUIHN0cmluZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDQzNQoKMjAxNC0wNS0xOSAxNDo1MDoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBtcGVndHM6IGFkZCBmdW5jdGlvbiB0byBkdW1wIEVUVCB0YWJsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDQzNQoKMjAxNC0wNS0xOSAxMzo0NjowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSAgbXBlZ3RzOiBhdHNjOiBhZGQgRVRUIHN0cnVjdHVyZXMgYW5kIHBhcnNpbmcKCSAgRVRUIChleHRlbmRlZCB0ZXh0IHRhYmxlKSBjb250YWlucyBBVFNDIHRleHQgaW5mb3JtYXRpb24gd2l0aCBkZXNjcmlwdGlvbnMKCSAgb2YgdmlydHVhbCBjaGFubmVscyBhbmQgZXZlbnRzLiBUaGUgdGV4dCBjYW4gYmUgaW50ZXJuYXRpb25hbGl6ZWQgYW5kIGFsc28KCSAgY29tcHJlc3NlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDQzNQoKMjAxNC0wNS0xNiAxNTozOTo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICB0c2Jhc2U6IHBhcnNlIHRoZSBtZ3QgYW5kIGFkZCBsaXN0ZWQgRUlUL0VUVCBwaWRzIHRvIHRoZSBrbm93biBwc2kKCSAgVGhpcyB3aWxsIG1ha2UgdHNiYXNlIGFsc28gcGFyc2UgdGhlIEVJVHMgYW5kIEVUVHMgZnJvbSBBVFNDIHN0cmVhbXMgdGhhdCBoYXZlCgkgIHRoZWlyIHBpZHMgcmVwb3J0ZWQgb24gdGhlIE1HVCBhbmQgcG9zdCB0byB0aGUgYnVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA0MzUKCjIwMTQtMDUtMTUgMTI6MzE6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgbXBlZ3RzOiBhZGQgYXRzYyBNR1Qgc2VjdGlvbiBwYXJzaW5nCgkgIEFkZCBhIHBhcnNpbmcgZnVuY3Rpb24gZm9yIE1HVCBhbmQgYWxzbyBkZXRlY3QgdGhlIEVJVCB0YWJsZXMKCSAgZm9yIEFUU0MsIHRoZSBFSVQgcGlkcyBhcmUgcmVwb3J0ZWQgaW5zaWRlIHRoZSBNR1QgYW5kIHdlIGFyZSBzdGlsbAoJICBvbmx5IHJlbHlpbmcgb25seSBvbiB0aGUgdGFibGUgaWQgZm9yIGRldGVjdGluZyBpdC4gSW4gdGhlIGZ1dHVyZSB3ZQoJICB3b3VsZCB3YW50IHRvIGFsc28gY2hlY2sgdGhlIHBpZCBhbmQgY29tcGFyZSB3aXRoIHdoYXRldmVyIHRoZSBNR1QKCSAgcHJldmlvdXNseSByZXBvcnRlZCB0byBjb25maXJtIHRoYXQgaXQgaXMgaW5kZWVkIHRoZSBFSVQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA0MzUKCjIwMTQtMDUtMjMgMDE6NDE6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkgIG1wZWd0czogYXRzYzogcmVuYW1lIFRWQ1QgdG8gVkNUIGFzIGl0IGlzIHRoZSBzYW1lIGFzIENWQ1QKCSAgTWFrZSB0aGUgQVRTQyBzZWN0aW9uIHBhcnNlIGhhbmRsZSBib3RoIFRWQ1QgYW5kIENWQ1QgYXMgdGhleSBhcmUKCSAgbmVhcmx5IHRoZSBzYW1lIHN0cnVjdCAoQ1ZDVCB1c2VzIDIgcmVzZXJ2ZWQgYml0cyB0aGF0IGFyZSBpZ25vcmVkCgkgIGluIFRWQ1QpLgoJICBUaGlzIGlzIGNoYW5naW5nIHRoZSBnbGliIHR5cGUgYW5kIHRoZSBzdHJ1Y3QgbmFtZSBidXQgVFZDVCB3YXNuJ3QKCSAgcmVsZWFzZWQgaW4gYSBzdGFibGUgcGFja2FnZSB5ZXQgc28gdGhlcmUgc2hvdWxkIGJlIG5vIHByb2JsZW0uCgkgIEFsc28gaW5jbHVkZXMgc29tZSBwYXJzaW5nIGZpeGVzIGFuZCBjaGFuZ2VzIHNob3J0X25hbWUgdG8gYmUKCSAgZGlyZWN0bHkgc3RvcmVkIGFzIHV0ZjggcmF0aGVyIHRoYW4gdXRmMTYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDY0MgoKMjAxNC0wNS0yOCAxMzoxMTowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiB0cy1wYXJzZXI6IGFkZCBUVkNUIGFuZCBDVkNUIHRhYmxlcyBkdW1waW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA2NDIKCjIwMTQtMDUtMjkgMTA6Mzc6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IEZpeCBhc3NlcnRpb24gYWZ0ZXIgQVBJIGNoYW5nZXMKCjIwMTQtMDUtMjkgMTg6MzM6MTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsL2NvbG9yY29udmVydDoga2VlcCBvdXIgcHJpdmF0ZSBwb2ludGVyCgkgIGFnYWluLCBhdm9pZCB0byBtdWNoIHRyaWdnZXIKCjIwMTQtMDUtMjkgMTg6MzI6NDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICB0ZXN0czogdXBkYXRlIGZvciBnbHVwbG9hZCBjaGFuZ2VzCgoyMDE0LTA1LTI5IDE3OjI5OjQxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSAgZ2wvY29sb3Jjb252ZXJ0OiB1c2UgR3N0T2JqZWN0J3MgbG9jayBpbnN0ZWFkIG9mIG91ciBvd24KCjIwMTQtMDUtMjkgMTc6MTI6MDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsL2NvbG9yY29udmVydDogcmVtb3ZlIHVubmVjYXNzYXJ5IHBvaW50ZXIgaW5kZXJlY3Rpb24KCjIwMTQtMDUtMjkgMTY6NDU6MzcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogcmUgYWRkIHRoZSB1cGxvYWQgbWV0YSB0byB0aGUgcHJpdmF0ZSBzdHJ1Y3QKCSAgdHJ5IGFuZCBhdm9pZCBiZWluZyB0byB0cmlnZ2VyIGhhcHB5CgoyMDE0LTA1LTI5IDE2OjI5OjA5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IHNtYWxsIGNvZGUgY2xlYW51cCBhbmQgZ3N0LWluZGVudAoKMjAxNC0wNS0yOSAxNjoyMjo1MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJICBnbC9kb3dubG9hZDogdXNlIEdzdE9iamVjdCdzIGxvY2sgaW5zdGVhZCBvZiBvdXQgb3duCgoyMDE0LTA1LTI5IDE2OjIwOjMwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgZ2wvdXBsb2FkOiB1c2UgR3N0T2JqZWN0J3MgbG9jayBpbnN0ZWFkIG9mIG91ciBvd24KCjIwMTQtMDUtMjkgMTY6MTg6MDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsL2ZpbHRlcjogYWxzbyByZW1vdmUgdGhlIHdpZHRoL2hlaWdodCBpbiB0cmFuc2Zvcm1fY2FwcwoJICBhbGxvd3Mgc2NhbGluZyBpbiB0aGUgZmlsdGVycwoKMjAxNC0wNS0yOSAxNjoxMToyMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2wvY29sb3Jjb252ZXJ0OiBvcHRpbWlzZSB0aGUgc2FtZSBmb3JtYXQgY2FzZQoJICBzaW1wbHkgcmV0dXJuIHRoZSBpbnB1dCBidWZmZXIgdW5jaGFuZ2VkCgoyMDE0LTA1LTI5IDE2OjA3OjQwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbC9jb2xvcmNvbnZlcnQ6IGZpeCBZVVkyL1VZVlkgZG93bmxvYWQgZm9yIFJHL0xBIHRleHR1cmVzCgoyMDE0LTA1LTI5IDE1OjUwOjU2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBnbC9jb2xvcmNvbnZlcnQ6IGFsbG9jYXRlIG91dHB1dCBidWZmZXJzCgkgIEFsbG93cyB0aGUgbm9wIG9wdGltaXNhdGlvbiBieSBzaW1wbHkgcmVmZmluZyB0aGUgaW5wdXQgYnVmZmVyLgoKMjAxNC0wNS0yOCAxNjoxODoxMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEF2b2lkIHNoYWRvd2luZyBtYWluIGxvb3AgdmFyaWFibGUKCSAgV2UgZW5kIHVwIHdpdGggaW50ZXJlc3RpbmcgcmVzdWx0cyBvdGhlcndpc2UgOikKCjIwMTQtMDUtMjggMTU6NTM6MjEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBBZGQgc3VwcG9ydCBmb3IgcHJpdmF0ZS1kYXRhLXNwZWNpZmllciBhbmQgZnJlcXVlbmN5LWxpc3QKCjIwMTQtMDUtMjggMTU6NTI6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IE1ha2Ugc29tZSBmaWVsZHMgb3B0aW9uYWwKCSAgU29tZSBwZW9wbGUgbWlnaHQganVzdCBub3QgY2FyZSBhYm91dCB0aGUgY29udGVudHMKCjIwMTQtMDUtMjggMTU6NTI6MDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IFVwZGF0ZSBkb2NzIGZvciBEVkIgZnJlcXVlbmN5IGxpc3QKCjIwMTQtMDUtMjggMjM6MjE6MDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICB0ZXN0czogdXBkYXRlIGZvciByZWNlbnQgZ2x1cGxvYWQgY2hhbmdlcwoJICBHc3RHTFVwbG9hZE1ldGEgb2JqZWN0IGlzIG5vdyB0aGUgR3N0VmlkZW9HTFRleHR1cmVVcGxvYWRNZXRhCgkgIHByb3ZpZGVyLgoKMjAxNC0wNS0yOCAxMjo1NjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IEFsd2F5cyB1c2UgdGhlIHJlZGlyZWN0IHRhcmdldCB0byByZXNvbHZlIHJlbGF0aXZlIFVSSXMKCSAgQnV0IHJlZG93bmxvYWQgdGhlIHBsYXlsaXN0cyBmcm9tIHRoZSBvcmlnaW5hbCBVUkkgaWYgaXQncyBub3QKCSAgYSBwZXJtYW5lbnQgcmVkaXJlY3QuCgoyMDE0LTA1LTI4IDEyOjQzOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBBbHdheXMgdXNlIHRoZSByZWRpcmVjdCB0YXJnZXQgdG8gcmVzb2x2ZSByZWxhdGl2ZSBVUklzCgkgIEJ1dCByZWRvd25sb2FkIHRoZSBwbGF5bGlzdHMgZnJvbSB0aGUgb3JpZ2luYWwgVVJJIGlmIGl0J3Mgbm90CgkgIGEgcGVybWFuZW50IHJlZGlyZWN0LgoKMjAxNC0wNS0yOCAxMjo0NDozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvbid0IHNldCBiYXNlIFVSSSBpZiB0aGVyZSB3YXMgbm8gcmVkaXJlY3QKCjIwMTQtMDUtMjggMDk6MTg6NDkgKzAxMDAgIERhbWlhbiBaaW9icm8gPGRhbWlhbkB4bWVtZW50b2l0LmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogTWFrZSBwYXJzaW5nIG9mICItcXVvdGVkIGtleSBVUklzIG1vcmUgcmVzaWxpZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA4MzAKCjIwMTQtMDUtMjggMTA6MTk6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IEFsd2F5cyB1c2UgdGhlIHJlZGlyZWN0IHRhcmdldCB0byByZXNvbHZlIHJlbGF0aXZlIFVSSXMKCSAgQnV0IHJlZG93bmxvYWQgdGhlIHBsYXlsaXN0cyBmcm9tIHRoZSBvcmlnaW5hbCBVUkkgaWYgaXQncyBub3QKCSAgYSBwZXJtYW5lbnQgcmVkaXJlY3QuCgoyMDE0LTA1LTI4IDA5OjQyOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0ZnJhZ21lbnQuYzoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0ZnJhZ21lbnQuaDoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBTdG9yZSBVUkkgYW5kIHJlZGlyZWN0IHRhcmdldCBpbiB0aGUgZG93bmxvYWRlZCBmcmFnbWVudHMKCjIwMTQtMDUtMjggMDc6NDA6MTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBGaXggTG9naWNhbCBDaGFubmVsIERlc2NyaXB0b3IgcGFyc2luZwoJICBObyB3b25kZXIgd2Ugd2VyZSBnZXR0aW5nIGdhcmJhZ2UgLi4uCgoyMDE0LTA1LTI3IDIwOjM3OjI2ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZTogdHMtcGFyc2VyOiBhZGQgdGVycmVzdHJpYWwgZGVsaXZlcnkgc3lzdGVtIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDg0NwoKMjAxNC0wNS0yNyAyMDozMjo0MiArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGU6IHRzLXBhcnNlcjogcHJpbnRpbmcgZW51bSB0eXBlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwODQ3CgoyMDE0LTA1LTI4IDE0OjQzOjQzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBnbC91cGxvYWQ6IGZpeCBpbmNvcnJlY3QgdHlwZSBpbiBtYWNyb3MKCjIwMTQtMDUtMjggMTQ6NDA6MTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZG1ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkbWV0YS5oOgoJICBnbC91cGxvYWQ6IGFkZCBHc3RHTFVwbG9hZE1ldGEgb2JqZWN0CgkgIFRoYXQgc2ltcGx5IGRlYWxzIHdpdGggdGhlIHByb3ZpZGVyIGFzcGVjdCBvZiBHc3RWaWRlb0dMVGV4dHVyZVVwbG9hZE1ldGEuCgoyMDE0LTA1LTI3IDE3OjM0OjA1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogQWRkIERWQiBFeHRlbmRlZCBldmVudCBwYXJzaW5nCgoyMDE0LTA1LTI3IDE3OjMyOjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBFbnN1cmUgTlVMTC10ZXJtaW5hdGVkIGxhbmd1YWdlIGNvZGUKCSAgWXVwLCBpdCBicmVha3MgQVBJIGFuZCBBQkksIEkga25vdy4gQnV0IGxldCdzIGF2b2lkIHBlb3BsZSBhbmQgYmluZGluZ3MKCSAgcHJpbnRpbmcgb3V0IGdhcmJhZ2UKCjIwMTQtMDUtMjcgMTc6MjU6MjUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IEZpeCBFeHRlbmRlZCBEVkIgZGVzY3JpcHRvciBwYXJzaW5nCgkgIFdlIHdlcmUgb3Zlci1yZWFkaW5nIGRhdGEsIGFuZCB0aGUgbmJfaXRlbXMgZmllbGQgaXNuJ3QgbmVlZGVkLAoJICBpdCdzIGEgcHJvcGVydHkgb2YgdGhlIEdQdHJBcnJheQoKMjAxNC0wNS0yOCAwMDo1NjowNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgZ2wvd2luMzI6IG1ha2Ugc2VuZF9tZXNzYWdlIHJlZW50cmFudAoJICBJIGNvdWxkIG5vdCBmaW5kIGEgY29tcGFyYWJsZSB3aW4zMkFQSSBmdW5jdGlvbiBzbyBrZWVwIHRoZSBydW5uaW5nCgkgIHRocmVhZCBwb2ludGVyIHRvIGNvbXBhcmUgYWdhaW5zdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDc4MgoKMjAxNC0wNS0yNyAxNjoxNzozOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogRml4IHVzYWdlIG9mIG1lbWNweQoJICBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIHdlcmUgaW52ZXJ0ZWQKCjIwMTQtMDUtMjYgMjA6Mzg6NDUgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogQWRkIHN1cHBvcnQgZm9yIERWQiBtdWx0aWxpbmd1YWwgY29tcG9uZW50IGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODQyOQoKMjAxNC0wNS0yNiAyMDozODoxOSArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBBZGQgc3VwcG9ydCBmb3IgRFZCIG11bHRpbGluZ3VhbCBzZXJ2aWNlIG5hbWUgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NDI5CgoyMDE0LTA1LTI2IDIwOjM3OjUzICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEFkZCBzdXBwb3J0IGZvciBEVkIgbXVsdGlsaW5ndWFsIGJvdXF1ZXQgbmFtZSBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0MjkKCjIwMTQtMDUtMjYgMjA6Mzc6MjEgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogQWRkIHN1cHBvcnQgZm9yIERWQiBtdWx0aWxpbmd1YWwgbmV0d29yayBuYW1lIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODQyOQoKMjAxNC0wNC0xNyAxODoyMDozOSArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGFkZCBtdWx0aWxpbmd1YWwgY29tcG9uZW50IGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODQyOQoKMjAxNC0wNC0xNyAxODoyMDowMyArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGFkZCBtdWx0aWxpbmd1YWwgc2VydmljZSBuYW1lIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODQyOQoKMjAxNC0wNC0xNyAxODoxMDo1MSArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGFkZCBtdWx0aWxpbmd1YWwgYm91cXVldCBuYW1lIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODQyOQoKMjAxNC0wNC0xNyAxODowNzo1MiArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGFkZCBtdWx0aWxpbmd1YWwgbmV0d29yayBuYW1lIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODQyOQoKMjAxNC0wNS0yNyAxMDoyMTo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBhZGQvcmVtb3ZlIHBhZHMgdG8gZmxvd2NvbWJpbmVyIGRpZmZlcmVudGx5IGR1ZSB0byBzdHJlYW1pbmcgbmF0dXJlCgkgIER1ZSB0byBtcGVndHMgc3RyZWFtaW5nIG5hdHVyZSBzb21lIHBhZHMgYXJlIGNyZWF0ZWQgYnV0IGFyZSBvbmx5IGFkZGVkCgkgIGxhdGVyIHRvIHRoZSBlbGVtZW50LiBUaGlzIGNhbiBjYXVzZSBhIHNjZW5hcmlvIHdoZXJlIHRoZSBmaXJzdCBzdHJlYW0KCSAgZG9lc24ndCBoYXZlIGFuIGF2YWlsYWJsZSBkZWNvZGVyICh3aGlsZSB0aGUgbmV4dCBvbmVzIHN0aWxsIHBlbmRpbmcKCSAgd291bGQgaGF2ZSkgYW5kIHRzZGVtdXggd2lsbCBmYWlsIHdpdGggbm90LWxpbmtlZCBhcyB0aGUgZmlyc3Qgc3RyZWFtCgkgIGFkZGVkIHdvdWxkbid0IGJlIGxpbmtlZC4KCSAgVG8gYXZvaWQgdGhpcyB0c2RlbXV4IG5lZWRzIHRvIGFkZCBwYWRzIHRvIHRoZSBmbG93Y29tYmluZXIKCSAgd2hlbiB0aGV5IGFyZSBjcmVhdGVkIGluc3RlYWQgb2Ygb25seSB3aGVuIGFkZGluZyB0aGVtIHRvIHRoZQoJICBlbGVtZW50LgoKMjAxNC0wNS0yNyAxMzo1NjozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogZml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0Z2xjb2xvcmNvbnZlcnQuYzoxMTMzOjExOiBlcnJvcjogJ2onIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbgoJICBXYXMgdXNlZCB1bmluaXRpYWxpemVkIHdoZW4ganVtcGluZyB0byBvdXQgbGFiZWwKCSAgaW4gZXJyb3IgY2FzZS4KCjIwMTQtMDUtMjcgMTg6MjA6MjkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvY29sb3Jjb252ZXJ0OiBvcGVyYXRlIG9uIGJ1ZmZlcnMgaW5zdGVhZCBvZiBtZW1vcmllcwoKMjAxNC0wNS0yNyAwNzo0MjoxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgbXhmZGVtdXg6IHJlbW92ZSB1bnJlYWQgbGFzdF9mbG93IHZhcmlhYmxlCgkgIGl0IGlzbid0IG5lY2Vzc2FyeSBhbnltb3JlIGFuZCBpcyBhbHJlYWR5IHVudXNlZAoKMjAxNC0wNS0yNyAxMToyODoyNyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IG1ha2UgaXQgYWN0dWFsbHkgaG9ub3Igc2hvdy1wcmVyb2xsLWZyYW1lIHByb3BlcnR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA4MDIKCjIwMTQtMDUtMjcgMTI6MDg6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBDb21wYXJlIHBvc2l0aW9ucyB0byBmaW5kIHRoZSBlYXJsaWVzdCBwYWQsIG5vdCBmbG93IHJldHVybnMKCjIwMTQtMDUtMjcgMDg6NTQ6MjAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJICBnbDogYWRkIG1pc3NpbmcgY2dsIGFuZCBlYWdsIGNvbnRleHQgdHlwZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5MjQ1CgoyMDE0LTA1LTI3IDA4OjQ2OjE2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL2dsY29udGV4dGlkLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcWdscmVuZGVyZXIuY3BwOgoJICBnbDogcmVuYW1lIHBsYXRmb3JtIGNvY29hIHRvIGNnbAoJICBCZWZvcmU6CgkgIEdTVF9HTF9QTEFURk9STT1jb2NvYSBHU1RfR0xfV0lORE9XPWNvY29hCgkgIGdzdC1sYXVuY2gtMS4wIHZpZGVvdGVzdHNyYyAhIGdsaW1hZ2VzaW5rCgkgIEFmdGVyOgoJICBHU1RfR0xfUExBVEZPUk09Y2dsIEdTVF9HTF9XSU5ET1c9Y29jb2EKCSAgZ3N0LWxhdW5jaC0xLjAgdmlkZW90ZXN0c3JjICEgZ2xpbWFnZXNpbmsKCSAgYnV0IHN0aWxsIHBhc3MgLS1lbmFibGUtY29jb2EgdG8gY29uZmlndXJlIHNjcmlwdAoJICBiZWNhdXNlIGN1cnJlbnRseSBpdCBjYW4gb25seSBiZSB1c2VkIHdpdGggY29jb2EgQVBJLgoJICBXZSBjb3VsZCBsYXRlciBoYXZlIGNnbC9nc3RnbGNvbnRleHRfY2dsLmggdGhhdCBtYW5hZ2VzCgkgIGEgQ0dMQ29udGV4dE9iaiBkaXJlY3RseSBhbmQgY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLmgKCSAgd291bGQganVzdCB3cmFwIGl0LgoJICBTbyB0aGF0IGl0IGNvdWxkIGJlIHVzZWQgd2l0aCBvdGhlciBBcHBsZSdzIHdpbmRvdyBBUElzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5MjQ1CgoyMDE0LTA1LTI3IDA4OjUxOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSAgUmV2ZXJ0ICJhbmRyb2lkbWVkaWE6IFBsYWNlIHNvbWUgY29uc3Qga2V5d29yZHMgaW4gYSBmZXcgcGxhY2VzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDMwNzhiM2EzNGMxZjc1Yjg2YmQ2MjlkZjFjZDdjMDg5YTBmNjk5OTkuCgkgIGdzdF92aWRlb19mcmFtZV9tYXAoKSBkb2Vzbid0IHRha2UgYSBjb25zdCBHc3RWaWRlb0luZm8qLCBzbwoJICBhbGwgdGhpcyBpcyByYXRoZXIgdXNlbGVzcy4KCjIwMTQtMDUtMjcgMTM6NTU6MTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2wvbWl4ZXI6IGRvbid0IHNlZ2ZhdWx0IHdoZW4gd2UgZG9uJ3QgaGF2ZSBhIGJ1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5MjU3CgoyMDE0LTA1LTI3IDEzOjA0OjM5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsL3dpbmRvd194MTE6IGF2b2lkIEJhZERyYXdhYmxlIGVycm9yIG9uIHNodXRkb3duCgoyMDE0LTA1LTI2IDE3OjM0OjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBteGZkZW11eDogdXNlIEdzdEZsb3dDb21iaW5lcgoJICBSZW1vdmVzIGZsb3cgcmV0dXJuIGNvbWJpbmF0aW9uIGNvZGUgdG8gdXNlIHRoZSBuZXdseSBhZGRlZCBHc3RGbG93Q29tYmluZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTIyNAoKMjAxNC0wNS0yNiAxNzoxODowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBtcGVnZGVtdXg6IHVzZSBHc3RGbG93Q29tYmluZXIKCSAgUmVtb3ZlcyBmbG93IHJldHVybiBjb21iaW5hdGlvbiBjb2RlIHRvIHVzZSB0aGUgbmV3bHkgYWRkZWQgR3N0Rmxvd0NvbWJpbmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkyMjQKCjIwMTQtMDUtMjMgMTg6MjY6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgdHNkZW11eDogdXNlIEdzdEZsb3dDb21iaW5lcgoJICBSZW1vdmVzIGZsb3cgcmV0dXJuIGNvbWJpbmF0aW9uIGNvZGUgdG8gdXNlIHRoZSBuZXdseSBhZGRlZCBHc3RGbG93Q29tYmluZXIKCjIwMTQtMDUtMjcgMTA6NDc6MjUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkgIGdsL2NvbnRleHRfZWdsOiBwYXNzIHRoZSB2YXJzIGluIHRoZSByaWdodCBvcmRlciB0byBEZXN0cm95U3VyZmFjZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NTE0CgoyMDE0LTA1LTI2IDE2OjMxOjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSAgYW5kcm9pZG1lZGlhOiBQbGFjZSBzb21lIGNvbnN0IGtleXdvcmRzIGluIGEgZmV3IHBsYWNlcwoKMjAxMy0xMS0xMyAxODo0MTozMyArMDgwMCAgQ2hlbiBKaWUgPGNoZW5qQGxlbW90ZS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmg6CgkgIGFuZHJvaWRtZWRpYTogYWRkIGdzdF9hbWNfY29sb3JfZm9ybWF0X2NvcHkKCSAgZ3N0X2FtY19jb2xvcl9mb3JtYXRfY29weSB3aWxsIGNvcHkgaW4vb3V0IGEgZnJhbWUgcmVzaWRlcyBhdCBhCgkgIEdzdEFtY0J1ZmZlci4gTG90cyBvZiBjb2RlcyBpbiBnc3RfYW1jX3ZpZGVvXypfZmlsbF9idWZmZXIgYXJlIG1vdmVkIHRvCgkgIHRoaXMgbmV3IGZ1bmN0aW9uLgoKMjAxMy0xMC0wOCAyMToxMTo0OCArMDgwMCAgQ2hlbiBKaWUgPGNoZW5qQGxlbW90ZS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJICBhbmRyb2lkbWVkaWE6IG1vdmUgY3JlYXRlX3NyY3xzaW5rX2NhcHMgdG8gZ3N0YW1jLmMKCSAgU29tZSBoYWNrIGxvZ2ljIG5lZWRzIGFsc28gdG8gYmUgcHJlc2VudCBpbiBjcmVhdGVfc3JjfHNpbmtfY2FwcywgZm9yCgkgIHdvcmtpbmcgYXJvdW5kIHNvbWUgYnJva2VuIGNvZGVjcy4gVGhlc2UgaGFja3MgYXJlIGhpZGRlbgoJICBpbiBjb2xvcl9mb3JtYXQvdmlkZW9fZm9ybWF0IGNvbnZlcnNpb24gLS0gdGhlIHByb3RvdHlwZXMgb2YgdGhlc2UKCSAgZnVuY3Rpb25zIGFyZSBhbHNvIGNoYW5nZWQgdG8gaW5jbHVkZSBtb3JlIGFyZ3MgZm9yIGhhY2sganVkZ2VtZW50LgoJICBBbHNvIGluIGNhc2Ugb2YgbXVsdGktY29sb3JfZm9ybWF0cyBtYXBwZWQgdG8gb25lIHZpZGVvX2Zvcm1hdCwgdGhlbgoJICBtYXAgdGhhdCB2aWRlb19mb3JtYXQgYmFjayB3aWxsIG5vdCBnaXZlIHRoZSBvcmlnaW5hbCBjb2xvcl9mb3JtYXQsIHdoaWNoCgkgIGNhdXNlcyBnc3RfYW1jX2NvZGVjX2NvbmZpZ3VyZSBmYWlsZWQgd2l0aCBzb21ldGhpbmcgbGlrZQoJICAnZG9lcyBub3Qgc3VwcG9ydCBjb2xvciBmb3JtYXQgTicuCgkgIFRoZSBuZXcgcHJvdG90eXBlIGludm9sdmVzIHdpdGggR3N0QW1jQ29kZWNJbmZvIGFuZCBtaW1lLCB3aGljaAoJICBlbnN1cmVzIHRoZSBjb252ZXJ0ZWQgY29sb3JfZm9ybWF0IGlzIHN1cHBvcnRlZCBieSB0aGUgY29kZWMuCgkgIEEgQ09MT1JfRm9ybWF0WUNiWUNyIHRvIEdTVF9WSURFT19GT1JNQVRfWVVZMiBtYXBwaW5nIGlzIGFsc28gYWRkZWQsIGluCgkgIG9yZGVyIHRvIHdvcmsgYXJvdW5kIGJ1Z3MgaW4gT01YLmszLnZpZGVvLmRlY29kZXIuYXZjKHdoaWNoIGluY29ycmVjdGx5CgkgIHJlcG9ydHMgc3VwcG9ydGluZyBDT0xPUl9Gb3JtYXRZQ2JZQ3IsIHdoaWNoIGlzIGFjdHVhbGx5CgkgIENPTE9SX0Zvcm1hdFlVVjQyMFNlbWlQbGFuYXIpLiBUaGVyZSBhcmUgYWxyZWFkeSBoYWNrcyBmb3IgdGhpcyBpbgoJICBnc3RfYW1jX3ZpZGVvX2Zvcm1hdF90b19jb2xvcl9mb3JtYXQsIGdzdF9hbWNfY29sb3JfZm9ybWF0X3RvX3ZpZGVvX2Zvcm1hdAoJICBhbmQgZ3N0X2FtY19jb2xvcl9mb3JtYXRfaW5mb19zZXQsIGJ1dCB0aGUgY29kZWMgd2lsbCBzdGlsbCBub3Qgd29yayhiZQoJICBpZ25vcmVkIGJlY2F1c2Ugb2YgImhhcyB1bmtub3duIGNvbG9yIGZvcm1hdHMiKSB3aXRob3V0IGFkZGluZyB0aGlzIG1hcHBpbmcuCgoyMDE0LTA0LTExIDE1OjE0OjE3ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmI6IHBhcnNlY2hhbm5lbHM6IGFkZCBkZWxzeXMgcHJvcGVydHkKCSAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk0MTQKCjIwMTQtMDUtMjYgMTM6Mjk6NTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB3aW4zMi9jb21tb24vbGliZ3N0Y29kZWNwYXJzZXJzLmRlZjoKCSAgd2luMzI6IHVwZGF0ZSAuZGVmIGZvciBuZXcgc3ltYm9scwoKMjAxNC0wNC0xMSAxNTozODoxNiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IG1hcCBTWVNfRFZCQ19BTk5FWF9BIFNZU19EVkJDX0FOTkVYX0FDIGZvciBEVkIgQVBJIDwgNS42CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjE4NjkKCjIwMTQtMDQtMTUgMDk6MzE6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBmaXggdHlwbyBpbiB0ZXN0aW5nIGZsYWcKCSAgJSBpbnN0ZWFkIG9mICYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTg2OQoKMjAxNC0wNS0yNSAxNToxNjoxMyArMDgwMCAgQ2hlbiBKaWUgPGNoZW5qQGxlbW90ZS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkgIGFtY3ZpZGVvZW5jOiBVbml0IG9mIGJpdHJhdGUgcHJvcGVydHkgaXMgbm93IGJpdC9zZWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTEyOQoKMjAxNC0wNS0yNiAxMTo1NTozMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEFkZCBzdXBwb3J0IGZvciBEVkIgQm91cXVldCBOYW1lIHBhcnNpbmcKCjIwMTQtMDUtMjYgMTE6NTQ6NTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IEZpeCBCb3VxdWV0IE5hbWUgcGFyc2luZwoJICB0aGUgZmllbGQgaXMgbm90IGxlbmd0aCBwcmVmaXhlZAoKMjAxNC0wNS0yNiAxMTo0Mjo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEFkZCBzdXBwb3J0IGZvciBEVkIgU2VydmljZSBMaXN0IGRlc2NyaXB0b3IKCjIwMTQtMDQtMTcgMTQ6NTY6MjMgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBhZGQgYm91cXVldCBuYW1lIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODM2NAoKMjAxNC0wNC0xNyAxNDo1NToyOSArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGFkZCBzdHVmZmluZyBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgzNjQKCjIwMTQtMDQtMTcgMTQ6NTQ6MjggKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBhZGQgc2VydmljZSBsaXN0IGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODM2NAoKMjAxNC0wNS0xMCAxODozMjoyOCArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IFVzZSBhdXggdmFycyB0byBtaW5pbWl6ZSBjcml0aWNhbCByZWdpb24KCSAgVGhpcyBhdm9pZCBkZWFkIGxvY2sgYmV0d2VlbiBnc3RfYXVkaW9fZW5jb2Rlcl9maW5pc2hfZnJhbWUoKSBhbmQKCSAgZ3N0X29wdXNfZW5jX2dldF9wcm9wZXJ0eSgpLgoJICBBbHNvLCBub3cgYnl0ZXMgdmFyIGlzIHNldCBpbnRvIHByb3RlY3RlZCBzZWN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5ODgyCgoyMDE0LTA1LTI0IDE5OjUxOjEyICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogQWRkIG1pc3NpbmcgdG9uZSBpb2N0bAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNjkyCgoyMDE0LTA1LTI1IDA5OjAzOjMyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogUmVtb3ZlIGZvcm1hdCBpbmZvcm1hdGlvbiB0byBhbGxvdyBjb2xvciBjb252ZXJ0IGFnYWluCgkgIFdlIGFsc28gbmVlZCB0byByZW1vdmUgdGhlIGZvcm1hdCBpbmZvcm1hdGlvbiwgIGFzIGdsZmlsdGVyIGNhbiBkbwoJICBjb2xvciBjb252ZXJ0aW9uLiBUaGlzIGNvZGUgd2FzIGltcG9ydGVkIGZyb20gdmlkZW9jb252ZXJ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5ODYxCgoyMDE0LTA1LTI1IDExOjQ0OjU3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbC9tZW1vcnk6IGFsbG9jYXRlIHRoZSBjb3JyZWN0IG1lbW9yeSBzaXplCgkgIGFuZCBhdm9pZCB3YXN0aW5nIHJlc291cmNlcyB3ZSB3aWxsIG5ldmVyIG5lZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDcwMwoKMjAxNC0wNS0yMyAyMzowMjozMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBGaXggWVVZMiBhbmQgVVlWWSBzdXBwb3J0IHdpdGggbHVtaW5hbmNlX2FscGhhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA2NjYKCjIwMTMtMTItMDMgMTI6MDk6NTggKzAxMDAgIEpvcmdlIFphcGF0YSA8am9yZ2VsdWlzLnphcGF0YUBnbWFpbC5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy1jb25zdGFudHMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBBZGQgYSBuZXcgUUNPTSBjb2xvciBmb3JtYXQKCSAgSXQgaXMgYSBOVjEyIGJhc2VkLCBhbGlnbmVkIHRvIDMyIGJ5dGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA2MzUKCjIwMTQtMDUtMjMgMTU6MDA6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IEZpcnN0IHRyeSB0byBnZXQgc3ltYm9scyBmcm9tIHRoZSBjdXJyZW50IHByb2dyYW0sIHRoZW4gbG9hZCBsaWJkdm0KCSAgSWYgdGhlIGFwcGxpY2F0aW9uIGlzIHVzaW5nIHRoZSBuZXcgQVJUIHJ1bnRpbWUgaXQgd2lsbCBvdGhlcndpc2UKCSAgbG9hZCBkYWx2aWsgYW5kIHN0YXJ0IGEgZGFsdmlrIFZNIG5leHQgdG8gdGhlIEFSVCBWTS4KCSAgRG9lcyBub3Qgd29yayB2ZXJ5IHdlbGwgb2J2aW91c2x5LgoKMjAxMy0wNC0wMSAwNzo0OTowMSArMDAwMCAgQ2hlbiBKaWUgPGNoZW5qQGxlbW90ZS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuaDoKCSAgYW5kcm9pZG1lZGlhOiBhZGQgc3VwcG9ydCBmb3IgdmlkZW8gZW5jb2RpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTEyOQoKMjAxNC0wNS0yMyAxMjowNzo1MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2wvbWVtb3J5OiBwcm92aWRlIGNvbXBhdGFiaWxpdHkgZGVmaW5lcwoJICBmaXhlcyBidWlsZCBvbiBhbmRyb2lkL09TIFgKCjIwMTQtMDUtMjMgMTE6MDE6MDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsL2NvbG9yY29udmVydDogcmVtb3ZlIHNjcmF0Y2ggdGV4dHVyZSBmb3IgWVVZMi9VWVZZCgkgIFdlIGNhbiBnZXQgYWxsIG91ciBkYXRhIGZyb20gdGhlIG9uZSBSRy9MQSB0ZXh0dXJlIHdpdGggc29tZSBzaGFkZXIgbWFnaWMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg4OTAKCjIwMTQtMDUtMjMgMTA6NTk6MDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsL21lbW9yeTogUkdCQS9VTlNJR05FRF9CWVRFIG9ubHkgZm9ybWF0IHN1cHBvcnRlZCBieSBSZWFkUGl4ZWxzIEdMRVMyCgkgIEVycm9yIG91dCBpbiBjYXNlIHdlIGF0dGVtcHQgdG8gcmVhZCB3aXRoIGFueSBvdGhlciBpbnZhbGlkIGZvcm1hdC4KCjIwMTQtMDUtMjMgMTA6NTc6MjQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsL21lbW9yeTogZ2VuZXJhdGUgdGV4dHVyZXMgd2l0aCBhIHNpemVkIGludGVybmFsIGZvcm1hdAoJICBSZXF1aXJlZCBpbiBvcmRlciB0byBnZW5lcmF0ZSBSRyBhbmQgUkVEIHRleHR1cmVkIHdpdGggR0xFUzMuCgoyMDE0LTA1LTIxIDIxOjQ3OjQ1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC9tZW1vcnk6IGltcGxlbWVudCBHTF9FWFRfdGV4dHVyZV9yZyBzdXBwb3J0CgkgIFdoaWNoIGlzIHVzZWQgYnkgZGVmYXVsdCBvdmVyIHRoZSBMdW1pbmFuY2UgZm9ybWF0cyBkdWUgdG8gaXQKCSAgYmVpbmcgY29sb3IgcmVuZGVyYWJsZSB3aXRoIGZib3MgKGFuZCBkZXByZWNhdGlvbi9yZW1vdmFsIHdpdGgKCSAgR0wgMy54KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTc1MAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0MjIyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg4OTAKCjIwMTQtMDUtMjIgMTE6NTA6MTYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgUmV2ZXJ0ICJoMjY0cGFyc2VyOiBSZW1vdmUgdW51c2VkIGZwc19udW0vZnBzX2RlbiBmaWVsZHMiCgkgIFRoaXMgYnJlYWtzIHRoZSBidWlsZCBzaW5jZSBtc3MgaGFzIG5vdCBiZWVuIHBvcnRlZC4KCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBhZWI2YTUyMDc0MmZkODI4ODhlNDFlYTIzZjlhMzlhZGQ1MTEyNWEwLgoKMjAxNC0wNS0yMiAxNjoxMjowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgaDI2NHBhcnNlcjogUmVtb3ZlIHVudXNlZCBmcHNfbnVtL2Zwc19kZW4gZmllbGRzCgkgIEluc3RlYWQgdGhlIG5ld2x5IGFkZGVkIGZ1bmN0aW9uIHNob3VsZCBiZSB1c2VkIHRvIGNhbGN1bGF0ZQoJICB0aGUgZnJhbWVyYXRlIHByb3Blcmx5LgoKMjAxNC0wNS0xOSAxNzo1MjozOCArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogdXNlIG5ldyBnc3RfaDI2NF92aWRlb19jYWxjdWxhdGVfZnJhbWVyYXRlKCkgdG8gZ2V0IGZyYW1lcmF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMzUyCgoyMDE0LTA1LTE5IDE3OjQzOjU0ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnNfaDI2NDogYWRkIGdzdF9oMjY0X3ZpZGVvX2NhbGN1bGF0ZV9mcmFtZXJhdGUoKQoJICBBZGQgYSBuZXcgZnVuY3Rpb24gdG8gY2FsY3VsYXRlIHZpZGVvIHN0cmVhbSBmcmFtZXJhdGUgd2hpY2ggcmVseSBvbgoJICBTUFMsIHNsaWNlIGhlYWRlciBhbmQgcGljIHRpbWluZyB1c2luZyBmb3JtdWxhOgoJICB0aW1lX3NjYWxlICAgICAgICAgICAgICAgIDEgICAgICAgICAgICAgICAgICAgICAgICAgMQoJICBmcHMgPSAtLS0tLS0tLS0tLS0tLS0tLSAgeCAgLS0tLS0tLS0tLS0tLS0tICB4ICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgbnVtX3VuaXRzX2luX3RpY2sgICAgIERlbHRhVGZpRGl2aXNvciAgICAgKGZpZWxkX3BpY19mbGFnID8gMiA6IDEpCgkgIFNlZSBzZWN0aW9uIEUyLjEgb2YgSDI2NCBzcGVjaWZpY2F0aW9uIGZvciBkZWZpbml0aW9uIG9mIHZhcmlhYmxlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzM1MgoKMjAxNC0wNS0yMSAyMTo0NDo0MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsL2NvbnRleHQ6IGFkZCBnbCBleHRlbnNpb24gY2hlY2tpbmcgdG8gY2hlY2tfZmVhdHVyZSgpCgkgIFVzZWZ1bCBmb3IgZXh0ZW5zaW9ucyB0aGF0IGRvIG5vdCBkZWZpbmUgYW55IG5ldyBHTCBBUEkgZW50cnlwb2ludHMKCSAgYnV0IGNhbiBzdGlsbCBtb2RpZnkgYmVoYXZpb3VyIHdoZW4gdXNlZC4KCjIwMTQtMDUtMjEgMjA6MzY6MzcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgZ2wvZG93bmxvYWQ6IGZpeHVwIFlVWTIvVVlWWSBkb3dubG9hZAoJICBSZWdyZXNzaW9uIGZyb20gMmRhOTc5ODMxZWMzYjFhOGQ5OTNlYjZmMmQzOTk5YzU4MTBjNGQ2NyBhcyBpdCBkaWQKCSAgbm90IHVwZGF0ZSB0aGUgZG93bmxvYWQgY29kZSB0byByZWZsZWN0IHRoZSBjaGFuZ2UgaW4gdGV4dHVyZSBmb3JtYXQuCgoyMDE0LTA1LTE5IDExOjQ4OjU1ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBzZXQgZmllbGRfcGljX2ZsYWcgd2hlbiBwYXJzaW5nIGEgc2xpY2UgaGVhZGVyCgkgIGZpZWxkX3BpY19mbGFnIHdhcyB1c2VkIGJ1dCBuZXZlciBzZXQgdG8gb3RoZXIgdmFsdWUgdGhhbiBpdHMgZGVmYXVsdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMzYzCgoyMDE0LTA1LTIyIDExOjU0OjQwICswMTAwICBEYW1pYW4gWmlvYnJvIDx6aW9icm8uZGFtaWFuQGdtYWlsLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogRml4IHN0b3Jpbmcgb2YgdGhlIElWIGJhc2VkIG9uIHRoZSBtZWRpYSBzZXF1ZW5jZSBudW1iZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDU3NAoKMjAxNC0wNS0yMiAxMjoyMzo1NyArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGZpeCBidWlsZGluZyB3aXRoIG5ld2VyIGtlcm5lbCBoZWFkZXJzCgkgIGM0MDBlZWYzNzcyYjdkYzQ3MGVlZmFlMDJhMTI4OGMyYjEyNWUyNWMgaW50cm9kdWNlZCBzb21lIGRlZmluZXMgdG8gaGFuZGxlCgkgIG9sZGVyIGtlcm5lbCBoZWFkZXJzLiBIb3dldmVyLCB0aGUgY2hlY2sgaXMgZG9uZSBiZWZvcmUgdGhlIGNvcnJlc3BvbmRpbmcKCSAga2VybmVsIGhlYWRlciAoZHZiL2Zyb250ZW5kLmgpIGlzIGluY2x1ZGVkLiBBcyBhIHJlc3VsdCB0aGUgbWFjcm9zIGFyZQoJICBhbHdheXMgZGVmaW5lZCB3aXRoIHJlc3VsdHMgaW4gJ3JlZGVmaW5lZCcgZXJyb3JzIHdpdGggbmV3ZXIga2VybmVsCgkgIGhlYWRlcnMuCgkgIE1vdmUgdGhlIGNoZWNrIGFmdGVyIHRoZSBpbmNsdWRlIHRvIGZpeCB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNTcwCgoyMDE0LTA1LTIxIDEzOjIzOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjMuMiA9PT0KCjIwMTQtMDUtMjEgMTM6MDY6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC1idWlsZC5zdGFtcDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3Quc3RhbXA6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMy4yCgoyMDE0LTA1LTIxIDEyOjQyOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTQtMDUtMjEgMTk6NDc6MjIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsL2ZpbHRlcjogZml4dXAgcGFzc3Rocm91Z2ggYnVmZmVycG9vbAoJICBJbiBhIHBpcGVsaW5lIGxpa2Ugc286CgkgIHZpZGVvdGVzdHNyYyAhIGdsZWZmZWN0cyAhIHZpZGVvY29udmVydCAhIHNpbmsKCSAgZ2xlZmZlY3RzIHdhcyBzaW1wbHkgcGFzc2luZyB0aGUgdmlkZW9jb252ZXJ0IGJ1ZmZlcnBvb2wgdG8gdmlkZW90ZXN0c3JjCgkgIGFuZCBub3QgY3JlYXRpbmcgYSBnbGJ1ZmZlcnBvb2wuIHZpZGVvYnVmZmVycG9vbCB3b3VsZCB0aGVuIGZhaWwKCSAgdG8gYWxsb2NhdGUgZnJvbSB0aGUgZ2xhbGxvY2F0b3IuCgoyMDE0LTA1LTIxIDEwOjUxOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAyMTFmYTVmIHRvIDFmNWQzYzMKCjIwMTQtMDUtMjEgMDg6NTM6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJICBkdmItc2VjdGlvbjogRG9uJ3QgY29tcGFyZSB1bnNpZ25lZCBpbnRlZ2VycyBmb3IgPj0gMAoJICBnc3QtZHZiLXNlY3Rpb24uYzo5MzoxMjogZXJyb3I6IGNvbXBhcmlzb24gb2YgdW5zaWduZWQgZXhwcmVzc2lvbiA+PSAwIGlzIGFsd2F5cyB0cnVlCgkgIFstV2Vycm9yLC1XdGF1dG9sb2dpY2FsLWNvbXBhcmVdCgkgIGlmIChob3VyID49IDAgJiYgaG91ciA8IDI0ICYmIG1pbnV0ZSA+PSAwICYmIG1pbnV0ZSA8IDYwICYmIHNlY29uZCA+PSAwCgkgIH5+fn4gXiAgfgoJICBnc3QtZHZiLXNlY3Rpb24uYzo5Mzo0MDogZXJyb3I6IGNvbXBhcmlzb24gb2YgdW5zaWduZWQgZXhwcmVzc2lvbiA+PSAwIGlzIGFsd2F5cyB0cnVlCgkgIFstV2Vycm9yLC1XdGF1dG9sb2dpY2FsLWNvbXBhcmVdCgkgIGlmIChob3VyID49IDAgJiYgaG91ciA8IDI0ICYmIG1pbnV0ZSA+PSAwICYmIG1pbnV0ZSA8IDYwICYmIHNlY29uZCA+PSAwCgkgIH5+fn5+fiBeICB+CgkgIGdzdC1kdmItc2VjdGlvbi5jOjkzOjcwOiBlcnJvcjogY29tcGFyaXNvbiBvZiB1bnNpZ25lZCBleHByZXNzaW9uID49IDAgaXMgYWx3YXlzIHRydWUKCSAgWy1XZXJyb3IsLVd0YXV0b2xvZ2ljYWwtY29tcGFyZV0KCSAgaWYgKGhvdXIgPj0gMCAmJiBob3VyIDwgMjQgJiYgbWludXRlID49IDAgJiYgbWludXRlIDwgNjAgJiYgc2Vjb25kID49IDAKCSAgfn5+fn5+IF4gIH4KCjIwMTQtMDUtMjAgMTc6MDk6NDMgKzAyMDAgIEwuIFNvcmluIDxzb3JpbkBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzc2hzaW5rLmM6CgkgIGN1cmxzc2hzaW5rOiBwb3N0IGVycm9yIG9uIGJ1cyBpbiBlbGVtZW50LCBub3QgdHJhbnNmZXIgdGhyZWFkCgkgIExvb2tzIGxpa2UgdGhpcyBmaWxlIHdhcyBtaXNzZWQgaW4gQnVnIDcyODk2MDoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODk2MAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNDU5CgoyMDE0LTA1LTIxIDEwOjI2OjIxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogc3dpdGNoIHRoZSAnbWFzdGVyJyB0ZXh0dXJlIGZvciBZVVkyLCBVWVZZCgkgIEZyb20gZDRiY2VmMzIwNDcwOTE1OTcxM2ZmMTYzMDk3OGVjYWMwYmQ5MWRjOSBvbiwgdXNpbmcgYSBSR0JBCgkgIHRleHR1cmUgdG8gaG9sZCB0aGUgZGF0YSBjYXVzZXMgdGhlIGdsbWVtb3J5IHRvIGhhdmUgaGFsZiB3aWR0aAoJICBhbmQgYSBzY2FsaW5nIG9mIFsyLCAxXS4gIFVzaW5nIGEgTEEgdGV4dHVyZSBzb2x2ZXMgdGhpcyBwcm9ibGVtCgkgIGhvd2V2ZXIgY2Fubm90IGJlIGF0dGFjaGVkIHRvIHRoZSBmcmFtZWJ1ZmZlciBmb3IgY29weWluZyBpbnRvCgkgIGEgUkdCQSB0ZXh0dXJlLiAgV2hpY2ggd2lsbCBiZSBzb2x2ZWQgYnkgbW92aW5nIHRvIEVYVF90ZXh0dXJlX3JnLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4ODkwCgoyMDE0LTA1LTE0IDE3OjU5OjUyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsL2VnbGltYWdlOiBhZGQgZWdsaW1hZ2UgY29udGV4dCBmZWF0dXJlCgkgIEFsbG93cyB1cyB0byBzZWxlY3RpdmVseSB1c2UgRUdMSW1hZ2VzIG9ubHkgd2hlbiBhdmFpbGFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODIzNAoKMjAxNC0wNS0xNCAxNzozMzoyMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSAgZ2wvY29udGV4dDogYWRkIGdlbmVyaWMgZmVhdHVyZSBjaGVja2luZwoJICBBdCB0aGUgbW9tZW50IGl0IHNpbXBseSBkZWxlZ2F0ZXMgdG8gdGhlIHN1YmNsYXNzLgoKMjAxNC0wNS0yMCAxMTo0MjozNSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMub3JjOgoJICBiYXllcjogZml4IHVudXNlZCB2YXJpYWJsZQoKMjAxNC0wMS0yOCAxNDowNDoxMSArMDEwMCAgTC4gU29yaW4gPHNvcmluQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNzaHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNzaHNpbmsuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybHNmdHBzaW5rLmM6CgkgIGN1cmxzZnRwc2luazogYXV0aGVudGljYXRlIHJlbW90ZSBob3N0IHZpYSBwdWJsaWMga2V5IGZpbmdlcnByaW50CgkgIEV4cG9zZSBvbmUgbW9yZSBsaWJjdXJsIG9wdGlvbjogQ1VSTE9QVF9TU0hfSE9TVF9QVUJMSUNfS0VZX01ENS4KCSAgVGhpcyBhbGxvd3MgYXV0aGVudGljYXRpbmcgdGhlIHNlcnZlciBieSB0aGUgTUQ1IGZpbmdlcnByaW50IG9mCgkgIHRoZSBzZXJ2ZXIncyBwdWJsaWMga2V5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMTY3CgoyMDE0LTA1LTE5IDEzOjQzOjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkgIG1wZWd0czogQ2hlY2sgaG91cjptaW51dGU6c2Vjb25kIHZhbHVlcyBiZWZvcmUgY3JlYXRpbmcgZGF0ZXRpbWUKCSAgQXZvaWRzIGFzc2VydGlvbnMgd2hlbiB0aGUgcGFja2V0cyBhcmUgbWFsZm9ybWVkIGFuZCBhbHNvIGFkZCB0aGUgY2FzZQoJICB3aGVyZSB0aGUgdGltZSBpc24ndCBzcGVjaWZpZWQsIG9ubHkgdGhlIGRhdGUuCgoyMDE0LTA1LTE5IDEyOjI1OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBDaGVjayBpZiBjb250ZXh0IGNyZWF0aW9uIGZhaWxlZCBiZWZvcmUgdHJ5aW5nIHRvIHVzZSBpdAoJICBPdGhlcndpc2Ugd2Ugd2lsbCBjYXVzZSBhc3NlcnRpb25zIGV2ZXJ5d2hlcmUgYnkgcGFzc2luZyBOVUxMIHRvIGZ1bmN0aW9ucwoJICBhbmQgZXZlbnR1YWxseSBjcmFzaCB3aGVuIGRlcmVmZXJlbmNpbmcgYSBOVUxMIHBvaW50ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAwNjkKCjIwMTQtMDUtMTkgMTI6MjE6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogQWRkIG1vcmUgYXNzZXJ0aW9ucyB0byBtYWtlIHN1cmUgdGhhdCBldmVyeXRoaW5nIHNldHMgdGhlIEdFcnJvciBkdXJpbmcgY29udGV4dCBjcmVhdGlvbiBpZiBzb21ldGhpbmcgZmFpbHMKCjIwMTQtMDUtMTkgMTE6MzQ6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuYzoKCSAgZnJlZXZlcmI6IERvbid0IHBhc3MgZmxvYXRzIHRvIGFicygpIGJ1dCBpbnN0ZWFkIGNhc3QgdGhlbSB0byBpbnRzIGZpcnN0CgkgIGdzdGZyZWV2ZXJiLmM6NzgxOjI5OiBlcnJvcjogdXNpbmcgaW50ZWdlciBhYnNvbHV0ZSB2YWx1ZSBmdW5jdGlvbiAnYWJzJyB3aGVuCgkgIGFyZ3VtZW50IGlzIG9mIGZsb2F0aW5nIHBvaW50IHR5cGUgWy1XZXJyb3IsLVdhYnNvbHV0ZS12YWx1ZV0KCSAgaWYgKGFicyAob3V0X2wyKSA+IDAgfHwgYWJzIChvdXRfcjIpID4gMCkKCjIwMTQtMDUtMTkgMDk6MTI6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkgIHJzdmdkZWM6IFVucmVmIGhhbmRsZSBhbmQgb3V0cHV0IHN0YXRlIG9uIGVycm9yIHBhdGhzCgkgIENJRCAxMjE0NjA0CgoyMDE0LTA1LTE2IDA5OjEwOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogV29yayBhcm91bmQgcmFjZSBjb25kaXRpb24gaW4gQW5kcm9pZCA8IDQuMiB0aGF0IGxlYWRzIHRvIGRlYWRsb2NrcyBvbiBzaHV0ZG93bgoJICBXZSBuZWVkIHRvIHNsZWVwIGEgYml0IGJlZm9yZSBkZXN0cm95aW5nIHRoZSBwbGF5ZXIgb2JqZWN0CgkgIGJlY2F1c2Ugb2YgYSBidWcgaW4gQW5kcm9pZCBpbiB2ZXJzaW9ucyA8IDQuMi4KCSAgT3BlblNMRVMgaXMgdXNpbmcgQXVkaW9UcmFjayBmb3IgcmVuZGVyaW5nIHRoZSBzb3VuZC4gQXVkaW9UcmFjawoJICBoYXMgYSB0aHJlYWQgdGhhdCBwdWxscyByYXcgYXVkaW8gZnJvbSB0aGUgYnVmZmVyIHF1ZXVlIGFuZCB0aGVuCgkgIHBhc3NlcyBpdCBmb3J3YXJkIHRvIEF1ZGlvRmxpbmdlciAoQXVkaW9UcmFjazo6cHJvY2Vzc0F1ZGlvQnVmZmVyKCkpLgoJICBUaGlzIHRocmVhZCBpcyBjYWxsaW5nIHZhcmlvdXMgY2FsbGJhY2tzIG9uIGV2ZW50cywgZS5nLiB3aGVuCgkgIGFuIHVuZGVycnVuIGhhcHBlbnMgb3IgdG8gcmVxdWVzdCBkYXRhLiBPcGVuU0xFUyBzZXRzIHRoaXMgY2FsbGJhY2sKCSAgb24gQXVkaW9UcmFjayAoYXVkaW9UcmFja19jYWxsQmFja19wdWxsRnJvbUJ1ZmZRdWV1ZSgpIGZyb20KCSAgYW5kcm9pZF9BdWRpb1BsYXllci5jcHApLiBBbW9uZyBvdGhlciB0aGluZ3MgdGhpcyBpcyB0YWtpbmcgYSBsb2NrCgkgIG9uIHRoZSBwbGF5ZXIgaW50ZXJmYWNlLgoJICBOb3cgaWYgd2UgZGVzdHJveSB0aGUgcGxheWVyIGludGVyZmFjZSBvYmplY3QsIGl0IHdpbGwgZmlyc3Qgb2YgYWxsCgkgIHRha2UgdGhlIHBsYXllciBpbnRlcmZhY2UgbG9jayAoSU9iamVjdF9EZXN0cm95KCkpLiBUaGVuIGl0IGRlc3Ryb3lzCgkgIHRoZSBhdWRpbyBwbGF5ZXIgaW5zdGFuY2UgKGFuZHJvaWRfYXVkaW9QbGF5ZXJfZGVzdHJveSgpKSB3aGljaCB0aGVuCgkgIGNhbGxzIHN0b3AoKSBvbiB0aGUgQXVkaW9UcmFjayBhbmQgZGVsZXRlcyBpdC4gTm93IHRoZSBkZXN0cnVjdG9yIG9mCgkgIEF1ZGlvVHJhY2sgd2lsbCB3YWl0IHVudGlsIHRoZSByZW5kZXJpbmcgdGhyZWFkIChBdWRpb1RyYWNrOjpwcm9jZXNzQXVkaW9CdWZmZXIoKSkKCSAgaGFzIGZpbmlzaGVkLgoJICBJZiBhbGwgdGhpcyBoYXBwZW5zIHdpdGggYmFkIHRpbWluZyBpdCBjYW4gaGFwcGVuIHRoYXQgdGhlIHJlbmRlcmluZwoJICB0aHJlYWQgaXMgY3VycmVudGx5IGUuZy4gaGFuZGxpbmcgdW5kZXJydW4gYnV0IGRpZCBub3QgbG9jayB0aGUgcGxheWVyCgkgIGludGVyZmFjZSBvYmplY3QgeWV0LiBUaGVuIGRlc3Ryb3lpbmcgaGFwcGVucyBhbmQgdGFrZXMgdGhlIGxvY2sgYW5kIHdhaXRzCgkgIGZvciB0aGUgdGhyZWFkIHRvIGZpbmlzaC4gVGhlbiB0aGUgdGhyZWFkIHRyaWVzIHRvIHRha2UgdGhlIGxvY2sgYW5kIHdhaXRzCgkgIGZvcmV2ZXIuCgkgIFdlIHdhaXQgYSBiaXQgYmVmb3JlIGRlc3Ryb3lpbmcgdGhlIHBsYXllciBvYmplY3QgdG8gbWFrZSBzdXJlIHRoYXQKCSAgdGhlIHJlbmRlcmluZyB0aHJlYWQgZmluaXNoZWQgd2hhdGV2ZXIgaXQgd2FzIGRvaW5nLCBhbmQgdGhlbiBzdG9wcwoJICAobm90ZTogd2UgY2FsbGVkIGdzdF9vcGVuc2xlc19yaW5nYnVmZmVyX3N0b3AoKSBiZWZvcmUgdGhpcyBhbHJlYWR5KS4KCjIwMTQtMDUtMTUgMjA6MzQ6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogbXBlZ3RzZGVzY3JpcHRvcjogZml4IGdvYmplY3QtaW50cm9zcGVjdGlvbiB3YXJuaW5ncwoJICBBZGRzIG1pc3NpbmcgOiB0byBnb2JqZWN0LWludHJvc3BlY3Rpb24gbWFya2VycwoKMjAxNC0wNS0xNSAxOToxNjozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkgIG1wZWd0czogc2VjdGlvbnM6IHByZXZlbnQgYXNzZXJ0aW9uIHdoZW4gcGFja2V0IHBhcnNpbmcgZmFpbHMKCSAgdGhlIGRlc2NyaXB0b3JzIGVudHJ5IGNhbiBiZSBsZWZ0IGFzIE5VTEwgYW5kIGZyZWVpbmcgdGhlIHN0cnVjdHVyZQoJICB3aWxsIGZhaWwgKGFzc2VydGlvbiBoYXBwZW5zKQoKMjAxNC0wNS0xNCAyMTozMjoxMCArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkgIG1vdGlvbmNlbGxzOiBmaXggbWVtbGVhawoJICBDaGVjayBnc3RfYnVmZmVyX21hcCByZXR1cm4gYW5kIHJlbWVtYmVyIHRvIHVubWFwIGFuZCBmcmVlIG1lbW9yeSBiZWZvcmUKCSAgcmV0dXJuaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAxMzMKCjIwMTQtMDUtMTQgMTE6NDc6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5jOgoJICBibHVlejogZml4IHByb3BlcnR5IG5hbWVzCgkgIFRoZXNlIHdlcmUgZm9yZ290dGVuIHdoZW4gdGhleSBnb3QgcmVuYW1lZC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTczMQoKMjAxNC0wNS0xMyAxNDoxMzo1NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbC9kb3dubG9hZDogdXBkYXRlIHRvIGJlIHNpbWlsYXIgdG8gdGhlIGdsdXBsb2FkIHNlbWFudGljcwoKMjAxNC0wNS0xMyAxNDowNzozOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2wvY29sb3Jjb252ZXJ0OiBmaXggdXAgYWxwaGEgY2xvYmJlcmluZwoJICBQcmV2aW91c2x5IGl0IHdvdWxkIG9ubHkgd29yayBpZiB0aGUgYWxwaGEgdmFsdWUgd2FzIGluIHRoZSBsYXN0CgkgIGNvbXBvbmVudCAoUkdCeCwgQkdSeCkuICBOb3cgaXQgd29ya3Mgd2hlcmV2ZXIgdGhlIGFscGhhIHZhbHVlIG1heQoJICBiZSAoeFJHQiwgeEJHUiwgZXRjKS4KCjIwMTQtMDUtMTQgMDA6MjM6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBwb3N0IGVycm9yIG1lc3NhZ2Ugd2hlbiBlcnJvcmluZyBvdXQgb24gdW5zdXBwb3J0ZWQgZXNzZW5jZSB3cmFwcGluZwoKMjAxNC0wNC0xMCAxNjoxMDowNiArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIEFuZHJvaWQubWs6CgkgIEFkZCBtaXNzaW5nIGJhY2tzbGFzaCBpbiBBbmRyb2lkLm1rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc5NjgKCjIwMTQtMDUtMTMgMTY6Mjk6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNzaW5rLmM6CgkgIGhsc3Npbms6IGRvIG5vdCBsZWFrIHBsYXlsaXN0IG9iamVjdAoJICBJbiBmaW5hbGl6ZSwgYWxzbyByZWxlYXNlIHRoZSBwbGF5bGlzdAoKMjAxNC0wNS0xMyAxMzoxNjozNCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBGaXggYnVpbGRpbmcgd2l0aG91dCBFR0wgc3VwcG9ydAoJICBUaGlzIGZpeGVzIHRoZSBPU1ggYnVpbGQgYW5kIGFueSBidWlsZHMgd2l0aCAtLWRpc2FibGUtZWdsLiBUaGF0IGlzc3VlCgkgIHdhcyBpbnRyb2R1Y2VkIGluICJnbGZpbHRlcjogcmV3cml0ZSB0cmFuc2Zvcm1fY2FwcyB0byBwcmVzZXJ2ZSBjYXBzIGZpZWxkcyIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk4NjEKCjIwMTQtMDUtMTMgMTM6MzA6NDcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiByZXdyaXRlIHRyYW5zZm9ybV9jYXBzIHRvIHByZXNlcnZlIGNhcHMgZmllbGRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk4NjEKCjIwMTQtMDUtMTMgMTA6NTM6MTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJICBnbC9jb2xvcmNvbnZlcnQ6IHVzZSB0aGUgdGV4dHVyZSBzY2FsaW5nIGZyb20gdGhlIGdsIG1lbW9yeQoJICBUaGUgY29sb3Jjb252ZXJ0IHZhbHVlcyB3ZXJlIG5vdCBiZWluZyB1c2VkIGF0IGFsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTg5NgoKMjAxNC0wNS0xMiAxOToyOTo0NSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBGaXggaGFuZGxpbmcgb2Ygc3RyaWRlIHdpdGggYWxpZ25lbWVudCBsYXJnZXIgdGhlbiA4CgkgIFNldHRpbmcgYSBzY2FsZWQgZmFjdG9yIGZvciBYIGNvb3JkaW5hdGUgaXMgbm90IGVub3VnaCBhcyB0aGUgaW5kZXhlcgoJICB3aWxsIHN0aWxsIHRoaW5rIHN0cmlkZSBpcyBzaG9ydGVyIGFuZCB3aWxsIG5vdCBmdWxseSBza2lwIGl0LiBJbnN0ZWFkLAoJICB1cGRhdGUgd2lkdGgsIHNvIHRoZSBsaW5lcyBhcmUgYXMgZXhwZWN0ZWQuIENvbWJpbmVkIHdpdGggdGhlIHNjYWxlLCBpdAoJICB3aWxsIGhpZGUgdGhlIGNyb3BwZWQgcG9ydGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTg5NgoKMjAxNC0wNS0xMyAxMToyMjo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBtcGRwYXJzZXI6IHByb3Blcmx5IHVucmVmIGdzdGRhdGV0aW1lCgkgIEF2b2lkIGxlYWtpbmcgdGhlIEdzdERhdGVUaW1lIGluc3RhbmNlcyB3aGVuIHN1bW1pbmcgZGF0ZXMKCSAgQ0lEICMxMjEyMTQzCgoyMDE0LTA1LTEzIDEwOjI0OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IG1wZHBhcnNlcjogYXZvaWQgZG91YmxlIGZyZWUgb2Ygc2VnbWVudCB0aW1lbGluZSBub2RlCgkgIFRoZSBwYXJzaW5nIGZ1bmN0aW9uIGFscmVhZHkgZnJlZXMgdGhlIG9sZCB2YWx1ZSAoaWYgYW55KSwgYXZvaWQgYSBkb3VibGUKCSAgZnJlZSBieSBub3QgZnJlZWluZyBpdCBiZWZvcmUgY2FsbGluZyB0aGUgZnVuY3Rpb24gd2l0aG91dCBzZXR0aW5nIHRoZQoJICBwb2ludGVyIHRvIE5VTEwKCSAgQ292ZXJpdHkgSUQ6IDEyMTIxNzgKCjIwMTQtMDUtMTMgMTA6MTM6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogbXBkcGFyc2VyOiBhdm9pZCBkb3VibGUgZnJlZQoJICBUaGUgX3BhcnNlX3VybCBmdW5jdGlvbiBhbHJlYWR5IGZyZWVzIHRoZSBwcmV2aW91cyBwb2ludGVyLCBhdm9pZAoJICBmcmVlaW5nIGl0IGJlZm9yZSB3aXRob3V0IHNldHRpbmcgdG8gbnVsbCBvciB3ZSBoYXZlIGEgZG91YmxlIGZyZWUuCgkgIENvdmVyaXR5IElEOiAxMjEyMTgxCgkgIENvdmVyaXR5IElEOiAxMjEyMTgwCgkgIENvdmVyaXR5IElEOiAxMjEyMTc5CgoyMDE0LTA1LTEzIDE0OjIxOjE1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSAgc2Nocm9kZWM6IFVzZSBwb29sIGNvbmZpZ3VyYXRpb24KCSAgSXQgd2FzIGxlYWtpbmcgdGhlIGNvbmZpZywgYnV0IGFsc28gbm90IHVzaW5nIGl0Li4uCgkgIENJRCAjMTIxMjE1NQoKMjAxNC0wNS0xMyAxNDoxNToyNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkgIHJzdmc6IERvbid0IGxlYWsgR3N0VmlkZW9Db2RlY1N0YXRlCgkgIEFuZCBhdm9pZCB1c2VsZXNzIGNhbGwgdG8gX2dldF9vdXRwdXRfc3RhdGUgKHNldF9vdXRwdXRfc3RhdGUoKSBhbHJlYWR5CgkgIHJldHVybnMgaXQpLgoJICBDSUQgIzEyMTIxNjAKCSAgQ0lEICMxMjEyMTYxCgoyMDE0LTA1LTEzIDEzOjU0OjIzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0YmFzZTogU21hbGwgcmV3cml0ZQoJICBTZXR0aW5nIGRvbmUgd2FzIHVzZWxlc3MgYW55d2F5CgoyMDE0LTA1LTEzIDEzOjUyOjQ4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoOiBEb24ndCBsZWFrIEdzdEFjdGl2ZVN0cmVhbQoJICBDSUQgIzEyMTIxNDIKCjIwMTQtMDUtMTMgMTE6NDE6NDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSAgc2htOiBEb24ndCBsZWFrIEdzdFNobVBpcGUKCSAgQnkgcmVvcmRlcmluZyB0aGUgbGVha2luZyBjb2RlIHBhdGggdG8gYmVmb3JlIHRoZSBhbGxvY2F0aW9uCgkgIENJRCAjMTIxMjE1MwoKMjAxNC0wNS0xMyAxMTozODo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkgIHZtbmRlYzogRG9uJ3QgbGVhayBvdXRwdXQgc3RhdGUKCSAgX3NldF9vdXRwdXRfc3RhdGUgcmV0dXJucyBhIHJlZmVyZW5jZSB0byB0aGUgY29kZWMgc3RhdGUuCgkgIENJRCAjMTIxMjE3MAoKMjAxNC0wNS0xMyAxMTozNTo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiBEb24ndCBsZWFrIGFkYXB0ZXIgZGF0YQoJICBDSUQgIzEyMTIxNTgKCjIwMTQtMDUtMTMgMTE6MzA6MzUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWdwc211eC9wc211eHN0cmVhbS5jOgoJICBtcGVncHNtdXg7IEZpeCBzdHJlYW0gbGVhawoJICBDSUQgIzEyMTIxNjQKCjIwMTQtMDUtMTMgMTE6MjM6NDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvanAya2NvZGVzdHJlYW0uYzoKCSAganAya2RlY2ltYXRvcjogRG9uJ3QgbGVhayB2YXJpb3VzIHNsaWNlcyBhbmQgYXJyYXlzCgkgIENJRCAjMTIxMjEzOQoJICBDSUQgIzEyMTIxNDAKCSAgQ0lEICMxMjEyMTQxCgoyMDE0LTA1LTEzIDExOjE5OjI0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJICBhc2ZtdXg6IERvbid0IGxlYWsgYnl0ZXJlYWRlcgoJICBCeSBtYWtpbmcgaXQgZ28gdGhyb3VnaCB0aGUgZXJyb3IgcGF0aCB0aGF0IHRha2VzIGNhcmUgb2YgY2xlYW51cHMKCSAgQ0lEICMxMjEyMTY4CgoyMDE0LTA1LTEyIDEzOjUwOjQ3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IEVuc3VyZSB3ZSBzdGlsbCBoYXZlIGEgdGV4dHVyZSBhZnRlciB1cGxvYWRfc2V0X2Zvcm1hdCgpCgkgIGdzdF9nbF91cGxvYWRfc2V0X2Zvcm1hdCgpIHJlc2V0cyB0aGUgdXBsb2FkLCBoZW5jZSB0aGUgdGV4dHVyZS4KCSAgU28gd2UgbmVlZCB0byBlbnN1cmUgd2UgaGF2ZSBhIHRleHR1cmUgYWZ0ZXIgdGhpcyBjYWxsIHdoZW4KCSAgdXBsb2FkaW5nLgoKMjAxNC0wNS0xMiAxMjo1OTo1OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBDb3JyZWN0bHkgdXBkYXRlIHRoZSB2aWRlbyBpbmZvIGZyb20gdmlkZW8gbWV0YQoJICBVc2luZyBnc3RfdmlkZW9faW5mb19zZXRfZm9ybWF0KCkgaXNuJ3QgY29tcGxldGUgd2hlbiB1cGRhdGluZwoJICBhIHZpZGVvIGluZm8gZnJvbSB2aWRlbyBtZXRhLgoKMjAxNC0wNS0xMiAxMjo1NzoxOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBDb3JyZWN0bHkgdXBkYXRlIHZpZGVvIGluZm8gaW4gdXBsb2FkIGZhbGxiYWNrCgkgIFdoZW4gdGhlIHVwbG9hZCBhY2NlbGVyYXRlZCBtZXRob2QgZmFpbHMsIHdlIGZhbGxiYWNrIHRvIGFuIHVwbG9hZCwKCSAgYnV0IHRoZSB2aWRlbyBpbmZvIHdhcyBub3QgY29ycmVjdGx5IHVwZGF0ZWQuCgoyMDE0LTA1LTEyIDE4OjI4OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGF2b2lkIGRlYWRsb2NraW5nIHdoZW4gZXJyb3JpbmcKCSAgSXQgbWlnaHQgZ2V0IHN0dWNrIHdoZW4gcG9zdGluZyB0aGUgbWVzc2FnZSB3aGlsZQoJICBhIHJlY29uZmlndXJlIGV2ZW50IGlzIGJlaW5nIHB1c2hlZCB1cHN0cmVhbQoKMjAxNC0wNS0xMiAxNzozNzoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBmaXggY2FwcyBsZWFrCgoyMDE0LTA1LTEyIDE1OjQzOjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGhhbmRsZSBlcnJvciBtZXNzYWdlcyBmcm9tIGludGVybmFsIHNvdXJjZQoJICBzZXQgdXAgYSBiaW4gbWVzc2FnZSBoYW5kbGVyIHRvIGdldCBub3RpZmllZCBvZiBlcnJvciBtZXNzYWdlcyBmcm9tCgkgIHRoZSBpbnRlcm5hbCBzb3VyY2UgZWxlbWVudAoKMjAxNC0wNS0xMiAxNDo1ODo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBBbHdheXMgYWNjZXB0IHRoZSBsYXRlbmN5IGNvbmZpZ3VyZSBldmVudAoJICBVcHN0cmVhbSBvciBpbnRlcm5hbCBlbGVtZW50cyBhcmUgaXJyZWxldmFudCBhbmQgd2Ugc2hvdWxkCgkgIGFsd2F5cyBzdWNjZWVkLgoKMjAxNC0wNS0xMiAxNDo1MTowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IHJlZW5hYmxlIHNlZ21lbnQgdHJhY2tpbmcgZm9yIHN0cmVhbXMKCSAgU3RvcmUgdGhlIGxhdGVzdCBwdXNoZWQgdGltZXN0YW1wIHNvIHRoYXQgbXNzZGVtdXggc3RyZWFtcyBrbm93CgkgIHdoZXJlIHRoZXkgYXJlIGluIHRpbWUKCjIwMTQtMDUtMTIgMTQ6MjM6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogZGVwcmVjYXRlIHVudXNlZCBtYXgtcXVldWUtc2l6ZS1idWZmZXJzCgkgIFRoZXJlIGlzIG5vIGludGVybmFsIHN0b3JhZ2Ugb2YgYnVmZmVycyBhbnltb3JlCgoyMDE0LTA1LTEyIDE0OjE4OjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0ZG93bmxvYWRyYXRlLmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0ZG93bmxvYWRyYXRlLmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogbWVhc3VyZSBiaXRyYXRlIHNpbWlsYXJseSB0byBobHNkZW11eAoJICBuZXcgYml0cmF0ZSA9IChvbGQgYml0cmF0ZSArIChsYXN0IGZyYWdtZW50IGJpdHJhdGUgKiAzKSkgLyA0CgoyMDE0LTA1LTEyIDEzOjQwOjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogcmVtb3ZlIHVyaWRvd25sb2FkZXIgaW4gZmF2b3Igb2YgaW50ZXJuYWwgc291cmNlCgkgIFJlZmFjdG9yIG1zc2RlbXV4IHRvIHJlbW92ZSB1cmlkb3dubG9hZGVyIHRvIHVzZSBhbiBpbnRlcm5hbAoJICBzb3VyY2UgZWxlbWVudCB3aGljaCByZWR1Y2VzIHN0YXJ0dXAgbGF0ZW5jeSBhbmQgcHJvdmlkZXMgc21hbGxlcgoJICBidWZmZXJzIGZvciBiZXR0ZXIgYnVmZmVyaW5nIG1hbmFnZW1lbnQgZG93bnN0cmVhbQoKMjAxNC0wNS0xMiAxMzoyODozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBpbml0aWFsaXplIHRoZSBtdXRleCBhbmQgY29uZCBmb3IgZnJhZ21lbnQgZG93bmxvYWQKCjIwMTQtMDUtMTIgMTM6MzI6MzEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogc2V0IG91dF90ZXggYWZ0ZXIgcmVzZXQsIG5vdCBiZWZvcmUKCSAgRml4IGEgcmVncmVzc2lvbiBpbnRyb2R1Y2VkIHJlY2VudGx5IHdpdGggdGhlIGxhenkgaW5pdC4KCSAgSXQgd2FzIGhhcHBlbmluZyB3aGVuIGNhbGxpbmcgZ3N0X3ZpZGVvX2dsX3RleHR1cmVfdXBsb2FkX21ldGFfdXBsb2FkCgkgIGZyb20gYW4gYXBsaWNhdGlvbi4gU28gbm90IHVzaW5nIGdzdF9nbF91cGxvYWRfcGVyZm9ybV93aXRoX2J1ZmZlci4KCjIwMTQtMDUtMTEgMTI6NDg6NTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogdXBkYXRlIHRoZSB2aWRlbyBpbmZvIG9uIG1hcHBpbmcgYSB2aWRlbyBmcmFtZQoJICBUaGUgYnVmZmVyIHNob3VsZCBjb250YWluIHRoZSBtb3N0IHNwZWNpZmljIGRhdGEgb24gaG93IHRoZSBkYXRhIGlzCgkgIGZvcm1hdHRlZC4gIFdlIHNob3VsZCB1c2UgdGhpcyBpbmZvcm1hdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTg5NgoKMjAxNC0wNS0xMiAyMTo1NjowNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2wvY29udmVydDogY2xvYmJlciBhbHBoYSBjaGFubmVsIHdoZW4gbmVlZGVkCgkgIE5lZWRlZCBpbiB0aGUgY29udmVyc2lvbiBmcm9tIHBhZGRlZCBSR0IgZm9ybWF0cyB0byBmb3JtYXRzIHdpdGggYW4KCSAgYWxwaGEgY2hhbm5lbC4gIGUuZy4gQkdSeCAtPiBBQkdSLCBldGMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTc0MgoKMjAxNC0wNS0xMiAyMTo1MTozOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdXBsb2FkOiBhdm9pZCBwZXJmb3JtaW5nIGNvbG9yIGNvbnZlcnNpb24gd2hlbiB0aGVyZSBpcyBubyBuZWVkCgkgIE9uZSBzdWNoIGV4YW1wbGUgaXMgd2hlbiB0aGUgYnVmZmVyIGNvbnRhaW5zIEdzdEdMTWVtb3J5IGluIHRoZQoJICBSR0JBIGZvcm1hdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5Mjc4CgoyMDE0LTA1LTEyIDEwOjAxOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBEb24ndCBmcmVlIHN0cmluZyB3ZSdyZSBzdGlsbCB1c2luZwoJICBDSUQgMTIxMzc4MAoKMjAxNC0wNS0xMSAxNToyNjo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogcmVtb3ZlIHVudXNlZCBzdHJlYW0gdXJpZG93bmxvYWRlcgoJICBUaGUgdXJpZG93bmxvYWRlciBmb3IgdGhlIHN0cmVhbSBmcmFnbWVudHMgaXNuJ3QgdXNlZCBhbnltb3JlLgoKMjAxNC0wNS0xMSAwNzo1NjoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRG8gbm90IHRyeSB0byBhZGQgYSBmZWF0dXJlIHRvIGEgY2FwcyBmZWF0dXJlcyBBTlkKCSAgSXQgZG9lcyBub3QgbWFrZXMgc2Vuc2UgYW5kIGFzc2VydHMKCSAgQmFzZWQgb24gN2Y5YWFjMzg2ZmQ1ZDU5MjFjODAxMDA4ODlhNWYyMTJjMDE0OGE4OCBmcm9tIGdzdC1wbHVnaW5zLWJhc2UuCgoyMDE0LTA1LTExIDA3OjU1OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBEbyBub3QgdHJ5IHRvIGFkZCBhIGZlYXR1cmUgdG8gYSBjYXBzIGZlYXR1cmVzIEFOWQoJICBJdCBkb2VzIG5vdCBtYWtlcyBzZW5zZSBhbmQgYXNzZXJ0cy4KCSAgQmFzZWQgb24gN2Y5YWFjMzg2ZmQ1ZDU5MjFjODAxMDA4ODlhNWYyMTJjMDE0OGE4OCBmcm9tIGdzdC1wbHVnaW5zLWJhc2UuCgoyMDE0LTA1LTExIDE0OjAyOjM0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbC9jb2xvcmNvbnZlcnQ6IGNob29zZSB0aGUgcmlnaHQgYWxwaGEgY29tcG9uZW50IGZvciBBWVVWIC0+IFJHQkEKCjIwMTQtMDUtMTEgMTA6Mjc6MDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogdXBkYXRlIHRoZSByZXNwZWN0aXZlIHN0YXRlIHdoZW4gd2UgY2FjaGUgdGV4dHVyZXMvZGF0YQoKMjAxNC0wNS0wMSAwMjoxMDoyMCAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZHJvcCBDKysgc3R5bGUgY29tbWVudHMKCSAgVGhpcyBwYXRjaCBidWlsZHMgb24gcHJldmlvdXMgd29yayBkb25lIGJ5CgkgIEZhYnJpemlvIChNaXN0bykgTWlsbyA8bWlzdG9iYWFuQGdtYWlsLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTIwNAoKMjAxNC0wNS0wMSAwMTo1ODowMyAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZml4IHVwIGVycm9yIHJlcG9ydGluZwoJICBUaGlzIHBhdGNoIGJ1aWxkcyBvbiBwcmV2aW91cyB3b3JrIGRvbmUgYnkKCSAgRmFicml6aW8gKE1pc3RvKSBNaWxvIDxtaXN0b2JhYW5AZ21haWwuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxMjA0CgoyMDE0LTA1LTEwIDIzOjMzOjI0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IGNhY2hlIHRoZSB0ZXh0dXJlcyB0aGF0IHdlIGFyZSB1c2luZwoKMjAxNC0wNS0xMCAyMjo0ODowNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdXBsb2FkOiBhdm9pZCByZWNyZWF0aW5nIHRoZSBHTE1lbW9yeSBzdHJ1Y3QgZm9yIG91dHB1dCB0ZXh0dXJlcwoKMjAxNC0wNC0xMSAxOTozODozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogZXJyb3Igb3V0IGlmIHdlIGdldCBFT1MgaW1tZWRpYXRlbHkgd2l0aG91dCBhbnkgZGF0YQoJICBJdCdzIG5vdCByZWFsbHkgcmlnaHQgdG8ganVzdCBnbyBFT1MgYXMgaWYgbm90aGluZyB3YXMgd3JvbmcuCgoyMDE0LTA1LTEwIDEyOjU0OjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogcmVtb3ZlIGNvbmZ1c2luZyBkZWJ1ZyBsb2cgbGluZQoKMjAxNC0wNS0wNyAyMDowODowOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuaDoKCSAgYXV0b2NvbnZlcnQ6IGZhY3RvcmllcyBkb24ndCBuZWVkIHRoZSBsb2NrCgkgIEFuIGF0b21pYyBpcyBlbm91Z2gsIHRoZXkgY2FuIG9ubHkgYmUgc2V0IG9uY2UuCgoyMDE0LTA1LTA5IDIwOjA2OjEyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIFJldmVydCAiYXV0b2NvbnZlcnQ6IEhhbmRsZSBjYXBzIHF1ZXJ5IG9uIGludGVybmFsIHNyY3BhZCIKCSAgVGhpcyBpcyBub3QgbmVlZGVkIGFueW1vcmUgaWYgdGhlIGdzdF9wYWRfbGluayBjaGVja3Mgbm90aGluZy4KCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBhMzAzMzc1YTNmNWMxMmU5N2NhOGJmNTBiNWE5M2NlODY1MmZhZjIzLgoKMjAxNC0wNS0wOSAyMDoxMjoyNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogTm8gbmVlZCB0byBjaGVjayBhbnl0aGluZyB3aGVuIGxpbmtpbmcgaW50ZXJuYWwgcGFkcwoKMjAxNC0wNS0wOSAyMDowNTowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogRG9uJ3QgaWdub3JlIGVsZW1lbnRzIGFjY2VwdGVkIEFOWSwgaXQgaXMgdmFsaWQKCjIwMTQtMDUtMDkgMTg6NDk6MTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IFJlbW92ZSBicm9rZW4gdXNhZ2Ugb2YgdGhlIGl0ZXJhdG9yCgkgIFdlJ3JlIGEgc3ViY2xhc3MsIHNvIHdlIGNhbiBqdXN0IHRha2UgdGhlIG9iamVjdCBsb2NrIGFuZCBpdGVyYXRlIHRoZSBsaXN0CgkgIGRpcmVjdGx5LgoKMjAxNC0wNS0wOCAxOTozNTowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogUHJvY2VzcyB1cHN0cmVhbSBnZXRjYXBzCgkgIFByb2Nlc3MgaXQgbGlrZSBkb3duc3RyZWFtIGdldGNhcHMKCjIwMTQtMDUtMDcgMjA6MDA6MDggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IFJldHVybiB0aGUgR0xpc3Qgb2YgZmFjdG9yaWVzLCB0byBhIHBvaW50ZXIgdG8gaXQuCgoyMDE0LTA1LTA3IDE5OjU0OjQ2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5oOgoJICBhdXRvY29udmVydDogc3ViZWxlbWVudCBjYW4gb25seSBiZSBjaGFuZ2Ugd2l0aCBzdHJlYW0gbG9jayBoZWxkCgkgIEl0IHdhcyBhbHJlYWR5IHRoZSBjYXNlLCBub3cgYmUgbW9yZSBleHBsaWNpdCBhYm91dCB0aGF0LCBhbmQgcmVtb3ZlIHVzZWxlc3MKCSAgbG9jay9yZWYvdW5sb2NrL3VucmVmIGRhbmNlcy4KCjIwMTQtMDUtMDcgMTk6NDg6NDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IEtlZXAgYSByZWYgdG8gdGhlIHBhZHMgdG9vCgkgIFNpbXBsaWZpZXMgdGhlIGNvZGUKCjIwMTQtMDUtMDcgMTk6NDc6MDQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IFJlbW92ZSB1bmVlZGVkIGlmKCkKCSAgTlVMTCBpcyB2YWxpZCBHTGlzdAoKMjAxNC0wNS0wNyAxOTo0NDoxMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogQWx3YXlzIHB1c2ggcmVjb25maWd1cmUgdXBzdHJlYW0gdG9vCgkgIEEgcmVjb25maWd1cmUgY291bGQgdHJpZ2dlciBhIGNoYW5nZSBvZiBjb250ZW50cyBpbnN0ZWFkIG9mIGp1c3QgcmVjb25maWd1cmluZyB0aGUgaW50ZXJuYWwgZWxlbWVudAoKMjAxNC0wNS0wNyAxOTo0MzoxMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogUmVtb3ZlIHVudXNlZCBpbnRlcm5hbCBwYXJhbWV0ZXIKCjIwMTQtMDUtMDkgMTg6NTk6NDYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2w6IEZpeCBzb21lIG9mIHRoZSBlcnJvciBoYW5kbGluZwoKMjAxNC0wNS0wOSAxNzo1OTo0MyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBVcGRhdGUgR3N0VmlkZW9JbmZvIGFmdGVyIHRoZSBidWZmZXIgaXMgbWFwcGVkCgkgIGdzdF92aWRlb19mcmFtZV9tYXAoKSB3aWxsIHN0b3JlIGFuIHVwZGF0ZWQgdmlkZW8gaW5mbyBiYXNlCgkgIG9uIHRoZSB2aWRlbyBtZXRhLiBJbiBvcmRlciB0byBoYXZlIHRoZSByaWdodCBzdHJpZGUgYW5kIG9mZnNldAoJICB3ZSBzaG91bGQgdXBkYXRlIHRoYXQgdmlkZW8gaW5mbyBhY2NvcmRpbmdseS4KCjIwMTQtMDUtMDkgMTU6NDI6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuYzoKCSAgZ2w6IEZpeCBtZW1vcnkgbGVhawoJICBDSUQgIzEyMTIxNzEKCjIwMTQtMDUtMDkgMTU6MjY6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzOiBSZW1vdmUgaW52YWxpZCBmcmVlCgkgIGRhdGEgZG9lcyBub3QgaGF2ZSB0byBiZSBmcmVlZCBhdCBhbGwgaGVyZSwgaXQncyBhIHBvaW50ZXIgdG8KCSAgYW4gYXJiaXRyYXJ5IHBvc2l0aW9uIGluc2lkZSB0aGUgY3VycmVudCBsaW5lLiBBbHNvIGRvbid0IHJldXNlCgkgIHRoZSBkYXRhIHZhcmlhYmxlIGZvciBhbnl0aGluZyBlbHNlLCB0aGF0IHdpbGwgY2F1c2UgY3Jhc2hlcwoJICBpbiBwbGF5bGlzdHMgdGhhdCBoYXZlIHRoZSBJLWZyYW1lIHBsYXlsaXN0IFVSSSBmb2xsb3dlZCBieQoJICBvdGhlciBhdHRyaWJ1dGVzLgoJICBDSUQgMTIxMjEyNwoKMjAxNC0wNS0wOSAxNDozMTo1NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogRml4IGxlYWsKCSAgVGhlIGNlbGwgZXh0ZW5zaW9uIHdhcyBuZXZlciBhZGRlZCB0byB0aGUgcGFyZW50IGNlbGwKCSAgQ0lEICMxMjEyMTYyCgoyMDE0LTA1LTA5IDIyOjIyOjQzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbC9jb2xvcmNvbnZlcnQ6IHByZXNlcnZlIGFscGhhIGluIEFZVVYgPC0+IFJHQkEgY29udmVyc2lvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTc0MwoKMjAxNC0wNS0wOSAxODowNzowMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC9jb2xvcmNvbnZlcnQ6IGltcGxlbWVudCBsYXp5IGluaXQKCjIwMTQtMDUtMDggMTU6Mzg6MjQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogc2V0IGluaXR0ZWQgdG8gVFJVRSB3aGVuIF9pbml0X3VwbG9hZCBzdWNjZWVkZWQKCjIwMTQtMDUtMDggMjI6NDk6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsZGlzcGxheTogVXNlIEdTVF9TVFJfTlVMTCgpIGZvciBwcmludGluZyBwb3NzaWJseSBOVUxMIHN0cmluZ3MgYW5kIHByaW50IGFsbCB2YXJpYWJsZXMgd2UgdXNlCgkgIEZpeGVzIGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgc2V0IGJ1dCBub3QgdXNlZCBwbGF0Zm9ybV9jaG9pY2UgdmFyaWFibGUKCSAgYW1vbmcgb3RoZXIgdGhpbmdzLgoKMjAxNC0wNS0wOCAxNjowODowOCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIGdsZWZmZWN0czogdXNlIGdsX3Z0YWJsZQoKMjAxNC0wNS0wOCAxNzoyODoxMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdXBsb2FkOiBmaXggY29tcGlsYXRpb24gb24gT1MgWAoKMjAxNC0wNS0wOCAxNTo0MDozMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdXBsb2FkOiBmYWlsIHByb3BvZXJseSBpZiBpbml0IGZhaWxzCgoyMDE0LTA1LTA4IDE1OjMwOjQ5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSAgZ2w6IG1ha2UgYWxsIEdPYmplY3RzIGluaGVyaXQgZnJvbSBHc3RPYmplY3QKCSAgQWlkcyBtZW1vcnkgbGVhayBkZWJ1Z2dpbmcgd2l0aCBHU1RfVFJBQ0U9bWVtLWxpdmUKCjIwMTQtMDUtMDggMTM6NDY6MjkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdXBsb2FkOiBpbXBsZW1lbnQgbGF6eSBpbml0CgkgIFJlbmFtZSBpbml0X2Zvcm1hdCB0byBzZXRfZm9ybWF0CgoyMDE0LTA1LTA4IDAwOjU5OjQyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgZ2wvdXBsb2FkOiBhZGQgZ2V0X2Zvcm1hdCBtZXRob2QKCSAgU2ltcGx5IHJldHJlaXZlcyB0aGUgZm9ybWF0IHNldCBieSBpbml0X2Zvcm1hdAoKMjAxNC0wNS0wOCAwMDo0ODowNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2wvZmlsdGVyOiBhdHRlbXB0IHRvIHBhc3N0aHJvdWdoIHRoZSBwb29sIGlmIHRoZSBjYXBzIGFyZSB0aGUgc2FtZQoJICBSZWR1Y2VzIHRoZSBudW1iZXIgb2YgZ2xidWZmZXJwb29sIGluc3RhbmNlcyByZXF1aXJlZCBmb3IgPj0yCgkgIGNvbnNlY3V0aXZlIEdMIGVsZW1lbnRzIGluIGEgcGlwZWxpbmUuCgoyMDE0LTA1LTA4IDAwOjQzOjE0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbC9maWx0ZXI6IGFsd2F5cyBpbml0aWFsaXplIHRoZSB1cGxvYWQgb2JqZWN0CgoyMDE0LTA1LTA3IDIxOjQ1OjUzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2w6IGFkdmVydGlzZSBHc3RHTE1lbW9yeSB1c2FnZSBpbiB0aGUgY2FwcyBhcyBjYXBzZmVhdHVyZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTY1OAoKMjAxNC0wNS0wNyAyMDoxMjoyMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJICBnbC9leGFtcGxlczogZml4IGNvbXBpbGF0aW9uIGZvciBjbHV0dGVyIGV4YW1wbGVzCgkgIENsdXR0ZXJYMTFUZXh0dXJlUGl4bWFwIGlzIGRlcHJlY2F0ZWQgaW4gQ2x1dHRlciAxLjYgYW5kIHdlIGFzayBmb3IKCSAgYXQgbGVhc3QgMS44CgoyMDE0LTA1LTA3IDE5OjA1OjU1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2wvZGlzcGxheTogYXZvaWQgZW5kbGVzcyByZWN1cnNpb24gZm9yIGNvY29hCgoyMDE0LTA1LTA2IDA4OjUyOjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGRlcHJlY2F0ZSBtYXgtYnVmZmVyaW5nLXRpbWUgcHJvcGVydHkKCSAgSXQgaXMgbm90IHVzZWQgYXMgZGFzaGRlbXV4IGRvZXNuJ3QgaGF2ZSBhIGludGVybmFsIGJ1ZmZlcgoJICBmb3IgZnJhZ21lbnRzIGFueW1vcmUKCjIwMTQtMDUtMDYgMDE6NTY6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcmVtb3Zpbmcgb2xkIHVudXNlZCBjb2RlCgkgIFRoZSAnY2F0Y2ggdXAgbW9kZScgaXNuJ3QgbmVlZGVkIGFueW1vcmUgc2luY2UgZGFzaGRlbXV4CgkgIGlzIGRvd25sb2FkaW5nIGFuZCBwdXNoaW5nIGZyb20gdGhlIHNhbWUgdGhyZWFkCgoyMDE0LTA1LTA1IDEwOjEzOjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHJlbWVtYmVyIHRvIHNldCBzdGFydGluZyBmcmFnbWVudCB0byBuZXcgZnJhZ21lbnRzCgoyMDE0LTA1LTAyIDE4OjM0OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGhhbmRsZSBhIGZldyBtb3JlIGVycm9yIGNhc2VzCgkgIHJlbGF0ZWQgdG8gbWlzc2luZyBwbHVnaW5zLCBiYWQgVVJJIGFuZCBhIGxvY2t1cCBvbiBkZWFsaW5nIHdpdGgKCSAgZXJyb3JzIGZyb20gdGhlIHNvdXJjZS4KCjIwMTQtMDUtMDIgMTg6MzI6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogT25seSBzZXQgdGltZXN0YW1wIHRvIHRoZSBmaXJzdCBidWZmZXIgb2YgZnJhZ21lbnRzCgkgIFNldHRpbmcgaXQgdG8gdGhlIG90aGVyIHBhcnRzIG9mIHRoZSBmcmFnbWVudCBpcyBzbGlnaHRseSB3cm9uZwoJICBhbmQgbWlzbGVhZGluZyBhcyBpdCBpc24ndCBhY2N1cmF0ZSBlbm91Z2guCgoyMDE0LTA1LTAyIDE4OjMwOjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBoYW5kbGUgZXJyb3IgbWVzc2FnZXMgZnJvbSB0aGUgc291cmNlcwoJICBTZXQgdXAgYSBtZXNzYWdlIGhhbmRsaW5nIGZ1bmN0aW9uIHRvIGJlIGFibGUgdG8gY2F0Y2ggZXJyb3JzCgkgIGZyb20gdGhlIHNvdXJjZSBlbGVtZW50IGFuZCBzaWduYWwgdGhlIGNvbmQgdG8gYWxsb3cgdGhlIGRvd25sb2FkCgkgIGxvb3AgdG8gcmV0cnkgdGhlIGRvd25sb2FkLgoKMjAxNC0wNS0wMSAyMTowNDo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBjaGVjayBmb3IgZXJyb3JzIGJldHdlZW4gZG93bmxvYWRzCgkgIFRvIGFib3J0IGVhcmxpZXIgaW4gY2FzZSBvZiBmYWlsdXJlcwoKMjAxNC0wNS0wMSAyMTowMDozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBBbHdheXMgYWNjZXB0IHRoZSBsYXRlbmN5IGNvbmZpZ3VyZSBldmVudAoJICBVcHN0cmVhbSBvciBpbnRlcm5hbCBlbGVtZW50cyBhcmUgaXJyZWxldmFudCBhbmQgd2Ugc2hvdWxkCgkgIGFsd2F5cyBzdWNjZWVkLgoKMjAxNC0wNS0wMSAxMjowNDo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9NYWtlZmlsZS5hbToKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3Rkb3dubG9hZHJhdGUuYzoKCSogZXh0L2Rhc2gvZ3N0ZG93bmxvYWRyYXRlLmg6CgkgIGRhc2hkZW11eDogbWVhc3VyZSBkb3dubG9hZCByYXRlIGp1c3QgbGlrZSBobHNkZW11eAoJICBuZXcgYml0cmF0ZSA9IChvbGQgYml0cmF0ZSArIChsYXN0IGZyYWdtZW50IGJpdHJhdGUgKiAzKSkgLyA0CgoyMDE0LTA0LTI1IDA4OjUwOjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiByZW1vdmUgdXJpZG93bmxvYWRlciBmcm9tIGZyYWdtZW50cyBkb3dubG9hZAoJICBJbnN0ZWFkLCB1c2UgYSBzb3VyY2UgZWxlbWVudCBsaW5rZWQgdG8gYSBnaG9zdHBhZCB0byBwcm92aWRlCgkgIHNtYWxsZXIgYnVmZmVycyBhbmQgbW9yZSBncmFudWxhciBjb250cm9sIGZvciBkb3duc3RyZWFtCgkgIGJ1ZmZlcmluZyBlbGVtZW50cyB3aGlsZSBhbHNvIHJlZHVjaW5nIHN0YXJ0dXAgbGF0ZW5jeQoKMjAxNC0wNS0wNyAwOToxMToyNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2wvc2luazogbWFrZSBzdXJlIHdlIGFsd2F5cyBpbml0aWFsaXplIHRoZSB1cGxvYWQgb2JqZWN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk1NDIKCjIwMTQtMDUtMDYgMTk6MjQ6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZml4IGludGVybmFsIHNvdXJjZSBldmVudCBsZWFrcwoKMjAxNC0wNS0wNiAxMTo1OToyNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2w6IGRvIG5vdCBhbGxvY2F0ZSB0aGUgdGFyZ2V0IHRleHR1cmUgb2YgYW4gRUdMSW1hZ2UKCSAgVGhlIHRhcmdldCB0ZXh0dXJlIG9mIGFuIEVHTEltYWdlIGlzIHRoZSB0ZXh0dXJlIGJpbmQganVzdAoJICBiZWZvcmUgY2FsbGluZyBnbEVHTEltYWdlVGFyZ2V0VGV4dHVyZTJELgoJICBBcyB3ZSBjdXJyZW50bHkgb25seSBzdXBwb3J0IGEgZ2wgdGV4dHVyZSBhcyB0aGUgc291cmNlIG9mIGFuIEVHTEltYWdlCgkgIHRoZSBnbCB0ZXh0dXJlIGlzIGFjdHVhbGx5IGFscmVhZHkgYWxsb2NhdGVkIHdoZW4gY3JlYXRpbmcgdGhlIGVnbGltYWdlLgoJICBJIGFsc28gc2VlIHNvbWUgY2FzZXMgd2hlcmUgaXQgZmFpbHMgdG8gdXBsb2FkIGFuIGVnbGltYWdlIHdoZW4KCSAgZ2xUZXhJbWFnZTJEIGlzIGNhbGxlZCBvbiB0aGUgdGFyZ2V0LgoKMjAxNC0wNS0wNiAxMTo1MTozMSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBnbDogYWxsb3cgdG8gYXZvaWQgY2FsbGluZyBnbFRleEltYWdlMkQodywgaCwgTlVMTCkgd2hlbiBnZW5lcmF0aW5nIGEgdGV4dHVyZQoJICBKdXN0IHBhc3MgMCBhcyB3aWR0aCBvciBoZWlnaHQgdG8gZ3N0X2dsX2NvbnRleHRfZ2VuX3RleHR1cmUuCgoyMDE0LTA1LTA2IDExOjI3OjQ3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSAgZ2w6IG5vIG5lZWQgdG8gaW5pdGlhbGl6ZSBhIGZyYW1lIGJ1ZmZlciBvYmplY3QgdG8gdXBsb2FkIGFuIGVnbGltYWdlCgkgIEZpeCBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NTg4CgoyMDE0LTA1LTA2IDExOjIxOjU2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2VtZW1vcnkuYzoKCSAgZ2w6IHVzZSBHU1RfQ0FUX0VSUk9SIGluc3RlYWQgb2YgR1NUX0VSUk9SX09CSkVDVAoJICBJdCBmaXhlcyBzZWdhdWx0IHdoZW4gR1NUX0RFQlVHIGlzIGF0IGxlYXN0IGxldmVsIDEgYW5kIGVnbENyZWF0ZUltYWdlIGZhaWxzCgoyMDE0LTA1LTA2IDEwOjE0OjI2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbDogZGVsZXRlIHRleHR1cmUgdXNlZCB3aXRoIEdzdFZpZGVvR0xUZXh0dXJlVXBsb2FkTWV0YQoKMjAxNC0wNS0wNiAxNDoyMzozNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2w6IHVzZSBnc3RfZ2xfY29udGV4dF9nZW5fc2hhZGVyIGhlbHBlciBpbnN0ZWFkIG9mIGR1cGxpY2F0aW5nIGNvZGUKCjIwMTQtMDUtMDYgMDk6NTU6MDUgLTA0MDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBwbm1lbmM6IHJlbW92ZSBlbXB0eSBsaW5lCgkgIFJlbW92ZSB0cmFpbGluZyBlbXB0eSBsaW5lIGZyb20gY29tbWl0IGJmZGM1NDM5NTIzOGMwNGZjNmU1YjUxODgwYzJkNzA2ZjMzZTkwMTEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTYxNAoKMjAxMy0xMS0yMCAxMjoxNjoxNyArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJICBtcGVndHNtdXg6IFJlbW92ZSB1bnVzZWQgZGF0YSBpbiBUc011eFNlY3Rpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTY4NQoKMjAxNC0wNS0wNiAyMToxNzo1OSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IHJlZW5hYmxlIGNhbWVyYWJpbiBlbGVtZW50IHRlc3QKCjIwMTQtMDUtMDYgMTY6Mzk6MDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGdsL2Rpc3BsYXk6IGNsZWFuIHVwIHByZSBnc3RnbGNvbnRleHQgYXBpIGFuZCBzdHJ1Y3QgZmllbGRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk1NTEKCjIwMTQtMDUtMDYgMTc6Mjc6MTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIGdsL2Rpc3BsYXk6IGFkZCBnZXRfaGFuZGxlX3R5cGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTU1MQoKMjAxNC0wNS0wNiAxNzowODoxOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsL2Rpc3BsYXk6IGF2b2lkIG9wZW5pbmcgdGhlIFgxMSBkaXNwbGF5IG9uIHN5c3RlbXMgd2l0aCBDb2NvYSAoT1MgWCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTU1MQoKMjAxNC0wNS0wNiAxNjozOTo1NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2wvd2luZG93OiBmaXggc3RyaW5nIGxlbmd0aCBjaGVjayBmb3IgZWFnbAoKMjAxNC0wNS0wNiAxNjozMToyOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsL2Rpc3BsYXk6IGNoZWNrIHRoZSBjb3JyZWN0IGVudiB2YXJpYWJsZSBmb3IgY2hvb3NpbmcgYW4gZWdsIGRpc3BsYXkKCSAgR1NUX0dMX1dJTkRPVyBpcyB1c2VkIGZvciB3aW5kb3cgc3lzdGVtIHNwZWNpZmljIGNob2ljZXMuCgkgIEFuIEVHTERpc3BsYXkgY2FuIGJlIGNyZWF0ZWQgZnJvbSB3aW5kb3cgc3lzdGVtcyB3aXRoIGVnbCBzdXBwb3J0IGJ5IHVzaW5nCgkgIGVnbEdldERpc3BsYXkoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTU1MQoKMjAxNC0wNS0wNiAxMjo1NjoyNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSAgZ2wvY29jb2E6IFVzZSBPQkpDRkxBR1Mgd2hlcmUgbmVlZGVkCgkgIFNob3VsZCBmaXggdXNhZ2Ugb2YgYy1jb21waWxlci1vbmx5IGZsYWdzIHdpdGggYW4gb2JqZWN0aXZlLWMgY29tcGlsZXIKCjIwMTQtMDUtMDYgMDk6NDg6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBwbm1lbmM6IGZpeCBmbG93IHJldHVybiBhbmQgYnVmZmVyIGxlYWsgaW4gbm90LW5lZ290aWF0ZWQgY2FzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NjE0CgoyMDE0LTA1LTA2IDA5OjQwOjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IGFkZCBuZXcgdnA4cGFyc2VyLXRlc3QgYmluYXJ5IHRvIC5naXRpZ25vcmUKCjIwMTQtMDUtMDUgMTc6MjA6NDUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IERvbid0IHJlc2V0IHN0cmVhbSBpZiB0aGUga2V5IGhhc24ndCBjaGFuZ2VkCgoyMDE0LTA1LTA1IDE3OjAwOjAyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmg6CgkgIHNydHBkZWM6IEFkZCAicmVtb3ZlLWtleSIgYWN0aW9uIHNpZ25hbCB0byByZW1vdmUgYSBzaW5nbGUga2V5CgkgIFJlbW92aW5nIGFsbCB0aGUga2V5cyBjYW4gYmUgYSBwcm9ibGVtIGFzIGl0IGFsc28gcmVzZXRzIHRoZSB2YXJpb3VzCgkgIGNvdW50ZXJzLCBzbyBpbnN0ZWFkIGFkZCBhbiBvcHRpb24gdG8gcmVtb3ZlIGEgc2luZ2xlIGtleS4KCjIwMTQtMDUtMDUgMjI6MjU6MDggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHBlbmM6IFVzZSAldSBpbiB0ZW1wbGF0ZXMgdG8gbWF0Y2ggcnRwYmluCgoyMDE0LTA1LTA2IDAwOjExOjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBSZW1vdmUgdW51c2VkIGZpZWxkCgoyMDE0LTA1LTA2IDA5OjIzOjEzICswNTMwICBTYW5qYXkgTk0gPHNhbmpheS5ubUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkgIEZpeCBmb3Igbm90IGNoZWNraW5nIHplcm8gd2lkdGggYW5kIGhlaWdodAoJICBTaWduZWQtb2ZmLWJ5OiBTYW5qYXkgTk0gPHNhbmpheS5ubUBzYW1zdW5nLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTYxNAoKMjAxNC0wNS0wNSAxMToxMzowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBPbmx5IHNldCB0aGUgc2VnbWVudCBwb3NpdGlvbiBpZiB0aGVyZSBpcyBhIHRpbWVzdGFtcAoJICBPbmx5IHRoZSBmaXJzdCBidWZmZXIgb2YgYSBmcmFnbWVudCBoYXMgaXRzIHRpbWVzdGFtcCBzZXQsIHNvIG9ubHkKCSAgdXBkYXRlIHRoZSBzZWdtZW50LnBvc2l0aW9uIHdoZW4gcHVzaGluZyB0aG9zZSBidWZmZXJzIHRvIGF2b2lkCgkgIGhhdmluZyBHU1RfQ0xPQ0tfVElNRV9OT05FIHNldCB0byB0aGUgcG9zaXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTM2NAoKMjAxNC0wNS0wNSAxMjozMDozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVc2UgdGhlIHNhbWUgaW5jbHVkZXMgZm9yIEdMIHRoYXQgd2Ugd291bGQgdXNlIGxhdGVyIGluIHRoZSBjb2RlIGZvciBjaGVja2luZyBpZiBHTEVTMiBhbmQgT3BlbkdMIGhlYWRlcnMgY2FuIGJvdGggYmUgaW5jbHVkZWQKCjIwMTQtMDUtMDUgMjA6MDY6MjkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnbDogY2hlY2sgaWYgd2UgY2FuIGluY2x1ZGUgYm90aCBHTCBhbmQgR0xFUzIgaGVhZGVycyBhdCB0aGUgc2FtZSB0aW1lCgkgIElmIHdlIGNhbm5vdCwgdGhlbiBkZWZhdWx0IHRvIEdMIG92ZXIgR0xFUzIgdW5sZXNzIEdMRVMyIGlzIHJlcXVpcmVkLgoKMjAxNC0wNS0wNSAwOTo0NjowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFNldCBDYWNoZS1Db250cm9sIGhlYWRlciBhY2NvcmRpbmcgdG8gdGhlIGNhY2hpbmcgcmVxdWlyZW1lbnRzIG9mIHRoZSBwbGF5bGlzdAoKMjAxNC0wNS0wNSAwOTozODoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IFVwZGF0ZSBmb3IgdXJpIGRvd25sb2FkZXIgQVBJIGNoYW5nZXMKCjIwMTQtMDUtMDUgMDk6Mzc6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBVcGRhdGUgZm9yIHVyaSBkb3dubG9hZGVyIEFQSSBjaGFuZ2VzCgoyMDE0LTA1LTA1IDA5OjM2OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmg6CgkgIHVyaWRvd25sb2FkZXI6IEFkZCBwYXJhbWV0ZXIgdG8gZGlzYWxsb3cgY2FjaGluZyBhcyByZXF1aXJlZCBieSBITFMKCjIwMTQtMDUtMDUgMDk6MzQ6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsczogU3RvcmUgYWxsb3djYWNoZSBwbGF5bGlzdCBmaWVsZCBpbiBhIGJvb2xlYW4KCjIwMTQtMDUtMDQgMjI6MjI6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXNlIHRoZSBzYW1lICNpbmNsdWRlcyBmb3IgY2hlY2tpbmcgR0wgdHlwZXMgYXMgbGF0ZXIgaW4gdGhlIGNvZGUKCjIwMTQtMDUtMDMgMjE6Mzg6NDIgLTA0MDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBnbC9jbHV0dGVyOiBzYWZlciBjaGVjayBmb3IgY29nbCB2ZXJzaW9uCgkgIFVzZSBDT0dMX1ZFUlNJT05fRU5DT0RFIHRvIGNoZWNrIGZvciB0aGUgbWluaW11bSByZXF1aXJlZCBhbmQgbWF4aW11bSBhbGxvd2VkCgkgIGNvZ2wgdmVyc2lvbi4gSW4gY2VydGFpbiBzaXR1YXRpb25zIGp1c3QgdXNpbmcgdGhlIENPR0xfVkVSU0lPTl8qIG1hY3JvIG5hbWUgY2FuCgkgIGdpdmUgeW91IHRoZSBmb2xsb3dpbmcgZXJyb3I6CgkgIGVycm9yICJDT0dMX1ZFUlNJT05fTUFYX0FMTE9XRUQgbXVzdCBiZSA+PSBDT0dMX1ZFUlNJT05fTUlOX1JFUVVJUkVEIgoKMjAxNC0wNS0wMyAyMTowNToxOSAtMDQwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJleXV2L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2RvdWJsZWN1YmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvcmVjb3JkZ3JhcGhpYy9tYWluLmNwcDoKCSAgZ2wvZXhhbXBsZXMvZ2VuZXJpYzogcmVtb3ZlIHRyYWlsaW5nIHdoaXRlc3BhY2VzCgoyMDE0LTA1LTAzIDIwOjQ4OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjMuMSA9PT0KCjIwMTQtMDUtMDMgMTg6MTY6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXJvcmMtZGlzdC5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMtZGlzdC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVkaWVmZmVjdHNvcmMtZGlzdC5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkqIHdpbjMyL2NvbW1vbi9saWJnc3Rjb2RlY3BhcnNlcnMuZGVmOgoJICBSZWxlYXNlIDEuMy4xCgoyMDE0LTA1LTAzIDE4OjE2OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTQtMDUtMDMgMTk6NDU6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jbHV0dGVyL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogRml4IENGTEFHUyBpbiBjbHV0dGVyIEdMIGV4YW1wbGVzCgoyMDE0LTA1LTAzIDE5OjQyOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvTWFrZWZpbGUuYW06CgkgIGV4YW1wbGVzOiBBZGQgYWxsIGdsIHN1YmRpcnMgdG8gRElTVF9TVUJESVJTIHRvIGZpeCB0aGUgYnVpbGQKCjIwMTQtMDUtMDMgMTc6MjQ6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTQtMDUtMDMgMTM6MTI6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9tZmMvTWFrZWZpbGUuYW06CgkqIHN5cy9tZmMvZmltYy9maW1jLmM6CgkqIHN5cy9tZmMvZmltYy9maW1jLmg6CgkqIHN5cy9tZmMvZ3N0bWZjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmg6CgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5oOgoJICBtZmM6IFJlbW92ZSBtZmMgcGx1Z2luLCBpdCBpcyBvYnNvbGV0ZWQgYnkgdGhlIHY0bDJ2aWRlb2RlYyBlbGVtZW50IGZyb20gZ3N0LXBsdWdpbnMtZ29vZAoKMjAxNC0wNS0wMyAxMjowMjoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IFVzZSBjb21wbGV0ZSBjYXBzIGZvciBzZXR0aW5nIHVwIHRoZSBzdHJlYW1zIGluIHRoZSB0ZXN0CgoyMDE0LTA1LTAzIDEwOjE1OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiY2IxNTE4IHRvIDIxMWZhNWYKCjIwMTQtMDMtMTkgMDk6MjI6MDggKzAxMDAgIFBlciB4IEpvaGFuc3NvbiA8cGVyeGpvaEBheGlzLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHdhdGNoZG9nLmM6CgkgIHdhdGNoZG9nOiBBZGQgaGFuZGxpbmcgb2YgUEFVU0VEIHN0YXRlCgkgIEFsc28gYWxsb3cgZGlzYWJsaW5nIHRoZSB0aW1lb3V0IGJ5IHNldHRpbmcgaXQgdG8gMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjE1NgoKMjAxNC0wNS0wMiAxNzoyNzo1NiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5oOgoJICBzcnRwZW5jOiBBZGQgY29uZmlnIGZvciB0aGUgcmVwbGF5IHdpbmRvdyBzaXplCgoyMDE0LTA1LTAyIDE3OjI0OjQ3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5oOgoJICBzcnRwZW5jOiBSZW1vdmUgdW51c2VkIG9iamVjdCBtZW1iZXJzCgoyMDE0LTA1LTAyIDE3OjE5OjIxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiBSZW1vdmUgdXNlbGVzcyBzdHJ1Y3R1cmUKCSAgUmVtb3ZlIG5vdyB1c2VsZXNzIHN0cnVjdHVyZQoKMjAxNC0wNS0wMiAxNzoxNDoxNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogUmVtb3ZlIHNzcmMgcGFyc2luZyBmcm9tIHN0cmVhbQoJICBJdCdzIG5vIGxvbmdlciB1c2VkCgoyMDE0LTA1LTAyIDE3OjEzOjU0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiBSZW1vdmUgU1NSQyBmcm9tIHNpZ25hbCwgaXQncyBtZWFuaW5nbGVzcwoKMjAxNC0wNS0wMiAxNzowNzoyMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5oOgoJICBzcnRwZW5jOiBTZXQgdGhlIFNSVFAga2V5IGFzIGEgc2hhcmVkIGtleSBmb3IgYWxsIFNTUkNzCgkgIFRoaXMgaXMgYWxyZWFkeSBob3cgaXQgd2FzIHVzZWQuCgoyMDE0LTA1LTAyIDE0OjIwOjU4ICswMjAwICBCbGFrZSBUcmVncmUgPGJsYWtlLnRyZWdyZUBnbWFpbC5jb20+CgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICByZmJzcmM6IFNlbmQgc3RyZWFtLXN0YXJ0IGV2ZW50IGluIHRoZSBiZWdpbm5pbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjgwMgoKMjAxNC0wNS0wMiAxMDo0NDo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFVwZGF0ZSBmb3IgVVJJIGRvd25sb2FkZXIgQVBJIGNoYW5nZXMKCSAgQW5kIG1ha2Ugc3VyZSB0byBzZXQgcmVmcmVzaD1UUlVFIHdoZW4gdXBkYXRpbmcgdGhlIHBsYXlsaXN0LgoKMjAxNC0wNS0wMiAxMDo0MzowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IFVwZGF0ZSBmb3IgVVJJIGRvd25sb2FkZXIgQVBJIGNoYW5nZXMKCSAgQW5kIGluY2x1ZGUgdGhlIG1hbmlmZXN0IGZpbGUgYXMgcmVmZXJlciBpbiByZXF1ZXN0cywgYW5kIG1ha2Ugc3VyZQoJICB0byBzZXQgcmVmcmVzaD1UUlVFIHdoZW4gdXBkYXRpbmcgdGhlIG1hbmlmZXN0LgoKMjAxNC0wNS0wMiAxMDozOToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IFVwZGF0ZSBmb3IgVVJJIGRvd25sb2FkZXIgQVBJIGNoYW5nZXMKCSAgQW5kIGluY2x1ZGUgdGhlIE1QRCBmaWxlIGFzIHJlZmVyZXIgaW4gcmVxdWVzdHMsIGFuZCBtYWtlIHN1cmUKCSAgdG8gc2V0IHJlZnJlc2g9VFJVRSB3aGVuIHVwZGF0aW5nIHRoZSBNUEQuCgoyMDE0LTA1LTAyIDEwOjM2OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmg6CgkgIHVyaWRvd25sb2FkZXI6IEFkZCByZWZyZXNoIHBhcmFtZXRlciB0byBoaW50IGNhY2hlcyB0aGF0IHRoZXkgc2hvdWxkIGNoZWNrIGlmIHRoZXkncmUgdXAgdG8gZGF0ZQoKMjAxNC0wNS0wMiAxNTo1Njo1OSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsOiB1c2UgdGhlIGJ1ZmZlcnBvb2wncyB1cGxvYWQgd2hlbiBhdmFpbGFibGUKCSAgQXZvaWRzIGR1cGxpY2F0aW5nIEdMIHJlc291cmNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4ODcyCgoyMDE0LTA1LTAyIDA1OjU3OjAwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbDogc2hvdyBpbnRlcm5hbCBjb2NvYSB3aW5kb3cgb24gdG9wIG9mIG90aGVycwoJICBVc2VmdWwgd2hlbiB5b3VyIE9TWCB0ZXJtaW5hbCBpcyBmdWxsc2NyZWVuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgxMjcKCjIwMTQtMDUtMDIgMDU6NTE6MzYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvY29jb2EtdmlkZW9vdmVybGF5Lm06CgkgIGdsOiBwYXNzIE5TVmlldyBpbnN0ZWFkIG9mIE5TV2luZG93IGluIGNvY29hLXZpZGVvb3ZlcmxheSBleGFtcGxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0NTEKCjIwMTQtMDUtMDIgMDU6NTA6MTggKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvY29jb2EtdmlkZW9vdmVybGF5Lm06CgkgIGdsOiBhZGQgY29weXJpZ2h0IHRvIGNvY29hIGV4YW1wbGUKCjIwMTQtMDUtMDIgMDU6NDY6MTggKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvY29jb2EtdmlkZW9vdmVybGF5Lm06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL3ZpZGVvb3ZlcmxheS8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS92aWRlb292ZXJsYXkvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL3ZpZGVvb3ZlcmxheS9tYWluLm06CgkgIGdsOiByZW5hbWUgY29jb2EgZXhhbXBsZSBhbmQgbW92ZSBpdCB0byBpdHMgcGFyZW50IGRpcmVjdG9yeQoKMjAxNC0wNS0wMiAwNToyOTo0MSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS9SRUFETUU6CgkgIGdsOiByZW1vdmUgdW51c2VmdWwgUkVBRE1FIGZvciBjb2NvYSBleGFtcGxlCgoyMDE0LTA1LTAxIDE2OjA3OjA1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5oOgoJICBnbC9wb29sOiBpbml0IHRoZSB1cGxvYWQgb2JqZWN0IG9uIHN0YXJ0CgkgIFRoZW9yZXRpY2FsbHksIHNldF9jb25maWcgY291bGQgYmUgY2FsbGVkIG11bHRpcGxlIHRpbWVzCgoyMDE0LTA1LTAxIDE5OjE2OjM1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBPbmx5IGNsZWFyIHN0cmVhbXMgaWYgdGhleSBoYXZlIGJlZW4gY3JlYXRlZAoKMjAxNC0wNS0wMSAxOToxMDo0MyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogVXNlIG9iamVjdCBkZWJ1ZwoKMjAxNC0wNS0wMSAxNTo1OToyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEFsd2F5cyBzdWNjZWVkIHRoZSBMQVRFTkNZIGV2ZW50CgkgIFVwc3RyZWFtIGFuZCBvdXIgaW50ZXJuYWwgc291cmNlIGlzIGlycmVsZXZhbnQgZm9yIHRoZSBsYXRlbmN5CgkgIGFuZCB3ZSBkb24ndCB3YW50IHRoZSBMQVRFTkNZIGV2ZW50IHRvIGV2ZXIgZmFpbC4KCjIwMTQtMDUtMDEgMTU6NTY6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBSZXNldCB0aGUgbGFzdCBmbG93IHJldHVybiBiZWZvcmUgcmVzdGFydGluZyB0aGUgaW50ZXJuYWwgc291cmNlCgkgIE90aGVyd2lzZSB3ZSB3aWxsIG5ldmVyIHJlY292ZXIgZnJvbSBwcmV2aW91cyBlcnJvcnMsIGFuZCBlc3BlY2lhbGx5CgkgIHdpbGwgbmV2ZXIgc3RhcnQgYWdhaW4gYWZ0ZXIgYSBmbHVzaGluZyBzZWVrIGlmIGRvd25zdHJlYW0gcmV0dXJuZWQKCSAgR1NUX0ZMT1dfRkxVU0hJTkcgdG8gdXMuCgoyMDE0LTA1LTAxIDE1OjI5OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogT25seSBzZXQgUFRTIG9uIHRoZSBmaXJzdCBidWZmZXIgb2YgYSBmcmFnbWVudCBpbnN0ZWFkIG9mIHNldHRpbmcgdGhlIHNhbWUgb24gYWxsIG9mIHRoZW0KCjIwMTQtMDQtMzAgMTc6NTk6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBBbHdheXMgZmx1c2ggdGhlIGludGVybmFsIHByb3h5IHBhZHMgYmVmb3JlIGRvd25sb2FkaW5nCgkgIGhsc2RlbXV4IGNhbid0IHJlbHkgb24gdGhlIHNvdXJjZSB0byBwdXNoIGZsdXNoZXMgb24gYSBzZWVrIG9uIHJlYWR5CgkgIGFzIHRoYXQgbWlnaHQgbm90IG1ha2Ugc2Vuc2UuIFNvIGFsd2F5cyByZXNvcnQgdG8gZmx1c2hpbmcgdGhlCgkgIGludGVybmFsIHByb3h5IHBhZHMgYnkgcHVzaGluZyBmbHVzaCBldmVudHMgZnJvbSB0aGUgc291cmNlJ3Mgc3JjIHBhZC4KCSAgQWxzbyBhcyB0aGUgc2Vla2luZyBpcyBub3QgcmVxdWlyZWQgYW55bW9yZSwgb25seSBzZWVrIGlmIHRoZXJlIGlzCgkgIHJlYWxseSBhIGJ5dGUgcmFuZ2UgdG8gYmUgdXNlZC4gQW5kIHN0b3JlIGEgcmVmIHRvIHRoZSBzb3VyY2UncwoJICBzcmMgcGFkIHRvIGF2b2lkIGRvaW5nIGdldF9zdGF0aWNfcGFkIGZvciBldmVyeSBmcmFnbWVudC4KCjIwMTQtMDUtMDEgMTQ6MzY6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJICBnbDogVHJ5IGhhcmRlciB0byBsb2FkIHN5bWJvbHMgZnJvbSB0aGUgY29ycmVjdCBwbGFjZQoJICBUaGlzIGNvbW1pdCBtYWtlcyB0aGUgbG9hZGluZyBvZiB0aGUgR01vZHVsZXMgdGhyZWFkc2FmZSwgYW5kCgkgIGFsd2F5cyBmaXJzdCB0cmllcyB0byBsb2FkIHRoZSBzeW1ib2wgZm9yIHRoZSBHTCBsaWJyYXJ5IHRoYXQKCSAgaXMgc2VsZWN0ZWQgZm9yIHRoZSBjdXJyZW50IGNvbnRleHQuIE9ubHkgdGhlbiBpdCBmYWxscyBiYWNrCgkgIHRvIGxvb2tpbmcgaW50byB0aGUgY3VycmVudCBtb2R1bGUgKE5VTEwpLCBhbmQgb25seSBhcyBhIGxhc3QKCSAgcmVzb3J0IHRoZSBjb250ZXh0IHNwZWNpZmljIGZ1bmN0aW9uIChlLmcuIGVnbEdldFByb2NBZGRyZXNzKCkpCgkgIGlzIGNhbGxlZC4KCSAgQWxzbyBhZGQgY29uZmlndXJlIHBhcmFtZXRlcnMgdG8gc2VsZWN0IHRoZSBuYW1lcyBvZiB0aGUgbGlicmFyeQoJICBtb2R1bGVzIGluc3RlYWQgb2YgdXNpbmcgdGhlIGRlZmF1bHRzLCBhbmQgbGV0IHRoZSBkZWZhdWx0cyBiZQoJICBpbmRlcGVuZGVudCBvZiB0aGUgR19NT0RVTEVfU1VGRklYLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NzUzCgoyMDE0LTA1LTAxIDE0OjExOjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSAgZ2xjb2xvcnNjYWxlOiBmaXggb3BlcmF0aW9uIHdpdGggZHVhbCBHTCwgR0xFUzIgbGliZ3N0Z2wKCjIwMTQtMDUtMDEgMTM6NTc6MTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL21lbTogaW1wbGVtZW50IHRleHR1cmUgY29weWluZyBiZXR3ZWVuIGZvcm1hdHMgd2l0aCBzdHJpZGVzIHByb3Blcmx5CgkgIFByZXZpb3VzbHksIHdlIHVzZWQgdGhlIHdpZHRoIHRvIGRldGVybWluZSB0aGUgYW1vdW50IG9mIGRhdGEgdG8gYmUKCSAgY29waWVkIHVzaW5nIHBib3MuICBUaGlzLCBtYWtlcyBpdCBhbGxvY2F0ZSBlbm91Z2ggZGF0YSBmb3IgdGhlCgkgIHRoZSBzdHJpZGVzIGFzIHdlbGwuCgoyMDE0LTA1LTAxIDEyOjUxOjA2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJICBnbC9tZW06IHBhZCB0aGUgcHVibGljIHN0cnVjdAoKMjAxNC0wNC0zMCAxODozNzoyNyArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbDogbm8gbmVlZCB0byBwcm92aWRlIGZ1bGwgbGliIHBhdGggdG8gbG9hZCBzeW1ib2xzCgkgIC0gTWFrZSBnc3RnbCB3b3JrIG9uIE1hbGkKCSAgLSBLZWVwIGl0IHdvcmsgb24gUlBJCgkgIC0gZmFsbGJhY2sgdG8gTlVMTCBuYW1lIG1vZHVsZSBpZiBmYWlscyB3aXRoIHVzdWFsIGxpYiBuYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg3NTMKCjIwMTQtMDQtMzAgMTA6MDU6MTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJICBrYXRlOiBhdm9pZCByZWFkIGJ1ZmZlciBvdmVyZmxvdyBpbiBjcmFmdGVkIHN0cmVhbQoJICBDb3Zlcml0eSAxMjA4Nzc3CgoyMDE0LTA0LTMwIDE3OjMwOjA2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5oOgoJICBnbGNvbG9yc2NhbGU6IHVzZSBhIHNoYWRlciBvbiBHTEVTdjIKCSAgT3RoZXJ3aXNlIHlvdSBvbmx5IHNlZSBibGFjayBmcmFtZXMKCSAgRml4IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg5NDcKCjIwMTQtMDQtMzAgMTU6MzA6NTMgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiB1c2UgbmV3IGhlbHBlciBmdW5jdGlvbiB0byBhdm9pZCBkdXBsaWNhdGluZyBkZWZhdWx0IHNoYWRlciB0ZXh0CgoyMDE0LTA0LTMwIDE1OjI4OjM1ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJICBnbGVmZmVjdHM6IHVzZSBuZXcgaGVscGVyIGZ1bmN0aW9ucyB0byBhdm9pZCBkdXBsaWNhdGluZyB0aGUgc2FtZSB2ZXJ0ZXggc2hhZGVyIHRleHQKCSAgQW5kIGFsc28gdXNlIHRoZSBkZWZhdWx0IGZyYWdtZW50IHNoYWRlciB0ZXh0IGZvciB0aGUgaWRlbnRpdHkgZWZmZWN0CgoyMDE0LTA0LTMwIDE1OjIwOjIzICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSAgZ2w6IGFkZCBjb252ZW5pZW50IGZ1bmN0aW9ucyB0byBzZXR1cCBkZWZhdWx0IHZlcnRleCBhbmQgZnJhZ21lbnQgc2hhZGVycwoJICBNb3N0IG9mIG91ciAyRCBmaWx0ZXJzIHVzZSB0aGUgc2FtZSBzaW1wbGUgdmVydGV4IHNoYWRlci4KCSAgQWxzbyBkZWZpbmUgdGhlIGRlZmF1bHQgZnJhZ21lbnQgc2hhZGVyIGFzIHRoZSBpZGVudGl0eS4KCSAgQXZvaWQgZHVwbGljYXRpbmcgdGhlIHNhbWUgdmVydGV4IGFuZCBmcmFnbWVudCBzaGFkZXIgdGV4dC4KCjIwMTQtMDQtMzAgMDg6NTM6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBPbmx5IHVucmVmIHBlbmRpbmcgYnVmZmVyIGlmIHRoZXJlIGlzIG9uZQoKMjAxNC0wNC0yOSAxODoxNTowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEbyBub3QgcHVzaCBsYXN0IGJ1ZmZlciBhZnRlciBlcnJvcgoJICBJbiBkZWNyeXB0aW9uIHNjZW5hcmlvLCBhIGJ1ZmZlciBpcyBhbHdheXMgc3RvcmVkIHRvIGJlIHNlbnQgbGF0ZXIKCSAgdG8gd2FpdCBmb3IgbW9yZSBkYXRhIG9yIEVPUyB0byBiZSBhYmxlIHRvIHN0cmlwIHRoZSBmaW5hbCBieXRlcwoJICBpZiByZXF1ZXN0ZWQuIEluIGNhc2UgYW4gZXJyb3IgaGFwZW5uZWQgdGhpcyBidWZmZXIgY2FuIGJlIGlnbm9yZWQKCSAgYW5kIG5vdCBwdXNoZWQgZG93bnN0cmVhbS4KCjIwMTQtMDQtMjkgMTg6MTQ6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZmx1c2ggdGhlIGFkYXB0ZXIgaW4gdGhlIGVuZCBvZiBhIGZyYWdtZW50CgkgIEluIGNhc2Ugb2YgZXJyb3IgdGhlcmUgbWlnaHQgYmUgc29tZSBkYXRhIGxlZnQgaW4gdGhlCgkgIGFkYXB0ZXIgd2hlbiBFT1MgaXMgcmVjZWl2ZWQuIENsZWFyIHRoZSBhZGFwdGVyIHRvIGJlCgkgIGFibGUgdG8gcmVzdGFydCBhZ2FpbiBsYXRlciBpZiByZXF1ZXN0ZWQuCgoyMDE0LTA0LTI5IDE4OjE0OjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGhhbmRsZSBtb3JlIGVycm9yIGNhc2VzCgkgIEhhbmRsZSBzb21lIG1vcmUgZXJyb3IgY2FzZXM6CgkgIDEpIFdoZW4gdGhlIHNvdXJjZSBlbGVtZW50IGZhaWxzIHRvIGdvIHRvIHJlYWR5CgkgIDIpIFdoZW4gZGVjcnlwdGlvbiBmYWlscwoJICAzKSBXaGVuIHRoZXJlIGlzIG5vIHNvdXJjZSB0byBoYW5kbGUgYSBzcGVjaWZpYyBVUkkKCSAgNCkgV2hlbiB0aGUgVVJJIGlzIGludmFsaWQKCjIwMTQtMDQtMjkgMTU6MTk6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBoYW5kbGUgZXJyb3JzIGZyb20gaW50ZXJuYWwgc291cmNlCgkgIFNldCB1cCBhIG1lc3NhZ2UgaGFuZGxpbmcgZnVuY3Rpb24gdG8gY2F0Y2ggZXJyb3JzIGZyb20gdGhlIGludGVybmFsCgkgIHNvdXJjZSBhbmQgc3RvcmUgdGhlIGxhc3QgcmV0dXJuIGNvZGUgdG8gaWRlbnRpZnkgZXJyb3Igc2l0dWF0aW9ucwoJICB3aGVuIHJldHVybmluZyBmcm9tIGEgZnJhZ21lbnQgZG93bmxvYWQuCgkgIEFsc28gbW92ZXMgdGhlIGR1cmF0aW9uIGluY3JlYXNlIHRvIGFmdGVyIHRoZSBkb3dubG9hZCB3aGVuIHdlCgkgIGtub3cgaWYgaXQgd2FzIHN1Y2Nlc3NmdWwgb3Igbm90CgoyMDE0LTA0LTI5IDE1OjE3OjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogSW1wcm92ZSBwYWQgc3dpdGNoaW5nIGNvbmRpdGlvbnMKCSAgV2hlbiB1c2luZyB0aGUgaW50ZXJuYWwgc291cmNlLCBobHNkZW11eCBkb2Vzbid0IGtub3cgdGhlIGNhcHMgb2YKCSAgdGhlIGlucHV0IGJlZm9yZSBhZGRpbmcgdGhlIHBhZCwgc28gcmVtb3ZlIHRoZSBhcmd1bWVudHMgdGhhdCB3b3VsZAoJICB1c2UgdGhhdCBhcyBpdCBpcyBhbHdheXMgTlVMTC4KCSAgQW5kIHVzZSBhbiBzcGVjaWZpYyBmbGFnIHRvIHNpZ25hbCB3aGVuIGEgcGFkIHN3aXRjaCBpcyByZXF1aXJlZC4KCSAgVXNpbmcgdGhlIGRpc2NvbnQgZmxhZyBpcyBhIGJhZCBpZGVhIG5vdyBiZWNhdXNlIHdoZW4gYSBmcmFnbWVudAoJICBkb3dubG9hZCBmYWlscyBpdCB3aWxsIGxlYWQgdG8gZXhwb3NpbmcgYSBwYWQgZ3JvdXAgd2l0aG91dCBhbnkKCSAgZGF0YSwgY2F1c2luZyBkZWNvZGViaW4gdG8gYWJvcnQuCgoyMDE0LTA0LTI4IDIwOjAxOjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHByb3Blcmx5IGZsdXNoIGRlY3J5cHRpb24gc3RhdHVzIG9uIHNlZWtzCgkgIEF2b2lkcyBtaXhpbmcgZGVjcnlwdGlvbiBvZiBkaWZmZXJlbnQgZnJhZ21lbnRzIHdoZW4gc2Vla2luZyBoYXBwZW5zCgkgIGFuZCBsZWFkaW5nIHRvIGJyb2tlbiBzdHJlYW0gb3V0cHV0LgoKMjAxNC0wNC0yOCAxOToxMDowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IFRyYWNrIGZyYWdtZW50cyBkdXJhdGlvbgoJICBXaGVuIHJlY2V2aW5nIEVPUyBmcm9tIHRoZSBpbnRlcm5hbCBzcmMsIGluY3JlYXNlIHRoZSBjdXJyZW50IHBvc2l0b24KCSAgYnkgdGhlIGZyYWdtZW50IGR1cmF0aW9uIHRvIGFsbG93IGNvcnJlY3QgcmVzdG9yaW5nIG9mIGRvd25sb2FkIHBvc2l0aW9uCgkgIGlmIHRoZSBiaXRyYXRlIGNoYW5nZXMKCjIwMTQtMDQtMjUgMTI6NTU6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogcHJvcGVybHkgc3RvcCB0YXNrcyBieSBzdG9wcGluZyBmcmFnbWVudCBkb3dubG9hZAoJICBJc3N1ZSBhIHNpZ25hbCB0byB0aGUgZnJhZ21lbnQgZG93bmxvYWQgY29uZCB0byBzdG9wCgkgIHRoZSB0YXNrIGVhcmxpZXIKCjIwMTQtMDQtMjUgMTA6NDA6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZGVjcnlwdCBiZWZvcmUgdHlwZWZpbmRpbmcKCSAgTWFrZSBzdXJlIHR5cGVmaW5kaW5nIGdldHMgdGhlIGRlY3J5cHRlZCBjb250ZW50IGluc3RlYWQgb2YKCSAgdHJ5aW5nIHRvIHR5cGVmaW5kIHRoZSBlbmNyeXB0ZWQgZGF0YS4KCjIwMTQtMDQtMjUgMTA6Mzk6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZml4IGRlY3J5cHRpb24gZnVuY3Rpb24gcmV0dXJuCgkgIENvcnJlY3RseSByZXR1cm4gdGhlIGRlY3J5cHRlZCBidWZmZXIgd2hlbiBpdCBzdWNjZWVkcyBhbmQKCSAgcmV0dXJuIE5VTEwgb3RoZXJ3aXNlCgoyMDE0LTA0LTIyIDIwOjE5OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGtlZXAgY29ubmVjdGlvbiBhbGl2ZSBiZXR3ZWVuIGRvd25sb2FkcwoJICBVc2UgdGhlIHNhbWUgcHJvcGVydGllcyBhcyB1cmlkb3dubG9hZGVyIHRvIGtlZXAgY29ubmVjdGlvbnMgYWxpdmUKCSAgYmV0d2VlbiBjb25zZWN1dGl2ZSBmcmFnbWVudHMgZG93bmxvYWRzLgoJICAxKSBzZXQga2VlcC1hbGl2ZSBwcm9wZXJ0eSB0byB0cnVlCgkgIDIpIGtlZXAgdGhlIGVsZW1lbnQgaW4gUkVBRFkgaW5zdGVhZCBvZiBpbiBOVUxMCgoyMDE0LTA0LTE2IDIwOjAyOjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGNyZWF0ZSBzb3VyY2VzIGZyb20gdXJpCgkgIEluc3RlYWQgb2YgdXNpbmcgYWx3YXlzIGFuIGh0dHAgc291cmNlLCBjcmVhdGUgaXQgZHluYW1pY2FsbHkgZnJvbQoJICB1cmkgd2hlbiBuZWVkZWQuIElmIG5vdCBuZWVkZWQganVzdCByZXBsYWNlIHRoZSBVUkkgb24gdGhlIGN1cnJlbnQKCSAgZWxlbWVudAoKMjAxNC0wNC0xNiAxODowNDowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkbyBub3QgdHJ5IHRvIHJ1biB0eXBlZmluZCBhZ2FpbiBpZiBjYXBzIGlzIHRoZSBzYW1lCgkgIEFsd2F5cyByZXNldCB0aGUgZG9fdHlwZWZpbmQgZmxhZyBpZiBobHMgZGlkIHR5cGVmaW5kIGJlY2F1c2UKCSAgdHJ5aW5nIGl0IG9uIG5vbi16ZXJvIG9mZnNldHMgZG9lc24ndCBtYWtlIHNlbnNlIGFuZCB3aWxsIGNhdXNlCgkgIGFzc2VydGlvbnMKCjIwMTQtMDQtMTYgMDY6MTI6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBlbmFibGUgZG93bmxvYWQgYml0cmF0ZSBtZWFzdXJlCgkgIE1lYXN1cmUgdGhlIGRvd25sb2FkIGJpdHJhdGUgdG8gYmUgYWJsZSB0byBzZWxlY3QKCSAgdGhlIGJlc3QgcGxheWxpc3QuCgkgIEFzIHRoZSBidWZmZXJzIGFyZSBkaXJlY3RseSBwdXNoZWQgZG93bnN0cmVhbSBhbmQgaXQKCSAgbWlnaHQgYmxvY2suIFRoZSB0aW1lIGlzIG9ubHkgbWVhc3VyZWQgZnJvbSB0aGUgZG93bmxvYWQKCSAgdW50aWwgdGhlIHBhZCBwdXNoIGFuZCBpdCBpcyBzdGFydGVkIGFnYWluIGFmdGVyIHRoZSBwdXNoCgkgIHJldHVybnMuCgoyMDE0LTA0LTA4IDE3OjMxOjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogcmUtZW5hYmxlIGRlY3J5cHRpb24gYWZ0ZXIgdXJpZG93bmxvYWRlciByZW1vdmFsCgkgIE5vdyB0aGUgZGVjcnlwdGlvbiBpcyBkb25lIGJ1ZmZlciBieSBidWZmZXIgaW5zdGVhZCBvZiBvbiB0aGUKCSAgd2hvbGUgZnJhZ21lbnQgYXQgb25jZS4gQXMgaXQgZXhwZWN0cyBtdWx0aXBsZXMgb2YgMTYgYnl0ZXMgYQoJICBHc3RBZGFwdGVyIHdhcyBhZGRlZCB0byBwcm9wZXJseSBjaHVuayB0aGUgYnVmZmVycy4KCSAgQWxzbyB0aGUgbGFzdCBidWZmZXIgbXVzdCBiZSByZXNpemVkIGRlcGVuZGluZyBvbiB0aGUgdmFsdWUgb2YgdGhlCgkgIGxhc3QgYnl0ZSBvZiB0aGUgZnJhZ21lbnQsIHNvIGhsc2RlbXV4IGFsd2F5cyBrZWVwcyBhIHBlbmRpbmcgYnVmZmVyCgkgIGFzIGl0IGRvZXNuJ3Qga25vdyBpZiBpdCBpcyB0aGUgbGFzdCBvbmUgeWV0CgoyMDE0LTA0LTA3IDEzOjU3OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogcmVwbGFjZSB1cmlkb3dubG9hZGVyIHdpdGggYSBHc3RFbGVtZW50CgkgIFRoZSBHc3RFbGVtZW50IGlzIGRpcmVjdGx5IGxpbmtlZCBpbnRvIGEgZ2hvc3QgcGFkIGFuZAoJICBpdHMgYnVmZmVycyBhcmUgcHVzaGVkIGFzIHJlY2VpdmVkIGRvd25zdHJlYW0uIFRoaXMgd2F5IHRoZQoJICBidWZmZXJzIGFyZSBzbWFsbCBlbm91Z2ggYW5kIG5vdCBhIHdob2xlIGZyYWdtZW50IHRoYXQgdXN1YWxseQoJICBjYXVzZXMgZXh0cmEgbGF0ZW5jeSBhbmQgbWFrZXMgYnVmZmVyaW5nIGhhcmRlcgoKMjAxNC0wNC0yOSAxOToyNDowOCArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIGdsOiBhZGQgbWlzc2luZyBHX0JFR0lOL0VORF9ERUNMUyBpbiB1dGlscyBoZWFkZXIKCjIwMTQtMDQtMjkgMTM6MjE6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogZ2w6IGFkZCBtaXNzaW5nIGVudHJ5IHRvIGNmbGFncyB0byBmaW5kIGdzdC9nbC9nbC5oCgkgIE90aGVyd2lzZSBidWlsZCBmYWlscwoKMjAxNC0wNC0yOSAxNjo0NDo1OSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9nc3RndGsuYzoKCSAgdGVzdHM6IGRyb3AgZGlyZWN0IGluY2x1ZGUKCSAgSXQgaXMgb25seSBhbGxvd2VkIHRvIGluY2x1ZGUgZ2RrL2dka3guaCBhbmQgdGhhdCB3aWxsIGJyaW5nIGFsbCB0aGUgeDExIHRoaW5ncy4KCjIwMTQtMDEtMDYgMjI6MTM6MjEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5jOgoJICBzbmRmaWxlOiBzZW5kIGEgdG9jIGZvciB0aGUgc2VnbWVudHMgaW4gdGhlIGF1ZGlvIGZpbGUKCjIwMTQtMDQtMjkgMTU6MDY6MDAgKzAwMDAgIEhhYWtvbiBTcG9yc2hlaW0gKGllZWkpIDxoYWFrb24uc3BvcnNoZWltQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogdW5yZWYvcmVwbGFjZSBmb3JjZV9rZXlfdW5pdF9ldmVudCBpbiBnc3RfaDI2NF9wYXJzZV9yZXNldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5MjAwCgoyMDE0LTA0LTI5IDIyOjE4OjE0ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9NYWtlZmlsZS5hbToKCSAgZ2wvc2RsIGV4YW1wbGU6IEZpeCB1bmluc3RhbGxlZCBidWlsZAoKMjAxNC0wNC0yMyAyMDoyOTo0NyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBnbDogUmVkdWNlIG5vaXN5IEluZm8gbGV2ZWwgb3V0cHV0IHRvIExPRwoKMjAxNC0wNC0yOSAxODozMjoyMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9zZGxzaGFyZS5jOgoJICBnbC9leGFtcGxlcy9zZGw6IHVwZGF0ZSBmb3IgdGhlIGxhdGVzdCBnc3RnbCBjaGFuZ2VzCgoyMDE0LTA0LTI5IDE2OjM4OjU1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jbHV0dGVyLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NsdXR0ZXIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmNicDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL1JFQURNRToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvdmlkZW9vdmVybGF5Ly5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL3ZpZGVvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvdmlkZW9vdmVybGF5L21haW4ubToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9SRUFETUU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZS8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZS9jdWJlLnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmV5dXYvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJleXV2L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmV5dXYvY3ViZXl1di52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvZG91YmxlY3ViZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL2RvdWJsZWN1YmUudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2RvdWJsZWN1YmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvZ2VuZXJpYy5zbG46CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvcmVjb3JkZ3JhcGhpYy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL3JlY29yZGdyYXBoaWMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvcmVjb3JkZ3JhcGhpYy9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9yZWNvcmRncmFwaGljL3JlY29yZGdyYXBoaWMudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9SRUFETUU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9maWx0ZXJub3ZpZGVvb3ZlcmxheS8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVybm92aWRlb292ZXJsYXkvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9maWx0ZXJub3ZpZGVvb3ZlcmxheS9maWx0ZXJub3ZpZGVvb3ZlcmxheS52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9maWx0ZXJub3ZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2ZpbHRlcnZpZGVvb3ZlcmxheS8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVydmlkZW9vdmVybGF5L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVydmlkZW9vdmVybGF5L2ZpbHRlcnZpZGVvb3ZlcmxheS52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9maWx0ZXJ2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9meHRlc3QvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2Z4dGVzdC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2Z4dGVzdC9meHRlc3QudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2dzdGd0ay5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3N0Z3RrLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9ndGsuc2xuOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3RrdmlkZW9vdmVybGF5Ly5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9ndGt2aWRlb292ZXJsYXkvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9ndGt2aWRlb292ZXJsYXkvZ3RrdmlkZW9vdmVybGF5LnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2d0a3ZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL3BpeGJ1ZmRyb3AvcGl4YnVmZHJvcC52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9zd2l0Y2h2aWRlb292ZXJsYXkvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL3N3aXRjaHZpZGVvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL3N3aXRjaHZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL3N3aXRjaHZpZGVvb3ZlcmxheS9zd2l0Y2h2aWRlb292ZXJsYXkudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvUkVBRE1FOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9nc3R0aHJlYWQuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9nc3R0aHJlYWQuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L21vdXNldmlkZW9vdmVybGF5LnByaToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvbW91c2V2aWRlb292ZXJsYXkucHJvOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9tb3VzZXZpZGVvb3ZlcmxheS5zbG46CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L21vdXNldmlkZW9vdmVybGF5LnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9waXBlbGluZS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9xcmVuZGVyZXIuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9xcmVuZGVyZXIuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L2dzdHRocmVhZC5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9nc3R0aHJlYWQuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcGlwZWxpbmUuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3FnbHJlbmRlcmVyLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3FnbHJlbmRlcmVyLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9xZ2x3aWRnZXR2aWRlb292ZXJsYXkucHJpOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcWdsd2lkZ2V0dmlkZW9vdmVybGF5LnBybzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3FnbHdpZGdldHZpZGVvb3ZlcmxheS5zbG46CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9xZ2x3aWRnZXR2aWRlb292ZXJsYXkudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL0FzeW5jUXVldWUuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9SRUFETUU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvY29jb2FfdXRpbHMubW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvZ2xjb250ZXh0aWQuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9nc3R0aHJlYWQuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL2dzdHRocmVhZC5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL21vY19nc3R0aHJlYWQuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL21vY19waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvbW9jX3FnbHJlbmRlcmVyLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcGlwZWxpbmUuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9xZ2xyZW5kZXJlci5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcWdscmVuZGVyZXIuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9xZ2x3dGV4dHVyZXNoYXJlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHd0ZXh0dXJlc2hhcmUucHJvOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC92aWRlb292ZXJsYXkvRGVidWcvdmlkZW9vdmVybGF5OgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC92aWRlb292ZXJsYXkvR2VuZXJhdGVkRmlsZXMvZGVidWcvbW9jX2dzdHRocmVhZC5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3ZpZGVvb3ZlcmxheS9HZW5lcmF0ZWRGaWxlcy9kZWJ1Zy9tb2NfcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC92aWRlb292ZXJsYXkvR2VuZXJhdGVkRmlsZXMvZGVidWcvbW9jX3FyZW5kZXJlci5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3ZpZGVvb3ZlcmxheS92aWRlb292ZXJsYXkuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC92aWRlb292ZXJsYXkvdmlkZW9vdmVybGF5LnByaToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvdmlkZW9vdmVybGF5L3ZpZGVvb3ZlcmxheS5zbG46CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3ZpZGVvb3ZlcmxheS92aWRlb292ZXJsYXkudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC92aWRlb292ZXJsYXkvdmlkZW92aWRlb292ZXJsYXkucHJvOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvc2RsLnNsbjoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL3NkbHNoYXJlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9zZGxzaGFyZS52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3N0Z3RrLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NkbC9zZGxzaGFyZS5jOgoJICBnbC9leGFtcGxlczogbW92ZSB0byAtYmFkCgkgIC0gZml4IGFsbCB0aGUgY29tcGlsZXIgZXJyb3JzCgkgIC0gZ2l2ZSB0aGVtIHRoZWlyIG93biBnbCBkaXJlY3RvcnkKCjIwMTQtMDQtMjggMTU6NTY6MDYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1lZ2wtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZWdsLnBjLmluOgoJICBlZ2w6IHJlbW92ZSBwYyBmaWxlcwoJICBGb3Jnb3QgdG8gZG8gdGhhdCBpbiAwOTExNmJmMTBkNTE1ZDUwYmRkMWU5YTIwMjc4YmU4MTZjYjc2MmFhOgoJICAiZWdsL2VnbGdsZXNzaW5rOiByZW1vdmUgc2luY2UgRUdMSW1hZ2UgYW5kIGlPUyBzdXBwb3J0IGhhdmUgYmVlbiBhZGRlZCBpbiBnbGltYWdlc2luayIKCjIwMTQtMDQtMjggMTU6NTI6NDEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1nbC11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1nbC5wYy5pbjoKCSAgZ2w6IGFwcGVuZCBHTF9MSUIgYW5kIEdMX0NGTEFHUyBpbiBwYyBmaWxlcwoKMjAxNC0wNC0yOCAxNTo0NzoyNyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBhcHBlbmQgRUdMX0xJQiB0byBHTF9MSUIKCjIwMTQtMDQtMjggMTU6MTU6MjAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2w6IHVzZSBnc3RfZ2xfcGxhdGZvcm1fZnJvbV9zdHJpbmcgYmVjYXVzZSB3ZSBzdXBwb3J0IGdsIHNoYXJlTGlzdCBvbiBhbGwgcGxhdGZvcm1zCgoyMDE0LTA0LTI4IDE1OjA3OjM0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogb25seSB3YXJuIHdoZW4gb3RoZXJfY29udGV4dCBhdHRyaWJ1dGUgaXMgc2V0CgkgIEZpeCBmYWxzZSBwb3NpdGl2ZQoKMjAxNC0wNC0yOCAxNDo1NDoyMSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2w6IGZpeCBzdHJpbmcgbGl0ZXJhbCB3YXJuaW5nCgkgIHdhcm5pbmc6IGZvcm1hdCBub3QgYSBzdHJpbmcgbGl0ZXJhbCwgYXJndW1lbnQgdHlwZXMgbm90IGNoZWNrZWQgWy1XZm9ybWF0LW5vbmxpdGVyYWxdCgoyMDE0LTA0LTI4IDEwOjEyOjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBVbnNldCByZWZlcmVyIGlmIG5vbmUgd2FzIHNwZWNpZmllZCBsYXRlciBvbgoKMjAxNC0wNC0yOCAwOTozMjo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogU2V0IFJlZmVyZXIgaW4gcmVxdWVzdHMgdG8gdGhlIHBsYXlsaXN0IFVSSQoKMjAxNC0wNC0yOCAwOToyMzozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5oOgoJICB1cmlkb3dubG9hZGVyOiBBZGQgQVBJIHRvIHNwZWNpZnkgdGhlIHJlZmVyZXIgb2YgYSByZXF1ZXN0CgoyMDE0LTA0LTI3IDIzOjI5OjQxICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggcGFyc2luZyBvZiBzbGljZSBncm91cHMgZm9yIG1hcCB0eXBlID0gMi4KCSAgV2hlbiBwYXJzaW5nIHNsaWNlIGdyb3VwcyBpbmZvcm1hdGlvbiBmb3Igc2xpY2VfZ3JvdXBfbWFwX3R5cGUgPSAyLCB3ZQoJICBzaG91bGQgb25seSBiZSByZWFkaW5nIHVwIHRvIG51bV9zbGljZV9ncm91cHNfbWludXMxIGdyb3VwcyBzaW5jZSB0aGVyZQoJICBpcyBhbHdheXMgYSAibGVmdG92ZXIiIHNsaWNlIGdyb3VwIGFuZCBhcyBtYW55ICJmb3JlZ3JvdW5kIiBzbGljZSBncm91cHMKCSAgYXMgbmVlZGVkLgoJICBUaGlzIGZpeGVzIHBhcnNpbmcgZm9yIFNWQ0JNVC01IGFuZCBTVkNCTVQtMTIgd2hlcmVieSB0aGUgYmFzZSBsYXllciB3b3VsZAoJICBoYXZlIGluY29ycmVjdGx5IGJlZW4gcGFyc2VkIHRvIGhhdmUgdXAgdG8gMzggcmVmZXJlbmNlIGZyYW1lcyBpbiBsaXN0MCwKCSAgd2hpY2ggaXMgbm90IHBvc3NpYmxlLgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA0LTI3IDA5OjI1OjUwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIGRlY2tsaW5rOiBEb24ndCBmYWlsIGlmIEhXIGRvZXMgbm90IGhhdmUgYWxsIGludGVyZmFjZXMKCSAgVGhpcyBwYXRjaCBjb21wbGV0ZXMgMWMxY2M3M2EzYjIzMDQ1NDY2Mzk3MTY1NjUxNTI5N2Y5ZWU4YmQ5Zi4gVGhlc2UKCSAgY2hhbmdlcyB3aGVyZSBhY2NpZGVudGFsbHkgcHVzaGVkIGFzIGEgc2VwYXJhdGUgcGF0Y2ggd2l0aCB3cm9uZyBjb21taXQKCSAgbWVzc2FnZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzMKCjIwMTQtMDQtMjcgMTM6MDk6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBSZXZlcnQgInk0bWRlYzogY2hlY2sgZm9yIFZJREVPIG1ldGEgaW5zdGVhZCBvZiBDUk9QIG1ldGEiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNjgzMDliZDIxNTkyYTk2ZGM4MjQxNzAyZjE3ZGVkNGU1ZjU0NWYzMy4KCSAgQ29tbWl0IG1lc3NhZ2UgYW5kIGZpbGVzIGNoYW5nZWQgZG8gbm90IG1hdGNoLgoKMjAxNC0wNC0yNyAwMDozNjozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYWFsYS9nc3RkYWFsYWRlYy5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3RzaW1wbGV2aWRlb21hcmsuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHNpbXBsZXZpZGVvbWFya2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkgIGRvY3M6IHJlbW92ZSBvdXRkYXRlZCBhbmQgcG9pbnRsZXNzICdMYXN0IHJldmlld2VkJyBsaW5lcyBmcm9tIGRvY3MKCSAgVGhleSBhcmUgdmVyeSBjb25mdXNpbmcgZm9yIHBlb3BsZSwgYW5kIG1vcmUgb2Z0ZW4gdGhhbiBub3QKCSAgYWxzbyBqdXN0IG5vdCB2ZXJ5IGFjY3VyYXRlLiBTZWVpbmcgJ2xhc3QgcmV2aWV3ZWQ6IDIwMDUnIGluCgkgIHlvdXIgZG9jcyBpcyBub3QgdmVyeSBjb25maWRlbmNlLWluc3BpcmluZy4gTGV0J3MganVzdCByZW1vdmUKCSAgdGhvc2UgY29tbWVudHMuCgoyMDE0LTA0LTI2IDA4OjA4OjU3ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggZGVyaXZhdGlvbiBvZiBkZWZhdWx0IHNjYWxpbmcgbGlzdHMuCgkgIFdoZW4gdXNlRGVmYXVsdFNjYWxpbmdNYXRyaXhGbGFnIGlzIGNvbXB1dGVkIHRvIGJlIDEgd2hpbGUgcGFyc2luZwoJICBzY2FsaW5nX2xpc3QoKSwgdGhlbiB0aGUgc2NhbGluZyBsaXN0IHNoYWxsIGJlIGluZmVycmVkIHRvIGJlIGVxdWFsCgkgIHRvIHRoZSBkZWZhdWx0IGxpc3QgKDcuNC4yLjEuMS4xKS4gVGhhdCBkZWZhdWx0IGxpc3QgaXMgcmVhbGx5IG9uZQoJICBvZiBEZWZhdWx0XzR4NF97SW50cmEsSW50ZXJ9IG9yIERlZmF1bHRfOHg4X3tJbnRyYSxJbnRlcn0gYW5kIG5vdAoJICBvbmUgZnJvbSBmYWxsLWJhY2sgcnVsZSBzZXRzIEEgb3IgQi4KCSAgVGhpcyBmaXhlcyBwYXJzaW5nIGZvciBGUkV4dDFfUGFuYXNvbmljX0QsIEZSRXh0Ml9QYW5hc29uaWNfQywKCSAgRlJFeHQzX1BhbmFzb25pY19FIGFuZCBGUkV4dDRfUGFuYXNvbmljX0IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ1MTgKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNC0xNiAwMTo1MDoxNiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZpbGVzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHRsc3NpbmsuYzoKCSAgY3VybCpzaW5rOiByZXBvcnQgZXJyb3JzIGZyb20gY3VybCB3aGVuIHNldHRpbmcgb3B0aW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4OTYwCgoyMDE0LTA0LTE1IDIzOjUzOjMyICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybGZpbGVzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc2Z0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkgIGN1cmwqc2luazogcG9zdCBlcnJvciBvbiBidXMgaW4gZWxlbWVudCwgbm90IHRyYW5zZmVyIHRocmVhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4OTYwCgoyMDE0LTA0LTIyIDIyOjI2OjMyICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc2luay5jOgoJICBjdXJsaHR0cHNpbms6IGFsbG93IGZvciB1bmNvbmRpdGlvbmFsbHkgZGlzYWJsaW5nIHByb3h5aW5nCgkgIFByZXZpb3VzbHkgaWYgdGhlIHByb3h5IHNlcnZlciBob3N0bmFtZSB3YXMgdGhlIGVtcHR5IHN0cmluZwoJICBjdXJsaHR0cHNpbmsgd291bGQgbmV2ZXIgZXZlbiBzZXQgdGhlIGxpYmN1cmwgb3B0aW9uLiBGb3IgbGliY3VybAoJICBob3dldmVyLCBoYXZpbmcgYSBwcm94eSBzZXJ2ZXIgaG9zdG5hbWUgYmUgdGhlIGVtcHR5IHN0cmluZyBtZWFucyB0aGF0CgkgIHByb3h5aW5nIHNob3VsZCBiZSBkaXNhYmxlZCBldmVuIGlmIGVudmlyb25tZW50IHZhcmlhYmxlcyBtaWdodCBiZSBzZXQuCgkgIE5vdyB3aXRoIHRoZSByZXN0cmljdGlvbiBsaWZ0ZWQsIGRvaW5nIHRoaXMgaXMgYWxsb3dlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODk2MAoKMjAxNC0wNC0yMiAyMjoyNjo1NiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsZmlsZXNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybGZ0cHNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybGh0dHBzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxzZnRwc2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsc210cHNpbmsuYzoKCSAgY3VybCpzaW5rOiBpbXByb3ZlIHJldHVybiB2YWx1ZSBjaGVja3MgaW4gdGVzdCBjYXNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4OTYwCgoyMDE0LTA0LTIyIDIyOjI2OjEyICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsdGxzc2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsZmlsZXNpbmsuYzoKCSAgY3VybCpzaW5rOiBmaXggdHlwb3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODk2MAoKMjAxNC0wNC0xNiAwMTo1MDowMyArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmxmaWxlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsc2Z0cHNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzc2hzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmx0bHNzaW5rLmM6CgkgIGN1cmwqc2luazogZml4IHNvbWUgZ3N0LWluZGVudCBwcm9ibGVtcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4OTYwCgoyMDE0LTA0LTI1IDE2OjE4OjA3IC0wNDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJICBnbDogY2hlY2sgdGhlIGNvcnJlY3QgR3N0R0xNZW1vcnkgaW4gYmFzaWNfdGVzdAoKMjAxNC0wNC0yNSAxNzo0MDo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogT25seSByZXF1aXJlIGFsaWdubWVudCBhbmQgc3RyZWFtLWZvcm1hdCBmb3IgaDI2NCwgcGFyc2VkIGlzIGltcGxpY2l0CgoyMDE0LTA0LTI1IDE0OjQxOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBTZXQgc291cmNlIHN0YXRlIHRvIE5VTEwgaWYgZG93bmxvYWRpbmcgZmFpbGVkIGZvciB3aGF0ZXZlciByZWFzb24KCjIwMTQtMDQtMjQgMTM6NTk6MzUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsL3gxMTogUmVtb3ZlZCB1bnVzZWQgdmFyaWFibGUKCjIwMTQtMDQtMjQgMTg6MzM6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJICBnbC94MTE6IEdldCByaWQgb2YgdW5uZWVkZWQgc2Vjb25kIGRpc3BsYXkgY29ubmVjdGlvbiBhbmQgZG8gZXZlcnl0aGluZyBmcm9tIHRoZSBtYWluIGxvb3AKCjIwMTQtMDQtMjQgMTg6Mjg6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbC94MTE6IEJsb2NrIHJlbmRlcmluZyB1bnRpbCBzd2FwYnVmZmVycyBpcyBjYWxsZWQgYW5kIGRvbid0IGdvIHZpYSBYMTEgZXZlbnRzIGFzIHVubmVlZGVkIGluZGlyZWN0aW9uCgkgIFRoaXMgc2hvdWxkIGZpeCBRb1MgcHJvYmxlbXMsIHdoZXJlIGJhc2VzaW5rIGJlbGlldmVkIGl0IHdhcyByZW5kZXJpbmcgd2l0aAoJICAyMEZQUyBidXQgYWN0dWFsbHkgd2Ugd2VyZSBqdXN0IHF1ZXVlaW5nIHVwIFgxMSBFeHBvc2UgZXZlbnRzIGFuZCBvbmx5IG9uY2UKCSAgaW4gYSB3aGlsZSBzb21ldGhpbmcgd2FzIHJlbmRlcmVkLgoKMjAxNC0wNC0yNCAxNjowNTozMiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2w6IGZhaWxzIGdsaW1hZ2VzaW5rIHdoZW4gc2hhZGVyIGNvbXBpbGF0aW9uIHdlbnQgd3JvbmcKCSAgVGhvc2Ugc2hhZGVycyBhcmUgZml4ZWQgYW5kIHZlcnkgc2ltcGxlIHNvIGl0IHNob3VsZCBub3QgZmFpbAoJICBidXQgaXQncyB3b3J0aCB0byBoYW5kbGUgYSBzdWNoIGNhc2UuCgoyMDE0LTA0LTI0IDE1OjM2OjQ3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbDogY2FsbCBnbENsZWFyQ29sb3IgYmVmb3JlIGdsQ2xlYXIKCjIwMTQtMDQtMjQgMTY6MzM6NTYgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZ2wtdW5pbnN0YWxsZWQucGMuaW46CgkgIHBrZ2NvbmZpZzogZml4IGdzdHJlYW1lci1nbCB1bmluc3RhbGxlZAoJICBFbnN1cmUgdG8gcHJvdmlkZSBsaWJnc3RnbCBhbHNvIGluIHRoZSB1bmluc3RhbGxlZCBzZXR1cC4KCSAgRml4ZXMgYnVpbGQgb2YgZ3N0LW9teCBmb3IgUlBJIGluIHVuaW5zdGFsbGVkIHNldHVwLgoKMjAxNC0wNC0yNCAxNToxNzo0MSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkgIGdsL3JwaTogZG8gbm90IHNjYWxlIHRvIGZ1bGwgc2NyZWVuCgkgIEhhdmluZyBhIDY0MHgzNjAgbW92aWUgYmVpbmcgc2NhbGVkIHRvIDE5MDB4MTIwMCBkb2VzIG5vdCBsb29rIG5pY2UKCjIwMTQtMDQtMjQgMTQ6NTA6NTcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJICBnbC9ycGk6IGNoYW5nZSBkaXNwbWFueCBhdHRyaWJ1dGVzIG9mIGV4aXN0aW5nIGVsZW1lbnQgaW5zdGVhZCBvZiBjcmVhdGluZyBhIG5ldyBvbmUKCSAgSSB3YXMgbHVja3kgdGhhdDoKCSAgZTEgPSB2Y19kaXNwbWFueF9lbGVtZW50X2FkZCAoKQoJICBlZ2xDcmVhdGVXaW5kb3dTdXJmYWNlIChlMSkKCSAgdmNfZGlzcG1hbnhfZWxlbWVudF9yZW1vdmUgKGUxKQoJICBlMiA9IHZjX2Rpc3BtYW54X2VsZW1lbnRfYWRkICgpCgkgIHJlc3VsdGVkIGluIGhhdmluZyBlMiBlcXVhbCB0byBlMS4gQW5kIGFsc28gaGF2aW5nIHRoZSBlZ2wgc3VyZmFjZQoJICB0aGF0IGRvZXMgbm90IGFsbG9jYXRlIGl0cyBidWZmZXJzIGJlZm9yZSB0aGUgZmlyc3QgZHJhdy4KCjIwMTQtMDQtMjQgMTQ6Mzg6NDAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJICBnbC9ycGk6IGVuc3VyZSB0aGUgZGlzcG1hbnggZWxlbWVudCB0byBiZSBvcGFxdWUKCSAgU28gdGhhdCB3ZSBlbnN1cmUgaXQgZG9lcyBub3QgZ2V0IGFscGhhIGNvbXBvc2l0ZWQgd2l0aCBvdGhlcgoJICBkaXNwbWFueCBlbGVtZW50cyBsaWtlIHRoZSBkZXNrdG9wLgoKMjAxNC0wNC0xOCAyMDowNDoyNSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhdmZhc3NldHNyYzogZG93bmdyYWRlIHJhbmsgdG8gU0VDT05EQVJZIGluIE9TIFgKCjIwMTQtMDQtMTggMjA6MDM6NDggKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZhc3NldHNyYy5tOgoJICBhdmZhc3NldHNyYzogcmVuYW1lIHJlZmVyZW5jZXMgdG8gaU9TCgoyMDE0LTA0LTE0IDE5OjA4OjAxICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZmFzc2V0c3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZmFzc2V0c3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2F2YXNzZXRzcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvaW9zYXZhc3NldHNyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgaW9zYXZhc3NldHNyYzogcmVuYW1lIGVsZW1lbnQgdG8gYXZmYXNzZXRzcmMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODI0OQoKMjAxNC0wNC0wMyAxNDowMjoxOCArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3Nhc3NldHNyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3NhdmFzc2V0c3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2F2YXNzZXRzcmMubToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGlvc2F2YXNzZXRzcmM6IFBvcnQgdG8gMS4wCgkgIEFsc28gZW5hYmxlcyB0aGlzIGVsZW1lbnQgb24gT1NYID49IDEwLjcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgyNDkKCjIwMTMtMDUtMTEgMDM6NDE6MzYgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvaW9zYXZhc3NldHNyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3NhdmFzc2V0c3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhcHBsZW1lZGlhOiBhZGQgbmV3IHNvdXJjZS9kZWNvZGVyIGVsZW1lbnQgZm9yIGlPUyBhc3NldHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODI0OQoKMjAxNC0wNC0wOSAxMDo1NTowMyArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgY29yZW1lZGlhYnVmZmVyOiBoYW5kbGUgc3RyaWRlIGFsaWdubWVudAoJICBIYW5kbGUgc3RyaWRlIGFsaWdubWVudCB0aHJvdWdoIHRoZSB1c2Ugb2YgdGhlIHZpZGVvIG1ldGEgQVBJLiBUaGUKCSAgY29kZSBpcyBiYXNlZCBvbiB0aGUgY29yZXZpZGVvYnVmZmVyIGltcGxlbWVudGF0aW9uLgoJICBJZiB0aGUgdmlkZW8gbWV0YSBBUEkgaXMgbm90IHN1cHBvcnRlZCBhbmQgdGhlIHVuZGVybHlpbmcgYnVmZmVyCgkgIGNvbnRhaW5zIHBhZGRpbmcsIHRoZSBjb3JlIG1lZGlhIGJ1ZmZlciBpcyBjb3BpZWQgdG8gYSBzeXN0ZW0gbWVtb3J5CgkgIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzg4NQoKMjAxNC0wNC0wOSAxMTo0NzoxMiArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBjaGVjayBpZiBkb3duc3RyZWFtIHN1cHBvcnRzIHRoZSB2aWRlbyBtZXRhIEFQSQoJICBDaGVjayBpZiBkb3duc3RyZWFtIHN1cHBvcnRzIHRoZSB2aWRlbyBtZXRhIEFQSSwgc28gd2UgY2FuIHVzZSBpdCBsYXRlcgoJICB3aXRoIHRoZSBjb3JlIG1lZGlhIGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc5NTMKCjIwMTQtMDQtMjQgMTA6Mzc6MDAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBwYXNzIGEgTlNWaWV3IHRvIHNldF93aW5kb3dfaGFuZGxlIGluc3RlYWQgb2YgYSBOU1dpbmRvdwoJICBGaXggYmFja3dhcmRzIGNvbXBhdGliaWxpdHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODQ1MQoKMjAxNC0wNC0yNCAwOTowMzozMiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IG9ubHkgZHJhdyBvbmNlIHRoZSB3aW5kb3cgaGFzIGJlZW4gcmVzaXplZAoJICBJdCBhdm9pZHMgdG8gZHJhdyB0aGUgZmlyc3QgZnJhbWUgd2l0aCBhbiBpbmNvcnJlY3QgdmlldyBwb3J0LgoKMjAxNC0wNC0yNCAwODo0OTo1NCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkgIGdsL2NvY29hOiBzZXQgdGhlIHZpZXcgdG8gdXNlIGZvciBkcmF3aW5nIGJ5IHRoZSBjb250ZXh0CgkgIEl0IGF2b2lkcyB0byBkcmF3IHRvIGFuIGludmFsaWQgYnVmZmVyLgoJICBXaXRodG91dCB0aGlzIHRoZSBkZWZhdWx0IGZyYW1lIGJ1ZmZlciBpcyB1bmRlZmluZWQ6CgkgIGdsQmluZEZyYW1lYnVmZmVyIChHTF9GUkFNRUJVRkZFUiwgMCkKCSAgVmlzdWFsbHkgeW91IGNvdWxkIHNlZSBzb21lIHdoaXRlIGZyYW1lcyBhdCB0aGUgYmVnaW5uaW5nCgkgIHdoZW4gbHVuY2hpbmcgdmlkZW90ZXN0c3JjICEgZ2xpbWFnZXNpbmsKCSAgV2l0aCBPcGVuR0wgUHJvZmlsZXIgZnJvbSBYQ29kZSB5b3UgY291bGQgc2VlIHNvbWUKCSAgR0xfSU5WQUxJRF9GUkFNRUJVRkZFUl9PUEVSQVRJT04gZm9yIHRoZSBmaXJzdCBmcmFtZXMKCjIwMTQtMDQtMjMgMTQ6NDE6MjEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsOiBmaXggZGVjbGFyYXRpb24tZGVmaW5pdGlvbiBtaXNtYXRjaCBmb3IgX2luaXRfdXBsb2FkCgoyMDE0LTA0LTIzIDEzOjM0OjEyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSAgZ2wvYnVmZmVycG9vbDogZG8gbm90IHJlc2V0IHVwbG9hZCB3aGVuIHNldF9jb25maWcgZG9lcyBub3QgY2hhbmdlIHRoZSBjYXBzCgkgIFdpdGggdmlkZW90ZXN0c3JjICEgZ2xpbWFnZXNpbmsgaXQgd2FzIHJlc2V0IDMgdGltZXMKCjIwMTQtMDQtMjMgMTM6MzA6MjcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIGdsOiB1c2UgI2lmZGVmIGluc3RlYWQgb2YgI2lmIGZvciBfX0FQUExFX18KCSAgd2FybmluZzogIl9fQVBQTEVfXyIgaXMgbm90IGRlZmluZWQgWy1XdW5kZWZdCgkgIHdpdGggZ2NjIHZlcnNpb24gNC43LjIgMjAxMjA3MzEgKHByZXJlbGVhc2UpCgkgIChjcm9zc3Rvb2wtTkcgbGluYXJvLTEuMTMuMStienIyNDU4IC0gTGluYXJvIEdDQyAyMDEyLjA4KQoKMjAxNC0wNC0yMyAxMjo0MjozMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBVc2VyIGdfc2xpY2VfbmV3MCB0byBlbnN1cmUgZnVsbHkgaW5pdGlsaXplZCBzdHJ1Y3R1cmUKCSAgVGhlIHBibyBwb2ludGVyIG5vdCBiZWluZyBpbml0aWFsaXplZCB3b3VsZCB0cmlnZ2VyIGEgdXNlIG9mIHVuaXRpbGlhbGl6ZWQgdmFyaWFibGUKCSAgaW4gdmFsZ3JpbmQuCgoyMDE0LTAzLTI5IDE4OjM0OjI2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbms6IEZpeCBzdXBwb3J0IGZvciBIVyB3aXRob3V0IG91dHB1dAoJICBEZXZpY2VzIHN1aXRhYmxlIGZvciBkZWNrbGlua3NyYyBtYXkgbm90IGhhdmUgYW55IG91dHB1dCwgaGVuY2UgcXVlcnlpbmcKCSAgdGhlIGlucHV0IHJldHVybnMgTlVMTC4gQWRkIHN1cHBvcnQgZm9yIGFsbCBjYXNlcyB3aGVyZQoJICBpbnB1dC9vdXRwdXQvY29uZmlnIG1heSBiZSBtaXNzaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MzA2CgoyMDE0LTAzLTE1IDE1OjE3OjQzICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICB5NG1kZWM6IGNoZWNrIGZvciBWSURFTyBtZXRhIGluc3RlYWQgb2YgQ1JPUCBtZXRhCgkgIFRoaXMgZWxlbWVudCBvbmx5IG5lZWQgc3RyaWRlIHN1cHBvcnQsIGJ1dCBjaGVja3MgZm9yIENST1BfTUVUQSwgd2hpY2gKCSAgaXMgYSBiaXQgdG9vIG11Y2gsIGV2ZW4gdGhvdWdoIHRoaXMgd29ya3MgYXMgQ1JPUCBpbXBseSBoYXZpbmcgVklERU8KCSAgbWV0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjI1NQoKMjAxNC0wNC0yMyAxMToxMDoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogVXNlIHRoZSBwaXhlbC1hc3BlY3QtcmF0aW8gYWRqdXN0ZWQgd2lkdGgvaGVpZ2h0IHdoZW4gY2VudGVyaW5nIHRoZSBmcmFtZSBpbiB0aGUgZGlzcGxheSBhcmVhCgkgIE1ha2VzIHN1cmUgd2UgYWN0dWFsbHkga2VlcCB0aGUgZGlzcGxheSBhc3BlY3QgcmF0aW8KCjIwMTQtMDQtMjMgMTA6NTU6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IEJ5IGRlZmF1bHQga2VlcCB0aGUgZGlzcGxheSBhc3BlY3QgcmF0aW8KCSAgQWxzbyB0aGUgZGVmYXVsdCBmb3IgdGhlIHBpeGVsLWFzcGVjdC1yYXRpbyBzaG91bGQgYmUgMS8xLCBub3QgMC8xLgoKMjAxNC0wNC0yMyAxMDo0Mjo0NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogRmx1c2ggcHJvZ3JhbSBlbmQgY29kZSBieXRlcwoJICBUaGlzIHNob3VsZCBub3QgaGFybSByZWd1bGFyIGZpbGVzLCBzaW5jZSB0aG9zZSBhcmUgdGhlIGxhc3QgNCBieXRlcyBvZgoJICBhIG5vcm1hbCBmaWxlLgoJICBUaGlzIGFsbG93cyB0byBoYW5kbGUgcGxheWJhY2sgb2YgY29uY2F0ZW5hdGVkIG1wZWctcHMgZmlsZXMuIFNlZWtpbmcgYW5kCgkgIGR1cmF0aW9uIHJlcG9ydGluZyBpcyBzdGlsbCB3cm9uZyB0aG91Z2guCgoyMDE0LTA0LTIzIDEwOjI3OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBnbHRlc3RzcmM6IFVucmVmIGNvbnRleHQgd2hlbiBjcmVhdGlvbiBmYWlsZWQgYW5kIGd1YXJkIGFnYWluc3QgdGhhdCBpbiBmaWxsKCkKCjIwMTQtMDQtMjMgMTA6MjQ6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IENhbGwgZ3N0X29iamVjdF91bnJlZigpIG9uIHRoZSBHc3RHTCBHT2JqZWN0cyBhZ2FpbgoJICBXaGlsZSB0aGV5J3JlIHBsYWluIEdPYmplY3RzIGl0IGRvZXMgbm90IGh1cnQgdG8gY2FsbCBnc3Rfb2JqZWN0X3VucmVmKCkKCSAgb24gdGhlbSBhbmQgcG90ZW50aWFsbHkgYWxsb3dzIHRvIGRlYnVnIHJlZmVyZW5jZSBsZWFrcyBhIGJpdCBlYXNpZXIuCgoyMDE0LTA0LTIzIDEwOjAwOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBJZiBjcmVhdGluZyBhIGNvbnRleHQgb3IgdXBsb2FkIGZhaWxlZCwgZGVzdHJveSBpdAoJICBGaXhlcyBkZWFkbG9ja3MgaW4gZXJyb3IgY2FzZXMgd2hlbiBsYXRlciBjb2RlIGFzc3VtZXMgdGhlIGJyb2tlbgoJICBjb250ZXh0IGlzIGFjdHVhbGx5IHVzYWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODc2MQoKMjAxNC0wNC0yMiAxMjo1Njo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFJlbW92ZSBkZWFkIGNvZGUgYW5kIHNpbXBsaWZ5IGlmIHN0YXRlbWVudAoJICBDSUQgMTIwNDI3NAoKMjAxNC0wNC0yMSAxMzoxNTozNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmOiBmaXggTVAyIGNhc2UKCSAgVGVzdGluZyBtcGVndmVyc2lvbiB3aGVuIG1wZWdhdWRpb3ZlcnNpb24gd2FzIGxpa2VseSBtZWFudC4KCSAgU2ltaWxhciB0ZXN0cyBpbiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmMgYWxzbyB0ZXN0CgkgIG1wZWdhdWRpb3ZlcnNpb24gd2l0aCB0aGUgc2FtZSBjb25kaXRpb25hbCBjb2RlLgoJICBDb3Zlcml0eSAyMDYwNzEKCjIwMTQtMDQtMjEgMTA6MzY6NTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogZ3VhcmQgYWdhaW5zdCBkaXZpZGluZyBieSB6ZXJvCgkgIElmIGZyYW1lcmF0ZSBpcyB1bmtub3duLCB3ZSB3cml0ZSB0aGUgbWF4aW11bSBmcmFtZXJhdGUKCSAgYWxsb3dlZCBmb3IgdGhpcyBwcm9maWxlL2xldmVsOgoJICBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtaWV0Zi1hdnQtcnRwLXZjMS0wNiNzZWN0aW9uLTYuMQoJICBodHRwOi8vd2lraS5tdWx0aW1lZGlhLmN4L2luZGV4LnBocD90aXRsZT1WQy0xI1NldHVwX0RhdGFfLjJGX1NlcXVlbmNlX0xheWVyCgkgIENvdmVyaXR5IDExMzk2OTQKCjIwMTQtMDQtMjEgMTA6MDc6MDYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBndWFyZCBhZ2FpbnN0IGRpdmlkaW5nIGJ5IDAKCSAgVXNlIGEgcGxhY2Vob2xkZXIgdmFsdWUgaW4gdGhhdCBjYXNlLCBpdCdzIGJldHRlciB0aGFuIGNyYXNoaW5nLgoJICBDb3Zlcml0eSAxMTM5Njk3CgoyMDE0LTA0LTIxIDA5OjUxOjE5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbDogYSBjb3VwbGUgc3BlbGxpbmcvZ3JhbW1hciBmaXhlcwoKMjAxNC0wNC0yMSAwOTo1MDoxOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2w6IGd1YXJkIGFnYWluc3QgdXNpbmcgYSBOVUxMIHdpbmRvdyBwb2ludGVyCgkgIENvdmVyaXR5IDExOTUxNDUKCjIwMTQtMDQtMjEgMDk6NDc6MDggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsOiBwcmV2ZW50IGRpdmlzaW9uIGJ5IDAgb24gdW5zdXBwb3J0ZWQgdGV4dHVyZSB0eXBlCgkgIENvdmVyaXR5IDExOTk2OTcKCjIwMTQtMDQtMjEgMjI6MDE6NDcgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBGaXggYnQ3MDkgY29udmVyc2lvbiBtYXRyaWNlcy4KCSAgRml4IHRoZSBzaWduIG9uIG9uZSBlbnRyeSBpbiB0aGUgYnQuNzA5IFlVVi0+UkdCIGNvbnZlcnNpb24KCSAgbWF0cml4LCBhbmQgdGhlIGNvcnJlc3BvbmRpbmcgaW52ZXJzZSBtYXRyaXguIEZpeGVzIHJlYWxseQoJICB3cm9uZyBjb2xvdXJpbmcgb2Ygc29tZSB2aWRlb3MuCgoyMDE0LTA0LTE3IDA5OjU4OjQ3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmJiYXNlYmluOiBmaXggdGVzdCBmb3IgcHJvcGVyIHVzZSBjb3VudCBiYWxhbmNpbmcKCSAgdXNlY291bnQgaXMgdW5zaWduZWQsIHNvIHRvbyBtYW55ICJ1bnVzZSIgd2lsbCB3cmFwIHRoZSBjb3VudGVyCgkgIGFyb3VuZCBhbmQgdGhlID49IDAgY2hlY2sgd2lsbCBhbHdheXMgYmUgZmluZS4KCSAgSXQgd291bGQgYmUgbXVjaCBzaW1wbGVyIHRvIGp1c3QgbWFrZSB0aGUgY291bnRlciBzaWduZWQsIGJ1dAoJICBtb3ZpbmcgdGhlIGNoZWNrcyB3aGVyZSB0aGUgZGVjcmVtZW50cyBoYXBwZW4gYWxsb3cgYSBtaXN0YWtlCgkgIHRvIGJlIGRldGVjdGVkIGVhcmxpZXIsIGFuZCB0aHVzIGVhc2llciB0byBkZWJ1Zy4KCSAgQ292ZXJpdHkgMTEzOTc5MQoKMjAxNC0wNC0xNyAwOTozNTozNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBndWFyZCBhZ2FpbnN0IE5VTEwgbm9uIHNvdXJjZSBjb21wb25lbnRzCgkgIFRoaXMgY29tcG9uZW50IGlzIGRlcmVmZXJlbmNlZCwgYW5kIGxhdGVyIGNvZGUgY2hlY2tpbmcgZm9yCgkgIE5VTEwgaW4gcGFydGljdWxhciBjYXNlcyBpbXBsaWVzIGl0IGNhbiBiZSBOVUxMLiBUaGlzIGxpa2VseQoJICBkb2VzIG5vdCBmaXggdGhlIGNvdmVyaXR5IHdhcm5pbmcgYXMgaXQgd2FzIHNlZWluZyBhbm90aGVyCgkgIHBhdGggc2V0dGluZyBjb21wb25lbnQgdG8gTlVMTCBleHBsaWNpdGVseSwgYnV0IHRoaXMgd2FzCgkgIHNwb3R0ZWQgYnkgbG9va2luZyBhdDoKCSAgQ292ZXJpdHkgMTEzOTczNgoJICBXaGljaCBpcyBhY3R1YWxseSBPSyBmcm9tIHdoYXQgSSBjYW4gc2VlIHNpbmNlIHRoZSBhY3R1YWwKCSAgZGVyZWZlcmVuY2Ugb2YgdGhlIGV4cGxpY2l0IE5VTEwgcG9pbnRlciB3aWxsIG5vdCBoYXBwZW4KCSAgaWYgdGhlIGNvbmRpdGlvbiB0aGF0IGxlZCB0byB0aGUgTlVMTCBwb2ludGVyIGFzc2lnbm1lbnQKCSAgaXMgbWV0LCBzaW5jZSB0aGUgYXNzaWdubWVudCBhbmQgZGVmZWZlcmVuY2UgaGF2ZSBtdXR1YWxseQoJICBleGNsdXNpdmUgdGVzdHMuCgoyMDE0LTA0LTE3IDA5OjI2OjIwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBjYXRjaCBlcnJvcnMgaW4gY2FwcyBtYW5pcHVsYXRpb24KCSAgQ292ZXJpdHkgMTEzOTYyMgoKMjAxNC0wNC0xOCAyMDoxMjozNyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBmaXggY29tcGxpZXIgZXJyb3IgdXNpbmcgZml4ZWQgbGVuZ2h0IGFycmF5cwoKMjAxNC0wNC0xOCAxODoxMjozNiArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5oOgoJICBpdmZwYXJzZTogZGV0ZWN0IGFuZCBwcm9wYWdhdGUgcmVzb2x1dGlvbiBjaGFuZ2VzLgoJICBEZXRlY3QgcmVzb2x1dGlvbiBjaGFuZ2VzIG9uIGtleSBmcmFtZXMsIGFuZCBwcm9wYWdhdGUgdGhlIHJlc3VsdGluZwoJICBjYXBzIHRvIHRoZSBzcmMgcGFkLiBPbmx5IHRoZSB1bmNvbXByZXNzZWQgZGF0YSBjaHVuayBpcyBkZWNvZGVkLCBzbwoJICBhdm9pZCB1c2luZyB0aGUgbmV3IFZQOCBiaXRzdHJlYW0gcGFyc2luZyBsaWJyYXJ5IGZvciBub3cuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDQtMTggMTc6MzQ6MDggKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuaDoKCSAgaXZmcGFyc2U6IGF2b2lkIHBvc3NpYmxlIGRpdmlzaW9uLWJ5LXplcm8gd2hlbiBjYWxjdWxhdGluZyBQVFMuCgkgIEF2b2lkIHBvc3NpYmxlIGRpdmlzaW9uLWJ5LXplcm8gd2hpbGUgZGVyaXZpbmcgdGhlIHByZXNlbnRhdGlvbiB0aW1lc3RhbXAKCSAgb2YgdGhlIGJ1ZmZlci4gVGhlIGJhc2UgY2xhc3Mgd2lsbCB0YWtlIGNhcmUgb2YgYW55IGludGVycG9sYXRpb24gbmVlZHMuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMTAtMjUgMDc6Mzg6NTMgKzA4MDAgIEhhbGxleSBaaGFvIDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGl2ZnBhcnNlOiBlbmFibGUgYnVpbGQuCgkgIERyb3AgYGl2ZnBhcnNlJyBlbGVtZW50IGZyb20gdGhlIG5vbi1wb3J0ZWQgc2V0IG9mIHBsdWdpbnMgaW4gY29uZmlndXJlLgoKMjAxNC0wMy0wNCAxNTo0Njo1OCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5oOgoJICBpdmZwYXJzZTogcG9ydCB0byBiYXNlcGFyc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA4NTUKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wMS0yNCAwODozNzoxNiArMDgwMCAgWmhhbywgSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvdnA4cGFyc2VyLXRlc3QuYzoKCSAgdGVzdHM6IGFkZCBzdGFuZGFsb25lIHByb2dyYW0gZm9yIFZQOCBwYXJzZXIuCgkgIEFkZCBzdGFuZGFsb25lIHRlc3QgYXBwbGljYXRpb24gdGhhdCBkZW1vbnN0cmF0ZXMgaG93IHRvIHVzZSB0aGUgbmV3CgkgIFZQOCBiaXRzdHJlYW0gcGFyc2luZyBsaWJyYXJ5LCB3aGlsZSBhbHNvIGFsbG93aW5nIHNpbXBsZSBkZWJ1Z2dpbmcvCgkgIHRyYWNpbmcgb2YgSVZGIGZpbGVzLgoJICBbY2xlYW4tdXBzLCB1cGRhdGVkIHRvIG5ldyBwYXJzZXIgQVBJXQoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTAxLTA4IDAyOjQ5OjAwICswODAwICBaaGFvLCBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9saWJzL3ZwOHBhcnNlci5jOgoJICB0ZXN0czogYWRkIHRlc3QgZm9yIFZQOCBiaXRzdHJlYW0gcGFyc2luZyBsaWJyYXJ5LgoJICBbdXBkYXRlZCB0byBuZXcgcGFyc2VyIEFQSV0KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNC0wOSAwOToyMjowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkgIGNvZGVjcGFyc2VyczogdnA4OiByZW5hbWUgZGJvb2xodWZmIHN5bWJvbHMuCgkgIFJlbmFtZSBWUDggZGJvb2xodWZmIHN5bWJvbHMgc28gdGhhdCB0byBhdm9pZCBjbGFzaGVzIHdpdGggbGlidnB4IHdoZW4KCSAgc3RhdGljIGxpbmtpbmcuCgoyMDE0LTA0LTA4IDEwOjMwOjA5ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2Rib29saHVmZi5BVVRIT1JTOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2Rib29saHVmZi5MSUNFTlNFOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2Rib29saHVmZi5QQVRFTlRTOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2Rib29saHVmZi5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2Rib29saHVmZi5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZwOHJhbmdlZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3ZwOHV0aWxzLmM6CgkgIGNvZGVjcGFyc2VyczogdnA4OiBhZGQgR1N0cmVhbWVyIG5hdGl2ZSB1dGlsaXRpZXMuCgkgIEltcG9ydCBsaWJ2cHggMS4zLjAgcmFuZ2UgZGVjb2RlciBmaWxlcyAoZGJvb2xodWZmLltjaF0pIHRvIGltcGxlbWVudAoJICB0aGUgVlA4IHV0aWxpdGllcyBuYXRpdmUgaW50ZXJmYWNlLiBMaWtld2lzZSwgY29weSBhbmQgdXNlIHRoZSBkZWZhdWx0CgkgIGxpYnZweCBnZW5lcmF0ZWQgZW50cm9weSBwcm9iYWJpbGl0aWVzIHRhYmxlcy4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wMS0wOCAwMjo0OTowMCArMDgwMCAgWmhhbywgSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZwOHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZwOHBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZwOHJhbmdlZGVjb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3ZwOHV0aWxzLmg6CgkgIGNvZGVjcGFyc2VyczogYWRkIFZQOCBiaXRzdHJlYW0gcGFyc2VyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyNzYwCgkgIFtyZWZhY3RvcmVkLCBhbW9uZyBvdGhlciBmaXhlc10KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNC0xOCAxNjoyMzo0MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEltcHJvdmUgdHNfdG9fb2Zmc2V0IGNvZGUKCSAgKiBTZWFyY2ggaW4gY3VycmVudCBwZW5kaW5nIHZhbHVlcyBmaXJzdC4gRm9yIENCUiBzdHJlYW1zIHdlIGNhbiB2ZXJ5CgkgIGVhc2lseSBlbmQgdXAgaGF2aW5nIGp1c3Qgb25lIGluaXRpYWwgb2JzZXJ2YXRpb25zIGFuZCB0aGVuIG5vdGhpbmcKCSAgZWxzZSAoc2luY2UgdGhlIGJpdHJhdGUgZG9lc24ndCBjaGFuZ2UpLgoJICAqIFVzZSBvbmUgZ3JvdXAgd2hldGhlciB3ZSBhcmUgaW4gdGhhdCBncm91cCAqT1IqIGlmIHRoZXJlIGlzIG9ubHkKCSAgb25lIGdyb3VwLgoJICAqIElmIHRoZSBncm91cCB0byB1c2UgaXNuJ3QgY2xvc2VkIChwb2ludHMgYXJlIGJlaW5nIGFjY3VtdWxhdGVkIGluIHRoZQoJICBQQ1JPZmZzZXRDdXJyZW50KSwgdXNlIHRoZSBsYXRlc3QgZGF0YSBhdmFpbGFibGUgZm9yIGNhbGN1bGF0aW9uCgkgICogSWYgaW4gdGhlIHVubGlrZWx5bmVzcyB0aGF0IGFsbCBvZiB0aGlzICpzdGlsbCogZGlkbid0IHByb2R1Y2UgbW9yZQoJICB0aGFuIG9uZSBkYXRhIHBvaW50LCBqdXN0IHJldHVybiB0aGUgaW5pdGlhbCBvZmZzZXQKCjIwMTQtMDQtMTggMTY6MjA6MzEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSAgdHNkZW11eDogRml4IHNjYWxpbmcgbWFjcm9zCgkgIFdoaWxlIHRoZSBjYWxjdWxhdGlvbiBkb25lIGluIHRoZXNlIG1hY3JvcyB3aWxsIHdvcmsgd2l0aCA2NGJpdAoJICBpbnRlZ2VycywgdGhleSB3aWxsIGZhaWwgaWYgd29ya2luZyB3aXRoIDMyYml0IGludGVnZXJzLgoJICBGb3JjZSB0aGUgc2NhbGluZyB1cCB0byBzb2x2ZSB0aGF0LgoJICBUaGlzIGFtYXppbmdseSBkaWRuJ3QgaW50cm9kdWNlIG1ham9yIGlzc3VlcyB1cCB0byBub3csIGJ1dCByZXN1bHRlZAoJICBpbiBib2d1cyB2YWx1ZXMgaW4gZGVidWcgbG9ncy4KCjIwMTQtMDQtMTggMTY6MTg6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBEb24ndCBoYXJkLWZsdXNoIHRoZSBwYWNrZXRpemVyIG9uIGRpc2NvbnQgYnVmZmVycwoJICBEb2luZyBhIGhhcmQgZmx1c2ggb24gdGhlIHBhY2tldGl6ZXIgd2lsbCBkcm9wIGFsbCBvYnNlcnZhdGlvbnMsIHdoaWNoCgkgIHdpbGwgZXZlbnR1YWxseSBicmVhayBwdXNoLWJhc2VkIHNlZWtpbmcgKHdpdGggQllURVMgc2VnbWVudCkgc2luY2UKCSAgd2Ugd29uJ3Qga25vdyB3aGVyZSB0byBzZWVrIHRvIGFueW1vcmUgKG5ldyBkYXRhIHdvdWxkIGFsd2F5cyBiZQoJICBjb25zaWRlcmVkIGFzIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHN0cmVhbSkuCgoyMDE0LTA0LTE2IDE2OjI1OjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEZpeCBjb3B5L3Bhc3RlIGVycm9yCgkgIFdlIHdhbnQgdG8gY2hlY2sgd2hldGhlciB0aGUgcmF0ZSBpcyBkaWZmZXJlbnQuIFdlIGNoZWNrIGNoYW5nZXMgaW4KCSAgbnVtZXJhdG9yICphbmQqIGRlbm9taW5hdG9yLgoJICBDSUQgIzExMzk2MzEKCSAgQ0lEICMxMTM5NjQyCgoyMDE0LTA0LTE2IDE2OjE5OjQ3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSAgbXhmOiBIYW5kbGUgZnJhY3Rpb24gcGFyc2luZyBmYWlsdXJlCgkgIEFuZCBwcm9wZXJseSBjbGVhbnVwL3Jlc2V0IHRoZSBzZWdtZW50IGJlZm9yZSByZXR1cm5pbmcgb24gZXJyb3JzCgkgIENJRCAjMjA2MDEyCgoyMDE0LTA0LTE2IDE2OjEyOjAyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSAgbXhmOiBSZW1vdmUgdXNlbGVzcyBjaGVjawoJICBhIGd1aW50IHdpbGwgYWx3YXlzIHNtYWxsZXIgb3IgZXF1YWwgdG8gdGhlIG1heGltdW0gdmFsdWUgaXQgY2FuCgkgIGNvbnRhaW4KCSAgQ0lEICMyMDYwNDkKCjIwMTQtMDQtMDkgMTI6Mjc6MTYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ1cC5jOgoJICBteGY6IGF2b2lkIGRlcmVmZXJlbmNpbmcgTlVMTCBtYXBwaW5nIGRhdGEgcG9pbnRlcgoJICBBbHNvIHVucmVmIGJ1ZmZlcnMgb24gZXJyb3IsIGFzIGl0IHNlZW1zIHRvIGJlIGRvbmUgaW4gb25lLCBidXQKCSAgbm90IGFsbCwgZXJyb3IgcGF0aHMuCgkgIFRoZSBOVUxMIHBvaW50ZXIgcGFydCBpcyBDb3Zlcml0eSAyMDYxMTIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzg4OQoKMjAxNC0wNC0xNiAxNjowNzoxNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkgIGR2YjogRml4IGlmKCkgY2hlY2sKCSAgaW50cm9kdWNlZCBieSBteSBwcmV2aW91cyBjb21taXQgOigKCjIwMTQtMDQtMTYgMTU6NDM6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IERldGVjdCBFR0wgaGVhZGVyIHByZXNlbmNlCgkgIEZpeGVzIHRoZSBidWlsZCBmb3IgQW5kcm9pZCwgYW5kIEkgc3VzcGVjdCBmb3Igb3RoZXIgc3lzdGVtcyB0b28uLi4KCjIwMTQtMDQtMTYgMTU6Mzc6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9jYW1zZXNzaW9uLmM6CgkgIGR2Yi9jYW1zZXNzaW9uOiBEb24ndCBkbyBvcGVyYXRpb25zIG9uIHVuZXhpc3Rpbmcgc2Vzc2lvbnMKCSAgQ0lEICMyMDYxMTQKCjIwMTQtMDQtMTYgMTU6MzI6MzIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJICBkdmI6IEhhbmRsZSBzb2NrZXQoKSBmYWlsdXJlCgkgIENJRCAjMjA2MTc4CgoyMDE0LTA0LTE2IDE1OjIzOjU3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogSGFuZGxlIGZhaWx1cmUgdG8gZ2V0IHN0YXRpc3RpY3MgZnJvbSB0aGUgZGV2aWNlCgkgIENoZWNrIHRoZSBpb2N0bCByZXR1cm4gdmFsdWUgYW5kIGRvbid0IG91dHB1dCBib2d1cyB2YWx1ZXMuCgkgIENJRCAjMjA2MDE2CgoyMDE0LTA0LTE2IDE1OjE4OjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogRG9uJ3QgY2xvc2UgYSBmZCB0aGF0IHdhc24ndCBvcGVuCgkgIFdlIGFyZSBoYW5kbGluZyB0aGUgZmFpbHVyZSBjYXNlcyBpbiB0aGlzIGJsb2NrIHdoZXJlIHRoZSBvcGVuIGZhaWxlZAoJICBDSUQgIzIwNjE3OQoKMjAxNC0wNC0xNiAxNToxNzowMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IERvbid0IHRyeSB0byBhY2Nlc3MgTlVMTCBzdHJpbmcKCSAgQW5kIHJlZmFjdG9yIHRoZSBwaWQgc2V0dGluZyBjb2RlIHRvIGJlIGluIGl0cyBvd24gZnVuY3Rpb24gZm9yIGNsYXJpdHkKCSAgQ0lEICMyMDYzNzQKCjIwMTQtMDQtMTAgMTY6MDQ6MjEgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBhZGQgZHZiIGNhIGlkZW50aWZpZXIgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3NTYwCgoyMDE0LTA0LTEwIDE2OjAzOjA3ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogYWRkIHNjcmFtYmxpbmcgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3NTYwCgoyMDE0LTA0LTEwIDE2OjAyOjA5ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogYWRkIGZyZXF1ZW5jeSBsaXN0IGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzU2MAoKMjAxNC0wNC0xMCAxNjowMDo1MCArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGFkZCBkYXRhIGJyb2FkY2FzdCBpZCBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc0MDMKCjIwMTQtMDQtMTAgMTU6NTk6NTAgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBhZGQgcHJpdmF0ZSBkYXRhIHNwZWNpZmllciBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc0MDMKCjIwMTQtMDQtMTYgMDk6MjA6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBkdmI6IE1pbm9yIGNvZGUgc3R5bGUgZml4CgoyMDE0LTA0LTEwIDE1OjU4OjU1ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogYWRkIHBhcmVudGlhbCByYXRpbmcgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3NDAzCgoyMDE0LTA0LTEwIDE1OjU4OjA0ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogYWRkIGxpbmthZ2UgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3NDAzCgoyMDE0LTA0LTE2IDAwOjI1OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogZm9yIGxvb3AgaW5pdGlhbCBkZWNsYXJhdGlvbnMgYXJlIG9ubHkgYWxsb3dlZCBpbiBDOTkgbW9kZQoJICBGaXhlcyBjb21waWxlciB3YXJuaW5ncy4KCjIwMTQtMDQtMTUgMjA6NDc6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSAgZWdsOiBBZGQgbGliZ3N0ZWdsIGFuZCBlZ2xnbGVzIHBsdWdpbiB0byB0aGUgQ1JVRlQgZGlyZWN0b3JpZXMKCjIwMTQtMDQtMTUgMTc6NTg6MzQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2VnbGdsZXMvQW5kcm9pZC5tazoKCSogZXh0L2VnbGdsZXMvTWFrZWZpbGUuYW06CgkqIGV4dC9lZ2xnbGVzL1RPRE86CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5oOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VhZ2wubToKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmg6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2VnbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuaDoKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIGVnbC9lZ2xnbGVzc2luazogcmVtb3ZlIHNpbmNlIEVHTEltYWdlIGFuZCBpT1Mgc3VwcG9ydCBoYXZlIGJlZW4gYWRkZWQgaW4gZ2xpbWFnZXNpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzM0MwoKMjAxNC0wMy0yNCAxMjowODo0MyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlczIuaDoKCSAgZ2w6IGFsbG93IHRvIGluY2x1ZGUgR0xFUy9nbC5oCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzNDMKCjIwMTQtMDQtMTQgMDc6NTY6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZDogUmVtb3ZlIGRlYWQgYXNzaWdubWVudAoJICBXZSBzZXQgaXQganVzdCBhZnRlciB2YXJpYWJsZSBkZWNsYXJhdGlvbgoJICBDSUQgIzExOTc3MDkKCjIwMTQtMDQtMTMgMTk6MjA6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLm06CgkgIGdsL2VhZ2w6IEZpeCBjb21waWxhdGlvbgoKMjAxNC0wNC0xMyAxNjo1Mzo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wubToKCSAgZ2wvZWFnbDogTm90aWZ5IHRoZSB3aW5kb3cncyByZXNpemUgY2FsbGJhY2sgYWJvdXQgc3VyZmFjZSBkaW1lbnNpb24gY2hhbmdlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MTA3CgoyMDE0LTA0LTEzIDE2OjQ2OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wuaDoKCSAgZ2wvZWFnbDogUmVtb3ZlIHNwdXJpb3VzIHByaXZhdGUgc3RydWN0IHBvaW50ZXIKCjIwMTQtMDQtMTMgMTY6NDA6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5oOgoJICBnbC9hbmRyb2lkOiBOb3RpZnkgdGhlIHdpbmRvdydzIHJlc2l6ZSBjYWxsYmFjayBhYm91dCBzdXJmYWNlIGRpbWVuc2lvbiBjaGFuZ2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgxMDcKCjIwMTQtMDQtMTMgMjI6MTY6NDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBnbGltYWdlc2luazogcmVtb3ZlIHVudXNlZCB0ZXh0dXJlCgoyMDE0LTA0LTEzIDIyOjE0OjUyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgZ2xpbWFnZXNpbms6IG1vdmUgdXBsb2FkIGludG8gX3ByZXBhcmUoKQoKMjAxNC0wNC0xMyAxMzo0OToyMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsL2NvbnRleHQ6IG91dHB1dCBhdmFpbGFibGUgZXh0ZW5zaW9ucwoKMjAxNC0wNC0xMyAxMzozOToxNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSAgZ2wvY29udGV4dDogcHJvdmlkZSBnZXRfZ2xfdmVyc2lvbgoKMjAxNC0wNC0xMyAwMDoyMTowMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2wvY29sb3I6IHJlc3RvcmUgdmlld3BvcnQgZGltZW5zaW9ucyB3aGVuIGZibyBkb25lCgkgIFJlZ3Jlc3Npb24gaW50cm9kdWNlZCBieSA5NWFiZmRhMTM5OWJjZGRiZWUzNDVkNDU0MmU4NTdkNzQzOTY1NDc3LgoJICBJdCBjYXVzZWQgdG8gZGlzcGxheSB0aGUgd3JvbmcgZnJhbWUgc2l6ZSB3aGVuIHJlc2l6aW5nIHRoZSB3aW5kb3cuCgoyMDE0LTA0LTEyIDIyOjQ1OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wubToKCSAgZ2w6IEltcG9ydCBRdWFydHpDb3JlL1F1YXJ0ekNvcmUuaCBmb3IgQ0FFQUdMTGF5ZXIgb24gb2xkZXIgaU9TIHZlcnNpb25zCgoyMDE0LTA0LTEyIDIyOjE1OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbDogU2V0IGdsaW1hZ2VzaW5rIHJhbmsgdG8gU0VDT05EQVJZCgkgIFRoaXMgaXMgYSBmdWxsLWZlYXR1cmVkIHZpZGVvIHNpbmsgbm93IGFuZCBlc3BlY2lhbGx5IHNob3VsZCBiZQoJICB1c2VkIGluc3RlYWQgb2Ygb3N4dmlkZW9zaW5rIG9uIE9TWCBpZiBhdmFpbGFibGUuCgoyMDE0LTA0LTEyIDIxOjQzOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbDogQWRkIHN1cHBvcnQgZm9yIGlPUyBFQUdMIHBsYXRmb3JtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzNDEKCjIwMTQtMDQtMTIgMTc6MzM6NDQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBtYWtlIGdzdF9nbF93aW5kb3dfY29jb2Ffc2VuZF9tZXNzYWdlX2FzeW5jIHJlLWVudHJhbnQKCSAgQmFja2VuZHMgdGhhdCB1c2UgZ19tYWluX2NvbnRleHRfaW52b2tlIGFyZSByZS1lbnRyYW50LgoJICBJbCBhbGxvd3MgdG8gY2FsbCB0d28gbmVzdGVkIGdzdF9nbF9jb250ZXh0X3RocmVhZF9hZGQuCgkgIGV4OiBpbml0X3VwbG9hZCAvIGluaXRfY29sb3Jjb252ZXJ0CgoyMDE0LTA0LTEyIDE3OjAxOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBGaXJzdCBoYW5kbGUgR0wgd2luZG93IHNldHVwLCB0aGVuIGNyZWF0ZSB0aGUgY29udGV4dCBhbmQgaXRzIHRocmVhZAoKMjAxNC0wNC0xMiAxNTo1MTo0NyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkgIGdsL2NvY29hOiBmaXggTlNBdXRvcmVsZWFzZVBvb2wgaW5pdGlhbGl6YXRpb24KCjIwMTQtMDQtMTIgMTI6NDI6NDAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IGVuc3VyZSB0byBjYWxsIE5TQXBwbGljYXRpb246c2hhcmVkQXBwbGljYXRpb24gaW4gdGhlIG1haW4gdGhyZWFkCgkgICIoTlNBcHBsaWNhdGlvbiAqKXNoYXJlZEFwcGxpY2F0aW9uIFRoaXMgbWV0aG9kIGFsc28gbWFrZXMgYSBjb25uZWN0aW9uCgkgIHRvIHRoZSB3aW5kb3cgc2VydmVyIGFuZCBjb21wbGV0ZXMgb3RoZXIgaW5pdGlhbGl6YXRpb24iCgkgIFRoZSBpbXBsaWNpdCB0aGluZyB3aGljaCBpcyBub3QgbWVudGlvbmVkIGlzIHRoYXQgaXQgcmVxdWlyZWQKCSAgdG8gYmUgY2FsbGVkIGluIHRoZSBtYWluIHRocmVhZC4KCSAgRml4IGEgcmVncmVzc2lvbiBpbnRyb2R1Y2VzIGJ5IDgyYjdjOTE1YmIwMmE5NzkwZDI1NmQ1OTk0NTJlNWE1NGFmZGE2MzMKCSAgV2hlbiB1c2luZyB3aXRoIGdzdC1sYXVuY2gsIGl0IHdhcyBub3QgcG9zc2libGUgdG8gY2xpY2sgb24gdGhlIGNsb3NlCgkgIGNyb3NzIG9mIHRoZSB3aW5kb3cgYW55bW9yZSB3aGljaCBpcyBhIGJpdCBhbm95aW5nIGFuZCBhbHNvIGJlY2F1c2UKCSAgaXQncyB3YXMgcG9zc2libGUgYmVmb3JlLgoJICBQcmlvciB0byB0aGlzIGNvbW1pdCB0aGUgR3N0R0xDb250ZXh0Q29jb2FDbGFzcyB3YXMgaW5pdGlhbGl6ZWQKCSAgaW4gdGhlIG1haW4gdGhyZWFkIGJlY2F1c2UgZ3N0X2dsX2NvbnRleHRfbmV3IHdhcyBjYWxsZWQgaW4gdGhlCgkgIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiBmcm9tIGdvaW5nIGZyb20gcmVhZHkgdG8gcGF1c2VkLgoJICBGcm9tIHRoaXMgY29tbWl0IHRoaXMgY2FsbCBpcyBkb25lIGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQuCgkgIFNvIHRoYXQgdGhlIGNhbGwgdG8gW05TQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25dOwoJICB3YXMgbm90IGRvbmUgaW4gdGhlIG1haW4gdGhyZWFkIGFueW1vcmUuCgkgIFdlIG5vdyBlbnN1cmUgdGhhdCBieSBhc3N1bWluZyB0aGVyZSBpcyBhIEdNYWluTG9vcCBydW5uaW5nLgoJICBJdCdzIGZvciBkZWJ1Z2dpbmcgcHVycG9zZSBzbyB0aGF0J3Mgb2sgdG8gZG8gdGhhdC4gQWxzbwoJICBub3RlIHdlIGFscmVhZHkgZG8gdGhpcyBhc3N1bXRpb24gdG8gcnVuIGFwcCBpdGVyZWF0aW9ucy4KCSAgVGhlIHJlZ3Jlc3Npb24gaGFkIG5vIGNvbnNlcXVlbmNlIG9uIHRoZSBjb2NvYS92aWRlb292ZXJsYXkgZXhhbXBsZQoJICAodGhhdCBzaG91bGQgYmUgbW92ZWQgZnJvbSBnc3QtcGx1Z2lucy1nbCB0byAtYmFkKSBiZWNhdXNlIHRoZQoJICBhcHBsaWNhdGlvbiBpcyByZXNwb25zaWJsZSBmb3IgdGhhdCBuZWNlc3NhcnkgY2FsbC4KCjIwMTQtMDQtMTIgMTQ6NDA6NDAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsL2NvbG9yOiBmaXggd2FybmluZyB0eXBlIHF1YWxpZmllcnMgaWdub3JlZAoJICBpNjg2LWFwcGxlLWRhcndpbjExLWxsdm0tZ2NjLTQuMgoJICAid2FybmluZzogdHlwZSBxdWFsaWZpZXJzIGlnbm9yZWQgb24gZnVuY3Rpb24gcmV0dXJuIHR5cGUiCgoyMDE0LTA0LTEyIDE4OjI0OjQzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbC9jb2xvcjogcmVtb3ZlIGlmIHN0YXRlbWVudCB3aXRoIG5vIGVmZmVjdAoJICBDb3Zlcml0eSAxMTk5Njk4CgoyMDE0LTA0LTEyIDE4OjE2OjI5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL2NvbG9yOiBwYXNzIGxhcmdlIHZhbHVlIGJ5IHJlZmVyZW5jZQoJICBDb3Zlcml0eSAxMTk5NzAwCgoyMDE0LTA0LTAyIDEyOjU5OjU4IC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHAuYzoKCSAgc3J0cGRlYzogZml4IGFzc2VydGlvbiBjaGVja2luZyBzc3JjIGZyb20gcnRjcCBwYWNrZXRzCgkgIHJ0Y3BfYnVmZmVyX2dldF9zc3JjIGlzIGNhbGxlZCBldmVuIHdpdGggUlRQIGJ1ZmZlcnMuIHRoaXMgbWVhbnMgd2UKCSAgbWlnaHQgZW5kIHVwIHdpdGggYW4gZXhjZXB0aW9uIGFuZCBub3QgZmluZCBhbnkgdmFsaWQgUlRDUCBwYWNrZXQgdHlwZQoJICBhbmQgdGh1cyBoaXQgR1NUX1JUQ1BfVFlQRV9JTlZBTElELiB3ZSBub3cgdGFrZSBjYXJlIG9mIHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc1MTIKCjIwMTQtMDQtMTEgMTI6Mjk6MTcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvanAya2RlY2ltYXRvci9nc3RqcDJrZGVjaW1hdG9yLmM6CgkgIGpwMmtkZWNpbWF0b3I6IGZpeCBtYXliZS11bmluaXRpYWxpemVkIGNvbXBpbGVyIGVycm9yCgoyMDE0LTA0LTExIDExOjM0OjI2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJICBtcGVndHNtdXg6IFJlbW92ZSB1bm5lZWRlZCB1bnJlZgoJICBwYWNrZXRfYnVmZmVyIGhhcyBhbHJlYWR5IGJlZW4gY2xlYXJlZCBpbiBhbGwgY29kZSBwYXRocyBsZWFkaW5nCgkgIHRvIHRoaXMgcG9pbnQuCgkgIENJRCAjMTE5OTY5NgoKMjAxNC0wNC0xMSAwODozOToyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IEhhbmRsZSBzeW1ib2xzIGFkZGVkIGluIG1pbm9yIHZlcnNpb24gNyBhbmQgOAoJICBTb21lIHN5bWJvbHMgd2VyZSByZS1kZWZpbmVkIGluIG1pbm9yIHY4IChHTyBURUFNIEJBQ0tXQVJEUyBDT01QQVRJQkxFISkKCSAgU29tZSBzeW1ib2xzIHdlcmUgYWRkZWQgaW4gbWlub3IgdjcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzk3NwoKMjAxNC0wNC0xMSAxNzoyNDozOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkgIGdsL21lbTogY2FjaGUgdGhlIHN0cmlkZS91bnBhY2sgbGVuZ3RoIGZvciB1cGxvYWQKCjIwMTQtMDQtMTEgMTc6MjM6MzIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsL2NvbG9yOiBleHBsaWNpdGx5IG1hcCB0aGUgYnVmZmVycyB3ZSBhcmUgY29weWluZyBpbnRvCgkgIE90aGVyd2lzZSBpdCBtYXkgbm90IGJlIGRvd25sb2FkZWQgYXQgYWxsLgoKMjAxNC0wNC0xMSAwODoxNjowMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IEFkZCBjb21tZW50IHdpdGggYWxsIERWQiBBUEkgdjUgbWlub3IgY2hhbmdlcwoJICBUaGVyZSB3YXNuJ3QgYSBkZWZpbml0ZSBsaXN0IGFueXdheSwgc28gSSBqdXN0IGRvdmUgaW4gdGhlIGtlcm5lbAoJICBhbmQgZXh0cmFjdCBhbGwgdGhhdCBpbmZvcm1hdGlvbi4KCjIwMTQtMDQtMTEgMTY6MDk6MDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsL2NvbG9yOiBjYWNoZSB0aGUgdGVtcG9yYXJ5IHRleHR1cmVzCgoyMDE0LTA0LTExIDExOjA0OjQzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbC9tZW06IHByb3ZpZGUgZGVmaW5lcyBmb3IgdG9rZW5zIG5vdCBkZWZpbmVkIGluIEdMRVMyL2FuY2llbnQgcGxhdGZvcm1zCgoyMDE0LTA0LTExIDExOjAzOjE5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbDogZml4dXAgaW5jb3JyZWN0IG51bWJlciBvZiBhcmd1bWVudHMKCjIwMTQtMDQtMTEgMTA6NTU6MjEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsOiBmaXggaW5jb3JyZWN0IHVzYWdlIG9mIGdfcmV0dXJuX2lmX2ZhaWwKCjIwMTQtMDQtMDIgMTc6NDM6NTIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBnbC9tZW06IGFsbG9jYXRlIHRoZSBtZW1vcnkgcGVyIHBsYW5lCgkgIFRoaXMgcGF0Y2ggcHJvdmlkZXMgdGhlIGJhc2ljIGluZnJhc3RydWN0dXJlIHJlcXVpcmVkIGZvciB0aGlzLgoJICBVcGxvYWQgYW5kIERvd25sb2FkIGhhcyBiZWVuIHBvcnRlZCB0byB0aGlzLgoJICBIYXMgdGhlIG5pY2UgZWZmZWN0IG9mIGFsbG93aW5nIEdzdEdMTWVtb3J5IHRvIGJlIG91cgoJICByZWZjb3VudGVkIHRleHR1cmUgb2JqZWN0IGZvciBhbnkgdGV4dHVyZSB0eXBlIChub3QganVzdCBSR0JBKS4KCSAgU2hvdWxkIG5vdCBsb3NlIGFueSBmZWF0dXJlcy92aWRlbyBmb3JtYXRzLgoKMjAxNC0wNC0wMSAxNToxMDowNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlbWVtb3J5LmM6CgkgIGdsL2VnbGltYWdlOiAjaWYgMCB1bnVzZWQgY29kZQoKMjAxNC0wNC0wMSAxMzozMDo1MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBnbDogYWRkIGNvbG9yY29udmVydCBvYmplY3QgdGhhdCBjb252ZXJ0cyBiZXR3ZWVuIGNvbG9yIHNwYWNlcy9mb3JtYXRzCgkgIEN1cnJlbnRseSB1c2VkIGJ5IGJvdGggdXBsb2FkIGFuZCBkb3dubG9hZCBvYmplY3RzIHNlcGFyYXRlbHkuCgoyMDE0LTA0LTEwIDE3OjU1OjIxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogZml4IGZhYWMgQVBJIGVycm9yIGNoZWNraW5nCgkgIENvdmVyaXR5IDExMzk3OTAKCjIwMTQtMDQtMTAgMTc6NTI6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0cGx1Z2luLmM6CgkgIGRhc2hkZW11eDogZG8gbm90IGlnbm9yZSBmYWlsdXJlIHRvIHJlZ2lzdGVyIHR5cGVmaW5kZXIKCSAgQ292ZXJpdHkgMTEzOTYyOQoKMjAxNC0wNC0xMCAxNzo0ODowMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBmaXggdGltZSBsZWFrCgkgIENvdmVyaXR5IDExNDcwMTYKCjIwMTQtMDQtMTAgMTc6NDQ6MTQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcmVtb3ZlIGRlYWQgY29kZSBhbmQgdmFyaWFibGUKCSAgQSByZWNlbnQgY29tbWl0IG1hZGUgc3RyZWFtIG5vdCBhYmxlIHRvIGJlIE5VTEwsIGVuZGluZyB1cCB3aXRoCgkgIGEgZmxhZyBiZWluZyBhbHdheXMgc2V0IHRvIEZBTFNFIHdoZW4gaXQgbWF0dGVycy4KCSAgQ292ZXJpdHkgMTE0Njk2OCwgMTE0NzAxMgoKMjAxNC0wNC0xMCAxNzozNzoyMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSAgY3VybDogcmVtb3ZlIHVubmVlZGVkIE5VTEwgY2hlY2sKCSAgV2UganVzdCBjaGVja2VkIGZvciBOVUxMIGFuZCBhbGxvY2F0ZWQgaWYgaXQgd2FzLiBBbmQgZ2xpYiBhYm9ydHMKCSAgaWYgaXQgY2FuJ3QgYWxsb2NhdGUsIEknbSB0b2xkLgoJICBDb3Zlcml0eSAxMTM5ODQxCgoyMDE0LTA0LTEwIDE3OjMzOjU1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJICBjdXJsOiByZW1vdmUgZHVwbGljYXRlIGFzc2lnbm1lbnQKCSAgQ292ZXJpdHkgMTE5NzcwOAoKMjAxNC0wNC0xMCAxNjo1Mzo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEFsc28gdXBkYXRlIHRoZSBzZXF1ZW5jZSBwb3NpdGlvbiB3aGVuIHVwZGF0aW5nIG5vbi1saXZlIHBsYXlsaXN0cwoKMjAxNC0wNC0xMCAxNDo1OTo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFRyeSByZWxvYWRpbmcgdGhlIHBsYXlsaXN0IGZpcnN0IGlmIGRvd25sb2FkaW5nIGEgZnJhZ21lbnQgZmFpbHMKCSAgQnV0IG9ubHkgYWRkIHRoaXMgZm9yIG5vbi1saXZlIHBsYXlsaXN0cy4gRm9yIGxpdmUgcGxheWxpc3RzIHdlIGFscmVhZHkKCSAgaGF2ZSBhbm90aGVyIHRocmVhZCB0aGF0IGlzIHBlcmlvZGljYWxseSB1cGRhdGluZyBwbGF5bGlzdHMuCgkgIFJlYXNvbiBmb3IgdGhpcyBpcyB0aGF0IHNvbWV0aW1lcyBkb3dubG9hZGluZyBhIGZyYWdtZW50IGNhbiBmYWlsIGJlY2F1c2UKCSAgdGhlIFVSSXMgaGF2ZSBjaGFuZ2VkIG9yIGV4cGlyZWQgc2luY2UgbGFzdCB0aW1lLgoKMjAxNC0wNC0xMCAxNDo0NjowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFdoZW4gdXBkYXRpbmcgYSBub24tbGl2ZSBwbGF5bGlzdCBtYWtlIHN1cmUgdG8gZmluZCB0aGUgY3VycmVudCBzZXF1ZW5jZSBieSB0aW1lCgkgIFNlcXVlbmNlIG51bWJlcnMgaW4gZGlmZmVyZW50IHBsYXlsaXN0cyBhcmUgbm90IGd1YXJhbnRlZWQgdG8gYmUgdGhlIHNhbWUgZm9yIHRoZQoJICBzYW1lIHBvc2l0aW9uLCBlLmcuIGZyYWdtZW50cyBjb3VsZCBoYXZlIGRpZmZlcmVudCBkdXJhdGlvbnMgaW4gZGlmZmVyZW50IHBsYXlsaXN0cy4KCSAgSW4gdGhlb3J5IHdlIHNob3VsZCBkbyBleGFjdGx5IHRoZSBzYW1lIGZvciBsaXZlIHBsYXlsaXN0cywgYnV0IHVuZm9ydHVuYXRlbHkgd2UgY2FuJ3QKCSAgYmVjYXVzZSBkb2luZyB0aGlzIGtpbmQgb2Ygc2Vla2luZyByZXF1aXJlcyB0aGUgY29tcGxldGUgcGxheWxpc3Qgc2luY2Ugd2Ugc3RhcnRlZAoJICBwbGF5YmFjay4gRm9yIGxpdmUgcGxheWxpc3RzIHRoZSBzZXJ2ZXIgaXMgaG93ZXZlciBkcm9wcGluZyBmcmFnbWVudHMgaW4gdGhlIGJlZ2lubmluZwoJICBvdmVyIHRpbWUgYW5kIHdlIGhhdmUgbm8gYWJzb2x1dGUgdGltZSByZWZlcmVuY2VzLgoKMjAxNC0wNC0wOSAxNzoyODo0OSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIHNtb290aHN0cmVhbWluZzogYXZvaWQgdXNpbmcgYW4gdW5pbml0aWFsaXplZCBtYW5pZmVzdAoJICBJZiB3ZSBkaWQgbm90IHNldCB0aGUgbWFuaWZlc3QgeWV0LCBlYXJseSBvdXQgaW4gdGhlIHNlZWtpbmcgcXVlcnkuCgkgIENvdmVyaXR5IDExMzk3MzcKCjIwMTQtMDMtMTcgMTY6Mzk6NDIgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBoMjY0cGFyc2U6IFNldCBmcmFtZXJhdGUgZXZlbiBmb3IgaW50ZXJsYWNlZCB2aWRlb3MKCSAgQ28tQXV0aG9yZWQgYnk6IE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjc1MgoKMjAxNC0wNC0wOSAxMDowNDo0NiArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSAgbXBlZ3RzOiBhZGQgYXRzYyB0ZXJyZXN0cmlhbCB2aXJ0dWFsIGNoYW5uZWwgdGFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzQ2MAoKMjAxNC0wNC0wOSAxNTowNzoxOSArMDIwMCAgU2FudGlhZ28gQ2Fyb3QtTmVtZXNpbyA8c2FuY2FuZUBnbWFpbC5jb20+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IGZpeCBtZW1vcnkgbGVhayBxdWVyeWluZyBzaW5rIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzg5NAoKMjAxNC0wNC0wOSAxODo0NDozOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvaGxzL2dzdGhsc3NpbmsuYzoKCSAgaGxzc2luazogY2F0Y2ggZmFpbHVyZSB0byB3cml0ZSBwbGF5bGlzdCBmaWxlCgkgIENvdmVyaXR5IDExMzk2MTMKCjIwMTQtMDQtMDkgMTg6MzE6MzEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJICBrYXRlOiBmaXggaW1wbGljaXQgcHJvbW90aW9uIHRvIHNpZ25lZCBpbnQgYnJlYWtpbmcgb24gbGFyZ2Vpc2ggaW5wdXRzCgkgIENvdmVyaXR5IDExMzk4NTgsIDExMzk4NTcKCjIwMTQtMDQtMDkgMTg6MTY6NTIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFzaW5rLmM6CgkgIGxhZHNwYTogcmVtb3ZlIGR1cGxpY2F0ZSBhc3NpZ25tZW50CgkgIENvdmVyaXR5IDExMzk3MDYKCjIwMTQtMDQtMDkgMTg6MTI6NTggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IGZpeCBvcGVuIGVycm9yIGNoZWNraW5nCgkgIENvdmVyaXR5IDIwNjM2NAoKMjAxNC0wNC0wOSAxNzozNzo0MSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkgIHNjaHJvZGVjOiByZW1vdmUgdW5uZWNlc3NhcnkgY2hlY2sKCSAgVGhlIHRhZyB3YXMgZGVyZWZlcmVuY2VkIGVhcmllci4gRnJvbSB0aGUgbGlic2Nocm9lZGluZ2VyIGNvZGUsCgkgIGl0J3Mgbm90IG9idmlvdXMgdG8gc2VlIHdoZXRoZXIgdGFnIGFuZCBmcmFtZSB3b3VsZCBiZSBOVUxMIGF0CgkgIHRoZSBzYW1lIHRpbWUuIEkgdGhpbmsgaXMgbGlrZWx5IHRoYXQgYm90aCB3aWxsIGJlIG5vbiBOVUxMCgkgIGhlcmUsIGJ1dCB0aGF0J3Mgbm90IGNlcnRhaW4uIEFkZGl0aW9uYWwgdGVzdHMgbWF5IGJlIG5lZWRlZAoJICB0byBhdm9pZCBkZXJlZmVyZW5jaW5nIHRhZyBhbmQvb3IgZnJhbWUsIGJ1dCB3aGF0IHRvIGRvIGlmCgkgIG9ubHkgb25lIGlzIE5VTEwgaXNuJ3Qgb2J2aW91cywgYXMgdGhlIF9nZXRfdGFnIGZ1bmN0aW9uIGRvZXMKCSAgdHJhbnNmZXIgb3duZXJzaGlwIHNvIGlzbid0IHVuZG9hYmxlLgoJICBDb3Zlcml0eSAxMTM5ODUwCgoyMDE0LTA0LTA5IDE3OjEwOjA2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgc21vb3Roc3RyZWFtaW5nOiByZW1vdmUgdW5uZWNlc3NhcnkgY2hlY2sKCSAgVGhlIGZ1bmN0aW9uIGlzIHN0YXRpYywgdGhlIG9ubHkgY2FsbCBzaXRlIHBhc3NlcyBhIG5vbiBOVUxMCgkgIHBvaW50ZXIsIGFuZCB0aGUgcG9pbnRlciBpcyBkZXJlZmVyZW5jZWQgYmVmb3JlIGFueXdheS4KCSAgQ292ZXJpdHkgMTEzOTgzOQoKMjAxNC0wNC0wOSAxNjo1NTozMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHA6IHJlbW92ZSBkZWFkIGFzc2lnbm1lbnQKCSAgQ292ZXJpdHkgMTE5NzcwNwoKMjAxNC0wNC0wOSAxNTo1NDoxOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJICBtcGVndHM6IGZpeCBzZHQgbGVuZ3RoIGNoZWNrCgkgIEl0IHdhcyBvcmlnaW5hbGx5IHRlc3QgZm9yIDkgYnl0ZXMgKGFzIHRoZSBjb21tZW50IHNheXMpIGFuZCB3YXMKCSAgcmV3cml0dGVuIGJ1Z2dpbHkuIFNvIHJld3JpdGUgaXQgYSB0aGlyZCB3YXksIHdoaWNoIGlzIG5vdwoJICBob3BlZnVsbHkgY29uc2lzdGVudCB3aXRoIHRoZSBvcmlnaW5hbCBhbmQgdGhlIGNvbW1lbnQsIHdoaWxlCgkgIGJlaW5nIG1vcmUgc2Vuc2UtbWFraW5nIHRvIGh1bWFucy4KCSAgQ292ZXJpdHkgMTEzOTY1NAoKMjAxNC0wNC0wOSAxNjowMDoyNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkgIFJldmVydCAidHNtdXg6IGNhdGNoIGFsbG9jIGZhaWx1cmUiCgkgIFR1cm5zIG91dCBnbGliIGFib3J0cyBvbiBhbGxvY2F0aW9uIGZhaWx1cmUsIHNvIHRoaXMgaXMgcG9pbnRsZXNzLgoJICBXZSdsbCBqdXN0IGlnbm9yZSBDb3Zlcml0eSB3YXJuaW5ncyBvbiBzdWNoIGNvbnN0cnVjdHMuCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDM0NzgwOWE4MmUyNDA1NzMwMmY5NDgyNjkzOTJlNzZhYWFjZWExMC4KCjIwMTQtMDQtMDkgMTU6NTg6MzcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkgIG1wZWd0czogdHVybnMgb3V0IGdsaWIgYWJvcnRzIG9uIGFsbG9jYXRpb24gZmFpbHVyZQoJICBTbyB0aGlzIGlzIGFjdHVhbGx5IHBvaW50bGVzcy4gV2UnbGwganVzdCBoYXZlIHRvIGlnbm9yZQoJICBDb3Zlcml0eSBtb2FuaW5nIG9uIHRob3NlLgoJICBSZXZlcnQgIm1wZWd0czogdGVzdCBmb3IgYWxsb2NhdGlvbiBmYWlsdXJlIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDIyNGNiODFiOGZjYmYwM2RmNWUwN2YwNDVlY2I5ZWNmNjQxODk0MDAuCgoyMDE0LTA0LTA5IDE1OjQ0OjEwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVndHM6IHRlc3QgZm9yIGFsbG9jYXRpb24gZmFpbHVyZQoJICBXaGlsZSBpdCdzIHVubGlrZWx5IHRvIGdldCB0aGVyZSwgaXQgc2lsZW5jZXMgdGhlIGNvdmVyaXR5IHdhcm5pbmcKCSAgb24gdGhlIGVycm9yIGNvZGUgcGF0aCB0aGF0IHdlIHRlc3QgZm9yIE5VTEwgYmVmb3JlIGZyZWVpbmcsIHdoZW4KCSAgYWxsIGJyYW5jaGVzIHRoZXJlIGFyZSBmcm9tIGxvY2F0aW9ucyB3aGVyZSBwbXQgY2Fubm90IGJlIE5VTEwsCgkgIGFuZCByZW1vdmluZyB0aGUgTlVMTCBjaGVjayBtYWtlcyB0aGUgY29kZSBtb3JlIHZ1bG5lcmFibGUgdG8gYQoJICBoeXBvdGhldGljYWwgZnV0dXJlIGJyYW5jaCBmcm9tIHNvbWV3aGVyZSB3aGVyZSBpdCBjYW4gYmUuCgkgIENvdmVyaXR5IDExMzk4NTIKCjIwMTQtMDQtMDkgMTU6NDE6MTEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiByZW1vdmUgdW5uZWNlc3NhcnkgdGVzdAoJICBXZSd2ZSBiZWVuIGRlcmVmZXJlbmNpbmcgdGhhdCBvYmplY3QgbGlrZSB0aGVyZSdzIG5vIHRvbW9ycm93CgkgIGluIHRoZSBjb2RlIGp1c3QgYmVmb3JlIHRoYXQuCgkgIENvdmVyaXR5IDIwNjM2OQoKMjAxNC0wNC0wOSAxNTozNzo1NSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSAgYXNmbXV4OiByZW1vdmUgc3RyYXkgZ3N0X2J1ZmZlcl91bm1hcCBvbiBlcnJvciBwYXRoCgkgIEEgcHJldmlvdXMgY29tbWl0IHJlbW92ZWQgdGhlIG1hcCwgYW5kIHRoZSB1bm1hcCBvbiB0aGUgbWFpbgoJICBjb2RlIHBhdGgsIGJ1dCBub3QgdGhlIG9uZSBvbiB0aGUgZXJyb3IgcGF0aC4KCSAgQ292ZXJpdHkgMTEzOTkzMAoKMjAxNC0wNC0wOSAxNToyODowNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IHJlbW92ZSBkZWFkIGNvZGUKCSAgVGhvc2UgZXZlbnRzIHdlcmUgcHJldmlvdXNseSB0YWtlbiBmcm9tIGEgY2FjaGVkIGV2ZW50cyBsaXN0LAoJICB3aGljaCB3YXMgcmVtb3ZlZCBkdXJpbmcgdGhlIHBvcnQgdG8gMC4xMSwgYnV0IHRoaXMgYml0IHN0YXllZC4KCSAgQ292ZXJpdHkgMTEzOTY4NAoKMjAxNC0wNC0wOSAxNToyNDoxMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IHJlbW92ZSB1bm5lZWRlZCBjaGVjawoJICBBIG1lc3NhZ2UgbWF5IG5vdCBiZSBOVUxMIGluIHRoZSBtZXNzYWdlIGhhbmRsaW5nIGZ1bmN0aW9uCgkgIChhbmQgbm90aGluZyB0aGVyZSBzZXRzIGl0IHRvIE5VTEwpLgoJICBDb3Zlcml0eSAxMTM5ODQ4CgoyMDE0LTA0LTA5IDE1OjE4OjIyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuYzoKCSAgY29tcGFyZTogc3BlY2lhbCBjYXNlIGVtcHR5IHJlZ2lvbnMgd2l0aCAxIFNTSU0gdG8gYXZvaWQgZGl2aWRpbmcgYnkgMAoJICBDb3Zlcml0eSAxMTM5Njg5LCAxMTM5Njg4CgoyMDE0LTA0LTA5IDE1OjA5OjI1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnRlc3QuYzoKCSAgaW50ZXI6IHJlbW92ZSBkZWFkIGNvZGUKCSAgQ292ZXJpdHkgMTEzOTY2NgoKMjAxNC0wNC0wOSAxNTowMzo0NSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IHJlbW92ZSBkZWFkIGNvZGUKCSAgRnJvbSB0aGUgMC4xMSBwb3J0CgkgIENvdmVyaXR5IDExMzk2NzYKCjIwMTQtMDQtMDkgMTQ6Mzc6NDggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZDogYXZvaWQgY3Jhc2hpbmcgaW4gcGF0aG9sb2dpY2FsIGNhc2UKCSAgV2hlbiB3ZSdkIHNlZSBhbiB1bmtub3duIHN0cmVhbSB0eXBlLCB0aGVuIGEgU0REUyBzdHJlYW0uCgkgIFRoZW4gd2UnZCBnZXQgdG8gdGhlIGVuZCBvZiB0aGUgc3dpdGNoIHdpdGggYSBOVUxMIHRlbXAgc3RyZWFtCgkgIHBvaW50ZXIsIGFuZCBkZXJlZmVyZW5jZSBpdC4KCSAgQ292ZXJpdHkgMTEzOTcwOAoKMjAxNC0wNC0wOSAxNDoxMzo0NiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogY2F0Y2ggcHJldi1ub3QtZm91bmQgd2hlbiBpbnNlcnRpbmcgaW4gdGhlIGdyb3VwIGxpc3QKCSAgV2hpbGUgdGhpcyBwcm9iYWJseSBzaG91bGQgbmV2ZXIgaGFwcGVuIGlmIGNhbGxlcnMgYXJlIHdlbGwgYmVoYXZlZCwKCSAgdGhpcyBhdm9pZHMgYSBjcmFzaCBpZiBpdCBkb2VzLiBXaXRoIGEgd2FybmluZyBhYm91dCBpdC4gVW5zdXJlIGlmCgkgIGl0J2QgYmUgYmV0dGVyIHRvIG5vdCBhZGQgYXQgYWxsLCBidXQgaXQgc2hvdWxkIG5vdCBoYXBwZW4uLi4KCSAgQ292ZXJpdHkgMTEzOTcxMwoKMjAxNC0wNC0wOSAxMzo1MTo0MSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGd1YXJkIGFnYWluc3QgX2Rpc3Bvc2UgYmVpbmcgY2FsbGVkIG11dGlwbGUgdGltZXMKCSAgX2Rpc3Bvc2UgY2FsbHMgX3Jlc2V0LCBzbyB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSBfcmVzZXQgaGFuZGxlcwoJICBhbHJlYWR5IE5VTExlZCBmaWVsZHMuCgkgIENvdmVyaXR5IDExMzk4NDMKCjIwMTQtMDQtMDkgMTM6NDM6MTAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJICB0c211eDogcHJldmVudCBwb3NzaWJsZSBkb3VibGUgZnJlZSBvbiBlcnJvciBwYXRoCgkgIFNwb3R0ZWQgd2hpbGUgbG9va2luZyBhdCBhIENvdmVyaXR5IGlzc3VlIGluIHRoZSBhcmVhLgoKMjAxNC0wNC0wOSAxMzo0MTozNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkgIHRzbXV4OiBjYXRjaCBhbGxvYyBmYWlsdXJlCgkgIFdoaWxlIGl0IHdpbGwgcHJvYmFibHkgbm90IHRyaWdnZXIsIGl0IHNob3VsZCBzaWxlbmNlIGEgQ292ZXJpdHkKCSAgd2FybmluZyBhYm91dCB0aGUgZmFpbCBjb2RlIHBhdGggdGVzdGluZyBmb3IgTlVMTG5lc3MgYmVmb3JlCgkgIGZyZWVpbmcsIHdoZXJlIHRoZSBidWZmZXIgd2FzIGFscmVhZHkgZGVyZWZlcmVuY2VkLiBJdCBzZWVtcwoJICBzYWZlc3QgdG8ga2VlcCB0aGF0IHRlc3QsIGluIGNhc2UgZnV0dXJlIGdvdG8gZmFpbCBzdGF0ZW1lbnRzCgkgIGhhcHBlbiB0byBoYXZlIGEgTlVMTCBidWZmZXIgdGhlcmUuCgkgIENvdmVyaXR5IDExMzk4NTEKCjIwMTQtMDQtMDkgMTE6NDM6MjMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJICBkZWNrbGluazogaW5pdGlhbGl6ZSBwcml2IHRvIE5VTEwKCSAgV2hpbGUgdGhlIGNvZGUgdGhhdCBjcmVhdGVzIHRoZSBvYmplY3Qgc2V0cyBwcml2IHRvIHNvbWUgZXhpc3RpbmcKCSAgcG9pbnRlciBhZnRlciBuZXcsIHRoaXMgZW5zdXJlcyBhbnkgZnV0dXJlIG5ldyBub3QgZG9pbmcgdGhpcyB3aWxsCgkgIGhpdCB0aGUgdmFyaW91cyBwcml2IT1OVUxMIGFzc2VydHMgaW4gdGhlIGNvZGUuCgkgIENvdmVyaXR5IDExMzk5MzUKCjIwMTQtMDQtMDkgMTE6MTU6MTAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgIHNwZWVkOiBtYWtlIGR1cmF0aW9uIHF1ZXJ5IGFibGUgdG8gY29udmVydCBieXRlcyB0byB0aW1lCgkgIEl0IHdhcyBvbmx5IHF1ZXJ5aW5nIGluIHRpbWUsIGJ1dCB0aGVuIHRyeWluZyB0byB1c2UgZGVhZCBieXRlcwoJICB0byB0aW1lIGNvbnZlcnNpb24gY29kZS4KCSAgQ292ZXJpdHkgMTEzOTY3NwoKMjAxNC0wNC0wOSAxMTowNDozMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IGZpeCBsZWZ0IGNyb3AgY2hhbmdlIHRlc3QKCSAgSXQgd2FzIHRlc3RpbmcgYSBub29wCgkgIENvdmVyaXR5IDExMzk2NDMKCjIwMTQtMDQtMDkgMTE6MDI6MDAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJICBvcHVzOiBhZGQgbWlzc2luZyB2YV9lbmQgaW4gdmFyaWFkaWMgZnVuY3Rpb24KCSAgQ292ZXJpdHkgMTEzOTk0NAoKMjAxNC0wNC0wOSAxMTowMDoyMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiByZW1vdmUgZGVhZCBjb2RlCgkgIENvdmVyaXR5IDExMzk2ODMKCjIwMTQtMDQtMDkgMTA6NTY6MTYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJICBtZmM6IHJlc2V0ICJpbiB1c2UiIGZsYWcgb24gZmFpbHVyZSB0byBpbml0aWFsaXplCgoyMDE0LTA0LTA5IDEwOjU1OjQ2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSAgbWZjOiB0ZXN0IGZvciBhbGxvY2F0aW9uIGZhaWx1cmUgYmVmb3JlIGRlcmVmZXJlbmNpbmcKCSAgQ292ZXJpdHkgMTEzOTg0OQoKMjAxNC0wNC0wOSAxMDozMzoxMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgIG1wZWcyZW5jOiByZW1vdmUgZGVhZCBhc3NpZ25tZW50CgkgIENvdmVyaXR5IDExMzk4MjkKCjIwMTQtMDQtMDkgMTA6Mjg6NDYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmg6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSAgZ2w6IHBhc3MgbGFyZ2Ugc3RydWN0dXJlIGJ5IGNvbnN0IHBvaW50ZXIsIG5vdCB2YWx1ZQoJICBBdm9pZHMgbGFyZ2UgcG9pbnRsZXNzIG1lbWNweS4KCSAgQ292ZXJpdHkgMjA2MjM2LCAyMDYyMzcKCjIwMTQtMDQtMDggMjE6Mzk6MjAgKzAzMDAgIE1vaGFtbWVkIFNhbWVlciA8bXNhbWVlckBmb29sYWIub3JnPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJICBjYW1lcmFiaW46IGFkZCBhbnkgZmVhdHVyZSB0byB2aWV3ZmluZGVyYmluIHN0YXRpYyBwYWQgdGVtcGxhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzg1NwoKMjAxNC0wNC0wOCAyMDo1NDoyNiArMDMwMCAgTW9oYW1tZWQgU2FtZWVyIDxtc2FtZWVyQGZvb2xhYi5vcmc+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogcmVwb3J0IGFuIGVycm9yIGlmIHdlIGZhaWwgdG8gbGluayB2ZnNyYyBhbmQgdmlld2ZpbmRlciBxdWV1ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3ODU1CgoyMDE0LTA0LTA4IDE3OjQ1OjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogcG9zdCBwcm9wZXIgZXJyb3IgbWVzc2FnZSB3aGVuIHdpbmRvdyBkaXNhcHBlYXJzCgoyMDE0LTA0LTA4IDE3OjM0OjEzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSAgZmxpdGU6IGZpeCBvZmYgYnkgb25lIGluIGNoYW5uZWwgbWFzayBidWlsZGluZwoJICBUaGUgZmlyc3QgbG9vcCB3b3VsZCBzaGlmdCAxIGJ5IDY0LCB3aGljaCBpcyBlaXRoZXIgdW5kZWZpbmVkCgkgIG9yIGltcGxlbWVudGF0aW9uIGRlZmluZWQsIGluc3RlYWQgb2YgY2xlYXJpbmcgdGhlIHRvcCBiaXQuCgkgIENvdmVyaXR5IDExOTc2OTEKCjIwMTQtMDQtMDggMTc6MTA6MjcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsczogcmVzdG9yZSBOVUxMIHRlc3QgbWlzdGFrZW5seSByZW1vdmVkCgkgIFRoYW5rcyB0byB0cG0gZm9yIHBvaW50IG91dCBJJ20gYW4gaWRpb3QuCgoyMDE0LTA0LTA4IDE2OjUzOjU0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzOiBvbmx5IHNldCBESVNDT05UIGZsYWcgb24gYSB2YWxpZCBidWZmZXIKCSAgUmVjZW50IHJlZmFjdG9yaW5nIGNhdXNlcyB0aGlzIGNvZGUgdG8gYmUgY2FsbGVkIHdpdGggZWl0aGVyIGEgTlVMTAoJICBmcmFnbWVudCwgb3IgYSBub24gTlVMTCBmcmFnbWVudC4gSW4gdGhlIGZvcm1lciBjYXNlLCB3ZSBkb24ndCBoYXZlCgkgIGEgYnVmZmVyLiBJbiB0aGUgbGF0dGVyIGNhc2UsIHRoZSBvcmlnaW5hbCBjb2RlIGRlYWxpbmcgd2l0aCBESVNDT05UCgkgIGFzc3VtZWQgdGhlIGJ1ZmZlciB3YXMgdmFsaWQuIFRlc3RpbmcgZm9yIGEgTlVMTCBidWZmZXIgaGVyZSB0aHVzCgkgIGRvZXMgbm90IHNlZW0gdG8gY2hhbmdlIHRoZSBpbnRlbnQsIGFuZCBmaXhlczoKCSAgQ292ZXJpdHkgMTE5NTE0NwoKMjAxNC0wNC0wOCAxNjo1Mzo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IGd1YXJkIGFnYWluc3QgTlVMTCBtYXRlcmlhbCB0cmFjawoJICBKdXN0IHRvIGJlIG9uIHRoZSBzYWZlIHNpZGUuCgoyMDE0LTA0LTA4IDE2OjQ2OjU2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHM6IGJyaW5nIE5VTEwgdGVzdCBiZWZvcmUgZGVyZWZlcmVuY2UKCSAgQ292ZXJpdHkgMTE5NTE2OAoKMjAxNC0wNC0wOCAxNjoyMzo1MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbDogdGVzdCBmb3IgZnJhbWUgTlVMTG5lc3MgYmVmb3JlIGRlcmVmZXJlbmNpbmcgaXQKCSAgQ292ZXJpdHkgMTE5NTE3MiwgMTE5NTE3MQoKMjAxNC0wNC0wOSAwMDo0NDowOCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEF2b2lkIGluZmluaXRlIGxvb3BzIG9uIHNob3J0IGRhdGEKCjIwMTQtMDQtMDggMTY6MDk6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkgIGR2YjogZml4IGNvbXBpbGF0aW9uCgoyMDE0LTA0LTA4IDE1OjU0OjAxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2VtZW1vcnkuYzoKCSAgZ2w6IGZpeCBsZWFrcwoJICBBcyB0aGUgcmVsZXZhbnQgdmFyaWFibGVzIGFyZSBpbml0aWFsaXplZCB0byAwL05VTEwsIHdlIGNhbiBsb29wCgkgIG92ZXIgdGhlIGZ1bGwgcmFuZ2UgYW5kIG1ha2Ugc3VyZSB3ZSBmcmVlIHBhcnRpYWwgYWxsb2NhdGlvbnMKCSAgd2hlbiBhbiBlcnJvciBoYXBwZW5zIHBhcnR3YXkgdGhyb3VnaCBpbml0aWFsaXphdGlvbi4KCjIwMTQtMDQtMDggMTU6MjY6MDQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJICBkdmI6IHJlamVjdCB0b28gbG9uZyBzb2NrZXQgcGF0aHMKCSAgQ292ZXJpdHkgMjA2MDA0CgoyMDE0LTA0LTA4IDE0OjMzOjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogaW1wbGVtZW50IHNpbXBsZSBLRVlfVU5JVCBzZWVraW5nCgkgIElmIGEgS0VZX1VOSVQgc2VlayB3YXMgcmVxdWVzdGVkLCBhZGp1c3Qgc2VnbWVudAoJICBzdGFydCB0byBwb3NpdGlvbiBvZiB0aGUga2V5IGZyYW1lLgoKMjAxNC0wNC0wOCAxNDoyNDozMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IGd1YXJkIGFnYWluc3Qgb3ZlcmZsb3cgaW4gYXVkaW8gc3VidGl0bGUgc3RyZWFtcwoJICBUdXJucyBvdXQgdGhlcmUgd2FzIHRoZSBzYW1lIGlzc3VlIGFzIHdpdGggc3VidGl0bGVzLgoJICBUaGVyZSBpcyBzcGFjZSBmb3IgYSBzaW5nbGUgYXVkaW8gc3RyZWFtLCBidXQgdXAgdG8gMjU1CgkgIG1heSBiZSB1c2VkIGJhc2VkIG9uIGEgdWludDhfdCB2YWx1ZSBpbiBhIHN0cnVjdCwgd2hpY2ggbWF5CgkgIG9yIG1heSBub3QgYmUgcmVhZCBmcm9tIHRoZSAodW50cnVzdGVkKSBkYXRhLgoJICBBIGNvbW1lbnQgaW4gaWZvX3R5cGVzLmggc2F5cyB0aGlzIHZhbHVlIGlzIGVpdGhlciAwIG9yIDEsIHNvCgkgIHdlIGNhbiBlbnN1cmUgdGhpcyBoZXJlIHdpdGhvdXQgZHJhd2JhY2tzLgoJICBDb3Zlcml0eSAxMTM5NTg1CgoyMDE0LTA0LTA4IDE0OjE5OjI5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogZ3VhcmQgYWdhaW5zdCBvdmVyZmxvdyBpbiBtZW51IHN1YnRpdGxlIHN0cmVhbXMKCSAgVGhlcmUgaXMgc3BhY2UgZm9yIGEgc2luZ2xlIHN1YnRpdGxlIHN0cmVhbSwgYnV0IHVwIHRvIDI1NQoJICBtYXkgYmUgdXNlZCBiYXNlZCBvbiBhIHVpbnQ4X3QgdmFsdWUgaW4gYSBzdHJ1Y3QsIHdoaWNoIG1heQoJICBvciBtYXkgbm90IGJlIHJlYWQgZnJvbSB0aGUgKHVudHJ1c3RlZCkgZGF0YS4KCSAgQSBjb21tZW50IGluIGlmb190eXBlcy5oIHNheXMgdGhpcyB2YWx1ZSBpcyBlaXRoZXIgMCBvciAxLCBzbwoJICB3ZSBjYW4gZW5zdXJlIHRoaXMgaGVyZSB3aXRob3V0IGRyYXdiYWNrcy4KCSAgQ292ZXJpdHkgMTEzOTU4NgoKMjAxNC0wNC0wOCAxMzoyNjo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IGZpeCBzZWVraW5nLCBzZW5kIGRhdGEgc3RhcnRpbmcgZnJvbSBhIGtleSB1bml0CgkgIEZpeGVzIG11bHRpcGxlIHNlZWtpbmcgaXNzdWVzLiBXaGVuIGRvaW5nIEFDQ1VSQVRFIG9yIG5vcm1hbAoJICBub24tS0VZVU5JVCBzZWVrcywgbXhmZGVtdXggd291bGQganVzdCBzZW5kIGRhdGEgZnJvbSB0aGUKCSAgZWRpdCB1bml0IHRoYXQgY292ZXJlZCB0aGUgc2VlayBwb3NpdGlvbiwgd2hldGhlciB0aGF0J3MKCSAgYSBrZXlmcmFtZSBvciBub3QuIERlY29kZXJzIHdvdWxkIG9ubHkgb3V0cHV0IHRoaW5ncyBmcm9tCgkgIHRoZSBuZXh0IGtleWZyYW1lIHRoZW4sIHdoaWNoIG1lYW5zIHRoZXJlJ3MgYSBnYXAgYmV0d2VlbgoJICB0aGUgc3RhcnQgb2YgdGhlIHNlZ21lbnQgYW5kIHRoZSBmaXJzdCBkZWNvZGVkIGRhdGEgaW4KCSAgc29tZSBjYXNlcy4gSW4gY29tYmluYXRpb24gd2l0aCBnc3QtZWRpdGluZy1zZXJ2aWNlcyB0aGlzCgkgIG1pZ2h0IHJlc3VsdCBpbiBhIGZyb3plbiBwaWN0dXJlIGZvciB0aGUgZHVyYXRpb24gb2YgdGhhdAoJICBnYXAgYXQgdGhlIGJlZ2lubmluZyAoaWYgdmlkZW9yYXRlIGZpeGVzIHVwIHRoZSBmaXJzdAoJICBidWZmZXIncyBzdGFydCB0aW1lc3RhbXAgdG8gY292ZXIgdGhlIGVudGlyZSBnYXApLCBvcgoJICBhIGJsYWNrIGZyYW1lIChpZiBubyB2aWRlb3JhdGUgaXMgdXNlZCBhbmQgdmlkZW9taXhlcgoJICBmaWxscyB0aGUgZ2FwKS4gQWxzbyBmaXhlcyBBL1Ygc3luYyBpc3N1ZSB3aGVuIHJlcXVlc3RpbmcKCSAgYSBLRVlVTklUIHNlZWsuCgoyMDE0LTA0LTA4IDEyOjM3OjMwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0c2RlYzogZml4IGJ1ZmZlciBvdmVyZmxvd3MKCSAgQ2hhbm5lbHMgY2FuIGJlIHVwIHRvIDcuIEFsc28gYWRkIGEgZ3VhcmQgaW4gY2FzZSBtb3JlIGNhbiBiZQoJICByZXR1cm5lZCBpbiB0aGUgZnV0dXJlLgoJICBDb3Zlcml0eSAxMTM5ODIwLCAxMTM5ODIxCgoyMDE0LTA0LTA4IDEzOjIwOjU0ICswMjAwICBYYXZpIEFydGlnYXMgPHhhcnRpZ2FzQGZsdWVuZG8uY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkgIGRpcmVjdHNvdW5kc3JjOiBGaXggY3JpdGljYWwgZHVlIHRvIG1pc3NpbmcgZGVidWcgY2F0ZWdvcnkgaW5pdGlhbGl6YXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzgxMgoKMjAxNC0wNC0wOCAxMjoyMDo0MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgZmVzdGl2YWw6IGZpeCBmZCBsZWFrCgkgIENvdmVyaXR5IDExMzk4MzEKCjIwMTQtMDQtMDggMTE6MjY6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgIHNwZWVkOiBDbGFyaWZ5IHBhc3N0aHJvdWdoIGluIHN3aXRjaCBzdGF0ZW1lbnQKCSAgV2UgZG8gd2FudCB0aGUgY2FwcyBldmVudCB0byBiZSBmb3J3YXJkZWQgZG93bnN0cmVhbQoJICBDSUQgIzExMzk3NTQKCjIwMTQtMDQtMDggMTE6MjM6NTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIHNvdW5kdG91Y2g6IEFkZCBtaXNzaW5nIGJyZWFrIGluIHN3aXRjaAoJICBXaG9vcHMsIG1vZGlmeWluZyB0aGUgcGl0Y2ggd2hlbiBtb2RpZnlpbmcgdGhlIG91dHB1dCByYXRlIC4uLgoJICBDSUQgIzExMzk3NDkKCjIwMTQtMDQtMDggMTE6MjE6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSAgcnN2ZzogQWRkIG1pc3NpbmcgYnJlYWsgaW4gc3dpdGNoIHN0YXRlbWVudAoJICBUaGlzIHdhc24ndCBmYXRhbCBiZWZvcmUgKHdvcnN0IGNhc2UgaXQgd291bGQgY2xlYXIgYW4gYWxyZWFkeSBlbXB0eQoJICBhZGFwdGVyKS4KCSAgQ0lEICMxMTM5NzU4CgoyMDE0LTA0LTA4IDExOjIwOjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgbXBlZzJlbmM6IEFkZCBtaXNzaW5nIGJyZWFrIGluIHN3aXRjaAoJICBRVUVSWV9DQVBTIGlzIGZ1bGx5IGhhbmRsZWQsIHdlIGRvbid0IG5lZWQgdG8gcGFzc3Rocm91Z2ggdG8gdGhlIGRlZmF1bHQKCSAgaGFuZGxlci4KCSAgQ0lEICMxMTM5NzU2CgoyMDE0LTA0LTA4IDA5OjUxOjA4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkqIGV4dC9iejIvZ3N0YnoyZW5jLmM6CgkgIGJ6MjogSW5pdGlhbGl6ZSB2YXJpYWJsZXMKCSAgVGhlcmUgaXMgYSBzbWFsbCBjaGFuY2UgdGhhdCB3ZSBtaWdodCBlbmQgdXAgaW4gdGhlIGRvbmUgc3RlcCB3aXRob3V0CgkgIGhhdmluZyBhbnkgb3V0cHV0IGF2YWlsYWJsZS4KCSAgRnVydGhlcm1vcmUsIHdoZW4gZ29pbmcgdGhyb3VnaCBub3RfcmVhZHksIHdlIG5lZWQgdG8gZW5zdXJlIGdzdF9idWZmZXJfdW5tYXAKCSAgaGFzIGEgcHJvcGVybHkgaW5pdGlhbGl6ZWQgR3N0TWFwSW5mby4KCSAgQ0lEICMxMTM5OTIzCgkgIENJRCAjMTEzOTkyNAoJICBDSUQgIzExMzk5MTkKCSAgQ0lEICMxMTM5OTIwCgoyMDE0LTA0LTA4IDA3OjQ4OjI4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICBjaGVjazogRml4IG1wZWd0c211eCBjYXBzCgkgIEluY29taW5nIHN0cmVhbXMgbmVlZCB0byBiZSBwYXJzZWQuIERvZXNuJ3QgZml4IHRoZSB0ZXN0IGNvbXBsZXRlbHkgdGhvdWdoCgoyMDE0LTA0LTA4IDA3OjQ3OjE1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogSW5pdGlhbGl6ZSBoZWxwZXIgbXBlZ3RzIGxpYnJhcnkKCSAgV2Ugbm93IHVzZSB0aGF0IGxpYnJhcnksIHdlIG5lZWQgdG8gaW5pdGlhbGl6ZSBpdCBzbyB0aGF0IGRlYnVnCgkgIGNhdGVnb3JpZXMgKGFtb25nc3Qgb3RoZXIgdGhpbmdzKSBnZXQgcHJvcGVybHkgaW5pdGlhbGl6ZWQKCjIwMTQtMDQtMDcgMTM6MjU6NTYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkbXMxLmM6CgkgIG14ZjogZml4IHN0b3AgZGF0ZSBwYXJzaW5nIHVzaW5nIHRoZSB3cm9uZyBpbnB1dAoJICBDb3Zlcml0eSAxMTM5NjQ1CgoyMDE0LTA0LTA3IDEzOjIyOjIyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcDJrZGVjaW1hdG9yL2pwMmtjb2Rlc3RyZWFtLmM6CgkgIGpwMmtkZWNpbWF0b3I6IGZpeCBjb3B5L3Bhc3RlIGVycm9ycyBpbiBleHByZXNzaW9ucwoJICBDb3JyZWN0IGZvcm11bGFlIGZvdW5kIGluIElUVSBULjgwMCwgQi4xMi4xLlszNDVdCgkgIENvdmVyaXR5IDExMzk2NDksIDExMzk2NTAsIDExMzk2NTEKCjIwMTQtMDQtMDQgMTU6MzA6MjAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2htLmM6CgkgIHRlc3RzOiBmaXggc2htIHRlc3QgZGVhZGxvY2sKCSAgVGhlIHRlc3Qgd2FzIG5vdCBicmluZ2luZyB0aGUgc291cmNlIGJhY2sgdG8gTlVMTCwgc28gaXRzIHRocmVhZAoJICBjb3VsZCBzdGFydCBjcmVhdGluZyBhIGJ1ZmZlciB3aGlsZSB0aGUgcGFkcyB3ZXJlIGJlaW5nIHNodXRkb3duLgoKMjAxNC0wNC0wNiAxMTo1NzoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogQ3JlYXRlIEdMIGNvbnRleHQgYW5kIHNldCB1cCB3aW5kb3cgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZAoJICBnc3RfZ2xfY29udGV4dF9jcmVhdGUoKSBtaWdodCBuZWVkIHRvIGRpc3BhdGNoIHNvbWUgb3BlcmF0aW9ucyB0byB0aGUKCSAgYXBwbGljYXRpb24ncyBtYWluIHRocmVhZCwgYW5kIGNhbGxpbmcgdGhpcyBpbiB0aGUgY2hhbmdlX3N0YXRlIGZ1bmN0aW9uCgkgIGNhbiBjYXVzZSBkZWFkbG9ja3MuCgoyMDE0LTA0LTA0IDA5OjE5OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEZpeCBjaGVjayBmb3IgaU9TIGZvciB0aGUgT3BlbkdMIHN1cHBvcnQKCSAgVGhlcmUgaXMgYWxzbyBhbiBpMzg2IHZlcnNpb24gb2YgaU9TLCB3aGljaCBpcyBmb3IgdGhlIHNpbXVsYXRvci4KCSAgQmV0dGVyIHVzZSBvdXIgYWxyZWFkeSBleGlzdGluZyBIQVZFX0lPUyBjaGVjayBpbnN0ZWFkIG9mIHJlbHlpbmcKCSAgb24gdGhlIGhvc3QgdHJpcGxldC4KCjIwMTQtMDQtMDMgMTE6NTQ6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiBmaXggcG9zc2libGUgdW5pbml0aWFsaXplZCB2YXJpYWJsZXMKCjIwMTQtMDQtMDMgMTE6NDg6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlOiBvbmx5IGFkZCBsb2NhdGlvbiB3aGVuIG5vZGUgZXhpc3RlZAoJICBBY3R1YWxseSByZXR1cm4gRkFMU0Ugd2hlbiB0aGUgbG9jYXRpb24gbm9kZSB3YXMgbm9uLWV4aXN0aW5nCgkgIE9ubHkgYWRkIHRoZSBsb2NhdGlvbiBub2RlIHdoZW4gaXQgZXhpc3RlZAoKMjAxNC0wNC0wMiAyMzo0OTozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogUmVxdWlyZSBwYXJzZWQvZnJhbWVkIGlucHV0IGZvciBtb3N0IG9mIHRoZSBzdXBwb3J0ZWQgZm9ybWF0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NTE5CgoyMDE0LTA0LTAyIDIzOjA4OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogT25seSBwYXNzIGEgZGVzdCByZWN0YW5nbGUgaWYgc2V0LCBvdGhlcndpc2UgcGFzcyBOVUxMCgkgIENhbGwgd2l0aCBhbiB1bmluaXRpYWxpemVkIHJlY3RhbmdsZSB3aWxsIGNhdXNlIGVycm9ycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxNDk5OAoKMjAxNC0wNC0wMiAxMzo0ODowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICB0ZXN0czogZml4IGdsIHVuaXQgdGVzdHMgZm9yIHJlY2VudCBBUEkgY2hhbmdlcwoKMjAxNC0wNC0wMiAyMzowNTo0NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIGdsOiBwYXNzIHZpZGVvIGluZm8ncyBieSByZWZlcmVuY2UKCjIwMTQtMDQtMDIgMjM6MDU6MTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2w6IGZpeCBhcnJheSBpbml0aWFsaXphdGlvbgoKMjAxNC0wNC0wMiAyMjo1NDo1NSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xidW1wZXIuYzoKCSAgZ2xidW1wZXI6IHJlbW92ZSByZWR1bmRhbnQgY2hlY2sKCjIwMTQtMDQtMDIgMjI6NTM6MTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4LmM6CgkgIGdsL2dseDogdXNlIHRoZSBjb250ZXh0J3MgZGlzcGxheSByYXRoZXIgdGhhbiBhc2tpbmcgZm9yIHRoZSB3aW5kb3cncwoKMjAxNC0wNC0wMiAyMjo0Mzo0MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbDogZml4IGFzc2lnbm1lbnQgb2YgdGVtcG9yYXJ5IHZhcmlhYmxlcwoKMjAxNC0wNC0wMiAyMjo0Mjo1MCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsOiBhdm9pZCBhZGRpbmcgYSBOVUxMIHBvb2wgdG8gcHJvcG9zZSBhbGxvY2F0aW9uCgoyMDE0LTA0LTAyIDEyOjM4OjI4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2wvd2luMzI6IGFjdHVhbGx5IGJ1aWxkIHRoZSBnbCBwbHVnaW5zIG9uIHdpbjMyCgkgIFJlZ3Jlc3Npb24gZnJvbSBjOGZmMjE1YjAyZWUxNzg1MTNlMDc2ZTJkZmJkMTRlOWNlNzdlYzQ5CgoyMDE0LTA0LTAyIDA5OjI5OjU2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2wvd2luMzI6IGZpeCBkZXRlY3Rpb24gb2YgR0wvd2dsZXh0LmgKCSAgV2FzIHJlc3VsdGluZyBpbiAncHJlc2VudCBidXQgY2Fubm90IGJlIGNvbXBpbGVkJyBlcnJvcnMKCjIwMTQtMDQtMDEgMjE6NDg6MjYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbDogZml4IGRldGVjdGlvbiBvZiBleHRlbnNpb25zIHdpdGggR0wgdmVyc2lvbnMgPCAzCgkgIE1lc2EsIGZvciBleGFtcGxlIHJldHVybnMgdmFsaWQgcG9pbnRlcnMgZm9yIGdsR2V0SW50ZWdlcnYgYW5kCgkgIGdsR2V0U3RyaW5naSBldmVuIGlmIHRoZSBnbCB2ZXJzaW9uIGlzIGxlc3MgdGhhbiB0aGF0IHJlcXVpcmVkIGZvcgoJICBib3RoIHRob3NlIGZ1bmN0aW9ucyB0byBzdXBwb3NlZGx5IGV4aXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MzI0CgoyMDE0LTAzLTMwIDIxOjAyOjQ1ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogZml4IGRvY3MKCSAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjczNTYKCjIwMTQtMDMtMzAgMjE6MDI6MTAgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJICBtcGVndHM6IGFkZCBkdmItdDIgZGVsaXZlcnkgc3lzdGVtIGRlc2NyaXB0b3IKCSAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjczNTYKCjIwMTQtMDMtMjQgMTc6NDQ6NDcgKzAxMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBidWdmaXggZGVsaXZlcnkgc3lzdGVtIGRlc2NyaXB0b3JzCgkgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2OTc5CgoyMDE0LTAzLTI3IDIxOjIyOjMyICswMTAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogdXNlIEdTVF9SRUFEX1VJTlQzMl9CRQoJICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzE4NwoKMjAxNC0wMy0yNyAyMToyMToyMyArMDEwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBhZGQgcGFyc2luZyBkYXRhIGJyb2FkY2FzdCBkZXNjcmlwdG9yCgkgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MTg3CgoyMDE0LTAzLTI3IDIxOjE4OjM2ICswMTAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IGFkZCBwYXJzaW5nIHN0cmVhbSBpZGVudGlmaWVyCgkgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MTg3CgoyMDE0LTAzLTI3IDEzOjU2OjI2ICswMTAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogdXNlIGdsaWIgYWxsb2MgYW5kIGZyZWUKCSAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjcxNTkKCjIwMTQtMDMtMjkgMTc6MjY6MDMgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiB1c2UgY29ycmVjdCBwcmludCBmb3JtYXQgZm9yIGdpbnQ2NAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3Mzg1CgoyMDE0LTAzLTMwIDE4OjUyOjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogSGFuZGxlIGVycm9ycyB3aGVuIHN3aXRjaGluZyBwbGF5bGlzdHMgcHJvcGVybHkKCjIwMTQtMDMtMzAgMTg6MTI6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBHbyBFT1MgaWYgdGhlIGVuZCBvZiB0aGUgc2VnbWVudCBpcyByZWFjaGVkCgoyMDE0LTAzLTMwIDE4OjA2OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogU3RvcmUgYnVmZmVyIGVuZCBwb3NpdGlvbiBpbiBzZWdtZW50LnBvc2l0aW9uCgoyMDE0LTAzLTI5IDEwOjE5OjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRml4IHR5cG8gaW4gZGVidWcgb3V0cHV0CgoyMDE0LTAzLTI4IDE4OjI3OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBDb3B5IG92ZXIgRElTQ09OVCBmbGFnIGZyb20gaW5wdXQgYnVmZmVycwoKMjAxNC0wMy0yOCAxODoxMToyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFB1c2ggbmV4dCBidWZmZXIgYWZ0ZXIgYSBkaXNjb250IHdpdGggdGhlIERJU0NPTlQgZmxhZwoKMjAxNC0wMy0yOCAxNzozMjo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IERyYWluIHJlbWFpbmluZyBkYXRhIG9uIGRpc2NvbnRzCgoyMDE0LTAzLTI4IDE3OjI1OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogRmx1c2ggaWYgd2UgcmVjZWl2ZSBhIGRpc2NvbnQgYnVmZmVyCgoyMDE0LTAzLTI4IDE3OjI0OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRG9uJ3QgZGVyZWZlcmVuY2UgTlVMTCBpZiBmbHVzaGVkIGJlZm9yZSBhIHByb2dyYW0gd2FzIHNlbGVjdGVkCgoyMDE0LTAzLTI3IDE5OjQyOjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRW5zdXJlIHRoYXQgYWxsIHBlbmRpbmcgZGF0YSBpcyBwdXNoZWQgZXZlbiBpZiB0aGUgc3RyZWFtIHdhcyBub3QgYWN0aXZhdGVkIGJlZm9yZQoJICBnc3RfdHNfZGVtdXhfcHVzaF9wZW5kaW5nX2RhdGEoKSB3aWxsIGNoZWNrIGlmIGl0IG5vdyBjYW4gYWN0aXZhdGUgdGhlCgkgIHN0cmVhbSBhbmQgYWRkIHRoZSBwYWQsIHdlIGRvbid0IGhhdmUgdG8gY2hlY2sgdGhhdCBvdXJzZWx2ZXMuCgkgIEZpeGVzIHBsYXliYWNrIG9mIHZlcnkgc2hvcnQgTVBFRyBUUyBmaWxlcy4KCjIwMTQtMDMtMjcgMTk6MjI6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBGaXggcHVsbCBtb2RlIHNjYW5uaW5nIGZvciBQQ1Igb24gc21hbGwgZmlsZXMKCSAgSWYgYSBmaWxlIGRvZXMgbm90IGNvbnRhaW4gNSBQQ1JzIHVudGlsIGl0IGlzIEVPUywgb3IgZG9lcyBub3QKCSAgY29udGFpbiBtb3JlIHRoYW4gNjU1MzYwIGJ5dGVzIHRoZSBQQ1Igc2Nhbm5pbmcgYWxnb3JpdGhtIGp1c3QKCSAgYWJvcnRlZC4KCjIwMTQtMDMtMjYgMjI6MjU6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEb24ndCBzZXQgdGhlIHNlZ21lbnQgb2Zmc2V0CgkgIEl0J3MgY2F1c2luZyB3cm9uZyBydW5uaW5nIHRpbWVzIGFmdGVyIHNlZWtzIG9yIGJpdHJhdGUKCSAgc3dpdGNoZXMuCgoyMDE0LTAzLTI2IDA3OjMyOjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogU2V0IERJU0NPTlQgZmxhZyBvbiBhbGwgYnVmZmVycyBpbiByZXZlcnNlIHBsYXliYWNrIG1vZGUKCjIwMTQtMDMtMjYgMDc6MjU6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IEZpeCBmb3J3YXJkcyBhbmQgYmFja3dhcmRzIHNlYXJjaGluZyBpbiB0aGUgZmlsZXMgbGlzdAoKMjAxNC0wMy0yNiAwNzoyNDoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFVuc2V0IERUUyBvZiBhbGwgYnVmZmVycwoJICBXZSB3b24ndCBnZXQgYSB2YWxpZCBEVFMgZnJvbSB0aGUgc291cmNlLgoKMjAxNC0wMy0yNiAwNzoyMjo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFNlbmQgZmx1c2ggc3RhcnQgZXZlbnQgYmVmb3JlIHdhaXRpbmcgZm9yIHRoZSB0YXNrcyB0byBmaW5pc2gKCSAgT3RoZXJ3aXNlIHdlJ2xsIHdhaXQgdW50aWwgYnVmZmVycyBhcmUgY29tcGxldGVseSBwcm9jZXNzZWQgZG93bnN0cmVhbSwKCSAgd2hpY2ggbWlnaHQgdGFrZSBxdWl0ZSBzb21lIHRpbWUuCgoyMDE0LTAzLTA5IDE5OjMxOjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBJbXBsZW1lbnQgdHJpY2sgbW9kZXMgdmlhIEktZnJhbWUgdmFyaWFudCBsaXN0cwoKMjAxNC0wMy0wOSAxODoyNDo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IEltcGxlbWVudCBwYXJzaW5nIG9mICNFWFQtWC1JLUZSQU1FLVNUUkVBTS1JTkYKCSAgVGhlc2UgYXJlIEktZnJhbWUtb25seSB2YXJpYW50IGxpc3RzIHRoYXQgY2FuIGJlIHVzZWQKCSAgZm9yIHRyaWNrIG1vZGUgcGxheWJhY2suCgoyMDE0LTAzLTI4IDIwOjIyOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9NYWtlZmlsZS5hbToKCSAgZ2w6IGVnbDogZml4IGRpc3RjaGVjayBhbmQgb3V0IG9mIHNvdXJjZSBidWlsZAoKMjAxNC0wMy0yOCAyMDo0NzozNiArMDEwMCAgUmljbyBUenNjaGljaGhvbHogPHJpY290ekB1YnVudHUuY29tPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBGaXggbWFrZSBkaXN0CgoyMDE0LTAzLTI4IDE5OjQ2OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBmaXggTERBREQgb3JkZXIgZm9yIGluc2VydGJpbiB0ZXN0CgoyMDE0LTAzLTI4IDE5OjQxOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBkb24ndCBsaW5rIGNvZGVjcGFyc2VyIHRlc3RzIHR3aWNlIHRvIHRoZSBsaWIKCjIwMTQtMDMtMjggMTk6MzA6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGZpeCBidWlsZCBvZiBnbCB1bml0IHRlc3RzIGluIHVuaW5zdGFsbGVkIHNldHVwCgkgIFB1dCBsb2NhbCAubGEgZmlsZXMgZmlyc3QsIGFuZCBhZGQgbGluayB0byBsaWJnc3R2aWRlbwoJICBmb3IgdGVzdHMgdGhhdCB1c2UgdGhlIGxpYmdzdHZpZGVvIEFQSSBkaXJlY3RseS4KCjIwMTQtMDMtMjcgMjI6NDE6MDIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnbC93aW4zMjogYWxsb3cgbm90IGJ1aWxkaW5nIHRoZSBnbCBwbHVnaW5zCgkgIEZpeGVzIGJ1aWxkIG9uIHdpbmRvd3MgaWYgPEdML3dnbGV4dC5oPiBoZWFkZXJzIGFyZSBub3QgcHJlc2VudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzEyNQoKMjAxNC0wMy0yOCAxMTo1NDo0NSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogdW5yZWYgbGFzdCBidWZmZXIgb24gRFJBSU4KCSAgU2ltaWxhciB0byAwOTM1NzQwNTNmYWUyNDNlYzVmY2ZkNmFkYWU4MTg1MDUzYjFlODk2CgkgIGluIGdzdGJhc2VzaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjYxMDcKCjIwMTQtMDMtMjcgMTg6NTE6NTkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogZml4IHdyb25nIGRvYyBibG9jayBmb3IgY3JlYXRlX3dpbmRvdwoJICBXcm9uZyBzaW5jZSAxYWQyNTNiOSB3aGVuIHByb3AgbmFtZSB3YXMgY2hhbmdlZCBmcm9tCgkgIGNhbl9jcmVhdGVfd2luZG93IHRvIGNyZWF0ZV93aW5kb3cuCgoyMDE0LTAzLTI3IDIyOjAyOjIyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2w6IGRvbid0IGZhaWwgY29uZmlndXJlIGlmIHdlIGRvIG5vdCB1bmRlcnN0YW5kIHRoZSBwbGF0Zm9ybQoKMjAxNC0wMy0yNSAxNTo0MDoxNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9NYWtlZmlsZS5hbToKCSAgZ2w6IGZpeCBvdXQtb2Ytc291cmNlIGJ1aWxkcyBwdDIKCSAgMjFiODk3ZGUyZjc2MmJlZTUwNGNiYzAwN2ZkMTA4MTQ4ZWU1YWUyNCBkaWQgdGhpcyBmb3IgeDExIGFuZCB3YXlsYW5kLgoJICBEbyBpdCBmb3IgdGhlIG90aGVyIGJhY2tlbmRzIGFzIHdlbGwuCgoyMDE0LTAzLTI2IDIzOjEzOjUzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2w6IG9ubHkgc2V0IENBUFNfRkVBVFVSRV9NRU1PUllfRUdMX0lNQUdFIG9uIGVnbCBwbGF0Zm9ybQoKMjAxNC0wMy0yNiAxNzoxNDo0MCArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBmaXggT1NYIGhvc3QgY2hlY2sKCSAgTWFrZXMgdGhlIGNoZWNrIHdvcmtzIHdpdGggKGkzODZ8eDg2XzY0KS1hcHBsZS1kYXJ3aW4qIGhvc3RzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MTA0CgoyMDE0LTAzLTI2IDE5OjE3OjAzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsOiBsZXQgdGhlIHVzZXIgaW5jbHVkZXMgaXRzZWxmIG91ciBlZ2wgaGVhZGVycyBpZiBuZWVkZWQKCSAgRm9yZ290IHRvIGFkZHJlc3MgdGhpcyBjaGFuZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzNDMKCjIwMTQtMDMtMjIgMjI6MDE6NDkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSAgZ2w6IGFkZCBFR0xJbWFnZSBzdXBwb3J0CgkgICogcGlja2VkIGZyb20gb2xkIGxpYmdzdGVnbDoKCSAgLSBHc3RFR0xJbWFnZU1lbW9yeQoJICAtIEdzdEVHTEltYWdlQWxsb2NhdG9yCgkgIC0gbGFzdF9idWZmZXIgbWFuYWdlbWVudCBmcm9tIHJlbW92ZWQgR3N0RUdMSW1hZ2VCdWZmZXJQb29sCgkgICogYWRkLW9uczoKCSAgLSBHc3RFR0xJbWFnZU1lbW9yeSBub3cgb2xkIGEgcmVmZXJlbmNlIG9uIEdzdEdMQ29udGV4dAoJICBzbyB0aGF0IGl0IGNhbiBkZWxldGUgdGhlIEVHTEltYWdlIGFuZCBpdHMgZ2x0ZXh0dXJlIHNvdXJjZQoJICB3aGlsZSBoYXZpbmcgdGhlIGFzc29jaWF0ZWQgZ2wgY29udGV4dCBiZWluZyBjdXJyZW50LgoJICAtIGFkZCBFR0xJbWFnZSBzdXBwb3J0IGZvciBHc3RWaWRlb0dMVGV4dHVyZVVwbG9hZE1ldGEgd2hpY2gKCSAgbWFpbmx5IGNhbGwgRUdMSW1hZ2VUYXJnZXRUZXh0dXJlMkQKCSAgLSBHc3RHTEJ1ZmZlclBvb2wgbm93IHN1cHBvcnRzIEdzdEVHTEltYWdlQWxsb2NhdG9yCgkgIC0gZ2xpbWFnZXNpbmsgLyBnbGZpbHRlcnMgLyBldGMuLiBub3cgcHJvcG9zZSBHc3RFR0xJbWFnZUFsbG9jYXRvcgoJICB0byB1cHN0cmVhbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzQzCgoyMDE0LTAzLTI0IDEyOjEyOjQyICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL01ha2VmaWxlLmFtOgoJICBnbDogZGVwbG95IGVnbCBoZWFkZXJzIGluIGdzdC9nbC9lZ2wgaW5zdGVhZCBvZiBnc3QvZ2wKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzM0MwoKMjAxNC0wMy0yNCAxMjoxMDowMCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL01ha2VmaWxlLmFtOgoJICBnbDogcmVtb3ZlIGNvbW1lbnRlZCBhbmQgdW5zdWVkIGNvZGUgaW4geDExIE1ha2VmaWxlLmFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzNDMKCjIwMTQtMDMtMjMgMjE6NTU6MzQgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkgIHBrZ2NvbmZpZzogYWRkIGdzdHJlYW1lci1nbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzQzCgoyMDE0LTAzLTI0IDEyOjA0OjA4ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2w6IGZpeCBjcmFzaCBpZiBfYnVpbGRfZXh0ZW5zaW9uX3N0cmluZyBpcyBub3QgY2FsbGVkCgkgIE9uIEdMRVMyIHRoZW4gKGdsLT5HZXRJbnRlZ2VydiAmJiBnbC0+R2V0U3RyaW5naSkgaXMgZmFsc2UKCSAgcmVncmVzc2lvbiBpbnRyb2R1Y2VkIGJ5IGNjNmRmMjA0ZTJmNThmZmZkYTVjYmU5MGYzNDUwYWViYTk1ODg5YzQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzM0MwoKMjAxNC0wMy0yNiAxMDoxNDozNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2w6IE9ubHkgZW5hYmxlZCBjb2NvYSBiYWNrZW5kIG9uIG9zeCAoYW5kIG5vdCBpb3MpCgkgIGlvcyByZXF1aXJlcyB1c2luZyBFQUdMCgoyMDE0LTAzLTI2IDA5OjA1OjE1ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkgIHJ0bXBzaW5rOiBSZW1vdmUgVVJMIGNoZWNrIGZvciB2YWxpZCBwbGF5cGF0aC4KCSAgVGhlIHBsYXlwYXRoIGlzIGFuIG9wdGlvbmFsIGNvbXBvbmVudCBvZiB0aGUgVVJMIC0gZG9uJ3QgcmVxdWlyZSBpdC4KCjIwMTQtMDMtMjUgMTc6Mzk6MTggKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiB1bmxvY2sgb2JqZWN0IGxvY2sgYmVmb3JlIHBvc3RpbmcgZXJyb3IKCSAgUG9zdGluZyBhbiBlcnJvciB3aXRoIHRoZSBvYmplY3QgbG9jayB3aWxsIGRlYWRsb2NrLiBSZXdvcmsgdGhlIGNvZGUKCSAgYSBiaXQgdG8gbWFrZSB0aGluZ3MgbW9yZSBzaW1wbGUuCgoyMDE0LTAzLTI1IDE1OjA0OjE0ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb21ldGEuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBjb3NtZXRpY3M6IGRyb3AgVEFCIGNoYXJhY3RlcnMuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDMtMjUgMjE6NDA6MTEgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJICBkdmJzdWJvdmVybGF5OiBDbGFyaWZ5IGNvbmZ1c2luZyBkZWJ1ZyBtZXNzYWdlCgkgIFRoZSBtZXNzYWdlIGlzIGRlc2NyaWJpbmcgdGhlIG51bWJlciBvZiBieXRlcyByZW1haW5pbmcgZm9yCgkgIHBhcnNpbmcsIG5vdCAnbWlzc2luZycuCgoyMDE0LTAzLTI1IDIxOjQwOjExICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIHRzZGVtdXg6IEZpeCBtcGVndHNfcGFja2V0aXplcl9zZXRfY3VycmVudF9wY3Jfb2Zmc2V0KCkKCSAgV2hlbiBhZGp1c3RpbmcgdGhlIFBDUiBvZmZzZXQgb2YgZ3JvdXBzLCBhZGp1c3QgdGhlIGNvcnJlY3QgZ3JvdXAKCSAgZW50cnkgZnJvbSB0aGUgbGlzdCAtIG5vdCB0aGUgY3VycmVudCBncm91cCByZXBlYXRlZGx5LgoKMjAxNC0wMy0yNSAyMTo0MDoxMSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkgIGR2YnN1Ym92ZXJsYXk6IFJlbW92ZSB3YXJuaW5nIGZvciAyLWJpdCBhbmQgOC1iaXQgc3VicGljdHVyZXMKCSAgQm90aCAyLWJpdCBhbmQgOC1iaXQgbW9kZSBub3cgc2VlbSBmaW5lLCBzbyByZW1vdmUgdGhlIHdhcm5pbmcKCSAgbWVzc2FnZXMgYWJvdXQgdGhlbQoKMjAxNC0wMy0yNSAyMTo0MDoxMCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEZpeCA4LWJpdCBzdWJwaWN0dXJlIHJlbmRlcmluZy4KCSAgRml4IDIgc21hbGwgZmxhd3MgaGFuZGxpbmcgOC1iaXQgc3VicGljdHVyZXMgdGhhdCBtYWtlcwoJICBteSBvbmUgdGVzdCBmaWxlIHdvcmsuCgoyMDEzLTAzLTA4IDA5OjU3OjIyICswODAwICBMaSBYaWFvd2VpIDx4aWFvd2VpLmEubGlAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IHNsaWNlX2hlYWRlcigpIHBhcnNpbmcgZm9yIE1WQy4KCSAgVGhlIGlkcl9waWNfaWQgc3ludGF4IGVsZW1lbnQgZGVwZW5kcyBvbiBJZHJQaWNGbGFnLCB3aGljaCBpcyBhIGNhbGN1bGF0ZWQKCSAgdmFsdWUgdGhhdCBkb2VzIG5vdCBvbmx5IGRlcGVuZCBvbiBOQUwgdW5pdCB0eXBlIChJRFIpLCBidXQgcG9zc2libHkgYWxzbwoJICBvbiBNVkMgbm9uX2lkcl9mbGFnIHN5bnRheCBlbGVtZW50LgoJICBUaGUgY29tcHV0ZWQgaWRyX3BpY19mbGFnIGlzIGFscmVhZHkgc3RvcmVkIGluIEdzdEgyNjROYWxVbml0IHN0cnVjdHVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTc3MgoJICBTaWduZWQtb2ZmLWJ5OiBMaSBYaWFvd2VpIDx4aWFvd2VpLmEubGlAaW50ZWwuY29tPgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEyLTEwLTAxIDA5OjQ4OjA2ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBhZGQgZ3N0X2gyNjRfcGFyc2VfbmFsdV9oZWFkZXIoKSBoZWxwZXIuCgkgIEFkZCBoZWxwZXIgdG8gcGFyc2UgdGhlIE5BTFUgaGVhZGVyLiBNb3ZlIGJvdW5kcyBjaGVja2luZyB0byB0aGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTIxNQoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEyLTEwLTAxIDA5OjM3OjIxICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBhZGQgZ3N0X2gyNjRfcGFyc2Vfc3BzX2RhdGEoKSBoZWxwZXIuCgkgIFNwbGl0IHNlcV9wYXJhbWV0ZXJfc2V0X2RhdGEoKSBwYXJzaW5nIG9mZiBnc3RfaDI2NF9wYXJzZV9zcHMoKSBzbwoJICB0aGF0IGl0IGNvdWxkIGJlIHJlLXVzZWQgbGF0ZXIgb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUyMTUKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMi0wOS0yNiAxODo0NjozNiArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogY29tcGxldGUgc2V0IG9mIE5BTCB1bml0IHR5cGVzLgoJICBBZGQgbWlzc2luZyBOQUwgdW5pdCB0eXBlcy4gVGhleSBhcmUgbW9zdGx5IHJlbGF0ZWQgdG8gYWxwaGEgYmxlbmRpbmcsCgkgIHNjYWxhYmxlIHZpZGVvIGNvZGluZyBleHRlbnNpb25zIChTVkMsIEFubmV4LkcpLCBhbmQgbXVsdGl2aWV3IHZpZGVvCgkgIGNvZGluZyBleHRlbnNpb25zIChNVkMsIEFubmV4LkgpLgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTAzLTI0IDE5OjI3OjQ0ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBjbGVhbi11cCBnc3RfaDI2NF9wYXJzZXJfcGFyc2Vfc2VpX21lc3NhZ2UoKS4KCSAgRml4IGJ1aWxkIHdoZW4gR1NUX0RJU0FCTEVfR1NUX0RFQlVHIGlzIG5vdCBkZWZpbmVkLiBVc2UgYSBzd2l0Y2gKCSAgc3RhdGVtZW50IHRvIGRpc3BhdGNoIHRvIHRoZSB2YXJpb3VzIFNFSSBwYXlsb2FkIGhhbmRsZXJzLgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTAzLTIxIDE3OjA3OjE5ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9uYWx1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL25hbHV0aWxzLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IHNraXBwaW5nIG9mIHVuc3VwcG9ydGVkIFNFSSBtZXNzYWdlcy4KCSAgVGhlIHBheWxvYWRTaXplIGRvZXMgbm90IGFjY291bnQgZm9yIGVtdWxhdGlvbiBwcmV2ZW50aW9uIGJ5dGVzLiBTbywKCSAganVzdCB1c2UgbmFsX3JlYWRlcl9za2lwKCkgZm9yIHNraXBwaW5nIHBheWxvYWRfc2l6ZSBiaXRzLiBJdCBzaG91bGQKCSAgYmUgcG9zc2libGUgdG8gZnVydGhlciBvcHRpbWl6ZSB0aGlzIGNvZGUgc2luY2UgdGhlIE5BTCByZWFkZXIgc2hhbGwKCSAgYmUgYWxpZ25lZCB0byBieXRlIGJvdW5kYXJ5IGFscmVhZHkuCgkgIEtpbGwgdGhlIG5vdyB1bnVzZWQgbmFsX3JlYWRlcl9za2lwX3RvX25leHRfYnl0ZSgpIGZ1bmN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2ODI5CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDMtMjEgMTc6MDM6MzYgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBTRUkgYnVmZmVyaW5nX3BlcmlvZCgpIHBhcnNpbmcuCgkgIEZpeCBwYXJzaW5nIG9mIGJ1ZmZlcmluZ19wZXJpb2QoKSBTRUkgbWVzc2FnZXMuIFRoZSBudW1iZXIgb2YgYml0cwoJICB1c2VkIHRvIGV4cHJlc3Mge25hbCx2Y2x9X2luaXRpYWxfY3BiX3JlbW92YWxfZGVsYXl7LF9vZmZzZXR9IHN5bnRheAoJICBlbGVtZW50cyBpcyBub3QgNSBidXQgMSArIGluaXRpYWxfY3BiX3JlbW92YWxfZGVsYXlfbGVuZ3RoX21pbnVzMS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjgyOAoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEyLTEwLTEwIDE2OjE5OjQ5ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL25hbHV0aWxzLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IHJic3BfbW9yZV9kYXRhKCkgaW1wbGVtZW50YXRpb24uCgkgIEFjY291bnQgZm9yIHRyYWlsaW5nIHplcm8gYml0cyB3aGVuIGNoZWNraW5nIGZvciByYnNwX21vcmVfZGF0YSgpLgoJICBJbiBwYXJ0aWN1bGFyLCBmaXggYW4gaHlwb3RoZXRpY2FsIHN0cmVhbSB3aGVyZWJ5IHJic3BfbW9yZV9kYXRhKCkKCSAgaXMgY2FsbGVkIGluIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBmb3IgUFBTIGhlYWRlcjogTmFsUmVhZGVyCgkgIHJlYWNoZWQgcG9zaXRpb24gMjAsIDEyIGJpdHMgYXJlIHJlbWFpbmluZyBhbmQgdHJhaWxpbmcgZGF0YSBhdAoJICBjdXJyZW50IGJ5dGUgcG9zaXRpb24gaXMgYzggMDAuCgkgIHJic3BfbW9yZV9kYXRhKCkgdXNlZCB0byByZXR1cm4gVFJVRSB3aGVyZWFzIGl0IHNob3VsZCBvYnZpb3VzbHkKCSAgcmV0dXJuIEZBTFNFIGJlY2F1c2UgeDggMDAgcmVwcmVzZW50cyBhIHZhbGlkIHJic3BfdHJhaWxpbmdfYml0cygpCgkgIHN0cnVjdHVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTg5MAoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTAzLTI0IDE3OjMzOjAwICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvTWFrZWZpbGUuYW06CgkgIGdsOiBmaXggb3V0LW9mLXNvdXJjZSBidWlsZHMuCgkgIEFsd2F5cyB1c2UgdGhlIGxvY2FsbHkgZ2VuZXJhdGVkIDxnc3QvZ2wvZ3N0Z2xjb25maWcuaD4gZmlsZS4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wMy0yNSAwMDo1MDozMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBnbC9kb3dubG9hZDogYWRkIHN1cHBvcnQgZm9yIHRoZSBidDcwOSBjb2xvciBtYXRyaXgKCjIwMTQtMDMtMjUgMDA6MzQ6MTMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogYWRkIHN1cHBvcnQgZm9yIHRoZSBidDcwOSBjb2xvciBtYXRyaXgKCjIwMTQtMDMtMjQgMjM6MDk6MjAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvTWFrZWZpbGUuYW06CgkgIGdsOiByZW1vdmUgZXhwbGljaXQgcmVmZXJlbmNlIHRvIFhfQ0ZMQUdTCgkgIFRoZXkgYXJlIGluIEdMX0NGTEFHUyBpZiByZXF1aXJlZAoKMjAxNC0wMy0yMyAyMzo0MzoyOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdXBsb2FkOiByZW1vdmUgdGhlIGxlZ2FjeSBHTCAxLnggdXBsb2FkIHBhdGgKCSAgdXBsb2FkaW5nIHJlcXVpcmVzIHNoYWRlcnMgYW5kIGZib3MgYXZhaWxhYmxlIGluIEdMMi4KCjIwMTQtMDMtMjMgMTE6MDI6MDggKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbDogZmFsbGJhY2sgdG8gZ2xHZXRTdHJpbmcgaWYgR0xfTlVNX0VYVEVOU0lPTlMgZmFpbHMKCSAgTmVlZCBpdCBvbiBNYWNPU1ggMTAuNy41CgoyMDE0LTAzLTIzIDAxOjAyOjAzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYWxsX2Z1bmN0aW9ucy5oOgoJICBnbDogYW5kIHVwZGF0ZSB0aGUgTWFrZWZpbGUKCjIwMTQtMDMtMjMgMDA6Mzg6MTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9hbGxfZnVuY3Rpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYmFzZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2JsZW5kaW5nLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZWdsaW1hZ2UuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9mYm8uaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9maXhlZGZ1bmN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlcy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczFfZnVuY3Rpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczFnbGVzMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxZ2xlczJvcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMW9wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczJfZnVuY3Rpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczJvcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzM29wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL29wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL29wZW5nbF9mdW5jdGlvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9zaGFkZXJzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBnbDogcmVvcmdhbml6ZSB0aGUgZXh0ZW5zaW9uIGhlYWRlcnMgYnkgZnVuY3Rpb24gcmF0aGVyIHRoYW4gYXBpCgoyMDE0LTAzLTIxIDIwOjI5OjQ5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmM6CgkgIGdsL3dpbjMyOiB1c2UgdGhlIGNvcnJlY3QgaW5jbHVkZSBhbmQgZ3N0LWluZGVudAoKMjAxNC0wMy0yMSAxNTo1NjoxNiArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndmlkZW9wYXJzZS5jOgoJICBjaGVjazogZml4IG1ha2UgY2hlY2sKCSAgVGhlIG1wZWcgcGFyc2VyIG5vdyBmbGFncyB0aGUgc3RyZWFtIGFzIG1wZWcyIGlmIHRoZXJlIGlzIGEgcGljdHVyZQoJICBleHRlbnNpb24gaGVhZGVyLCBzbyByZW1vdmUgaXQgZm9yIG1wZWcxIGRhdGEuCgoyMDE0LTAzLTE4IDA5OjE2OjI1ICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuYzoKCSAgZ2w6IHVzZSB3Z2xDcmVhdGVDb250ZXh0QXR0cmlic0FSQiB0byBjcmVhdGUgc2hhcmUgY29udGV4dAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2NDk0CgoyMDE0LTAzLTE3IDIwOjQzOjM1ICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsL21peGVyOiBmaXggZG93bmxvYWQgY2hlY2sgZm9yIGZhaWx1cmUKCjIwMTQtMDMtMTcgMjA6NDA6NTEgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2w6IHNpbGVuY2UgYSBjcml0aWNhbCBpZiB1cHN0cmVhbSBkb2VzIG5vdCBwcm92aWRlIHVzIHdpdGggbWV0YSBwYXJhbXMKCjIwMTQtMDMtMTkgMTM6NDg6MTAgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgZ2w6IHNpbGVuY2Ugd2FybmluZ3MgYnVpbGRpbmcgZm9yIFJQSSByZWxhdGVkIHRvICd2Y29zXyonCgkgIFNpbWlsYXIgdGhhbiAxMTkwYTc5YjE5OTU4NGNmYzRkZDYyYzQ3NDUzMWMzMmNmYmJhNDI1CgoyMDE0LTAzLTE5IDEzOjQ1OjM1ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xkaXNwbGF5X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX2VnbC5oOgoJICBnbDoga2VlcCBvbmx5IG9uZSBvY2N1cmVuY2Ugb2YgJyNpbmNsdWRlIDxFR0wvZWdsLmg+JwoJICBUbyBzaW1wbHkgbWFpbnRhaW5hbmNlIGlmIHdlIG5lZWQgdG8gcHV0IHNwZWNpZmljIGluY2x1ZGVzIGFyb3VuZCBpdC4KCjIwMTQtMDMtMTYgMDE6MjU6MTAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBEb24ndCBmb3J3YXJkIHRleHQgZ2FwIGV2ZW50cyBkb3duc3RyZWFtCgkgIFRoYXQgZ2FwIGlzIG9ubHkgZm9yIHRoZSBzdWJ0aXRsZSBzdHJlYW0gYW5kIG5vdCBmb3IgdGhlIHZpZGVvIHN0cmVhbS4KCjIwMTQtMDMtMTggMDA6MTE6MDkgKzAwMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnbDogZG9uJ3QgZGVmYXVsdCB0byBHU1RfR0xfSEFWRV9XSU5ET1dfRElTUE1BTlg9MQoJICBNaXN0YWtlIGludHJvZHVjZWQgYnkgMmEwZjAzOTlhZTIyNjA4OWMyYmEwN2IxYjkwNDc0MWI4NTZmMzdhZgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2NTkxCgoyMDE0LTAzLTE4IDAwOjA4OjUwICswMDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dzdGdsX2NvbXBhdC5oOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3N0Z3RrLmM6CgkgIGdsOiBmaXggdGhlIHVzZSBvZiBhbHdheXMtZGVmaW5lZCBtYWNyb3MKCSAgQWZ0ZXIgMmEwZjAzOTlhZTIyNjA4OWMyYmEwN2IxYjkwNDc0MWI4NTZmMzdhZiBHU1RfR0xfKiBtYWNyb3MgYXJlIGFsd2F5cwoJICBkZWZpbmVkIHRvIDAgb3IgMS4gRG9uJ3QgdXNlICNpZmRlZiAuLi4gb3IgI2lmIGRlZmluZWQoKSBvbiB0aGVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2NTkxCgoyMDE0LTAzLTE4IDAwOjA3OjQzICswMDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2w6IGNoZWNrIGZvciBYIHVuY29uZGl0aW9uYWxseQoJICBXaXRob3V0IHRoaXMgdGhlIEhBVkVfWCBtYWNybyBpcyBlbXB0eSwgbm90ICJubyIgb3IgInllcyIsIHdoaWNoIGlzIG5vdAoJICB3aGF0IHRoZSBsYXRlciBjb2RlIGlzIGNvdW50aW5nIG9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2NTkxCgoyMDE0LTAzLTE3IDE3OjM1OjIyICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2w6IHNldCBkZWZhdWx0IHZhbHVlIHRvIDAgZm9yIGFsbCBkZWZpbml0aW9ucyB0aGF0IGdvIHRvIGdzdGdsY29uZmlnLmgKCSAgVG8gYXZvaWQgd2FybmluZ3MgbGlrZSAiR1NUX0dMX0hBVkVfT1BFTkdMIGlzIG5vdCBkZWZpbmVkIi4KCSAgQXMgd2UgYXJlIHVzaW5nICNpZiBpbnN0ZWFkIG9mICNpZmRlZgoKMjAxNC0wMy0xNyAxNTo0OTozNyArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBhbGxvdyBub3QgYnVpbGRpbmcgdGhlIGdsIGxpYnJhcnkgcGx1Z2lucwoKMjAxNC0wMy0xNyAxNToxNjoxMyArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIGdsOiBhZGQgR01vZHVsZSBsaWJzIGZvciB3aW4zMgoKMjAxNC0wMy0xNyAxNTowNjoyNSArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIGdsOiBvbmx5IGxpbmsgYWdhaW5zdCBnc3RlZ2wgaWYgd2UgYXJlIHVzaW5nIGVnbAoJICBBc3N1bWluZyBpZiB3ZSBhcmUgYnVpbGRpbmcgZWdsIHRoYXQgdGhlIGVnbCBsaWJyYXJ5IGlzIGJ1aWx0CgoyMDE0LTAzLTE3IDE1OjA1OjI0ICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2w6IGFkZCB0aGUgb3B0aW9uIG9mIGRpc2FibGluZyBjb2NvYSBvbiBPUyBYIHVzaW5nIC0tZGlzYWJsZS1jb2NvYQoKMjAxNC0wMy0xNyAxNDozNzoxMyArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIGdsOiBhZGQgcGF0aCBvZiB0aGUgZ3N0ZWdsIGxpYnJhcnkKCSAgVGVtcG9yYXJ5IHVudGlsIHdlIG1lcmdlIHRoZSB0d28gbGlicmFyaWVzCgoyMDE0LTAzLTE3IDE0OjI2OjMxICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgUmV2ZXJ0ICJnbDogYWRkIGRlcCBvbiBnc3RlZ2wiCgkgIEl0IHdhcyBhbHJlYWR5IGluIF9MSUJBREQKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBiMTBhMzUzMDgwNDMzNWZjM2I5NDk0NjAzZWY3OGNlOTQxN2MzYmM4LgoKMjAxNC0wMy0xNyAxNDoxMToxNCArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIGdsOiBhZGQgZGVwIG9uIGdzdGVnbAoJICBUZW1wb3JhcnkgdW50aWwgd2UgbWVyZ2UgdGhlIHR3byBsaWJyYXJpZXMKCjIwMTQtMDMtMTcgMTQ6MDY6MjIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogRml4IGRlYnVnIHN0YXRlbWVudHMgYW5kIHBsYXRmb3JtCgoyMDE0LTAzLTE3IDEyOjMyOjI2ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2w6IHNldCBIQVZFX0VHTF9SUEkgdG8geWVzIGlmIEhBVkVfR0wgYW5kIFJQSQoJICBXaGljaCBmaXhlcyBidWlsZCBvbiBSYXNwYmVycnkgUGkgc2luY2UgLWdsIGhhcyBiZWVuIG1vdmVkIHRvIC1iYWQKCjIwMTQtMDMtMTcgMTI6MDQ6NDAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkgIGdsOiBGaXggc3RhdGljIGJ1aWxkIHdpdGggb2JqZWN0aXZlLUMKCSAgLS10YWc9Q0MgaXMgbmVlZGVkIGZvciBzdGF0aWMgYnVpbGQKCjIwMTQtMDMtMTcgMTI6MDA6MDkgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgbWFrZTogd2hpdGVzcGFjZSBjbGVhbnVwcwoKMjAxNC0wMy0xNyAxMDo1NjozOSArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsZGlzcGxheV9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGRpc3BsYXlfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBnbDogQWRkIEVHTERpc3BsYXkgZGlzcGxheSBzdWJjbGFzcwoKMjAxNC0wMy0xNyAxMDo0NDozMiArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2wvd2luZG93OiBhZGQgYSBkdW1teSB3aW5kb3cgY2xhc3MKCSAgRWZmZWN0aXZlIGZvciB0aGUgY2FzZSB3aGVyZSB3ZSBoYXZlIGEgcGxhdGZvcm0gdGhhdCBkb2VzIG5vdAoJICByZXF1aXJlIGEgbmF0aXZlIHdpbmRvdy4gIFdlIHJlcXVpcmUgYSBtYWlubG9vcCB0byBydW4gdGhlIEdMCgkgIGNvbW1hbmRzIHdoaWNoIGlzIGN1cnJlbnRseSBvcGVyYXRlZCBieSBHc3RHTFdpbmRvdy4KCjIwMTQtMDMtMTcgMDg6MTA6NTAgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgZ2w6IGZpeCB1bmRlY2xhcmVkIHN5bWJvbCB3aGVuIGJ1aWxkaW5nIHdpdGhvdXQgR1NUX0RFQlVHCgoyMDE0LTAzLTE2IDE4OjU1OjAzICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIGdsOiBmaXggYSBkb3VibGUgdW5yZWYgb2YgdGhlIHF1ZXJ5IHdoZW4gYnVpbGRpbmcgd2l0aG91dCBYCgoyMDE0LTAzLTE2IDE2OjM2OjA2ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBoYW5kbGUgdmlkZW8veC1yYXcoQU5ZKSBpZiBkb3duc3RyZWFtIHN1cHBvcnRzIHRoZSBHc3RWaWRlb092ZXJsYXlDb21wb3NpdGlvbk1ldGEgQVBJCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY0NjMKCjIwMTQtMDMtMTYgMTc6MjE6MzggKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgZ2w6IHNpbGVuY2UgYSBjb21waWxlciB3YXJuaW5nIGFib3V0IG1pc3NpbmcgcHJvdG90eXBlcwoKMjAxNC0wMy0xNCAxOTowMzozNiArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBnbC91dGlsczogYWRkIHgxMSBHc3RDb250ZXh0IGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjYzNjAKCjIwMTQtMDMtMTYgMTU6MzQ6MTEgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbDogZGVmaW5lIEdMX05VTV9FWFRFTlNJT05TIGlmIG5vdCBkZWZpbmVkCgoyMDE0LTAzLTE2IDE1OjA4OjIzICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svbGlicy8uZ2l0aWdub3JlOgoJICBNb3ZlIGdzdC1wbHVnaW5zLWdsIHRvIGJhZAoKMjAxNC0wMy0xNiAxNTowNjozNyArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGV4dC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJhcHAuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYmx1ci5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmdsYXNzLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5oOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5Lmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIGdsOiBzaWxlbmNlIGFsbCB0aGUgY29tcGlsZXIgd2FybmluZ3MKCjIwMTQtMDMtMTYgMTE6MjM6MTYgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL0JVR1M6CgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmg6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNjdXJ2ZXMuaDoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZXh0L2dsL2dsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ2x0ZXN0c3JjLmg6CgkqIGV4dC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBleHQvZ2wvZ3N0Z2xidW1wZXIuaDoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmg6CgkqIGV4dC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGV4dC9nbC9nc3RnbGRlaW50ZXJsYWNlLmg6CgkqIGV4dC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuaDoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJhcHAuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5oOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBleHQvZ2wvZ3N0Z2xtb3NhaWMuaDoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5Lmg6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5oOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJKiBnc3QvZ2wvQlVHUzoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2N1cnZlcy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuaDoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuaDoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5oOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuaDoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZ3N0L2dsL2dzdGdsdmlkZW9taXhlci5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIG1vdmUgZ2wgZWxlbWVudHMgdG8gZXh0IHN1YmRpcmVjdG9yeQoKMjAxNC0wMy0xNSAxNTo1NTo0NiArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgWzkwNi85MDZdIGZpbHRlcjogd2FybiBhYm91dCB0cnlpbmcgdG8gc2hhcmUgd2l0aCBtdWx0aXBsZSBjb250ZXh0cyBhdCBvbmNlCgoyMDE0LTAzLTE1IDE0OjA2OjQwICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbOTA1LzkwNl0gQWRkIEdMIGNvbnRleHQgc2hhcmluZyBzdXBwb3J0IGZvciBub24tZ3N0Z2wgZWxlbWVudHMKCjIwMTQtMDMtMTUgMTM6NTU6MzkgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgWzkwNC85MDZdIG1peGVyOiBhc2sgZm9yIGRpc3BsYXkgaGFuZGxlcyBvbiBwYWQgYWN0aXZhdGlvbgoKMjAxNC0wMy0xNSAxMzo1MTo0NCArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIFs5MDMvOTA2XSBhcGk6IGFkZCBHc3RHTFBsYXRmb3JtIHRvL2Zyb20gc3RyaW5nCgoyMDE0LTAzLTE1IDExOjI1OjQzICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgWzkwMi85MDZdIGNvbnRleHQ6IGltcGxlbWVudCBnbEdldFN0cmluZ2kgaGFuZGxpbmcgZm9yIEdMIGNvcmUgY29udGV4dHMvR0xFUzMKCjIwMTQtMDMtMTIgMjM6NDY6NTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4LmM6CgkgIFs5MDEvOTA2XSBnbHg6IHVzZSB0aGUgZGlzcGxheSBoYW5kbGUgZnJvbSB0aGUgZ2xvYmFsIGRpc3BsYXkKCSAgSW50ZWwgZHJpdmVycyByZXF1aXJlIHRoZSBkaXNwbGF5IGhhbmRsZXMgYmUgdGhlIHNhbWUgZm9yIGNvbnRleHQKCSAgc2hhcmluZyB0byBvY2N1ci4gIEFsc28gc29sdmVzIHNvbWUgY2FzZXMgb2YgdXNlIGFmdGVyIGZyZWUgb2YgdGhlCgkgIGRpc3BsYXkgd2hlbiBpbnRlZ3JhdGluZyB3aXRoIGdzdHJlYW1lci12YWFwaS4KCSAgU2VlIGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTQxNzM2IGZvciB0aGUgaW50ZWwgYnVnLgoKMjAxNC0wMy0xMiAyMzo0NDoyOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICBbOTAwLzkwNl0gdGVzdHMvZ3N0Z2xjb250ZXh0OiByZWR1Y2UgdGhlIG51bWJlciBvZiBmcmFtZXMgZGlzcGxheWVkCgkgIFdhcyBjYXVzaW5nIHRpbWVvdXRzIG9uIGludGVsIGhhcmR3YXJlIGR1ZSB0byB2c3luYyBoYW5kbGluZy4KCjIwMTQtMDMtMTIgMjM6NDM6MTIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkgIFs4OTkvOTA2XSBlZ2w6IHdhcm4gaWYgd2UgcmVzb3J0IHRvIGRpc3BsYXkgaGFuZGxlcyBmcm9tIHRoZSB3aW5kb3cKCjIwMTQtMDMtMDYgMTg6MTE6MjIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbODk4LzkwNl0gZ2xpbWFnZXNpbms6IGFkZCBhbiBvdGhlci1jb250ZXh0IHByb3BlcnR5CgkgIEFsbG93cyBhcHBsaWNhdGlvbnMgdG8gcHJvdmlkZSB1cyB3aXRoIGFuIE9wZW5HTCBjb250ZXh0IHdpdGggd2hpY2gKCSAgdG8gc2hhcmUgd2l0aC4KCjIwMTQtMDMtMDQgMjM6Mjg6MDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmM6CgkgIFs4OTcvOTA2XSBhcGk6IHBsdWdpbiBhIHNtYWxsIG1lbW9yeSBsZWFrCgkgIEZvdW5kIGJ5IGFkcmllbi5zY2h3YXJ0emVudHJ1YmVyQGdtYWlsLmNvbQoKMjAxNC0wMy0wMiAxMTo0ODo1NCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBbODk2LzkwNl0gdXRpbHM6IHVzZSB0aGUgdnRhYmxlIGZvciBkZWxldGluZyB0aGUgdGV4dHVyZQoKMjAxNC0wMi0yOCAxNzo0Mjo1MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIFs4OTUvOTA2XSBjb250ZXh0OiBjYWxsIHdpbmRvd19jbGFzcy0+Y2xvc2UgbGFzdAoJICBXZSBzaG91bGQgZGVzdHJveSByZXNvdXJjZXMgYmVmb3JlIGNsb3NpbmcgdGhlIGRpc3BsYXkgY29ubmVjdGlvbgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MDQ4CgoyMDE0LTAyLTI1IDA5OjI3OjI2ICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5oOgoJICBbODk0LzkwNl0gZ2w6IGFkZCBtaXNzaW5nIEdfQkVHSU5fREVDTFMvR19FTkRfREVDTFMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTExMQoKMjAxNC0wMi0yNCAyMzo1NTo1OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbODkzLzkwNl0geDExOiBjbG9zZSBib3RoIG9mIHRoZSBkaXNwbGF5J3Mgd2UgdXNlCgkgICh0aGUgY29tbWVudCBkb2Vzbid0IHNlZW0gdG8gYXBwbHkgYW55bW9yZSkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTA0OAoKMjAxNC0wMi0yMyAxMTo0NDo1MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIFs4OTIvOTA2XSBzaWxlbmNlIGEgY29tcGlsZXIgd2FybmluZyBvbiBvbGRlciBnY2MgdmVyc2lvbnMgKDQuNikKCjIwMTQtMDItMTEgMDg6NTc6MjkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICBbODkxLzkwNl0gY29udGV4dDogYWRkIHN1cHBvcnQgZm9yIHdyYXBwaW5nIGV4dGVybmFsIGNvbnRleHRzCgoyMDEzLTExLTI3IDE3OjUyOjQ2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xkaXNwbGF5X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsZGlzcGxheV94MTEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS94MTFfZXZlbnRfc291cmNlLmM6CgkgIFs4OTAvOTA2XSB4MTE6IGFkZCBkaXNwbGF5IHN1YmNsYXNzCgkgIEdzdEdMRGlzcGxheVgxMSBob2xkcyB0aGUgZGlzcGxheSBjb25uZWN0aW9uIGFuZCBuYW1lLiAgRWFjaCB0aHJlYWQgcmVxdWlyZXMKCSAgaXQncyBvd24gWDExIERpc3BsYXkgY29ubmVjdGlvbiAoaW5pdGlhbGlzZWQgZnJvbSBuYW1lKSBkdWUgdG8gdGhlIGZhY3QgdGhhdAoJICB3ZSBkbyBub3Qgd2FudCB0byBjYWxsIFhJbml0VGhyZWFkcygpLiAgRG9pbmcgc28gd291bGQgcmVzdWx0IGluIHNlZ2ZhdWx0cwoJICB3aGVuIGludGVncmF0aW5nIHdpdGggR1VJIHRvb2xraXRzIEd0aywgUXQsIGV0Yy4KCSAgVGhlIERpc3BsYXkgY29ubmVjdGlvbiBpcyBmb3IgT3BlbkdMIHBsYXRmb3JtcyB3aGVyZSBhIGNvbnN0YW50IGRpc3BsYXkgaXMKCSAgcmVxdWlyZWQgaW4gb3JkZXIgdG8gc2hhcmUgY29udGV4dHMgKGVnbCkuICBJbiB0aGUgY2FzZSBvZiBhIHdyYXBwZWQgY29udGV4dAoJICAoYWRkZWQgbGF0ZXIpLCB3ZSBkbyBub3QgaGF2ZSBHc3RHTFdpbmRvdyB0byByZXRyZWl2ZSB0aGUgZGlzcGxheSBmcm9tIHNvIGEKCSAgJ21hc3RlcicgY29ubmVjdGlvbiBpcyB1c2VkIGluc3RlYWQuCgoyMDE0LTAxLTE1IDEwOjIxOjU2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbODg5LzkwNl0gZGlzcGxheTogYWRkIGRpc3BsYXkgdHlwZSBlbnVtCgoyMDE0LTAyLTIzIDExOjI3OjIzICsxMTAwICBBZHJpZW4gU0NIIDxhZHJpZW4uc2Nod2FydHplbnRydWJlckBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBbODg4LzkwNl0gY29ycmVjdCBlcnJvciBoYW5kbGluZyBpbiBnc3RnbGRvd25sb2FkLmMKCjIwMTQtMDItMjMgMTA6MzY6NTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgWzg4Ny85MDZdIG1peGVyOiBmaXh1cCBhIG1lbW9yeSBsZWFrIG9mIHRoZSBjb250ZXh0IGluIHRoZSBHTFRleHR1cmVVcGxvYWRNZXRhIHBhdGgKCSAgZ3N0X3N0cnVjdHVyZV9nZXQgcmV0dXJucyBhIHJlZmVyZW5jZSB0byB0aGUgb2JqZWN0IGFuZCB3ZSBhc2tlZAoJICBmb3IgYW5vdGhlciB3aXRoIGdzdF9vYmplY3RfcmVwbGFjZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDgxNgoKMjAxNC0wMi0yMyAwMTozMjoyMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbODg2LzkwNl0gZml4dXAgYSBtZW1vcnkgbGVhayBvZiB0aGUgY29udGV4dCBpbiB0aGUgR0xUZXh0dXJlVXBsb2FkTWV0YSBwYXRoCgkgIGdzdF9zdHJ1Y3R1cmVfZ2V0IHJldHVybnMgYSByZWZlcmVuY2UgdG8gdGhlIG9iamVjdCBhbmQgd2UgYXNrZWQKCSAgZm9yIGFub3RoZXIgd2l0aCBnc3Rfb2JqZWN0X3JlcGxhY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ4MTYKCjIwMTQtMDItMjEgMTU6MjU6MjIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIFs4ODUvOTA2XSBmaWx0ZXI6IGZyZWUgb3VyIGRhdGEKCSAgcGx1Z3Mgc29tZSBtZW1vcnkgbGVha3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDgxNgoKMjAxNC0wMi0yMSAxMzoyODoxNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgWzg4NC85MDZdIGZpbHRlcjogcmV0dXJuIHRoZSBwYWQgdGVtcGxhdGUgY2FwcyBpbiB0cmFuc2Zvcm1fY2FwcwoJICBXZSBjYW4gdHJhbnNmb3JtIGZyb20gYW55IGlucHV0IGluIG91ciBjYXBzIHRvIGFueSBvdXRwdXQuCgkgIFdpdGggdGhlIGZvbGxvd2luZyBwaXBlbGluZSBzbmlwcGV0OgoJICAuLi4gISB2YWFwaWRlY29kZSAhIGdsY29sb3JzY2FsZSAhIHh2aW1hZ2VzaW5rCgkgIEdzdFZpZGVvR0xUZXh0dXJlVXBsb2FkTWV0YSB3YXMgYmVpbmcgdXNlZCBvbiBib3RoIHNyYyBhbmQgc2luawoJICBwYWRzIGNhdXNpbmcgbGlua2luZyB0byBmYWlsLiAgVGhpcyBhbGxvd3MgdGhlIHVzYWdlIG9mIHRoZSBtZXRhCgkgIG9uIGVpdGhlciBwYWQgd2l0aG91dCBhZmZlY3Rpbmcgd2hldGhlciB0aGUgbWV0YSBpcyBjaG9zZW4gb24gdGhlCgkgIG90aGVyIHBhZC4KCjIwMTQtMDItMTEgMDg6MjM6MzkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxZ2xlczIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMWdsZXMyb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczFvcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIFs4ODMvOTA2XSBhcGk6IHByb3ZpZGUgZnJvbV9zdHJpbmcoKQoJICBBbHNvIHMvZ3N0X2dsX2FwaV9zdHJpbmcvZ3N0X2dsX2FwaV90b19zdHJpbmcvZwoKMjAxNC0wMi0xMSAwNzoyNDo0MCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbODgyLzkwNl0gcG9ydCBnbGNvbG9yc2NhbGUgdG8gR0xFUzIKCjIwMTQtMDItMDYgMjE6NDM6NDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs4ODEvOTA2XSB1cGxvYWQ6IHJlc3RvcmUgZGVmYXVsdCB2YWx1ZXMgZm9yIHVucGFja19sZW5ndGgKCSAgZml4ZXMgZWxlbWVudHMgdGhhdCB1cGxvYWQgYSBzdXBwbGVtZW50YXJ5IHRleHR1cmUgKGdsYnVtYmVyLAoJICBnbGRpZmZlcmVuY2VtYXR0ZSwgZXRjKQoKMjAxNC0wMi0wNSAwMDo0NDoxOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIFs4ODAvOTA2XSBnbGltYWdlc2luazogcmVtb3ZlIHVudXNlZCBzdG9yZWRfYnVmZmVyIGZpZWxkCgkgIEl0IGhhcyB0aGUgcG90ZW50aWFsIHRvIGNhdXNlIGRlYWRsb2Nrcy4KCjIwMTQtMDItMjAgMjI6NDA6MDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFs4NzkvOTA2XSBidWlsZDogZG9uJ3QgYWRkIFhfQ0ZMQUdTIHRvIENGTEFHUwoJICBJdCBzaG91bGQgYWxyZWFkeSBiZSBpbmNsdWRlZCBpZiBuZWVkZWQgaW5zaWRlIEdMX0NGTEFHUwoKMjAxNC0wMi0wNSAwMTo1MzowNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgWzg3OC85MDZdIHRlc3RzOiB1cGRhdGUgZm9yIGdsbWVtIGFwaSBjaGFuZ2UKCjIwMTQtMDItMDQgMTM6NDk6MzUgKzAxMDAgIENocmlzIFBhdWxzb24tRWxsaXMgPGNocmlzQGVkZXNpeC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbODc3LzkwNl0geDExOiBVc2UgY29ycmVjdCBmb3JtYXQgc3RyaW5nIGZvciBndWludHB0cgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzNTM3CgoyMDE0LTAyLTAxIDAzOjE0OjQ4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzg3Ni85MDZdIGdsbWVtOiB1c2UgR3N0VmlkZW9JbmZvIGZvciBmb3JtYXQgY29uZmlndXJhdGlvbgoJICBBbGxvd3MgdXNlIG9mIHN0cmlkZXMKCjIwMTQtMDEtMzEgMDY6NTM6NTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs4NzUvOTA2XSB1cGxvYWQ6IHN1cHBvcnQgZm9yIGFyYml0cmFyeSBzdHJpZGVzCgkgIFVzaW5nIEdMX1VOUEFDS19BTElHTk1FTlQgZm9yIEdMRVMyIGFuZCBHTF9VTlBBQ0tfUk9XX0xFTkdUSCBmb3IgZXZlcnl0aGluZyBlbHNlCgoyMDE0LTAxLTMwIDA3OjQ5OjIwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSAgWzg3NC85MDZdIGZpbHRlcjogaW1wbGVtZW50IGRyYXdfdGV4dHVyZSBmb3IgR0xFUzIKCSAgKHRha2VuIGZyb20gZ2xlZmZlY3RzKQoKMjAxNC0wMS0yOSAxOToxNDo1NCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs4NzMvOTA2XSB1cGxvYWQ6IHVzZSBHc3RWaWRlb0luZm8gZm9yIGNob29zaW5nIHRoZSBmb3JtYXQKCjIwMTQtMDEtMjkgMDY6NDI6NDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs4NzIvOTA2XSB1cGxvYWQ6IGNvbnNvbGlkYXRlIGRhdGEgX2ZpbGwKCjIwMTQtMDEtMjkgMDI6NTE6MjMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs4NzEvOTA2XSB1cGxvYWQ6IGZpeCB0ZXh0dXJlIHNjYWxpbmcgZm9yIFlVWTIvVVlWWSB3aXRoIEdMRVMyCgkgIEFub3RoZXIgYXJ0aWZhY3QgZnJvbSB0aGUgdHJhbnNpdGlvbiB0byBHTF9URVhUVVJFXzJECgoyMDE0LTAxLTI5IDAxOjAyOjU3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbODcwLzkwNl0gdXBsb2FkOiByZW1vdmUgc3VwZXJmbG91cyBnX211dGV4X2luaXQKCjIwMTQtMDEtMzAgMDg6Mjg6NTIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgWzg2OS85MDZdIHRlc3RzOiBhZGQgc29tZSB1cGxvYWQgdGVzdHMKCjIwMTQtMDEtMjggMDc6NTA6MTMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs4NjgvOTA2XSB1cGxvYWQ6IGZpeCBjb21waWxhdGlvbiBmb3IgR0xFUzIKCjIwMTQtMDEtMTcgMDg6NDY6MDIgKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIFs4NjcvOTA2XSBnbHVwbG9hZDogQWRkIEdSQVk4L0dSQVkxNkxFL0JFIHVwbG9hZCBzdXBwb3J0IHRvIGdsaW1hZ2VzaW5rCgkgIHRoZSAxNmJpdCBkYXRhIGlzIHVwbG9hZGVkIGFzIExVTUlOQU5DRV9BTFBIQSwgdGhlbiBleHBhbmRlZCwgY29tcG9zZWQKCSAgaW4gc2hhZGVyLiB2YWx1ZSB3ZWlnaHQgaXMgYSBsaXR0bGUgY29tcGxpY2F0ZSwgaGlnaCBieXRlIHdlaWdodCBpcwoJICAyNTUqMjU2LzY1NTM1IChkZW5vcm1hbGl6ZSB0byBbMH4yNTVdICxzaGlmdCB0byBoaWdoIGJ5dGUsdGhlbiBub3JtYWxpemUKCSAgdG8gWzB+MV0pLCBsb3cgYnl0ZSB3ZWlnaHQgaXMgMjU1LzY1NTM1KHNpbWlsYXIpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI2NzAKCjIwMTMtMTEtMjMgMjI6NTc6MDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBbODY2LzkwNl0gdXBsb2FkOiB1cGRhdGUgc29tZSBkb2NzCgoyMDEzLTExLTIzIDIyOjE5OjE4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBbODY1LzkwNl0gZ2xtZW06IHJlcG9ydCBzdWNjZXNzZnVsIGNvcHkgdG8gdGhlIGNhbGxlcgoKMjAxMy0xMi0yOSAxNzoyOTo1MyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dzdGd0ay5jOgoJICBbODY0LzkwNl0gZXhhbXBsZXM6IHVwZGF0ZSB0byBndGszCgoyMDEzLTExLTI2IDA5OjMyOjMyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSAgWzg2My85MDZdIHdpbmRvdzogaG9sZCBhIHJlZiB0byBvdXIgR3N0R0xEaXNwbGF5CgoyMDEzLTExLTI1IDIwOjM0OjA2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs4NjIvOTA2XSB3aW5kb3c6IHJlbW92ZSBzZXRfbmVlZF9sb2NrCgkgIE5vLW9uZSBpcyB1c2luZyBpdC4gIFRoZSBvbmx5IGNvZGUgdGhhdCBkaWQgd2FzIHRoZSB4MTEgb25lIHdoaWNoCgkgIGRvZXNuJ3QgbmVlZCBpdCBhbnltb3JlLgoKMjAxNC0wMS0xMCAwMjo1MDoxNCArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvb3BlbmdsLmg6CgkgIFs4NjEvOTA2XSBnbHByb3RvdHlwZXM6IEFkZCBtaXNzaW5nIGdsU2NhbGVmIGRlY2xhcmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTkwMwoKMjAxMy0xMS0yMyAyMjo1ODo1NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJICBbODYwLzkwNl0gZG9jczogbWlzYyB1cGRhdGVzCgoyMDEzLTExLTIzIDIyOjU3OjQ5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSAgWzg1OS85MDZdIHdpbmRvdzogcHJvdmlkZSBzb21lIGRvY3VtZXRhdGlvbgoKMjAxMy0xMS0yMyAyMjo1NjoxMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkgIFs4NTgvOTA2XSBnbG1lbTogdXBkYXRlIHRoZSBkb2NzCgoyMDEzLTExLTIzIDIyOjU0OjQ2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbODU3LzkwNl0gZGlzcGxheTogZG9jdW1lbnQgdGhlIG5ldyBHc3RDb250ZXh0IGFwaQoKMjAxMy0xMS0yMyAyMjo1Mzo0OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSAgWzg1Ni85MDZdIGNvbnRleHQ6IGRvY3VtZW50IGl0CgoyMDEzLTExLTE0IDE1OjI3OjUyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs4NTUvOTA2XSB1cGxvYWQ6IGFkZCBzdXBwb3J0IGZvciBHc3RWaWRlb0dMVGV4dHVyZVVwbG9hZE1ldGEKCjIwMTMtMTEtMTMgMDA6NDE6MDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFs4NTQvOTA2XSB1c2UgdGhlIGFsbG9jYXRpb24gcXVlcnkgdG8gcHJvcG9nYXRlIEdzdEdMQ29udGV4dAoJICB1c2VzIHRoZSBHc3RWaWRlb0dMVGV4dHVyZVVwbG9hZE1ldGEgYXBpIHR5cGUgZm9yIHRoZSBxdWVyeQoKMjAxMy0xMC0yNCAyMjozMDo0NSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJICBbODUzLzkwNl0gZGlzcGxheTogcmVtb3ZlIF97c2V0LGdldH1fY29udGV4dAoJICBBIEdzdEdMRGlzcGxheSBkb2Vzbid0IG5lZWQgYSBHc3RHTENvbnRleHQgYW5kIGl0cyB1c2UKCSAgd2FzIGNhdXNlIGEgcmVmZXJlbmNlIGN5Y2xlCgoyMDEzLTExLTEzIDEwOjQzOjE2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbODUyLzkwNl0gdXNlIEdzdENvbnRleHQgZm9yIEdzdEdMRGlzcGxheSBwcm9wb2dhdGlvbgoJICBpbXBsZW1lbnRzIHRoZSBob29rcyByZXF1aXJlZCBpbiBHc3RFbGVtZW50OjpzZXRfY29udGV4dCBhbmQgdGhlIGNvbnRleHQgcXVlcnkKCjIwMTMtMTItMjAgMTU6MTg6MzggKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJICBbODUxLzkwNl0gZGVpbnRlcmxhY2U6IGZpeCB0ZXh0dXJlIGNvb3JkaW5hdGVzIGNvbXB1dGF0aW9uCgkgIEZpeGVzIGEgcmVncmVzc2lvbiBpbnRyb2R1Y2VkIGJ5IGZmZmRjYmRkM2RkZTQzN2UxMGNmNmUxYjVlNDBjNjk1OGQ0MWU2YzEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDgyNgoKMjAxMy0xMS0xNSAxODoyODo0OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzg1MC85MDZdIGdsdXBsb2FkOiBSZW1vdmUgdGV4dHVyZSBzY2FsaW5nIGFydGlmYWN0cyBmcm9tIHRoZSBURVhUVVJFX1JFQ1RBTkdMRSAtPiBURVhUVVJFXzJEIHRyYW5zaXRpb24KCSAgZml4ZXMgdGhlIGZ1bmt5IGNvbG91cnMgaW4gc29tZSBvZiB0aGUgeXV2IGZvcm1hdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTE1NQoKMjAxMy0xMC0yNiAwMjoyMDoxNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkgIFs4NDkvOTA2XSB0ZXN0c3JjOiB1c2UgX2NvbnRleHRfZ2V0X2dsX2FwaQoKMjAxMy0xMC0yNCAyMjoyODo1NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgWzg0OC85MDZdIGZpbHRlcjogYSBsaXR0bGUgY29kZSBjbGVhbnVwCgoyMDEzLTExLTEzIDE1OjU3OjA3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs4NDcvOTA2XSBtaXhlcjogdW5tYXAgdGhlIHZpZGVvIGZyYW1lcyB3ZSBtYXAKCSAgcGx1Z3MgYSBtZW1vcnkgbGVhawoKMjAxMy0xMS0xNSAyMDo1MDoyNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBbODQ2LzkwNl0gbWl4ZXI6IGhhbmRsZSAwLzEgZnJhbWVyYXRlIGJldHRlciBpbiBjYXBzCgoyMDEzLTExLTE1IDIwOjQ5OjQzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBbODQ1LzkwNl0gZmlsdGVyOiBoYW5kbGUgY2Fwc2ZlYXR1cmVzIHByb3Blcmx5CgoyMDEzLTExLTE0IDE1OjA4OjQ3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmg6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuaDoKCSogZ3N0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21peGVyLmg6CgkgIFs4NDQvOTA2XSBtaXhlcjogZ2l2ZSBhY2Nlc3MgdG8gdGhlIHBhZHMgYXQgcmVuZGVyIHRpbWUKCSAgYWxsb3dzIHVzIHRvIG1vdmUgdGhlIHZpZGVvIGZyYW1lIG1hcHBpbmcgc29tZXdoZXJlIGVsc2UKCjIwMTMtMTEtMTMgMjM6MjQ6MDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJICBbODQzLzkwNl0gbWVtb3J5OiBwcm92aWRlIGNvcHlfaW50b190ZXh0dXJlCgoyMDEzLTEyLTI1IDIzOjM1OjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbODQyLzkwNl0gRml4IGdzdGdsY29uZmlnLmgtcmVsYXRlZCAnbWFrZSBkaXN0Y2hlY2snIGlzc3VlcwoJICBGaXggc3JjZGlyIHZzLiBidWlsZGRpciBpc3N1ZSBpbiBkb2NzIGFuZCAnZmlsZXMgbGVmdCBhZnRlcgoJICBkaXNjbGVhbicgaXNzdWUgZm9yIGdzdGdsY29uZmlnLmgKCjIwMTMtMTEtMzAgMDk6NTE6NDkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgWzg0MS85MDZdIG9zeDogYWxsb3cgeDExL2dseCBiYWNrZW5kIGFuZCBzZXQgZGVmYXVsdCBydW50aW1lIHRvIGNvY29hL25zZ2wKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTc1NwoKMjAxMy0xMi0xNCAxOToxMjowOSArMDEwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgWzg0MC85MDZdIGdsdmlkZW9taXhlcjogVXNlIGNvcnJlY3QgY29vcmRpbmF0ZXMgYWZ0ZXIgdGhlIHN3aXRjaCBmcm9tIEdMX1RFWFRVUkVfUkVDVEFOR0xFIHRvIEdMX1RFWFRVUkVfMkQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDE3NwoKMjAxMy0xMS0zMCAxNjozODoxMyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgWzgzOS85MDZdIGNvY29hOiBhbGxvdyB0byBjYWxsIHNldF93aW5kb3dfaGFuZGxlIGJlZm9yZSB0byBjcmVhdGUgZ2xjb250ZXh0CgkgIFNvIHRoYXQgaXQgYWN0dWFsbHkgbWFrZSBjb2NvYSB2aWRlb292ZXJsYXkgZXhhbXBsZSB3b3JrIGFnYWluLgoJICBGaXhlcyBidWcgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTc1OAoKMjAxMy0xMS0xNSAxODoyODo0OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvbGlidmlzdWFsL3Zpc3VhbC1nbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlczIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zZGwvc2Rsc2hhcmUuYzoKCSAgWzgzOC85MDZdIGdsOiBVc2UgR0xfVEVYVFVSRV8yRCBpbnN0ZWFkIG9mIEdMX1RFWFRVUkVfUkVDVEFOR0xFCgkgIFdlIGNyZWF0ZSBvdXIgdGV4dHVyZXMgKGluIERlc2t0b3AgR0wpIHdpdGggR0xfVEVYVFVSRV9SRUNUQU5HTEUsCgkgIHZhYXBpIGF0dGVtcHRzIHRvIGJpbmQgb3VyIHRleHR1cmUgdG8gR0xfVEVYVFVSRV8yRCB3aGljaCB0aHJvd3MgYQoJICBHTF9JTlZBTElEX09QRVJBVElPTiBlcnJvciBhbmQgYXMgdGh1cywgbm8gdmlkZW8uCgkgIEFsc28sIGJ5IG1vdmluZyBleGNsdXNpdmVseSB0byBHTF9URVhUVVJFXzJEIGFuZCB0aGUgbnBvdCBleHRlbnNpb24KCSAgd2UgYWxzbyByZW1vdmUgYSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIERlc2t0b3AgR0wgYW5kIEdMRVMyIGNvZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTIyODcKCjIwMTMtMTEtMDggMTI6MTI6MjYgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xfY29jb2FfcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgWzgzNy85MDZdIGNvY29hOiByZXNpemUgT3BlbkdMIHZpZXcgc2l6ZSBlYWNoIHRpbWUgdGhlIHdpbmRvdyBpcyByZXNpemVkCgkgIEZpeGVzIGdsaXRjaGVzIHRoYXQgY2FuIGFwcGVhciB3aGVuIHRoZSBPcGVuR0wgdmlldyBoYXMgbm90IGJlZW4gcmVzaXplZAoJICBhZnRlciBhIHdpbmRvdyByZXNpemUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE2NzIKCjIwMTMtMTEtMDEgMTY6MzU6NDYgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkgIFs4MzYvOTA2XSBjb2NvYTogb25seSB1c2UgR1NSZWdpc3RlckN1cnJlbnRUaHJlYWQgd2l0aCBHTlVTdGVwIGVudmlyb25tZW50CgoyMDEzLTExLTA2IDIyOjE2OjIxICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBbODM1LzkwNl0gZ3N0Z2x3aW5kb3c6IHJlbW92ZSB1bnVzZWQgZmllbGRzCgoyMDEzLTExLTA2IDIyOjEzOjIwICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBbODM0LzkwNl0gZ3N0Z2x3aW5kb3c6IGNsZWFyIG11dGV4CgoyMDEzLTExLTA2IDIyOjEyOjAyICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgWzgzMy85MDZdIGdzdGdsY29udGV4dDogaW5pdGlhbGl6ZSB3aW5kb3cgdG8gTlVMTAoKMjAxMy0xMS0wNiAyMTo1OToyNyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbODMyLzkwNl0geDExOiBpZ25vcmUgRXhwb3NlIGV2ZW50cyBub3QgaW5pdGlhdGVkIGJ5IGdzdF9nbF93aW5kb3dfZHJhdwoKMjAxMy0xMS0wNiAyMTo1NTo0OSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbODMxLzkwNl0gZ2xpbWFnZXNpbms6IGF2b2lkIHRvIG92ZXJsb2FkIHRoZSBkcmF3ZXIgaWYgYWxyZWFkeSBkcmF3aW5nCgkgIEVzcGVjaWFsbHkgaWYgdGhlIGFwcGxpY2F0aW9uIGNhbGxzIGdzdF92aWRlb19vdmVybGF5X2V4cG9zZSBhIGxvdAoKMjAxMy0xMC0yMyAyMTo0NjowNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZ3N0L2dsL2dzdGdsdmlkZW9taXhlci5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFs4MzAvOTA2XSBnbHZpZGVvbWl4ZXI6IEFkZCBhIG5ldyBzaW1wbGUgZ2x2aWRlb21peGVyIGVsZW1lbnQKCSAgdGhhdCBzaW1wbHkgdXNlcyBnbEJsZW5kRnVuYyB0byBibGVuZCBlYWNoIGltcHV0IGZyYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA3MTQKCjIwMTMtMTAtMjMgMjA6Mzg6NTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgWzgyOS85MDZdIG1peGVyOiBlcnJvciBvdXQgcHJvcGVybHkgb24gZmx1c2hpbmcKCjIwMTMtMTAtMjIgMjE6NDg6MDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBbODI4LzkwNl0gY29udGV4dDogcmVmY291bnQgdGhlIGRpc3BsYXkKCjIwMTMtMTAtMjYgMDI6MjA6NTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgWzgyNy85MDZdIG1peGVyOiBkb24ndCB1bnJlZiB0aGUgcXVlcnkgaW4gdGhlIGRlZmF1bHQgY2FzZQoJICBUaGUgZWxlbWVudC9hcHBsaWNhdGlvbiBwZXJmb3JtaW5nIHRoZSBxdWVyeSBpcyByZXNwb25zaWJsZSBmb3IgdGhlCgkgIGRlL2FsbG9jYXRpb24KCjIwMTMtMTAtMjQgMjE6MjQ6MDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs4MjYvOTA2XSB1cGxvYWQ6IGZyZWUgb3VyIG11dGV4CgoyMDEzLTEwLTExIDE2OjAwOjIzICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs4MjUvOTA2XSBnbHdpbmRvd194MTE6IGNoZWNrIGlmIHRoZSBsb29wIGV4aXN0cwoJICBJdCBoYXBwZW5zIHdoZW4gY2FsbGluZyBzZXRfd2luZG93X2hhbmRsZSBiZWZvcmUgdG8gcmVhY2ggR1NUX1NUQVRFX1JFQURZLgoJICBJbiB0aGlzIGNhc2UgdGhlIHBhcmVudCBpcyBzZXQgd2hlbiBjcmVhdGluZyB0aGUgaW50ZXJuYWwgd2luZG93LgoKMjAxMy0xMC0wMSAyMzo0Nzo1NCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5jOgoJICBbODI0LzkwNl0gYW5kcm9pZDogQnVpbGQgZml4ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTc4NgoKMjAxMy0xMC0wMSAxMTo0Njo0NiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJICBbODIzLzkwNl0gd2F5bGFuZF9lZ2w6IG1ha2UgdGhlIHdheWxhbmQgYmFja2VuZCBhY3R1YWxseSB3b3JrIG9uIFJhc3BiZXJyeSBQaQoJICBGaXggcmVzaXppbmcgYW5kIGNhbiBub3cgbW92ZSB0aGUgd2luZG93CgoyMDEzLTEwLTAxIDExOjQ0OjAwICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJICBbODIyLzkwNl0gZ3N0Z2xjb250ZXh0X2VnbDogYXZvaWQgbm9uIHdvcmtpbmcgRUdMIGNvbmZzIG9uIHJwaS93YXlsYW5kCgoyMDEzLTEwLTAxIDExOjQyOjIxICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkgIFs4MjEvOTA2XSB0ZXN0czogZml4IHRlc3Rfc2hhcmUgb24gR0xFU3YyCgoyMDEzLTEwLTAxIDExOjI3OjA3ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBbODIwLzkwNl0gZ3N0Z2x3aW5kb3c6IGlmIGF2YWlsYWJsZSB1c2Ugd2F5bGFuZCBpbnN0ZWFkIGRpc3BtYW54IG9uIHJwaQoKMjAxMy0wOS0yNyAwMToxNToyNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSAgWzgxOS85MDZdIG1ha2UgZ2VuX3RleHR1cmUvZGVsX3RleHR1cmUgdGhyZWFkc2FmZQoJICBVc2Ugc3RhY2sgYWxsb2NhdGVkIGluc3RlYWQgb2Ygc3RhdGljIHZhcmlhYmxlcwoJICBDb25mbGljdHM6CgkgIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmMKCjIwMTMtMDktMjUgMTI6MjY6NTcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsX2NvY29hX3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs4MTgvOTA2XSB3aW5kb3c6IGFkZCBzZW5kX21lc3NhZ2VfYXN5bmMgdm1ldGhvZAoJICAtIHByb3ZpZGUgYSBkZWZhdWx0IHN5bmNocm9ub3VzIHNlbmRfbWVzc2FnZQoJICAtIG1ha2UgY29udGV4dCBjcmVhdGlvbiB0aHJlYWRzYWZlIGFnYWluCgoyMDEzLTA5LTI0IDE2OjM3OjExICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkgIFs4MTcvOTA2XSBtYWtlIHRoZSBzdGF0ZSBjaGFuZ2UgdGVzdCBwYXNzCgoyMDEzLTA5LTI0IDE0OjA3OjU4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs4MTYvOTA2XSB4MTE6IGZpeCBtYWtlIGNoZWNrIHNlZ2ZhdWx0CgoyMDEzLTA5LTIwIDExOjU1OjM2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs4MTUvOTA2XSBmaXggc29tZSByZWZjb3VudCBlcnJvcnMKCjIwMTMtMDktMjAgMTE6NTQ6NDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgWzgxNC85MDZdIG1peGVyOiB0aW1lc3RhbXAgYnVmZmVycwoKMjAxMy0wOS0xNiAxOTowNzoxOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzgxMy85MDZdIHVucmVmIHRoZSBwb29sIG9uIHNodXRkb3duCgoyMDEzLTA5LTE1IDE0OjIzOjQzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJICBbODEyLzkwNl0gbW92ZSB0aGUgR0wgdnRhYmxlIGZyb20gR3N0R0xEaXNwbGF5IHRvIEdzdEdMQ29udGV4dAoJICBDb25mbGljdHM6CgkgIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmMKCjIwMTMtMDgtMjIgMTU6NTU6MzUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJICBbODExLzkwNl0gdGVzdHM6IHVwZGF0ZSBmb3IgR3N0R0xDb250ZXh0IGFkZGl0aW9uCgoyMDEzLTA5LTI2IDE0OjQ2OjE2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIFs4MTAvOTA2XSBnc3RnbHV0aWxzOiB1c2UgZ2xfdnRhYmxlIGZvciBnbERlbGV0ZVRleHR1cmVzCgoyMDEzLTA5LTI2IDE0OjQzOjE5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkgIFs4MDkvOTA2XSB0ZXN0czogcG9ydCB0ZXN0X3NoYXJlIHRvIEdMRVMyCgkgIEFsc28gYWRkIGEgZGVpbml0IGZ1bmN0aW9uIHRvIHJlbGVhc2UgZmJvLCB0ZXggYW5kIHNoYWRlci4KCjIwMTMtMDktMDMgMjI6MDM6MDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzgwOC85MDZdIHgxMTogcmVtb3ZlIGRlYWQgY29kZQoKMjAxMy0wOS0wMyAyMTo0OToxOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJICBbODA3LzkwNl0gY29udGV4dDogTW92ZSBzb21lIHdpbmRvdyBlcnJvciBlbnVtcyB0byBjb250ZXh0CgoyMDEzLTA4LTMwIDAwOjI4OjA0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJICBbODA2LzkwNl0gZWdsOiBkb2Vzbid0IHJlcXVpcmUgdGhlIEVHTENvbmZpZyBmcm9tIHRoZSBvdGhlciBjb250ZXh0CgkgIGxpYkVHTCBzaG91bGQgZ2l2ZSB1cyB0aGUgc2FtZSBvciBzaW1pbGFyIEVHTENvbmZpZyBmcm9tIHRoZQoJICBFR0xEaXNwbGF5IHdlIGhhdmUuCgoyMDEzLTA4LTMwIDAwOjIyOjMxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgWzgwNS85MDZdIGdsZmlsdGVyOiByZW5hbWUgZXh0ZXJuYWwtb3BlbmdsLWNvbnRleHQgcHJvcCB0byBvdGhlci1jb250ZXh0CgkgIEl0IG5vdyByZXF1aXJlcyBhIEdzdEdMQ29udGV4dCBpbnN0ZWFkIG9mIGEgaGFuZGxlCgoyMDEzLTA4LTMwIDE1OjUzOjQxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbODA0LzkwNl0gcnBpOiBjYWxsIGJjbV9ob3N0X2luaXQgaW4gcGx1Z2luX2luaXQKCjIwMTMtMDgtMzAgMTQ6MTI6MzcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgWzgwMy85MDZdIHJhc3BiZXJyeXBpOiBhZGQgc3VwcG9ydCBmb3IgZGlzcG1hbngKCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzNDIKCjIwMTMtMDgtMjkgMjA6MTI6MjcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSAgWzgwMi85MDZdIGFkZCBHc3RHTENvbnRleHQgdGVzdCB0aGF0IHRlc3RzIGNvbnRleHQgc2hhcmluZwoKMjAxMy0wOC0yOSAyMDoxMDo0MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4LmM6CgkgIFs4MDEvOTA2XSBjb250ZXh0OiBSZWltcGxlbWVudCBHTCBjb250ZXh0IHNoYXJpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDgwNgoKMjAxMy0wOC0yOCAxMDozMjoyOSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzgwMC85MDZdIGdsaW1hZ2VzaW5rOiBhdm9pZCB0byBkcmF3IHRleHR1cmUgd2hpbGUgcmVsZWFzaW5nIHN0b3JlZCBidWZmZXIKCSAgU3BvdGVkIGJ5IGdlbmVyaWMvY3ViZSBleGFtcGxlIHdpdGggQ2xpZW50RHJhd0NhbGxiYWNrIHNldCB0bwoJICByZXR1cm5pbmcgVFJVRSAoaXQgbWVhbnMgZHJhd2luZyBhcyBmYXN0IGFzIHBvc3NpYmxlKQoKMjAxMy0wOC0yOCAxMDowNzoyNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIFs3OTkvOTA2XSBnbGltYWdlc2luazogZml4IGFzeW5jaHJvbmUgZHJhd2luZwoJICBTaW1wbGlmeSBnc3RfZ2xpbWFnZV9zaW5rX3JlZGlzcGxheSB3aGljaCBpcyB0aGVyZQoJICBvbmx5IHRvIGFzayB0aGUgd2luZG93IGZvciBhIHJlZHJhdy4KCSAgUHV0IGEgbG9jayB0byBtYWtlIHN1cmUgd2UgYXJlIG5vdCByZWFsZWFzaW5nCgkgIHRoZSBzdG9yZWQgYnVmZmVyIHdoaWxlIHN0aWxsIGRyYXdpbmcgdGhlIGNvcnJlc3BvbmRpbmcKCSAgdGV4dHVyZQoKMjAxMy0wOC0yMiAwMDoyOTozNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL01ha2VmaWxlLmFtOgoJICBbNzk4LzkwNl0gYnVpbGQ6IGluc3RhbGwgbmVlZGVkIGhlYWRlcgoKMjAxMy0wOC0yMSAxNTo0MDo1MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbNzk3LzkwNl0geDExOiBmaXggYnVpbGQgZm9yIGNsYW5nCgoyMDEzLTA4LTIxIDE0OjA1OjU2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSAgWzc5Ni85MDZdIG1vdmUgZWdsIGludG8gaXRzIG93biBkaXJlY3RvcnkKCjIwMTMtMDgtMjEgMTM6NTc6NTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSAgWzc5NS85MDZdIGFuZHJvaWQ6IHBvcnQgdG8gR3N0R0xDb250ZXh0CgkgIG5vdCB0ZXN0ZWQKCjIwMTMtMDgtMTUgMTc6MDk6MDQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xfY29jb2FfcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX3dnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4LmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5oOgoJICBbNzk0LzkwNl0gY29udGV4dDogYWRkIHN1YmNsYXNzZXMgZm9yIHRoZSBkaWZmZXJlbnQgcGxhdGZvcm1zIChlZ2wsIGdseCwgd2dsLCBldGMpCgkgIC0gbW9zdCBjb2RlIHRha2VuIGZyb20gdGhlIFdpbmRvdyBzdWJjbGFzc2VzCgkgIC0gdGVzdGVkIGNvbWJpbmF0aW9uczogeEVHTCwgR0xYLCBXYXlsYW5kK0VHTCwgQ29jb2EgKHVuZGVyIEdOVVN0ZXApLCBXR0wgKFdpbmUpCgoyMDEzLTA4LTE0IDEwOjQ0OjE5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4LmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFs3OTMvOTA2XSBhZGQgYSBHc3RHTENvbnRleHQgb2JqZWN0IHRoYXQgd2lsbCBiZSB0aGUgYmFzaXMgb2YgT3BlbkdMIGNvbnRleHRzCgkgIEF0IHRoZSBtb21lbnQgaXQganVzdCBzaXRzIGluIGJldHdlZW4gR3N0R0xEaXNwbGF5IGFuZCBHc3RHTFdpbmRvdwoJICBwZXJmb3JtaW5nIHNvbWUgb2YgdGhlIHN0dWZmIHRoYXQgR3N0R0xXaW5kb3cgdXNlZCB0byBkby4KCjIwMTMtMDgtMTMgMjA6MTA6NTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbNzkyLzkwNl0gYnVpbGQ6IHVzZSBvdXIgb3duIGluIHRyZWUgaGVhZGVycyBiZWZvcmUgc3lzdGVtIG9uZXMKCSAgYWxsb3dzIHVzIHRvIGRldmVsb3AgYWdhaW5zdCB0aGUgdHJlZSByYXRoZXIgdGhhbiB3aGF0IG1heSBiZSBpbnN0YWxsZWQKCjIwMTMtMDgtMTYgMTY6Mjk6MTIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS94MTFfZXZlbnRfc291cmNlLmM6CgkgIFs3OTEvOTA2XSBnbHdpbmRvdy94MTE6IHJlbW92ZSBYMTFFdmVudFNvdXJjZSBhcyBzb29uIGFzIHRoZSB3aW5kb3cgaXMgZGVsZXRlZAoJICBnc3RfZ2xfd2luZG93X3gxMV9zZW5kX21lc3NhZ2UgZG8gbm90IHVzZSBYU2VuZEV2ZW50IGFueW1vcmUKCjIwMTMtMDgtMTYgMTU6MjY6MjggKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs3OTAvOTA2XSBnbGltYWdlc2luazogcmV0cmlldmUgd2luZG93IG9ubHkgd2hlbiBjbGllbnREcmF3Q2FsbGJhY2sgcmV0dXJuIHRydWUKCjIwMTMtMDgtMDcgMTc6MTE6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVnbC5jOgoJICBbNzg5LzkwNl0gZWdsOiBDcmVhdGUgYSB3aW5kb3cgc3VyZmFjZSBpZiBuZWNlc3NhcnkKCjIwMTMtMDgtMDcgMTE6NDY6NDkgKzAyMDAgIFRvbnUgSmFhbnNvbyA8Y2hhaW5AYnNkLmVlPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFs3ODgvOTA2XSBvc3g6IEZpeCBjb21waWxhdGlvbgoKMjAxMy0wOC0wNyAxMTo0Mjo0NiArMDIwMCAgVG9udSBKYWFuc29vIDxjaGFpbkBic2QuZWU+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs3ODcvOTA2XSBnbDogVGhlIEdMU0wgcmVjdGFuZ2xlIHJlc2FtcGxlciBkb2VzIG5vdCBhbHdheXMgd29yayB3aXRoIGludCB0ZXggY29vcmRzCgkgIFVzZSBmbG9hdHMgaW5zdGVhZC4KCjIwMTMtMDctMjQgMTM6MzU6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczNvcGVuZ2wuaDoKCSAgWzc4Ni85MDZdIGdscHJvdG90eXBlczogQWRkIHN1cHBvcnQgZm9yIE5WIGV4dGVuc2lvbnMgZm9yIERyYXdCdWZmZXJzIGFuZCBSZWFkQnVmZmVyCgoyMDEzLTA3LTI0IDEzOjM0OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlZ2wuYzoKCSAgWzc4NS85MDZdIGVnbDogVXNlIEVHTF9LSFJfc3VyZmFjZWxlc3NfY29udGV4dCBpbnN0ZWFkIG9mIGNyZWF0aW5nIGEgdXNlbGVzcyBzdXJmYWNlIGlmIGF2YWlsYWJsZQoKMjAxMy0wNy0yMiAxOTowMDo0MiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5Lmg6CgkgIFs3ODQvOTA2XSBnbG92ZXJsYXk6IGFkZCBHX0JFR0lOL0VORCBkZWNsYXJhdGlvbgoKMjAxMy0wNy0xOSAxNjoyODoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs3ODMvOTA2XSBnbGltYWdlc2luazogRml4IGZvcm1hdCBzdHJpbmcgd2FybmluZwoKMjAxMy0wNy0xOSAxMDowNzo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzc4Mi85MDZdIGdsZG93bmxvYWQ6IFVzZSBzdHJsZW4oKSBpbnN0ZWFkIG9mIHNpemVvZihjaGFyKikKCSAgZ3N0Z2xkb3dubG9hZC5jOjg0NjoyMjogZXJyb3I6IGFyZ3VtZW50IHRvICdzaXplb2YnIGluICdtZW1jcHknIGNhbGwgaXMgdGhlIHNhbWUgZXhwcmVzc2lvbiBhcyB0aGUgc291cmNlOyBkaWQgeW91IG1lYW4gdG8gcHJvdmlkZSBhbiBleHBsaWNpdCBsZW5ndGg/IFstV2Vycm9yPXNpemVvZi1wb2ludGVyLW1lbWFjY2Vzc10KCjIwMTMtMDctMTkgMTY6NDg6MDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzc4MS85MDZdIGRvd25sb2FkOiBwcm9wb2dhdGUgZXJyb3JzIGZyb20gdGhlIEdMIHRocmVhZAoKMjAxMy0wNy0xOCAyMDoyMTo1NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFs3ODAvOTA2XSB1cC9kb3dubG9hZDogY2hlY2sgcmV0dXJuIHZhbHVlcwoJICBTbyB3ZSBmYWlsIHByb3Blcmx5CgoyMDEzLTA3LTE4IDE5OjM3OjMyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkgIFs3NzkvOTA2XSBkb3dubG9hZDogcmVtb3ZlIF90aHJlYWQgdmFyaWFudHMgb2YgdGhlIEFQSQoKMjAxMy0wNy0xOCAxOTozNjoyNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIFs3NzgvOTA2XSB1cGxvYWQ6IHJlbW92ZSBfdGhyZWFkIHZhcmlhbnRzIG9mIHRoZSBBUEkKCjIwMTMtMDctMTggMTk6MTc6MTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBbNzc3LzkwNl0gdXBsb2FkOiBvdmVyaGF1bCBhbmQgYWRkaXRpb24gb2YgbmV3IHZpZGVvIGZvcm1hdHMKCSAgdXNlIHRoZSBzaGFkZXJzIGZyb20gZWdsZ2xlc3NpbmsgKGFkYXB0ZWQgZm9yIERlc2t0b3AgR0wpCgkgIGVycm9yIG91dCBwcm9wZXJseQoKMjAxMy0wNy0xNyAyMToxNzowMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBbNzc2LzkwNl0gZG93bmxvYWQ6IGZpeCBjb21waWxlciB3YXJuaW5nIGFib3V0IG1pc3Npbmcgc3RyaW5nIGZvcm1hdAoKMjAxMy0wNy0xOSAwOToyMDowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nc3RnbF9jb21wYXQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIFs3NzUvOTA2XSBjb25maWd1cmU6IENoZWNrIGZvciBHTGVnbEltYWdlT0VTIGFuZCBvdGhlcnMgYWdhaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDQ5OAoKMjAxMy0wNy0xOCAyMDoyNjo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIFs3NzQvOTA2XSB3aW4zMjogRml4IHNvbWUgY29tcGlsZXIgZXJyb3JzL3dhcm5pbmdzCgoyMDEzLTA3LTE4IDAxOjQyOjMxICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSAgWzc3My85MDZdIGdsZmlsdGVyczogTWFyayB3cml0YWJsZS1vbmx5IHByb3BlcnRpZXMgYXMgcmVhZGFibGUgYXMgd2VsbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0NDI5CgoyMDEzLTA3LTE4IDAxOjQxOjA1ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbNzcyLzkwNl0gZ2xmaWx0ZXJzOiBNYXJrIHRoZW0gYXMgVmlkZW8gZmlsdGVycyBpbiB0aGVpciBjbGFzc2lmaWNhdGlvbgoJICBJdCBtYWtlcyBpdCBwb3NzaWJsZSBmb3IgYXBwbGljYXRpb25zIGxpa2UgcGl0aXZpIHRvCgkgIHVzZSB0aGVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0NDI5CgoyMDEzLTA3LTE3IDExOjIyOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dzdGd0ay5jOgoJICBbNzcxLzkwNl0gZ2w6IFNvbWUgbGVzcyBsb25nL3Vsb25nL2d1bG9uZyB1c2FnZQoKMjAxMy0wNy0xNiAxODoyODozMyArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzc3MC85MDZdIHRlc3RzL2V4YW1wbGVzOiBwb3J0IHNvbWUgb2YgdGhlIGV4YW1wbGVzLgoJICBUaGlzIGNvbW1pdCBpcyBhIGZpcnN0IHN0ZXAsIHJlbW92ZXMgZ2x1cGxvYWQsIHN3aXRjaCBuZXctZGVjb2RlZC1wYWQKCSAgdG8gcGFkLWFkZGVkLCBidXQgdGhlc2UgZXhhbXBsZXMgc3RpbGwgZmFpbCBmb3IgdmFyaW91cyByZWFzb25zLgoKMjAxMy0wNy0xNiAxODoyNzowNyArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NkbC9zZGxzaGFyZS5jOgoJICBbNzY5LzkwNl0gdGVzdHMvZXhhbXBsZXM6IGZpeCBhbmQgcG9ydCBzb21lIG9mIHRoZSBleGFtcGxlcy4KCSAgUmVhbGl6ZSB3aWRnZXRzLCByZW1vdmUgZ2x1cGxvYWQgZWxlbWVudC4KCjIwMTMtMDctMTYgMTY6MTc6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzc2OC85MDZdIGdsdGVzdHNyYzogRml4IHVzYWdlIG9mIEZCTyBBUEkKCjIwMTMtMDctMTYgMTQ6MjI6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgWzc2Ny85MDZdIGdsaW1hZ2VzaW5rOiBSZW1vdmUgR1ZhbHVlIHVzYWdlIGZvciBmcmFjdGlvbiBoYW5kbGluZwoKMjAxMy0wNy0wNCAxMDowMTo1MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBbNzY2LzkwNl0gdXRpbHM6IGdlbmVyYXRlIGEgUkdCQSB0ZXh0dXJlIGluIGFsbCBjYXNlcwoKMjAxMy0wNy0wMyAyMTowMToyNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJICBbNzY1LzkwNl0gd2F5bGFuZDogcmVtb3ZlIGZ1bGxzY3JlZW4KCjIwMTMtMDctMDMgMTQ6Mzc6MTMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIFs3NjQvOTA2XSBmaWx0ZXI6IGZpeCBwYWQgdGVtcGxhdGUgY2FwcwoJICB1cGxvYWQgaXMgZm9yIHRoZSBzaW5rIHRlbXBsYXRlCgkgIGRvd25sb2FkIGlzIGZvcm0gdGhlIHNyYyB0ZW1wbGF0ZQoKMjAxMy0wNy0wMyAxNDoxMzowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgWzc2My85MDZdIG1lbW9yeTogY29weSBwcm9wZXJseSBkZXBlbmRpbmcgb24gd2hlcmUgdGhlIG1vc3QgcmVjZW50IGRhdGEgaXMKCjIwMTMtMDctMTYgMTQ6MTE6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgWzc2Mi85MDZdIGdsaW1hZ2VzaW5rOiBGaXggc29tZSBtZW1vcnkgbGVha3MgYW5kIHByb3Blcmx5IHNldCB1cCB0aGUgYnVmZmVyIHBvb2wKCjIwMTMtMDctMTYgMTM6Mjg6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkgIFs3NjEvOTA2XSB4MTE6IFByb3RlY3QgZXZlbnQgZGlzcGxheSBjb25uZWN0aW9uIHdpdGggYSBtdXRleAoJICBXZSB1c2UgaXQgZnJvbSBkaWZmZXJlbnQgdGhyZWFkcyBhbmQgbmVlZCB0byBzZXJpYWxpemUgdGhlCgkgIGFjY2Vzc2VzIHRvIGl0LgoKMjAxMy0wNy0xNiAxMzoyMzo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzc2MC85MDZdIHgxMTogQWx3YXlzIHVzZSB0aGUgc2FtZSBkaXNwbGF5IGNvbm5lY3Rpb24gZnJvbSB0aGUgR0wgdGhyZWFkCgkgIFRoZSBvdGhlciBkaXNwbGF5IGNvbm5lY3Rpb24gbWlnaHQgYmUgdXNlZCBieSBhc3luYyBjYWxscyBmcm9tIGVsc2V3aGVyZQoJICBhdCB0aGUgc2FtZSB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0MjQ3CgoyMDEzLTA3LTE1IDIxOjQ0OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBbNzU5LzkwNl0gZ2xkb3dubG9hZDogI2lmZGVmIHNvbWUgR0xFUzIgc3BlY2lmaWMgY29kZSB0byBmaXggY29tcGlsYXRpb24KCjIwMTMtMDctMTUgMTg6MDc6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkgIFs3NTgvOTA2XSBhbmRyb2lkOiBEb24ndCByZXF1aXJlIGEgd2luZG93IHRvIGJlIHNldAoJICBUaGlzIGFsbG93cyB0aGUgZmlsdGVycyB0byBiZSB1c2FibGUgd2l0aG91dCBhIEdMIHNpbmsgZG93bnN0cmVhbS4KCjIwMTMtMDctMTUgMTg6MDE6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVnbC5jOgoJICBbNzU3LzkwNl0gZWdsOiBDcmVhdGUgYW4gb2Zmc2NyZWVuIHN1cmZhY2UgaWYgbm8gd2luZG93IHdhcyBwcm92aWRlZAoKMjAxMy0wNy0xNSAxNzoyMDowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzc1Ni85MDZdIGdsZG93bmxvYWQ6IFJlc2V0IHRoZSB2aWV3cG9ydCBhZnRlciBkb3dubG9hZCBSR0IgdmlhIEdMRVMyCgoyMDEzLTA3LTE1IDE3OjExOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBbNzU1LzkwNl0gZ2xkb3dubG9hZDogVW5iaW5kIGZyYW1lYnVmZmVyIGFmdGVyIGRvd25sb2FkaW5nIFJHQiB3aXRoIEdMRVMyCgoyMDEzLTA3LTE1IDE3OjA4OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJICBbNzU0LzkwNl0gZ2xkb3dubG9hZDogQWRkIHN1cHBvcnQgZm9yIFJHQiByZW9yZGVyaW5nIHdoZW4gdXNpbmcgR0xFUzIKCjIwMTMtMDctMTUgMTc6MDg6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzc1My85MDZdIGdsZGlzcGxheTogU2VuZGluZyBhIG1lc3NhZ2UgaXMgc3luY2hyb25vdXMsIHdlIGNhbiBhbGxvY2F0ZSB0aGUgbWVtb3J5IG9uIHRoZSBzdGFjawoKMjAxMy0wNy0xNSAxNTo1ODowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbNzUyLzkwNl0gZ2x3aW5kb3c6IEFkZCBkZXN0cm95IG5vdGlmaWVzIGZvciB0aGUgZGF0YSBvZiB0aGUgY2FsbGJhY2tzCgkgIEFuZCBhY3R1YWxseSBjYWxsIHRoZSBjbG9zZSBjYWxsYmFjayB3aGVuIHRoZSB3aW5kb3cgaXMgY2xvc2VkLgoKMjAxMy0wNy0xNSAxNToyNTo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNzUxLzkwNl0gZ2xkaXNwbGF5OiBEb24ndCBob2xkIGxvY2sgd2hpbGUgc2VuZGluZyBhIG1lc3NhZ2UgdG8gdGhlIEdMIHRocmVhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0MjQ3CgoyMDEzLTA3LTE1IDE0OjExOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlczIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBbNzUwLzkwNl0gZ2x1cGxvYWQ6IEFkZCBzdXBwb3J0IGZvciBSR0IgcmVvcmRlcmluZyB3aGVuIHVzaW5nIEdMRVMyCgoyMDEzLTA3LTE1IDA3OjM5OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSAgWzc0OS85MDZdIGdsc2hhZGVyOiBBZGQgc29tZSBtb3JlIGRlYnVnIG91dHB1dAoKMjAxMy0wNy0xMiAxNDozMTo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzc0OC85MDZdIGdsdXBsb2FkOiBHTF9TVEVOQ0lMX0FUVEFDSE1FTlQgaXMgbmVlZGVkIGZvciBkZXNrdG9wIEdMLCBub3QgR0xFUwoKMjAxMy0wNy0xMiAxNDoyNjo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs3NDcvOTA2XSBnbDogQ29uc3RpZnkgWVVWIGNvbnZlcnNpb24gc2hhZGVycwoKMjAxMy0wNy0xMiAxNDoyMDo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuaDoKCSAgWzc0Ni85MDZdIGFuZHJvaWQ6IEFkZCBjb21tZW50IHRvIGNsYXJpZnkgdGhlIHR5cGUgb2YgYSB2YXJpYWJsZQoKMjAxMy0wNy0xMiAxNDoyMDowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs3NDUvOTA2XSBnbDogU2ltcGxpZnkgYW5kIG9wdGltaXplIFlVViBjb252ZXJzaW9uIHNoYWRlcnMgYSBiaXQKCjIwMTMtMDctMTIgMTE6MzU6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJICBbNzQ0LzkwNl0gZ2w6IFVzZSBfX0dTVF9HTF9IX18gaW5zdGVhZCBvZiBfX0dMX0hfXyBhcyBhIG11bHRpLWluY2x1ZGUgZ3VhcmQKCSAgR0wvZ2wuaCBtaWdodCB1c2UgdGhlIGxhdHRlciBhbHJlYWR5LgoKMjAxMy0wNy0xMSAyMTozMDo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5oOgoJICBbNzQzLzkwNl0gd2luMzI6IEFsbG93IHNldHRpbmcgd2luZG93IGhhbmRsZSBiZWZvcmUgY3JlYXRpbmcgdGhlIGNvbnRleHQKCjIwMTMtMDctMTEgMjE6MjI6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBbNzQyLzkwNl0gY29jb2E6IEFsbG93IHNldHRpbmcgd2luZG93IGhhbmRsZSBiZWZvcmUgY3JlYXRpbmcgdGhlIGNvbnRleHQKCjIwMTMtMDctMTEgMjE6MTc6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkgIFs3NDEvOTA2XSB3YXlsYW5kOiBEb24ndCBsZWFrIG1haW4gY29udGV4dCBhbmQgbG9vcAoKMjAxMy0wNy0xMSAyMToxNTo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzc0MC85MDZdIHgxMTogQWxsb3cgc2V0dGluZyB3aW5kb3cgaGFuZGxlIGJlZm9yZSBjcmVhdGluZyB0aGUgY29udGV4dAoKMjAxMy0wNy0xMSAyMDo1ODozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzczOS85MDZdIHgxMTogRG9uJ3QgbGVhayBtYWluIGNvbnRleHQgYW5kIG1haW4gbG9vcAoKMjAxMy0wNy0xMSAyMDo1MTo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIFs3MzgvOTA2XSBnbDogSW5jbHVkZSBnbHUuaCBhZnRlciBnbC5oCgoyMDEzLTA3LTExIDE2OjIxOjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzczNy85MDZdIGdsaW1hZ2VzaW5rOiBSZXF1ZXN0IGFuZCBzZXQgdGhlIHdpbmRvdyBoYW5kbGUgbXVjaCBlYXJsaWVyCgoyMDEzLTA3LTExIDE2OjA1OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFs3MzYvOTA2XSBnbGltYWdlc2luazogR2l2ZSBNQVJHSU5BTCByYW5rIHRvIGJlIGFibGUgdG8gYXV0b3BsdWcgaXQgaWYgbm90aGluZyBlbHNlIGlzIGF2YWlsYWJsZQoKMjAxMy0wNy0xMCAxMTozMToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBbNzM1LzkwNl0gZ2w6IEFkZCBzdXBwb3J0IGZvciBBbmRyb2lkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzNDAKCjIwMTMtMDctMTEgMTE6Mzc6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9NYWtlZmlsZS5hbToKCSAgWzczNC85MDZdIHdpbjMyOiBNYWtlIGF1dG9tYWtlIGhhcHB5IGJ5IHVzaW5nIG5vaW5zdF9IRUFERVJTCgoyMDEzLTA3LTExIDExOjAzOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nc3RnbF9jb21wYXQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXJwYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4LmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEveDExX2V2ZW50X3NvdXJjZS5jOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmg6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuaDoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuaDoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmg6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzczMy85MDZdIGdsOiBNYWpvciBoZWFkZXIgYW5kIGluY2x1ZGUgY2xlYW51cAoKMjAxMy0wNy0xMCAxNjowMzowNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkgIFs3MzIvOTA2XSBidWlsZDogZml4IHJlcGVhdGVkIHR5cGVkZWZzCgkgIFdyaXRlIGZvcndhcmQgZGVjbGFyYXRpb25zIGluIGFub3RoZXIgd2F5IHRvIGF2b2lkCgkgIHJlcGVhdGVkIHR5cGVkZWZzICJlcnJvcjogcmVkZWZpbml0aW9uIG9mIHR5cGVkZWYiLgoJICBSYWlzZWQgd2hlbiB1c2luZyBpNjg2LWFwcGxlLWRhcndpbjExLWxsdm0tZ2NjLTQuMgoJICBJdCBzZWVtcyB0aGF0IEMgYXBwbGUgY29tcGlsZXIgZG9lcyBub3Qgc3VwcG9ydAoJICBDMTEgZmVhdHVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzg4NQoKMjAxMy0wNy0xMCAxNTo0NzoyMyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgWzczMS85MDZdIGNvY29hOiBmaXggYnVpbGQgd2hlbiBHTlVTVEVQIGlzIG5vdCBkZWZpbmVkCgoyMDEzLTA3LTEwIDExOjMwOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dzdGdsX2NvbXBhdC5oOgoJICBbNzMwLzkwNl0gZ2xjb21wYXQ6IFByb3Blcmx5IGNoZWNrIGZvciBHTGNoYXIgYW5kIG90aGVyIHR5cGVzCgkgIE9uIEFuZHJvaWQgZm9yIGV4YW1wbGUgdGhlc2UgYXJlIG5vICNkZWZpbmVzIGJ1dCB0eXBlZGVmcwoKMjAxMy0wNy0xMCAxMToyNDozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3N0Z3RrLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NkbC9zZGxzaGFyZS5jOgoJICBbNzI5LzkwNl0gZ2w6IEluY2x1ZGUgY29uZmlnLmggZXZlcnl3aGVyZQoKMjAxMy0wNy0wMyAxNDoxMzo1NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzcyOC85MDZdIGdsaW1hZ2VzaW5rOiBmaXggZm9yIGdsZXMyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM1MDgKCjIwMTMtMDctMDMgMDk6MTI6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmg6CgkgIFs3MjcvOTA2XSBlZ2w6IFJlZmFjdG9yIEVHTCBsb2dpYyBpbnRvIGEgaGVscGVyIG9iamVjdAoKMjAxMy0wNy0wMiAyMjo0NTowOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIFs3MjYvOTA2XSB3aW5kb3c6IGRvbid0IGNhbGwgYSBOVUxMIGRlc3Ryb3kgZnVuY3Rpb24KCjIwMTMtMDctMDIgMjI6MDY6MDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS94MTFfZXZlbnRfc291cmNlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEveDExX2V2ZW50X3NvdXJjZS5oOgoJICBbNzI1LzkwNl0geDExOiB1c2UgR01haW5Db250ZXh0L0dNYWluTG9vcAoJICBhbGxvd3MgdXMgdG8gYmUgcmVlbnRyYW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM0NDUKCjIwMTMtMDctMDIgMTg6MzM6NDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSAgWzcyNC85MDZdIHdheWxhbmQ6IG1ha2UgcmVlbnRyYW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM0NDUKCjIwMTMtMDctMDEgMTQ6NDM6MTQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIFs3MjMvOTA2XSBnc3RnbHdpbmRvdzogY2xvc2UgaGFzIHRvIGJlIGNhbGxlZCBpbiB0aGUgZ2x0aHJlYWQuCgkgIEluZGVlZCAnZ2xYTWFrZUN1cnJlbnQgKHdpbmRvd194MTEtPmRldmljZSwgTm9uZSwgTlVMTCk7JwoJICBoYXMgdG8gYmUgY2FsbGVkIGluIHRoZSB0aHJlYWQgd2hlcmUgdGhlIGdsY29udGV4dCBpcyBhY3R1YWxseQoJICBjdXJyZW50LgoJICBPdGhlcndpc2UgZ2xYRGVzdHJveUNvbnRleHQgbWF5IGNyYXNoLgoKMjAxMy0wNy0wMSAwMTozNjozNSArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgWzcyMi85MDZdIGdsOiBGaXggYnVpbGQgb24gV2luMzIKCSAgMSkgTmVlZCB0byBpbmNsdWRlIEdML2dsZXh0Lmggb24gVzMyIHRvIHByb3ZpZGUgbmVjZXNzYXJ5IG1hY3JvcwoJICAyKSBXMzIgbWFjcm9zIHRoYXQgcHJlLXByb2Nlc3NvciBoYXMgYnkgZGVmYXVsdCBhcmUgZGlmZmVyZW50IGZvciBkaWZmZXJlbnQKCSAgdG9vbGNoYWlucy4gQm9ybGFuZCB1c2VzIF9fV0lOMzJfXywgZXZlcnlvbmUgZWxzZSBoYXMgX1dJTjMyLCBzbyBjaGVjayBib3RoLgoJICBTaWRlLW5vdGU6IGdsZXh0LmggaXMgbm90IHN1cHBsaWVkIGJ5IG1pbmd3LXc2NCBhdCB0aGUgbW9tZW50LCBidXQgY2FuIGJlCgkgIGRvd25sb2FkZWQgZnJvbSBodHRwOi8vd3d3Lm9wZW5nbC5vcmcvcmVnaXN0cnkvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzNjQKCjIwMTMtMDYtMjggMTE6MTA6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBbNzIxLzkwNl0gZ2xmaWx0ZXI6IFVzZSB1aW50NjQgZm9yIHRoZSBPcGVuR0wgY29udGV4dCBwcm9wZXJ0eQoJICB1bG9uZy9sb25nIHByb3BlcnRpZXMgYXJlIGRlcHJlY2F0ZWQgYW5kIHNob3VsZCBub3QgYmUgdXNlZCBhbnltb3JlCgkgIGZvciBwb3J0YWJpbGl0eSByZWFzb25zLgoKMjAxMy0wNi0yOCAxMTowMDo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFs3MjAvOTA2XSBleGFtcGxlczogU3RvcCB1c2luZyBkZXByZWNhdGVkIEdMaWIgdGhyZWFkIEFQSQoKMjAxMy0wNi0yOCAxMTowMDowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs3MTkvOTA2XSBnbDogRml4IGNvbXBpbGF0aW9uIHdpdGggR0xFUzIKCjIwMTMtMDYtMjggMDA6MzQ6NDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgWzcxOC85MDZdIHNoYWRlcjogbWFrZSBpdCBwb3NzaWJsZSB0byB1bnJlZiBpbiB0aGUgbm9uLUdMIHRocmVhZAoKMjAxMy0wNi0yOCAwMDozMTozNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvbGlidmlzdWFsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QtbGlicy9nc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSAgWzcxNy85MDZdIHJlbW92ZSBvdXRkYXRlZCBjbWFrZSBidWlsZCBmaWxlcwoKMjAxMy0wNi0xNyAxOTo0NToyNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuYzoKCSAgWzcxNi85MDZdIHdheWxhbmQ6IHByb3Blcmx5IGNob29zZSBFR0xfUkVOREVSQUJMRV9UWVBFCgkgIGJhc2VkIG9uIHRoZSBnbCBhcGkgd2UgY2hvc2UKCjIwMTMtMDYtMTYgMjA6NDc6MDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbNzE1LzkwNl0gZGlzcGxheTogaW5oZXJpdCBmcm9tIHRoZSByaWdodCBvYmplY3QgY2xhc3MKCjIwMTMtMDYtMTYgMjA6NDQ6NDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBbNzE0LzkwNl0gQWRkIEdzdEdMRnJhbWVidWZmZXIgdG8gcmVwbGFjZSBfZGlzcGxheV9nZW5fZmJvIGFuZCBmcmllbmRzCgkgIFRoaXMgdmVyc2lvbiBpcyBzaW1wbHkgQVBJIGNvbXBhdGlibGUgd2l0aCBfZGlzcGxheV9nZW5fZmJvLgoJICBUaGUgbmV4dCB2ZXJzaW9uIHdpbGwgbGlrZWx5IHJldmFtcCB0aGUgQVBJCgoyMDEzLTA2LTE2IDIwOjQxOjI5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJICBbNzEzLzkwNl0gc2hhZGVyOiBtYWtlIGl0IHBvc3NpYmxlIHRvIGNyZWF0ZSB0aGUgb2JqZWN0IGluIGEgbm9uLUdMIHRocmVhZAoKMjAxMy0wNi0xNiAyMDozODoyNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJICBbNzEyLzkwNl0gd2F5bGFuZDogc2h1dGRvd24gcHJvcGVybHkKCSAgV2UgY2Fubm90IHVzZSBfZmluYWxpemUgYXMgdGhpcyB3aWxsIGJlIGNhbGxlZCBiZWZvcmUgR3N0R0xXaW5kb3cncwoJICBfZmluYWxpemUuICBUaGlzIGNhdXNlcyB1cyB0byB0cnkgYW5kIHBlcmZvcm0gb3BlcmF0aW9ucyB3aXRoIHRoZQoJICB3YXlsYW5kIHNlcnZlciB3aGVuIHRoZSBjb25uZWN0aW9uIGhhcyBiZWVuIHNldmVyZWQuCgoyMDEzLTA2LTE2IDIwOjM3OjA2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5jOgoJICBbNzExLzkwNl0gd2F5bGFuZDogc3VwcG9ydCBjaG9vc2luZyBEZXNrdG9wIEdMIGFzIHRoZSBhcGkKCjIwMTMtMDYtMTYgMjA6MzQ6MTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIFs3MTAvOTA2XSB3aW5kb3c6IGZhaWwgaWYgdGhlIHVzZXIgc3BlY2lmaWVzIGFuIEdMIGFwaSB0aGF0IHdlIGNhbm5vdCB3b3JrIHdpdGgKCSAgSXQgd291bGQndmUgYmVlbiBjYXVnaHQgbGF0ZXIgaW4gYW4gZ19hc3NlcnQgYW55d2F5LgoKMjAxMy0wNi0xMyAxODozMzo0NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzcwOS85MDZdIGRpc3BsYXk6IHNvbWUgbW9yZSBjbGVhbnVwcwoKMjAxMy0wNi0xMyAxNzo1NzozNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXJwYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIFs3MDgvOTA2XSBkaXNwbGF5OiBhIGNsZWFudXAgYW5kIHJlbW92YWwgb2Ygb2xkIGNvZGUKCjIwMTMtMDYtMTMgMTY6NTU6MzcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzcwNy85MDZdIGRpc3BsYXk6IG1vdmUgZXJyb3JfbWVzc2FnZSB0byB1dGlscwoKMjAxMy0wNi0xMyAxNjozMTozOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgWzcwNi85MDZdIGRpc3BsYXk6IG1vdmUgYWN0aXZhdGVfY29udGV4dCBpbnRvIHV0aWxzCgoyMDEzLTA2LTEzIDE2OjA0OjQwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzcwNS85MDZdIHgxMTogZG9uJ3Qgc2h1dGRvd24gaW4gX2ZpbmFsaXplCgkgIFRoZSB3aW5kb3cncyBsb29wIGNvdWxkIGJlIHN0aWxsIHJ1bm5pbmcgd2hlbiBfZmluYWxpemUgaXMgY2FsbGVkCgkgIGFuZCBpZiB3ZSBkZXN0cm95IHRoZSBkaXNwbGF5IGNvbm5lY3Rpb24gaXQgd2lsbCBuZXZlciBiZSBjbG9zZWQuCgkgIEFkZCBfb3BlbiBhbmQgX2Nsb3NlIHZmdW5jcyB0byBHc3RHTFdpbmRvdyBzbyB0aGF0IHN1YmNsYXNzZXMgY2FuCgkgIHN0YXJ0IHVwIGFuZCBzaHV0ZG93biBhdCB0aGUgcmlnaHQgdGltZS4KCjIwMTMtMDYtMTMgMTQ6MzY6NDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2xpYnZpc3VhbC92aXN1YWwtZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2RsL3NkbHNoYXJlLmM6CgkgIFs3MDQvOTA2XSBVc2UgZ3N0X29iamVjdF9bdW5dcmVmIHNvIHdlIGNhbiBnZXQgcmVmY291bnRzIGluIHRoZSBsb2cKCjIwMTMtMDYtMTMgMTQ6MTg6MjQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs3MDMvOTA2XSB4MTE6IGRvbid0IHNlZ2ZhdWx0IGlmIGRlc3Ryb3lfY2IgaXMgTlVMTAoKMjAxMy0wNi0xMiAyMzoyMToxNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbNzAyLzkwNl0geDExOiBmaXggc2VnZmF1bHQgaWYgdGhlIHgxMSBiYWNrZW5kIGlzIGluc3RhbnRpYXRlZCBidXQgbm90IHVzZWQKCjIwMTMtMDYtMTIgMjM6MTc6MzAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzcwMS85MDZdIGRpc3BsYXk6IG1vdmUgY29udGV4dCBjcmVhdGlvbiBpbnRvIHdpbmRvdwoKMjAxMy0wNi0xMiAwMTowNDo1NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgWzcwMC85MDZdIGRpc3BsYXk6IG1vdmUgbW9zdCBvZiB0aGUgY29kZSBpbnRvIHV0aWxzIGZvciBzb3J0aW5nIGxhdGVyCgkgIFRoaXMgY29udGFpbnMgYSBoYWNrIHRoYXQgZXNzZW50aWFsbHkgcmVxdWlyZXMgb25lIEdzdEdMRGlzcGxheQoJICBwZXIgcHJvY2Vzcy4KCjIwMTMtMDYtMTEgMTg6NTA6MTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXJwYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbNjk5LzkwNl0gZGlzcGxheTogcmVtb3ZlIGxpc3Qgb2YgdXBsb2FkIGFuZCBkb3dubG9hZCBvYmplY3RzCgkgIGFuZCBvbmx5IGNyZWF0ZSBhbiB1cC9kb3dubG9hZCBvYmplY3Qgd2hlbiBuZWVkZWQuCgoyMDEzLTA2LTExIDEyOjI2OjUwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIFs2OTgvOTA2XSBtb3ZlIHNpbmstc3BlY2lmaWMgc3R1ZmYgZnJvbSBHc3RHTERpc3BsYXkgaW50byBnbGltYWdlc2luawoKMjAxMy0wNi0xMSAxMToyNzo1NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs2OTcvOTA2XSBkaXNwbGF5OiBhbGxvdyB0aGUgdXNlciB0byB0cnkgYW5kIGNob29zZSB0aGUgR0wgYXBpIHdlIHVzZSB2aWEgZW52IHZhcmlhYmxlCgkgIEdTVF9HTF9BUEk9b3BlbmdsLG9wZW5nbDMsZ2xlczIsZ2xlczMKCjIwMTMtMDYtMTEgMTE6MjY6MzggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmM6CgkgIFs2OTYvOTA2XSBnbGFwaTogZml4IG1lbW9yeSBsZWFrIGZyb20gbm90IGZyZWVpbmcgYSBzdHJpbmcKCjIwMTMtMDYtMDQgMjI6MTg6NTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL01ha2VmaWxlLmFtOgoJICBbNjk1LzkwNl0gYnVpbGQ6IHJlbW92ZSBsaWJ0b29sIHdhcm5pbmcgYWJvdXQgLXZlcnNpb24taW5mbyBub3QgdXNlZCBpbiBjb252ZW5pZW5jZSBsaWJyYXJpZXMKCjIwMTMtMDYtMDQgMjI6MTc6NDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbNjk0LzkwNl0gYnVpbGQ6IGFkZCBzdXBwb3J0IGZvciBzdGF0aWMgcGx1Z2lucwoKMjAxMy0wNi0wNCAyMjoxNjowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguYzoKCSAgWzY5My85MDZdIHgxMV9nbHg6IGFzayBmb3IgYSAzLjAgR0wgQ29udGV4dAoJICAoZmFsbGluZyBiYWNrIGlmIG5lZWRlZCkKCjIwMTMtMDYtMDMgMTg6MTU6NDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSAgWzY5Mi85MDZdIHdpbmRvd194MTE6IGFkZCBYRXJyb3IgdHJhcHBpbmcKCSAgc29tZSBmdW5jdGlvbnMgaW4gR0xYIGNhbiBmYWlsIGlmIHRoZSBpbXBsZW1lbnRhdGlvbiBkb2VzIG5vdCBzdXBwb3J0CgkgIGNlcnRhaW4gZmVhdHVyZXMgd2UgYXNrIGZvciAoaS5lLiBHTCAzKSBicmluZ2luZyBkb3duIHRoZSBlbnRpcmUKCSAgYXBwbGljYXRpb24KCjIwMTMtMDYtMDMgMTg6MTM6NTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5oOgoJICBbNjkxLzkwNl0gZmVhdHVyZTogbWFrZSBnc3RfZ2xfY2hlY2tfZXh0ZW5zaW9uIHB1YmxpYwoJICBwcmV2ZW50cyBkdXBsaWNhdGlvbiBvZiBjb2RlIG9mIGV4dGVuc2lvbiBzdHJpbmcgcGFyc2luZyBpbiBHc3RHTFdpbmRvdydzCgoyMDEzLTA2LTAyIDIxOjQ3OjE3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguaDoKCSAgWzY5MC85MDZdIHdpbmRvd3gxMWdseDogdXNlIGZiY29uZmlncyBpZiBzdXBwb3J0ZWQKCjIwMTMtMDQtMjUgMTI6MDQ6MjMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkgIFs2ODkvOTA2XSBidW1wZXI6IG5pY2VyIGVycm9yIGZvciBubyBidW1wbWFwIGZpbGUgcHJvdmVkZWQKCjIwMTMtMDQtMjQgMTQ6MjU6MjEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNjg4LzkwNl0gZGlzcGxheTogcHJvcGVybHkgc2h1dGRvd24gaWYgd2UgZXJyb3IgYWZ0ZXIgY29udGV4dCBjcmVhdGlvbgoJICBUaGUgX2ZpbmFsaXplKCkgY29kZSBjaGVja3MgdG8gc2VlIGlmIHRoZSBjb250ZXh0IHdhcyBjcmVhdGVkIGJlZm9yZQoJICBhdHRlbXB0aW5nIHRvIGRlc3Ryb3kgaXQuICBXZSBuZXZlciBkaWQgc2F5IHRoYXQgd2UgaGFkIGNyZWF0ZWQgdGhlIGNvbnRleHQuCgoyMDEzLTA0LTI0IDE0OjI0OjI3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJICBbNjg3LzkwNl0gYnVtcGVyOiBlcnJvciBvdXQgcHJvcGVybHkgaWYgd2UgY2Fubm90IGxvYWQgdGhlIHBuZyBmaWxlCgoyMDEzLTA0LTI0IDE0OjIzOjE2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJICBbNjg2LzkwNl0gZmlsdGVyc2hhZGVyOiBmaXggc3RyaW5nIGZvcm1hdCBjb21waWxlciB3YXJuaW5ncwoKMjAxMy0wNC0yNCAxNDoyMjo0MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgWzY4NS85MDZdIGZpbHRlcjogaW1wcm92ZSBlcnJvciBoYW5kbGluZwoKMjAxMy0wNC0yNCAxMjoxODoxNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs2ODQvOTA2XSBkaXNwbGF5OiBsYWNrIG9mIGZvcm1hdC1zdHJpbmcgY2F1c2luZyBhIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTMtMDQtMjQgMTI6MTc6MzYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5jOgoJICBbNjgzLzkwNl0gZmVhdHVyZTogcmVtb3ZlIGRvdWJsZSBmcmVlCgoyMDEzLTAzLTExIDE1OjUxOjA2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgWzY4Mi85MDZdIG92ZXJsYXk6IGZpeCB2aWRlby10b3AgcHJvcGVydHkKCjIwMTMtMDYtMDIgMDc6NTI6MzAgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJICBbNjgxLzkwNl0gd2luMzI6IGZpeCBnbCBhcGkgY2FsbHMgb24gMzItYml0CgkgIHdpbiBoYXMgdGhlIGJyaWdodCBpZGVhIG9mIGhhdmluZyA1IGRpZmZlcmVudCBjYWxsaW5nIGNvbnZlbnRpb25zLgoJICB3ZSBzaG91bGQgcHJvYmFibHkgdXNlIHRoZSByaWdodCBvbmUgc28gd2UgZG9uJ3QgY3Jhc2ggZnJvbSBzdGFjawoJICBjb3JydXB0aW9uLgoKMjAxMy0wMy0xMCAxMzozNzo0OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL29wZW5nbC5oOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIFs2ODAvOTA2XSBvdmVybGF5OiB0ZW50YXRpdmUgcG9ydCB0byBuZXcgR3N0R0xGdW5jcyBBUEkKCjIwMTMtMDMtMTAgMTM6MzQ6MTUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbNjc5LzkwNl0gb3BlbmdsOiBmaXggcGx1Z2lucyBub3QgYmVpbmcgcmVnaXN0ZXJlZCB3aGVuIHRoZXkgc2hvdWxkIGJlCgoyMDEzLTAzLTA5IDIzOjM2OjM2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl93Z2wuYzoKCSAgWzY3OC85MDZdIHdpbmRvd193aW4zMl93Z2w6IGltcGxlbWVudCB3Z2xHZXRQcm9jQWRkcmVzcyBmb3IgZXh0ZW5zaW9uIGZ1bmN0aW9ucwoKMjAxMy0wMy0wOSAyMjo1Mzo0MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgWzY3Ny85MDZdIG1lbW9yeTogZml4IEdTSVpFIHByaW50ZiBmb3JtYXQgb24gd2luMzIKCjIwMTMtMDMtMDkgMjI6NTM6MDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmg6CgkgIFs2NzYvOTA2XSB3aW5kd29fd2luMzI6IHBvcnQgdG8gbmV3IEFQSQoKMjAxMy0wMy0wOSAyMjo0NzoxMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzY3NS85MDZdIHVwbG9hZDogcHJvdmlkZSBuaWNlciBkZWJ1Z2dpbmcKCjIwMTMtMDMtMDkgMjI6NDU6MjMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5jOgoJICBbNjc0LzkwNl0gZmVhdHVyZTogdHJ5IGFuZCBjYXRjaCBtb3JlIEdMIGV4dGVuc2lvbiBmdW5jdGlvbnMKCSAgaWYgd2UgZG9uJ3QgZmluZCB0aGUgZXh0ZW5zaW9uIGluIGNvcmUgR0wsIHRyeSB0aGUgZXh0ZW5zaW9uIHZlcnNpb24gYW55d2F5CgoyMDEzLTAzLTA5IDIyOjM3OjM0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuaDoKCSAgWzY3My85MDZdIGZlYXR1cmU6IGFkZCBnc3RyZWFtZXIgbGljZW5zZQoKMjAxMy0wMy0wOSAyMjowNToyOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs2NzIvOTA2XSBkaXNwbGF5OiBjb25zdGlmeSBHc3RHTEZ1bmNzICpnbAoKMjAxMy0wMy0wOSAyMTo1OTowMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dzdGdsX2NvbXBhdC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgWzY3MS85MDZdIHdpbjMyOiAjaW5jbHVkZSBHTC9nbGV4dC5oIG9uIHdpbmRvd3MKCSAgYWxzbyBhZGQgc29tZSBHTCBkZWZhdWx0IHZhcmlhYmxlcyBpZiBzb21lIEdMIHR5cGVzIGFyZSBub3QgZGVmaW5lZAoKMjAxMy0wMi0xOCAyMTo0MDozNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzY3MC85MDZdIGRpc3BsYXk6IHJlcGxhY2UgZ2xpYiBkZXByZWNhdGVkIGFwaQoKMjAxMy0wMi0xMiAyMzo0ODozNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4LmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5oOgoJICBbNjY5LzkwNl0gd2luZG93OiBzZXBlcmF0ZSBvYmplY3QgY3JlYXRpb24gYW5kIGNvbnRleHQgY3JlYXRpb24KCjIwMTMtMDItMDQgMjE6MzA6NTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkgIFs2NjgvOTA2XSBzaGFkZXI6IGZpeCBnbGVzMiBzZWdmYXVsdAoKMjAxMy0wMi0wNCAyMToyOTozMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkgIFs2NjcvOTA2XSBmaWx0ZXJjdWJlOiBmaXggZm9yIGdsZXMyIGNvbXBpbGF0aW9uCgoyMDEzLTAyLTAxIDE4OjIwOjA0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkgIFs2NjYvOTA2XSBzb2JlbDogcG9ydCBmb3Igbm9uLWdsZXcKCjIwMTMtMDItMDEgMDA6MDg6MjggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkgIFs2NjUvOTA2XSBtb3NhaWM6IGZpeCBhIGNvdXBsZSBvZiBhc3NlcnRpb25zCgoyMDEzLTAyLTAxIDAwOjA2OjU0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJICBbNjY0LzkwNl0gZmlsdGVyc2hhZGVyOiBpbXByb3ZlIGVycm9yIGNoZWNraW5nCgoyMDEzLTAxLTMxIDIzOjUxOjA0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJICBbNjYzLzkwNl0gZmlsdGVyc2hhZGVyOiBwb3J0IHRvIG5vbi1nbGV3CgoyMDEzLTAxLTMxIDIzOjQ2OjM3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJICBbNjYyLzkwNl0gbGFwbGFjaWFuOiBwb3J0IHRvIG5vbi1nbGV3CgoyMDEzLTAxLTMxIDIzOjQzOjUyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmg6CgkgIFs2NjEvOTA2XSBnbGFzczogcG9ydCB0byBub24tZ2xldyArIHNoYWRlciBtYXRyaWNlcwoKMjAxMy0wMS0zMSAyMzozOTo1NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkgIFs2NjAvOTA2XSBjdWJlOiBwb3J0IGZvciBub24tZ2xldwoKMjAxMy0wMS0zMSAyMzozNDo0MiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkgIFs2NTkvOTA2XSBibHVyOiBwb3J0IGZvciBub24tZ2xldwoKMjAxMy0wMS0zMSAyMzozMjo0OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBbNjU4LzkwNl0gbWl4ZXI6IGZpeCBlb3MgdGltZXN0YW1wIGNoZWNrCgoyMDEzLTAxLTMxIDIzOjMxOjA5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJICBbNjU3LzkwNl0gZmlsdGVyYXBwOiBwb3J0IHRvIG5vbi1nbGV3CgoyMDEzLTAxLTMxIDIzOjI5OjEzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJICBbNjU2LzkwNl0gYnVtcGVyOiB1c2UgRHJhd0VsZW1lbnRzIGZvciBzZW1pLWNvbXBhdGFiaWxpdHkgd2l0aCBFUwoJICBhbHNvIEdMX1FVQURTIGlzbid0IGF2YWlsYWJsZSB3aXRoIEVTIGNvbnRleHRzCgoyMDEzLTAxLTE3IDIzOjQ1OjU5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFs2NTUvOTA2XSBkb3dubG9hZDogcmVtb3ZlIGVycm9ub3VzIFJlYWRCdWZmZXIgY2FsbAoJICAtIGl0IHdhcyBjYXVzaW5nIHNlZ2ZhdWx0cyBpbiBtZXNhCgkgIC0gd2UgZGlkbid0IHNldCB0aGUgcmVhZGJ1ZmZlciBzbyB3ZSBzaG91bGRuJ3QgcmVzZXQgaXQKCjIwMTMtMDEtMTcgMjM6MTc6MTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkgIFs2NTQvOTA2XSBkaWZmZXJlbmNlbWF0dGU6IHBvcnQgdG8gbm9uLUdMRVcKCjIwMTMtMDEtMTcgMjM6MTY6MDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSAgWzY1My85MDZdIGRlaW50ZXJsYWNlOiBwb3J0IHRvIG5vbi1HTEVXICsgYXJyYXlzCgoyMDEzLTAxLTE3IDIzOjE0OjQ5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvb3BlbmdsLmg6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJICBbNjUyLzkwNl0gYnVtcGVyOiBwb3J0IHRvIG5vbi1HTEVXICsgYXJyYXlzCgoyMDEzLTAxLTE3IDIzOjEyOjM1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNjUxLzkwNl0gdXAvZG93bmxvYWQ6IGZpeCBzb21lIHR5cG9zIHdoZW4gcmVtb3ZpbmcgR0xFVwoKMjAxMy0wMS0xNiAyMjo0MToxOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgWzY1MC85MDZdIGZpbHRlcjogZml4IF9kcmF3X3RleHR1cmUoKSdzIHdyb25nIHZlcnRpY2VzCgoyMDEzLTAxLTE2IDIyOjI3OjEwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJICBbNjQ5LzkwNl0gZWZmZWN0czogZml4ZXMgZm9yIG1pcnJvcigxKSBhbmQgc3F1ZWV6ZSgyKSBwcm9kdWNpbmcgYmxhY2sKCjIwMTMtMDEtMTYgMTU6MjM6NDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzY0OC85MDZdIHRlc3RzL2V4YW1wbGVzOiByZW1vdmUgZGVwZW5kZW5jeSBvbiBnbGV3CgoyMDEzLTAxLTE2IDE1OjIxOjQ0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYWxsX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMzb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvb3BlbmdsX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlczIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSAgWzY0Ny85MDZdIHJlbW92ZSBkZXBlbmRlY3kgb24gZ2xldwoKMjAxMy0wMS0xMyAwMDowOTozMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczFnbGVzMm9wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczJvcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9vcGVuZ2wuaDoKCSAgWzY0Ni85MDZdIHNvbWUgZ2wgaGVhZGVyIGZpeGVzL2FkZGl0aW9ucwoKMjAxMy0wMS0xMCAxMzozMjoxNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs2NDUvOTA2XSBmaXggZ2xlczIgY29tcGlsYXRpb24KCjIwMTMtMDEtMTAgMTA6NTc6MTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsLy5naXRpZ25vcmU6CgkgIFs2NDQvOTA2XSB1cGRhdGUgLmdpdGlnbm9yZSBmb3Igc29tZSBuZXcgZmlsZXMKCjIwMTMtMDEtMTAgMDE6NDQ6NTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIFs2NDMvOTA2XSBkaXNwbGF5OiBwcml2YXRpc2UgbW9zdCBvZiB0aGUgc3RydWN0CgoyMDEzLTAxLTEwIDAxOjEzOjIzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgWzY0Mi85MDZdIGFkZCBnc3RnbGNvbmZpZy5oIGZvciBhcHBzIHRvIGZpbmQgb3V0IHdoYXQgb3VyIGNhcGFiaWxpdGVzIGFyZQoJICBpZSBsaWJnc3RnbCBjYW4gYmUgY29tcGlsZWQgd2l0aCBhbnkgY29tYmluYXRpb24gb2Ygb3BlbmdsL2dsZXMyCgoyMDEzLTAxLTEwIDAwOjMwOjAzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzY0MS85MDZdIGRpc3BsYXk6IGZlYXR1cmUgY2hlY2sgZm9yIEdMIGV4dGVuc2lvbiBmdW5jdGlvbnMKCjIwMTMtMDEtMTAgMDA6MjU6MDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbNjQwLzkwNl0gYnVpbGQ6IGFkZCBtaXNzaW5nIGZpbGUgdG8gYnVpbHQgc291cmNlcwoKMjAxMy0wMS0xMCAwMDoyMzozMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4LmM6CgkgIFs2MzkvOTA2XSBhZGQgZ2V0X3Byb2NfYWRkcmVzcyBpbXBsZW1lbnRhdGlvbnMgZm9yIGVnbCBhbmQgZ2x4CgoyMDEzLTAxLTA4IDE3OjQwOjM5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSAgWzYzOC85MDZdIHdpbmRvdzogYWRkIGdldF9wcm9jX2FkZHJlc3MgKyBzdHViIGZvciByZXRyaWV2aW5nIGdsIGZ1bmN0aW9ucwoKMjAxMy0wMS0wOCAxNzozODo0MCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmg6CgkgIFs2MzcvOTA2XSB4MTFfZWdsOiBhZGQgcHJlbGltIHN1cHBvcnQgZm9yIGNob29zaW5nIG9wZW5nbCBvciBnbGVzCgoyMDEzLTAxLTA4IDE3OjM2OjE4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs2MzYvOTA2XSB3aW5kb3dfeDExOiBjb21wYWN0IGRlYnVnIGluZm8KCjIwMTMtMDEtMDcgMTQ6MDg6MzkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9vcGVuZ2xfZnVuY3Rpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5oOgoJICBbNjM1LzkwNl0gZml4dXAgY29tcGlsZSBlcnJvcnMKCjIwMTItMTItMTkgMTQ6NTQ6MjEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSAgWzYzNC85MDZdIHdheWxhbmQgZWdsOiBkZWFjdGl2YXRlIGNvbnRleHQgYmVmb3JlIHdlIGRlc3Ryb3kgaXQKCSAgYXZvaWRzIGEgc2VnZmF1bHQgd2l0aCBkcmkgZHJpdmVycwoKMjAxMi0xMi0xOSAxNDozMjoyMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs2MzMvOTA2XSBkaXNwbGF5OiBmYWlsIHByb3Blcmx5IGluIGNvbnRleHQgY3JlYXRpb24gaW4gb3JkZXIgdG8gbWluaW1pemUgYSByYWNlIGNvbmRpdGlvbgoJICBwcmV2aW91c2x5LCBvbiBjb250ZXh0IGNyZWF0aW9uLCB3aGVuIHdlIGZhaWxlZCB0byBnZXQgYSB2YWxpZCBjb250ZXh0CgkgIHdlIHdvdWxkIHN0aWxsIGF0ZW1wdCB0byBydW4gdGhlIHdpbmRvdyBtYWlubG9vcCBhcyB3ZWxsIGFzIHNldHRpbmcgYW4gZXJyb3IKCSAgb24gdGhlIGRpc3BsYXkuIFRoaXMgd291bGQgY2F1c2UgdGhlIGNhbGxpbmcgZWxlbWVudCB0byBmaW5hbGl6ZSB0aGUgZGlzcGxheQoJICBhbmQgdGhlcmVmb3JlIGF0dGVtcHQgdG8gcXVpdCB0aGUgd2luZG93IG1haW5sb29wLiAgSG93ZXZlciB0aGUgbWFpbmxvb3AKCSAgbWF5IG5vdCBoYXZlIHN0YXJ0ZWQgcnVubmluZy4gIFRodXMgd2hlbiB0aGUgd2luZG93IG1haW5sb29wIHJhbiBpdCB3b3VsZAoJICBuZXZlciBhIGdldCBhIHF1aXQgbWVzc2FnZSBhbmQgbmV2ZXIgZW5kLgoKMjAxMi0xMi0xOCAxODozMTowMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIFs2MzIvOTA2XSByZW1vdmUgc3RyYXkgKQoJICBUaGUgcmVzdCBpcyBpbmRlbnQgc3R1ZmYgZnJvbSB0aGUgc3RyYXkgKQoKMjAxMi0xMi0xOCAxODoyOToxMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSAgWzYzMS85MDZdIHJlbW92ZSByZWRlZmluaXRpb24gd2FybmluZ3MgaW4gY29tcGlsaW5nIHRlc3RzCgoyMDEyLTEyLTA5IDA5OjMyOjQ4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5oOgoJICBbNjMwLzkwNl0gZGlzcGxheTogYWRkIGdsIGFwaSBjaGVja2luZwoJICBpLmUuIGNoZWNrIGZvciBjYXNlcyB3aGVyZSB0aGUgd2luZG93IHdhbnRzIGEgZGlmZmVyZW50IEFQSSB0aGFuCgkgIHdoYXQgdGhlIGxpYnJhcnkgd2FzIGNvbXBpbGVkIHdpdGgKCjIwMTItMTItMDkgMDk6MzA6NDggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl93Z2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4Lmg6CgkgIFs2MjkvOTA2XSB3aW5kb3c6IGFkZCBHRXJyb3IgZm9yIGVycm9yIGhhbmRsaW5nIG9mIGNvbnRleHQgY3JlYXRpb24KCjIwMTItMTItMDkgMDk6MDQ6MzIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkgIFs2MjgvOTA2XSBzaGFkZXIgZmlsdGVyOiBkb24ndCBkbyBhbnl0aGluZyBpZiB3ZSBkb24ndCBoYXZlIGEgc2hhZGVyIGZpbGUKCjIwMTItMTItMDcgMTM6MzI6MjggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkgIFs2MjcvOTA2XSBzaGFkZXI6IGNoZWNrIGZvciBpbnZhbGlkIG9iamVjdHMKCjIwMTItMTItMDcgMDA6MjA6NTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbNjI2LzkwNl0gZml4IGJ1aWxkIGZhaWx1cmUgZnJvbSB1bmRlZmluZWQgbWFjcm8KCjIwMTItMTItMDcgMDA6MTY6MDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9SRUFETUU6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYWxsX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczFfZnVuY3Rpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczFnbGVzMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxZ2xlczJvcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMW9wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczJfZnVuY3Rpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczJvcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9vcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9vcGVuZ2xfZnVuY3Rpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuaDoKCSAgWzYyNS85MDZdIGFkZCB2dGFibGUgZm9yIG9wZW5nbCBmdW5jdGlvbnMKCSAgVGhlIHZ0YWJsZSBwcm92aWRlcyB0aGUgYWJpbGl0eSBmb3Igb25lIHRvIGNvbXBpbGUgKGJ1dCBub3QgbGluaykKCSAgYWdhaW5zdCBib3RoIE9wZW5HTCBhbmQgR0x8RVMgYW5kIHN0YXJ0cyB0aGUgbW92ZSBhd2F5IGZyb20gR0xFVwoKMjAxMi0xMi0wNiAxODo0MDoyNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIFs2MjQvOTA2XSBPUEVOR0xfRVMyID0+IEhBVkVfR0xFUzIgYW5kIGFkZCBIQVZFX09QRU5HTAoJICB1c2UgR3N0R0xBUEkgdG8gZGV0ZXJtaW5lIHdoaWNoIGNvZGUgcGF0aHMgdG8gZXhlY3V0ZS4KCSAgcGVyZm9ybSBzb21lIGNsZWFudXBzCgoyMDEyLTEyLTA2IDE3OjQwOjQ3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX3dnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4Lmg6CgkgIFs2MjMvOTA2XSBtb3ZlIEdMIGluY2x1ZGVzIGludG8gYSBzaW5nbGUgZmlsZQoKMjAxMi0xMi0wNSAxNzoyMzoyMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlczIuaDoKCSAgWzYyMi85MDZdIGFkZCBtaXNzaW5nIEdMX1NURU5DSUxfQVRUQUNITUVOVCBmb3IgZ2xlczIgY29tcGF0YWJpbGl0eQoKMjAxMi0xMi0wMyAxNTowNDo0OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xyZW5kZXJlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX3dnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguaDoKCSAgWzYyMS85MDZdIEdzdEdMUmVuZGVyZXJBUEkgPT4gR3N0R0xBUEkgYW5kIGdldCBHc3RHTEFQSSBmcm9tIGEgd2luZG93CgoyMDEyLTExLTMwIDE3OjA5OjIxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkgIFs2MjAvOTA2XSB3YXlsYW5kX2VnbDogYXR0ZW1wdCBhdCByZXNpemluZyB0aGUgdmlkZW8KCjIwMTItMTEtMjkgMTM6MDY6MjQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl9lZ2wuYzoKCSAgWzYxOS85MDZdIGZpeCB0eXBvIGZvciB3aW4zMiBkZWJ1ZyB2YXJpYWJsZXMKCjIwMTItMTEtMjkgMDE6MDE6NTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL3dheWxhbmRfZXZlbnRfc291cmNlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL3dheWxhbmRfZXZlbnRfc291cmNlLmg6CgkgIFs2MTgvOTA2XSBhZGQgd2F5bGFuZC1lZ2wgd2luZG93IGJhY2tlbmQKCjIwMTItMTEtMjAgMDA6MTU6MDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzYxNy85MDZdIGZpeCAnc2V0IGJ1dCBub3QgdXNlZCcgY29tcGlsZXIgd2FybmluZ3MKCjIwMTItMTEtMTkgMjI6NTQ6MTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMl9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyX3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW5DRS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMV9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMV9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMV9nbHguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMV9nbHguaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl93Z2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4Lmg6CgkgIFs2MTYvOTA2XSBtb3ZlIHdpbmRvdy1zcGVjaWZpYyBjb2RlIGludG8gc2VwZXJhdGUgc3ViZm9sZGVycwoKMjAxMi0xMS0xOSAyMTo1MjoyMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmg6CgkgIFs2MTUvOTA2XSBwcmVsaW1pbmFyeSBzdXBwb3J0IGZvciBXaW4zMiBFR0wKCjIwMTItMTEtMTggMDE6MjM6NTIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbNjE0LzkwNl0gdHJ5IEdMWCBmaXJzdCB3aGVuIHVzaW5nIEFOWSB8IE9QRU5HTCB8IE9QRU5HTDMKCjIwMTItMTEtMTggMDE6MTY6NDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFs2MTMvOTA2XSB3aW5kb3dfY29jb2E6IGZpeCBzZWdmYXVsdCB3aXRoIGdzdC1sYXVuY2gtMS4wIC1lIC4uLiBhbmQgc2VuZGluZyBTSUdJTlQgKEN0cmwtQykKCSAgR05Vc3RlcCBoYXMgYSBzaWduYWwgaGFuZGxlciBmb3IgU0lHSU5UIHdoaWNoIHJ1bnMgaW4gdGhlIG1haW4gdGhyZWFkLgoJICBIb3dldmVyIHRoYXQgdGhyZWFkIGhhcyBuZXZlciBiZWVuICdyZWdpc3RlcmVkJyB3aXRoIEdOVXN0ZXAgc28KCSAgdGhlIGF1dG9yZWxlYXNlIG1hZ2ljIG9mIG9iamVjdGl2ZS1jIGNhdXNlcyBhIHNlZ2ZhdWx0IGZyb20gYWNjZXNzaW5nCgkgIGEgbnVsbCBOU1RocmVhZCBvYmplY3Qgc29tZXdoZXJlIGRlZXAgaW4gR05Vc3RlcC4KCjIwMTItMTEtMTYgMTg6MDE6MDggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL0dOVW1ha2VmaWxlLmdudXN0ZXA6CgkqIGdzdC9nbC9HTlVtYWtlZmlsZS5nbnVzdGVwOgoJKiBnc3QvZ2wvZWZmZWN0cy9HTlVtYWtlZmlsZS5nbnVzdGVwOgoJICBbNjEyLzkwNl0gcmVtb3ZlIEdOVXN0ZXAgbWFrZWZpbGVzCgoyMDEyLTExLTE2IDE3OjEzOjAzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgWzYxMS85MDZdIGNvY29hIHBvcnQgb2YgZGV0ZXJtaW5pbmcgZ2wgcGxhdGZvcm0gYXQgcnVudGltZQoKMjAxMi0xMS0xNSAyMTo0NjoyMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExX2VnbC5jOgoJICBbNjEwLzkwNl0gV2luZG93WDExRUdMOiByZW1vdmUgZ2V0X3BsYXRmb3JtIGNhbGwKCjIwMTItMTEtMTUgMTM6MTc6NTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMl93Z2wuaDoKCSAgWzYwOS85MDZdIHdpbjMyIHBvcnQgb2YgZGV0ZXJtaW5pbmcgR0wgcGxhdGZvcm0gYXQgcnVudGltZQoJICAtIGFkZCBHc3RHTFdpbmRvd1dpbjMyIGFuZCBHc3RHTFdpbmRvd1dpbjMyV0dMIGFsb25nIHRoZSBzYW1lIGxpbmVzIGFzIHRoZQoJICBYMTEgdmFyaWFudHMKCjIwMTItMTEtMTQgMjA6Mzk6MzggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHJlbmRlcmVyLmg6CgkgIFs2MDgvOTA2XSBhZGQgR1NUX0dMX1BMQVRGT1JNX0FOWSBmb3IgY2hvb3NpbmcgYW55IHBsYXRmb3JtCgoyMDEyLTExLTE0IDIwOjM2OjE2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFfZ2x4LmM6CgkgIFs2MDcvOTA2XSByZW1vdmUgZ2V0X3BsYXRmb3JtIGFuZCBnZXRfd2luZG93X2hhbmRsZSB2ZnVuY3MKCSAgLSByZW5hbWUgY2hvb3NlX3Zpc3VhbCgpIHRvIGNob29zZV9mb3JtYXQoKSBmb3IgbGF0ZXIgaW5jb3Jwb3JhdGluZwoJICB3aW4zMiBjaGFuZ2VzIGFuZCBuZXcgR3N0R0xQbGF0Zm9ybSBmb3IgV0dMLCBFR0wsIEdMWCwgZXRjLgoKMjAxMi0xMS0xMyAyMjoxMjoyMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdscmVuZGVyZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMUVTMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExX2dseC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExX2dseC5oOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFs2MDYvOTA2XSBkZXRlcm1pbmUgdGhlIEdMIHBsYXRmb3JtIHRvIHVzZSBhdCBydW50aW1lCgkgIC0gTWFrZSBHc3RHTFdpbmRvdyBzdWJjbGFzc2FibGVyYXRoZXIgdGhhbiBzcGVjaWZpZWQgYXQgY29tcGlsZSB0aW1lLgoJICAtIEFkZCBHc3RHTFdpbmRvd1gxMSBmb3IgeDExIHdpbmRvd3MgYW5kIHR3byBzdWJjbGFzc2VzLCBHc3RHTFdpbmRvd1gxMUdMWAoJICBhbmQgR3N0R0xXaW5kd1gxMUVHTCBmb3IgR0xYIGFuZCBFR0wgcmVwZWN0aXZlbHkuICh3aW4zMiBhbmQgY29jb2EKCSAgcG9ydHMgdG8gY29tZSkKCSAgLSBBbHNvIGNsZWFudXAgR0wgbGlicmFyeSBkZXRlY3Rpb24gaW4gY29uZmlndXJlLmFjCgoyMDEyLTEyLTAyIDE0OjU4OjE0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJICBbNjA1LzkwNl0gc2hhZGVyOiBtb3ZlIHRvIGdzdCBkZWJ1Z2dpbmcKCjIwMTItMTEtMjEgMTM6MzQ6MTUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2xpYnZpc3VhbC92aXN1YWwtZ2wuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbNjA0LzkwNl0gZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCkgPT4gZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X21ldGFkYXRhKCkKCjIwMTItMTEtMDggMjI6NTM6NTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2xpYnZpc3VhbC92aXN1YWwtZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlczIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVycGFkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW5DRS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFFUzIuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNjdXJ2ZXMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuaDoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmg6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmg6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuaDoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuaDoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5Lmg6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nc3RndGsuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2RsL3NkbHNoYXJlLmM6CgkgIFs2MDMvOTA2XSB1cGRhdGUgRlNGIGFkZHJlc3MKCjIwMTItMTEtMDQgMTk6MTU6MDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzYwMi85MDZdIGhpZGUgZGVwcmVjYXRpb24gd2FybmluZ3Mgd2l0aCBuZXdlciBjbHV0dGVyIHZlcnNpb25zCgoyMDEyLTEwLTExIDAwOjI0OjUxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNjAxLzkwNl0gZml4IHR5cG8gY2F1c2luZyBzaGFkZXIgY29tcGlsYXRpb24gZmFpbHVyZSBmb3IgdXBsb2FkaW5nIEk0MjAKCjIwMTItMDktMjcgMTU6NTM6NDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgWzYwMC85MDZdIGRvY3M6IGFkZCBkb2NzIGZvciBuZXcgb2JqZWN0cyBhbmQgZXhwYW5kIG9uIHNvbWUgZXhpc3Rpbmcgb25lcwoKMjAxMi0wOS0yNiAwNzoxODo1MyArMDAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgWzU5OS85MDZdIEdMfEVTMjogZml4IHR5cG9zIGZyb20gcmVjZW50IGNoYW5nZXMgYW5kIG1ha2UgZG93bmxvYWRpbmcgUkdCIGZvcm1hdHMgd29yayBhZ2FpbgoKMjAxMi0wOS0yNSAxOToyNjoxNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbNTk4LzkwNl0gZXhhbXBsZXM6IGZpeCBjb21waWxhdGlvbiBvZiBjbHV0dGVyc2hhcmUKCjIwMTItMDktMjUgMTg6MTM6NDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgWzU5Ny85MDZdIHRlc3RzOiBhZGQgc29tZSBzaW1wbGUgcGlwZWxpbmUgdGVzdHMgdG8gY2hlY2sKCjIwMTItMDktMjUgMTg6MDc6MjMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmg6CgkgIFs1OTYvOTA2XSBjb2xvcnNjYWxlOiBwb3J0IG92ZXIgdG8gZmlsdGVyIGJhc2UgY2xhc3MKCjIwMTItMDktMjUgMTg6MDY6MTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgWzU5NS85MDZdIHVwZGF0ZSBmb3IgZmlsdGVyIEFQSSBjaGFuZ2UKCSAgZ2xlZmZlY3RzIG5lZWRlZCBhIHNpbWlsYXIgY2hhbmdlCgoyMDEyLTA5LTI1IDE3OjU5OjI3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgWzU5NC85MDZdIGZpbHRlcjogdXBkYXRlIGZvciB1cC9kb3dubG9hZCBBUEkgY2hhbmdlcyBhbmQgc2NhbGluZyBmaXhlcwoKMjAxMi0wOS0yNSAxNjowMzowMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbNTkzLzkwNl0gdGVzdHNyYy9pbWFnZXNpbms6IHVwZGF0ZSBmb3IgdXAvZG93bmxvYWQgQVBJIGNoYW5nZXMKCjIwMTItMDktMjUgMTY6MDE6NTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIFs1OTIvOTA2XSBtZW1vcnk6IHVwZGF0ZSBmb3IgdXAvZG93bmxvYWQgQVBJIGNoYW5nZXMKCjIwMTItMDktMjUgMTY6MDA6NDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXJwYWQuaDoKCSAgWzU5MS85MDZdIG1peGVyOiBzYXZlIHRoZSB1cGxvYWQgb2JqZWN0IGluc3RlYWQgb2YgcXVlcnlpbmcgZm9yIGl0IGV2ZXJ5IGZyYW1lCgoyMDEyLTA5LTI1IDE1OjIwOjIxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIFs1OTAvOTA2XSB1cC9kb3dubG9hZDogZml4IHNjYWxpbmcgb24gdHJhbnNmZXIKCSAgaS5lLiB1cGxvYWRpbmcgZnJvbSBhIDEweDEwIHZpZGVvIGZyYW1lIHRvIGEgMjB4MjAgdGV4dHVyZSBpbnRvIGFub3RoZXIgMzB4MzAgdmlkZW9mcmFtZQoKMjAxMi0wOS0yMCAyMzo0NToyNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuaDoKCSAgWzU4OS85MDZdIFJldmVydCAiR0xDb2xvcnNjYWxlOiBjb252ZXJ0IHRvIGEgYmluIG9mIGdsdXBsb2FkICEgZ2xkb3dubG9hZCIKCSAgVGhlIGVsZW1lbnRzIG5vIGxvbmdlciBleGlzdCBzbyB3ZSBoYXZlIHRvIGRvIHNvbWV0aGluZyBkaWZmZXJlbnQKCjIwMTItMDktMjAgMjM6NDE6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5oOgoJICBbNTg4LzkwNl0gbW9zYWljOiB1cGRhdGUgZm9yIG1peGVyIGNoYW5nZXMgYW5kIGNvbnZlbmllbmNlIEFQSQoKMjAxMi0wOS0yMCAyMzoyNzowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlcnBhZC5oOgoJICBbNTg3LzkwNl0gbWl4ZXI6IG1pcnJvciB0aGUgY2hhbmdlcyBkb25lIGZvciBmaWx0ZXIKCjIwMTItMDktMjAgMjM6MjE6MTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgWzU4Ni85MDZdIGZpeCB1cCBzb21lIGRlYnVnIHN0YXRlbWVudHMgdG8gZ2V0IHRoZW0gaW50byB0aGUgcmlnaHQgY2F0ZWdvcmllcwoKMjAxMi0wOS0yMCAyMzoyMDowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSAgWzU4NS85MDZdIGdsdGVzdHNyYzogdXBkYXRlIGZvciBuZXcgR0xEb3dubG9hZCBpbiBsaWJzCgoyMDEyLTA5LTIwIDIzOjE2OjA4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgWzU4NC85MDZdIGdsaW1hZ2VzaW5rOiB1cGRhdGUgZm9yIG5ldyBHTFVwbG9hZCBvYmplY3QgaW4gbGlicwoKMjAxMi0wOS0yMCAyMzowNjo0OSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmg6CgkgIFs1ODMvOTA2XSBkZWludGVybGFjZTogY2hhbmdlIGZvciBuZXcgQVBJCgkgIGFsc28gYWxsb3cgZWxlbWVudHMgdG8gY2FsbCB0aGUgX2ZpbHRlcl90ZXh0dXJlIHZmdW5jIGlmIHRoZXkgd2FudAoKMjAxMi0wOS0yMCAyMzowMzo1NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIFs1ODIvOTA2XSBmaWx0ZXJzOiBjaGFuZ2VzIGZvciBuZXcgQVBJCgoyMDEyLTA5LTE5IDAwOjMyOjMwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgWzU4MS85MDZdIGZpbHRlcjogYWRkIHNlcGVyYXRlIGZpbHRlciBmdW5jdGlvbiBmb3Igb3BlcmF0aW5nIG9uIHRleHR1cmVzIGluc3RlYWQgb2YgYnVmZmVycwoKMjAxMi0wOS0xOSAwMDoyOTo1NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuaDoKCSAgWzU4MC85MDZdIGJ1ZmZlcnBvb2w6IHJlbW92ZSBvYnNlbGV0ZSBnbCBtZXRhIGJ1ZmZlciBwb29sIG9wdGlvbnMKCjIwMTItMDktMTggMjE6NDI6MjQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzU3OS85MDZdIGRvd25sb2FkOiBmaXggWVYxMiBmb3JtYXQKCSAgc2FtZSBhcyBJNDIwIGJ1dCBwbGFuZSAxKzIgc3dhcHBlZAoKMjAxMi0wOS0xOCAyMTozOToyMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIFs1NzgvOTA2XSB7dXAsZG93bn1sb2FkOiBhZGQgdmFyaWFudHMgdGhhdCBjYW4gYmUgY2FsbGVkIGluIHRoZSBnbCB0aHJlYWQKCjIwMTItMDktMTcgMTA6Mzc6MzcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbNTc3LzkwNl0gcmVtb3ZlIHVwbG9hZCBhbmQgZG93bmxvYWQgZWxlbWVudHMgZnJvbSB0aGUgYnVpbGQgc3lzdGVtCgoyMDEyLTA5LTE3IDEwOjMwOjAxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1ldGEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIFs1NzYvOTA2XSByZW1vdmUgdW5lZWRlZCBHc3RHTE1ldGEgKHVzZSBHc3RWaWRlb01ldGEpCgoyMDEyLTA5LTE2IDIxOjQyOjA4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgWzU3NS85MDZdIGZpbHRlcjogcG9ydCB0byBuZXcgdXBsb2FkL2Rvd25sb2FkCgoyMDEyLTA5LTE2IDIxOjM2OjA5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSAgWzU3NC85MDZdIG1lbW9yeTogaW1wbGVtZW50IHRyYW5zcGVyZW50IHVwbG9hZC9kb3dubG9hZCBmb3IgZGF0YQoJICAobm90IGFzeW5jIHlldCkKCjIwMTItMDktMTYgMjE6MjM6MDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgWzU3My85MDZdIGFkZCB1cGxvYWQgYW5kIGRvd25sb2FkIGxpYnJhcnkgb2JqZWN0cwoJICBhbGxvd3MgbXVsdGlwbGUgdXBsb2FkIHBpcGVsaW5lcyB0aGF0IHByZXZpb3VzbHkgd2Fzbid0IHBvc3NpYmxlCgkgIChpLmUuIHVwbG9hZCBSR0IgYW5kIEk0MjAgYW5kIC4uLiBvbiB0aGUgc2FtZSBHc3RHTERpc3BsYXkpCgoyMDEyLTA5LTE2IDIxOjExOjQ2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbNTcyLzkwNl0gcmVtb3ZlIHVwbG9hZCBhbmQgZG93bmxvYWQgZWxlbWVudHMKCSAgdG8gYmUgcmVwbGFjZWQgYnkgdXBsb2FkIGFuZCBkb3dubG9hZCBpbiBtZW1vcnkKCjIwMTItMDktMDUgMTQ6NTg6MzggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgWzU3MS85MDZdIG1peGVyOiBmaXggZGVhZGxvY2sgb24gc2h1dGRvd24KCSAgZGlkbid0IHJlaXRlcmF0ZSBvdmVyIHRoZSBzaW5rcGFkJ3MgZGlzcGxheXMgYW5kIHJlYWN0aXZhdGUgdGhlbSBjYXVzaW5nIGEgZGVhZGxvY2sKCjIwMTItMDktMDQgMjI6NTA6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNTcwLzkwNl0gcmVtb3ZlIHRoZSByZXF1aXJlbWVudCBmb3IgVmlkZW9NZXRhIHRvIGJlIHByZXNlbnQgb24gbm9uLUdMIGJ1ZmZlcnMKCjIwMTItMDgtMjAgMTY6NTU6NDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkgIFs1NjkvOTA2XSBkaWZmZXJlbmNlbWF0dGU6IHByZXZlbnQgZG91YmxlIHVucmVmIG9mIHNoYWRlciBhbmQgbWlkdGV4dHVyZQoKMjAxMi0wOC0yNyAxNDowODoxNiArMDAwMCAgTWF0dGhldyA8bWF0dEBtYXR0LWJ1bnQtbGFwdC4obm9uZSk+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFFUzIuYzoKCSAgWzU2OC85MDZdIHdpbmRvdzogZml4IHB1YmxpYyBkZWZpbml0aW9ucwoKMjAxMi0wOC0yNyAxNDowNzozMSArMDAwMCAgTWF0dGhldyA8bWF0dEBtYXR0LWJ1bnQtbGFwdC4obm9uZSk+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuYzoKCSAgWzU2Ny85MDZdIGZpeCBPcGVuR0x8RVMyIGlmZGVmJ2VkIGNvZGUKCjIwMTItMDgtMjAgMTM6Mjc6NTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNTY2LzkwNl0gZWZmZWN0czogYXZvaWQgdXNpbmcgdGFuaCBpbiBzaW5fZnJhZ21lbnQKCSAgSXQgcHJvZHVjZXMgd2VpcmQgcmVzdWx0cyBvbiBub3V2ZWF1LgoJICBQcm92aWRlIGFuIGFsdGVybmF0aXZlIGltcGxlbWVudGF0aW9uIHdpdGggKDEtc2luaCkqY29zaAoKMjAxMi0wOC0yMCAxMzowNjoyNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFs1NjUvOTA2XSBlZmZlY3RzOiBmaXggc2hhZGVyIGNvbXBpbGF0aW9uIHdpdGggbWVzYSBkcml2ZXJzCgoyMDEyLTA4LTE1IDIxOjM3OjAxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJICBbNTY0LzkwNl0gZ2xtZW1vcnk6IHJlbW92ZSB1bnVzZWQgdHlwZWRlZgoKMjAxMi0wOC0xNSAxNjo1Mjo0OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs1NjMvOTA2XSByZWFkZCBzdXBwb3J0IGZvciBoYW5naW5nIEdMIHBpcGVsaW5lcyBlLmcuIC4uLiAhIGdsZWZmZWN0cyAhIGZha2VzaW5rCgoyMDEyLTA4LTE1IDE1OjM1OjQ2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzU2Mi85MDZdIGdsZGlzcGxheTogZml4IGRvd25sb2FkIG9mIFlVViBmb3JtYXRzCgoyMDEyLTA4LTE0IDIzOjU1OjE0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzU2MS85MDZdIGdsZGlzcGxheTogZml4IGVuZGlhbmVzcyBpc3N1ZXMgb24gUkdCIGRvd25sb2FkCgoyMDEyLTA4LTE0IDE0OjQxOjE5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbNTYwLzkwNl0gZXhhbXBsZXM6IHVwZGF0ZSBmb3IgYnVzIGFwaSBjaGFuZ2VzIGFuZCBnbGltYWdlc2luayBjaGFuZ2VzCgoyMDEyLTA4LTE0IDAyOjA1OjEzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs1NTkvOTA2XSBnbG1peGVyOiBwYXNzIHRoZSBtaXhwYWQncyBkaXNwbGF5IHRvIHRoZSBxdWVyeWluZyBlbGVtZW50CgoyMDEyLTA4LTEyIDE5OjAzOjQ4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzU1OC85MDZdIGFkZCBtaXNzaW5nIGluY2x1ZGVzIGZvciBfcG9zdF9taXNzaW5nX2VsZW1lbnRfbWVzc2FnZSBpbiBnbGNvbG9yc3BhY2UKCjIwMTItMDgtMTAgMTY6NDE6MTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbNTU3LzkwNl0gRml4IHBsdWdpbiBkZWZpbmUgYW5kIHJlbW92ZSB3YXJuaW5nCgoyMDEyLTA4LTEwIDE1OjU1OjUxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5oOgoJICBbNTU2LzkwNl0gR0xDb2xvcnNjYWxlOiBjb252ZXJ0IHRvIGEgYmluIG9mIGdsdXBsb2FkICEgZ2xkb3dubG9hZAoKMjAxMi0wOC0xMCAxNTozMToyMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs1NTUvOTA2XSBNYWtlIHRoZSBxdWVyeSBmb3IgYSBHc3RHTERpc3BsYXkgYSBwYWQgcGVlciBxdWVyeQoJICBBbGxvd3MgdGhlIHF1ZXJ5IHRvIHBhc3MgdGhyb3VnaCBiaW4gYm91bmRhcmllcyBhbmQgbWFrZXMgaXQgcG9zc2libGUgZm9yCgkgIGFyYml0cmFyeSBnbCBlbGVtZW50cyB0byBiZSBwbGFjZWQgaW4gYmlucy4KCjIwMTItMDgtMDggMTY6MDg6NDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkgIFs1NTQvOTA2XSBHc3RHTE1lbW9yeTogdXBkYXRlIGZvciBHc3RBbGxvY2F0b3IgQVBJIGNoYW5nZXMKCjIwMTItMDctMTYgMjM6MzE6MzEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkgIFs1NTMvOTA2XSBHc3RHTEZpbHRlclNoYWRlcjogdXBkYXRlIGZvciBHc3RHTE1ldGEKCjIwMTItMDctMTYgMjM6MjI6NTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkgIFs1NTIvOTA2XSBHc3RHTEZpbHRlckFwcDogdXBkYXRlIGZvciBHc3RHTE1ldGEKCjIwMTItMDctMTYgMjI6NDA6MTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbNTUxLzkwNl0gR3N0R0xPdmVybGF5OiBmaXggbG9hZGluZyBvZiBub24tc3F1YXJlIG92ZXJsYXlzCgkgIGxpYmpwZWcgY29tcGxhaW5zIGFib3V0ICJBcHBsaWNhdGlvbiByZWFkIHRvbyB7bWFueSxmZXd9IHNjYW4gbGluZXMiIGluIG5vbi1zcXVhcmUgaW1hZ2VzCgoyMDEyLTA3LTE2IDIxOjQwOjU5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgWzU1MC85MDZdIEdzdEdMT3ZlcmxheTogZml4IGxpYlBORyBjb21wbGFpbmluZyBhYm91dCB1bnNpZ25lZCBpbnRlZ2VyIGJlaW5nIG91dCBvZiByYW5nZQoKMjAxMi0wNy0xNiAyMTozNToyNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIFs1NDkvOTA2XSBHc3RHTE92ZXJsYXk6IHVwZGF0ZSBmb3IgR3N0R0xNZXRhCgoyMDEyLTA3LTE2IDE1OjA2OjUwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJICBbNTQ4LzkwNl0gR3N0R0xEaWZmZXJlbmNlTWF0dGU6IHVwZGF0ZSBmb3IgR3N0R0xNZXRhCgoyMDEyLTA3LTE2IDAwOjM2OjMwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJICBbNTQ3LzkwNl0gR3N0R0xCdW1wZXI6IGZpeCBsaWJQTkcgY29tcGxhaW5pbmcgYWJvdXQgaW52YWxpZCBwbmcgZmlsZXMKCSAgV2UgZmFpbGVkIHRvIGluZm9ybSBsaWJQTkcgdGhhdCB3ZSBoYWQgYWxyZWFkeSByZWFkIHRoZSBoZWFkZXIKCjIwMTItMDctMTYgMDA6MDM6NTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSAgWzU0Ni85MDZdIEdzdEdMRmlsdGVyU29iZWw6IHVwZGF0ZSBmb3IgR3N0R0xNZXRhCgoyMDEyLTA3LTEzIDAxOjA3OjM3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJICBbNTQ1LzkwNl0gR3N0R0xCdW1wZXI6IHVwZGF0ZSBmb3IgR3N0R0xNZXRhCgoyMDEyLTA3LTEzIDAxOjA0OjIyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9saWJ2aXN1YWwvdmlzdWFsLWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNTQ0LzkwNl0gZml4IG1lbW9yeSBsZWFrcyBmcm9tIG5vdCBnX2ZyZWUoKWluZyBzdHJpbmcgcmV0dXJuZWQgYnkgZ3N0X2VsZW1lbnRfZ2V0X25hbWUKCjIwMTItMDctMTIgMTg6MjI6MDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNTQzLzkwNl0gR3N0R0xEaXNwbGF5OiBmaXggc2VnZmF1bHQgZnJvbSBHU1RfUFRSX0ZPUk1BVCB0cnlpbmcgdG8gZXhwYW5kIHRoZSBvYmplY3QKCjIwMTItMDctMTIgMTg6MTk6NDQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuaDoKCSAgWzU0Mi85MDZdIEdzdEdMTWl4ZXI6IGFkZCBhbGxvY2F0aW9uIGFuZCBidWZmZXJwb29sIG1ldGhvZHMKCSAgYmFzZWQgb2ZmIEdzdEJhc2VUcmFuc2Zvcm0KCjIwMTItMDctMTIgMTg6MTE6MTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbNTQxLzkwNl0gR3N0R0xUZXN0U3JjOiBnZW5lcmF0ZSBhIEdMQnVmZmVyUG9vbCBpbnN0ZWFkIG9mIGEgVmlkZW9CdWZmZXJQb29sIGluIGRlY2lkZV9hbGxvY2F0aW9uCgoyMDEyLTA3LTEyIDE4OjA5OjU3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuaDoKCSAgWzU0MC85MDZdIEdzdEdMTW9zYWljOiB1cGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0xMiAxODowNzozNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIFs1MzkvOTA2XSBHc3RHTEltYWdlU2luazogZm9sZCBtdWx0aXBsZSBmaWVsZHMgaW50byBvbmUgYW5kIHVzZSBWSURFT19TSU5LXyogZm9yIHdpbmRvdyB3aWR0aC9oZWlnaHQKCSAgcmVwbGFjZSB0aGUgY2FwcyBpbmZvcm1hdGlvbiB3aXRoIGEgR3N0VmlkZW9JbmZvCgkgIHBsYWNlIHRoZSB3aW5kb3cgd2lkdGgvaGVpZ2h0IGluZm9ybWF0aW9uIHdpZHRoIFZJREVPX1NJTksKCjIwMTItMDctMTEgMTQ6MjA6MTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuaDoKCSAgWzUzOC85MDZdIEdzdEdMRGVpbnRlcmxhY2U6IHVwZGF0ZSBmb3IgR3N0R0xNZXRhCgoyMDEyLTA3LTExIDEzOjU1OjU1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJICBbNTM3LzkwNl0gR3N0R0xGaWx0ZXJSZWZsZWN0ZWRTY3JlZW46IHVwZGF0ZSBmb3IgR3N0R0xNZXRhCgoyMDEyLTA3LTExIDEzOjM3OjU1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkgIFs1MzYvOTA2XSBHc3RHTEZpbHRlckdsYXNzOiB1cGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0xMSAxMzoxMTo1OSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSAgWzUzNS85MDZdIEdzdEdMRmlsdGVyTGFwbGFjaWFuOiB1cGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0xMSAwMToyNTowMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkgIFs1MzQvOTA2XSBHc3RHTEZpbHRlckN1YmU6IFVwZGF0ZSBmb3IgR3N0R0xNZXRhCgoyMDEyLTA3LTExIDAxOjEwOjQzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSAgWzUzMy85MDZdIEdzdEdMRmlsdGVyQmx1cjogdXBkYXRlIGZvciBHc3RHTE1ldGEKCjIwMTItMDctMDkgMjI6Mjc6NDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBbNTMyLzkwNl0gR3N0R0xGaWx0ZXI6IGltcGxlbWVudCBhbGxvY2F0aW9uIHZmdW5jcwoKMjAxMi0wNy0wOSAyMjoyNjoxMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIFs1MzEvOTA2XSBHc3RHTEVmZmVjdHM6IHVwZGF0ZSBmb3IgR3N0R0xNZXRhCgoyMDEyLTA3LTA5IDE2OjE3OjE4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNTMwLzkwNl0gR3N0R0xVcGxvYWQ6IGZpeCB2aWRlbyBzY2FsaW5nIGFuZCB1c2UgR0xfVVBMT0FEX0NBUFMKCjIwMTItMDctMDkgMTY6MTU6MjggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzUyOS85MDZdIEdzdEdMRG93bmxvYWQ6IGZpeCB2aWRlbyBzY2FsaW5nIGFuZCB1c2UgR0xfRE9XTkxPQURfQ0FQUwoKMjAxMi0wNy0wOSAxNjoxMzozOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZXRhLmg6CgkgIFs1MjgvOTA2XSBHc3RHTE1ldGE6IHNlcGVyYXRlIHVwbG9hZC9kb3dubG9hZC9ub3JtYWwgR0wgY2FwcyB2aWRlbyBmb3JtYXRzCgkgIGRpZmZlcmVudGlhdGUgYmV0d2VlbiB1cGxvYWQsIGRvd25sb2FkIGFuZCBHTCBjYXBzCgoyMDEyLTA3LTA5IDE2OjEyOjUzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzUyNy85MDZdIEdzdEdMRGlzcGxheTogYWRkIHNvbWUgdHJhY2UgZGVidWdnaW5nCgoyMDEyLTA3LTA4IDEzOjExOjA1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJICBbNTI2LzkwNl0gR3N0R0xUZXN0U3JjOiB1cGRhdGUgZm9yIDEuMAoJICBpbXBsZW1lbnQgZGVjaWRlX2FsbG9jYXRpb24KCSAgcmVuYW1lIHB1c2hfc3JjX2NyZWF0ZSB0byBfZmlsbAoJICB1c2UgR3N0VmlkZW9JbmZvIHRvIGNvbnZlcnQgdGltZXMKCSAgbWFrZSB1c2Ugb2YgR3N0R0xNZXRhIGFuZCBmcmllbmRzCgoyMDEyLTA3LTA4IDAxOjUwOjQxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkgIFs1MjUvOTA2XSBHc3RHTERvd25sb2FkOiBhZGQgYWxsb2NhdGlvbiBtZXRob2RzIGFuZCB1c2UgR3N0R0xNZXRhCgkgIG1ha2UgR3N0R0xEb3dubG9hZCB3b3JrIHdpdGggdGhlIG5ldyBHc3RHTE1ldGEgYW5kIGZyaWVuZHMKCjIwMTItMDctMDggMDE6NDk6MDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIFs1MjQvOTA2XSBHc3RHTERpc3BsYXk6IHJld29yayB0aGUgZG93bmxvYWQgY29kZQoJICBkYXRhIHBhcmFtYXRlcnMgbm93IHRha2UgR3N0VmlkZW9GcmFtZQoJICByZW1vdmUgcmVkdW5kYW50IHBhcmFtZXRlcnMKCjIwMTItMDctMDggMDE6MTE6NTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNTIzLzkwNl0gdXBkYXRlIGZvciBtZXRhIEFQSSBjaGFuZ2VzCgoyMDEyLTA3LTA4IDAxOjEwOjQwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzUyMi85MDZdIEdzdEdMRGlzcGxheTogYWRkIGZvcmdvdHRlbiBmdW5jdGlvbiBkZWZpbml0aW9uCgoyMDEyLTA3LTA4IDAxOjA5OjU2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBbNTIxLzkwNl0gR3N0R0xNZW1vcnk6IHVwZGF0ZSBmb3IgR3N0QWxsb2NhdG9yIGNoYW5nZXMKCjIwMTItMDctMDcgMjI6NTY6MzMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgWzUyMC85MDZdIEdzdEdMTWl4ZXI6IGZpeCBmb3IgR3N0Q2hpbGRQcm94eSBjaGFuZ2VzCgoyMDEyLTA3LTA2IDE5OjEwOjQ1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgWzUxOS85MDZdIEdzdEdMVXBsb2FkOiBpbXBsZW1lbnQgdGhlIGFsbG9jYXRpb24gZnVuY3MgYW5kIHVzZSBHc3RHTE1ldGEKCSAgbWFrZSB1c2Ugb2YgdGhlIG5ldyBHc3RHTE1ldGEsIEdzdEdMTWVtb3J5IGFuZCBHc3RHTEJ1ZmZlclBvb2wgb2JqZWN0cwoKMjAxMi0wNy0wNiAxOTowNzo0NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIFs1MTgvOTA2XSBHc3RHTEltYWdlU2luazogYWRkIHByb3Bvc2VfYWxsb2NhdGlvbiBpbXBsIGFuZCB1c2UgR3N0R0xNZXRhCgkgIG1ha2UgdXNlIG9mIEdzdEdMTWV0YSBhbmQgR3N0R0xNZW1vcnkKCjIwMTItMDctMDYgMTk6MDU6MDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuaDoKCSAgWzUxNy85MDZdIGFkZCBHc3RHTEJ1ZmZlclBvb2wKCSAgd2hpY2ggYWRkcyBHc3RHTE1ldGEgdG8gYnVmZmVycwoKMjAxMi0wNy0wNiAxODo1NzozOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWV0YS5oOgoJICBbNTE2LzkwNl0gYWRkIHNrZWxldG9uIEdzdEdMTWV0YQoJICB0aGUgR3N0VmlkZW9NZXRhIF9tYXAvdW5tYXAgZnVuY3Rpb25zIHN0aWxsIG5lZWQgaW1wbGVtZW50aW5nCgoyMDEyLTA3LTA2IDE4OjUxOjAyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbNTE1LzkwNl0gR3N0R0xEaXNwbGF5OiByZXdvcmsgZ2VuX3RleHR1cmUgYW5kIHVwbG9hZAoJICByZW5hbWUgZnVuY3Rpb25zIHNvIHRoYXQgb3RoZXIgY29kZSBjYW4gY3JlYXRlIHRleHR1cmVzIGluIHRoZSBHTCB0aHJlYWQKCSAgY2hhbmdlIHVwbG9hZCBmdW5jdGlvbnMgdG8gdGFrZSBhIEdzdFZpZGVvRnJhbWUKCSAgZGVmYXVsdCB0byBHTFNMIGZvciB1cGxvYWQgY29udmVyc2lvbgoKMjAxMi0wNy0wNiAxODoyMjoyMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJICBbNTE0LzkwNl0gYWRkIEdzdEdMTWVtb3J5IGFuZCBhbGxvY2F0b3IKCSAgaW1wbGVtZW50IGN1c3RvbSBHc3RNZW1vcnkgZm9yIEdMIHRleHR1cmVzCgkgIGN1cnJlbnRseSBtYXAvdW5tYXAgcmV0dXJucyBOVUxMIGFsdGhvdWdoIGl0IG1pZ2h0IGJlIGZhdm91cmFibGUgdG8gdXBsb2FkL2Rvd25sb2FkL2NhY2hlIHRoZSBpbWFnZSBkYXRhCgoyMDEyLTA2LTE5IDE4OjQwOjI4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXJwYWQuaDoKCSogZ3N0L2dsL2dsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmg6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBbNTEzLzkwNl0gUmVtb3ZlIEdzdEdMQnVmZmVyICh0byBiZSByZXBsYWNlZCBieSBHc3RHTE1ldGEpCgoyMDEyLTA2LTE5IDE1OjU0OjI0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVycGFkLmg6CgkgIFs1MTIvOTA2XSBHc3RHTE1peGVyOiB1cGRhdGUgZm9yIDEuMCBiYXNlZCBvbiB0aGUgdmlkZW9taXhlcjIgZWxlbWVudCBpbiAtZ29vZAoKMjAxMi0wNi0wNyAwMDo1MTo0NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dzdGd0ay5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zZGwvc2Rsc2hhcmUuYzoKCSAgWzUxMS85MDZdIHRlc3RzOiB1cGRhdGUgZm9yIDEuMAoKMjAxMi0wNi0wNSAyMjo1OTozMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIFs1MTAvOTA2XSBHc3RHTEltYWdlU2luazogdXBkYXRlIGZvciAxLjAKCjIwMTItMDYtMDUgMTk6MTA6MTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFFUzIuYzoKCSAgWzUwOS85MDZdIEdzdEdMRGlzcGxheTogdXBkYXRlIGZvciAxLjAKCjIwMTItMDYtMDUgMTg6NTM6MzggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzUwOC85MDZdIEdzdEdMRG93bmxvYWQ6IHVwZGF0ZSBmb3IgMS4wCgoyMDEyLTA2LTA1IDE1OjQwOjUyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSAgWzUwNy85MDZdIEdzdEdMVGVzdFNyYzogdXBkYXRlIGZvciAxLjAKCjIwMTItMDYtMDUgMTM6NTY6NDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs1MDYvOTA2XSBHc3RHTFVwbG9hZDogdXBkYXRlIGZvciAxLjAKCjIwMTItMDYtMDQgMTg6NDQ6NTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJICBbNTA1LzkwNl0gR3N0R0xDb2xvcnNjYWxlOiB1cGRhdGUgZm9yIDEuMAoKMjAxMi0wNi0wMyAyMDo0MDo1MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIFs1MDQvOTA2XSBHc3RHTEZpbHRlcjogdXBkYXRlIGZvciAxLjAKCSAgLWZpeCB1cCBmdW5jdGlvbiBkZWZpbml0aW9ucwoJICAtcmVtb3ZlIF9wcmVwYXJlX291dHB1dF9idWZmZXIgKGZ1bmN0aW9uYWxpdHkgdGFrZW4gb3ZlciBieSBHc3RCdWZmZXJQb29sKS4KCjIwMTItMDUtMzAgMTM6NDY6MjEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzUwMy85MDZdIFJlbmFtZSBHU1RfQk9JTEVSUExBVEVfKiB0byBHX0RFRklORV9UWVBFXyogYW5kIG1vdmUgX2Jhc2VfaW5pdCBpbnRvIF9jbGFzc19pbml0CgoyMDEyLTA1LTI5IDE3OjU1OjQ0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9saWJ2aXN1YWwvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLnBjLmluOgoJICBbNTAyLzkwNl0gVXBkYXRlIHZlcnNpb25pbmcgZm9yIGdzdHJlYW1lciAxLjAKCSAgUmVuYW1lcyBHU1RfTUFKT1JNSU5PUiB0byBHU1RfQVBJX1ZFUlNJT04gaW4gYnVpbGQgZmlsZXMKCSAgcmVtb3ZlcyAtbGdzdGludGVyZmFjZXMgZnJvbSBfTERBREQgZmxhZ3MKCjIwMTItMDUtMjAgMTg6NDU6MDYgKzAzMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBbNTAxLzkwNl0gRml4IGJ1aWxkaW5nIG9uIDY0IGJpdCBtaW5ndy13NjQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjQyOAoKMjAxMi0wNC0yMCAxMjozMzozOCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs1MDAvOTA2XSBnbGRpc3BsYXk6IGRvIG5vdCBjYWxsIGdsQ2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyBpZiAwIGlzIGJvdW5kCgkgIEluZGVlZCBpdCBtYXkgcmV0dXJuIEdMX0ZSQU1FQlVGRkVSX1VOREVGSU5FRCBpZiB0aGVyZSBpcyBubwoJICBkZWZhdWx0IGZyYW1lYnVmZmVyLgoJICBJdCBzZWVtcyB0byBiZSB0aGUgY2FzZSBvbiBNYWNPU1gKCjIwMTItMDQtMjAgMTE6MTk6MzIgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbNDk5LzkwNl0gZXhhbXBsZXM6IGZpeCBidWlsZCBvbiBNYWNPU1gKCjIwMTItMDQtMjAgMTA6NDE6NTEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs0OTgvOTA2XSBnbGRpc3BsYXk6IGRvbid0IHBhc3Mgbm9uLWNvbnN0YW50IHN0cmluZ3MgYXMgcHJpbnRmIGZvcm1hdCBzdHJpbmdzCgkgIEZpeGVzICdmb3JtYXQgbm90IGEgc3RyaW5nIGxpdGVyYWwgYW5kIG5vIGZvcm1hdCBhcmd1bWVudHMnIG9uIGRhcndpbgoKMjAxMi0wNC0yMCAxMDozMjoyMyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuYzoKCSAgWzQ5Ny85MDZdIGZpbHRlcnNoYWRlcjogZml4IGZvcm1hdCBjb21waWxlciB3YXJuaW5ncwoKMjAxMi0wNC0yMCAxMDoyNjozMCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkgIFs0OTYvOTA2XSBjbWFrZSBidWlsZDogYWRkIHBhdGggdG8gY29uZmlnLmggb24gQVBQTEUKCjIwMTItMDQtMTggMTU6NDQ6MDUgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkgIFs0OTUvOTA2XSBnbEVTMi4wOiBwcm9wZXJseSB1c2UgZ2xEZWxldGVTaGFkZXIKCjIwMTItMDQtMTcgMTg6MjU6NTUgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW5DRS5jOgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIFs0OTQvOTA2XSBjbWFrZSBidWlsZDogdXNlIGNvbmZpZy5oIGZyb20gd2luMzIvY29tbW9uIGFuZCBhZGQgc29tZSBndWlkZWxpbmVzCgoyMDEzLTA2LTI4IDAwOjA0OjQzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkgIFs0OTMvOTA2XSBnbGZpbHRlcnNoYWRlcjogZml4IGNyYXNoIHdoZW4gbG9hZGluZyBzaGFkZXIgZmlsZQoJICBKdXN0IHVzZSBnX2ZpbGVfZ2V0X2NvbnRlbnRzKCkgaW5zdGVhZCBvZiBob21lLW1hZGUgZmlsZSBsb2FkaW5nLgoJICBGaXhlcyB0d28gaXNzdWVzIC0gb25lIGlzIHRoYXQgd2Ugc2hvdWxkIHBhc3MgInIiIHRvIGZvcGVuIGFuZAoJICBub3QgT19SRE9OTFksIHRoZSBvdGhlciBpcyB0aGF0IGFuIGluY29ycmVjdCB2YXJpYWJsZSB3YXMgdXNlZAoJICB0byByZWFkIHRoZSBmaWxlIGxlbmd0aCwgbGVhZGluZyB0byBhbiBlbXB0eSBzaGFkZXIgZmlsZS4KCSAgU3BvdHRlZCBieTogV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjg0NAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyODQ1CgkgIENvbmZsaWN0czoKCSAgZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmMKCjIwMTItMDQtMTMgMTU6MDg6MDAgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW5DRS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFFUzIuYzoKCSAgWzQ5Mi85MDZdIGdsd2luZG93OiBwcm9wZXJseSBmYWlscyBpZiByZXNvdXJjZSBub3QgZm91bmQKCjIwMTItMDQtMTMgMTI6Mzg6MTEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMUVTMi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs0OTEvOTA2XSBnbEVTMi4wOiBwcm9wZXJseSBmYWlscyBpZiBkcml2ZXIva2VybmVsIGluY29uc2lzdGVuY3kKCjIwMTItMDQtMTEgMTA6NDQ6MjMgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW5DRS5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFs0OTAvOTA2XSBnbGRpc3BsYXk6IGVycm9yIG91dCBpbnN0ZWFkIG9mIGdfYXNzZXJ0CgoyMDEyLTA0LTEwIDE2OjEyOjE0ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbNDg5LzkwNl0gZ2xpbWFnZXNpbms6IHBpeGVsLWFzcGVjdC1yYXRpbyBwcm9wZXJ0eSBub3cgcmV0dXJucyAiMS8xIiBieSBkZWZhdWx0CgkgIFByZXZpb3VzbHkgaXQgd2FzIG5vdCBzZXQKCSAgRml4IGJ1ZyAjNjcxNzM0IChjb21wYXRpYmlsaXR5IHdpdGggVG90ZW0pCgoyMDEyLTA0LTA0IDE2OjIyOjQwICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGV4dC9saWJ2aXN1YWwvdmlzdWFsLWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbNDg4LzkwNl0gbGlidmlzdWFsLWdsOiBmdWxsIGNvbXBhdGliaWxpdHkgd2l0aCBwcm9qZWN0TS1saWJ2aXN1YWwgaWYgbGlicHJvamVjdE0gPj0gMi4wLjEKCSAgRml4IGJ1ZyAjMzEwNzc1CgoyMDEyLTAzLTA2IDE0OjMxOjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkgIFs0ODcvOTA2XSBnbDogRml4IGNvbXBpbGVyIHdhcm5pbmdzCgkgICdpZiBzdGF0ZW1lbnQgaGFzIGVtcHR5IGJvZHknLCB3aGljaCB3ZXJlIHJlYWwgYnVncyBhbmQKCSAgJ2NvbXBhcmlzb24gb2YgdW5zaWduZWQgZXhwcmVzc2lvbiA8IDAgaXMgYWx3YXlzIGZhbHNlJywgd2hpY2ggd2FzCgkgIG9ubHkgYW4gdW5uZWVkZWQgY29tcGFyaXNvbi4KCjIwMTEtMTItMjIgMTU6MzA6MzggKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZXh0L2xpYnZpc3VhbC92aXN1YWwtZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNDg2LzkwNl0gbGlidmlzdWFsLWdsOiBhZGQgbWluaW1hbCBzdXBwb3J0IHRvIGxpYnZpc3VhbCBwbHVnaW5zIHRoYXQgdXNlcyBGcmFtZWJ1ZmZlciBvYmplY3RzCgkgIEZpeCBidWcgIzMxMDc3NQoJICBnc3QtbGF1bmNoIGF1ZGlvdGVzdHNyYyAhIGxpYnZpc3VhbF9nbF9wcm9qZWN0TSAhIGdsaW1hZ2VzaW5rIGlzIHdvcmtpbmcKCSAgYnV0IGZvciBub3cgeW91IGNhbm5vdCBhcHBlbmQgYW55IG90aGVyIG9wZW5nbCBmaWx0ZXJzIGJldHdlZW4KCSAgbGlidmlzdWFsX2dsX3Byb2plY3RNIGFuZCBnbGltYWdlc2luayBiZWNhdXNlIG91ciBGQk8gaXMgdHVybmVkIE9GRi4KCSAgSXQgd291bGQgcmVxdWlyZSB0aGF0IGxpYnZpc3VhbCBhbGxvd3MgdG8gc3BsaXQgcmVuZGVyaW5nIGJldHdlZW4KCSAgcGFzczEsMiwzLi4uIGFuZCBmaW5hbCByZW5kZXJpbmcuIEluIG9yZGVyIHRvIHVuYmluZCBvdXIgRkJPIGJlZm9yZQoJICB0aGUgcGFzc04sIGFuZCB0aGVuIHJlYmluZCBpdCBqdXN0IGJlZm9yZSB0aGUgZmluYWwgbGlidmlzdWFsIHJlbmRlcmluZy4KCjIwMTEtMTItMTUgMTg6MTM6MDAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNDg1LzkwNl0gZ3N0Z2xkaXNwbGF5OiB0dXJuIG9mZiB0ZXh0dXJlIGJpbmRpbmcgYW5kIHJlYWQgYnVmZmVyIHdoZW4gZG93bmxvYWRpbmcgcmdiIGlzIGRvbmUKCSAgSXQgZml4ZXM6IChibGFjayBpbWFnZSBiZWZvcmUpCgkgIGdzdC1sYXVuY2gtMC4xMCBhdWRpb3Rlc3RzcmMgISBsaWJ2aXN1YWxfZ2xfbHZfZ2x0ZXN0ICEgZ2xkb3dubG9hZCAhIHhpbWFnZXNpbmsKCSAgYW5kCgkgIGdzdC1sYXVuY2gtMC4xMCAgYXVkaW90ZXN0c3JjICEgbGlidmlzdWFsX2dsX2x2X2dsdGVzdCAhIGdsZG93bmxvYWQgISBnbGltYWdlc2luawoKMjAxMS0xMi0xNSAxODowODo0OCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBleHQvbGlidmlzdWFsL3Zpc3VhbC1nbC5jOgoJICBbNDg0LzkwNl0gbGlidmlzdWFsX2dsOiBjb3JyZWN0bHkgc2V0dXAgZGVwdGggYW5kIGJsZW5kIGZ1bmN0aW9ucwoKMjAxMS0xMi0xNSAxNjoxODozNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzQ4My85MDZdIGdsZWxlbWVudHM6IGRvIG5vdCBsZWFrIHBhcmVudCB3aGVuIHVzaW5nIGdzdF9wYWRfZ2V0X3BhcmVudAoKMjAxMS0xMS0yNSAxNjo1MTo1OSArMDEwMCAgSm9uYXRoYW4gTWF0dGhldyA8bm90dmVyeXNtYXJ0QGdtYWlsLmNvbT4KCgkqIGV4dC9saWJ2aXN1YWwvQ01ha2VMaXN0cy50eHQ6CgkqIGV4dC9saWJ2aXN1YWwvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJ2aXN1YWwvdmlzdWFsLWdsLmM6CgkgIFs0ODIvOTA2XSBleHQ6IEFkZCBhIGxpYnZpc3VhbCBwbHVnaW4gd3JhcHBpbmcgb3BlbmdsIGxpYnZpc3VhbAoJICBGaXggYnVnICMyMDIwNjkKCjIwMTEtMTEtMjQgMTY6MDI6MzIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNDgxLzkwNl0gZmVhdHVyZSBjaGVja2luZzogZXJyb3Igb3V0IGluc3RlYWQgb2YgZG9pbmcgbm90aGluZyBpZiBhbiBPcGVuR0wgZmVhdHVyZSBpcyBub3QgcHJlc2VudAoJICBGaXggYnVnICM1NzI3NjcKCjIwMTEtMTEtMjEgMTY6NDY6NTEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIFs0ODAvOTA2XSB3aW4zMiBidWlsZHM6IGFkZCBnbHNoYWRlciBmaWx0ZXIgc291cmNlcyB0byB2czkgYW5kIGNvZGVibG9ja3MKCSAgQWxzbyBmaXggc29tZSB3YXJuaW5ncyBmcm9tIG1zdmM5IGFuZCBtaW5ndy0zLjQuNQoKMjAxMS0xMS0yMSAxNTowNDoxNiArMDEwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuYzoKCSAgWzQ3OS85MDZdIGdzdGdsc2hhZGVydmFyaWFibGVzOiBzdHJ0b2tfciBpcyBub3QgbXVsdGlwbGF0Zm9ybQoJICBGaXggYnVnICM2NjQzNjcKCjIwMTEtMTEtMTggMTc6MzI6MDUgKzAxMDAgIFdlaSBGZW5nIDx3ZWkuZmVuZy53YXluZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlczIuaDoKCSAgWzQ3OC85MDZdIE9wZW5HTCBFUyAyLjA6IGluY2x1ZGUgZ2xpYi5oIHRvIHVzZSBHX0JFR0lOX0RFQ0xTIGluIGdzdGdsZXMyLmgKCSAgRml4IGJ1ZyAjNjMxMDE5CgoyMDExLTExLTE4IDE3OjI3OjQ1ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVzMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkgIFs0NzcvOTA2XSBPcGVuR0wgRVMgMi4wOiBmaXggYnVpbGQgc2luY2UgZ2xmaWx0ZXJzaGFkZXIgY2hhbmdlcwoKMjAxMS0xMS0xOCAxNzoyNjozNSArMDEwMCAgQW50b25pIFNpbHZlc3RyZSA8YW50b25pLnNpbHZlc3RyZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIFs0NzYvOTA2XSBPcGVuR0wgRVMgMi4wOiBmaXggYnVpbGQgYW5kIGRpc2FibGUgc29tZSBleGFtcGxlcwoJICBGaXggYnVnICM2MzEwMTkKCjIwMTEtMTEtMTggMTI6MTY6MjIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkgIFs0NzUvOTA2XSBkb2NzOiBhZGQgZ2xtb3NhaWMgYW5kIGdsc2hhZGVyIHRvIGRvY3MKCjIwMTEtMTEtMTggMTE6NTI6MTAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFs0NzQvOTA2XSBidWlsZDogbWFrZSBsaWJqcGVnIHVzZSBjb25kaXRpb25hbAoJICBEaXNhYmxlIGdsb3ZlcmxheSBlbGVtZW50IGlmIHdlIGRvIG5vdCBodmUgbGlianBlZwoKMjAxMS0xMS0xOCAxMDoxMDo1OSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkgIFs0NzMvOTA2XSBjbWFrZSBidWlsZDogMi44IGlzIG5vdyByZXF1aXJlZCBhbmQgYWRkIGpwZWcKCSAganBlZyBhbmQgcG5nIHNob3VsZCBiZSBvcHRpb25hbCBidXQgb3VyIGNtYWtlIGJ1aWxkIGlzIHN0aWxsIGluIHByZS1hbHBoYQoKMjAxMS0xMS0xOCAwODowODoxOCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbNDcyLzkwNl0gbGlucG5nOiBtYWtlIGxpYnBuZyB1c2UgY29uZGl0aW9uYWwKCSAgRGlzYWJsZSAzIGVsZW1lbnRzIGlmIHdlIGRvbid0IGhhdmUgbGlicG5nLgoKMjAxMS0xMS0xNyAxNzozNjo0NCArMDEwMCAgTHVjIERlc2NoZW5hdXggPGx1Yy5kZXNjaGVuYXV4QGZyZWVzdXJmLmNoPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QtbGlicy9nc3QvZ2wvR05VbWFrZWZpbGUuZ251c3RlcDoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlczIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmg6CgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0L2dsL0dOVW1ha2VmaWxlLmdudXN0ZXA6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFs0NzEvOTA2XSBnbHNoYWRlcjogYWRkIGR5bmFtaWMgZnJhZ21lbnQgc2hhZGVyIGZpbHRlcgoJICBBbHNvIGFkZCBmcmFnbWVudCBzaGFkZXIgcGFyc2VyCgkgIEZpeCBidWcgIzYwMDE5NQoKMjAxMS0xMS0xNyAxNToyMjowNiArMDEwMCAgQW50aG9ueSBWaW9sbyA8YW50aG9ueS52aW9sb0B1YmljYXN0LmV1PgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuaDoKCSAgWzQ3MC85MDZdIGdsb3ZlcmxheTogYWRkIGpwZWcgc3VwcG9ydAoJICBGaXggYnVnICM2MzYwNzAKCjIwMTEtMTEtMTcgMTE6Mzk6NTAgKzAxMDAgIEFudGhvbnkgVmlvbG8gPGFudGhvbnkudmlvbG9AdWJpY2FzdC5ldT4KCgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5oOgoJICBbNDY5LzkwNl0gZ2xvdmVybGF5OiBtYW5hZ2UgcmF0aW8gdGV4dHVyZQoJICBGaXggYnVnICM2MzA1MjUKCjIwMTEtMTEtMTcgMTE6MzQ6MjAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSAgWzQ2OC85MDZdIHRlc3RzOiBmaXggY29tbWVudGFyeSBpbiBjbHV0dGVyYWN0b3IgZXhhbXBsZQoKMjAxMS0xMS0xNiAxNjo1MzoyNSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzQ2Ny85MDZdIHRlc3RzOiB2YXJpb3VzIGJ1aWxkIGZpeGVzCgkgIC0gY21ha2UgY291bGQgbm90IGZpbmQgZ2xpYgoJICAtIHB1dCBndGsgdmFyaWFibGVzIGF0IHRoZSBiZWdpbm5pbmcgdG8gYXZvaWQgR0wgY29uZmxpY3RzCgkgIC0gdXBkYXRlIGV4YW1wbGVzIHRvIGNsdXR0ZXItMS44CgkgIC0gdXNlIGNvbnN0IGluc3RlYWQgb2YgZGVwcmVjYXRlZCBHX0NPTlNUX1JFVFVSTgoJICAtIHNldCBtYXggcGVuZGluZyBldmVudHMgdG8gMCB0byBtYWtlIGN1YmUgZXhhbXBsZSB3b3JrcyBhZ2FpbgoKMjAxMS0wOC0wMyAwOTowODowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJICBbNDY2LzkwNl0gdGVzdHM6IEZpeCB2YXJpYWJsZSB1bnVzZWQgYnV0IHNldCBjb21waWxlciB3YXJuaW5nCgoyMDExLTA4LTAzIDA5OjA3OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBbNDY1LzkwNl0gZ2w6IEZpeCB2YXJpYWJsZSB1bnVzZWQgYnV0IHNldCBjb21waWxlciB3YXJuaW5ncwoKMjAxMS0wNS0yNSAxMToyMToxOSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs0NjQvOTA2XSBnbGltYWdlc2luazogSW50ZXJmYWNlIHF1ZXJ5IHNob3VsZCByZXR1cm4gRkFMU0UgaWYgdGhlIHN1cHBsaWVkIGludGVyZmFjZSBpcyBub3QgR1NUX1RZUEVfWF9PVkVSTEFZCgoyMDEwLTEyLTE0IDIzOjU2OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVzMi5oOgoJICBbNDYzLzkwNl0gQWRkIHNvbWUgbW9yZSBHX3tCRUdJTixFTkR9X0RFQ0xTIHRvIHB1YmxpYyBoZWFkZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzcyNjAKCjIwMTAtMTAtMTkgMTg6MDA6MzMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNDYyLzkwNl0gdmFyaW91czogYWRkIG1pc3NpbmcgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBmbGFncwoJICBDYW5vbmljYWxpemUgcHJvcGVydHkgbmFtZXMgYXMgbmVlZGVkLiBJbmNsdWRlcyBzb21lIGdzdC1pbmRlbnQgY2hhbmdlcyBhcyB3ZWxsIDovCgoyMDEwLTA5LTE2IDE1OjAwOjI5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dzdGd0ay5jOgoJICBbNDYxLzkwNl0geG92ZXJsYXk6IHJlcXVpcmUgYmFzZSBmcm9tIGdpdCBhbmQgdXBkYXRlIHRvIG5ldyBBUEkKCjIwMTAtMDktMDggMjA6Mzg6MDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIFs0NjAvOTA2XSBnc3RnbGVmZmVjdHM6IEZpeCB1cHBlciBib3VuZCBvZiBhbiBhcnJheSBpdGVyYXRpb24KCSAgMTAgaXMgYWJvdmUgTkVFREVEX1RFWFRVUkVTIChjdXJyZW50bHkgNSkgYW5kIG1ha2VzIHRoZSBjb2RlIGNvbnNpc3RlbnQKCSAgd2l0aCB0aGUgcmVzdCBvZiB0aGUgdXNhZ2UgaW4gdGhlIGZpbGUuCgoyMDEwLTA4LTExIDAwOjQ3OjQyICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFs0NTkvOTA2XSBGaXggZGlzdGNoZWNrLgoKMjAxMC0wNy0yMyAyMjoxMjoxNSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSAgWzQ1OC85MDZdIGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuOiBmaXggc29tZSB3YXJuaW5ncyBmcm9tIG1zdmM5CgoyMDEwLTA3LTEyIDE4OjM4OjU5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbNDU3LzkwNl0gZ3RrIGV4YW1wbGVzOiBhZGFwdCBjb2RlIHNpbmNlIHRoZSBuYXRpdmUtd2luZG93IGNoYW5nZXMgZnJvbSBndGsKCSAgRml4ZXMgYnVnICM1OTk4ODUKCjIwMTAtMDUtMDUgMTE6MjE6MzEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs0NTYvOTA2XSBnbGZpbHRlci9nbG1peGVyL2dsdGVzdHNyYy9nbHVwbG9hZDogdGhyb3cgYW4gZWxlbWVudCBlcnJvciBpZiBubyBwYXJlbnQgYmluCgkgIEZpeGVzIGJ1ZyAjNjAyMTUzCgoyMDEwLTA1LTA0IDExOjM3OjM4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIFs0NTUvOTA2XSBnbGltYWdlc2luazogaGFuZGxlIHBpeGVsLWFzcGVjdC1yYXRpbwoKMjAxMC0wNS0wMSAxMToxOTo1NSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFs0NTQvOTA2XSBibHVyOiBmaXggZ2F1c3NpYW4ga2VybmVsIGNvbXB1dGF0aW9uCgoyMDEwLTA0LTI5IDIwOjQ5OjAyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmg6CgkgIFs0NTMvOTA2XSBibHVyOiBnaXZlIHVwIHNvbWUgYWNjdXJhY3kgZm9yIHNwZWVkCgkgIFNldHRsZSB3aXRoIDd4NyBnYXVzc2lhbiBjb252b2x1dGlvbiBrZXJuZWxzLCBtYXliZSBzbGlnaHRseSBsZXNzCgkgIGFjY3VyYXRlIHRoYW4gcHJldmlvdXMgOXg5IGJ1dCBmYXN0IGVub3VnaCB0byBiZSBhYmxlIHRvIHVzZSBpdCBvbiBpOTE1LgoJICBBYm91dCBhIDIwJSBwZXJjZW50IHNwZWVkIGdhaW4gKGFnYWluLCByb3VnaGx5IG1lYXN1cmVkIHdpdGgKCSAgdmlkZW90ZXN0c3JjIGFuZCBnbGltYWdlc2luayBzeW5jPWZhbHNlKS4gTm8gbm90aWNlYWJsZSByZW5kZXJpbmcKCSAgZGlmZmVyZW5jZSB3aXRoIGN1cnJlbnQgZWZmZWN0cy4KCjIwMTAtMDQtMjggMTc6MDg6NDUgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNDUyLzkwNl0gc2luOiBnZXQgcmlkIG9mIGhscyBjb252ZXJzaW9uIGNvZGUKCSAgR2V0IHJpZCBvZiBidWdneSBhbmQgY29tcGxpY2F0ZWQgaGxzIGNvbnZlcnNpb24gY29kZSBmb3IgdGhlIHNpbiBlZmZlY3QuCgkgIFRoZSBvbmx5IHRoaW5nIG5lZWRlZCB3YXMgaHVlIGFueXdheSBhbmQgaXQgaXMgZWFzaWx5IGNhbGN1bGF0ZWQgdXNpbmcKCSAgUHJldWNpbCBmb3JtdWxhIGZvciByZ2IgdG8gcG9sYXIgY29vcmRpbmF0ZXMgY29udmVyc2lvbi4KCSAgTm93IHdvcmtzIG9uIGk5MTUgKHJlbW92ZWQgYWxsIHRoZSBJRiBibG9ja3MpLiBTdGlsbCBuZWVkcyBzb21lIHR1bmluZywKCSAgSSB3b25kZXIgaWYgaXQgd2lsbCBldmVyIHdvcmsgcHJvcGVybHkuCgoyMDEwLTA0LTMwIDExOjQ0OjI2ICswMjAwICBSb2xhbmQgUGVmZmVyIDxSb2xhbmQuUGVmZmVyQGNsaXh4dW4uZGU+CgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzQ1MS85MDZdIGdsdXBsb2FkOiBwYXIgaXMgYWxyZWFkeSBoYW5kbGVkIGluIGZpeGF0ZV9jYXBzIGZ1bmN0aW9uCgkgIEZpeGVzIGJ1ZyAjNTkzMTY1CgoyMDEwLTA0LTMwIDExOjQyOjQxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNDUwLzkwNl0gaW5kZW50OiBnc3RnbHVwbG9hZC5jCgoyMDEwLTA0LTI5IDE0OjIxOjI4ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJICBbNDQ5LzkwNl0gc29iZWw6IGRyb3AgdW51c2VkIHNpbmdsZSBwYXNzIHNvYmVsIHNoYWRlcgoJICBEcm9wIHVudXNlZCBzb2JlbCBzaGFkZXIsIGlmIGFueW9uZSBzdGlsbCBuZWVkcyBpdCwgZ2l0IGxvZyBpcyB5b3VyCgkgIGZyaWVuZC4KCjIwMTAtMDQtMjkgMTQ6MjA6NTYgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkgIFs0NDgvOTA2XSB4cmF5OiBpbmNyZWFzZSBlZGdlcyB2aXNpYmlsaXR5CgkgIFNvbWUgbGl0dGxlIGZpbmUgdHVuaW5nLCBzdGlsbCBub3QgY29tcGxldGVseSBzYXRpc2ZpZWQgeWV0LgoKMjAxMC0wNC0yOSAxMjo1OTo0MiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJICBbNDQ3LzkwNl0geHJheTogcG9ydCB0byB0aGUgbmV3IHNlcGFyYWJsZSBzb2JlbCBjb252b2x1dGlvbgoJICBQb3J0IHhyYXkgZWZmZWN0IHRvIHVzZSB0aGUgc2FtZSBzb2JlbCBjb252b2x1dGlvbiBqdXN0IHVzZWQgaW4KCSAgZ2xmaWx0ZXJzb2JlbC4gTm93IHhyYXkgdG9vIHdvcmtzIG9uIGk5MTUgKGEgYml0IHNsb3cpLgoKMjAxMC0wNC0yOSAxMDo1NzozOCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkgIFs0NDYvOTA2XSBibHVyOiBmb3Jnb3QgdG8gYWRkIGFsbCB0aGUgY2hhbmdlcyBpbiBwcmV2aW91cyBjb21taXQKCjIwMTAtMDQtMjkgMDk6MTU6MjEgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJICBbNDQ1LzkwNl0gYmx1cjogdXNlIGRyYXdfdGV4dHVyZSBmcm9tIGdsZmlsdGVyCgoyMDEwLTA0LTI5IDA5OjAyOjEyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJICBbNDQ0LzkwNl0gbGFwbGFjaWFuOiBwcmVjYWxjdWxhdGUgY29vcmRpbmF0ZXMKCSAgUHJlY2FsY3VsYXRlIGNvb3JkaW5hdGVzIHRvIGF2b2lkIHVubmVlZGVkIHRleHR1cmUgaW5kaXJlY3Rpb25zLgoJICBOb3cgbGFwbGFjaWFuIHdvcmtzIG9uIGk5MTUuCgoyMDEwLTA0LTI5IDA4OjI3OjI5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSAgWzQ0My85MDZdIHNvYmVsOiBtb3ZlIHNvbWUgaGlnaGx5IGR1cGxpY2F0ZWQgY29kZSBpbnRvIGdsZmlsdGVyCgkgIEFkZCBhIG5ldyBjb252ZW5pZW5jZSBmdW5jdGlvbiBpbiBHc3RHTEZpbHRlciB0aGF0IGp1c3QgZHJhd3MgYW4gaW5wdXQKCSAgdGV4dHVyZSB0byBhIHRhcmdldCB0ZXh0dXJlIHVzaW5nIGEgc2ltcGxlIHNoYWRlciB3aXRoIGp1c3QgYSAidGV4IgoJICB1bmlmb3JtIHNhbXBsZXIuCgkgIE1vdmUgZHJhd190ZXh0dXJlIGZyb20gZ2xmaWx0ZXJzb2JlbCB0byBnbGZpbHRlci4gU3RpbGwgbmVlZCB0byB1cGRhdGUKCSAgb3RoZXIgcGx1Z2lucyB0byB0aGlzLgoKMjAxMC0wNC0yNyAyMTo1NjowNCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFs0NDIvOTA2XSBibHVyOiBvcHRpbWl6ZSBjb29yZGluYXRlcyBjYWxjdWxhdGlvbnMKCSAgU2F2ZSAyOCBpbnN0cnVjdGlvbnMgb24gaTkxNSAobWFpbmx5IHJlZHVuZGFudCBNT1ZzKSBhbmQgZ2FpbiBhIDI1JQoJICAocm91Z2hseSBtZWFzdXJlZCB3aXRoIHZpZGVvdGVzdHNyYyBhbmQgZ2xpbWFnZXNpbmsgc3luYz1mYWxzZSkgc3BlZWQKCSAgYnVtcAoKMjAxMC0wNC0yNyAxOTozODozMyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuaDoKCSAgWzQ0MS85MDZdIHNvYmVsOiBjb252b2x2ZSBvbmx5IGx1bWEKCSAgUmV3b3JrIFNvYmVsIGEgbGl0dGxlIGJpdCBhZ2FpbiBtYWtpbmcgaXQgd29yayBhcyB0aGUgb2xkIG9uZToKCSAgMS4gZGVzYXR1cmF0ZSBpbnB1dCB0ZXh0dXJlCgkgIDIuIGNhbGN1bGF0ZSBob3Jpem9udGFsIGNvbnZvbHV0aW9uIGZvciB4IGdyYWRpZW50IGFuZCB2ZXJ0aWNhbAoJICBjb252b2x1dGlvbiBmb3IgeSBncmFkaWVudCBhdCB0aGUgc2FtZSB0aW1lIChoYWx2ZXMgdGhlIG51bWJlciBvZgoJICBuZWVkZWQgdGV4dHVyZSBsb29rdXBzKQoJICAzLiBzdG9yZSByZXN1bHRzIGluIGEgc2luZ2xlIHRleHR1cmUgKHJlZCBhbmQgZ3JlZW4gY2hhbm5lbCkKCSAgNC4gY2FsY3VsYXRlIHJlbWFpbmluZyBjb252b2x1dGlvbiAoc2FtZSBhcyBhYm92ZSBzd2l0Y2hpbmcgdmVydGljYWwgYW5kCgkgIGhvcml6b250YWwpCgkgIDUuIGNhbGN1bGF0ZSBsZW5ndGggb2YgZ3JhZGllbnQgdXNpbmcgcmVkIGFuZCBncmVlbiBhcyB4IGFuZCB5CgkgIGNvbXBvbmVudHMuCgkgIE9wdGltaXplIHdoZXJldmVyIHBvc3NpYmxlLCBzdG9yZSBrZXJuZWxzIGFzIGNvbnN0YW50cyBpbiB0aGUgc2hhZGVycywKCSAgcmVtb3ZlIHVubmVlZGVkIHVuaWZvcm1zLiBSZXN0b3JlIGludmVydCBwcm9wZXJ0eSBjYXJlZnVsbHkgYXZvaWRpbmcKCSAgdXNpbmcgSUYuCgkgIFN0aWxsIG5vdCBzdXJlIGlmICJmdWxsIGNvbG9yIiBjb252b2x1dGlvbiB3aWxsIGJlIG5lZWRlZCwgZ2xmaWx0ZXJzb2JlbAoJICBpcyB0byBiZSBpbnRlbmRlZCBhcyBhIGRlbW8gZmlsdGVyIGFuZCB4cmF5LCB0aGUgb25seSBlZmZlY3Qgd2hpY2ggdXNlcwoJICBzb2JlbCBvbmx5IG5lZWRzIGVkZ2UgaW50ZW5zaXR5LiBEcm9wcGluZyBpdCBmb3Igbm93LgoKMjAxMC0wNC0yNyAwOTowODoyMiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuaDoKCSAgWzQ0MC85MDZdIHNvYmVsOiBpbXBsZW1lbnQgc29iZWwgZmlsdGVyIHVzaW5nIHNlcGFyYWJsZSBrZXJuZWxzCgkgIFJlaW1wbGVtZW50IHNvYmVsIGluIGEgbXVsdGlwYXNzIGZ1bGx5IHNlcGFyYXRlZCBjb252b2x1dGlvbjoKCSAgLSBjYWxjdWxhdGUgeCBncmFkaWVudCBtYXAgY29udm9sdmluZyBmaXJzdCBob3Jpem9udGFsbHkgd2l0aCBibHVycmluZwoJICBrZXJuZWwgYW5kIHRoZW4gdmVydGljYWxseSB3aXRoIGRpZmZlcmVudGlhdGluZyBrZXJuZWwKCSAgLSBjYWxjdWxhdGUgeSBncmFkaWVudCBtYXAgY29udm9sdmluZyBmaXJzdCB2ZXJ0aWNhbGx5IHdpdGggYmx1cnJpbmcKCSAga2VybmVsIGFuZCB0aGVuIGhvcml6b25hbGx5IHdpdGggZGlmZmVyZW50aWF0aW5nIGtlcm5lbAoJICAtIGNhbGN1bGF0ZSBsZW5ndGggb2YgdGhlIGdyYWRpZW50IHZlY3RvcgoJICBQYXJ0aWN1bGFyIGNhcmUgd2FzIG5lZWRlZCB3aXRoIG5vcm1hbGl6YXRpb24gb2YgdGhlIGJsdXJyaW5nIGtlcm5lbCBhbmQKCSAgd2l0aCBncmV5IGxldmVsIG9mZnNldCBvZiB0aGUgZGlmZmVyZW50aWF0aW5nIG9uZSB0byBwcmV2ZW50IG92ZXJmbG93IG9mCgkgIHJnYiB2YWx1ZXMgZnJvbSB0aGUgWzAuMCwxLjBdIHJhbmdlIGluIGludGVybWVkaWF0ZSBwYXNzZXMuCgkgIE5vdyB3b3JrcyBvbiBpOTE1LgoKMjAxMC0wNC0yNiAxMzoyMDozOCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFs0MzkvOTA2XSBzb2JlbDogZ2V0IHJpZCBvZiAjdmVyc2lvbiAxMjAgZGVwZW5kZW50IGFycmF5IGNvbnN0cnVjdG9ycwoKMjAxMC0wNC0yNyAxMTowNzowNCArMDIwMCAgUGllcnJlIFBvdXpvbCA8cGllcnJlLnBvdXpvbEBob3RtYWlsLmZyPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5oOgoJICBbNDM4LzkwNl0gZ2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW46IGltcHJvdmUgYmVoYXZpb3IgYW5kIGFkZCBzb21lIHByb3BlcnRpZXMKCSAgRml4ZXMgYnVnICM2MTIxNjMKCjIwMTAtMDQtMjYgMjM6NDg6MTUgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkgIFs0MzcvOTA2XSBnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbjogcmVtb3ZlIHVudXNlZCBjb2RlIChjb3BpZWQvcGFzdGVkIGZyb20gZ2xmaWx0ZXJnbGFzcykKCjIwMTAtMDQtMjYgMjM6NDI6MzggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSAgWzQzNi85MDZdIGdsZWZmZWN0c3NvdXJjZXM6IGZpeCBzb21lIHdhcm5pbmdzIGZyb20gbXN2YzkKCjIwMTAtMDQtMjYgMjM6Mzg6NTkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL0dOVW1ha2VmaWxlLmdudXN0ZXA6CgkgIFs0MzUvOTA2XSBHTlVTdGVwIGJ1aWxkOiBhZGQgZ2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4gc291cmNlcwoKMjAxMC0wNC0yNiAxNDo0MToxNyArMDIwMCAgUGllcnJlIFBvdXpvbCA8cGllcnJlLnBvdXpvbEBob3RtYWlsLmZyPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5oOgoJICBbNDM0LzkwNl0gZ2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW46IGZvcmdvdCB0byBhZGQgc291cmNlcwoKMjAxMC0wNC0yNiAxNDozMjoyOCArMDIwMCAgUGllcnJlIFBvdXpvbCA8cGllcnJlLnBvdXpvbEBob3RtYWlsLmZyPgoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzQzMy85MDZdIGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuOiBhZGQgbmV3IE9wZW5HTCBSZWZsZWN0ZWQgU2NyZWVuIGZpbHRlcgoJICBGaXhlcyBidWcgIzYxMjE2MwoKMjAxMC0wNC0yNiAxNDoxMToyOCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs0MzIvOTA2XSBHc3RHTERpc3BsYXk6IHRoaXMgaXMgR0xfREVQVEgyNF9TVEVOQ0lMOF9FWFQsIG5vdCBHTF9ERVBUSDI0X1NURU5DSUw4X0VYVAoKMjAxMC0wNC0yNiAxMzo1NzowMCArMDIwMCAgUGllcnJlIFBvdXpvbCA8cGllcnJlLnBvdXpvbEBob3RtYWlsLmZyPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNDMxLzkwNl0gR3N0R0xEaXNwbGF5OiBlbmFibGUgc3RlbmNpbCBidWZmZXIgd2hlbiB1c2luZyBmcmFtZWJ1ZmZlciBvYmplY3RzLgoJICBGaXhlcyBCdWcgIzYxMjE1OQoKMjAxMC0wNC0yNiAxMjo0NTo1NyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFs0MzAvOTA2XSBjb252b2x1dGlvbjogc2F2ZSBzb21lIGluZGlyZWN0aW9uIGdyb3VwaW5nIG1hdGggYW5kIHNhbXBsaW5nCgkgIFRoYW5rcyB0byBFcmljIEFuaG9sdCBJJ3ZlIGZpbmFsbHkgdW5kZXJzdG9vZCAoYXQgbGVhc3QgSSBob3BlKSBob3cgdG8KCSAgY291bnQgdGV4dHVyZSBpbmRpcmVjdGlvbnMgYW5kIHNhdmUgdXAgc29tZS4gIFRleHR1cmUgc2FtcGxpbmcgZGVwZW5kZW50CgkgIG9uIHRoZSByZXN1bHQgb2Ygc29tZSBtYXRoIGNvdW50cyBhcyBhbiBpbmRpcmVjdGlvbiBwaGFzZS4gR3JvdXBlZAoJICB0ZXh0dXJlIGxvb2t1cHMgd2l0aCBubyBtYXRoIGludm9sdmVkIGNvdW50IGFzIGEgc2luZ2xlIGluZGlyZWN0aW9uLgoJICBNYXRoIG9uIHRoZSBjb29yZGluYXRlcyBjb3VudCBhcyBpbmRpcmVjdGlvbi4KCSAgU28gdGhlIGJlc3QgdGhpbmcgaXMgdG8gZ3JvdXAgYWxsIHRoZSBtYXRoIGludm9sdmluZyBjb29yZGluYXRlcyBhbmQKCSAgdGhlbiBkbyBhbGwgdGhlIGxvb2t1cHMuCgkgIFRoaXMgc2F2ZXMgZW5vdWdoIGluZGlyZWN0aW9ucyB0byBtYWtlIGdsZmlsdGVyYmx1ciBhbmQgZ2xvdyBlZmZlY3QKCSAgd29yaywgYWxiZWl0IGEgYml0IHNsb3dseSwgb24gaTkxNS4KCjIwMTAtMDQtMjUgMTA6NTU6NDMgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkgIFs0MjkvOTA2XSBsYXBsYWNpYW46IHJlbW92ZSB1bnVzZWQgbm9ybV9jb25zdCBhbmQgbm9ybV9vZmZzZXQgdW5pZm9ybXMKCSAgUmVtb3ZlIHVudXNlZCB1bmlmb3JtcyBmcm9tIHRoZSBsYXBsYWNpYW4gZmlsdGVyLiBBbHNvIHJlbW92ZSBpZgoJICBrZXJuZWxbaV0gIT0gMCBjaGVja3Mgc28gdGhhdCBpdCBjb21waWxlcyB3aGVyZSBJRiBpcyBub3QgYXZhaWxhYmxlLgoJICBBZ2FpbiwgYmlnIHRoYW5rcyB0byBFcmljIEFuaG9sdCBmb3IgdGhlIGhpbnRzLgoKMjAxMC0wNC0xMyAxNjoyMDowMiAtMDcwMCAgRXJpYyBBbmhvbHQgPGVyaWNAYW5ob2x0Lm5ldD4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJICBbNDI4LzkwNl0gbGFwbGFjaWFuOiBBdm9pZCB1c2luZyBHTFNMIDEuMjAgZmVhdHVyZXMgaW4gYSBub24tI3ZlcnNpb25lZCBzaGFkZXIuCgkgIEZpeGVzIGNvbXBpbGUgb24gTWVzYS4KCjIwMTAtMDQtMjUgMTA6MzE6MDEgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNDI3LzkwNl0gcmdiX3RvX2N1cnZlOiBzYXZlIHVwIGEgdGV4dHVyZSBpbmRpcmVjdGlvbgoJICBBcHBhcmVudGx5IGFzc2lnbmluZyBnbF9UZXhDb29yZCB0byBhIHRlbXAgY291bnQgYXMgYW4gaW5kaXJlY3Rpb24uCgkgIFVzaW5nIGl0IGRpcmVjdGx5IGF2b2lkcyBpdCBhbmQgbGltaXRzIGluZGlyZWN0aW9ucyB0byBmb3VyIG5vdAoJICBleGNlZWRpbmcgaTkxNSBsaW1pdC4gTm93IHhwcm8gZWZmZWN0IHdvcmtzIG9uIGk5MTUuCgoyMDEwLTA0LTI1IDEwOjA0OjI4ICswMjAwICBWaW5zb24gTGVlIDx2bGVlQHZtd2FyZS5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFs0MjYvOTA2XSBtdWx0aXBseTogZml4IGEgY29tcGlsYXRpb24gZXJyb3Igd2l0aCBBcHBsZSBjb21waWxlcgoJICBGaXggbXVsdGlwbHlfZnJhZ21lbnRfc291cmNlIHRvIGNvbXBpbGUgd2l0aCBBcHBsZSBHTFNMIGNvbXBpbGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE2NzQ4CgoyMDEwLTA0LTI0IDIxOjExOjM1ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzQyNS85MDZdIHR3aXJsOiBnZXQgcmlkIG9mIHBvbGFyIGNvb3JkaW5hdGVzIGNvbnZlcnNpb24KCSAgR2V0IHJpZCBvZiBwb2xhciBjb29yZGluYXRlcyBpbiB0aGUgdHdpcmwgZWZmZWN0LiBUaGUgc2FtZSBjYW4gYmUgZG9uZQoJICB1c2luZyBhIHJvdGF0aW9uIG1hdHJpeCwgc2F2aW5nIGFsdSBpbnN0cnVjdGlvbnMgYW5kLCBtb3N0IG9mIGFsbCwKCSAgYXZvaWRpbmcgdGhlIHVzZSBvZiB0aGUgZXZpbCBhdGFuKCkgZnVuY3Rpb24gKHdoaWNoIHVzZXMgSUYgb3BlcmF0b3JzKS4KCSAgQ2FsY3VsYXRlIHJvdGF0aW9uIGFuZ2xlIGluIGEgc2FuZXIsIHVuZGVyc3RhbmRhYmxlIHdheS4KCSAgV29ya3Mgb24gaTkxNSEgKEhvcGUgaXQgc3RpbGwgd29ya3MgZWxzZXdoZXJlIHRvbyBhcyBJJ20gbm90IGFibGUgdG8KCSAgdGVzdCBhdCB0aGUgbW9tZW50KQoKMjAxMC0wNC0yNCAyMDo0MzozOSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFs0MjQvOTA2XSB0dW5uZWw6IGdldCByaWQgb2YgcG9sYXIgY29vcmRpbmF0ZXMgY29udmVyc2lvbgoJICBHZXQgcmlkIG9mIHBvbGFyIGNvb3JkaW5hdGVzIGluIHRoZSB0dW5uZWwgZWZmZWN0IGFzIHRoZSBzYW1lIGNhbiBlYXNpbHkKCSAgYmUgZG9uZSBqdXN0IGNsYW1waW5nIHRoZSByYWRpdXMgYW5kIG11bHRpcGx5aW5nLgoJICBSZW1vdmUgdGhlIGV2aWwgYXRhbigpIGNhbGwgdGhhdCB1c2VzIGJyYW5jaGluZyBhbmQgYSBsb3Qgb2YgdW5uZWVkZWQgYWx1CgkgIGluc3RydWN0aW9ucy4gTm93IHdvcmtzIG9uIGk5MTUhCgoyMDEwLTA0LTIzIDIwOjA2OjQ4ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmg6CgkgIFs0MjMvOTA2XSBjb252b2x1dGlvbjogZ2VuZXJhdGUgZ2F1c3NpYW4ga2VybmVsIG9uIHRoZSBmbHkKCSAgR2VuZXJhdGUgYSBub3JtYWxpemVkIGdhdXNzaWFuIGtlcm5lbCB3aXRoIGdpdmVuIHNpemUgYW5kIHN0YW5kYXJkCgkgIGRldmlhdGlvbiBvbiB0aGUgZmx5LgoJICBSZW1vdmUgIm5vcm1fY29uc3QiIHVuaWZvcm0gZnJvbSBjb252b2x1dGlvbiBzaGFkZXJzIGFuZCBwcm92aWRlIGEKCSAgbm9ybWFsaXplZCBrZXJuZWwgaW5zdGVhZC4gUmVtb3ZlIG5vcm1fb2Zmc2V0IHVuaWZvcm0gYXMgaXQgd2FzIGFsd2F5cwoJICB6ZXJvLCB3aWxsIHJlaW50cm9kdWNlIGl0IGlmIHJlYWxseSBuZWVkZWQgaW4gdGhlIGZ1dHVyZS4gVGhhbmtzIHRvIEVyaWMKCSAgQW5ob2x0IGZvciBzdWdnZXN0aW5nIGl0LgoJICBTYXZlIHNvbWUgQUxVIGluc3RydWN0aW9uIGNhbGN1bGF0aW5nIGRpcmVjdGx5IHRoZSBjb29yZGluYXRlIGZvcgoJICB0ZXh0dXJlIGxvb2t1cCBpbnN0ZWFkIG9mIHN1bW1pbmcgYW4gb2Zmc2V0LgoJICBTdGlsbCBleGNlZWQgbWF4aW11bSBpbmRpcmVjdCB0ZXh0dXJlIGxvb2t1cHMgb24gaTkxNSwgdGhlIG9ubHkgc29sdXRpb24KCSAgSSBzZWUgaXMgdXNpbmcgYSAzeDMga2VybmVsLgoKMjAxMC0wNC0yMyAxNzo0OTo0NSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFs0MjIvOTA2XSBjb252b2x1dGlvbjogcmVkdWNlIHRoZSBudW1iZXIgb2YgcmVnaXN0ZXIgdXNlZAoJICBSZWR1Y2UgdGhlIG51bWJlciBvZiByZWdpc3RlciBjYWxjdWxhdGluZyB0ZXh0dXJlIGxvb2t1cCBvZmZzZXQgb24gdGhlCgkgIGZseS4gSXQgd2FzIGp1c3QgYSBzaW1wbGUgc2VxdWVuY2UsIG5vIG5lZWQgdG8gc3RvcmUgaXQgaW4gYSBhcnJheS4KCSAgRml4ZXMgbWF4aW11bSBudW1iZXIgb2YgcmVnaXN0ZXJzIGV4Y2VlZGVkIGVycm9yIHdpdGggaTkxNS4gU3RpbGwKCSAgZXhjZWVkIG1heGltdW0gaW5kaXJlY3QgdGV4dHVyZSBsb29rdXBzIGFuZCBtYXhpbXVtIEFMVSBpbnN0cnVjdGlvbnMuCgkgIE1heWJlIHdlIHNob3VsZCBnYXZlIHVwIHNvbWUgYmx1ciBnb29kbmVzcyBhbmQgdXNlIGxpZ2h0bHkgbW9yZSBsaXR0bGUKCSAga2VybmVscy4KCjIwMTAtMDQtMjMgMTc6Mzc6MjEgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNDIxLzkwNl0gY29udm9sdXRpb246IGRvbid0IGNoZWNrIGtlcm5lbFtpXSB0byBiZSBub24gemVybwoJICBBcHBhcmVudGx5IHNhdmluZyB1cCBzb21lIHRleHR1cmUgbG9va3VwIGZvciB6ZXJvIGtlcm5lbCBlbGVtZW50cyBpcwoJICBkZWZpbml0ZWx5IG5vdCB3b3J0aCB0aGUgdXNlIG9mIGJyYW5jaGluZy4gVGhpcyB3YXkgY29udm9sdXRpb24KCSAgZnJhZ21lbnQgcHJvZ3JhbXMgYWxzbyB3b3JrIHdoZXJlIElGIG9wZXJhdG9yIGlzIG5vdCBzdXBwb3J0ZWQgKHRlc3RlZAoJICBvbiBpOTE1IGFuZCBub3V2ZWF1KS4gU2VlIGFsc28gZGlzY3Vzc2lvbiBvbiBidWcgIzYxNTY5Ni4KCSAgVGhhbmtzIHRvIEVyaWMgQW5ob2x0IGZvciBzcG90dGluZyB0aGlzLgoKMjAxMC0wNC0yMyAxNzozMDo0NSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkgIFs0MjAvOTA2XSBibHVyOiB1c2UgY29tbW9uIHNoYWRlciBzb3VyY2VzCgkgIFBvcnQgYmx1ciBmaWx0ZXIgdG8gdXNlIHRoZSBjb21tb24gY29udm9sdXRpb24gc2hhZGVycyBpbgoJICBnc3RnbGVmZmVjdHNzb3VyY2VzLmMuIFRoaXMgcmVkdWNlcyBjb2RlIGR1cGxpY2F0aW9uIGFuZCwgaW5jaWRlbnRhbGx5LAoJICB0aGUgc2hhZGVycyBpbiB0aGUgY29tbW9uIGZpbGUgd2VyZSBhbHJlYWR5IHVwZGF0ZWQgdG8gbm90IHVzZSBhcnJheQoJICBjb25zdHJ1Y3RvciBhbmQgdG8gbm90IGRlcGVuZCBvbiAjdmVyc2lvbiAxMjAuCgkgIEZpcnN0IHN0ZXAgdG93YXJkcyBidWcgIzYxNTY5NiBmaXhpbmcuCgoyMDEwLTA0LTIzIDE3OjE5OjUwICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSAgWzQxOS85MDZdIGJsdXI6IHJlbW92ZSBob3Jpem9udGFsIGZsaXAKCSAgQXBwYXJlbnRseSB0aGVyZSB3YXMgc29tZSBzdGFsZSBob3Jpem9udGFsIGZsaXAgZnVuY3Rpb24gc3RpbGwgdGhlcmUKCSAgZnJvbSBteSBzdW1tZXIgb2YgY29kZSBleHBlcmltZW50cy4gUmVtb3ZlIGl0LgoKMjAxMC0wNC0yMyAxNzoxNDo1OSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFs0MTgvOTA2XSBlZmZlY3RzOiBkaXNhYmxlIGdzdC1pbmRlbnQgaW4gdGhlIHNvdXJjZXMKCSAgRml4IHNvbWUgY3JhenkgZm9ybWF0dGluZyBjYXVzZWQgYnkgZ3N0LWluZGVudCBwcmV2aW91cyBydW5zIGFuZCBkaXNhYmxlCgkgIHRoZSBzY3JpcHQgZm9yIHRoaXMgZmlsZS4gVGhlIGJlc3Qgd291bGQgYmUgdG8gbW92ZSBzaGFkZXJzIGludG8KCSAgc2VwYXJhdGUgZmlsZXMgYW5kIGxvYWQgdGhlbSBhdCBydW50aW1lIG9yIGhhcmRjb2RlIHRoZW0gYXQgY29tcGlsZQoJICB0aW1lLgoKMjAxMC0wMy0zMSAxMjo0MDoxMiArMDIwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSAgWzQxNy85MDZdIGdsYnVtcGVyOiBVc2UgcG5nX3NpZ19jbXAoKSBpbnN0ZWFkIG9mIHBuZ19jaGVja19zaWcoKQoJICBGaXhlcyBidWcgIzYxMzE4NgoKMjAxMC0wMy0yNCAxMToxMDoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzQxNi85MDZdIGdsOiB1c2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCkKCSAgRml4ZXMgIzYxMzM3MS4KCjIwMTAtMDMtMDkgMDE6MzU6NDIgKzAxMDAgIE5pY2hvbGFzIFBhbmF5aXMgPG5pY2tAbW92ZW5jeS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgWzQxNS85MDZdIGdzdGdsd2luZG93X3dpbjMyOiBzaGFyZSBvcGVuZ2wgY29udGV4dCBpbiBjb3JyZWN0IG9yZGVyCgkgIEFsbG93IHRvIHVzZSB0aGUgb3BlbmdsIGNvbnRleHQgc2hhcmluZyBmZWF0dXJlIGlmIHRoZSBvcmlnaW5hbAoJICBjb250ZXh0IGhhcyBiZWVuIHVzZWQgYWxyZWFkeS4KCSAgVGhpcyBpcyBvbmx5IHBvc3NpYmxlIG9uIHdpbjMyIHdpdGggd2dsU2hhcmVMaXN0cyBiZWNhdXNlIG9uIG90aGVyCgkgIGJhY2tlbmRzLCB0aGUgc2hhcmluZyBpcyBtYWRlIHdoZW4gYSBjb250ZXh0IGlzIGNyZWF0ZWQuCgkgIFRoaXMgbmV3IGZlYXR1cmUgaXMgb25seSB1c2VmdWxsIHdoZW4gdXNpbmcgZXh0ZXJuYWwgY29udGV4dAoJICBiZWNhdXNlIGdzdC1nbCBpbnRlcm5hbGx5IG1ha2VzIHN1cmUgdGhhdCB0aGUgb3JnaW5hbCBjb250ZXh0IGlzIG5vdAoJICBhbHJlYWR5IHVzZWQgd2hlbiBzaGFyaW5nIGl0LgoJICBGaXggYnVnICM2MTEwNjcKCjIwMTAtMDMtMDkgMDE6MjQ6MDYgKzAxMDAgIERhdmlkIEhveXQgPGRob3l0QGxsbmwuZ292PgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIFs0MTQvOTA2XSBnbGJ1bXBlci9nbGRpZmZlcmVuY2VtYXR0ZS9nbG92ZXJsYXk6IGxpYnBuZyAxLjQueCBjb21wYXRpYmxlCgkgIEZpeCBidWcgIzYwODY0MwoKMjAxMC0wMS0xMiAxODozMjozOSArMDMwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzQxMy85MDZdIEZpeCBXaW5kb3dzIGNvbXBpbGVyIHdhcm5pbmcgaW4gdGVzdC9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYwoKMjAxMC0wMS0wNiAwMDoxMzo0NiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvR05VbWFrZWZpbGUuZ251c3RlcDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkqIGdzdC9nbC9HTlVtYWtlZmlsZS5nbnVzdGVwOgoJKiBnc3QvZ2wvZWZmZWN0cy9HTlVtYWtlZmlsZS5nbnVzdGVwOgoJICBbNDEyLzkwNl0gQ29jb2EgYmFja2VuZDogaW1wcm92ZSBzdXBwb3J0IG9uIEdOVVN0ZXAKCjIwMDktMTItMTggMDA6MzQ6MTMgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgWzQxMS85MDZdIGdzdGdsbWl4ZXI6IGNvcHkvcGFzdCByZWNlbnQgY2hhbmdlcyBmcm9tIGdzdHZpZGVvbWl4ZXIKCjIwMDktMTItMTYgMDE6MzM6MzkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgWzQxMC85MDZdIGdzdGdsbWl4ZXI6IGluYWN0aXZhdGUgc2hhcmVkIGdsIGNvbnRleHQgYmVmb3JlIHRvIHJlbGVhc2Ugb3VycwoJICBGaXJzdCwgaW5hY3RpdmF0ZSBzaGFyZWQgZ2wgY29udGV4dHMga25vd24gYnkgZWFjaCBzaW5rIHBhZC4KCSAgVGhlbiwgZGVzdHJveSB0aGUgZ2wgY29udGV4dCBrbm93biBieSB0aGUgZ2xtaXhlci4KCSAgRmluYWxseSwgcmUtYWN0aXZhdGUgc2hhcmVkIGdsIGNvbnRleHRzLgoJICBUaGlzIGlzIHRvIHNhdGlzZnkgdGhlIGZhY3QgdGhhdCBubyBzaGFyZWQgZ2wgY29udGV4dCBtdXN0IGJlIGN1cnJlbnQKCSAgd2hlbiBhbiBvcGVuZ2wgY29udGV4dCBpcyBkZXN0cm95ZWQuCgkgIE1vcmVvdmVyIHRoZSBhcHBsaWNhdGlvbiBtYXkgaGFuZyBvciBjcmFzaCB3aXRob3V0IHRob3NlIHN0ZXBzLgoKMjAwOS0xMS0yNSAxMDoyNDozNyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIFs0MDkvOTA2XSBnbGVmZmVjdHM6IGluZGVudCBhbmQgZml4IHNvbWUgd2FybmluZ3MgaW4gRVMgMi4wIG1vZGUKCjIwMDktMTEtMjEgMjE6NDA6MTQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzQwOC85MDZdIGdsZWZmZWN0czogc3RhcnQgdG8gbWFrZSBpdCBjb21wYXRpYmxlIHdpdGggT3BlbkdMIEVTIDIuMAoJICBGb3Igbm93IG9ubHkgaWRlbnRpdHksIG1pcnJvciBhbmQgc3F1ZWV6ZSBlZmZlY3RzIGFyZSBhdmFpbGFibGUuCgkgIE1heWJlIHNvbWUgZmFjdG9yaXphdGlvbiBpcyBuZWVkZWQgYWJvdXQgY29tcGlsYXRpb24gc2hhZGVyCgkgIGJlZm9yZSB0byBwdXQgdGhlIG90aGVyIGVmZmVjdHMgc2luY2Ugb25seSBhIGNvcHkvcGFzdCBpcyBuZWVkZWQsCgkgIGF0IGxlYXN0IHVudGlsIGVmZmVjdCBudW1iZXIgOTogaGVhdC4KCSAgVGhlIGVmZmVjdHMgZnJvbSAxMDpzZXBpYSB0byAxNTpnbG93IHJlcXVpcmUgbW9yZSB3b3JrLgoKMjAwOS0xMS0yMSAxMzozMjo1OSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSAgWzQwNy85MDZdIHdpbkNFIGJhY2tlbmQ6IGZpeCBidWlsZAoKMjAwOS0xMS0yMSAxMzoyMTo1NCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIFs0MDYvOTA2XSBnbGltYWdlc2luazogYWRkIGEgY2xpZW50LWRhdGEgcHJvcGVydHkKCSAgQWxzbyBhZGQgaXQgdG8gZ2xmaWx0ZXJhcHAuCgkgIEZpeGVzICM1NTkxMzEKCjIwMDktMTEtMTcgMjM6NDc6MjQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zZGwvc2Rsc2hhcmUuYzoKCSAgWzQwNS85MDZdIGdsZmlsdGVyOiBhZGQgZXh0ZXJuYWwtb3BlbmdsLWNvbnRleHQgcHJvcGVydHkKCSAgSXQgcmVwYWlycyB0aGUgY2x1dHRlcnNoYXJlIGFuZCBzZGxzaGFyZSBleGFtcGxlCgoyMDA5LTExLTE3IDIyOjU0OjM5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNDA0LzkwNl0gZ2x1cGxvYWQ6IHJlcGFpciBleHRlcm5hbF9vcGVuZ2xfY29udGV4dCBwcm9wZXJ0eQoJICBxZ2x3dGV4dHVyZXNoYXJlIG5vdyB3b3JrcyBhZ2Fpbi4gSW4gdGhpcyBleGFtcGxlLAoJICB0aGUgcGlwZWxpbmUgaXMgc3JjICEgZ2x1cGxvYWQgISBmYWtlc2luay4KCSAgU28gaW4gdGhpcyBjYXNlIHRoZSBnbHVwbG9hZCBlbGVtZW50IGlzIGEgc2luayBpbgoJICB0ZXJtcyBvZiBnbCBjaGFpbi4KCSAgQnV0IHRoZSBwcm9ibGVtIGlzIHN0aWxsIHRoZXJlIGlmIHRoZSBwaXBlbGluZSBpcwoJICBzcmMgISBnbHVwbG9hZCAhIGdsZmlsdGVyICEgZmFrZXNpbmsKCSAgKGl0J3MgdGhlIGNhc2UgaW4gc2Rsc2hhcmUgYW5kIGNsdXR0ZXJzaGFyZSBleGFtcGxlcykKCSAgYmVjYXVzZSBzaW5jZSByZWNlbnQgY2hhbmdlcyBhYm91dCBob3cgdGhlIGdzdGdsZGlzcGxheQoJICBpcyB0cmFuc21pdHRlZCB0byB0aGUgZ2wgZWxlbWVudCwgdGhlIGNvbnRleHQgaXMgdXN1YWxseQoJICBjcmVhdGVkIGJ5IHRoZSBzaW5rIGluIHRlcm1zIG9mIGdsIGNoYWluLgoJICBBIHNvbHV0aW9uIHdvdWxkIGJlIHRvIGFsc28gaW5zdGFsbCB0aGlzIHByb3BlcnR5IG9uIGdsZmlsdGVyLgoKMjAwOS0xMS0xNyAwMjoxNjowMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgWzQwMy85MDZdIGdzdGdsbWl4ZXI6IEluaXRpYWxpc2UgdGhlIGRlYnVnIGNhdGVnb3J5CgkgIEluaXRpYWxpc2UgdGhlIGdzdGdsbWl4ZXIgZGVidWcgY2F0ZWdvcnkgYmVmb3JlIHVzaW5nIGl0LgoKMjAwOS0xMS0xNyAwMTowODowOSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIFs0MDIvOTA2XSBnbG92ZXJsYXk6IGZpeCBzb21lIHdhcm5pbmdzCgoyMDA5LTExLTE2IDE0OjMyOjE2ICswMTAwICBBbnRob255IFZpb2xvIDxhbnRob255LnZpb2xvQHViaWNhc3QuZXU+CgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuaDoKCSAgWzQwMS85MDZdIGdsb3ZlcmxheTogQWRkZWQgcm90YXRlIHRleHR1cmUKCSAgZml4ICM2MDEyNzcKCjIwMDktMTEtMDUgMTQ6NTM6MzUgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNDAwLzkwNl0gZ3N0Z2xkaXNwbGF5OiBubyBuZWVkIHRoZSBJNDIwIHdvcmsgYXJvdW5kIGlmIEFUSSBNb2JpbGl0eQoJICBmaXggIzU4ODY1MwoKMjAwOS0xMS0wNCAyMzo0NDo0NiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBbMzk5LzkwNl0gZ2xtaXhlcjogZml4IHdoZW4gbm8gbW9yZSBnbCBlbGVtZW50cyBhZnRlciBpdAoJICBGb3IgZXhhbXBsZToKCSAgdmlkZW90ZXN0c3JjICEgZ2x1cGxvYWQgISAuLi4gISBnbGZpdGVyICEgLi4uICEgZ2xtb3NhaWMgISBmYWtlc2luawoJICBVc2VmdWxsIHdoZW4gdXNpbmcgZ2xtaXhlciBpbnNpZGUgY2x1dHRlcnNoYXJlIG9yIHNkbHNoYXJlIGNhc2VzLgoKMjAwOS0xMS0wNCAyMzoxMjo0MiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBbMzk4LzkwNl0gZ2xkb3dubG9hZDogZG8gbm90IGZvcmdvdCB0byBjcmVhdGUgdGhlIGdsIGNvbnRleHQKCSAgZml4ICM2MDA2MzAKCjIwMDktMTEtMDQgMjM6MTE6NTQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkgIFszOTcvOTA2XSBnbG1vc2FpYzogZml4IGEgY29tcGFyaXNvbiB3YXJuaW5nCgoyMDA5LTExLTA0IDIzOjEwOjE2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJICBbMzk2LzkwNl0gZ2xkaWZmZXJlbmNlbWF0dGU6IGZpeCBzb21lIHdhcm5pbmdzIGZyb20gdmM5CgoyMDA5LTEwLTI4IDEwOjQxOjUzICswMTAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5oOgoJICBbMzk1LzkwNl0gZGlmZmVyZW5jZW1hdHRlOiBmaXggcmVncmVzc2lvbnMgZnJvbSBnZGtwaXhidWYgdG8gbGlicG5nIG1pZ3JhdGlvbgoJICBUaGUgYmFja2dyb3VuZCBpbWFnZSBuZWVkcyB0byBiZSBzY2FsZWQgdG8gZml0IGN1cnJlbnQgdGV4dHVyZSBzaXplLgoJICBQcmV2aW91c2x5IHRoaXMgd2FzIGRvbmUgYnkgZ2RrX3BpeGJ1Zl9zY2FsZV9zaW1wbGUgYnV0IHRoYXQncyBiZWVuCgkgIHJlbW92ZWQuCgkgIENyZWF0ZSBhIHRleHR1cmUgZnJvbSB0aGUgYmFja2dyb3VuZCBwaXhidWYgd2l0aCBjb3JyZWN0IGRpbWVuc2lvbnMgYW5kCgkgIHVzZSBpbnRlcnBvbGF0aW9uIHNoYWRlciB0byBzY2FsZSBpdCB0byB0aGUgcmlnaHQgc2l6ZS4gSW50ZXJwb2xhdGlvbgoJICBmcmFnbWVudCBzaGFkZXIgZG9lc24ndCBoYXZlIHRvbyBtdWNoIHNlbnNlIGlmIGFsbCB0aGUgdGV4dHVyZXMgZG9uJ3QKCSAgaGF2ZSB0aGUgc2FtZSBzaXplIHNvIHRoaXMgc2VlbWVkIHRoZSBtb3N0IG5hdHVyYWwgcGxhY2UgdG8gZG8gdGhlCgkgIHNjYWxpbmcuIEl0IGNvdWxkIHByb2JhYmx5IGJlIGRvbmUgd2l0aCBzb21lIGN1c3RvbSB0ZXh0dXJlIG1hcHBpbmcKCSAgb3V0c2lkZSB0aGUgc2hhZGVyIGJ1dCBpdCBpbnZvbHZlZCBtb3JlIGNvZGUuCgkgIEZpeGVzIGJ1ZyAjNTk5ODgzLgoKMjAwOS0xMC0yNyAxNzowMjoyMyArMDEwMCAgUHJhdGhlZXNoIEdhbmdhZGhhciA8cHJhdGhlZXNoLmdhbmdhZGhhckBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFszOTQvOTA2XSBnc3RnbGRpc3BsYXk6IHVzZSBvZiBHTF9ERVBUSF9DT01QT05FTlQxNiBpZiBPcGVuR0wgRVMgMi4wCgkgIGdsUmVuZGVyYnVmZmVyU3RvcmFnZSBkb2VzIG5vdCBhY2NlcHQgR0xfREVQVEhfQ09NUE9ORU5UIGluCgkgIE9wZW5HTCBFUyAyLjAuCgkgIEZpeCBidWcgIzU5Mzc4NgoKMjAwOS0xMC0yNyAxNToyNzoxNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmg6CgkgIFszOTMvOTA2XSBnbG1vc2FpYzogZm9yIG5vdyBpdCdzIGEgY3ViZSBtb3NhaWMKCSAgQWxzbyB1c2UgR1B0ckFycmF5IGluc3RlYWQgb2YgR0FycmF5IGluIGdsbWl4ZXIuCgkgIEFuZCBhZGQgYSBwaXBlbGluZSB0byB0ZXN0cy9waWVwbGluZXMKCjIwMDktMTAtMjcgMTE6MTQ6MzggKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkgIFszOTIvOTA2XSBnbG1vc2FpYzogZGVzYWN0aXZhdGUgc2hhZGVyIHdoZW4gZG9uZQoKMjAwOS0xMC0yNiAxMTo0NDozNSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgWzM5MS85MDZdIENvY29hOiBmaXggYmFja2VuZCBzaW5jZSByZWNlbnQgY2hhbmdlcwoJICBCZWZvcmUsIHRoZSB3aW5kb3cgc2l6ZSB3YXMgZ2l2ZW4gYXQgaXRzIGNyZWF0aW9uLiBOb3csIGl0J3MgZG9uZSBhdAoJICB0aGUgZHJhd2luZyBzdGVwIGJlY2F1c2UgaXQncyBvbmx5IHJlbGV2YW50IHdoZW4gdGhlcmUgaXMgYSBnbGltYWdlc2luawoJICBlbGVtZW50IGluIHRoZSBwaXBlbGluZS4KCjIwMDktMTAtMjMgMjA6NTM6MzIgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbMzkwLzkwNl0gcmVtb3ZlIHdhcm5pbmdzIGZyb20gdnM5CgoyMDA5LTEwLTIzIDIwOjUyOjMyICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBbMzg5LzkwNl0gZml4IGNvZGVibG9ja3MgYnVpbGQgb24gd2luMzIKCjIwMDktMTAtMjMgMTA6NTI6MzkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSAgWzM4OC85MDZdIGp1c3QgZml4IGJ1aWxkcyBhbmQgaW5kZW50CgoyMDA5LTEwLTIzIDAxOjExOjI3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlczIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVycGFkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmg6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzM4Ny85MDZdIGdsbWl4ZXI6IGFkZCBhIGdsbWl4ZXIgYmFzZSBlbGVtZW50CgkgIGdsbWl4ZXIgY2FuIGJlIHNlZW4gYXMgYSBnbGZpbHRlciBleGNlcHQgaXQgaGFuZGxlcyBOIHJlcXVlc3RlZAoJICBzaW5rIHBhZHMuCgkgIEVhY2ggc2luayBwYWQgYW5kIHRoZSBzcmMgcGFkIGFyZSB2aWRlby94LXJhdy1nbC4KCSAgZ2xtaXhlciBpcyByZXNwb25zaWJsZSBmb3IgbWFuYWdpbmcgZGlmZmVyZW50IGZyYW1lcmF0ZXMgZnJvbSBpbnB1dHMuCgkgIEl0IHVzZXMgT3BlbkdMIGNvbnRleHQgc2hhcmluZy4gSXQgbWVhbnMgdGhhdCBlYWNoIGlucHV0IGlzIGluIGl0cwoJICBvd24gT3BlbkdMIGNvbnRleHQgc2hhcmVkIHRvZ2V0aGVyIGFuZCBzaGFyZWQgd2l0aCB0aGUgT3BlbkdMIGNvbnRleHQKCSAgb2YgdGhlIG91cHV0IGdsIGNoYWluLgoJICBBbHNvIGFkZCBhIGdsbW9zYWljIHdoaWNoIGlzIGFuIGV4YW1wbGUgb2YgaW1wbGVtZW50YXRpb24gb2YgZ2xtaXhlci4KCSAgRm9yIG5vdyBnbG1vc2FpYyBpcyBhIGN1YmUgYnV0IGl0IHdpbGwgYmUgZml4ZWQgaW4gdGhlIG5leHQgY29tbWl0cy4KCSAgRm9yIG5vdyB0aGUgZ2xtaXhlciBoYXMgc29tZSB3ZWlyZCBiZWhhdmlvdXJzIGluIHNvbWUgY29uZmlndXJhdGlvbnMKCSAgYnV0IGl0IHdpbGwgYmUgaW1wcm92ZWQgaW4gdGhlIG5leHQgY29tbWl0cy4KCSAgVGhlIGF1dG90b29scyBidWlsZHMgaXMgdGVtcG9yYXJseSBicm9rZW4gc2luY2UgdGhvc2UgY2hhbmdlcwoJICBoYXZlIGJlZW4gbWFkZSBvbiB3aW4zMi4KCjIwMDktMTAtMjMgMDE6MDc6MjkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFszODYvOTA2XSBwaXhidWZkcm9wOiBmaXggZXhhbXBsZSBvbiB3aW4zMgoKMjAwOS0xMC0wNCAwMjoyMzo0NSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFszODUvOTA2XSByZXdyaXRlIHRoZSB3YXkgYSBnc3RnbGRpc3BsYXkgaXMgdHJhbnNtaXRlZCB0byB0aGUgZ2wgZWxlbWVudHMKCSAgQmVmb3JlLCBhIGdzdGdsZGlzcGxheSB3YXMgaW5zdGFuY2llZCBieSB0aGUgZ2wgc3JjIGluIHRlcm1zIG9mIGdsIGNoYWluLgoJICBBbmQgdGhlbiB0aGUgbmV4dCBlbGVtZW50IGdvdCBpdCB0aHJvdWdoIHRoZSBmaXJzdCBnc3RnbGJ1ZmZlci4KCSAgTm93LCB0aGlzIGlzIGRvbmUgdGhvdWdoIHF1ZXJpZXMuCgkgIEFsbCBnbGVsZW1lbnRzIGdldCB0aGVpciByZWYgb24gYSBnc3RnbGRpc3BsYXkgaW4gUkVBRFkgc3RhdGUuCgkgIFRoaXMgcmV3cml0ZSBpcyBtYWlubHkgYSBmaXJzdCBzdGVwIHRvIGJlIGFibGUgdG8gc2hhcmUgT3BlbkdMIGNvbnRleHQgaG9sZAoJICBieSB0aGUgZ3N0Z2xkaXNwbGF5IHVzaW5nIG1vcmUgY29tcGxleCBnbGVsZW1lbnRzLgoJICBGb3IgZXhhbXBsZSwgd2l0aCBhIGdsdmlkZW9taXhlci4gVGhlIGFzc29jaWF0ZWQgZ3N0Z2xkaXNwbGF5IG9mIGVhY2ggZ2wgY2hhaW4KCSAgb2YgdGhlIHNpbmsgcGFkcyB3aWxsIHNoYXJlIHRoZWlyIE9wZW5HTCBjb250ZXh0LgoKMjAwOS0xMC0xNiAxODowODoxMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMzg0LzkwNl0gYnVpbGQ6IHVzZSA8c3RkaW8uaD4gLyAic3RkaW8uaCIKCjIwMDktMTAtMTYgMTc6Mjk6MDggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzM4My85MDZdIGJ1aWxkOiBpbmNsdWRlIDxzdGRpby5oPiB3aGVuIHVzaW5nIHByaW50ZiAmIGNvLgoKMjAwOS0xMC0xNSAxNTo0MDoxMSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVzMi5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkgIFszODIvOTA2XSBFUzIuMDogcmVtb3ZlIHdhcm5pbmdzCgkgIFBhcnRpYWxseSBmaXggIzU5Mzc4NgoKMjAwOS0xMC0xNSAxNDo1OTowOCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFFUzIuYzoKCSAgWzM4MS85MDZdIEVHTCBhbmQgR0xYOjogc2V0IGEgbWluaW11bSBkZXB0aCBzaXplCgoyMDA5LTA5LTIxIDE1OjAwOjAyICswMjAwICBBbnRob255IFZpb2xvIDxhbnRob255LnZpb2xvQHViaWNhc3QuZXU+CgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuaDoKCSAgWzM4MC85MDZdIGdsb3ZlcmxheTogY2FuIHB1dCB2aWRlbyBvdmVyIHBuZyBpbWFnZXMKCSAgRml4IGJ1ZyAjNTk1MzAzCgoyMDA5LTA5LTIxIDEwOjUxOjQ3ICswMjAwICBBbnRob255IFZpb2xvIDxhbnRob255LnZpb2xvQHViaWNhc3QuZXU+CgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIFszNzkvOTA2XSBnbG92ZXJsYXk6IGFkZCBzdXBwb3J0IHRvIHVzZSBSR0IgcG5nIGltYWdlcwoJICBQcmV2aW91c2x5IHJlc3RyaWN0ZWQgdG8gUkdCQSwgbm93IGdsb3ZlcmxheSBjYW4gYWxzbyBoYW5kbGUgYSBSR0IgaW1hZ2UuCgoyMDA5LTA5LTE5IDE0OjMxOjI4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbMzc4LzkwNl0gZ2xkaXNwbGF5OiBhdm9pZCB0byByZXF1ZXN0IGdsIHRocmVhZCB3aGVuIGRlbGV0aW5nIGEgdGV4dHVyZQoJICBBIHRleHR1cmUgaXMgbm90IGRlc3Ryb3llZCB3aGVuIHdoZW4gd2UgYXJlIGRvbmUgd2l0aCBpdC4KCSAgVGhpcyB0ZXh0dXJlIGlzIGp1c3QgYWRkZWQgdG8gdGhlIHRleHR1cmUgcG9vbCBpbiBvcmRlciB0byBiZQoJICByZS11c2VkLiBJbiB0aGlzIGNhc2Ugbm8gT3BlbkdMIGNvZGUgaXMgZXhlY3V0ZWQgc28gd2UgZG8gbm90IG5lZWQgdG8KCSAgcmVxdWVzdCBnbCB0aHJlYWQuCgoyMDA5LTA5LTE5IDE0OjE2OjI1ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzM3Ny85MDZdIGdsZGlzcGxheTogYXZvaWQgdG8gcmVxdWVzdCBnbCB0aHJlYWQgd2hlbiBnZW5lcmF0aW5nIGEgdGV4dHVyZQoJICBUaGFua3MgdG8gdGhlIHRleHR1cmUgcG9vbCB0aGUgZ2wgdGV4dHVyZXMgYXJlIHJlLXVzZWQuCgkgIFdoZW4gcmUtdXNpbmcgb25lLCBubyBvcGVuZ2wgY29kZSBpcyBleGVjdXRlZCBzbyBkbyBub3QgbmVlZAoJICB0byByZXF1ZXN0IGdsIHRocmVhZC4KCjIwMDktMDktMDEgMTU6MjE6MzkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMzc2LzkwNl0gYnVpbGQ6IHN1cHBvcnQgb3BlbkdMRVMgb24gbGludXggdmlhIGF1dG9mb28uIFBhcnRpYWx5IGZpeGVzICM1OTM3ODYKCSAgQWRkIGEgcGtnLWNvbmZpZyBjaGVjayBmb3Igb3BlbmdsIGFuZCBpZiBub3QgZm91bmQgYXNzdW1lIG9wZW5nbC1lcy4gSWYgdXNlciBoYXMKCSAgbm9uZSBvZiBib3RoIG9uZSBzdGlsbCBnZXQgYnVpbGQgZXJyb3IgbGF0ZXIgb24gKHRoZXJlIGlzIG5vIHBrZy1jb25maWcgZm9yCgkgIG9wZW5nbC1lcykuCgkgIEFkZCBtb3JlIGZpbGVzIHRvIEVYVFJBIGRpc3QgYW5kIGJ1aWxkIHRoZSBvcGVuZ2xlcyB2YXJpYW50IGlmIHNlbGVjdGVkLgoJICBTaW1taWxhciBjaGFuZ2VzIGNvdWxkIGJlIGRvbmUgZm9yIHRoZSB3aW5DRSBiYWNrZW5kLgoKMjAwOS0wOS0wMiAxMDowNjozNiArMDIwMCAgQW50aG9ueSBWaW9sbyA8YW50aG9ueS52aW9sb0B1YmljYXN0LmV1PgoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5Lmg6CgkgIFszNzUvOTA2XSBnbG92ZXJsYXk6IGNhbiBjb250cm9sIGltYWdlIHNpemUgYW5kIHBvc2l0aW9uCgkgIEZpeCBidWcgIzU5MTU5MQoKMjAwOS0wOS0wMSAxOTo0NjoxMCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9zZGwvc2Rsc2hhcmUuYzoKCSAgWzM3NC85MDZdIHNkbHNoYXJlIGV4YW1wbGU6IGZpeCBidWlsZCBvbiB3aW4zMgoKMjAwOS0wOC0zMSAxNzoyNjozNCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9zZGwvc2Rsc2hhcmUuYzoKCSAgWzM3My85MDZdIHNkbHNoYXJlIGV4YW1wbGU6IHJldmlldyBpbmNsdWRlcyBvcmRlciBhbmQgZml4IGNsb3N1cmUKCjIwMDktMDgtMzEgMTc6MTg6MDEgKzAyMDAgIE1pcXVlbCDDgG5nZWwgRmFycsOpIDxtaXF1ZWwuZmFycmVAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvc2RsL3NkbHNoYXJlLmM6CgkgIFszNzIvOTA2XSBtYWtlIHNkbHNoYXJlIGV4YW1wbGUgd29yayBvbiBsaW51eC4gRml4IGJ1ZyAjNTkzNDg2CgoyMDA5LTA4LTI2IDIzOjQzOjM3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3NkbC9zZGxzaGFyZS5jOgoJICBbMzcxLzkwNl0gdGVzdHM6IGFkZCBzZGxzaGFyZSBleGFtcGxlCgkgIEl0IHNob3dzIGhvdyB0byB1c2UgZ2wgdGV4dHVyZXMgdGhhdCBjb21lCgkgIGZyb20gZ3N0IGdsIGVsZW1lbnRzIGluc2lkZSBhIFNETCBPcGVuR0wgc2NlbmUKCjIwMDktMDgtMTcgMTU6NDg6MDkgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzM3MC85MDZdIEFkZCBtaXNzaW5nIGhlYWRlciBmaWxlIHRvIE1ha2VmaWxlLmFtIGFuZCB1cGRhdGUgc3BlYyBmaWxlIHRvIGFjdHVhbGx5IGJlIGZvciB0aGlzIHBhY2thZ2UKCjIwMDktMDgtMDMgMTc6NTI6MzEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMzY5LzkwNl0gZGVmaW5lIG1pc3NpbmcgZ2xldyBtYWNybyBvbiBvbGRlciB2ZXJzaW9ucwoKMjAwOS0wOC0wMyAxMDoxMzowMiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgWzM2OC85MDZdIENvY29hIGJhY2tlbmQ6IGZpeCBjcmFzaCB3aGVuIHJlc2l6aW5nCgkgIERlZmF1bHQgaW1wbGVtZW50YXRpb24gb2YgTlNPcGVuZ2xWaWV3Ojp1cGRhdGUgaXMgbm90IHNhZmUgYmVjYXVzZSBpdAoJICBqdXN0IGNhbGxzIHVwZGF0ZSBvbiB0aGUgb3BlbmdsIGNvbnRleHQgd2hlcmVhcyB3ZSBhcmUgbm90IGluIHRoZSBnbCB0aHJlYWQuCgkgIEFsc28gZml4IHRoZSB3aGl0ZSBmbGlja2VyaW5nIHdoZW4gcmVzaXppbmcsIGJlY2F1c2Ugbm93IHdlIG5lZWQgdG8gY2FsbAoJICB0aGUgZHJhdyBjYWxsYmFjayBtYW51YWxseSB3aGVuIHJlc2l6aW5nLgoKMjAwOS0wNy0zMSAxODoxNzo1NSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFszNjcvOTA2XSBkb2NzOiBmaXggR3N0WHZJbWFnZVNJbmsgLT4gR3N0R0xJbWFnZVNpbmsgYW5kIHJlaW5kZW50CgoyMDA5LTA3LTMwIDAwOjM2OjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuaDoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5Lmg6CgkgIFszNjYvOTA2XSBkb2NzOiBtYWtlIHJlbWFpbmluZyBlbGVtZW50cyBzaG93IHVwIGluIGRvY3MKCSAgU3BsaXQgb3V0IGRlY2xhcmF0aW9ucyBpbnRvIGhlYWRlciBmaWxlcyBhbmQgaG9vayBldmVyeXRoaW5nIHVwIHNvCgkgIHRoYXQgZml2ZSBtb3JlIGVsZW1lbnRzIHNob3cgdXAgaW4gdGhlIHBsdWdpbiBkb2NzLiBGaXhlcyAjNTU5MTM1LgoKMjAwOS0wNy0yNyAwOTo1ODoyMCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgWzM2NS85MDZdIENvY29hIGJhY2tlbmQ6IG1ha2Ugc3VyZSB0aGF0IG5zYXBwIGlzIGluaXRpYWxpemVkCgkgIGdzdC1sYXVuY2gtMC4xMCB2aWRlb3Rlc3RzcmMgISB0ZWUgbmFtZT10ICEgcXVldWUgISBnbGltYWdlc2luayB0LiAhIHF1ZXVlICEgZ2xpbWFnZXNpbmsKCSAgbm93IHdvcmtzIHByb3Blcmx5IG9uIE1hY09TWAoKMjAwOS0wNy0yNCAxMDozMzo0NyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSAgWzM2NC85MDZdIG1ha2UgdGhlIGNtYWtlIGJ1aWxkIHdvcmsgb24gTWFjT1NYCgkgIFdlIGNhbiBub3cgZ2VuZXJhdGUgYSBYY29kZSBwcm9qZWN0IChvciBVbml4IE1ha2ZpbGVzKSwKCSAgc2VlIElOU1RBTEwgZmlsZQoKMjAwOS0wNy0yNCAxMDoxMjowNyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgWzM2My85MDZdIENvY29hIGJhY2tlbmQ6IGZpeCBjcmFzaCB3aGVuIGNsb3NpbmcKCSAgLSBBbGwgZ3N0Z2x3aW5kb3cgbWVtYmVycyBhcmUgbm93IG1vZGlmaWVkIG9ubHkgaW4gdGhlIGdsIHRocmVhZAoJICB0byBhdm9pZCB0aHJlYWQgY29uY3VycmVuY3kKCSAgLSBPcGVuR0wgY29udGV4dCBpcyBub3cgcHJvcGVybHkgY2xlYW4KCSAgLSBmaXggYSBjb3VwbGUgb2YgdGhpbmdzIGluIGltcGxlbWVudGF0aW9uIG9mIHhvdmVybGF5IGludGVyZmFjZQoKMjAwOS0wNy0xNyAxNjo0Nzo0MSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgWzM2Mi85MDZdIG1ha2UgY29jb2EgYmFja2VuZCB3b3JrIG9uIE1hY09TWAoJICBJdCB3b3JrcyB3aXRoIGJvdGggZ3N0LWxhdW5jaCBhbmQgYSBjb2NvYSBhcHAgKG5vbi1lbWJlZGRlZCBhbmQgZW1iZWRkZWQpCgkgIEJ1dCB0aGVyZSBpcyBzdGlsbCBzb21lIHByb2JsZW1zOgoJICAtIHNvbWV0aW1lcyBjcmFzaCB3aGVuIGNsb3NpbmcKCSAgLSBmbGlja2VyaW5nIHdoZW4gcmVzaXppbmcKCSAgLSBlbWJlZGRlZCBtb2RlIG5vdCBwZXJmZWN0CgkgIEkgd2lsbCBmaXJzdCBtYWtlIHRoZSBDTWFrZSBidWlsZCB3b3JrIHdpdGggY29jb2EgYmFja2VuZAoJICBpbiBvcmRlciB0byBnZW5lcmF0ZSBhIFhDb2RlIHByb2plY3QuCgkgIFRoZW4gaXQgc2hvdWxkIGJlIGVhc2llciB0byBmaXggdGhvc2UgaXNzdWVzLgoKMjAwOS0wNy0xNCAyMDozNjoxMyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3N0Z3RrLmM6CgkgIFszNjEvOTA2XSBnc3RndGs6IGFkZCBtaXNzaW5nIGxpY2Vuc2UgYW5kIGNvcHlyaWdodCBpbmZvcm1hdGlvbgoKMjAwOS0wNy0xNCAyMDoyNToyOCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzM2MC85MDZdIGV4YW1wbGVzOiBhZGQgbWlzc2luZyBjb3B5cmlnaHQvbGljZW5zZSB0byBteSBleGFtcGxlcwoKMjAwOS0wNy0xMyAxNjozMjowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFszNTkvOTA2XSBnbDogTGluayB3aXRoIC1sbSBhbmQgZml4IGluZGVudGlvbgoKMjAwOS0wNy0xMyAxMjo1MzoxNyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMzU4LzkwNl0gZ3N0Z2xkaXNwbGF5OiBDbG9zZSBhIHNtYWxsIHJhY2Ugc3RhcnRpbmcgdGhlIGRpc3BsYXkgdGhyZWFkCgkgIFRha2UgdGhlIGRpc3BsYXkgbG9jayBiZWZvcmUgc2lnbmFsbGluZyB0aGUgY3JlYXRlLWNvbnRleHQgY29uZAoJICB0byBlbnN1cmUgdGhlIGNhbGxlciBoYXMgZHJvcHBlZCB0aGUgbG9jayBhbmQgaXMgdGhlcmVmb3JlIGxpc3RlbmluZwoJICBmb3IgdGhlIHNpZ25hbC4KCjIwMDktMDctMTMgMTI6NTI6MzEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzM1Ny85MDZdIHgxMTogRG9uJ3QgY3Jhc2ggd2hlbiB0aGUgWDExIGRpc3BsYXkgaXMgbm90IGF2YWlsYWJsZS4KCSAgRXJyb3Igb3V0IGNsZWFubHkgaW5zdGVhZCBvZiBjcmFzaGluZyB3aGVuIHRoZSBYMTEgZGlzcGxheSBjYW4ndAoJICBiZSBjb250YWN0ZWQuCgoyMDA5LTA3LTEzIDEyOjA4OjExICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFszNTYvOTA2XSBidWlsZDogRml4IHR5cG86IGdzdGdsYnVtYmVyLmggLT4gZ3N0Z2xidW1wZXIuaAoKMjAwOS0wNi0yNSAyMTozMjozOCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJICBbMzU1LzkwNl0gc2FtZSBtb3Rpb24gY29tcGVuc2F0aW9uCgoyMDA5LTA2LTI1IDAxOjMwOjQ0ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFszNTQvOTA2XSBmaXggYW5kIGFkZCBnbGRlaW50ZXJsYWNlIGZpbHRlciB0byB0aGUgYnVpbGRzCgoyMDA5LTA2LTI0IDE3OjU4OjM1ICswMjAwICBqdWxpZW4gPGp1bGllbkBLSklTLihub25lKT4KCgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmg6CgkgIFszNTMvOTA2XSBhZGQgYSBnbGRlaW50ZXJsYWNlIGZpbHRlcgoJICBHcmVlZHloIG9wZXJhdGlvbiBpbXBsZW1lbnRlZCB1c2luZyBPcGVuR0wgU2hhZGluZyBMYW5ndWFnZS4KCSAgV2UgY291bGQgYWRkIG90aGVyIG9wZXJhdGlvbnMgbGF0ZXIuCgkgIERvZXMgc29tZSBnb29kIHJlc3VsdHMgYnV0IHN0aWxsIG5vdCBhcyBleHBlY3RlZC4KCSAgVGhhdCdzIHdoeSBJIGRvIG5vdCBhZGQgaXQgeWV0IHRvIHRoZSBidWlsZC4KCjIwMDktMDYtMTIgMTE6MzM6MDIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSAgWzM1Mi85MDZdIGZpeCB0eXBvCgkgIENoYW5nZSBHU1RfR0xfRElTUExBWV9QUk9KRUNUSU9OX1BFUlNQRUNJVkUgdG8KCSAgR1NUX0dMX0RJU1BMQVlfUFJPSkVDVElPTl9QRVJTUEVDVElWRS4KCSAgUmUtaW5kZW50IGEgY291cGxlIG9mIGZpbGVzIHRoYXQgbmVlZGVkIGl0LgoKMjAwOS0wNi0wOSAyMDozNToyNiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzM1MS85MDZdIGFsbG93IHRvIHN3aXRjaCB4b3ZlcmxheSB3aGlsZSBiZWluZyBpbiBwYXVzZWQgc3RhdGUKCjIwMDktMDYtMDcgMjA6MTk6MDMgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkgIFszNTAvOTA2XSBmaXggd2luZG93IHBvc2l0aW9uIHdoZW4gdXNpbmcgeG92ZXJsYXkKCSAgeCwgeSBhcmUgdGhlIGNvb3JkaW5hdGVzIG9mIHRoZSBwb3NpdGlvbiBpbnNpZGUKCSAgdGhlIG5ldyBwYXJlbnQgd2luZG93LgoJICBGaXhlcyAjNTg0ODc3CgoyMDA5LTA2LTA2IDE0OjM0OjU3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbMzQ5LzkwNl0gY2FuIHN3aXRjaCB4b3ZlcmxheXMgd2hpbGUgcGxheWluZwoJICBGaXhlcyBidWcgIzU4NDg3NwoJICBCZWZvcmUgdGhpcyBjb21taXQgY2FsbGluZyAiZ3N0X3hfb3ZlcmxheV9zZXRfeHdpbmRvd19pZCIgbW9yZQoJICB0aGFuIG9uZSB0aW1lLCBoYWQgbm8gZWZmZWN0LgoJICBJdCBtYWlubHkgYWZmZWN0cyB0aGUgZ2xpbWFnZXNpbmsgaW1wbGVtZW50YXRpb24uCgkgIEJ1dCBvbiB3aW4zMiAoYW5kIENFKSwgc29tZSBzdHVmZiBoYXMgdG8gYmUgZG9uZSB0bwoJICByZWxlYXNlIHRoZSBvbGQgcGFyZW50LgoJICBBbmQgYWRkIGEgc3dpdGNoeG92ZXJsYXkgZXhhbXBsZSB3aGVyZSB0aGUgdXNlcgoJICBjYW4gY2xpY2sgb24gbGVmdC9yaWdodCBwYXJ0IG9mIHRoZSBtYWluIHdpbmRvdyB0bwoJICBzd2l0Y2ggdGhlIHhvdmVybGF5LgoKMjAwOS0wNi0wNCAwOTo1MDo1MiArMDIwMCAgTFJOIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzM0OC85MDZdIEFkZCBnc3R2aWRlbyB0byBnbGltYWdlc2luayBMSUJBREQuIEZpeGVzIGJ1ZyAjNTg0NjgwCgoyMDA5LTA2LTA0IDAwOjI3OjQ0ICswMjAwICBMUk4gPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIFszNDcvOTA2XSBmaXggbWlzY2FzdCBvZiBhIHBvaW50ZXIgaW4gU2V0V2luZG93TG9uZ1B0cgoJICBHQ0MgNC40LjAgY29tcGxhaW5zIGVycm9yOiBjYXN0IGZyb20gcG9pbnRlciB0byBpbnRlZ2VyIG9mIGRpZmZlcmVudCBzaXplCgkgIEZpeGVzICM1ODQ2NzguCgoyMDA5LTA1LTEyIDExOjQxOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzM0Ni85MDZdIEZpeCBsaW5raW5nIGJ5IHByb3ZpZGluZyBsaWJ0b29sIHRoZSBjb3JyZWN0IC0tdGFnIHBhcmFtZXRlcgoKMjAwOS0wNS0xMSAxODowNjoxOCArMDIwMCAganVsaWVuIDxqdWxpZW5AS0pJUy4obm9uZSk+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbMzQ1LzkwNl0gY2hhbmdlIHJvdGF0aW9uIGNlbnRlciBpbiBjbHV0dGVyc2hhcmUgZXhhbXBsZQoKMjAwOS0wNS0wOSAyMTozMDozMCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbMzQ0LzkwNl0gVXNlIGEgbW9yZSBjb21wbGV4IGdzdCBnbCBwaXBlbGluZSBpbiB0aGUgY2x1dHRlcnNoYXJlIGV4YW1wbGUKCjIwMDktMDUtMDkgMjE6MjY6NDIgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzM0My85MDZdIEFkZCBhIHNpZ25hbCB3YXRjaCBidXMgY2FsbGJhY2sgdG8gY2hlY2sgZ3N0IG1lc3NhZ2VzCgoyMDA5LTA1LTA5IDIwOjUxOjM2ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFszNDIvOTA2XSBGaXggdGV4dHVyZSBhY3RvciB1cGRhdGUgZHVlIHRvIGEgdG9vIHN0cm9uZyB0aHJlYWQgbG9ja2luZy4KCSAgT24gbGludXgsIHRoZSBHU291cmNlIGZ1bmMgYXR0YWNoZWQgdG8gdGhlIGNsdXR0ZXJfdGhyZWFkc19hZGRfaWRsZQoJICB3YXMgbm90IGdldHRpbmcgdGhlIGNwdSByZXNzb3VyY2UgcGVyaW9kaWNhbGx5LgoJICBCZWNhdXNlIHRoZSB1c2Ugb2YgY2x1dHRlcl90aHJlYWRzX2VudGVyL2xlYXZlIGluc2lkZSB0aGUgZmFrZXNpbmsKCSAgY2FsbGJhY2sgc2VlbXMgdG8gYmUgdG9vIHN0cm9uZy4KCSAgU28gcmVtb3ZlIHRoZSB1c2UgaWYgY2x1dHRlcl90aHJlYWRzX2VudGVyL2xlYXZlIGluIHRoZSBmYWtlc2luayBjYWxsYmFjay4KCSAgVGhlbiByZXBsYWNlIEdRdWV1ZSBieSBHQXN5bmNRdWV1ZSB0byBrZWVwIHRocmVhZCBzYWZlIGFjY2VzcyB0byB0aGUKCSAgY29tbXVuaWNhdGlvbiBxdWV1ZXMgYmV0d2VlbiBjbHV0dGVyIGFuZCBnc3QtZ2wuCgkgIENhbGwgY2x1dHRlcl90aHJlYWRzX2FkZF9pZGxlIHdpdGggaGlnaCBwcmlvcml0eS4KCjIwMDktMDUtMDkgMTU6NDQ6MDkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzM0MS85MDZdIFByb3Blcmx5IGNsZWFuIHVwIHBlbmRpbmcgZ3N0IGdsIGJ1ZmZlcnMgaW4gY2x1dHRlcnNoYXJlIGV4YW1wbGUKCjIwMDktMDUtMDggMjE6NDM6NTYgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzM0MC85MDZdIEZpeCBjbHV0dGVyc2hhcmUgZXhhbXBsZS4KCSAgSXQgcmVxdWlyZXMgYXQgbGVhc3QgY2x1dHRlciAwLjguNiBzaW5jZSBsb3dlciBjbHV0dGVyIHZlcnNpb25zIGFyZQoJICBub3QgY29tcGF0aWJsZSB3aXRoIEdMX1RFWFRVUkVfUkVDVEFOR0xFX0FSQi4KCSAgUmVtb3ZlIHVzZSBvZiBDbHV0dGVyRWZmZWN0VGVtcGxhY2Ugc2luY2UgaXQgZG9lcyBub3QgZXhpc3QgaW4KCSAgY2x1dHRlciAwLjkuCgoyMDA5LTA1LTA0IDExOjI0OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFszMzkvOTA2XSBDYXN0IHRvIGEgR3N0QnVmZmVyKiBiZWZvcmUgcGFzc2luZyB0byBnc3RfYnVmZmVyX3VucmVmIHRvIGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDA5LTA1LTAyIDE0OjI3OjIzICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFszMzgvOTA2XSBVc2UgR1F1ZXVlIGluIHRoZSBjbHV0dGVyc2hhcmUgZXhhbXBsZQoKMjAwOS0wNC0zMCAyMzo0MDozOCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzMzNy85MDZdIEltcHJvdmUgY2x1dHRlcnNoYXJlIGV4YW1wbGUKCSAgVXNlIGNsdXR0ZXJfdGhyZWFkc19BUEkuCgkgIFdoZW4ganVzdCB1c2luZyBnbHVwbG9hZCBmcm9tIHJnYiwgd2UgaGF2ZSB0byBiZSBzdXJlIHRoYXQKCSAgdGhlIHVwbG9hZCB0ZXh0dXJlIGlzIG5vdCBpbiB1c2UgaW4gb3VyIGdzdCBnbCBjb250ZXh0LgoKMjAwOS0wNC0yMCAxODoxNzo1NCAtMDQwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFFUzIuYzoKCSAgWzMzNi85MDZdIFt4MTEveDExRVNdIGZpeCBzb21lIHBvaW50ZXIgY2FzdCB3YXJuaW5ncwoKMjAwOS0wNC0yMCAyMzo1NTo1MSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgWzMzNS85MDZdIFtjb2NvYV0gdXBkYXRlIHNpbmNlIGludGVyZmFjZSBjaGFuZ2VkCgoyMDA5LTA0LTIwIDIzOjQ4OjE1ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW5DRS5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFszMzQvOTA2XSBbd2luMzIvd2luQ0VdIGZpeCBzb21lIHBvaW50ZXIgY2FzdCB3YXJuaW5ncyB3aXRoIG1pbmd3CgkgIEFuZCB0dXJuIG9mZiBkZXByZWNhdGVkIFdwNjQgbXN2YyBjb21waWxlciBvcHRpb24uCgoyMDA5LTA0LTIwIDAwOjUyOjQxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIFszMzMvOTA2XSBhZGQgZm9yY2UtYXNwZWN0LXJhdGlvIHN1cHBvcnQKCjIwMDktMDQtMTggMTY6MDg6MjMgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzMzMi85MDZdIGp1c3QgZ3N0LWluZGVudCBhbmQgQzkwIG9uIGNsdXR0ZXJzaGFyZSBleGFtcGxlCgoyMDA5LTA0LTE4IDA4OjQwOjUxIC0wNDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMUVTMi5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzMzMS85MDZdIGluZGVudCBhbmQgZml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3MKCjIwMDktMDQtMTggMTM6NTc6NDQgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW5DRS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFFUzIuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFszMzAvOTA2XSBDYW4gbm93IHNoYXJlIHRleHR1cmVzIHdpdGggYW4gZXh0ZXJuYWwgZ2wgY29udGV4dAoJICBUaGUgZXh0ZXJuYWwgb3BlbmdsIGNvbnRleHQgbXVzdCBiZSBzcGVjaWZ5IHdoZW4gY3JlYXRpbmcKCSAgb3VyIE9wZW5HTCBjb250ZXh0IChnbHgpIG9yIGp1c3QgYWZ0ZXIgKHdnbCkuCgkgIFdoZW4gY2FsbGluZyBnbFhDcmVhdGVDb250ZXh0IG9yIHdnbFNoYXJlTGlzdHMsIHRoZQoJICBleHRlcm5hbCBvcGVuZ2wgY29udGV4dCBtdXN0IG5vdCBiZSBjdXJyZW50LgoJICBUaGVuIG91ciBnbCBjb250ZXh0IGNhbiBiZSBjdXJyZW50IGluIHRoZSBnbCB0aHJlYWQgd2hpbGUKCSAgdGhlIGV4dGVybmFsIGdsIGNvbnRleHQgaXMgY3VycmVudCBpbiBhbiBvdGhlciB0aHJlYWQuCgkgIFNlZSB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jCgoyMDA5LTA0LTEyIDIyOjI0OjA2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BodXRjaC0yLmxvY2FsPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFszMjkvOTA2XSBCdWlsZCBmb3IgQ29jb2Egb24gZGFyd2luLCB3aXRoIHZhcmlvdXMgZml4ZXMKCjIwMDktMDQtMTIgMjA6MDM6MzAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQGh1dGNoLTIubG9jYWw+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dzdGd0ay5jOgoJICBbMzI4LzkwNl0gQ29udmVydCBndGsgZXhhbXBsZXMgdG8gdXNlIGhlbHBlciBsaWJyYXJ5CgkgIEhlbHBlciBsaWIgaW1wbGVtZW50cyBnc3QtZ3RrIGdsdWUgb24gYWxsIHBsYXRmb3JtcwoKMjAwOS0wNC0xMCAyMDo0Mjo1OSArMDIwMCAgSnVsaWVuIDxqdWxpZW5ASnVsaWVuLUt1YnVudHUuKG5vbmUpPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMzI3LzkwNl0gZml4IGluaXQgRkJPJ3MgdGV4dHVyZSBhdHRhY2htZW50IG9uIEVTIDIuMAoKMjAwOS0wNC0xMCAyMDozMDo0NiArMDIwMCAgSnVsaWVuIDxqdWxpZW5ASnVsaWVuLUt1YnVudHUuKG5vbmUpPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlczIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFFUzIuYzoKCSAgWzMyNi85MDZdIGFkZCBYIGJhY2tlbmQgZm9yIE9wZW5HTCBFUyAyLjAKCjIwMDktMDMtMjkgMTU6NDA6MTYgKzAwMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSAgWzMyNS85MDZdIFJlc3RvcmUgZ2xpbWFnZXNpbmsgaW5zdGVhZCBvZiB4aW1hZ2VzaW5rCgkgIFBhcnRpYWxseSByZXZlcnQgcHJldmlvdXMgY29tbWl0LiBJdCdzIG5vdCBhbiBpc3N1ZSB3aXRoIGdsaW1hZ2VzaW5rCgkgIFhvdmVybGF5IGludGVyZmFjZS4gSXQncyBhbHdheXMgdGhlIHNhbWUgaW50ZWwgYnVnIHdpdGggZGlyZWN0CgkgIHJlbmRlcmluZyByZWRpcmVjdGlvbiAodGhlIG9uZSB0aGF0IGFmZmVjdHMgZWFjaCBvcGVuZ2wgYXBwbGljYXRpb24KCSAgd2l0aCBjb21wb3NpdGluZyBtYW5hZ2VycykuIEl0IHdvcmtzIGZpbmUgd2l0aCBEUkkyIGFuZCBVWEEKCSAgYWNjZWxlcmF0aW9uLiBTdGlsbCBsZWF2aW5nIGVmZmVjdHMgZGlzYWJsZWQgYmVjYXVzZSBJJ20gdGVzdGluZyBpbnRlbAoJICBoYXJkd2FyZSB0aGF0IGRvZXNuJ3Qgc3VwcG9ydCBGQk9zLgoKMjAwOS0wMy0yOSAwOTowMTo1NSArMDAwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJICBbMzI0LzkwNl0gVGVtcG9yYXJ5IGRpc2FibGUgZ2xpbWFnZXNpbmsgaW4gY2x1dHRlcmFjdG9ydGVlCgkgIEdMaW1hZ2VzaW5rIFhPdmVybGF5IGludGVyZmFjZSBkb2Vzbid0IHNlZW0gdG8gd29yayB3aXRoIGNvbXBvc2l0ZQoJICByZWRpcmVjdGlvbiBvbiBpbnRlbCAoYW5kIEkgYmVsaWV2ZSBhdGkgdG9vKS4gV2luZG93cyBhcmVuJ3QKCSAgcmVkaXJlY3RlZCBvZmZzY3JlZW4gYXQgYWxsLiAgVGhpcyBjb21taXQganVzdCBzaG93cyB0aGF0IHRoZSBleGFtcGxlCgkgIGNvcnJlY3R5IHdvcmtzIHdpdGggeGltYWdlc2luay4gVGhlIG1vc3QgZXZpZGVudCBkaWZmZXJlbmNlIEkgc2VlIGlzCgkgIHRoYXQgZ2xpbWFnZXNpbmsgcmVwYXJlbnRzIHRoZSB4b3ZlcmxheSB3aW5kb3cgaW50byBpdHMgb3duIHdoaWxlIGJvdGgKCSAgeCBhbmQgeHZpbWFnZXNpbmsgZGVzdHJveSB0aGVpciB3aW5kb3cgYW5kIHJlbmRlciBkaXJlY3RseSB0byB0aGUKCSAgeG92ZXJsYXkgb25lLgoKMjAwOS0wMy0yOSAwODo1MToxNiArMDAwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJICBbMzIzLzkwNl0gUmVtb3ZlIHJlZHVuZGFudCBYTW92ZVdpbmRvdyBjYWxsCgkgIFJldmVydCB0aGUgIm1vdmUgd2luZG93cyIgdGhpbmcgZnJvbSBjb21taXQKCSAgMTc1ZjdhNzA3YmM5MjJmM2ZhY2M2M2U3ZDliNmQwMWY5YmI2YjFiMAoJICBXaW5kb3dzIGFyZSBvZmZzY3JlZW4gd2hvIGNhcmVzIGFib3V0IHRoZWlyIHBvc2l0aW9uPyBJZiB5b3Ugc2VlIHRoZQoJICB3aW5kb3dzIHNvbWV0aGluZyBpcyBnb2luZyB3cm9uZyB3aXRoIGNvbXBvc2l0ZSByZWRpcmVjdGlvbi4KCjIwMDktMDMtMTggMjI6NDY6NTYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMzIyLzkwNl0gW2Rvd25sb2FkIFlVWTIvVVlWWV0gZml4IGEgcmVncmVzc2lvbgoJICBUaGUgY2FsbCB0byBnbExvYWRJZGVudGl0eSB3YXMgcmVtb3ZlZCBieSBtaXN0YWtlIGR1cmluZwoJICBPcGVuR0wgRVMgMi4wIGludGVncmF0aW9uLgoKMjAwOS0wMy0xNSAxNDo0ODoxOSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW5DRS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFszMjEvOTA2XSBhZGQgT3BlbkdMIEVTIDIueCBzdXBwb3J0LgoJICBJbiBPcGVuR0wgMi54IGZvciBFbWJlZGRlZCBTeXN0ZW0sIGEgbG90IG9mIGJhc2ljIHNjZW5lL2RyYXcgZnVuY3Rpb25zCgkgIGhhdmUgYmVlbiByZW1vdmVkLiBJdCBtZWFucyB0aGF0IGV2ZXJ5dGhpbmcgaXMgbWFkZSB1c2luZyB2ZXJ0ZXggYW5kCgkgIGZyYWdtZW50IHNoYWRlcnMuCgkgIEkgaGF2ZSBhbHNvIGFkZGVkIGEgZ3N0Z2x3aW5kb3cgYmFja2VuZCBmb3Igd2luQ0UgdGhhdCB1c2VzIEVHTAoJICAoTmF0aXZlIFBsYXRmb3JtIEdyYXBoaWNzIEludGVyY2FjZSkgKHdoaWNoIGlzIGEgZnVsbCBwYXJ0IG9mCgkgIE9wZW5HTCBFUyBzcGVjaWZpY2F0aW9uKS4gSXQgcmVtb3ZlIHRoZSB1c2Ugb2Ygd2dsL2dseCBmdW5jdGlvbnMuCgoyMDA5LTAzLTA3IDAzOjEzOjM4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBbMzIwLzkwNl0gZml4IHBvc2l0aW9uIGFuZCBjb250ZW50IHJlY3QKCjIwMDktMDMtMDYgMjI6NDM6NDEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIFszMTkvOTA2XSBbd2luMzIgYmFja2VuZF0gZml4IHRyYW5zbWl0aW9uIG1lc3NhZ2UgdG8gdGhlIHBhcmVudC4KCSAgVGhlIFF0IG1vdXZleG92ZXJsYXkgZXhhbXBsZSBzaG93cyBob3cgdG8gcm90YXRlIHRoZSBjdWJlCgkgIGJ5IG1vdmluZyAoK2NsaWNrKSB0aGUgbW91dmUgb3ZlciBhIHF3aWRnZXQgdXNpbmcgeG92ZXJsYXkKCSAgaW50ZXJmYWNlLgoKMjAwOS0wMi0yNiAxNzo0NToyMSAtMDUwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvR05VbWFrZWZpbGU6CgkqIGdzdC1saWJzL2dzdC9nbC9HTlVtYWtlZmlsZS5nbnVzdGVwOgoJKiBnc3QvZ2wvR05VbWFrZWZpbGU6CgkqIGdzdC9nbC9HTlVtYWtlZmlsZS5nbnVzdGVwOgoJKiBnc3QvZ2wvZWZmZWN0cy9HTlVtYWtlZmlsZToKCSogZ3N0L2dsL2VmZmVjdHMvR05VbWFrZWZpbGUuZ251c3RlcDoKCSAgWzMxOC85MDZdIHJlbmFtZSBHTlVtYWtlZmlsZShzKSB0byBHTlVtYWtlZmlsZShzKS5nbnVzdGVwCgoyMDA5LTAyLTI2IDAxOjA2OjU4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9HTlVtYWtlZmlsZToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QvZ2wvR05VbWFrZWZpbGU6CgkgIFszMTcvOTA2XSBpbXBsZW1lbnQgZ3N0Z2x3aW5kb3cgZm9yIENvY29hIChNYWNPUyBhbmQgR05Vc3RlcCkKCjIwMDktMDItMjUgMDA6Mzk6NDggKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJICBbMzE2LzkwNl0gcmVtb3ZlIHNvbWUgdW51c2VkIEhBVkVfTElCUE5HOiBsaWJwbmcgaXMgYSByZXF1aXJlZCBwYWNrYWdlCgoyMDA5LTAyLTI1IDAwOjEyOjEyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9HTlVtYWtlZmlsZToKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QvZ2wvR05VbWFrZWZpbGU6CgkqIGdzdC9nbC9lZmZlY3RzL0dOVW1ha2VmaWxlOgoJICBbMzE1LzkwNl0gYWRkIEdOVXN0ZXAgYnVpbGQKCjIwMDktMDItMjMgMTE6MDc6MjIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1nbC11bmluc3RhbGxlZC5wYy5pbjoKCSAgWzMxNC85MDZdIEFkZCBzcmNkaXIgdG8gaW5jbHVkZXMgZm9yIG91dC1vZi1zb3VyY2UgYnVpbGRzCgkgIFdoZW4geW91IHVzZSBnc3RyZWFtZXIgdW5pbnN0YWxsZWQgYW5kIGJ1aWxkIG91dHNpZGUKCSAgdGhlIHNvdXJjZSB0cmVlLCB0aGUgaW5jbHVkZXMgbmVlZCB0byBiZSBzcGVjaWZpZWQgZm9yCgkgIGJvdGggdGhlIHNvdXJjZSB0cmVlIGFuZCB0aGUgYnVpbGQgdHJlZS4KCjIwMDktMDItMjMgMTM6Mzk6MjkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSAgWzMxMy85MDZdIGluZGVudDogZG9uJ3QgdXNlIHRhYnMgaW5zaWRlIHByb3BlcnR5IGRlc2NyaXB0aW9ucwoKMjAwOS0wMi0yMyAxMzozNTo0OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIFszMTIvOTA2XSBidWlsZDogaW5jbHVkZSBzdGRsaWIuaCB3aGVuIHVzaW5nIGZyZWUoKS4KCjIwMDktMDItMjIgMTk6MzY6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbMzExLzkwNl0gQ2FzdCBHc3RCdWZmZXIgc3ViY2xhc3NlcyB0byBHc3RCdWZmZXIgKiBiZWZvcmUgcGFzc2luZyB0byBnc3RfYnVmZmVyX3VucmVmKCkKCjIwMDktMDItMTAgMjI6Mzk6MTQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbMzEwLzkwNl0gR2xvYmFsIHJlaW5kZW50CgkgIEluZGVudCBwYXJhbWV0ZXJzOgoJICBJTkRFTlRfUEFSQU1FVEVSUz0iLS1icmFjZXMtb24taWYtbGluZSBcCgkgIC0tY2FzZS1icmFjZS1pbmRlbnRhdGlvbjAgXAoJICAtLWNhc2UtaW5kZW50YXRpb24yIFwKCSAgLS1icmFjZXMtYWZ0ZXItc3RydWN0LWRlY2wtbGluZSBcCgkgIC0tbGluZS1sZW5ndGg4MCBcCgkgIC0tbm8tdGFicyBcCgkgIC0tY3VkZGxlLWVsc2UgXAoJICAtLWRvbnQtbGluZS11cC1wYXJlbnRoZXNlcyBcCgkgIC0taG9ub3VyLW5ld2xpbmVzIFwKCSAgLS1jb250aW51YXRpb24taW5kZW50YXRpb240IFwKCSAgLS10YWItc2l6ZTggXAoJICAtLWluZGVudC1sZXZlbDIiCgoyMDA5LTAyLTAzIDE4OjU4OjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzMwOS85MDZdIFJlcGxheTogRml4IGNhbGxiYWNrcyBwYXNzZWQgb3ZlciBYRXZlbnRzIG9uIDY0IGJpdCBhcmNoaXRlY3R1cmVzCgkgIEFsdGhvdWdodCB0aGUgWEV2ZW50J3MgeGNsaWVudC5kYXRhLmwgYXJyYXkgaXMgYW4gYXJyYXkgb2YKCSAgbG9uZ3MgdGhleSB3aWxsIGJlIGNvbnN0cmFpbmVkIHRvIDMyIGJpdCBieSB0aGUgWDExIHByb3RvY29sLgoJICBPbiA2NCBiaXQgYXJjaGl0ZWN0dXJlcyB1c2UgdHdvIGVsZW1lbnRzIG9mIHRoZSBhcnJheSB0byBzdG9yZQoJICBvbmUgcG9pbnRlci4KCSAgVGhpcyBmaXhlcyBzZWdmYXVsdHMgdGhhdCBoYXBwZW4gYXQgbGVhc3QgZm9yIGV2ZXJ5IGV4YW1wbGUKCSAgb24gc3RhcnR1cC4KCjIwMDktMDItMDUgMTM6MTM6NTEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbMzA4LzkwNl0gUmVuYW1lIGdscGl4YnVmb3ZlcmxheSB0byBnbG92ZXJsYXkKCjIwMDktMDItMDQgMTY6NTc6MTQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xwaXhidWZvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzMwNy85MDZdIFJlbW92ZSBjb25kaXRpb25hbHMgb24gZ2RrcGl4YnVmCgoyMDA5LTAyLTA4IDAxOjUwOjEwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJICBbMzA2LzkwNl0gZml4IENNYWtlIGJ1aWxkIGFuZCBmcm96ZW4gQ29kZUJsb2NrcyBidWlsZAoKMjAwOS0wMi0wNyAyMToxOToyNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkgIFszMDUvOTA2XSBDTWFrZSBidWlsZCBub3cgY2hlY2tzIGZvciBsaWJwbmcKCjIwMDktMDItMDUgMTk6NTk6MjcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xwaXhidWZvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzMwNC85MDZdIG9ubHkgbG9hZCBSR0JBIGZpbGVzLnBuZwoKMjAwOS0wMi0wNCAxNjoxODoxNSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFszMDMvOTA2XSBBZGQgbGlicG5nIGRlcGVuZGVuY3kKCjIwMDktMDEtMjYgMTY6MzA6MjIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSAgWzMwMi85MDZdIEZpeCBzb21lIHdhcm5pbmdzCgoyMDA5LTAxLTIzIDAyOjA0OjIzICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFszMDEvOTA2XSBkZXBlbmRzIG9uIGxpYnBuZyBpbnN0ZWFkIG9mIGdka19waXhidWYKCjIwMDktMDEtMjIgMDI6MTk6MzEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMzAwLzkwNl0gdXNlIGxpYnBuZyBpbiBnbHBpeGJ1Zm92ZXJsYXkgZmlsdGVyLgoKMjAwOS0wMS0yMiAwMToxNjozOCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmg6CgkgIFsyOTkvOTA2XSB1c2UgbGlicG5nIHRvIGxvYWQgdGhlIG5vcm1hbCBtYXAgaW5zdGVhZCBvZiB1c2luZyBnZGtwaXhidWYKCjIwMDktMDItMTAgMjE6NTc6MzEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbMjk4LzkwNl0gUmV2ZXJ0ICJGaXggaW5kZW50aW9uIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDk2ZTRhYjE4YzJjZjk4NzZmNmMwMzFiOWFiYTYyODJkMGJkNDVhOTMuCgkgIFlvdSBzaG91bGQgaGF2ZSBhc2tlZCBmaXJzdC4gIEFuZCB5b3Ugd291bGQgaGF2ZSBiZWVuIHRvbGQgIm5vIiwKCSAgYmVjYXVzZSBpdCBjYXVzZXMgcGVvcGxlIG9uIGRldmVsb3BtZW50IGJyYW5jaGVzIHRvIGRvIGEgaHVnZQoJICBhbW91bnQgb2YgZXh0cmEgd29yay4KCjIwMDktMDItMTAgMjE6NTc6MDggLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjk3LzkwNl0gUmV2ZXJ0ICJGaXggY2FsbGJhY2tzIHBhc3NlZCBvdmVyIFhFdmVudHMgb24gNjQgYml0IGFyY2hpdGVjdHVyZXMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMjgwNzcxZDA5YjU4NjE3YjI3MjAxMDI3ZGUwZTExOTRkYTM3NmU3Mi4KCjIwMDktMDItMDMgMTg6NTg6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjk2LzkwNl0gRml4IGNhbGxiYWNrcyBwYXNzZWQgb3ZlciBYRXZlbnRzIG9uIDY0IGJpdCBhcmNoaXRlY3R1cmVzCgkgIEFsdGhvdWdodCB0aGUgWEV2ZW50J3MgeGNsaWVudC5kYXRhLmwgYXJyYXkgaXMgYW4gYXJyYXkgb2YKCSAgbG9uZ3MgdGhleSB3aWxsIGJlIGNvbnN0cmFpbmVkIHRvIDMyIGJpdCBieSB0aGUgWDExIHByb3RvY29sLgoJICBPbiA2NCBiaXQgYXJjaGl0ZWN0dXJlcyB1c2UgdHdvIGVsZW1lbnRzIG9mIHRoZSBhcnJheSB0byBzdG9yZQoJICBvbmUgcG9pbnRlci4KCSAgVGhpcyBmaXhlcyBzZWdmYXVsdHMgdGhhdCBoYXBwZW4gYXQgbGVhc3QgZm9yIGV2ZXJ5IGV4YW1wbGUKCSAgb24gc3RhcnR1cC4KCjIwMDktMDItMDMgMTg6MzM6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbMjk1LzkwNl0gRml4IGluZGVudGlvbgoKMjAwOS0wMi0wMyAxMToyMzowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyOTQvOTA2XSBGaXggZm9ybWF0IHN0cmluZyBjb21waWxlciB3YXJuaW5ncyBieSB1c2luZyBHX0dVSU5UNjRfRk9STUFUCgoyMDA5LTAxLTE1IDE4OjM5OjQ4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xwaXhidWZvdmVybGF5LmM6CgkgIFsyOTMvOTA2XSBtaW5pbWFsIGd0ayBkb2MKCjIwMDktMDEtMDkgMTc6NDY6MDEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQGh1dGNoLTIubG9jYWw+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkgIFsyOTIvOTA2XSBBZGQgJ2V4dGVybicgZm9yIGRhdGEgc3ltYm9scyBpbiBoZWFkZXJzCgoyMDA5LTAxLTA5IDE3OjIwOjI1IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzI5MS85MDZdIEFkZCBjaGVjayBmb3IgR0xFV19FWFRfZnJhbWVidWZmZXJfb2JqZWN0CgoyMDA5LTAxLTA4IDE5OjE4OjQ3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzI5MC85MDZdIFNldCBHTF9MSUJTIGNvcnJlY3RseSBpbiBjb25maWd1cmUuYWMKCSAgVGhpcyBkb2Vzbid0IGRldGVjdCB0aGUgZXhpc3RlbmNlIG9mIGxpYnJhcmllcywgd2hpY2ggbmVlZHMgdG8KCSAgYmUgZml4ZWQuCgoyMDA5LTAxLTA3IDE5OjExOjAxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMjg5LzkwNl0gYnVpbGQgZml4ZXMgZm9yIFdpbmRvd3MgbGlicmFyaWVzCgoyMDA4LTEyLTE0IDEyOjA2OjA2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzI4OC85MDZdIGFkZCBtb3JlIGRlYnVnIG91cHV0cyBhYm91dCBHTFNMIGFuZCBtZXNhCgoyMDA4LTEyLTEzIDE5OjM2OjMyIC0wNTAwICBqdWxpZW4gPGp1bGllbkBqdWxpZW4tZGVza3RvcC4obm9uZSk+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyODcvOTA2XSBmaXggYSByZWdyZXNzaW9uIGFib3V0IGdsWENob29zZVZpc3VhbCB3aGljaCBmYWlsZWQgd2hlbiB1c2luZyBtZXNhLCBzbyBhdHRyaWJ1dGVzIG11c3QgYmUgbGVzcyByZXN0cmljdGl2ZXMuCgoyMDA4LTEyLTEzIDAwOjUwOjE2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBbMjg2LzkwNl0gW3dpbjMyXSBSZWdpc3RlciB3aW5kb3cgY2xhc3MgaW4gZ3N0X2dsX3dpbmRvd19jbGFzc19pbml0CgoyMDA4LTEyLTA3IDAzOjI1OjU5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkgIFsyODUvOTA2XSBmaXggZ2wgZnJhbWVyYXRlIGluIGdzdCBjYXBzLiBDb25zaWRlciBwb3NpdGlvbiBpbiB4b3ZlcmxheS4gRml4IGludmVyc2lvbiBiZXR0d2VlbiBDT0xTIGFuZCBST1dTLCBhbmQgbW92ZSB3aW5kb3dzLgoKMjAwOC0xMS0yOSAyMjoxNjo0NCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI4NC85MDZdIHdvcmthcm91bmQgYWJvdXQgdGhlIEFUSSBzaGFkZXIgY29tcGlsZXIgb24gbGludXggKHNldGxvY2FsZSkKCjIwMDgtMTEtMjUgMDE6MDE6MDEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjgzLzkwNl0gYmV0dGVyIHJlc3VsdCBpbiBjdWJlIGFuZCBkb3VibGVjdWJlIGV4YW1wbGUuIEFuZCBzb21lIGNsZWFuIHVwIGRlYnVnIGFuZCBjb21tZW50cwoKMjAwOC0xMS0yMyAxNjoxNDoyNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkgIFsyODIvOTA2XSB1cGRhdGUgQ01ha2UgYnVpbGQKCjIwMDgtMTEtMjMgMTY6MDQ6MjcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI4MS85MDZdIE1ha2UgY3ViZSBleGFtcGxlIHdvcmsgb24geDExLiBGaW5pc2ggVE9ETyB0YXNrIDkuCgoyMDA4LTExLTIyIDE2OjQzOjI0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFsyODAvOTA2XSBSZW1vdmUgc2V0X3Zpc2libGUsIGJlY2F1c2UgaXQncyBub3cgYXV0b21hdGljYWxseSBkb25lIHdoZW4gdGhlIGZpcnN0IHBvc3QgcmVkaXNwbGF5IGNvbWVzLgoKMjAwOC0xMS0yMiAwMDo1MTozMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNzkvOTA2XSBmaW5pc2ggc2V0X3h3aW5kb3dfaWQgKGdzdF9nbF93aW5kb3dfc2V0X2V4dGVybmFsX3dpbl9pZCk6IGNoaWxkIGlzIHJlc2l6ZWQgYXQgdGhlIHNhbWUgdGltZSBhcyB0aGUgcGFyZW50IGlzLgoKMjAwOC0xMS0yMSAyMDo1MTo0OCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNzgvOTA2XSBJbXBsZW1lbnQgc2V0X3h3aW5kb3dfaWQgKGdzdF9nbF93aW5kb3dfc2V0X2V4dGVybmFsX3dpbmRvd19pZCkuCgoyMDA4LTExLTIxIDE5OjM3OjIxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI3Ny85MDZdIG9wZW4geCBjbGllbnQgY29ubmVjdGlvbiBmb3Igc2VuZGVyIG9ubHkgYXQgc3RhcnQgdXAKCjIwMDgtMTEtMjEgMTk6MTE6MTEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjc2LzkwNl0gYmV0dGVyIGRlYWwgd2l0aCBsYXN0IHBlbmRpbmcgY3VzdG9tIGNiIGFuZCBkZXN0cm95X2NvbnRleHRfY2IKCjIwMDgtMTEtMjEgMDE6MzE6MTkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI3NS85MDZdIE1ha2Ugc3VyZSB0aGUgZ2wgcmVzc291cmVzIGFyZSBkZXN0cm95ZWQgYmVmb3JlIHRvIGRlc3Ryb3kgZ2wgd2luZG93CgoyMDA4LTExLTIwIDAxOjI0OjEwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjc0LzkwNl0gYWRkIHNvbWUgb3RoZXIgZGVidWcgb3V0cHV0cyBhbmQgY2hlY2tzCgoyMDA4LTExLTE5IDAwOjA3OjIyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFsyNzMvOTA2XSBhZGQgc29tZSBkZWJ1ZyBvdXRwdXRzIGFib3V0IFZpc3VhbCBhbmQgWFZpc3VhbEluZm8KCjIwMDgtMTEtMTcgMDE6MDQ6MzIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjcyLzkwNl0gYWRkIGEgdmlzaWJsZSBtZW1iZXIgdG8gZGVhbCBiZXR0ZXIgd2l0aCB0aGUgZmlyc3QgZXhwb3NlIGV2ZW50cwoKMjAwOC0xMS0xNiAxNjo1NzowMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNzEvOTA2XSByZXZlcnQgbGFzdCBjb21taXQgYmVjYXVzZSB0aGUgY3Jhc2ggY29tZXMgZnJvbSBsaWJzZWxpbnV4CgoyMDA4LTExLTE1IDIzOjMyOjA0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI3MC85MDZdIGZpeCB1c2Ugb2YgZGlmZmVyZW50IERpc3BsYXkgc3RydWN0dXJlcyB3aGljaCBwb2ludCBvbiB0aGUgc2FtZSBkaXNwbGF5IG5hbWUKCjIwMDgtMTEtMTUgMTg6NTE6NDQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjY5LzkwNl0gQmV0dGVyIGRlYWwgd2l0aCBYTmV4dEV2ZW50IGFuZCBYU2VuZEV2ZW50CgoyMDA4LTExLTE1IDAyOjI0OjA3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI2OC85MDZdIEJldHRlciBkZWFsIHdpdGggQXRvbXMKCjIwMDgtMTEtMTQgMDE6MDA6MzMgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjY3LzkwNl0gR2V0IHJpZGUgb2YgY2FsbGluZyBzbGVlcCBpbiBnbCB0aHJlYWQgWCBsb29wCgoyMDA4LTExLTEzIDAyOjA1OjMzICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzI2Ni85MDZdIHNlY3VyZSBjbG9zZSB3aGVuIGNsaWNraW5nIG9uIHRoZSBjcm9zcwoKMjAwOC0xMS0xMyAwMToyOToxMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJICBbMjY1LzkwNl0gQ1JMRiAtPiBMRgoKMjAwOC0xMS0xMyAwMToyMzo1MSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMjY0LzkwNl0gUmV3cml0ZSBnc3RnbHdpbmRvd194MTEuYyBiZWNhdXNlIFggQVBJIGlzIG5vdCB0aHJlYWQgc2FmZS4KCjIwMDgtMTEtMTEgMDM6MTk6NTEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjYzLzkwNl0gZGlzY2FyZCB4IGN1c3RvbSBtZXNzYWdlcyB3aGljaCBhcmUgb2YgZGF0ZQoKMjAwOC0xMS0wOSAyMzoyMzozMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMjYyLzkwNl0gV29ya3Mgb24gbGludXggYnV0IHN0aWxsIHNvbWUgYnVncy4gRml4IGF1dG90b29scyAgYnVpbGQuCgoyMDA4LTExLTA5IDIyOjE0OjI5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI2MS85MDZdIGltcGxlbWVudCBxdWl0IHggbWVzc2FnZSBsb29wCgoyMDA4LTExLTA5IDAyOjQ0OjI1ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjYwLzkwNl0gdHJ5IHRvIG1ha2UgWFNlbmRFdmVudCBibG9ja2VyIChhcyB3aW4zMiBTZW5kTWVzc2FnZSBpcykKCjIwMDgtMTEtMDYgMjM6NDE6MTEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNTkvOTA2XSBjb250aW51ZSB4IGltcGxlbWVudGF0aW9uIChidXQgc3RpbGwgbm90IHRlc3RlZCkKCjIwMDgtMTEtMDYgMDE6Mjg6MjYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjU4LzkwNl0gc2V0dXAgeCBtZXNzYWdlIGxvb3AKCjIwMDgtMTEtMDUgMDI6MDY6MzMgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMjU3LzkwNl0gYmVnaW4gZ3N0Z2x3aW5kb3dfeDExLmMgaW1wbGVtZW50YXRpb24KCjIwMDgtMTAtMjkgMjM6NTM6MjIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJICBbMjU2LzkwNl0gZml4IENNYWtlIGFuIENvZGVCbG9ja3MgYnVpbGRzCgoyMDA4LTEwLTI4IDIxOjQ0OjA5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIFsyNTUvOTA2XSBmaXggd2luZG93IGNsb3N1cmUgd2hlbiB1c2luZyBnc3QgeG92ZXJsYXkgaW50ZXJmYWNlCgoyMDA4LTEwLTI4IDAxOjM4OjQ1ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgWzI1NC85MDZdIEJldHRlciBoYW5kbGUgd2hlbiB0aGUgcGFyZW50IHdpbmRvdyBpcyByZXNpemluZywgYW5kIGNsZWFudXAgc29tZSBjb2RlCgoyMDA4LTEwLTI4IDAwOjIyOjI3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFsyNTMvOTA2XSB3aW4zMjogcmUtaW1wbGVtZW50IHN1cHBvcnRzIGZvciBnc3QgeG92ZXJsYXkgaW50ZXJmYWNlLCBvbiB0aGlzIGJyYW5jaAoKMjAwOC0xMC0yNSAxNjoxODoyMyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIFsyNTIvOTA2XSBhdm9pZCBhIGRlYWQgbG9jayBvbiB3aW5kb3cgY2xvc3VyZQoKMjAwOC0xMC0yNSAwMjowMzoxNiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFsyNTEvOTA2XSBQcm9wZXJseSBjbGVhbiBPcGVuR0wgY29udGV4dHMKCjIwMDgtMTAtMjQgMDE6Mzk6MDAgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgWzI1MC85MDZdIHdpbjMyOiBiYXNpYyBzdHVmZnMgYXJlIHdvcmtpbmcgbm93IG9uIHRoaXMgYnJhbmNoIHdpdGggdGhpcyBuZXcgZGVlcCBkZXNpZ24gKGdzdGdsd2luZG93KQoKMjAwOC0xMC0yMyAwMTo0MDo1MiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIFsyNDkvOTA2XSBiZWdpbiBHc3RHTFdpbmRvdyBpbiBvcmRlciB0byB0b3RhbGx5IHJlbW92ZSBnc3RmcmVlZ2x1dAoKMjAwOC0xMC0xNiAyMzo0NzowMSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJICBbMjQ4LzkwNl0gZml4IG1zdmMgd2FybmluZ3MgYW5kIHVwZGF0ZSBDTWFrZSBidWlsZCwgd2luMzIgQ29kZUJsb2NrcyBidWlsZCBhbmQgdnM4IGJ1aWxkCgoyMDA4LTEwLTE1IDE2OjE4OjIyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzY3VydmVzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSAgWzI0Ny85MDZdIEltcG9ydCB4cmF5IGVmZmVjdAoJICBBZGQgeHJheSBlZmZlY3QuIE1hcHMgbHVtYSB0byBhIG5lZ2F0aXZlLCBzbGlnaHRseSBjeWFuIHRpbnRlZCwgY3VydmUsCgkgIGFwcGxpZXMgc29tZSBsaWdodCBnYXVzc2lhbiBibHVyIGFuZCBtdWx0aXBsaWVzIGl0IHdpdGggaXRzIHNvYmVsIGVkZ2VzLiBOb3QKCSAgc3VyZSBhYm91dCB0aGUgbmFtZSwgbGlrZWx5IHRvIGNoYW5nZS4gUHJvYmFibHkgc3RpbGwgbmVlZHMgc29tZSB0dW5pbmcuCgoyMDA4LTEwLTE1IDE2OjE0OjUyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJICBbMjQ2LzkwNl0gQWRkIG11bHRpcGx5IGZyYWdtZW50IHNoYWRlcgoJICBBZGQgYSBmcmFnbWVudCBzaGFkZXIgdG8gYmxlbmQgdHdvIHRleHR1cmVzIHdpdGggbXVsdGlwbHkgYmxlbmQgbW9kZQoKMjAwOC0xMC0xNSAxNTo0OToxMiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkgIFsyNDUvOTA2XSBBZGQgaW52ZXJ0IHByb3BlcnR5IHRvIHNvYmVsIGZpbHRlcgoJICBBZGQgYW4gaW52ZXJ0IHByb3BlcnR5IHRvIHNvYmVsX2ZyYWdtZW50X3NvdXJjZSBhbmQgU29iZWwgZmlsdGVyLiBVc2VmdWwKCSAgdG8gaGF2ZSBkYXJrIGVkZ2VzIHdpdGggd2hpdGUgYmFja2dyb3VuZC4KCjIwMDgtMTAtMTUgMTI6NTA6MDcgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmg6CgkgIFsyNDQvOTA2XSBNYWtlIGx1bWFfdG9fY3VydmUgbm9uLXN0YXRpYwoJICBNYWtlIGx1bWFfdG9fY3VydmUgcHVibGljIHNvIHRoYXQgaXQgY2FuIGJlIHVzZWQgYXMgYSBzdGVwIGZvciBtb3JlCgkgIGNvbXBsZXggZWZmZWN0cy4KCjIwMDgtMTAtMTUgMTI6NDI6MjkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjQzLzkwNl0gU3VwcG9ydCBmb3IgbWlzc2luZyB2aWRlb2Zvcm1hdHMgaW4gZ2x1cGxvYWQKCSAgQWRkIHN1cHBvcnQgZm9yIG1pc3NpbmcgYWxwaGEgY2hhbm5lbGVkIHZpZGVvZm9ybWF0cyAoUkdCQSwgQkdSQSwKCSAgQVJHQiwgQUJHUikgaW4gZ3N0X2dsX2Rpc3BsYXlfZG9fdXBsb2FkX2ZpbGwuCgoyMDA4LTEwLTEzIDIzOjE0OjI3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBbMjQyLzkwNl0gRml4IGNyYXNoIGluIGZpbHRlcnMgd2hlbiBnb2luZyB0byBOVUxMIHdpdGggbm8gZGlzcGxheQoKMjAwOC0xMC0xMSAxMTo0NTo1NCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkgIFsyNDEvOTA2XSBmaXggQ01ha2UgYnVpbGQKCjIwMDgtMTAtMDQgMjI6MzQ6MDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzI0MC85MDZdIEJ1aWxkIGd0ay1kb2NzIGZvciBwbHVnaW5zLgoJICBBZGQgaW5jbHVkZSB0byBvdGhlcndpc2UgZW1wdHkgLnR5cGVzIGZpbGUgdG8gZml4IHRoZSBzY2FubmVyIGJ1aWxkLgoJICBFZGl0IE1ha2VmaWxlLmFtLCAuc2VjdGlvbnMsIC1kb2NzLnNnbWwgdG8gc2NhbiBhbGwgcGx1Z2lucyBhbmQgaW5jbHVkZQoJICB0aGVtIGluIHRoZSBtYXN0ZXIgZmlsZS4gRml4IHhtbCBlcnJvcnMgaW4gdHdvIHNvdXJjZXMgKG1pc3NpbmcgY2xvc2luZwoJICB0YWcpLgoKMjAwOC0wOS0yOSAyMzo0NToxMCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsyMzkvOTA2XSBzdGFydCB0byB3cml0ZSB0aGUgZ3RrIGRvYwoKMjAwOC0wOS0yNSAyMjoyNToyOSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkgIFsyMzgvOTA2XSBmaXggZ2xmaWx0ZXJnbGFzcyAocmVhc29uOiB2aWRlb3Rlc3RzcmMgcmdiIGlzIGJ5IGRlZmF1bHQgYnBwPTMyLCBkZXB0aD0yNCwgc28gYWxwaGEgY2hhbm5lbCBpcyAwKQoKMjAwOC0wOS0yNCAxOTozMjo0OCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkgIFsyMzcvOTA2XSB1cGRhdGUgY21ha2UgYnVpbGQgYW5kIHRoZSAyIGZyb3plbiB3aW4zMiBidWlsZHMgKENvZGVCbG9ja3MsIHZzOCkKCjIwMDgtMDktMjMgMTA6Mzc6NTggKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsyMzYvOTA2XSBpbXBvcnQgc29iZWwgZWRnZSBkZXRlY3RvciBmcm9tIGN2cyBicmFuY2gKCjIwMDgtMDktMjQgMDI6MDc6NDEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSAgWzIzNS85MDZdIGNhbiB1c2Ugc2V2ZXJhbCBHX0xPR19ET01BSU5zIGFuZCBHU1RfQ0FUZWdvcmllcywgd2l0aCBtc3ZjOAoKMjAwOC0wOS0yMiAwOTo0NzoxNiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xwaXhidWZvdmVybGF5LmM6CgkgIFsyMzQvOTA2XSB1c2UgcmlnaHQgYmxlbmRpbmcgZnVuY3Rpb24gd2l0aCBwaXhidWYgb3ZlcmxheQoKMjAwOC0wOS0yMSAxMDo1ODoxMyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyMzMvOTA2XSBubyBuZWVkIHRvIGV4cGxpY2l0IHNldCB0aGUgZGVidWcgY2F0ZWdvcnkgaWYgZGVmYXVsdCBvbmUgaXMgdXNlZAoKMjAwOC0wOS0yMSAxMDowNDo0OSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJICBbMjMyLzkwNl0gdXNlIHRleHR1cmUxIGZvciBjdXJ2ZSB0ZXh0dXJlcwoKMjAwOC0wOS0yMSAxOToyNjozNyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMjMxLzkwNl0gQWRkIGEgZ2xmaWx0ZXJnbGFzcyBpbnNwaXJlZCBmcm9tIGh0dHA6Ly93d3cubWRrLm9yZy5wbC8yMDA3LzExLzE3L2dsLWNvbG9yc3BhY2UtY29udmVyc2lvbnMKCjIwMDgtMDktMjEgMTY6NDA6MzggKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkgIFsyMzAvOTA2XSBleHBsaWNpdCBjaGVjayBnX2dldGVudiByZXR1cm4gdmFsdWUgdG8gYmUgbm90IE5VTEwKCjIwMDgtMDktMjAgMTU6NDQ6MjQgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzIyOS85MDZdIHVwZGF0ZSBhdXRob3JzIGZyb20gdGhlIENWUyByZXBvc2l0b3J5CgoyMDA4LTA5LTIwIDE0OjEyOjQ5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJICBbMjI4LzkwNl0gb3V0cHV0IHNoYWRlcnMgaW5mbyBsb2cgb25seSBpZiBHU1RfR0xfU0hBREVSX0RFQlVHIGVudiB2YXJpYWJsZSBpcyBzZXQuIFNob3VsZCBmaXggVE9ETyB0YXNrIDE4CgoyMDA4LTA5LTE5IDEyOjQ3OjA2ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkgIFsyMjcvOTA2XSBleHBsaWNpdGx5IGJpbmQgdGhlIG1haW4gdGV4dHVyZSBhbmQgdGhlIGN1cnZlIG9uZSB0byBzZXBhcmF0ZSB1bml0cyBpbiByZ2IgYW5kIGx1bWEgdG8gY3VydmUgZWZmZWN0cy4gVGhpcyBzaG91bGQgc29sdmUgdGhlIGlzc3VlIHBvaW50ZWQgaW4gVE9ETyBpdGVtIDIxLgoKMjAwOC0wOS0xOCAyMjo1MDowNSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyMjYvOTA2XSBjaGVjayBvbiB3aW4zMiB0aGF0IGV2ZXJ5IHRlc3RzL3BpcGVsaW5lcyBhbmQgdGVzdHMvZXhhbXBsZXMgKGdlbmVyaWMsIGd0aywgcXQpIHN0aWxsIHdvcmsKCjIwMDgtMDktMTggMjE6MTM6MzcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjI1LzkwNl0gZml4IGEgcmVncmVzc2lvbiB0aGF0IG1hZGUgdGhlIGdsdGVzdHNyYyBlbGVtZW50IG5vdCB3b3JraW5nCgoyMDA4LTA5LTE2IDAyOjEwOjMxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIyNC85MDZdIGZpeCBhIHJlZ3Jlc3Npb24gYWJvdXQgTUVTQSBZQ2JDciBjb2xvcnNwYWNlIGNvbnZlcnNpb24KCjIwMDgtMDktMTQgMjM6MjI6NTggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjIzLzkwNl0gZml4IGEgcmVncmVzc2lvbiAoc29tZXRpbWVzIGEgRkJPIGlzIG5lZWRlZCBldmVuIGlmIHRoZSB2aWRlbyBzb3VyY2UgaXMgcmdiKQoKMjAwOC0wOS0xNCAxOTo1Njo1MCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgWzIyMi85MDZdIEZpbmlzaCBUT0RPIHRhc2sgMTcKCjIwMDgtMDktMTMgMTk6NDc6NDQgKzAyMDAgIEp1bGllbiA8anVsaWVuQGJvd29iLihub25lKT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIyMS85MDZdIGZpeCBnX2ludF9oYXNoIC0+IGdfZGlyZWN0X2hhc2gKCjIwMDgtMDktMTMgMTg6MTc6NDIgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjIwLzkwNl0gVXNlIGEgYmV0dGVyIGtleSBmb3IgdGhlIHBvb2wgb2YgdGV4dHVyZXMKCjIwMDgtMDktMTMgMDM6MzI6MDQgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMjE5LzkwNl0gVXNlIGEgZ3N0IGRlYnVnIGNhdGVnb3J5IGZvciBHc3RHTERpc3BsYXkgaW5zdGVhZCBvZiBnX3ByaW50LCBnc3QtbGF1bmNoLTAuMTAgLS1nc3QtZGVidWc9Z2xkaXNwbGF5OjMgdmlkZW90ZXN0c3JjICEgZ2xpbWFnZXNpbmsKCjIwMDgtMDktMTIgMDE6MTM6NTAgKzAyMDAgIEp1bGllbiA8anVsaWVuQGJvd29iLihub25lKT4KCgkqIGdzdC1saWJzL2dzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMjE4LzkwNl0gVGhlIENNYWtlIGJ1aWxkIG5vdyB3b3JrcyBvbiBteSBLdWJ1bnR1LUtERTQuMS4xCgoyMDA4LTA5LTExIDAyOjA3OjEyICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJICBbMjE3LzkwNl0gQWRkIGNtYWtlIGJ1aWxkIGh0dHA6Ly93d3cuY21ha2Uub3JnLiBTZWUgQ01ha2UgaW5zdGFsbCBpbnN0cnVjdGlvbnMgaW4gdGhlIElOU1RBTEwgZmlsZS4gKEkgaGF2ZSBub3QgY29ycmVjdGx5IGNvbmZpZ3VyZWQgeWV0IHRoZSBDTWFrZSBidWlsZCBmb3IgdW5peCwgQkUgcGF0aWVudCkKCjIwMDgtMDktMDcgMTc6NDQ6NDIgKzAyMDAgIEp1bGllbiA8anVsaWVuQGJvd29iLihub25lKT4KCgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzIxNi85MDZdIGZpeCBnbGJ1bXBlciByZWxhdGVkIGd0ayBkZXBlbmRlbmNpZXMKCjIwMDgtMDktMDcgMTQ6MTc6NTcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsyMTUvOTA2XSBnbGJ1bXBlciBpcyBjb21waWxlZCBvbmx5IHdoZW4gaGF2aW5nIEdka1BpeEJ1Zi4gQW5kIHVwZGF0ZSB3aW4zMiBjb2RlYmxvY2tzIGJ1aWxkCgoyMDA4LTA5LTA3IDAxOjM4OjEwICswMjAwICBqdWxpZW4gVXNlciA8anVsaWVuQHVidW50dS51YnVudHUtZG9tYWluPgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkgIFsyMTQvOTA2XSB1cGRhdGUgY29kZWJsb2NrcyBidWlsZCBvbiBsaW51eCBhbmQgZml4IGEgd2FybmluZwoKMjAwOC0wOS0wNyAwMToyMzoxOSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmg6CgkgIFsyMTMvOTA2XSBmb3Jnb3QgdG8gYWRkIHRoZSBidW1wZXIgZmlsZXMKCjIwMDgtMDktMDcgMDA6NDU6MzQgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xwaXhidWZvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzIxMi85MDZdIGFkZCBhIGdsYnVtcGVyIChidW1wIG1hcHBpbmcgZmlsdGVyIHRocm91Z2ggR0xTTCkgdGhhdCBleHBvc2VzIGhvdyB0byB1c2UgYm90aCB2ZXJ0ZXggYW5kIGZyYWdtZW50IHNoYWRlcnMKCjIwMDgtMDgtMjUgMTA6MzQ6NTQgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjExLzkwNl0gRml4IHVwbG9hZCBBWVVWIGFuZCBZVjEyIChhIHJlZ3Jlc3Npb24gaW4gbGFzdCBjb21taXRzKQoKMjAwOC0wOC0yNCAxNjozMzoyNiArMDIwMCAganVsaWVuIFVzZXIgPGp1bGllbkB1YnVudHUudWJ1bnR1LWRvbWFpbj4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIxMC85MDZdIGdldCByaWRlIG9mIGEgd3JvbmcgY29sb3Igb24gbnZpZGlhL2xpbnV4IHdoZW4gY29udmVydGluZyB5djEyIHRvIHJnYiB0aHJvdWdoIEdMU0wKCjIwMDgtMDgtMjQgMTU6Mzk6MTQgKzAyMDAgIGp1bGllbiBVc2VyIDxqdWxpZW5AdWJ1bnR1LnVidW50dS1kb21haW4+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyMDkvOTA2XSBmaXggd2FybmluZ3MKCjIwMDgtMDgtMjQgMDQ6MjQ6MjkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjA4LzkwNl0gZml4IHVwbG9hZCBBWVVWLCByZWdyZXNzaW9uIGR1cmluZyB0aGUgMiBsYXN0IGNvbW1pdHMKCjIwMDgtMDgtMjQgMDM6Mzg6NDAgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjA3LzkwNl0gb3VwcywgZml4IG15IG1pc3Rha2Ugb24gbGFzdCBjb21taXQKCjIwMDgtMDgtMjQgMDM6MTI6MTIgKzAyMDAgIHVua25vd24gPEx1Y0AuKG5vbmUpPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9CVUdTOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFsyMDYvOTA2XSBEbyBub3QgdXNlIGZyYW1lIGJ1ZmZlciBvYmplY3Qgd2hlbiAiaW5wdXQgdmlkZW8gaXMgUkdCIiBvciB3aGVuICJHTFNMIGlzIG5vdCBhdmFpbGFibGUgYW5kIFlDYkNyIGlzIGF2YWlsYWJsZSIuIFNvIGZyYW1lIGJ1ZmZlciBvYmplY3QgaXMgbm90IGEgcGx1Z2luIHJlcXVpcmVtZW50IGFueW1vcmUuIFNvIEkgZGVjcmVhc2VkIHRoZSBPcGVuZ0dMIHZlcnNpb24gZnJvbSAxLjQgdG8gMS4yIChtYXliZSBsZXNzPykKCjIwMDgtMDgtMjEgMTE6MTI6NDIgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIFsyMDUvOTA2XSB1c2UgYSBHSGFzaCAgdGFibGUgaW5zdGVhZCBvZiBhIEdEYXRhIGZvciB0aGUgdGV4dHVyZSBwb29sCgoyMDA4LTA4LTIwIDE1OjQ3OjUxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIwNC85MDZdIGdldCByaWRlIG9mIGEgYnVnIG9uIEFUSSByZWxhdGVkIHRvIFlWMTIgdG8gcmdiIGNvbnZlcnNpb24gdGhyb3VnaCBHTFNMIGFuZCBhZGQgYW4gZXhhbXBsZQoKMjAwOC0wOC0yMCAxMDowMjowMiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xwaXhidWZvdmVybGF5LmM6CgkgIFsyMDMvOTA2XSB1c2Ugb3BlbmdsIGZvciBwaXhidWYgcmVzaXppbmcgaW4gZ2xwaXhidWZvdmVybGF5LCBzdGFydCB0byB3b3JrIG9uIHByb3BlcnRpZXMKCjIwMDgtMDgtMjAgMDk6MjY6NDYgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJICBbMjAyLzkwNl0gdXNlIGZpeGVkIG9wZW5nbCBwaXBlbGluZSBmb3IgZ2xwaXhidWZvdmVybGF5IChhbnkgZHJhd2JhY2s/KQoKMjAwOC0wOC0yMCAwOToyNDo1MyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyMDEvOTA2XSBmaXggYSBzaWduZWRuZXNzIHdhcm5pbmcKCjIwMDgtMDgtMjAgMDA6MTE6MzkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjAwLzkwNl0gZ2V0IHJpZGUgb2YgYSBBVEkgYnVnIHJlbGF0ZWQgdG8gR0xTTCBjb2xvcnNwYWNlIGNvbnZlcnNpb24gZm9yIEk0MjAgYW5kIFlWMTIgdG8gcmdiCgoyMDA4LTA4LTE5IDIyOjE1OjE3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbMTk5LzkwNl0gYWRkIHBpeGJ1ZmRyb3AgdnM4IHByb2plY3QKCjIwMDgtMDgtMTkgMjE6MDQ6MjkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbMTk4LzkwNl0gYWRkIGZ4dGVzdCB2czggcHJvamVjdAoKMjAwOC0wOC0xOSAxMTowNzoxOCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIFsxOTcvOTA2XSBTaGFkZXJzIHdoaWNoIGFyZSBpbiB0aGUgc2hhZGVyc3RhYmxlIGFyZSBub3cgcmVsZWFzZWQKCjIwMDgtMDgtMTkgMDk6NDg6MTQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkgIFsxOTYvOTA2XSBmaXggYSBkaWZmZXJlbmNlbWF0dGUgbWVtb3J5IGlzc3VlCgoyMDA4LTA4LTE5IDA4OjUwOjE0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbMTk1LzkwNl0gZml4IGdzdGdsZGlmZmVyZW5jZW1hdHRlIGFuZCBhZGQgYW4gZXhhbXBsZSBhcHAgdG8gdGVzdCBpdCBkcmFnZ2luZyBhbiBpbWFnZSBvdmVyIHRoZSB2aWRlbyAod29ya3Mgd2l0aCBwaXhidWZvdmVybGF5IHRvbywgc2VlIHBpeGJ1ZmRyb3AgLS1oZWxwKQoKMjAwOC0wOC0xOCAyMTo1MDowOSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJICBbMTk0LzkwNl0gYW5vdGhlciB0eXBvLCByZXN0b3JlIG9sZCB0d2lybCBmcmFnbWVudCBzb3VyY2UKCjIwMDgtMDgtMTggMjE6NDM6MDIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSAgWzE5My85MDZdIGZpeCB0eXBvcwoKMjAwOC0wOC0xOCAyMTo0MDoyNiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkgIFsxOTIvOTA2XSBjb21wbGV0ZSBkaWZmZXJlbmNlbWF0dGUgZmlsdGVyLi4gSSBkaWQgaXQgcXVpY2tseSwgcHJvYmFibHkgc3RpbGwgbmVlZHMgc29tZSB3b3JrCgoyMDA4LTA4LTE4IDIwOjI1OjI1ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xwaXhidWZvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzE5MS85MDZdIGxpdHRsZSBjbGVhbnVwLiBhZGQgZmlyc3QgZHJhZnQgb2YgZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuIHN0aWxsIGRvZXNuJ3Qgd29yawoKMjAwOC0wOC0xOCAxODo1MzoxMyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzE5MC85MDZdIGZvcmNlIGNhbGxpbmcgZ2xpbWFnZXNpbmstPnN0b3AoKSB3aGVuIGdvaW5nIGZyb20gUEFVU0VEIHRvIFJFQURZCgoyMDA4LTA4LTE4IDE3OjE5OjA2ICswMjAwICB1bmtub3duIDxBZG1pbmlzdHJhdGV1ckAuKG5vbmUpPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJICBbMTg5LzkwNl0gdXBkYXRlIHZzOCBidWlsZCBhbmQgZml4IHNvbWUgd2FybmluZ3MgdGhhdCBjb21lcyBmcm9tIHZjOAoKMjAwOC0wOC0xOCAxNjoxNjo1OCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMTg4LzkwNl0gYWRkIGZpcnN0IGRyYWZ0IG9mIGEgcGl4YnVmIG92ZXJsYXkgZWxlbWVudC4gYWRkIG1hY3JvcyB0byBvcHRpb25hbGx5IGJ1aWxkIHRoZSBsYXR0ZXIgaWYgZ2RrLXBpeGJ1ZiBpcyBmb3VuZAoKMjAwOC0wOC0xOCAxMTo0ODo0NyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJICBbMTg3LzkwNl0gcmVtb3ZlIGV4cG9zZSBldmVudCBoYW5kbGluZywgaXQncyBtYXAtdW5tYXAgdGhhdCBpcyBub3QgYmVoYXZpbmcgY29ycmVjdGx5LCBhbnkgaWRlYT8KCjIwMDgtMDgtMTggMTE6MDg6MDkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSAgWzE4Ni85MDZdIGFkZCBleHBvc2UgZXZlbnQgaGFuZGxpbmcgdG8gY2x1dHRlcmFjdG9ydGVlCgoyMDA4LTA4LTE4IDEwOjUwOjM3ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkgIFsxODUvOTA2XSBhZGQgY2x1dHRlcmFjdG9ydGVlIGV4YW1wbGUsIGEgbmljZSBleGFtcGxlIGFib3V0IGhvdyBjbHV0dGVyIGNvdWxkIGJlIHVzZWQgdG8gY3JlYXRlIGEgbGl2ZSBwcmV2aWV3IHdpZGdldCBmb3IgZ2xlZmZlY3RzLiBJdCB1c2VzIHRleHR1cmUgZnJvbSBwaXhtYXAsIHN0aWxsIG5lZWRzIHNvbWUgd29yayByZWdhcmRpbmcgY2xlYW4gZXhpdCBhbmQgZXhwb3NlIGV2ZW50IG1hbmFnZW1lbnQuCgoyMDA4LTA4LTE4IDA5OjA2OjA5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzE4NC85MDZdIGFkZCBhIGNvdXBsZSBvZiBtYWNyb3MgdG8gYXV0b3Rvb2xzIHRvIGNvbXBpbGUgd2l0aCB1aW50cmVwaWQgYXV0b21ha2UuIHJlbW92ZSBhcnJheSBjb25zdHJ1Y3RvciBzbyB3ZSBkb24ndCBoYXZlIHRvIGRlcGVuZCBvbiBnbHNsICN2ZXJzaW9uIDEyMC4KCjIwMDgtMDgtMTcgMTc6NDU6NTIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSAgWzE4My85MDZdIGFkZCBhbiBleGFtcGxlIHRvIHVzZSB0ZXh0dXJlIGZyb20gcGl4bWFwIHRvIGRvIHNvbWUga2luZCBvZiB4X292ZXJsYXkgb24gYSBjbHV0dGVyYWN0b3IuIEEgYmV0dGVyIHdheSB3b3VsZCBiZSB0byBkaXJlY3RseSBzaGFyZSBnbCBoYW5kbGVzIGJldHdlZW4gY2x1dHRlciBhbmQgZ3N0Z2wgYnV0IHN0aWxsIEkgY2Fubm90IGZpbmQgYSB3YXkgdG8gZG8gaXQuCgoyMDA4LTA4LTE3IDEyOjIxOjQ5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2N1cnZlcy5oOgoJICBbMTgyLzkwNl0gYWRkIGEgYmV0dGVyIHNlcGlhIHRvbmluZyBjdXJ2ZQoKMjAwOC0wOC0xNyAwOToyNDoyNCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFsxODEvOTA2XSBhZGQgYSB0cmFuc2xhdGFibGUgc3RyaW5nIHRvIHRlc3RzcmMgdG8gZ2V0IHJpZCBvZiBwbyBkaXIgZXJyb3JzIGFmdGVyIGRpc3RjbGVhbiBhbmQgZ2l0IGNsZWFuCgoyMDA4LTA4LTE2IDE3OjM2OjEwICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkgIFsxODAvOTA2XSBtaW5vciBjbGVhbnVwIGluIGZ4dGVzdAoKMjAwOC0wOC0xNiAxMjozNzozNiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNkaXN0b3J0aW9uLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJICBbMTc5LzkwNl0gZGlzdG9ydGlvbiBlZmZlY3QgY2xlYW51cAoKMjAwOC0wOC0xNiAxMDoxNTozMSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJICBbMTc4LzkwNl0gaW1wcm92ZSBmeHRlc3QgY29tbWFuZCBsaW5lIG9wdGlvbiBoYW5kbGluZywgZGVmYXVsdCB0byB2aWRlb3Rlc3RzcmMgaWYgbm8gc291cmNlIGJpbiBkZXNjcmlwdGlvbiBpcyBnaXZlbgoKMjAwOC0wOC0xNiAwOTo0MDo1NCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIFsxNzcvOTA2XSBmaXggZ2xlZmZlY3RzIG1lbW9yeSBpc3N1ZSAoaW5pdCByZXNvdXJjZXMgb24gc3RhcnQgYW5kIHJlc2V0IHRoZW0gb24gc3RvcCkKCjIwMDgtMDgtMTYgMDk6MTc6MTQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbMTc2LzkwNl0gZml4IGEgdHlwbwoKMjAwOC0wOC0xNiAwOToxMzozOSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSAgWzE3NS85MDZdIGFkZCBzaW4gZWZmZWN0IChkZXNhdHVyYXRlIGV2ZXJ5dGhpbmcgYnV0IHJlZCBzaGFkZXMpLiBzdGlsbCBuZWVkcyBzb21lIHR1bmluZy4KCjIwMDgtMDgtMTQgMjI6Mjg6MTkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkgIFsxNzQvOTA2XSBhZGQgYSBwcm9wZXJ0eSB0byBnbGVmZmVjdHMgdG8gc3dpdGNoIHZpZGVvIGxlZnQgdG8gcmlnaHQsIHVzZWZ1bCB3aXRoIHdlYmNhbXMgdG8gcmVzZW1ibGUgYSBtaXJyb3IKCjIwMDgtMDgtMTQgMjE6Mjk6MDIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNjdXJ2ZXMuaDoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkgIFsxNzMvOTA2XSBhZGQgbHVtYXhwcm8gKGRlc2F0dXJhdGUgKyBjcm9zcyBwcm9jZXNzKSBlZmZlY3QuIG5vdGhpbmcgdG9vIGltcHJlc3NpdmUgYnV0IEkgbGlrZSBpdC4KCjIwMDgtMDgtMTQgMjA6NTQ6NTQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSAgWzE3Mi85MDZdIGFkZCBzdXBwb3J0IGZvciBjb21tYW5kIGxpbmUgcGFyc2luZyB0byBmeHRlc3QgKHRyeSBmeHRlc3QgdmlkZW90ZXN0c3JjICEgZGVzaXJlZCBjYXBzICEgaWRlbnRpdHkpLiByZXBvcnQgYSBuZXcgaXNzdWUgb24gQlVHUy4KCjIwMDgtMDgtMTQgMjA6MDI6MDQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJICBbMTcxLzkwNl0gaW1wb3J0IGZ4dGVzdCAobGl0dGxlIGd0ayBhcHAgdG8gZWFzaWx5IHRlc3QgZWZmZWN0cykgZnJvbSBjdnMgYnJhbmNoLCBmaXhlZCByZ2J0b2N1cnZlLgoKMjAwOC0wOC0xNCAxNzowMzoyMSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsxNzAvOTA2XSB1cGRhdGUgY29kZWJsb2NrcyBidWlsZAoKMjAwOC0wOC0xNCAxNDowODoyMyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2Rpc3RvcnRpb24uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkgIFsxNjkvOTA2XSBpbXBvcnQgcmVtYWluaW5nIGRpc3RvcnRpb24gZWZmZWN0cyBmcm9tIGN2cyBicmFuY2ggKGZpc2hleWUsIHR3aXJsLCBidWxnZSwgdHVubmVsLCBzcXVhcmUpCgoyMDA4LTA4LTE0IDEyOjM5OjAxICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2N1cnZlcy5oOgoJICBbMTY4LzkwNl0gY2xlYW51cCBjdXJ2ZXMgaGVhZGVyCgoyMDA4LTA4LTE0IDEyOjI2OjI1ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2N1cnZlcy5oOgoJICBbMTY3LzkwNl0gYmV0dGVyIGNyb3NzIHByb2Nlc3NpbmcgY3VydmUKCjIwMDgtMDgtMTQgMTI6MDk6MzkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzY3VydmVzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSAgWzE2Ni85MDZdIGFkZCByZ2JfdG9fbHVtYV9mcmFnbWVudCBzb3VyY2UgYW5kIGNvcnJlc3BvbmRlbnQgZWZmZWN0LiB1c2UgdGhlIGxhdHRlciBmb3IgYSBjcm9zcyBwcm9jZXNzaW5nIGVmZmVjdC4KCjIwMDgtMDgtMTQgMTE6MzE6MDkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2N1cnZlcy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkgIFsxNjUvOTA2XSBpbXBvcnQgbHVtYV90b19jdXJ2ZSBlZmZlY3RzIChTZXBpYSwgSGVhdCkgZnJvbSBjdnMgYnJhbmNoIHdpdGggYmV0dGVyIHRleHR1cmUgbWVtb3J5IGhhbmRsaW5nICh0ZXhpbWFnZSBjdXJ2ZXMgb25seSBvbmNlKS4gU2VwaWEgY3VydmUgc3RpbGwgbmVlZHMgc29tZSBsb3ZlLgoKMjAwOC0wOC0xNCAwOTozOTo1NSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkgIFsxNjQvOTA2XSByZW5hbWUgYmxlbmRfZnJhZ21lbnRfc291cmNlIHRvIHN1bV9mcmFnbWVudF9zb3VyY2UgYW5kIGFkZCB1bmlmb3JtIGJsZW5kaW5nIHBhcmFtZXRlcnMKCjIwMDgtMDgtMTQgMDk6MjY6MjMgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSAgWzE2My85MDZdIGltcG9ydCBnbG93IGVmZmVjdCAobWF5YmUgdGhlIG1vc3QgdHJpY2t5KSBmcm9tIGN2cyBicmFuY2gKCjIwMDgtMDgtMTQgMDg6MDM6NDkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIFsxNjIvOTA2XSBpbXBvcnQgc3RyZXRjaCBlZmZlY3QgZnJvbSBjdnMKCjIwMDgtMDgtMTQgMDA6MDc6MjAgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIFsxNjEvOTA2XSBpbXBvcnQgc3F1ZWV6ZSBlZmZlY3QgZnJvbSBjdnMKCjIwMDgtMDgtMTMgMjI6NDI6NDggKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbMTYwLzkwNl0gZm9yZ290IHRvIGFkZCBhIGZpbGUKCjIwMDgtMDgtMTMgMjI6MzY6MTMgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgWzE1OS85MDZdIHN0aWxsIHNvbWUgc291cmNlIHRyZWUgcmVvcmdhbml6ZSwgZml4ZWQgc29tZSBpc3N1ZSB3aXRoIGhlYWRlcnMgYW5kIGlmZGVmcywgbW92ZWQgaWRlbnRpdHkgaW50byBlZmZlY3RzIGRpcgoKMjAwOC0wOC0xMyAyMDo1ODo0OSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgWzE1OC85MDZdIHN0aWxsIHdvcmtpbmcgb24gbWVyZ2luIGdzdGdsZWZmZWN0cywgYWRkIG1pcnJvciBlZmZlY3QuIHJlb3JnYW5pemUgc291cmNlIHRyZWUuCgoyMDA4LTA4LTEzIDE3OjU5OjA5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzE1Ny85MDZdIG1vdmUgdGhyZWFkX2RvX3VwbG9hZF9tYWtlIGZyb20gdGhyZWFkX2RvX3VwbG9hZCB0byB0aHJlYWRfaW5pdF91cGxvYWQKCjIwMDgtMDgtMTMgMTc6MTY6MTcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvQlVHUzoKCSAgWzE1Ni85MDZdIGZpeCBhIGNyYXNoIHRoYXQgY291bGQgaGFwcGVucyB3aGVuIHVzaW5nIGF0IGxlYXN0IDIgZ2wgY29udGV4dCBhbmQgd2hlbiBjbG9zaW5nIGEgd2luZG93IG9uIGxpbnV4CgoyMDA4LTA4LTEzIDE2OjAxOjIxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9CVUdTOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgWzE1NS85MDZdIGZpeCBzb21lIGVycm9ycyBhbmQgY2hlY2sgYWxsIHRoZSBwaXBlbGluZXMgbGlzdGVkIGluIHRlc3RzL3BpcGVsaW5lcwoKMjAwOC0wOC0xMiAxMTowOTozNyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMTU0LzkwNl0gYWRkZWQgZmlyc3Qgc2tlbGV0b24gb2YgZ3N0Z2xlZmZlY3RzLCBpbXBvcnRlZCBiYXNpYyBzdHVmZiBmcm9tIGN2cyBicmFuY2guCgoyMDA4LTA4LTExIDIwOjEyOjAyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJICBbMTUzLzkwNl0gVHJ5IHRvIGdlbmVyZWF0ZSB0ZXh0dXJlcyB3aXRoaW4gZ3N0Z2xmaWx0ZXJibHVyIHRvIHNlZSBpZiB0aGUgbmV3IHRocmVhZF91c2VfZmJvIHdvcmtzIGJvdGggd2l0aCB0ZXh0dXJlcyBmcm9tIHRoZSBwb29sIGFuZCBjdXN0b20gb25lcwoKMjAwOC0wOC0xMSAyMDowMTo0MSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsxNTIvOTA2XSByZW1vdmUgYW4gdW5uZWVkZWQgKHJlYWxseT8pIGdsVGV4SW1hZ2UKCjIwMDgtMDgtMTEgMTk6MDg6MjIgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFsxNTEvOTA2XSBJU08gQzkwCgoyMDA4LTA4LTExIDE5OjAxOjMzICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJICBbMTUwLzkwNl0gZ2xUZXhJbWFnZTJEKHcsIGgsIE5VTEwpIGlzIG5vdyBjYWxsZWQgb25seSBvbmUgdGltZSAobWVtIGFsbG9jKQoKMjAwOC0wOC0xMSAxNzoyMTozMCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsxNDkvOTA2XSBzYW1lIGFzIHByZXZpb3VzIGNvbW1pdAoKMjAwOC0wOC0xMSAxNzoxNzoyMiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsxNDgvOTA2XSBGaXggcmdiIGlzc3VlLiBDdXJyZW50IHByb2dyYW0gc2hvdWxkIGFsd2F5cyBiZSBzZXQgdG8gMCB3aGVuIGEgbmV3IHRleHR1cmUgaXMgYXR0YWNoZWQgdG8gYSBmYm8uCgoyMDA4LTA4LTExIDE1OjUzOjEyICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzE0Ny85MDZdIG91cHMgZm9yZ290IHRvIGFkZCAyIGZpbGVzIHRvIHRoZSBwcmV2aW91cyBjb21taXQKCjIwMDgtMDgtMTEgMTU6NDA6MzkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmVkZ2UuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZWRnZS5oOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzE0Ni85MDZdIHJlbW92ZSBmaWx0ZXJlZGdlCgoyMDA4LTA4LTExIDE1OjMwOjM4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSAgWzE0NS85MDZdIGdlbi9kZWwgdGhlIG1pZGRsZSB0ZXh0dXJlIG9ubHkgb25lIHRpbWUgaW4gdGhlIGdzdGdsZmlsdGVyYmx1cgoKMjAwOC0wOC0xMSAxMToyNjozMiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMTQ0LzkwNl0gcmVtb3ZlIGdzdGdsZmlsdGVyYmx1ci5oLCBpdCdzIGVhc2llciB0byBoYXZlIGV2ZXJ5dGhpbmcgaW4gdGhlIHNhbWUgZmlsZQoKMjAwOC0wOC0xMSAwOTo1MjoxNiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkgIFsxNDMvOTA2XSBBZGQgaW5pdCBhbmQgcmVzZXQgY2FsbGJhY2tzIGluIEdzdEdMRmlsdGVyIHRvIHJ1biBhcmJpdHJhcnkgZ2wgY29kZSBhdCBzdGFydCBhbmQgc3RvcC4gVXNlZnVsIHRvIGluaXQgYW5kIGNsZWFudXAgY3VzdG9tIGdsIHJlc291cmNlcy4KCjIwMDgtMDgtMTEgMDk6MDA6NDAgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSAgWzE0Mi85MDZdIEFkZCBhIGdlbmVyaWMgYWN0aW9uIHRvIGJlIGFibGUgdG8gZXhlY3V0ZSBhcmJpdHJhcnkgZ2wgY29kZSB3aXRoaW4gdGhlIGdsIHRocmVhZCB3aXRoIGxlc3MgcGFpbgoKMjAwOC0wOC0xMCAxMToyMjozNCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJICBbMTQxLzkwNl0gc29tZSBzdGVwcyB0b3dhcmRzIHNpbXBsaWZpY2F0aW9uLiBhZGRlZCBhIGNvbnZlbmllbmNlIGZ1bmN0aW9uIHRvIGdzdGdsZmlsdGVyIGFuZCBzb21lIGNvbW1lbnQgaGVyZSBhbmQgdGhlcmUKCjIwMDgtMDgtMDUgMTA6MTU6MDcgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMTQwLzkwNl0gRml4IEdMX1NUQUNLX09WRVJGTE9XCgoyMDA4LTA4LTA0IDEyOjEzOjI5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJICBbMTM5LzkwNl0gZml4IHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHVwbG9hZC9kb3dubG9hZCBzaGFkZXJzCgoyMDA4LTA4LTA0IDA5OjU2OjU5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbMTM4LzkwNl0gaXMgdGhhdCB2aWRlb2Zvcm1hdCBwb2ludGVyIHJlYWxseSBuZWVkZWQ/CgoyMDA4LTA4LTA0IDA5OjQ2OjE0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbMTM3LzkwNl0gRG9uJ3QgcmVhbGxvY2F0ZSB0ZXh0dXJlIG1lbW9yeSBldmVyeSB0aW1lIGluIHVwbG9hZF8qIGZ1bmN0aW9ucy4KCjIwMDgtMDgtMDEgMTE6MDA6NDkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIFsxMzYvOTA2XSByZWluZGVudCBnc3RnbGRpc3BsYXkgd2l0aCBnc3RyZWFtZXItYy1tb2RlCgoyMDA4LTA3LTMxIDE3OjQ4OjA0ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsxMzUvOTA2XSBhZGQgYW5kIG1ha2UgdGhlIEZpbGlwcG8ncyBnc3RnbGZpbHRlcmJsdXIgd29ya3Mgb24gdGhlIG1hc3RlciBicmFuY2ggKGV4YW1wbGUgb2YgbXVsdGlwbGUgc3RlcCByZW5kZXJpbmcpCgoyMDA4LTA3LTI1IDAxOjQzOjI4ICswMjAwICBqdWxpZW4gVXNlciA8anVsaWVuQHVidW50dS51YnVudHUtZG9tYWluPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFsxMzQvOTA2XSBmaXggbWFrZWZpbGVzIGxpc3QgZnJvbSBjb25maWd1cmUuYWMgKHRlc3RzIGhhdmUgY2hhbmdlcykgYW5kIGZpeCBhIHdhcm5pbmcKCjIwMDgtMDctMjEgMDA6MjQ6NDggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMTMzLzkwNl0gZmluaXNoIHRvZG8gdGFzayA0CgoyMDA4LTA3LTIwIDE2OjM4OjQ4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzEzMi85MDZdIG1ha2UgdGhlIHBsdWdpbiBwcm9wZXJseSBzaHV0ZG93biB3aGVuIG9uZSBvZiB0aGUgY2hlY2sgcmVxdWlyZW1lbnRzIGZhaWxlZAoKMjAwOC0wNy0xOSAwODozMjozOCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmVkZ2UuYzoKCSAgWzEzMS85MDZdIGZpeCB3YXJuaW5ncyAodW51c2VkIHZhcnMpCgoyMDA4LTA3LTE5IDAzOjAwOjI2ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJlZGdlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmVkZ2UuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5oOgoJICBbMTMwLzkwNl0gdXNlIEdzdEdMU2hhZGVyIGluIHRoZSBHTFNMIGNvbG9yc3BhY2UgY29udmVyc2lvbgoKMjAwOC0wNy0xOCAyMjozMzo0NCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSAgWzEyOS85MDZdIGZpeGVkIHdhcm5pbmcgZm9yIHVudXNlZCB2YXJpYWJsZSAoZmF0YWwgd2l0aCAtV2Vycm9yKQoKMjAwOC0wNy0xOCAyMTo1NTowMCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJICBbMTI4LzkwNl0gYWRkIEdzdEdMU2hhZGVyIHN0dWZmcyBpbiB0aGUgdnM4IHByb2plY3QsIGZpeCBsYXBsYWNpYW4gZnJhZ21lbnQgY29kZSB0byBtYWtlIGl0IGNvbXBpbGUgb24gQVRJLCBhbmQgZml4IGNoZWNrIGZ1bmN0aW9uIGFib3V0IE9wZW5nbCBhbmQgR2xldyB2ZXJzaW9uCgoyMDA4LTA3LTE4IDEwOjQ5OjM0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMTI3LzkwNl0gSW1wb3J0ZWQgR3N0R0xTaGFkZXIgZnJvbSBjdnMgYnJhbmNoLiBBZGRlZCBhIGRlbW8gbGFwbGFjaWFuIGNvbnZvbHV0aW9uIGZpbHRlciB0byBkZW1vbnN0cmF0ZSBob3cgdGhpcyBjYW4gYmUgaW50ZWdyYXRlZCB3aXRoIG1pbmltdW0gZWZmb3J0LgoKMjAwOC0wNy0xNiAxNToyMzozNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAaHV0Y2gubG9jYWw+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSAgWzEyNi85MDZdIENoYW5nZSBzb21lIGd1aW50cyB0byBHTHVpbnRzIGJlY2F1c2Ugb2Ygd2FybmluZ3Mgb24gT1MvWC4KCjIwMDgtMDctMTYgMTU6MjI6MzYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQGh1dGNoLmxvY2FsPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMTI1LzkwNl0gQWRkIGxpYnJhcmllcyBhcyBhcHByb3ByaWF0ZSB0byBmaXggY29tcGlsYXRpb24KCjIwMDgtMDctMTUgMTQ6MzY6MDMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgWzEyNC85MDZdIEdsb2JhbCByZXBsYWNlIG9mIENSTEYgbGluZSBlbmRpbmdzIHRvIExGCgoyMDA4LTA3LTEyIDE0OjE4OjQ3ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzEyMy85MDZdIFggU3BlY2lmaWM6IGJldHRlciBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgZ3N0X2dsX3NldF93aW5kb3dfaWQKCjIwMDgtMDctMTIgMTM6MjQ6MzAgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMTIyLzkwNl0gYmV0dGVyIGltcGxlbWVudGF0aW9uIG9mIGdzdF9nbF9kaXNwbGF5X3NldF93aW5kb3dfaWQgZm9yIHdpbjMyLiAoY2hhbmdlIHRoZSB3aW5kb3cgb2YgdGhlIGN1cnJlbnQgd2dsY29udGV4dCBpbnN0ZWFkIG9mIHJlaW5pdCBldmVyeXRoaW5nLCBhbmQgc28gYXZvaWQgc29tZSBwcm9ibGVtcyBhYm91dCBvcGVuZ2wgb2JqZWN0cyB0aGF0IGNvdWxkIGJlIGluaXQgaW4gdGhlIHByZXZpb3VzIHdnbGNvbnRleHQgYW5kIHNvIG5vIHVzYWJsZSBpbiB0aGUgbmV3ZXIgd2dsY29udGV4dCwgaXQgd2hhdCB0aGUgY2FzZSBmb3IgdGhlIGZpcnN0IHRleHR1cmUpIFRoaXMgbmV3ZXIgaW1wbGVtZW50YXRpb24gaGFzIG5vdCBiZWVuIG1hZGUgeWV0IG9uIGxpbnV4CgoyMDA4LTA3LTEyIDAxOjEzOjA4ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzEyMS85MDZdIGF2b2lkIHVzZSBvZiBHTFNMIGZ1bmN0aW9ucyB3aGVuIGZyYWdtZW50X3NoYWRlciBpcyBub3QgYXZhaWxhYmxlCgoyMDA4LTA3LTExIDA2OjI0OjI3ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzEyMC85MDZdIGdpdC1zdm4taWQ6IHN2bjovL3N2bi53b2Jvdy5jb20vR1N0cmVhbWVyX3BsYXlncm91bmQvZ3N0LXBsdWdpbnMtZ2xANTgwIDkzZGYxNGJiLTBmNDEtN2E0My04MDg3LWQzZTJhMmYwZTQ2NAoKMjAwOC0wNy0xMCAyMzo1MzozNiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMTE5LzkwNl0gZ2l0LXN2bi1pZDogc3ZuOi8vc3ZuLndvYm93LmNvbS9HU3RyZWFtZXJfcGxheWdyb3VuZC9nc3QtcGx1Z2lucy1nbEA1NzkgOTNkZjE0YmItMGY0MS03YTQzLTgwODctZDNlMmEyZjBlNDY0CgoyMDA4LTA3LTA3IDIwOjU5OjIwICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFsxMTgvOTA2XSBnaXQtc3ZuLWlkOiBzdm46Ly9zdm4ud29ib3cuY29tL0dTdHJlYW1lcl9wbGF5Z3JvdW5kL2dzdC1wbHVnaW5zLWdsQDU3MyA5M2RmMTRiYi0wZjQxLTdhNDMtODA4Ny1kM2UyYTJmMGU0NjQKCjIwMDgtMDctMDYgMTY6NTA6MjkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFsxMTcvOTA2XSB1cCBndGsgZXhhbXBsZQoKMjAwOC0wNy0wNSAyMjo1NjoyOSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJlZGdlLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJICBbMTE2LzkwNl0gZ2l0LXN2bi1pZDogc3ZuOi8vc3ZuLndvYm93LmNvbS9HU3RyZWFtZXJfcGxheWdyb3VuZC9nc3QtcGx1Z2lucy1nbEA1NjMgOTNkZjE0YmItMGY0MS03YTQzLTgwODctZDNlMmEyZjBlNDY0CgoyMDA4LTA2LTMwIDAwOjM4OjM5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzExNS85MDZdIGdpdC1zdm4taWQ6IHN2bjovL3N2bi53b2Jvdy5jb20vR1N0cmVhbWVyX3BsYXlncm91bmQvZ3N0LXBsdWdpbnMtZ2xANTU2IDkzZGYxNGJiLTBmNDEtN2E0My04MDg3LWQzZTJhMmYwZTQ2NAoKMjAwOC0wNi0yOSAxNzoyNzo0MyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmVkZ2UuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFsxMTQvOTA2XSBnaXQtc3ZuLWlkOiBzdm46Ly9zdm4ud29ib3cuY29tL0dTdHJlYW1lcl9wbGF5Z3JvdW5kL2dzdC1wbHVnaW5zLWdsQDU1NSA5M2RmMTRiYi0wZjQxLTdhNDMtODA4Ny1kM2UyYTJmMGU0NjQKCjIwMDgtMDYtMjggMjM6Mjg6MTEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzExMy85MDZdIGdpdC1zdm4taWQ6IHN2bjovL3N2bi53b2Jvdy5jb20vR1N0cmVhbWVyX3BsYXlncm91bmQvZ3N0LXBsdWdpbnMtZ2xANTU0IDkzZGYxNGJiLTBmNDEtN2E0My04MDg3LWQzZTJhMmYwZTQ2NAoKMjAwOC0wNi0yOCAxNTozODo0MSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFsxMTIvOTA2XSBnaXQtc3ZuLWlkOiBzdm46Ly9zdm4ud29ib3cuY29tL0dTdHJlYW1lcl9wbGF5Z3JvdW5kL2dzdC1wbHVnaW5zLWdsQDU1MiA5M2RmMTRiYi0wZjQxLTdhNDMtODA4Ny1kM2UyYTJmMGU0NjQKCjIwMDgtMDYtMjQgMjI6Mjg6MDMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMTExLzkwNl0gdXAKCjIwMDgtMDYtMjMgMjM6MTI6MzcgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJICBbMTEwLzkwNl0gZ2l0LXN2bi1pZDogc3ZuOi8vc3ZuLndvYm93LmNvbS9HU3RyZWFtZXJfcGxheWdyb3VuZC9nc3QtcGx1Z2lucy1nbEA1NDQgOTNkZjE0YmItMGY0MS03YTQzLTgwODctZDNlMmEyZjBlNDY0CgoyMDA4LTA2LTIzIDE4OjU2OjI5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMTA5LzkwNl0gZ2l0LXN2bi1pZDogc3ZuOi8vc3ZuLndvYm93LmNvbS9HU3RyZWFtZXJfcGxheWdyb3VuZC9nc3QtcGx1Z2lucy1nbEA1NDMgOTNkZjE0YmItMGY0MS03YTQzLTgwODctZDNlMmEyZjBlNDY0CgoyMDA4LTA2LTIxIDIxOjM4OjQyICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmg6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmVkZ2UuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIFsxMDgvOTA2XSBnaXQtc3ZuLWlkOiBzdm46Ly9zdm4ud29ib3cuY29tL0dTdHJlYW1lcl9wbGF5Z3JvdW5kL2dzdC1wbHVnaW5zLWdsQDU0MCA5M2RmMTRiYi0wZjQxLTdhNDMtODA4Ny1kM2UyYTJmMGU0NjQKCjIwMDgtMDYtMTkgMjM6Mzg6MzYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMTA3LzkwNl0gZml4IG9wZW5nbCB2ZXJzaW9uIGNoZWNrZXIKCjIwMDgtMDYtMTYgMjM6MTI6NDggKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZWRnZS5jOgoJICBbMTA2LzkwNl0gdXAgc29iZWwgYWxnbwoKMjAwOC0wNi0xNSAxODozMToxMiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmVkZ2UuYzoKCSAgWzEwNS85MDZdIHVwIFNvYmVsIGZpbHRlciBhbmQgZ2wvZ2xldyB2ZXJzaW9uIGNoZWNrZXIKCjIwMDgtMDYtMTMgMDA6MDE6MjYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmVkZ2UuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZWRnZS5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsxMDQvOTA2XSBzdGFydCB0byBhZGQgYSBnbGZpbHRlcmVkZ2UgdGhhdCBwcm9jZWVkcyBlZGdlIGRldGVjdGlvbiB1c2luZyBHTFNMCgoyMDA4LTA2LTEyIDIxOjQwOjE3ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0L2dsL2dzdGdsZ3JhcGhpY21ha2VyLmM6CgkqIGdzdC9nbC9nc3RnbGdyYXBoaWNtYWtlci5oOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWFrZXIuYzoKCSogZ3N0L2dsL2dzdGdsdmlkZW9tYWtlci5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsxMDMvOTA2XSByZW5hbWUgZ2xncmFwaGljbWFrZXIgLT4gZ2x1cGxvYWQgYW5kIGdsdmlkZW9tYWtlciAtPiBnbGRvd25sb2FkCgoyMDA4LTA2LTExIDIzOjQzOjQxICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSAgWzEwMi85MDZdIHVwCgoyMDA4LTA2LTExIDIzOjQyOjUwICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJICBbMTAxLzkwNl0gaWRlbQoKMjAwOC0wNi0xMSAyMzo0MDo1NyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSAgWzEwMC85MDZdIGZpeCB3YXJuaW5ncyBsaW51eC1zcGVjaWZpYwoKMjAwOC0wNi0xMSAyMzo0MDowMSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkgIFswOTkvOTA2XSB1cCAoc3dpdGNoaW5nIGxpbnV4IGFuZCB3aW4zMikgLi4uIG5vdCBmdW4gZWRpdG9yIC4uLgoKMjAwOC0wNi0xMSAyMzozODozMyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFswOTgvOTA2XSB1cC4uLgoKMjAwOC0wNi0xMSAyMzozNjoyNSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xncmFwaGljbWFrZXIuYzoKCSAgWzA5Ny85MDZdIGZpeCB3YXJuaW5ncwoKMjAwOC0wNi0xMSAyMzozMTo1MyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dsdGVzdHNyYy5oOgoJICBbMDk2LzkwNl0gdXAKCjIwMDgtMDYtMTEgMjM6MjY6MTYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2x0ZXN0c3JjLmg6CgkgIFswOTUvOTA2XSB1cAoKMjAwOC0wNi0xMSAyMzoyMzoxMiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgWzA5NC85MDZdIHVwCgoyMDA4LTA2LTExIDIzOjEyOjUzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzA5My85MDZdIHJlbW92ZSAyIHdhcm5pbmdzCgoyMDA4LTA2LTExIDIzOjA0OjUyICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFswOTIvOTA2XSBGaW5pc2ggdG8gcmV2aXZlIHRoZSBnbHRlc3RzcmMuIE5leHQgc3RlcCBpcyB0byBkbyBzb21lIHJlZmFjdG9yaW5nLgoKMjAwOC0wNi0xMSAxODozMzo1MyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsdGVzdHNyYy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMDkxLzkwNl0gc3RhcnQgdG8gcmV2aXZlIHRoZSBnbHRlc3RzcmMKCjIwMDgtMDYtMTAgMjM6MDA6MzkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMDkwLzkwNl0gdXAKCjIwMDgtMDYtMTAgMjI6NTk6NTcgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMDg5LzkwNl0gYWRkIGEgImdsY29sb3JzY2FsZSIgZWxlbWVudCBlcXVpdmFsZW50IHRvICJmZm1lcGdjb2xvcnNwYWNlICEgdmlkZW9zY2FsZSAhIGZmbXBlZ2NvbG9yc3BhY2UiCgoyMDA4LTA2LTEwIDIyOjA4OjExICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGdyYXBoaWNtYWtlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xncmFwaGljbWFrZXIuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFswODgvOTA2XSBmaXggc29tZSBjYXBzIG5lZ29jaWF0aW9ucyB0aG9zZSBwaXBlbGluZXMgd29ya3MgZmluZSA6IGdzdC1sYXVuY2gtMC4xMCAtdiB2aWRlb3Rlc3RzcmMgISB2aWRlby94LXJhdy15dXYsIHdpZHRoPTMyMCwgaGVpZ2h0PTI0MCAhIGdsZ3JhcGhpY21ha2VyICEgdmlkZW8veC1yYXctZ2wsIHdpZHRoPTcyMCAsIGhlaWdodD01NzYgISBnbGZpbHRlcmN1YmUgISBnbGltYWdlc2luayBhbmQgZ3N0LWxhdW5jaC0wLjEwIC12IHZpZGVvdGVzdHNyYyAhIHZpZGVvL3gtcmF3LXl1diwgd2lkdGg9MzIwLCBoZWlnaHQ9MjQwICEgZ2xncmFwaGljbWFrZXIgISB2aWRlby94LXJhdy1nbCwgd2lkdGg9NzIwICwgaGVpZ2h0PTU3NiAhIGdsaW1hZ2VzaW5rCgoyMDA4LTA2LTEwIDE5OjA3OjQzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWFrZXIuYzoKCSAgWzA4Ny85MDZdIGdsZmlsdGVyIGNhbiBhY2NlcHQgdG8gaGF2ZSBhbiBpbnB1dCBzaXplIGRpZmZlcmVudCB0aGFuIHRoZSBvdXQgcHV0IHNpemUgOiB2aWRlby94LXJhdy1nbCwgd2lkdGg9dzEsIGhlaWdodD13MSAhIGdsZmlsdGVyICEgdmlkZW8veC1yYXctZ2wsIHdpZHRoPXcyLCBoZWlnaHQ9dzIgISAoZml4IGV2ZXJ5IGV4YW1wbGVzKQoKMjAwOC0wNi0wOCAyMjoxMTozNiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFswODYvOTA2XSB1cAoKMjAwOC0wNi0wOCAxMzoxNToxMiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmg6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWFrZXIuYzoKCSAgWzA4NS85MDZdIGZpeCByZWdyZXNzaW9ucyBhYm91dCBnbHZpZGVvbWFrZXIuCgoyMDA4LTA2LTA4IDAyOjE5OjQzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGdyYXBoaWNtYWtlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xncmFwaGljbWFrZXIuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMDg0LzkwNl0gYWRkIGEgZ2xmaWx0ZXJhcHAgd2hpY2ggaG9sZHMgdGhlIGNsaWVudCBkcmF3IGFuZCByZXNoYXBlIGNhbGxiYWNrcyAoc29tZSAid2FudGVkIiByZWdyZXNzaW9ucyBhYm91dCB0aGUgZ2x2aWRlb21ha2VyLCBoYXZlIGJlZW4gZG9uZSB3aXRoIHRoaXMgdmVyc2lvbi4gV2lsbCBiZSBmaXggaW4gbmV4dCBjb21taXRzKQoKMjAwOC0wNi0wNyAyMTo1NjowMCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xncmFwaGljbWFrZXIuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFswODMvOTA2XSBmaW5pc2ggdG8gaW1wbGVtZW50IHRoZSBnbGZpbHRlcjogZXhhbXBsZSA6IGdzdC1sYXVuY2gtMC4xMCB2aWRlb3Rlc3RzcmMgbnVtX2J1ZmZlcnMgPSAxMDAgISBnbGdyYXBoaWNtYWtlciAhIGdsZmlsdGVyY3ViZSAhIGdsaW1hZ2VzaW5rCgoyMDA4LTA2LTA3IDE1OjI3OjEyICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFswODIvOTA2XSBnbGZpbHRlciBjYW4gcmVxdWVzdCwgdXNlIGFuZCByZWplY3QgYSBGQk8gKHN0ZXAgMSkKCjIwMDgtMDYtMDcgMDA6MDE6MTggKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xncmFwaGljbWFrZXIuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzA4MS85MDZdIHN0YXJ0IHRvIGFkZCBhIGdsZmlsdGVyCgoyMDA4LTA1LTI0IDEyOjM1OjM0ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzA4MC85MDZdIGZpeCBnc3RmcmVlZ2x1dCBsaW51eCBpbXBsZW1lbnRhdGlvbiB0byBjb3JyZWN0bHkgaGFuZGxlIHRoZSBnc3R4b3ZlcmxheSBpbnRlcmZhY2UKCjIwMDgtMDUtMjIgMjA6MTA6MzEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMDc5LzkwNl0gdXAKCjIwMDgtMDUtMjEgMjI6NDk6MjEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsdmlkZW9tYWtlci5jOgoJICBbMDc4LzkwNl0gdXAgZnJvbSBrdWJ1bnR1CgoyMDA4LTA1LTIxIDIxOjE3OjQ5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzA3Ny85MDZdIHVwCgoyMDA4LTA1LTIxIDIxOjE1OjQ3ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzA3Ni85MDZdIGNoZWNrIE9wZW5HTCBhbmQgR2xldyB2ZXJzaW9ucwoKMjAwOC0wNS0yMCAxNzo0MDoyMCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdGdsdmlkZW9tYWtlci5jOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21ha2VyLmg6CgkgIFswNzUvOTA2XSBpbmRlbnQKCjIwMDgtMDUtMTkgMjM6MDY6MDcgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMDc0LzkwNl0gdXAKCjIwMDgtMDUtMTkgMjM6MDM6MjIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMDczLzkwNl0gdXAKCjIwMDgtMDUtMTkgMjE6MzY6NTkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMDcyLzkwNl0gdXAKCjIwMDgtMDUtMTkgMjE6Mjg6MjggKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMDcxLzkwNl0gcmVtb3ZlIGFsbCB3YXJuaW5ncwoKMjAwOC0wNS0xOSAxODo0NTo0NiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFswNzAvOTA2XSBpbXBsZW1lbnQgYW5kIGZpeCBvbkNsb3NlOiB3aGVuIGEgdXNlciBjbGljayBvbiB0aGUgY3Jvc3Mgb2YgYW4gaW50ZXJuYWwgd2luZG93ICh0aGVyZSBpcyBub3QgdGhpcyBpc3N1ZSB3aGVuIHVzaW5nIHRoZSBnc3R4b3ZlcmxheSBpbnRlcmZhY2UpCgoyMDA4LTA1LTE5IDE2OjU3OjM5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGdyYXBoaWNtYWtlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xncmFwaGljbWFrZXIuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21ha2VyLmM6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWFrZXIuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMDY5LzkwNl0gYWRkIGdzdHJlYW1lciBsaWNlbnNlCgoyMDA4LTA1LTE4IDIwOjA1OjE4ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzA2OC85MDZdIHVwCgoyMDA4LTA1LTE4IDE5OjU4OjQ5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzA2Ny85MDZdIHVwCgoyMDA4LTA1LTE4IDE5OjE4OjA0ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xncmFwaGljbWFrZXIuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWFrZXIuYzoKCSogZ3N0L2dsL2dzdGdsdmlkZW9tYWtlci5oOgoJICBbMDY2LzkwNl0gdXAKCjIwMDgtMDUtMTggMTc6NTU6NTYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIFswNjUvOTA2XSB1cAoKMjAwOC0wNS0xOCAxNjowNDo1NiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbC5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFswNjQvOTA2XSB1cAoKMjAwOC0wNS0xOCAxNDo0NzowMSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIFswNjMvOTA2XSB1cAoKMjAwOC0wNS0xOCAxMToxMjo0NiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2wuYzoKCSogZ3N0L2dsL2dzdGdsZ3JhcGhpY21ha2VyLmM6CgkqIGdzdC9nbC9nc3RnbGdyYXBoaWNtYWtlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWFrZXIuYzoKCSogZ3N0L2dsL2dzdGdsdmlkZW9tYWtlci5oOgoJICBbMDYyLzkwNl0gZ2l0LXN2bi1pZDogc3ZuOi8vc3ZuLndvYm93LmNvbS9HU3RyZWFtZXJfcGxheWdyb3VuZC9nc3QtcGx1Z2lucy1nbEA0MjEgOTNkZjE0YmItMGY0MS03YTQzLTgwODctZDNlMmEyZjBlNDY0CgoyMDA4LTA3LTE1IDE0OjE2OjUzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsZXh0ZW5zaW9ucy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xleHRlbnNpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsLy5jdnNpZ25vcmU6CgkqIGdzdC9nbC9CVUdTOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9jb2xvcl9tYXRyaXguYzoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdGdsY29udmVydC5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJleGFtcGxlLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMDYxLzkwNl0gRmlyc3QgU1ZOIGNvbW1pdC4gIFRoaXMgY29tbWl0IGlzIGEgaGFjayB0byBtYWtlIGdpdC1yZWJhc2Ugd29yawoKMjAwOC0wMi0yMyAxNToxMDo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMDYwLzkwNl0gCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6IChnc3RfZ2xfYnVmZmVyX2Zvcm1hdF9mcm9tX3ZpZGVvX2Zvcm1hdCk6IAkgIEZpeCBjb21waWxlciB3YXJuaW5nIGlmIHRoZXJlIGFyZSB2aWRlbyBmb3JtYXQgCSAgZW51bXMgZ3N0Z2xidWZmZXIgZG9lc24ndCBrbm93IGFib3V0IHlldC4gKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6IChnc3RfZ2xfZGlzcGxheV91cGxvYWRfdGV4dHVyZV9yZWN0YW5nbGUpLCAoZ3N0X2dsX2Rpc3BsYXlfZHJhd190ZXh0dXJlKTogCSAgRml4IHByaW50ZiBmb3JtYXQgZm9yIDY0LWJpdCBpbnRlZ2Vycy4KCjIwMDgtMDEtMzEgMjM6NDA6MTMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1nbC11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1nbC5wYy5pbjoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgWzA1OS85MDZdICogY29uZmlndXJlLmFjOiAqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbTogKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLXVuaW5zdGFsbGVkLnBjLmluOiAqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZ2wucGMuaW46ICogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWdsLXVuaW5zdGFsbGVkLnBjLmluOiAqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1nbC5wYy5pbjogUmVuYW1lIHBrZ2NvbmZpZyBmaWxlcy4gIEFuZCBpbnN0YWxsIHRoZW0uICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06ICogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzogKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOiBBZGQgc29tZSB0ZXN0cyBjb3BpZWQgZnJvbSAtZ29vZC4KCjIwMDgtMDEtMzEgMjE6MzU6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFswNTgvOTA2XSAJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06IAkgIFRoZSBsaWJyYXJ5IG5lZWRzIHRvIGxpbmsgYWdhaW5zdCBsaWJnc3R2aWRlby0wLjEwLiAJKiBnc3QvZ2wvTWFrZWZpbGUuYW06IAkgIFRoZSBwbHVnaW4gZG9lcyBub3QgKEkgdGhpbmspIG5lZWQgdG8gbGluayBhZ2FpbnN0IEdMIG9yIGxpYmdzdHZpZGVvLCAJICBzaW5jZSBvdXIgbmV3IGdzdHJlYW1lciBHTCBsaWJyYXJ5IGFscmVhZHkgZG9lcyB0aGF0LCBidXQgaXQgZG9lcyAJICBuZWVkIHRvIGxpbmsgYWdhaW5zdCBvdXIgYnJhbmQtbmV3IGxpYmdzdGdsLTAuMTAuCgoyMDA4LTAxLTMxIDIwOjMxOjExICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC8uY3ZzaWdub3JlOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFswNTcvOTA2XSAqIGdzdC9nbC8uY3ZzaWdub3JlOiBpbmdvcmUgc29tZSBmaWxlcyAqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbTogZGlzdGNoZWNrIGZpeGVzICogZ3N0L2dsL01ha2VmaWxlLmFtOiBkaXN0Y2hlY2sgZml4ZXMgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6IC1nb29kIGhhcyB0aGlzIGluIENWUywgc28gd2Ugd2lsbCB0b28uCgoyMDA4LTAxLTMxIDIwOjIxOjI2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFswNTYvOTA2XSAqIGNvbmZpZ3VyZS5hYzogUmVhZGQgcHJlLXBrZ2NvbmZpZyBPcGVuR0wgZGV0ZWN0aW9uLCBzaW5jZSBwa2djb25maWcgcmVxdWlyZXMgTWVzYSBmcm9tIGdpdCBtYXN0ZXIuICogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6ICogZ3N0L2dsL2dzdG9wZW5nbC5jOiBNb3ZlIGRlYnVnIGNhdGVnb3J5IGluaXRpYWxpemF0aW9uIHRvIGVsZW1lbnQuICogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOiAqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOiAqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOiAqIGdzdC9nbC9nc3RnbGZpbHRlci5jOiAqIGdzdC9nbC9nc3RnbGZpbHRlci5oOiBNb3ZlIGdsZmlsdGVyIHRvIGxpYnJhcnkuICogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWdsLnBjLmluOiBBZGQgZ3N0cmVhbWVyLWJhc2UtMC4xMCBhcyBhIHJlcXVpcmVtZW50LiAqIHBvL2VuLnBvOiBVcGRhdGUuCgoyMDA4LTAxLTE4IDE1OjEzOjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMDU1LzkwNl0gCSogY29uZmlndXJlLmFjOiAJKiBkb2NzL01ha2VmaWxlLmFtOiAJKiBnc3QtbGlicy9NYWtlZmlsZS5hbTogCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOiAJKiBnc3QvZ2wvTWFrZWZpbGUuYW06ICogdGVzdHMvTWFrZWZpbGUuYW06IAkgIEZpeCBjb21waWxhdGlvbiBpbiB1bmluc3RhbGxlZCBzZXR1cCBhbmQgc29tZSAgIGRpc3RjaGVjay15IGJpdHMgKG5vdCBhbGwgdGhvdWdoKS4KCjIwMDgtMDEtMTcgMjM6MjM6MzEgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzA1NC85MDZdIEZpeGVzIHRvIG1ha2UgcHJvamVjdCBjb21waWxlLiAgUHJvYmFibHkgc3RpbGwgZG9lc24ndCB3b3JrLiAqIGNvbmZpZ3VyZS5hYzogKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06ICogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOiAqIGdzdC9NYWtlZmlsZS5hbTogKiBnc3QvZ2wvTWFrZWZpbGUuYW06ICogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOiAqIHBvL0xJTkdVQVM6ICogd2luMzIvTUFOSUZFU1Q6CgoyMDA4LTAxLTE3IDE5OjQwOjM2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzA1My85MDZdIEFkZCBwcm9qZWN0IGluZnJhc3RydWN0dXJlLiAgTm90IGNvbXBsZXRlLCBkb2Vzbid0IHdvcmsuICogLmN2c2lnbm9yZTogKiBBVVRIT1JTOiAqIENPUFlJTkc6ICogQ09QWUlORy5MSUI6ICogSU5TVEFMTDogKiBNYWtlZmlsZS5hbTogKiBORVdTOiAqIFJFQURNRTogKiBSRUxFQVNFOiAqIFJFUVVJUkVNRU5UUzogKiBhdXRvZ2VuLnNoOiAqIGNvbmZpZ3VyZS5hYzogKiBkb2NzLy5jdnNpZ25vcmU6ICogZG9jcy9NYWtlZmlsZS5hbTogKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06ICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiAqIGRvY3MvdmVyc2lvbi5lbnRpdGllcy5pbjogKiBleHQvTWFrZWZpbGUuYW06ICogZ3N0LWxpYnMvTWFrZWZpbGUuYW06ICogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOiAqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbTogKiBnc3QtcGx1Z2lucy1nbC5kb2FwOiAqIGdzdC1wbHVnaW5zLWdsLnNwZWMuaW46ICogZ3N0L01ha2VmaWxlLmFtOiAqIG00Ly5jdnNpZ25vcmU6ICogbTQvTWFrZWZpbGUuYW06ICogcGtnY29uZmlnLy5jdnNpZ25vcmU6ICogcGtnY29uZmlnL01ha2VmaWxlLmFtOiAqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1nbC11bmluc3RhbGxlZC5wYy5pbjogKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtZ2wucGMuaW46ICogc3lzL01ha2VmaWxlLmFtOiAqIHRlc3RzL01ha2VmaWxlLmFtOiAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiAqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOiAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOiAqIHRvb2xzL01ha2VmaWxlLmFtOiAqIHdpbjMyL2NvbW1vbi9jb25maWcuaC5pbjoKCjIwMDgtMDEtMDYgMDM6MDE6MzkgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMDUyLzkwNl0gKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDogKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5Lmg6ICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOiBIYW5kbGUgeG92ZXJsYXkgZXhwb3NlcyBjb3JyZWN0bHkuICBUaGlzIG1lYW5zIGdsaW1hZ2VzaW5rIHdvcmtzIGNvcnJlY3RseSBtb3N0IG9mIHRoZSB0aW1lIGluIHRvdGVtIChmdWxsc2NyZWVuaW5nIGJlaW5nIGFuIGV4ZWNwdGlvbikuICBEb2Vzbid0IGhhbmRsZSBleHBvc2UgZXZlbnRzIGRpcmVjdGx5IHRvIHRoZSBHTCB3aW5kb3cuCgoyMDA4LTAxLTA2IDAxOjE5OjQ4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbGV4dGVuc2lvbnMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsZXh0ZW5zaW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFswNTEvOTA2XSAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmM6ICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuaDogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5LmM6ICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuaDogKiBzeXMvZ2xzaW5rL2dzdG9wZW5nbC5jOiBSZWVuYWJsZSB2aWRlby94LXJhdy1yZ2IgYW5kIHgtcmF3LXl1diBmb3IgZ2xpbWFnZXNpbmsuICBFbmFibGUgdmJsYW5rIHN5bmNocm9uaXphdGlvbi4gIFJlbW92ZSB1bnVzZWQgY29kZS4KCjIwMDctMTItMzEgMDc6NTU6MjMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMDUwLzkwNl0gKiBjb25maWd1cmUuYWM6ICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogU3dpdGNoIHRvIHVzaW5nIHBrZ2NvbmZpZyB0byBkZXRlY3QgbGliR0wuICBTaW5jZSB3ZSB1c2UgcmVjZW50IGZlYXR1cmVzIGFkZGVkIHRvIE1lc2EsIHRoZXJlJ3Mgbm8gcG9pbnQgaW4gYWRkaW5nIGEgY2hlY2sgZm9yIHByZS1wa2djb25maWcgdmVyc2lvbnMuCgoyMDA3LTEyLTI5IDAwOjM3OjQwICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbGV4dGVuc2lvbnMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsZXh0ZW5zaW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbGNvbnZlcnQuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJleGFtcGxlLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFswNDkvOTA2XSAqIGNvbmZpZ3VyZS5hYzogKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5jOiAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmg6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDogKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6ICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xjb252ZXJ0LmM6ICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmg6ICogc3lzL2dsc2luay9nc3RnbGZpbHRlcmV4YW1wbGUuYzogKiBzeXMvZ2xzaW5rL2dzdGdsdGVzdHNyYy5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzogTWFqb3IgY2xlYW51cCBvZiBjb2RlLiAgQ29udmVydCBnbHVwbG9hZCB0byBCYXNlVHJhbnNmb3JtLiBIYW5kbGUgY2FwcyBuZWdvdGlhdGlvbiBtb3N0bHkgY29ycmVjdGx5LiAgUmVlbmFibGUgaW4gYnVpbGQuCgoyMDA3LTEyLTI3IDA1OjI2OjA1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzA0OC85MDZdICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzogQ2hhbmdlIGdsaW1hZ2VzaW5rIG92ZXIgdG8gdXNpbmcgR0wgYnVmZmVycy4gIFRoaXMgYnJlYWtzIGdsaW1hZ2VzaW5rIGZvciBub3JtYWwgb3BlcmF0aW9uLCBidXQgc2hvdWxkIGJlIGZpeGVkIHNvb24uCgoyMDA3LTEyLTI3IDA0OjE1OjI2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZXhhbXBsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMDQ3LzkwNl0gKiBzeXMvZ2xzaW5rL2dsdGVzdHNyYy5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzogKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6ICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6ICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXJleGFtcGxlLmM6ICogc3lzL2dsc2luay9nc3RnbHRlc3RzcmMuYzogKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6IENvbnZlcnQgZ2xkb3dubG9hZCB0byBCYXNlVHJhbnNmb3JtLiAgTWFrZSBnbGZpbHRlcmV4YW1wbGUgdmlzdWFsbHkgaW50ZXJlc3RpbmcuICBBZGQgc3VwcG9ydCBmb3IgdmFyaW91cyBmb3JtYXRzIHRvIGRvd25sb2FkaW5nLiAgRml4IGEgZmV3IHBsYWNlcyB3aGVyZSB3ZSBsZWFrIEdMIHN0YXRlIHRvIG90aGVyIGVsZW1lbnRzIChiYWQsIGJ1dCBoYXJkIHRvIHByZXZlbnQpLgoKMjAwNy0xMi0yNyAwMDo1MjoyMiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0L2dsL0JVR1M6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2NvbG9yX21hdHJpeC5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb252ZXJ0LmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZXhhbXBsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFswNDYvOTA2XSAqIHN5cy9nbHNpbmsvQlVHUzogKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOiAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzogKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6ICogc3lzL2dsc2luay9nc3RnbGNvbnZlcnQuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmg6ICogc3lzL2dsc2luay9nc3RnbGZpbHRlcmV4YW1wbGUuYzogKiBzeXMvZ2xzaW5rL2dzdGdsdGVzdHNyYy5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzogKiBzeXMvZ2xzaW5rL2dzdG9wZW5nbC5jOiBSZW1vdmUgY29kZSB0aGF0IGhhbmRsZXMgbm9uLXRleHR1cmUgYnVmZmVycy4gIEFkZCBhIEdzdEdMQnVmZmVyRm9ybWF0IHR5cGUgdGhhdCBjb3JyZXNwb25kcyB0byBob3cgdG8gdXNlIHRoZSB0ZXh0dXJlLCBub3QgdGhlIG9yaWdpbmFsIHZpZGVvIGZvcm1hdC4gIENvbnZlcnQgZ3N0ZmxmaWx0ZXIuYyBpbnRvIGEgYmFzZSBjbGFzcywgYWRkIGdsZmlsdGVyZXhhbXBsZSBhbmQgZ2xjb252ZXJ0IGVsZW1lbnRzLiAqIHN5cy9nbHNpbmsvY29sb3JfbWF0cml4LmM6IE1pbm9yIHJhbWJsaW5ncyBhYm91dCBjb2xvciBjb252ZXJzaW9uIG1hdHJpY2VzLgoKMjAwNy0xMi0yNSAwMDozNDoxMyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMDQ1LzkwNl0gKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOiAqIHN5cy9nbHNpbmsvZ2x0ZXN0c3JjLmM6ICogc3lzL2dsc2luay9nbHRlc3RzcmMuaDogKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzogKiBzeXMvZ2xzaW5rL2dzdGdsdGVzdHNyYy5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2x0ZXN0c3JjLmg6ICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOiAqIHN5cy9nbHNpbmsvZ3N0b3BlbmdsLmM6IEFkZCBnbHRlc3RzcmMgZWxlbWVudCwgYSBkdXBsaWNhdGUgb2YgdmlkZW90ZXN0c3JjIHRoYXQgdXNlcyBHTCByZW5kZXJpbmcgdG8gY3JlYXRlIGltYWdlcy4gIE1vcmUgY2xlYW51cC4KCjIwMDctMTItMjQgMjE6MjY6MzggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBbMDQ0LzkwNl0gKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6ICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6ICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5jOiBDbGVhbiB1cCBjb2RlLiAgRml4IGEgZmV3IGxlYWtzLgoKMjAwNy0xMi0yNCAyMTowNDo0NSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ2x2aWRlby5jOgoJKiBnc3QvZ2wvZ2x2aWRlby5oOgoJICBbMDQzLzkwNl0gKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDogKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6ICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5LmM6ICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuaDogUmVuYW1lIGdsdmlkZW8uW2NoXSB0byBnc3RnbGRpc3BsYXkuW2NoXS4KCjIwMDctMTItMjQgMjA6NTM6NTUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nbHZpZGVvLmM6CgkqIGdzdC9nbC9nbHZpZGVvLmg6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzA0Mi85MDZdICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDogKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6ICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzogKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6IFJld3JpdGUgYSBidW5jaCBvZiBjb2RlIHRvIHVzZSB0ZXh0dXJlcyBhcyB0aGUgaW50ZXJtZWRpYXRlIGluc3RlYWQgb2YgcmVuZGVyYnVmZmVycy4gIHVwbG9hZCwgZG93bmxvYWQsIGZpbHRlcmluZyBhbGwgd29yay4KCjIwMDctMTItMjIgMDU6MDE6NTcgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsZXh0ZW5zaW9ucy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xleHRlbnNpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QvZ2wvZ2x2aWRlby5jOgoJKiBnc3QvZ2wvZ2x2aWRlby5oOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzA0MS85MDZdICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuYzogKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5oOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzogKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6IEEgY2FyZWZ1bCByZWFkIG9mIHRoZSBkb2N1bWVudGF0aW9uIHJldmVhbHMgdGhhdCBJIGNhbid0IHVzZSByZW5kZXJidWZmZXJzIGFzIHRleHR1cmVzLiAgRHVoLiBDaGVja3BvaW50IGJlY2F1c2UgSSdtIGFib3V0IHRvIHJld3JpdGUgYSBidW5jaCBvZiBjb2RlLgoKMjAwNy0xMi0yMSAwMDowMzoxMCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xleHRlbnNpb25zLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbGV4dGVuc2lvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dsdmlkZW8uYzoKCSogZ3N0L2dsL2dsdmlkZW8uaDoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFswNDAvOTA2XSAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06ICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuYzogKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5oOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6ICogc3lzL2dsc2luay9nbHZpZGVvLmM6ICogc3lzL2dsc2luay9nbHZpZGVvLmg6ICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDogKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6ICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOiAqIHN5cy9nbHNpbmsvZ3N0b3BlbmdsLmM6IFN3aXRjaCB0byB1c2luZyBmcmFtZWJ1ZmZlcl9vYmplY3RzIGluc3RlYWQgb2YgR0xYUGl4bWFwcywgYmVjYXVzZSB0aGF0J3Mgd2hhdCBteSBkcml2ZXIgc3VwcG9ydHMuICBSZW1vdmUgR0xEcmF3YWJsZSwgc2luY2UgR3N0R0xEaXNwbGF5IG5vdyBoYXMgYSBkZWZhdWx0IGRyYXdhYmxlIGFuZCBjb250ZXh0LgoKMjAwNy0xMi0xOCAwMToyNTo1NyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dsdmlkZW8uYzoKCSogZ3N0L2dsL2dsdmlkZW8uaDoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSogZ3N0L2dsL2dzdHZpZGVvLWNvbW1vbi5jOgoJKiBnc3QvZ2wvZ3N0dmlkZW8tY29tbW9uLmg6CgkgIFswMzkvOTA2XSAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06ICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDogKiBzeXMvZ2xzaW5rL2dzdG9wZW5nbC5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzogVXNlIG5ldyBHc3RWaWRlb0Zvcm1hdCBjaGVja2VkIGludG8gLWJhc2UuICBBZGQgbmV3IGdsdXBsb2FkIGVsZW1lbnQgdG8gdXBsb2FkIHJhdyB2aWRlbyBpbnRvIGEgR0xYUGl4YnVmLiAgVW50ZXN0ZWQuICBXaWxsIGxpa2VseSBjcmFzaCB5b3VyIG1vdG9yY3ljbGUgaWYgeW91IHRyeSBpdC4gKiBzeXMvZ2xzaW5rL2dzdHZpZGVvLWNvbW1vbi5jOiAqIHN5cy9nbHNpbmsvZ3N0dmlkZW8tY29tbW9uLmg6IFJlbW92ZS4KCjIwMDctMTItMTYgMjI6NTc6MjEgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ2x2aWRlby5jOgoJKiBnc3QvZ2wvZ2x2aWRlby5oOgoJICBbMDM4LzkwNl0gKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOiBSZW5hbWUgR0xWaWRlbyogdG8gR3N0R0wqLgoKMjAwNy0xMi0xNiAwMDoxNjo0NiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xleHRlbnNpb25zLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbGV4dGVuc2lvbnMuaDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ2x2aWRlby5jOgoJICBbMDM3LzkwNl0gKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOiAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmM6ICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuaDogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzogQWRkIHZibGFuayBzeW5jaHJvbml6YXRpb24uICBJc24ndCByZWFsbHkgd29ya2luZyBvbiBteSBkcml2ZXIuIDooCgoyMDA3LTEyLTE1IDE5OjMxOjIzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nbHZpZGVvLmM6CgkqIGdzdC9nbC9nbHZpZGVvLmg6CgkqIGdzdC9nbC9nc3R2aWRlby1jb21tb24uYzoKCSogZ3N0L2dsL2dzdHZpZGVvLWNvbW1vbi5oOgoJICBbMDM2LzkwNl0gKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDogKiBzeXMvZ2xzaW5rL2dzdHZpZGVvLWNvbW1vbi5jOiAqIHN5cy9nbHNpbmsvZ3N0dmlkZW8tY29tbW9uLmg6IEFkZCBzdXBwb3J0IGZvciB4UkdCLCB4QkdSLCBhbmQgQVlVVi4gIFJlLWFkZCBzdXBwb3J0IGZvciBwb3dlci1vZi0yIHRleHR1cmVzLgoKMjAwNy0xMi0xNSAwNjozMzozNiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dsdmlkZW8uYzoKCSogZ3N0L2dsL2dsdmlkZW8uaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJKiBnc3QvZ2wvZ3N0dmlkZW8tY29tbW9uLmM6CgkqIGdzdC9nbC9nc3R2aWRlby1jb21tb24uaDoKCSAgWzAzNS85MDZdICogc3lzL2dsc2luay9nc3R2aWRlby1jb21tb24uYzogKiBzeXMvZ2xzaW5rL2dzdHZpZGVvLWNvbW1vbi5oOiBQdWxsIHRvZ2V0aGVyIHNvbWUgY29tbW9uIHJhdyB2aWRlbyBmdW5jdGlvbnMgaW50byBvbmUgbG9jYXRpb24uIFRoaXMgc2hvdWxkIGV2ZW50dWFsbHkgbW92ZSB0byAtYmFzZS4gKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6ICogc3lzL2dsc2luay9nbHZpZGVvLmM6ICogc3lzL2dsc2luay9nbHZpZGVvLmg6ICogc3lzL2dsc2luay9nc3RvcGVuZ2wuYzogVXNlIHRoZSBuZXcgdmlkZW8tY29tbW9uLmggc3R1ZmYuICBSZWFkZCBzdXBwb3J0IGZvciBSR0IgdmlkZW8uCgoyMDA3LTEyLTE0IDE2OjIzOjA2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFswMzQvOTA2XSB1cGRhdGUgc3BlYyBmaWxlIGFuZCBhZGQgdHdvIG1pc3NpbmcgZmlsZXMgZm9yIGRpc3RpbmcKCjIwMDctMTItMTIgMDI6MzM6MTIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dsdmlkZW8uYzoKCSogZ3N0L2dsL2dsdmlkZW8uaDoKCSAgWzAzMy85MDZdICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6ICogc3lzL2dsc2luay9nbHZpZGVvLmM6ICogc3lzL2dsc2luay9nbHZpZGVvLmg6IFNwbGl0IG91dCBnbC1yZWxhdGVkIGNvZGUgaW50byBhIHNlcGFyYXRlIGZpbGUgd2l0aCBhIHNlbnNpYmxlIEFQSS4gIE1ham9yIGNsZWFudXAuICBTdGlsbCBjcmFzaGVzIG9jY2FzaW9uYWxseSBkdWUgdG8gZGlmZmVyZW50IHRocmVhZHMgdG91Y2hpbmcgYml0cyBhdCB0aGUgc2FtZSB0aW1lLgoKMjAwNy0wNi0wNiAxNTo1ODozMSArMDAwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSAgWzAzMi85MDZdICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2Vfc2lua19zdG9wKSwgKGdzdF9nbGltYWdlX3NpbmtfY3JlYXRlX3dpbmRvdyksIChnc3RfZ2xpbWFnZV9zaW5rX2luaXRfZGlzcGxheSk6IFNwcmlua2xlIGluIHNvbWUgWFN5bmMgY2FsbHMgdG8gYXZvaWQgcmFjaW5lc3Mgd2l0aCBicm9rZW4gZHJpdmVycyAoQVRJKSB3aGVuIHJlLXVzaW5nIGEgc2luZ2xlIGdsaW1hZ2VzaW5rLgoKMjAwNy0wNS0xOCAxMjozOTo0OSArMDAwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSAgWzAzMS85MDZdICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2Vfc2lua19pbml0X2Rpc3BsYXkpOiBVcGRhdGUgdGhlIGNhY2hlZCBjYXBzIGFmdGVyIG9wZW5pbmcgdGhlIGRpc3BsYXkgc28gdGhhdCB3ZSByZXBvcnQgb25seSB0aGUgc3VwcG9ydGVkIGNhcHMgZm9ybWF0cywgbm90IGp1c3QgdGhlIHRlbXBsYXRlIGNhcHMuIEZpeGVzOiAjNDM5NDA1CgoyMDA3LTA0LTAzIDIyOjM2OjQ3ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJICBbMDMwLzkwNl0gKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IEZpeCBoYW5kbGluZyBvZiB2aWRlby94LXJhdy15dXYuICBBZGQgb3ZlcmxheSBoYW5kbGluZy4KCjIwMDYtMDktMjMgMDA6Mjg6MzUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMjkvOTA2XSAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogRml4IHByb2JsZW1zIHdoZW4gdGhlIGVsZW1lbnQgY2Fubm90IG9wZW4gdGhlIGRpc3BsYXkuIChmaXhlcyAjMzU3MjEyKQoKMjAwNi0wOS0yMiAxNTo1OTo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSAgWzAyOC85MDZdICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAocGx1Z2luX2luaXQpOiBMb3dlciByYW5rIGZyb20gU0VDT05EQVJZIHRvIE1BUkdJTkFMLiBQbHVnaW5zIGluIC1iYWQgdGhhdCBtaWdodCBiZSBhdXRvcGx1Z2dlZCBzaG91bGRuJ3QgdHJ1bXAgcGx1Z2lucyBpbiAtYmFzZSwgLWdvb2Qgb3IgLXVnbHkgKGluIHRoaXMgY2FzZSB4aW1hZ2VzaW5rKS4gKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChwbHVnaW5faW5pdCk6IFNldCByYW5rIHRvIE5PTkUgdG8gcHJldmVudCBpdCBmcm9tIGJlaW5nIGF1dG9wbHVnZ2VkIHVudGlsIGVycm9ycyBhcmUgaGFuZGxlZCBwcm9wZXJseSAoc2VlICMzNTcyMTIpLgoKMjAwNi0wOC0xNSAxOToyOTo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSAgWzAyNy85MDZdICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOiAoZ3N0X2ZhbWVlbmNfZ2V0X3Byb3BlcnR5KTogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZV9zaW5rX2dldF9wcm9wZXJ0eSk6IEZpeCBsZWFrcyAoIzM1MTUwMikuCgoyMDA2LTA2LTIzIDA5OjA5OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJICBbMDI2LzkwNl0gKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6ICogZXh0L2dzbS9nc3Rnc21kZWMuYzogKiBleHQvZ3NtL2dzdGdzbWVuYy5jOiAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6ICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6ICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiBVc2UgR1NUX0RFQlVHX0NBVEVHT1JZX1NUQVRJQyB3aGVyZSBwb3NzaWJsZSAoIzM0MjUwMykgYW5kIGZpeCBvbmUgR09iamVjdCBib2lsZXJwbGF0ZSBtYWNyby4KCjIwMDYtMDQtMjUgMjE6NTY6MzggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJICBbMDI1LzkwNl0gKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzogKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzogKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOiAqIGV4dC9hcnRzL2dzdF9hcnRzLmM6ICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOiAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOiAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6ICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOiAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogKiBleHQvYnoyL2dzdGJ6MmRlYy5jOiAqIGV4dC9iejIvZ3N0YnoyZW5jLmM6ICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOiAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6ICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOiAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2Jhc2VfaW5pdCk6ICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfYmFzZV9pbml0KTogKiBleHQvZmFhZC9nc3RmYWFkLmM6ICogZXh0L2dzbS9nc3Rnc21kZWMuYzogKiBleHQvZ3NtL2dzdGdzbWVuYy5jOiAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOiAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzogKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzogKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6ICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfYmFzZV9pbml0KTogKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19iYXNlX2luaXQpOiAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9iYXNlX2luaXQpOiAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3NpbmtfYmFzZV9pbml0KTogKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6ICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzogKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzogKiBleHQvc25kZmlsZS9nc3RzZi5jOiAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6ICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzogKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOiAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6ICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCk6ICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpOiAqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzogKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6ICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzogKGdzdF9jZHhhX3BhcnNlX2Jhc2VfaW5pdCk6ICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfYmFzZV9pbml0KTogKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzogKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6ICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6ICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCk6ICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6ICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6ICogZ3N0L2ZpbHRlci9nc3RpaXIuYzogKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOiAqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzogKGdzdF9wdXp6bGVfYmFzZV9pbml0KTogKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6ICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6ICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6ICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOiAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOiAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzogKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6ICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6ICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzogKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6ICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzogKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOiAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6ICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOiAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOiAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6ICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzogKiBnc3QvdHRhL2dzdHR0YWRlYy5jOiAoZ3N0X3R0YV9kZWNfYmFzZV9pbml0KTogKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX2Jhc2VfaW5pdCk6ICogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzogKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6ICogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzogKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IChnc3RfeGluZ19tdXhfYmFzZV9pbml0KTogKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOiAqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOiAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6ICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6ICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAqIHN5cy92Y2QvdmNkc3JjLmM6IChnc3RfdmNkc3JjX2Jhc2VfaW5pdCk6ICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogRGVmaW5lIEdzdEVsZW1lbnREZXRhaWxzIGFzIGNvbnN0IGFuZCBhbHNvIHN0YXRpYyAod2hlbiBkZWZpbmVkIGFzIGdsb2JhbCkKCjIwMDYtMDQtMDEgMTA6MDk6MTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyBhdCBhcGVzdGFhcnQgZG90IG9yZz4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJICBbMDI0LzkwNl0gcmV3b3JrIGJ1aWxkOyBhZGQgdHJhbnNsYXRpb25zIGZvciB2NGwyCgoyMDA2LTAyLTI1IDIxOjQwOjA4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJICBbMDIzLzkwNl0gMjAwNi0wMi0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogSXQgZG9lc24ndCBzZWVtIHdlIG5lZWQgR0xVLmgKCjIwMDYtMDItMjIgMTQ6Mzc6MjAgKzAwMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSAgWzAyMi85MDZdICAgICAgICAgKiBjb25maWd1cmUuYWM6ICAgICAgICAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOiAgICAgICBNZXJnZSBwYXRjaCBmcm9tICMzMTcwNDggZm9yIGJ1aWxkaW5nIG9uIEN5Z3dpbi4gUGF0Y2ggYnkgQ3lnd2luIFBvcnRzIG1haW50YWluZXIuICAgICAgICAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZV9zaW5rX2luaXRfZGlzcGxheSk6ICAgICAgICAgTW92ZSBub3JtYWwgZGVidWcgb3V0cHV0IHRvIExPRyBsZXZlbCBub3QgRVJST1IuCgoyMDA2LTAyLTE0IDExOjM2OjMwICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBbMDIxLzkwNl0gMjAwNi0wMi0xNCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmMgKGdzdF9nbGltYWdlX3NpbmtfaW5pdCk6IENvbWUgb24KCSAgc2NobGVlZiwgZG9uJ3QgYnJlYWsgbWUgZ3N0LWluc3BlY3QgLWEuCgoyMDA2LTAxLTMwIDE1OjQ3OjQ3ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFswMjAvOTA2XSAyMDA2LTAxLTMwICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW0gKGxpYmdzdGdsaW1hZ2VzaW5rX2xhX0xJQkFERCkKCSAgKGxpYmdzdGdsaW1hZ2VzaW5rX2xhX0NGTEFHUyk6IEFkZCBQTFVHSU5TX0JBU0UgY2ZsYWdzIGFuZCBsaWJzLgoKMjAwNi0wMS0yOCAxMjo0NTo1NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFswMTkvOTA2XSAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06IGdsaW1hZ2VzaW5rLmggaXMgZGVhZCwgbG9uZyBsaXZlIGdsaW1hZ2VzaW5rLmgKCjIwMDYtMDEtMjggMDQ6Mzk6MTggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmg6CgkgIFswMTgvOTA2XSAqIGNvbmZpZ3VyZS5hYzogKiBzeXMvTWFrZWZpbGUuYW06ICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOiByZXZpdmFsIG9mIGdsaW1hZ2VzaW5rLiAgS2luZCBvZiB3b3Jrcy4KCjIwMDUtMTEtMjEgMTQ6MzM6MTEgKzAwMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMTcvOTA2XSAgICAgICAgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiAgICAgICAgICogZXh0L3BvbHlwL3BvbHlwc2luay5jOiAoZ3N0X3BvbHlwc2lua19zaW5rX2ZpeGF0ZSk6ICAgICAgICAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiAoZ3N0X3JmYnNyY19maXhhdGUpOiAgICAgICAgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzogICAgICAgICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlc2lua19maXhhdGUpOiAgICAgICAgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfZml4YXRlKTogICAgICAgICBSZW5hbWUgZ3N0X2NhcHNfc3RydWN0dXJlX2ZpeGF0ZV8qIHRvIGdzdF9zdHJ1Y3R1cmVfZml4YXRlXyogICAgICAgICAoIzMyMjAyNykKCjIwMDUtMTAtMTIgMTQ6Mjk6NTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJICBbMDE2LzkwNl0gKiBleGFtcGxlcy9pbmRleGluZy9pbmRleG1wZWcuYzogKG1haW4pOiAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzogKGdzdF9hcnRzZHNpbmtfb3Blbl9hdWRpbyksIChnc3RfYXJ0c2RzaW5rX2Nsb3NlX2F1ZGlvKSwgKGdzdF9hcnRzZHNpbmtfY2hhbmdlX3N0YXRlKTogKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmg6ICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6IChnc3RfYWZwYXJzZV9vcGVuX2ZpbGUpLCAoZ3N0X2FmcGFyc2VfY2xvc2VfZmlsZSk6ICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmg6ICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzogKGdzdF9hZnNpbmtfb3Blbl9maWxlKSwgKGdzdF9hZnNpbmtfY2xvc2VfZmlsZSksIChnc3RfYWZzaW5rX2NoYWluKSwgKGdzdF9hZnNpbmtfY2hhbmdlX3N0YXRlKTogKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5oOiAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzogKGdzdF9hZnNyY19vcGVuX2ZpbGUpLCAoZ3N0X2Fmc3JjX2Nsb3NlX2ZpbGUpLCAoZ3N0X2Fmc3JjX2NoYW5nZV9zdGF0ZSk6ICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5oOiAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzogKGdzdF9jZGF1ZGlvX2luaXQpOiAqIGV4dC9kaXJlY3RmYi9kaXJlY3RmYnZpZGVvc2luay5jOiAoZ3N0X2RpcmVjdGZidmlkZW9zaW5rX2luaXQpOiAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2luaXQpOiAqIGV4dC9qYWNrL2dzdGphY2suaDogKiBleHQvamFjay9nc3RqYWNrYmluLmM6IChnc3RfamFja19iaW5faW5pdCksIChnc3RfamFja19iaW5fY2hhbmdlX3N0YXRlKTogKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19pbml0KTogKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfaW5pdCk6ICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19vcGVuX2F1ZGlvKSwgKGdzdF9uYXNzaW5rX2Nsb3NlX2F1ZGlvKSwgKGdzdF9uYXNzaW5rX2NoYW5nZV9zdGF0ZSk6ICogZXh0L25hcy9uYXNzaW5rLmg6ICogZXh0L3BvbHlwL3BvbHlwc2luay5jOiAoZ3N0X3BvbHlwc2lua19pbml0KTogKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpOiAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6ICogZXh0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOiAoZ3N0X3Ntb290aHdhdmVfaW5pdCk6ICogZXh0L3NuZGZpbGUvZ3N0c2YuYzogKGdzdF9zZl9zZXRfcHJvcGVydHkpLCAoZ3N0X3NmX2NoYW5nZV9zdGF0ZSksIChnc3Rfc2ZfcmVsZWFzZV9yZXF1ZXN0X3BhZCksIChnc3Rfc2Zfb3Blbl9maWxlKSwgKGdzdF9zZl9jbG9zZV9maWxlKSwgKGdzdF9zZl9sb29wKTogKiBleHQvc25kZmlsZS9nc3RzZi5oOiAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjX2luaXQpOiAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6IChnc3RfdGFya2luZGVjX2luaXQpOiAqIGdzdC9hcGV0YWcvYXBlZGVtdXguYzogKGdzdF9hcGVfZGVtdXhfaW5pdCk6ICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzogKGdzdF9jZHhhcGFyc2VfaW5pdCk6ICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfaW5pdCk6ICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6IChnc3RfZmVzdGl2YWxfY2hhbmdlX3N0YXRlKTogKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuaDogKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6IChnc3RfbXBlZzJzdWJ0X2luaXQpOiAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzogKGdzdF9tdWx0aWZpbGVzaW5rX2luaXQpLCAoZ3N0X211bHRpZmlsZXNpbmtfc2V0X2xvY2F0aW9uKSwgKGdzdF9tdWx0aWZpbGVzaW5rX29wZW5fZmlsZSksIChnc3RfbXVsdGlmaWxlc2lua19jbG9zZV9maWxlKSwgKGdzdF9tdWx0aWZpbGVzaW5rX25leHRfZmlsZSksIChnc3RfbXVsdGlmaWxlc2lua19wYWRfcXVlcnkpLCAoZ3N0X211bHRpZmlsZXNpbmtfaGFuZGxlX2V2ZW50KSwgKGdzdF9tdWx0aWZpbGVzaW5rX2NoYWluKSwgKGdzdF9tdWx0aWZpbGVzaW5rX2NoYW5nZV9zdGF0ZSk6ICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5oOiAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6IChnc3RfdmlkZW9kcm9wX2luaXQpOiAqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOiAoY2RwbGF5ZXJfaW5pdCk6ICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOiAoZHhyM2F1ZGlvc2lua19pbml0KSwgKGR4cjNhdWRpb3Npbmtfb3BlbiksIChkeHIzYXVkaW9zaW5rX2Nsb3NlKSwgKGR4cjNhdWRpb3NpbmtfY2hhaW5fcGNtKSwgKGR4cjNhdWRpb3NpbmtfY2hhaW5fYWMzKSwgKGR4cjNhdWRpb3NpbmtfY2hhbmdlX3N0YXRlKTogKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmg6ICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzogKGR4cjNzcHVzaW5rX2luaXQpLCAoZHhyM3NwdXNpbmtfb3BlbiksIChkeHIzc3B1c2lua19jbG9zZSksIChkeHIzc3B1c2lua19jaGFpbiksIChkeHIzc3B1c2lua19jaGFuZ2Vfc3RhdGUpOiAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmg6ICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOiAoZHhyM3ZpZGVvc2lua19pbml0KSwgKGR4cjN2aWRlb3Npbmtfb3BlbiksIChkeHIzdmlkZW9zaW5rX2Nsb3NlKSwgKGR4cjN2aWRlb3Npbmtfd3JpdGVfZGF0YSksIChkeHIzdmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSk6ICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5oOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlc2lua19pbml0KTogKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6IChnc3RfcWNhbXNyY19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3FjYW1zcmNfb3BlbiksIChnc3RfcWNhbXNyY19jbG9zZSk6ICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5oOiAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2luaXQpOiAqIHN5cy92Y2QvdmNkc3JjLmM6IChnc3RfdmNkc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfdmNkc3JjX2dldCksIChnc3RfdmNkc3JjX29wZW5fZmlsZSksIChnc3RfdmNkc3JjX2Nsb3NlX2ZpbGUpLCAoZ3N0X3ZjZHNyY19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3ZjZHNyY19yZWNhbGN1bGF0ZSk6ICogc3lzL3ZjZC92Y2RzcmMuaDogcmVuYW1lZCBHU1RfRkxBR1MgbWFjcm9zIHRvIEdTVF9PQkpFQ1RfRkxBR1MgbW92ZWQgYml0c2hpZnQgZnJvbSBtYWNybyB0byBlbnVtIGRlZmluaXRpb24KCjIwMDUtMDktMDUgMTc6MjA6MjggKzAwMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMTUvOTA2XSAgICAgICAgICAgRml4IHVwIGFsbCB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9ucy4KCjIwMDQtMTEtMDEgMTQ6NDM6MzggKzAwMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMTQvOTA2XSAqIGV4dC9hbHNhL2dzdGFsc2EuYzogKGdzdF9hbHNhX2NsYXNzX2luaXQpLCAoZ3N0X2Fsc2FfZGlzcG9zZSksICAgICAgICAgKGdzdF9hbHNhX2ZpbmFsaXplKTogKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6IChnc3RfY2RhdWRpb19jbGFzc19pbml0KSwgICAgICAgICAoZ3N0X2NkYXVkaW9fZmluYWxpemUpOiAqIGV4dC9jZHBhcmFub2lhL2dzdGNkcGFyYW5vaWEuYzogKGNkcGFyYW5vaWFfY2xhc3NfaW5pdCksIChjZHBhcmFub2lhX2ZpbmFsaXplKTogKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6IChnc3RfZGl2eGRlY19kaXNwb3NlKTogKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6IChnc3RfZGl2eGVuY19kaXNwb3NlKTogKiBleHQvZHZkcmVhZC9kdmRyZWFkc3JjLmM6IChkdmRyZWFkc3JjX2NsYXNzX2luaXQpLCAgICAgICAgIChkdmRyZWFkc3JjX2ZpbmFsaXplKTogKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY2RlY19jbGFzc19pbml0KSwgKGdzdF9mbGFjZGVjX2ZpbmFsaXplKTogKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY2VuY19jbGFzc19pbml0KSwgICAgICAoZ3N0X2ZsYWNlbmNfZmluYWxpemUpOiAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NpbmsuYzogKGdzdF9nbm9tZXZmc3NpbmtfY2xhc3NfaW5pdCksICAgICAgICAgKGdzdF9nbm9tZXZmc3NpbmtfZmluYWxpemUpOiAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NyYy5jOiAoZ3N0X2dub21ldmZzc3JjX2NsYXNzX2luaXQpLCAoZ3N0X2dub21ldmZzc3JjX2ZpbmFsaXplKTogKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6IChnc3RfZmFtZWVuY19jbGFzc19pbml0KSwgICAgICAgICAoZ3N0X2ZhbWVlbmNfZmluYWxpemUpOiAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3NpbmtfY2xhc3NfaW5pdCksICAgICAgICAgKGdzdF9uYXNzaW5rX2ZpbmFsaXplKTogKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19maW5hbGl6ZSksIChnc3Rfc2RsdmlkZW9zaW5rX2NsYXNzX2luaXQpOiAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6IChnc3Rfc2ZfZGlzcG9zZSk6ICogZ3N0LWxpYnMvZ3N0L21peGVyL21peGVydHJhY2suYzogKGdzdF9taXhlcl90cmFja19kaXNwb3NlKTogKiBnc3QtbGlicy9nc3QvdHVuZXIvdHVuZXJjaGFubmVsLmM6IChnc3RfdHVuZXJfY2hhbm5lbF9kaXNwb3NlKTogKiBnc3QtbGlicy9nc3QvdHVuZXIvdHVuZXJub3JtLmM6IChnc3RfdHVuZXJfbm9ybV9kaXNwb3NlKTogKiBnc3QtbGlicy9nc3QveHdpbmRvd2xpc3RlbmVyL3h3aW5kb3dsaXN0ZW5lci5jOiAoZ3N0X3hfd2luZG93X2xpc3RlbmVyX2Rpc3Bvc2UpOiAqIGdzdC9hdWRpb3NjYWxlL2dzdGF1ZGlvc2NhbGUuYzogKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOiAocGxheV9vbl9kZW1hbmRfY2xhc3NfaW5pdCksIChwbGF5X29uX2RlbWFuZF9maW5hbGl6ZSk6ICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOiAoZ3N0X3ZpZGVvYmFsYW5jZV9kaXNwb3NlKTogKiBnc3QvdmlkZW9zY2FsZS9nc3R2aWRlb3NjYWxlLmM6IChnc3RfdmlkZW9zY2FsZV9jaGFpbik6ICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6IChjZHBsYXllcl9jbGFzc19pbml0KSwgICAgIChjZHBsYXllcl9maW5hbGl6ZSk6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2VzaW5rX2ZpbmFsaXplKSwgICAgICAgICAoZ3N0X2dsaW1hZ2VzaW5rX2NsYXNzX2luaXQpOiAqIHN5cy9vc3MvZ3N0b3NzZWxlbWVudC5jOiAoZ3N0X29zc2VsZW1lbnRfY2xhc3NfaW5pdCksIChnc3Rfb3NzZWxlbWVudF9maW5hbGl6ZSk6ICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3Nzc2lua19kaXNwb3NlKTogKiBzeXMvb3NzL2dzdG9zc3NyYy5jOiAoZ3N0X29zc3NyY19kaXNwb3NlKTogKiBzeXMvdjRsL2dzdHY0bGVsZW1lbnQuYzogKGdzdF92NGxlbGVtZW50X2Rpc3Bvc2UpOiAgICAgICAgICAgRml4ZXMgYSBidW5jaCBvZiBwcm9ibGVtcyB3aXRoIGZpbmFsaXplIGFuZCBkaXNwb3NlIGZ1bmN0aW9ucywgICAgICAgICAgIGVpdGhlciBhc3N1bXB0aW9ucyB0aGF0IGRpc3Bvc2UgaXMgb25seSBjYWxsZWQgb25jZSwgb3Igbm90IGNhbGxpbmcgICAgICAgICAgIHRoZSBwYXJlbnQgY2xhc3MgZGlzcG9zZS9maW5hbGl6ZSBmdW5jdGlvbgoKMjAwNC0wOC0yNyAxOToxODoyNCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSAgWzAxMy85MDZdICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2VzaW5rX3hpbWFnZV9wdXQpLCAoZ3N0X2dsaW1hZ2VzaW5rX3h3aW5kb3dfbmV3KSwgKGdzdF9nbGltYWdlc2lua194Y29udGV4dF9nZXQpLCAoZ3N0X2dsaW1hZ2VzaW5rX2ZpeGF0ZSk6ICBNb3ZlIGxvY2FsIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyB0byBtYWtlIGdjYy0yLjk1IGhhcHB5LgoKMjAwNC0wOC0wOSAyMDoxNjo0OCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvQVJCX211bHRpdGV4dHVyZS5oOgoJKiBnc3QvZ2wvRVhUX3BhbGV0dGVkX3RleHR1cmUuaDoKCSogZ3N0L2dsL05WX3JlZ2lzdGVyX2NvbWJpbmVycy5oOgoJKiBnc3QvZ2wvZ3N0Z2xfbnZpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xfcGRyaW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsX3JnYmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbHNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2x4d2luZG93LmM6CgkqIGdzdC9nbC9yZWdjb21iX3l1dnJnYi5jOgoJICBbMDEyLzkwNl0gKiBzeXMvZ2xzaW5rL0FSQl9tdWx0aXRleHR1cmUuaDogIFJlbW92ZSBvbGQgZmlsZXMuICogc3lzL2dsc2luay9FWFRfcGFsZXR0ZWRfdGV4dHVyZS5oOiAqIHN5cy9nbHNpbmsvTlZfcmVnaXN0ZXJfY29tYmluZXJzLmg6ICogc3lzL2dsc2luay9nc3RnbF9udmltYWdlLmM6ICogc3lzL2dsc2luay9nc3RnbF9wZHJpbWFnZS5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xfcmdiaW1hZ2UuYzogKiBzeXMvZ2xzaW5rL2dzdGdsc2luay5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xzaW5rLmg6ICogc3lzL2dsc2luay9nc3RnbHh3aW5kb3cuYzogKiBzeXMvZ2xzaW5rL3JlZ2NvbWJfeXV2cmdiLmM6CgoyMDA0LTA4LTA5IDIwOjE0OjUxICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nbGltYWdlc2luay5oOgoJICBbMDExLzkwNl0gUGF0Y2ggZnJvbSBHZXJub3QgWmllZ2xlciA8Z3pAbHlzYXRvci5saXUuc2U+IHJld3JpdGluZyB0aGUgR0wgc2luayBwbHVnaW4uICAoQnVnICMxNDczMDIpICogY29uZmlndXJlLmFjOiBUZXN0IGZvciBPcGVuR0wgKiBzeXMvTWFrZWZpbGUuYW06IFVzZSB0ZXN0IGZvciBPcGVuR0wgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogcmV3cml0ZSAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDogcmV3cml0ZQoKMjAwNC0wMy0xNSAxOTozMjoyNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIGF0IGFwZXN0YWFydCBkb3Qgb3JnPgoKCSogZ3N0L2dsL2dzdGdsX252aW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsX3BkcmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbF9yZ2JpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHh3aW5kb3cuYzoKCSogZ3N0L2dsL3JlZ2NvbWJfeXV2cmdiLmM6CgkgIFswMTAvOTA2XSBkb24ndCBtaXggdGFicyBhbmQgc3BhY2VzCgoyMDA0LTAzLTE1IDE2OjMyOjUzICswMDAwICBKb2hhbiBEYWhsaW4gPGpvaGFuQGdub21lLm9yZz4KCgkqIGdzdC9nbC9BUkJfbXVsdGl0ZXh0dXJlLmg6CgkqIGdzdC9nbC9FWFRfcGFsZXR0ZWRfdGV4dHVyZS5oOgoJKiBnc3QvZ2wvTlZfcmVnaXN0ZXJfY29tYmluZXJzLmg6CgkqIGdzdC9nbC9nc3RnbHNpbmsuaDoKCSAgWzAwOS85MDZdICAgICAgICAgKiAqLmg6IFJldmVydCBpbmRlbnRpbmcKCjIwMDQtMDMtMTQgMjI6MzQ6MzIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyBhdCBhcGVzdGFhcnQgZG90IG9yZz4KCgkqIGdzdC9nbC9BUkJfbXVsdGl0ZXh0dXJlLmg6CgkqIGdzdC9nbC9FWFRfcGFsZXR0ZWRfdGV4dHVyZS5oOgoJKiBnc3QvZ2wvTlZfcmVnaXN0ZXJfY29tYmluZXJzLmg6CgkqIGdzdC9nbC9nc3RnbF9udmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbF9wZHJpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xfcmdiaW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbHh3aW5kb3cuYzoKCSogZ3N0L2dsL3JlZ2NvbWJfeXV2cmdiLmM6CgkgIFswMDgvOTA2XSBnc3QtaW5kZW50CgoyMDA0LTAxLTEyIDA0OjE1OjQ3ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9nc3RnbF9udmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbF9wZHJpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xzaW5rLmM6CgkgIFswMDcvOTA2XSAqIGV4dC9mZm1wZWcvZ3N0ZmZtcGVnLmM6ICAqIGV4dC9mZm1wZWcvZ3N0ZmZtcGVnY29kZWNtYXAuYzogICogZXh0L2ZmbXBlZy9nc3RmZm1wZWdkZWMuYzogICogZXh0L2ZmbXBlZy9nc3RmZm1wZWdlbmMuYzogICogZXh0L2ZmbXBlZy9nc3RmZm1wZWdwcm90b2NvbC5jOiAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGthbmltYXRpb24uYzogICogZXh0L2pwZWcvZ3N0anBlZy5jOiAgKiBleHQvbGlicG5nL2dzdHBuZy5jOiAgKiBleHQvbXBlZzJkZWMvcGVyZnRlc3QuYzogICogZXh0L3NwZWV4L2dzdHNwZWV4LmM6ICAqIGdzdC1saWJzL2dzdC9yZXNhbXBsZS9kdG9zLmM6ICAqIGdzdC9pbnRmbG9hdC9nc3RpbnRmbG9hdGNvbnZlcnQuYzogICogZ3N0L29uZXRvbi9nc3RvbmV0b24uYzogICogZ3N0L3J0anBlZy9SVGpwZWcuYzogICogZ3N0L3J0cC9nc3RydHAuYzogICogc3lzL2R4cjMvZHhyM2luaXQuYzogICogc3lzL2dsc2luay9nc3RnbF9udmltYWdlLmM6ICAqIHN5cy9nbHNpbmsvZ3N0Z2xfcGRyaW1hZ2UuYzogICogc3lzL2dsc2luay9nc3RnbHNpbmsuYzogICogdGVzdHN1aXRlL2dzdC1saW50OiAgTWFrZSBzdXJlIGV2ZXJ5Ym9keSB3cmFwcyAjaW5jbHVkZSAiY29uZmlnLmgiIGluICNpZmRlZiBIQVZFX0NPTkZJR19ICgoyMDAzLTEyLTIyIDAxOjQ3OjA4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9nc3RnbHNpbmsuYzoKCSAgWzAwNi85MDZdIE1lcmdlIENBUFMgYnJhbmNoCgoyMDAzLTEyLTA0IDEwOjM3OjM2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xzaW5rLmM6CgkgIFswMDUvOTA2XSByZW1vdmUgY29weXJpZ2h0IGZpZWxkIGZyb20gcGx1Z2lucwoKMjAwMy0xMS0wNyAxMjo0Njo1MiArMDAwMCAgUm9uYWxkIFMuIEJ1bHRqZSA8cmJ1bHRqZUByb25hbGQuYml0ZnJlYWsubmV0PgoKCSogZ3N0L2dsL2dzdGdsX3JnYmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbHh3aW5kb3cuYzoKCSogZ3N0L2dsL3JlZ2NvbWJfeXV2cmdiLmM6CgkgIFswMDQvOTA2XSBSZW1vdmUgYWxsIGNvbmZpZy5oIGluY2x1ZGVzIGZyb20gaGVhZGVyIGZpbGVzLCBhZGQgaXQgdG8gZWFjaCBzb3VyY2UgZmlsZSBhbmQgcmVtb3ZlIGR1cGxpY2F0ZSBjb25maWcuaCBpbmNsdWRlcyBmcm9tIHNldmVyYWwgc291cmNlIGZpbGVzCgoyMDAzLTExLTA2IDAwOjI3OjAzICswMDAwICBtYWRtYWMgPG1hZG1hYz4KCgkqIGdzdC9nbC9nc3RnbHNpbmsuYzoKCSAgWzAwMy85MDZdIHVwZGF0ZXMgdG8gZ2xzaW5rCgoyMDAzLTEwLTMxIDE2OjQwOjIwICswMDAwICBtYWRtYWMgPG1hZG1hYz4KCgkqIGdzdC9nbC9BUkJfbXVsdGl0ZXh0dXJlLmg6CgkqIGdzdC9nbC9nc3RnbF9udmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbF9yZ2JpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHh3aW5kb3cuYzoKCSogZ3N0L2dsL3JlZ2NvbWJfeXV2cmdiLmM6CgkgIFswMDIvOTA2XSBnbHNpbmsgd2l0aCBjb3JyZWN0IHRocmVhZGluZyBzdXBwb3J0CgoyMDAzLTEwLTI4IDE4OjU0OjIwICswMDAwICBtYWRtYWMgPG1hZG1hYz4KCgkqIGdzdC9nbC9BUkJfbXVsdGl0ZXh0dXJlLmg6CgkqIGdzdC9nbC9FWFRfcGFsZXR0ZWRfdGV4dHVyZS5oOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9OVl9yZWdpc3Rlcl9jb21iaW5lcnMuaDoKCSogZ3N0L2dsL2dzdGdsX252aW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsX3BkcmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbF9yZ2JpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHNpbmsuaDoKCSogZ3N0L2dsL2dzdGdseHdpbmRvdy5jOgoJKiBnc3QvZ2wvcmVnY29tYl95dXZyZ2IuYzoKCSAgWzAwMS85MDZdIHdlbGNvbWUgdG8gZ2xzaW5rIGZvciAwLjcueCA6KQoKMjAxNC0wMy0xNCAxODoyMzo1MSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3dpbmtzL01ha2VmaWxlLmFtOgoJKiBzeXMvd2lua3MvZ3N0a3NjbG9jay5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5oOgoJKiBzeXMvd2lua3Mva3NoZWxwZXJzLmM6CgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJICB3aW5rczogcG9ydCB0byAxLjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjA0MQoKMjAxNC0wMy0xNSAxNToxNzo0MyArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgeTRtZGVjOiBjaGVjayBmb3IgVklERU8gbWV0YSBpbnN0ZWFkIG9mIENST1AgbWV0YQoJICBUaGlzIGVsZW1lbnQgb25seSBuZWVkIHN0cmlkZSBzdXBwb3J0LCBidXQgY2hlY2tzIGZvciBDUk9QX01FVEEsIHdoaWNoCgkgIGlzIGEgYml0IHRvbyBtdWNoLCBldmVuIHRob3VnaCB0aGlzIHdvcmtzIGFzIENST1AgaW1wbHkgaGF2aW5nIFZJREVPCgkgIG1ldGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjYyNTUKCjIwMTQtMDMtMDQgMTM6MTk6NTUgKzAxMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBkdmJzcmM6IG1wZWd0czogY2hhbmdlIGJhbmR3aWR0aCB0byBEVkJ2NSB2YWx1ZXMKCSAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU0NjMKCjIwMTMtMTAtMzEgMTQ6Mjc6MTAgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IHRzLXBhcnNlcjogQWRkIHRhYmxlX2lkX25hbWUgZnVuY3Rpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTY4MgoKMjAxMy0xMS0xOSAxMTozNjoxNCArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogdHMtcGFyc2VyOiBBZGQgRFZCIHRlbGV0ZXh0L3N1YnRpdGxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTY4MgoKMjAxNC0wMy0wMyAxMzowNzo0NyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFN1cHBvcnQgQmx1cmF5IERUUy9EVFMtSEQgYW5kIEFDMysvVHJ1ZUhEIHN0cmVhbXMKCSAgQXBhcnQgZnJvbSBqdXN0IGFkZGluZyBkZXRlY3Rpb24gb2YgdGhlIHByb3BlciBzdHJlYW0gdHlwZSwgd2UgYWxzbyBuZWVkIHRvIG9ubHkKCSAgb3V0cHV0IHRoZSBmaXJzdCBzdWJzdHJlYW0gKDB4NzEpIHdoaWNoIGNvbnRhaW5zIHRoZSBjb3JlIHN1YnN0cmVhbS4KCSAgV2hpbGUgdGhpcyBkb2VzIG5vdCBwcm92aWRlICpmdWxsKiBEVFMtSEQgc3VwcG9ydCAoc2luY2UgaXQgd2lsbCBtaXNzIHRoZSBjb21wbGVtZW50YXJ5CgkgIHN1YnN0cmVhbXMpLCBpdCB3aWxsIHN0aWxsIHdvcmsgaW4gdGhlIHdheSBsZWdhY3kgKG5vbi1EVFMtSEQpIGJsdXJheSBwbGF5ZXJzIHdvdWxkIHdvcmsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU1NjMKCjIwMTQtMDMtMTMgMTQ6NDE6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IEZpeCBzdHJpbmcgb3JkZXIgaW4gd2FybmluZyBtZXNzYWdlCgoyMDE0LTAzLTA5IDE4OjQxOjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBBbHdheXMgY2FsY3VsYXRlIHRoZSBjdXJyZW50IGRvd25sb2FkIHJhdGUKCSAgQWxzbyB0YWtlIGludG8gYWNjb3VudCB0aGUgbGFzdCBkb3dubG9hZCByYXRlIHdoZW4KCSAgY2FsY3VsYXRpbmcgaXQuCgoyMDE0LTAzLTExIDEwOjMyOjQ2ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSAgc2JjZW5jOiBBbGxvdyB1c2VyIHRvIHNldCBjaGFubmVsLW1vZGUKCSAgRG9uJ3QgcmV0dXJuIGVycm9yIHdoZW4gY2hhbm5lbC1tb2RlIGlzIGFscmVhZHkgc2V0LCBqdXN0IGNoZWNrIHRoYXQgaXQKCSAgaXMgY29oZXJlbnQgd2l0aCBudW1iZXIgb2YgY2hhbm5lbHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjYwOTgKCjIwMTQtMDMtMTAgMTE6MTk6NDYgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IERpZmZlcmVudGlhdGUgdGhlIG1wZWctMiBzdHJlYW0gZnJvbSBtcGVnLTEgYmFzZWQgb24gcGljX2V4dAoJICBQcmVzZW5jZSBvZiBwaWN0dXJlIGV4dGVuc2lvbiBoZWFkZXIgaWRlbnRpZmllcyB0aGUgc3RyZWFtIGFzIG1wZWcyLgoJICBXZSBhcmUgc3VwcG9zZWQgdG8gc2V0IHRoZSBtcGVndmVyc2lvbiB0byAyIGlmIHRoZXJlIGlzIGEgcGljZXh0ZW5zaW9uCgkgIGluc3RlYWQgb2YgYmxpbmRseSBzZXR0aW5nIHRoZSB2ZXJzaW9uIHRvIDEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjAyOAoKMjAxNC0wMy0xMSAyMjozNjowMSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogc2V0IGEgZ3JvdXAtaWQgb24gdGhlIHN0cmVhbS1zdGFydCBldmVudAoJICBTZXQgYSBkZWZhdWx0IGdyb3VwLWlkIHRvIGZpeCBhIHdhcm5pbmcgcHJpbnRlZCBieSB0aGUgc2luay4KCjIwMTQtMDMtMTAgMjI6NDg6MDQgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1kdXBvbmNoZWxsZTFAZ21haWwuY29tPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSAgZnJlaTByZmlsdGVyOiBmaXggbWVtb3J5IGNvcnJ1cHRpb24gb24gc2luayBjYXBzIGNoYW5nZXMuCgkgIFdoZW4gdGhlIGlucHV0IHNpemUgY2hhbmdlZCwgdGhlIGZyZWkwciBmaWx0ZXJzIGRpZG4ndCB0YWtlCgkgIGl0IGludG8gYWNjb3VudCBhbmQgZW5kZWQgdXAgY29ycnVwdGluZyBtZW1vcnkuCgkgIEZpeGVzICM3MjYwNjkKCjIwMTQtMDMtMTEgMTU6MzA6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJICBhdGRlYzogQWRkIHNvbWUgbW9yZSBkZWJ1ZyBvdXRwdXQKCjIwMTQtMDMtMTEgMTQ6NDc6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5oOgoJICBhdGRlYzogSW1wbGVtZW50IGRyYWluaW5nIHByb3Blcmx5CgoyMDE0LTAzLTExIDE0OjM3OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSAgYXRkZWM6IEZpcnN0IGRlcXVldWUgYSBidWZmZXIgYmVmb3JlIGVucXVldWVpbmcgYW55dGhpbmcgZnJvbSB0aGUgcXVldWUKCSAgUmVxdWlyZWQgZm9yIG9mZmxpbmUgcmVuZGVyaW5nIGFjY29yZGluZyB0byB0aGUgZG9jcy4gd3RmLgoKMjAxNC0wMy0xMSAxNDozMjoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmg6CgkgIGF0ZGVjOiBLZWVwIHRyYWNrIG9mIHRoZSBjdXJyZW50IHBvc2l0aW9uCgkgIEl0J3MgcmVxdWlyZWQgdG8gc2V0IGEgdmFsaWQgc2FtcGxlIHRpbWUgZm9yIGRlY29kaW5nIG9uIGlPUy4KCjIwMTQtMDMtMTEgMTQ6MjQ6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5oOgoJICBhdGRlYzogQWx3YXlzIHRyeSB0byBwdWxsIG9uZSBkZWNvZGVkIGZyYW1lIG91dCBvZiB0aGUgcXVldWUKCSAgLi4uIGluc3RlYWQgb2YgZG9pbmcgbWFnaWMgY2FsY3VsYXRpb25zIHdpdGggdGhlIGJ1ZmZlciBkdXJhdGlvbi4KCjIwMTQtMDMtMTEgMTQ6MjI6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJICBhdGRlYzogSGFuZGxlIGVycm9ycyBpbiBoYW5kbGVfZnJhbWUoKSBwcm9wZXJseQoKMjAxNC0wMy0xMSAxNDoxNDoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkgIGF0ZGVjOiBDYWxsIEF1ZGlvUXVldWVSZXNldCgpIGZvciBmbHVzaGluZwoJICBBdWRpb1F1ZXVlRmx1c2goKSBpcyBmb3IgZHJhaW5pbmcgYWxsIHJlbWFpbmluZyBkYXRhLgoKMjAxNC0wMy0xMSAxMToxODoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dHV0aWwuYzoKCSAgYXRkZWM6IFNldCBjb3JyZWN0IG51bWJlciBvZiBmcmFtZXMgZm9yIE1QMwoKMjAxNC0wMy0xMSAxMToxODoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkgIGF0ZGVjOiBJbml0aWFsaXplIHRoZSBhdWRpbyBkZXNjcmlwdGlvbiB3aXRoIHplcm9lcwoKMjAxNC0wMy0xMSAxMToxNDoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkgIGF0ZGVjOiBTZXQgdGhlIGNvcnJlY3QgbGF5ZXIgZGVwZW5kaW5nIG9uIHRoZSBNUDMgY2FwcwoKMjAxNC0wMy0xMSAxMDoyNjozNCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdmlkZW9zaWduYWwgd2FzIHBvcnRlZCBhbG1vc3QgYSB5ZWFyIGFnbwoKMjAxNC0wMy0wOSAxOTozODozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogRml4IGNvbXBhcmlzb24gaW4gYml0cmF0ZSBzZWxlY3Rpb24KCjIwMTQtMDMtMDcgMTI6MTE6NTkgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IHNldCBwcm94eSBhbGxvY2F0aW9uIGZsYWcgb24gdGhlIHZpZGVvIHNpbmsgcGFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU4OTMKCjIwMTQtMDMtMDcgMTY6MjI6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgbTN1ODogRml4IG9mZi1ieS1vbmUgaW4gdGhlIGRvd25sb2FkIHJhbmdlIGVuZAoKMjAxNC0wMy0wNyAxNjoyMjoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdGZyYWdtZW50LmM6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWQ6IEhhbmRsZSBubyBidWZmZXJzIGJlZm9yZSBFT1MgYXMgZXJyb3IgaW5zdGVhZCBvZiBjcmFzaGluZwoKMjAxNC0wMy0wNiAyMzoxNDoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogSW1wbGVtZW50IHByb3BlciBzZWdtZW50IGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU4NDYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzI2OAoKMjAxNC0wMy0wNSAxMDo0NzowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3RmcmFnbWVudC5jOgoJICBobHNkZW11eDogSW1wbGVtZW50IGhhbmRsaW5nIG9mIGJ5dGUgcmFuZ2VzCgoyMDE0LTAyLTI3IDEwOjU0OjEwICswMTAwICBaYWxsZXNvdiA8emFsbGVzb3ZAZ21haWwuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRml4IHNlZWtpbmcgZnVydGhlciB0aGFuIHRyYWNrIGR1cmF0aW9uCgkgIERvbid0IGZhaWwgdGhlIHNlZWsgYnV0IGluc3RlYWQgc2VuZCBhbiBFT1MgZXZlbnQgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZC4KCjIwMTQtMDMtMDUgMTY6MDI6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBTd2l0Y2ggcGxheWxpc3RzIGFmdGVyIHB1c2hpbmcgdGhlIGZyYWdtZW50CgkgIE1ha2VzIHN1cmUgd2UgcHJvcGVybHkgc2V0IHRoZSBkaXNjb250IGZsYWcgZm9yIHRoZSBuZXh0IGJ1ZmZlciwKCSAgbm90IHRoZSBjdXJyZW50IG9uZS4KCjIwMTQtMDEtMTAgMTc6Mzg6MDkgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IGhhbmRsZSB2aWRlby94LXJhdyhBTlkpIGlmIGRvd25zdHJlYW0gc3VwcG9ydHMgdGhlIEdzdFZpZGVvT3ZlcmxheUNvbXBvc2l0aW9uTWV0YSBBUEkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTk1MAoKMjAxNC0wMy0wNCAxNzoyNToyMyArMDIwMCAgQW5kcmVzIEdvbWV6IDxhZ29tZXpAaWdhbGlhLmNvbT4KCgkqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuYzoKCSAgd2luaW5ldDogImlyYWRpby1tb2RlIiBwcm9wZXJ0eSBkZWZhdWx0cyB0byBUUlVFCgkgIEFzIHBlciBkaXNjdXNzZWQgaW4gYnVnICM3MjUzODMsIGl0IGRvZXNuJ3QgbWFrZSBtdWNoIHNlbnNlIHRvIGRlZmF1bHQKCSAgdG8gRkFMU0UgaW4gdGhlICJpcmFkaW8tbW9kZSIgcHJvcGVydHkuIEJldHRlciwgbGV0J3Mgc2VudCB0aGUgaGVhZGVyCgkgIGJ5IGRlZmF1bHQgYW5kIGp1c3QgaWdub3JlIGhlYWRlcnMgdGhhdCBhcmUgbm90IHVuZGVyc3Rvb2QsIGlmIHNvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1NjU5CgoyMDE0LTAzLTA1IDAwOjUxOjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBnMTIzYXVkaW9kZWMuYzoKCSAgdGVzdHM6IGZpeCBtcGcxMjNhdWRpb2RlYyB0ZXN0IGZvciBiaWctZW5kaWFuIGFyY2hpdGVjdHVyZXMKCjIwMTQtMDMtMDUgMTE6MjA6MjcgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICByYXdwYXJzZTogaW5jcmVhc2UgZnJhbWVyYXRlIHRvIG1heGludAoKMjAxNC0wMy0wNSAxMDo1NDo0NyArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBpbmNyZWFzZSBtYXhpbXVtIGZyYW1lcmF0ZQoKMjAxNC0wMy0wMiAwNToyNTo0OCArMDEwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogSWdub3JlIGdjb3YgaW50ZXJtZWRpYXRlIGZpbGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU0ODEKCjIwMTQtMDMtMDEgMTc6MTM6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogSW1wbGVtZW50IHByb3BlciBoYW5kbGluZyBvZiBkaXNjb250aW51aXRpZXMKCSAgSXQncyBub3QgcmVhbGx5IGNvcnJlY3QgeWV0IGZvciBzZWVrcyBidXQgYmV0dGVyIHRoYW4gd2hhdAoJICB3ZSBoYWQgYmVmb3JlLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTg0NgoKMjAxNC0wMi0yOCAxMToxNjoyNyAtMDgwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHBlbmM6IHVucmVmIGNhcHMgYWZ0ZXIgZ3N0X3F1ZXJ5X3NldF9jYXBzX3Jlc3VsdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1NDEyCgoyMDE0LTAyLTI1IDExOjQ1OjQ2ICswMDAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IFNlZ2ZhdWx0cyBpZiBwbGF5bGlzdCBoYXMgbm8gbWVkaWEgZmlsZXMKCSAgaGxzZGVtdXggY2F1c2VzIGEgbnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlIGlmIHRoZSBtZWRpYSBwbGF5bGlzdAoJICBkb2VzIG5vdCBjb250YWluIGFueSBtZWRpYSBmaWxlcy4gVGhlIGdzdF9tM3U4X2NsaWVudF9nZXRfZHVyYXRpb24KCSAgZnVuY3Rpb24gYXNzdW1lcyB0aGF0IGRlbXV4LT5jbGllbnQtPmN1cnJlbnQtPmZpbGVzIGlzIHZhbGlkIHdoZW4KCSAgY29tcHV0aW5nIGR1cmF0aW9uLgoJICBnc3RfbTN1OF9jbGllbnRfdXBkYXRlIG5lZWRlZCB0byBiZSBtb2RpZmllZCB0byBjaGVjayBmb3IgdGhlCgkgIGNhc2Ugb2YgZG93bmxvYWRpbmcgYW4gTTNVOCBmaWxlIHRoYXQgZG9lc24ndCBjb250YWluIGFueSBtZWRpYQoJICBmaWxlcywgYW5kIHJldHVybmluZyBhbiBlcnJvciB0byBnc3RobHNkZW11eC5jCgkgIFRoaXMgYnVnIGNhbiBiZSByZXByb2R1Y2VkIGJ5IGNyZWF0aW5nIGEgbWFzdGVyIG0zdTggZmlsZSB0aGF0CgkgIGNvbnRhaW5zIG9uZSBtZWRpYSBwbGF5bGlzdCB0aGF0IHBvaW50cyBiYWNrIHRvIHRoZSBtYXN0ZXIgbTN1OAoJICBmaWxlLiAgRm9yIGV4YW1wbGUgY3JlYXRlIGEgZmlsZSBjYWxsZWQgYnVnNzI1MTM0Lm0zdTg6CgkgICNFWFRNM1UKCSAgI0VYVC1YLVZFUlNJT046NAoJICAjRVhULVgtU1RSRUFNLUlORjpQUk9HUkFNLUlEPTEsIEJBTkRXSURUSD0xMjUxMTM1LCBDT0RFQ1M9ImF2YzEuNDIwMDFmIG1wNGEuNDAuMiIsIFJFU09MVVRJT049NjQweDM1MgoJICBidWc3MjUxMzQubTN1OAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MTM0CgoyMDE0LTAyLTI4IDA5OjM0OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmZTE2NzJlIHRvIGJjYjE1MTgKCjIwMTQtMDItMjcgMjI6Mjg6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IERvbid0IHdyaXRlIGFmdGVyIHRoZSBlbmQgb2YgdGhlIHBzbSBhcnJheSB3aGVuIGluaXRpYWxpc2luZyBpdAoKMjAxNC0wMi0yNyAyMTo0NTozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc3JjLmM6CgkgIG9wZW5hbHNyYzogUmVtb3ZlIHVudXNlZCBmdW5jdGlvbiB0byBmaXggY29tcGlsZXIgd2FybmluZwoKMjAxNC0wMi0yNyAyMTo0MTo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM3RhZzogUmVtb3ZlIHVudXNlZCBmdW5jdGlvbiB0byBmaXggY29tcGlsZXIgd2FybmluZwoKMjAxNC0wMi0yNyAxNTo0OToyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEluaXQgYW5kIGNsZWFyIGEgbXV0ZXgKCSAgR0xpYiBpbml0aWFsaXNlcyBhdXRvbWF0aWNhbGx5IGZvciB1cyBmb3Igc29tZSByZWFzb24uLi4gYnV0IG9mIGNvdXJzZQoJICBkb2VzIG5vdCBjbGVhciB0aGUgbXV0ZXggb25jZSB0aGUgZGVtdXhlciBpcyBkZXN0cm95ZWQuCgoyMDE0LTAyLTI3IDE1OjQxOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogVW5yZWYgc2VlayBldmVudHMgYmVmb3JlIHJldHVybmluZyBmcm9tIHRoZSBzZWVrIGhhbmRsZXIKCSAgT3RoZXJ3aXNlIHdlIGxlYWsgdGhlbSBhbGwuCgoyMDE0LTAyLTI3IDEyOjAyOjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBGaXggZGVidWcgb3V0cHV0IHRvIGRlc2NyaWJlIHRoZSBuZXcgcmVhbGl0eQoKMjAxNC0wMi0yNyAxMTo1MzoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogV2FybmluZyBtZXNzYWdlcyBhcmUgbm90IGZhdGFsCgkgIEFsc28gdGhleSBuZWVkIHRvIGJlIHBhcnNlZCB3aXRoIGdzdF9tZXNzYWdlX3BhcnNlX3dhcm5pbmcoKSwKCSAgZ3N0X21lc3NhZ2VfcGFyc2VfZXJyb3IoKSBkb2VzIG5vdCB3b3JrIG9uIHRoZW0uCgoyMDE0LTAyLTI2IDIyOjI2OjQ4ICswMTAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIGRvY3M6IG1wZWd0czogYWRkIG1pc3NlZCBkb2NzCgkgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1Mjc4CgoyMDE0LTAyLTI2IDIxOjA4OjIzICswMTAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICBkb2NzOiBkdmJzcmM6IGFkZCBtaXNzZWQgYXJncwoJICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTI3OAoKMjAxNC0wMi0yNiAyMjoxMjoyMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMWEwN2RhOSB0byBmZTE2NzJlCgoyMDE0LTAyLTI2IDE5OjE4OjU0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9NYWtlZmlsZS5hbToKCSAgZG9jczogcmVtb3ZlIHN0cmF5ICggaW4gTWFrZWZpbGUuYW0KCjIwMTQtMDItMjQgMjI6NTM6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBmb3J3YXJkIHRhZ3MgdGhhdCBoYXZlIGdsb2JhbCBzY29wZQoJICBJbnN0ZWFkIG9mIGRyb3BwaW5nIGFsbCB0YWcgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDQzOTUKCjIwMTQtMDItMjQgMjI6NDM6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgdHNkZW11eDogc3RvcmUgZ2xvYmFsIHRhZ3MgdG8gcHVzaCBsYXRlcgoJICBLZWVwIGEgbGlzdCBvZiBjdXJyZW50IGdsb2JhbCB0YWdzIGFyb3VuZCBhbmQgcHVzaCB0aGVtCgkgIHdoZW5ldmVyIGEgbmV3IHN0cmVhbSBpcyBzdGFydGVkLiBBbHNvIGNvbnZlcnQgYWxsIHN0cmVhbQoJICBzcGVjaWZpYyB0YWdzIHRvIGdsb2JhbCBhcyB0aGV5IGFyZSBzdHJlYW0gc3BlY2lmaWMgZm9yCgkgIHRoZSBjb250YWluZXIsIHNvIHRoZXkgYXJlIGdsb2JhbCBmb3IgdGhlIHN0cmVhbXMgZnJvbQoJICB3aXRoaW4gdGhhdCBjb250YWluZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDQzOTUKCjIwMTQtMDItMjYgMTE6MzI6MDEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL01ha2VmaWxlLmFtOgoJICBkb2NzOiBpbnN0YWxsIHByZWJ1aWx0IHBsdWdpbiBkb2NzIGlmIGd0ay1kb2MgaXMgZGlzYWJsZWQKCSAgU3luYyB0byB0aGUgTWFrZWZpbGUuYW0gZnJvbSBnc3QtcGx1Z2luLWJhc2Ugd2hlcmUgaXQgaXMgZG9uZSByaWdodC4KCSAgRml4ZXMgIzcyNTAzNAoKMjAxNC0wMi0yMSAwOTozNjo1MSArMDAwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBGaXggcGFyc2luZyBvZiBDT0RFQ1MgYW5kIFJFU09MVVRJT04KCSAgaGxzZGVtdXggZG9lcyBub3QgY2hlY2sgZm9yIHRoZSAnIicgY2hhcmFjdGVyIGluICNFWFQtWC1TVFJFQU0tSU5GCgkgIGF0dHJpYnV0ZXMuIFRoZSBDT0RFQ1MgcGFyYW1ldGVyIGlzIGFuIGV4YW1wbGUgb2YgYW4gYXR0cmlidXRlCgkgIHRoYXQgbWlnaHQgdXNlIHRoZSAnIicgc3ltYm9sIGFuZCBtaWdodCBjb250YWluIGEgJywnIGNoYXJhY3RlcgoJICBpbnNpZGUgdGhpcyBxdW90ZWQgc3RyaW5nLgoJICBGb3IgZXhhbXBsZTogQ09ERUNTPSJhdmMxLjc3LjMwLCBtcDRhLjQwLjIiCgkgIGhsc2RlbXV4IGRvZXMgbm90IGNvcnJlY3RseSBwYXJzZSB0aGUgUkVTT0xVVElPTiBhdHRyaWJ1dGUsIGl0CgkgIGFzc3VtZXMgdGhhdCBhbiAnPScgY2hhcmFjdGVyIGlzIHVzZWQgdG8gZGVsaW5lYXRlIHRoZSB3aWR0aAoJICBhbmQgaGVpZ2h0IHZhbHVlcywgYnV0IHRoZSBITFMgUkZDIHN0YXRlcyB0aGF0IGEgJ3gnIGNoYXJhY3RlcgoJICBtdXN0IGJlIHVzZWQgYXMgdGhlIGRlbGltaXRlciBiZXR3ZWVuIHdpZHRoIGFuZCBoZWlnaHQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUxNDAKCjIwMTQtMDItMjEgMDk6MzA6NDkgKzAwMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogRml4IGZvciBVUkxzIHRoYXQgY29udGFpbiBhICcvJyBpbiB0aGUgcXVlcnkgcGFyYW1ldGVyCgkgIElmIHRoZSBVUkwgZm9yIHRoZSBtYXN0ZXIgbWFuaWZlc3QgZmlsZXMgY29udGFpbnMgYSAnLycgY2hhcmFjdGVyCgkgIGluIHRoZSBxdWVyeSBwYXJhbWV0ZXIgKGZvciBleGFtcGxlCgkgIGh0dHA6Ly9leGFtcGxlLm5ldC8xMDU0NTU5X2gyNjRfMTUwMGsubXA0L21hc3Rlci5tM3U4P2FjbD0vKjEwNTQ1NTlfaDI2NF8xNTAway5tcDQpLAoJICBobHNkZW11eCBpcyBpbmNvcnJlY3RseSBjb252ZXJ0aW5nIHRoZSByZWxhdGl2ZSBVUkxzIG9mIHRoZSBtZWRpYQoJICBwbGF5bGlzdHMgaW4gdG8gYWJzb2x1dGUgVVJMcy4gSXQgaXMgaW5jb3JyZWN0bHkgdXNpbmcgdGhlIGxhc3QgJy8nIGl0CgkgIGZpbmRzIGluIHRoZSBVUkwuIEFjY29yZGluZyB0byBSRkMzOTg2IHRoZSAnLycgY2hhcmFjdGVyIGlzIGFsbG93ZWQgaW4KCSAgdGhlIHF1ZXJ5IHBhcnQgb2YgdGhlIFVSTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTEzNwoKMjAxMy0xMi0wMiAxMDowMToxMiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJICBlZ2xnbGVzc2luazogbW92ZSBHc3RFR0xJbWFnZUJ1ZmZlclBvb2wgdG8gZ3N0ZWdsIGxpYgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2MDU0CgoyMDE0LTAyLTI1IDEyOjE3OjIwICswMTAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndHMuYzoKCSAgdGVzdDogbXBlZ3RzOiBBZGQgY2hlY2sgZm9yIFNEVAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0OTgxCgoyMDE0LTAyLTIyIDE2OjQ2OjMxICswMTAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBBZGQgY29uc3RydWN0b3IgZm9yIGR2YiBzZXJ2aWNlIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDk4MQoKMjAxNC0wMi0yNSAxMDoyODozOCArMDEwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IG1wZWd0czogQWRkIG5ldyBTRFQgQVBJCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ5ODEKCjIwMTQtMDItMjIgMTY6NDc6NTcgKzAxMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5oOgoJICBtcGVndHM6IEFkZCBzdXBwb3J0IGZvciBjcmVhdGlvbiBvZiBTRFQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDk4MQoKMjAxNC0wMi0yMiAxNjo0MToyMiArMDEwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmg6CgkgIG1wZWd0czogQWRkIHRyYW5zcG9ydF9zdHJlYW1faWQgdG8gR3N0TXBlZ1RzU0RUCgkgIFRoZSB0cmFuc3BvcnRfc3RyZWFtX2lkIGlzIGNvbnRhaW5lZCBpbiB0aGUgc3VidGFibGUgZXh0ZW5zaW9uLgoJICBJbnRyb2R1Y2UgYSB2YXJpYWJsZSBmb3IgcmVhZGFiaWxpdHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ5ODEKCjIwMTQtMDItMjUgMTE6Mjk6MDYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogSW5pdGlhbGl6ZSBQU00gZnVsbHkKCSAgU29tZSBnYXBzIHdlcmUgbWlzc2VkIGluIHRoZSBwcmV2aW91cyB2ZXJzaW9uLiBJbnN0ZWFkIGp1c3QgaW5pdGlhbGl6ZQoJICB0aGUgd2hvbGUgdGFibGUgdG8gLTEgZmlyc3QgYW5kIHRoZW4gZmlsbCB3aGF0IG5lZWRzIHRvIGJlIHNwZWNpZmllZC4KCjIwMTQtMDItMjQgMTU6NTI6NTMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IEZpeCBkZXNjcmlwdG9yIGNoZWNrcwoJICBPbmx5IHVzZSBnX3JldHVybl92YWxfaWZfZmFpbCBvbiBwcm92aWRlZCBkaXJlY3QgYXJndW1lbnRzLiBUaGUgb3RoZXJzIGdldAoJICBjaGVja2VkIGFsbCB0aGUgdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDQ2NAoKMjAxNC0wMi0yNCAxNDo1NjowMyAtMDUwMCAgS2lwcCBDYW5ub24gPGtjYW5ub25AY2l0YS51dG9yb250by5jYT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHNiYWQuYzoKCSAgZGVidWd1dGlsc2JhZC5jIGZhaWxzIGdzdC1pbmRlbnQgY2hlY2sKCSAgdGhpcyBwYXRjaCBpcyAiZ3N0LWluZGVudCBkZWJ1Z3V0aWxzYmFkLmMiCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUwOTAKCjIwMTQtMDItMjIgMTg6MjI6MjYgKzAxMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IG5ldHdvcmtfbmFtZTogQ2hlY2sgY29udmVydGVkIGxlbmd0aAoJICBDaGVjayB0aGUgbGVuZ3RoIG9mIHRoZSBuYW1lIGFyZ3VtZW50IGFmdGVyIGl0IGhhcyBiZWVuIGNvbnZlcnRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzk1MwoKMjAxNC0wMi0wOCAyMjo0NzoyMCArMDEwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9saWJzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3RzLmM6CgkgIHRlc3RzOiBBZGQgdGVzdCBmb3IgbXBlZ3RzIGxpYnJhcnkKCSAgVGVzdHMgZm9yIFBBVCwgUE1ULCBhbmQgTklUCgkgIENyZWF0ZXMgYSBuZXcgdGFibGUsIGFuZCBwb3B1bGF0ZXMgaXQgd2l0aCBkZXNjcmlwdG9ycy4KCSAgUGFyc2VzIHRoZSBuZXdseSBjcmVhdGVkIHRhYmxlcywgYW5kIGNoZWNrcyB0aGUgZGF0YS4KCSAgQ3JlYXRlcyBhIEdzdE1wZWdUc1NlY3Rpb24gZnJvbSB0aGUgdGFibGVzLCBhbmQgcGFja2V0aXplIHRoZSBzZWN0aW9ucy4KCSAgVGhlIHBhY2tldGl6ZWQgc2VjdGlvbiBkYXRhIGlzIGJ5dGUtd2lzZSBjb21wYXJlZCB0byBhIHN0YXRpYyBieXRlIGFycmF5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM5NTMKCjIwMTQtMDItMjQgMTE6MDY6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBnc3QtY2FtZXJhYmluMi10ZXN0OiBuZXcgMS54IHJhdyBjYXBzIGZvcm1hdAoJICBSZW1vdmUgLXl1diBhbmQgLXJnYiBmcm9tIHZpZGVvL3gtcmF3IGFzIHRob3NlIGFyZSBmcm9tIHRoZQoJICBvbGQgMC4xMCB2ZXJzaW9uCgoyMDE0LTAyLTIzIDE1OjE4OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBLZWVwIHRyYWNrIG9mIHRpbWVzdGFtcHMgYnkgYWRkaW5nIHRoZW0gdXAgZHVyaW5nIHBsYXliYWNrCgkgIC4uLmluc3RlYWQgb2YgYWRkaW5nIHRoZW0gZnJvbSB0aGUgc3RhcnQgb2YgcGxheWxpc3QgZXZlcnkgdGltZS4gVGhpcwoJICBhbW9uZyBvdGhlciB0aGluZ3MgZml4ZXMgdGltZXN0YW1wcyBmb3IgbGl2ZSBzdHJlYW1zLCB3aGVyZSB0aGUgcGxheWxpc3QKCSAgaXMgc29tZSBraW5kIG9mIHJpbmdidWZmZXIgb2YgZnJhZ21lbnRzIGFuZCB0aHVzIGFkZGluZyBmcm9tIHRoZSBiZWdpbm5pbmcKCSAgb2YgdGhlIHBsYXlsaXN0IHdpbGwgbWlzcyB0aGUgcGFzdCBmcmFnbWVudHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ5ODMKCjIwMTQtMDItMjMgMTE6MDE6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEZXByZWNhdGUgZnJhZ21lbnRzLWNhY2hlIHByb3BlcnR5CgkgIFRoZSBidWZmZXJpbmcvY2FjaGluZyBpcyBoYW5kbGluZyBjb21wbGV0ZWx5IGRpZmZlcmVudCBub3cgYW5kCgkgIG91dHNpZGUgb2YgaGxzZGVtdXguCgoyMDE0LTAyLTE4IDE5OjE2OjM1IC0wNjAwICBCcmVuZGFuIExvbmcgPHNlbGZAYnJlbmRhbmxvbmcuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5oOgoJICBrYXRlZGVjOiBNZXJnZSBuZXcgdGFncyB3aXRoIGV4aXN0aW5nIHRhZ3MgdG8gcHJldmVudCBvdmVyd3JpdGluZyBkZW11eGVyIHRhZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDY5OQoKMjAxNC0wMi0yMCAxNTowOTozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgZXh0OiBVc2UgQ29kZWMvRGVtdXhlci9BZGFwdGl2ZSBmb3IgdGhlIGFkYXB0aXZlIHN0cmVhbWluZyBkZW11eGVycwoKMjAxNC0wMi0xNyAwOToxOTozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBSZWZhY3RvciB0aHJlYWRpbmcgYW5kIGRvd25sb2FkaW5nCgkgIFdlIG5vdyBkb3dubG9hZCBmcmFnbWVudHMgYXMgZmFzdCBhcyBwb3NzaWJsZSBhbmQgcHVzaCB0aGVtIGRvd25zdHJlYW0KCSAgd2hpbGUgYW5vdGhlciB0aHJlYWQgaXMganVzdCByZXNwb25zaWJsZSBmb3IgdXBkYXRpbmcgbGl2ZSBwbGF5bGlzdHMKCSAgZXZlcnkgbm93IGFuZCB0aGVuLgoJICBUaGlzIHNpbXBsaWZpZXMgdGhlIGNvZGUgYSBsb3QgYW5kIHRvZ2V0aGVyIHdpdGggdGhlIG5ldyBidWZmZXJpbmcKCSAgbW9kZSBmb3IgYWRhcHRpdmUgc3RyZWFtcyBpbiBtdWx0aXF1ZXVlIG1ha2VzIHN0cmVhbXMgc3RhcnQgbXVjaCBmYXN0ZXIuCgkgIEFsc28gc2ltcGxpZnkgdGhyZWFkaW5nIGEgYml0IGFuZCBob3BlZnVsbHkgbWFrZSB0aGUgR3N0VGFzayB1c2FnZSBzYWZlci4KCjIwMTQtMDItMTkgMDk6MzU6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBPbmx5IHN3aXRjaCBwYWRzIGlmIHRoZSBjYXBzIGFyZSBjaGFuZ2luZwoKMjAxNC0wMi0yMSAxMjozMzo0MiArMDAwMCAgQ2hyaXMgQmFzcyA8Zmxvb2JsZWZsYW1AZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZW5zdXJlIHNlZ21lbnRzIGFyZW4ndCBmZXRjaGVkIGJlZm9yZSB0aGV5J3JlIGF2YWlsYWJsZQoJICBJbmNvcnJlY3QgdGltZSBzY2FsaW5nIGluIGdzdF9kYXNoX2RlbXV4X3dhaXRfZm9yX2ZyYWdtZW50X3RvX2JlX2F2YWlsYWJsZSgpCgkgIG1lYW5zIHRoYXQgbWVkaWEgc2VnbWVudHMgYXJlIGZldGNoZWQgYmVmb3JlIHRoZWlyIGF2YWlsYWJsaXR5IHRpbWUuIFRoaXMKCSAgcGF0Y2ggZml4ZXMgdGhpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDg3NQoKMjAxNC0wMi0yMSAxNDowNjoyNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBVbmNvbW1lbnQgUEFUIGNsZWFydXAgaW4gX3Jlc2V0CgkgIFRoZSBQQVQgaXMgcmVsYXRlZCB0byB0aGUgc3RyZWFtLCB3ZSB0aGVyZWZvcmUgd2FudCBpdCBjbGVhcmVkIGFsb25nCgkgIHdpdGggYW55dGhpbmcgc3RyZWFtIHJlbGF0ZWQuCgkgIFRoaXMgY29tbWVudGVkIHNlY3Rpb24gd2FzIGZyb20gdGhlIChvbGQpIG1wZWd0c3BhcnNlIGFuZCAqbWlnaHQqIGhhdmUKCSAgYmVlbiByZWxhdGVkIHRvIHNwZWVkaW5nIHVwIERWQiBzdGFydC11cC4gQnV0IHdlIGhhdmUgYW5vdGhlciBwbGFuIGZvciB0aGF0LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0NzE2CgoyMDE0LTAyLTE4IDEwOjE5OjUyICswMDAwICBDaHJpcyBCYXNzIDxmbG9vYmxlZmxhbUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBpbml0aWFsaXNlIGRlbXV4LT5sYXN0X21hbmlmZXN0X3VwZGF0ZQoJICBkZW11eC0+bGFzdF9tYW5pZmVzdF91cGRhdGUgaXMgbm90IGluaXRpYWxpc2VkIGF0IHN0YXJ0dXAsIHdpdGggdGhlCgkgIGVmZmVjdCB0aGF0IGxpdmUgbWFuaWZlc3RzIGFyZSByZWxvYWRlZCBpbW1lZGlhdGVseSBhZnRlciB0aGUgZG93bmxvYWQKCSAgbG9vcCBiZWdpbnMuIFRoaXMgcGF0Y2ggZml4ZXMgdGhpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDc5MAoKMjAxMy0xMi0yOSAxNjowMDowMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBGaXggdHNfdG9fb2Zmc2V0IGJleW9uZCBsYXN0IG9ic2VydmVkIFBDUgoJICBUaGUgcmVxdWVzdGVkIFRTIG1pZ2h0IGJlIGJleW9uZCB0aGUgbGFzdCBvYnNlcnZlZCBQQ1IuIEluIG9yZGVyIHRvIGNhbGN1bGF0ZQoJICBhIGNvaGVyZW50IG9mZnNldCwgd2UgbmVlZCB0byB1c2UgdGhlIGxhc3QgYW5kIHByZXZpb3VzLXRvLWxhc3QgZ3JvdXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMDM1CgoyMDE0LTAyLTEyIDE4OjE1OjQ0IC0wNjAwICBCcmVuZGFuIExvbmcgPHNlbGZAYnJlbmRhbmxvbmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJICBtcGVndHM6IEFkZCBnc3RfbXBlZ3RzX3NlY3Rpb25fZ2V0X2RhdGEsIHRvIGFsbG93IHVzIHRvIGdldCB0aGUgb3JpZ2luYWwgYmluYXJ5IHNlY3Rpb24gZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDI1NQoKMjAxNC0wMi0yMCAxOTowODozMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IEFkZCBzaXplIGd1YXJkcyBmb3IgZGVzY3JpcHRvcnMgd2hlcmUgbmVlZWRlZAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0NDY0CgoyMDE0LTAyLTIwIDE4OjE0OjUxICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkgIG1wZWctdHM6IFJlbmFtZSBwcml2YXRlIGZ1bmN0aW9uCgkgIENhbGxpbmcgaXQgX2Rlc2NfY2hlY2tzIHdoZW4gaXQgd2FzIGluIGZhY3QgdXNlZCBmb3Igc2VjdGlvbnMgd2FzIGEKCSAgdGFkIGNvbmZ1c2luZyAuLi4KCjIwMTQtMDItMTYgMTA6NDU6MjEgKzAxMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBBZGQgc3VwcG9ydCBmb3IgY29udGVudCBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQwMzQKCjIwMTQtMDItMTYgMTA6NDQ6NTUgKzAxMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBBZGQgc3VwcG9ydCBmb3IgY29tcG9uZW50IGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDAzNAoKMjAxNC0wMi0xNiAxMDo0Mzo1MiArMDEwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IEFkZCBzdXBwb3J0IGZvciBleHRlbmRlZCBldmVudCBkZXNyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDAzNAoKMjAxNC0wMi0xMCAyMTo1MjoyOCArMDEwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IEFkZCBzdXBwb3J0IGZvciBEVkIgdGVycmVzdHJpYWwgZGVsaXZlcnkgc3lzdGVtIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDA2OQoKMjAxNC0wMi0xNiAxMDowOToxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvd2lua3MvTWFrZWZpbGUuYW06CgkgIGNvbmZpZ3VyZTogUmVuYW1lIGFsbCB2YXJpYWJsZXMgcmVsYXRlZCB0byB0aGUgd2lua3MgcGx1Z2luCgkgIEl0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgdG8gY2FsbCB0aGVtIGFmdGVyIGRpcmVjdHNob3cgaWYgdGhleQoJICBhcmUgZm9yIHRoZSB3aW5rcyBwbHVnaW4gb25seS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDEwMAoKMjAxMy0wNC0wOCAxNDowNDoxMCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCB1cGRhdGUgaW50ZXJ2YWwgd2l0aCByZXNwZWN0IG9mIHRoZSBzcGVjCgoyMDE0LTAyLTE0IDEyOjM5OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmg6CgkgIGFtY2F1ZGlvZGVjOiBDYWxjdWxhdGUgbnVtYmVyIG9mIHNhbXBsZXMgcGVyIGZyYW1lIGZvciBNUDMgYW5kIHVzZSB0aGF0CgkgIFNvbWUgYXVkaW8gZGVjb2RlcnMgKGF0IGxlYXN0IHRoZSBNUDMgZGVjb2RlciBvbiBNVEsgYmFzZWQgZGV2aWNlcykgb3V0cHV0cwoJICByYXcgYXVkaW8gaW4gYmF0Y2hlcyBvZiBtdWx0aXBsZSBhdWRpbyBmcmFtZXMuIFdlIG5lZWQgdG8gaGFuZGxlIHRoYXQKCSAgcHJvcGVybHksIG90aGVyd2lzZSB0aGUgYmFzZSBjbGFzcyB3aWxsIGJlIGtpbmQgb2YgdW5oYXBweS4KCjIwMTQtMDItMTQgMTI6MzM6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIGFtY2F1ZGlvZGVjOiBFcnJvciBvdXQgaWYgd2UgZ2V0IGFuIGludmFsaWQgcmF3IGF1ZGlvIGJ1ZmZlciBzaXplCgoyMDE0LTAyLTE0IDEyOjMyOjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogU3RvcmUgcmV0dXJuIHZhbHVlIG9mIGdzdF9jYXBzX21lcmdlX3N0cnVjdHVyZSgpCgkgIFRoZSBpbnB1dHMgYXJlIGJvdGggaW52YWxpZCBhZnRlcndhcmRzLgoKMjAxNC0wMi0xNCAxMjozMToyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IFJlbGVhc2UgYnVmZmVyIHRvIEFuZHJvaWQgaWYgYWxsb2NhdGluZyBvdXRwdXQgZmFpbGVkCgoyMDE0LTAyLTE0IDEyOjI4OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBhbWNhdWRpb2RlYzogUmVsZWFzZSBidWZmZXIgYmFjayB0byBBbmRyb2lkIGlmIGFsbG9jYXRpbmcgb3V0cHV0IGZhaWxzCgoyMDE0LTAyLTEzIDEwOjIxOjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBLZWVwIGFsaXZlIGNvbm5lY3Rpb25zIGlmIHRoZSBzb3VyY2Ugc3VwcG9ydHMgdGhhdAoKMjAxNC0wMi0xMyAxMDowNjo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogUmUtdXNlIG9sZCBzb3VyY2UgZWxlbWVudCBpZiBwb3NzaWJsZQoJICBBbGxvd3MgdG8gaW1wbGVtZW50IGtlZXAtYWxpdmUgaGFuZGxpbmcgaW4gdGhlIHNvdXJjZSBlbGVtZW50LgoKMjAxNC0wMi0xMiAxODo0OToxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogSWdub3JlIGVtcHR5IGxpbmVzIGluIHRoZSBwbGF5bGlzdAoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5IEFuZG9uaSBNb3JhbGVzLgoKMjAxNC0wMi0xMiAxODo0Nzo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogTWFrZSBzdXJlIHRvIGlnbm9yZSBcciBpbiBsaW5lIGVuZGluZ3MgaW4gZXZlcnkgY2FzZQoKMjAxNC0wMi0xMiAxODoyNzoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogR2l2ZSBhIHByb3BlciBuYW1lIHRvIHRoZSBzcmNwYWRzIGFuZCByZW1vdmUgaXQgd2hlbiByZXNldHRpbmcgdGhlIGVsZW1lbnQKCjIwMTQtMDItMTIgMTg6MDY6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IEZpeCBwb3RlbnRpYWwgZGVhZGxvY2sKCSAgVGhlIHN0cmVhbWluZyB0aHJlYWQgbWlnaHQgdXNlIG91ciBsb2NrLCBzbyBzaHV0dGluZwoJICBkb3duIHRoZSBlbGVtZW50IHdoaWxlIGhvbGRpbmcgdGhhdCBsb2NrIGNhbGxzIGZvciBwcm9ibGVtcy4KCjIwMTQtMDItMTIgMTc6NTk6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IFNodXRkb3duIHRoZSBzb3VyY2UgZWxlbWVudCBiZWZvcmUgdW5saW5raW5nIGl0CgkgIE90aGVyd2lzZSB3ZSBtaWdodCBnZXQgd2FybmluZ3MgYWJvdXQgcHVzaGluZyB0byB1bmxpbmtlZCBwYWRzLgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5IEFuZG9uaSBNb3JhbGVzLgoKMjAxNC0wMi0xMiAxNjo0NjozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFN0b3AgbGVha2luZyBHRXJyb3JzIGluIHNvbWUgZXJyb3IgcGF0aHMKCjIwMTItMDUtMTEgMTM6NTg6MjggKzAyMDAgIEdpbCBQZWRlcnNlbiA8Z2l0QGdwb3N0LmRrPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG9uJ3QgcGF1c2UgdGFzayB3aGVuIGl0IGlzIHN0b3BwZWQKCSAgVGhpcyBmaXhlcyBhIHBvdGVudGlhbCBkZWFkLWxvY2sgc2l0dWF0aW9uIGZyb20gR3N0VGFzawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc1ODY5CgoyMDE0LTAyLTEyIDE2OjAxOjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogV2FpdCBmb3IgdGhlIHVwZGF0ZSB0YXNrIHRvIGZpbmlzaCB3aGVuIHNodXR0aW5nIGRvd24KCjIwMTQtMDItMTIgMTU6MzM6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBQcmV2ZW50IHJvdW5kaW5nIGVycm9ycyBkdWUgdG8gZGl2aXNpb24gYnkgdXNpbmcgZ3N0X3V0aWxfdWludDY0X3NjYWxlKCkKCjIwMTMtMDctMjUgMTk6MzY6NDggKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBzY2hlZHVsZSBuZXh0IHVwZGF0ZSBiYXNlZCBvbiB0aGUgZnJhZ21lbnQgZHVyYXRpb24KCjIwMTQtMDItMTIgMTU6MTY6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBQcm9wZXJseSBlcnJvciBvdXQgaWYgY2FwcyBjYW4ndCBiZSB0eXBlZmluZCBpbnN0ZWFkIG9mIHVzaW5nIE5VTEwgY2FwcwoKMjAxMy0wNy0yOSAxODowMDozMSArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBsb2cgZnJhZ21lbnQgdGltZXN0YW1wCgoyMDE0LTAyLTEyIDE0OjEwOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBVc2UgZ19hc2NpaV94ZGlnaXRfdmFsdWUoKSBpbnN0ZWFkIG9mIG91ciBvd24gdmVyc2lvbiBvZiBpdAoKMjAxNC0wMi0xMiAxMzo0MDo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEVycm9yIG91dCBpZiB0aGUga2V5IGlzIG5vdCAxNiBieXRlcyBsYXJnZQoKMjAxNC0wMi0xMiAxMzoxMzozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvd25sb2FkIHBsYXlsaXN0cyB3aXRoIGNvbXByZXNzaW9uLCBrZXlzIGFuZCBmcmFnbWVudHMgd2l0aG91dAoKMjAxNC0wMi0xMiAxMzoxMTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IERvd25sb2FkIHRoZSBtYW5pZmVzdCB3aXRoIGNvbXByZXNzaW9uLCB0aGUgZnJhZ21lbnRzIHdpdGhvdXQKCjIwMTQtMDItMTIgMTM6MTA6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBEb3dubG9hZCBNUEQgd2l0aCBjb21wcmVzc2lvbiwgdGhlIGZyYWdtZW50cyB3aXRob3V0CgoyMDE0LTAyLTEyIDEzOjA4OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmg6CgkgIHVyaWRvd25sb2FkZXI6IEFkZCBzdXBwb3J0IGZvciBjb21wcmVzc2VkIGRvd25sb2FkcwoJICBWZXJ5IHVzZWZ1bCBmb3IgcGxheWxpc3RzLCBsZXNzIHVzZWZ1bCBmb3IgbWVkaWEgZmlsZXMuCgoyMDE0LTAyLTEyIDExOjI2OjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG9uJ3Qgc2V0IHRoZSBlbGVtZW50IHByaXZhdGUgZGF0YSBvbiB0aGUgc3JjcGFkcwoJICBJdCdzIG5vdCB1c2VkIGFueXdheS4KCjIwMTQtMDItMTIgMTE6MjU6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBVc2UgZ3N0X3BhZF91c2VfZml4ZWRfY2FwcygpIG9uIHRoZSBzcmNwYWRzCgoyMDE0LTAyLTEyIDEwOjU5OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBDYWNoZSB0aGUga2V5IGZyYWdtZW50IGluc3RlYWQgb2YgZG93bmxvYWRpbmcgaXQgb3ZlciBhbmQgb3ZlciBhZ2FpbgoKMjAxNC0wMi0xMiAxMDo1ODo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEZpeCBjbGVhbnVwIHdoZW4gZGVjcnlwdGlvbiBmYWlscwoJICBGaXJzdCB1bm1hcCBidWZmZXJzLCB0aGVuIHVucmVmIHRoZW0uIEFuZCBhbHNvIHVucmVmIHRoZQoJICBrZXkgZnJhZ21lbnQuCgoyMDE0LTAyLTExIDE1OjIwOjU4ICswMTAwICBMaWh1YSBMaXUgPGxpaHVhbEBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJICBjdXJsc210cHNpbms6IEluY2x1ZGUgdGltZXpvbmUgaW5mb3JtYXRpb24gaW4gbWFpbCBoZWFkZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDEyNQoKMjAxNC0wMi0xMSAxODoxNTo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogRG9uJ3QgdHJ5IGRlY3J5cHRpb24gaWYgYW4gdW5zdXBwb3J0ZWQgbWV0aG9kIGlzIGZvdW5kCgoyMDE0LTAyLTExIDE4OjE1OjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBQcm9wZXJseSBwYXJzZSBJViBmcm9tIHRoZSBwbGF5bGlzdAoJICBXaXRob3V0IHRoaXMgZXZlcnkgZnJhZ21lbnQncyBmaXJzdCAxNiBieXRlcyB3aWxsIGJlIGNvcnJ1cHRlZAoJICBpZiBub3QgdGhlIGZhbGxiYWNrIElWIGlzIHVzZWQgYnkgdGhlIHBsYXlsaXN0LgoKMjAxNC0wMi0xMSAxNToyNjowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogUmVzZXQgY2FuY2VsbGVkIHN0YXRlIGFmdGVyIGZldGNoaW5nIGFuIFVSSQoJICBPdGhlcndpc2UgaXQgd2lsbCBuZXZlciBldmVyIGJlIGFibGUgdG8gZmV0Y2ggYW55dGhpbmcgYWZ0ZXIgYW4KCSAgZXJyb3IgdW50aWwgdGhlIHVzZXIgcmVzZXRzIGl0IG1hbnVhbGx5LgoKMjAxNC0wMi0xMSAxNDo1NzoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFByb3BhZ2F0ZSBkb3dubG9hZCBlcnJvcnMgcHJvcGVybHkgYW5kIHBvc3QgZXJyb3IgbWVzc2FnZXMgaWYgdGhleSdyZSBmYXRhbAoKMjAxNC0wMi0xMSAxNDoxODozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgZXh0OiBVcGRhdGUgZm9yIEdzdFVyaURvd25sb2FkZXIgQVBJIGNoYW5nZXMKCjIwMTQtMDItMTEgMTQ6MTM6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgdXJpZG93bmxvYWRlcjogUHJvdmlkZSBzb21lIG1vcmUgZGV0YWlscyBhYm91dCBlcnJvcnMgaWYgZG93bmxvYWRpbmcgZmFpbHMKCjIwMTQtMDItMTEgMDk6MjA6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVGhlIHdpbmtzIHBsdWdpbiBpcyBub3QgcG9ydGVkIHRvIDEuMCB5ZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDEwMAoKMjAxNC0wMi0xMCAxNTozODowOCAtMDgwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBjYWxsIGNsb3NlKCkgYWZ0ZXIgc2h1dGRvd24oKQoJICBzaHV0ZG93bigpIGRvZXNuJ3QgY2xvc2UgdGhlIGZpbGUgZGVzY3JpcHRvciBzbyB3ZSBsZWFrIHNvY2tldHMgaWYgd2UKCSAgZG9uJ3QgY2FsbCBjbG9zZSgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0MDc3CgoyMDE0LTAyLTEwIDE0OjMzOjQ5IC0wODAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IHVzZSBzaHV0ZG93bigpIGluc3RlYWQgb2YgY2xvc2UoKQoJICB3ZSBtYWtlIHN1cmUgYm90aCBlbmRzIGdldCBub3RpZmllZCB3aGVuIHRoZSBzb2NrZXQgaXMgY2xvc2VkIGJ5IHVzaW5nCgkgIHNodXRkb3duKCkgaW5zdGVhZCBvZiBjbG9zZSgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0MDc3CgoyMDE0LTAyLTEwIDE4OjI5OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogU3RhcnQgZG93bmxvYWRpbmcgdGhlIG5leHQgZnJhZ21lbnQgaW1tZWRpYXRlbHkgYWZ0ZXIgY2FjaGluZyB0aGUgaW5pdGlhbCBmcmFnbWVudHMKCSAgQW5kIG9ubHkgYWZ0ZXJ3YXJkcyB3YWl0IHVudGlsIGEgZnJhZ21lbnQgd2FzIHBsYXllZC4gT3RoZXJ3aXNlIHdlJ3JlIGtlZXBpbmcKCSAgb3VyIGNhY2hlIG1vc3Qgb2YgdGhlIHRpbWUgYXQgImZyYWdtZW50cy1jYWNoZSIgZnJhZ21lbnRzIG1pbnVzIG9uZS4KCSAgQWxzbyBhbGxvdyBzZXR0aW5nICJmcmFnbWVudHMtY2FjaGUiIHRvIDEgbm93IHRvIHN0YXJ0IHBsYXliYWNrIGV2ZW4gZmFzdGVyLgoKMjAxNC0wMi0xMCAxODoyNzo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFN0YXJ0IGZldGNoaW5nIG5ldyBmcmFnbWVudHMgd2hlbmV2ZXIgd2UgaGF2ZSBsZXNzIGZyYWdtZW50cyBjYWNoZWQgdGhhbiBnaXZlbiBieSB0aGUgZnJhZ21lbnRzLWNhY2hlIHByb3BlcnR5CgkgIFdhaXRpbmcgdW50aWwgb3VyIGNhY2hlIGlzIGVtcHR5IGJlZm9yZSBzdGFydGluZyB0byBmZXRjaCB0aGUgbmV4dCBmcmFnbWVudAoJICBraW5kIG9mIGRlZmVhdHMgdGhlIHB1cnBvc2Ugb2YgY2FjaGluZyBtdWx0aXBsZSBmcmFnbWVudHMuCgoyMDE0LTAyLTEwIDE4OjIxOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRml4IGJpdHJhdGUgY2FsY3VsYXRpb24KCSAgZ19nZXRfbW9ub3RvbmljX3RpbWUoKSByZXR1cm5zIG1pY3Jvc2Vjb25kcywgbm90IG5hbm9zZWNvbmRzLgoKMjAxNC0wMi0xMCAxNzoyNjoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogQWN0dWFsbHkgc3RvcmUgZG91YmxlcyBhcyBzdWNoIGFuZCBkb24ndCB0cnVuY2F0ZSB0aGVtIHRvIGludHMKCSAgRml4ZXMgYnJva2VuIGR1cmF0aW9uIHJlcG9ydGluZy4KCjIwMTQtMDItMTAgMTc6MjU6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IFVzZSBsb2NhbGUtaW5kZXBlbmRlbnQgaW50L2Zsb2F0IHBhcnNpbmcgZnVuY3Rpb25zIGZyb20gR0xpYgoKMjAxNC0wMi0xMCAxNDozNDo0MCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZGRlYy5jOgoJICBmbHVpZGRlYzogYWRkIG1vcmUgc291bmRmb250IHNlYXJjaCBwYXRocwoJICBGZWRvcmEgaW5zdGFsbHMgdGhlIHNvdW5kZm9udHMgaW4gL3Vzci9zaGFyZS9zb3VuZGZvbnRzLyBzbyBtYWtlIHN1cmUgd2UKCSAgbG9vayB0aGVyZSBhcyB3ZWxsLgoKMjAxNC0wMi0xMCAwODoxOTo1MiArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZGRlYy5jOgoJICBDaGFuZ2Ugc291bmRmb250IGZpbGUgc2VhcmNoIHBhdGggZm9yIGZsdWlkZGVjCgkgIFVzZSBnbGliIHRvIGdldCBhIGxpc3Qgb2Ygc3lzdGVtICJzaGFyZSIgZGlyZWN0b3JpZXMsIHRoZW4gZ28gdGhyb3VnaCB0aGF0CgkgIGxpc3QsIGFwcGVuZGluZyAnc291bmRzL3NmMi8nIHRvIGVhY2ggZGlyZWN0b3J5IHRvIGdldCBhIHNvdW5kZm9udCBkaXJlY3RvcnksCgkgIGFuZCBsb29raW5nIGZvciAuc2YyIGZpbGVzIHRoZXJlLgoJICBUaGlzIHdheSBmbHVpZGRlYyBpcyBhYmxlIHRvIGxvYWQgc2YyIGZpbGVzIG9uIFczMiwgYmVjYXVzZSBvdGhlcndpc2UgdGhlCgkgIHBhdGggJy91c3Ivc2hhcmUvc291bmRzL3NmMicgbWFrZXMgbm8gc2Vuc2UgdGhlcmUuCgkgIEZpeGVzICM3MjQwMTMKCjIwMTQtMDItMTAgMDg6MjE6MDQgKzAwMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBGaXggd2lua3MgY29uZmlndXJlIHRlc3QKCSAgRml4ZXMgIzcyMzk5NQoKMjAxNC0wMi0xMCAwODoyMjowNSArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvd2lua3MvTWFrZWZpbGUuYW06CgkgIHdpbmtzOiBNYWtlIGhlYWRlcnMga25vd24gdG8gYXV0b21ha2UKCSAgRml4ZXMgIzcyNDAwMwoKMjAxNC0wMi0wOSAxODo0OTo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2hscy9NYWtlZmlsZS5hbToKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogUHJlZmVyIHRvIHVzZSBuZXR0bGUgZm9yIGRlY3J5cHRpb24gYnV0IGZhbGwtYmFjayB0byBsaWJnY3J5cHQKCSAgbmV0dGxlIGlzIHVzZWQgYnkgbmV3ZXIgdmVyc2lvbnMgb2YgZ251dGxzLCB3aGlsZSBvbGRlciB2ZXJzaW9ucyBvZiBnbnV0bHMKCSAgdXNlZCBsaWJnY3J5cHQuIFN1cHBvcnQgYm90aCBmb3Igbm93IGFzIG5vdCBldmVyeSBkaXN0cm8gaGFzIG5ldHRsZSB5ZXQuCgkgIG5ldHRsZSBpcyBwcmVmZXJyZWQgYXMgaXQgaXMgbW9yZSBlZmZpY2llbnQgdG8gdXNlIGFuZCBtdWNoIHNtYWxsZXIuCgoyMDE0LTAyLTA5IDE4OjE5OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IFVwZGF0ZSB0byBub24tZGVwcmVjYXRlZCBHTGliIHRocmVhZCBBUEkKCjIwMTQtMDItMDkgMTg6MDk6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9obHMvTWFrZWZpbGUuYW06CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogbTQvbGliZ2NyeXB0Lm00OgoJICBobHNkZW11eDogVXNlIGxpYmdjcnlwdCBkaXJlY3RseSBpbnN0ZWFkIG9mIGdvaW5nIHRocm91Z2ggZ251dGxzCgkgIGdudXRscyBpcyBhbHNvIGp1c3Qgd3JhcHBpbmcgZ2NyeXB0LCBidXQgd2UgZG9uJ3QgbmVlZCBhbnkgb2YKCSAgdGhlIFRMUyByZWxhdGVkIGZ1bmN0aW9uYWxpdHkuIFdlIGp1c3QgbmVlZCB0byBiZSBhYmxlIHRvIGRlY3J5cHQKCSAgQUVTMTI4LUNCQy4KCjIwMTQtMDItMDggMjA6MDg6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vcHVzLmM6CgkgIG9wdXM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUgZnJvbSB1bml0IHRlc3QKCjIwMTQtMDItMDggMjA6MDc6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9rYXRlLmM6CgkgIGthdGU6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUgZnJvbSB1bml0IHRlc3QKCjIwMTQtMDItMDggMjA6MDc6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBGaXggY29tcGlsZXIgd2FybmluZyBpbiB0ZXN0CgkgIGVycm9yOiBzdWdnZXN0IGJyYWNlcyBhcm91bmQgaW5pdGlhbGl6YXRpb24gb2Ygc3Vib2JqZWN0IFstV2Vycm9yLC1XbWlzc2luZy1icmFjZXNdCgoyMDE0LTAyLTA4IDE5OjU5OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBGaXggY29tcGFyaXNvbiBjb21waWxlciB3YXJuaW5nCgkgIGVycm9yOiBjb21wYXJpc29uIG9mIGNvbnN0YW50IC0xIHdpdGggZXhwcmVzc2lvbiBvZiB0eXBlCgkgICdHc3RTcnRwQ2lwaGVyVHlwZScgaXMgYWx3YXlzIGZhbHNlCgoyMDE0LTAyLTA4IDE5OjI5OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5oOgoJICBtb3Rpb25jZWxsczogUmVtb3ZlIHVudXNlZCBwcml2YXRlIGZpZWxkcwoKMjAxNC0wMi0wOCAxOToyODoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0c2VnbWVudGF0aW9uLmNwcDoKCSAgc2VnbWVudGF0aW9uOiBGaXggaW50ZWdlciB1bmRlcmZsb3cgY2hlY2sKCSAgZXJyb3I6IGNvbXBhcmlzb24gb2YgdW5zaWduZWQgZXhwcmVzc2lvbiA8IDAgaXMKCSAgYWx3YXlzIGZhbHNlIFstV2Vycm9yLC1XdGF1dG9sb2dpY2FsLWNvbXBhcmVdCgoyMDE0LTAyLTA4IDE4OjU4OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICBkZmJ2aWRlb3Npbms6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgoyMDE0LTAyLTA4IDE4OjU3OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2J6Mi9nc3RiejJkZWMuaDoKCSogZXh0L2J6Mi9nc3RiejJlbmMuaDoKCSAgYnoyOiBGaXggdHlwbyBpbiBoZWFkZXIgaW5jbHVkZSBndWFyZHMKCjIwMTQtMDItMDggMTg6NTY6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXJwb29sLmM6CgkgIHZkcGF1OiBGaXggY29tcGFyaXNvbiBjb21waWxlciB3YXJuaW5nCgkgIGVycm9yOiBjb21wYXJpc29uIG9mIGNvbnN0YW50IC0xIHdpdGggZXhwcmVzc2lvbgoJICBvZiB0eXBlICdjb25zdCBHc3RWaWRlb0Zvcm1hdCcgaXMgYWx3YXlzIGZhbHNlCgoyMDE0LTAyLTA4IDE4OjU0OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NHNyYzogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDE0LTAyLTA4IDE4OjQ4OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzdGFnOiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgkgIGVycm9yOiB2YXJpYWJsZSAnaW1hZ2VfdHlwZScgaXMgdXNlZCB1bmluaXRpYWxpemVkIHdoZW5ldmVyCgkgICdpZicgY29uZGl0aW9uIGlzIGZhbHNlIFstV2Vycm9yLC1Xc29tZXRpbWVzLXVuaW5pdGlhbGl6ZWRdCgoyMDE0LTAyLTA4IDE4OjQ1OjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDE0LTAyLTA4IDE4OjIwOjIyICswMTAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkgIG1wZWd0czogcG10OiBEZXRlY3QgZGVzY3JpcHRvciBsZW5ndGggY29ycmVjdAoKMjAxNC0wMi0wOCAxNzo0MzowMyArMDEwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVndHM6IENvcnJlY3RseSBjaGVjayBmb3IgUEFULFBNVCxDQVQsVFNEVAoKMjAxNC0wMi0wOCAxMzowODowMiArMDEwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVndHM6IEZpeCBzb21lIHBhY2tldGl6aW5nIGJ1Z3MKCSAgLSBMZW5ndGggb2YgTklUIHN0cmVhbSBkZXNjcmlwdG9ycyB3YXMgbm90IGRldGVjdGVkIGNvcnJlY3QKCSAgLSBSZXNlcnZlZCBiaXRzIHdhcyBub3Qgc2V0IGFjY29yZGluZyB0byBFTiAzMDAgNDY4LCBJU08vSUVDIDEzODE4LTEKCSAgLSBBbHNvIHNldCBvdXRwdXQgZGF0YSBzaXplIGlmIHRoZSBzZWN0aW9uIHdhcyBwcmV2aW91c2x5IHBhY2tldGl6ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzg5MgoKMjAxNC0wMi0wNyAxMTo1NDowNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFJlbW92ZSBvciBtb3ZlIHZhcmlhYmxlIGFzc2lnbm1lbnRzCgkgIFRvIHdoZXJlIHRoZXkncmUgbmVlZGVkCgoyMDE0LTAyLTA3IDExOjUzOjM4ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgZHZiLWRlc2NyaXB0b3I6IFJlbW92ZSB1bm5lZWRlZCBpbmNyZW1lbnQKCjIwMTQtMDItMDcgMTE6NDI6NTEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBkdmItZGVzY3JpcHRvcjogRml4IGNvbXBhcmlzaW9uCgkgIHdlIHdhbnQgdG8gc3RvcCBpZiBvbmUgT1IgdGhlIG90aGVyIGlzIE5VTEwuCgoyMDE0LTAyLTA2IDEzOjUzOjQ5ICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBVcGRhdGVkIGRvY3Mgd2l0aCBuZXcgQVBJCgoyMDEzLTExLTE5IDEyOjIxOjMxICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L2NyYy5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5oOgoJICBtcGVndHNtdXg6IFVzZSBtcGVnLXRzIGxpYiBmb3IgUEFUL1BNVCBzZWN0aW9ucwoJICBSZXdyaXRlIG9mIHRoZSBQQVQvUE1UIHNlY3Rpb24gaGFuZGxpbmcgdG8gdXNlIHRoZSBtcGVnLXRzIGxpYnJhcnkKCjIwMTMtMTEtMjAgMTE6MTQ6NDYgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Y29tbW9uLmg6CgkgIG1wZWd0c211eDogQWRkIHN1cHBvcnQgZm9yIG11eGluZyBTSSB0YWJsZXMKCSAgVGhlIG11eGVyIGlzIG5vdyBhYmxlIHRvIGluY2x1ZGUgRFZCIHNlY3Rpb25zIGluIHRoZSB0cmFuc3BvcnQgc3RyZWFtLgoJICBUaGUgc2ktaW50ZXJ2YWwgcHJvcGVydHkgd2lsbCBkZXRlcm1pbmUgaG93IG9mdGVuIHRoZSBTSSB0YWJsZXMgYXJlCgkgIG11eGVkIGludG8gdGhlIHN0cmVhbS4KCSAgVGhlIHNlY3Rpb24gaXMgaGFuZGxlZCBieSB0aGUgbXBlZy10cyBsaWJyYXJ5LiBCZWxvdyBpcyBhIHNtYWxsIGV4YW1wbGUKCSAgdGhhdCB3aWxsIGluY2x1ZGUgYSBOZXRvcmsgSW5mb3JtYXRpb24gVGFibGUgd2l0aCBhIE5ldHdvcmsgTmFtZQoJICBkZXNjcmlwdG9yIGluIHRoZSBzdHJlYW0uCgkgIEdzdE1wZWdUc05JVCAqbml0OwoJICBHc3RNcGVnVHNEZXNjcmlwdG9yICpkZXNjcmlwdG9yOwoJICBHc3RNcGVnVHNTZWN0aW9uICpzZWN0aW9uOwoJICBHc3RFbGVtZW50ICptcGVndHNtdXg7CgkgIGdzdF9tcGVndHNfaW5pdGlhbGl6ZSAoKTsKCSAgbml0ID0gZ3N0X21wZWd0c19zZWN0aW9uX25pdF9uZXcgKCk7CgkgIG5pdC0+YWN0dWFsX25ldHdvcmsgPSBUUlVFOwoJICBkZXNjcmlwdG9yID0gZ3N0X21wZWd0c19kZXNjcmlwdG9yX2Zyb21fZHZiX25ldHdvcmtfbmFtZSAoIk5ldHdvcmsgbmFtZSIpOwoJICBnX3B0cl9hcnJheV9hZGQgKG5pdC0+ZGVzY3JpcHRvcnMsIGRlc2NyaXB0b3IpOwoJICBzZWN0aW9uID0gZ3N0X21wZWd0c19zZWN0aW9uX2Zyb21fbml0IChuaXQpOwoJICAvLyBtcGVndHNtdXggc2hvdWxkIGJlIHJldHJpZXZlZCBmcm9tIHRoZSBwaXBlbGluZQoJICBnc3RfbXBlZ3RzX3NlY3Rpb25fc2VuZF9ldmVudCAoc2VjdGlvbiwgbXBlZ3RzbXV4KTsKCSAgZ3N0X21wZWd0c19zZWN0aW9uX3VucmVmIChzZWN0aW9uKTsKCjIwMTMtMTEtMTkgMTE6MzA6MzMgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBTdXBwb3J0IHJlZ2lzdHJhdGlvbiBhbmQgY3VzdG9tIGRlc2NyaXB0b3IKCSAgU3VwcG9ydCBmb3IgcmVnaXN0cmF0aW9uIGRlc2NyaXB0b3IgKDB4MDUpCgkgIEFkZCBmdW5jdGlvbiB0byBjcmVhdGUgYSBkZXNjcmlwdG9yIHdpdGggY3VzdG9tIHRhZyBhbmQgZGF0YQoKMjAxMy0xMS0xOSAxMToxNTo1MiArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBBZGQgY3JlYXRpb24gb2YgRFZCIFN1YnRpdGxpbmcgZGVzY3JpcHRvcgoJICBEZXNjcmlwdG9yIHRhZyBpcyAweDU5CgoyMDEzLTExLTE5IDEwOjUwOjMwICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IFN1cHBvcnQgcGFyc2luZyBvZiBEVkIgVGVsZXRleHQgZGVzY3JpcHRvcgoJICBEZXNjcmlwdG9yIHRhZyBpcyAweDU2CgoyMDEzLTExLTIwIDExOjA2OjAzICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkgIG1wZWd0czogQWRkIHN1cHBvcnQgZm9yIGNyZWF0aW5nIFBBVC9QTVQKCjIwMTMtMTEtMjAgMTE6MDQ6NTggKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSAgbXBlZ3RzOiBBZGQgcHJvZ3JhbV9udW1iZXIgdG8gR3N0TXBlZ1RzUE1UCgoyMDEzLTEwLTI4IDE0OjQ5OjA4ICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IEFkZCBuZXR3b3JrIG5hbWUgZGVzY3JpcHRvciBjb25zdHJ1Y3Rpb24KCSAgQWRkIGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIE5ldHdvcmsgTmFtZSBEVkIgZGVzY3JpcHRvci4KCjIwMTMtMTAtMjggMTQ6NDg6MTMgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmg6CgkgIG1wZWd0czogQWRkIHN1cHBvcnQgZm9yIGNyZWF0aW5nIGEgTklUIHNlY3Rpb24KCSAgRnVuY3Rpb25zIHRoYXQgd2lsbCBlbmFibGUgdXNlciB0byBjcmVhdGUgTmV0d29yayBJbmZvcm1hdGlvbiBUYWJsZXMuCgoyMDEzLTEwLTI4IDE0OjI2OjM5ICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5oOgoJICBtcGVndHM6IEFkZCBuZXR3b3JrX2lkIHRvIEdzdE1wZWdUc05JVAoJICBUaGUgbmV0d29ya19pZCBpcyBzdG9yZWQgaW4gdGhlIHN1YnRhYmxlIGV4dGVuc2lvbi4gTWFrZSBhIGZpZWxkCgkgIGluIHRoZSBHc3RNcGVnVHNOSVQgZm9yIGJldHRlciBjb2RlIHJlYWRhYmlsaXR5CgoyMDEzLTEwLTMxIDEzOjQ3OjIzICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkgIG1wZWd0czogQWRkIGZ1bmN0aW9ucyB0byBzZW5kIHNlY3Rpb25zIGFzIGV2ZW50cwoJICBBZGRlZCBmdW5jdGlvbiB0aGF0IGVuYWJsZXMgdGhlIHVzZXIgdG8gc2VuZCBhIEdzdE1wZWdUc1NlY3Rpb24gYXMKCSAgYW4gZXZlbnQgdG8gYSBHc3RFbGVtZW50LiAoaS5lLiBtcGVndHNtdXgpCgoyMDEzLTEwLTI4IDE0OjQ0OjEzICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkgIG1wZWd0czogQWRkIGZ1bmN0aW9ucyB0byBwYWNrZXRpemUgc2VjdGlvbgoJICBTZWN0aW9ucyBuZWVkcyB0byBiZSBwYWNrZXRpemVkIGZvciB1c2UgaW4gaS5lLiBtcGVndHNtdXguCgkgIFRoZXNlIGZ1bmN0aW9ucyBoYW5kbGVzIHRoZSBnZW5lcmljIGNvbW1vbiBwYXJ0cyBvZiBhIEdzdE1wZWdUc1NlY3Rpb24KCjIwMTMtMTAtMjggMTQ6Mzk6NDkgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3RzOiBBZGQgaW5pdCBmdW5jdGlvbnMgZm9yIGRlc2NyaXB0b3Ivc2VjdGlvbgoKMjAxMy0xMC0zMCAxMDo0MzoyMSArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBBZGQgZnVuY3Rpb24gdG8gZW5jb2RlIFVURjggc3RyaW5ncwoJICBUaGlzIGNhbiBiZSB1c2VkIHRvIGNyZWF0ZSBkZXNjcmlwdG9ycyB3aXRoIGFwcHJvcHJpYXRlIGNoYXJhY3RlciBtYXBzCgoyMDEzLTEwLTMwIDEwOjQyOjA3ICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBVc2UgYmlnIGVuZGlhbiBVQ1MtMiBjb2RpbmcKCSAgUGFyc2luZyBvZiBjb250cm9sIGNvZGVzIHJlcXVpcmVzIGEgYmlnIGVuZGlhbiBjaGFyYWN0ZXIgbWFwCgoyMDEzLTEwLTMwIDEwOjMzOjE4ICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBBZGQgc3VwcG9ydCBmb3IgdHdvLXdheSBpY29udiBjb252ZXJzaW9ucwoJICBUbyB1c2UgaW4gY29udmVyc2lvbnMgZnJvbSBVVEYtOCB0byBhbm90aGVyIGNoYXJhY3RlciBtYXAKCjIwMTQtMDItMDYgMTY6MTc6MzkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYTogRml4IGxpYnRvb2wgdXNhZ2UKCSAgLS10YWc9Q0MgaXMgbmVlZGVkIGZvciBzdGF0aWMgYnVpbGQKCjIwMTQtMDItMDYgMTQ6MjE6NTIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdHRzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IFVwZGF0ZSBwbHVnaW4gbGljZW5zZSBmaWVsZAoJICBUaGUgb3JpZ2luYWwgY29kZSAob2xkIG1wZWd0c3BhcnNlKSBmcm9tIHdoaWNoIHRoaXMgcGx1Z2luIHdhcyBiYXNlZCBvbgoJICB3YXMgZHVhbC1saWNlbnNlZC4gVGhpcyBhbGxvd2VkIHVzYWdlIG9mIHRoZSBjb2RlIHVuZGVyIGFueSBvZiB0aGUKCSAgbGljZW5zZXMgKHdoaWNoIGluY2x1ZGluZyBMR1BMKToKCSAgIiIiCgkgICogQWx0ZXJuYXRpdmVseSwgdGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZSBtYXkgYmUgdXNlZCB1bmRlciB0aGUgdGVybXMgb2YKCSAgKiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIFZlcnNpb24gMiBvciBsYXRlciAodGhlICJMR1BMIiksCgkgICogaW4gd2hpY2ggY2FzZSB0aGUgcHJvdmlzaW9ucyBvZiB0aGUgTEdQTCBhcmUgYXBwbGljYWJsZSBpbnN0ZWFkCgkgICogb2YgdGhvc2UgYWJvdmUuIElmIHlvdSB3aXNoIHRvIGFsbG93IHVzZSBvZiB5b3VyIHZlcnNpb24gb2YgdGhpcyBmaWxlIG9ubHkKCSAgKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIExHUEwsIGFuZCBub3QgdG8gYWxsb3cgb3RoZXJzIHRvCgkgICogdXNlIHlvdXIgdmVyc2lvbiBvZiB0aGlzIGZpbGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNUEwsIGluZGljYXRlIHlvdXIKCSAgKiBkZWNpc2lvbiBieSBkZWxldGluZyB0aGUgcHJvdmlzaW9ucyBhYm92ZSBhbmQgcmVwbGFjZSB0aGVtIHdpdGggdGhlIG5vdGljZQoJICAqIGFuZCBvdGhlciBwcm92aXNpb25zIHJlcXVpcmVkIGJ5IHRoZSBMR1BMLiBJZiB5b3UgZG8gbm90IGRlbGV0ZQoJICAqIHRoZSBwcm92aXNpb25zIGFib3ZlLCBhIHJlY2lwaWVudCBtYXkgdXNlIHlvdXIgdmVyc2lvbiBvZiB0aGlzIGZpbGUgdW5kZXIKCSAgKiB0aGUgdGVybXMgb2YgdGhlIE1QTCBvciB0aGUgTEdQTC4KCSAgIiIiCgkgIFdoZW4gcmVmYWN0b3JlZCAobGVhZGluZyB0byB0aGUgY3JlYXRpb24gb2YgdGhpcyBuZXcgcGx1Z2luKSwgSSBjaG9zZSBhbGwKCSAgbmV3IGNvZGUgdG8gYmUgTEdQTC1vbmx5ICh3aGljaCB3YXMgYWxsb3dlZCBmb3IgcHJlLWV4aXN0aW5nIGNvZGUpIGJ5IHJlbW92aW5nCgkgIHRoZSBNUEwgc2VjdGlvbnMuCgkgIFRoZSBoZWFkZXJzIHdlcmUgYWxsIHVwZGF0ZWQsIGJ1dCBub3QgdGhlIHBsdWdpbiBsaWNlbnNlIGZpZWxkLiBUaGlzIGNvbW1pdAoJICBmaXhlcyB0aGlzLgoKMjAxNC0wMi0wNCAxNDoxNTo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2luc2VydGJpbi5jOgoJICB0ZXN0czogaW5zZXJ0YmluOiB1cGRhdGUgdGVzdHMgdG8gMS54IHNjZW5hcmlvCgkgIFRoZSB0aHJlYWQgdGhhdCBjYWxscyB0aGUgc3VjY2Vzcy9mYWlsdXJlIGNhbGxiYWNrIGNhbiBiZSB0aGUKCSAgc2FtZSB0aGF0IGlzIGFkZGluZy9yZW1vdmluZyB0aGUgZWxlbWVudCBhcyB0aGUgSURMRSBwcm9iZSBjYW4KCSAgaGFwcGVuIGluc3RhbnRseSBpZiB0aGUgcGFkIGlzIG5vdCAnYnVzeScuCgkgIFRoaXMgcmVxdWlyZWQgbW92aW5nIHNvbWUgY2hlY2tzIGZvciB0aGUgY2FsbGJhY2sgY291bnRlciBhcm91bmQKCSAgYXMgd2VsbCBhcyByZW1vdmluZyBzb21lIHBhZCBwdXNoZXMgZnJvbSB0aGUgbWFpbiB0ZXN0IHRocmVhZCBhcwoJICB0aGV5IHdlcmUgbWFkZSB1c2VsZXNzIGFmdGVyIHRoZSBJRExFIHBhZCBwcm9iZSB3YXMgZml4ZWQgaW4gY29yZQoJICBieSBjb21taXQgMDMyNDM1OGViYzgxMjJhNDFhYjQ5OWEzZWY3OTczYjYxYzNlNjIxYgoKMjAxNC0wMi0wMyAyMzozOTozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjogYXZvaWQgd2FybmluZyBpZiB0ZXN0IGlzIGZhaWxpbmcKCSAgSW4gY2FzZSB0aGUgdGVzdCBmYWlscyB0aGUgbWVzc2FnZSB3b24ndCBiZSByZXR1cm5lZCBhbmQgaXQKCSAgd2lsbCBsZWFkIHRvIGFuIGFzc2VydGlvbiB0aGF0IG1pZ2h0IGJlIG1pc2xlYWRpbmcgdG8gdGhvc2UKCSAgZGVidWdnaW5nIHRoZSBpc3N1ZS4KCjIwMTQtMDItMDMgMjM6MTA6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBzdG9wIHNvdXJjZSB0byBkbyBpbnRlcm5hbCByZWNvbmZpZ3VyYXRpb24gc2FmZWx5CgkgIEluIG9yZGVyIHRvIGJlIGFibGUgdG8gY2hhbmdlIHRoZSBjYXBzIG9uIG11bHRpcGxlIGNhcHNmaWx0ZXJzIHRoZQoJICBzb3VyY2UgZWxlbWVudCBuZWVkcyB0byBiZSBzdG9wcGVkLCBvdGhlcndpc2UgaXQgd2lsbCBnZXQgYSBmZXcKCSAgcmVjb25maWd1cmUgZXZlbnRzIGFuZCBtaWdodCB0cnkgdG8gcmVuZWdvdGlhdGUgd2hpbGUgdGhlIGJpbgoJICBpcyBzdGlsbCB0cmFuc2l0aW9uaW5nIGl0cyBjYXBzLCBsZWFkaW5nIHRvIGEgbm90LW5lZ290aWF0ZWQgZmFpbHVyZQoJICBhbmQgdGhlIGltYWdlIGNhcHR1cmUgd29uJ3QgaGFwcGVuIGJlY2F1c2UgdGhlIHNvdXJjZSB3aWxsIGJlCgkgIHVudXNhYmxlLgoJICBUaGUgc29sdXRpb24gaXMgdG8ga2VlcCB0aGUgc291cmNlIGluIHBhdXNlZCB3aGlsZSB0aGUgY2FwcyBhcmUgYmVpbmcKCSAgY2hhbmdlZCBpbiB0aGUgYmluLCBhbmQgdGhlbiBicmluZyB0aGUgZWxlbWVudCBiYWNrIHRvIHBsYXlpbmcgb25jZQoJICBpdCBpcyBkb25lLiBVbmZvcnR1bmF0ZWx5IHRoaXMgaW5jcmVhc2VzIHRoZSBpbWFnZSBjYXB0dXJlIGxhdGVuY3ksCgkgIGJ1dCBpdCBzaG91bGQgYWx3YXlzIHdvcmsuCgkgIEEgcG9zc2libGUgaW1wcm92ZW1lbnQgdG8gcmVkdWNlIHRoZSBsYXRlbmN5IGlzIHRvIGFkZCBhbm90aGVyIHNpZ25hbAoJICB0byBiZSBjYWxsZWQgYmVmb3JlICdzdGFydC1jYXB0dXJlJzogJ3ByZXBhcmUtY2FwdHVyZScuIEF0IHRoaXMgc3RlcAoJICB0aGUgY2FtZXJhIHNvdXJjZSBzaG91bGQgc2V0IGFsbCBjYXBzIGl0IG5lZWRzIGFuZCBnZXQgdGhlIHNvdXJjZQoJICByZWFkeSBmb3IgZG9pbmcgdGhlIGNhcHR1cmUgYXMgc29vbiBhcyAnc3RhcnQtY2FwdHVyZScgaXMgY2FsbGVkLgoJICBUaGlzIGNhbiBiZSBkb25lIG9uIGEgZnV0dXJlIGNvbW1pdAoKMjAxNC0wMi0wMyAyMzowOToyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoJICBQcm9iYWJseSBhIGxlZnQgb3ZlciBmcm9tIDAuMTAgLT4gMS54IHBvcnRpbmcKCjIwMTQtMDItMDQgMTc6MjI6MjcgKzAxMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBpbXByb3ZlZCBlcnJvciByZXBvcnQgYW5kIGNoZWNrcwoJICBTaWduZWQtb2ZmLWJ5OiBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoyMDE0LTAyLTA0IDEyOjUyOjI1ICswMTAwICBEdW5jYW4gUGFsbWVyIDxkcGFsbWVyQGRpZ2lzb2Z0LnR2PgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBGaXggcmFjZSBjb25kaXRpb24gYmV0d2VlbiBFT1MgaGFuZGxpbmcgYW5kIGRvd25sb2FkaW5nIGEgcmFuZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzEzNAoKMjAxNC0wMi0wNCAwNTo0NjoxNiAtMDUwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmg6CgkgIGFpZmZwYXJzZTogYWRhcHRpdmUgYnVmZmVyIHNpemUKCSAgQ29waWVkIGZyb20gd2F2cGFyc2UsIGhlbHBzIHdpdGggQ1BVIHVzYWdlIG9uIGhpZ2ggYml0cmF0ZQoJICBmaWxlcy4KCjIwMTQtMDItMDIgMTg6MTc6MDYgLTA4MDAgIERhbiBLZWdlbCA8ZGFua0BrZWdlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIFNpbmNlIGIxYTc1NmZkLCBhcHBsZW1lZGlhIGZhaWxzIHRvIGJ1aWxkIG9uIG9zeCAxMC43LCB3aGljaCBsYWNrcyBWaWRlb1Rvb2xib3guaC4uLiBzbyBkaXNhYmxlIGl0IG9uIE9TWCBpZiB0aGF0IGhlYWRlciBpcyBtaXNzaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzNTA4CgoyMDE0LTAyLTAyIDEzOjUwOjUzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IGZpeCBkYXRhIHN0YXJ0IG9mZnNldCBjYWxjdWxhdGlvbiBub3QgY291bnRpbmcgQ09NTSBzaXplCgkgIEluIHBhcnRpY3VsYXIsIHRoaXMgZml4ZXMgc2Vla2luZyBiYWNrIHRvIHRoZSBzdGFydCByZWFkaW5nIGRhdGEKCSAgb3V0IG9mIHN5bmMgd2l0aCBzYW1wbGUgc3RhcnQgZ3JhbnVsYXJpdHksIHlpZWxkaW5nIHN3YXBwZWQgY2hhbm5lbHMuCgoyMDE0LTAxLTMxIDIzOjQzOjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkgIHRlc3RzOiBnZHBkZXBheTogdXBkYXRlIHRvIDEueCBldmVudHMKCSAgVGVzdHMgbmVlZGVkIHN0cmVhbSBzdGFydCBhdCBiZWdpbm5pbmcgYW5kIHNlZ21lbnQgYWZ0ZXIgdGhlCgkgIGNhcHMgZXZlbnQKCjIwMTQtMDEtMzEgMTg6Mzg6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSogZ3N0L2dkcC9kcC1wcml2YXRlLmg6CgkgIGdkcDogYWRkIERUUyB0byBoZWFkZXJzCgoyMDE0LTAxLTMxIDEyOjE1OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICBnZHBwYXk6IHVwZGF0ZSB0byAxLnggcmVhbGl0eQoJICAqIHN0cmVhbS1zdGFydC1pZCBpcyBtYW5kYXRvcnkgYXQgdGhlIGJlZ2lubmluZywgc28gYWRkIHRoYXQgdG8gdGhlCgkgIGdkcCBoZWFkZXJzCgkgICogY2FwcyBtdXN0IGJlIHNlbnQgYmVmb3JlIG5ldyBzZWdtZW50LCBpbnZlcnQgdGhlIG9yZGVyIGZyb20gbGVnYWN5CgkgIDAuMTAgY29kZQoJICBBbmQgZml4IHRoZSB0ZXN0cyBhcyBhIHJlZiBpcyBub3cga2VwdCBmb3IgdGhvc2UgYnVmZmVycyB0aGF0IGNvbXBvc2UKCSAgdGhlIGhlYWRlcgoKMjAxNC0wMS0zMSAxNjo1ODoxNiAtMDUwMCAgQ29saW4gTWFjZG9uYWxkIDxjYm1AbS5mc2Yub3JnPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RmaXNoZXllLmM6CgkgIGZpc2hleWU6IEZpeCBkb2N1bWVudGF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMzOTgKCjIwMTQtMDEtMjkgMTY6MzI6MzAgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRGVmYXVsdCBmcmFtZXJhdGUgdG8gMC8xIHdoZW4gbm8gaW5mb3JtYXRpb25zIGZvdW5kCgkgIEl0IGlzIG5vdCBwZXJmZWN0IGJ1dCBpdCBhbGxvd3MgdXMgdG8gYmUgc3VyZSB0aGF0IHRoZSBtYW5kYXRvcnkgJ2ZyYW1lcmF0ZScKCSAgZmllbGQgaXMgcHJlc2VudCBpbiB0aGUgY2Fwcy4KCSAgQXMgc29vbiBhcyBzb21lIGluZm9ybWF0aW9uIGlzIGZvdW5kIGluIHRoZSBzdHJlYW0sIHRoYXQgd2lsbCBiZQoJICB1cGRhdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMjQzCgoyMDE0LTAxLTMwIDE5OjQ1OjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICB0ZXN0czogZ2RwcGF5OiByZWZhY3RvciBhbmQgYWRkIG1pc3NpbmcgYml0cwoJICBNb3N0IG9mIHRoZSB0ZXN0cyB3ZXJlbid0IHVwZGF0ZWQgYWZ0ZXIgdGhlIHN0aWNreSBldmVudHMgb3JkZXIKCSAgYW5kIHN0cmVhbSBzdGFydC4gRml4IHRoYXQgYW5kIHJlZmFjdG9yIHRob3NlIHRlc3RzIGNoZWNrIHRoYXQKCSAgYXJlIHRoZSBzYW1lIHRvIHNvbWUgY29tbW9uIGZ1bmN0aW9ucy4KCSAgVGhvc2UgZnVuY3Rpb25zIHN0aWxsIGRvbid0IGFjdHVhbGx5IHRlc3QgdGhlIGNvbnRlbnQgYnV0IGF0CgkgIGxlYXN0IG5vdyB0aGV5IGFyZSBpbiBhIHNpbmdsZSBwbGFjZSBhbmQgY2FuIGJlIGltcHJvdmVkCgkgIHdpdGhvdXQgcmVwbGljYXRpb24KCjIwMTQtMDEtMzAgMTg6MTc6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIHRlc3RzOiBnZHBwYXk6IERvIG5vdCBmb3JnZXQgdG8gc2VuZCBzdHJlYW0tc3RhcnQgZXZlbnQgb24gdGVzdAoJICBFdmVuIGlmIHdlIGRvbid0IHdhbnQgdG8gcHVzaCB0aGUgY2FwcyBldmVudCwgYSBzdHJlYW0tc3RhcnQgbXVzdAoJICBiZSBwcmVzZW50IGJlZm9yZSBhbnkgZGF0YSBpbiAxLngKCjIwMTQtMDEtMzAgMTg6MDk6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiBwdXNoIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCSAgaW5zdGVhZCBvZiBqdXN0IHN3YWxsb3dpbmcgdXBzdHJlYW0ncyBzdHJlYW0tc3RhcnQgaW50byBpdHMKCSAgcGF5bG9hZCwgcHVzaCBpdCBhcyBlbGVtZW50cyBleHBlY3QgYSBzdHJlYW0tc3RhcnQgYmVmb3JlIGRhdGEKCjIwMTQtMDEtMzAgMjA6Mjg6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBXZSBkbyBub3Qgc3VwcG9ydCB0aGUgU0tJUCBzZWVrIGZsYWcgYnV0IHRoYXQgaXMgbm90IGEgcHJvYmxlbQoKMjAxNC0wMS0zMCAxMDo0NDoxOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZDQ4YmVkMyB0byAxYTA3ZGE5CgoyMDE0LTAxLTMwIDAzOjI4OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogY2FtZXJhYmluOiBpbXByb3ZlIHByZXZpZXcgaGFuZGxpbmcgaW4gdGVzdHMKCSAgQWx3YXlzIGVyYXNlIHRoZSBwcmV2aWV3IGltYWdlIGRhdGEgdG8gYWxsb3cgdGhlIG5leHQgY2hlY2sgZm9yCgkgIGl0IHRvIG9wZXJhdGUgcHJvcGVybHkKCjIwMTQtMDEtMjkgMjA6Mzg6NTcgKzAxMDAgIER1bmNhbiBQYWxtZXIgPGRwYWxtZXJAZGlnaXNvZnQudHY+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IEFsd2F5cyByZWxlYXNlIHRoZSBvYmplY3QgbG9jayBpbiBnc3RfdXJpX2Rvd25sb2FkZXJfZmV0Y2hfdXJpX3dpdGhfcmFuZ2UoKQoJICBldmVuIGlmIGRvd25sb2FkZXItPnByaXYtPnVyaXNyYyBpcyBub3Qgc2V0LiBUaGlzIGF2b2lkcyBkZWFkbG9jayB1bmRlciBzb21lCgkgIHNvbWUgY29uZGl0aW9ucyBvbiBjYW5jZWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMxMjcKCjIwMTQtMDEtMjkgMTM6MjU6MzcgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBvcGVuY3Y6IFRoZSBwbHVnaW4gd29ya3Mgd2l0aCAyLjQuOCB0b28KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzIzMAoKMjAxNC0wMS0yOSAxMDo1MDo0MCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL25hbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvbmFsdXRpbHMuaDoKCSAgY29kZWNwYXJzZXJzOiBEb24ndCB1c2UgZ3N0XyBhcyBwcmVmaXggZm9yIHByaXZhdGUgc3ltYm9scwoJICBPdGhlcndpc2UgdGhleSBnZXQgZXhwb3NlZC9hY2Nlc3NpYmxlIGluIHRoZSByZXN1bHRpbmcgLnNvCgkgIEFuZCBtYWtlIGNoZWNrLWV4cG9ydHMgd2lsbCBjb21wbGFpbgoKMjAxNC0wMS0yNyAyMzo1NTo1NyAtMDMwMCAgQW1hdXJ5IE1lZGVpcm9zIDxhbWF1cnltZWRlaXJvc0BnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSAgdHNkZW11eDogRml4IGZsYWdzIGNvbXBhcmlzb24gb3BlcmF0b3IgcHJlY2VkZW5jZQoJICBGaXggb3BlcmF0b3IgcHJlY2VkZW5jZSwgc28gdGhlIHdob2xlIG9wZXJhdGlvbiBpcwoJICBuZWdhdGVkIGluc3RlYWQgb2Ygb25seSBmbGFncyB2YXJpYWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjA5NgoKMjAxNC0wMS0yNiAxNDo0Mjo1MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9NYWtlZmlsZS5hbToKCSAgbXBlZ3RzOiBpbnN0YWxsIGJ1dCBub2Rpc3QgZm9yIGdlbmVyYXRlZCBoZWFkZXIKCjIwMTQtMDEtMjUgMTc6NDA6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBEb24ndCBoYW5kbGUgRkxVU0hJTkcgb3IgTk9UX0xJTktFRCBhcyBlcnJvcgoJICBBbmQgYWxzbyBqdXN0IHN0b3AgdGhlIHRhc2sgZm9yIEZMVVNISU5HLgoKMjAxNC0wMS0yNCAyMTo0MToyNSArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRG9uJ3QgZ28gaW50byBwdWxsIG1vZGUgd2hlbiB0aGUgc2VxdWVudGlhbCBmbGFnIGlzIHNldAoJICBXaGVuIHRoZSBzY2hlZHVsaW5nIHF1ZXJ5IHJlc3VsdHMgaGFzIEdTVF9TQ0hFRFVMSU5HX0ZMQUdfU0VRVUVOVElBTCBzZXQKCSAgaW4gaXRzIGZsYWdzIGRvbid0IGdvIGludG8gcHVsbCBtb2RlIHRvIHByZXZlbnQgb3Zlci1lYWdlciBzZWVraW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyOTM0CgoyMDE0LTAxLTI0IDEyOjM2OjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjRwYXJzZS5jOgoJICB0ZXN0czogaDI2NHBhcnNlOiBmaXggdGVzdHMgYWZ0ZXIgbGVhZGluZyAweDAwIHJlbW92YWwKCSAgQ29tbWl0IDZhZjM4N2NkNWFiMmM5NDYwMjVlNTQ5OTkwM2U3NWVlODdiMDYzYTkgbWFkZSBoMjY0cGFyc2UKCSAgc3RyaXAgYSBsZWFkaW5nIDB4MDAgYnl0ZSBmcm9tIHNvbWUgb3V0cHV0IHNjZW5hcmlvcy4gVGhpcyBicm9rZQoJICB0ZXN0cyBhcyBic190b19uYWwgdGVzdCBleHBlY3RzIG9uZSBtb3JlIGJ5dGUgb24gdGhlIG91dHB1dC4KCSAgRml4IHRoaXMgYnkgY29tcGFyaW5nIHRoZSBvdXRwdXQgd2l0aCB0aGUgZXhwZWN0ZWQgc3RyaXBwZWQgdmVyc2lvbiwKCSAgdG9vLgoKMjAxNC0wMS0yNCAwMTowNzo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvbmFsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9uYWx1dGlscy5oOgoJICBjb2RlY3BhcnNlcnM6IHJlZmFjdG9yIGNvbW1vbiBuYWwgcGFyc2luZyB0byBuYWx1dGlscwoJICBNb3ZlcyBjb21tb24gY29kZSBmcm9tIGgyNjQgYW5kIGgyNjUgdG8gYSBzZXBhcmF0ZSBmaWxlCgoyMDE0LTAxLTAzIDA5OjQ0OjI4ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IEZpeCBtdWx0aXBsZSBTRUkgbWVzc2FnZXMgaW4gb25lIFNFSSBSQlNQIHBhcnNpbmcuCgkgIEFuIFNFSSBSQlNQIGNvdWxkIGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgU0VJIG1lc3NhZ2UgYXMgc3BlY2lmaWVkIGluCgkgIDcuNC4yLjMuMS4KCSAgVGhpcyBjb21taXQgY2hhbmdlIHRoZSBwYXJzZXIgQVBJOiB0aGUgZ3N0X2gyNjRfcGFyc2VyX3BhcnNlX3NlaSgpCgkgIGZ1bmN0aW9uIG5vdyBjcmVhdGUgYW5kIGZpbGwgYSBHQXJyYXkgY29udGFpbmluZyBHc3RIMjY0U0VJTWVzc2FnZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTcxNQoKMjAxNC0wMS0yMiAxMDoyNjozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSAgaDI2NXBhcnNlcjogcmVtb3ZlIHRyYWlsbGluZyAweDAwIGJ5dGVzIGFzIHRoZSBzcGVjIGRvZXNuJ3QgYWxsb3cgdGhlbQoJICBKdXN0IGxpa2UgaDI2NCwgdGhlIHNwZWMgZG9lc24ndCBhbGxvdyB0aGUgbGFzdCBieXRlcyBvZiBhIE5BTCB0byBiZSAweDAwLgoJICBTbyByZW1vdmUgaXQgYXMgaXQgaXMgcHJvYmFibHkganVzdCBwYWRkaW5nLgoJICBUaGlzIGlzIHJlbGF0ZWQgdG8gaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTM4NAoKMjAxNC0wMS0yMCAxNzoyNDo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlcjogcmVtb3ZlIHRyYWlsbGluZyAweDAwIGJ5dGVzIGFzIHRoZSBzcGVjIGRvZXNuJ3QgYWxsb3cgdGhlbQoJICBUaGUgc3BlYyBzdGF0ZXMgdGhhdCB0aGUgbGFzdCBieXRlIG9mIGEgTkFMICdzaGFsbCBub3QnIGJlIDB4MDAKCSAgYW5kIGl0IGlzIGFsbG93ZWQgZm9yIGJ5dGUtc3RyZWFtIGZvcm1hdCB0byBhZGQgcGFkZGluZyAweDAwIGZvcgoJICBhbGlnbm1lbnQuCgkgIFNvIG91ciBwYXJzZXIgc2hvdWxkIHN0cmlwIGFueSB0cmFpbGxpbmcgMHgwMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTM4NAoKMjAxNC0wMS0yMSAyMzo0Mjo1OCArMDkwMCAgSnVzdGluIEpveSA8anVzdGluLmpveS45dG81QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZG9uJ3QgbGVhayBwYWQgbmFtZSB3aGVuIHRyZWF0aW5nIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyNjk5CgoyMDE0LTAxLTIxIDEwOjI3OjIwICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkgIG1wZWdwc211eDogdXBkYXRlIGxhc3RfdHMgdG8gbXV4IGNvcnJlY3RseQoJICBXZSB1c2UgbGFzdF90cyB0byBkZWNpZGUgd2hhdCBidWZmZXIgdG8gbXV4IG5leHQgc28gbWFrZSBzdXJlIHRoYXQgaXQKCSAgYWx3YXlzIGNvbnRhaW5zIHRoZSBsYXN0IGtub3duIHZhbGlkIHRpbWVzdGFtcC4KCjIwMTQtMDEtMjEgMTA6NTg6MzUgKzA5MDAgIGR1aHVpLmxlZSA8ZHVodWkubGVlQGxnZS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSAgaDI2NXBhcnNlcjogSW5pdGlhbGl6ZSBwb2ludGVyIGNvcnJlY3RseSB0aGF0IGlzIG5ldmVyIGFzc2lnbmVkIGJ1dCBmcmVlZCBpbiBlcnJvciBjYXNlcwoJICBGaXhlcyBjcmFzaCBvbiBicm9rZW4gc3RyZWFtcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjY2OQoKMjAxNC0wMS0yMSAwOTo0NDowMCArMDEwMCAgQWxleGV5IENoZXJub3YgPDRlcm5vdkBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiBGaXJzdCBkZXN0cm95IHRoZSB3aW5kb3csIHRoZW4gdW5yZWdpc3RlciB0aGUgY2xhc3MKCSAgSXQncyBpbXBvc3NpYmxlIHRvIGNyZWF0ZSBhbm90aGVyIHBpcGVsaW5lIHdpdGggZDNkdmlkZW9zaW5rIGFmdGVyIGRpc3Bvc2luZwoJICB0aGUgcHJldmlvdXMgb25lIGR1ZSB0byBzb21lIHByb2JsZW0gaW4gZDNkdmlkZW9zaW5rLiBUaGUgbWVzc2FnZSBpczogIlVuYWJsZQoJICB0byByZWdpc3RlciBEaXJlY3QzRCBoaWRkZW4gd2luZG93IGNsYXNzIi4KCSAgSSd2ZSBldmFsdWF0ZWQgdGhlIHByb2JsZW0gYW5kIGl0J3MgdGhhdCBVbnJlZ2lzdGVyQ2xhc3MoKSBpbiB3b3JraW5nIHRocmVhZCBpcwoJICBjYWxsZWQgYmVmb3JlIERlc3Ryb3lXaW5kb3coKSBhbmQgVW5yZWdpc3RlckNsYXNzKCkgZG9lcyBub3RoaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyNjIyCgoyMDE0LTAxLTIwIDE2OjI1OjUxICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkgIG1wZWdwc211eDogZml4IHRpbWVzdGFtcCBoYW5kbGluZwoJICBJZiB0aGUgZmlyc3QgYnVmZmVyIHRoYXQgd2UgaGFuZGxlIGZvciBhIHN0cmVhbSBoYXMgbm8gdGltZXN0YW1wLCB3ZQoJICB3b3VsZCBuZXZlciBjb25zaWRlciB0aGlzIHBhZCBhZ2FpbiBmb3IgbXV4aW5nIHdoaWNoIGNhdXNlcyBxdWV1ZXMgdG8KCSAgZmlsbCB1cCBhbmQgcGlwZWxpbmVzIHRvIHN0YWxsLiBJbnN0ZWFkLCB0cnkgdG8gbXV4IHBhZHMgd2l0aCAtMQoJICB0aW1lc3RhbXBzIGFzIHNvb24gYXMgcG9zc2libGUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIzMzAKCjIwMTQtMDEtMjAgMTY6MjM6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSAgbXBlZ3BzbXV4OiByZXR1cm4gR1NUX0ZMT1dfRU9TIHdoZW4gd2UgcHVzaGVkIEVPUwoJICBSZXR1cm4gR1NUX0ZMT1dfRU9TIGZyb20gdGhlIGNvbGxlY3RlZCBmdW5jdGlvbiB3aGVuIHdlIHB1c2hlZCBFT1Mgb3IKCSAgZWxzZSBpdCBzaW1wbHkga2VlcHMgb24gY2FsbGluZyBvdXIgY29sbGVjdGVkIGZ1bmN0aW9uLgoKMjAxNC0wMS0yMCAxMDozODoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhOiBBY3R1YWxseSB0aGUgZW5jL2RlY2JpbnMgYXJlIG5vdCB1c2VkIGFueXdoZXJlIGN1cnJlbnRseQoJICBDb2RlIGlzIGNvbW1lbnRlZCBvdXQuCgoyMDE0LTAxLTIwIDEwOjM0OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhcHBsZW1lZGlhOiBGaXggYnVpbGQgb24gaU9TIGFuZCBwcm9iYWJseSBhbHNvIG9uIE9TWAoJICBUaGUgdmlkZW8gdG9vbGJveCBpcyBub3QgYXZhaWxhYmxlIG9uIGlPUywgYW5kIGFsc28gb24gT1NYCgkgIHdlIHNob3VsZCBwcm9iYWJseSBidWlsZCBhbGwgc291cmNlIGZpbGVzIHRoYXQgYXJlIHVzZWQgZm9yCgkgIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyNTkwCgoyMDE0LTAxLTIwIDE1OjIxOjQyICswOTAwICBkdWh1aS5sZWUgPGR1aHVpLmxlZUBsZ2UuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NXBhcnNlOiBVcGRhdGUgY2FwcyB3aGVuIHJlY2VpdmUgVlBTL1NQUy9QUFMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjI0MAoKMjAxNC0wMS0yMCAxNzowMzowOSArMDkwMCAgZHVodWkubGVlIDxkdWh1aS5sZWVAbGdlLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJICBoMjY1cGFyc2VyOiBGaXggc2VnZmF1bHQgd2hlbiBwYXJzaW5nIEhSRCBwYXJhbWV0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjI0MAoKMjAxNC0wMS0xOCAxMzo1NjoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuZXhyL2dzdG9wZW5leHJkZWMuY3BwOgoJICBvcGVuZXhyZGVjOiBEb24ndCBzdGFydCBzY2FubmluZyBmb3IgdGhlIGhlYWRlciBmcm9tIHRoZSBzdGFydCBhZ2FpbiBlYWNoIHRpbWUKCSAgVGhpcyB3aWxsIGJlIGluY3JlZGlibGUgc2xvdyBpZiB0aGUgdXBzdHJlYW0gYmxvY2sgc2l6ZSBpcyB2ZXJ5IHNtYWxsLiBJbnN0ZWFkCgkgIGNvbnRpbnVlIHNjYW5uaW5nIGZvciB0aGUgaGVhZGVyIHdoZXJlIHdlIHByZXZpb3VzbHkgc3RvcHBlZC4KCSAgRm9yIHRoZSBzdGFuZGFyZCBmaWxlc3JjIGJsb2NrLXNpemUgdGhpcyBtYWRlIGRlY29kaW5nIGEgZmlsZSBhYm91dAoJICAzIHRpbWVzIGZhc3Rlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTg5MAoKMjAxNC0wMS0xOCAxMzowNjoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmM6CgkgIHNmZGVjOiBUaGlzIGlzIGEgZGVjb2Rlciwgbm90IGEgZGVtdXhlcgoJICBEb24ndCBjb25mdXNlIGF1dG9wbHVnZ2VycyEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjMxNgoKMjAxNC0wMS0xOCAwMToxOTozNiArMDIwMCAgQW5kcmV5IFV0a2luIDxhbmRyZXkua3JpZWdlci51dGtpbkBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICB0c2RlbXV4OiBGaXggbGVhayBvZiBQQ1JPZmZzZXRHcm91cAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyNDYyCgoyMDE0LTAxLTE2IDEyOjE4OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBSZW1vdmUgc29tZSB1c2VsZXNzIGFzc2lnbm1lbnRzIGFuZCBza2lwIHRoZSBjdXJyZW50IHBhcnQgb2YgdGhlIGJ1ZmZlciBpZiB0aGUgcGFkIGlzIG11dGVkCgoyMDE0LTAxLTE2IDIwOjE2OjQ3ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5oOgoJKiBleHQvcmVzaW5kdmQvZ3N0cGVzZmlsdGVyLmM6CgkgIHJlc2luZHZkOiBNZXJnZSBjaGFuZ2VzIGFjcm9zcyBmcm9tIG1hc3RlciBtcGVnZGVtdXgKCSAgTWVyZ2UgdmFyaW91cyBjaGFuZ2VzIGFuZCBmaXhlcyBmcm9tIHRoZSBtYXN0ZXIgbXBlZ2RlbXV4CgkgIFBlcmZvcm1hbmNlIGltcHJvdmVtZW50IGZyb20gdGhlIHdheSBzdHJlYW1zIGFyZSBvcmdhbmlzZWQsCgkgIHJldHVybiBmbG93IGNvbWJpbmluZywgbGFuZ3VhZ2UgdGFnIGV2ZW50IGdlbmVyYXRpb24sCgkgIGFkanVzdG1lbnRzIGFuZCBmaXhlcyBpbiBkZWJ1ZyBvdXRwdXQsIGFuZCB0aGluZ3MgbGlrZSB0aGF0LgoKMjAxNC0wMS0xNiAyMDoxNDo0OCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBtcGVnZGVtdXg6IE1lcmdlIHNvbWUgY2hhbmdlcyBmcm9tIHRoZSByZXNpbmR2ZCBjb3B5CgkgIE9uZSBidWcgZml4LCBzb21lIGRlYnVnIGNoYW5nZXMgYW5kIG90aGVyIGluY29uc2VxdWVudGlhbCBjaGFuZ2VzCgkgIGp1c3QgdG8gcmVkdWNlIHRoZSBkaWZmIGJldHdlZW4gdGhlIDIgY29waWVzIGEgYml0LgoKMjAxNC0wMS0xNSAyMzozMDoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogRml4IGFuZCBzaW1wbGlmeSBvdmVybGFwIGNhbGN1bGF0aW9uCgoyMDE0LTAxLTE0IDIzOjU1OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkc3JjOiBmaXggbWlub3IgbWVtb3J5IGxlYWsgd2hlbiBjcmVhdGluZyB0aXRsZSBpbmZvIG1lc3NhZ2UKCjIwMTMtMTAtMDkgMTc6NDk6MDYgKzAyMDAgIEpvcmdlIFphcGF0YSA8am9yZ2VsdWlzLnphcGF0YUBnbWFpbC5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiBBZGQgdGhlIGRpdnggdmFyaWFudCBmb3IgbXBlZzQgdmlkZW8KCSAgTG9va3MgbGlrZSBhbGwgdGhlIG1wZWc0IHZpZGVvIGRlY29kZXJzIGFsc28gYWNjZXB0IHRoZSBkaXZ4CgkgIHZhcmlhbnRzLiBTbyB3ZSBiZXR0ZXIgYWRkIHRob3NlIGNhcHMgdG9vCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTExNjMKCjIwMTQtMDEtMTQgMTc6MDg6MzYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCAoYWdhaW4pIGNoZWNrIGZvciBEQiBBUEk6IDUuNCBpcyBOb3QgUmVjZW50IEVub3VnaAoJICBNYXliZSB0ZXN0aW5nIHRoZSB2ZXJzaW9uIGlzIGNsZWFyZXIsIGJ1dCB0ZXN0aW5nIGZvciA8IDUgaXMgbm90CgkgIGVub3VnaCwgbXkgdmVyc2lvbiBpcyA1LjQgYW5kIGRvZXMgbm90IHlldCBoYXZlIHRob3NlIG5ldyBlbnVtcy4KCSAgSWYgeW91IGdpdCBibGFtZSB0byB0aGlzIGFuZCBoYXZlIGEgdmVyc2lvbiA+IDUuNCB0aGF0IGRvZXMgbm90CgkgIGVpdGhlciwgcGxlYXNlIGZlZWwgZnJlZSB0byBqb2luIGFsb25nIGFuZCBidW1wIHRoZSB2ZXJzaW9uLgoKMjAxNC0wMS0xNCAyMzoyMToyNSArMDkwMCAgZHVodWkubGVlIDxkdWh1aS5sZWVAbGdlLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuaDoKCSAgaDI2NXBhcnNlcjogRml4IHNlZ2ZhdWx0IHdoZW4gcGFyc2luZyBWUFMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjA4MQoKMjAxNC0wMS0xNCAxMDozODozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSAgZmFjZWJsdXI6IHNldCBtYXhpbXVtIGZlYXR1cmUgc2l6ZSB0byAweDAKCSAgUHJldmlvdXNseSBmYWNlcyB3b3VsZCBvbmx5IGJlIGRldGVjdGVkIGlmIHRoZXkgd2VyZSBhdCBsZWFzdCAzMHgzMCBwaXhlbHMKCSAgbGFyZ2UgYW5kIGF0IG1vc3QgMzJ4MzIgcGl4ZWxzLiBXZSBrZWVwIHRoZSBtaW5pbXVtIHNldHRpbmcgKG1heWJlIG5lZWRzCgkgIGEgcHJvcGVydHkgYXMgaW4gZmFjZWRldGVjdCkgYnV0IGRpc2FibGUgdGhlIG1heGltdW0gZmVhdHVyZSBzaXplLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjE1OAoKMjAxNC0wMS0xNCAwMTowNjowMiAtMDUwMCAgS2lwcCBDYW5ub24gPGtjYW5ub25AY2l0YS51dG9yb250by5jYT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBmYWNlZGV0ZWN0OiBzZXQgbWF4aW11bSBmZWF0dXJlIHNpemUgdG8gMHgwCgkgIFRoaXMgZGlzYWJsZXMgdGhlICJtYXggZmVhdHVyZSBzaXplIiBmZWF0dXJlLiBUaGUgY3VycmVudCBjb25maWd1cmF0aW9uCgkgIGlzIHRvdGFsbHkgYnVzdGVkOiBUaGUgbWF4IGZlYXR1cmUgc2l6ZSBpcyBoYXJkLWNvZGVkIHRvIDIgcGl4ZWxzIG1vcmUKCSAgdGhhbiB0aGUgdXNlci1zdXBwbGllZCBtaW4gZmVhdHVyZSBzaXplIHdoaWNoIHByZXR0eSBtdWNoIG1lYW5zIHlvdSBuZWVkCgkgIHRvIGd1ZXNzIHRoZSBzaXplIG9mIHRoZSBwZXJzb24ncyBmYWNlIHRvIHdpdGhpbiBhIGZldyBwaXhlbHMgdG8gZ2V0IHRoZQoJICBjb2RlIHRvIGZpbmQgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIxNTgKCjIwMTQtMDEtMTQgMDI6MTk6MTIgKzAyMDAgIEFuZHJleSBVdGtpbiA8YW5kcmV5LmtyaWVnZXIudXRraW5AZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgdHNkZW11eDogZml4IG1lbWxlYWsgb2YgUENST2Zmc2V0Q3VycmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMTQ1CgoyMDE0LTAxLTEzIDIxOjUwOjE2ICswOTAwICBKdXN0aW4gSm95IDxqdXN0aW4uam95Ljl0bzVAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGgyNjVwYXJzZXI6IHByZXZlbnQgdG8gb3ZlcnJ1biBjaHJvbWFfd2VpZ2h0X2wwX2ZsYWcKCSAgVGhlIGluZGV4IG9mIGVsZW1lbnRzIGNhbm5vdCBleGNlZWQgb3IgZXF1YWwgdG8gdGhlIHNpemUgb2YgZWxlbWVudHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIxMDEKCjIwMTQtMDEtMTMgMTA6MDE6NDMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogc2V0IGJ1ZmZlciBvZmZzZXQgdG8gYnVmZmVyIHRpbWVzdGFtcAoJICBvZ2dtdXggZXhwZWN0cyB0aGlzIHRvIG9yZGVyIGluY29taW5nIGJ1ZmZlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjA3OAoKMjAxNC0wMS0xMCAwODo1ODoyNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZHZiOiBVc2UgRFZCX0FQSV9WRVJTSU9OIHRvIGtub3cgaWYgd2UgaGF2ZSByZWNlbnQgZW5vdWdoIHZlcnNpb24KCSAgV2UgZW5kIHVwIHdpdGggdGhlIHNhbWUgZW5kLXJlc3VsdCBidXQgaXQncyBtb3JlIGNvbXByZWhlbnNpYmxlCgoyMDE0LTAxLTA5IDE2OjM4OjEzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGNoZWNrIGZvciBnb29kIGVub3VnaCBkdmIga2VybmVsIGhlYWRlcnMKCSAgUmVjZW50IGNoYW5nZXMgYXJlIHVzaW5nIG5ldyBkdmIgYXBpLiBEb24ndCBidWlsdCB0aGUgcGx1Z2luLCBpZiB3ZSBjYW4ndC4KCSAgRml4ZXMgIzcyMTg2OQoKMjAxNC0wMS0wOSAwODoxODowNyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IG1pc2MgY29kZSBjbGVhbnVwcwoJICBGaXggdGhlIGxhdW5jaCBleGFtcGxlcyBmb3IgMS4wLiBUdXJuIG1vcmUgbG9nZ2luZyBpbnRvIF9PQkpFQ1QgdmFyaWFudHMuCgoyMDE0LTAxLTA5IDA5OjEzOjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IHJlbW92ZSB1bm5lY2Vzc2FyeSB2YXJpYWJsZQoJICBJbnN0ZWFkIG9mIHVzaW5nIDIgaW5kZXhlcyB0aGF0IHdlcmUgYWN0dWFsbHkgdGhlIHNhbWUsIHVzZSBvbmx5CgkgIG9uZS4gU2F2ZXMgYSB2YXJpYWJsZS4KCjIwMTQtMDEtMDkgMDk6MTE6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGZpeCBzZWVraW5nIHdoZW4gdGhlIG1wZCB1c2VzIGEgc2VnbWVudCB0ZW1wbGF0ZQoJICBSZW1vdmUgdGhlIGRhc2hkZW11eCBzZWVraW5nIGZ1bmN0aW9uIHRvIHVzZSB0aGUgb25lIGltcGxlbWVudGVkCgkgIGluIG1wZHBhcnNlciBhcyBpdCBpcyBtb3JlIGNvbXBsZXRlLiBUaGlzIGFsc28gbWFrZXMgZGFzaGRlbXV4IG5vdAoJICBjcmFzaCB3aGVuIHNlZWtpbmcgb24gc3RyZWFtcyB0aGF0IHVzZSBzZWdtZW50IHRlbXBsYXRlcy4KCjIwMTQtMDEtMDggMTY6MzM6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuaDoKCSAgbXBlZzR2aWRlb3BhcnNlOiBkbyBub3QgbG9zZSBESVNDT05UIGZsYWcgaWYgYnVmZmVyIGlzbid0IHB1c2hlZAoJICBtcGVnNHZpZGVvcGFyc2UgbWlnaHQgbm90IHB1c2ggYnVmZmVycyB3aGlsZSBwYXJzaW5nLiBJZiB0aG9zZSBidWZmZXJzCgkgIGNvbnRhaW4gdGhlIERJU0NPTlQgZmxhZywgaXQgZ2V0cyBsb3N0IGFuZCBkb3duc3RyZWFtIHdvbid0IGdldCBhbnkKCSAgYnVmZmVyIHdpdGggdGhlIGZsYWcuCgkgIEZpeCBpdCBieSBhZGRpbmcgdGhlIERJU0NPTlQgdG8gdGhlIG5leHQgcHVzaGVkIGJ1ZmZlci4KCSAgVGhpcyBtYWtlcyBiYWNrd2FyZHMgcGxheWJhY2sgd29yay4KCjIwMTQtMDEtMDYgMjI6MTU6MjQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5jOgoJICBzZmRlYzogc2tpcCAnXDAnIHN0cmluZ3MgZm9yIG1ldGFkYXRhCgkgIGxpYnNuZGZpbGUgZG9lcyBub3QgZmlsdGVyIGVtcHR5IHN0cmluZ3MuIFdlIGdldCBhIHdhcm5pbmcgZnJvbSBnc3RyZWFtZXIgd2hlbgoJICBzZXR0aW5nIHRoaXMgYXMgYSB0YWcuCgoyMDE0LTAxLTA2IDE1OjE1OjI3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuYzoKCSAgc2ZkZWM6IGJyZWFrIGxvbmcgbWV0aG9kCgkgIEV4dHJhY3QgdGFnbGlzdCBjcmVhdGlvbiBpbnRvIHNlcGFyYXRlIGZ1bnRpb24uCgoyMDE0LTAxLTA2IDE1OjAxOjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LXNjdGUtc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9tcGVndHMuaDoKCSAgbXBlZ3RzOiBtYWtlIGhlYWRlcnMgdXNhYmxlIHdpdGggYysrIGNvbXBpbGVyCgkgIEFkZCBHX0JFR0lOX0RFQ0xTIEdfRU5EX0RFQ0xTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzExMzYKCjIwMTQtMDEtMDYgMTU6MDI6MzAgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5jOgoJICBzZmRlYzogcmVtb3ZlIGxlZnQgb3ZlciBwcm9wZXJ0eS1pZCBlbnVtCgoyMDE0LTAxLTA2IDE0OjUyOjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NXBhcnNlOiBBbGxvd3MgaHZjMSB2ZXJzaW9uIDAgYW5kIGZpeCByZWFkaW5nIG9mIE5BTCBjb3VudCBpbiBjb2RlY19kYXRhCgoyMDE0LTAxLTA2IDE0OjQ4OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NXBhcnNlOiBGaXggc29tZSBtb3JlIGRlYnVnIG91dHB1dAoJICBBbmQgZG9uJ3QgYWNjZXNzIGludmFsaWQgbWVtb3J5CgoyMDE0LTAxLTA2IDE0OjQ3OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGgyNjVwYXJzZXI6IEZpeCBkZWJ1ZyBvdXRwdXQKCjIwMTQtMDEtMDYgMTM6NTE6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEFkZCBIRVZDIC8gaDI2NSBzdXBwb3J0CgoyMDE0LTAxLTA1IDIzOjQ0OjM2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogdHlwbyBmaXggaW4gY29tbWVudAoKMjAxNC0wMS0wNSAyMzo0MzoyNSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmM6CgkgIHNmZGVjOiB0aGUgcmVhZCBmdW5jdGlvbnMgYWxyZWFkeSByZXR1cm4gZnJhbWVzX3JlYWQKCSAgRml4ZXMgY2hvcHB5IG91dHB1dC4KCjIwMTQtMDEtMDUgMjM6NDE6MjYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJICBzbmRmaWxlOiBlbmFibGUgcmY2NCBmb3JtYXQKCjIwMTQtMDEtMDIgMjE6MDI6MjcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5jOgoJICBzZmRlYzogYWRkIGRhdGUgdG8gdGFnbGlzdAoKMjAxNC0wMS0wMyAxMToxODowNiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiBEb2N1bWVudCB0aGF0IHNvY2tldC1wYXRoIG1heSBjaGFuZ2UKCjIwMTQtMDEtMDMgMTE6MTY6NDIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogQ2hhbmdlIGRlZmF1bHQgc2htIHNpemUgdG8gNjQgTWlCCgkgIFRoZSBvcmlnaW5hbCBzaXplIG9mIDI1Nmsgd2FzIHRvbyBzbWFsbCBmb3IgYW55dGhpbmcgd2hlcmUKCSAgb25lIHdvdWxkIHdhbnQgdG8gdXNlIHNobS4gSWYgdGhlIGJ1ZmZlcidzIHNpemUgbmVlZHMgdG8gYmUgbGltaXQsIGl0IGlzCgkgIGJldHRlciB0byB1c2UgYnVmZmVyLXRpbWUgaW4gbW9zdCBjYXNlcyBhbnl3YXkuCgoyMDEzLTEwLTEwIDE4OjI1OjQ2ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBkdmJzcmM6IEFkZCBkdmItczIsIGR2Yi10MiBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk0MTQKCjIwMTMtMTAtMTAgMTg6MjM6MjAgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGR2YnNyYzogQ2hhbmdlIGZyb20gZGVwcmVjYXRlZCBmcm9udGVuZCB0eXBlIGZpZWxkIHRvIERUVl9FTlVNX0RFTFNZUwoJICAtYWRkIGRlbHN5cyBwcm9wZXJ0eQoJICAtYWRkIGRlbGl2ZXJ5IHN5c3RlbSBjYXBhYmlsaXR5IHRvIHRoZSBnc3RyZWFtZXIgYWRhcHRlciBzdHJ1Y3R1cmUKCSAgLXJlYWR5IGZvciBhZGQgbmV3IGRlbGl2ZXJ5IHN5c3RlbXMKCSAgQXBwbGljYXRpb24gbXVzdCBhc2sgdGhlIGFkYXB0ZXIgc3RydWN0dXJlIHRvIGtub3cgd2hpY2ggZGVsaXZlcnkgc3lzdGVtcyBhcmUgYXZhaWJsZS4KCSAgVGhlIHByb3BlcnR5IGRlbHN5cyBtdXN0IGJlIHNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTQxNAoKMjAxNC0wMS0wMyAwOTo1OTozNCArMDEwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IEZpeCBHc3RDYXBzIG1lbW9yeSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEzODIKCjIwMTMtMTItMzEgMjI6Mzg6MDMgKzAxMDAgIFBpb3RyIERyxIVnIDxwaW90cmRyYWdAZ21haWwuY29tPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiB1cGRhdGUgUE9URklMRVMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTI5MwoKMjAxMy0xMi0zMSAyMzoxODo1NCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy1jb25zdGFudHMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBBZGQgbmV3IGNvbG9yIGZvcm1hdCwgYW5kIGVuaGFuY2UgZGVidWcgb3V0cHV0CgkgIEFkZCBhIG5ldyBjb2xvciBmb3JtYXQgc2VlbiBvbiBteSBHYWxheHkgUzMKCSAgKE9NWF9TRUNfQ09MT1JfRm9ybWF0TlYxMlRpbGVkID0gMHg3ZmMwMDAwMikgdG8gdGhlIHRhYmxlLAoJICBidXQgZG9uJ3QgYWN0dWFsbHkgaW1wbGVtZW50IGl0IC0gdGhlIGRlY29kZXIgZG9lc24ndCBjaG9vc2UgaXQuCgkgIFJlbW92ZSBhbiBhc3NlcnQgdGhhdCBtYWtlcyB0aGUgcGx1Z2luIGZhaWwgbm9pc2lseSBhbmQgdGFrZSB0aGUgYXBwIGRvd24KCSAgaWYgaXQgc2VlcyBhIGNvbG9yIGZvcm1hdCBpdCBkb2Vzbid0IHJlY29nbmlzZSAoanVzdCBza2lwIHRoZSBjb2RlYyBpbnN0ZWFkKQoJICBNb2RpZnkgdGhlIGRlYnVnIG91dHB1dCB3aGVuIHBsdWdpbiBzY2FubmluZyB0byBwcmludCBjb2xvciBmb3JtYXQgaW5mbyB0bwoJICBtYWtlIHRoaXMgc29ydCBvZiB0aGluZyBlYXNpZXIgaW4gdGhlIGZ1dHVyZS4KCjIwMTMtMTItMTkgMjM6MDA6MTIgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBEb24ndCBkaXNydXB0IGJ1ZmZlciBzdGF0ZSBpbiB0aGUgY2xpcCBmdW5jdGlvbgoJICBDb2xsZWN0cGFkcyBhc3N1bWVzIHRoYXQgaXQgY2FuIHBhc3MgYW55IGJ1ZmZlciB0byB0aGUgY2xpcCBmdW5jdGlvbgoJICBmb3IgYWRqdXN0bWVudCwgc29tZSBvZiB3aGljaCBhcmUgYXJ0aWZpY2lhbGx5IGluamVjdGVkIC0gc28gZG9uJ3QKCSAgYWRqdXN0IGdsb2JhbCB0aW1lc3RhbXAgdHJhY2tpbmcgdGhlcmUuIEluc3RlYWQsIG9ubHkgYWRqdXN0IHRoZQoJICBidWZmZXIgdGltZXN0YW1wcyBhbmQgdXNlIHRoZW0gZGlyZWN0bHkgaW4gdGhlIGNvbGxlY3Rpb24gZnVuY3Rpb24uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg3NDgKCjIwMTMtMTItMzAgMTU6NDk6NTcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5jOgoJICBzbmRmaWxlOiBlbWl0IG1pZGktYmFzZS1ub3RlIHRhZwoJICBRdWVyeSBpbnN0cnVtZW50IGRhdGEuIFVzZSBib3RoICdsb29wX2luZm8nIGFuZCAnaW5zdHJ1bWVudCcgdG8gaW5mb3JtIGFib3V0IHRoZQoJICBiYXNlbm90ZS4KCjIwMTMtMTItMzAgMTM6Mjg6NTIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBSZW1vdmUgdW5uZWVkZWQgY2FsbAoJICAncGFyc2UnIGlzIGFscmVhZHkgcHJvdmlkZWQgYnkgdGhlIHBhcmVudCB2YXJpYWJsZQoKMjAxMy0xMi0yOSAxMzozMTo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3BlbmN2OiBUaGUgcGx1Z2luIHdvcmtzIHdpdGggMi40LjcgdG9vCgkgIFJlcG9ydGVkIGJ5IGt3bSBvbiBJUkMuCgoyMDEzLTEyLTI4IDEyOjM5OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXNwYXJzZTogRG9uJ3Qgc2VuZCBjYXBzIGluIEdzdEJhc2VQYXJzZTo6c3RhcnQoKQoJICBUaGlzIGlzIHRvbyBlYXJseSBhbmQgd2lsbCBjb25mdXNlIHRoZSBldmVudCBvcmRlci4gVGhlIG90aGVyCgkgIGNvZGUgdGhhdCBzZXRzIHRoZSBjYXBzIGlzIGF0IHRoZSByaWdodCBwb3NpdGlvbiBhbmQgZG9lcyBpdAoJICBwcm9wZXJseSBhbHJlYWR5LgoKMjAxMy0xMi0yNCAyMzoxNToyOCArMDAwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkgIG1mYzogZml4IGlucHV0IGRlcXVldWUgZm9yIG9kcm9pZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMDI3CgoyMDEzLTEyLTI3IDE0OjI5OjQ2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogaW5jcmVhc2UgbWF4IHBheWxvYWQgc2l6ZSB0byA0MDAwIGJ5dGVzCgkgIDEyNzUgaXMgdGhlIG1heGltdW0gc2l6ZSBvZiBhIGZyYW1lLCBidXQgdGhlIGVuY29kZXIgbWF5IHJldHVybgoJICB1cCB0byAzIGZyYW1lcywgYW5kIHdlIG5lZWQgYSBmZXcgZXh0cmEgYnl0ZXMgZm9yIFRPQywgZXRjLiBXZQoJICB1c2UgNDAwMCwgd2hpY2ggaXMgYSBiaXQgbW9yZSwgYW5kIHN1Z2dlc3RlZCBpbiB0aGUgbGlib3B1cyBkb2NzLgoKMjAxMy0xMi0yNyAxMDoyNTozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmg6CgkgIG1wZWd0czogZml4IGctaSBhbm5vdGF0aW9ucyBhbmQgZ3RrLWRvYyBtYXJrdXAKCjIwMTMtMTItMjAgMTA6MDU6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHJlbW92ZSBzdHJlYW0gbG9vcCB0aHJlYWQKCSAgRG93bmxvYWQgYW5kIHB1c2ggZnJvbSB0aGUgc2FtZSB0YXNrLCBtYWtlcyBjb2RlIGEgbG90IHNpbXBsZXIKCSAgdG8gbWFpbnRhaW4uIEFsc28gcHVzaGluZyBmcm9tIHNlcGFyYXRlIHRocmVhZHMgYXZvaWRzIGRlYWRsb2NraW5nCgkgIHdoZW4gZ3N0X3BhZF9wdXNoIGJsb2NrcyBkdWUgdG8gZG93bnN0cmVhbSBxdWV1ZXMgYmVpbmcgZnVsbC4KCjIwMTMtMTItMjAgMTk6NDI6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBmaXggZGVhZGxvY2sgbmVhciBFT1MKCSAgQSBkZWFkbG9jayBjYW4gaGFwcGVuIHdoZW4gdGhlIHNvdXJjZSBzZW5kcyBFT1Mgd2hlbgoJICBiZWluZyBwdXQgdG8gTlVMTCBhcyB0aGUgb2JqZWN0IGxvY2sgaXMgYmVpbmcgaGVsZCBieSB0aGUKCSAgdGhyZWFkIHRoYXQgc2V0cyB0aGUgZWxlbWVudCB0byBOVUxMIGFuZCBpcyBuZWVkZWQgYnkKCSAgdGhlIGV2ZW50IGhhbmRsZXIuCgoyMDEzLTEyLTIwIDE5OjM5OjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoOiBkZXRlY3QgRU9TIHdoZW4gc2VnbWVudHMgYXJlIGdlbmVyYXRlZCBieSB0ZW1wbGF0ZQoJICBVc2UgdGhlIFBlcmlvZCBkdXJhdGlvbiBkbyBrbm93IHdoZW4gdG8gZW5kIHRoZSBzdHJlYW0KCjIwMTMtMTItMTMgMTc6MjY6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZG8gbm90IHRyeSB0byBhY2Nlc3MgYnVmZmVyIGFmdGVyIGxvc2luZyB0aGUgcmVmCgkgIEZvciBvYnZpb3VzIHJlYXNvbnMKCjIwMTMtMTItMTMgMTc6MjU6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHVzZSBhIHNlcGFyYXRlIEdzdFVyaURvd25sb2FkZXIgcGVyIHN0cmVhbQoJICBBdm9pZHMgb25lIGRvd25sb2FkIGhhdmluZyB0byB3YWl0IGZvciBhbm90aGVyIHRvIGZpbmlzaAoJICBiZWZvcmUgc3RhcnRpbmcKCjIwMTMtMTItMDkgMTM6NTU6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHN0b3JlIEdzdEFjdGl2ZVN0cmVhbSB0byBhdm9pZCBnZXR0aW5nIGl0IGV2ZXJ5IHRpbWUKCSAgR3N0QWN0aXZlU3RyZWFtIGlzIHVzZWQgZXZlcnl3aGVyZSB0byBvcGVyYXRlIG9uIHRoZSBNUEQgY2xpZW50LAoJICBiZXR0ZXIgc3RvcmUgaXQgaW4gdGhlIEdzdERhc2hEZW11eFN0cmVhbSB0byBhdm9pZCBnZXR0aW5nIGl0CgkgIGV2ZXJ5dGltZQoKMjAxMy0xMi0wOSAxMzozMzo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogc2ltcGxpZnkgbG9ja2luZyBmb3Igc3RyZWFtcwoJICBVc2UgYSBzaW5nbGUgbG9jayBmb3IgYWxsIHN0cmVhbXMgaW5zdGVhZCBvZiBoYXZpbmcgc2VwYXJhdGUgbG9ja3MuCgkgIFRoaXMgbWFrZXMgbWFpbnRlbmFuY2UgZWFzaWVyIGFuZCBhdCBtb3N0IHBvaW50cyB3ZSB3b3VsZCBuZWVkCgkgIGEgc2luZ2xlIGxvY2sgYmVmb3JlIGl0ZXJhdGluZyBvbiBhbGwgc3RyZWFtcyBkYXRhLiBTbyBub3QgbXVjaAoJICBpcyBnYWluZWQgZnJvbSBpbmRpdmlkdWFsIGxvY2tzLgoKMjAxMy0xMi0wOSAxMToyODoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBmaXggbXVsdGlwbGUgcGVyaW9kIG1wZCBwbGF5YmFjawoJICBNYWtlIGRhc2ggcGxheWxpc3RzIHdpdGggbXVsdGlwbGUgcGVyaW9kcyB3b3JrIGFnYWluIGJ5IHdhaXRpbmcKCSAgdG8gc3dpdGNoIHRoZSBwZXJpb2RzIHdoZW4gYWxsIHN0cmVhbXMgaGF2ZSByZWFjaGVkIHRoZSBlbmQgb2YKCSAgdGhlIGN1cnJlbnQgcGVyaW9kLiBUaGUgc3RyZWFtX2xvb3AgaXMgcmVzcG9uc2libGUgZm9yIGFkdmFuY2luZwoJICB0aGUgcGVyaW9kLCBidXQgdGhlIGRvd25sb2FkIGxvb3BzIHdpbGwgYWxyZWFkeSBzdGFydCBkb3dubG9hZGluZwoJICBkYXRhIGZvciB0aGUgbmV4dCBwZXJpb2QgYXMgc29vbiBhcyBwb3NzaWJsZS4KCjIwMTMtMTItMDUgMDI6NTM6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogYWRkIGNvbWJpbmUgZmxvd3MgZnVuY3Rpb24KCSAgVXNlIGEgZmxvdyBjb21iaW5hdGlvbiBmdW5jdGlvbiB0byBkZWNpZGUgdGhlIHJlc3VsdCBmcm9tIHRoZQoJICBzdHJlYW1fbG9vcAoKMjAxMy0xMi0wNCAxMTozMDoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogaGFuZGxlIG11bHRpcGxlIGxhbmd1YWdlcwoJICBIYW5kbGUgbXVsdGlwbGUgbGFuZ3VhZ2VzIGJ5IHVzaW5nIHRoZSBub3QtbGlua2VkIHJldHVybiB0byBzdG9wCgkgIHRoZSBkb3dubG9hZCB0YXNrIGZvciB0aGF0IHN0cmVhbS4gSXQgY2FuIGJlIHJlYWN0aXZhdGVkIHdoZW4KCSAgYSByZWNvbmZpZ3VyZSBldmVudCBpcyByZWNlaXZlZC4gU3RvcHBpbmcgdGhlIHVudXNlZCBzdHJlYW1zIGlzCgkgIHJlbGV2YW50IHRvIHNhdmUgbmV0d29yayBiYW5kd2lkdGgKCjIwMTMtMTItMDMgMTY6MTY6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IFVzZSAxIGRvd25sb2FkIHRhc2sgcGVyIHN0cmVhbQoJICBJbnN0ZWFkIG9mIGhhdmluZyBhIHNpbmdsZSBkb3dubG9hZCB0YXNrIGZvciBhbGwgc3RyZWFtcywgdGhpcwoJICBjb21taXQgbWFrZXMgZWFjaCBzdHJlYW0gaGF2ZSBpdHMgb3duIGRvd25sb2FkIGxvb3AsIGFsbG93aW5nCgkgIHBhcmFsbGVsIGRvd25sb2FkIG9mIGZyYWdtZW50cy4KCjIwMTMtMTItMDMgMDA6MTI6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHJlZmFjdG9yIGZyYWdtZW50IGZldGNoaW5nIGludG8gc21hbGxlciBmdW5jdGlvbnMKCSAgTWFrZXMgaXQgZWFzaWVyIHRvIG1haW50YWluIGFuZCBleHRlbmQuIFRoaXMgaXMgYSBmaXJzdCBzdGVwIGludG8KCSAgYWRkaW5nIG11bHRpIGxhbmd1YWdlIHN1cHBvcnQgdG8gZGFzaGRlbXV4CgoyMDEzLTEyLTAyIDE3OjQxOjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBydW4gZ3N0LWluZGVudAoJICBMb3RzIG9mIGluZGVudGF0aW9uIGlzc3VlcyBtYWtpbmcgaXQgdmVyeSBhbm5veWluZyB0byBjb21taXQKCSAgYmVjYXVzZSBvZiB0aGUgaW5kZW50IGhvb2suIEZpeCB0aGlzIGZvciBvbmNlLgoKMjAxMy0xMi0wMiAxNzozMTo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGV4cG9zZSBhbGwgc3RyZWFtcwoJICBhbHdheXMgZXhwb3NlIGFsbCBzdHJlYW1zIGluc3RlYWQgb2Ygb25seSBleHBvc2luZyBvbmUgb2YgZWFjaCB0eXBlLgoJICBUaGlzIGlzIG1vcmUgYWxpZ25lZCB3aXRoIGdzdHJlYW1lcidzIHdheSBvZiB3b3JraW5nLiBBbGxvd3MgdGhlIHVzZXIKCSAgdG8gc2VsZWN0IHRoZSBzdHJlYW0gdGhhdCBpdCB3YW50cyB0byB1c2UgYnkgbGlua2luZyBpdHMgcGFkIGFuZCBsZWF2aW5nCgkgIHRoZSB1bnVzZWQgb25lcyBhcyB1bmxpbmtlZC4KCjIwMTMtMTItMjQgMTE6NTE6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VhZ2wubToKCSAgZWdsZ2xlc3Npbms6IFByb3Blcmx5IGNsZWFuIHVwIHJlbmRlcmJ1ZmZlcnMgYW5kIEVBR0wgY29udGV4dAoKMjAxMy0xMi0yMyAxNTozMzo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJICBhZHBjbWVuYzogUHJvcGVybHkgc2V0IG91dHB1dCBmb3JtYXQKCSAgT3RoZXJ3aXNlIHRoaXMgd2lsbCBqdXN0IGVycm9yIG91dCBpZiB3ZSBvbmx5IHNldCBjYXBzIG9uIHRoZSBzcmNwYWQuCgoyMDEzLTEyLTIyIDIyOjMzOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkYmVkYWEwIHRvIGQ0OGJlZDMKCjIwMTMtMTItMjIgMjE6NTY6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBwby9NYWtldmFyczoKCSAgcG86IHNldCBnZXR0ZXh0IGRvbWFpbiBpbiBNYWtldmFycyBzbyB3ZSBkb24ndCBoYXZlIHRvIHBhdGNoIHRoZSBnZW5lcmF0ZWQgTWFrZWZpbGUuaW4uaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTQ1NQoKMjAxMy0xMi0yMiAxNzo0Njo0MCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IHNldCB0aGUgY29ycmVjdCBzdHJpZGUgaW4gdGhlIHZpZGVvIG1ldGEKCjIwMTMtMTItMjIgMTc6NDQ6MDEgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSAgYXBwbGVtZWRpYTogYXRkZWM6IGZpeCBhYWMgZGVjb2Rpbmcgb24gTWF2ZXJpY2tzCgoyMDEzLTEyLTIwIDE4OjEyOjUzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgbW9kcGx1Zzogc21hbGwgc2Vla2luZyBjb2RlIHJlc2h1ZmZsZQoJICBQdXQgdGhlIGNvZGUgdGhhdCBjaGVja3Mgc3RvcCB2YWx1ZXMgdG9nZXRoZXIuIERvbid0IGNsYW1wIGEgY3VyIHZhbHVlIG9mIC0xIHRvIDAgKHNob3VsZCBub3QgaGFwcGVuIHJpZ2h0IG5vdykuCgoyMDEzLTEyLTIwIDE4OjEwOjE0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuYzoKCSAgc2ZkZWM6IG1ha2UgX3N0b3AoKSBub24gZmF0YWwgd2hlbiB3ZSBoYXZlIGFuIGVycm9yIGFscmVhZHkKCSAgSGF2aW5nIG5vIG9wZW4gZmlsZSBpbiBfc3RvcCgpIGlzIG9rYXkuIEp1c3QgcmVzZXQgc3RhdGUuCgoyMDEzLTEyLTIwIDE4OjA4OjMzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuaDoKCSAgc2ZkZWM6IGFkZCBldmVudCBmdW5jdGlvbiBhbmQgc2Vla2luZyBzdXBwb3J0CgoyMDEzLTEyLTE4IDA4OjEyOjA3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuYzoKCSAgc2ZkZWM6IGFkZCB0YWdsaXN0IHN1cHBvcnQKCSAgTWFwIHRoZSBtZXRhZGF0YSBzdHJpbmdzIGFuZCBhIGJ1bmNoIG9mIGluZm8tZmllbGRzIHRvIEdTdHJlYW1lciB0YWdzLgoKMjAxMy0xMi0xNyAyMjoyNTowMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmg6CgkgIHNmZGVjOiBhZGQgcXVlcnkgaW1wbGVtZW50YXRpb24gZm9yIHBvc2l0aW9uIGFuZCBkdXJhdGlvbgoKMjAxMy0xMi0xNyAxNzo1NjozMiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NuZGZpbGUvTWFrZWZpbGUuYW06CgkqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmLmg6CgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmg6CgkgIHNuZGZpbGU6IHJld3JpdGUgc25kZmlsZSBmb3IgMS4wCgkgIEFkZCBhIHNmZGVjIGZvciBhIHN0YXJ0LiBJbnN0ZWFkIG9mIGEgc291cmNlIHBsdWdpbiwgdGhpcyBpcyBhIGRlbXV4ZXIvZGVjb2RlciBjb21iaW5hdGlvbi4gVGhpcyBtYWtlcyBpdCB3b3JrIHdpdGggYXV0by1wbHVnZ2luZy4KCjIwMTMtMTItMjAgMDA6Mzk6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogdXBkYXRpbmcgZG9jcyBleHBsYWluaW5nIGhvdyBpdCB3b3JrcwoJICBtc3NkZW11eCBjaGFuZ2VkIGEgbG90IGFuZCB0aGUgZG9jcyB3ZXJlIG5vdCBjb3JyZWN0IGFueW1vcmUuCgkgIEFsc28gYWRkcyB0aGUgJ0FkYXB0aXZlJyBjYXRlZ29yeSB0byBpdHMgZGV0YWlscwoKMjAxMy0xMi0xOSAxNDozMDoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBkbyBub3QgcHVzaCBldmVudCBob2xkaW5nIG9iamVjdCBsb2NrCgkgIENhbiBsZWFkIHRvIGRlYWRsb2NrcyBhcyB0aGUgcHVzaCBtaWdodCBibG9jayBkb3duc3RyZWFtIGluCgkgIHNlcmlhbGl6ZWQgZXZlbnQgY2FzZXMuCgoyMDEzLTEyLTE5IDE0OjI5OjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGxvY2sgYXJvdW5kICdjYW5jZWxsZWQnIGZsYWcKCSAgUHJldmVudHMgcmFjZSBjb25kaXRpb25zIHdoZW4gcGlwZWxpbmUgaXMgc2Vla2luZyBuZWFyIGVvcwoKMjAxMy0xMi0xOSAyMTo1OTowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogQWxzbyByZXN5bmMgdGltZXN0YW1wcyBvbiB0aGUgUkVTWU5DIGZsYWcKCjIwMTMtMTItMTkgMjE6MzY6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VhZ2wubToKCSAgZWdsZ2xlc3Npbms6IERvbid0IHNldCB0aGUgRUFHTENvbnRleHQgb2YgdGhlIG1haW4gdGhyZWFkIGFuZCBkb24ndCByZXVzZSBpdCBlaXRoZXIKCSAgLi4uIGluc3RlYWQgY3JlYXRlIGEgbmV3IGNvbnRleHQgZm9yIGV2ZXJ5IHNpbmsgaW5zdGFuY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA0MjEKCjIwMTMtMTItMTkgMDg6NTc6NDEgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkgIGFwcGxlbWVkaWE6IGNvcmV2aWRlb2J1ZmZlcjogZml4IGZvciBwbGFuYXIgZm9ybWF0cwoKMjAxMy0xMi0xOSAwNzo1NDowNyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogcmVtb3ZlIHNpbGx5IHN0cmlkZSByZXF1aXJlbWVudAoJICBUaGlzIGlzIGxlZ2FjeSBmcm9tIHRoZSAwLjEwIHRpbWVzLCBhbmQgaXQgaXNuJ3QgY2xlYXIgaG93IGl0IHdhcyB1c2VmdWwgYmFjawoJICB0aGVuIGFsc28uJwoKMjAxMy0xMi0xOSAxMToxMToyOCArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L2RpcmVjdGZiL2RmYi1leGFtcGxlLmM6CgkgIGRpcmVjdGZiOiBBZGQgaGFjayB0byBmaXggY29tcGlsZSB3aXRoIGJyb2tlbiBEaXJlY3RGQiBkZWZpbmUKCSAgQ29tcGlsYXRpb24gYnJlYWtzIGJlY2F1c2Ugc29tZSB2ZXJzaW9ucyBvZiBEaXJlY3RGQiByZWRlZmluZQoJICBfX25vX2luc3RydW1lbnRfZnVuY3Rpb25fXywgd2hpY2ggaXMgdXNlZCBpbiB0aGUgR19HTlVDX05PX0lOU1RSVU1FTlQKCSAgbWFjcm8uCgoyMDEzLTEyLTE3IDE3OjU1OjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGZpeCBzZWdmYXVsdCB3aGVuIHRyeWluZyB0byBhY2Nlc3MgY29kZWNfZGF0YQoJICBDaGVjayBpZiBjb2RlY19kYXRhIHdhcyBvYnRhaW5lZCBiZWZvcmUgdHJ5aW5nIHRvIHVzZSBpdCB0bwoJICBwcmV2ZW50IGEgc2VnZmF1bHQKCjIwMTMtMTItMTcgMTc6NTQ6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogYWxzbyBnZW5lcmF0ZSBjYXBzIGZyb20gYXVkaW90YWcgYXR0cmlidXRlCgkgIFNvbWUgYXVkaW8gd2lsbCBoYXZlIGl0cyBhdWRpbyBmb3JtYXQgZGVmaW5lZCBieSB0aGUgQXVkaW9UYWcKCSAgaW5zdGVhZCBvZiB0aGUgRm91cmNjLiBGYWxsYmFjayB0byB1c2luZyBBdWRpb1RhZyBpZiBGb3VyY2MKCSAgaXNuJ3QgYXZhaWxhYmxlCgoyMDEzLTEyLTE3IDE2OjMxOjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IG1ha2Ugc3VyZSBzdHJlYW1zIHN0b3AgcHJvcGVybHkgb24gY2FuY2VsbGVkCgkgIHNwZWNpYWxseSB3aGVuIHRoZSBnc3RfdGFza19qb2luIGlzIHdhaXRpbmcgZm9yIHRoZSB0YXNrCgkgIHRvIGdvIHN0b3AgYW5kIHRoZSB0YXNrIGl0c2VsZiBzZXRzIGl0cyBiYWNrIHRvIHBhdXNlZCwgY2F1c2luZwoJICBhIGRlYWRsb2NrIG9uIGV4aXQuCgoyMDEzLTEyLTE3IDEzOjE2OjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogdHJhY2sgc2VnbWVudHMgcGVyIHN0cmVhbQoJICBBcyBzdHJlYW1zIG5vdyBmbG93IGluZGVwZW5kZW50bHksIHRoZSBHc3RTZWdtZW50IG5lZWRzIHRvIGJlIHB1dAoJICBvbiBlYWNoIHN0cmVhbSBzbyB0aGV5IGNhbiB0cmFjayB0aGUgcG9zaXRpb24gb2YgZWFjaCBvbmUgY29ycmVjdGx5CgkgIGluc3RlYWQgb2YgYmVpbmcgbWl4ZWQgaW4gYSBzaW5nbGUgc2VnbWVudAoKMjAxMy0xMS0xNCAxNToyMzo0MiArMDEwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBwdXNoIGxhbmd1YWdlIGNvZGUgdGFnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTIzNTgKCjIwMTMtMTEtMTQgMTU6MTQ6MTggKzAxMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc21hbmlmZXN0OiBzdG9yZSB0aGUgbGFuZ3VhZ2Ugb2YgdGhlIHN0cmVhbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyMzU4CgoyMDEzLTEyLTE2IDE2OjE0OjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogcmVtb3ZlIHRoZSBzdHJlYW0gbG9vcCB0YXNrCgkgIERvd25sb2FkIGFuZCBwdXNoIGZyb20gdGhlIHNhbWUgdGFzaywgbWFrZXMgY29kZSBhIGxvdCBzaW1wbGVyCgkgIHRvIG1haW50YWluLiBBbHNvIHB1c2hpbmcgZnJvbSBzZXBhcmF0ZSB0aHJlYWRzIGF2b2lkcyBkZWFkbG9ja2luZwoJICB3aGVuIGdzdF9wYWRfcHVzaCBibG9ja3MgZHVlIHRvIGRvd25zdHJlYW0gcXVldWVzIGJlaW5nIGZ1bGwKCjIwMTMtMTItMTMgMTc6MzE6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogSW1wcm92ZSBsb2dnaW5nCgkgIFNob3cgdGhlIHN0cmVhbSdzIHBhZCBvbiBsb2cgbWVzc2FnZXMgdG8gbWFrZSBlYXNpZXIgdG8gZGVidWcKCSAgaXNzdWVzIGluIHRoZSBtdWx0aXBsZSB0aHJlYWRzCgoyMDEzLTEyLTEwIDE4OjA4OjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGltcHJvdmUgZmxvdyByZXR1cm4gaGFuZGxpbmcKCSAgSGFuZGxlIGRpZmZlcmVudCBmbG93IHJldHVybnMgYm90aCBmcm9tIHRoZSBzdHJlYW1pbmcgYW5kIHRoZQoJICBkb3dubG9hZGluZyBsb29wcwoKMjAxMy0xMi0xMCAxNTo0MTowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IHJlbW92ZSBzdHJlYW0gbG9ja3MKCSAgU2ltcGxpZnkgdGhlIGxvY2tpbmcgYnkgdXNpbmcgYSBzaW5nbGUgbG9jayBpbnN0ZWFkIG9mIGhhdmluZyBvbmUKCSAgbG9jayBwZXIgc3RyZWFtLiBUaGlzIHN0aWxsIHdvcmtzIGFuZCBpcyBzaW1wbGVyIHRvIG1haW50YWluLgoKMjAxMy0xMS0xMiAwOTo1ODozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IGF2b2lkIGRvd25sb2FkaW5nIG5vdC1saW5rZWQgc3RyZWFtcwoJICBXaGVuIGEgc3RyZWFtIGdldHMgYSBub3QtbGlua2VkIHJldHVybiwgaXQgd2lsbCBiZSBtYXJrZWQgYXMgc28gYW5kCgkgIHdvbid0IGRvd25sb2FkIGFueSBtb3JlIG5ldyBmcmFnbWVudHMgdW50aWwgYSByZWNvbmZpZ3VyZSBldmVudAoJICBpcyByZWNlaXZlZC4gVGhpcyB3aWxsIG1ha2UgbXNzZGVtdXggZXhwb3NlIGFsbCBwYWRzLCBidXQgb25seSBkb3dubG9hZAoJICBmcmFnbWVudHMgZm9yIHRoZSBzdHJlYW1zIHRoYXQgYXJlIGFjdHVhbGx5IGJlaW5nIHVzZWQuCgkgIFJlbHlpbmcgb24gdGhlIHBhZHMgYmVpbmcgbGlua2VkL3VubGlua2VkIGlzbid0IGVub3VnaCBpbiB0aGlzIHNjZW5hcmlvCgkgIGFzIHRoZXJlIG1pZ2h0IGJlIGFuIGlucHV0LXNlbGVjdG9yIGRvd25zdHJlYW0gdGhhdCBpcyBhY3R1YWxseSBkaXNjYXJkaW5nCgkgIGJ1ZmZlcnMgZm9yIGEgZ2l2ZW4gbGlua2VkIHBhZC4KCSAgV2hlbiBzdHJlYW1zIGFyZSBzd2l0Y2hpbmcsIHRoZSBvbGQgYWN0aXZlIHN0cmVhbSBjYW4gYmUgYmxvY2tlZCBiZWNhdXNlCgkgIGlucHV0LXNlbGVjdG9yIHdpbGwgYmxvY2sgbm90LWxpbmtlZCBzdHJlYW1zLiBJbiBjYXNlIHRoZSBtc3NkZW11eCdzCgkgIHN0cmVhbSBsb29wIGlzIGJsb2NrZWQgcHVzaGluZyBhIGJ1ZmZlciB0byBhIGZ1bGwgcXVldWUgZG93bnN0cmVhbSBpdCB3aWxsCgkgIG5ldmVyIHVuYmxvY2sgYXMgdGhlIHF1ZXVlIHdpbGwgbm90IGRyYWluIChpbnB1dC1zZWxlY3RvciBpcyBibG9ja2luZykuCgkgIEluIHRoaXMgc2NlbmFyaW8sIHN0cmVhbSBzd2l0Y2hpbmcgd2lsbCBkZWFkbG9jayBhcyBpbnB1dC1zZWxlY3RvciBpcwoJICB3YWl0aW5nIGZvciB0aGUgbmV3bHkgYWN0aXZlIHN0cmVhbSBkYXRhIGFuZCB0aGUgc3RyZWFtX2xvb3AgdGhhdCB3b3VsZAoJICBwdXNoIHRoaXMgZGF0YSBpcyBibG9ja2VkIHdhaXRpbmcgZm9yIGlucHV0LXNlbGVjdG9yLgoJICBUbyBzb2x2ZSB0aGlzIGlzc3VlLCB3aGVuZXZlciBhbiBzdHJlYW0gaXMgcmVhY3RpdmF0ZWQgb24gYSByZWNvbmZpZ3VyZQoJICBpdCB3aWxsIGVudGVyIGludG8gdGhlICdjYXRjaCB1cCBtb2RlJywgaW4gdGhpcyBtb2RlIGl0IGNhbiBwdXNoIGJ1ZmZlcnMKCSAgZnJvbSBpdHMgZG93bmxvYWQgdGhyZWFkIHVudGlsIGl0IHJlYWNoZXMgdGhlIGN1cnJyZW50IEdzdFNlZ21lbnQncyBwb3NpdGlvbi4KCSAgVGhpcyB3b3JrcyBiZWNhdXNlIHRoaXMgdGltZXN0YW1wIHdpbGwgYWx3YXlzIGJlIGJlaGluZCBvciBlcXVhbCB0byB0aGUgbWF4aW11bQoJICB0aW1lc3RhbXAgcHVzaGVkIGZvciBhbGwgc3RyZWFtcywgYWZ0ZXIgcHVzaGluZyBkYXRhIGZvciB0aGlzIHRpbWVzdGFtcCwKCSAgdGhlIHN0cmVhbSB3aWxsIGdvIGJhY2sgdG8gZGVmYXVsdCBhbmQgYmUgcHVzaGVkIHNlcXVlbnRpYWxseSBmcm9tIHRoZSBtYWluCgkgIHN0cmVhbWluZyB0aHJlYWQuIEJ5IHRoaXMgdGltZSwgdGhlIGlucHV0LXNlbGVjdG9yIHNob3VsZCBoYXZlIGFscmVhZHkKCSAgcmVsZWFzZWQgdGhlIHRocmVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTg0OQoKMjAxMy0xMi0xOCAxNjoyNjoxNyAtMDUwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIG1wZWd2aWRlb3BhcnNlOiBGaXggZG9jdW1lbnRhdGlvbiBvZiBHc3RNcGVnVmlkZW9TZXF1ZW5jZVNjYWxhYmxlTW9kZQoKMjAxMy0xMi0xOCAxMzo0ODo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1iYWQucGMuaW46CgkgIHBrZ2NvbmZpZzogRG9uJ3QgaW5jbHVkZSBsaWJyYXJpZXMgaW4gdGhlIGdlbmVyaWMgZ3N0LXBsdWdpbnMtYmFkIHBjIGZpbGUKCjIwMTMtMTItMTggMTM6NDU6MjIgKzAxMDAgIE1hcml1c3ogQnVyYXMgPG1hcml1c3ouYnVyYXNAeW91dmlldy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLnBjLmluOgoJICBtcGVndHM6IEluc3RhbGwgZ2VuZXJhdGVkIGhlYWRlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDY3MwoKMjAxMy0xMi0xNyAxMDowMTo0MiArMDEwMCAgRGF2aWRlIEJlcnRvbGEgPGRhZGVAZGFkZWIuaXQ+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogRW5hYmxlIGhhcmR3YXJlIGFjY2VsZXJhdGVkIGRlY29kaW5nIG9uIDEwLjkKCjIwMTMtMTItMTcgMTI6MTc6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSAgY3VybDogRml4IGluZGVudGlvbgoKMjAxMy0xMi0xNyAxMjowNjoxMyArMDEwMCAgSGFyaWRhc3MgU2VsdmFyYWogPGhhcmlkYXNqQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybGZ0cHNpbmsuYzoKCSAgY3VybGZ0cHNpbms6IE9wdGlvbmFsbHkgY3JlYXRlIGEgdGVtcG9yYXJ5IGZpbGUgZHVyaW5nIEZUUCB0cmFuc2Zlci91cGxvYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTYyMAoKMjAxMy0xMi0xNyAxMDoyMzoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJICBkZWNrbGlua3Npbms6IEdpdmUgcHJlZmVyZW5jZSB0byB0aGUgb3JkZXIgb2YgdGhlIGZpbHRlciBjYXBzIHdoZW4gcXVlcnlpbmcgY2FwcwoKMjAxMy0xMi0xNyAxMDoyMToyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJICBkZWNrbGlua3Npbms6IE9ubHkgaW50ZXJzZWN0IHdpdGggdGhlIGZpbHRlciBjYXBzIGlmIHRoZXJlIGFjdHVhbGx5IGlzIGEgZmlsdGVyCgoyMDEzLTEyLTE1IDIxOjA1OjMxIC0wODAwICBUb2RkIEFndWxuaWNrIDx0b2RkQGFndWxuaWNrLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IFNvbWUgY29tcGlsZXIgd2FybmluZyBmaXhlcyB0byBzYXRpc2Z5IFhDb2RlIGNvbXBpbGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1MTMKCjIwMTMtMTItMTYgMTY6MDc6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDN0YWc6IFJlYWQgaW1hZ2UtZGVzY3JpcHRpb24gZnJvbSB0aGUgaW5mbyBzdHJ1Y3R1cmUsIG5vdCB0aGUgY2FwcwoKMjAxMy0xMi0xNiAxMToxNDoyOSArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBGaXggdHlwbyBpbiBiejIgY2hlY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDUzMgoKMjAxMy0xMi0xNiAxMTo1MTowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM3RhZzogV3JpdGUgaW1hZ2UtdHlwZSBpbnRvIHRoZSBBUElDIHRhZwoKMjAxMy0xMi0xNiAxMDoyNToyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5oOgoJICB2YzFwYXJzZTogUG9zdCBWSURFT19DT0RFQyB0YWcKCjIwMTMtMTItMTYgMTA6MjQ6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuaDoKCSAgcG5ncGFyc2U6IFBvc3QgVklERU9fQ09ERUMgdGFnCgoyMDEzLTEyLTE2IDEwOjIyOjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogVXNlIHBidXRpbHMgQVBJIHRvIGNyZWF0ZSB0aGUgVklERU9fQ09ERUMgdGFnIHN0cmluZwoKMjAxMy0xMi0xNiAxMDoyMTowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogUG9zdCBWSURFT19DT0RFQyB0YWcKCjIwMTMtMTItMTYgMTA6MTk6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5oOgoJICBoMjY1cGFyc2U6IFBvc3QgVklERU9fQ09ERUMgdGFnCgoyMDEzLTEyLTE2IDEwOjE4OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBQb3N0IFZJREVPX0NPREVDIHRhZwoKMjAxMy0xMi0xNiAxMDoxNjoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmg6CgkgIGgyNjNwYXJzZTogUG9zdCBWSURFT19DT0RFQyB0YWcKCjIwMTMtMTItMTYgMTA6MTM6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmg6CgkgIGRpcmFjcGFyc2U6IFBvc3QgVklERU9fQ09ERUMgdGFnCgoyMDEzLTEyLTE0IDE4OjEyOjUzIC0wNTAwICBUb2RkIEFndWxuaWNrIDx0b2RkQGFndWxuaWNrLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBQcm9jZXNzIEVPUyBldmVuIHdoZW4gdGhlcmUgYXJlIG5vIGluY29taW5nIHZpZGVvIGZyYW1lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDcwMAoKMjAxMy0xMi0xNCAxNTo1NTo0MiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogaGFuZGxlIGxldmVsIDMgaW4gZ2V0X2RwYl9tYXhfbWJfc19mcm9tX2xldmVsLiBvb3BzLgoKMjAxMy0xMi0xNCAxNTo1NToyMiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJICBhcHBsZW1lZGlhOiBhdGRlYzogZml4IG1wMyBjYXBzCgoyMDEzLTEyLTE0IDE4OjQyOjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbmtzcmM6IFNldCBHU1RfRUxFTUVOVF9GTEFHX1NPVVJDRSBvbiB0aGUgc291cmNlCgkgIEFzIGl0IGRvZXMgbm90IGluaGVyaXQgZnJvbSBiYXNlc3JjLCB0aGlzIGZsYWcgaXMgbm90IGF1dG9tYXRpY2FsbHkgc2V0CgkgIGFuZCBlLmcuIGdzdF9iaW5faXRlcmF0ZV9zb3VyY2VzKCkgYW5kIG90aGVyIGNvZGUgZG9lcyBub3QgY29uc2lkZXIgdGhpcwoJICBlbGVtZW50IGEgc291cmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNzAwCgoyMDEzLTEyLTE0IDEzOjMyOjI2ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBhZGQgbWlzc2luZyBBTV9DT05ESVRJT05BTCBmb3IgT1BFTkVYUiBhbmQgU0JDCgkgIE1ha2VzIG15IGF1dG9tYWtlICgxLjE0KSBoYXBwaWVyLgoKMjAxMy0xMi0xNCAxMzozMDowMSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogYWx3YXlzIGluY2x1ZGUgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgoJICBGaXhlcyBjb21waWxhdGlvbiB3aXRoIG5ld2VzdCB4Y29kZS4KCjIwMTMtMTItMTIgMTc6NDk6MjQgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlcjogbm90IGFsbCBzdGFydGNvZGVzIHNob3VsZCBoYXZlIDMtYnl0ZSAwIHByZWZpeAoJICBUaGUgcGFyc2VyIGFzc3VtZXMgdGhhdCBldmVyeSB0aW1lIHRoZXJlIGlzIGEgMCBiZWZvcmUgdGhlIHN0YXJ0Y29kZSwKCSAgaXQgaXMgcGFydCBvZiB0aGUgc3RhcnRjb2RlLiBCdXQgdGhhdCdzIG5vdCB0cnVlLgoJICBGcm9tIHRoZSBzcGVjaWZpY2F0aW9uCgkgIEJ5dGUgc3RyZWFtIE5BTCB1bml0IHN5bnRheAoJICB6ZXJvX2J5dGUgaXMgYSBzaW5nbGUgYnl0ZSBlcXVhbCB0byAweDAwLgoJICBXaGVuIGFueSBvZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIGZ1bGZpbGxlZCwgdGhlIHplcm9fYnl0ZSBzeW50YXgKCSAgZWxlbWVudCBzaGFsbCBiZSBwcmVzZW50LgoJICDigJMgdGhlIG5hbF91bml0X3R5cGUgd2l0aGluIHRoZSBuYWxfdW5pdCggKSBpcyBlcXVhbCB0byA3IChzZXF1ZW5jZSBwYXJhbWV0ZXIKCSAgc2V0KSBvciA4IChwaWN0dXJlIHBhcmFtZXRlciBzZXQpCgkgIOKAkyB0aGUgYnl0ZSBzdHJlYW0gTkFMIHVuaXQgc3ludGF4IHN0cnVjdHVyZSBjb250YWlucyB0aGUgZmlyc3QgTkFMIHVuaXQgb2YgYW4KCSAgYWNjZXNzIHVuaXQgaW4gZGVjb2Rpbmcgb3JkZXIsIGFzIHNwZWNpZmllZCBieSBzdWJjbGF1c2UgNy40LjEuMi4zLgoJICBUaGUgcHJvYmxlbSB3aXRoIGRvaW5nIHRoaXMgZm9yIGFsbCBzdGFydGNvZGVzIGlzIHRoYXQgYSB0cmFpbGluZyB6ZXJvIGNhbiBtZXNzCgkgIHVwIHRpbWVzdGFtcHMuIFRoZSB0cmFpbGluZyB6ZXJvIGdldHMgcHJlcGVuZGVkIHRvIHRoZSBzdGFydGNvZGUsIHdoaWNoIHdpbGwKCSAgY2FycnkgdGhlIFBUUyBhbmQgRFRTIG9mIHByZXZpb3VzIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NDQ0MwoKMjAxMy0xMi0xMCAxMToyNzo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSAgYXNmcGFyc2U6IGFkZCB0aW1lc3RhbXBzIHRvIHBhY2tldHMKCSAgcmUtZW5hYmxlIHRoZSBjb2RlIHRoYXQgYWRkcyB0aW1lc3RhbXBzIHRvIHBhY2tldHMgYWZ0ZXIgYmFzZXBhcnNlJ3MKCSAgcG9ydAoKMjAxMy0xMi0xMCAxMDozNDowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5oOgoJICBhc2ZwYXJzZTogcG9ydCB0byBiYXNlcGFyc2UKCSAgYXNmcGFyc2Ugd2FzIG5vdCByZWFsbHkgZnVuY3Rpb25hbCBhZnRlciB0aGUgcG9ydCB0byAxLjAKCSAgTm93IHBvcnRpbmcgaXQgdG8gYmFzZXBhcnNlIHRvIGdldCBpdCB3b3JraW5nIGFnYWluCgoyMDEzLTEyLTEzIDExOjQ5OjUyICswMTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSAgZHZic3Vib3ZlcmxheTogZml4IHJlYWRpbmcgb2YgZGlzcGxheSB3aW5kb3cgaW4gZGlzcGxheSBkZWZpbml0aW9uIHNlZ21lbnQKCSAgRnJvbSBFVFNJIEVOIDMwMCA3NDMgVjEuMy4xICgyMDA2LTExKSA3LjIuMSBEaXNwbGF5IGRlZmluaXRpb24gc2VnbWVudCBzcGVjaWZpY3RhdGlvbnMKCSAgdGhlIHBhcmFtZXRlcnMgb2YgZGlzcGxheSB3aW5kb3cgYXJlIGluIHRoaXMgb3JkZXI6IFhtaW4sIFhtYXgsIFltaW4sIFltYXguCgkgIFNpZ25lZC1vZmYtYnk6IEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoJICBTaWduZWQtb2ZmLWJ5OiBQaWVycmUtWXZlcyBNb3JkcmV0IDxwaWVycmUteXZlcy5tb3JkcmV0QHN0LmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDM4MgoKMjAxMy0xMi0xMyAxNDoxNjo0OSAtMDgwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJICBzcnRwOiBhZGQgMjU2LWJpdCBrZXkgc3VwcG9ydAoJICAqIGV4dC9zcnRwL2dzdHNydHAuW2NoXTogYWRkZWQgR1NUX1NSVFBfQ0lQSEVSX0FFU18yNTZfSUNNIHRvCgkgIEdzdFNydHBDaXBoZXJUeXBlIGFuZCBuZXcgZnVuY3Rpb24gY2lwaGVyX2tleV9zaXplLgoJICAqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzogbWF4aW11bSBrZXkgc2l6ZSBpcyBub3cgNDYgY2hhcmFjdGVycyAoMTQgZm9yCgkgIHRoZSBzYWx0IHBsdXMgdGhlIGtleSkuIElmIGRpZmZlcmVudCBjaXBoZXJzIGFyZSBjaG9zZW4gZm9yIFJUUCBhbmQKCSAgUlRDUCB0aGUgbWF4aW11bSBuZWVkZWQga2V5IHNpemUgaXMgZXhwZWN0ZWQuCgkgICogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOiBtaW5vciBkb2N1bWVudGF0aW9uIHVwZGF0ZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA0MzQKCjIwMTMtMTItMTIgMTM6MjE6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICBnc21kZWM6IHByb2Nlc3MgYWxsIGF2YWlsYWJsZSBpbnB1dCBmcmFtZXMgaW4gb25lIGdvCgkgIEluc3RlYWQgb2YgcGFyc2luZywgZGVjb2RpbmcgYW5kIHNlbmRpbmcgb3V0CgkgIGxvdHMgb3MgbGl0dGxlIDIwbXMgYXVkaW8gYnVmZmVycyBvbmUgYnkgb25lLgoKMjAxMy0xMi0xMSAxODo1Mjo1MyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogZml4IGNvbXBpbGVyIHdhcm5pbmcgKHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUpCgoyMDEzLTEyLTExIDA4OjExOjUwICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiByZW5hbWUgcmVvcmRlcl9xdWV1ZV9mcmFtZV9kZWxheSB0byByZW9yZGVyX3F1ZXVlX2xlbmd0aAoKMjAxMy0xMi0xMSAwODoxMDoxOSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogcmVwb3J0IGxhdGVuY3kKCjIwMTMtMTItMTEgMDc6NTg6MjMgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IHNldCByZW9yZGVyIHF1ZXVlIGxlbmd0aCB0byB0aGUgbWF4IERQQiBsZW5ndGgKCSAgU2V0IHJlb3JkZXJfcXVldWVfZnJhbWVfZGVsYXkgZnJvbSB0aGUgRFBCIHNpemUgKGluIGZyYW1lcykuIFN0aWxsIG5vdCBvcHRpbWFsLAoJICBhcyB0aGUgRFBCIHNpemUgaXMgbGFyZ2VyIHRoYW4gdGhlIG1heCBiZnJhbWUgZm9yd2FyZCBwcmVkaWN0aW9uIGxlbmd0aCwgYnV0IEkKCSAgZG9uJ3Qga25vdyBob3cgdG8gY29tcHV0ZSB0aGUgbGF0dGVyIHdpdGhvdXQgcGFyc2luZyBldmVyeSBncm91cCBvZiBwaWN0dXJlcy4KCjIwMTMtMTItMTAgMjM6MDY6NTMgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJICBzb3VuZHRvdWNoOiBDYWxsIGRlZmF1bHQgZXZlbnQgaGFuZGxlciBmb3IgYmFzZXRyYW5zZm9ybQoJICBNYWtlIHBpcGVsaW5lIGVuZCBwcm9wZXJseSBhdCBFT1MgYW5kIG5vdCBsZWFrIGJ5IHBhc3NpbmcgZXZlbnRzCgkgIHRvIHRoZSBkZWZhdWx0IGV2ZW50IGhhbmRsZXIuCgoyMDEzLTEyLTA2IDAwOjQ1OjUwICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICByZXNpbmR2ZDogUmVtb3ZlIHJhY3kgZ2xpYiB3YXJuaW5nLgoJICBTb21ldGltZXMsIHRoZSBwYWQgcHJvYmVzIGNhbiBiZSBjYWxsZWQgdHdpY2UgLSBmb3IgT09CIGV2ZW50cwoJICB0cmF2ZWxsaW5nIGRvd25zdHJlYW0uIENsZWFyIG91dCB0aGUgcGFkIGJsb2NrIGlkLCBzbyBpdCBvbmx5CgkgIGdldHMgcmVtb3ZlZCBvbmNlLgoKMjAxMy0xMi0wNiAwMDoyMjoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkgIGdzbWRlYzogZml4IGRlY29kaW5nIG9mIGF1ZGlvL21zLWdzbSB2YXJpYW50CgkgIEFsdGVybmF0ZXMgYmV0d2VlbiAzMyBhbmQgMzIgYnl0ZSBmcmFtZXMsIGJ1dCBtdXN0IHN0YXJ0CgkgIHdpdGggYSAzMyBieXRlIGZyYW1lLiBUaGlzIGhhcyBiZWVuIGJyb2tlbiBmb3IgYWdlcyBzaW5jZQoJICB0aGUgZWxlbWVudCB3YXMgcG9ydGVkIHRvIHRoZSBhdWRpbyBkZWNvZGVyIGJhc2UgY2xhc3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk0MTYKCjIwMTMtMTItMTAgMTE6MTA6NTQgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBzZXQgdGhlIGNvcnJlY3QgdmlkZW8gZm9ybWF0IGluIHRoZSB2aWRlbyBtZXRhCgkgIEZpeGVzIGFsbCBraW5kcyBvZiB3ZWlyZCBidWdzIHdoZW4gdmlkZW9jb252ZXJ0IGlzIHVzZWQgd2l0aCB0aGUgZGVjb2Rlci4KCjIwMTMtMDQtMTcgMTA6NDQ6NDggKzA4MDAgIENvbmcgWmhvbmcgPGNvbmd4Lnpob25nQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBwaWN0dXJlIGxldmVsIHNjYWxpbmcgbGlzdHMgZGVyaXZhdGlvbiAocnVsZSBCKS4KCSAgRml4IHBpY3R1cmUgbGV2ZWwgc2NhbGluZyBsaXN0cyBkZXJpdmF0aW9uIGZyb20gZmFsbC1iYWNrIHJ1bGUgc2V0IEIsCgkgIGFzIHNwZWNpZmllZCBpbiA3LjQuMi4yLiBNb3JlIHByZWNpc2VseSwgdGhlIHNlcXVlbmNlIGxldmVsIHNjYWxpbmcKCSAgbGlzdHMgbmVlZCB0byBiZSB1c2VkIGJ1dCBpbnRyYSBhbmQgaW50ZXIgbGlzdHMgYXJndW1lbnRzIHdlcmUgc3dhcHBlZC4KCSAgVGhpcyBmaXhlcyBGUkV4dC9mcmVoNS4yNjQgZnJvbSBjb25mb3JtYW5jZSB0ZXN0aW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwMDk5CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMTItMDggMTY6NDY6NTggKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkgIGFwcGxlbWVkaWE6IGNvcmV2aWRlb2J1ZmZlcjogc2V0IHRoZSBjb3JyZWN0IHN0cmlkZSBmb3IgcGFja2VkIGZvcm1hdHMKCjIwMTMtMTItMDggMTU6MzE6MDkgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IGZpeCBtcGVnMiB2aWRlbyBzdXBwb3J0CgoyMDEzLTEyLTA4IDE1OjI1OjI3ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBtYWtlIGpwZWcgZGVjb2RpbmcgYWN0dWFsbHkgd29yawoKMjAxMy0xMi0wOCAxNToyNDo1OCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogZmFpbCBncmFjZWZ1bGx5IHdoZW4gbm90IG5lZ290aWF0ZWQKCjIwMTMtMTItMDcgMjM6NTU6MTMgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5oOgoJICBhcHBsZW1lZGlhOiByZXdyaXRlIFZpZGVvVG9vbGJveCBkZWNvZGVyIGJhc2VkIG9uIEdzdFZpZGVvRGVjb2RlcgoKMjAxMy0xMi0wNiAyMToxMTozMiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92bW5jL01ha2VmaWxlLmFtOgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkqIGdzdC92bW5jL3ZtbmNkZWMuaDoKCSAgdm1jbmRlYzogQWRkIG1pc3NpbmcgaGVhZGVyIGZpbGUKCSAgRm9yZ290IHRvIGFkZCBoZWFkZXIgZmlsZSB0byBwcmV2aW91IGNvbW1pdAoKMjAxMy0xMi0wNiAyMDo1ODo0OCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSAgdm1uY2RlYzogUG9ydCB0byBHU3RyZWFtZXIgMS4wIEFQSQoKMjAxMy0xMi0wNiAxNzo1ODoxMyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSAgc3RlcmVvOiBQb3J0IHRvIEdTdHJlYW1lciAxLjAgQVBJCgoyMDEzLTEyLTA2IDE3OjEwOjM5IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvanAya2RlY2ltYXRvci9nc3RqcDJrZGVjaW1hdG9yLmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuaDoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvanAya2NvZGVzdHJlYW0uYzoKCSAganAya2RlY2ltYXRvcjogUG9ydCB0byBHU3RyZWFtZXIgMS4wIEFQSQoKMjAxMy0xMi0wNSAxNjo1MDoyNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkgIHJ0cGFzZnBheTogVXNlIEdzdFJUUEJhc2VQYXlsb2FkIG1ldGhvZCB0byBwdXNoIGJ1ZmZlcgoJICBUaGlzIHdheSB0aGUgZXZlbnQgaXMgYWxzbyBwdXNoZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk1NTMKCjIwMTMtMTItMDUgMTI6MDU6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJICBzYmNkZWM6IFJlcXVpcmUgY2FwcyB0byBiZSBzZXQgYmVmb3JlIGFueSBkYXRhIHByb2Nlc3NpbmcKCjIwMTMtMTItMDUgMTI6MDU6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSAgYWRwY21kZWM6IFJlcXVpcmUgY2FwcyB0byBiZSBzZXQgYmVmb3JlIGFueSBkYXRhIHByb2Nlc3NpbmcKCjIwMTMtMTItMDUgMTI6MDU6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSAgc2lyZW5kZWM6IFJlcXVpcmUgY2FwcyB0byBiZSBzZXQgYmVmb3JlIGFueSBkYXRhIHByb2Nlc3NpbmcKCjIwMTMtMTItMDUgMTI6MDQ6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IFJlcXVpcmUgY2FwcyB0byBiZSBzZXQgYmVmb3JlIGFueSBkYXRhIHByb2Nlc3NpbmcKCjIwMTMtMTItMDUgMTI6MDQ6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyM2F1ZGlvZGVjOiBSZXF1aXJlIGNhcHMgdG8gYmUgc2V0IGJlZm9yZSBhbnkgZGF0YSBwcm9jZXNzaW5nCgoyMDEzLTEyLTA1IDEyOjA0OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgZ3NtZGVjOiBSZXF1aXJlIGNhcHMgdG8gYmUgc2V0IGJlZm9yZSBhbnkgZGF0YSBwcm9jZXNzaW5nCgoyMDEzLTEyLTA1IDExOjQ5OjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogVXNlIG5ldyBnc3RfdmlkZW9fZGVjb2Rlcl9zZXRfbmVlZHNfZm9ybWF0KCkgQVBJCgoyMDEzLTEyLTA1IDExOjQ5OjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjZGVjOiBVc2UgbmV3IGdzdF92aWRlb19kZWNvZGVyX3NldF9uZWVkc19mb3JtYXQoKSBBUEkKCjIwMTMtMTItMDUgMTE6NDk6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSAgb3BlbmpwZWdkZWM6IFVzZSBuZXcgZ3N0X3ZpZGVvX2RlY29kZXJfc2V0X25lZWRzX2Zvcm1hdCgpIEFQSQoKMjAxMy0xMi0wNSAxMTo0NTozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYWFsYS9nc3RkYWFsYWRlYy5jOgoJICBkYWFsYWRlYzogVXNlIG5ldyBnc3RfdmlkZW9fZGVjb2Rlcl9zZXRfbmVlZHNfZm9ybWF0KCkgQVBJCgoyMDEzLTEyLTA0IDE3OjMxOjI3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgbXBlZ3ZpZGVvcGFyc2VyOiBBbHNvIGluaXRpYWxpemUgZGVidWcgY2F0ZWdvcnkgaW4gcGFyc2Vfc2VxdWVuY2VfaGVhZGVyCgkgIEFsc28gcmVtb3ZlIHRoZSB1c2VsZXNzIGluaXRpYWxpemVkIGZsYWcsIHRoaXMgaXMgYWxyZWFkeSBkb25lIGJ5IHRoZSBtYWNybwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NjU3CgoyMDEzLTEyLTA0IDIyOjM4OjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5leHIvZ3N0b3BlbmV4cmRlYy5jcHA6CgkgIG9wZW5leHJkZWM6IEluc3RlYWQgb2YgdHJ5aW5nIHRvIHBhcnNlIHRoZSBiaXRzdHJlYW0sIGp1c3QgbG9vayBmb3IgdGhlIG5leHQgaGVhZGVyCgkgIFRoaXMgc2hvdWxkIGJlIG1vcmUgcm9idXN0IGFuZCBhbGxvd3MgdXMgdG8gaGFuZGxlIG5ldyB2ZXJzaW9ucyBvZiB0aGUKCSAgZmlsZSBmb3JtYXQgaWYgdGhlIGxpYnJhcnkgc3VwcG9ydHMgaXQuCgoyMDEzLTEyLTA0IDA5OjEzOjMxICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiB1c2UgQUNDRVBUX0lOVEVSU0VDVAoJICBXZSBjYW4gYWxzbyBhY2NlcHQgY2FwcyB3aXRoIG1pc3NpbmcgZmllbGRzLgoKMjAxMy0xMi0wNCAwOTowMzo0NSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogcmVtb3ZlIGZpZWxkcyBmcm9tIGZpbHRlcgoJICBEb24ndCBmaWx0ZXIgb3V0IHRoZSBjYXBzIHByb3BlcnRpZXMgd2UgY2FuIGNvbnZlcnQgYmV0d2VlbiB3aGVuCgkgIHByb3h5aW5nIHRoZSBnZXRjYXBzIHF1ZXJ5IHRvIHRoZSBkb3duc3RyZWFtIHBlZXIgcGFkLgoKMjAxMy0xMi0wNCAwOTowMDo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogcmVmYWN0b3IgcmVtb3ZlX2ZpZWxkcyBpbiBnZXRjYXBzCgoyMDEzLTEyLTAzIDE0OjUzOjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IENoZWNrIGNvbG9yIGZvcm1hdAoKMjAxMy0xMi0wMyAxNDo0NzozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBBZGQgc3VwcG9ydCBmb3IgdGhlIHZpZGVvIG1ldGEKCjIwMTMtMTItMDMgMTQ6NDY6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5oOgoJICBvcGVubmkyc3JjOiBVc2UgR3N0VmlkZW9GcmFtZSBBUEkgZm9yIGJldHRlciBoYW5kbGluZyBvZiBzdHJpZGVzCgkgIEFuZCBkbyBwcm9wZXIgc3RyaWRlIGNvbnZlcnNpb24uCgoyMDEzLTEyLTAzIDE0OjM1OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IEZpeCBidWZmZXIgaGFuZGxpbmcgdG8gYWN0dWFsbHkgd29yayBhbmQgcHJvcGVybHkgdGltZXN0YW1wIGJ1ZmZlcnMKCjIwMTMtMTItMDMgMTQ6MzU6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogRG9uJ3Qgc2h1dCBkb3duIGxpYnJhcnkgd2hlbiBmaW5hbGl6aW5nIGFuIGVsZW1lbnQgaW5zdGFuY2UKCjIwMTMtMTItMDMgMTQ6MzU6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogRml4IG5lZ290aWF0aW9uIGFuZCBjcmVhdGlvbiBvZiBhIHZpZGVvIGJ1ZmZlciBwb29sCgoyMDEzLTEyLTAzIDE0OjM0OjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IFVzZSBkZWJ1ZyBjYXRlZ29yeSBwcm9wZXJseQoKMjAxMy0xMi0wMiAxNzowMzo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBDbGFzc2lmaWNhdGlvbiBvZiB0aGUgZWxlbWVudCBzaG91bGQgYmUgU291cmNlL1ZpZGVvCgoyMDEzLTEyLTAyIDE3OjAxOjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IFVzZSBHc3RWaWRlb0luZm8gdG8gY3JlYXRlIGNhcHMgYW5kIGRvbid0IGxlYWsgdGhlbQoKMjAxMy0xMi0wMiAxNjo1OToxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBTb21lIHJhbmRvbSBjbGVhbnVwIGFuZCBtaW5vciBmaXhlcwoKMjAxMy0xMi0wMiAxMToxNzowMiArMDEwMCAgTWlndWVsIENhc2FzLVNhbmNoZXogPG1pZ3VlbGVjYXNhc3NhbmNoZXpAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5uaTIvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTIuY3BwOgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5oOgoJICBvcGVubmk6IEFkZCBPcGVuTk5JMiBwbHVnaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODkxNAoKMjAxMy0xMi0wMiAxMDoyODoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0YnVsZ2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RkaWZmdXNlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1hcmJsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBlcnNwZWN0aXZlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcGhlcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHVubmVsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IEdfREVGSU5FX1RZUEUoKSBhbHJlYWR5IGNhbGxzIGdfdHlwZV9jbGFzc19wZWVrX3BhcmVudCgpIGZvciB1cwoKMjAxMy0xMi0wMiAxMDoyNTo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0YnVsZ2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGVnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RkaWZmdXNlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWFyYmxlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGVyc3BlY3RpdmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNwaGVyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0dW5uZWwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogUmVtb3ZlIGVtcHR5IEdPYmplY3Q6OmZpbmFsaXplKCkgaW1wbGVtZW50YXRpb25zCgkgIEFsc28gZG9uJ3QgdXNlIEdTVF9ERUJVR19GVU5DUFRSIGZvciBHT2JqZWN0IHZmdW5jcwoKMjAxMy0xMC0yMCAyMjowNDozOCArMDIwMCAgQW50b25pbyBPc3BpdGUgPG9zcGl0ZUBzdHVkZW50aS51bmluYS5pdD4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGVyc3BlY3RpdmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwZXJzcGVjdGl2ZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IEFkZCBhIDJEIHBlcnNwZWN0aXZlIHRyYW5zZm9ybSBwbHVnaW4KCSAgVGhlIHBlcnNwZWN0aXZlIHBsdWdpbiBhcHBsaWVzIGEgMkQgcGVyc3BlY3RpdmUgKGFsc28gY2FsbGVkIHByb2plY3RpdmUpCgkgIHRyYW5zZm9ybSB0byB0aGUgZnJhbWUgYnVmZmVyLgoJICBBIHBlcnNwZWN0aXZlIHRyYW5zZm9ybSBjYW4gYmUgdXNlZCBmb3IgaW5zdGFuY2UgdG8gcGVyZm9ybSBrZXlzdG9uZQoJICBjb3JyZWN0aW9uIHdoZW4gcGxheWluZyB0aGUgY29udGVudCB3aXRoIGEgdmlkZW8gcHJvamVjdG9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwODEwCgoyMDEzLTEyLTAxIDIzOjMxOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICBtcGVnMmVuYzogYXZvaWQgbGlzdCBmb3Igb25lIHNpbmdsZSB2YWx1ZSBpbiB0ZW1wbGF0ZSBjYXBzCgoyMDEzLTEyLTAxIDIyOjMyOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBtaWNyb29wdGltaXNhdGlvbjogYXZvaWQgdW5uZWNlc3NhcnkgZ3N0X2J1ZmZlcl9nZXRfc2l6ZSgpIGNhbGxzCgoyMDEzLTExLTI5IDEzOjIzOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuYzoKCSAgcnRwYXNmcGF5OiBpbml0IHJ0cCBidWZmZXIgZml4aW5nIHJ0cCBwYWNrZXQgY3JlYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTU1MwoKMjAxMy0xMS0yOSAxMzoyMjo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogZG9uJ3QgdXNlIGJ1ZmZlciBhZnRlciBnaXZpbmcgYXdheSBvd25lcnNoaXAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTU1MwoKMjAxMy0xMS0yOSAxMDoxNDo0MyArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8dXJhZXVzQGxpbnV4cmlzaW5nLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMKCjIwMTMtMTEtMjUgMTY6NTc6MDAgKzAwMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6QGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuYzoKCSAgcG5ncGFyc2U6IERvbid0IHRyeSB0byBzZXQgZnJhbWVyYXRlIGlmIG5vdCBmcm9tIHVwc3RyZWFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTUxNjYKCjIwMTMtMTEtMjggMTU6MTA6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IEZpeCBzcGxpdHRpbmcgb2YgbXVsdGlwbGUgTkFMVSBwZXIgYnVmZmVyCgkgIENvbnZlcnNpb24gdG8gYnl0ZS1zdHJlYW0vbmFsIGNyYXNoZXMgd2l0aG91dCB0aGF0IGJlY2F1c2UgdGhlCgkgIGJhc2VwYXJzZSBmcmFtZSBvZiBhbGwgTkFMVXMgaXMgZmluaXNoZWQgZm9yIHRoZSBmaXJzdCBOQUxVLCB0aGVuCgkgIHVzZWQgYWdhaW4gZm9yIHBhcnNpbmcgdGhlIHNlY29uZCBOQUxVLiBKdXN0IHRoYXQgbm93IHRoZSBidWZmZXIKCSAgb2YgdGhlIGZyYW1lIGlzIGFscmVhZHkgZ29uZS4gSW5zdGVhZCB3ZSBjcmVhdGUgdGVtcG9yYXJ5IGZyYW1lcwoJICBmb3IgZXZlcnkgTkFMVS4KCjIwMTMtMTAtMzEgMTc6MTY6MTQgKzAxMDAgIEFudG9uaW8gT3NwaXRlIDxvc3BpdGVAc3R1ZGVudGkudW5pbmEuaXQ+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBmaXggc2V0dGluZyBjb2RlY19kYXRhIHdoZW4gdXNpbmcgV2F2ZUZvcm1hdEV4CgkgIFdoZW4gdXNpbmcgV2F2ZUZvcm1hdEV4IHRoZSBhY3R1YWwgY29kZWMgcHJpdmF0ZSBkYXRhIGlzIGF0IHRoZSBlbmQgb2YKCSAgdGhlIHdhdiBoZWFkZXIgc3RydWN0dXJlLCBhZnRlciB0aGUgY2JTaXplIGZpZWxkLCBzZWUgZm9yIGV4YW1wbGUgdGhlCgkgIG5vdGVzIGF0IGh0dHA6Ly93aWtpLm11bHRpbWVkaWEuY3gvaW5kZXgucGhwP3RpdGxlPVdBVkVGT1JNQVRFWAoJICBUaGUgcHJldmlvdXMgY29kZSB3YXMgZXJyb25lb3VzbHkgcGFzc2luZyB0aGUgd2hvbGUgV0FWRUZPUk1BVEVYCgkgIHN0cnVjdHVyZSBhcyBjb2RlY19kYXRhLgoJICBUaGUgc21vb3Roc3RyZWFtaW5nIHNwZWNpZmljYXRpb25zWzEsMiwzXSBhbHdheXMgbWVudGlvbiBXQVZFRk9STUFURVgKCSAgYW5kIG5ldmVyIHNtYWxsZXIgc3RydWN0dXJlcyBsaWtlIFdBVkVGT1JNQVQgb3IgUENNV0FWRUZPUk1BVCwgc28gdGhlCgkgIGJ1ZmZlciBjYW4gYXNzdW1lZCB0byBiZSBhdCBsZWFzdCAxOCBieXRlcyBhbmQgYWx3YXlzIGNvbnN1bWluZyB0aGUgd2F2CgkgIGhlYWRlciBnaXZlcyB0aGUgKHBvc3NpYmx5IGVtcHR5KSBjb2RlYyBwcml2YXRlIGRhdGEuCgkgIFsxXSBodHRwOi8vd2ViLmFyY2hpdmUub3JnL3dlYi8yMDEyMDkwNzAwNDc0Mi9odHRwOi8vd3d3Lmlpcy5uZXQvY29tbXVuaXR5L2ZpbGVzL21lZGlhL3Ntb290aHNwZWNzLyU1Qk1TLVNNVEglNUQucGRmCgkgIFsyXSBodHRwOi8vZG93bmxvYWQubWljcm9zb2Z0LmNvbS9kb3dubG9hZC9CLzAvQi9CMEIxOTlEQi00MUU2LTQwMEYtOTBDRC1DMzUwRDBDMTRBNTMvJTVCTVMtU1NUUiU1RC5wZGYKCSAgWzNdIGh0dHA6Ly9kb3dubG9hZC5taWNyb3NvZnQuY29tL2Rvd25sb2FkLzkvNS9FLzk1RUY2NkFGLTkwMjYtNEJCMC1BNDFELUE0RjgxODAyRDkyQy8lNUJNUy1TU1RSJTVELnBkZgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5OTI0CgoyMDEzLTEwLTMxIDE1OjU4OjI3ICswMTAwICBBbnRvbmlvIE9zcGl0ZSA8b3NwaXRlQHN0dWRlbnRpLnVuaW5hLml0PgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogdXNlIG1zc2RlbXV4X2RlYnVnIGRlYnVnIGNhdGVnb3J5IGZvciBnc3Rtc3NtYW5pZmVzdC5jIHRvbwoKMjAxMy0xMC0xNiAxNjoyMjozNiArMDIwMCAgQW50b25pbyBPc3BpdGUgPG9zcGl0ZUBzdHVkZW50aS51bmluYS5pdD4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGZpeCBjb2Rpbmcgc3R5bGUKCjIwMTMtMTEtMjUgMTU6MTc6MzMgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmM6CgkgIGR2ZHNwdTogRG9uJ3QgdW5tYXAgYW4gdW5yZWZmZWQgYnVmZmVyCgkgIGdzdF9kdmRfc3B1X2ZpbmlzaF9zcHVfYnVmIGRyb3BzIHRoZSByZWZlcmVuY2UgdG8gdGhlIGN1cnJlbnQKCSAgYnVmZmVyLCBzbyBtYWtlIHN1cmUgdG8gY2FsbCBnc3RfYnVmZmVyX3VubWFwIGJlZm9yZSBpdC4KCjIwMTMtMTEtMjMgMTk6MTE6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmV4ci9nc3RvcGVuZXhyZGVjLmNwcDoKCSAgb3BlbmV4cmRlYzogQ29uc2lkZXIgdGhlIHBpeGVsIGFzcGVjdCByYXRpbyBzdG9yZWQgaW4gdGhlIGZpbGUKCjIwMTMtMTEtMjMgMTg6Mzc6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmV4ci9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5leHIvZ3N0b3BlbmV4ci5jOgoJKiBleHQvb3BlbmV4ci9nc3RvcGVuZXhyZGVjLmNwcDoKCSogZXh0L29wZW5leHIvZ3N0b3BlbmV4cmRlYy5oOgoJICBvcGVuZXhyOiBBZGQgT3BlbkVYUiBkZWNvZGVyIGVsZW1lbnQKCSAgVGhpcyBjdXJyZW50bHkgY29udmVydHMgZnJvbSBBUkdCNjRfRjE2ICgxNiBiaXQgZmxvYXQgcGVyIGNvbXBvbmVudCkKCSAgdG8gQVJHQjY0IGJ5IGNsaXBwaW5nLiBXZSBzaG91bGQgYWRkIHN1cHBvcnQgZm9yIHRoZSBGMTYgZm9ybWF0IGFuZAoJICBpbXBsZW1lbnQgYSBjb252ZXJzaW9uIGZpbHRlciBlbGVtZW50IHRoYXQgY2FuIGFwcGx5IGdhbW1hIGN1cnZlcywKCSAgY2hhbmdlIGV4cG9zdXJlLCBldGMuCgoyMDEzLTExLTIzIDExOjI5OjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuZXhyL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmV4ci9nc3RvcGVuZXhyLmM6CgkqIGV4dC9vcGVuZXhyL2dzdG9wZW5leHIuaDoKCSogZXh0L29wZW5leHIvZ3N0b3BlbmV4cmRlYy5jcHA6CgkqIGV4dC9vcGVuZXhyL2dzdG9wZW5leHJkZWMuaDoKCSAgb3BlbmV4cjogQWRkIE9wZW5FWFIgcGx1Z2luCgkgIFNlZSBodHRwOi8vd3d3Lm9wZW5leHIuY29tCgoyMDEzLTExLTIzIDExOjM1OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJICBvcGVuanBlZzogRml4IG5hbWVzIG9mIGRlYnVnIGNhdGVnb3JpZXMKCjIwMTMtMTEtMjMgMTQ6MzU6MDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5jOgoJICBkdmRzcHU6IHBvcCBuZXcgcGFja2V0IHdoZW4gaW52YWxpZCBuZXh0IGNvbW1hbmQgYmxvY2sKCSAgLi4uIHRvIHByZXZlbnQgc3RheWluZyBzdHVjayBvbiBjdXJyZW50IGNvbW1hbmQgYmxvY2sgYW5kIGJ1c3kgbG9vcGluZy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjIxOQoKMjAxMy0xMS0yMyAxMToyMzozNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBhY2NlcHQgVmlkZW9PYmplY3RMYXllciBhcyBzdGFydCBvZiBmcmFtZSBhbmQgY29uZmlnCgkgIC4uLiB3aGljaCBpdCBkZXNlcnZlcyBhcyBtdWNoIGFzIFZpZGVvT2JqZWN0LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3NTY0CgoyMDEzLTExLTIxIDE1OjU0OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkqIHN5cy9xdHdyYXBwZXIvaW1hZ2VkZXNjcmlwdGlvbi5jOgoJKiBzeXMvcXR3cmFwcGVyL3ZpZGVvZGVjb2RlcnMuYzoKCSAgcXR3cmFwcGVyOiBnX21lbW1vdmUoKSBpcyBkZXByZWNhdGVkCgkgIEp1c3QgdXNlIHBsYWluIG1lbW1vdmUoKSwgZ19tZW1tb3ZlKCkgaXMgZGVwcmVjYXRlZCBpbgoJICByZWNlbnQgR0xpYiB2ZXJzaW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjgxMQoKMjAxMy0xMS0yMCAxMjo0NjoyMyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IEhhbmRsZSB2b2JzdWIgcGFja2V0cyBzbWFsbGVyIHRoYW4gNCBieXRlcwoJICBJbiBwYXJ0aWN1bGFyLCBoYW5kbGUgdGhlIGNhc2Ugb2YgYW4gZW1wdHkgcGFja2V0IHdpdGggc2l6ZSAwIGJ5dGVzLgoJICBQYXJ0aWFsbHkgZml4ZXM6ICM3MTI2NDMKCjIwMTMtMTEtMTkgMjA6MTg6NDggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHBlbmM6IFNldCB0aGUgZmlyc3Qgc2Vzc2lvbiBmbGFnIHRvIGZhbHNlIG9uY2Ugb25lIGlzIGNyZWF0ZQoJICBPdGhlcndpc2UgaXQgYWx3YXlzIHRoaW5rcyBpdCdzIHRoZSBmaXJzdCBzZXNzaW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNDk1CgoyMDEzLTExLTE5IDIwOjEyOjU0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmg6CgkgIHNydHBkZWM6IE1ha2Ugc3VyZSB0aGF0IHN0cmVhbS1pZC9jYXBzL3NlZ21lbnQgYXJlIHNlbnQgYmVmb3JlIGJ1ZmZlcnMKCSAgSXQgbWF5IGJlIHBvc3NpYmxlIHRoYXQgb25seSBvbmUgb2YgdGhlIHR3byBzaW5rIHBhZHMgaXMgbGlua2VkIGluIHRoYXQgY2FzZSwKCSAgdGhlIGV2ZW50cyBuZWVkIHRvIGJlIGNyZWF0ZWQgZnJvbSB0aGUgb3RoZXIgcGFkLgoKMjAxMy0xMS0xOSAxOToxMDowNiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogUGFzcyBpc19ydGNwIHRvIHNldGNhcHMgZnVuY3Rpb24KCjIwMTMtMDQtMDQgMTc6NTk6MDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHA6IEltcGxlbWVudCBTUlRDUCBkZW11bHRpcGxleGluZwoJICBTZXBhcmF0ZSBtdWx0aXBsZXhlZCBSVFAgYW5kIFJUQ1AgaWYgdGhleSBhcnJpdmUKCSAgb24gdGhlIHJ0cF9zaW5rIHBhZC4KCjIwMTMtMTEtMTkgMDA6Mzg6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFkZWMuYzoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZW5jLmM6CgkgIGRhYWxhOiBGaXggY29tcGlsYXRpb24KCjIwMTMtMTEtMTMgMjI6MjU6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogZG8gbm90IHRyeSB0byBkZWluaXQgdGhlIGRvd25sb2FkcmF0ZSB3aGlsZSBpdCBpcyB1c2VkCgkgIFRoaXMgY2FuIGNhdXNlIGFuIGFzc2VydGlvbiBvciBkZWFkbG9ja3MuCgoyMDEzLTExLTExIDE2OjM1OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGFsc28gY29uc2lkZXIgL21hbmlmZXN0CgkgIFRoZSBzcGVjIHNheXMgL01hbmlmZXN0LCBidXQgL21hbmlmZXN0IGlzIGVhc2lseSBmb3VuZCBvbiBzb21lCgkgIHNlcnZpY2VzLCBzbyBoYW5kbGUgdGhhdCwgdG9vLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwMjIzCgoyMDEzLTExLTE0IDA5OjAyOjM1IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IEZpeCBjb21waWxhdGlvbiB3aGVuIGRlYnVnIGlzIGRpc2FibGVkCgoyMDEzLTExLTEzIDE4OjU5OjQ4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSAgY29kZWNwYXJzZXJzOiBBZGQgLWxtIG5lZWRlZCBieSBILjI2NSBwYXJzZXIKCjIwMTMtMTEtMTMgMTc6MTY6MDQgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuYzoKCSAgcG5ncGFyc2U6IFByb3h5IHVwc3RyZWFtIGZyYW1lcmF0ZSBvbiBzcmNwYWQgaWYgYXZhbGFpYmxlCgkgIElmIHRoZSB1c2VyIHNldHMgaXQgaGltc2VsZiB3aXRoIGNhcHNmaWx0ZXIsIHRoZSBpbmZvcm1hdGlvbiBzaG91bGQgYmUKCSAga2VwdCBhbmQgdHJhbnNtaXR0ZWQgZG93bnN0cmVhbS4KCjIwMTMtMTEtMTIgMTg6MzY6MDQgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uaDoKCSAgbXBlZ3RzbXV4OiBQcm9wZXJseSBhZGQgc3VidGl0bGUgZGVzY3JpcHRvciBmb3IgRFZiIHN1YnBpY3R1cmUgc3VidGl0bGVzCgkgIFdlIHdlcmUgYWRkaW5nIGFuIGVtcHR5IGRlc2NyaXB0b3IgZm9yIHRoZW0gYW5kIGl0IHdhcyBub3QgcG9zc2libGUgdG8KCSAgYWN0dWFsbHkgdXNlIHRoZW0gb24gbXV4ZWQgc3RyZWFtcy4KCjIwMTMtMTEtMTMgMTQ6Mjg6MzAgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogZml4IG5vbi1lZ2wgZGlzcGxheSBjb250ZXh0IHF1ZXJ5CgoyMDEzLTExLTExIDE2OjE1OjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBsb29rIGJleW9uZCBzdGFydCBjb2RlIGJlZm9yZSBsZWFwaW5nCgkgIEluIGNhc2UgbW9yZSBkYXRhIHRoYW4gYSBzdGFydCBjb2RlIGFsb25lIGlzIG5lZWRlZCB0byBkZWNpZGUgd2hldGhlcgoJICBpdCBlbmRzIGEgZnJhbWUsIGFycmFuZ2UgZm9yIG1vcmUgaW5wdXQgZGF0YSBhbmQgZGVjaWRlIHdoZW4gYXZhaWxhYmxlLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNjI3CgoyMDEzLTExLTExIDEzOjI0OjA4ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGRlY2xhcmUgbWlzc2luZyBpbnN0YW5jZSB2YXJpYWJsZXMKCSAgRml4ZXMgYnVpbGQgb24gMzItYml0IHN5c3RlbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTg0NAoKMjAxMy0xMS0xMCAxMjoxNzoxOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogdHdlYWsgZXh0ZW5zaW9uIGhhbmRsaW5nCgoyMDEzLTExLTEwIDEyOjE1OjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGdlZ2RlbXV4OiBkbyBub3QgdXNlIHB1c2hlZCBidWZmZXIgaW4gZGVidWcgbWVzc2FnZQoKMjAxMy0xMS0wOSAxMzozMjoyMSArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGNoZWNrIGZvciBzYW1lIFRTTiBvbmx5IGZvciBpbnRlcmxhY2VkIHN0cmVhbXMgKGZpeGVzIHVuaXQgdGVzdCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTcyMQoKMjAxMy0xMS0wOSAxMjoxODowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBhdWRpb21peGVyOiBBZGQgdGVzdCBmb3IgdGhlIE9SQyBjb2RlCgoyMDEzLTExLTA5IDA5OjQzOjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBSZXZlcnQgIm1wZWd2cGFyc2U6IEZpeCBsYXN0IHN0YXJ0IGNvZGUgcG9zaXRpb24gd2hlbiBpbnB1dCBidWZmZXIgaXMgZW1wdHkiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgN2MyM2E2ZjIzYzE4NTMzMGQ3NGFlNGNjY2U3OWMzNjQxYTJmYWJhYy4KCSAgVGhlIGZpeCB3YXMgbm90IGNvbXBsZXRlLCBzZWUgZGlzY3Vzc2lvbiBpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNjI3CgoyMDEzLTExLTA4IDIwOjIzOjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uaDoKCSAgbXBlZ3RzOiBBZGQgc29tZSBtb3JlIGVsZW1lbnQtdHlwZSBhbm5vdGF0aW9ucyBmb3IgZy1pCgoyMDEzLTExLTA3IDIxOjM3OjI5ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkgIGNvcmVtZWRpYWJ1ZmZlcjoga2VlcCBhbiBleHRyYSByZWYgdG8gdGhlIGltYWdlIGFuZCBkYXRhIGJ1ZmZlcgoKMjAxMy0xMS0wNyAxMDo1NzoyMiAtMDcwMCAgR3JlZyBSdXR6IDxncmVnQGdzci10ZWsuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndnBhcnNlOiBGaXggbGFzdCBzdGFydCBjb2RlIHBvc2l0aW9uIHdoZW4gaW5wdXQgYnVmZmVyIGlzIGVtcHR5CgkgIFdoZW4gdGhlIGlucHV0IGJ1ZmZlciBpcyBlbXB0eSBhbmQgd2UgbmVlZCBtb3JlIGRhdGEgdG8gZGV0ZXJtaW5lCgkgIHdoZXRoZXIgb3Igbm90IHRvIHRlcm1pbmF0ZSB0aGUgcHJldmlvdXMgZnJhbWUsIHRoZSBsYXN0IHN0YXJ0IGNvZGUKCSAgbG9jYXRpb24gbmVlZHMgdG8gYmUgc2V0IHRvIDQgYnl0ZXMgYmVmb3JlIHRoZSB0aGUgY3VycmVudCBwb3NpdGlvbgoJICAoc2l6ZSBvZiBzdGFydF9jb2RlIGlzIDMyLWJpdHMpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE2MjcKCjIwMTMtMTEtMDcgMTQ6Mzk6MjYgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBGaXggYmFkIGNvbmRpdGlvbiBpbiBoMjY0IHBhcnNlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNjE1CgoyMDEzLTExLTA3IDEyOjI5OjQ4ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkgIGFwcGxlbWVkaWE6IGNvcmVtZWRpYWJ1ZmZlcjogdXNlIGNvcnJlY3QgcmV0YWluL3JlbGVhc2UgZnVuY3Rpb25zIG9uIENNU2FtcGxlQnVmZmVyUmVmIGJ1ZmZlcgoJICBGaXhlcyBhIGNyYXNoIHdoaWxlIHJlbGVhc2luZyB0aGUgc2FtcGxlIGJ1ZmZlciBhZnRlciB0aGUgaW1hZ2UKCSAgYnVmZmVyIGl0IGNvbnRhaW5zLgoJICBBbHNvIGZpeGVzIGEgbWlub3IgY29kaW5nIHN0eWxlIGVycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNjA2CgoyMDEzLTExLTA3IDE0OjI2OjIyICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIHF0a2l0dmlkZW9zcmM6IGxvd2VyIHJhbmsgdG8gR1NUX1JBTktfU0VDT05EQVJZCgkgIE1ha2VzIGF2ZnZpZGVvc3JjIGJlIHByZWZlcmVkIG92ZXIgcXRraXR2aWRlb3NyYyBzaW5jZSBpdCBpcyBkZXByZWNhdGVkCgkgIHdpdGggT1MgWCAxMC45LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNjE0CgoyMDEzLTExLTA3IDEzOjMzOjM2ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGF2ZnZpZGVvc3JjOiBzZXQgcmFuayB0byBHU1RfUkFOS19QUklNQVJZCgkgIE1ha2VzIGF2ZnZpZGVvc3JjIHRvIGJlIHVzZWQgd2l0aCBhdXRvZGV0ZWN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNjE0CgoyMDEzLTExLTA3IDEyOjQ3OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzc2luay5jOgoJICBobHNzaW5rOiBkbyBub3QgbG9zZSByZWYgdG8gdGhlIG11bHRpZmlsZXNpbmsKCSAgSXQgaXMgbmVlZGVkIHRvIHVwZGF0ZSBsb2NhdGlvbiBwcm9wZXJ0aWVzIGFuZCBpdCB3YXMgYmVpbmcgbG9zdCBvbgoJICBzdGF0ZSBjaGFuZ2VzLCBjYXVzaW5nIGlzc3VlcyBpZiB0aGUgcGlwZWxpbmUgd2FzIHRvIGJlIHJldXNlZAoKMjAxMy0xMS0wNyAxMjozNTo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc3NpbmsuYzoKCSAgaGxzc2luazogbWFrZSBzdXJlIGl0IGlzIGhhbmRsZWQgYXMgYSBzaW5rCgkgIEl0IG9ubHkgZ2V0cyB0aGUgc2luayBmbGFnIHNldCB3aGVuIGl0IGFkZHMgdGhlIG11bHRpZmlsZXNpbmssIHRoYXQKCSAgaGFwcGVucyBpbiBudWxsLT5yZWFkeSBhbmQgaXQgbWlnaHQgYmUgdG9vIGxhdGUuIFNldCB0aGUgZmxhZwoJICBleHBsaWNpdGx5IG9uIHRoZSBjb25zdHJ1Y3Rvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTA4NgoKMjAxMy0xMS0wNyAxMzowNTowOCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkgIGF2ZnZpZGVvc3JjOiBmaXggY29tcGlsZXIgd2FybmluZyBpbiBpT1MKCjIwMTMtMTEtMDcgMTI6Mjk6MzQgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZml4IGJ1aWxkIGluIGlPUyB3aXRoIGlzRXF1YWxUbyBkb2Vzbid0IGV4aXN0cwoKMjAxMy0xMS0wNyAxMjoyMDozMSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBmaXggYnVpbGQgd2l0aCBvbGRlciBTREsgbm90IHN1cHBvcnRpbmcgQVZEZXZpY2VGb3JtYXQKCSAgQVZEZXZpY2VGb3JtYXQgYW5kIEFWRnJhbWVSYXRlUmFuZ2UgYXJlIGF2YWlsYWJsZSBpbiBpT1Mgc2luY2UgNy4wCgkgIHNvIHdlIG5lZWQgYSBtb3JlIGR5bmFtaWMgYXBwcm9hY2ggdG8gc3VwcG9ydCBjb21waWxhdGlvbiB3aXRoIG9sZGVyCgkgIFNESydzLiBXZSB1c2UgYSBOU09iamVjdCB0byBhdm9pZCByZWZlcmVuY2luZyB0aG9zZSB0eXBlcyBhbmQga2V5LXZhbHVlCgkgIGNvZGluZyBvciBwcmVmb3JtU2VsZWN0b3IgdG8gYWNjZXNzIHByb3BlcnRpZXMuCgoyMDEzLTExLTA3IDAxOjM4OjIwICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGZpeCBjaGVja3MgZm9yIEhBVkVfSU9TCgoyMDEzLTExLTA3IDAxOjM3OjM4ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGluY2x1ZGUgY29uZmlnLmgKCjIwMTMtMTEtMDYgMTg6NTM6MjUgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogYWRkIG1vcmUgZGVidWcKCjIwMTMtMTEtMDYgMTg6NTA6NDYgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZml4IGNvbXBpbGF0aW9uIHdpdGggZ2NjCgkgIFRoZSBzeW50aGVzaXplIGJsb2NrIG5lZWRzIHRvIGJlIG1vdmVkIHRvIGZpeCBhIGNvbXBpbGVyIGVycm9yCgoyMDEzLTExLTA2IDE4OjQ5OjM1ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IHNvcnQgY2FwcyB3aXRoIHRoZSBoaWdoZXN0IHJlc29sdXRpb24gZmlyc3QKCSAgV2hlbiBzdGFydGVkIHdpdGhvdXQgYW55IGNhcHMgZmlsdGVyIHdlIHByZWZlciB0aGUgaGlnaGVzdAoJICBzdXBwb3J0ZWQgcmVzb2x1dGlvbi4KCjIwMTMtMTEtMDQgMTE6MTQ6MzUgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogc3VwcG9ydCBzY3JlZW4gY2FwdHVyZSBvbiBPU1gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTQzMgoKMjAxMy0xMC0zMSAxMzowNTo0MCArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBtaW5vciBjb3NtZXRpYwoKMjAxMy0xMC0zMSAxMzowMzo1OCArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiB1c2UgaW5wdXQgZGV2aWNlIGZvcm1hdHMgdG8gc2V0L2dldCBjYXBzIGlmIGF2YWlsYWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMjExCgoyMDEzLTEwLTI5IDE1OjM3OjE2ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IHVwZGF0ZSBjYXBzIGlmIGZyYW1lIHNpemUgaGFzIGNoYW5nZWQKCSAgT24gT1NYLCBzZXR0aW5nIHRoZSBwaXhlbCBmb3JtYXQgb24gdGhlIG91dHB1dCByZXNldCB0aGUgY2FwdHVyZSBkZXZpY2UKCSAgdG8gaXRzIG5hdGl2ZSByZXNvbHV0aW9uLCBzbyB3ZSBuZWVkIHRvIHVwZGF0ZSB0aGUgY2FwcyBpZiB0aGUgb3V0cHV0CgkgIGZyYW1lIHNpemUgaGFzIGNoYW5nZWQgYmVmb3JlIGEgcHJvcGVyIHNvbHV0aW9uIGlzIGZvdW5kLgoKMjAxMy0xMC0yOSAxNTozNjowNiArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBjaGVjayBpZiBsb3cgcHJlc2V0IGlzIGF2YWlsYWJsZQoKMjAxMy0xMC0yOCAxODoyMjoxMyArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiB1c2UgYSBkZWRpY2F0ZWQgcXVldWUgZm9yIEFWRm91bmRhdGlvbiBjYWxscwoJICBSZXBsYWNlIHRoZSBtYWluIHF1ZXVlIHdpdGggYSBkZWRpY2F0ZWQgcXVldWUgZm9yIEFWRm91bmRhdGlvbiBjYWxscwoJICBzbyB0aGUgZXhlY3V0aW9uIG9uIHRoaXMgcXVldWUgd29uJ3QgYmxvY2sgaWYgdGhlIG1haW4gcXVldWUKCSAgaXMgbm90IHJ1bm5pbmcuCgoyMDEzLTEwLTI5IDE3OjMzOjExICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IHJlbW92ZSB0cmFpbGluZyBzcGFjZQoKMjAxMy0xMC0zMCAxNDo1MTo1MCArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBkaXNwYXRjaCBBVkZvdW5kYXRpb24gY2FsbHMgc3luY2hyb25vdXNseSBpbiB0aGUgbWFpbiBxdWV1ZQoKMjAxMy0xMC0zMCAxMjo0MDowMSArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogZW5hYmxlIGF2ZnZpZGVvc3JjIGlmIEFWRm91bmRhdGlvbiBpcyBwcmVzZW50CgoyMDEzLTEwLTMwIDEyOjM5OjI0ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IG9ubHkgZW5hYmxlIDE5MjB4MTA4MCBwcmVzZXQgb24gaU9TCgoyMDEzLTEwLTI4IDExOjIwOjI3ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGRldGVjdCBwcmVzZW5jZSBvZiBBVkZvdW5kYXRpb24KCjIwMTMtMTAtMjggMTE6NTM6MjYgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogcG9ydCBhdmZ2aWRlb3NyYyB0byAxLjAKCjIwMTMtMTEtMDcgMTQ6MTI6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IEFkZCB1bml0IHRlc3QgZm9yIGhhbmRsaW5nIHVuYWxpZ25lZCBidWZmZXJzCgkgIFRoYXQgaXMsIGJ1ZmZlcnMgdGhhdCBzdGFydCBvciBlbmQgaW4gdGhlIG1pZGRsZSBvZiBhbiBvdXRwdXQgYmxvY2suCgoyMDEzLTExLTA3IDE0OjEyOjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBGaXggRU9TIGhhbmRsaW5nIGlmIHdlIGhhdmUgc29tZSBwZW5kaW5nIGRhdGEKCjIwMTMtMTEtMDcgMTM6NTc6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IEFkZCB0ZXN0IGZvciB0aGUgZGlzY29udCBoYW5kbGluZwoKMjAxMy0xMS0wNyAxMzo1NTozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogUmVmYWN0b3Igc3luYyB0ZXN0IHRvIGJlIG1vcmUgcmV1c2FibGUKCjIwMTMtMTEtMDcgMTM6NDg6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IFJlbW92ZSBzb21lIHJhY3ktbmVzcyBmcm9tIHRoZSB1bml0IHRlc3QKCSAgV2UgbWlnaHQgYWxyZWFkeSBiZSBFT1Mgd2hlbiB3ZSBzdGFydCB0aGUgbWFpbmxvb3AsIHNvIG9ubHkKCSAgc2V0IHRoZSBwaXBlbGluZSB0byBQTEFZSU5HIGZyb20gdGhlIG1haW4gbG9vcC4KCjIwMTMtMTEtMDcgMDk6NTQ6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogUmVtb3ZlIHNvbWUgdW51c2VkIGZ1bmN0aW9ucwoKMjAxMy0xMS0wNiAyMjoxMzoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogTWFrZSBzdXJlIHZpZGVvLWRvbmUgaXMgcG9zdCBvbmx5IHdoZW4gZmlsZSBpcyBjbG9zZWQKCSAgRm9yY2UgZmlsZXNpbmsgdG8gbnVsbCBiZWZvcmUgcG9zdGluZyB2aWRlby1kb25lIHRvIG1ha2Ugc3VyZSB0aGUKCSAgZmlsZSB3YXMgY2xvc2VkLgoJICBIYWQgdG8gZG8gaXQgZnJvbSBhIHNlcGFyYXRlIHRocmVhZCB0byBhdm9pZCBjYWxsaW5nIHN0YXRlX2NoYW5nZSBmcm9tCgkgIGEgc3luYyBtZXNzYWdlIGhhbmRsZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkzNzMKCjIwMTMtMTEtMDYgMjM6MTE6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB3aW4zMi9jb21tb24vbGliZ3N0Y29kZWNwYXJzZXJzLmRlZjoKCSAgd2luMzI6IGFkZCBuZXcgY29kZWNwYXJzZXIgQVBJIHRvIC5kZWYgZmlsZQoKMjAxMy0xMC0wOSAxMDo1NDoxNCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSAgdmlkZW9wYXJzZXJzOiBhZGQgSC4yNjUgSEVWQyB2aWRlbyBwYXJzZXIgZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4NDM4CgoyMDEzLTEwLTAxIDEzOjM5OjQxICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogYWRkIEguMjY1IEhFVkMgYml0c3RyZWFtIHBhcnNlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4NDM4CgoyMDEzLTExLTA1IDEyOjQzOjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogZml4IHNlZWtpbmcgaW4gcHVzaCBtb2RlCgoyMDEzLTExLTA2IDE1OjUwOjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBEb24ndCB0YWtlIGNoYW5uZWwgbWFzayBpbiBjb25zaWRlcmF0aW9uIGluIG1vbm8gb3Igc3RlcmVvCgkgIFRoaXMgY291bGQgY2F1c2UgbmVnb3RpYXRpb24gdG8gZmFpbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODYzMwoKMjAxMy0xMS0wNiAxNTozMTozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIGF1ZGlvbWl4ZXI6IEFkZCB0ZXN0IHRvIHRoZSAuZ2l0aWdub3JlIGZpbGUKCjIwMTMtMTEtMDYgMTU6MTg6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IEFkZCBzaW1wbHkgc3luY2hyb25pemF0aW9uIHRlc3QKCjIwMTMtMTEtMDYgMTU6MTg6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hdWRpb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuaDoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlcm9yYy1kaXN0LmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXJvcmMtZGlzdC5oOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyb3JjLm9yYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogQWRkIG5ldyBlbGVtZW50IGJhc2VkIG9uIGFkZGVyIHRoYXQgZG9lcyBzeW5jaHJvbml6ZWQgYXVkaW8gbWl4aW5nCgoyMDEzLTExLTA1IDExOjE5OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA4NjVhYTIwIHRvIGRiZWRhYTAKCjIwMTMtMTEtMDQgMTk6NTg6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJICBlZ2xnbGVzc2luazogUXVlcnkgdXBzdHJlYW0gZmlyc3QgdG8gZ2V0IGEgRUdMRGlzcGxheQoKMjAxMy0xMS0wNCAxMDowNDo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYS1ub25wdWJsaWM6IExpbmsgd2l0aCBnbW9kdWxlIGZvciBnX21vZHVsZV9vcGVuKCkgYW5kIG90aGVycwoKMjAxMy0xMS0wNCAxMDowNDo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhOiBMaW5rIHdpdGggZ21vZHVsZSBmb3IgZ19tb2R1bGVfb3BlbigpIGFuZCBvdGhlcnMKCjIwMTMtMTEtMDEgMjI6MzI6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQWx3YXlzIGRlZmluZSBBTV9DT05ESVRJT05BTCBVU0VfRUdMR0xFUwoKMjAxMy0xMC0wNCAxMjo0ODoxMCArMDIwMCAgTC4gU29yaW4gPHNvcmluQGF4aXMuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY3VybC9NYWtlZmlsZS5hbToKCSogZXh0L2N1cmwvZ3N0Y3VybC5jOgoJKiBleHQvY3VybC9nc3RjdXJsc2Z0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNmdHBzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmxzc2hzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzc2hzaW5rLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsc2Z0cHNpbmsuYzoKCSAgY3VybDogY3VybHNmdHBzaW5rIC0gbmV3IGxpYmN1cmwtYmFzZWQgc2luayBlbGVtZW50IGZvciBTRlRQCgkgIE5vdGU6IFNGVFAgPSBTU0ggRmlsZSBUcmFuc2ZlciBQcm90b2NvbAoJICBUaGUgc2luayBhY3RzIGFzIGEgY2xpZW50IGFuZCB1cGxvYWRzIGRhdGEgdG8gdGhlIFNGVFAgc2VydmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5Nzk1CgoyMDEzLTEwLTMxIDEzOjM2OjI1IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9jZGF1ZGlvL01ha2VmaWxlLmFtOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIGNkYXVkaW86IFJlbW92ZSBjZGF1ZGlvIHBsdWdpbgoJICBUaGlzIGVsZW1lbnQgaXMgYmVpbmcgcmVtb3ZlZCBkdWUgdG8gaXQgYmVlbgoJICBjb25zaWRlcmVkIG9ic29sZXRlIGFuZCB0aGUgZnVuY3Rpb25haWx5IGl0CgkgIHByb3ZpZGVzIG5vIGxvbmdlciBuZWVkZWQuCgkgIERldGFpbHMgb24gdGhlIGRlY2lzaW9uIGNhbiBiZSBmb3VuZCBoZXJlOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMjIzCgkgIEZpeGVzOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMjMyCgoyMDEzLTExLTAxIDEwOjQxOjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3lhZGlmL3lhZGlmLmM6CgkgIHlhZGlmOiBGaXggY29tcGlsZXIgd2FybmluZyBjYXVzZWQgYnkgc3BlY2lmeWluZyBjb25zdCB0d2ljZQoJICB5YWRpZi5jOjQ5OjI0OiB3YXJuaW5nOiBkdXBsaWNhdGUgJ2NvbnN0JyBkZWNsYXJhdGlvbiBzcGVjaWZpZXIgWy1XZHVwbGljYXRlLWRlY2wtc3BlY2lmaWVyXQoJICBERUNMQVJFX0FTTV9DT05TVCAoMTYsIGNvbnN0IHhtbV9yZWcsIHBiXzEpID0gewoJICBeCgkgIHlhZGlmLmM6MzM6NTA6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ0RFQ0xBUkVfQVNNX0NPTlNUJwoJICAjZGVmaW5lIERFQ0xBUkVfQVNNX0NPTlNUKG4sdCx2KSAgICBzdGF0aWMgY29uc3QgdCBfX2F0dHJpYnV0ZV9fKCh1c2VkKSkgX19hdHRyaWJ1dGVfXyAoKGFsaWduZWQgKG4pKSkgdgoJICBeCgkgIHlhZGlmLmM6NTI6MjQ6IHdhcm5pbmc6IGR1cGxpY2F0ZSAnY29uc3QnIGRlY2xhcmF0aW9uIHNwZWNpZmllciBbLVdkdXBsaWNhdGUtZGVjbC1zcGVjaWZpZXJdCgkgIERFQ0xBUkVfQVNNX0NPTlNUICgxNiwgY29uc3QgeG1tX3JlZywgcHdfMSkgPSB7CgkgIF4KCSAgeWFkaWYuYzozMzo1MDogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAnREVDTEFSRV9BU01fQ09OU1QnCgkgICNkZWZpbmUgREVDTEFSRV9BU01fQ09OU1Qobix0LHYpICAgIHN0YXRpYyBjb25zdCB0IF9fYXR0cmlidXRlX18oKHVzZWQpKSBfX2F0dHJpYnV0ZV9fICgoYWxpZ25lZCAobikpKQoKMjAxMy0xMS0wMSAxMDo0MDowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC95YWRpZi95YWRpZi5jOgoJICB5YWRpZjogRml4IGJ1aWxkIHdpdGggWENvZGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDQ1MQoKMjAxMy0xMC0yOCAxNTowNDoxNiArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBSZW1vdmUgdGhlIGV4cGxpY2l0IFBBUiBjYWxjdWxhdGlvbiBiYXNlZCBvbiBWVUkgaGVhZGVycwoJICBUaGUgUEFSIGNhbGN1bGF0aW9uIGJhc2VkIG9uIFZVSSBoZWFkZXJzIGlzIGFscmVhZHkgZG9pbmcgYnkgdGhlCgkgIGgyNjQgY29kZWNwYXJzZXIgYW5kIHdlIGRvZXMndCBuZWVkIHRvIGR1cGxpY2F0ZSB0aG9zZSBjb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTcxMTAwOQoKMjAxMy0xMC0xNyAxMjowNTo0NCArMDIwMCAgQW50b25pbyBPc3BpdGUgPG9zcGl0ZUBzdHVkZW50aS51bmluYS5pdD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5jOgoJICByb3RhdGU6IEZpeCBhbmdsZSBwcm9wZXJ0eSBoZWxwIHRleHQKCSAgVGhlIGhlbHAgdGV4dCBvZiB0aGUgYW5nbGUgcHJvcGVydHkgd2FzIHByb2JhYmx5IGNvcGllZCBmcm9tIHRoZSBjaXJjbGUKCSAgcGx1Z2luLCBmaXggaXQgdG8gbWVudGlvbiB0aGUgcm90YXRpb24gZGV0ZXJtaW5lZCBieSB0aGUgYW5nbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTAzOTEKCjIwMTMtMTAtMzAgMTg6NDg6MDggLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSAgY2RhdWRpbzogcG9ydCB0byAxLlgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTIyMwoKMjAxMy0xMC0zMCAxODoyNTo1MCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogZml4IHJhbmsgZm9yIG1vcmUgc29mdHdhcmUgZGVjb2RlcnMKCSAgSW4gR2FsYXh5IFM0IHRoZSBjb2RlY3MgbGlzdCBjb250YWlucyBzb21lIE9NWC5TRUMuZm9vLnN3LmRlYwoJICBhcyBzb2Z0d2FyZSBkZWNvZGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMjE0CgoyMDEzLTEwLTE3IDEyOjUzOjMxICswMjAwICBBbnRvbmlvIE9zcGl0ZSA8b3NwaXRlQHN0dWRlbnRpLnVuaW5hLml0PgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBGaXggc2V0dGluZyBibGFjayBiYWNrZ3JvdW5kIGZvciBBWVVWIGJ1ZmZlcnMKCSAgV2hlbiB0aGUgZnJhbWUgYnVmZmVyIGlzIEFZVVYgd3JpdGluZyBhbGwgemVyb3MgZG9lcyBub3Qgc2V0IGl0IHRvCgkgIGJsYWNrLCBpbiBZVVYgY29sb3JzcGFjZSAweDEwIGlzIHRoZSBibGFjayBsZXZlbCBmb3IgbHVtaW5hbmNlIGFuZCAweDgwCgkgIGlzIHRoZSBibGFjayBsZXZlbCBmb3IgY2hyb21pbmFuY2UuCgkgIEZpeCBzZXR0aW5nIHRoZSBiYWNrZ3JvdW5kIHRvIGJsYWNrIHdoZW4gdGhlIG91dF9mcmFtZSBmb3JtYXQgaXMgQVlVVjsKCSAgaW4gYWxsIHRoZSBvdGhlciBzdXBwb3J0ZWQgZm9ybWF0cyB6ZXJvaW5nIHRoZSBkYXRhIHdpdGggbWVtc2V0IGlzIHN0aWxsCgkgIHRoZSByaWdodCB0aGluZyB0byBkby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDM5MgoKMjAxMy0xMC0yMyAyMzozNDoyNyArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL3BsdWdpbi5tOgoJICBhcHBsZW1lZGlhLW5vbnB1YmxpYzogZml4IHBsdWdpbiBuYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTExMzUKCjIwMTMtMTAtMjMgMTc6MjI6MTYgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiB1c2UgcHJvcGVyIHJlbGVhc2UgY2FsbGJhY2sgdHlwZSBpbiBDVlBpeGVsQnVmZmVyQ3JlYXRlV2l0aFBsYW5hckJ5dGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTExNDAKCjIwMTMtMDktMjEgMDA6MjA6MzYgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZml4IHRydW5jYXRlZCBsaW5lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA2NTcKCjIwMTMtMTAtMzAgMTY6MjA6NTYgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VhZ2wubToKCSAgZWdsZ2xlc3Npbms6IHJlbW92ZSB1bnVzZWQgZnVuY3Rpb25zIGluIHRoZSBlYWdsIGJhY2tlbmQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTE1OQoKMjAxMy0xMC0xOCAxMTo1NDoxMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IGZpeCBhY2Nlc3MgdG8gaW52YWxpZCBidWZmZXJzIGluIHRoZSBkZWNvZGluZyBsb29wCgkgIEZsdXNoaW5nIHRoZSBkZWNvZGVyIGludmFsaWRhdGVzIGFsbCBidWZmZXJzLCBzbyBpdCBzaG91bGQgYmUgZG9uZQoJICBhZnRlciBxdWl0aW5nIHRoZSBkZWNvZGluZyBsb29wLiBPdGhlcndpc2Ugd2UgY2FuIGp1bXAgaW50bwoJICAiZmFpbGVkX3JlbGVhc2UiIGFuZCBzdG9wIGV2ZXJ5dGhpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTE1NgoKMjAxMy0xMC0yOCAwOTozMzo0NyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IFVuaWZ5IHZhbHVlIHNldHRpbmcKCSAgdGhlIGluaXRpYWwgcGFyX24gPSBwYXJfZCA9IDA7IHdhcyBhbHdheXMgb3ZlcndyaXR0ZW4gc2luY2UgdGhlIHN3aXRjaC9jYXNlCgkgIGhhbmRsZXMgYWxsIHZhbHVlcwoJICBBbmQgcmVtb3ZlIHRoZSAwIGNhc2UgKGl0J3MgdGhlIHNhbWUgaGFuZGxpbmcgYXMgZGVmYXVsdCkKCjIwMTMtMTAtMjggMDk6MzM6MTYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBBdm9pZCBlbmRpbmcgdXAgd2l0aCB1bmRlZmluZWQgdmFsdWVzCgkgIElmIGNhcHMgYXJlbid0IGZpeGVkLCB3ZSdkIGVuZCB1cCB3aXRoIHVuZGVmaW5lZCB2YWx1ZXMgZm9yIGZvcm1hdAoJICBhbmQgYWxpZ24uCgoyMDEzLTEwLTExIDExOjIzOjE2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IERlbW90ZSBHU1RfRVJST1IgdG8gR1NUX1dBUk5JTkcKCSAgZGlzY29udGludWl0aWVzIGFyZSBub3QgZXJyb3JzIHBlci1zZSBhbmQgd2UgaGFuZGxlIHRoZW0gY29ycmVjdGx5LgoKMjAxMy0xMC0yNSAxMToxMTozMCArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZml4IG1lbW9yeSBsZWFrIGluIGdzdF9obHNfZGVtdXhfZ2V0X25leHRfZnJhZ21lbnQKCSAgVGhpcyBwYXRjaCBmaXhlcyB0aHJlZSBtZW1vcnkgbGVha3MgaW4gaGxzZGVtdXgsIG9uZSB0aGF0IG9jY3VycwoJICBkdXJpbmcgbm9ybWFsIG9wZXJhdGlvbiBhbmQgdHdvIHRoYXQgb2NjdXIgZHVyaW5nIGVycm9yIGNvbmRpdGlvbnMuCgkgIFRoZSBnc3RfaGxzX2RlbXV4X2dldF9uZXh0X2ZyYWdtZW50IGZ1bmN0aW9uIGNhbGxzCgkgIGdzdF9mcmFnbWVudF9nZXRfYnVmZmVyIHdoaWNoIGluY3JlbWVudHMgdGhlIHJlZmVyZW5jZSBjb3VudAoJICBvbiB0aGUgYnVmZmVyIGJ1dCBnc3RfaGxzX2RlbXV4X2dldF9uZXh0X2ZyYWdtZW50IG5ldmVyIGNhbGxzIHVucmVmIG9uCgkgIHRoZSBidWZmZXIuIFRoaXMgbWVhbnMgdGhhdCB0aGUgcmVmZXJlbmNlIGNvdW50IGZvciBlYWNoIGRvd25sb2FkZWQKCSAgZnJhZ21lbnQgbmV2ZXIgZ2V0cyB0byB6ZXJvIGFuZCBzbyBpdHMgbWVtb3J5IGlzIG5ldmVyIHJlbGVhc2VkLgoJICBUaGlzIHBhdGNoIGFkZHMgYSBjYWxsIHRvIGdzdF9idWZmZXJfdW5yZWYgYWZ0ZXIgdGhlIGZsYWdzIGhhdmUgYmVlbgoJICB1cGRhdGVkIG9uIHRoZSBidWZmZXIuCgkgIFRoZXJlIGlzIGEgbGVhay1vbi1lcnJvciBpbiBnc3RfaGxzX2RlbXV4X2RlY3J5cHRfZnJhZ21lbnQgaWYgaXQgZmFpbHMKCSAgdG8gZG93bmxvYWQgdGhlIGtleSBmaWxlLiBJZiB0aGUga2V5IGZhaWxzIHRvIGRvd25sb2FkLCBudWxsIGlzCgkgIHJldHVybmVkIHdpdGhvdXQgZG9pbmcgYW4gdW5yZWYgb24gdGhlIGVuY3J5cHRlZCBmcmFnbWVudC4gVGhlCgkgIHNlbWFudGljcyBvZiBnc3RfaGxzX2RlbXV4X2RlY3J5cHRfZnJhZ21lbnQgaXMgdGhhdCBpdCB0YWtlcyBvd25lcnNoaXAKCSAgb2YgdGhlIGVuY3J5cHRlZCBmcmFnbWVudCBhbmQgcmVsZWFzZXMgaXQgYmVmb3JlIHJldHVybmluZy4KCSAgVGhlcmUgaXMgYSBsZWFrLW9uLWVycm9yIGluIGdzdF9obHNfc3JjX2J1Zl90b191dGY4X3BsYXlsaXN0IGluIHRoZQoJICB1bmxpa2VseSBldmVudCB0aGF0IHRoZSBnc3RfYnVmZmVyX21hcCBmYWlscy4gSW4gdGhlICJoYXBweSBwYXRoIgoJICBvcGVyYXRpb24gb2YgZ3N0X2hsc19zcmNfYnVmX3RvX3V0ZjhfcGxheWxpc3QgdGhlIGJ1ZmZlciBnZXRzIGFuIHVucmVmCgkgIGJlZm9yZSB0aGUgZnVuY3Rpb24gcmV0dXJucywgdGhlcmVmb3JlIHRoZSBlcnJvciBjb25kaXRpb24gbXVzdCBkbyB0aGUKCSAgc2FtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDg4MQoKMjAxMy0xMC0yMyAxNzoxMToyMCArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfdHR4dC5jOgoJICBtcGVndHNtdXg6IGZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIHdhcm5pbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDc1OQoKMjAxMy0xMC0yMyAxNjo1ODo0OSArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIHdhcm5pbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDc1OQoKMjAxMy0xMC0xOCAxMDoxMjo1NiArMDgwMCAgQ2hlbiBKaWUgPGNoZW5qQGxlbW90ZS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IG1ha2UgZ3N0X2FtY19hdmNfcHJvZmlsZV9mcm9tX3N0cmluZyByZWNvZ25pemUgYWx0IG5hbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDQzMwoKMjAxMy0xMC0xMiAxNjowNDoyNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBwaXRjaDogRml4IGludmVydGVkIGNvbmRpdGlvbiBpbiBzZXRjYXBzCgoyMDEzLTEwLTExIDEwOjMyOjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFNraXAgcGFja2V0cyB3aXRoIGNvcnJ1cHRlZCBsZW5ndGgKCSAgVGhpcyBpcyBzaW1pbGFyIHRvIHdoYXQgd2UgZG8gZm9yIHBhY2tldHMgd2l0aCBwYXlsb2FkCgoyMDEzLTEwLTExIDEwOjI5OjIwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFJlZmFjdG9yIGxhbmd1YWdlIHRhZyBleHRyYWN0aW9uCgkgIHN1YnRpdGxpbmcgZGVzY3JpcHRvciBuZWVkcyB0byBiZSB1c2VkIHdpdGggYSBkaWZmZXJlbnQgbWV0aG9kIHRvIGV4dHJhY3QKCSAgbGFuZ3VhZ2UgY29kZXMuCgoyMDEzLTEwLTExIDEwOjIxOjI1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogQWRkIHN1cHBvcnQgZm9yIHBhcnNpbmcgRFZCIFN1YnRpdGxpbmcgZGVzY3JpcHRvciAoMHg1OSkKCSAgRXNzZW50aWFsbHkgd29ya3MgaW4gdGhlIHNhbWUgdmVpbiBhcyB0aGUgaXNvNjM5IGRlc2NyaXB0b3IgY29kZQoKMjAxMy0xMC0xMCAyMjo0Njo0OCArMDIwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IEZpeCBhc3NlcnRpb24gZmF1bHQgaW4gSVNPIDYzOSBwYXJzaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkxODAKCjIwMTMtMTAtMDkgMTc6MTg6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICBzcGVlZDogRml4IHNvbWUgYnl0ZXMtcGVyLWZyYW1lIHZzLiBieXRlcy1wZXItc2FtcGxlIG1peHVwcwoJICBPdGhlcndpc2Ugd2Ugd2lsbCBjcmFzaCB3aGVuIGhhbmRsaW5nIG11bHRpcGxlIGNoYW5uZWxzIGFuZAoJICBtaXNjYWxjdWxhdGUgdGltZXN0YW1wcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTczNAoKMjAxMy0xMC0wOCAxMToxMDo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IE1ha2Ugc3VyZSB0byB0cnkgd2luZG93LXN5c3RlbS1hZ25vc3RpYyBFR0wgaWYgbm90aGluZyB3YXMgYXV0by1kZXRlY3RlZAoKMjAxMy0xMC0wOCAwNzo1NjoxMSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiBsb2cgdGltZSBmb3JtYXQgYXMgbmFtZSBpbnN0ZWFkIG9mIHRoZSBudW1iZXIKCjIwMTMtMTAtMDYgMTc6Mzc6MzggKzAyMDAgIEdpbGxlcyBEYXJ0aWd1ZWxvbmd1ZSA8ZXZhQGdlbnRvby5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGVnbDogQWxsb3cgZGlzYWJsaW5nIGdzdHJlYW1lci1lZ2wgbGlicmFyeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NTMxCgoyMDEzLTEwLTA1IDE0OjQ1OjMzICswMjAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogVXNlIG1wZWd0cy1saWIgZm9yIElTTyA2MzkgbGFuZ3VhZ2UgdGFncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MTgwCgoyMDEzLTEwLTA1IDE0OjQ1OjMyICswMjAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUmV0dXJuIGRlc2NyaXB0b3IgaW4gZ2V0X2Rlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTE4MAoKMjAxMy0xMC0wNSAxNDo0NTozMSArMDIwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBBZGQgSVNPIDYzOSBwYXJzaW5nIGZ1bmN0aW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MTgwCgoyMDEzLTEwLTA1IDAwOjAwOjUyICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBoYW5kbGUgc3RpY2t5IGR2ZCBldmVudHMKCSAgcGFsZXR0ZS1jaGFuZ2VkIGV2ZW50cyBhcmUgbm93IHN0aWNreS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTQ1NAoKMjAxMy0xMC0wMyAwNzo1NzoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBTbWFsbCBpbXByb3ZlbWVudCBvbiBhbHdheXMgdmFsaWQgaWYgY29uZGl0aW9uCgkgIE5vIG5lZWQgdG8gY2hlY2sgZm9yICFjYW5jZWxsZWQgYXMgdGhlIGFib3ZlIGlmIGd1YXJhbnRlZXMgaXQKCSAgdG8gYmUgdHJ1ZQoKMjAxMy0xMC0wMyAwNzo1NjoyMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEbyBub3QgY2FsbCBfc3RvcCBob2xkaW5nIHRoZSB1cGRhdGVzIGxvY2sKCSAgSXQgd2lsbCBjYXVzZSBhIGRlYWRsb2NrIGFuZCB0aGUgY2FsZXJzIGZvciBfZ2V0X25leHRfZnJhZ21lbnQKCSAgd2lsbCBhbHJlYWR5IGNhbGwgX3N0b3AgaWYgcmVxdWlyZWQgd2hlbiBfZ2V0X25leHRfZnJhZ21lbnQgZmFpbHMuCgkgIEZpeGVzICM2OTAxNDgKCjIwMTMtMDYtMTIgMTA6NTA6NTEgLTA2MDAgIEdyZWcgUnV0eiA8Z3JlZ0Bnc3ItdGVrLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IEltcHJvdmUgaWYgY2F1c2UgcmVhZGFiaWxpdHkKCSAgRml4ZWQgdXAgdGhlIGVycm9yLWhhbmRsaW5nIGNvZGUgd2hlbiBkb3dubG9hZGluZyBmcmFnbWVudHMuCgkgIE1vZGlmZWQgdGhlIGVycm9yLWhhbmRsaW5nIGNvZGUgdG8gdXNlIHBvc2l0aXZlIGxvZ2ljIHdoZW4KCSAgdGVzdGluZyBmb3IgY2FuY2VsbGF0aW9uIG9mIHRoZSBkb3dubG9hZCBsb29wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxNDA0CgoyMDEzLTA5LTI2IDE3OjA1OjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGFjdHVhbGx5IHJldHVybiB0cnVlIG9uIGxhdGVuY3kgcXVlcnkKCSAgRG8gbm90IGZvcmdldCB0byBzZXQgdGhlIHJldHVybiBmb3IgbGF0ZW5jeSBxdWVyeQoKMjAxMy0wOS0yNiAxNjoxMzozMyAtMDMwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBzdG9wIGZldGNoaW5nIGxpdmUgZnJhZ21lbnRzIHRoYXQgZG9uJ3QgeWV0IGV4aXN0CgkgIFRoZXJlIGlzIGFuIGlzc3VlIGZvciBsaXZlIHN0cmVhbXMgd2hlcmUgZG93bmxvYWRfbG9vcCB3aWxsIGtlZXAKCSAgZG93bmxvYWRpbmcgc2VnbWVudHMgdW50aWwgaXQgZ2V0cyBhIDQwNCBlcnJvciBmb3IgYSBzZWdtZW50CgkgIHRoYXQgaGFzIG5vdCB5ZXQgYmVlbiBwdWJsaXNoZWQuIFRoaXMgaXMgYSBwcm9ibGVtIGJlY2F1c2UgdGhpcwoJICByZXF1ZXN0IGZvciBhIHNlZ21lbnQgdGhhdCBkb2Vzbid0IGV4aXN0IHdpbGwgcHJvcGFnYXRlIGFsbCB0aGUKCSAgd2F5IGJhY2sgdG8gdGhlIG9yaWdpbiBzZXJ2ZXIocykuIFRoaXMgbWVhbnMgdGhhdCBkYXNoZGVtdXggY2F1c2VzCgkgIGV4dHJhIGxvYWQgb24gdGhlIG9yaWdpbiBzZXJ2ZXIocykgZm9yIHNlZ21lbnRzIHRoYXQgYXJlbid0IHlldAoJICBhdmFpbGFibGUuCgkgIFRoaXMgcGF0Y2ggdXNlcyBhdmFpbGFiaWxpdHlTdGFydFRpbWUsIHBlcmlvZAoJICBhbmQgdGhlIGhvc3QncyBpZGVhIG9mIFVUQyB0byBkZWNpZGUgaWYgYSBmcmFnbWVudCBpcyBhdmFpbGFibGUgdG8KCSAgYmUgcmVxdWVzdGVkIGZyb20gYW4gSFRUUCBzZXJ2ZXIgYW5kIGZpbHRlciBvdXQgcmVxdWVzdHMgZm9yIGZyYWdtZW50cwoJICB0aGF0IGFyZSBub3QgeWV0IGF2YWlsYWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTQwNAoKMjAxMy0xMC0wMyAxMzoyNjowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBGaXggY29udmVyc2lvbiB0byBBVkMgaWYgYSBTUFMvUFBTIG5vdCBmcm9tIHRoZSBmaXJzdCBpbmRpemVzIGlzIHVzZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzk3NAoKMjAxMy0xMC0wMiAxMDo1NTozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmpwZWcvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZy5oOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmg6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuaDoKCSAgb3BlbmpwZWc6IFBvcnQgT3BlbkpQRUcgcGx1Z2luIHRvIHRoZSAyLjAgQVBJCgoyMDEzLTEwLTAyIDA1OjQ5OjQzICswMzAwICBEb21pbmlrIFLDtnR0c2NoZXMgPGRvbWluaWsucm90dHNjaGVzQGludGVsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBBZGQgc3VwcG9ydCBmb3IgSTQyMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MjQxCgoyMDEzLTEwLTAyIDA1OjQ5OjM0ICswMzAwICBEb21pbmlrIFLDtnR0c2NoZXMgPGRvbWluaWsucm90dHNjaGVzQGludGVsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkgIHZ0ZW5jOiBVc2UgY29ycmVjdCBzdHJpZGVzLCBldGMgZnJvbSB0aGUgR3N0VmlkZW9GcmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2MjExCgoyMDEzLTA4LTIwIDE3OjAzOjM4ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBzdG9yZSBxdWFudGl6YXRpb24gbWF0cmljZXMgaW4gemlnLXphZyBvcmRlcgoJICBRdWFudGl6ZXIgbWF0cmljZXMgYXJlIGVuY29kZWQgaW4gemlnemFnIHNjYW4gb3JkZXIgaW4gdGhlIGJpdHN0cmVhbSwKCSAgc28gYWx3YXlzIHBhcnNlIGl0IGFzIGl0IGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4NjI5CgoyMDEzLTEwLTAyIDExOjQwOjA1ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiB3aW4zMi9jb21tb24vbGliZ3N0Y29kZWNwYXJzZXJzLmRlZjoKCSAgd2luMzI6IHVwZGF0ZSB3aXRoIHRoZSBuZXcgZmlsZSBsaWJnc3Rjb2RlY3BhcnNlcnMuZGVmCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg2MjkKCjIwMTMtMTAtMDIgMTE6MjQ6NTggKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBhZGQgaGVscGVycyB0byBjb252ZXJ0IHF1YW50aXphdGlvbiBtYXRyaWNlcwoJICBBZGQgdXRpbGl0eSBmdW5jdGlvbnMgdG8gY29udmVydCBxdWFudGl6YXRpb24gbWF0cmljZXMgZnJvbSB6aWctemFnIHNjYW4KCSAgb3JkZXIgaW50byByYXN0ZXIgc2NhbiBvcmRlciBhbmQgdmljZS12ZXJzYQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4NjI5CgoyMDEzLTA5LTMwIDE1OjMyOjU1IC0wNjAwICBCcmVuZGFuIExvbmcgPGIubG9uZ0BjYWJsZWxhYnMuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLW1wZWd0cy11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1tcGVndHMucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1iYWQtdW5pbnN0YWxsZWQucGMuaW46CgkgIEFkZCBnc3RyZWFtZXItbXBlZ3RzIHBrZy1jb25maWcgZmlsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTE0NQoKMjAxMy0wOS0yOSAyMzo0MzoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0ZGlzcGFyaXR5LmNwcDoKCSAgb3BlbmN2OiBkb24ndCB1bnJlZiBOVUxMIGNhcHMgaW4gZmluYWxpemUKCSAgRml4ZXMgZ3N0LWluc3BlY3QtMS4wIC1hIGFuZCBnZW5lcmljIHN0YXRlcyB1bml0IHRlc3QuCgoyMDEzLTA5LTI2IDEzOjM3OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvaW9zYXNzZXRzcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvaW9zYXNzZXRzcmMubToKCSAgaW9zYXNzZXRzcmM6IFBvcnQgdG8gMS4wIGFuZCBmaXggc29tZSBidWdzIG9uIHRoZSB3YXkKCjIwMTMtMDktMjYgMTM6MjE6NTkgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvaW9zYXNzZXRzcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvaW9zYXNzZXRzcmMubToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGlvc2Fzc2V0c3JjOiBBZGQgbmV3IGVsZW1lbnQgZnJvbSB0aGUgR1N0cmVhbWVyIFNESyBwcm9qZWN0CgoyMDEzLTA5LTIzIDE0OjM2OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvZWdsZ2xlcy9NYWtlZmlsZS5hbToKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmg6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWFnbC5tOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogUG9ydCBpT1MgcGFydCB0byAxLjAKCjIwMTMtMDktMjMgMTM6MjA6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBGaXggaU9TIGNoZWNrIGZvciBlZ2xnbGVzc2luawoKMjAxMy0wOS0yMyAxMTozNTo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY29yZW1lZGlhY3R4LmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9wbHVnaW4ubToKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhcHBsZW1lZGlhOiBhdmZ2aWRlb3NyYyBpcyBub3QgcG9ydGVkIHRvIDEuMCB5ZXQKCjIwMTMtMDktMTggMTc6NTE6MjYgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiByb3VuZCB3aGVuIGNhbGN1bGF0aW9uIGxlbmd0aCBmcm9tIGR1cmF0aW9uCgkgIGxpdmVhZGRlciBzb21ldGltZXMgY2FsY3VsYXRlcyB0aGUgb2Zmc2V0cyBpbmNvcnJlY3RseSBiZWZvcmUgYWRkaW5nLiBUaGUKCSAgcmVzdWx0aW5nIGVycm9ycyBjYW4gZWFzaWx5IGJlIGhlYXJkIHdoZW4gbWl4aW5nIHNpbGVuY2Ugd2l0aCBhIHNpbmUuCgkgIEknbSBub3Qgc3VyZSB3aGF0IHRoZSBleGFjdCBjb25kaXRpb25zIGFyZSB0byB0cmlnZ2VyIHRoaXMsIGJ1dCBpdCBkZWZpbml0aXZlbHkKCSAgaGFwcGVucyB3aGVuIHRoZSBidWZmZXJzIG9mIHR3byBzdHJlYW1zIGhhdmUgYSBkaWZmZXJlbnQgZHVyYXRpb24gYW5kIGJ1ZmZlcgoJICBsZW5ndGggYW5kIGR1cmF0aW9uIGRvbid0IG1hdGNoIGV4YWN0bHkgZm9yIG9uZSBzdHJlYW0gYmVjYXVzZSBvZiByb3VuZGluZwoJICBlcnJvcnMgKGUuZy4gIGR1cmF0aW9uPTA6MDA6MDAuMDIxMzMzMzMzKQoJICBJIGhhdmUgdG8gYWRtaXQsIEkgZ290IGxvc3QgaW4gdGhlIG1hdGggc29tZXdoZXJlIGJ1dCBpdCBzZWVtcyB0aGF0IG5vdAoJICByb3VuZGluZyBpbiBnc3RfbGl2ZV9hZGRlcl9sZW5ndGhfZnJvbV9kdXJhdGlvbigpIGNhdXNlcyAxIHNhbXBsZSBvdmVybGFwcyBpbgoJICBjb25zZWN1dGl2ZSBidWZmZXJzIGZyb20gdGhlIHNhbWUgc3RyZWFtLgoJICBXaGVuIHVzaW5nIGdzdF91dGlsX3VpbnQ2NF9zY2FsZV9pbnRfcm91bmQoKSBpbnN0ZWFkIG9mIGp1c3QgdHJ1bmNhdGluZyB0aGUKCSAgc2luZSBzb3VuZCBjb3JyZWN0bHkgYWdhaW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDgzNDUKCjIwMTMtMDktMjUgMTU6MjI6MTIgKzAxMDAgIEphdmllciBKYXJkw7NuIDxqamFyZG9uQGdub21lLm9yZz4KCgkqIGV4dC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkgIGhsc3Npbms6IFVzZSBmbG9hdHMgZm9yIHRoZSBFWFRJTkYgZHVyYXRpb24gdmFsdWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg4NTEKCjIwMTMtMDktMjUgMTU6MTg6MzkgKzAxMDAgIEphdmllciBKYXJkw7NuIDxqamFyZG9uQGdub21lLm9yZz4KCgkqIGV4dC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkgIGhsc3Npbms6IFdyaXRlIEVYVC1YLVZFUlNJT04gdGFnIGluIHRoZSBwbGF5bGlzdCBmaWxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg4NTEKCjIwMTMtMDktMTkgMTQ6NTM6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdXZjaDI2NGRlbXV4LmM6CgkgIGNoZWNrOiBVcGRhdGUgdXZjaDI2NGRlbXV4IGZvciBiZWhhdmlvdXIgY2hhbmdlCgkgIFNpbmNlIDAwNmU3YTM0MjhiZDA5N2ZjNmU2YzY0ODMzMmJmZjU4M2RkNDM0Zjkgd2Ugbm8gbG9uZ2VyIGVycm9yIG91dCBvbgoJICBpbmNvbXBsZXRlIGF1eCBzZWdtZW50LgoKMjAxMy0wOS0yNyAxNDo0NTowMCArMDAwMCAgU3RldmUgTWF5bmFyZCA8c3RldmVAc2Vjb25kc3RyeWtlLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LXNjdGUtc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9tcGVndHMuaDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHM6IEFkZCBTQ1RFL0VJU1Mgc2VjdGlvbnMgYW5kIHRhYmxlIHR5cGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg2ODgKCjIwMTMtMDctMjkgMDg6MTA6MDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogV2FpdCBmb3IgdmFsaWQgUENSL29mZnNldCBvYnZlcnZhdGlvbnMKCSAgSXQgaXMgcXVpdGUgcG9zc2libGUgdGhhdCB3ZSBtaWdodCBnZXQgUFRTL0RUUyBiZWZvcmUgdGhlIGZpcnN0CgkgIFBDUi9PZmZzZXQgb2JzZXJ2YXRpb24uCgkgIEluIG9yZGVyIHRvIGVuZCB1cCB3aXRoIHZhbGlkIHRpbWVzdGFtcCB3ZSB3YWl0IHVudGlsIGF0IGxlYXN0IG9uZQoJICBzdHJlYW0gd2FzIGFibGUgdG8gZ2V0IGEgcHJvcGVyIHJ1bm5pbmctdGltZSBmb3IgYW55IFBUUy9EVFMuCgkgIFVudGlsIHRoZW4sIHdlIHF1ZXVlIHVwIHRoZSBwZW5kaW5nIGJ1ZmZlcnMgdG8gcHVzaCBvdXQuCgkgIE9uY2Ugd2Ugc2VlIGEgZmlyc3QgdmFsaWQgdGltZXN0YW1wLCB3ZSByZS1ldmFsdWF0ZSB0aGUgYW1vdW50IG9mCgkgIHJ1bm5pbmctdGltZSBlbGFwc2VkIChiYXNlZCBvbiByZXR1cm5lZCBpbml0YWwgcnVubmluZy10aW1lIGFuZCBhbW91bnQKCSAgb2YgZGF0YS9EVFMgcXVldWVkIHVwKSBmb3IgYW55IGdpdmVuIHN0cmVhbS4KCSAgVGFraW5nIHRoZSBiaWdnZXN0IGFtb3VudCBvZiBlbGFwc2VkIHRpbWUsIHdlIHNldCB0aGF0IG9uIHRoZSBwYWNrZXRpemVyCgkgIGFzIHRoZSBpbml0aWFsIG9mZnNldCBhbmQgcmVjYWxjdWxhdGUgYWxsIHBlbmRpbmcgYnVmZmVycyBydW5uaW5nLXRpbWUKCSAgUFRTL0RUUy4KCSAgTm90ZTogVGhlIGJ1ZmZlciBxdWV1ZWluZyBzeXN0ZW0gY2FuIGFsc28gYmUgdXNlZCBsYXRlciBvbiBmb3IgdGhlCgkgIGR2YiBmYXN0IHN0YXJ0IHByb3Bvc2FsICh3aGVyZSB3ZSBxdWV1ZSB1cCBhbGwgc3RyZWFtIHBhY2tldHMgYmVmb3JlCgkgIHNlZWluZyBQQVQvUE1UIGFuZCB0aGVuIHB1c2ggdGhlbSBvbmNlIHdlIGtub3cgaWYgdGhleSBiZWxvbmcgdG8gdGhlCgkgIGNob3NlbiBwcm9ncmFtKS4KCjIwMTMtMDctMDcgMTU6MDQ6MTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogQWRkIGRlc2NyaXB0b3IgZHVtcGluZwoKMjAxMy0wNy0yNiAwNzo1NDozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzZGVtdXg6IE5ldyBQQ1I8PT5PZmZzZXQgZXN0aW1hdGlvbiBjb2RlCgkgIFRoaXMgYWxsb3dzOgoJICAqIEJldHRlciBkdXJhdGlvbiBlc3RpbWF0aW9uCgkgICogTW9yZSBhY2N1cmF0ZSBQQ1IgbG9jYXRpb24KCSAgKiBPdmVyYWxsIG1vcmUgYWNjdXJhdGUgcnVubmluZy10aW1lIGxvY2F0aW9uIGFuZCBjYWxjdWxhdGlvbgoJICBMb2NhdGlvbiBhbmQgdmFsdWVzIG9mIFBDUiBhcmUgcmVjb3JkZWQgaW4gZ3JvdXBzIChQQ1JPZmZzZXRHcm91cCkKCSAgd2l0aCBub3RhYmxlIFBDUi9PZmZzZXQgb2JzZXJ2YXRpb25zIGluIHRoZW0gKHdoZW4gYml0cmF0ZSBjaGFuZ2VkCgkgIGZvciBleGFtcGxlKS4gUENSIGFuZCBvZmZzZXQgYXJlIHN0b3JlZCBhcyAzMmJpdCB2YWx1ZXMgdG8KCSAgcmVkdWNlIG1lbW9yeSB1c2FnZSAodGhleSBhcmUgZGlmZmVyZW5jZXMgYWdhaW5zdCB0aGF0IGdyb3VwJ3MKCSAgZmlyc3Rfe3BjcnxvZmZzZXR9LgoJICBUaG9zZSBncm91cHMgZWFjaCBjb250YWluIGEgZ2xvYmFsIFBDUiBvZmZzZXQgKHBjcl9vZmZzZXQpIHdoaWNoCgkgIGluZGljYXRlcyBob3cgZmFyIGluIHRoZSBzdHJlYW0gdGhhdCBncm91cCBpcy4KCSAgV2hlbmV2ZXIgbmV3IFBDUiB2YWx1ZXMgYXJlIG9ic2VydmVkLCB3ZSBzdG9yZSB0aGVtIGluIGEgc2xpZGluZwoJICB3aW5kb3cgZXN0aW1hdG9yIChQQ1JPZmZzZXRHcm91cEN1cnJlbnQpLgoJICBXaGVuIGEgcmVzZXQvd3JhcG92ZXIvZ2FwIGlzIGRldGVjdGVkLCB3ZSBjbG9zZSB0aGUgY3VycmVudCBncm91cCB3aXRoCgkgIGN1cnJlbnQgdmFsdWVzIGFuZCBzdGFydCBhIG5ldyBvbmUgKHRoZSBwY3Jfb2Zmc2V0IG9mIHRoYXQgbmV3IGdyb3VwCgkgIGlzIGFsc28gY2FsY3VsYXRlZCkuCgkgIFdoZW4gYSBub3RhYmxlIGNoYW5nZSBpbiBiaXRyYXRlIGlzIG9ic2VydmVkICgrLy0gMTAlKSwgd2UgcmVjb3JkCgkgIG5ldyB2YWx1ZXMgaW4gdGhlIGN1cnJlbnQgZ3JvdXAuIFRoaXMgaXMgYSBjb21wcm9taXNlIGJldHdlZW4KCSAgc3RvcmluZyBhbGwgUENSL29mZnNldCBvYnNlcnZhdGlvbnMgYW5kIG5vbmUsIHdoaWxlIGF0IHRoZSBzYW1lIHRpbWUKCSAgcHJvdmlkaW5nIGJldHRlciBpbmZvcm1hdGlvbiBmb3IgcnVubmluZy10aW1lPD0+b2Zmc2V0IGNhbGN1bGF0aW9uCgkgIGluIFZCUiBzdHJlYW1zLgoJICBXaGVuZXZlciBhIG5ldyBub24tY29udGlndW91cyBncm91cCBpcyBzdGFydCAoZHVlIHRvIHNlZWtpbmcgZm9yIGV4YW1wbGUpCgkgIHdlIHJlLWV2YWx1YXRlIHRoZSBwY3Jfb2Zmc2V0IG9mIGVhY2ggZ3JvdXBzLiBUaGlzIGFsbG93cyBkZXRlY3RpbmcgYXMKCSAgcXVpY2tseSBhcyBwb3NzaWJsZSBQQ1Igd3JhcG92ZXIvcmVzZXQuCgkgIFdoZW4gd2FudGluZyB0byBmaW5kIHRoZSBvZmZzZXQgb2YgYSBjZXJ0YWluIHJ1bm5pbmctdGltZSwgb25lIGNhbgoJICBpdGVyYXRlIHRoZSBncm91cHMgYnkgbG9va2luZyBhdCB0aGUgcGNyX29mZnNldCAod2hpY2ggaW4gZXNzZW5jZSAqaXMqCgkgIHRoZSBydW5uaW5nLXRpbWUgb2YgdGhhdCBncm91cCBpbiB0aGUgb3ZlcmFsbCBzdHJlYW0pLgoJICBPbmNlIGEgZ3JvdXAgKG9yIG5laWdoYm91cmluZyBncm91cHMgaWYgdGhlIHJ1bm5pbmctdGltZSBpcyBiZXR3ZWVuIHR3bwoJICBncm91cHMpIGlzIGZvdW5kLCBvbmNlIGNhbiB1c2UgdGhlIHJlY29yZGVkIHZhbHVlcyB0byBmaW5kIHRoZSBtb3N0CgkgIGFjY3VyYXRlIG9mZnNldC4KCSAgUmlnaHQgbm93IHRoaXMgY29kZSBpcyBvbmx5IHVzZWQgaW4gcHVsbC1tb2RlICwgYnV0IGNvdWxkIGFsc28KCSAgYmUgYWN0aXZhdGVkIGxhdGVyIG9uIGZvciBhbnkgc2Vla2FibGUgc3RyZWFtLCBsaWtlIGxpdmUgdGltZXNoaWZ0CgkgIHdpdGggcXVldWUyLgoJICBGdXR1cmUgaW1wcm92ZW1lbnRzOgoJICAqIHNvbWUgaGV1cmlzdGljcyB0byAiY29tcHJlc3MiIHRoZSBzdG9yZWQgdmFsdWVzIGluIGdyb3VwcyBzbyBhcyB0byBrZWVwCgkgIHRoZSBtZW1vcnkgdXNhZ2UgZG93biB3aGlsZSBzdGlsbCBrZWVwaW5nIGEgZGVjZW50IGFtb3VudCBvZiBub3RhYmxlCgkgIHBvaW50cy4KCSAgKiBBZnRlciBhIHNlZWsgY29tcGFyZSBleHBlY3RlZCBhbmQgb2J0YWluZWQgUENSL09mZnNldCBhbmQgaWYgdGhlCgkgIGRpZmZlcmVuY2UgaXMgdG9vIGJpZywgcmUtY2FsY3VsYXRlIHBvc2l0aW9uIHdpdGggbmV3bHkgb2JzZXJ2ZWQKCSAgdmFsdWVzIGFuZCBzZWVrIHRvIHRoYXQgbW9yZSBhY2N1cmF0ZSBwb3NpdGlvbi4KCSAgTm90ZSB0aGF0IHRoaXMgY29kZSB3aWxsICpub3QqIHByb3ZpZGUga2V5ZnJhbWUtYWNjdXJhdGUgc2Vla2luZywgYnV0CgkgIHdpbGwgYWxsb3cgYSBtdWNoIG1vcmUgYWNjdXJhdGUgUENSL3J1bm5pbmctdGltZS9vZmZzZXQgbG9jYXRpb24gb24KCSAgYW55IHJhbmRvbSBzdHJlYW0uCgkgIEZvciBwYXN0IChvYnNlcnZlZCkgdmFsdWVzIGl0IHdpbGwgYmUgYXMgYWNjdXJhdGUgYXMgY2FuIGJlLgoJICBGb3IgZnV0dXJlIHZhbHVlcyBpdCB3aWxsIGJlIGJldHRlciB0aGFuIHRoZSBjdXJyZW50IHNpdHVhdGlvbi4KCSAgRmluYWxseSB0aGUgbW9yZSB5b3Ugc2VlaywgdGhlIG1vcmUgYWNjdXJhdGUgeW91ciBwb3NpdGlvbmluZyB3aWxsIGJlLgoKMjAxMy0wNy0wNSAxNzoxMTo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBObyBsb25nZXIgdXNlIGEgcHJpdmF0ZSBzdHJ1Y3QKCSAgVGhlc2UgYXJlIG5vdCBwdWJsaWMgaGVhZGVycywgaXQganVzdCBhZGRzIGNvbXBsZXhpdHkgZm9yIG5vIHJlYXNvbgoKMjAxMy0wOS0yNiAxNjo1MToyNSArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRml4IGRlcmVmZXJlbmNpbmcgb2YgTlVMTCBwb2ludGVyCgkgIE9uIHNvbWUgbGl2ZSBITFMgc3RyZWFtcywgZ3N0X2hsc19kZW11eF9zd2l0Y2hfcGxheWxpc3QgY2F1c2VzCgkgIGFzc2VydGlvbiBmYWlsdXJlcyBiZWNhdXNlIGl0IHRyaWVkIHRvIGRlcmVmZXJlbmNlIGEgTlVMTCBmcmFnbWVudC4KCSAgVGhpcyBpcyBiZWNhdXNlIGdfcXVldWVfcGVla190YWlsIHNvbWV0aW1lcyB3YXMgcmV0dXJuaW5nIE5VTEwgYW5kCgkgIHRoaXMgY2FzZSB3YXMgbm90IGJlaW5nIGNoZWNrZWQuCgkgIFRoaXMgcGF0Y2ggZG9lcyB0d28gdGhpbmdzOgoJICAqIG1vdmUgdGhlIGdfcXVldWVfcGVla190YWlsIGluc2lkZSB0aGUgc2VtYXBob3JlIHByb3RlY3Rpb24KCSAgKiBjaGVjayBpZiBxX3F1ZXVlX3BlZWtfdGFpbCByZXR1cm5zIE5VTEwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODg0OQoKMjAxMy0wOS0yNyAxNjoxMDo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5oOgoJICBtcGVndHNwYXJzZTogUXVldWUgYnVmZmVycyB1bnRpbCB3ZSBoYXZlIGVub3VnaCB0byBrbm93IHRoZSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDgyMjIKCjIwMTMtMDktMTYgMTE6NDY6MjcgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogcmV3b3JrIFRTIHBhY2tldCBzeW5jIGFuZCBleHRyYWN0aW9uCgkgIFRoZSBwcmV2aW91cyBjb2RlIGNvdWxkIGVudGVyIGFuIGluZmluaXRlIGxvb3AgYmVjYXVzZSB0aGUgYWRhcHRlciBzdGF0ZQoJICBjb3VsZCBnZXQgb3V0IG9mIHN5bmMgd2l0aCBpdHMgbWFwcGVkIGRhdGEgc3RhdGUgYWZ0ZXIgc3luYyB3YXMgbG9zdC4KCSAgVGhlIGNvZGUgd2FzIHByZXR0eSBjb25mdXNpbmcgc28gaXQncyBiZWVuIHJld3JpdHRlbiB0byBiZSBjbGVhcmVyLgoJICBUaGUgZWFzaWVzdCB3YXkgdG8gcmVwcm9kdWNlIHRoZSBpbmZpbml0ZSBsb29wIGlzIHRvIHVzZSB0aGUgYnJlYWtteWRhdGEKCSAgZWxlbWVudCBiZWZvcmUgdHNkZW11eCB0byB0cmlnZ2VyIGEgcmVzeW5jLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4MTYxCgoyMDEzLTA5LTE2IDExOjQyOjQ4ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGZpeCBidWZmZXIgb3ZlcmZsb3cKCSAgVGhpcyBjYW4gaGFwcGVuIHdpdGggYSBjb3JydXB0IFRTIGZpbGUsIGZvdW5kIHdpdGggYnJlYWtteWRhdGEgZWxlbWVudAoJICBwbHVnZ2VkIGJlZm9yZSB0c2RlbXV4LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4MTYxCgoyMDEzLTA5LTI1IDIzOjU3OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlbW92ZSBBU19TQ1JVQl9JTkNMVURFCgkgIFNob3VsZG4ndCBiZSBuZWVkZWQgYW55IG1vcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc2NTgKCjIwMTMtMDktMjUgMjA6MjU6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuYzoKCSAgYmx1ZXo6IEZpeCBjb21waWxhdGlvbiBvbiBiaWcgZW5kaWFuIHN5c3RlbXMKCjIwMTMtMDktMjQgMTg6MzE6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBSRUFETUU6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmIwM2JhNyB0byA4NjVhYTIwCgoyMDEzLTA5LTI0IDE1OjA1OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQWN0dWFsbHkgdXNlIDEuMy4wLjEgYXMgdmVyc2lvbiB0byBtYWtlIGNvbmZpZ3VyZSBoYXBweQoKMjAxMy0wOS0yNCAxNTowMDoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjIuMCA9PT0KCjIwMTMtMDktMjQgMTQ6Mzc6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWdsZ2xlc3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjIuMAoKMjAxMy0wOS0yNCAxNDozNzoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTMtMDktMjMgMTY6MTg6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9zZHAvZ3N0c2RwZWxlbS5jOgoJICBzZHBkZW11eDogQ2hhbmdlIHJhbmsgdG8gTk9ORSB1bnRpbCBpdCBjYW4gYmUgYXV0b3BsdWdnZWQgcHJvcGVybHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjQ5NQoKMjAxMy0wOS0yMCAxNjoxNzoxNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGI2MTM2NjEgdG8gNmIwM2JhNwoKMjAxMy0wOS0xOSAyMDoxNzowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2F1ZGlvZnhiYWQvZ3N0YXVkaW9meGJhZC5jOgoJICBhdWRpb2Z4YmFkOiBDaGFuZ2UgcGx1Z2luIG5hbWUgdG8gYXVkaW9meGJhZCBmcm9tIGF1ZGlvY2hhbm5lbG1peAoKMjAxMy0wOS0xOSAyMDowOToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2Rhc2gvZ3N0cGx1Z2luLmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0c21vb3Roc3RyZWFtaW5nLXBsdWdpbi5jOgoJICBkYXNoL3Ntb290aHN0cmVhbWluZzogUmVtb3ZlIHVudXNlZCBkZWJ1ZyBjYXRlZ29yeSB3aXRoIHRoZSBzYW1lIG5hbWUKCSAgSXQgY2F1c2VkIHN0YXRpYyBsaW5raW5nIHRvIGZhaWwuCgoyMDEzLTA5LTE5IDE4OjQzOjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3NGE2ODU3IHRvIGI2MTM2NjEKCjIwMTMtMDktMTkgMTc6MzY6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDA5OGMwZDcgdG8gNzRhNjg1NwoKMjAxMy0wOS0xOSAxNjo0NDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2VnbGdsZXMvTWFrZWZpbGUuYW06CgkgIGVnbGdsZXNzaW5rOiBGaXggc3RhdGljIGxpbmtpbmcgZm9yIEFuZHJvaWQgYnkgcGFzc2luZyAtLXRhZz1DQyB0byBsaWJ0b29sCgoyMDEzLTA5LTE5IDExOjM1OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMS45MCA9PT0KCjIwMTMtMDktMTkgMTA6NTA6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVnbGdsZXNzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjEuOTAKCjIwMTMtMDktMTkgMTA6NDY6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEzLTA5LTE5IDA5OjQ2OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBwby9jcy5wbzoKCSogcG8vbmwucG86CgkqIHBvL3BsLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMy0wOS0xOCAyMjozNjo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogVXBkYXRlIGZvciBuZXcgR3N0Q29udGV4dCBBUEkKCjIwMTMtMDktMTggMjI6MjQ6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkgIGVnbDogVXBkYXRlIGZvciBuZXcgR3N0Q29udGV4dCBBUEkKCjIwMTMtMDktMTcgMTc6NDE6MzkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBSZXNldCBHc3RVcmlEb3dubG9hZGVyIGNhbmNlbGxhdGlvbiB3aGVuIHJlc3RhcnRpbmcgdG8gcGxheQoKMjAxMy0wOS0xNSAxNzowOToxNiArMDUzMCAgU3VkaXAgSmFpbiA8c3VkaXAuamFpbkBzdC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBDb3JyZWN0IGNvbmRpdGlvbiBjaGVjayBmb3IgY3VycmVudCBuZXh0IGluZGljYXRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4MTA2CgoyMDEzLTA5LTEyIDEyOjAzOjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5oOgoJICByYXdwYXJzZTogZml4IGV2ZW50IG9yZGVyCgkgIERlbGF5IGZvcndhcmRpbmcgdGhlIHNlZ21lbnQgZXZlbnQgdW50aWwgd2UgcHVzaGVkIGNhcHMuCgkgIFNlbmQgU1RSRUFNX1NUQVJUIGluIHB1bGwgbW9kZS4KCjIwMTMtMDktMTIgMTM6MjE6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IERvbid0IHB1dCB0aGUgbGV2ZWwgcmVzdHJpY3Rpb25zIG9uIHRoZSBzaW5rcGFkIGNhcHMKCSAgVGhleSB0ZW5kIHRvIGJlIGluYWNjdXJhdGUgYW5kIGhhdmluZyB0aGVtIGluIHRoZSBzaW5rcGFkIGNhcHMKCSAgcHJldmVudHMgcGxheWJhY2sgb2YgZmlsZXMgdGhhdCB3b3VsZCBvdGhlcndpc2UgcGxheSBmaW5lLgoKMjAxMy0wOS0xMCAxODo1MTo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgdHNkZW11eDogcmVzcGVjdCBzZXFudW1zIG9uIHNlZWtzCgkgIFBhc3MgdGhlIHNlcW51bSB0byBvdGhlciBldmVudHMgdGhhdCBhcmUgY29uc2VxdWVuY2Ugb2YgdGhlCgkgIG9yaWdpbmFsIHNlZWsgZXZlbnQKCjIwMTMtMDktMTAgMTE6Mzc6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3BlbmN2OiBXZSBhbHNvIHdvcmsgd2l0aCBPcGVuQ1YgMi40LjYuMQoKMjAxMy0wOS0xMCAwODo0ODozMiArMDAwMCAgSWFpbiBMYW5lIDxpYWluLmxhbmVAY2Fub25pY2FsLmNvbT4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IFNwZWNpZnkgZGlyZWN0b3J5IHdoZW4gaW5jbHVkaW5nIHN0ZGFmeC5oCgkgIG1vZHBsdWcgc3RvcHBlZCBleHBvc2luZyB0aGVpciBkaXJlY3RvcnkgaW4gdGhlaXIgcGNmaWxlLCBtZWFpbmluZwoJICBjb25zdW1lcnMgYWNjZXNzaW5nIHRoZSBoZWFkZXJzIGRpcmVjdGx5IGZhaWwgdG8gYnVpbGQuCgkgIGh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcC9tb2RwbHVnLXhtbXMvZ2l0L2NpLzc1ZTliMTY2OTgyZWQ2MzdiNTllZjdjYmMxODM1YTA5Zjc2ODkyM2UvCgoyMDEzLTA5LTA5IDEzOjE0OjEzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NHNyYzogRml4IHNtYWxsIG1lbSBsZWFrCgoyMDEzLTA5LTA3IDIzOjA5OjMxICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkb24ndCB1cGRhdGUgc3JjIGNhcHMgaWYgb25seSBjb2RlY19kYXRhIGRpZmZlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTMzMwoKMjAxMy0wOS0wNSAxOToyMzoxMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjRzcmM6IExldCB0aGUgY2FwcyBiZSBOVUxMIGlmIHRoZXJlIGlzIG5vIHBlZXIKCjIwMTMtMDktMDUgMTk6MjI6NTEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0c3JjOiBObyBuZWVkIHRvIGRyb3Agc2VnbWVudCBldmVudHMKCSAgSW4gMS4wLCBzZWdtZW50IGV2ZW50cyBhcmUgc3RpY2t5IGFuZCBub3QgYWRkaXRpdmUsIG5vIG5lZWQgdG8gcHJldmVudAoJICB0aGVpciBhY2N1bXVsYXRpb24uCgoyMDEzLTA5LTA1IDE5OjEwOjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbmtzcmM6IHNlbmQgY2FwcyBldmVudCBiZWZvcmUgc2VnbWVudAoKMjAxMy0wOS0wNCAxMDo1ODoyNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogY2hhbmdlIHBvb2wtPnNpbmstPmxhc3RfYnVmZmVyIHRvIHBvb2wtPmxhc3RfYnVmZmVyCgkgIFNvIHRoYXQgR3N0RUdMSW1hZ2VCdWZmZXJQb29sIGRvZXMgbm90IGRlcGVuZCBvbiBHc3RFZ2xHbGVzU2luawoJICBUaGUgZ29hbCBpcyBzdGlsbCB0byBtb3ZlIGl0IGludG8gZ3N0ZWdsIGxpYgoKMjAxMy0wOS0wNCAxMDo1NjoxMiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogYnVmZmVyIHBvb2wgZG9lcyBub3QgbmVlZCB0byBtYWludGFpbiBhIHJlZiBvbiB0aGUgZGlzcGxheQoJICBCZWNhdXNlIGl0IGRvZXMgbm90IHVzZSBpdCBhbmQgYWxzbyBpdCBtYXkgbm90IGtub3cgaXQgd2hlbgoJICB3ZSBjcmVhdGUgdGhlIHBvb2wKCjIwMTMtMDktMDQgMTA6NTI6NTEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IGFkZCBHc3RFR0xJbWFnZUJ1ZmZlclBvb2xTZW5kQmxvY2tpbmdBbGxvY2F0ZSBjYWxsYmFjawoJICBUaGUgZ29hbCBoZXJlIGlzIHRvIHByZXBhcmUgR3N0RUdMQnVmZmVyUG9vbCB0byBiZSBtb3ZlZCBpbnRvCgkgIGdzdGVnbCBsaWIuIFNvIGl0IGhhcyB0byBub3QgZGVwZW5kIG9uICdnc3RfZWdsZ2xlc3NpbmtfcXVldWVfb2JqZWN0JwoKMjAxMy0wOS0wNCAxMDo0ODozNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmg6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBwcmVwYXJlIGdzdF9lZ2xfYWRhcHRhdGlvbl9hbGxvY2F0ZV9lZ2xpbWFnZSB0byBiZSBtb3ZlZAoJICBpbnRvIGdzdGVnbCBsaWIgb3Igc3BsaXRlZCBiZXR3ZWVuIGdzdGVnbCBsaWIgYW5kIGdzdGdsIGxpYgoJICBiZWNhdXNlIGl0IGJvdGggZGVwZW5kcyBvbiBlZ2wgYW5kIGdsCgkgIFNvIGl0IGhhcyB0byBub3QgZGVwZW5kIG9uIEdzdEVnbEFkYXB0YXRpb25Db250ZXh0CgoyMDEzLTA4LTMwIDEzOjU0OjQwICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBBZGQgc3VwcG9ydCBmb3Igc3RyZWFtLWZvcm1hdD1hdmMzCgkgIFdoZW4gb3V0cHV0dGluZyBpbiBBVkMzIHN0cmVhbSBmb3JtYXQsIHRoZSBjb2RlY19kYXRhIHNob3VsZCBub3QKCSAgY29udGFpbiBhbnkgU1BTIG9yIFBQUywgYmVjYXVzZSB0aGV5IGFyZSBlbWJlZGRlZCBpbnNpZGUgdGhlIHN0cmVhbS4KCSAgSW4gY2FzZSBvZiBhdmMtPmJ5dGVzdHJlYW0gaDI2NHBhcnNlIHdpbGwgcHVzaCB0aGUgU1BTIGFuZCBQUFMgZnJvbQoJICBjb2RlY19kYXRhIGRvd25zdHJlYW0gYXQgdGhlIHN0YXJ0IG9mIHRoZSBzdHJlYW0sIGF0IGludGVydmFscwoJICBjb250cm9sbGVkIGJ5ICJjb25maWctaW50ZXJ2YWwiIGFuZCB3aGVuIHRoZXJlIGlzIGEgY29kZWNfZGF0YSBjaGFuZ2UuCgkgIEluIHRoZSBjYXNlIG9mIGF2YzMtPmJ5dHN0cmVhbSBoMjY0cGFyc2UgZGV0ZWN0cyB0aGF0IHRoZXJlIGlzCgkgIGFscmVhZHkgU1BTL1BQUyBpbiB0aGUgc3RyZWFtIGFuZCBzZXRzIGgyNjRwYXJzZS0+cHVzaF9jb2RlYyB0byBGQUxTRS4KCSAgVGhlcmVmb3JlIGF2YzMtPmJ5dHN0cmVhbSB3YXMgYWxyZWFkeSBzdXBwb3J0ZWQsIGV4Y2VwdCBmb3IgdGhlIHN0cmVhbQoJICB0eXBlLgoJICBJbiB0aGUgY2FzZSBvZiBieXN0cmVhbS0+YXZjIGgyNjRwYXJzZSB3aWxsIGdlbmVyYXRlIGNvZGVjX2RhdGEgY2FwcwoJICBmcm9tIHRoZSBwYXJzZWQgU1BTL1BQUyBpbiB0aGUgc3RyZWFtLiBIb3dldmVyIGl0IGRvZXMgbm90IHJlbW92ZSB0aGVzZQoJICBTUFMvUFBTIGZyb20gdGhlIHN0cmVhbS4gYnl0ZXN0cmVhbS0+YXZjMyBpcyB0aGUgc2FtZSBhcyBieXRlc3RyZWFtLT5hdmMKCSAgZXhjZXB0IHRoYXQgdGhlIGNvZGVjX2RhdGEgbXVzdCBub3QgaGF2ZSBhbnkgU1BTL1BQUyBpbiBpdC4KCSAgfC0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLXwKCSAgfHN0cmVhbS1mb3JtYXQgfCBTUFMgaW4tYmFuZCB8IFNQUyBpbiBjb2RlY19kYXRhIHwKCSAgfC0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLXwKCSAgfCBhdmMgICAgICAgICAgfCBtYXliZSAgICAgICB8IGFsd2F5cyAgICAgICAgICAgIHwKCSAgfC0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLXwKCSAgfCBhdmMzICAgICAgICAgfCBhbHdheXMgICAgICB8IG5ldmVyICAgICAgICAgICAgIHwKCSAgfC0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLXwKCSAgQW1lbmRtZW50IDIgb2YgSVNPL0lFQyAxNDQ5Ni0xNSAoQVZDIGZpbGUgZm9ybWF0KSBpcyBkZWZpbmluZyBhIG5ldwoJICBzdHJ1Y3R1cmUgZm9yIGZyYWdtZW50ZWQgTVA0IGNhbGxlZCAiYXZjMyIuIFRoZSBwcmluY2lwYWwgZGlmZmVyZW5jZQoJICBiZXR3ZWVuIEFWQzEgYW5kIEFWQzMgaXMgdGhlIGxvY2F0aW9uIG9mIHRoZSBjb2RlYyBpbml0aWFsaXNhdGlvbgoJICBkYXRhIChlLmcuIFNQUywgUFBTKS4gSW4gQVZDMSB0aGlzIGRhdGEgaXMgcGxhY2VkIGluIHRoZSBpbml0aWFsIE1PT1YgYm94CgkgIChtb292LnRyYWsubWRpYS5taW5mLnN0Ymwuc3RzZC5hdmMxKSBidXQgaW4gQVZDMyB0aGlzIGRhdGEgZ29lcyBpbiB0aGUKCSAgZmlyc3Qgc2FtcGxlIG9mIGV2ZXJ5IGZyYWdtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMDA0CgoyMDEzLTA5LTAzIDE3OjM2OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBzb3VuZHRvdWNoOiBGaXggY29tcGlsYXRpb24gd2l0aCBzb3VuZHRvdWNoIDEuNC4wCgkgIEl0IHVzZWQgRkxPQVRfU0FNUExFUy9JTlRFR0VSX1NBTVBMRVMgI2RlZmluZXMgaW5zdGVhZCBvZiBvbmVzIHByb3Blcmx5CgkgIHByZWZpeGVkIHdpdGggYSBuYW1lc3BhY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDczOTAKCjIwMTMtMDktMDMgMTE6MTQ6NDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBpZ25vcmUgbmV3IHdpbjMyIGNvbmZpZy5oLW5ldwoKMjAxMy0wOS0wMyAxMTowNTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogUG9ydCB0aWxlZCBOVjEyIGNvbnZlcnNpb24gdG8gMS4wCgoyMDEzLTA5LTAzIDEwOjU2OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiBBZGQgRklYTUUgY29tbWVudAoKMjAxMy0wOC0xMiAxMDoxNjoxNiArMDAwMCAgSm9yZ2UgTHVpcyBaYXBhdGEgPGp6YXBhdGFAZmx1ZW5kby5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy1jb25zdGFudHMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IGFkZCBzdXBwb3J0IGZvciBhIG5ldyBxdWFsY29tbSBjb2xvcnNwYWNlCgoyMDEzLTA5LTAyIDIzOjI4OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IG1pbm9yIGNsZWFuLXVwCgoyMDEzLTA5LTAyIDIyOjU0OjMyICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBzZW5kIGV2ZW50cyBvbiBwYWRzIHRoYXQgYXJlIG5vdCBsaW5rZWQKCSAgU29tZW9uZSBtaWdodCBiZSB3YWl0aW5nIGZvciBjZXJ0YWluIGV2ZW50cyB3aXRoIGEgcHJvYmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDczMTcKCjIwMTMtMDgtMjggMjA6MDc6NDggKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBkaXNhYmxlIGJ1ZmZlciBwb29scwoJICBPbiBhIGRldmljZSBsb3N0LCBhbGwgdGhlIHN1cmZhY2VzIGFsbG9jYXRlZCBpbiB0aGUKCSAgZGV2aWNlIG5lZWQgdG8gYmUgcmVsZWFzZWQgYmVmb3JlIHJlc2V0dGluZyB0aGUgZGV2aWNlLAoJICB3aGljaCBjYW4ndCBiZSBkb25lIGZvciB0aGUgYWxsb2NhdGVkIGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDY1NjYKCjIwMTMtMDktMDIgMTM6NDA6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9NQU5JRkVTVDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oLmluOgoJICBDaGFuZ2UgaG93IHdpbjMyL2NvbW1vbi9jb25maWcuaCBpcyB1cGRhdGVkCgkgIEdlbmVyYXRlIHdpbjMyL2NvbW1vbi9jb25maWcuaC1uZXcgZGlyZWN0bHkgZnJvbSBjb25maWcuaC5pbiwKCSAgdXNpbmcgc2hlbGwgdmFyaWFibGVzIGluIGNvbmZpZ3VyZSBhbmQgc29tZSBoYXJkLWNvZGVkIGluZm9ybWF0aW9uLgoJICBDaGFuZ2UgdG9wLWxldmVsIG1ha2VmaWxlIHNvIHRoYXQgJ21ha2Ugd2luMzItdXBkYXRlJyBjb3BpZXMgdGhlCgkgIGdlbmVyYXRlZCBmaWxlIHRvIHdpbjMyL2NvbW1vbi9jb25maWcuaCwgd2hpY2ggd2Uga2VlcCBpbiBzb3VyY2UKCSAgY29udHJvbC4gIEl0J3Mga2VwdCBpbiBzb3VyY2UgY29udHJvbCBzbyB0aGF0IHRoZSBnaXQgdHJlZSBpcwoJICBidWlsZGFibGUgZnJvbSBWUy4KCSAgVGhpcyBjaGFuZ2UgaXMgc2ltaWxhciB0byB0aGUgb25lIHJlY2VudGx5IGFwcGxpZWQgdG8gR1N0cmVhbWVyCgkgIGFuZCBnc3QtcGx1Z2lucy1nb29kLiAgVGhlIHByZXZpb3VzIGNvbmZpZy5oIGZpbGUgaW4gLWJhZCB3YXMgaW4KCSAgcHJldHR5IGJhZCBzaGFwZSwgc28gdW5saWtlIGNvcmUgYW5kIGJhc2UsIEkgZGlkbid0IGF0dGVtcHQgdG8KCSAgbGVhdmUgaXQgc3RyaWN0bHkgdGhlIHNhbWUsIGJ1dCBmaXhlZCBpdCBhcyBuZWNlc3NhcnkuICBOZWVkcwoJICB0ZXN0aW5nIEkgY2Fubm90IGRvIG15c2VsZi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU2OTAxNQoKMjAxMy0wOS0wMiAxMjoxOToxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBpZ25vcmUgbmV3IGFpZmZwYXJzZSB0ZXN0IGJpbmFyeQoKMjAxMy0wOS0wMiAxMDoyOTowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guaGg6CgkgIHNvdW5kdG91Y2g6IEFsbG93IGNvbXBpbGF0aW9uIGFnYWluc3QgZmxvYXQgYW5kIGludGVnZXIgdmVyc2lvbiBvZiB0aGUgbGlicmFyeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MjcwCgoyMDEzLTA4LTMwIDIxOjUyOjM1ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBGaXggd2FybmluZ3Mgd2hlbiBidWlsZGluZyBpbiBPUyBYIFNub3cgTGVvcGFyZAoJICBnc3RkYXNoZGVtdXguYzoxNzUzOiB3YXJuaW5nOiBmb3JtYXQgJyVsbHUnIGV4cGVjdHMgdHlwZSAnbG9uZyBsb25nIHVuc2lnbmVkIGludCcsIGJ1dCBhcmd1bWVudCA4IGhhcyB0eXBlICdsb25nIHVuc2lnbmVkIGludCcKCSAgZ3N0ZGFzaGRlbXV4LmM6MjIyNDogd2FybmluZzogZm9ybWF0ICclbGx1JyBleHBlY3RzIHR5cGUgJ2xvbmcgbG9uZyB1bnNpZ25lZCBpbnQnLCBidXQgYXJndW1lbnQgOSBoYXMgdHlwZSAnZ3VpbnQ2NCcKCSAgZ3N0ZGFzaGRlbXV4LmM6MjIyNDogd2FybmluZzogZm9ybWF0ICclbGx1JyBleHBlY3RzIHR5cGUgJ2xvbmcgbG9uZyB1bnNpZ25lZCBpbnQnLCBidXQgYXJndW1lbnQgMTAgaGFzIHR5cGUgJ2d1aW50NjQnCgoyMDEzLTA4LTMwIDIxOjM2OjE5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogRml4IHdhcm5pbmdzIHdoZW4gYnVpbGRpbmcgaW4gT1MgWCBTbm93IExlb3BhcmQKCSAgZ3N0bXBkcGFyc2VyLmg6NTMwOiB3YXJuaW5nOiB0eXBlIHF1YWxpZmllcnMgaWdub3JlZCBvbiBmdW5jdGlvbiByZXR1cm4gdHlwZQoJICBnc3RtcGRwYXJzZXIuYzo0MTc3OiB3YXJuaW5nOiB0eXBlIHF1YWxpZmllcnMgaWdub3JlZCBvbiBmdW5jdGlvbiByZXR1cm4gdHlwZQoKMjAxMy0wOC0zMCAwOTowNTo0MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IFVzZSBjb2RlY3BhcnNlcnMgbWFjcm9zCgkgIG5vdGU6IEkvU0kgYWxzbyBjb3ZlcnMgdGhlIFNfSS9TX1NJIHZhcmlhbnRzCgoyMDEzLTA4LTI5IDExOjAyOjM3IC0wNzAwICBLZXJyaWNrIFN0YWxleSA8a2Vycmlja0BrZXJyaWNrc3RhbGV5LmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2RpcmVjdGZiL2dzdGRmYi5jOgoJICBleGFtcGxlczogcG9ydCBkaXJlY3RmYiBleGFtcGxlIHRvIDEuMAoJICBnc3RfcGFkX2dldF9uZWdvdGlhdGVkX2NhcHMgd2FzIHJlbW92ZWQgZnJvbSAxLjA7CgkgIGdzdF9wYWRfZ2V0X2N1cnJlbnRfY2FwcyBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkLiBTZWUKCSAgaHR0cDovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL2dzdHJlYW1lci9nc3RyZWFtZXIvdHJlZS9kb2NzL3JhbmRvbQoJICAvcG9ydGluZy10by0xLjAudHh0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDcwNzQKCjIwMTMtMDgtMjkgMTU6NTU6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiB1cGRhdGUgY29uZmlnLmgKCjIwMTMtMDgtMjkgMTU6NDY6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIGRmYnZpZGVvc2luazogbWFrZSAibGF5ZXItbW9kZSIgcHJvcGVydHkgYW4gZW51bQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNTIwCgoyMDEzLTA4LTI5IDE0OjQ4OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICBkZmJ2aWRlb3Npbms6IGRvbid0IHVzZSBkZXByZWNhdGVkIEdMaWIgdGhyZWFkIEFQSQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNTIwCgoyMDEzLTA2LTI2IDExOjA3OjE0ICswOTAwICBLYXp1bm9yaSBLb2JheWFzaGkgPGtrb2JheWFzQGlnZWwuY28uanA+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOgoJICBkZmJ2aWRlb3Npbms6IHBvcnQgdG8gMS4wCgkgIGluY2x1ZGluZyB0aGUgZm9sbG93aW5nIHN1cHBvcnRzIGFuZCBmaXhlczoKCSAgKiBDcmVhdGUgRGlyZWN0RkIgc3VyZmFjZXMgZnJvbSBHc3RCdWZmZXJQb29sCgkgICogQWRkIE5WMTIgcGl4ZWwgZm9ybWF0IHN1cHBvcnQKCSAgKiBEb24ndCB1c2UgdGhlIGN1cnNvciBpbiB0aGUgZXhjbHVzaXZlIG1vZGUKCSAgLSBFbmFibGVDdXNvcigpIGNhbiBiZSBvbmx5IHVzZWQgd2hlbiB0aGUgYWRtaW5pc3RyYXRpdmUgbW9kZSBpcyBzZXQKCSAgaW4gRGlyZWN0RkIgMS42LjAgYW5kIGxhdGVyLgoJICAqIFN1cHBvcnQgbXVsdGlwbGUgcGxhbmUgcmVuZGVyaW5nIGZvciBwbGFuYXIgY29sb3IgZm9ybWF0cwoJICAtIFRoaXMgYWNjb21tb2RhdGVzIHRoZSBjaHJvbWEgcGxhbmUgb2Zmc2V0cyBvZiB0aGUgZnJhbWVidWZmZXIKCSAgaW4gcGxhbmFyIGZvcm1hdHMuCgkgICogSW52b2tlIFNldENvbmZpZ3VyYXRpb24gcmVnYXJkbGVzcyBvZiB2aWRlbyBtb2RlIHNldHRpbmcgaW4gc2V0Y2FwcygpCgkgIC0gU2V0Q29uZmlndXJhdGlvbigpIG1ldGhvZCBzaG91bGQgYmUgaW52b2tlZCByZWdhcmRsZXNzIG9mCgkgIHRoZSByZXN1bHQgb2YgZ3N0X2RmYnZpZGVvc2lua19nZXRfYmVzdF92bW9kZSgpLCBzaW5jZSB0aGUgdHdvIGFyZQoJICB1bnJlbGF0ZWQuCgkgICogRGlzYWJsZSBEaXJlY3RGQiBzaWduYWwgaGFuZGxlcgoJICAtICItLWRmYjpuby1zaWdoYW5kbGVyIiBvcHRpb24gaXMgcGFzc2VkIHRvIERpcmVjdEZCSW5pdCgpLgoJICBUaGlzIHByZXZlbnRzIERpcmVjdEZCIGZyb20gdHJ5aW5nIHRvIGtpbGwgdGhlIHByb2Nlc3MgYW5kIGFsbG93cwoJICBHU3RyZWFtZXIncyB0ZXJtaW5hdGlvbiBzZXF1ZW5jZSB0byBwcm9jZWVkIG5vcm1hbGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNTIwCgoyMDEzLTA4LTI5IDEwOjIwOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmM6CgkgIGF2ZHRwdXRpbDogU29tZSBtaW5vciBjbGVhbnVwIGFuZCBsZWFrIGZpeGVzCgoyMDEzLTA4LTI4IDE0OjI2OjA0ICswMjAwICBCZXJuaGFyZCBNaWxsZXIgPGJlcm5oYXJkLm1pbGxlckBzdHJlYW11bmxpbWl0ZWQuY29tPgoKCSogc3lzL2JsdWV6L2EyZHAtY29kZWNzLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmM6CgkgIGJsdWV6OiBzdXBwb3J0IGFhYyBpbiBhdmR0cHNyYwoJICBTaWduZWQtb2ZmLWJ5OiBCZXJuaGFyZCBNaWxsZXIgPGJlcm5oYXJkLm1pbGxlckBzdHJlYW11bmxpbWl0ZWQuY29tPgoKMjAxMy0wOC0yOCAxMzoyNjo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjEuNCA9PT0KCjIwMTMtMDgtMjggMTM6MDc6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWdsZ2xlc3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0LmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4xLjQKCjIwMTMtMDgtMjggMTM6MDc6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEzLTA4LTI4IDEyOjMzOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBwby9wdF9CUi5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTMtMDgtMjggMTE6MTM6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL21wZWd0cy5oOgoJICBtcGVndHM6IG1hcmsgYXMgdW5zdGFibGUgQVBJCgoyMDEzLTA4LTI3IDE3OjA1OjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBwb3NzaWJsZSByZWFkIGJleW9uZCBlbmQgb2YgYnVmZmVyIHdoZW4gcmVzeW5jaW5nCgoyMDEzLTA4LTI3IDExOjI3OjA0ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBvbmx5IHVwZGF0ZSBzcmMgQ0FQUyB3aGVuIGl0J3MgbmVjZXNzYXJ5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU0NTIKCjIwMTMtMDgtMjAgMTE6NTk6MzQgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRvIG5vdCBzZXQgQ0FQUyBhbmQgcGFzc3Rocm91Z2ggbW9kZSBpZiBTUFMvUFBTIGhhdmUgbm90IGJlZW4gcGFyc2VkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU0NTIKCjIwMTMtMDgtMjYgMTM6NDg6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBEb24ndCBzZXQgQloyX0xJQlMgaWYgYnoyIGlzIG5vdCBmb3VuZAoKMjAxMy0wOC0yNiAxMDoyMjowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L3dlYnAvZ3N0d2VicGRlYy5jOgoJICB3ZWJwZGVjOiBTb21lIGNsZWFudXAgYW5kIG1pbm9yIGZpeGVzCgoyMDEzLTA4LTI0IDAwOjQ2OjM4ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3dlYnAvTWFrZWZpbGUuYW06CgkqIGV4dC93ZWJwL2dzdHdlYnAuYzoKCSogZXh0L3dlYnAvZ3N0d2VicGRlYy5jOgoJKiBleHQvd2VicC9nc3R3ZWJwZGVjLmg6CgkgIHdlYnA6IEFkZCBXZWJQIGltYWdlIGRlY29kZXIgcGx1Z2luCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYyODUKCjIwMTItMDktMDEgMjA6NDY6NDMgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5oOgoJICBmYWNlZGV0ZWN0OiBuZXcgcHJvcGVydHkgdG8gY29udHJvbCBidXMgbWVzc2FnZXMgdXBkYXRlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1NjIyCgoyMDEzLTA4LTIzIDEyOjAxOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0c2VnbWVudGF0aW9uLmNwcDoKCSAgb3BlbmN2OiBGaXggaW5kZW50aW9uCgoyMDEzLTA4LTIzIDEyOjAxOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvb3BlbmN2L2dzdGRpc3Bhcml0eS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0ZGlzcGFyaXR5Lmg6CgkgIG9wZW5jdjogUG9ydCB0byBub24tZGVwcmVjYXRlZCBHTXV0ZXgvR0NvbmQgQVBJCgoyMDEzLTA4LTIzIDExOjM4OjA0ICswMjAwICBNaWd1ZWwgQ2FzYXMtU2FuY2hleiA8bWlndWVsZWNhc2Fzc2FuY2hlekBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdGRpc3Bhcml0eS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0ZGlzcGFyaXR5Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkgIG9wZW5jdjogQWRkIGRpc3Bhcml0eS1tYXAgY2FsY3VsYXRpb24gZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0NzYwCgoyMDEzLTA4LTIyIDE3OjMyOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSAgZGlyZWN0c291bmRzcmM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTMtMDgtMjIgMTY6MDc6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVcGRhdGUgb3BlbmN2IGRlcGVuZGVuY3ksIDIuNC41IHdvcmtzIHRvby4KCjIwMTMtMDgtMjIgMTM6NDU6NTkgKzAyMDAgIEtpc2hvcmUgQXJlcGFsbGkgPGtpc2hvcmUuYXJlcGFsbGlAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5oOgoJICBkaXJlY3Rzb3VuZHNyYzogQWRkICdkZXZpY2UtbmFtZScgcHJvcGVydHkgZm9yIHNlbGVjdGluZyBhIGF1ZGlvIGRldmljZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2NTc0CgoyMDEzLTA4LTIyIDE0OjU2OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IGJ6MiBjb25maWd1cmUgY2hlY2sgZm9yIFdpbmRvd3MKCSAgRHVlIHRvIGZ1bmN0aW9uIGRlY29yYXRpb25zIG9uIFdpbmRvd3MgQUNfQ0hFQ0tfTElCIGNhbid0IGJlIHVzZWQgdG8gY2hlY2sgZm9yIGJ6Mi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTQ2NTkyNAoKMjAxMy0wOC0yMSAxNDo0NDozOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBSZWZ1c2UgbmVnYXRpdmUgcmF0ZXMgd2hpY2ggd2UgZG9uJ3Qgc3VwcG9ydCB5ZXQKCSAgQW5kIHJlbW92ZSBhIGNoZWNrIHdoaWNoIHdhcyBkb25lIGJlZm9yZQoKMjAxMy0wMy0xMCAxNzowMjoxOCArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkgIG1wZWd0c211eDogU2V0IHRoZSBwcm9ncmFtIG51bWJlciBmcm9tIHByb2ctbWFwCgkgIFRoZSBwcm9nLW1hcCBwcm9wZXJ0eSBvZiBtcGVndHNtdXggb25seSBhbGxvd3MgeW91IHRvIGdyb3VwIHBpZHMgdG9nZXRoZXIgaW4gYSBwcm9ncmFtLgoJICBUaGUgcHJvZ3JhbSBudW1iZXIgc2V0IGluIHRoZSBQQVQvUE1UIHRhYmxlcyBjYW5ub3QgYmUgc2V0IGV4cGxpY2l0bHkuCgkgIFRoaXMgcGF0Y2ggd2lsbCBzZXQgdGhlIHByb2dyYW0gbnVtYmVyIGFjY29yZGluZyB0byB0aGUgcHJvZy1tYXAuCgkgIElmIGEgcHJvZ3JhbSBpZCBvZiAwIGlzIGdpdmVuLCB0aGUgZmlyc3QgdmFjYW50IHByb2dyYW0gbnVtYmVyIHN0YXJ0aW5nIGZyb20gMSB3aWxsIGJlIHVzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTcyMzkKCjIwMTMtMDgtMjEgMDg6NTg6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9jYW11dGlscy5jOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiOiBBZGFwdCBmb3IgbGF0ZXN0IG1wZWd0cyBsaWIgY2hhbmdlcwoKMjAxMy0wOC0yMSAwODo1ODoyMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJICBtcGVndHNiYXNlOiBBZGFwdCBmb3IgbGF0ZXN0IG1wZWd0cyBsaWIgY2hhbmdlcwoKMjAxMy0wOC0yMSAwODo0MDoxNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBtcGVndHM6IEFCSS9BUEkgYnJlYWs6IFVzZSBHUHRyQXJyYXkgaW5zdGVhZCBvZiBHQXJyYXkKCSAgV2hpbGUgaXQgd2FzIGEgZ3JlYXQgaWRlYSwgdmFyaW91cyBnLWkgYmFzZWQgYmluZGluZ3MgZG9uJ3Qgc3VwcG9ydAoJICBHQXJyYXkgd2l0aCBlbnRyaWVzIGdyZWF0ZXIgdGhhbiBzaXplb2YoZ3BvaW50ZXIpIDooCgkgIFNvIGxldCdzIGp1c3QgbWFrZSBldmVyeWJvZHkgaGFwcHkgYnkganVzdCB1c2luZyBHUHRyQXJyYXkuCgkgIEFuZCBzaW5jZSB3ZSdyZSBicmVha2luZyB0aGUgQVBJLCBhbHNvIHJlbmFtZSB0aGUgdmFyaW91cyBkZXNjcmlwdG9yIGZpZWxkcwoJICB0byBubyBsb25nZXIgaGF2ZSB0aGUgZGVzY3JpcHRvcl8gcHJlZml4LgoJICBJdCBkb2VzIGNvc3QgYSBiaXQgbW9yZSBpbiB0ZXJtcyBvZiBtZW1vcnkvY3B1IHVzYWdlLCBidXQgbWFrZXMgaXQgdXNhYmxlCgkgIGZyb20gYmluZGluZ3MuCgoyMDEzLTA4LTE5IDE1OjMxOjUxIC0wNDAwICBSb2JlcnQgS3Jha29yYSA8cm9iLmtyYWtvcmFAbWVzc2FnZW5ldHN5c3RlbXMuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSAgdXZjaDI2NHNyYzogZG9uJ3QgZXJyb3Igb3V0IG9uIGluY29tcGxldGUgYXV4IGRhdGEgc2VnbWVudAoJICBJdCBhcHBlYXJzIHRoYXQgdGhlIExvZ2l0ZWNoIEM5MjAgc29tZXRpbWVzIGRyb3BzIHRoZSBuZXh0CgkgIHRvIGxhc3Qgc2VnbWVudCBvZiBSQVcgYXV4IGRhdGEgY29udGFpbmVkIHdpdGhpbiB0aGUgTUpQRUcKCSAgY29udGFpbmVyLiAgSDI2NCBkYXRhIHRoYXQgaXMgbXVsdGlwbGV4ZWQgd2l0aCBpbiB0aGUgc2FtZQoJICBjb250YWluZXIgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGFmZmVjdGVkLiAgVGhpcyBhcHBlYXJzIHRvCgkgIGJlIGEgYnVnIGluIHRoZSBMb2dpdGVjaCBDOTIwIGZpcm13YXJlIGFuZCB1dmNoMjY0c3JjIHNob3VsZAoJICBub3QgZXJyb3Igb3V0IGluIHRoaXMgY2FzZS4KCSAgU29tZXRpbWVzIGl0IGNhbiB0YWtlIDI0IGhvdXJzIG9mIGNvbnRpbnVvdXMgc3RyZWFtaW5nIGZvcgoJICB0aGUgcHJvYmxlbSB0byBvY2N1ciwgYnV0IHNvbWV0aW1lcyBpdCB0YWtlcyBvbmx5IGEgY291cGxlCgkgIG9mIGhvdXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2Mjc2CgoyMDEzLTA4LTIwIDE2OjAxOjQ3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pdnRjL2dzdGl2dGMuYzoKCSAgaXZ0YzogVXNlIGlucHV0IGZyYW1lcmF0ZSB3aGVuIHBvc3NpYmxlCgkgIGlmIGlucHV0IGlzIDMwMDAwLzEwMDEgLi4uIHVzZSAyNDAwMC8xMDAxIGFzIHRoZSBvdXRwdXQgZml4YXRlZCBmcmFtZXJhdGUKCjIwMTMtMDgtMTUgMTE6NDU6MzQgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDNtdXg6IGhhbmRsZSBwdWJsaXNoZXIsIGludGVycHJldGVkLWJ5IGFuZCBtdXNpY2FsLWtleSB0YWdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU5OTkKCjIwMTMtMDgtMjAgMTM6Mjk6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IEZpeCBzd2l0Y2ggc3RhdGVtZW50IGluIGxldmVsIGRldGVjdGlvbiBjb2RlCgkgIFByb3Blcmx5IGZhbGwgdGhyb3VnaCB0aGUgY2FzZXMgd2l0aG91dCByZS1hc3NpZ25pbmcgdGhlIGxldmVsIHRvCgkgIHRoZSB3cm9uZyB2YWx1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjM2OQoKMjAxMy0wOC0xOSAxNzoyMzoyOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBGb3J3YXJkIHNlZ21lbnQgZXZlbnQgYWZ0ZXIgY2FwcwoJICBTdG9yZSBpdCB1bnRpbCB3ZSBrbm93IHdoYXQgb3VyIGNhcHMgYXJlLgoKMjAxMy0wOC0yMCAwMDoyNjowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FpZmZwYXJzZS5jOgoJICB0ZXN0OiBmaXggY29tcGlsZXIgd2FybmluZyBpbiBhaWZmcGFyc2UgdGVzdCBvbiAzMi1iaXQgeDg2CgoyMDEzLTA4LTE5IDA5OjI1OjIwICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogZml4IGNvcHlyaWdodAoKMjAxMy0wOC0xNyAwMDoyMjo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FpZmZwYXJzZS5jOgoJICB0ZXN0czogZml4IHNvbWUgbGVha3MgaW4gYWlmZnBhcnNlIHVuaXQgdGVzdAoKMjAxMy0wOC0xNyAwMDowOToxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FpZmZwYXJzZS5jOgoJICB0ZXN0czogZml4IHN0YXRlIGNoYW5nZSBvcmRlciBpbiBhaWZmcGFyc2UgdGVzdAoJICBEbyBzdGF0ZSBjaGFuZ2VzIGZyb20gc2luayB0byBzcmMuIEZpeGVzIHJhY2UgY29uZGl0aW9uIGluCgkgIHB1bGwgbW9kZSB0ZXN0IHdoZXJlIHRoZSBzb3VyY2Ugd2lsbCBzdGFydCB1cCBhbmQgcHVzaCBidWZmZXJzCgkgIHRvIHF1ZXVlL2lkZW50aXR5IG9yIGFpZmZwYXJzZSBiZWZvcmUgdGhlIG1haW4gdGhyZWFkIGhhcwoJICBtYW5hZ2VkIHRvIHNldCB0aGVtIHRvIHBsYXlpbmcgeWV0LgoKMjAxMy0wOC0xMiAxODozMzozOSArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9haWZmcGFyc2UuYzoKCSogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ZpbGVzL3MxNmJlLWlkM3YyLmFpZmY6CgkgIGFpZmZwYXJzZTogYWRkIHRlc3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU5OTMKCjIwMTMtMDgtMTcgMDA6MjM6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBkb24ndCBsZWFrIGFkYXB0ZXIKCjIwMTMtMDgtMTUgMTM6NTg6NDggKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBzL25ld3NlZ21lbnQvc2VnbWVudC8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTk5MwoKMjAxMy0wOC0xMyAxODo0Mjo1NSArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IGZpeCBwdXNoIG1vZGUKCSAgRml4IHB1c2ggbW9kZSBieSBoYW5kbGluZyBzaW5rIGV2ZW50cyAoQ0FQUywgU0VHTUVOVCkgcHJvcGVybHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU5OTMKCjIwMTMtMDgtMTYgMTU6NDE6NDggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IFJlcGFyc2UgdGhlIGNvbmZpZyBpZiB0aGUgc2l6ZSBjaGFuZ2VkCgkgIEFsc28gb25seSByZS1pc3N1ZSB0aGUgY2FwcyB1cGRhdGUgaWYgdGhlIHBhcnQgb2YgdGhlIGNvbmZpZyB0aGF0CgkgIGNoYW5nZWQgaXMgb25lIHdlIGNhcmUgYWJvdXQuCgoyMDEzLTA4LTE2IDE5OjQ4OjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBmaXggYnVmZmVycyBiZWluZyBkcm9wcGVkIGR1ZSB0byBzaGFkb3dlZCB2YXJpYWJsZQoJICBTcG90dGVkIGJ5IGdzdGJsdWJAZ21haWwuY29tLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2MDkxCgoyMDEzLTA4LTA4IDExOjE5OjAwICswMTAwICBDaHJpcyBCYXNzIDxmbG9vYmxlZmxhbUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBvZmZzZXQgc2VnbWVudCBudW1iZXJzIGJ5IHN0YXJ0TnVtYmVyCgkgIEZvciBTZWdtZW50VGVtcGxhdGUgZWxlbWVudHMgY29udGFpbmluZyBhIHN0YXJ0TnVtYmVyIGF0dHJpYnV0ZSwgdGhlCgkgIGBudW1iZXInIG1lbWJlciBvZiBHc3RNZWRpYVNlZ21lbnRzIHNob3VsZCBiZSBvZmZzZXQgYnkgdGhlIHZhbHVlIG9mCgkgIHN0YXJ0TnVtYmVyOyBob3dldmVyLCB0aGlzIGlzIG5vdCBjdXJyZW50bHkgdGhlIGNhc2UuIEFzIGEgcmVzdWx0LCB0aGUKCSAgZmlyc3QgVVJJKHMpIHJlcXVlc3RlZCBieSB0aGUgZG93bmxvYWQgbG9vcCB3aWxsIGJlIHdyb25nLgoJICBUaGlzIGNvbW1pdCBlbnN1cmVzIHRoYXQgc2VnbWVudCBudW1iZXJzIHdpbGwgYmUgb2Zmc2V0IGJ5IHN0YXJ0TnVtYmVyCgkgIHdoZW4gb25lIGlzIHByZXNlbnQgaW4gYSBTZWdtZW50VGVtcGxhdGUgZWxlbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTY2MQoKMjAxMy0wOC0wOCAxNToxOToxNSArMDEwMCAgQ2hyaXMgQmFzcyA8Zmxvb2JsZWZsYW1AZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogcmVtb3ZlIGluY29ycmVjdCB0aW1lc3RhbXAgc2NhbGluZy4KCSAgV2hlbiB1c2luZyBhIFNlZ21lbnRUZW1wbGF0ZSBlbGVtZW50LCB0aGUgdGltZXN0YW1wcyBvZiB0aGUgYnVmZmVycwoJICBvdXRwdXQgYnkgZGFzaGRlbXV4IGFyZSBpbmNvcnJlY3QsIGNhdXNpbmcgcHJvYmxlbXMgZG93bnN0cmVhbS4KCSAgVGhlIHJlYXNvbiBpcyB0aGF0IEdzdE1lZGlhU2VnbWVudCBzdGFydCB0aW1lcyBhcmUgY2FsY3VsYXRlZCAoaW4KCSAgZ3N0X21wZHBhcnNlcl9nZXRfY2h1bmtfYnlfaW5kZXgpIGJ5IG11bHRpcGx5aW5nIHNlZ21lbnQgaW5kZXggYnkKCSAgc2VnbWVudCBkdXJhdGlvbiBhbmQgdGhlbiBzY2FsaW5nIHRoZSByZXN1bHQgYWNjb3JkaW5nIHRoZSBgdGltZWJhc2UnCgkgIGF0dHJpYnV0ZSBmcm9tIHRoZSBNUEQuIEhvd2V2ZXIsIHRoZSBzZWdtZW50IGR1cmF0aW9uIGlzIGFscmVhZHkgYQoJICBHc3RDbG9ja1RpbWUgKGkuZS4sIGl0IGhhcyBhbHJlYWR5IGJlZW4gc2NhbGVkIGFjY29yZGluZyB0byB0aGUgdGltZWJhc2UKCSAgZnJvbSB0aGUgTVBEIGFuZCBjb252ZXJ0ZWQgdG8gYSBuYW5vc2Vjb25kIHZhbHVlKSwgc28gbXVsdGlwbHlpbmcgaXQgYnkKCSAgdGhlIHNlZ21lbnQgaW5kZXggd2lsbCBnaXZlIHRoZSBjb3JyZWN0IHRpbWVzdGFtcCB3aXRob3V0IHRoZSBuZWVkIGZvcgoJICBhbnkgZnVydGhlciBzY2FsaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1Njc5CgoyMDEzLTA4LTE1IDIwOjEyOjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvc3RhdHMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3N0YXRzL21wMm9nZy5jOgoJICBleGFtcGxlczogcmVtb3ZlIGFub3RoZXIgb2Jzb2xldGUgZXhhbXBsZQoKMjAxMy0wOC0xNSAxNTo0Njo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZGVjLmM6CgkqIGV4dC9kYWFsYS9nc3RkYWFsYWVuYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5oOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkgIGV4dDogVXNlIG5ldyBmbHVzaCB2ZnVuYyBvZiB2aWRlbyBjb2RlYyBiYXNlIGNsYXNzZXMgYW5kIHJlbW92ZSByZXNldCBpbXBsZW1lbnRhdGlvbnMKCjIwMTMtMDgtMTQgMTk6MTI6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYXBzZmlsdGVyL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYXBzZmlsdGVyL2NhcHNmaWx0ZXIxLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dzdHBsYXkvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ3N0cGxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ3N0cGxheS9wbGF5ZXIuYzoKCSogdGVzdHMvZXhhbXBsZXMvaW5kZXhpbmcvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvaW5kZXhpbmcvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2luZGV4aW5nL2luZGV4bXBlZy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvUkVBRE1FOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9kZW1vLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL3Bsb3QuYzoKCSAgZXhhbXBsZXM6IHJlbW92ZSBwcmVoaXN0b3JpYyBleGFtcGxlcwoKMjAxMy0wOC0xNCAxODoxNzo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmg6CgkgIGludGVyYXVkaW9zcmM6IG1ha2Ugc2lsZW5jZSBtZW1vcnkgYWN0dWFsbHkgY29udGFpbiBzaWxlbmNlCgkgIGluc3RlYWQgb2YgcmFuZG9tIGRhdGEuIFJlcG9ydGVkIGJ5IE1hcmNvIE1pY2hlbGV0dGkgb24KCSAgZ3N0cmVhbWVyLWRldmVsLgoKMjAxMy0wOC0xNCAxMzoyNzowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmJiYXNlYmluOiBmaXggY3JpdGljYWxzIHdoZW4gdHJ5aW5nIHRvIGNhc3QgYSBHc3RQYWQgdG8gYSBHc3RFbGVtZW50CgkgIG1lc3NhZ2UtPnNyYyBtaWdodCBiZSBhIEdzdFBhZC4gT2JzZXJ2ZWQgZHVyaW5nIGdzdC1pbnNwZWN0LTEuMCAtYQoKMjAxMy0wOC0xNCAxMzo1OToyNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiAuZ2l0aWdub3JlOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzLy5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IFVwZGF0ZSBmb3IgbmV3IGZpbGVzIHRvIGlnbm9yZQoKMjAxMy0wOC0xNCAxMzo0MTozNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmg6CgkgIHBlc3BhcnNlOiBSZWZhY3Rvcnkgc2Vjb25kYXJ5IFBFUyBleHRlbnNpb24gaGFuZGxpbmcKCSAgU29tZSBzdHJlYW1zIGhhZCB3cm9uZyB2YWx1ZXMgZm9yIHRoZSBzdHJlYW1faWRfZXh0ZW5zaW9uLCBtYWtlIHN1cmUKCSAgd2Ugb25seSByZW1lbWJlciB0aGUgdmFsaWQgb25lcy4KCSAgRm9yIHN0cmVhbXMgd2l0aCBQRVNfZXh0ZW5zaW9uX2ZpZWxkX2xlbmd0aCA9PSAwLCBhc3N1bWUgdGhlcmUncyBub3RoaW5nCgkgIGVsc2UuCgkgIEZvciBzdHJlYW1zIHRoYXQgc3RhdGUgdGhleSBoYXZlIGEgVFJFRiBleHRlbnNpb24gYnV0IGRvbid0IGhhdmUgZW5vdWdoCgkgIGRhdGEgdG8gc3RvcmUgaXQsIGp1c3QgYXNzdW1lIGl0IHdhcyBwcm9kdWNlZCBieSBhIG5vbi1jb21wbGlhbnQgbXV4ZXIKCSAgYW5kIHNraXAgdGhlIHJlbWFpbmluZyBkYXRhLgoJICBPbmx5IHN0b3JlIHJlbWFpbmluZyBkYXRhIGluIHN0cmVhbV9pZF9leHRlbnNpb25fZGF0YSBpbnN0ZWFkIG9mIHN0b3JpbmcKCSAgZGF0YSB3ZSBhbHJlYWR5IHBhcnNlLgoKMjAxMy0wOC0xNCAxMDo0NzozMSArMDIwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVybWVyYWxpQGdtYWlsLmNvbT4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogUmVtb3ZlIHVubmVlZGVkIHVucmVmIGFuZCBvbmx5IHNldCBwYWQgY2FwcyBpZiB3ZSBoYXZlIGNhcHMKCSAgRml4ZXMgY3Jhc2hlcyBkdWUgdG8gaW52YWxpZCB1bnJlZnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU5NTcKCjIwMTMtMDgtMTQgMTA6Mzk6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkgIHBlc3BhcnNlOiBGaXggcGVzIGV4dGVuc2lvbiBkYXRhIGxlbmd0aCBjaGVjawoJICBBbmQgcmVtb3ZlIGxlbmd0aC9kYXRhIHVwZGF0ZXMgKHdlIHVzZSB0aGUgaGVhZGVyIHNpemUganVzdCBiZWxvdyB0bwoJICBwcm9wZXJseSBzZXQgdGhlbSkuCgkgIEJhc2VkIG9uIGZlZWRiYWNrIGZyb20gU3RhcyBTZXJnZWV2IDxzdHNwQGxpc3QucnU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTczNDMKCjIwMTMtMDgtMTQgMTA6MzM6MTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBwZXNwYXJzZTogUmVtb3ZlIHVudXNlZCBhcmd1bWVudAoJICBXZSBhbHdheXMgcHJvdmlkZWQgMCBhcyB0aGUgb2Zmc2V0IGFuZCBuZXZlciB1c2VkIHRoZSByZXR1cm5lZCB2YWx1ZS4KCSAgQmFzZWQgb24gZmVlZGJhY2sgZnJvbSBTdGFzIFNlcmdlZXYgPHN0c3BAbGlzdC5ydT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzM0MwoKMjAxMy0wOC0xMyAxNzo0NzoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogbXBlZ3ZpZGVvcGFyc2U6IHR1cm4gaW50ZXJuYWwgY29uc2lzdGVuY3kgY2hlY2sgaW50byBhIGdfYXNzZXJ0KCkKCSAgV2Ugb25seSBjaGVjayBpbnB1dCBmcm9tIHRoZSBBUEkgdXNlciB3aXRoIGdfcmV0dXJuXypfaWZfZmFpbCgpLgoJICBJbnRlcm5hbCBzYW5pdHkgY2hlY2tzIHNob3VsZCB1c2UgZ19hc3NlcnQoKSBpbnN0ZWFkLCB3aGljaCBpcwoJICBkaXNhYmxlZCBieSBkZWZhdWx0IGZvciByZWxlYXNlcy4KCjIwMTMtMDgtMTMgMTc6NDU6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1wZWd2aWRlb3BhcnNlcjogbWlub3IgZG9jIGZpeGVzCgoyMDEzLTA4LTEzIDEyOjQxOjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiB1c2UgZ3N0X2RhdGFfcXVldWVfcHVzaF9mb3JjZSBmb3IgYWRkaW5nIGV2ZW50cyB0byBxdWV1ZQoJICBUaGlzIHByZXZlbnRzIGxvY2tpbmcgb24gc3RhcnR1cCB3aGVuIGEgc3RyZWFtIG9ubHkgaGFzIGEgc2luZ2xlIGJ1ZmZlcgoJICBmb3Igb25lIG9mIHRoZSBzdHJlYW1zIGFuZCBtc3NkZW11eCBkZWNpZGVzIHRvIHB1c2ggYW4gRU9TIGV2ZW50IHJpZ2h0CgkgIGFmdGVyIGl0LgoKMjAxMy0wOC0wOCAxMzozMjowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogdXNlIHB1c2hfZm9yY2Ugd2hlbiBhZGRpbmcgZXZlbnRzIHRvIHRoZSBkYXRhcXVldWUKCSAgVGhpcyBwcmV2ZW50cyBkZWFkbG9ja3Mgb24gc3RhcnR1cCBvbiBmaWxlcyB0aGF0IGhhdmUgb25seSBhIHZlcnkKCSAgbGFyZ2UgYnVmZmVyIGZvciBhIHN0cmVhbSBhbmQgdGhlIHF1ZXVlIGlzIGZpbGxlZCBhbmQgd2lsbCBsb2NrIG9uCgkgIHRoZSBlb3MgZXZlbnQgdGhhdCBpcyBwdXNoZWQgYWZ0ZXIgdGhlIGJ1ZmZlci4gQXMgbm8gYnVmZmVycyBoYXZlIHlldAoJICBiZWVuIHB1c2hlZCB0byBvdGhlciBzdHJlYW1zLCB0aGUgcGlwZWxpbmUgbG9ja3Mgb24gcHJlcm9sbAoKMjAxMy0wNy0zMCAxNToxNzoyMyArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IHN1cHBvcnQgZmllbGQgZW5jb2RpbmcgZm9yIGludGVybGFjZWQgdmlkZW8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTE0NAoKMjAxMy0wOC0xMiAwMTowMjo1MSAtMDQwMCAgQWxleGFuZHJlIFJvc3RvdnRzZXYgPHRldHJvbWlub0BnZW50b28ub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBuZW9uaHR0cHNyYzogYWxsb3cgYnVpbGRpbmcgd2l0aCBuZW9uLTAuMzAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTgxMgoKMjAxMy0wOC0xMiAxMjoyNzozMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwOiBMZXQgcGFja2V0cyB0aHJvdWdoIHdpdGhvdXQgdG91Y2hpbmcgdGhlbSBpZiBubyBjcnlwdG8gb3IgYXV0aCBpcyBzZXQKCjIwMTMtMDgtMTIgMTI6Mjc6MTYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IFJlZmFjdG9yIGNvZGUgYSBiaXQKCSAgU2ltcGxpZnkgdGhlIGVycm9yIGhhbmRsaW5nIGNhc2UgYW5kIGdldCB0aGUgcGFja2V0IHB1c2ggb3V0IG9mIHRoZSBpZigpCgoyMDEzLTA4LTEyIDExOjU2OjI3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBEb24ndCBlcnJvciBvbiBpbnZhbGlkIHBhY2tldCwganVzdCBkcm9wIGl0CgoyMDEzLTA4LTA3IDE1OjAxOjMzICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBGaXggdGhlIFNlcXVlbmNlTGF5ZXIgaGFuZGxpbmcgZm9yIGFkdmFuY2VkIHByb2ZpbGUuCgkgIFRoZSBTZXF1ZW5jZSBIZWFkZXIgRGF0YSBTdHJ1Y3R1cmUgU1RSVUNUX0MgZm9yIEFkdmFuY2VkIFByb2ZpbGUKCSAgaGFzIG9ubHkgYSBvbmUgdmFsaWQgZmllbGQgd2hpY2ggaXMgdGhlIHByb2ZpbGUgaW5kaWNhdG9yLiBEb24ndAoJICB1c2UgdGhlIHJlc2VydmVkIGZpZWxkcyBmb3IgZnBzIHVwZGF0ZSBsaWtlIFNpbXBsZS9NYWluIHByb2ZpbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU2NjcKCjIwMTMtMDgtMDcgMTQ6NTI6NDMgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IEZpeCBzZXEgaGRyIFNUUlVDVF9BIGhhbmRsaW5nIGZvciBhZHZhbmNlZCBwcm9maWxlLgoJICBUaGUgU2VxdWVuY2UgSGVhZGVyIERhdGEgU3RydWN0dXJlIFNUUlVDVF9BIGZvciBhZHZhbmNlZCBwcm9maWxlCgkgIG1heSBiZSBlaWdodCBjb25zZWN1dGl2ZSB6ZXJvIGJ5dGVzLkRvbid0IHRyeSB0byBvdmVycmlkZSB0aGUKCSAgd2lkdGggYW5kIGhlaWdodCB2YWx1ZXMgaW4gdGhpcyBjYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NjY3CgoyMDEzLTA4LTA3IDEwOjE0OjIwICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogZml4IFNTTkQgZGF0YSBzaXplCgkgIEFJRkYgY2h1bmsgc2l6ZSBkb2VzIG5vdCBpbmNsdWRlIHRoZSBjaHVuayBoZWFkZXIgc2l6ZSAoOCBieXRlcyksIHNvIHRoZQoJICBTU05EIGRhdGEgc2l6ZSBpcyBlcXVhbCB0byB0aGUgY2h1bmsgc2l6ZSBtaW51cyB0aGUgU1NORCBoZWFkZXIgc2l6ZSAoOAoJICBieXRlcykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU2NzUKCjIwMTMtMDctMTMgMDI6NTA6NTIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBhZGQgc3VwcG9ydCBmb3IgcmVkaXJlY3Rpb25zCgoyMDEzLTA4LTAyIDIwOjM3OjMwICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogc2VuZCBjb2RlYyB0YWcgZm9yIGVhY2ggc3RyZWFtCgoyMDEzLTA4LTEwIDIxOjM0OjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdXZjaDI2NGRlbXV4LmM6CgkgIHRlc3RzOiB1dmNoMjY0ZGVtdXg6IHNlbmQgc3RyZWFtLXN0YXJ0IGV2ZW50cyBhbmQgZml4IGV2ZW50IG9yZGVyCgoyMDEzLTA4LTEwIDIxOjMzOjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSAgdXZjaDI2NG1qcGdkZW11eDogZml4IGV2ZW50IG9yZGVyaW5nCgoyMDEzLTA4LTEwIDIwOjAyOjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBsZXguYzoKCSAgdGVzdHM6IG1wbGV4OiBmaXggJ0dvdCBkYXRhIGZsb3cgYmVmb3JlIHN0cmVhbS1zdGFydCBldmVudCcgZmFpbHVyZQoKMjAxMy0wOC0xMCAxOTo1NDo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6CgkgIHRlc3RzOiBtcGVnMmVuYzogZml4ICdHb3QgZGF0YSBmbG93IGJlZm9yZSBzdHJlYW0tc3RhcnQgZXZlbnQnIGZhaWx1cmUKCjIwMTMtMDgtMTAgMTk6NDQ6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBmaXggQ0FQUyBxdWVyeQoJICBXYXMgY2F1c2luZyBjcml0aWNhbHMgaW4gZGVjb2RlYmluL3BsYXliaW4gYmVjYXVzZSB0aGUgY2FwcwoJICBxdWVyeSBkb25lIHdoZW4gZXhwb3NpbmcgcGFkcyB3b3VsZCByZXR1cm4gQU5ZIGNhcHMuCgoyMDEzLTA4LTEwIDE5OjQzOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogZG9uJ3QgdW5yZWYgTlVMTCBidWZmZXIKCjIwMTMtMDgtMDcgMTk6MDg6MzMgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBzZXQgbWlzc2luZyBsYXlvdXQgZmllbGQgaW4gc3JjcGFkIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTY3NAoKMjAxMy0wOC0wNyAxNzoyODoyOSArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IHNlbmQgc3RhcnQgc3RyZWFtIGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU2NzQKCjIwMTMtMDgtMDYgMTY6NTM6MzcgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBmaXggYnVmZmVycyBpbml0aWFsaXNhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1Njc0CgoyMDEzLTA4LTAyIDE0OjExOjAxICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zekBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1aWxkOiBhZGQgc3ViZGlyLW9iamVjdHMgdG8gQU1fSU5JVF9BVVRPTUFLRQoJICBGaXhlcyB3YXJuaW5ncyB3aXRoIGF1dG9tYWtlIDEuMTQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUzNTAKCjIwMTMtMDgtMDkgMjA6MTI6MDkgKzAxMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGNyZWF0ZS9yZW1vdmUgb3JjIGRpcmVjdG9yeSBhdCBwcm9wZXIgdGltZQoJICBCZWZvcmUgYXV0b21ha2UgY3JlYXRlcyAuZGVwcyBkaXJlY3RvcmllcywgYW5kIGR1cmluZyBkaXN0Y2xlYW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUzNTAKCjIwMTMtMDgtMDkgMjA6MTA6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICB0ZXN0czogZml4IGJ1aWxkIG9mIGJhc2VhdWRpb3Zpc3VhbGl6ZXIgdGVzdCB3aXRoIHN1YmRpci1vYmplY3RzIG9wdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MzUwCgoyMDEzLTA4LTA3IDA5OjA0OjM5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBVc2Ugc2xpY2UgdHlwZSB0byBkZXRlcm1pbmUgaWYgZnJhbWUgaXMga2V5ZnJhbWUKCSAgVGhpcyBpcyB0aGUgc2FtZSBiZWhhdmlvdXIgYXMgcHJlLWJhc2VwYXJzZS1yZWZhY3RvcmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NTk4CgoyMDEzLTA4LTAzIDE0OjIwOjQ3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRG8gbm90IHRyaWdnZXIgY2FwcyB1cGRhdGUgaWYgd2Ugb25seSBoYXZlIFBQUyB1cGRhdGVzCgkgIFVwZGF0aW5nIGNhcHMgcmVzdWx0cyBpbiBkb3duc3RyZWFtIGVsZW1lbnRzIHBvdGVudGlhbGx5IHJlY29uZmlndXJpbmcgdGhlbXNlbHZlcwoJICAoc3VjaCBhcyBkZWNvZGVycykuIElmIHdlIGRvIHRoaXMgaW4gdGhlIG1pZGRsZSBvZiBrZXlmcmFtZXMsIHdlIHdvdWxkIHJlc3VsdAoJICBpbiB0aG9zZSBlbGVtZW50cyBiZWluZyByZWNvbmZpZ3VyZWQgYW5kIGhhbmRsaW5nIGdhcmJhZ2UgdW50aWwgdGhlIG5leHQga2V5ZnJhbWUuCgkgIEluc3RlYWQgb2YgdGhpcyBvbmx5IHNlbmQgKHBvdGVudGlhbGx5KSBuZXcgY29kZWNfZGF0YSB3aGVuIHdlIGhhdmUgKmJvdGgqIFNQUyBhbmQKCSAgUFBTLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MzMzCgoyMDEzLTA3LTMxIDExOjU2OjM5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pdnRjL2dzdGl2dGMuYzoKCSAgaXZ0YzogcXVpZXQgRklYTUUgd2hlbiBpdCdzIG5vdCByZWxldmFudAoKMjAxMy0wNy0zMSAxMTo1NDowNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXZ0Yy9nc3RpdnRjLmM6CgkgIGl2dGM6IGltcGxlbWVudCBuZXcgZWRnZS1kaXJlY3RlZCB1cHNhbXBsaW5nCgoyMDEzLTA4LTAzIDE4OjA3OjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiByZW1vdmUgdXNlIG9mIF9YT1BFTl9TT1VSQ0UKCSAgV2hpY2ggY2F1c2VzIHByb2JsZW1zIHdoZW4gdXNlZCB3aXRoIF9HTlVfU09VUkNFIGFwcGFyZW50bHksIGFuZCBpdAoJICBzZWVtcyBpdCB3YXMgb25seSBzZXQgYmVjYXVzZSBvZiB1c2xlZXAoKSwgd2hpY2ggd2UgY2FuIGp1c3QgcmVwbGFjZQoJICB3aXRoIGdfdXNsZWVwKCkgdW50aWwgd2UgZ2V0IHJpZCBvZiB0aG9zZSBlbnRpcmVseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTIwOAoKMjAxMy0wOC0wMiAxNToxMjoxNyArMDIwMCAgQmVybmhhcmQgTWlsbGVyIDxiZXJuaGFyZC5taWxsZXJAc3RyZWFtdW5saW1pdGVkLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5jOgoJICBibHVlejogcmV0dXJuIEdTVF9GTE9XX0VPUyBpbiBhdmR0cHNyYyBjcmVhdGUgd2hlbiBzdHJlYW0gaXMgRU9GCgkgIFNpZ25lZC1vZmYtYnk6IEJlcm5oYXJkIE1pbGxlciA8YmVybmhhcmQubWlsbGVyQHN0cmVhbXVubGltaXRlZC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUzNDkKCjIwMTMtMDgtMDEgMTE6MDE6MDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogTG9vayBoYXJkZXIgZm9yIG5leHQgc3luYyBwb3NpdGlvbgoJICBJZiBldmVyIHdlIGxvc2Ugc3luYywgd2Ugd2VyZSBqdXN0IGNoZWNraW5nIGZvciB0aGUgbmV4dCAweDQ3IG1hcmtlciAuLi4KCSAgd2hpY2ggbWlnaHQgYWN0dWFsbHkgaGFwcGVuIHdpdGhpbiBhIG1wZWctdHMgcGFja2V0LgoJICBJbnN0ZWFkIGNoZWNrIGZvciAzIHJlcGVhdGluZyAweDQ3IGF0IHRoZSBleHBlY3RlZCBwYWNrZXQgc2l6ZSBpbnRlcnZhbCwKCSAgd2hpY2ggdGhlIHNhbWUgbG9naWMgd2UgdXNlIHdoZW4gd2UgaW5pdGlhbGx5IGxvb2sgZm9yIHRoZSBwYWNrZXQgc2l6ZS4KCjIwMTMtMDgtMDEgMTA6NTg6MjMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRml4IFBDUiBMVVQgdGFibGUKCSAgV2Ugd2VyZSBvbmx5IHJlc2V0dGluZyB0aGUgZmlyc3QgNTEyIHZhbHVlcyBvZiB0aGUgbG9va3VwIHRhYmxlIGluc3RlYWQKCSAgb2YgdGhlIHdob2xlIDgxOTIuCgkgIFRoaXMgcmVzdWx0ZWQgaW4gYW55IFBDUiBQSUQgb3ZlciAweDAyMDAgLi4uIGVuZGluZyB1cCB0YWtpbmcgdGhlIGZpcnN0IFBDUgoJICB0YWJsZSBhcm91bmQgOigKCjIwMTMtMDctMzAgMjI6MDY6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHByb3Blcmx5IGVycm9yIG91dCB3aGVuIG1hbmlmZXN0IGhhcyBubyBzdHJlYW1zCgkgIFBvc3QgYW4gZXJyb3IgbWVzc2FnZSB3aGVuIHRoZSBtYW5pZmVzdCBpcyBwYXJzZWQgYW5kIG5vIHZhbGlkIHN0cmVhbXMKCSAgYXJlIGZvdW5kIGJlIGFjdGl2YXRlZCBhbmQgdXNlZC4KCSAgRml4ZXMgIzcwNDMwOAoKMjAxMy0wNy0zMCAxNjowODoxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0czogcHJpdmF0ZS90ZWxldGV4dCAtPiBhcHBsaWNhdGlvbi94LXRlbGV0ZXh0CgoyMDEzLTA3LTI5IDIxOjI1OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogdXBkYXRlCgoyMDEzLTA3LTI5IDIxOjI0OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogLmdpdGlnbm9yZToKCSAgdGVzdHM6IGlnbm9yZSBuZXcgZXhhbXBsZSBiaW5hcmllcwoKMjAxMy0wNy0yOSAyMToyMzo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHBvL0xJTkdVQVM6CgkqIHBvL2VsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vc3YucG86CgkqIHBvL3ZpLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMy0wNy0yOSAxNDo0ODowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjEuMyA9PT0KCjIwMTMtMDctMjkgMTM6NTI6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVnbGdsZXNzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4xLjMKCjIwMTMtMDctMjkgMTM6NTI6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTMtMDctMjkgMTI6MTc6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkgIG1pZGk6IEZpeCBoYW5kbGluZyBvZiB0aGUgU0VHTUVOVCBxdWVyeQoKMjAxMy0wNy0yOSAxMjoxNDowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBnc3Q6IERvbid0IHN3YXAgc3RhcnQvc3RvcCBmb3IgbmVnYXRpdmUgcmF0ZXMgaW4gdGhlIFNFR01FTlQgcXVlcnkKCjIwMTMtMDctMjkgMTE6MDI6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogSW1wbGVtZW50IFNFR01FTlQgcXVlcnkKCjIwMTMtMDctMjkgMTE6MDE6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEltcGxlbWVudCBTRUdNRU5UIHF1ZXJ5CgoyMDEzLTA3LTI5IDExOjAwOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBJbXBsZW1lbnQgU0VHTUVOVCBxdWVyeQoKMjAxMy0wNy0yOSAwOTozNTowOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2Rlc2MuYzoKCSogZXh0L3Jlc2luZHZkL2dzdHBlc2ZpbHRlci5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC9hdWRpb2Z4YmFkL2dzdGF1ZGlvY2hhbm5lbG1peC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R3YXRjaGRvZy5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSogZ3N0L2l2dGMvZ3N0Y29tYmRldGVjdC5jOgoJKiBnc3QvaXZ0Yy9nc3RpdnRjLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3RzY2VuZWNoYW5nZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZGlmZi5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9kdmIvY2FtYXBwbGljYXRpb25pbmZvLmM6CgkqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvbWVtb3J5LmM6CgkgIGFsbDogRml4IGZvciBHU1RfRElTQUJMRV9HU1RfREVCVUcKCSAgV2hlcmUgYXBwbGljYWJsZSwgcmVtb3ZlIG1ldGhvZHMgdGhhdCBkb24ndCBkbyBhbnl0aGluZyBkaWZmZXJlbnQgdGhhbgoJICB0aGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbi4KCjIwMTMtMDctMjkgMDg6NDY6MzkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGRvY3Mvc3BlYzogUmVhbGx5IHJlbW92ZSBhbGwgbWVudGlvbnMgb2YgQ0VMVCBwbHVnaW4KCjIwMTMtMDctMjkgMDg6Mjk6MzQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBTaG93IE5BTFUgc3RyaW5nIHR5cGUgaW4gZGVidWcgbWVzc2FnZXMKCSAgSWYgeW91IGtub3cgdGhlIE5BTFUgdHlwZSBieSBoZWFydCBJIHRpcCBteSBoYXQgdG8geW91LCBmb3IgdGhlIHJlc3Qgb2YKCSAgdXMgbWVyZSBtb3J0YWxzIHRoaXMgaXMgYSBiaXQgbW9yZSBoZWxwZnVsCgoyMDEzLTA3LTI5IDA4OjI4OjE3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFJlbW92ZSB1bnVzZWQgbWFjcm9zCgoyMDEzLTA3LTI5IDA4OjIzOjMwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBZGQgbW9yZSBBQzMgZGV0ZWN0aW9uIGNhc2VzCgkgIEFUU0MgYWMzIHN0cmVhbXMgYXJlIGFsd2F5cyBndWFyYW50ZWVkIHRvIGJlIEFDMyBpZiBFQUMzIGRlc2NyaXB0b3IKCSAgaXMgbm90IHByZXNlbnQKCSAgSWYgc3RyZWFtIHJlZ2lzdHJhdGlvbiBpZCBpcyAnQUMtMycgdGhlbiBpdCdzIGFsc28gZ3VhcmFudGVlZCB0byBiZSBBQzMuCgkgIEZpbmFsbHkgaWYgQUMzIGRlc2NyaXB0b3IgaXMgcHJlc2VudCBpdCdzIGd1YXJhbnRlZWQgdG8gYmUgQUMzLgoJICBPbmx5IHNpbGVuY2VzIGEgd2FybmluZywgYnV0IHN0aWxsLgoKMjAxMy0wNy0yOSAwODoyMDoxMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGbHVzaCBvdXQgcGVuZGluZyBkYXRhIG9uIEVPUwoJICBFbnN1cmVzIGRvd25zdHJlYW0gZWxlbWVudHMgKGxpa2UgZGVjb2RlcnMpIHJlYWxseSBnZXQgYWxsIHRoZSBkYXRhCgoyMDEzLTA3LTI5IDA4OjE4OjI0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IE1vcmUgQUZDIGZsYWdzCgkgIEkgc2hvdWxkIGhhdmUgcHV0IHRob3NlIGluIGEgcHJldmlvdXMgY29tbWl0LiBzb3JyeSA6KAoKMjAxMy0wNy0yOSAwODoxNDo1NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSAgbXBlZ2RlZnM6IFNpbXBsaWZ5IFBDUi9QVFMvRFRTID0+IEdTVCBjb252ZXJzaW9uIG1hY3JvcwoJICBXZSBrbm93IHdlIHdpbGwgbm90IG92ZXJmbG93IDY0IGJpdHMsIHRoZXJlZm9yZSBqdXN0IHVzZSBkaXJlY3QKCSAgbXVsdGlwbGljYXRpb24vZGl2aXNpb24gaW5zdGVhZCBvZiB0aGUgc2NhbGUgbWV0aG9kICh0cmltcyB1c2FnZSBmcm9tCgkgIDUwIGluc3RydWN0aW9uIGNhbGxzIHRvIDIvMykuCgoyMDEzLTA3LTI4IDIwOjE0OjU1ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJICBkdmRzcHU6IGFydGlmYWN0cyB3aGVuIHJlbmRlcmluZyBjbGlwcGVkIHNwdQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MDM5CgoyMDEzLTA3LTI4IDE4OjI4OjMwICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogZG8gbm90IHVwZGF0ZSBjYXBzIHdoZW4gYml0cmF0ZSBjaGFuZ2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUwMzUKCjIwMTMtMDctMjggMTQ6MjI6MzggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogUkVRVUlSRU1FTlRTOgoJICBGaXggVVJJcyBpbiBSRVFVSVJFTUVOVFMKCjIwMTMtMDctMjggMTM6MTI6MzIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9jZWx0L01ha2VmaWxlLmFtOgoJKiBleHQvY2VsdC9nc3RjZWx0LmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5oOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuaDoKCSAgY2VsdDogcmVtb3ZlLCByZXBsYWNlZCBieSBvcHVzLgoKMjAxMy0wNy0yOCAxNzoyOTozMiArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkgIHV2Y2gyNjRfbWpwZ2RlbXV4OiBSZW1vdmUgZHVwbGljYXRlZCB2YXJpYWJsZXMKCjIwMTMtMDctMjggMTc6MjU6MTAgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJICB1dmNoMjY0X21qcGdkZW11eDogRG9uJ3QgdW5tYXAvdW5yZWYgYnVmZmVyIGlmIGl0J3MgcHVzaGVkIG91dCBhcy1pcwoKMjAxMy0wNy0yNiAxODozMzowMCArMDAwMCAgUm9iZXJ0IEtyYWtvcmEgPHJvYi5rcmFrb3JhQG1lc3NhZ2VuZXRzeXN0ZW1zLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkgIHV2Y3Y0bDJfbWpwZWdkZW11eDogVW5tYXAgYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk1MTcKCjIwMTMtMDctMjggMTU6NDY6MzMgKzAyMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPHVyYWV1c0BsaW51eHJpc2luZy5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB0byBiZSBjdXJyZW50CgoyMDEzLTA3LTI3IDEyOjE3OjM0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBIRFYgb25seSBoYXMgbXBlZyAxIGF1ZGlvIGxheWVyIDIKCSAgU2V0IHRoYXQgYWNjb3JkaW5nbHkgb24gdGhlIGNhcHMKCjIwMTMtMDctMjYgMTc6MzE6MjIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBWYXJpb3VzIGRlYnVnIGFyZ3VtZW50IGZpeGVzCgkgIG1haW5seSBHX0dVSU5UMTZfRk9STUFUIHRvIC4uLiB0aGUgcmlnaHQgdHlwZSAoZ3VpbnQzMiBvciBndWludDgpCgoyMDEzLTA3LTI2IDE3OjI1OjQyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50CgkgIGhhcmRlciA/IDopCgoyMDEzLTA3LTI2IDEzOjIwOjI3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIGxhZHNwYTogaW5pdGlhbGl6ZSBkZWJ1ZyBjYXRlZ29yeSBlYXJsaWVyCgkgIFlvdSBrbm93LCBiZWZvcmUgaXQncyB1c2VkLgoKMjAxMy0wNy0yNiAwNzo1MzowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSAgbXBlZ3RzZGVtdXg6IEFkZCBtb3JlIGZsYWcgZGVidWdnaW5nIGZvciBQRVMgYW5kIFRTIHBhY2tldHMKCSAgSGVscHMgd2l0aCBkZWJ1Z2dpbmcgaXNzdWVzLiBBbmQgYWxzbyByZW1vdmUgdW51c2VkIHZhcmlhYmxlIChvcGNyKQoJICBUaGlzIHdpbGwgYWxzbyBhbGxvdyB1cyBpbiB0aGUgZnV0dXJlIHRvIHByb3Blcmx5IGRldGVjdDoKCSAgKiByYW5kb20tYWNjZXNzIGxvY2F0aW9uICh0byBlbmFibGUga2V5ZnJhbWUgb2JzZXJ2YXRpb24gYW5kCgkgIHBvdGVudGlhbGx5IHNlZWtpbmcKCSAgKiBkaXNjb250IGxvY2F0aW9uICh0byBwcm9wZXJseSBoYW5kbGUgcmVzZXRzKQoJICAqIHNwbGljZSBsb2NhdGlvbiAodG8gcHJvcGVybHkgaGFuZGxlIG5ldyBzdHJlYW0gY2hhbmdlcykKCjIwMTMtMDctMjQgMTc6NDk6NTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXI6IE1ha2Ugd2FybmluZ3MgbW9yZSBtZWFuaW5nZnVsCgkgIEJ5IHN0YXRpbmcgd2hldGhlciB3ZSBkb24ndCBoYXZlIGVub3VnaCBkYXRhIG9yIGl0J3MgYSBjb3JydXB0ZWQKCSAgcGFja2V0CgoyMDEzLTA3LTI0IDE3OjQ5OjIzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJICBwZXNwYXJzZTogRGVtb3RlIGEgV2FybmluZwoJICBXZSBhY3R1YWxseSBub3cga25vdyB3aGF0IHRvIGRvIC4uLiBoYXZlIGEgbG9nIG1lc3NhZ2UgOikKCjIwMTMtMDctMjUgMTU6MDY6MTIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBhdm9pZCB1c2luZyBjbGlwcGVkIG91dCBidWZmZXJzCgkgIElmIGEgYnVmZmVyIHdhcyBlbnRpcmVseSBjbGlwcGVkIG91dCAoaWUsIGl0J3Mgb3V0IG9mIHRoZSBzZWdtZW50CgkgIGVudGlyZWx5KSwgd2UnbGwgZW5kIHVwIHdpdGggYSBOVUxMIGJ1ZmZlciwgd2hpY2ggd2UgZG9uJ3Qgd2FudAoJICB0byBwcm9jZXNzL2RlcmVmZXJlbmNlLgoKMjAxMy0wNy0yNCAxNTo1MDoxNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICB0c2RlbXV4OiBSZW1lbWJlciByZXF1ZXN0ZWQgc2VlayByYXRlIGFuZCB1c2UgaXQKCSAgVGhlIG5ldyBzZWVrIGhhbmRsaW5nIHJlLWNyZWF0ZXMgdGhlIHNlZ21lbnQgdGltZSBpbmZvcm1hdGlvbiBvbmNlIGl0CgkgIGhhcyBlbm91Z2ggaW5mb3JtYXRpb24gYWZ0ZXIgYSBzZWVrLgoJICBUaGUgcHJvYmxlbSB3YXMgdGhhdCB3ZSdkIGNvbXBsZXRlbHkgaWdub3JlIHRoZSByZXF1ZXN0ZWQgcmF0ZS4gU28gc3RvcmUKCSAgdGhhdCBhbmQgdXNlIGl0IGluIHRoZSBuZXdseSBjcmVhdGVkIHNlZ21lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTQzNjkKCjIwMTMtMDctMjQgMDk6MTg6NDMgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSAgYXBwbGVtZWRpYTogYXRkZWM6IGRlc3Ryb3kgdGhlIHF1ZXVlIGlmIHNldF9mb3JtYXQgZmFpbHMKCjIwMTMtMDctMjQgMDk6MTU6NDkgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSAgYXBwbGVtZWRpYTogYXRkZWM6IHJlbW92ZSBjKysgc3R5bGUgY29tbWVudHMKCjIwMTMtMDctMjQgMDk6MTE6NTkgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuaDoKCSAgYXBwbGVtZWRpYTogYXRkZWM6IDFzdCByb3VuZCBvZiBmaXhlcwoKMjAxMy0wNy0yMyAxMDoxMDoxMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBGaXggY29kZWNfZGF0YSBoYW5kbGluZwoJICBTZXQgdG8gc2VxdWVuY2Vfb2Zmc2V0IHNvIHRoYXQgX3Byb2Nlc3NfY29uZmlnIGFjY2VwdHMgaXQuCgkgIChidHc6IHNlcV9vZmZzZXQgdXNhZ2UgdGhyb3VnaG91dCB0aGlzIHBsdWdpbiBpcyByZWFsbHkgZG9kZ3kpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI4MDYKCjIwMTMtMDYtMTQgMDc6Mjg6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBDcmVhdGUgYW5kIHNlbmQgY29kZWMgdGFnCgkgIEhlbHBzIHdpdGggYXBwbGljYXRpb25zIHRoYXQgcmVseSBvbiBwcmVzZW5jZSBvZiB0aGF0IHRhZyBmb3IgdXNlci1mYWNpbmcKCSAgaW5mb3JtYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIyMTYKCjIwMTMtMDctMjMgMTM6Mjk6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEltcGxlbWVudCBwa2NzNyB1bnBhZGRpbmcKCSAgRXZlcnkgZW5jcnlwdGVkIGZyYWdtZW50IHdpbGwgYmUgYSBtdWx0aXBsZSBvZiAxMjggYml0cywgdGhlIGxhc3QgYnl0ZQoJICBjb250YWlucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRoYXQgd2VyZSBhZGRlZCBhcyBwYWRkaW5nIGluIHRoZSBlbmQKCSAgYW5kIHNob3VsZCBiZSByZW1vdmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxNjczCgoyMDEzLTA3LTIzIDEwOjMwOjM5ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogYWRkIEF1ZGlvVG9vbGJveCBiYXNlZCBhdWRpbyBkZWNvZGVyCgoyMDEzLTA3LTIzIDEwOjMzOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGluazogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjMgMTA6MzE6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBteGZkZW11eDogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjMgMTA6MjQ6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIHRzZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIzIDEwOjIxOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmg6CgkgIHRzcGFyc2U6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIzIDEwOjE1OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBtcGVnZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIzIDEwOjE0OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmg6CgkgIG1pZGlwYXJzZTogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjMgMTA6MTE6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjMgMTA6MDk6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5oOgoJICByZXNpbmR2ZDogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjMgMTA6MDc6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjMgMTA6MDQ6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaDogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjIgMTc6MzA6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBmaXggbmVnb3RpYXRpb24gaWYgZmlsdGVyIGNhcHMgYXJlIHBhc3NlZCB0byBxdWVyeV9jYXBzCgkgIE1ha2UgdmlkZW90ZXN0c3JjICEgaW50ZXJsYWNlICEgJGFueXRoaW5nIHdvcmsgYWdhaW4uIFByb2JsZW0KCSAgd2FzIHRoYXQgdXBzdHJlYW0gZmlsdGVyIGNhcHMgd2VyZSBwYXNzZWQgd2hpY2ggY29udGFpbmVkCgkgIGludGVybGFjZS1tb2RlPXByb2dyZXNzaXZlLCB3aGljaCBkb2Vzbid0IGludGVyc2VjdCB0b28gd2VsbAoJICB3aXRoIGludGVybGFjZSdzIHNvdXJjZSBwYWQgdGVtcGxhdGUgY2FwcywgbGVhZGluZyB0bwoJICBub3QtbmVnb3RpYXRlZCBlcnJvcnMuCgoyMDEzLTA3LTIyIDE0OjU2OjMyICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBEb24ndCBhYm9ydCBvbiBpbnZhbGlkIHN0cmVhbXMKCSAgSnVzdCByZXR1cm4gYW4gZXJyb3IKCjIwMTMtMDctMTkgMTU6MzA6NDIgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9obHMvTWFrZWZpbGUuYW06CgkqIGV4dC9obHMvZ3N0ZnJhZ21lbnQuYzoKCSogZXh0L2hscy9nc3RmcmFnbWVudC5oOgoJICBobHM6IGZpeCBmb3IgYXNzZXJ0IGZhaWx1cmUgd2hlbiB1c2luZyBlbmNyeXB0ZWQgSExTIHN0cmVhbXMKCSAgV2hlbiB1c2luZyBhbiBITFMgZW5jcnlwdGVkIHN0cmVhbSwgYW4gYXNzZXJ0aW9uIGZhaWx1cmUgaXMgdGhyb3duOgoJICAoZ3N0LWxhdW5jaC0xLjA6MzEwMjgpOiBHTGliLUdPYmplY3QtV0FSTklORyAqKjogY2Fubm90IHJlZ2lzdGVyCgkgIGV4aXN0aW5nIHR5cGUgYEdzdEZyYWdtZW50JwoJICAoZ3N0LWxhdW5jaC0xLjA6MzEwMjgpOiBHTGliLUNSSVRJQ0FMICoqOiBnX29uY2VfaW5pdF9sZWF2ZTogYXNzZXJ0aW9uCgkgIGByZXN1bHQgIT0gMCcgZmFpbGVkCgkgIEV2ZW50dWFsbHkgdHJhY2tlZCB0aGlzIGRvd24gdG8gdGhlIGNhbGwgZ3N0X2ZyYWdtZW50X25ldygpCgkgIGluIGZ1bmN0aW9uIGdzdF9obHNfZGVtdXhfZGVjcnlwdF9mcmFnbWVudC4KCSAgVGhlIEdzdEZyYWdtZW50IGNsYXNzIGlzIGRlZmluZWQgaW4gZXh0L2hscy9nc3RmcmFnbWVudC5jIGFuZCBpbgoJICBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3RmcmFnbWVudC5jLiBIYXZpbmcgdHdvIGNsYXNzIGRlZmluaXRpb25zCgkgIHdpdGggdGhlIHNhbWUgbmFtZSBjYXVzZXMgdGhlIGFzc2VydCBmYWlsdXJlIHdoZW4gdHJ5aW5nIHRvIGFsbG9jYXRlCgkgIEdzdEZyYWdtZW50LiBEZWxldGluZyB0aGUgdmVyc2lvbiBmcm9tIGhscyBhbmQgZWRpdGluZyB0aGUKCSAgTWFrZWZpbGUuYW0gc29sdmVzIHRoaXMgYXNzZXJ0IGZhaWx1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ1NTUKCjIwMTMtMDctMTkgMjM6NDI6MTIgKzAyMDAgIFlvdXJpIFdlc3Rlcm1hbiA8dGV0cmFjb25AZ21haWwuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbms6IGFjdHVhbGx5IGVuYWJsZSBkZWNrbGlua3NpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDUwNQoKMjAxMy0wNy0xOSAyMDowOToyOCArMDIwMCAgWW91cmkgV2VzdGVybWFuIDx0ZXRyYWNvbkBnbWFpbC5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbms6IGFkZCAiZGV2aWNlLW51bWJlciIgdG8gc2VsZWN0IGZyb20gbXVsdGlwbGUgZGV2aWNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0NTA1CgoyMDEzLTA3LTIyIDEwOjQ2OjIzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IE9ubHkgbWFwIGlucHV0IGJ1ZmZlciBvbmNlCgkgIEluc3RlYWQgb2YgY29uc3RhbnRseSBtYXAvdW5tYXBwaW5nIGl0IGEgYml0IGV2ZXJ5d2hlcmUsIHdlIHBhc3MgYWxvbmcKCSAgdG8gYWxsIGZ1bmN0aW9ucyB0aGUgR3N0TWFwSW5mby4KCSAgTWFrZXMgbXBlZyB2aWRlbyBmcmFtZSBwYXJzaW5nIDYlIGZhc3RlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMzMwCgoyMDEzLTAzLTEwIDEyOjA3OjQwICsxMzAwICBEb3VnbGFzIEJhZ25hbGwgPGRvdWdsYXNAcGFyYWRpc2UubmV0Lm56PgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgdHNkZW11eDogZGlzZW50YW5nbGUgcmVxdWVzdGVkIHByb2dyYW0gbnVtYmVyIGZyb20gYWN0aXZlIHByb2dyYW0gbnVtYmVyCgkgIFRoZSBwcm9ncmFtX251bWJlciBhdHRyaWJ1dGUgd2FzIG92ZXJsb2FkZWQsIHRyeWluZyB0byBpbmRpY2F0ZSBib3RoCgkgIHRoZSBjdXJyZW50bHkgcGxheWluZyBwcm9ncmFtLCBhbmQgdGhlIHByb2dyYW0gcmVxdWVzdGVkIHZpYSB0aGUKCSAgInByb2dyYW0tbnVtYmVyIiBwcm9wZXJ0eS4gIFRoZSBlbmQgcmVzdWx0IHdhcyB0aGF0IHNldHRpbmcgdGhlCgkgIHByb3BlcnR5IGRpZG4ndCB3b3JrIChzZWUgIzY5MDkzNCkuCgkgIEkgYWRkZWQgYSBuZXcgcmVxdWVzdGVkX3Byb2dyYW1fbnVtYmVyIGZpZWxkIHJhdGhlciB0aGFuIHJldml2aW5nIHRoZQoJICBjdXJyZW50X3Byb2dyYW1fbnVtYmVyIGZpZWxkIGJlY2F1c2UgaXQgc2VlbWVkIHRoaXMgd291bGQgcmVzdWx0IGluCgkgIGZld2VyIGNoYW5nZXMgb3ZlcmFsbCBhbmQgYmUgbGVzcyBjb25mdXNpbmcuICBJdCBicmVha3Mgc3ltbWV0cnkgd2l0aAoJICB0aGUgInByb2dyYW0tbnVtYmVyIiBwcm9wZXJ0eSwgYnV0IGl0IHJldGFpbnMgcGFyYWxsZWxzIHdpdGggdGhlIGxpa2VzCgkgIG9mIHByb2dyYW0tPnByb2dyYW1fbnVtYmVyLgoJICBCZWNhdXNlIGdzdF90c19kZW11eF9yZXNldCBpcyBjYWxsZWQgYWZ0ZXIgdGhlIHByb3BlcnRpZXMgaGF2ZSBiZWVuCgkgIHBhcnNlZCwgcmVxdWVzdGVkX3Byb2dyYW1fbnVtYmVyIGlzIGluaXRpYWxpc2VkIGluIGdzdF90c19kZW11eF9pbml0LgoJICBXaGV0aGVyIHRoaXMgaXMgZXhhY3RseSB0aGUgcmlnaHQgcGxhY2UsIEkgZG9uJ3Qga25vdy4KCjIwMTMtMDMtMDYgMTI6MTU6NDcgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGZpeCBwcm9ncmFtLW51bWJlciBmdW5jdGlvbmFsaXR5CgkgIFNldHRpbmcgdGhlIHByb2dyYW0tbnVtYmVyIHByb3BlcnR5IGRvZXMgbm90IGFmZmVjdCB3aGljaCBwcm9ncmFtCgkgIGlzIGFjdHVhbGx5IGJlaW5nIGRlbXV4ZWQuCgkgIE1vdmluZyB0aGUgaW5pdGlhbGl6YXRpb24gb2YgdGhlIHByb2dyYW1fbnVtYmVyIGZyb20KCSAgZ3N0X3RzX2RlbXV4X3Jlc2V0IHRvIGdzdF90c19kZW11eF9pbml0IHNlZW1zIHRvIGZpeCB0aGlzIGlzc3VlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwOTM0CgoyMDEzLTA3LTIyIDA5OjE4OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiBTZW5kIHN0cmVhbS1zdGFydCBldmVudCBiZWZvcmUgYW55dGhpbmcgZWxzZSBvbiB0aGUgbXBlZyBkZW11eGVyIHNyY3BhZHMKCjIwMTMtMDctMTcgMTc6MTI6NTkgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBkbyBub3QgcHVzaCBkaXNjb250IGJ1ZmZlcnMgaWYgdGhleSBhcmVuJ3QgZGlzY29udAoJICBFeHBsaWNpdGx5IHVuc2V0IGRpc2NvbnQgZmxhZyB3aGVuIGl0IHNob3VsZG4ndCBiZSBzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODIxMTAKCjIwMTMtMDctMTcgMTE6Mjg6MjggKzAyMDAgIE1pZ3VlbCBDYXNhcy1TYW5jaGV6IDxtaWd1ZWxlY2FzYXNzYW5jaGV6QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGdyYWJjdXQuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGdyYWJjdXQuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSAgZ3JhYmN1dDogQWRkIEdyYWJDdXQgc2VnbWVudGF0aW9uIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjcyMgoKMjAxMy0wNy0xNSAyMzowMTozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogZml4IGhlaWdodCBleHRyYWN0aW9uIGZvciBIMjYzcAoKMjAxMy0wNy0xNSAyMjo1NzowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmg6CgkgIGgyNjNwYXJzZTogYWRkIHBpeGVsLWFzcGVjdC1yYXRpbyBpZiB1cHN0cmVhbSBkb2Vzbid0IHByb3ZpZGUgb25lCgoyMDEzLTA3LTA5IDEyOjQ5OjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBmaXggdHlwbyBpbiBjaGVja19xdWV1ZV9mdWxsIGZ1bmN0aW9uCgkgIEl0IHNob3VsZCByZXR1cm4gVHJ1ZSB3aGVuIHRoZSBxdWV1ZSBJUyBmdWxsCgkgIEZpeGVzICM3MDQyMjYKCjIwMTMtMDctMTUgMTE6MTU6MTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IFJlbWVtYmVyIHNlZWsgc2VxdWVuY2UgbnVtYmVyCgkgICogQXZvaWRzIGhhbmRsaW5nIHR3aWNlIHRoZSBzYW1lIHNlZWsgKGNhbiBoYXBwZW4gd2l0aCBwbGF5YmluIGFuZCBmaWxlcwoJICB3aXRoIHN1YnRpdGxlcykKCSAgKiBTZXQgdGhlIHNlcXVlbmNlIG51bWJlciBvZiB0aGUgc2VnbWVudCBldmVudCB0byB0aGUgc2VxdWVuY2UgbnVtYmVyIG9mCgkgIHRoZSBzZWVrIGV2ZW50IHRoYXQgZ2VuZXJhdGVkIGl0ICgtMSBmb3IgdGhlIGluaXRpYWwgb25lKS4KCjIwMTMtMDUtMjQgMTg6MTg6MzUgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogaW1wbGVtZW50IHNlZWtpbmcgaW4gcHVzaCBtb2RlCgoyMDEzLTA1LTI4IDE2OjE0OjQyICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHJlY2FsY3VsYXRlIG5ldyBzZWdtZW50IGFmdGVyIGJ5dGUgc2VlawoJICBUaGUgc2Vla2luZyBzdGFydCB0aW1lIGlzIGFwcHJveGltYXRlZCBmcm9tIHRoZSBzZWVrIG9mZnNldCBpbiBieXRlcwoJICB1c2luZyB0aGUgYWNjdW11bGF0ZWQgUENSIG9ic2VydmF0aW9ucywgc28gb24gYSBWQlIgc3RyZWFtIHRoZXJlIG1pZ2h0CgkgIGJlIGEgYmlnIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgYWN0dWFsIFBDUiBhbmQgdGhlIGVzdGltYXRlZCBvbmUgYWZ0ZXIKCSAgdGhlIHNlZWsuIFRoaXMgbWlnaHQgcmVzdWx0IGluIGEgbG9uZyB3YWl0IHRvIHNraXAgYWxsIG91dCBvZiBzZWdtZW50cwoJICBwYWNrZXRzLgoJICBJbnN0ZWFkIHdlIGp1c3QgcmVjYWxjdWxhdGUgdGhlIG5ldyBzZWdtZW50IHRvIHN0YXJ0IGF0IHRoZSBmaXJzdCBQVFMKCSAgYWZ0ZXIgdGhlIHNlZWssIHNvIHRoYXQgcGxheWJhY2sgc3RhcnRzIGltbWVkaWF0bHkuCgoyMDEzLTA3LTEzIDIzOjQ5OjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBVcGRhdGUgZG9jcyBhbmQgd2luMzIgY29uZmlnLmggdG8gZGV2ZWxvcG1lbnQgdmVyc2lvbgoKMjAxMy0wNy0xMiAxNTo1ODozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSAgZG9jczogYWRkIG5ld2x5LXBvcnRlZCBlbGVtZW50cyB0byBkb2NzCgoyMDEzLTA3LTExIDE3OjQ2OjM3ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBVc2Ugc2VxdWVuY2VfZGlzcGxheV9leHRlbnNpb24gdmFsdWVzIHRvIHVwZGF0ZSB0aGUgc3JjIGNhcHMKCSAgVGhlIGNhcHMgc2hvdWxkIGFsd2F5cyByZXByZXNlbnQgd2hhdCB0aGUgdXNlciBpcyBzdXBwb3NlZCB0byBzZWUuCgkgIFNvIGlmIHRoZXJlIGlzIGEgc2VxdWVuY2VfZGlzcGxheV9leHRlbnNpb24gYXNzb2NpYXRlZCB3aXRoIHRoZQoJICBzdHJlYW0gdGhlbiB1c2UgdGhlIGRpc3BsYXlfaG9yaXpvbnRhbF9zaXplL2Rpc3BsYXlfdmVydGljYWxfc2l6ZQoJICB0byB1cGRhdGUgdGhlIHNyYyBjYXBzIChpZiB0aGV5IGFyZSBsZXNzIHRoYW4gdGhlIHZhbHVlcyBwcm92aWRlZAoJICBieSBzZXF1ZW5jZSBoZWFkZXIpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0MDA5CgoyMDEzLTA3LTEyIDA5OjQ1OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZ2xnbGVzc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0LmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4xLjIKCSAgT29wcy4uLiBzaG91bGQndmUgYmVlbiBwYXJ0IG9mIDEuMS4yIHRhZyBhbHJlYWR5IDooCgoyMDEzLTA3LTExIDE2OjU3OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMS4yID09PQoKMjAxMy0wNy0xMSAxNjozMToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMy0wNy0xMCAxMjoyODozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSAgbXBlZ3BzbXV4OiBTZW5kIHN0cmVhbS1zdGFydCBldmVudCBiZWZvcmUgYW55IGRhdGEKCjIwMTMtMDctMDggMDg6NDQ6NDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IEF2b2lkIHBhcnNpbmcgc2VjdGlvbiB3aXRob3V0IGVub3VnaCBkYXRhCgkgIFRoaXMgaXMgYWN0dWFsbHkgYSB3b3JrYXJvdW5kICh3ZSdsbCBiZSBza2lwcGluZyB0aGUgdXBjb21pbmcgc2VjdGlvbikKCSAgVGhpcyB3aWxsIG9ubHkgaGFwcGVuIGZvciBzZWN0aW9ucyB3aGVyZSB0aGUgYmVnaW5uaW5nIGlzIGxvY2F0ZWQgd2l0aGluCgkgIHRoZSBsYXN0IDggYnl0ZXMgb2YgYSBwYWNrZXQgKHdoaWNoIGlzIHRoZSBtaW5pbXVtIHdlIG5lZWQgdG8gcHJvcGVybHkKCSAgaWRlbnRpZnkgYW55IHNlY3Rpb24gYmVnaW5uaW5nKS4KCSAgTGF0ZXIgd2Ugc2hvdWxkIGZpZ3VyZSBvdXQgYSB3YXkgdG8gc3RvcmUgdGhvc2UgYnl0ZXMgYW5kIG1hcmsgdGhhdAoJICBzb21lIGFuYWx5c2lzIG5lZWRzIHRvIGhhcHBlbi4gVGhlIHByb2JhYmlsaXR5IG9mIHRoaXMgaGFwcGVuaW5nIGlzCgkgIHRvbyBsb3cgZm9yIG1lIHRvIGNhcmUgcmlnaHQgbm93IGFuZCBkbyB0aGF0IGZpeC4gVGhlcmUgaXMgYSBnb29kIGNoYW5jZQoJICB0aGF0IHNlY3Rpb24gd2lsbCBldmVudHVhbGx5IGJlIHJlcGVhdGVkIGFuZCB3b24ndCBlbmQgdXAgb24gc3VjaCBib3JkZXIuCgoyMDEzLTA3LTA4IDA4OjQzOjUwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEFkZCBCQVQgc3VwcG9ydCB0byBtcGVndHMgZXhhbXBsZQoKMjAxMy0wNy0wOCAwODo0MjoxOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVndHM6IFVuaWZ5IHNlY3Rpb24gY2hlY2tzIGFuZCBhZGQgQkFUIHBhcnNpbmcKCSAgKiBBdm9pZCByZXBlYXRpbmcgY29kZSBldmVyeXdoZXJlLCBhbmQgaW5zdGVhZCBwcm92aWRlIGFsbCBwYXJzaW5nCgkgIGluZm9ybWF0aW9uIGluIG9uZSBnby4KCSAgKiBBZGQgQkFUIHN1cHBvcnQKCSAgKiBSZWZpbmUgQkFUL0NBVCBpZGVudGlmaWNhdGlvbiAoYnkgYWRkaW5nIFBJRCBjaGVja3MpCgoyMDEzLTA3LTA3IDExOjQyOjUwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogQXZvaWQgdm1ldGhvZCBjYWxscwoJICBEZXBlbmRpbmcgb24gdXNhZ2UsIHRzcGFyc2UgYW5kIHRzZGVtdXggbWlnaHQgbm90IG5lZWQgdG8gYmUgY2FsbGVkCgkgIHdoZW4gbmV3IHNlY3Rpb24vcGVzLWRhdGEgaXMgYXZhaWxhYmxlLgoKMjAxMy0wNy0wNyAxMDoyNToyNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzZGVtdXg6IFJlbW92ZSB1bm5lZWRlZCB2YXJpYWJsZXMKCSAgKiBwYWNrZXQub3JpZ3RzIGlzIG5vIGxvbmdlciB1c2VkIHNpbmNlIHRoZSBQQ1IgcmVmYWN0b3JpbmcgZG9uZSBhZ2VzIGFnbwoJICAqIGtub3duX3BhY2tldF9zaXplIGlzIGEgZHVwbGljYXRlIG9mIHBhY2tldF9zaXplICE9IDAKCSAgKiBjYXBzIHdhcyBuZXZlciB1c2VkIG91dHNpZGUgb2YgdGhlIHBhY2tldGl6ZXIKCjIwMTMtMDctMDkgMTE6Mzk6NDYgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZXI6IGZpeCBzaXplIGNhcHMgdG8gcmVwb3J0IGNyb3BwZWQgZGltZW5zaW9ucy4KCSAgUmVzdG9yZSB0aGUgb3JpZ2luYWwgaDI2NHBhcnNlciBiZWhhdmlvdXIgdG8gcmVwb3J0IGNyb3BwZWQgZGltZW5zaW9ucwoJICBpbiBzaXplIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTQwNjgKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wNy0wOCAxODo0NDoyNCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IGNhbGN1bGF0aW9uIG9mIHRoZSBmcmFtZSBjcm9wcGluZyByZWN0YW5nbGUuCgkgIEZpeCBjYWxjdWxhdGlvbiBvZiB0aGUgZnJhbWUgY3JvcHBpbmcgcmVjdGFuZ2xlLCBhbmQgbW9yZSBwcmVjaXNlbHkKCSAgdGhlIGFjdHVhbCBjcm9wcGVkIGhlaWdodC4gVGhlIGZyYW1lX2Nyb3BfdG9wX29mZnNldCBzdWJ0cmFjdGlvbgoJICB3YXMgbm90IHNjYWxlZCB1cCB3aXRoIFN1YkhlaWdodEMuCgkgIEFsc28gY2xlYW4tdXAgdmFyaWFibGVzIHRvIGFsaWduIG1vcmUgd2l0aCAoNy0xOCkgdG8gKDctMjEpLgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAyLTE1IDE0OjE4OjQ5ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGgyNjRwYXJzZXI6IFBhcnNlIHRoZSBjcm9wcGluZy1yZWN0YW5nbGUgc2VwYXJhdGVseS4KCSAgQXNzaWduIHRoZSB1bi1jcm9wcGVkIHdpZHRoL2hlaWdodCB0byBzcHMtPndpZHRoL3Nwcy0+aGVpZ2h0CgkgIGR1cmluZyBzcHMgaGVhZGVyIHBhcnNpbmcuIEFkZGVkIG5ldyBmaWVsZHMgdG8gU1BTIGhlYWRlciBzdHJ1Y3R1cmUKCSAgdG8gcHJvdmlkZSB0aGUgY3JvcC1yZWN0YW5nbGUgZGltZW5zaW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NDA2OAoKMjAxMy0wNy0wMyAxNjozODozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogaW1wbGVtZW50IHF1ZXVlIGZ1bGwgY2hlY2sgZnVuY3Rpb24KCSAgQ2hlY2tzIGlmIHRoZSBxdWV1ZSBpcyBmdWxsIGFjY29yZGluZyB0byBtYXggYnVmZmVyaW5nIHRpbWUKCSAgc2V0IGJ5IHRoZSB1c2VyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE0MDQKCjIwMTMtMDctMDkgMDA6NDc6MDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IG1pbm9yIHJlZmFjdG9yCgkgIFNwbGl0IG9uZSB2ZXJ5IGxhcmdlIGZ1bmN0aW9uIGludG8gMiBzbWFsbGVyIGJ1dCBzdGlsbCBsYXJnZSBmdW5jdGlvbnMuCgkgIEFsc28gY2hhbmdlIHRoZSBpZiBjb25kaXRpb25zIHRvIHBvc2l0aXZlIGNoZWNrcyB0byBpbXByb3ZlIHJlYWRhYmlsaXR5LgoKMjAxMy0wNy0wOCAyMzoyNDoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogaGFuZGxlIGxpdmUgcGxheWJhY2sgcmVzeW5jCgkgIER1cmluZyBhIGxpdmUgc3RyZWFtIGl0IGlzIHBvc3NpYmxlIGZvciBkYXNoZGVtdXggdG8gbGFnIGJlaGluZCBvbiBhCgkgIHNsb3cgY29ubmVjdGlvbiBvciB0byBydXNoIGFoZWFkIG9mIHRoZSBjb25uZWN0aW9uIG9zIHRvbyBmYXN0LgoJICBGb3IgdGhlIGZpcnN0IGNhc2UgaXQgaXMgbmVjZXNzYXJ5IHRvIGp1bXAgc29tZSBzZWdtZW50cyBhaGVhZCB0byBiZSBhYmxlIHRvCgkgIGNvbnRpbnVlIHBsYXliYWNrIGFzIG9sZCBzZWdtZW50cyBhcmUgdXN1YWxseSBkZWxldGVkIGZyb20gdGhlIHNlcnZlci4KCSAgRm9yIHRoZSBsYXRlciwgZGFzaGRlbXV4IHNob3VsZCB3YWl0IGEgbGl0dGxlIGJlZm9yZSBhdHRlbXB0aW5nIGFub3RoZXIKCSAgZG93bmxvYWQgZG8gZ2l2ZSB0aW1lIHRvIHRoZSBzZXJ2ZXIgdG8gcHJvZHVjZSBhIG5ldyBzZWdtZW50CgoyMDEzLTA3LTA1IDEzOjIyOjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogZml4IHRlbXBsYXRlIGJhc2VkIHNlZ21lbnQgZ2VuZXJhdGlvbgoJICBXaGVuIHVzaW5nIGEgdGVtcGxhdGUgYmFzZWQgc2VnbWVudCBsaXN0LCBkbyBub3QgdHJ5IHRvCgkgIGNvbnRydWN0IGEgZmluaXRlIHNlZ21lbnQgbGlzdCBmb3IgdGhlIGxpbWl0cyBvZiB0aGUgYXZhaWxhYmxlIHBlcmlvZHMuCgkgIFdlIG1pZ2h0IG5vdCBrbm93IHdoZW4gdGhlIHBlcmlvZCBlbmRzIChmb3IgbGl2ZSBzdHJlYW1zKSBhbmQgd2UgY2FuCgkgIGFsd2F5cyBjcmVhdGUgdGhlIHNlZ21lbnQgb24gZGVtYW5kIHdoZW4gcmVxdWVzdGVkIGJ5IGRhc2hkZW11eCwKCSAgYXZvaWRpbmcgdXNlIG9mIHNvbWUgbWVtb3J5IGFuZCBjcHUgd2hlbiByZS1jcmVhdGluZyB0aGlzIGxpc3QuCgoyMDEzLTA3LTA0IDIzOjQyOjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHVzZSBtb3JlIGFwcHJvcHJpYXRlIGRhdGEgc3RydWN0dXJlcyBmb3IgcGFyc2luZwoJICBSZXBsYWNlcyB0aGUgMiBsaWtlbHkgbGFyZ2VyIGxpc3RzIHdpdGggbW9yZSBhcHByb3ByaWF0ZSBzdHJ1Y3R1cmVzCgkgIHRvIGltcHJvdmUgcGVyZm9ybWFuY2UuCgkgIFJlcGxhY2VzIFMgbm9kZXMgR0xpc3QgZm9yIGEgR1F1ZXVlLCB0aGlzIHJlZHVjZXMgbGF0ZW5jeSB0byBzdGFydHVwCgkgIGJlY2F1c2Ugb2YgdHJhdmVyc2luZyB0aGUgbGlzdCBqdXN0IGFwcGVuZCBhbiBlbGVtZW50LgoJICBSZXBsYWNlcyB0aGUgcHJvY2Vzc2VkIG1lZGlhIHNlZ21lbnRzIEdMaXN0IGZvciBhIEdQdHJBcnJheSBhcyBpdCBpcwoJICBjb25zdGFudGx5IGFjZXNzZWQgYnkgaW5kZXggZHVyaW5nIHBsYXliYWNrLgoKMjAxMy0wNy0wNCAxNToxNDowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogYW5zd2VyIHRvIGxhdGVuY3kgcXVlcmllcwoJICBTZXQgbGl2ZSBpZiBzdHJlYW0gaXMgbGl2ZSBhbmQgYWxzbyBhZGQgdG8gdGhlIG1heCBsYXRlbmN5IHRoZQoJICBtYXggaW50ZXJuYWwgYnVmZmVyaW5nCgoyMDEzLTA3LTA4IDIyOjAxOjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IGZpeCBjcmFzaCB3aGVuIGRvd25sb2FkIGlzIG51bGwKCSAgRG8gbm8gdHJ5IHRvIHVucmVmIGEgTlVMTCBkb3dubG9hZCBhdHRyaWJ1dGUKCjIwMTMtMDctMDggMjI6MDA6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogZG8gbm90IHNldCBjYW5jZWxsZWQgdW5sZXNzIGV4cGxpY2l0bHkgY2FsbGVkIGJ5IHVzZXIKCSAgQ2FuY2VsbGVkIGlzIGEgJ3Blcm1hbmVudCcgc3RhdGUgb2YgdGhlIHVyaWRvd25sb2FkZXIgYW5kIGlzIG9ubHkKCSAgcmVtb3ZlZCBieSBhIGNhbGwgdG8gX3Jlc2V0LiBXaGVuIGEgZG93bmxvYWQgZmFpbHMgd2UganVzdCB3YW50IHRvCgkgIHJldHVybiBOVUxMIG9uIHRoZSBmZXRjaCBmdW5jdGlvbiBhbmQgbGVhdmUgdGhlIGRvd25sb2FkZXIgcmVhZHkKCSAgZm9yIGFub3RoZXIgZmV0Y2gsIG90aGVyd2lzZSB0aGUgdXNlciBoYXMgdG8gY2FsbCBfcmVzZXQgYWZ0ZXIKCSAgZmFpbGVkIGRvd25sb2FkZXIsIGV2ZW4gd2hlbiBpdCBkaWRuJ3QgY2FsbCBfY2FuY2VsLgoKMjAxMy0wNy0wNyAwODozNTowMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3RzOiBBdm9pZCBmYWxzZS1wb3NpdGl2ZXMgaW4gc2VjdGlvbiB0eXBlIGRldGVjdGlvbgoJICBEdWUgdG8gdGhlIHZhcmlldHkgb2Ygc2VjdGlvbiB0eXBlcyBvdXQgdGhlcmUsIHdlIG5lZWQgdG8gYWRkCgkgIHNvbWUgY2hlY2tzIHdoZW4gaWRlbnRpZnlpbmcgc2VjdGlvbiB0eXBlcy4KCSAgV2UgY2hlY2sgaGVyZSB0aGF0IHRoZSBQSUQgaXMgYWxzbyBjb25zaXN0ZW50IHdpdGggdGhlIHRhYmxlX2lkLgoKMjAxMy0wNy0wNyAwODoyOTozNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNkZW11eDogRml4IG11bHRpcGxlLVNJIGRldGVjdGlvbi9wYXJzaW5nCgkgIFdlIGhhZCB0d28gaXNzdWVzIHdpdGggdGhlIHByZXZpb3VzIGNvZGU6CgkgIDEpIFdlIHdlcmUgYmFkbHkgaGFuZGxpbmcgUFVTSS1mbGFnZ2VkIHBhY2tldHMuIFdlIHdlcmUgZGlzY2FyZGluZyB0aGUKCSAgaW5pdGlhbCBkYXRhIChpZiBwb2ludGVyICE9IDApIHdoZXJlYXMgd2Ugc2hvdWxkIGhhdmUgYmVlbiBhY2N1bXVsYXRpbmcKCSAgaXQgd2l0aCB0aGUgcHJldmlvdXMgZGF0YSAoaWYgdGhlcmUgd2FzIGEgY29udGludWl0eSBvZiBjb3Vyc2UpLgoJICA9PiBGaXJzdCBzZXJpZXMgb2YgaW5mb3JtYXRpb24gbG9zcwoJICAyKSBXZSB3ZXJlIG5vdCBjaGVja2luZyB3aGV0aGVyIHRoZXJlIHdlcmUgbW9yZSBzZWN0aW9ucyBhZnRlciB0aGUgZW5kCgkgIG9mIG9uZSAoaS5lLiB3aGVuIHRoZSBmb2xsb3dpbmcgYnl0ZSB3YXMgbm90IGEgc3R1ZmYgYnl0ZSkuCgkgIFRoaXMgZml4ZXMgdGhvc2UgdHdvIGlzc3Vlcy4KCSAgRml4ZXMgIzY3NzQ0MwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3NDQzCgoyMDEzLTA3LTA3IDA3OjIxOjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0YmFzZTogRml4IHN3aXRjaC9jYXNlIHR5cG8KCSAgRW5kZWQgdXAgdHJ5aW5nIHRvIGFuYWx5emUgUE1UIC4uLiB3aXRoIGEgUEFUIDooCgoyMDEzLTA3LTA2IDE0OjUwOjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBIYW5kbGUgcHJpdmF0ZSBzZWN0aW9uIHN0cmVhbXMKCSAgVW50aWwgbm93IHdlIHNpbXBseSBpZ25vcmVkIHRob3NlIHN0cmVhbXMgKHNpbmNlIHdlIGNvdWxkbid0IGRvIGFueXRoaW5nCgkgIHdpdGggaXQgYW55d2F5KS4gTm93IHRoYXQgd2UgaGF2ZSB0aGUgbXBlZ3RzIGxpYnJhcnkgYW5kIHdlIG9mZmxvYWQgdGhlCgkgIHNlY3Rpb24gaGFuZGxpbmcgdG8gdGhlIGFwcGxpY2F0aW9uIHNpZGUgd2UgY2FuIHByb3Blcmx5IGlkZW50aWZ5IGFuZAoJICBleHRyYWN0IHRoZW0uCgkgIEJ5IGRlZmF1bHQgaXQgaXMgZGlzYWJsZWQgZm9yIHRzcGFyc2UgYW5kIGVuYWJsZWQgZm9yIHRzZGVtdXgsIGJ1dCB0aGVyZSBpcwoJICBhIHByb3BlcnR5IHRvIGNoYW5nZSB0aGF0LgoJICBUaGlzIHNob3VsZCBvcGVuIHRoZSB3YXkgdG8gcHJvcGVybHkgaGFuZGxlIGFsbCBwcml2YXRlIHNlY3Rpb24gc3RyZWFtcywKCSAgaW5jbHVkaW5nOgoJICAqIERTTS1DQwoJICAqIE1IRUcKCSAgKiBDYXJvdXNlbCBkYXRhCgkgICogTWV0YWRhdGEgc3RyZWFtcyAodGhvdWdoIEkgaGF2ZW4ndCBzZWVuIGFueSBvZiB0aG9zZSBpbiB0aGUgd2lsZCkKCSAgKiAuLi4gQW5kIGFsbCBvdGhlciBzcGVjcy9wcm90b2NvbHMgbWFraW5nIHVzZSBvZiB0aG9zZQoJICBQYXJ0aWFsbHkgZml4ZXMgIzU2MDYzMQoKMjAxMy0wNy0wNiAxMjozOTo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIG1wZWd0czogUHJvcGVybHkgaGFuZGxlIFVUQyB0aW1lIGluIHNlY3Rpb25zCgkgICogZG9uJ3QgdW5yZWYgaW5leGlzdGFudCBHc3REYXRlVGltZQoJICAqIEZpbmUtdHVuZSBob3VyL21pbi9zZWMgQkNEIHJlYWRpbmcgY29kZQoJICAqIFVwZGF0ZSBleGFtcGxlIGNvZGUgYWNjb3JkaW5nbHkKCjIwMTMtMDctMDYgMTA6NTk6MDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogUmVnaXN0cmF0aW9uIGRlc2NyaXB0b3Igc3VwcG9ydAoJICBBbmQgb3V0cHV0IHRoZSBsZW5ndGggb2YgdGhlIGRlc2NyaXB0b3JzCgoyMDEzLTA3LTA2IDEwOjM4OjI2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkgIG1wZWd0czogRml4IE5JVCBwYXJzaW5nCgkgIFRoZSBzaXplIGNoZWNrcyB3ZXJlIHdyb25nLiBUaGUgc21hbGxlc3Qgc2l6ZSBmb3IgYSBOSVQgaXMgMTYgYnl0ZXMKCSAgKDEyIGZvciB0aGUgc21hbGxlc3QgY29udGVudCArIDQgZm9yIGNyYykgYW5kIHRoZSBzbWFsbGVzdCBzaXplIGZvcgoJICBhIGlubmVyIHN0cmVhbSBsb29wIGlzIDYgYnl0ZXMgKHdpdGhvdXQgYW55IGRlc2NyaXB0b3JzKS4KCSAgQWxzbyByZW1vdmUgRklYTUUgdGhhdCBoYXMgYWxyZWFkeSBtb3ZlZCBlbHNld2hlcmUKCjIwMTMtMDctMDYgMTA6MzY6MzMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBIYW5kbGUgcmVnaXN0cmF0aW9uIGRlc2NyaXB0b3IgZm9yIHByb2dyYW1zIGFuZCBzdHJlYW1zCgkgICogQWxsb3dzIHVzIHRvIHNpbXBsaWZ5IHNvbWUgY29kZSBhbmQgcHJlcGFyZSBmb3IgZnV0dXJlIGNsZWFudXBzLgoJICAqIFJlbW92ZSB1c2VsZXNzIGNhc3RzCgkgICogQWRkIHNvbWUgRklYTUUgcmVnYXJkaW5nIFZDMQoKMjAxMy0wNy0wNSAyMTo0OTo0OCArMDIwMCAgUGlvdHIgRHLEhWcgPHBpb3RyZHJhZ0BnbWFpbC5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSogcG8vUE9URklMRVMuc2tpcDoKCSAgcG86IHVwZGF0ZSBQT1RGSUxFUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNjgzCgoyMDEzLTA3LTA1IDExOjIwOjQ5IC0wNjAwICBCcmVuZGFuIExvbmcgPGIubG9uZ0BjYWJsZWxhYnMuY29tPgoKCSogZ3N0L3N1YmVuYy9nc3R3ZWJ2dHRlbmMuYzoKCSAgd2VidnR0ZW5jOiBTZXBhcmF0ZSBjdWVzIHdpdGggdHdvIGxpbmUgYnJlYWtzIGluc3RlYWQgb2Ygb25lLgoJICBTZWUgaHR0cDovL2Rldi53My5vcmcvaHRtbDUvd2VidnR0LyNzeW50YXgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzY3MwoKMjAxMy0wNy0wNSAxODozMzo0MiArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBtcGVnMjogZml4IHZpZGVvIHBhY2tldCBoZWFkZXIgc2l6ZSBjaGVja3MuCgkgIEZpeCB2aWRlbyBwYWNrZXQgaGVhZGVyIHNpemUgY2hlY2tzIGZvcjoKCSAgLSBTZXF1ZW5jZSBIZWFkZXI6IDY0IGJpdHMgOwoJICAtIFNlcXVlbmNlIFNjYWxhYmxlIEV4dGVuc2lvbjogMTAgYml0cyA7CgkgIC0gU2xpY2UgSGVhZGVyOiA2IGJpdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM2NjgKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wNy0wNSAxNDo1ODoyNSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSAgY29kZWNwYXJzZXJzOiBtcGVnMjogYWRkIG1pc3NpbmcgZ3RrLWRvYyBlbnRyaWVzLgoJICBUaGUgZm9sbG93aW5nIGZ1bmN0aW9ucyB3ZXJlIG1pc3NpbmcgZ3RrLWRvYyBlbnRyaWVzOgoJICAtIGdzdF9tcGVnX3ZpZGVvX3BhcnNlX3NlcXVlbmNlX2Rpc3BsYXlfZXh0ZW5zaW9uCgkgIC0gZ3N0X21wZWdfdmlkZW9fZmluYWxpc2VfbXBlZzJfc2VxdWVuY2VfaGVhZGVyCgkgIC0gZ3N0X21wZWdfdmlkZW9fcXVhbnRfbWF0cml4X2dldF9yYXN0ZXJfZnJvbV96aWd6YWcKCSAgLSBnc3RfbXBlZ192aWRlb19xdWFudF9tYXRyaXhfZ2V0X3ppZ3phZ19mcm9tX3Jhc3RlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNjY3CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDEtMzEgMTE6NTc6NTQgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogbXBlZzI6IHVwZGF0ZSB0ZXN0IHByb2dyYW0gd2l0aCBuZXcgR3N0TXBlZ1ZpZGVvUGFja2V0IEFQSS4KCSAgVGhpcyBpcyB0aGUgbG9zdCBodW5rIGZyb206CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI5MzMKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0zMCAxNjo1NjoxNSArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVnMjogYWRkIHNsaWNlIGhlYWRlciBwYXJzaW5nIEFQSS4KCSAgQWRkIEFQSSB0byBwYXJzZSB0aGUgU2xpY2UgaGVhZGVyLiBUaGlzIGFsc28gY2FsY3VsYXRlcyB0aGUgbWFjcm9ibG9jawoJICBwb3NpdGlvbiBhcyBzcGVjaWZpZWQgaW4gNi4zLjE2LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0Mjc0CgkgIFNpZ25lZC1vZmYtYnk6IFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0yNSAxNTo0ODo1OCArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVnMjogYWRkIHNlcXVlbmNlIHNjYWxhYmxlIGV4dGVuc2lvbiBwYXJzaW5nIEFQSS4KCSAgQWRkIEFQSSB0byBwYXJzZSB0aGUgU2VxdWVuY2UgU2NhbGFibGUgRXh0ZW5zaW9uIGhlYWRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NDI3NAoJICBTaWduZWQtb2ZmLWJ5OiBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDctMDQgMTQ6MjI6MTQgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGNvcGUgd2l0aCBuZXcgcGFyc2VyIEFQSS4KCSAgTWlncmF0ZSB0aGUgY29kZSB0byB1c2UgdGhlIG5ldyBwYXJzZXIgQVBJIGJhc2VkIG9uIEdzdE1wZWdWaWRlb1BhY2tldC4KCSAgQWxzbyB0cnkgdG8gb3B0aW1pemUgZ3N0X21wZWd2X3BhcnNlX3Byb2Nlc3NfY29uZmlnKCkgYnkgdXNpbmcgbW9yZSBvZgoJICBHc3RNcGVnVmlkZW9QYWNrZXQgYW5kIGRldGVybWluaW5nIHRoZSBleHRlbnNpb25fc3RhcnRfY29kZV9pZGVudGlmaWVyCgkgIHByaW9yIHRvIGNhbGxpbmcgdGhlIHBhcnNlciBmdW5jdGlvbiBmb3IgdGhhdCBleHRlbnNpb24gcGFja2V0LgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAxLTMxIDExOjU3OjU0ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1wZWcyOiBhZGQgbmV3IEFQSSB0aGF0IHRha2VzIEdzdE1wZWdWaWRlb1BhY2tldCBhcmd1bWVudHMuCgkgIEFkZCBuZXcgaW50ZXJmYWNlIHRvIE1QRUctMiB2aWRlbyBwYXJzZXIgdGhhdCB0YWtlcyBHc3RNcGVnVmlkZW9QYWNrZXQKCSAgYXJndW1lbnRzIGluc3RlYWQgb2YgZGF0YSwgc2l6ZSwgYW5kIG9mZnNldC4gTmV3IGZ1bmN0aW9ucyBhcmUgY2FsbGVkCgkgIGFmdGVyIGdzdF9tcGVnX3ZpZGVvX3BhY2tldF8qKCkgYW5kIHByb3ZpZGUgdGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24uCgkgIE9sZGVyIEFQSSBpcyBtb3ZlZCB0byB0aGUgZGVwcmVjYXRlZCBuYW1lc3BhY2UgYW5kIHVzZXMgdGhlIG5ldyBmdW5jdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI5MzMKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wNy0wNSAxNjo0Njo0MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBSZW1vdmUgbm8tbG9uZ2VyIG5lZWRlZCBjb2RlCgkgIFNpbmNlIHdlIG5vdyBzZW5kIGFsbCBzZWN0aW9ucyB0byB0aGUgcGFja2V0aXplciwgd2Ugbm8gbG9uZ2VyIG5lZWQgdG8gZG8KCSAgYW55bW9yZSBpbi1kZXB0aCBjaGVja3MgZm9yIHRoZSB2YWxpZGl0eSBvZiBhIHNlY3Rpb24uCgkgIFRoZSBjaG9pY2UgYm9pbHMgZG93biB0bzoKCSAgMSkgSXMgaXQgZnJvbSBhIGtub3duIFBFUyBwaWQgPyBJZiBzbyBwYXNzIGl0IG9uICh3aGljaCBtaWdodCBiZSBqdXN0IHB1c2hpbmcKCSAgZG93bnN0cmVhbSBpbiB0aGUgY2FzZSBvZiB0c3BhcnNlLCBvciBhY2N1bXVsYXRpbmcgUEVTIGRhdGEgZm9yIHRzZGVtdXgpCgkgIDIpIElzIGl0IGZyb20gYSBrbm93biBTSSBwaWQgPyBJZiBzbyBwYXNzIGl0IHRvIHRoZSBzZWN0aW9uIHBhY2tldGl6ZXIKCjIwMTMtMDctMDUgMTM6NTM6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YjogRml4IFBNVCBoYW5kbGluZwoJICBXYXMgdXNpbmcgYW4gb2xkZXIgKHRlbXBvcmFyeSkgdmVyc2lvbiBvZiB0aGUgbXBlZ3RzIGxpYnJhcnkgQVBJLgoKMjAxMy0wNy0wNSAxMDo1NzozNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogRml4IGNvbXBpbGF0aW9uIHdpdGggZGVidWdnaW5nIGRpc2FibGluZwoJICBXZSBwcmV2aW91c2x5IHdlcmVuJ3QgdXNpbmcgdGhhdCB2YXJpYWJsZSAuLi4KCjIwMTMtMDctMDQgMDg6NDM6MzcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3RzOiBJbXByb3ZlIGRvY3VtZW50YXRpb24KCSAgKiBBZGQgYSBiYXNlIHBhZ2UgZm9yIHRoZSBsaWJyYXJ5CgkgICogQWRkIHBhZ2VzIGZvciB0aGUgYmFzZSBNUEVHLVRTIHNlY3Rpb24gYW5kIGRlc2NyaXB0b3JzCgkgICogQWRkIHBhZ2VzIGZvciB0aGUga25vd24gdmFyaWFudHMKCSAgKiBBZGQgZG9jdW1lbnRhdGlvbiBvbiBtb3JlIGZpZWxkcy9zZWN0aW9ucy90eXBlcwoJICAqIFJlbW92ZSBzb21lIGZpeG1lcyB0aGF0IHdlcmUgLi4uIGZpeGVkCgoyMDEzLTA3LTA0IDA3OjQ5OjM3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogU3dpdGNoIHRvIHVzaW5nIEdzdE1wZWdUc1N0cmVhbVR5cGUKCSAgV2Ugc3RpbGwgaGF2ZSBzb21lIG90aGVyIHN0cmVhbSB0eXBlcyB3aGljaCBoYXZlbid0IGJlZW4gcG9ydGVkLCBidXQKCSAgd2Ugd2lsbCBkbyBzbyBvbmNlIHdlIGhhdmUgZGVmaW5lZCB0aGUgZW51bXMgaW4gdGhlIG1wZWd0cyBsaWJyYXJ5LgoJICBBbHNvIGFkZCBzb21lIEZJWE1FcyByZWdhcmRpbmcgaXRlbXMgZGlzY292ZXJlZCBkdXJpbmcgYW5hbHlzaXMKCjIwMTMtMDctMDQgMDc6NDg6MTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkgIG1wZWd0c2Rlc2NyaXB0b3I6IEZpeCBoYW5kbGluZyBvZiB1bmtub3duIHN0cmVhbSBlbmNvZGluZ3MKCSAgSWYgd2UgY2Fubm90IGlkZW50aWZ5IHRoZSBlbmNvZGluZyB1c2VkIGZvciBhIHN0cmluZywgcmV0dXJuIGEgTlVMTAoJICBzdHJpbmcgaW5zdGVhZCBvZiBnYXJiYWdlIGFuZCBhZGQgYSBGSVhNRSBzbyB3ZSBjYW4gZGV0ZWN0IGFuZCBsYXRlcgoJICBmaXggaXQuCgoyMDEzLTA3LTA0IDA3OjQ1OjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgbXBlZ3RzOiBBZGQgcmVnaXN0ZXJlZCBtcGVnLXRzIHN0cmVhbSB0eXBlcwoJICBUaGVzZSBhcmUgdGhlIHZhbHVlcyBvZmZpY2lhbGx5IHJlZ2lzdGVyZWQgaW4gdGhlIGJhc2Ugc3BlY2lmaWNhdGlvbgoJICAoSC4yMjIuMC8xMzgxOC0xKS4gTGF0ZXIgb24gd2UgY2FuIGFkZCBvdGhlciBlbnVtcyBmb3Igb3RoZXIgdmFyaWFudHMKCSAgTm90ZSB0aGF0IHRoZSBlbnVtIGlzIG5vdCB1c2VkIGluIHRoZSBzdHJ1Y3R1cmUgZmllbGRzIChzdWNoIGFzIGEgcG10CgkgIHN0cmVhbSBzdHJlYW1fdHlwZSBmaWVsZCkgc2luY2UgaXQgY2FuIGNvbnRhaW4gdmFsdWVzIGZyb20gb3RoZXIKCSAgdmFyaWFudHMuCgoyMDEzLTA3LTA0IDAyOjEyOjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJICBjYW1lcmFiaW46IGV4YW1wbGVzOiBhZGQgbWlzc2luZyBsaWIgdG8gbWFrZWZpbGUKCSAgRml4ZXMgaW5pdGlhbGl6YXRpb24gb2Ygc2FtcGxlIGFwcGxpY2F0aW9uCgoyMDEzLTA3LTAzIDE5OjExOjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBwcmV2ZW50IGFzc2VydGlvbiB3aGVuIGR1cmF0aW9uIGlzIHVua25vd24KCSAgRHVyYXRpb24gZnJvbSBzZWdtZW50IGJlaW5nIHVua25vd24gaXMgYSBpc3N1ZSBmcm9tIHRoZSBNUEQgYW5kIG5vdAoJICBhIHByb2dyYW1taW5nIGlzc3VlLCBzbyB0aGUgYXNzZXJ0IGlzbid0IHVzZWZ1bCBoZXJlLiBJbnN0ZWFkIGNoZWNrCgkgIGFuZCByZXR1cm4gYW4gZXJyb3IgY29kZSBzbyB0aGUgY2FsbGVyIGNhbiBmYWxsYmFjayB0byBhbHRlcm5hdGl2ZXMKCjIwMTMtMDctMDMgMTk6MTE6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IEZpeCBldmVudCBsZWFrIHdoZW4gcGFyc2luZyBtYW5pZmVzdCBmYWlscwoJICBBbHdheXMgcmVtZW1iZXIgdG8gdW5yZWYgdGhlIGV2ZW50IGJlZm9yZSBwcm9jZWVkaW5nLCBpbiBib3RoIHN1Y2Nlc3MKCSAgYW5kIGZhaWx1cmUgY2FzZXMKCjIwMTMtMDctMDMgMTI6MzA6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogdmFyaW91cyBjbGVhbnVwcwoJICBSZW1vdmluZyB1bnVzZWQgZnVuY3Rpb24sIHJlcGxhY2luZyAvLyBjb21tZW50cyB3aXRoIC8qICovIGFuZAoJICByZXBsYWNpbmcgc29tZSBHU1RfV0FSTklORyB3aXRoIEdTVF9JTkZPL19ERUJVRyBhcyB0aGV5IGFyZSBtZWFudAoJICB0byBiZQoKMjAxMy0wNi0xMSAxNDoyODo1MyArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBDaGFuZ2UgZmlyc3QgZnJhZ21lbnQgc2VsZWN0aW9uIGZvciBsaXZlIHN0cmVhbXMKCSAgV2hlbiBkYXNoZGVtdXggc2VsZWN0cyBpdHMgZmlyc3QgZnJhZ21lbnQsIGl0IGFsd2F5cyBzZWxlY3RzIHRoZQoJICBmaXJzdCBmcmFnbWVudCBsaXN0ZWQgaW4gdGhlIG1hbmlmZXN0LiBGb3Igb24tZGVtYW5kIGNvbnRlbnQsCgkgIHRoaXMgaXMgdGhlIGNvcnJlY3QgYmVoYXZpb3VyLiBIb3dldmVyIGZvciBsaXZlIGNvbnRlbnQsIHRoaXMKCSAgYmVoYXZpb3VyIGlzIHVuZGVzaXJhYmxlIGJlY2F1c2UgdGhlIGZpcnN0IGZyYWdtZW50IGxpc3RlZCBpbiB0aGUKCSAgbWFuaWZlc3QgbWlnaHQgYmUgc29tZSBjb25zaWRlcmFibGUgdGltZSBiZWhpbmQgIm5vdyIuCgkgIFRoZSBjb21taXQgdXNlcyB0aGUgaG9zdCdzIGlkZWEgb2YgVVRDIGFuZCB0cmllcyB0byBmaW5kIHRoZQoJICBvbGRlc3QgZnJhZ21lbnQgdGhhdCBjb250YWlucyBzYW1wbGVzIGZvciB0aGlzIHRpbWUgb2YgZGF5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxNTA5CgoyMDEzLTA3LTAzIDE4OjUyOjE4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL21wZWd0cy5oOgoJICBtcGVndHM6IHNwbGl0IGR2YiBkZXNjcmlwdG9ycy9lbnVtcyBpbnRvIGEgc2VwYXJhdGUgZmlsZQoJICBXZSB3aWxsIGRvIHRoZSBzYW1lIG9uY2Ugd2UgaGF2ZSBBVFNDL0lTREIvLi4uIGRlc2NyaXB0b3IgcGFyc2luZwoKMjAxMy0wNy0wMyAxODo0NDo1NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIG1wZWd0czogRml4IFRPVCBzZWN0aW9uIHBhcnNpbmcKCSAgQW5kIHVzZSBpdCBpbiBleGFtcGxlCgoyMDEzLTA3LTAzIDE4OjAwOjU1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEZpeCBhIGxlYWsKCjIwMTMtMDctMDMgMTc6NTk6MDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSAgbXBlZ3RzOiBTcGxpdCBmaWxlcyBhbmQgaW1wbGVtZW50IGZyZWUgZnVuY3Rpb25zCgkgICogSW4gb3JkZXIgdG8gYXZvaWQgZnV0dXJlIGNsYXNoaW5nIGJldHdlZW4gdGFibGVfaWQgZm9yIHRoZSB2YXJpb3VzCgkgIG1wZWctdHMgdmFyaWFudHMsIHVzZSBkaWZmZXJlbnQgZW51bXMuCgkgICogSW4gb3JkZXIgdG8ga2VlcCBldmVyeXRoaW5nIGNsZWFuKGlzaCkgYW5kIGFsbG93IGZvciBjbGVhbmVyIGdyb3d0aCwKCSAgc3BsaXQgaW50byBkaWZmZXJlbnQgZmlsZXMgKHdpbGwgbmVlZCB0aGUgc2FtZSBmb3IgZGVzY3JpcHRvcnMgbGF0ZXIpCgkgICogQWxzbyAuLi4gaW1wbGVtZW50IGZyZWUgZnVuY3Rpb25zIGZvciBhbGwgdGFibGUgdHlwZXMgOikKCjIwMTMtMDctMDMgMTU6MzA6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogYmFjayB0byBmZWF0dXJlIGRldmVsb3BtZW50CgoyMDEzLTA3LTAzIDEwOjE2OjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBvbmx5IGdlbmVyYXRlIGluZGV4IHNlZ21lbnQgdXJpIGlmIHRoZXJlIGlzIGEgdGVtcGxhdGUKCSAgU2ltcGxlIGZpeCB0byBhdm9pZCBhbiBhc3NlcnRpb24uCgoyMDEzLTA2LTIxIDE3OjA5OjMwIC0wNjAwICBHcmVnIFJ1dHogPGdyZWdAZ3NyLXRlay5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBJbXBsZW1lbnQgaW5oZXJpdGFuY2UgZm9yIGNlcnRhaW4gTVBEIGVsZW1lbnRzCgkgIEFjY29yZGluZyB0byB0aGUgTVBFRy1EQVNIIHNwZWMsIGNlcnRhaW4gZWxlbWVudHMgKGkuZS4KCSAgU2VnbWVudEJhc2UsIFNlZ21lbnRUZW1wbGF0ZSwgYW5kIFNlZ21lbnRMaXN0KSBzaG91bGQgaW5oZXJpdAoJICBhdHRyaWJ1dGVzIGZyb20gdGhlIHNhbWUgZWxlbWVudHMgaW4gdGhlIGNvbnRhaW5pbmcgQWRhcHRhdGlvblNldAoJICBvciBQZXJpb2QuCgkgIFVwZGF0ZWQgdGhlIFNlZ21lbnRCYXNlLCBTZWdtZW50VGVtcGxhdGUsIGFuZCBTZWdtZW50TGlzdCBwYXJzZXJzCgkgIHRvIHByb3Blcmx5IGluaGVyaXQgYXR0cmlidXRlcyBmcm9tIHRoZSBjb3JyZXNwb25kaW5nIGVsZW1lbnRzIGluCgkgIEFkYXB0YXRpb25TZXQgYW5kL29yIFBlcmlvZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjY3NwoKMjAxMy0wNi0yMSAxNTo1MTo0NiAtMDYwMCAgR3JlZyBSdXR6IDxncmVnQGdzci10ZWsuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogUHJvcGVybHkgZGV0ZWN0IHByZXNlbmNlIG9mIHhtbCBhdHRyaWJ1dGVzCgkgIENvbnZlcnQgYWxsIHhtbCBhdHRyaWJ1dGUvY29udGVudCBwYXJzaW5nIGZ1bmN0aW9ucyB0byByZXR1cm4gYQoJICBib29sZWFuIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciBvciBub3QgdGhlIGF0dHJpYnV0ZS9jb250ZW50IHdhcwoJICBwcmVzZW50LiAgV2UgbmVlZCB0aGlzIGZpbmVyLWdyYWluZWQgY29udHJvbCBpbiBvcmRlciB0byBwcm9wZXJseQoJICBpbXBsZW1lbnQgdGhlIGluaGVyaXRhbmNlIHBvbGljaWVzIGRlc2NyaWJlZCBpbiB0aGUgc3BlYwoJICBBbHNvIGZpeGVkIHNldmVyYWwgbWVtb3J5IGxlYWsgY29uZGl0aW9ucyB3aGVuIGhhbmRsaW5nIGVycm9ycyBpbgoJICB0aGUgeG1sIGF0dHJpYnV0ZS9jb250ZW50IHBhcnNpbmcgZnVuY3Rpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNjc3CgoyMDEzLTA3LTAyIDIxOjMxOjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBjaGFuZ2UgZGVidWcgbWVzc2FnZSBmcm9tIHdhcm5pbmcgdG8gaW5mbwoJICBJdCBpc24ndCBhIHdhcm5pbmcvaXNzdWUuCgoyMDEzLTA3LTAyIDIxOjI4OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBwcm90ZWN0IGZyb20gYWNjZXNzIHRvIGVtcHR5IGxpc3QgZGF0YQoJICBDaGVjayBpZiB0aGUgbGlzdCBoYXMgZWxlbWVudHMgYmVmb3JlIHRyeWluZyB0byBhY2Nlc3MgdGhlIGxhc3Qgb25lCgkgIGFuZCBjYXVzaW5nIGEgc2VnZmF1bHQKCjIwMTMtMDctMDIgMjM6MTY6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogU2ltcGxpZnkgbG9ja2luZyB0byBmaXggZGVhZGxvY2tzCgkgIFVzZSBvYmplY3QgbG9jayB0byBwcm90ZWN0IHZhcmlhYmxlcyBmcm9tIGNvbmN1cnJlbnQgYWNjZXNzIGFuZAoJICB1c2UgZG93bmxvYWRfbG9jayB0byBvbmx5IGFsbG93IG9uZSBkb3dubG9hZCBydW5uaW5nCgoyMDEzLTA3LTAyIDE2OjA0OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBwcm90ZWN0IGFnYWluc3QgZmFpbGVkIGhlYWRlciBkb3dubG9hZHMKCSAgQXZvaWRzIGNyaXRpY2FscyB3aGVuIGRvd25sb2FkZWQgZnJhZ21lbnQgaXMgTlVMTAoKMjAxMy0wNy0wMyAxMzo1OTowNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBHc3RNcGVnVFMgPT4gR3N0TXBlZ1RzCgoyMDEzLTA3LTAzIDEzOjU3OjU3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuYzoKCSogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5oOgoJKiBzeXMvZHZiL2NhbWRldmljZS5jOgoJKiBzeXMvZHZiL2NhbWRldmljZS5oOgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuaDoKCSogc3lzL2R2Yi9jYW11dGlscy5jOgoJKiBzeXMvZHZiL2NhbXV0aWxzLmg6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmI6IEdzdE1wZWdUUyA9PiBHc3RNcGVnVHMKCjIwMTMtMDctMDMgMTM6NTc6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBHc3RNcGVnVFMgPT4gR3N0TXBlZ1RzCgoyMDEzLTA3LTAzIDEzOjU2OjIyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkgIGxpYnMvbXBlZ3RzOiBSZW5hbWUgR3N0TXBlZ1RTID0+IEdzdE1wZWdUcwoJICBTb3JyeSBmb3IgdGhpcyA6KCBCdXQgdGhpcyBtYWtlcyBpdCBtb3JlIGluIHN5bmMgd2l0aCBleHBlY3RlZCB0eXBlCgkgIG5hbWluZyBpbiBnb2JqZWN0IChpLmUuIENhbWVsQ2FzZSBhbmQgbm90IENhbWVsTUFZQkVDYXNlKS4KCSAgQWxzbyBzcGxpdCBkZXNjcmlwdG9yIHR5cGUgZW51bXMgaW50byB0aGUgZGlmZmVyZW50IHZhcmlhbnRzOgoJICAqIElTTyBILjIyMi4wIC8gMTM4MTgtMSAoaS5lLiBzdGFuZGFyZCBtcGVnLXRzKQoJICAqIERWQgoJICAqIEFUU0MKCSAgKiBJU0RCCgkgICogbWlzY2VsbGFuZW91cwoJICBUaGlzIHdpbGwgYXZvaWQgZnV0dXJlIGNsYXNoZXMgd2hlbiBzcGVjcyB1c2UgdGhlIHNhbWUgZGVzY3JpcHRvciB0eXBlCgoyMDEzLTA3LTAxIDA4OjM1OjI2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogQWRkIGFuIGV4YW1wbGUgb2YgYSBtcGVnLXRzIFNJIGV4dHJhY3RvcgoJICBTZXJ2ZXMgYXMgYW4gZXhhbXBsZSBvZiB1c2FnZSBvZiB0aGUgbmV3IG1wZWd0cyBsaWJyYXJ5IGZyb20gYW4KCSAgYXBwbGljYXRpb24uCgkgIFdpbGwgcGFyc2UvZHVtcCBhbGwgc2VjdGlvbnMgcmVjZWl2ZWQgb24gYSBidXMuCgkgIFVzYWdlIGlzIC4vdHNwYXJzZSA8YW55IGdzdC1sYXVuY2ggbGluZSB1c2luZyB0c2RlbXV4IG9yIHRzcGFyc2U+CgkgIEV4YW1wbGVzOgoJICAuL3RzcGFyc2UgZmlsZTovLy9zb21lL21wZWd0c2ZpbGUgISB0c3BhcnNlICEgZmFrZXNpbmsKCSAgLi90c3BhcnNlIGR2YjovL0NIQU5ORUwgISB0c3BhcnNlICEgZmFrZXNpbmsKCSAgLi90c3BhcnNlIHBsYXliaW4gdXJpPWR2YjovL0NIQU5ORUwKCSAgLi90c3BhcnNlIHBsYXliaW4gdXJpPWZpbGU6Ly8vc29tZS9tcGVndHNmaWxlCgkgIC4uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNzI0CgoyMDEzLTA2LTIzIDA4OjQ0OjA4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuYzoKCSogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5oOgoJKiBzeXMvZHZiL2NhbWRldmljZS5jOgoJKiBzeXMvZHZiL2NhbWRldmljZS5oOgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuaDoKCSogc3lzL2R2Yi9jYW11dGlscy5jOgoJKiBzeXMvZHZiL2NhbXV0aWxzLmg6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmI6IFN3aXRjaCB0byBNUEVHLVRTIFNJIGxpYnJhcnkKCSAgQWxzbyBzZXJ2ZXMgYXMgYW4gZXhhbXBsZSBvZiB1c2luZyBtcGVndHMgbGlicmFyeSBmcm9tIGEgcGx1Z2luCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI3MjQKCjIwMTMtMDYtMjMgMDg6NDM6MjMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmM6CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0dHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBTd2l0Y2ggdG8gTVBFRy1UUyBTSSBsaWJyYXJ5CgkgICogT25seSBtcGVnLXRzIHNlY3Rpb24gcGFja2V0aXphdGlvbiByZW1haW5zLgoJICAqIEltcHJvdmUgY29kZSB0byBkZXRlY3QgZHVwbGljYXRlZCBzZWN0aW9ucyBhcyBlYXJseSBhcyBwb3NzaWJsZQoJICAqIEFkZCBGSVhNRSBmb3IgdmFyaW91cyBpc3N1ZXMgdGhhdCBuZWVkIGZpeGluZyAoYnV0IGFyZSBub3QgcmVncmVzc2lvbnMpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI3MjQKCjIwMTMtMDYtMjMgMDg6NDE6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL21wZWd0cy5oOgoJICBnc3QtbGliczogTmV3IE1wZWctVFMgc3VwcG9ydCBsaWJyYXJ5CgkgIEV4cG9zZXMgdmFyaW91cyBNUEVHLVRTIChJU08vSUVDIDEzODE4LTEpIGFuZCBEVkIgKEVOIDMwMCA0NjgpIFNlY3Rpb24KCSAgSW5mb3JtYXRpb24gYXMgd2VsbCBhcyBkZXNjcmlwdG9ycyBmb3IgdXNhZ2UgYnkgcGx1Z2lucyBhbmQgYXBwbGljYXRpb25zLgoJICBUaGlzIHJlcGxhY2VzIGVudGlyZWx5IHRoZSBvbGQgR3N0U3RydWN0dXJlLWJhc2VkIHN5c3RlbSBmb3IgY29udmV5aW5nCgkgIG1wZWctdHMgaW5mb3JtYXRpb24gdG8gYXBwbGljYXRpb25zIGFuZCBvdGhlciBwbHVnaW5zLgoJICBQYXJzaW5nIGFuZCB2YWxpZGF0aW9uIGlzIGRvbmUgb24gYSAid2hlbi1uZWVkZWQiIGJhc2lzLiBUaGlzIGVuc3VyZXMKCSAgdGhlIG1pbmltYWwgb3ZlcmhlYWQgZm9yIGVsZW1lbnRzIGFuZCBhcHBsaWNhdGlvbnMgY3JlYXRpbmcgYW5kIHVzaW5nCgkgIHNlY3Rpb25zIGFuZCBkZXNjcmlwdG9ycy4KCSAgU2luY2UgYWxsIGluZm9ybWF0aW9uIGlzIG1hZGUgYXZhaWxhYmxlLCB0aGlzIGFsc28gYWxsb3dzIGFwcGxpY2F0aW9ucwoJICB0byBwYXJzZSBjdXN0b20gc2VjdGlvbnMgYW5kIGRlc2NyaXB0b3JzLgoJICBSaWdodCBub3cgdGhlIGxpYnJhcnkgaXMgdGFyZ2V0ZWQgdG93YXJkcyBwYXJzaW5nLCBidXQgdGhlIHN0cnVjdHVyZXMKCSAgY291bGQgYmUgdXNlZCBpbiB0aGUgZnV0dXJlIHRvIGFsbG93IGFwcGxpY2F0aW9ucyB0byBjcmVhdGUgYW5kIGluamVjdAoJICBzZWN0aW9ucyBhbmQgZGVzY3JpcHRvcnMgKGZvciB1c2FnZSBieSB2YXJpb3VzIG1wZWctdHMgZWxlbWVudHMpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNzI0CgoyMDEzLTA2LTEwIDE4OjAxOjE0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IEhhbmRsZSBjYXNlIHdpdGhvdXQgYW4gaW5pdGlhbGl6YXRpb24gc2VnbWVudAoJICBJZiBubyBpbml0aWFsaXphdGlvbiBzZWdtZW50IGlzIGRlZmluZWQsIHRoZW4gZG9uJ3QgcHJpbnQgYQoJICBjcml0aWNhbCBvciBhIHdhcm5pbmcsIGp1c3QgaWdub3JlIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxOTYxCgoyMDEzLTA3LTAxIDE4OjIyOjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaDogc2F2ZSAxIG9yIDIgc3RyaW5nIGNvcGllcyB3aGVuIGdldHRpbmcgZnJhZ21lbnQgdXJpcwoJICBPbmx5IGNyZWF0ZSBuZXcgc3RyaW5nIGlmIHJlcXVpcmVkLCBzYXZpbmcgbWF5YmUgMSBvciAyIHN0ciBjb3BpZXMgcGVyCgkgIGZyYWdtZW50LgoKMjAxMy0wNy0wMSAxODoxNTo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJICBkb2NzOiBhZGQgdXJpZG93bmxvYWRlciBsaWIgdG8gZ3RrLWRvYyBsaWJzCgkgIGZpeGVzIHJ1bnRpbWUgbGlua2luZyBlcnJvciBvbiB3aW5kb3dzCgoyMDEzLTA3LTAxIDE3OjUwOjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGVhY2ggZnJhZ21lbnQgY2FuIGhhdmUgaXRzIG93biBpbmRleAoJICBSZXR1cm4gaW5kZXggVVJJL3JhbmdlIHRvIGRhc2hkZW11eCBmcm9tIHRoZSBtcGRwYXJzZXIgdG8gYmUgYWJsZQoJICB0byBkb3dubG9hZCBhbmQgZGVsaXZlciB0aGVtIGRvd25zdHJlYW0gZm9yIHBsYXliYWNrLgoKMjAxMy0wNy0wMSAxMzoxOToxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBoYW5kbGUgdG9wLWxldmVsIGluZGV4IHVybHMKCSAgUGFyc2UgYW5kIHByb3ZpZGUgYWNjZXNzIHRvIHRvcC1sZXZlbCBpbmRleCBzZWdtZW50cyBpZiBhdmFpbGFibGUuCgkgIGRhc2hkZW11eCBzaG91bGQgcHVzaCB0aG9zZSB3aGVuZXZlciBhIGhlYWRlciBpcyBwdXNoZWQuCgkgIEZpeGVzICM3MDA0ODkKCjIwMTMtMDUtMDYgMTc6MDg6NTQgLTA0MDAgIEFydGh1ciBTaGlwa293c2tpIDxhcnRAdmlkZW9uLWNlbnRyYWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogRml4IGNyaXRpY2FsIGVycm9yIG91dHB1dCB3aGVuIEluaXRpYWxpemF0aW9uIGhhcyBubyBVUkwKCSAgSXNzdWUgZXZpbmNlZCBieQoJICBodHRwOi8veXQtZGFzaC1tc2UtdGVzdC5jb21tb25kYXRhc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9jYXItMjAxMjA4MjctbWFuaWZlc3QubXBkCgkgIHdoaWNoIHByb2R1Y2VzIG91dHB1dCBsaWtlICoqIChnc3QtbGF1bmNoLTEuMDo4MDYwKTogQ1JJVElDQUwgKio6CgkgIGdzdF9tcGRwYXJzZXJfZ2V0X2luaXRpYWxpemF0aW9uVVJMOiBhc3NlcnRpb24gYEluaXRpYWxpemF0aW9uVVJMLT5zb3VyY2VVUkwKCSAgIT0gTlVMTCcgZmFpbGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA0ODkKCjIwMTMtMDctMDEgMTQ6MzU6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IHByZXZlbnQgY3Jhc2ggYnkgY2hlY2tpbmcgaWYgdGhlIHNlZ21lbnQgbm9kZSBpcyBwcmVzZW50CgkgIERvIG5vdCB0cnkgdG8gYWNjZXNzIHJhbmdlIGRhdGEgaWYgdGhlcmUgaXMgbm8gc2VnbWVudCBub2RlCgoyMDEzLTA2LTI1IDE4OjM0OjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9NYWtlZmlsZS5hbToKCSogZXh0L2Rhc2gvZ3N0ZGFzaF9kZWJ1Zy5oOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2g6IHVzZSBzYW1lIGRlYnVnIGNhdGVnb3J5IGZvciBkYXNoZGVtdXggYW5kIHRoZSBtcGQgcGFyc2VyCgkgIE1ha2VzIGRlYnVnZ2luZyBlYXNpZXIKCjIwMTMtMDYtMjAgMDM6NTI6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogYWRkIHN1cHBvcnQgZm9yIHJhbmdlIGJhc2VkIHNlZ21lbnRzCgkgIFVzZSB0aGUgbWVkaWFSYW5nZSBpbmZvcm1hdGlvbiBhbmQgcGFzcyBpdCB0byB0aGUgdXJpZG93bmxvYWRlcgoJICB0byBjb3JyZWN0bHkgZG93bmxvYWQgb25seSB0aGUgc2VnbWVudCByYW5nZXMgaW5kaWNhdGVkIGluIHRoZQoJICBNUEQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjIwNgoKMjAxMy0wNi0xOSAxODoyODoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmg6CgkgIHVyaWRvd25sb2FkZXI6IGFkZCBzdXBwb3J0IGZvciByYW5nZSBiYXNlZCBkb3dubG9hZHMKCSAgQWRkcyBhIG5ldyBBUEkgZ3N0X3VyaV9kb3dubG9hZGVyX2ZldGNoX3VyaV93aXRoX3JhbmdlIHRoYXQgYWxsb3dzCgkgIGRvd25sb2FkaW5nIG9ubHkgYSBieXRlIHJhbmdlIGZyb20gYW4gVVJJLiBJdCB1c2VzIGEgc2VlayBldmVudAoJICBzZW50IHRvIHRoZSBzb3VyY2UgdG8gc2lnbmFsIHRoZSByYW5nZSB0byBiZSBkb3dubG9hZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMjA2CgoyMDEzLTAzLTA5IDAxOjQ5OjIzICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlcjogRml4IHRoZSByZXR1cm4gdmFsdWUgdHlwZSBmb3IgdGhlIFNFSSBwYWx5bG9hZCBwYXJzaW5nIG1ldGhvZHMuCgkgIFRoZSByZXR1cm4gdmFsdWUgdHlwZSBvZiBTRUkgcGF5bG9hZCBwYXJzaW5nIGZ1bmN0aW9ucwoJICBhcmUgR3N0SDI2NFBhcnNlclJlc3VsdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTQ3NQoKMjAxMy0wNi0yOCAyMDoxNTowOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwOiBEb24ndCByZXF1aXJlIGEga2V5IGlmIGJvdGggYXV0aCBhbmQgY2lwaGVyIGFyZSBudWxsCgoyMDEzLTA2LTI4IDIwOjMyOjM2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvTWFrZWZpbGUuYW06CgkqIGV4dC9zcnRwL2dzdHNydHAuYzoKCSogZXh0L3NydHAvZ3N0c3J0cC5oOgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuaDoKCSAgc3J0cDogTW92ZSB0aGUgZW51bXMgdG8gdGhlIGNvbW1vbiBoZWFkZXIKCSAgVGhlIHR5cGVzIGFyZSB1c2VkIGluIGJvdGggdGhlIGVuY29kZXIgYW5kIGRlY29kZXIKCjIwMTMtMDYtMjggMjA6MTM6MzggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHA6IFJlbW92ZSB1bnVzZWQgY29kZQoKMjAxMy0wNi0yOCAxMjoyNTo1OSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogYWRkIHRoZSBidWlsZCBwcmVmaXggcGF0aCBpbiB0aGUgc2VhcmNoIGRpcnMKCjIwMTMtMDYtMjUgMTA6MjY6MjQgLTA2MDAgIEdyZWcgUnV0eiA8Z3JlZ0Bnc3ItdGVrLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IENsZWFudXAgbWVtb3J5IGFsbG9jYXRpb24vZGVhbGxvY2F0aW9uCgkgIEVuc3VyZSB0aGF0IGdfZnJlZS94bWxGcmVlIGlzIHVzZWQgY29ycmVjdGx5IGJhc2VkIG9uIGhvdyB0aGUKCSAgbWVtb3J5IHdhcyBhbGxvY2F0ZWQuCgkgIFdoZW4gZGVhbGxvY2F0aW5nIEdMaXN0cywgdGhlcmUgd2VyZSBtYW55IHBsYWNlcyB0aGF0IHdlcmUgdXNpbmcKCSAgZ19saXN0X2ZvcmVhY2ggYW5kIGdfbGlzdF9mcmVlLiAgQ29udmVydGVkIHRoZXNlIG9jY3VycmVuY2VzIHRvCgkgIGNhbGwgZ19saXN0X2ZyZWVfZnVsbC4KCSAgQWRkIE5VTEwgY2hlY2tzIHRvIGFsbCB4bWxGcmVlIGNhbGxzIHNpbmNlIHRoZSBkb2N1bWVudGF0aW9uIGRvZXMKCSAgbm90IGd1YXJhbnRlZSB0aGF0IHBhc3NpbmcgTlVMTCBpcyBzYWZlCgkgIEluIHBsYWNlcyB3aGVyZSB3ZSBhcmUgc3RyZHVwJ2luZyBtZW1vcnkgYWxsb2NhdGVkIGJ5IGxpYnhtbDIsCgkgIGNoYW5nZWQgdGhvc2UgY2FsbHMgdG8gdXNlIHhtbE1lbVN0cmR1cCgpLgoJICBUaGVyZSB3ZXJlIHNldmVyYWwgcGxhY2VzIHdoZXJlIHdlIHdlcmUgbWlzc2luZyBnX3NsaWNlX2ZyZWUgd2hlbgoJICBkZWFsbG9jYXRpbmcgYSB0b3AtbGV2ZWwgbm9kZSBzdHJ1Y3R1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI4MzcKCjIwMTMtMDYtMjQgMTM6MDI6NDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkgIG1wZWdkZXNjOiBFeHRlbmQgbGlzdCBvZiBrbm93biBkZXNjcmlwdG9ycwoJICBBZGQgdGhlIHZhcmlvdXMgQVRTQyBvbmVzCgoyMDEzLTA2LTI0IDA4OjI0OjU4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IE9ubHkgd2FybiBmb3IgYWRkZWQgc3RyZWFtcyB3aGVuIG5lZWRlZAoJICBXZSB1c2UgYWRkX3N0cmVhbShzdHJlYW1fdHlwZTotMSkgdG8gZW5zdXJlIGEgcHJvZ3JhbXMnIFBDUiBTdHJlYW0gaXMKCSAgYWxzbyB0YWtlbiBpbnRvIGFjY291bnQuIEZvciBtb3N0IHByb2dyYW1zIHRoaXMgd2lsbCByZS11c2UgYW4KCSAgZXhpc3RpbmcgRVMgc3RyZWFtLgoJICBTbyBvbmx5IHdhcm4gdGhhdCB3ZSBhcmUgcmUtYWRkaW5nIGEgc3RyZWFtIGlmIGl0IHdhcyBhbHJlYWR5IHByZXNlbnQKCSAgQU5EIGl0IGlzIG5vdCB0byBlbnN1cmUgdGhlIFBDUiBzdHJlYW0gaXMgdGFrZW4gaW50byBhY2NvdW50LgoKMjAxMy0wNi0yMyAxNToxMjo1OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBTcGVlZCB1cCBzZWN0aW9uIHBhcnNpbmcKCSAgT25seSBjcmVhdGUgc3VidGFibGVzIHdoZW4gbmVlZGVkLiBJdCB3YXMgcHJldmlvdXNseSBjcmVhdGluZyBvbmUgZXZlcnkKCSAgc2luZ2xlIHRpbWUgLi4uIHRvIGNoZWNrIGlmIG9uZSB3YXMgcHJlc2VudC4KCSAgQW5kIHNwZWVkIHVwIGNvZGUgdG8gZGV0ZWN0IHdoZXRoZXIgYSBzdWJ0YWJsZSB3YXMgYWxyZWFkeSBwcmVzZW50IG9yIG5vdC4KCSAgT3ZlcmFsbCBtYWtlcyBzZWN0aW9uIHB1c2hpbmcgMiB0aW1lcyBmYXN0ZXIuCgoyMDEzLTA2LTI0IDA3OjQwOjIwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJICBtcGVnZGVzYzogRXh0ZW5kIGxpc3Qgb2Yga25vd24gZGVzY3JpcHRvcnMKCSAgRnJvbSBJVFUtVCBIMjIyLjAgKDA2LzIwMTIpLiBGcmVlbHkgYXZhaWxhYmxlIGZyb20gaXR1LmludAoKMjAxMy0wNi0yMyAxNToyNjoxNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBTcGVlZHVwIHBhY2tldCBwYXJzaW5nCgkgIEF2b2lkIHVzaW5nIGJpdHNoaWZ0aW5nIHdoZXJlIG5vdCBuZWVkZWQuCgkgIFNwZWVkcyB1cCBwYWNrZXQgcGFyc2luZyBieSAzJSAodGhpcyBpcyAqdGhlKiBob3RzcG90IG9mIG1wZWctdHMgZWxlbWVudHMpLgoKMjAxMy0wNi0yMiAwODo1NzoxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IEZpeCBndGstZG9jCgkgIERldGVjdGVkIGJ5IGluaXRpYWwgcHJlLXJ1biBvZiBnaS1zY2FubmVyLgoKMjAxMy0wNi0yMyAxMToyOToyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2RhYWxhL2dzdGRhYWxhLmM6CgkqIGV4dC9kYWFsYS9nc3RkYWFsYWRlYy5jOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFkZWMuaDoKCSAgZGFhbGFkZWM6IEFkZCBkZWNvZGVyIGVsZW1lbnQKCjIwMTMtMDYtMjMgMTA6MDQ6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2RhYWxhL2dzdGRhYWxhLmM6CgkqIGV4dC9kYWFsYS9nc3RkYWFsYWVuYy5jOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFlbmMuaDoKCSAgZGFhbGFlbmM6IEFkZCBlbmNvZGVyIGVsZW1lbnQKCjIwMTMtMDYtMjIgMTE6Mjc6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZGFhbGEvTWFrZWZpbGUuYW06CgkqIGV4dC9kYWFsYS9nc3RkYWFsYS5jOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFkZWMuYzoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZGVjLmg6CgkqIGV4dC9kYWFsYS9nc3RkYWFsYWVuYy5jOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFlbmMuaDoKCSAgZGFhbGE6IEluaXRpYWwgdmVyc2lvbiBvZiBhIERhYWxhIHBsdWdpbgoKMjAxMy0wNi0yMyAwOTowNToyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9NYWtlZmlsZS5hbToKCSAgc3J0cDogRml4IGRpc3QKCSAgVGhlIGVudW1zIHNob3VsZCBub3QgYmUgZGlzdC1lZCBhbmQgaW5zdGVhZCBiZSByZS1nZW5lcmF0ZWQgd2hlbgoJICBjb21waWxpbmcuCgoyMDEzLTA2LTE5IDIwOjM5OjU0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEJldHRlciBkZXRlY3QgYWxyZWFkeSBzZWVuIHNlY3Rpb24KCSAgSW4gc29tZSBjYXNlcyAoTklUIG9uIGhpZ2hseS1wb3B1bGF0ZWQgRFZCLUMgb3BlcmF0b3IgZm9yIGV4YW1wbGUpLCB0aGVyZQoJICB3aWxsIGJlIG1vcmUgdGhhbiBvbmUgc2VjdGlvbiBlbWl0dGVkIGZvciB0aGUgc2FtZSBzdWJ0YWJsZSBhbmQgdmVyc2lvbgoJICBudW1iZXIuCgkgIEluIG9yZGVyIG5vdCB0byBsb3NlIHRob3NlIHVwZGF0ZXMgZm9yIHRoZSBzYW1lIHZlcnNpb24gbnVtYmVyLCB3ZSBjaGVja2VkCgkgIGFnYWluc3QgdGhlIENSQyBvZiB0aGUgcHJldmlvdXMgc2VjdGlvbiB3ZSBwYXJzZWQuCgkgIFRoZSBwcm9ibGVtIGlzIHRoYXQsIHdoaWxlIGl0IG1hZGUgc3VyZSB3ZSBkaWRuJ3QgbG9zZSBhbnkgaW5mb3JtYXRpb24sIGl0CgkgIGFsc28gbWVhbnQgdGhhdCBpZiB0aGUgc2FtZSBzZWN0aW9uIGNhbWUgYmFjayAoc2FtZSB2ZXJzaW9uLCBzYW1lIENSQykgbGF0ZXIKCSAgb24gd2Ugd291bGQgcmUtcHJvY2VzcyBpdCwgcmUtcGFyc2UgaXQgYW5kIHJlLWVtaXQgaXQuCgkgIFRoaXMgdmVyc2lvbiBpbXByb3ZlcyBvbiB0aGF0IGJ5IGtlZXBpbmcgYSBsaXN0IG9mIHByZXZpb3VzbHkgb2JzZXJ2ZWQgQ1JDCgkgIGZvciBpZGVudGljYWwgUElEL3N1YnRhYmxlL3ZlcnNpb24tbnVtYmVyIGFuZCB3aWxsIG9ubHkgcHJvY2VzcyBzZWN0aW9ucyBpZgoJICB0aGV5IHJlYWxseSB3ZXJlIG5ldmVyIHNlZW4gaW4gdGhlIHBhc3QgKGFzIG9wcG9zZWQgdG8ganVzdCBiZWZvcmUpLgoJICBPbiBhIDMwcyBjbGlwLCB0aGlzIGJyaW5ncyBkb3duIHRoZSBudW1iZXIgb2YgTklUIHNlY3Rpb24gcGFyc2luZyBmcm9tIDQ1NDEKCSAgZG93biB0byA2NjMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTQ0NzkKCjIwMTMtMDYtMjAgMjI6MTI6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvd2luc2NyZWVuY2FwL01ha2VmaWxlLmFtOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5oOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5oOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdHdpbnNjcmVlbmNhcC5oOgoJICB3aW5zY3JlZW5jYXA6IEluaXRpYWwgcG9ydCB0byAxLjAKCjIwMTMtMDYtMjAgMDk6NTI6MzEgKzAyMDAgIFhhdmkgQXJ0aWdhcyA8eGFydGlnYXNAZmx1ZW5kby5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogRml4IGNvcHlpbmcgb2YgcmF3IHZpZGVvIGZyYW1lcyBvbiBTYW1zdW5nIEdhbGF4eSBTMyB3aXRoIEV4eW5vcyA0IFNPQwoKMjAxMy0wNi0xOSAxMjo1Mjo1MiAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1ZSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiB1bnJlZiBidWZmZXIgaWYgbm8gY2xpZW50cyBhcmUgY29ubmVjdGVkCgkgIElmIG5vIGNsaWVudCBoYXMgcmVjZWl2ZWQgdGhlIGNvbW1hbmQsIHVucmVmIHRoZSBidWZmZXIuIFRoaXMgd2lsbAoJICBtYWtlIHN1cmUgdGhhdCB0aGUgc2hhcmVkIG1lbW9yeSBhcmVhIGRvZXMgbm90IGdldCBmaWxsZWQgd2l0aCBidWZmZXJzCgkgIG5vIG9uZSBrbm93cyBhYm91dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjY4NAoKMjAxMy0wNi0xOSAxOToyOToyNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBTcGVlZCB1cCBOSVQgcGFyc2luZwoJICBBdm9pZCBkdXBsaWNhdGluZyB0aGUgZGVsaXZlcnkgc3RydWN0dXJlLCBhbmQgaW5zdGVhZCBnaXZlIGl0IHRvIHRoZQoJICByZWNlaXZpbmcgY29udGFpbmVyLgoKMjAxMy0wNi0wNyAxMjo1MzowOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndGJhc2U6IHNpbXBsaWZ5IGNvZGUKCSAgV2UgZG9uJ3QgbmVlZCBnZW5lcmljIG1ldGhvZHMgZm9yIHB1c2gvZmx1c2ggc2luY2Ugd2Uga25vdyBhbGwgdGhlCgkgIHN1YmNsYXNzIHRoYXQgd2UgY29udHJvbAoKMjAxMy0wNi0wNSAxNTo1MTo1OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEZpeCBmb3IgY29tcGlsaW5nIHdpdGhvdXQgR1NUX0RFQlVHCgkgIFByb3RlY3QgZGVidWctb25seSB2YXJpYWJsZXMvdXNhZ2UsIGFuZCBpbiBvbmUgY2FzZSByZW1vdmUgYSB1c2VsZXNzCgkgIHZhcmlhYmxlLgoKMjAxMy0wNi0xNyAwODoxNTo1NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmg6CgkgIHRzcGFyc2U6IEVuc3VyZSBpbml0aWFsIGV2ZW50cyBhcmUgc2VudCBpbiB0aGUgcmlnaHQgb3JkZXIKCSAgRmlyc3Qgc2VuZCBzdHJlYW0tc3RhcnQsIHRoZW4gY2FwcywgdGhlbiBzZWdtZW50LgoJICBUaGUgc2VnbWVudCB3ZSBwdXNoIGlzIGZyb20gdXBzdHJlYW0gaW4gcHVzaC1tb2RlLiBJZiB3ZSB3b3JrIGluIHB1bGwtbW9kZQoJICB0aGVuIHdlIGluaXRpYWxpemUgdGhlIGJhc2Ugc2VnbWVudCB0byBCWVRFUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjQyMgoKMjAxMy0wNi0xOCAxMjoyOTo0MSAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1ZSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiBwcm9wYWdhdGUgZXZlbnRzIHRvIGJhc2VzaW5rIGNsYXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI1OTcKCjIwMTMtMDYtMTggMTM6NDc6NTQgKzAyMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSAgd2F5bGFuZDogQWRkIHN1cHBvcnQgZm9yIFJHQnggYW5kIFJHQkEgZm9ybWF0cwoJICBXYXlsYW5kIGludGVyZmFjZSBjb3VsZCBvZmZlciB0d28gYnVmZmVycyBwaXhlbHMgZm9ybWF0czogV0xfU0hNX0ZPUk1BVF9YUkdCODg4OCBhbmQgV0xfU0hNX0ZPUk1BVF9BUkdCODg4OC4KCSAgVXBkYXRlIHdheWxhbmRzaW5rIHRvIHN1cHBvcnQgdGhlbSBhbmQgY2hlY2sgaWYgdGhlIGZvcm1hdCBpcyByZWFsbHkgYXZhaWxhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMTEyCgoyMDEzLTA2LTE4IDEyOjQ2OjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkgIG9wZW5jdjogZml4IENGTEFHUyBvcmRlciBhbmQgYWRkIHBsdWdpbnMgYmFzZSBsaWJzIGluY2x1ZGVzIHRvIENYWEZMQUdTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIyOTcKCjIwMTMtMDYtMTUgMDA6MTI6MTggKzAyMDAgIEFsYmFuIEJyb3dhZXlzIDxwcmFoYWxAeWFob28uY29tPgoKCSogZXh0L29wZW5jdi9nc3RzZWdtZW50YXRpb24uY3BwOgoJKiBleHQvb3BlbmN2L2dzdHNlZ21lbnRhdGlvbi5oOgoJICBvcGVuY3Y6IGZpeGVzIGJ1aWxkIGJ5IG1vdmluZyB0aGUgYysrIGhlYWRlciB0byBnc3RzZWdtZW50YXRpb24uY3BwCgkgIEZpeGVzOgoJICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gZ3N0c2VnbWVudGF0aW9uLmg6NTE6MCwKCSAgZnJvbSBnc3RvcGVuY3YuYzo0MjoKCSAgL3Vzci9pbmNsdWRlL29wZW5jdjIvdmlkZW8vYmFja2dyb3VuZF9zZWdtLmhwcDo0NzoxNjogZmF0YWwgZXJyb3I6IGxpc3Q6CgkgIE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKCSAgI2luY2x1ZGUgPGxpc3Q+CgkgIF4KCSAgY29tcGlsYXRpb24gdGVybWluYXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjI5NwoKMjAxMy0wNi0xOCAxMzozMzoxNCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IGZpeCByZWxlYXNlIG9mIG51bGwgcG9pbnRlcgoKMjAxMy0wNi0xOCAxMzoxNzo1MiArMDIwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkgIGFwcGxlbWVkaWE6IGNvcmVtZWRpYWJ1ZmZlcjogZml4IGxlYWtpbmcgb2YgYXBwbGUgbWVkaWEgc3RydWN0cwoJICByZW1lbWJlciB0byByZWxlYXNlIHRoZSBhcHBsZSdzIGFwaSBidWZmZXJzIHRvIGF2b2lkIGh1Z2UgbGVha2luZwoKMjAxMy0wNi0xOCAxMzowMjo0MiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhOiBtb3ZlIGRlZmluZXMgdG8gQ1BQRkxBR1MgZm9yIG9iai1jIGZpbGVzCgoyMDEzLTA2LTExIDExOjU0OjQxICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSAgZHNob3dhdWRpb3NyYzogZml4IGF1ZGlvY2FwdHVyZSBwcm9kdWNpbmcgc2lsZW5jZQoJICBDb25maWd1cmUgdGhlIGNhcHR1cmUgbGF0ZW5jeSB1c2luZyB0aGUgSUFNQnVmZmVyTmVnb3RpYXRpb24KCSAgaW50ZXJmYWNlIGFuZCB0cnkgdG8gcmVzcGVjdCB0aGUgY29uZmlndXJlZCBsYXRlbmN5LXRpbWUgYW5kIGJ1ZmZlci10aW1lCgoyMDEzLTA2LTE0IDE0OjUyOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBNYWtlIHN1cmUgdGhlIGJ1ZmZlciBpcyB3cml0YWJsZSBiZWZvcmUgd2UgYWRkIHRoZSBNUEVHIHZpZGVvIG1ldGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjE3NAoKMjAxMy0wNi0xMyAxMzozNDozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJICBidWlsZDogRml4IHNvbWUgYXV0b21ha2Ugd2FybmluZ3MKCjIwMTMtMDUtMjcgMjI6MjI6MzIgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgdHNkZW11eDogZml4IE0yVFMgc3RyZWFtIHJlc3luYwoJICBTeW5jIGJ5dGUgc2NhbiBpcyBpbmNvcnJlY3QgZm9yIE0yVFMgc3RyZWFtcyBiZWNhdXNlIHRoZSB0aW1lc3RhbXAgNAoJICBieXRlcyB3ZXJlIG5vdCBpbmNsdWRlZCBpbiB0aGUgZmx1c2ggc2l6ZS4gVGhpcyBjYW4gcmVzdWx0IGluIGFuCgkgIGluZmluaXRlIGxvb3AuCgkgIFJld29yayB0aGUgc2NhbiBjb2RlIHRvIGJlIGNsZWFyZXIgYW5kIHdvcmsgaW4gYWxsIGNhc2VzLgoKMjAxMy0wNS0yNCAxMDo1OTo1NSArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBtb3ZlIHNvbWUgZGVidWcgcHJpbnRzIGF0IHRoZSBsb2cgbGV2ZWwKCjIwMTMtMDUtMjQgMTA6NTk6NTkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGZpeGVzIHNlZWtpbmcgaW4gcHVsbCBtb2RlCgkgIFByZXNlcnZlIHRoZSBjdXJyZW50IHNlZ21lbnQgYW5kIG9ic2VydmF0aW9ucyBpbiBwdWxsIG1vZGUgc2Vla3Mgd2l0aAoJICBmbHVzaGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODA1MAoKMjAxMy0wNi0xMSAxOTo0NTozMSArMDIwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSAgY3VybHNtdHBzaW5rOiByZW1vdmVkIGFuIGluY29ycmVjdCBhc3NlcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjAzNgoKMjAxMy0wNi0xMSAxNDozMjo0MyArMDIwMCAgTWlndWVsIENhc2FzLVNhbmNoZXogPG1pZ3VlbGVjYXNhc3NhbmNoZXpAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi9nc3RzZWdtZW50YXRpb24uY3BwOgoJKiBleHQvb3BlbmN2L2dzdHNlZ21lbnRhdGlvbi5oOgoJICBvcGVuY3Y6IGFkZCBmb3JlZ3JvdW5kL2JhY2tncm91bmQgc2VnbWVudGF0aW9uIGVsZW1lbnQKCSAgQWRkIGFuIGVsZW1lbnQgdG8gdGhlIG9wZW5jdiBwbHVnaW4gZm9yIGZvcmVncm91bmcvYmFja2dyb3VuZCBpbWFnZQoJICBzZXF1ZW5jZSBzZWdtZW50YXRpb24sIHVzaW5nIG9uZSBvdXQgb2YgMyBhbGdvcml0aG1zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxNDIxCgoyMDEzLTA2LTEwIDE3OjAwOjQyICswMjAwICBIYW5zIGRlIEdvZWRlIDxoZGVnb2VkZUByZWRoYXQuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBBZGQgdmlkZW8tc291cmNlLWZpbHRlciBkdXJpbmcgY29uc3RydWN0aW9uCgkgIEJ5IGFkZGluZyB0aGUgdmlkZW8tc291cmNlLWZpbHRlciBkdXJpbmcgY29uc3RydWN0aW9uIHRpbWUsIHJhdGhlciB0aGVuCgkgIHBhdGNoaW5nIGl0IGluIGxhdGVyICgqKSwgd2UgY2FuIGdyZWF0bHkgcmVkdWNlIHRoZSBhbW91bnQgb2YgY2FwcyBpbnZvbHZlZAoJICBpbiBuZWdvdGF0aW9uLCBzcGVlZGluZyB1cCBwaXBlbGluZSBjcmVhdGlvbi4KCSAgSSB3cm90ZSB0aGlzIHdoaWxlIHdvcmtpbmcgb24gc3BlZWRpbmcgdXAgdGhlIHN0YXJ0dXAgb2YgY2hlZXNlLiBNeSBjaGVlc2UKCSAgaGFzIGJlZW4gbW9kaWZpZWQgdG8gYWRkIGEgY2Fwc2ZpbHRlciwgZmlsdGVyaW5nIGZvciBvbmx5IHRoZSBjb25maWd1cmVkCgkgIHJlc29sdXRpb24sIHdpdGggdGhhdCBjaGVlc2UgcGF0Y2ggKyB0aGlzIHBhdGNoLCB0aGUgcGlwZWxpbmUgY3JlYXRpb24gdGltZQoJICBnb2VzIGZyb20gYXByb3ggMS4xIHNlY29uZHMgdG8gYXByb3ggMzUwbXMuIFRoaXMgaXMgd2l0aCBhIExvZ2l0ZWNoIDkwMDAKCSAgcHJvIGNhbWVyYSwgd2hpY2ggc3VwcG9ydHMgbG90cyBvZiBkaWZmZXJlbnQgcmVzb2x1dGlvbnMgYXQgbWFueSBkaWZmZXJlbnQKCSAgZnJhbWVyYXRlcyBwZXIgcmVzb2x1dGlvbiwgY2F1c2luZyBhIGNhcHMgImV4cGxvc2lvbiIgaWYgbm90IGZpbHRlcmVkLgoJICAqKSBOb3RlIHRoZSBjb2RlIGZvciB0aGlzIGlzIGxlZnQgaW4sIGFzIGl0IGlzIHN0aWxsIG5lY2Vzc2FyeSBpZiB0aGUKCSAgdmlkZW8tc291cmNlLWZpbHRlciBpcyBjaGFuZ2VkIGJldHdlZW4gYSBzdG9wICsgcmUtc3RhcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE5NTMKCjIwMTMtMDYtMTAgMTg6MDA6MTMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBNYWtlIGdzdC1pbmRlbnQgaGFwcHkKCjIwMTMtMDYtMTAgMTA6MDU6NTYgKzAyMDAgIEhhbnMgZGUgR29lZGUgPGhkZWdvZWRlQHJlZGhhdC5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogRG9uJ3QgdW5zZXQgdGhlIHZpZGVvLXNvdXJjZSBwcm9wZXJ0eSBvbiBwaXBlbGluZSBzdGFydAoJICBjaGVja19hbmRfcmVwbGFjZV9zcmMoKSB3YXMgc2V0dGluZyBzZWxmLT5hcHBfdmlkX3NyYyB0byBOVUxMLCB3aGljaAoJICBtZWFucyB0aGF0IGFuIGFwcCBzZXR0aW5nIHRoZSB2aWRlby1zb3VyY2UgcHJvcGVydHksIGFuZCB0aGVuIHN0YXJ0aW5nLAoJICBzdG9wcGluZyBhbmQgcmUtc3RhcnRpbmcgdGhlIHBpcGVsaW5lIChpZSB0byBtYWtlIGNoYW5nZXMgdG8gdGhlCgkgIHZpZGVvLXNvdXJjZS1maWx0ZXIgcHJvcGVydHkpIHdvdWxkIGFmdGVyIHRoZSByZXN0YXJ0IG5vIGxvbmdlciBoYXZlCgkgIGEgdmlkZW8tc291cmNlLgoJICBUaGlzIHBhdGNoIGZpeGVzIHRoaXMgYnkgbWFraW5nIGdzdF9jYW1lcmFiaW5fc2V0dXBfZGVmYXVsdF9lbGVtZW50IHJldHVybiBhCgkgIHJlZiB0byB0aGUgcGFzc2VkIGluIHVzZXJfZWxlbWVudCwgcmF0aGVyIHRoZW4gcmV0dXJuaW5nIHRoZSB1c2VyX2VsZW1lbnQgYXMKCSAgaXMsIHNvIHRoYXQgdGhhdCByZWYgY2FuIGJlIHBhc3NlZCBvbiB0byB0aGUgYmluLCBhbmQgdGhlIGFwcF92aWRfc3JjIHJlZgoJICBzdGF5cyB2YWxpZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTkxNQoKMjAxMy0wNi0wOCAxNDo0ODowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSAgZWdsZ2xlc3Npbms6IFJlbW92ZSB3b3JrYXJvdW5kIGZvciBhIGJ1ZyBpbiB0aGUgUlBpIEVHTCBpbXBsZW1lbnRhdGlvbgoJICBJdCdzIGZpeGVkIGluIHRoZSBsYXRlc3QgZmlybXdhcmUgc2luY2UgYSBmZXcgd2Vla3MuCgoyMDEzLTA1LTA2IDE2OjU2OjAxIC0wNDAwICBBcnRodXIgU2hpcGtvd3NraSA8YXJ0QHZpZGVvbi1jZW50cmFsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IEZpeCBpc3N1ZSB3aXRoIGdldCByZXR1cm5pbmcgYSB2YWx1ZSBmb3IgbWF4LWJ1ZmZlcmluZy10aW1lCgkgIEl0IHdhcyBub3QgcHJvcGVybHkgZGl2aWRlZCBieSBHU1RfU0VDT05EUy4gQWxzbyBmaXggaXNzdWUgd2l0aAoJICBtYXgtYnVmZmVyaW5nLXRpbWUgYmVpbmcgbXVsdGlwbGllZCBieSBHU1RfU0VDT05EUyBldmVyeSB0aW1lIHRoZQoJICBwcm9wZXJ0eSBpcyByZXRyaWV2ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA0ODcKCjIwMTMtMDYtMDcgMTU6MTg6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgcmZiOiBMaW5rIHdpdGggbGliZ3N0YmFzZSBmb3IgR3N0UHVzaFNyYwoKMjAxMy0wNi0wNyAxNDowMTo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogRml4IHN0cmluZyBjb21wYXJpc29uCgoyMDEzLTA0LTA0IDE4OjIyOjUyICswMjAwICBBbGJhbiBCcm93YWV5cyA8cHJhaGFsQHlhaG9vLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkgIG1wZWdkZW11eDogYWNjZXB0IElEX1BSSVZBVEVfU1RSRUFNXzEgdG8gYXZvaWQgbG9vc2luZyBzeW5jCgkgIEN1cnJlbnQgZmFsbGJhY2sgdG8gbG9zdF9zeW5jIHNlZW1zIHRvIGltcGVkZSBhIGRlbGF5IHRvIHJlc3RvcmUKCSAgc3luYy4gTGV0IHRoZSBwYXJzZXIgcGFyc2UgYW5kIHNraXAgdGhlIHByaXZhdGUgc3RyZWFtLgoJICBIZXJlIGl0IGNvbnRhaW5zIHRoZSBkaWdpdGFsIGNhbWVyYSBicmFuZCAoaW4gMjAxMCBieXRlcykKCSAgYW5kIGlzIHJlcGVhdGVkIHR3aWNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MjgzCgoyMDEzLTA2LTA3IDEyOjEwOjA4ICswMjAwICBJbHlhIFNtZWx5a2ggPGlseWEuc21lbHlraEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IFdhaXQgdW50aWwgU1BTL1BQUyBiZWZvcmUgb3V0cHV0dGluZyBhbnkgZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ2MzI3CgoyMDEzLTA2LTA3IDE0OjA2OjU2ICswODAwICBDaGVuIEppZSA8Y2hlbmpAbGVtb3RlLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBIYWNrcyBmb3IgSHVhd2VpTWVkaWFQYWQgd2hpY2ggcmVwb3J0cyB3cm9uZyBjb2xvciBmb3JtYXQKCSAgQ09MT1JfRm9ybWF0WUNiWUNyIGlzIHJlcG9ydGVkIGJ1dCBpdCBpcyBhY3R1YWxseSBDT0xPUl9USV9Gb3JtYXRZVVY0MjBQYWNrZWRTZW1pUGxhbmFyLgoKMjAxMy0wNi0wNSAxNjoxNjozNiArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgbXBlZ3ZpZGVvcGFyc2VyOiBGaXggdGhlIHBpeGVsLWFzcGVjdC1yYXRpbyBjYWxjdWxhdGlvbgoJICBJZ25vcmUgdGhlIGRpc3BsYXlfZXh0ZW5zaW9uIHZhbHVlcyBpZiB0aGV5IGFyZSBncmVhdGVyIHRoYW4gdGhlIHdpZHRoL2hlaWdodAoJICB2YWx1ZXMgcHJvdmlkZWQgYnkgc2VxaGRyIGFuZCBjYWxjdWxhdGUgdGhlIFBBUiBiYXNlZCBvbiB0aGUgc2VxaGRyIHZhbHVlcy5UCgkgIGhpcyBpcyB3aGF0IERWRCBwbGF5ZXJzIGFyZSBkb2luZy4KCSAgVGhhbmtzIHRvICJEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4iCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUxMDMKCjIwMTMtMDYtMDUgMTg6MzY6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjEuMSA9PT0KCjIwMTMtMDYtMDUgMTg6MTA6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZ2xnbGVzc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMtZGlzdC5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMtZGlzdC5oOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0Lmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1ZGllZmZlY3Rzb3JjLWRpc3QuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVkaWVmZmVjdHNvcmMtZGlzdC5oOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4xLjEKCjIwMTMtMDYtMDUgMTg6Mjg6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJICB2ZHBhdTogQWRkIHNvbWUgbWlzc2luZyBoZWFkZXJzIHRvIGRpc3QKCjIwMTMtMDYtMDUgMTg6MDE6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBkYXNoOiBBZGQgdG8gTWFrZWZpbGUuYW0gZm9yIG1ha2UgZGlzdAoKMjAxMy0wNi0wNSAxNzo0OTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWEtbm9ucHVibGljOiBBZGQgdG8gdGhlIE1ha2VmaWxlLmFtIGZvciBkaXN0CgoyMDEzLTA2LTA1IDE2OjU0OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTMtMDYtMDUgMTU6MjA6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRml4IGxlYWsKCSAgU2luY2Ugd2Ugd2VyZSBtYW51YWxseSBzZXR0aW5nIEdWYWx1ZSB0byB0aGUgR1ZhbHVlQXJyYXksIHdlIGFsc28gbmVlZAoJICB0byBzcGVjaWZ5IGhvdyBtYW55IHdlcmUgc2V0LCBvdGhlcndpc2UgYWxsIHZhbHVlcyBpbiB0aGUgYXJyYXkgd2lsbAoJICBiZSBsZWFrZWQuCgoyMDEzLTA2LTA1IDE1OjE1OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDA5OGMwZDcgdG8gMDFhN2E0NgoKMjAxMy0wNi0wNSAxMzozOToxNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBTcGVlZHVwIFREVC9UT1QgcGFyc2luZwoJICBVc2UgcXVhcmtzIHdoZXJlIG5lZWRlZCwgbWFrZXMgaXQgMi41IHRpbWVzIGZhc3RlcgoKMjAxMy0wNi0wNSAxMzoyMToyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBGaXggc3RyaW5nIGxlYWsKCSAgVGhlIGRlc2NyaXB0aW9uL3RleHQgZ2V0IGNvcGllZCBpbiB0aGUgc3RydWN0dXJlLgoKMjAxMy0wNi0wNSAxMjo0OTowOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBTcGVlZCB1cCBkZXNjcmlwdG9yIHBhcnNpbmcvcGFja2luZwoJICBkZXNjcmlwdG9ycyBhcmUgc3RvcmVkIGFzIGEgR1ZhbHVlQXJyYXkgb2YgR1N0cmluZy4gVGhlIGRvd25zaWRlIGlzCgkgIHRoYXQgdGhlcmUgaXMgbm8gd2F5IHRvICJwYXNzIiBvd25lcnNoaXAgb2YgYSBHVmFsdWUgdG8gYSBHVmFsdWVBcnJheQoJICB3aGljaCBwcmV2aW91c2x5IHJlc3VsdGVkIGluIGV4cGVuc2l2ZSBjb3B5L2ZyZWUgb2YgdGhlIChhbHJlYWR5IGV4cGVuc2l2ZSkKCSAgR1N0cmluZy4KCSAgSGVyZSB3ZSBlc3RpbWF0ZSBmaXJzdCB0aGUgc2l6ZSBvZiB0aGUgR1ZhbHVlQXJyYXksIHRoZW4gY3JlYXRlIGl0LAoJICB0aGVuIGRpcmVjdGx5IHVzZSB0aGUgR1ZhbHVlIG9mIHRoYXQgYXJyYXkuCgkgIFNwZWVkcyB1cCB0b3RhbCBTSSBwYXJzaW5nIGJ5IH4zMCUKCjIwMTMtMDYtMDUgMTE6MjE6MjEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogVXNlIGdzdF92YWx1ZV9saXN0X2FwcGVuZF9hbmRfdGFrZV92YWx1ZQoJICBBdm9pZHMgZG9pbmcgdGhlIGV4cGVuc2l2ZSBjb3B5IG9mIHN0cnVjdHVyZXMvYXJyYXlzLy4uLgoJICBTcGVlZHMgdXAgcGFyc2luZyBTSSBieSBhYm91dCA1MCUKCjIwMTMtMDYtMDUgMTE6MjA6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogQXZvaWQgY29weWluZyBHVmFsdWVBcnJheQoJICBKdXN0IGdpdmUgdGhlIEdWYWx1ZUFycmF5IHRvIHRoZSBjb250YWluZXIgR1ZhbHVlLgoKMjAxMy0wNS0yOSAwOToyNToyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSAgY3J1ZnQ6IEFkZCBzaWduYWxwcm9jZXNzb3IgZGlyZWN0b3J5CgoyMDEzLTA1LTI5IDA4OjM3OjE5ICswMjAwICBCcmFua28gU3ViYXNpYyA8YnJhbmtvQGF4aXMuY29tPgoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJICBkb2NzOiByZW1vdmVkIHNpZ25hbHByb2Nlc3NvciBmcm9tIGRvY3MvbGlicy9NYWtlZmlsZS5hbQoKMjAxMy0wNS0yOCAxNTo1NDozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSAgbWlkaXBhcnNlOiBJbiBwdWxsIG1vZGUgZHJvcCBTRUdNRU5ULCBDQVBTIGFuZCBTVFJFQU1fU1RBUlQgZXZlbnRzCgkgIFdlIGNyZWF0ZSBhbmQgc2VuZCBvdXIgb3duIGxhdGVyIGZyb20gYW5vdGhlciB0aHJlYWQuCgoyMDEzLTA1LTI4IDE1OjUzOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJICBtaWRpcGFyc2U6IFB1c2ggc3RyZWFtLXN0YXJ0IGV2ZW50IGJlZm9yZSBhbnl0aGluZyBlbHNlCgoyMDEzLTA1LTI4IDA4OjA4OjQyICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvLmdpdGlnbm9yZToKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSAgc2lnbmFscHJvY2Vzc29yOiBsYWRzcGEgaXMgbm90IHVzaW5nIHRoaXMgYW55bW9yZQoJICBXaGVuIHdlIHBvcnQgbHYyLCB3ZSdsbCBnbyB0aGUgc2FtZSByb3V0ZSBhcyB0aGUgbmV3IGxhZHNwYSBwbHVnaW4uCgoyMDEzLTA1LTI4IDA3OjUzOjM3ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgbGFkc3BhOiBmaXggdHlwb3MgaW4gbGF1bmNoIGV4YW1wbGVzCgoyMDEzLTA1LTI3IDIzOjA3OjE2ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuaDoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFmaWx0ZXIuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFmaWx0ZXIuaDoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFzaW5rLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3Bhc2luay5oOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXNvdXJjZS5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXNvdXJjZS5oOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXV0aWxzLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhdXRpbHMuaDoKCSAgbGFkc3BhOiB1c2UgdGhlIHJlZ2lzdHJ5IGNhY2hlIGZvciBwbHVnaW4gZGV0YWlscwoJICBTcGxpdCB0aGUgaW50cm9zcGVjdGlvbiBhbmQgcmVnaXN0cmF0aW9uIHBhcnQuIFRoaXMgd2F5IHdlIG9ubHkgbmVlZCB0byBvcGVuIGFsbAoJICBwbHVnaW5zIHdoZW4gdXBkYXRpbmcgdGhlIHJlZ2lzdHJ5LiBXaGVuIHJlYWRpbmcgdGhlIHJlZ2lzdHJ5IHdlIGNhbiByZWdpc3RlcgoJICB0aGUgZWxlbWVudHMgZW50aWVybHkgZnJvbSB0aGUgY2FjaGUuCgoyMDEzLTA1LTI3IDExOjIwOjA3ICswMjAwICBNaWd1ZWwgQ2FzYXMtU2FuY2hleiA8bWlndWVsZWNhc2Fzc2FuY2hlekBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3BlbmN2L2dzdHJldGluZXguYzoKCSogZXh0L29wZW5jdi9nc3RyZXRpbmV4Lmg6CgkgIG9wZW5jdjogQWRkIGNvbG91ciBpbWFnZSBlbmhhbmNlbWVudCBlbGVtZW50IGJhc2VkIG9uIFJldGluZXggYWxnb3JpdGhtCgkgIEFkZCBjb2xvdXIgaW1hZ2UgZW5oYW5jZW1lbnQgZWxlbWVudCBiYXNlZCBvbiBSZXRpbmV4IGFsZ29yaXRobS4gVHdvIHR5cGVzCgkgIGV4aXN0LCBuYW1lbHkgYmFzaWMgYW5kIG11bHRpc2NhbGU7IGJvdGggYXJlIGRlc2NyaWJlZCBpbiB0aGlzIGFydGljbGU6CgkgIFJhaG1hbiwgWmlhLXVyLCBEYW5pZWwgSi4gSm9ic29uLCBhbmQgR2xlbm4gQS4gV29vZGVsbC4gIk11bHRpLXNjYWxlIHJldGluZXgKCSAgZm9yIGNvbG9yIGltYWdlIGVuaGFuY2VtZW50LiIgSW1hZ2UgUHJvY2Vzc2luZywgMTk5Ni4gUHJvY2VlZGluZ3MuLAoJICBJbnRlcm5hdGlvbmFsIENvbmZlcmVuY2Ugb24uIFZvbC4gMy4gSUVFRSwgMTk5NgoJICBWaXN1YWxseSBzcGVha2luZyB0aGUgcmVzdWx0IGxvb2tzIGEgYml0IGZ1bm55LCBidXQgaXMgcHJldHR5IGludmFyaWFibGUgdG8KCSAgbGlnaHRuaW5nIGNoYW5nZXMsIHdoaWNoIGlzIGdvb2QgZm9yIHNvbWUgYXBwbGljYXRpb25zLCBsaWtlIGltYWdlCgkgIHNlZ21lbnRhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDk3NwoKMjAxMy0wNS0yNiAxNDoyOTo1NCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4YmFkL2dzdGF1ZGlvY2hhbm5lbG1peC5oOgoJICBhdWRpb2NoYW5uZWxtaXg6IGZpbGwgaW4gdGhlIGF1dGhvciB0ZW1wbGF0ZQoJICBUaGUgY29weXJpZ2h0IGhlYWRlciBzdGlsbCBjb250YWluZWQgdGhlIGF1dGhvciB0ZW1wbGF0ZS4KCjIwMTMtMDUtMjUgMTU6MjU6NTYgKzAyMDAgIE1pY2hhZWwgUnViaW5zdGVpbiA8bXJ1Ymluc3RlaW5Ad2VhdGhlci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNkZW11eDogRnJlZSBtZW1vcnkgYmVoaW5kIEdTdHJpbmcgaWYgd2UgZG9uJ3QgdXNlIGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA5MDMKCjIwMTMtMDUtMjMgMTQ6MzI6MDcgKzAyMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmg6CgkgIGN1cmxzbXRwc2luazogdGVybWluYXRlIHRyYW5zZmVyIHRocmVhZCBwcm9wZXJseQoJICBJZiBubyBFT1MgaGFzIGJlZW4gc2VudCwgdGhlIGN1cmwgcmVhZGZ1bmMgY2FsbGJhY2sgd2lsbAoJICByZXR1cm4gQUJPUlQuIFRoZSBtZWRpYSBmaWxlIGluIHRoYXQgY2FzZSB3aWxsIG5vdCBiZSBwcm9wZXJseQoJICBmaW5hbGl6ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA4ODYKCjIwMTMtMDQtMDggMTQ6NTk6NTQgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBkaXJlY3RkcmF3c2luazogdXBkYXRlIHdpbmRvdyB3aWR0aC9oZWlnaHQgd2hlbiBpdCdzIG5vdCBkb25lIGluIFduZFByb2MKCjIwMTMtMDQtMDUgMTc6NTk6NDEgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBkaXJlY3Rkcndhc2luazogY2FsbCBwcmV2aW91cyBXbmRQcm9jIGlmIGFueQoKMjAxMy0wNC0wNSAxNzoyNjo1NyArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIGRpcmVjdGRyYXdzaW5rOiByZXNwZWN0IFBBUiB3aXRoIGNvb3JkaW5hdGVzCgoyMDEzLTA0LTI1IDE1OjM1OjUwICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhLW5vbnB1YmxpYzogZml4IHN5bWJvbHMgcmVkZWZpbml0aW9uIGZvciBvYmpjIGZpbGVzCgoyMDEzLTA0LTI0IDE1OjU1OjEyICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWE6IGZpeCBkdXBsaWNhdGVkIHN5bWJvbHMgd2l0aCBhcHBsZW1lZGlhCgoyMDEzLTA1LTIzIDE0OjU3OjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IFBvc3QgYW4gZXJyb3IgbWVzc2FnZSB3aGVuIEVPUydpbmcgd2l0aG91dCBzb3VyY2UgcGFkcwoJICBUaGlzIGVuc3VyZXMgd2UgZG9uJ3QgImhhbmciIHdoZW4gZmlsZXMgY2FuJ3QgYmUgZGVjb2RlZCwgb3IgY29udGFpbgoJICBubyB2YWxpZCBzdHJlYW1zLgoKMjAxMy0wNS0yMyAxNDo1Njo0MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBEZW1vdGUgYSB3YXJuaW5nIHRvIGRlYnVnIGxldmVsCgkgIFdlIHdpbGwgZ2V0IGl0IGZvciB2aXJ0dWFsbHkgZXZlcnkgZmlyc3QgcGFja2V0cy4KCjIwMTMtMDUtMDEgMTY6Mzc6NTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBBY3R1YWxseSBzdG9yZSBtcGVnIHZpZGVvIGJpdHJhdGUgdmFsdWUKCSAgQW5kIHVzZSB0aGUgZXh0ZW5zaW9uIGFsc28gKGhpZ2hlciAxMiBiaXRzKQoKMjAxMy0wNS0yMyAxMTowNDo1NyArMDIwMCAgTWlndWVsIENhc2FzLVNhbmNoZXogPG1pZ3VlbGVjYXNhc3NhbmNoZXpAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi9nc3Rza2luZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0c2tpbmRldGVjdC5oOgoJICBvcGVuY3Y6IEFkZCBza2luIGNvbG9yIGRldGVjdGlvbiBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA2NTQKCjIwMTMtMDUtMDcgMjE6NDU6NTQgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogc2ltcGxpZnkgY2FwcyBzZXR0aW5nCgoyMDEzLTA0LTI2IDE3OjQ3OjI2ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSAgYXBwbGVtZWRpYTogZml4IEgyNjQgc3RyZWFtcyB3aXRoIGItZnJhbWVzCgkgIFRoZSBkZWNvZGVyIG91dHB1dCBmcmFtZXMgaW4gRFRTIG9yZGVyLCBldmVuIHdpdGggdGhlIGZsYWcKCSAga1ZURGVjb2RlRnJhbWVfRW5hYmxlVGVtcG9yYWxQcm9jZXNzaW5nLiBXZSBzdG9yZSBhIGludGVybmFsCgkgIHF1ZXVlIG9mIHRoZSBkZWNvZGVkIGZyYW1lcyBhbmQgcHVzaCB0aGVtIFBUUyBvcmRlci4KCjIwMTMtMDQtMjYgMTc6NDU6MzEgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiBmaXggc2VnZmF1bHQgd2l0aCBkcm9wcGVkIGZyYW1lcwoKMjAxMy0wNC0yNiAxNzo0MDowMCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkgIGFwcGxlbWVkaWE6IGltcHJvdmUgdXNhZ2Ugb2YgdGhlIFZUIEFQSQoJICBBZGQgdGltaW5nIGluZm9ybWF0aW9uIHRvIENWIHNhbXBsZXMgYW5kIHBhc3MgdGhlIEdzdEJ1ZmZlcgoJICBhcyBleHRyYSBkYXRhIGluIHRoZSBkZWNvZGUgZnVuY3Rpb24KCjIwMTMtMDQtMjYgMTM6MjY6MDMgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiBhZGQgc3VwcG9ydCBmb3IgTVBFRy0xIHRvbwoKMjAxMy0wNC0yNSAxMTozMDowNyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IGFkZCBzdXBwb3J0IGZvciBNUEVHLTIgZGVjb2RpbmcKCjIwMTMtMDQtMjUgMTE6Mjc6MTMgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB1c2UgdGhlIGJlc3QgY29sb3Jmb3JtYXQgb24gZWFjaCBwbGF0Zm9ybQoJICBUaGlzIHNhdmVzIGEgY29sb3JzcGFjZSBjb252ZXJzaW9uIGJlZm9yZSB0aGUgc2luayBpbiBPUyBYCgoyMDEzLTA0LTI1IDExOjE3OjE2ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnR1dGlsLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0dXRpbC5oOgoJICBhcHBsZW1lZGlhOiByZXBsYWNlIHByaXZhdGUgZnVuY3Rpb24gd2l0aCBpdHMgcHVibGljIHZhcmlhbnQKCSAgRmlnVmlkZW9Gb3JtYXREZXNjcmlwdGlvbkNyZWF0ZVdpdGhTYW1wbGVEZXNjcmlwdGlvbkV4dGVuc2lvbkF0b20KCSAgaXMgYW4gdW4tZG9jdW1lbnRlZCBwcml2YXRlIGZ1bmN0aW9uIHdoaWNoIG1pZ2h0IGNoYW5nZSBpdHMgc2lnbmF0dXJlCgkgIGFzIGl0IGFscmVhZHkgZGlkIGluIHRoZSBwYXN0LiBSZXBsYWNlIGl0IHdpdGgKCSAgQ01WaWRlb0Zvcm1hdERlc2NyaXB0aW9uQ3JlYXRlIGFuZCB0aGUgYWxzbyB1bi1kb2N1bWVudGVkIEV4dGVuc2lvbnMKCSAgZGljdGlvbmFyeS4KCjIwMTMtMDQtMjQgMjI6MjI6MjggKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvYnVmZmVyZmFjdG9yeS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9idWZmZXJmYWN0b3J5Lm06CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogcmVtb3ZlIHRoZSB1bm5lZWRlZCBidWZmZXIgZmFjdG9yeQoKMjAxMy0wNC0yNCAyMjoxNTowMSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWN0eC5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFjdHguaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICBhcHBsZW1lZGlhOiBkb24ndCB1c2UgdGhlIGR5bmFtaWMgQVBJIGZvciBwdWJsaWMgZnJhbWV3b3JrcwoJICBQdWJsaWMgZnJhbWV3b3JrcyBkb24ndCBuZWVkIHRvIGJ1aWxkIHRoZSBBUEkgZHluYW1pY2FsbHksIHdlIGluc3RlYWQKCSAgdXNlIHRoZSBmcmFtZXdvcmsgZGlyZWN0bHkuCgkgIFRoZSBleGNlcHRpb24gaXMgZm9yIFZpZGVvVG9vbGJveCB3aGljaCB3ZW50IHB1YmxpYyBpbiB0aGUgMTAuOCBTREssCgkgIGJ1dCBpdCdzIHN0aWxsIHByaXZhdGUgaW4gb2xkZXIgdmVyc2lvbiBvZiB0aGUgU0RLIGFuZCBpT1MuIFRoaXMgYWxsb3cKCSAgYnVpbGRpbmcgdGhlIHBsdWdpbiBhZ2FpbnN0IFNESydzIHdoZXJlIGl0J3Mgbm90IGEgcHVibGljIGZyYW1ld29yay4KCjIwMTMtMDQtMjQgMTg6NTM6MTEgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvYnVmZmVyZmFjdG9yeS5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvYnVmZmVyZmFjdG9yeS5tOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY2VsYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jZWxhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jZWx2aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY21hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NtYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NvcmVtZWRpYWJ1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY29yZW1lZGlhY3R4LmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jb3JlbWVkaWFjdHguaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY29yZXZpZGVvYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jdmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY3ZhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2R5bmFwaS1pbnRlcm5hbC5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvZHluYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9keW5hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL21pb2FwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvbWlvYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9taW92aWRlb2RldmljZS5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvbWlvdmlkZW9kZXZpY2UuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL21pb3ZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9taW92aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvbXRhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL210YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9wbHVnaW4ubToKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2NlbGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWxhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhY3R4LmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWN0eC5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW9hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvZGV2aWNlLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhcHBsZW1lZGlhOiBtb3ZlIHBsdWdpbnMgdXNpbmcgcHJpdmF0ZSBmcmFtZXdvcmtzIHRvIGFwcGxlbWVkaWEtbm9ucHVibGljCgoyMDEzLTA1LTIwIDEzOjI0OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IEZpeCBpbmRlbnRpb24KCjIwMTMtMDUtMTcgMjA6MTc6MzEgKzA4MDAgIENoZW4gSmllIDxjaGVuakBsZW1vdGUuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IGZpeCBhIG1pbm9yIGVycm9yIGluIENPTE9SX0Zvcm1hdFlVVjQyMFBsYW5hciBjb252ZXJ0aW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA1MjEKCjIwMTMtMDUtMTggMTQ6MDE6MjIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYXVkaW9maWx0ZXI6CgkgIGVsZW1lbnQtbWFrZXI6IEFkZCB0cmFuc2Zvcm0gZnVuY3Rpb25zIHRvIGF1ZGlvZmlsdGVyCgoyMDEzLTA1LTE4IDEzOjU3OjExIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2F1ZGlvZnhiYWQvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2Z4YmFkL2dzdGF1ZGlvY2hhbm5lbG1peC5jOgoJKiBnc3QvYXVkaW9meGJhZC9nc3RhdWRpb2NoYW5uZWxtaXguaDoKCSogZ3N0L2F1ZGlvZnhiYWQvZ3N0YXVkaW9meGJhZC5jOgoJICBhdWRpb2Z4OiBBZGQgcGx1Z2luLCBhZGQgYXVkaW9jaGFubmVsbWl4CgoyMDEzLTA1LTE4IDEzOjU2OjE4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSAgZmxpdGV0ZXN0c3JjOiBhdWRpbyBmb3JtYXQgaXMgIlMxNiIgbm90ICJzMTYiCgoyMDEzLTA1LTE4IDExOjU4OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJICB2aWRlb3NpZ25hbDogZml4IENGTEFHUyBvcmRlcgoKMjAxMy0wNS0xNyAyMToyMzo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogc2VuZCBzdHJlYW0gc3RhcnQgZXZlbnQKCSAgUmVtb3ZlcyB3YXJuaW5ncyBhYm91dCBzdHJpY3Qgc3RpY2t5IGV2ZW50cyBvcmRlcmluZwoKMjAxMy0wNS0xNyAxMjowODoxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogZml4IHdtYSBwcm8gY2FwcyBjcmVhdGlvbgoJICBXbWFQcm8gaXMgYWN0dWFsbHkgd21hdmVyc2lvbiAzLCBhbmQgY2FuIGFsc28gYmUgZm91bmQgYnkgdGhlCgkgIFdNQVAgZm91cmNjLgoJICBTb21lIG1hbmlmZXN0cyBhbHNvIGNvbnRhaW4gdGhlIGJsb2NrX2FsaWduIGZpZWxkIGFzICJQYWNrZXRTaXplIgoJICBpbiB0aGUgYXVkaW8gdHJhY2sgZGVzY3JpcHRpb24sIHRoZSBsaWJhdiBkZWNvZGVycyByZXF1aXJlIGl0CgkgIHRvIGJlIHByZXNlbnQgaW4gY2Fwcy4KCSAgRml4ZXMgIzY5OTkyMQoKMjAxMy0wNS0xNyAxMTozNzozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogZml4IGFzc2VydGlvbnMgd2hlbiBhIHN0cmVhbSBjYXBzIGNhbid0IGJlIGNyZWF0ZWQKCSAgRml4ZXMgdHdvIGFzc2VydGlvbnMgcmVsYXRlZCB0byBjbGVhbnVwIGZvciBhIHBhZCB0aGF0IGNvdWxkbid0CgkgIGJlIGV4cG9zZWQgYmVjYXVzZSB0aGUgY2FwcyBjb3VsZG4ndCBiZSBpZGVudGlmaWVkIGZyb20gdGhlCgkgIE1hbmlmZXN0CgkgIEZpeGVzICM2OTk5MjEKCjIwMTMtMDUtMTUgMTE6NDk6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWFnbC5tOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlYWdsOiBmaXggaGFuZGxpbmcgb2Ygc3VyZmFjZSBkaW1lbnNpb24gY2hhbmdlcwoJICBEZXRlY3Qgd2hlbiB0aGUgZWFnbCBzdXJmYWNlIGNoYW5nZWQgaXRzIGRpbWVuc2lvbiAod2hlbiB0aGUgdXNlciByb3RhdGVzCgkgIHRoZSBkZXZpY2UgZm9yIGV4YW1wbGUpIGFuZCBhZGFwdCB0aGUgZWdsIGludGVybmFscyB0byBkcmF3IHRvIHRoYXQsCgkgIHByZXZlbnRpbmcgdGhhdCBpb3MgcmVzaXplcyB0aGUgaW1hZ2UgYWdhaW4gd2hlbiBkcmF3aW5nLgoJICBUaGlzIGlzIHBhcnRpY3VsYXJseSBoYXJtZnVsIHdoZW4gZWFnbCB3b3VsZCBzY2FsZSBkb3duIGEgaW1hZ2UKCSAgdG8gZHJhdyBhbmQgdGhlIGlvcyBzY3JlZW4gd291bGQgc2NhbGUgaXQgYmFjayB1cCBiZWNhdXNlIHRoZQoJICBzdXJmYWNlIGlzIG5vdyBiaWdnZXIgdGhhbiB3aGVuIHRoZSBlbGVtZW50IHdhcyBjb25maWd1cmVkLgoKMjAxMy0wNS0xNSAwMDo0ODo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogcGFyc2UgYmxvY2tfYWxpZ24sIGNoYW5uZWxzIGFuZCByYXRlIGZyb20gd2F2ZWZvcm1hdGV4IGlmIHBvc3NpYmxlCgkgIHdtYSB2MiBleHBlY3RzIGJsb2NrX2FsaWduLCBjaGFubmVscyBhbmQgcmF0ZSBmaWVsZHMgc2V0IHRvIGl0cyBjYXBzLgoJICBUaGlzIGlzbid0IHByZXNlbnQgZGlyZWNsdHkgb24gdGhlIG1hbmlmZXN0cywgc28gbXNzZGVtdXggc2hvdWxkIHBhcnNlCgkgIGl0IGZyb20gdGhlIHdhdmVmb3JtYXRleCBzdHJ1Y3R1cmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTkyNAoKMjAxMy0wNS0xNCAyMjowNDoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogYWRkIGJpdHJhdGUgaW5mbyB0byBhdWRpbyBzdHJlYW1zCgkgIGJpdHJhdGUgaW5mbyBpcyBhbHdheXMgcHJlc2VudCBvbiB0aGUgUXVhbGl0eUxldmVsIHhtbCBub2RlIGFzIHBhcnQKCSAgb2YgdGhlIGFkYXB0aXZlIHNlbGVjdGlvbiBwcm9jZXNzaW5nLCBwdXQgaXQgaW50byBjYXBzIGFzIHNvbWUKCSAgZGVjb2RlcnMgcmVxdWlyZSBpdCAoYXZkZWNfd21hdjIgZm9yIGV4YW1wbGUpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk5MjQKCjIwMTMtMDUtMTQgMTY6Mzc6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IHNlbmQgc3RyZWFtIGlkIGFuZCBuZXdzZWdtZW50IGJlZm9yZSBwdXNoaW5nIGRhdGEKCSAgRml4ZXMgc3RpY2t5IGV2ZW50cyBvcmRlcmluZyB3YXJuaW5ncyB3aGVuIGRhdGEgaXMgcHVzaGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk5MjQKCjIwMTMtMDUtMTUgMjI6MjQ6MjkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogQW5ub3VuY2UgY29ycmVjdCBtcGVndHMgY2FwcwoKMjAxMy0wNS0xNSAyMDowMzozMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vZ3N0aW5zZXJ0YmluLmM6CgkgIGluc2VydGJpbjogQW5ub3RhdGUgY2FsbGJhY2sgc2NvcGVzCgoyMDEzLTA1LTE1IDE5OjIzOjA4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkgIG1pbWljOiBFbnN1cmUgc2VnbWVudCBpcyBzZW50IGJlZm9yZSBjYXBzIGFuZCBidWZmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDQyMAoKMjAxMy0wNS0xNSAxMTo1NzowNyAtMDYwMCAgQnJlbmRhbiBMb25nIDxiLmxvbmdAY2FibGVsYWJzLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3BlbmFsOiByZXF1aXJlIE9wZW5BTCA+PSAxLjE0IHRvIGJ1aWxkIHRoZSBPcGVuQUwgcGx1Z2luCgkgIEZvciBBTF9GT1JNQVRfTU9OT19BTEFXX0VYVCBhbmQgQUxfRk9STUFUX1NURVJFT19BTEFXX0VYVC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDQwMgoKMjAxMy0wNS0xNSAxMTozODozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IFB1c2ggc3RyZWFtLXN0YXJ0IGV2ZW50IGJlZm9yZSBhbnl0aGluZyBlbHNlCgoyMDEzLTA1LTE1IDExOjM3OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMTE6MzE6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMTE6Mjg6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svbGlicy9pbnNlcnRiaW4uYzoKCSAgaW5zZXJ0YmluOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDExOjI2OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDExOjI1OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyM2F1ZGlvZGVjOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDExOjE1OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJICBwYXJzZXI6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3RzCgoyMDEzLTA1LTE1IDExOjA5OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICBnZHA6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCSAgZ2RwIGVsZW1lbnRzIHN0aWxsIG5lZWRzIHRvIGJlIGZpeGVkIGZvciBhbGwgdGhlIGV2ZW50IHJlbGF0ZWQKCSAgY2hhbmdlcyBhbmQgZ2VuZXJhbGx5IHByb3Blcmx5IHBvcnRlZCB0byAxLjAuCgoyMDEzLTA1LTE1IDExOjA0OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYmFzZWF1ZGlvdmlzdWFsaXplcjogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAxMTowMjoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBFbmFibGUgR0xpYiBkZXByZWNhdGlvbiB3YXJuaW5ncyBhZ2FpbgoKMjAxMy0wNS0xNSAxMTowMDo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBOZWdvdGlhdGUgYXMgc29vbiBhcyBwb3NzaWJsZSB3aGVuIGdldHRpbmcgdGhlIHNpbmtwYWQgY2FwcwoKMjAxMy0wNS0xNSAxMDo1NDo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc2ZtdXguYzoKCSAgYXNmbXV4OiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDEwOjU0OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogU2VuZCBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDUtMTUgMTA6NTE6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1ZWRjZDg1IHRvIDA5OGMwZDcKCjIwMTMtMDUtMTUgMTA6MjM6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMTA6MjI6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2htLmM6CgkgIHNobTogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAxMDoxOToyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsZmlsZXNpbmsuYzoKCSAgY3VybGZpbGVzaW5rOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDEwOjE4OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29wdXMuYzoKCSAgb3B1czogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAxMDoxNDozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9rYXRlLmM6CgkgIGthdGU6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMTA6MTI6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmg6CgkgIGthdGVlbmM6IERlbGF5IHNlZ21lbnQgZXZlbnQgdW50aWwgd2UgaGF2ZSBjYXBzCgoyMDEzLTA1LTE1IDEwOjAyOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGVkZWMvdGlnZXI6IERvbid0IHF1ZXVlIHN0aWNreSBldmVudHMgdGhhdCB3b3VsZCBjb21lIGJlZm9yZSBDQVBTCgoyMDEzLTA1LTE1IDA5OjQ3OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJICBrYXRlcGFyc2U6IEZpeCBldmVudCBoYW5kbGluZwoJICBJbnRlcm5hbCBzdGF0ZSBzaG91bGQgb25seSBiZSByZXNldCBvbiBGTFVTSF9TVE9QLCBub3QgRkxVU0hfU1RBUlQuCgkgIEFsc28gZm9yd2FyZCBwcmUtY2FwcyBldmVudHMgaW1tZWRpYXRlbHkgYW5kIGRvbid0IHF1ZXVlIHRoZW0uCgoyMDEzLTA1LTE1IDA5OjQyOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvYWFjZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvYW1yd2JlbmMuYzoKCSAgdm97YW1yLGFhY31lbmM6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMDk6NDE6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFkLmM6CgkgIGZhYWQvZmFhYzogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAwOToyMDo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvaGxzL01ha2VmaWxlLmFtOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGV4dC9obHMvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBleHQvaGxzL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgaGxzOiBVc2UgR3N0VVJJRG93bmxvYWRlciBmcm9tIHRoZSBsaWJyYXJ5IGZvciBub3cgdG8ga2VlcCBldmVyeXRoaW5nIGluIGEgdXNhYmxlIHN0YXRlCgoyMDEzLTA1LTE0IDE0OjMyOjE5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXV0aWxzLmM6CgkgIGxhZHNwYTogRml4IGNvbXBpbGF0aW9uIGlzc3VlIHdoZW4gbHJkZiBpcyBlbmFibGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAzMjgKCjIwMTMtMDUtMTQgMDA6MTQ6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBBbmRyb2lkLm1rOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkqIGdzdC9uc2YvZGlzNjUwMi5oOgoJKiBnc3QvbnNmL2Zkc19zbmQuYzoKCSogZ3N0L25zZi9mZHNfc25kLmg6CgkqIGdzdC9uc2YvZm1vcGwuYzoKCSogZ3N0L25zZi9mbW9wbC5oOgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJKiBnc3QvbnNmL2dzdG5zZi5oOgoJKiBnc3QvbnNmL2xvZy5jOgoJKiBnc3QvbnNmL2xvZy5oOgoJKiBnc3QvbnNmL21tYzVfc25kLmM6CgkqIGdzdC9uc2YvbW1jNV9zbmQuaDoKCSogZ3N0L25zZi9uZXM2NTAyLmM6CgkqIGdzdC9uc2YvbmVzNjUwMi5oOgoJKiBnc3QvbnNmL25lc19hcHUuYzoKCSogZ3N0L25zZi9uZXNfYXB1Lmg6CgkqIGdzdC9uc2YvbnNmLmM6CgkqIGdzdC9uc2YvbnNmLmg6CgkqIGdzdC9uc2Yvb3NkLmg6CgkqIGdzdC9uc2YvdHlwZXMuaDoKCSogZ3N0L25zZi92cmM3X3NuZC5jOgoJKiBnc3QvbnNmL3ZyYzdfc25kLmg6CgkqIGdzdC9uc2YvdnJjdmlzbmQuYzoKCSogZ3N0L25zZi92cmN2aXNuZC5oOgoJICBuc2Y6IHJlbW92ZSBuc2YgcGx1Z2luLCByZXBsYWNlZCBieSBnbWUgcGx1Z2luCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDgwMjEKCjIwMTMtMDQtMTcgMDI6MTg6NTggKzAyMDAgIEp1YW4gTWFudWVsIEJvcmdlcyBDYcOxbyA8anVhbm1hYmNtYWlsQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWwuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzaW5rLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc2luay5oOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNyYy5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNyYy5oOgoJICBvcGVuYWw6IGltcHJvdmVkIHBvcnQgdG8gMS4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTgwMTMKCjIwMTMtMDUtMTMgMDA6MDg6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGJsYWNrbGlzdCBzb21lIG1vcmUgdGVzdHMgZnJvbSB0aGUgZ2VuZXJpYyBzdGF0ZSBjaGFuZ2UgdGVzdAoKMjAxMy0wNS0xMyAwMDowNjoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9ibHVlei9ibHVlei1wbHVnaW4uYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5jOgoJICBibHVlejogYWRkIGRlYnVnIGNhdGVnb3J5IGZvciBhdmR0cCB1dGlscwoKMjAxMy0wNS0xMiAyMzo1MTozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIFJFUVVJUkVNRU5UUzoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSogZXh0L2RpcmFjL2dzdGRpcmFjLmNjOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuY2M6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5oOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBkaXJhYzogcmVtb3ZlIG9sZCBkaXJhYy1yZXNlYXJjaCBsaWJyYXJ5IGJhc2VkIGNvZGVjCgkgIEl0J3Mgbm90IGRldmVsb3BlZCBhbnkgbW9yZSBhbmQgcmVwbGFjZWQgYnkgdGhlCgkgIGxpYnNjaHJvZWRpbmdlci1iYXNlZCBlbGVtZW50cyBpbiBnc3QtcGx1Z2lucy1nb29kLgoJICAoVGhlIGxpYnNjaHJvZWRpbmdlciAxLjAuOSByZWxlYXNlIG5vdGVzIHN0YXRlICJUaGlzCgkgIGlzIGFuIGV4Y2l0aW5nIHJlbGVhc2U6IG1vc3Qgb2YgdGhlIGVuY29kaW5nIHRvb2xzIGluCgkgIGRpcmFjLXJlc2VhcmNoIGhhdmUgYmVlbiBwb3J0ZWQgb3ZlciB0byBTY2hyw7ZkaW5nZXIsIHNvCgkgIG5vdyBzY2hybyBoYXMgdGhlIHNhbWUgb3IgYmV0dGVyIGNvbXByZXNzaW9uIGVmZmljaWVuY3kKCSAgYXMgZGlyYWMtcmVzZWFyY2guIikKCjIwMTMtMDUtMTIgMjI6NDE6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vZmEvTWFrZWZpbGUuYW06CgkqIGV4dC9vZmEvZ3N0b2ZhLmM6CgkqIGV4dC9vZmEvZ3N0b2ZhLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29mYS5jOgoJICBvZmE6IHBvcnQgdG8gMS4wCgoyMDEzLTA1LTEyIDIwOjMyOjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogTElDRU5TRV9yZWFkbWU6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmg6CgkgIG11c2ljYnJhaW56OiByZW1vdmUgdHJtIGVsZW1lbnQgd2hpY2ggaXMgbm90IHVzZWZ1bCBhbnkgbW9yZQoJICBUUk0gSURzIGFyZSBNdXNpY0JyYWlueicgb2xkIGF1ZGlvIGZpbmdlcnByaW50aW5nIHN5c3RlbSBmcm9tCgkgIFJlbGF0YWJsZSwgdGhleSB3ZXJlIHBoYXNlZCBvdXQgaW4gZmF2b3VyIG9mIE11c2ljSVBzIFBVSURzLgoJICBodHRwczovL3dpa2kubXVzaWNicmFpbnoub3JnL0hpc3Rvcnk6VFJNCgoyMDEzLTA1LTEyIDE4OjUxOjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgbmVvbmh0dHBzcmM6IGFkZCBzdXBwb3J0IGZvciBTQ0hFRFVMSU5HIHF1ZXJ5CgoyMDEzLTA1LTEyIDE4OjQ3OjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgbmVvbmh0dHBzcmM6IGFkZCBpcmFkaW8tbW9kZSBwcm9wZXJ0eSBhbmQgcG9zdCBpY3kgbWV0YWRhdGEgYXMgdGFncwoKMjAxMy0wNS0xMiAxODoyODoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgbmVvbmh0dHBzcmM6IHBvcnQgdG8gMS4wCgoyMDEzLTA1LTExIDEyOjA3OjAzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVydmlkZW9zcmM6IEZpeCB0aW1lc3RhbXAgZ2VuZXJhdGlvbgoKMjAxMy0wNS0xMSAxOTo0MToyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgcmZic3JjOiBwb3N0IGVycm9yIG1lc3NhZ2VzIG9uIGVycm9ycwoKMjAxMy0wNS0xMCAxNzozMDo0OCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9maWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZGlmZi5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZGlmZi5oOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyc2JhZC5jOgoJICB2aWRlb2ZpbHRlcnM6IEFkZCB2aWRlb2RpZmYgZWxlbWVudAoKMjAxMy0wNC0yNyAxMTo1Njo0OCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICB5NG1kZWM6IHNldCB0aW1lc3RhbXBzIHdoZW4gcmVzdHJpZGluZyBidWZmZXIKCjIwMTMtMDQtMTUgMDA6MjQ6MjMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0c2ltcGxldmlkZW9tYXJrLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3RzaW1wbGV2aWRlb21hcmsuaDoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHNpbXBsZXZpZGVvbWFya2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0c2ltcGxldmlkZW9tYXJrZGV0ZWN0Lmg6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuaDoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmg6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb3NpZ25hbC5jOgoJICB2aWRlb21hcmsvZGV0ZWN0OiByZW5hbWUgdG8gc2ltcGxldmlkZW9tYXJrW2RldGVjdF0KCjIwMTMtMDQtMTMgMTU6MTY6MDQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0Lmg6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5oOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9zaWduYWwuYzoKCSAgdmlkZW9tYXJrL2RldGVjdDogcG9ydCB0byAxLjAKCjIwMTMtMDUtMTEgMDA6MzY6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgcmZic3JjOiBmaXggcmZiZGVjb2RlciBuZXcvZnJlZSBhc3ltZXRyeSBhbmQgd3JvbmcgZnJlZSBpbiBlcnJvciBjYXNlCgkgIElmIHJmYl9kZWNvZGVyX25ldygpIGFsbG9jYXRlcyB0aGUgZGVjb2RlciBzcnVjdHVyZSwgcmZiX2RlY29kZXJfZnJlZSgpCgkgIHNob3VsZCBmcmVlIHRoZSBzdHJ1Y3R1cmUuIFdlIHNob3VsZCBub3QgZnJlZSB0aGUgZGVjb2RlciB3aGVuIGFuCgkgIGVycm9yIG9jY3VycyBkdXJpbmcgY29ubmVjdGlvbiAtIGl0IGhvbGRzIGxvdHMgb2YgY29uZmlndXJhdGlvbi9zdGF0ZQoJICBhbmQgd2lsbCBiZSBmcmVlZCBsYXRlciBpbiBmaW5hbGl6ZS4KCjIwMTMtMDUtMTEgMDA6Mjk6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbGlicmZiL2QzZGVzLmM6CgkqIGdzdC9saWJyZmIvZDNkZXMuaDoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIHJmYnNyYzogbWFrZSBhdXRoZW50aWNhdGlvbiBoYW5kc2hha2Ugc2FmZSBmb3IgbXVsdGlwbGUgaW5zdGFuY2VzCgkgIE1vdmUgREVTIGtleSBpbnRvIGNvbnRleHQgc3RydWN0LgoKMjAxMy0wNS0xMCAyMzowOTozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJKiBnc3QvbGlicmZiL3ZuY2F1dGguYzoKCSogZ3N0L2xpYnJmYi92bmNhdXRoLmg6CgkgIHJmYnNyYzogcmVtb3ZlIEdQTC1saWNlbnNlZCBzb3VyY2UgZmlsZQoJICBhbmQgcmVwbGFjZSB0aGUgMSUgb2YgaXQgdGhhdCB3ZSBuZWVkIHdpdGggbmV3IGNvZGUsIHNvIHdlCgkgIGRvbid0IGhhdmUgdG8gY2hhbmdlIHRoZSBydW50aW1lIGxpY2Vuc2Ugb2YgcmZic3JjIHRvIEdQTC4KCjIwMTMtMDUtMTAgMDk6NDk6NDYgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdWUgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIHJmYnNyYzogdXNlIGdsaWIgZ2lvIHNvY2tldHMgZm9yIG5ldHdvcmsgYWNjZXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDAwMzgKCjIwMTMtMDUtMDkgMTY6NDE6MzIgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdWUgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmg6CgkgIHJmYnNyYzogcG9ydCB0byAxLjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDAzOAoKMjAxMy0wNS0xMCAxMjo0OTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJICBlZ2w6IEFkZCBkZXN0cm95IG5vdGlmeSBpbnN0ZWFkIG9mIGFsd2F5cyBjYWxsaW5nIGVnbFRlcm1pbmF0ZSgpIG9uIHRoZSBkaXNwbGF5CgkgIEluIHNvbWUgc2NlbmFyaW9zLCBmb3IgZXhhbXBsZSBpbiBRdFdlYktpdCwgbWlnaHQgYmUgZGlmZmljdWx0IHRvIG9idGFpbiBmdWxsCgkgIGNvbnRyb2wgb24gdGhlIGVnbCBkaXNwbGF5IGFuZCBpdCBtaWdodCBiZSBvbmx5IGFjY2Vzc2libGUgaW5kaXJlY3RseSB2aWEKCSAgZWdsR2V0Q3VycmVudERpc3BsYXkoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDA1OAoKMjAxMy0wNS0xMCAxMTo0ODo0NiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuaDoKCSAgZWdsOiBBbGxvdyBiZWluZyB1c2VkIGluIEMrKyBjb2RlCgoyMDEzLTA1LTA4IDIzOjE3OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcmVuYW1lIHNyYyB0ZW1wbGF0ZSBmcm9tIHNyYyVkIHRvIHNyY18ldQoKMjAxMy0wNS0wOCAxODoyMjozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvQVVUSE9SUzoKCSogZXh0L2Rhc2gvQ09QWUlORzoKCSAgZGFzaDogcmVtb3ZlIHN1cGVyZmx1b3VzIGZpbGVzCgkgIEF1dGhvcnMgYW5kIGxpY2Vuc2UgYXJlIGF0IHRoZSB0b3Agb2YgdGhlIHNvdXJjZSBmaWxlcwoKMjAxMy0wNS0wMiAxNDoxMTo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaDogZG8gbm90IHVzZSBkZXByZWNhdGVkIGdsaWIgbXV0ZXggQVBJCgoyMDEzLTA0LTIzIDEyOjA4OjA3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogZml4aW5nIGNvbXBpbGVyIHdhcm5pbmdzIGFib3V0IHByaW50IGZvcm1hdHMKCjIwMTMtMDUtMDggMTE6MTQ6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBkYXNoOiBlbmFibGUgaW4gY29uZmlndXJlL21ha2VmaWxlcwoJICBJdCB3YXMgaW50ZW50aW9uYWxseSBkaXNhYmxlZCB1cCB0byB0aGlzIHBvaW50IHRvIHByZXZlbnQKCSAgY29tcGlsZSBmYWlsdXJlcyBhcyBkYXNoZGVtdXggZGV2ZWxvcG1lbnQgY29tbWl0cyB3ZXJlIGFsbCBmb3IKCSAgMC4xMCB1cCB0byBoZXJlCgoyMDEzLTA0LTE4IDA3OjQxOjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9NYWtlZmlsZS5hbToKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3Rkb3dubG9hZHJhdGUuYzoKCSogZXh0L2Rhc2gvZ3N0ZG93bmxvYWRyYXRlLmg6CgkqIGV4dC9kYXNoL2dzdHBsdWdpbi5jOgoJICBkYXNoZGVtdXg6IHBvcnQgdG8gMS4wCgoyMDEzLTA0LTExIDA5OjEyOjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBGaXggYW5vdGhlciB3cm9uZyBhc3NlcnRpb24KCSAgQWxzbyBhZGRzIGEgY291cGxlIGxvZyBtZXNzYWdlcyBmb3IgZWFzaWVyIGRlYnVnZ2luZwoKMjAxMy0wNC0xMCAxODowOToxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcmVtb3ZlIHdyb25nIGFzc2VydHMKCSAgVGhvc2UgYXNzZXJ0cyBzaG91bGQgYmUgdGhlIGNvbnRyYXJ5IHRoYXQgdGhleSBhcmUuIEFuZCBhbHNvCgkgIHRoZSBzdXJyb3VuZCBmdW5jdGlvbnMgc2hvdWxkIGFscmVhZHkgY2hlY2sgdGhhdC4gUmVtb3ZpbmcgdGhlbS4KCjIwMTMtMDMtMTMgMTU6NTU6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBvbmx5IHN0YXJ0IHRpbWVzdGFtcCBmcm9tIDAgZm9yIGxpdmUgc3RyZWFtCgkgIFdlIG9ubHkgd2FudCB0byBhZGp1c3QgdGhlIHRpbWVzdGFtcHMgc28gdGhhdCB0aGV5IHN0YXJ0IGZyb20gMCBmb3IgbGl2ZQoJICBzdHJlYW1zLiBOb24tbGl2ZSBzdHJlYW1zIGFscmVhZHkgc3RhcnQgZnJvbSAwIGFuZCBhZnRlciBhIHNlZWsgd2UgYWN0dWFsbHkgd2FudAoJICB0byB0aW1lc3RhbXAgdG8gYmUgdGhlIHBvc2l0aW9uIHdlIHNlZWsgdG8uCgoyMDEzLTAzLTA4IDE1OjA0OjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IG1ha2UgdGltZXN0YW1wcyBzdGFydCBmcm9tIDAKCSAgTm9uLWxpdmUgc3RyZWFtcyBzaG91bGQgdGltZXN0YW1wIGJ1ZmZlcnMgd2l0aCBhIHJ1bm5pbmctdGltZSBzdGFydGluZyBmcm9tCgkgIDAuIFNpbmNlIHdlIGFscmVhZHkgcHVzaCBhIDAgLT4gLTEgc2VnbWVudCwgYnJpbmcgdGhlIHRpbWVzdGFtcHMgdG8gMAoJICBieSBzdWJ0cmFjdGluZyB0aGUgaW5pdGlhbCB0aW1lc3RhbXAuCgoyMDEzLTAzLTA4IDE0OjU5OjU5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogYWxzbyBzZW5kIG5ld3NlZ21lbnQgb24gc3RhcnR1cAoKMjAxMy0wMy0wOCAxNDo1NzozOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHNtYWxsIGNsZWFudXAKCjIwMTMtMDItMjIgMTc6MDA6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGxpdmUgc3RyZWFtIHBsYXliYWNrIGNyYXNoZml4CgoyMDEzLTAyLTIyIDE2OjQ2OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaDogbXBkcGFyc2VyOiBkbyBub3QgY2xlYW51cCB4bWwgbGliIHRvbyBlYXJseQoJICBUaGUgeG1sQ2xlYW51cFBhcnNlciBmdW5jdGlvbiBzZWVtcyB0byBjbGVhbnVwIGFsbCBzdGF0aWNhbGx5CgkgIGFsbG9jYXRlZCBsaWJ4bWwgdmFyaWFibGVzLCBtYWtpbmcgaXQgdW51c2FibGUuIFdlIGNhbid0IGd1YXJhbnRlZQoJICB0aGF0IGRhc2hkZW11eCB3b24ndCBuZWVkIGl0IGFueW1vcmUsIHNvIGJldHRlciBub3QgY2FsbCBpdC4KCjIwMTMtMDItMjIgMTY6NDA6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogcmVpbXBsZW1lbnRpbmcgbGl2ZSBzdHJlYW1zIG1hbmlmZXN0IHVwZGF0ZXMKCSAgTWFuaWZlc3QgdXBkYXRlcyBzaG91bGQgYmUgZG9uZSBwZXJpb2RpY2FsbHkgZm9yIGxpdmUgc3RyZWFtcywKCSAgdGhpcyBwYXRjaCBtYWtlcyB0aGUgZGVtdXhlciBjcmVhdGUgYSBuZXcgbWFuaWZlc3QgY2xpZW50IGZvcgoJICB0aGUgbmV3IHZlcnNpb24gYW5kIHRyYW5zZmVycyB0aGUgc3RyZWFtIHBvc2l0aW9uIHRvIHRoZSBuZXcKCSAgb25lLCBkaXNjYXJkaW5nIHRoZSBvbGQgb25lIGFmdGVyd2FyZHMuCgoyMDEzLTAyLTIwIDEyOjQ5OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaDogbXBkcGFyc2VyOiBhbGxvdyBwZXJpb2RzIHdpdGhvdXQgc3RhcnQgdGltZSBmb3IgbGl2ZSBzdHJlYW1zCgkgIExpdmUgc3RyZWFtcyBjYW4gaGF2ZSB1bmRlZmluZWQgc3RhcnQgdGltZXMgZm9yIHRoZSBwZXJpb2RzIGFuZAoJICBtcGRwYXJzZXIgY2FuIGxldCB0aGF0IHBhc3MgaW5zdGVhZCBvZiBlcnJvcmluZyBvdXQKCjIwMTMtMDItMTkgMTk6MzU6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaDogbXBkcGFyc2VyOiB1c2UgZ3VpbnQ2NCBmb3IgdGltZXN0YW1wcwoJICBUaGUgdGltZXN0YW1wcyBjYW4gYmUgcHJldHR5IGJpZywgc28gdXNlIGd1aW50NjQgZm9yIHRoZW0KCjIwMTMtMDItMTkgMDE6MjY6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IG1wZCBwYXJzaW5nOiBmaXggcXVlcnkgcGFyYW1ldGVyIHBhcnNpbmcKCSAgVHJ5IGhhcmRlciB0byBkZXRlY3QgVVJMIHBhcmFtZXRlcnMgYW5kIHNwbGl0IHRoZW0gdG8gYWNjb21vZGF0ZQoJICB0aGUgZnJhZ21lbnQgdXJsIGluIHRoZSBjb25jYXQ6CgkgIGJhc2UtdXJsICsgZnJhZ21lbnQtdXJsICsgdXJsLXBhcmFtZXRlcnMKCjIwMTMtMDItMTggMTQ6MDI6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogcGx1ZyBzb21lIGxlYWtzCgkgIEFkZCBzb21lIG1pc3NpbmcgZnJlZS91bnJlZnMgc3BvdHRlZCBieSB2YWxncmluZAoKMjAxMy0wMi0xOCAxNDowMToyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHJlbW92ZSB1bnVzZWQgbXV0ZXhlcwoKMjAxMy0wMi0xNCAxNzozOTozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcHJvcGVybHkgcmVzZXQgc3RyZWFtIHN0YXR1cyBhZnRlciBhIGZsdXNoCgkgIFRoZSBzdHJlYW0gZW9zL2VuZCBvZiBwZXJpb2Qgc3RhdHVzIG11c3QgYWxzbyBiZSByZXNldCBhZnRlciBhIGZsdXNoaW5nCgkgIHNlZWsuIFRoaXMgbWFrZXMgc2Vla2luZyBhZnRlciBFT1Mgd29yay4KCjIwMTMtMDItMTMgMDI6MTM6MjMgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDoga2VlcCBhIGxpc3Qgb2Ygc3RyZWFtcyBwZXJpb2RzCgkgIEtlZXAgYSBsaXN0IG9mIHN0cmVhbXMgcGVyIHBlcmlvZCBzbyB0aGF0IHRoZSBkb3dubG9hZCBsb29wIGNhbiBrZWVwCgkgIGRvd25sb2FkaW5nIHdoaWxlIHRoZSBzdHJlYW0gbG9vcCBpcyBzdGlsbCBwdXNoaW5nIG9sZCBwZXJpb2QncyBkYXRhLgoKMjAxMy0wMi0xMiAyMjo1NDozMiAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBQcm9wZXJseSBwYXJzZSBiYXNlIHVyaSBmcm9tIG1wZC4KCjIwMTMtMDItMTIgMjI6NTM6MTYgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogUmVtb3ZlIHVudXNlZCBtZW1iZXJzLgoKMjAxMy0wMi0xMiAxODo1MDo1MSAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBPbmx5IHNlbmQgbmV3c2VnbWVudCBvbiBzZWVrLgoKMjAxMy0wMi0wOCAwMjo1NTowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogc2VuZCBzZWdtZW50cyB0aGF0IG92ZXJ3cml0ZSBwcmV2aW91cyBvbmVzCgkgIFRoaXMgaXMgb25seSBkb25lIGZvciBzZWVrcywgc28gaXQgaXMgZmluZQoKMjAxMy0wMi0wNyAyMTo1ODozNyAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHN3aXRjaCBiaXRyYXRlcyB3aXRob3V0IHN3aXRjaGluZyBwYWRzCgoyMDEzLTAyLTA3IDE2OjIyOjEzIC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogUmVtb3ZlIHVudXN1ZWQgbWV0aG9kLgoKMjAxMy0wMi0wNyAxNDowOTo0NCAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IFNldCBzdHJlYW0gbmVlZF9oZWFkZXIgYWZ0ZXIgc2VlayBhbmQgaGFzX2RhdGFfcXVldWVkIHRvIEZBTFNFIHdoZW4gZmx1c2hpbmcgc3RyZWFtLgoKMjAxMy0wMi0wNyAwMzowOToyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZG8gbm90IHBhdXNlL3N0YXJ0IHRoZSBzdHJlYW0gbG9vcCBvbiBwbGF5aW5nL3BhdXNlZCBjaGFuZ2VzCgkgIFRoZSBkZW11eGVyIHNob3VsZG4ndCBjYXJlIGFib3V0IHBhdXNlZC9wbGF5aW5nLCBpdCBzaG91bGQgYWN0IHRoZQoJICBzYW1lIGluIGJvdGggc3RhdGVzCgoyMDEzLTAyLTA2IDEzOjMxOjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiByZW1vdmUgcHJvcGVydHkgdGhhdCBpc24ndCB1c2VkIGFueW1vcmUKCSAgUmVtb3ZlIHNvbWUgcGllY2VzIG9mIGNvZGUgdGhhdCBhcmUgZnJvbSBhbiBvbGQgcHJvcGVydHkKCSAgdGhhdCBpc24ndCB1c2VkIGFueW1vcmUKCjIwMTMtMDItMDUgMTc6Mzg6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL01ha2VmaWxlLmFtOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdGRvd25sb2FkcmF0ZS5jOgoJKiBleHQvZGFzaC9nc3Rkb3dubG9hZHJhdGUuaDoKCSAgZGFzaGRlbXV4OiBhZGQgYSBkb3dubG9hZHJhdGUgdXRpbGl0eQoJICBBIHNtYWxsIHN0cnVjdCB0aGF0IGtlZXBzIGEgc2hvcnQgaGlzdG9yeSBvZiBmcmFnbWVudCBkb3dubG9hZCBiaXRyYXRlcwoJICB0byBoYXZlIGFuIGF2ZXJhZ2UgbWVhc3VyZSBvZiBOIGxhc3QgZnJhZ21lbnRzIGluc3RlYWQgb2YgdXNpbmcgb25seQoJICB0aGUgbGFzdCBkb3dubG9hZGVkIGJpdHJhdGUKCjIwMTMtMDItMDUgMTQ6MjQ6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHNwcmlua2xpbmcgc29tZSBtb3JlIGxvZwoKMjAxMy0wMi0wNSAxNDoyMjo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IGNoYW5nZSBiaXRyYXRlcyBiYXNlZCBvbiB0aGUgc3RyZWFtIGJpdHJhdGUKCSAgRG8gbm90IHVzZSBhIGdsb2JhbCBiaXRyYXRlIGFzIHRoZSBzaXplcyBvZiB0aGUgZnJhZ21lbnRzIG1hdHRlcgoJICB3aGVuIGNhbGN1bGF0aW5nIHRoZSBkb3dubG9hZCByYXRlIGFzIHRoZSBjb25uZWN0aW9uIHNldHVwIHRpbWUgaXMKCSAgYWxzbyBiZWluZyB0YWtlbiBpbnRvIHRoZSBkb3dubG9hZCBkdXJhdGlvbiwgYSBzbWFsbGVyIGZyYWdtZW50CgkgIHdpbGwgaGF2ZSBhIGxvd2VyIGJpdHJhdGUgdGhhbiBhIGxhcmdlciBvbmUuCgkgIFRoaXMgYXZvaWRzIHN3aXRjaGluZyB0aGUgYml0cmF0ZXMgZm9yIHN0cmVhbXMgZnJlcXVlbnRseSBiZWNhdXNlCgkgIG9mIGJpdHJhdGUgbWlzbWF0Y2hlcwoKMjAxMy0wMi0wNSAwMDo0NTowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvTWFrZWZpbGUuYW06CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RmcmFnbWVudC5jOgoJKiBleHQvZGFzaC9nc3RmcmFnbWVudC5oOgoJKiBleHQvZGFzaC9nc3RmcmFnbWVudGVkLmg6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RwbHVnaW4uYzoKCSogZXh0L2Rhc2gvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBleHQvZGFzaC9nc3R1cmlkb3dubG9hZGVyLmg6CgkgIGRhc2hkZW11eDogcmVmYWN0b3IgdG8gdXNlIHRoZSB1cmlkb3dubG9hZGVyIGxpYiBpbnN0ZWFkIG9mIGludGVybmFsIGNvcHkKCjIwMTMtMDItMDUgMDE6Mjk6MjggLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBNYWtlIHN1cmUgc3dpdGNoX3BhZHMgd29uJ3QgbGVhayBhbnkgcGFkLgoKMjAxMy0wMi0wNCAyMjo1ODozMiAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGV4dC9kYXNoL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgZGFzaGRlbXV4OiBQcm9wZXJseSBzdG9wIGRvd25sb2FkIGFuZCBzdHJlYW0gdGFza3Mgd2hlcmUgYXBwcm9wcmlhdGUuCgoyMDEzLTAyLTAxIDAyOjEyOjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBhdm9pZCBhbiBhc3NlcnRpb24gd2hlbiBzdG9wcGluZyB0aGUgcGlwZWxpbmUKCSAgQXZvaWRzIGFzc2VydGluZyB3aGVuIGRhdGFxdWV1ZXMgYXJlIHNldHRpbmcgdG8gZmx1c2hpbmcgZHVlCgkgIHRvIGEgcGlwZWxpbmUgc3RvcCBkdXJpbmcgYSBwYWQgc3dpdGNoLgoKMjAxMy0wMi0wMSAwMjoxMDoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogZG93bmxvYWQgdGhlIG5leHQgZnJhZ21lbnQgd2l0aCBzbWFsbGVyIHRpbWVzdGFtcAoJICBJbnN0ZWFkIG9mIGRvd25sb2FkaW5nIDEgZnJhZ21lbnQgcGVyIHN0cmVhbSBwZXIgZG93bmxvYWQgbG9vcCwKCSAgc2VsZWN0IHRoZSBzdHJlYW0gd2l0aCB0aGUgZWFybGllciB0aW1lc3RhbXAgYW5kIGdldCBhIGZyYWdtZW50CgkgIG9ubHkgZm9yIHRoYXQgb25lLgoJICBUaGUgb2xkIGFsZ29yaXRobSB3b3VsZCBsZWFkIHRvIHByb2JsZW1zIHdoZW4gdGhlIGZyYWdtZW50IGR1cmF0aW9ucwoJICB3ZXJlIHRvbyBkaWZmZXJlbnQgZm9yIHN0cmVhbXMuCgoyMDEzLTAyLTAxIDAwOjM3OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogdHJhY2sgc2VnbWVudHMgaW4gdGhlIGRlbXV4ZXIKCSAgVXNlIGEgR3N0U2VnbWVudCB0byB0cmFjayB0aGUgY3VycmVudCBzZWdtZW50IGluZm9ybWF0aW9uIGluIHRoZQoJICBkZW11eGVyLgoKMjAxMy0wMi0wMSAwMDozMzowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHJlbW92ZSBidWZmZXJpbmcgbWVzc2FnZSBlbWlzc2lvbiBmcm9tIGRhc2hkZW11eAoJICBkYXNoZGVtdXggc2hvdWxkbid0IGVtaXQgdGhlIGJ1ZmZlcmluZyBtZXNzYWdlIGFzIHRoYXQgY2FuIHBhdXNlCgkgIHRoZSBwaXBlbGluZS4gSXQgaGFzIG5vIHByb3BlciBrbm93bGVkZ2Ugb2YgdGhlIGRvd25zdHJlYW0gYnVmZmVyaW5nCgkgIHN0YXR1cyBzbyBpdCBjYW4gcGF1c2UgdGhlIHBpcGVsaW5lIHdoZW4gaXQgaXNuJ3QgbmVjZXNzYXJ5LiBJdCBzaG91bGQKCSAgaGF2ZSBhbiBpbnRlcm5hbCBidWZmZXIgZm9yIGRvd25sb2FkaW5nIHRoZSBzdHJlYW1zIGFoZWFkIG9mIHBsYXliYWNrLAoJICBidXQgdGhhdCBzaG91bGRuJ3QgbWFrZSBpdCBhYmxlIHRvIHN0b3AgdGhlIHBpcGVsaW5lIGZvciBidWZmZXJpbmcuCgkgIEEgcGFydGljdWxhciBjYXNlIGluIHdoaWNoIHRoaXMgaXMgYmFkIGlzIHdoZW4gYSBwYWQgc3dpdGNoIGhhcHBlbnMKCSAgKGNoYW5naW5nIGJpdHJhdGVzIGZvciBleGFtcGxlKSwgdGhlIG5ldyBwYWRzIGRhc2hkZW11eCBjcmVhdGVzCgkgIHdpbGwgZ2V0IGxpbmtlZCB0byBkZW11eGVycyBhbmQgbmV3IHF1ZXVlcyB3aWxsIGJlIGNyZWF0ZWQsCgkgIHRoZXNlIHF1ZXVlcyBhcmUgaW5pdGlhbGx5IGVtcHR5IGFuZCBkYXNoZGVtdXggd2lsbCBxdWlja2x5CgkgIGRyYWluIGl0cyBidWZmZXJzIGJ5IHB1c2hpbmcgdGhlbSB0byB0aG9zZSBxdWV1ZXMuIFNvIGl0CgkgIHdvdWxkIGhhdmUgbm8gbW9yZSBidWZmZXJzIGludGVybmFsbHkgYW5kIHdvdWxkIGVtaXQgYQoJICBidWZmZXJpbmcgbWVzc2FnZSB3aXRoIGEgbG93IHJhdGlvLCBjYXVzaW5nIHRoZSBwaXBlbGluZQoJICB0byBwYXVzZSB3aGVuIGl0IHdvdWxkbid0IGJlIG5lY2Vzc2FyeS4KCjIwMTMtMDEtMzAgMTc6MzE6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiByZW1vdmluZyB1bnVzZWQgY29kZQoJICBDbGVhbmluZyB1cCBieSByZW1vdmluZyB1bnVzZWQgY29kZSBhbmQgdmFyaWFibGVzCgoyMDEzLTAxLTMwIDE3OjI3OjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogcmUtZW5hYmxlIGFuZCBmaXggYWRhcHRpdmUgc3dpdGNoaW5nCgkgIEl0IGlzIHN0aWxsIHVuc3RhYmxlLCBidXQgYXQgbGVhc3QgaXQgd29ya3Mgd2hlbiB0aGUgc3dpdGNoZXMgYXJlbid0CgkgIGhhcHBlbmluZyBhZnRlciBldmVyeSBmcmFnbWVudAoKMjAxMy0wMS0yOSAxNTo1ODo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogY29ycmVjdGx5IHNpZ25hbCBFT1Mgb24gbWFuaWZlc3QgZW5kCgkgIFB1dCBFT1Mgb24gdGhlIHN0cmVhbXMgcXVldWVzIGFmdGVyIHRoZSBsYXN0IGZyYWdtZW50IGZyb20gdGhlCgkgIGxhc3QgcGVyaW9kIGZvciBlYWNoIHN0cmVhbS4gVGhpcyB3YXkgd2Uga2VlcCBpdCBzZXJpYWxpemVkCgkgIHdpdGggdGhlIGJ1ZmZlcnMgYW5kIGl0IHdpbGwgd29yayB3aGVuIHN0cmVhbXMgaGF2ZSBkaWZmZXJlbnQKCSAgZW5kaW5nIHRpbWVzCgoyMDEzLTAxLTI5IDEzOjA4OjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBkZXRlY3QgZW5kLW9mLXBlcmlvZCBjb3JyZWN0bHkKCSAgRGV0ZWN0IGVuZCBvZiBwZXJpb2Qgd2hlbiB0aGVyZSBhcmUgbm8gbW9yZSBidWZmZXJzIG9uIGFueSBvZiB0aGUKCSAgc3RyZWFtcwoKMjAxMy0wMS0yOSAxMzowNDowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogVXNlIHRoZSBzbWFsbGVzdCBxdWV1ZSB2YWx1ZSB0byBkZWZpbmUgYnVmZmVyaW5nIHN0YXRlCgkgIFRoZSBzbWFsbGVzdCBxdWV1ZSBzaG91bGQgYmUgdXNlZCB0byBwcmV2ZW50IGJsb2NraW5nIHRoZSBkb3dubG9hZAoJICB0aHJlYWQgd2hlbiBhIHN0cmVhbSBoYXMgdG9vIG11Y2ggZGF0YSBidWZmZXJlZCwgbGVhdmluZyB0aGUgb3RoZXIKCSAgc3RyZWFtcyBzdGFydmluZyBmcm9tIGZyYWdtZW50cwoKMjAxMy0wMS0yOSAxMToyMjo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2g6IGZpeCBwYXJzaW5nIG9mIHN0cmVhbXMgdG8gZ2V0IGNvcnJlY3QgZnJhZ21lbnQgZHVyYXRpb25zCgkgIFVzZSB0aGUgY3VycmVudCBzdHJlYW0gYmFzZSB0aW1lIGluc3RlYWQgb2YgdGhlIDB0aCBzdHJlYW0gYmFzZSB0aW1lCgkgIHRvIGdldCBkZWZhdWx0IGR1cmF0aW9uIGZvciBmcmFnbWVudHMuCgoyMDEzLTAxLTI5IDAxOjA2OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBibG9jayB3YWl0aW5nIGZvciBidWZmZXJzIGluc3RlYWQgb2YgYnVzeSB3YWl0CgkgIE1ha2UgdGhlIHN0cmVhbWluZyBsb29wIGJsb2NrIHdhaXRpbmcgZm9yIGJ1ZmZlcnMgb24gdGhlIHF1ZXVlcyBpbnN0ZWFkCgkgIG9mIGJ1c3kgd2FpdGluZyBlYXRpbmcgY3B1IGNvbnRpbnVvdXNseSBvbiBhIHF1ZXVlIGxlbmd0aCBjaGVjawoKMjAxMy0wMS0yOCAxOTo0Mzo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBmaXggc2Vla2luZyBvbiBtdWx0aXBsZSBzdHJlYW1zCgkgIEVhY2ggc3RyZWFtIGhhcyBpdHMgb3duIGR1cmF0aW9ucyBhbmQgdGltZXN0YW1wcywgdGhlIGZyYWdtZW50IG51bWJlcgoJICBpcyBkaWZmZXJlbnQgZm9yIGVhY2ggc3RyZWFtIHdoZW4gc2Vla2luZywgc28gdGhlIHNlZWsgaGFzIHRvIGJlIGRvbmUKCSAgZm9yIGFsbCBzdHJlYW1zLCByYXRoZXIgdGhhbiBvbiBhIHNpbmdsZSBzdHJlYW0gYW5kIHByb3BhZ2F0ZWQgdG8KCSAgb3RoZXJzCgoyMDEzLTAxLTI4IDE4OjUyOjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdGZyYWdtZW50LmM6CgkqIGV4dC9kYXNoL2dzdGZyYWdtZW50Lmg6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IFJlcGxhY2UgR1F1ZXVlIGJ5IEdzdERhdGFRdWV1ZQoJICBHc3REYXRhUXVldWUgaGFzIHByb3BlciBsb2NraW5nIGFuZCBwcm92aWRlcyBmdW5jdGlvbnMgdG8gbGltaXQgdGhlCgkgIHNpemUgb2YgdGhlIHF1ZXVlLiBBbHNvIGhhcyBibG9ja2luZyBjYWxscyB0aGF0IGFyZSB1c2VmdWwgdG8KCSAgb3VyIG11bHRpdGhyZWFkIHNjZW5hcmlvIGluIERhc2guCgoyMDEzLTAxLTI4IDEyOjI4OjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogbW92ZSB0aGUgYnVmZmVycyBxdWV1ZXMgdG8gdGhlIHN0cmVhbXMKCSAgU3RvcmUgdGhlIGJ1ZmZlcnMgc2VwYXJhdGVseSBmb3IgZWFjaCBzdHJlYW0sIHRoaXMgaXMgY2xlYXJlciB0aGFuCgkgIGhhdmluZyBhIHF1ZXVlIHdpdGggYSBsaXN0IG9mIGJ1ZmZlcnMuIEl0IGFsc28gYWxsb3dzIGVhc2llciBzZWxlY3Rpb24KCSAgb2YgYnVmZmVycyB0byBwdXNoIGluIGxhdGVyIHJlZmFjdG9ycwoKMjAxMy0wMS0yOCAxMDo0NjoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHJlZmFjdG9yIHN0cmVhbXMgZGF0YSB0byBpdHMgb3duIHN0cnVjdAoJICBLZWVwcyBjb2RlIG1vcmUgb3JnYW5pemVkIGFuZCBzaW1pbGFyIHRvIHdoYXQgb3RoZXIgZGVtdXhlcnMKCSAgdXN1YWxseSBkbwoKMjAxMy0wMS0yNSAxMzowNDoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2g6IGRvIG5vdCB0cnkgdG8gcHJpbnQgYSBwb2ludGVyIGFzIGEgc3RyaW5nCgoyMDEzLTAxLTI1IDEyOjQ1OjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogUmVtb3ZlIHRpbWluZyBjb2RlIHRoYXQgZGVsYXlzIHB1c2hpbmcgb2YgZnJhZ21lbnRzCgkgIEZyYWdtZW50cyBzaG91bGQgYmUgcHVzaGVkIEFTQVAgYXMgZG93bnN0cmVhbSBzaG91bGQgYmUgcmVzcG9uc2libGUgZm9yCgkgIGRvaW5nIHRoZSBzeW5jcmhvbml6YXRpb24gYW5kIHByb3BlciBidWZmZXJpbmcuCgkgIFRoaXMgaGFzIHRoZSBncmVhdCBzaWRlIGVmZmVjdCBvZiBmaXhpbmcgbW9zdCBvZiB0aGUgc2Vla2luZyBBL1Ygc3luYyBpc3N1ZXMuCgoyMDEzLTAxLTI1IDA5OjM2OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJKiBleHQvZGFzaC9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIGRhc2g6IGZpeGluZyBidWlsZCB3YXJuaW5ncwoJICBBbHNvIHJ1bm5pbmcgdGhyb3VnaCBnc3QtaW5kZW50CgoyMDEzLTAxLTIzIDE2OjQzOjEyIC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZ3N0ZGFzaGRlbXV4OiBhZGQgbmVlZF9oZWFkZXIgbWVtYmVyIHRvIGtub3cgd2hldGhlciB0aGUgaW5pdGlhbGl6YXRpb24gZnJhZ21lbnQgc2hvdWxkIGJlIHB1c2hlZAoKMjAxMy0wMS0yMyAxMzoyMDoyNSAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogZG9uJ3Qgd2FpdCBmb3IgdGhlIHdob2xlIGR1cmF0aW9uIG9mIGEgZnJhZ21lbnQgd2hlbiBzZWVraW5nCgoyMDEzLTAxLTIzIDEzOjE5OjIxIC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHN3aXRjaCBwYWRzIGFuZCBzZW5kIGhlYWRlciBmaWxlIHdoZW4gYSBuZXdzZWdtZW50IGV2ZW50IGlzIHNlbnQKCjIwMTMtMDEtMTYgMTM6NTg6NTIgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiB2YXJpb3VzIGZpeGVzCgoyMDEyLTEyLTIwIDA5OjA0OjI4ICswMTAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIEFwcGxpZWQgZ3N0LWluZGVudAoKMjAxMi0xMi0xOCAxMToyMToyMiArMDEwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvUkVBRE1FOgoJICBSZXBsYWNlZCBVUkwgcG9pbnRpbmcgdG8gb2Jzb2xldGUgS2xhZ2VuZnVydCBNUEQgYnkgYSBuZXcgb25lCgoyMDEyLTEyLTE3IDE1OjQ2OjMyICswMTAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogZml4IGVzY2FwZSBzZXF1ZW5jZSBpbiBVUkwgdGVtcGxhdGUgcmVzb2x2aW5nCgoyMDEyLTEyLTE3IDE1OjM5OjEwICswMTAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgbXBkcGFyc2VyOiBkbyBub3Qgc3dpdGNoIHBhZHMgd2hlbiBiaXRzdHJlYW1Td2l0Y2hpbmcgPSB0cnVlCgoyMDEyLTEyLTE3IDE1OjE5OjMzICswMTAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBjb21wbGV0ZSBzdXBwb3J0IGZvciBtYW5pZmVzdCBmaWxlIHVwZGF0ZXMKCjIwMTItMTItMTcgMTU6MTI6NTggKzAxMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBtYW5pZmVzdCBmaWxlIHVwZGF0ZXMKCSAgLSB0aGUgTVBEIGZpbGUgaXMgdXBkYXRlZCBpbiB0aGUgZG93bmxvYWQgbG9vcCAob25seSBpZiB3ZSBoYXZlIGEgImR5bmFtaWMiIE1QRCBhbmQgbWluaW11bVVwZGF0ZVBlcmlvZCBpcyB2YWxpZCk7CgkgIC0gcHJvcGVybHkgTE9DSy9VTkxPQ0sgdGhlIEdzdE1wZENsaWVudDsKCjIwMTItMTItMTcgMTU6MDQ6NDUgKzAxMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IG5ldyBBUEkgdG8gc2V0L2dldCBzZWdtZW50IGluZGV4IGFuZCBwZXJpb2QgaW5kZXgKCSAgVE9ETzogcmV3b3JrIHNlZ21lbnQgc2VsZWN0aW9uIHRvIHN1cHBvcnQgUmVwcmVzZW50YXRpb25zIG9yIEFkYXB0YXRpb24gU2V0cyB3aXRoIHNlZ21lbnRzIG5vdCBhbGlnbmVkCgoyMDEyLTEyLTE3IDE1OjAwOjUyICswMTAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBuZXcgQVBJIHRvIGxvYWQgdGhlIHN0cmVhbSBQZXJpb2Qgd2l0aCBhIGdpdmVuIGluZGV4CgkgIHRoaXMgYXZvaWRzIHRvIGZpZGRsZSB3aXRoIHN0cmVhbSBpbnRlcm5hbHMgaW4gdGhlIGNvZGUKCjIwMTItMTItMTcgMTQ6NTQ6NDIgKzAxMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBpbXBsZW1lbnQgc2Vla2luZyBhY3Jvc3MgUGVyaW9kcwoKMjAxMi0xMS0yMSAxNDoxNDozNCArMDEwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIEFwcGxpZWQgZ3N0LWluZGVudAoKMjAxMi0xMS0yMSAxNDoxNDoyMSArMDEwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIEJ5IGRlZmF1bHQsIGRvIG5vdCBmb3J3YXJkIHBhZCBxdWVyaWVzIHVwc3RyZWFtLCBiZWNhdXNlIGl0IG1heSBoYXZlIHVuZm9yZXNzZW4gc2lkZS1lZmZlY3RzIChmb3J3YXJkaW5nIHRoZSBuZXcgMS4wIEdTVF9DQVBTIHF1ZXJ5IHdvdWxkIHByZXZlbnQgcGFkIGxpbmtpbmcgZm9yIGluc3RhbmNlKQoKMjAxMi0xMS0xMiAxMDo1NDozNSArMDEwMCAgT2xpdmllciBCbGluIDxvbGl2aWVyLmJsaW5Ac29mdGF0aG9tZS5jb20+CgoJKiBleHQvZGFzaC9nc3RwbHVnaW4uYzoKCSAgcGx1Z2luOiByZWdpc3RlciBhcyBkYXNoZGVtdXggaW5zdGVhZCBvZiBmcmFnbWVudGVkCgkgIFRoaXMgZml4ZXMgY29uZmxpY3RzIHdpdGggdGhlIEhMUyBwbHVnaW4sIHdoaWNoIGlzIGFsc28gbmFtZWQKCSAgZnJhZ21lbnRlZC4KCSAgV2hlbiBidWlsZGluZyBpdHMgcmVnaXN0cnksIGdzdHJlYW1lciB3YXMgcGlja2luZyBvbmUgb3IgdGhlIG90aGVyCgkgIGJldHdlZW4gaGxzIGFuZCBkYXNoZGVtdXguCgoyMDEyLTEwLTI1IDE3OjU1OjAyICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogY2hlY2sgaWYgd2UgaGF2ZSByZWNlaXZlZCB0aGUgTVBEIGZpbGUgaW4gdGhlIHByb3BlciB3YXkKCjIwMTItMTAtMjUgMTc6NTM6NTMgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBzaWxlbmNlIHdhcm5pbmcKCjIwMTItMTAtMjUgMTc6MTU6MDkgKzAyMDAgIE9saXZpZXIgQmxpbiA8b2xpdmllci5ibGluQHNvZnRhdGhvbWUuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZml4IHByaW50aW5nIGJ1ZmZlcmluZyB0aW1lIGFuZCBkb3dubG9hZCByYXRlL3NpemUKCSAgVGhpcyB3YXMgYnJva2VuIG9uIGFybXY3LgoKMjAxMi0xMC0yNSAxNzoxNzozNSArMDIwMCAgT2xpdmllciBCbGluIDxvbGl2aWVyLmJsaW5Ac29mdGF0aG9tZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBmaXggdW51c2VkLWJ1dC1zZXQgdmFyaWFibGUKCjIwMTItMTAtMjUgMTY6NDk6MjEgKzAyMDAgIE9saXZpZXIgQmxpbiA8b2xpdmllci5ibGluQHNvZnRhdGhvbWUuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogdXNlIG5ldyBnc3RfbXBkX2NsaWVudF9nZXRfbmV4dF9mcmFnbWVudF9kdXJhdGlvbiBBUEkKCSAgVGhpcyBmaXhlcyBidWlsZCB0aGF0IGhhcyBiZWVuIGJyb2tlbiBieSBjb21taXQKCSAgZmI5YWVhYzY1NTIwMjFiMTc2YTRjNGJkMDcyNjVlMDJhMGI3MGUwZi4KCSAgZ3N0X21wZF9jbGllbnRfZ2V0X3RhcmdldF9kdXJhdGlvbiBoYXMgYmVlbiByZW1vdmVkLCBhbmQKCSAgZ3N0X21wZF9jbGllbnRfZ2V0X25leHRfZnJhZ21lbnRfZHVyYXRpb24gc2hvdWxkIGJlIHVzZWQgaW5zdGVhZC4KCjIwMTItMTAtMjQgMTc6Mjg6NDAgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiByZW1vdmUgRklYTUUgY29tbWVudAoJICBwYWQgc3dpdGNoaW5nIGFjcm9zcyBtdWx0aXBsZSBwZXJpb2RzIHdvcmtzIHBlcmZlY3RseSBmaW5lIG5vdwoJICBhbmQgaXQgaXMgZG9uZSBvbmx5IHdoZW4gdGhlcmUgaXMgYSBjaGFuZ2UgaW4gdGhlIENBUFMKCjIwMTItMTAtMjQgMTY6NTU6MjAgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBzZW5kIG5ldy1zZWdtZW50IGV2ZW50cyB0byBhbGwgcGFkcwoKMjAxMi0xMC0yNCAxNjozMDowMSArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogcmV3b3JrZWQgdGhlIEFQSSB0byByZXRyaWV2ZSBmcmFnbWVudCB0aW1lc3RhbXAsIGZyYWdtZW50IGR1cmF0aW9uIGFuZCBtZWRpYSBwcmVzZW50YXRpb24gZHVyYXRpb24KCSAgVGhpcyB3YXMgbmVjZXNzYXJ5IHRvIHN1cHBvcnQgdmFyaWFibGUtZHVyYXRpb24gRnJhZ21lbnRzLgoJICBpbiB0aGUgbmV3IEFQSToKCSAgLSBnc3RfbXBkX2NsaWVudF9nZXRfY3VycmVudF9wb3NpdGlvbiByZXR1cm5zIHRoZSB0aW1lc3RhbXAgb2YgdGhlIE5FWFQgZnJhZ21lbnQgdG8gZG93bmxvYWQ7CgkgIC0gZ3N0X21wZF9jbGllbnRfZ2V0X25leHRfZnJhZ21lbnRfZHVyYXRpb24gcmV0dXJucyB0aGUgZHVyYXRpb24gb2YgdGhlIG5leHQgZnJhZ21lbnQgdG8gZG93bmxvYWQ7CgkgIC0gZ3N0X21wZF9jbGllbnRfZ2V0X21lZGlhX3ByZXNlbnRhdGlvbl9kdXJhdGlvbiByZXR1cm5zIHRoZSBtZWRpYVByZXNlbnRhdGlvbkR1cmF0aW9uIGZyb20gdGhlIE1QRCBmaWxlOwoJICBhbHNvIHRoZXJlIGlzIGEgbmV3IGludGVybmFsIHBhcnNlciBmdW5jdGlvbjoKCSAgLSBnc3RfbXBkX2NsaWVudF9nZXRfc2VnbWVudF9kdXJhdGlvbiBleHRyYWN0cyB0aGUgY29uc3RhbnQgc2VnbWVudCBkdXJhdGlvbiBmcm9tIHRoZSBNUEQgZmlsZQoJICAob25seSB1c2VkIHdoZW4gdGhlcmUgaXMgbm8gU2VnbWVudFRpbWVsaW5lIHN5bnRheCBlbGVtZW50IGluIHRoZSBjdXJyZW50IHJlcHJlc2VudGF0aW9uKQoJICBJbiBnc3RfbXBkX2NsaWVudF9nZXRfbmV4dF9mcmFnbWVudCwgd2Ugc2V0IHRoZSB0aW1lc3RhbXAvZHVyYXRpb24gb2YgdGhlIGZyYWdtZW50IGp1c3QgZG93bmxvYWRlZAoJICBjb3B5aW5nIHRoZSB2YWx1ZXMgZnJvbSB0aGUgY29ycmVzcG9uZGluZyBHc3RNZWRpYVNlZ21lbnQuCgkgIFRPRE86IHJld29yayBTRUVLSU5HIHRvIHN1cHBvcnQgc2Vla2luZyBhY3Jvc3MgZGlmZmVyZW50IFBlcmlvZHMuCgoyMDEyLTEwLTI0IDE0OjUwOjU0ICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogdXNlIGVmZmVjdGl2ZSBzZWdtZW50IGR1cmF0aW9uIHRvIHJlc2NoZWR1bGUgdGhlIHN0cmVhbWluZyB0YXNrCgkgIGRvIG5vdCBhc3N1bWUgc2VnbWVudCBkdXJhdGlvbiBpcyBjb25zdGFudAoJICBDb25mbGljdHM6CgkgIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jCgoyMDEyLTEwLTI0IDE0OjI0OjA1ICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcmV3b3JrZWQgZ3N0X2Rhc2hfZGVtdXhfZ2V0X2J1ZmZlcmluZ190aW1lKCkgdG8gcmV0dXJuIHRoZSBlZmZlY3RpdmUgYnVmZmVyaW5nIHRpbWUKCSAgZG8gbm90IGFzc3VtZSB0aGUgRnJhZ21lbnQgZHVyYXRpb24gaXMgY29uc3RhbnQKCjIwMTItMTAtMjQgMTE6NDk6NTEgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBjb21wbGV0ZSBzdXBwb3J0IGZvciBNZWRpYSBQcmVzZW50YXRpb25zIHdpdGggc2V2ZXJhbCBQZXJpb2RzCgkgIC0gUGVyaW9kcyBhcmUgcGxheWVkIGluIHNlcXVlbmNlLCBmcm9tIFBlcmlvZFN0YXJ0IHRvIFBlcmlvZEVuZAoJICAtIHNlYW1sZXNzIHN3aXRjaGluZyBmcm9tIG9uZSBQZXJpb2QgdG8gdGhlIG5leHQgb25lIHdvcmtzIGZpbmU7CgkgIC0gdGhlICduZXctc2VnbWVudCcgZ2VuZXJhdGlvbiBpcyBicm9rZW4sIHNvIGlmIHdlIG5lZWQgdG8gc3dpdGNoIHBhZHMgZm9yIGEgbmV3IFBlcmlvZCB0aGVyZSBpcyBhIGNyYXNoOwoKMjAxMi0xMC0yMiAxODoxMjozMCArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIG1wZHBhcnNlcjogaW5pdGlhbCBzdXBwb3J0IGZvciBNZWRpYSBQcmVzZW50YXRpb25zIG1hZGUgb2Ygc2V2ZXJhbCBQZXJpb2RzCgkgIC0gYnVpbGQgYSBsaXN0IG9mIHRoZSBhdmFpbGFibGUgUGVyaW9kcyB3aXRoIHRoZWlyIHN0YXJ0IGFuZCBkdXJhdGlvbiB0aW1lCgkgIC0gYWRkIHRoZSBsaXN0IG9mIEdzdFN0cmVhbVBlcmlvZCBpbiB0aGUgR3N0TXBkQ2xpZW50IGRhdGEgc3RydWN0CgkgIC0gcmVtb3ZlIGN1cl9wZXJpb2QgZnJvbSBHc3RNcGRDbGllbnQgYW5kIGludHJvZHVjZSBhbiBBUEkgdG8gZ2V0IHRoZSBjdXJyZW50IEdzdFN0cmVhbVBlcmlvZAoJICAtIHNldmVyYWwgQVBJIGNsZWFuLXVwcwoKMjAxMi0xMC0yNCAxODoxMDo0NyArMDIwMCAgT2xpdmllciBCbGluIDxvbGl2aWVyLmJsaW5Ac29mdGF0aG9tZS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBzdXBwb3J0IEJhc2VVUkwgZm9yIFNlZ21lbnRVUkwgdXNpbmcgbWVkaWFSYW5nZQoJICBUaGlzIGlzIHVzZWQgaW4gYmlnX2J1Y2tfYnVubnlfQ2FwcGVkVkJSX011bHRpcmF0ZV80c18wX0F1ZGlvVmlkZW9fTWFpblByb2ZpbGUubXBkCgoyMDEyLTEwLTI0IDE4OjA0OjA3ICswMjAwICBPbGl2aWVyIEJsaW4gPG9saXZpZXIuYmxpbkBzb2Z0YXRob21lLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IGZhY3Rvcml6ZSBhZGRpbmcgcmFuZ2UgcGFyYW1ldGVyIHRvIFVSTAoKMjAxMi0xMC0xOSAyMDoxMjowOSArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogcmV3b3JrZWQgY2FwcyBkZXRlY3Rpb24KCSAgYWxzbyByZXdvcmtlZCB0aGUgQVBJIHRvIGV4dHJhY3QgYXVkaW8vdmlkZW8gcGFyYW1ldGVycyBmcm9tIHRoZSBtYW5pZmVzdCBmaWxlCgkgIChtaW1lVHlwZSwgd2lkdGgsIGhlaWdodCwgcmF0ZSwgbnVtIGNoYW5uZWxzKQoKMjAxMi0xMC0xOSAxOTowMzo0MSArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBkbyBub3Qgc2VuZCBib2d1cyBkdXJhdGlvbiBtZXNzYWdlcyB3aGVuIG1lZGlhUHJlc2VudGF0aW9uRHVyYXRpb24gaXMgdW5rbm93bgoKMjAxMi0xMC0xOSAxODo0NTozMCArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IHN1cHBvcnQgU2VnbWVudFRpbWVsaW5lIHN5bnRheCBhbHNvIGZvciBsaXN0LWJhc2VkIG1lZGlhIHNlZ21lbnQgZ2VuZXJhdGlvbgoKMjAxMi0xMC0xOSAxNzo0Nzo1MSArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgbXBkcGFyc2VyOiBhZGQgc3VwcG9ydCBmb3IgU2VnbWVudFRpbWVsaW5lIHN5bnRheCBlbGVtZW50cwoJICBidWlsZCB0aGUgbGlzdCBvZiBzZWdtZW50cyB0byBiZSBwbGF5ZWQgdXNpbmcgdGhlIFNlZ21lbnRUaW1lbGluZSBzeW50YXgsIGlmIHByZXNlbnQKCSAgYnVnZml4ZXM6CgkgIC0gZm9yIGR5bmFtaWMgTVBEIGZpbGVzLCB3aGVuIG1lZGlhUHJlc2VudGF0aW9uRHVyYXRpb24gaXMgbm90IHByZXNlbnQgdXNlIG1pbmltdW1VcGRhdGVQZXJpb2QgaW5zdGVhZAoJICAtIGRvIG5vdCBhZGQgYSBzcHVyaW91cyAnJCcgd2hlbiBidWlsZGluZyBhbiBVUkwgZnJvbSBhIHRlbXBsYXRlIGxpa2UgIiRCYW5kd2lkdGgkL2luaXQubXA0diIKCSAgLSBpbnRyb2R1Y2UgZ3N0X21wZF9jbGllbnRfYWRkX21lZGlhX3NlZ21lbnQoKSB0byBhdm9pZCBjb2RlIGR1cGxpY2F0aW9uCgoyMDEyLTEwLTE5IDE1OjQyOjUxICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgRml4ZWQgd3JvbmcgaW5kZXggaW4gZnJhZ21lbnRzCgoyMDEyLTEwLTE5IDEyOjAxOjAzICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgbXBkcGFyc2VyOiBmaXggbWVtb3J5IGxlYWsgaW4gZ3N0X21wZF9jbGllbnRfZ2V0X25leHRfZnJhZ21lbnRfc2V0KCkKCSAgd2UgaGF2ZSB0byBmcmVlIG5leHRfZnJhZ21lbnRfdXJpCgoyMDEyLTEwLTE5IDEwOjUwOjE2ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgUmVtb3ZlZCB1bnVzZWQgZnVuY3Rpb24KCjIwMTItMTAtMTkgMTA6NDM6NDkgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBTZWVrIGV2ZW50IGhhbmRsaW5nIGNsZWFudXAKCjIwMTItMTAtMTggMTg6NDk6NTMgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogZml4IHBsYXlpbmcgb2Ygc2luZ2xlLXNlZ21lbnQgbWVkaWEgc3RyZWFtcwoJICBvdGhlciBmaXhlczoKCSAgLSBmaXhlZCBhIGJ1ZmZlcmluZyBidWc6IG5vdyB3ZSBzdG9wIGJ1ZmZlcmluZyB3aGVuIHdlIHJlYWNoIHRoZSBlbmQgb2YgbWFuaWZlc3QKCSAgLSBub3cgZ3N0X21wZF9jbGllbnRfZ2V0X3RhcmdldF9kdXJhdGlvbigpIGFsd2F5cyByZXR1cm5zIGEgdmFsaWQgZHVyYXRpb24KCSAgKGluIGNhc2Ugb2Ygc2luZ2xlLXNlZ21lbnQgc3RyZWFtcywgd2UgcmV0dXJuIGVpdGhlciBQZXJpb2QgZHVyYXRpb24gb3IgbWVkaWFQcmVzZW50YXRpb24gZHVyYXRpb24pCgkgIFRPRE86IHN1cHBvcnQgU2VnbWVudFRpbWVsaW5lCgoyMDEyLTEwLTE3IDE4OjQ2OjIyICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0dXJpZG93bmxvYWRlci5oOgoJICB1cmlkb3dubG9hZGVyOiBkZWxldGVkIHVzZWxlc3MgZGVjbGFyYXRpb24gb2YgZ3N0X3VyaV9kb3dubG9hZGVyX2ZyZWUoKQoKMjAxMi0xMC0xNyAxODo0NToyNSArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogd2hlbiBwb3NzaWJsZSwgcmV1c2UgZXhpc3RpbmcgZWxlbWVudCB0byBkb3dubG9hZCBhIG5ldyBVUkkKCSAgcHJldmlvdXNseSBhIG5ldyBlbGVtZW50IHdhcyBhbGxvY2F0ZWQgZm9yIGVhY2ggbWVkaWEgc2VnbWVudCwgYW5kIGl0IHdhcyBuZXZlciBmcmVlZAoKMjAxMi0xMC0xNyAxODo0MzoyNiArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHVucmVmIGNhcHMgaW4gZnVuY3Rpb24gbmVlZF9hZGRfaGVhZGVyKCkKCjIwMTItMTAtMTcgMTg6NDI6MDIgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBmaXggZXh0cmFjdGlvbiBvZiBTZWdtZW50VGVtcGxhdGUtPmluaXRpYWxpemF0aW9uIGluIGdzdF9tcGRfY2xpZW50X2dldF9uZXh0X2hlYWRlcigpCgkgIG5vdyB0aGUgZm9sbG93aW5nIE1QRCBmaWxlcyBhcmUgcHJvcGVybHkgc3VwcG9ydGVkOgoJICBodHRwOi8vZGFzaC5lZGdlc3VpdGUubmV0L2Fkb2JlL2hkd29ybGRfZGFzaC9IRFdvcmxkLTE2MDAubXBkCgkgIGh0dHA6Ly9kYXNoLmVkZ2VzdWl0ZS5uZXQvYWRvYmUvaGR3b3JsZF9kYXNoL0hEV29ybGQubXBkCgoyMDEyLTEwLTE3IDE4OjQwOjAyICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZml4IG1lbW9yeSBsZWFrIGluIGdzdF9kYXNoX2RlbXV4X2dldF9uZXh0X2hlYWRlcigpCgoyMDEyLTEwLTE3IDE1OjUyOjE5ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgV2Ugbm93IG9ubHkgYWNjZXB0IGFjdHVhbCBtYW5pZmVzdCBmaWxlcywgYW5kIG5vdCBhbnkgWE1MIGZpbGUKCjIwMTItMTAtMTcgMTU6NTA6MzMgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL01ha2VmaWxlLmFtOgoJKiBleHQvZGFzaC9nc3RwbHVnaW4uYzoKCSAgQWRkZWQgYSB0eXBlZmluZCBoZWxwZXIgZm9yIERBU0g6IHRoaXMgY29tbWl0IHNob3VsZCBiZSByZXZlcnRlZCBhcyBzb29uIGFzIGEgcHJvcGVyIHBhdGNoIGhhcyBiZWVuIHN1Ym1pdHRlZCB0byBnc3QtcGx1Z2lucy1iYXNlCgoyMDEyLTEwLTE3IDEwOjAyOjM5ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgRml4ZWQgc3RhdGUgbWFjaGluZSAoYWdhaW4pCgoyMDEyLTEwLTE2IDE2OjQ2OjE3ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgQ29kZSByZWZhY3RvcmluZwoKMjAxMi0xMC0xNiAxNjozNDoxMCArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIEZpeGVkIHN0YXRlIG1hY2hpbmUKCjIwMTItMTAtMTYgMTM6NDM6MzkgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgSW1wcm92ZSBjb25zaXN0ZW5jeSBvZiB0aGUgdGFza3Mgc2h1dGRvd24gY29kZQoKMjAxMi0xMC0xNiAxMjo1MTo0NCArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIEFkZGVkIG1pc3NpbmcgZ19saXN0X2ZyZWUKCjIwMTItMTAtMTYgMTE6NDQ6MjYgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBEbyBub3QgYW5zd2VyIHRvIFVSSSBxdWVyaWVzCgoyMDEyLTEwLTE2IDExOjM5OjE4ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgVHJ5IHF1ZXJpZXMgdXBzdHJlYW0gaWYgd2UgY2Fubm90IHByb2Nlc3MgdGhlbQoKMjAxMi0xMC0xNiAxMToyNjowMyArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBSZW5hbWVkIGRlbXV4LT5uZXh0X3N0cmVhbSBpbiBkZW11eC0+bmV4dF9wdXNoCgoyMDEyLTEwLTE2IDExOjIzOjI2ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgSW5saW5lZCBvbmUtbGluZSB1dGlsaXR5IGZ1bmNpdG9uIHRoYXQgd2FzIGNhbGxlZCBvbmx5IG9uY2UKCjIwMTItMTAtMTYgMDk6MTA6MDAgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBGaXhlZCByZWdyZXNzaW9uIGFmdGVyIHRoZSBpbnRyb2R1Y3Rpb24gb2YgdGhlIG11bHRpLXNjcmVlbiBzdXBwb3J0LCBwcmV2ZW50aW5nIHRoZSBwaXBlbGluZSBmcm9tIHN0b3BwaW5nIHByb3Blcmx5CgoyMDEyLTEwLTE1IDE2OjQxOjI4ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgTW9kaWZpZWQgbG9nIGxldmVsIG9mIHNodXRkb3duIG1lc3NhZ2UKCjIwMTItMTAtMTUgMTU6MDg6NTMgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBDb21tZW50czogV2UgZG9uJ3Qgc2VsZWN0IGEgc2luZ2xlIHJlcHJlc2VudGF0aW9uLCBidXQgYSByZXByZXNlbnRhdGlvbiBmb3IgZWFjaCBzdHJlYW0gQ29kZTogY2xlYW51cCBvZiBnc3RfZ2V0X25leHRfZnJhZ21lbnQgKGFsc28gcmVuYW1lZCBpbiBnc3RfZ2V0X25leHRfZnJhZ21lbnRfc2V0KQoKMjAxMi0xMC0xNSAxNDoyNToyNyArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIFJlbW92ZWQgZGVidWcgdHJhY2UKCjIwMTItMTAtMTUgMTQ6MTQ6NTMgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBBZGRlZCBpbnRyb2R1Y3Rpb24gYW5kIGdlbmVyYWwgZGVzaWduIG5vdGVzCgoyMDEyLTEwLTE1IDEzOjU0OjE3ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgRml4ZWQgd3JvbmcgY29tbWVudAoKMjAxMi0xMC0xNSAxMzo1MjozMSArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIERvY3VtZW50ZWQgZ3N0X2Rhc2hfZGVtdXhfZG93bmxvYWRfbG9vcAoKMjAxMi0xMC0xNSAxMzozNToxNSArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIENvbW1lbnRlZCBnc3RfZGFzaF9kZW11eF9zdHJlYW1fbG9vcAoKMjAxMi0xMC0xNSAxMzoxNzoxMiArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIENvbW1lbnRlZCBuZWVkc19wYWRfc3dpdGNoCgoyMDEyLTEwLTE1IDEzOjA5OjQ5ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgRG9jdW1lbnRlZCB0aGUgcmVwcmVzZW50YXRpb24gc3dpdGNoIG1lY2hhbmlzbQoKMjAxMi0xMC0xNSAxMTo0MDo1NSArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBSZXBsYWNlZCByZWZlcmVuY2VzIHRvIHBsYXlsaXN0IChITFMpIGJ5IHJlZmVyZW5jZXMgdG8gbWFuaWZlc3QgKERBU0gpCgoyMDEyLTEwLTE1IDExOjMzOjU4ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgUmVuYW1lZCBnc3RfZGFzaF9kZW11eF9zd2l0Y2hfcGxheWxpc3QgdG8gZ3N0X2Rhc2hfZGVtdXhfc2VsZWN0X3JlcHJlc2VudGF0aW9uIGFuZCBhZGRlZCBjb21tZW50cwoKMjAxMi0xMC0xNSAxMToxOToyOSArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIFJlbW92ZWQgb2Jzb2xldGUgY29tbWVudAoKMjAxMi0xMC0xNSAxMToxODoyNSArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIEFwcGxpZWQgZ3N0LWluZGVudAoKMjAxMi0xMC0xMSAxMjo1NDo1MCArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvUkVBRE1FOgoJICBVcGRhdGVkIFJFQURNRQoKMjAxMi0xMC0wOSAxMzoyNDoyMyArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IHN1cHBvcnQgTVBEIGZpbGVzIHdpdGggU2VnbWVudEJhc2UgZWxlbWVudHMgZW5jb2RlZCBpbnNpZGUgYSBTZWdtZW50TGlzdCBlbGVtZW50CgkgIGFsc28gcHJvcGVybHkgc3VwcG9ydCBNUEQgZmlsZXMgd2l0aG91dCBhbnkgSW5pdGlhbGl6YXRpb24gc2VnbWVudAoKMjAxMi0xMC0wOCAxNzo0MzoxNCArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIG1wZHBhcnNlci9kYXNoZGVtdXg6IGZpeGVkIGdldF93aWR0aCwgZ2V0X2hlaWdodCwgZ2V0X2F1ZGlvX3JhdGUsIGdldF9udW1fYXVkaW9fY2hhbm5lbHMgQVBJIGZ1bmN0aW9ucwoJICB0aGUgYWN0dWFsIHZhbHVlcyBub3cgY2FuIGJlIGV4dHJhY3RlZCBhbHNvIGZyb20gdGhlIEFkYXB0YXRpb25TZXQgZWxlbWVudDsKCSAgY2hlY2tpbmcgTlVMTCBzdHJ1Y3RzIGZvciBiZXR0ZXIgcm9idXN0bmVzczsKCjIwMTItMTAtMDggMTY6NTk6MjEgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogYWRkZWQgc3VwcG9ydCBmb3Igc2luZ2xlLXNlZ21lbnQgc3RyZWFtcyB3aXRoIHRoZSBVUkwgZW5jb2RlZCBpbiB0aGUgYmFzZVVSTCBzeW50YXggZWxlbWVudAoKMjAxMi0xMC0wOCAxNToyNjo0OCArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgbXBkcGFyc2VyOiBhZGRlZCBsYW5nIGF0dHJpYnV0ZSB0byBQcm9ncmFtSW5mb3JtYXRpb24gbm9kZQoKMjAxMi0xMC0wOCAxMTo0Nzo0NSArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgbXBkcGFyc2VyOiBhZGRlZCBzdXBwb3J0IGZvciBBY2Nlc3NpYmlsaXR5LCBSb2xlLCBSYXRpbmcsIFZpZXdwb2ludCBlbGVtZW50cyB0byBBZGFwdGF0aW9uU2V0IG5vZGUKCSAgdGhvc2UgYXJlIERlc2NyaXB0b3JUeXBlIGVsZW1lbnRzLCBzbyB0aGV5IGFyZSBqdXN0IHBhcnNlZCBhbmQgZHVtcGVkIGZvciBub3c7CgoyMDEyLTEwLTA4IDExOjMwOjQwICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBtcGRwYXJzZXI6IHN1cHBvcnQgbXVsdGlwbGUgUHJvZ3JhbUluZm9ybWF0aW9uIG5vZGVzCgkgIG5vdyB3ZSBrZWVwIGEgbGlzdCBvZiBQcm9ncmFtSW5mb3JtYXRpb24gbm9kZXMgZm9yIGVhY2ggUGVyaW9kIG5vZGUKCjIwMTItMTAtMDggMTE6MTY6MDkgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBtcGRwYXJzZXI6IGZpeGVkIHBhcnNpbmcgb2YgU2VnbWVudExpc3Qgc3ludGF4IGVsZW1lbnQsIGFuZCBlbGltaW5hdGVkIFJlcHJlc2VudGlvbiBub2RlIGxpc3QgZnJvbSBQZXJpb2Qgbm9kZQoJICBTZWdtZW50TGlzdCBub2RlcyBhcmUgYWxsb3dlZCBpbnRvIFBlcmlvZCwgQWRhcHRhdGlvblNldCBvciBSZXByZXNlbnRhdGlvbiBub2RlcwoJICBhbmQgdGhlcmUgaXMgYXQgbW9zdCAxIGVsZW1lbnQsIHNvIG5vIG5lZWQgdG8ga2VlcCBhIGxpc3Q7CgkgIFBlcmlvZCBub2RlcyBjYW5ub3QgaGF2ZSBhbnkgUmVwcmVzZW50aW9uIGVsZW1lbnRzLCBhcyBBZGFwdGF0aW9uU2V0IG5vZGVzIGFyZSBtYW5kYXRvcnk7CgkgIHRoaXMgYnJlYWtzIGNvbXBhdGliaWxpdHkgd2l0aCBzb21lIGxlZ2FjeSBEQVNIIHRlc3Qgc2VxdWVuY2VzLgoKMjAxMi0xMC0wOCAxMDoyOTowNCArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IGZpeGVkIHJldHVybiB3aXRoIG5vIHZhbHVlCgkgIGdzdG1wZHBhcnNlci5jOiBJbiBmdW5jdGlvbiDigJhnc3RfbXBkcGFyc2VyX2dldF9saXN0X2FuZF9uYl9vZl9hdWRpb19sYW5ndWFnZeKAmToKCSAgZ3N0bXBkcGFyc2VyLmM6Mjg5MTogd2FybmluZzog4oCYcmV0dXJu4oCZIHdpdGggbm8gdmFsdWUsIGluIGZ1bmN0aW9uIHJldHVybmluZyBub24tdm9pZAoKMjAxMi0xMC0wOCAxMDoyNDoyOSArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgbXBkcGFyc2VyLmMvLmg6IGNoYW5nZWQgbGljZW5zZSBmcm9tIGR1YWwgTUlUL0xHUEwgMi4wIHRvIExHUEwgMi4xCgkgIHVuaWZvcm1lZCBsaWNlbmNpbnNpbmcgdG8gdGhlIG90aGVyIGxpYnJhcmllcyBpbiB0aGUgZGFzaGRlbXV4IHByb2plY3QKCjIwMTItMTAtMDIgMDI6Mjg6NTggKzAyMDAgIGh6YWthcmkgPGhhbWlkLnpha2FyaUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBPcHRpbWl6ZSB0aGUgdHdvIGZ1bmN0aW9ucyB0aGF0IHJldHVybiB0aGUgbnVtYmVyIGFuZCB0aGUgbGlzdCBvZiBsYW5ndWFnZXMgaW4gYSBzaW5nbGUgZnVuY3Rpb24KCjIwMTItMDktMjkgMDU6Mjc6NTEgKzAyMDAgIEhhbWlkIFpBS0FSSSA8emFrYXJpQHItbG54LXpha2FyaS4obm9uZSk+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgQWRkIHRoZSBoZWFkZXJzIHRvIHRoZSBhZGFwdGF0aW9uc2V0cyBzZWdtZW50cyBpZiBhbnkgb25lIG9mIHRoZXNlIGNoYW5nZWQgcmVwcmVzZW50YXRpb24KCjIwMTItMDktMjkgMDM6MTM6MjkgKzAyMDAgIEhhbWlkIFpBS0FSSSA8emFrYXJpQHItbG54LXpha2FyaS4obm9uZSk+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgU3VwcG9ydCBNdWx0aSBsYW5ndWFnZXMgKG5lZWQgYSBkZWNvZGViaW4yIHBhdGNoKQoKMjAxMi0wOS0yOSAwMjo0MToxMyArMDIwMCAgSGFtaWQgWkFLQVJJIDx6YWthcmlAci1sbngtemFrYXJpLihub25lKT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBSZW1vdmUgdGhlICJUT0RPIiBjb21tZW50CgoyMDEyLTA5LTI4IDEyOjU1OjI3ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9DT1BZSU5HOgoJKiBleHQvZGFzaC9MSUNFTlNFOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIFJlbmFtZWQgTElDRU5TRSBpbnRvIENPUFlJTkcKCjIwMTItMDktMjggMTE6NDY6MDAgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL0FVVEhPUlM6CgkgIFVwZGF0ZWQgYXV0aG9ycwoKMjAxMy0wNS0wOCAxMToxMzozMiAtMDMwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvQVVUSE9SUzoKCSogZXh0L2Rhc2gvTElDRU5TRToKCSogZXh0L2Rhc2gvTWFrZWZpbGUuYW06CgkqIGV4dC9kYXNoL1JFQURNRToKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RmcmFnbWVudC5jOgoJKiBleHQvZGFzaC9nc3RmcmFnbWVudC5oOgoJKiBleHQvZGFzaC9nc3RmcmFnbWVudGVkLmg6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSogZXh0L2Rhc2gvZ3N0cGx1Z2luLmM6CgkqIGV4dC9kYXNoL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZXh0L2Rhc2gvZ3N0dXJpZG93bmxvYWRlci5oOgoJICBJbml0aWFsIGltcG9ydCBvZiBnc3RkYXNoZGVtdXggc291cmNlcwoKMjAxMi0xMC0yNiAxODowMDowMiArMDIwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicEBrLWQtdy5vcmc+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBVc2UgRFZCIEFQSSB2NSBha2EgUzJBUEkgaW5zdGVhZCBvZiBvYnNvbGV0ZSB2MyBBUEkKCSAgUGF0Y2ggaXMgYmFzZWQgb24gd29yayBvZiBUb255IEhvdWdodG9uIDxoQHJlYWxoLmNvLnVrPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0NDc5CgoyMDEzLTA1LTA4IDE1OjQyOjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBzbW9vdGhzdHJlYW1pbmc6IHBhc3Mgd2lkdGgsIGhlaWdodCwgY2hhbm5lbHMgYW5kIHJhdGUgYXMgaW50ZWdlcgoJICBnX2FzY2lpX3N0cnRvdWxsKCkgcmV0dXJucyBhIGxvbmcgbG9uZyBpbnRlZ2VyLCBidXQgd2UgbmVlZCB0bwoJICBwYXNzIGEgbm9ybWFsIGludCB0byBnc3Rfc3RydWN0dXJlX3NldCgpIGZvciBmaWVsZHMgb2YgR19UWVBFX0lOVCwKCSAgc28gY2FzdCBhcHByb3ByaWF0ZWx5LgoKMjAxMy0wNS0wOCAxMjo0NToyMCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvbWVtb3J5Lmg6CgkgIHZkcGF1OiBBZGQgVmRwVmlkZW9TdXJmYWNlIGNhcHMgZmVhdHVyZQoKMjAxMy0wNS0wOCAxMDo1NToxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgc21vb3Roc3RyZWFtaW5nOiBmaXggV01WIGNhcHMKCSAgTWFrZXMgdGhpcyBzaG93IGF0IGxlYXN0IGEgcGljdHVyZToKCSAgaHR0cDovL3BsYXlyZWFkeS5kaXJlY3R0YXBzLm5ldC9zbW9vdGhzdHJlYW1pbmcvVFRMU1M3MjBWQzEvVG9fVGhlX0xpbWl0XzcyMC5pc20vTWFuaWZlc3QKCjIwMTMtMDQtMjMgMTI6MDg6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGZpeGluZyBjb21waWxlciB3YXJuaW5ncyBhYm91dCBwcmludCBmb3JtYXRzCgoyMDEzLTA0LTE2IDE5OjM1OjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL01ha2VmaWxlLmFtOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdGRvd25sb2FkcmF0ZS5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdGRvd25sb2FkcmF0ZS5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0c21vb3Roc3RyZWFtaW5nLXBsdWdpbi5jOgoJICBzbW9vdGhzdHJlYW1pbmc6IHBvcnQgdG8gMS4wCgoyMDEzLTA0LTEyIDE1OjU5OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiByZW1vdmUgYWxyZWFkeSBmaXhlZCBUT0RPIGNvbW1lbnQKCjIwMTMtMDQtMTIgMTU6NTg6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IHJlcGxhY2UgZ3N0X3ZhbHVlX2Rlc2VyaWFsaXplIHdpdGggc2ltcGxlciBmdW5jdGlvbgoJICBUaGUgZGVzZXJpYWxpemF0aW9uIHdhcyBvbmx5IHVzZWQgdG8gY29udmVydCBoZXggc3RyaW5ncyBpbnRvCgkgIEdzdEJ1ZmZlcnMuIFJlcGxhY2UgZ3N0X3ZhbHVlX2Rlc2VyaWFsaXplIHdpdGggYSBzaW1wbGVyLCBkaXJlY3QKCSAgZnVuY3Rpb24uCgoyMDEzLTA0LTEyIDE1OjU2OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBmaXggbmV3c2VnbWVudCBldmVudCBsZWFrCgoyMDEzLTA0LTEyIDE1OjU1OjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiByZXBsYWNlIHVudXNlZCBwYXJhbWV0ZXIKCSAgVGhlIGJ1ZmZlciBwYXJhbWV0ZXIgd2Fzbid0IGJlaW5nIHVzZWQsIGl0IHdhcyBvbmx5IHRvIHNpZ25hbCBpZgoJICBhIGJ1ZmZlciB3YXMgZG93bmxvYWRlZCBhbmQgYWR2YW5jZSB0byB0aGUgbmV4dCBmcmFnbWVudCBpbiB0aGUKCSAgbWFuaWZlc3QuCgkgIFJlcGxhY2UgdGhlIGJ1ZmZlciB3aXRoIGEgYm9vbGVhbiB0aGF0IGhhcyB0aGUgc2FtZSBlZmZlY3QgYW5kIGlzCgkgIHNhZmVyCgoyMDEzLTAzLTExIDEwOjA5OjQwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3M6IGF2b2lkIEdWYWx1ZSBsZWFrCgoyMDEzLTAyLTIyIDE3OjAwOjMwIC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0ZG93bmxvYWRyYXRlLmM6CgkgIG1zc2RlbXV4OiBmaXggYSBzbWFsbCBtZW1vcnkgbGVhawoKMjAxMy0wMi0xOSAxMzoxNzo1MyAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IGF2b2lkIHN0cmVhbWluZyB0byBmYWlsIHdoZW4gZG93bmxvYWQgaXMgY2FuY2VsbGVkCgkgIFdoZW4gZG93bmxvYWQgd2FzIGZhaWxpbmcgcmVwZWF0ZWRseSwgaXQgd2FzIGNhdXNpbmcgc3RyZWFtaW5nIHRvIGZhaWwgZXZlbiB0aG91Z2ggaXQgd2FzIGNhbmNlbGxlZCBvbiBwdXJwb3NlIChzdG9wcGluZyB0YXNrcykuCgoyMDEzLTAyLTA4IDAyOjAxOjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiByZW1vdmluZyB1bnVzZWQgZnVuY3Rpb25zCgoyMDEzLTAyLTA4IDAxOjUxOjMwIC0wMjAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdGRvd25sb2FkcmF0ZS5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IHN3aXRjaCBiaXRyYXRlcyB3aXRob3V0IHN3aXRjaGluZyBwYWRzCgoyMDEzLTAyLTA3IDE2OjI2OjQ2IC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogQ2hlY2sgaWYgcGFkcyBhcmUgdmFsaWQgYmVmb3JlIHJlbW92aW5nLgoKMjAxMy0wMi0wNyAwMzoxMDo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiBhZGQgYSBtYXhpbXVtIGVycm9yIGNvdW50IGZvciBkb3dubG9hZHMKCSAgbXNzZGVtdXggd2lsbCB0b2xlcmF0ZSBhIGZldyBkb3dubG9hZCBlcnJvcnMgYmVmb3JlIGVtaXR0aW5nIGFuCgkgIGVycm9yIG1lc3NhZ2UgdG8gdGhlIGJ1cwoKMjAxMy0wMi0wNiAwODo0ODo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IHVzZSBzdHJlYW1zIGJpdHJhdGUgaW5kaXZpZHVhbGx5CgkgIGNvbm5lY3Rpb24gc2V0dXAgdGltZXMgc2VlbSB0byBtYXR0ZXIgd2hlbiBtZWFzdXJpbmcgdGhlIGRvd25sb2FkCgkgIHJhdGUgb2YgZGlmZmVyZW50IHN0cmVhbXMuIFN0cmVhbXMgd2l0aCBsb25nZXIgZnJhZ21lbnRzIGhhdmUgYQoJICAqcmVsYXRpdmVseSogbG93ZXIgY29ubmVjdGlvbiBzZXR1cCB0aW1lIGFuZCBhY2hpZXZlIGhpZ2hlciBiaXRyYXRlcy4KCSAgVXNpbmcgdGhlIGF2ZXJhZ2Ugc2VlbXMgdW5mYWlyIGhlcmUsIHNvIHVzZSBlYWNoIHN0cmVhbSdzIG1lYXN1cmVkIGJpdHJhdGUKCSAgdG8gc2VsZWN0IGl0cyBiZXN0IHF1YWxpdHkgb3B0aW9uLgoKMjAxMy0wMi0wNSAxNzo0ODo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9NYWtlZmlsZS5hbToKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rkb3dubG9hZHJhdGUuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rkb3dubG9hZHJhdGUuaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiB1c2UgZG93bmxvYWRiaXRyYXRlIHV0aWxpdHkgZm9yIG1lYXN1cmluZyBiaXRyYXRlCgkgIGRvd25sb2FkYml0cmF0ZSBrZWVwcyBhIHNob3J0IGhpc3Rvcnkgb2YgYml0cmF0ZXMgYW5kIGhlbHBzCgkgIHRyYWNraW5nIHRoZSBjdXJyZW50IGF2ZXJhZ2UgZG93bmxvYWQgYml0cmF0ZSBmb3IgbXNzZGVtdXgKCjIwMTMtMDItMDUgMDQ6MDE6MDQgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBQcm9wZXJseSBjb21wdXRlIG5ldyBiaXRyYXRlIGFuZCB1c2UgYml0cmF0ZV9saW1pdC4KCjIwMTMtMDItMDUgMDM6Mjc6NTEgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBBdm9pZCBhIHBvc3NpYmxlIGRpdmlzaW9uIGJ5IHplcm8KCjIwMTMtMDItMDUgMDM6Mjc6MjIgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBBZGQgbWlzc2luZyBvYmplY3QgcGFyYW0gdG8gR1NUX0RFQlVHfElORk9fT0JKRUNUIGNhbGxzCgoyMDEzLTAyLTA1IDAwOjI4OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IGFkZCBiaXRyYXRlLWxpbWl0IHByb3BlcnR5CgkgIEl0IGFsbG93cyB0aGUgcGx1Z2luIHRvIHVzZSBpdHMgb3duIGRvd25sb2FkaW5nIGJpdHJhdGUgbWVhc3VyZXMKCSAgYXMgYSBmZWVkYmFjayB0byBzZWxlY3QgdGhlIGJlc3Qgc3RyZWFtcyBiaXRyYXRlIGZvciB0aGUgY3VycmVudAoJICBuZXR3b3JrIHNjZW5hcmlvCgoyMDEzLTAyLTA0IDIxOjU4OjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL01ha2VmaWxlLmFtOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiB1c2UgdGhlIHNoYXJlZCB1cmlkb3dubG9hZGVyIGxpYiBpbnN0ZWFkIG9mIGFuIGludGVybmFsIGNvcHkKCjIwMTMtMDItMDQgMDI6MjA6NTEgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBEbyBub3QgYmxvY2sgb24gcmVzZXQuCgkgIFdlIG5lZWQgdG8gY2FuY2VsIHRoZSBkb3dubG9hZGVyIGZvciBlYWNoIHN0cmVhbSBiZWZvcmUgam9pbmluZyB0aGUgbWFpbiBkb3dubG9hZCB0YXNrLCBvdGhlcndpc2UKCSAgdGhlIGRvd25sb2FkIHRhc2sgd2lsbCBibG9jayB1bnRpbCBhbGwgdGhlIHN0cmVhbSB0YXNrcyBmaW5pc2guCgoyMDEzLTAyLTAxIDE3OjQ0OjA0IC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGhhbmRsZSBGTFVTSCBldmVudHMgYnkgcmVzZXR0aW5nIHRoZSBkZW11eGVyIHN0YXRlCgoyMDEzLTAyLTAxIDE3OjQzOjQ2IC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGFkZCBjb25kaXRpb25zIHRvIHByZXZlbnQgc29tZSBjcmFzaGVzCgoyMDEzLTAyLTAxIDE3OjI5OjU4IC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IHVzZSBzdGFuZGFyZCBnbGliIG1ldGhvZHMKCjIwMTMtMDItMDEgMTc6Mjc6MTkgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBmaXggc29tZSBtZW1vcnkgbGVha3MgYW5kIHVzZSByaWdodCBmcmVlIGZ1bmN0aW9uCgoyMDEzLTAyLTAxIDE3OjEyOjQxIC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGRvbid0IHN0b3AgYSB0YXNrIGZyb20gaW5zaWRlIHRoZSBsb29wCgkgIE9ubHkgcGF1c2UgdGhlIHRhc2sKCjIwMTMtMDEtMzEgMTY6MTQ6MzcgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogbG9nIG1hbmlmZXN0IGNvbnRlbnQgZm9yIGRlYnVnZ2luZwoKMjAxMy0wMS0zMCAwMDoyMjo1MCAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBtYWtlIGNvZGVjIHByaXZhdGUgZGF0YSBmcm9tIG1hbmlmZXN0IGF0dHJpYnV0ZXMgd2l0aCBBQUMtTEMKCSAgV2hlbiB0aGUgY29kZWMgaXMgQUFDLUxDLCBzb21lIHNlcnZlciBpbXBsZW1lbnRhdGlvbiAoZS5nLiBNaWNyb3NvZnQgSUlTKSBkb2Vzbid0IGFkZCB0aGUgQ29kZWNQcml2YXRlRGF0YSBhdHRyaWJ1dGUuIFRoZSBlbGVtZW50IG5lZWRzIHRvIHJlLWNyZWF0ZSB0aGUgY29kZWMgZGF0YSBmcm9tIHRoZSBRdWFsaXR5IExldmVsIGF0dHJpYnV0ZXMgKGNoYW5uZWxzIGFuZCBzYW1wbGluZyByYXRlKS4KCjIwMTMtMDEtMjkgMjI6NTc6MzYgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogb25seSB0cnkgdG8gcmVsb2FkIHRoZSBtYW5pZmVzdCBmb3IgbGl2ZSBzdHJlYW1zCgkgIFRoZXJlIGlzIG5vIHdheSB0byBrbm93IGlmIGEgbGl2ZSBzdHJlYW0gaXMgcmVhbGx5IGZpbmlzaGVkLCBzbyB0cnkgdG8gcmVsb2FkIHRoZSBtYW5pZmVzdCBhbmQgY2hlY2sgaWYgdGhlcmUgYXJlIG1vcmUgZnJhZ21lbnRzIHRvIGRvd25sb2FkLiBFbHNlIGp1c3QgbGV0IGtub3cgaXQncyB0aGUgRU9TLgoKMjAxMy0wMS0yNSAyMToyNDo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogYWRkIHNvbWUgZG9jdW1lbnRhdGlvbgoJICBBZGRzIGEgbGl0dGxlIGJpdCBvZiBkb2NzIGV4cGxhbmluZyB0aGUgaW50ZXJuYWxzIG9mIG1zc2RlbXV4CgoyMDEzLTAxLTIyIDE3OjMzOjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBhZGQgbWF4LXF1ZXVlLXNpemUtYnVmZmVycyBwcm9wZXJ0eQoJICBJbmRpY2F0ZXMgaG93IG11Y2ggYnVmZmVyaW5nIHNob3VsZCBiZSBkb25lIGludGVybmFsbHkgaW4KCSAgbXNzZGVtdXgKCjIwMTMtMDEtMjEgMTg6MDU6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IHN0b3AgdGFza3MgZmFzdGVyCgkgIElzc3VlIGEgY2FuY2VsIHRvIHRoZSBkb3dubG9hZGVycyBzbyB0aGV5IHN0b3AgZWFybGllcgoKMjAxMy0wMS0xNyAxNjoyMDoxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogaW1wbGVtZW50IGxpdmUgc3RyZWFtcyBoYW5kbGluZwoJICBMaXZlIHN0cmVhbXMgZm9yY2UgdGhlIGRlbXV4ZXIgdG8ga2VlcCByZWxvYWRpbmcgdGhlIE1hbmlmZXN0IGZyb20KCSAgdGltZSB0byB0aW1lLCBhcyB0aGUgbmV3IGZyYWdtZW50cyBhcmUgYmVpbmcgYWRkZWQgYXMgdGhleSBhcmUgcmVjb3JkZWQuCgkgIFRoZSBkZW11eGVyIHNob3VsZCBhbHNvIHRyeSB0byBrZWVwIHVwIGFuZCBkZXRlY3Qgd2hlbiBpdCBoYWQgdG8gc2tpcAoJICBmcmFnbWVudHMsIG1hcmtpbmcgdGhlIGRpc2NvbnQgZmxhZyB3aGVuIHRoYXQgaGFwcGVucy4KCSAgQ3VyaW91c2x5LCB0aGUgc3BlYyBkb2Vzbid0IHNlZW0gdG8gbWVudGlvbiB3aGVuL2hvdyBhIGxpdmUgc3RyZWFtIGlzIHN1cHBvc2VkCgkgIHRvIGVuZCwgc28ga2VlcCB0cnlpbmcgZG93bmxvYWRzIHVudGlsIHRoZSBkZW11eGVyIGVycm9ycyBvdXQuCgoyMDEzLTAxLTE3IDE2OjE5OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBkbyBub3QgbGVhayBmcmFnbWVudHMKCjIwMTMtMDEtMTcgMTM6NDg6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGZpeCBpc3N1ZSBvbiBmcmFnbWVudCB0aW1lc3RhbXBpbmcgcGFyc2luZwoJICBVc2UgZ3VpbnQ2NCBhcyB0aGUgZnJhZ21lbnRzIGNhbiBzdGFydCBhdCB2ZXJ5IGhpZ2ggbnVtYmVycywKCSAgc3BlY2lhbGx5IG9uIGxpdmUgc3RyZWFtcwoKMjAxMy0wMS0xNiAxNToyODoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogZXJyb3Igb3V0IHdoZW4gdXBzdHJlYW0gZG9lc24ndCBpbXBsZW1lbnQgVVJJIHF1ZXJ5CgkgIEVycm9yIG91dCB3aGVuIHVwc3RyZWFtIGRvZXNuJ3QgYW5zd2VyIHRvIFVSSSBxdWVyeSBhbmQgbXNzZGVtdXgKCSAgZG9lc24ndCBrbm93IHRoZSBVUkkgdG8gZmV0Y2ggdGhlIGZyYWdtZW50cyBmcm9tCgoyMDEzLTAxLTE1IDE3OjMxOjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBwdXNoIG5ld3NlZ21lbnRzIHdpdGggc2FtZSBzdGFydCB0aW1lIG9uIGJpdHJhdGUgc3dpdGNoZXMKCSAgVGhpcyBrZWVwcyBzaW5rcyB3b3JraW5nIGluIHN5bmMgYWZ0ZXIgYSBiaXRyYXRlIHN3aXRjaAoKMjAxMy0wMS0xNCAxMzoyMToxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiByZXdyaXRpbmcgcGFkIHRhc2tzIHNvIHRoYXQgYnVmZmVycyBhcmUgcHVzaGVkIGJ5IHRzIG9yZGVyCgkgIFVzZSBwYWQgdGFza3MgdG8gZG93bmxvYWQgZGF0YSBhbmQgYW4gZXh0cmEgdGFzayB0aGF0IGdldHMgdGhlIGVhcmxpZXIKCSAgYnVmZmVyICh3aXRoIHRoZSBzbWFsbGVzdCB0aW1lc3RhbXApIGFuZCBwdXNoZXMgb24gdGhlIGNvcnJlc3BvbmRpbmcKCSAgcGFkLgoJICBUaGlzIHByZXZlbnRzIHRoYXQgdGhlIGF1ZGlvIHN0cmVhbSBydXNoZXMgYWhlYWQgb24gYnVmZmVycyBhcyBpdHMKCSAgZnJhZ21lbnRzIHNob3VsZCBiZSBzbWFsbGVyCgoyMDEzLTAxLTExIDE1OjAxOjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBzb21lIGZpeGVzIHRvIGJpdHJhdGUgc3dpdGNoaW5nCgkgIFJlbW92ZXMgYSBwb3NzaWJsZSBkZWFkbG9jayBmcm9tIGJpdHJhdGUgc3dpdGNoaW5nIHdoZW4gdGhlIHBhZAoJICB0aGF0IHJlcXVlc3RlZCB0aGUgc3dpdGNoIGJsb2NrcyBvbiBpdHMgcGFkLXB1c2gKCjIwMTMtMDEtMTAgMTY6MjY6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IHJlZmFjdG9yaW5nIGZyYWdtZW50IGRvd25sb2FkIHRvIGl0cyBvd24gZnVuY3Rpb24KCSAgTWFrZXMgY29kZSBjbGVhcmVyIGFuZCBoZWxwcyBjaGFuZ2luZyB0aGUgZG93bmxvYWQgcGFydCBvZiB0aGUKCSAgY29kZSB0byBpdHMgb3duIHRocmVhZAoKMjAxMy0wMS0xMCAxNToxNjozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiBpbXBsZW1lbnQgYml0cmF0ZSBzd2l0Y2hpbmcKCSAgV2hlbiBjb25uZWN0aW9uLXNwZWVkIGNoYW5nZXMsIHNpZ25hbCB0aGF0IHdlIG1pZ2h0IG5lZWQgYSBiaXRyYXRlCgkgIHN3aXRjaC4gRHVyaW5nIHRoZSBzd2l0Y2gsIGEgbmV3IHBhZCBncm91cCBpcyBhZGRlZCBhbmQgdGhlIG9sZCBvbmUKCSAgaXMgZHJhaW5lZCBhbmQgcmVtb3ZlZC4KCSAgTmV3IHBhZHMgYWxzbyBuZWVkIHRvIHB1c2ggbmV3c2VnbWVudHMgYmVmb3JlIHN0YXJ0aW5nIHRvIHN0cmVhbQoKMjAxMy0wMS0wOCAxODowMToxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogYWRkIGNvbm5lY3Rpb24tc3BlZWQgcHJvcGVydHkKCSAgVGhpcyBzcGVlZCBsaW1pdHMgdGhlIG1heGltdW0gYml0cmF0ZSBvZiBzdHJlYW1zLiBDdXJyZW50bHkgaXQKCSAgaXMgb25seSByZWFkIHdoZW4gc3RhcnRpbmcgdGhlIHBpcGVsaW5lLCBidXQgaXQgc2hvdWxkIGJlIHVzZWQKCSAgZm9yIHN3aXRjaGluZyBiaXRyYXRlcyBkdXJpbmcgcGxheWJhY2sgdG8gYWRhcHQgdG8gbmV0d29yawoJICBjaGFuZ2VzLgoKMjAxMy0wMS0wOCAxNzo1NTo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IGFkZCBhbiAnYWN0aXZlJyBmbGFnIHRvIG1hbmlmZXN0IHN0cmVhbQoJICBtc3NkZW11eCBzaG91bGQgc2V0IHRoZSBzdHJlYW1zIGl0IGhhcyBleHBvc2VkIGFzIGFjdGl2ZSBzbyB0aGF0CgkgIHRoZSBtYW5pZmVzdCB3b24ndCB1c2UgdGhlIG5vbi1hY3RpdmUgc3RyZWFtcyB0byBjb21wdXRlIHRvdGFsIGJpdHJhdGVzCgkgIG9yIHByb3ZpZGluZyBmcmFnbWVudHMKCjIwMTMtMDEtMDggMTc6NTQ6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IHNpZ25hbCBuby1tb3JlLXBhZHMgd2hlbiBmaW5pc2hlZCBleHBvc2luZyBwYWRzCgkgIFRoaXMgbWFrZXMgZGVjb2RlYmluL3BsYXliaW4gbWVjaGFuaXNtIGtub3cgaXQgY2FuIHN0YXJ0IHBsYXlpbmcKCSAgd2hlbiBidWZmZXJpbmcgaXMgZmluaXNoZWQKCjIwMTMtMDEtMDggMTE6MDg6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzbWFuaWZlc3Q6IEtlZXAgdGhlIHN0cmVhbSBxdWFsaXRpZXMgbGlzdCBzb3J0ZWQgYnkgYml0cmF0ZQoJICBUaGlzIHdpbGwgaGVscCBtYWtpbmcgYWRhcHRpdmUgc3RyZWFtaW5nIGNob3NlIHRoZSBiZXN0IHJhdGUKCSAgZm9yIGEgcGFydGljdWxhciBjb25uZWN0aW9uIHNwZWVkCgoyMDEzLTAxLTA4IDEwOjE2OjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBhbHNvIGNvbnNpZGVyIGZvdXJjYyBBVkMxIGFzIEgyNjQKCSAgSDI2NCBjYW4gYmUgcmVwcmVzZW50ZWQgYnkgYm90aCBmb3VyY2NzIEgyNjQgYW5kIEFWQzEsIHVzZSBib3RoLgoKMjAxMy0wMS0wNCAxNzowMTozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NtYW5pZmVzdDogYWRkIHN1cHBvcnQgZm9yIFZDLTEgYW5kIFdtYVBybyBmb3JtYXRzIHBhcnNpbmcKCSAgVkMtMSBzaG91bGQgbWFwIHRvIFdNVjMgYW5kIFdtYVBybyB0byBXTUEyCgoyMDEzLTAxLTA0IDE3OjAwOjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBkbyBub3QgdHJ5IHRvIGV4cG9zZSB1bmtub3duIHN0cmVhbXMKCSAgV2hlbiB0aGUgc3RyZWFtIGNhbid0IGhhdmUgaXRzIGNhcHMgZGV0ZWN0ZWQsIGJldHRlciBub3QgdG8gZXhwb3NlIGl0LgoJICBJZiBubyBzdHJlYW1zIGFyZSBrbm93biwgc2lnbmFsIGFuIGVycm9yIGFib3V0IG5vIHBsYXlhYmxlIHN0cmVhbXMgdG8KCSAgdGhlIGFwcGxpY2F0aW9uCgoyMDEzLTAxLTA0IDE1OjQ5OjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc21hbmlmZXN0OiBkbyBub3Qgc2V0IGNvZGVjX2RhdGEgd2hlbiBpdCBpcyBlbXB0eQoJICBTb21lIG1hbmlmZXN0cyBjb250YWluIGVtcHR5IGNvZGVjIGRhdGFzLCBiZXR0ZXIgbm90IHNldCB0aGVtCgoyMDEzLTAxLTA0IDE1OjQ5OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogc2V0IHRpbWVzdGFtcCBhbmQgZHVyYXRpb24gdG8gZnJhZ21lbnQgYnVmZmVycwoJICBXZSBjYW4gZ2V0IHRob3NlIGZyb20gdGhlIG1hbmlmZXN0IGFuZCBoZWxwcyBkb3duc3RyZWFtIHRvIGtub3cKCSAgdGhlIGZyYWdtZW50IHN0YXJ0IHRpbWUgYWZ0ZXIgYSBzZWVraW5nIG9wZXJhdGlvbgoKMjAxMi0xMi0yOCAwMDo0OToyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NtYW5pZmVzdDogZml4IHR5cG8KCSAgRml4IHR5cG8gdGhhdCB3YXMgbWFraW5nIHRoZSBhZHZhbmNlIGZyYWdtZW50IGZ1bmN0aW9uIHJldHVybiBhIHdyb25nCgkgIGZsb3cgcmV0dXJuIGluIGNhc2UgaXQgd2FzIGFscmVhZHkgRU9TCgoyMDEyLTEyLTI4IDAwOjQ4OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiBpbml0aWFsIGltcGxlbWVudGF0aW9uIG9mIHNlZWsgZXZlbnQgaGFuZGxpbmcKCSAgQWRkcyBiYXNpYyBoYW5kbGluZyBmb3Igc2VlayBpbiB0aW1lIGV2ZW50cy4gTmVlZHMgdG8gY29vcGVyYXRlCgkgIHdpdGggdGhlIGRvd25zdHJlYW0gcXRkZW11eCBzbyB0aGF0IGl0IGZvcndhcmRzIHRoZSBzZWVrcyBhbmQKCSAgdGhlIGNvcnJlc3BvbmRpbmcgbmV3c2VnbWVudHMKCjIwMTItMTItMjYgMTY6MTk6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiBoYW5kbGUgc3JjIHBhZCBxdWVyaWVzIGZpciBkdXJhdGlvbiBhbmQgbGF0ZW5jeQoJICBBZGQgYSBzcmMgcGFkIHF1ZXJ5IGhhbmRsZXIgdG8gZ2V0IHRoZSBkdXJhdGlvbiBmcm9tIHRoZSBtYW5pZmVzdAoJICBhbmQgcmVwb3J0IGl0IHVwc3RyZWFtLgoJICBBbHNvIGFkZHMgYSBzaW1wbGUgaGFuZGxlciBmb3IgbGF0ZW5jeSBxdWVyaWVzCgoyMDEyLTEyLTIxIDE2OjQyOjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBhZGQgc29tZSBtb3JlIGVycm9yIGhhbmRsaW5nCgkgIFBvc3QgZXJyb3IgaW4gc29tZSBtb3JlIHNjZW5hcmlvczoKCSAgKiB3aGVuIHRoZSBtYW5pZmVzdCBoYXMgbm8gc3RyZWFtcwoJICAqIHdoZW4gZ2V0dGluZyB0aGUgZnJhZ21lbnQgdXJsIGZhaWxzCgoyMDEyLTEyLTIxIDE1OjM3OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBlbnN1cmUgdGhlIGRlYnVnIGNhdGVnb3J5IGlzIHByb3Blcmx5IGluaXRpYWxpemVkCgkgIFRoZSB1c2VyIG9mIHRoZSBsaWJyYXJ5IG1pZ2h0IG5vdCBuZWVkIHRvIGNyZWF0ZSBhIE5hbFBhcnNlciwgc28KCSAgdGhlIGRlYnVnIGNhdGVnb3J5IG5lZWRzIHRvIGJlIGluaXRpYWxpemVkIGZyb20gb3RoZXIgZnVuY3Rpb25zCgkgIGFzIHdlbGwgaWYgcmVxdWlyZWQuCgoyMDEyLTEyLTIwIDE1OjMwOjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogYWRkIHRpbWVzY2FsZSB0byB0aGUgY2FwcwoJICBUaGlzIGlzIGltcG9ydGFudCBmb3IgZG93bnN0cmVhbSB0byBwcm9wZXJseSB0aW1lc3RhbXAgdGhlIHNhbXBsZXMKCSAgVGhlIGRlZmF1bHQgdmFsdWUgaXMgMTAwMDAwMDAsIGJ1dCB0aGlzIGNhbiBiZSBzZXQgaW4gdGhlIHN0cmVhbQoJICBvciBhdCB0aGUgdG9wLWxldmVsIG1hbmlmZXN0IGVudHJ5CgoyMDEyLTEyLTIwIDE0OjI3OjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL01ha2VmaWxlLmFtOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBwYXJzZSB0aGUgZnBzIGZyb20gaDI2NCBjb2RlYyBkYXRhIGlmIHBvc3NpYmxlCgkgIFVzZSBoMjY0IGNvZGVjIHBhcnNpbmcgbGliIHRvIGV4dHJhY3QgdGhlIGZwcyBmcm9tIHRoZSBtYW5pZmVzdCdzCgkgIGNvZGVjIGRhdGEgYXMgaXQgZG9lc24ndCBzZWVtIHRvIHByb3ZpZGUgaXQgYW55d2hlcmUgZWxzZQoKMjAxMi0xMi0yMCAwMTowOTowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogY29ycmVjdGx5IGFkZCBoMjY0IGNvZGVjIGRhdGEgdG8gY2FwcwoJICBOZWVkIHRvIGNvbnN0cnVjdCBhbiBhdmNjIGF0b20gZnJvbSB0aGUgY29kZWNkYXRhIHJlYWQgZnJvbSBNU1MKCSAgbWFuaWZlc3RzIHRvIG1ha2UgaDI2NCBkZWNvZGVycy9wYXJzZXJzIGFjY2VwdCBpdAoKMjAxMi0xMi0yMCAwMTowNzoxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogYWRkIHRoZSBjb3JyZWN0IGNhcHMgdG8gdGhlIG91dGdvaW5nIHN0cmVhbQoJICBtc3NkZW11eCBvdXRwdXRzIGEgcXVpY2t0aW1lIHZhcmlhbnQsIG5hbWVkIG1zcy1mcmFnbWVudAoKMjAxMi0xMS0yNSAwMTo1NzozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogc2V0IGNhcHMgdG8gYnVmZmVycyBiZWZvcmUgcHVzaGluZwoJICBBbHNvIHVwZGF0ZSB0byB0aGUgbGF0ZXN0IGdzdGZyYWdtZW50IEFQSSB0aGF0IHByb3ZpZGVzCgkgIHRoZSBmcmFnbWVudCBhcyBhIHdob2xlIGJ1ZmZlci4KCjIwMTItMTEtMjIgMTM6MDE6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGltcHJvdmUgc3RhdGUgY2hhbmdpbmcKCSAgS2VlcCBhIHJlZiBvbiBwYWQgdG8gcHJldmVudCBpdCBiZWluZyB1bnJlZmZlZCB3aGlsZSB0aGUgbXNzZGVtdXgKCSAgc3RyZWFtcyBhcmUgc3RpbGwgdXNpbmcgaXQuIEFsc28gcmVzZXQgdGhlIGVsZW1lbnQgd2hlbiBnb2luZyB0bwoJICByZWFkeSBpbnN0ZWFkIG9mIHdoZW4gZ29pbmcgdG8gbnVsbC4KCjIwMTItMTEtMjIgMTI6Mjg6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGFkZHMgbWluaW51bSBlcnJvciBoYW5kbGluZwoJICBUaGlzIHNob3VsZCBjYXJlIGZvciBiYXNpYyBzY2VuYXJpb3Mgb2YgZXJyb3JzIGFuZCBFT1MgdG8gYWxsb3cKCSAgdGhlIHBpcGVsaW5lIHRvIHN0b3AgY29ycmVjdGx5CgoyMDEyLTExLTIyIDEyOjI4OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBtc3NtYW5pZmVzdDogcHJldmVudCBhY2Nlc3NpbmcgbnVsbCBzdHJlYW0gZnJhZ21lbnQKCSAgTW92ZSB0aGUgYWNjZXNzIHRvIHRoZSBzdHJlYW0gZnJhZ21lbnQgZGF0YSBhZnRlciB0aGUgY2hlY2sKCSAgaWYgdGhlIGZyYWdtZW50IGV4aXN0cyB0byBwcmV2ZW50IGEgc2VnZmF1bHQKCjIwMTItMTEtMTkgMTc6NTM6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgc21vb3Roc3RyZWFtaW5nOiByZWZhY3RvciBzdHJ1Y3R1cmUgbmFtZXMgYW5kIGltcGxlbWVudCB1cmwgZmV0Y2hpbmcKCSAgVXNlIHNob3J0ZXIgbmFtZXMgZm9yIHRoZSBNU1MgbWFuaWZlc3QgaGVscGVyIHN0cnVjdHVyZSBhbmQgZnVuY3Rpb25zLgoJICBBbHNvIGNvbnRpbnVlcyB0aGUgaW1wbGVtZW50YXRpb24gb2YgdGhlIHN0cmVhbSBmZXRjaGluZyBhbmQgcHVzaGluZyBsb29wLgoJICBOb3cgaXQgdXNlcyB0aGUgYmFzZSB1cmwgY29ycmVjdGx5IGFuZCBhbHJlYWR5IGZldGNoZXMgYW5kIHB1c2hlcyB0aGUgZnJhZ21lbnRzCgkgIGRvd25zdHJlYW0KCjIwMTItMTEtMTYgMTc6MzA6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgcGFkIGxvb3AKCSAgVGhlIGxvb3Agd2lsbCBmZXRjaCBhIG5ldyBmcmFnbWVudCBhbmQgcHVzaCBvbiBpdHMgc3JjcGFkLiBFYWNoCgkgIHN0cmVhbSBoYXMgaXRzIG93biBsb29wCgoyMDEyLTExLTE2IDE3OjI5OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IG1vcmUgbWFuaWZlc3QgcGFyc2luZyBhbmQgaGVscGVyIGZ1bmN0aW9ucwoJICBOb3cgdGhlIG1zcyBtYW5pZmVzdCBpcyBhYmxlIHRvIGdlbmVyYXRlIHRoZSBmaWxlcyB1cmxzCgoyMDEyLTExLTE0IDE3OjE5OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiBwYWQgZXhwb3NpbmcgaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgoJICBEb2VzIHNvbWUgYmFzaWMgcGFyc2luZyBvZiB0aGUgc3RyZWFtIGNhcHMgYW5kIGFkZHMgYSBwYWQgZm9yCgkgIGVhY2ggc3RyZWFtIGRldGVjdGVkIGluIHRoZSBtYW5pZmVzdAoKMjAxMi0xMS0wOSAxNjo0Nzo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IGFkZCBtYW5pZmVzdCBwYXJzaW5nCgkgIENvbnRpbnVlZCBpbXBsZW1lbnRpbmc6CgkgIDEpIHBhcnNlIHRoZSBtYW5pZmVzdCB3aXRoIGxpYnhtbDIKCSAgMikgZGV0ZWN0IHN0cmVhbSB0eXBlcwoKMjAxMi0xMS0wOCAxNjowNjo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9NYWtlZmlsZS5hbToKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdHNtb290aHN0cmVhbWluZy1wbHVnaW4uYzoKCSAgc21vb3Roc3RyZWFtaW5nOiBzdHVicyBmb3IgbXNzZGVtdXgKCSAgSnVzdCB0aGUgc3R1YnMgZm9yIG1zc2RlbXV4IGVsZW1lbnQuCgkgIEFsc28gYWRkIHNvbWUgdXNlZnVsIGNvZGUgZnJvbSBobHNkZW11eCB0aGF0IHdlIGludGVuZCB0byByZXVzZQoKMjAxMi0xMS0wOCAxNTo0MjozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0c21vb3Roc3RyZWFtaW5nLXBsdWdpbi5jOgoJICBzbW9vdGhzdHJlYW1pbmc6IGJ1aWxkIGRpcmVjdG9yeSBzdHVicyBmb3IgbmV3IHBsdWdpbgoJICBJbml0aWFsIGJ1aWxkIHN0cnVjdHVyZSBmb3IgTVMnIFNtb290aCBTdHJlYW1pbmcgcGx1Z2luCgkgIENvbmZsaWN0czoKCSAgZXh0L01ha2VmaWxlLmFtCgoyMDEzLTAyLTE5IDEzOjAxOjM3IC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogdW5sb2NrIG11dGV4IHdoZW4gc3dpdGNoaW5nIHVyaXNyYyBzdGF0ZSB0byBOVUxMIHRvIGF2b2lkIGRlYWRsb2NrCgkgIFdoZW4gY2hhaW4gbWV0aG9kIHdhcyBjYWxsZWQgYWZ0ZXIgZ3N0X3VyaV9kb3dubG9hZGVyX3N0b3AgYW5kIGJlZm9yZSBzdGF0ZSBoYXMgYmVlbiBjaGFuZ2VkIHRvIE5VTEwsIGV4ZWN1dGlvbiB3YXMgYmxvY2tpbmcgb24gZ19tdXRleF9sb2NrLgoJICBDb25mbGljdHM6CgkgIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYwoKMjAxMy0wMi0wNyAwMDoyODoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBwcm9wZXJseSB1bnJlZiB0aGUgdXJpc3JjIGJldHdlZW4gZG93bmxvYWRzCgkgIFRoaXMgcHJldmVudHMgbGVha2luZyB0aGUgZWxlbWVudC4gQWxzbyBzZXRzIHRoZSBidXMgdG8gZmx1c2hpbmcKCSAgdG8gY29tcGxldGVseSByZXNldCB0aGUgZG93bmxvYWRlciBzdGF0ZQoKMjAxMy0wNC0xNiAxNzoyMzowMiAtMDMwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5oOgoJICB1cmlkb3dubG9hZGVyOiBtYWtlIGNhbmNlbGxlZCBzdGF0ZSAncGVybWFuZW50JyB1bnRpbCBhIHJlc2V0CgkgIFdoZW4gZG93bmxvYWRpbmcgYW5kIGNhbmNlbGxpbmcgcXVpY2tseSB0aGUgdXJpZG93bmxvYWRlciBvYmplY3QgYW5kIHRoZQoJICBlbGVtZW50IHVzaW5nIGl0IGNvdWxkIG1pc3MgdGhlIGNhbmNlbGxlZCB3aW5kb3cgYW5kIHRoZSB1cmlkb3dubG9hZGVyCgkgIHdvdWxkIGZldGNoIHRoZSB3cm9uZyBVUkkgYW5kIGJsb2NrIG9uIHN1YnNlcXVlbnQgZmV0Y2hlcy4KCSAgVGhpcyB3YXMgYWxzbyBwcm9ibGVtYXRpYyB3aGVuIHN0b3BwaW5nIGVsZW1lbnRzLCB3aGlsZSBvbmUgdGFzayB3b3VsZAoJICBjYWxsIHRoZSBjYW5jZWwsIGFub3RoZXIgZWxlbWVudCB0aHJlYWQgY291bGQgaXNzdWUgYSBuZXcgZmV0Y2hfdXJpLiBBcwoJICB0aGUgY2FuY2VsIHN0YXRlIGlzbid0ICdwZXJtYW5lbnQnIHRoaXMgZmV0Y2hfdXJpIHdvdWxkIGJsb2NrIGFuZAoJICBwcmV2ZW50IHRoZSB3aG9sZSBlbGVtZW50IGZyb20gc3RvcHBpbmcgYW5kIGdvaW5nIHRvIE5VTEwuCgkgIFRoaXMgcGF0Y2ggbWFrZXMgdGhlICdjYW5jZWxsZWQnIHN0YXRlIHBlcm1hbmVudCB1bnRpbCBhCgkgIGdzdF91cmlfZG93bmxvYWRlcl9yZXNldCBpcyBjYWxsZWQuIFRoaXMgd2F5IHRoZSBlbGVtZW50IGtub3dzIHRoZQoJICB3aW5kb3cgd2hlcmUgdGhlIHVyaWRvd25sb2FkZXIgaXNuJ3QgYWN0aXZlIGFuZCBvbmx5IHJlYWN0aXZhdGUgaXQgd2hlbgoJICByZWFkeS4KCjIwMTMtMDQtMTYgMTk6NDc6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0ZnJhZ21lbnQuYzoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0ZnJhZ21lbnQuaDoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmg6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXJfZGVidWcuaDoKCSAgdXJpZG93bmxvYWRlcjogcmVmYWN0b3IgZ3N0dXJpZG93bmxvYWRlciB0byBpdHMgb3duIGxpYgoJICBnc3R1cmlkb3dubG9hZGVyIGNhbiBiZSByZXVzZWQgYnkgb3RoZXIgcGx1Z2lucywgYmV0dGVyIGhhdmUgaXQKCSAgaW50byBpdHMgb3duIGxpYgoKMjAxMy0wNS0wNyAwODoyNjowMyAtMDYwMCAgR3JlZyBSdXR6IDxncmVnQGdzci10ZWsuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBGaXggbWVtb3J5IGxlYWsgd2hlbiB1c2luZyBwcmVwYXJlX2Z1bmMKCSAgcHJlcGFyZV9mdW5jIHdpbGwgYWxsb2NhdGUgYSBuZXcgYnVmZmVyIHRvIHJlcGxhY2UgdGhlIG9yaWdpbmFsCgkgIG9uZS4gSW5zdGVhZCBvZiB1c2luZyBnc3RfYnVmZmVyX3JlcGxhY2UgKHdoaWNoIGNhdXNlcyBhbiBleHRyYQoJICByZWZjb3VudCBpbmNyZW1lbnQgb24gdGhlIG5ldyBidWZmZXIpLCB3ZSBqdXN0IHVucmVmIHRoZSBvcmlnaW5hbAoJICBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk3ODYKCjIwMTMtMDUtMDcgMTQ6MjI6MTAgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvbWV0YS5oOgoJICBtcGVndmlkZW9tZXRhOiBGaXggdHlwbyBpbiBjb21tZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk4MjcKCjIwMTMtMDUtMDMgMjE6NDY6MDggKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYWZpbHRlci5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXNpbmsuYzoKCSAgbGFkc3BhOiBzeW5jIGNvbnRyb2xsZWQgcGFyYW1lcyBpbiBmaWx0ZXJzIGFuZCBzaW5rcwoKMjAxMy0wNS0wMyAxNjo1NTowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICBsYWRzcGE6IEFkZCAkKEdNT0RVTEVfTk9fRVhQT1JUX0xJQlMpIGZvciBnbW9kdWxlCgoyMDEzLTA1LTAxIDE3OjE5OjA3ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogZG9uJ3QgY29tcGFyZSBidWZmZXIgc2l6ZSB3aGVuIGNoZWNraW5nIHdoZXRoZXIgdG8gdXBkYXRlIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTM5OAoKMjAxMy0wNS0wMyAxMTozNDozNCArMDIwMCAgSnVhbiBNYW51ZWwgQm9yZ2VzIENhw7FvIDxqdWFubWFiY21haWxAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5oOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYWZpbHRlci5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYWZpbHRlci5oOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXNpbmsuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFzaW5rLmg6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3Bhc291cmNlLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3Bhc291cmNlLmg6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhdXRpbHMuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGF1dGlscy5oOgoJICBsYWRzcGE6IGltcHJvdmVkIHBvcnQgdG8gZ3N0cmVhbWVyIDEuMAoJICBGaXhlczogIzY5ODkyNwoKMjAxMy0wNS0wMSAxNzozNjo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBkb24ndCBhbm5vdW5jZSBpbmNvbXBsZXRlIHNvdXJjZSBjYXBzCgkgIERvbid0IHNlbmQgYW55IHNvdXJjZSBjYXBzIHlldCBpZiB3ZSdyZSBzdGlsbCBpbgoJICBkcm9wLWJ1ZmZlcnMtdW50aWwtd2UtZ2V0LWEtc2VxdWVuY2UtaGVhZGVyIG1vZGUuCgkgIEZpeGVzIHRyYW5zbXV4aW5nIG9mIG1hbnkgTVBFRy1UUy9QUyBzdHJlYW1zIGludG8KCSAgZm9ybWF0cyB3aGljaCByZXF1aXJlIHRoaW5ncyBsaWtlIHdpZHRoLCBoZWlnaHQgb3IKCSAgY29kZWNfZGF0YSBvbiB0aGUgaW5wdXQgY2Fwcy4KCSAgQWxzbyBmaXhlcyBpc3N1ZXMgd2hlbiB1c2luZyBwbGF5YmluIHdpdGggZGVjb2RlcgoJICBzaW5rcyB0aGF0IHdhbnQgd2lkdGgvaGVpZ2h0IGV0Yy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTg3OQoKMjAxMy0wNC0yNyAxMjoyODo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSAga2F0ZTogZml4IGJ1ZmZlciBsZWFrIGluIGthdGV0YWcKCSAgTWFrZXMgdW5pdCB0ZXN0IHZhbGdyaW5kIGNsZWFuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MDcxCgoyMDEzLTA0LTI3IDEyOjA2OjUzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJICB0ZXN0czogZml4IHNvbWUgbGVha3MgaW4ga2F0ZSB1bml0IHRlc3QKCjIwMTMtMDQtMjcgMTI6MDY6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJICBrYXRlOiBtaW5vciBjbGVhbnVwCgoyMDEzLTA0LTI2IDE1OjMzOjE4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiBEb2N1bWVudCB0aGF0IHRoZSBsYXRlbmN5IGlzIGluIG1pbGxpc2Vjb25kcwoJICBCdWcgIzY5ODg5NgoKMjAxMy0wNC0yNiAxNTozOTozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBjb252ZXJ0IHBhY2tldCBQVFMvRFRTIGFzIHNvb24gYXMgcG9zc2libGUKCSAgV2UgbGV0IHRoZSBtcGVndHNwYWNrZXRpemVyIGRlYWwgd2l0aCBwY3Igd3JhcGFyb3VuZC9yZXNldHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQ1MzYKCjIwMTMtMDQtMjYgMTI6MTg6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkgIG1wZWd0c2RlbXV4OiBoZWFkZXIgY2xlYW51cHMvdXBkYXRlcwoKMjAxMy0wNC0yNiAxNDozMjoxNCArMDIwMCAgUmljbyBUenNjaGljaGhvbHogPHJpY290ekB0LW9ubGluZS5kZT4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZG9jczogRHJvcCBvYnNvbGV0ZSByZWZlcmVuY2VzIHRvIHZpZGVvc2lnbmFsIGhlYWRlcnMKCSAgSW4gYWRkaXRpb24gdG8gODU1MjM5NmMzNjJjMjBhZGI2YWE5MTI5YTQ1M2ZmODFlY2RjZjY1NgoKMjAxMy0wNC0yNiAxMDozODozNiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBVcGRhdGUgc3JjIHBhZCBjYXBzIHdoZW4gaXQgd2FzIGV4cGxpY2l0bHkgc2lnbmFsZWQKCSAgRml4ZXMgc3JjIHBhZCBjYXBzIGFyZW4ndCB1cGRhdGVkIHdoZW4gY29udmVydGluZyBmcm9tIEFWQyB0byBieXRlc3RyZWFtCgkgIGFuZCBuZXcgY2FwcyBoYWQgYmVlbiByZWNlaXZlZCBpbiB0aGUgc2luayBwYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg2NzkKCjIwMTMtMDQtMjMgMTU6MTk6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEZpeCBjYXBzIHN0cmluZyBsZWFrCgoyMDEzLTA0LTI0IDA5OjQwOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkgIGVnbGdsZXNzaW5rOiBVc2UgZ3N0X2VnbF9kaXNwbGF5X2dldCgpIGluc3RlYWQgb2YgcGFzc2luZyBhIEdzdEVHTERpc3BsYXkgdG8gRUdMIGZ1bmN0aW9ucwoKMjAxMy0wMy0yOCAxNjo1MjoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvd2FzYXBpL01ha2VmaWxlLmFtOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaS5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuaDoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5oOgoJICB3YXNhcGlzcmM6IFBvcnQgdG8gR3N0QXVkaW9TcmMKCjIwMTMtMDMtMjcgMTA6MTA6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3dhc2FwaS9NYWtlZmlsZS5hbToKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGkuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5oOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmg6CgkgIHdhc2FwaTogUG9ydCB3YXNhcGlzaW5rIHRvIEdzdEF1ZGlvU2luawoKMjAxMy0wNC0yMyAwMToxNzo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSAgdGVzdHM6IGZpeCByZW1haW5pbmcga2F0ZSB0ZXN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MDcxCgoyMDEzLTA0LTE1IDE3OjA2OjU3IC0wNjAwICBCcmVuZGFuIExvbmcgPGIubG9uZ0BjYWJsZWxhYnMuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJICB0ZXN0czogcG9ydCBLYXRlIHRlc3RzIHRvIDEuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MDcxCgoyMDEzLTA0LTIyIDIzOjUyOjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogTUFJTlRBSU5FUlM6CgkqIFJFQURNRToKCSogUkVBRE1FLnN0YXRpYy1saW5raW5nOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDNjYjNkM2MgdG8gNWVkY2Q4NQoKMjAxMy0wNC0yMSAxODoyODo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2Yi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmg6CgkgIGR2YmJhc2ViaW46IGJldHRlciBlcnJvciByZXBvcnRpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODg5MgoKMjAxMy0wNC0yMSAxNDoxMzo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiYmFzZWJpbjogbG9nIGNoYW5uZWwgcGFyc2luZyBpbnRvIGR2YmJhc2ViaW4gZGVidWcgY2F0ZWdvcnkgYXMgd2VsbAoKMjAxMy0wNC0yMSAxNDowNDoxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmJiYXNlYmluOiBmaXggcGF0aCB3aGVyZSB0byBsb29rIGZvciB0aGUgZHZiLWNoYW5uZWxzLmNvbmYKCSAgQ29uc3RydWN0IHBhdGggYmFzZWQgb24gdGhlIEFQSSB2ZXJzaW9uLCBub3QgJG1ham9yLiRtaW5vciB2ZXJzaW9uLgoKMjAxMy0wNC0xOCAyMDoyNjoxNSArMDAwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lYWdsLm06CgkgIGVnbGdsZXNzaW5rOiBlYWdsOiBmaXggZWFnbCByZXVzZSBieSBub3QgcmVsZWFzaW5nIHRoZSBjb250ZXh0CgkgIEl0IHNlZW1zIEVBR0wgZXhwZWN0cyB0aGUgYXBwbGljYXRpb24gdG8gc2ltcGx5IGlnbm9yZSB1bnVzZWQKCSAgRUFHTCBjb250ZXh0cyBhcyB0aGUgcmVzb3VyY2VzIGZvciBpdCB3b3VsZCBiZSByZWxlYXNlZCB3aGVuIGEgbmV3CgkgIGNvbnRleHQgaXMgc2V0IGFzIHRoZSBjdXJyZW50IG9uZS4gQWxzbyBtb3ZlIHRoZSBlZ2wgZXh0ZW5zaW9ucwoJICBxdWVyeWluZyB0byBhZnRlciBhIGNvbnRleHQgaXMgc2V0IHRvIHByZXZlbnQgY3Jhc2hlcy4KCSAgVGhpcyBtYWtlcyB0aGUgRUFHTCB2ZXJzaW9uIG9mIGVnbGdsZXNzaW5rIHJldXNhYmxlLgoKMjAxMy0wNC0xOCAxNzoxODoxMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2FpZmYvTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSogZ3N0L2FpZmYvYWlmZm11eC5oOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmg6CgkgIGFpZmY6IHBvcnQgdG8gMS4wCgoyMDEzLTA0LTE4IDE2OjExOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkgIGVnbDogVXNlIGdzdF9jb250ZXh0X3dyaXRhYmxlX3N0cnVjdHVyZSgpCgoyMDEzLTA0LTE4IDE1OjI2OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBHaXZlIG9ubHkgU0VDT05EQVJZIHJhbmsKCSAgSWYgYXZhaWxhYmxlIHdlIHN0aWxsIHByZWZlciB4dmltYWdlc2luay4KCjIwMTMtMDQtMTggMTI6NTQ6MzEgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkgIGVnbGdsZXNzaW5rOiBmaXhlcyAnbWFrZXMgaW50ZWdlciBmcm9tIHBvaW50ZXIgd2l0aG91dCBhIGNhc3QnIHdhcm5pbmcKCjIwMTMtMDQtMTggMTI6MjQ6MTggKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uaDoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJICBlZ2xnbGVzc2luazogc2lsZW5jZSB3YXJuaW5ncyBidWlsZGluZyBmb3IgUlBJIHJlbGF0ZWQgdG8gJ3Zjb3NfKicKCjIwMTMtMDQtMTggMTI6Mjc6MjggKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBmaXggd2FybmluZ3MgYnVpbGRpbmcgb24gdGhlIFJQSQoKMjAxMy0wNC0xOCAxMjoxNjoxNyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSAgZWdsOiBzaWxlbmNlIHdhcm5pbmdzIGJ1aWxkaW5nIGZvciBSUEkgcmVsYXRlZCB0byAndmNvc18qJwoKMjAxMy0wNC0xNyAxNDo0NToxOSAtMDYwMCAgR3JlZyBSdXR6IDxncmVnQGdzci10ZWsuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBNb3Rvcm9sYSBEaWdpQ2lwaGVyIElJIE1QRUcyIHZpZGVvCgkgIFNpbmNlIHRoZXJlIGlzIGEgY29uZmxpY3QgYmV0d2VlbiB0aGUgRENJSSBzdHJlYW0gdHlwZSBhbmQgQmx1UmF5CgkgIHN0cmVhbSB0eXBlcywgbW92ZWQgdGhlIHByb2Nlc3Npbmcgb2YgQmx1UmF5LXNwZWNpZmljIHN0cmVhbSB0eXBlcwoJICB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmdW5jdGlvbi4gIE9ubHkgaWYgYSBCbHVSYXkgc3RyZWFtIHR5cGUKCSAgSVMgTk9UIGZvdW5kIGRvIHdlIHByb2NlZWQgdG8gY2hlY2sgdGhlIHJlc3Qgb2YgdGhlIHN0cmVhbSB0eXBlCgkgIGlkZW50aWZpZXJzCgkgIFByZXZpb3VzIGNvZGUgd2FzIGFsc28gInNvcnQtb2YiIGhhbmRsaW5nIGEgc2ltaWxhciBjb25mbGljdCBiZXR3ZWVuCgkgIEJsdVJheSBBQzMgYXVkaW8gYW5kIHN0YW5kYXJkIEFDMyBhdWRpby4gIE1vdmVkIHRoZSBzcGVjaWFsIGNhc2UgQmx1UmF5CgkgIEFDMyBoYW5kbGluZyBpbiB0aGUgbWFpbiBzd2l0Y2ggc3RhdGVtZW50IHRvIHRoZSBuZXcgQmx1UmF5LXNwZWNpZmljCgkgIHN3aXRjaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5Nzg5MgoKMjAxMy0wNC0xOCAwOTowNzoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVGhlIHF1aWNrdGltZSB3cmFwcGVyIHBsdWdpbiBpcyBub3QgcG9ydGVkIHlldCBlaXRoZXIKCjIwMTMtMDQtMTggMDg6NTY6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFRoZSBvc3h2aWRlb3NyYyBwbHVnaW4gaXMgY2FsbGVkIG9zeF92aWRlbwoKMjAxMy0wNC0xOCAwNzo1NDozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9zeHZpZGVvc3JjOiBJdCdzIG5vdCBwb3J0ZWQgdG8gMS4wIHlldAoKMjAxMy0wNC0xNyAxMzo0ODoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IEdzdENvbnRleHQgcmVmY291bnRpbmcgc29tZSBtb3JlCgoyMDEzLTA0LTE3IDEzOjE2OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggR3N0Q29udGV4dCByZWZjb3VudGluZwoKMjAxMy0wNC0xNyAxMDo0ODozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uaDoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IFVwZGF0ZSBmb3IgR0xUZXh0dXJlVXBsb2FkTWV0YSBhbmQgRUdMIEFQSSBjaGFuZ2VzCgoyMDEzLTA0LTE3IDEwOjQwOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkgIGVnbDogVXNlIG5ldyB0eXBlcyBmcm9tIGxpYmdzdHZpZGVvIGluc3RlYWQgb2YgZGVmaW5pbmcgb3VyIG93bgoKMjAxMy0wMy0yNSAxODozMDoxOCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRG8gbm90IGNoZWNrIGZvciBWVUkgcGFyYW1ldGVycyBpZiB0aGV5IHdlcmUgbm90IHByZXNlbnQgaW4gdGhlIFNQUwoKMjAxMy0wNC0xNiAyMjo1MTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmM6CgkgIGVnbGdsZXNzaW5rOiBSZW9yZGVyIHN1cmZhY2UgcXVlcmllcwoJICBPdGhlcndpc2Ugd3JvbmcgdmFsdWVzIGNhbiBiZSByZXR1cm5lZC4KCjIwMTMtMDQtMTYgMjI6MjU6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmg6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWFnbC5tOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUHJvcGVybHkgc2V0IGEgZGVidWcgY2F0ZWdvcnkgZm9yIHRoZSBhZGFwdGlvbiBsYXllcnMKCjIwMTMtMDQtMTYgMjI6MjU6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEdldCB0aGUgRUdML0dMRVMgZXh0ZW5zaW9ucyBhdCB0aGUgcmlnaHQgcG9zaXRpb24KCjIwMTMtMDQtMTYgMjI6MTQ6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBjb21waWxlciB3YXJuaW5nCgkgIGdzdGVnbGFkYXB0YXRpb25fZWdsLmM6IEluIGZ1bmN0aW9uICdnc3RfZWdsX2FkYXB0YXRpb25fY3JlYXRlX25hdGl2ZV93aW5kb3cnOgoJICBnc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOjg2ODozOiBlcnJvcjogZm9ybWF0ICclcCcgZXhwZWN0cyBhcmd1bWVudCBvZiB0eXBlICd2b2lkIConLCBidXQgYXJndW1lbnQgOCBoYXMgdHlwZSAnRUdMTmF0aXZlV2luZG93VHlwZScgWy1XZXJyb3I9Zm9ybWF0PV0KCSAgR1NUX0RFQlVHX09CSkVDVCAoY3R4LT5lbGVtZW50LCAiVXNpbmcgd2luZG93IGhhbmRsZSAlcCIsIHdpbmRvdyk7CgkgIF4KCjIwMTMtMDQtMTAgMTc6Mjc6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL01ha2VmaWxlLmFtOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uaDoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lYWdsLm06CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiByZWZhY3RvciB0byBhbGxvdyBlYWdsIHN1cHBvcnQKCSAgUHV0IEVHTCBzcGVjaWZpYyBjb2RlIHRvIGEgc2VwYXJhdGUgZmlsZSBhbmQgY3JlYXRlIHRoZSBzYW1lIGZ1bmN0aW9ucwoJICBmb3IgRUFHTCwgdGhlIEFwcGxlJ3Mgc3BlY2lmaWMgRUdMIGltcGxlbWVudGF0b24uCgkgIEF0IHRoaXMgcG9pbnQsIHRoZSBFQUdMIHZlcnNpb24gd2Fzbid0IGNvbXBpbGVkIG9yIHRlc3RlZCBhcyB0aGVyZSBpc24ndAoJICBhbnkgc2ltcGxlIGRvY3VtZW50ZWQgd2F5IHRvIGJ1aWxkIDEuMCBmb3IgaU9TLiBUaGlzIGNvZGUgZm9yIHRoZSBFQUdMCgkgIHZlcnNpb24gaXMgc3RpbGwgdGhlIDAuMTAgdmVyc2lvbiwgc29tZSB1cGRhdGVzIHNob3VsZCBiZSBtYWRlIHdoZW4gMS4wCgkgIGlzIGJ1aWxkYWJsZSBmb3IgaU9TLgoKMjAxMy0wNC0xNSAxNzo0Mzo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBlYWdsOiBhZGQgaW9zIHdpbmRvdyBzeXN0ZW0gb3B0aW9uIGZvciBlZ2xnbGVzIGNvbmZpZ3VyZQoKMjAxMy0wNC0xNSAxODo0MDowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBpb3M6IHVuY29uZGl0aW9uYWxseSBjaGVjayBpZiB3ZSBhcmUgYnVpbGRpbmcgZm9yIGlPUwoJICBJbnN0ZWFkIG9mIG9ubHkgY2hlY2tpbmcgaWYgYXBwbGVtZWRpYSBpcyBnb2luZyB0byBiZSBidWlsdAoKMjAxMy0wNC0xMCAxNDo1Mzo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvTWFrZWZpbGUuYW06CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5oOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogcmVmYWN0b3IgZWdsIGZ1bmN0aW9ucy9kYXRhIHRvIGEgc2VwYXJhdGUgZmlsZQoJICBUaGlzIGlzIHBhcnQgb2YgdGhlIGNoYW5nZXMgcmVxdWlyZWQgdG8gbWFrZQoJICBlZ2xnbGVzc2luayB3b3JrIHdpdGggYm90aCBFR0wgYW5kIEFwcGxlJ3MgRUFHTAoKMjAxMy0wNC0xNiAxNjozMDowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUHJpbnQgRUdML0dMRVMgZXh0ZW5zaW9ucyBhZnRlciB3ZSBhcmUgYWN0dWFsbHkgaW5pdGlhbGl6ZWQgZW5vdWdoCgoyMDEzLTA0LTE2IDE2OjIzOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgYW1jYXVkaW9kZWM6IFByb3Blcmx5IHNldCBvdXRwdXQgZm9ybWF0IGluc3RlYWQgb2YganVzdCBzZXR0aW5nIGNhcHMKCjIwMTMtMDQtMTYgMTY6MTc6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogU2V0IHBhcmVudCBjbGFzcyBpbiBjbGFzc19pbml0CgoyMDEzLTA0LTE2IDE2OjAwOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IEhhbmRsZSByZWZjb3VudHMgb2YgcGFkIHRlbXBsYXRlcyBjb3JyZWN0bHkKCSAgZ3N0X3BhZF90ZW1wbGF0ZV9uZXcoKSBkb2VzIG5vdCB0YWtlIG93bmVyc2hpcCBvZiBjYXBzIGFueW1vcmUgYW5kCgkgIGdzdF9lbGVtZW50X2NsYXNzX2FkZF9wYWRfdGVtcGxhdGUoKSBkb2VzIHRha2Ugb3duZXJzaGlwIG9mIHRoZQoJICBwYWQgdGVtcGxhdGUgbm93LgoKMjAxMy0wNC0xNiAxNTozMjowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIGFtY2F1ZGlvZGVjOiBVc2UgMS4wLXN0eWxlIHJhdyBhdWRpbyBjYXBzCgoyMDEzLTA0LTE2IDE1OjMxOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IFByb3Blcmx5IHNldCBzdWJjbGFzc2VzIG1ldGFkYXRhL3BhZCB0ZW1wbGF0ZXMgaW4gYmFzZV9pbml0CgoyMDEzLTA0LTE1IDE2OjAxOjI5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBjaGVjayB2YWx1ZSBiZWZvcmUgdXNpbmcgYXMgZGVub21pbmF0b3IKCjIwMTMtMDQtMTUgMTg6MTk6MzggKzAzMDAgIEFudG9uIEJlbGthIDxhbnRvbmJlbGthQGdtYWlsLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkgIHV2Y2gyNjQ6IHByaW50ZiBmb3JtYXQgZml4CgkgIGdzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6NDM3OjU6IGVycm9yOiBmb3JtYXQgJyVsdScgZXhwZWN0cyBhcmd1bWVudCBvZiB0eXBlICdsb25nIHVuc2lnbmVkIGludCcsIGJ1dCBhcmd1bWVudCA4IGhhcyB0eXBlICdHc3RDbG9ja1RpbWUnCgoyMDEyLTEwLTI0IDEyOjE2OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOgoJKiBleHQvYXNzcmVuZGVyL01ha2VmaWxlLmFtOgoJKiBleHQvYXVkaW9maWxlL01ha2VmaWxlLmFtOgoJKiBleHQvYnoyL01ha2VmaWxlLmFtOgoJKiBleHQvY2RhdWRpby9NYWtlZmlsZS5hbToKCSogZXh0L2NlbHQvTWFrZWZpbGUuYW06CgkqIGV4dC9jaHJvbWFwcmludC9NYWtlZmlsZS5hbToKCSogZXh0L2N1cmwvTWFrZWZpbGUuYW06CgkqIGV4dC9kYzEzOTQvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJKiBleHQvZHRzL01ha2VmaWxlLmFtOgoJKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkqIGV4dC9mbGl0ZS9NYWtlZmlsZS5hbToKCSogZXh0L2ZsdWlkc3ludGgvTWFrZWZpbGUuYW06CgkqIGV4dC9nbWUvTWFrZWZpbGUuYW06CgkqIGV4dC9nc2V0dGluZ3MvTWFrZWZpbGUuYW06CgkqIGV4dC9nc20vTWFrZWZpbGUuYW06CgkqIGV4dC9obHMvTWFrZWZpbGUuYW06CgkqIGV4dC9rYXRlL01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbGliZmFtZS9NYWtlZmlsZS5hbToKCSogZXh0L2xpYm1tcy9NYWtlZmlsZS5hbToKCSogZXh0L2x2Mi9NYWtlZmlsZS5hbToKCSogZXh0L21pbWljL01ha2VmaWxlLmFtOgoJKiBleHQvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSogZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvbXBnMTIzL01ha2VmaWxlLmFtOgoJKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkqIGV4dC9tdXNlcGFjay9NYWtlZmlsZS5hbToKCSogZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOgoJKiBleHQvbXl0aHR2L01ha2VmaWxlLmFtOgoJKiBleHQvbmFzL01ha2VmaWxlLmFtOgoJKiBleHQvbmVvbi9NYWtlZmlsZS5hbToKCSogZXh0L29mYS9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5hbC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5qcGVnL01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBleHQvcnN2Zy9NYWtlZmlsZS5hbToKCSogZXh0L3J0bXAvTWFrZWZpbGUuYW06CgkqIGV4dC9zYmMvTWFrZWZpbGUuYW06CgkqIGV4dC9zY2hyb2VkaW5nZXIvTWFrZWZpbGUuYW06CgkqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkqIGV4dC9zbmFwc2hvdC9NYWtlZmlsZS5hbToKCSogZXh0L3NuZGZpbGUvTWFrZWZpbGUuYW06CgkqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJKiBleHQvc3BhbmRzcC9NYWtlZmlsZS5hbToKCSogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSogZXh0L3NydHAvTWFrZWZpbGUuYW06CgkqIGV4dC90ZWxldGV4dGRlYy9NYWtlZmlsZS5hbToKCSogZXh0L3RpbWlkaXR5L01ha2VmaWxlLmFtOgoJKiBleHQvdm9hYWNlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC92b2FtcndiZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZXh0L3h2aWQvTWFrZWZpbGUuYW06CgkqIGV4dC96YmFyL01ha2VmaWxlLmFtOgoJKiBnc3QvYWNjdXJpcC9NYWtlZmlsZS5hbToKCSogZ3N0L2FkcGNtZGVjL01ha2VmaWxlLmFtOgoJKiBnc3QvYWRwY21lbmMvTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmL01ha2VmaWxlLmFtOgoJKiBnc3QvYXNmbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9idWZmZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXV0b2NvbnZlcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jZHhhcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9jb2xvcmVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kYXRhdXJpc3JjL01ha2VmaWxlLmFtOgoJKiBnc3QvZGNjcC9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmJzdWJvdmVybGF5L01ha2VmaWxlLmFtOgoJKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJKiBnc3QvZmFjZW92ZXJsYXkvTWFrZWZpbGUuYW06CgkqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVldmVyYi9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWkwci9NYWtlZmlsZS5hbToKCSogZ3N0L2dhbWVzL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2RwL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvaGR2cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDN0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2l2ZnBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaXZ0Yy9NYWtlZmlsZS5hbToKCSogZ3N0L2pwMmtkZWNpbWF0b3IvTWFrZWZpbGUuYW06CgkqIGdzdC9qcGVnZm9ybWF0L01ha2VmaWxlLmFtOgoJKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJKiBnc3QvbGl2ZWFkZGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvbWlkaS9NYWtlZmlsZS5hbToKCSogZ3N0L21peG1hdHJpeC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWcxc3lzL01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3BzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkqIGdzdC9udXZkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L292ZXJsYXkvTWFrZWZpbGUuYW06CgkqIGdzdC9wYXRjaGRldGVjdC9NYWtlZmlsZS5hbToKCSogZ3N0L3BjYXBwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3BubS9NYWtlZmlsZS5hbToKCSogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSogZ3N0L3JlbW92ZXNpbGVuY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9ydGpwZWcvTWFrZWZpbGUuYW06CgkqIGdzdC9zZGkvTWFrZWZpbGUuYW06CgkqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkqIGdzdC9zZWdtZW50Y2xpcC9NYWtlZmlsZS5hbToKCSogZ3N0L3NpcmVuL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21vb3RoL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkqIGdzdC9zdGVyZW8vTWFrZWZpbGUuYW06CgkqIGdzdC9zdWJlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC90dGEvTWFrZWZpbGUuYW06CgkqIGdzdC92YmlkZWMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21lYXN1cmUvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkqIGdzdC95YWRpZi9NYWtlZmlsZS5hbToKCSogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSogc3lzL2FjbW1wM2RlYy9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hdmMvTWFrZWZpbGUuYW06CgkqIHN5cy9ibHVlei9NYWtlZmlsZS5hbToKCSogc3lzL2Nkcm9tL01ha2VmaWxlLmFtOgoJKiBzeXMvZDNkdmlkZW9zaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkqIHN5cy9keHIzL01ha2VmaWxlLmFtOgoJKiBzeXMvZmJkZXYvTWFrZWZpbGUuYW06CgkqIHN5cy9saW5zeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9tZmMvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSogc3lzL3B2cjJkL01ha2VmaWxlLmFtOgoJKiBzeXMvcWNhbS9NYWtlZmlsZS5hbToKCSogc3lzL3F0d3JhcHBlci9NYWtlZmlsZS5hbToKCSogc3lzL3NobS9NYWtlZmlsZS5hbToKCSogc3lzL3V2Y2gyNjQvTWFrZWZpbGUuYW06CgkqIHN5cy92Y2QvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3dhc2FwaS9NYWtlZmlsZS5hbToKCSogc3lzL3dpbmluZXQvTWFrZWZpbGUuYW06CgkqIHN5cy93aW5rcy9NYWtlZmlsZS5hbToKCSogc3lzL3dpbnNjcmVlbmNhcC9NYWtlZmlsZS5hbToKCSogdG9vbHMvZ3N0LXByb2plY3QtbWFrZXI6CgkgIGdzdDogQWRkIGJldHRlciBzdXBwb3J0IGZvciBzdGF0aWMgcGx1Z2lucwoKMjAxMy0wNC0xNSAxNToxMzo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSAgY3J1ZnQ6IEFkZCBjYW1lcmFiaW4gZGlyZWN0b3J5IHRvIHRoZSBjcnVmdCBkaXJlY3RvcmllcwoKMjAxMy0wNC0xNSAwOTowMTo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IGZpeCB0aW1lb3V0IHZhbHVlCgkgIFRpbWVvdXQgb24gdWRwc3JjIGlzIGluIG5hbm9zZWNvbmRzIGluIDEuMAoKMjAxMy0wNC0xNSAwMDoyMjozOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogQWRkIGNvbmRpdGlvbmFsIG9uIEFQSSB2ZXJzaW9uIGZvciBuZXcgZW51bQoKMjAxMy0wNC0wNCAxNTo1OTowOSArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBmaXggZGVhZGxvY2sgZHJhaW5pbmcgcXVldWUgZnJvbSB0aGUgc2FtZSB0aHJlYWQKCjIwMTEtMDgtMTAgMTI6MTM6MzQgKzAwMDAgIEZhYnJpY2lvIENvc3RhIEFsaXNlZG8gPGZhYnJpY2lvLmNvc3RhQG1vbGRlb2ludGVyYWN0aXZlLmNvbS5hcj4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJICBkc2hvd3NyY3dyYXBwZXI6IEFkZGVkIEdyYXBoIEJ1aWxkZXIgYW5kIENhcHR1cmUgQnVpbGRlciB0byBjb3JyZWN0bHkgY3JlYXRlIHVwc3RyZWFtIG5lZWRlZCBmaWx0ZXJzIGJ5IEFuYWxvZyBUViBDYXB0dXJlIERldmljZXMuCgoyMDEyLTEyLTAxIDE2OjI0OjIyICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJICBkc2hvd3NyY3dyYXBwZXI6IEFkZCBzdXBwb3J0IGZvciBVWVZZCgoyMDEzLTA0LTE1IDA4OjQ4OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggY29tcGlsZXIgd2FybmluZ3MKCSAgZ3N0ZWdsZ2xlc3NpbmsuYzogSW4gZnVuY3Rpb24gJ2dzdF9lZ2xnbGVzc2lua19maWxsX3RleHR1cmUnOgoJICBnc3RlZ2xnbGVzc2luay5jOjE4MTU6MzogZXJyb3I6IGZvcm1hdCAnJWQnIGV4cGVjdHMgYXJndW1lbnQgb2YgdHlwZSAnaW50JywgYnV0IGFyZ3VtZW50IDExIGhhcyB0eXBlICdnc2l6ZScgWy1XZXJyb3I9Zm9ybWF0XQoJICBnc3RlZ2xnbGVzc2luay5jOiBJbiBmdW5jdGlvbiAnZ3N0X2VnbGdsZXNzaW5rX2NvbmZpZ3VyZV9jYXBzJzoKCSAgZ3N0ZWdsZ2xlc3NpbmsuYzoyODUwOjM6IGVycm9yOiBmb3JtYXQgJyVwJyBleHBlY3RzIGFyZ3VtZW50IG9mIHR5cGUgJ3ZvaWQgKicsIGJ1dCBhcmd1bWVudCA4IGhhcyB0eXBlICdFR0xOYXRpdmVXaW5kb3dUeXBlJyBbLVdlcnJvcj1mb3JtYXRdCgoyMDEzLTA0LTE1IDAwOjQ4OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmg6CgkgIGthdGU6IG9ubHkgc2VuZCBkZWNvZGVyIG91dHB1dCBjYXBzIG9uY2Ugb3Igd2hlbiB0aGUgZm9ybWF0IGNoYW5nZXMKCSAgYW5kIG5vdCBmb3IgZXZlcnkgc2luZ2xlIGJ1ZmZlci4gQW5kICBhbHNvIHNlbmQgYSBjYXBzCgkgIGV2ZW50IGZvciBzcHUgb3V0cHV0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MDcxCgoyMDEzLTA0LTE0IDIzOjIyOjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlOiBmaXggZGVjb2RlciBvdXRwdXQgY2FwcwoJICBJdCdzIGVpdGhlciBwYW5nby1tYXJrdXAgb3IgdXRmOCwgbmV2ZXIgYm90aCBhdCB0aGUgc2FtZSB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MDcxCgoyMDEzLTA0LTE0IDIzOjE5OjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogbWFyayBoZWFkZXIgYnVmZmVycyBhcyBzdWNoCgoyMDEzLTA0LTE0IDIzOjA4OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmg6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmg6CgkgIGthdGVlbmM6IHNhdmUgY3VycmVudCBpbnB1dCBmb3JtYXQgaW4gc2V0Y2FwcwoKMjAxMy0wNC0xNCAyMToyODo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9rYXRlL01ha2VmaWxlLmFtOgoJKiBleHQva2F0ZS9nc3RrYXRlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlOiBmaXggcHJpbnRmIGZvcm1hdCBzdHJpbmdzIGFuZCBkaXNhYmxlIHRpZ2VyIGVsZW1lbnQKCjIwMTMtMDQtMDEgMTI6NDc6MTMgLTA2MDAgIEJyZW5kYW4gTG9uZyA8Yi5sb25nQGNhYmxlbGFicy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmg6CgkgIGthdGU6IHBvcnQgS2F0ZSBzdWJ0aXRsZXMgdG8gMS4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTcwNzEKCjIwMTMtMDQtMTQgMTc6NTU6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGFlZDg3YWUgdG8gM2NiM2QzYwoKMjAxMy0wNC0xMiAxNzowMTozOCArMDIwMCAgQWxleGFuZGVyIE9sc3NvbiA8YWxleG9AYXhpcy5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBhY2NlcHQgYW55IGpwZWcgaW5wdXQgLSBwYXJzZWQsIHVucGFyc2VkIG9yIHVubWFya2VkCgkgIFRoZSBzcmMgZWxlbWVudCBtYXkgbm90IGluY2x1ZGUgaW5mb3JtYXRpb24gYWJvdXQgd2hldGhlcgoJICB0aGUgZGF0YSBpcyBwYXJzZWQgb3Igbm90LiBIZW5jZSBkbyBub3QgcmVxdWlyZSBwYXJzZWQ9ZmFsc2UuCgkgIEZpeGVzIG11bHRpcGFydGRlbXV4ICEganBlZ3BhcnNlICEgLi4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTc4ODQKCjIwMTMtMDQtMTIgMTQ6MDk6MjQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdmlkZW9maWx0ZXI6CgkgIGVsZW1lbnQtdGVtcGxhdGU6IGFkZCBzdGFydC9zdG9wIHRvIHZpZGVvZmlsdGVyCgoyMDEzLTA0LTEyIDE0OjA4OjE1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtdGVtcGxhdGUtdmlkZW86CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC10ZW1wbGF0ZS12aWRlbzoKCSAgZWxlbWVudC10ZW1wbGF0ZXM6IGF2b2lkIHVzaW5nIFBhZFRlbXBsYXRlcwoKMjAxMy0wNC0xMiAxNDowNzozMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNldHJhbnNmb3JtOgoJICBlbGVtZW50LXRlbXBsYXRlczogQWRkIGhlbHBlciBjb2RlIHRvIHRyYW5zZm9ybV9jYXBzCgoyMDEzLTA0LTEyIDEzOjU2OjI1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmg6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb3NpZ25hbC5jOgoJICB2aWRlb2FuYWx5c2U6IHBvcnQgdG8gMS4wCgoyMDEzLTA0LTA1IDIxOjMxOjE4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3RzY2VuZWNoYW5nZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHNjZW5lY2hhbmdlLmg6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9maWx0ZXIyLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9maWx0ZXIyLmg6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5oOgoJICB2aWRlb2ZpbHRlcnNiYWQ6IHBvcnQgdG8gMS4wCgoyMDEzLTA0LTExIDIyOjE1OjA3ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBkZWNyZWFzZSBsb2cgcHJpb3JpdHkgZm9yIHJlcGVhdGluZyBtZXNzYWdlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3ODM0CgoyMDEzLTA0LTExIDEzOjM0OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlY29udmVydGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlY29udmVydGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZW1ldGEuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb250ZXh0Lmg6CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYXNldmlkZW8tdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFzZXZpZGVvLnBjLmluOgoJICB2aWRlbzogUmVtb3ZlIHZpZGVvIGxpYnJhcnkgZnJvbSAtYmFkCgkgIFRoaXMgb25seSBjb250YWluZWQgQVBJIHRoYXQgbm93IGhhcyByZXBsYWNlbWVudHMgaW4gY29yZSBhbmQgYmFzZS4KCjIwMTMtMDQtMTEgMTM6MDg6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQ2hlY2sgdGhlIGNvbnRpbnVpdHkgY291bnRlciBmb3Igbm9uLXNlY3Rpb24gcGFja2V0cyB0b28KCSAgQW5kIGlmIHdlIGRldGVjdCBhIGRpc2NvbnRpbnVpdHkgdGhlcmUgKGxpa2UuLi4gd2hlbiBsb3NpbmcgcGFja2V0cwoJICBvciBoYXZpbmcgTVBFR1RTIG92ZXIgcmF3IFVEUCB3aXRoIG91dC1vZi1vcmRlciBwYWNrZXRzKSB3ZSBqdXN0CgkgIGRyb3AgdGhlIGNvcnJlc3BvbmRpbmcgcGFja2V0LgoJICBBIGZ1dHVyZSB2ZXJzaW9uIGNvdWxkIHRyeSB0byBpbXBsZW1lbnQgYSByZS1vcmRlcmluZyBhbGdvcml0aG0gYmFzZWQKCSAgb24gdGhhdCwgc2ltaWxhciB0byB3aGF0IHJ0cGppdHRlcmJ1ZmZlciBkb2VzLgoKMjAxMy0wNC0xMSAxMDowNjoyMyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbWZ4ZGVtdXM6IHVwZGF0ZSB0b2RvICh0aGVyIGVpcyBhIG11eGVyKQoKMjAxMy0wNC0xMCAxNjoxOTowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBDYWxsIDo6cHJvZ3JhbV9zdG9wcGVkIGFmdGVyIHJlbW92aW5nIGFsbCBzdHJlYW1zCgkgIFN1YmNsYXNzZXMgd2FudCB0byBhY2Nlc3MgdGhlIHByb2dyYW0gd2hpbGUgcmVtb3ZpbmcgdGhlIHN0cmVhbXMKCSAgYW5kIHdpbGwgY3VycmVudGx5IGNyYXNoIGJlY2F1c2Ugb2YgZGVyZWZlcmVuY2luZyBOVUxMIGluIHNvbWUgY2FzZXMuCgoyMDEzLTA0LTEwIDExOjA2OjUyICswMjAwICBBbGV4YW5kZXIgU2NocmFiIDxhbGV4YXNAYXhpcy5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9nc3R3YXRjaGRvZy5jOgoJICB3YXRjaGRvZzogcmFjZSBiZXR3ZWVuIGdfbWFpbl9sb29wX3J1bi9fcXVpdCBmaXhlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3Njk0CgoyMDEzLTA0LTA5IDIxOjMyOjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBEb24ndCBzdG9wIG9uIGludmFsaWQgYnVmZmVyCgoyMDEzLTA0LTA5IDIxOjMxOjU1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBDbGVhbmVyIHN0cmVhbSBjbGVhbnVwCgoyMDEzLTA0LTA5IDIxOjMxOjI0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cC5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IERvbid0IGNyYXNoIG9uIGludmFsaWQgY2lwaGVyCgoyMDEzLTAzLTI3IDE2OjQ5OjA1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHdhdGNoZG9nLmM6CgkgIHdhdGNoZG9nOiBmaXggZXZlbnQgaGFuZGxpbmcKCjIwMTMtMDQtMDEgMTU6NTI6MTcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3lhZGlmL2dzdHlhZGlmLmM6CgkgIHlhZGlmOiByZW1vdmUgZXh0cmEgdGVtcGxhdGUgY29kZQoKMjAxMy0wNC0wMSAxNTo0Nzo1NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXZ0Yy9nc3RpdnRjLmM6CgkgIGl2dGM6IHJlbW92ZSB0cmFuc2Zvcm1fc2l6ZSwgaXQncyBub3QgbmVlZGVkCgoyMDEzLTA0LTAxIDIwOjEzOjQxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3ZpZGVvZW5jb2RlcjoKCSAgZWxlbWVudC1tYWtlcjogZml4IHJldHVybiB2YWx1ZSBpbiB2aWRlb2VuY29kZXIKCjIwMTMtMDQtMDEgMjA6MTI6NTcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGdzdC1lbGVtZW50LW1ha2VyOiBjcmVhdGUgYmV0dGVyIGVsZW1lbnQgbmFtZSB3aGVuIHVzaW5nIC0tcHJlZml4CgoyMDEzLTA0LTAxIDIwOjAzOjU5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJICBpbnRlcmF1ZGlvc2luazogZml4IGxlYWsgd2hlbiBub3QgY29ubmVjdGVkCgoyMDEzLTA0LTA5IDIxOjAwOjI4ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwNGM3YTFlIHRvIGFlZDg3YWUKCjIwMTMtMDQtMDggMTc6NDA6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRkZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgZXh0OiBwcmludGYgZm9ybWF0IGZpeGVzIGluIGRlYnVnIGFuZCBlcnJvciBtZXNzYWdlcwoKMjAxMy0wNC0wOCAxNzozNDo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9tZW1vcnkuYzoKCSAgc3lzOiBwcmludCBmb3JtYXQgZml4ZXMgaW4gZGVidWcgbWVzc2FnZXMKCjIwMTMtMDQtMDcgMTg6NDE6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQWRkIHN1cHBvcnQgZm9yIFRydWVIRCBhdWRpbwoKMjAxMy0wNC0wNSAwOTo0MToyNiArMDEwMCAgVG9kZCBBZ3VsbmljayA8dG9kZEBhZ3Vsbmljay5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0Lmg6CgkgIGhhbmRkZXRlY3Q6IGZpeCBidWlsZCBvbiBPUy9YCgkgIGdzdGhhbmRkZXRlY3QuaDo4NDogZXJyb3I6IGV4cGVjdGVkIHNwZWNpZmllci1xdWFsaWZpZXItbGlzdCBiZWZvcmUgJ3VpbnQnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTczMDUKCjIwMTMtMDQtMDUgMDA6NDk6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBzaGFkZXJzIGFzc3VtZSAzMmJwcAoJICBCYWNrcG9ydCBmaXggZm9yIGNyYXNoZXMgYW5kIGludmFsaWQgd3JpdGVzIGluIHRvdGVtIGZyb20gbGlidmlzdWFsCgkgIGluIC1iYXNlLCB0byBtaW5pbWlzZSBkaWZmZXJlbmNlcyB0byB2ZXJzaW9uIGluIC1iYXNlIGFuZCB0byBtYWtlCgkgIHN1cmUgdGhlIGJ1ZyBkb2Vzbid0IHNuZWFrIGJhY2sgaW4gbGF0ZXIgd2hlbiB0aGUgYmFzZSBjbGFzcyBpcwoJICBtYWRlIHB1YmxpYy4KCSAgVGhlIHNoYWRlciBjb2RlIGxvb2tzIGxpa2UgaXQgbWFrZXMgYXNzdW1wdGlvbnMgdGhhdCBhcmUgbm90CgkgIG5lY2Vzc2FyaWx5IGFsd2F5cyB0cnVlLCBldmVuIGlmIHRoZXkncmUgdHJ1ZSBmb3Igbm93IGZvciB0aGUKCSAgZXhpc3RpbmcgZWxlbWVudHMsIG5hbWx5IHRoYXQgcGl4ZWwgc3RyaWRlIGlzIDQsIGZvciBleGFtcGxlLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzUyNwoKMjAxMy0wMy0xNCAxMToxNToyOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBoYW5kbGUgbm9uLWV4aXN0YW50IHBvb2wgaW4gdGhlIGRlZmF1bHQgYWxsb2NhdGlvbiBxdWVyeQoJICBnc3RfcXVlcnlfc2V0X250aF9hbGxvY2F0aW9uX3Bvb2woKSByZXF1aXJlcyB0aGVyZSB0byBiZSBhIHBvb2wgaW4gdGhlCgkgIHF1ZXJ5IGFscmVhZHkuIFRoaXMgaXMgbm90IGFsd2F5cyB0aGUgY2FzZSB3aGVuIHdlIGdldCB0aGUgcXVlcnkgZnJvbQoJICB1cHN0cmVhbS4gIFVzZSBnc3RfcXVlcnlfYWRkX2FsbG9jYXRpb25fcG9vbCgpIGluc3RlYWQgaW4gc3VjaCBjYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxNzE5CgoyMDEzLTAxLTI5IDEwOjE4OjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5oOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IGltcHJvdmUgYWxsb2NhdGlvbgoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXR0aGV3IFdhdGVycwoJICBBZGQgcHJpdmF0ZSBkYXRhCgkgIEFkZCBkZWNpZGVfYWxsb2NhdGlvbiB2bWV0aG9kCgkgIFJlZmFjdG9yIGJ1ZmZlcnBvb2wgbmVnb3RpYXRpb24KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTcxOQoKMjAxMy0wNC0wMyAxNjoxMjowMSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IHVzZSBiaWxpbmVhciBmaWx0ZXIgYXMgbXVjaCBhcyBwb3NzaWJsZQoJICBVc2UgdGhlIGJpbGluZWFyIHNjYWxsaW5nIGZpbHRlciB3aGVuIHRoZSBtYWduaWZpZXIgb3IgdGhlIG1pbmlmaWVyCgkgIGZpbHRlcnMgYXJlIGF2YWlibGUuIFNvbWUgZ3JhcGhpY3MgY2FyZHMgZG8gbm90IHByb3ZpZGUgbWluaWZpZXIgZmlsdGVycwoJICBidXQgd2Ugd2FudCB0byB1c2UgaXQgZm9yIHVwc2NhbGxpbmcgaWYgaXQncyBhdmFpbGFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzE3NgoKMjAxMy0wNC0wMyAxNDo1NTo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9yc3ZnL2dzdHJzdmcuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5oOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5oOgoJICByc3ZnOiBCdW1wIG1pbmltdW0gcmVxdWlyZW1lbnQgdG8gMi4zNi4wCgkgIEFuZCBoYW5kbGUgaGVhZGVyIGNoYW5nZXMgaW4gMi4zNi4yCgoyMDEzLTA0LTAyIDIzOjMzOjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9tZXRhLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvbWV0YS5oOgoJICBkb2NzOiBhZGQgc2luY2UgbWFya2VycyB0byBuZXcgY29kZWNwYXJzZXJzIHZpZGVvIG1ldGEgQVBJCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTE3MTIKCjIwMTMtMDQtMDEgMTk6NDk6MDAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBJbXBsZW1lbnQgYmFzZXNyYy0+dW5sb2NrKCkKCSAgVGhpcyBmaXhlcyAtPk5VTEwgdHJhbnNpdGlvbiBwcm9ibGVtcyBpZiBsaWJydG1wIGlzIHN0dWNrIGluIGEKCSAgcmVjdiBvciBzZW5kIGNhbGwgdGhhdCBuZXZlciByZXR1cm5zLgoKMjAxMy0wMy0zMCAxNTowNzo0NSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNldHJhbnNmb3JtOgoJICBlbGVtZW50LW1ha2VyOiBjYWxsIHVwIGluIGJhc2V0cmFuc2Zvcm0gdGVtcGxhdGUKCSAgTW9yZSB0ZW1wbGF0ZXMgc2hvdWxkIGJlIGRvaW5nIHRoaXM6IGZ1bmN0aW9uIGltcGxlbWVudGF0aW9ucwoJICBzaG91bGQgY2FsbCB1cCB0byB0aGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBpbiB0aGUgYmFzZSBjbGFzcy4KCjIwMTMtMDQtMDEgMjI6Mzg6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWxzbyBjaGVjayBmb3IgYmx1ZXogZm9yIGJsdWV0b290aC9ibHVldG9vdGguaAoJICBGaXhlcyBidWlsZCBvbiBtYWNoaW5lcyB3aGVyZSBibHVleiBoZWFkZXJzIGFyZSBub3QgYXZhaWxhYmxlLgoKMjAxMy0wNC0wMSAyMTo0OTo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmx1ZXo6IGVuYWJsZSBibHVleiBwbHVnaW4KCSAgU2VlbXMgdG8gbW9zdGx5IHdvcmsgbm93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNTgyCgoyMDEzLTA0LTAxIDIxOjQ4OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBCdW1wIHNvZnQgbGlib3JjIHJlcXVpcmVtZW50IHRvIDAuNC4xNwoJICBUbyBtYXRjaCAtYmFzZSBhbmQgLWdvb2QuIEFsc28gZml4ZXMgcG90ZW50aWFsCgkgIGNyYXNoIHdoZW4gYSBmYWxsYmFjayBmdW5jdGlvbiBoYXMgdG8gYmUgdXNlZC4KCjIwMTMtMDQtMDEgMTA6MjA6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFVzZSB0aGUgRUdMSW1hZ2UgYW5kIEdzdFZpZGVvR0xUZXh0dXJlVXBsb2FkTWV0YSBjYXBzIGZlYXR1cmVzCgoyMDEzLTA0LTAxIDEwOjIwOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkgIGVnbDogQWRkIGEgI2RlZmluZSBmb3IgdGhlIEVHTEltYWdlIG1lbW9yeSBjYXBzIGZlYXR1cmUKCjIwMTMtMDQtMDEgMDk6MTM6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmg6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5Lmg6CgkgIHJzdmc6IERvbid0IGluY2x1ZGUgcnN2Zy1jYWlyby5oIGRpcmVjdGx5CgkgIEluY2x1ZGluZyBpdCBkaXJlY3RseSBpcyBub3cgZGVwcmVjYXRlZAoKMjAxMy0wNC0wMSAwOToxMDo1MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSAgdmRwYXU6IERvbid0IHVzZSBkZXByZWNhdGVkIEdNdXRleCBtZXRob2RzCgoyMDEzLTAzLTI5IDE3OjU3OjEyICswMTAwICBMdWNpYW5hIEZ1amlpIFBvbnRlbGxvIDxsdWNpYW5hQGZ1amlpLmV0aS5icj4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmg6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5Lmg6CgkgIHJzdmc6IFBvcnQgdG8gMS4wCgkgIEFsc28gcG9ydCB0aGUgZGVjb2RlciB0byB0aGUgR3N0VmlkZW9EZWNvZGVyCgoyMDEyLTA5LTIwIDE5OjAzOjExICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW91dGlscy5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3R2aWRlb2ZyYW1lLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdHZpZGVvZnJhbWUuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHAuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwYnVmZmVycG9vbC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlcnBvb2wuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVycG9vbC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0YnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRidWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlcnBvb2wuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlcnBvb2wuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvbWVtb3J5LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb21lbW9yeS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGZyYW1lLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRmcmFtZS5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0bmFscmVhZGVyLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdG5hbHJlYWRlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuaDoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmg6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdmcmFtZS5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuaDoKCSogc3lzL3ZkcGF1L21wZWcvbXBlZ3V0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWcvbXBlZ3V0aWwuaDoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdG1wZWc0ZnJhbWUuaDoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdHZkcG1wZWc0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3R2ZHBtcGVnNGRlYy5oOgoJICB2ZHBhdTogUG9ydCB0byAxLjAKCSAgTmV3IGJhc2UgY2xhc3MgZm9yIHZkcGF1IGRlY29kZXJzCgkgICogbXBlZzIgcG9ydGVkIGFuZCBhY3RpdmF0ZWQKCSAgKiBoMjY0IHBvcnRlZCBidXQgZGVhY3RpdmF0ZWQKCSAgKiBVc2VzIEdzdE1wZWdWaWRlbyBtZXRhCgoyMDEyLTEyLTIzIDAxOjU0OjUyICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5oOgoJICBtcGVndmlkZW9wYXJzZTogT25seSBhZGQgbWV0YSBpZiBkb3duc3RyZWFtIG5lZWRzIGl0CgkgIEl0J3Mgbm90IHBlcmZlY3QsIGJlY2F1c2UgaW4gdGhlIGNhc2VzIHdoZXJlIHVwc3RyZWFtIGRvZXNuJ3QKCSAgaW5pdGlhdGUgYW4gYWxsb2NhdGlvbiBxdWVyeSwgd2Ugd29uJ3Qga25vdy4KCjIwMTItMDktMjAgMTg6Mjc6MTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmg6CgkgIG1wZWd2aWRlb3BhcnNlOiBTdG9yZSBpbmZvcm1hdGlvbiBpbiBHc3RNcGVnVmlkZW8xMk1ldGEKCSAgRklYTUUgOiBPbmx5IGRvIHNvIGlmIHdlIGtub3cgZG93bnN0cmVhbSB3aWxsIG5lZWQgaXQKCjIwMTItMDktMjAgMTg6MDM6NTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9tZXRhLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvbWV0YS5oOgoJICBjb2RlY3BhcnNlcnM6IEFkZCBNcGVnIFZpZGVvIEdzdE1ldGEKCSAgVGhpcyBjYW4gYmUgdXNlZCBieSBwYXJzZXJzIHRvIHByb3ZpZGUgcHJlLXBhcnNlZCBpbmZvcm1hdGlvbiB0bwoJICBkb3duc3RyZWFtIGVsZW1lbnRzIHRoYXQgd291bGQgcmVxdWlyZSBpdCAoc28gdGhleSBjYW4gYXZvaWQgaGF2aW5nCgkgIHRvIHBhcnNlIHRoZSBiaXRzdHJlYW0gYWdhaW4pLgoKMjAxMi0xMi0yNiAxMzoxNjoyNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcjogRml4IHBpY3R1cmUgcGFja2V0IGV4dGVuc2lvbiBzaXplIGNoZWNrCgkgIEl0IGlzIGF0IGxlYXN0IDM0IGJpdCBiaWcgKDUgYnl0ZXMgd2l0aCBieXRlIHBhZGRpbmcpCgoyMDEzLTAzLTMxIDEyOjExOjQ4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uaDoKCSAgZHZiOiBNb3ZlIENBTSBoYW5kbGluZyB0byBhIHNlcGFyYXRlIEdzdFRhc2sKCSAgKiBObyBsb25nZXIgYmxvY2tzIGluIFJFQURZPT5QQVVTRUQgKGZhc3RlciBzdGFydHVwKQoJICAqIE5vIGxvbmdlciByZXF1aXJlcyBhIHBhZCBwcm9iZQoKMjAxMy0wMy0zMSAxMTo0NjoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogVXNlIGdzdF9lbGVtZW50X2dldF9jb250ZXh0KCkgd2hlcmV2ZXIgcG9zc2libGUKCjIwMTMtMDMtMzAgMTM6NDA6MjEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBXZSBvdXRwdXQgdGltZSBzZWdtZW50cwoJICBGaXhlcyAjNjkwOTQ5CgoyMDEzLTAzLTMwIDEzOjM5OjQ5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzcGFyc2U6IEVuc3VyZSBzZWdtZW50IGV2ZW50cyBhcmUgZm9yd2FyZGVkCgkgIFdlIHNraXAgdGhlbSBmb3IgdHNkZW11eCB0aG91Z2ggKHJlY3JlYXRlZCBsYXRlcikKCSAgRml4ZXMgIzY5MDk0OQoKMjAxMy0wMy0zMCAxMDoyNToyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiBwdXNoIHN0cmVhbSBzdGFydCBldmVudAoKMjAxMy0wMy0zMCAxMDo1NzowOCArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkgIG1pZGlwYXJzZXI6IGVuc3VyZSB2YXJpYWJsZSBpcyBpbml0aWFsaXplZCBhbmQgZml4IGRlYnVnIG1lc3NhZ2UgYWNjZXNzCgoyMDEzLTAzLTMwIDA5OjUyOjQ1ICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2VyOiBGaXggYSBjb21waWxlciB3YXJuaW5nIGFib3V0IHVuaW5pdGlhbGlzZWQgdmFyaWFibGUgdXNlCgoyMDEzLTAzLTI4IDE3OjQ4OjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkgIGVnbGdsZXNzaW5rOiBJbXBsZW1lbnQgR3N0Q29udGV4dCBoYW5kbGluZwoKMjAxMy0wMy0yOSAxNjoxMTo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogVXNlIGEgc2VwYXJhdGUgdGV4dHVyZSBmb3IgdGhlIGN1c3RvbSB0ZXh0dXJlcwoKMjAxMy0wMy0yOSAxNjowNTowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc3VwcG9ydCBmb3IgR3N0VmlkZW9HTFRleHR1cmVVcGxvYWRNZXRhCgoyMDEzLTAzLTI5IDEwOjMzOjEwICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJICBlZ2w6IGNoZWNrIG9uIHRoZSBwcm9wZXIgZGlzcGxheSBhbmQgaW5kZW50IHNvbWUgbGluZXMKCjIwMTMtMDMtMjggMTQ6MzY6MTYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBNYWtlIHN1cmUgdGhlIHplcm8tc2l6ZWQgYXJyYXkgaXMgYWx3YXlzIGxhc3QgaW4gdGhlIHN0cnVjdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2NjgxCgoyMDEzLTAzLTI1IDE0OjE4OjI0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHA6IFVwZGF0ZSBleGFtcGxlIHBpcGVsaW5lcwoKMjAxMy0wMy0yOCAxNzozNjowNyArMDAwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovTWFrZWZpbGUuYW06CgkqIHN5cy9ibHVlei9ibHVlei1wbHVnaW4uYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzcmMuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzcmMuaDoKCSAgYmx1ZXo6IFJlbW92ZSBhMmRwc3JjIGJpbgoJICBUaGlzIGVsZW1lbnQgaXNuJ3QgcmVhbGx5IHVzZWZ1bC4gVGhlIG9yaWdpbmFsIHBsYW4gd2FzIHRvIHVzZSB0aGlzIHRvCgkgIGV2ZW50dWFsbHkgYWxsb3cgZHluYW1pY2FsbHkgcGlja2luZyBhIGZvcm1hdCBiYXNlZCBvbiB3aGF0IHdlIGNhbgoJICBzdXBwb3J0IHdoaWxlIG5lZ290aWF0aW5nIHdpdGggdGhlIHNvdXJjZSBkZXZpY2UuIFdlIGNhbiBqdXN0IHBsdWcgaW4gYQoJICBkZWNvZGViaW4gZG93bnN0cmVhbSBhbmQgaXQnbGwgaGFuZGxlIFJUUCBkZXBheWxvYWRpbmcgYW5kIGRlY29kaW5nIG9mCgkgIHdoYXRldmVyIGZvcm1hdCB3ZSBuZWdvdGlhdGVkIHdpdGggdGhlIHNvdXJjZSBkZXZpY2UuCgoyMDEzLTAzLTE0IDE4OjA0OjU1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc3JjLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmM6CgkgIGJsdWV6OiBDb21waWxlIGZpeGVzIGZvciBhdmR0cHNyYy9hMmRwc3JjIGNvZGUgYWdhaW5zdCAxLngKCjIwMTMtMDMtMTQgMTM6MDk6MTUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L01ha2VmaWxlLmFtOgoJKiBzeXMvYmx1ZXovYmx1ZXotcGx1Z2luLmM6CgkgIGJsdWV6OiBBZGQgYXZkdHBzcmMvYTJkcHNyYyB0byBidWlsZAoKMjAxMy0wMy0xNCAxMjo1ODoxNiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggdXAgc29tZSBwcm9ibGVtcyB0aGF0IGNhbWUgaW4gd2l0aCBjaGVycnktcGljawoKMjAxMy0wMS0wOCAxMDoxOTowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5jOgoJICBibHVlejogV2Ugd29yayBpbiBUSU1FIGZvcm1hdCB3aXRoIGF2ZHRwc3JjCgoyMDEyLTEwLTI5IDE2OjQ1OjQ0ICswNTMwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCBkZXByZWFjYXRpb24gd2FybmluZ3Mgb24gZ19tdXRleF8qCgoyMDEyLTEwLTI5IDE2OjQ1OjI1ICswNTMwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzcmMuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzcmMuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc3JjLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5oOgoJICBibHVlejogRml4IGEgbnVtYmVyIG9mIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEyLTEwLTI5IDE1OjQ5OjAyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5oOgoJICBibHVlejogRml4IHNvbWUgd2FybmluZ3MgaW4gZ3N0YXZkdHB1dGlsLmMKCjIwMTItMTAtMTIgMTg6NTI6MjQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5jOgoJICBibHVlejogRml4IHR5cG8gaW4gcmVzZXR0aW5nIHRoZSBELUJ1cyBjb25uZWN0aW9uCgkgIE5vIHJlYWwgZWZmZWN0IHNpbmNlIEZBTFNFIGFuZCBOVUxMIGFyZSBib3RoIDAKCjIwMTItMTAtMTEgMTU6NDg6NTYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc3JjLmM6CgkgIGJsdWV6OiBIYW5kbGUgRU9GIGluIGF2ZHRwc3JjIGNvcnJlY3RseQoKMjAxMi0xMC0xMSAwODo1NzowMSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuYzoKCSAgYmx1ZXo6IEZpeCBhdmR0cHNyYyBnZXRjYXBzKCkgZnVuY3Rpb24KCSAgVGhpcyBpcyBub3cgYSBwcm9wZXIgc3Vic2V0IG9mIHRoZSB0ZW1wbGF0ZSBjYXBzLgoKMjAxMi0xMC0xMSAwODozODoxNiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzcmMuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzcmMuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5oOgoJICBibHVlejogQWRkIGFuIGEyZHBzcmMgYmluIGVsZW1lbnQKCSAgVGhpcyB3cmFwcyBhdmR0cHNyYyArIHJ0cHNiY2RlcGF5IGludG8gYSBzaW5nbGUgZWxlbWVudC4gd2hlbiBtb3JlCgkgIGZvcm1hdHMgYXJlIHN1cHBvcnRlZCBpbiBhdmR0cHNyYywgcGF5bG9hZGVyIHNlbGVjdGlvbiB3aWxsIG5lZWQgdG8gYmUKCSAgZG9uZSBkeW5hbWljYWxseS4KCSAgVGhpcyBjb3VsZCBhbHNvIGJlIGV4dGVuZGVkIHRvIGFjY2VwdCBhIGRldmljZSwgY29ubmVjdCB0byBpdCwgYW5kCgkgIHByb3ZpZGUgYXZkdHBzcmMgYSB0cmFuc3BvcnQgKGluc3RlYWQgb2YgcGFzc2luZyB0aHJvdWdoIGEgdHJhbnNwb3J0IGFzCgkgIGl0IGRvZXMgbm93KS4KCjIwMTItMTAtMTEgMDg6MjQ6MDYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc3JjLmM6CgkgIGJsdWV6OiBGaXggYXZkdHBzcmMgY2xhc3NpZmljYXRpb24KCjIwMTItMTAtMTAgMjE6Mzg6NDYgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5jOgoJICBibHVlejogQnVtcCB1cCBwcmlvcml0eSBmb3Igc29ja2V0cyBpbiBBVkRUUCBlbGVtZW50cwoJICBUaGlzIGlzIGJhc2VkIG9uIHRoZSBjb2RlIGluIFB1bHNlQXVkaW8uCgoyMDEyLTEwLTEwIDE5OjQ5OjMyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc3JjLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuaDoKCSAgYmx1ZXo6IEFkZCBhbiBhdmR0cHNyYyBlbGVtZW50CgkgIFNvdXJjZSBlbGVtZW50IHRoYXQgY29ubmVjdHMgdG8gYSBnaXZlbiB0cmFuc3BvcnQgYW5kIHJlYWRzIGF1ZGlvIG92ZXIKCSAgQVZEVFAuIERvZXMgbm90IHByb3ZpZGUgYSBjbG9jayBidXQgdXNlcyB0aGUgc3lzdGVtIGNsb2NrIHRvIHRpbWVzdGFtcAoJICBpbmNvbWluZyBwYWNrZXRzLiBPbmx5IFNCQyBpcyBjdXJyZW50bHkgc3VwcG9ydGVkLgoKMjAxMy0wMy0yOCAxNjo1MTo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJICBlZ2w6IEFkZCBhIGJveGVkIHR5cGUgZm9yIEdzdEVHTERpc3BsYXkKCjIwMTMtMDMtMjggMTM6MTg6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIHNiYzogYWN0dWFsbHkgZW5hYmxlIHBsdWdpbiBpZiBsaWJzYmMgaXMgYXZhaWxhYmxlCgoyMDEzLTAzLTI3IDEzOjExOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NiYy9NYWtlZmlsZS5hbToKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IHBvcnQgZW5jb2RlciB0byBHc3RBdWRpb0VuY29kZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDU4MgoKMjAxMy0wMy0yNiAxMzo1NTozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkqIGV4dC9zYmMvc2JjLXBsdWdpbi5jOgoJICBzYmM6IHBvcnQgZGVjb2RlciB0byBHc3RBdWRpb0RlY29kZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDU4MgoKMjAxMy0wMS0xNiAxMTozNjoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3NiYy9NYWtlZmlsZS5hbToKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJKiBleHQvc2JjL3NiYy1wbHVnaW4uYzoKCSAgc2JjOiBpbXBvcnQgc2JjIGRlY29kZXIvZW5jb2RlciBmcm9tIGJsdWV6IGFuZCBwb3J0IHRvIDEuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNTgyCgoyMDEzLTAzLTI3IDIyOjI0OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgTWVyZ2UgU0JDIGRlY29kZXIgYW5kIGVuY29kZXIgZnJvbSBibHVlegoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNTgyCgoyMDEzLTAzLTI2IDE2OjUwOjQyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHdhdGNoZG9nLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHdhdGNoZG9nLmg6CgkgIHdhdGNoZG9nOiBuZXcgZWxlbWVudAoKMjAxMy0wMy0yNyAwMDo1NjozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5oOgoJICBzYmM6IHJlbW92ZSBwYXJzZXIgaW4gZmF2b3VyIG9mIG5ldyBHc3RCYXNlUGFyc2UtYmFzZWQgc2JjcGFyc2UgaW4gLWdvb2QKCjIwMTMtMDEtMDggMTA6MTk6MzkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJICBzYmM6IHNiY2RlYzogbWFrZSBkZWNvZGVyIG1vcmUgcGVyZm9ybWFudAoJICBVc2UgYW4gYWRhcHRlciB0byBhY2N1bXVsYXRlIGlucHV0IGJ1ZmZlcnMuCgkgIERlY29kZSBhbGwgaW5wdXQgaW4gb25lIG91dHB1dCBidWZmZXIgd2hlbiBwb3NzaWJsZSB0byByZWR1Y2UgdGhlIGFtb3VudCBvZiBwdXNoCgkgIG9wZXJhdGlvbnMuCgoyMDEyLTEwLTMwIDE4OjQxOjU2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSAgc2JjOiBzYmNkZWM6IHNraXAgdGhlIGZyYW1lIG9uIGRlY29kaW5nIGVycm9yCgoyMDEyLTEwLTI5IDE3OjIyOjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSAgc2JjOiBzYmNkZWM6IHNldCBESVNDT05UIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgoyMDEyLTEwLTI5IDE3OjE5OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSAgc2JjOiBzYmNkZWM6IGhhbmRsZSBESVNDT05UIGFuZCB0aW1lc3RhbXBzCgkgIFJlc2V0IHN0YXRlIG9uIGRpc2NvbnQuCgkgIEludGVycG9sbGF0ZSB0aW1lc3RhbXBzLgoKMjAxMi0xMC0wMyAxMjo0NzoxNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJICBzYmM6IGF1ZGlvOiBNYWtlIHRoZSBzYmNkZWMgZWxlbWVudCBjb3B5IGJ1ZmZlciBtZXRhZGF0YQoJICBNYWtlcyBzdXJlIHdlIGRvbid0IGxvc2UgdGltZXN0YW1wcywgZXRjLgoKMjAxMi0xMC0yOSAxMjo0OTo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkgIHNiYzogZW5jOiBzYmNfZ2V0X2ZyYW1lX2R1cmF0aW9uIGlzIGluIG1pbGxpc2Vjb25kcwoKMjAxMi0xMC0yOSAxMjozNzowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkgIHNiYzogZGVjOiBjaGFpbiB1cCB0byBwYXJlbnQgYmVmb3JlIGRvd253YXJkIHN0YXRlIGNoYW5nZQoKMjAxMi0xMC0xMiAxODo1MzoxNiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJICBzYmM6IGF1ZGlvOiBGaXggYSBsZWFrIGluIHNiY2RlYwoKMjAxMi0wOS0yNiAwOTo1NDowMSArMDgwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkgIHNiYzogYXVkaW86IEluaXRpYWxpc2UgU0JDIGRhdGEgYmVmb3JlIHVzZSBpbiBzYmNwYXJzZSBlbGVtZW50CgoyMDEyLTA4LTIxIDExOjQ5OjI0IC0wNDAwICBBbmRlcnNvbiBMaXphcmRvIDxhbmRlcnNvbi5saXphcmRvQG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBGaXggdHJpdmlhbCBjb2Rpbmcgc3R5bGUgaXNzdWVzIG9uIHBvaW50ZXIgZGVjbGFyYXRpb25zIGFuZCBjYXN0aW5nCgkgIEF2b2lkIHVzaW5nIEMrKyBzdHlsZSBwb2ludGVyIGRlY2xhcmF0aW9ucyBsaWtlICJjaGFyKiBwdHIiLCBhcyBtb3N0CgkgIEJsdWVaIGNvZGUgdXNlcyAiY2hhciAqcHRyIi4KCjIwMTItMDQtMTIgMjA6MzM6MDYgKzA1MzAgIFN5YW0gU2lkaGFyZGhhbiA8cy5zeWFtQHNhbXN1bmcuY29tPgoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogYXVkaW86IEZpeCBuZXdsaW5lIGJlZm9yZSBFT0YKCjIwMTEtMDctMDIgMTI6MzI6NDAgLTAzMDAgIEx1Y2FzIERlIE1hcmNoaSA8bHVjYXMuZGVtYXJjaGlAcHJvZnVzaW9uLm1vYmk+CgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSAgc2JjOiBGaXggY29tbW9uIG1pc3NwZWxsZWQgd29yZHMKCSAgQWNjb3VudGluZyBvZiBtaXNzcGVsbGVkIHdvcmRzLCBhcyBkZXRlY3RlZCBieSBjb2Rlc3BlbGw6CgkgIGFjb3JkaW5nICAgICAgMgoJICBhbmNpbGxpYXJ5ICAgIDEKCSAgYXBwcm9waWF0ZSAgICAxCgkgIGF0cmlidXRlICAgICAgMQoJICBjYW50ICAgICAgICAgIDEKCSAgY29tbWluZyAgICAgICAyCgkgIGdyYWNlZnVsbCAgICAgMQoJICBsZW5naHQgICAgICAgIDEKCSAgbWlzcGVsbGVkICAgICAxCgkgIG9jY3VyZWQgICAgICAgMQoJICBvY2N1cmVuY2VzICAgIDEKCSAgb2N1cnJlZCAgICAgICAzCgkgIHByZWZlcmVkICAgICAgMQoJICBwcmVzZW5zZSAgICAgIDEKCSAgcmVwb25zZSAgICAgICAxCgkgIHNlcGVyYXRlICAgICAgMQoJICBzdWNjZXNmdWwgICAgIDEKCSAgc3VjY2Vzc3VsbHkgICAxCgkgIHN1Y2Vzc2Z1bGwgICAgMQoJICBzdWNlc3NmdWxseSAgIDEKCjIwMTEtMDItMTMgMTc6NTE6NDUgLTA4MDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuaDoKCSAgc2JjOiBhdWRpbzogUmVtb3ZlIHdvcmthcm91bmQgZm9yIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEwLTA1LTE5IDE2OjU5OjMwICswMjAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkgIHNiYzogQWRkIHByYWdtYSBiYXNlZCB3b3JrYXJvdW5kIGZvciBHU3RyZWFtZXIgd2FybmluZ3MKCjIwMTAtMDEtMDEgMTc6MDg6MTcgLTA4MDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5oOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogVXBkYXRlIGNvcHlyaWdodCBpbmZvcm1hdGlvbgoKMjAwOS0wNC0wMSAxMDo0NTozMCAtMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJICBzYmM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUuCgoyMDA5LTA0LTAxIDEwOjI5OjMxIC0wMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJICBzYmM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUuCgoyMDA5LTAxLTMwIDAwOjMxOjE1ICswMTAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSAgc2JjOiBGaXggc2lnbmVkL3Vuc2lnbmVkIGNvbXBhcmlzb24gaXNzdWUgd2l0aGluIEdTdHJlYW1lciBwbHVnaW4KCjIwMDktMDEtMTkgMTA6MjY6MjggKzAyMDAgIFNpYXJoZWkgU2lhbWFzaGthIDxzaWFyaGVpLnNpYW1hc2hrYUBnbWFpbC5jb20+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJICBzYmM6IFVzZSBuYXRpdmUgYnl0ZSBvcmRlciBmb3IgYXVkaW8gaW4gR1N0cmVhbWVyIGFuZCBBTFNBIHBsdWdpbnMKCSAgVGhpcyBmaXhlcyBlbmRpYW5uZXNzIGluY29uc2lzdGVuY3kgYmV0d2VlbiBkZWZhdWx0IFNCQwoJICBjb25maWd1cmF0aW9uIGFuZCBHU3RyZWFtZXIvQUxTQS4KCjIwMDktMDEtMDEgMTk6MzM6MjAgKzAxMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5oOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogVXBkYXRlIGNvcHlyaWdodCBpbmZvcm1hdGlvbgoKMjAwOC0xMi0yMyAwNToyNTo1MCArMDEwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmg6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IEZpcnN0IGF0dGVtcHQgaW4gZml4aW5nIGNvbXBpbGVyIHdhcm5pbmdzIChzdGlsbCBuZWVkcyBjbGVhbnVwKQoKMjAwOC0xMi0yMyAwNDoyMTo1NyArMDEwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkgIHNiYzogQXNzaWduIHZhcmlhYmxlcyBhZnRlciBkZWNsYXJhdGlvbnMKCjIwMDgtMTItMjAgMjE6NDI6NDkgKzAyMDAgIEpvaGFuIEhlZGJlcmcgPGpvaGFuLmhlZGJlcmdAbm9raWEuY29tPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJICBzYmM6IE1vcmUgY29kaW5nIHN0eWxlIGZpeGVzCgoyMDA4LTAyLTIwIDEzOjM3OjAwICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkgIHNiYzogRml4IHJ1bnRpbWUgd2FybmluZ3Mgb2YgZ3N0cmVhbWVyIHBsdWdpbi4KCjIwMDgtMDItMTkgMTk6NDk6MjQgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBVcGRhdGUgZ3N0cmVhbWVyIHBsdWdpbiB0byB1c2UgbmV3IHNiYyBBUEkuCgoyMDA4LTAyLTE0IDIxOjIyOjM4ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSAgc2JjOiBNYWtlIHVzZSBvZiBwYXJhbWV0ZXJzIHNlbGVjdGVkIGluIGFsc2EgcGx1Z2luIGFuZCBmaXggYXV0byBzZWxlY3Rpb24uCgoyMDA4LTAyLTAyIDAzOjM3OjA1ICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuaDoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IFVwZGF0ZSBjb3B5cmlnaHQgaW5mb3JtYXRpb24KCjIwMDgtMDItMDEgMTk6Mjg6MzcgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBBZGQgYml0cG9vbCBwcm9wZXJ0eSBhbmQgb3RoZXJzIGZpeGVzIGZvciBnc3RyZWFtZXIgcGx1Z2luLgoKMjAwOC0wMS0zMCAxNzozMDoyNyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmg6CgkgIHNiYzogRW5hYmxlIGdzdHJlYW1lciBwbHVnaW4gdG8gdXNlIGF1dG9jb25uZWN0IGZsYWcuCgoyMDA4LTAxLTMwIDE0OjIxOjQzICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJICBzYmM6IEZpeGVzIGdzdHJlYW1lciBjYXBzIGFuZCBjb2RlIGNsZWFudXAuCgoyMDA4LTAxLTI0IDE0OjI1OjI5ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSAgc2JjOiBGaXggZ3RyZWFtZXIgcGF5bG9hZGVyIHNlbmRpbmcgZnJhZ21lbnRlZCBmcmFtZXMuCgoyMDA4LTAxLTIzIDEzOjE5OjMyICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogQWRkIG1wMyBzdXBwb3J0IGZvciBnc3RyZWFtZXIgcGx1Z2luLgoKMjAwOC0wMS0yMyAxMzoxNDowMiArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmg6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBNYWtlIGEyZHBzaW5rIHRvIGFjdCBsaWtlIGEgYmluIGFuZCBzcGxpdCB0aGUgcGF5bG9hZGVyLgoKMjAwNy0xMS0yMyAxNzowMDoxMyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSAgc2JjOiBDb2RlIGNsZWFudXAuCgoyMDA3LTExLTIxIDIwOjI0OjExICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBJbnRlZ3JhdGUgbmV3IGlwYyBBUEkgaW1wbGVtZW50YXRpb24uCgoyMDA3LTExLTEzIDIwOjA0OjEyICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJICBzYmM6IEFkZCBzYmNfcmVpbml0LgoKMjAwNy0xMS0xMiAyMjoyMTo0NSArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSAgc2JjOiBGaXggYnVnIGluIHNiY2VuYyB3aGVuIGNoYW5naW5nIGVuY29kZXIgcGFyYW1ldGVycy4KCjIwMDctMTEtMTIgMTg6MTU6NTkgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkgIHNiYzogTWFrZSBzYmMgY29kZWMgdG8gd3JpdGUgZGlyZWN0bHkgaW4gYXBwbGljYXRpb24gYnVmZmVycyBhbmQgc28gYXZvaWRpbmcgbWVtY3B5cy4KCjIwMDctMTEtMDEgMTk6NDU6MDAgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IEZpeCBzYmMgbmVnb3RpYXRpb24gYW5kIGltcHJvdmVzIGJ1ZmZlciBoYW5kbGluZyBieSB1c2luZyBHc3RBZGFwdGVyLgoKMjAwNy0xMS0wMSAxMzo1Njo1MSArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSAgc2JjOiBGaXggYnVmZmVycyB0aW1lc3RhbXBzIGluIHNiY2VuYy4KCjIwMDctMTAtMjkgMTU6MDI6MjYgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IEFkZCBiaXRwb29sIGNhcGFiaWxpdHkuCgoyMDA3LTEwLTI0IDIxOjUxOjM3ICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkgIHNiYzogU29tZSBtb3JlIGNvZGluZyBzdHlsZSBjaGFuZ2VzCgoyMDA3LTEwLTI0IDIxOjM2OjI5ICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSAgc2JjOiBEb24ndCBmb3JnZXQgdG8gaW5jbHVkZSB0aGUgY29uZmlnIG9wdGlvbnMKCjIwMDctMTAtMjQgMjE6MzM6MTggKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBGaXggY29kaW5nIHN0eWxlIGlzc3VlcwoKMjAwNy0xMC0xOCAyMjo0NjoxMiArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJICBzYmM6IEZpeCBjb2Rpbmcgc3R5bGUgaXNzdWVzLgoKMjAwNy0xMC0xOCAyMTo0Nzo1MyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJICBzYmM6IEZpeGVzIHNiY3BhcnNlciBlbGVtZW50LgoKMjAwNy0xMC0xOCAyMTo0Njo0OSArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkgIHNiYzogRml4ZXMgZm9yIGdzdHNiY2VuYy4KCjIwMDctMTAtMTggMjE6NDU6MTQgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBBZGQgZ3N0c2JjdXRpbC5jIGFuZCBnc3RzYmN1dGlsLmguCgoyMDA3LTA4LTI3IDE0OjEwOjAwICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkgIHNiYzogRm9yY2UgTElUVExFX0VORElBTiBpbnN0ZWFkIG9mIEJZVEVfT1JERVIgZm9yIG5vdwoKMjAwNy0wOC0yNiAxMzo1OTowNSArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmg6CgkgIHNiYzogSW1wbGVtZW50IGZ1bGwgcGFyc2luZyBzdXBwb3J0CgoyMDA3LTA4LTI2IDEzOjEyOjQ3ICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJICBzYmM6IEFkZCBtb2RlIHByb3BlcnR5IHRvIHRoZSBlbmNvZGVyCgoyMDA3LTA4LTI1IDE5OjMyOjAzICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJICBzYmM6IEltcGxlbWVudCBmdWxsIGVuY29kaW5nIHN1cHBvcnQKCjIwMDctMDgtMjUgMTg6NTA6MjggKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkgIHNiYzogRml4IGNsYXNzIHZhcmlhYmxlIG5hbWluZwoKMjAwNy0wOC0yNSAxNzozNzowNSArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSAgc2JjOiBMaW1pdCB0aGUgc3VwcG9ydGVkIG91dHB1dCByYXRlcwoKMjAwNy0wOC0yNSAxNzowMzowMyArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSAgc2JjOiBJbXBsZW1lbnQgZnVsbCBkZWNvZGluZyBzdXBwb3J0CgoyMDA3LTA4LTIzIDE5OjEyOjIzICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJICBzYmM6IEFkZCBTQkMgZW5jb2RlciBhbmQgZGVjb2RlciBza2VsZXRvbnMgZm9yIEdTdHJlYW1lcgoKMjAxMy0wMy0yNyAwOTowODo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiBNYWtlIHN1cmUgdGhhdCBhbGwgYnVmZmVycyBpbiBvdXIgcG9vbCBjb250YWluIG91ciBvd24gbWVtb3J5CgoyMDEzLTAzLTI2IDE1OjIyOjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3dhc2FwaS9NYWtlZmlsZS5hbToKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGkuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5oOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5oOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmg6CgkgIHdhc2FwaTogSW5pdGlhbCBwb3J0IHRvIDEuMAoJICBUaGlzIHNob3VsZCByZWFsbHkgdXNlIEdzdEF1ZGlvU2luayBhbmQgR3N0QXVkaW9TcmMuCgoyMDEzLTAzLTI2IDE1OjAxOjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuYzoKCSAgd2FzYXBpOiBJbmNsdWRlIGNvbmZpZy5oIGJlZm9yZSBhbnl0aGluZyBlbHNlCgoyMDEzLTAzLTI2IDE0OjE1OjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJICBkM2R2aWRlb3Npbms6IEFkZCBzdXBwb3J0IGZvciBjcm9wIG1ldGEKCjIwMTMtMDMtMjYgMTM6MjI6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1aWxkOiB3ZSBuZWVkIGEgcmVjZW50LWVub3VnaCBnbnV0bHMgZm9yIGhscwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2NTk3CgoyMDEyLTEyLTIyIDIxOjU5OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSAgZDNkdmlkZW9zaW5rOiBJbXBsZW1lbnQgYSBidWZmZXIgcG9vbCB0aGF0IHNoYXJlcyBEM0Qgc3VyZmFjZXMgd2l0aCB1cHN0cmVhbQoKMjAxMi0xMi0yMiAxOToxMjozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiBBbGxvY2F0ZSBhIG5ldyBvZmZzY3JlZW4gc3VyZmFjZSBmb3IgZXZlcnkgYnVmZmVyCgkgIFRoaXMgaXMgYSBwcmVwYXJhdGlvbiBmb3IgaW1wbGVtZW50aW5nIGEgYnVmZmVyIHBvb2wuCgoyMDEzLTAzLTI1IDE4OjA0OjA5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IFVzZSAlMDN1IGZvciBmb3JtYXQgaW4gZ3N0X3BhZF9jcmVhdGVfc3RyZWFtX2lkX3ByaW50ZigpCgoyMDEzLTAzLTI1IDEzOjQ4OjIwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHA6IEZpeCBmaWx0ZXIgaGFuZGxpbmcgaW4gY2FwcyBuZWdvdGlhdGlvbiB0byBrZWVwIGZpbHRlciBjb250ZW50CgoyMDEzLTAzLTI1IDA5OjQ1OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYTogZml4IGJ1aWxkIGZvciBvYmpjCgkgIFRoZSBvYmotYyBhcGkgdmVyc2lvbiBvcHRpb24gaXMgcmVxdWlyZWQgdG8gZ2V0IGFwcGxlbWVkaWEgdG8KCSAgYnVpbGQgZm9yIGlvcywgb3RoZXJ3aXNlIGl0IHdvbid0IGZpbmQgc29tZSBzeW1ib2xzIGR1cmluZyBsaW5raW5nCgoyMDEzLTAzLTI1IDEwOjEwOjI4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlZDogc2V0IGJvdGggRFRTIGFuZCBQVFMKCSAgSGFuZGxlIGJvdGggZHRzIGFuZCBwdHMgb24gb3V0cHV0IGJ1ZmZlcnMuCgoyMDEzLTAzLTEwIDEyOjE3OjA1ICsxMzAwICBEb3VnbGFzIEJhZ25hbGwgPGRvdWdsYXNAcGFyYWRpc2UubmV0Lm56PgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgdHNkZW11eDogcmVtb3ZlIHVudXNlZCBjdXJyZW50X3Byb2dyYW1fbnVtYmVyIGZpZWxkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA5MzQKCjIwMTMtMDMtMjIgMTk6NDA6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBzZW5kIHNlZ21lbnQgZXZlbnQgaW4gdGltZSBmb3JtYXQgYWxzbyBpbiBwdXNoIG1vZGUKCSAgV2hlbiBjb252ZXJ0aW5nIHRoZSBpbmNvbWluZyBzZWdtZW50IGZyb20gYnl0ZSB0byB0aW1lIGZvcm1hdCwKCSAgZG9uJ3QganVzdCBjb252ZXJ0IHRoZSBzdGFydC9zdG9wL3RpbWUgdmFsdWVzLCBidXQgYWxzbyBjaGFuZ2UKCSAgdGhlIHNlZ21lbnQgZm9ybWF0IHRvIFRJTUUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYzNjEKCjIwMTMtMDMtMjIgMTU6MzA6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IGJ1aWxkIGlmIGdudXRscyBpcyBub3QgcHJlc2VudAoJICBTa2lwIGJ1aWxkIG9mIGhscyBwbHVnaW4gaWYgZ251dGxzIGhlYWRlcnMgY2FuJ3QgYmUgZm91bmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYzOTIKCjIwMTMtMDMtMjIgMTU6NDk6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuaDoKCSAgeTRtZGVjOiBVc2UgdGhlIGNvcnJlY3Qgc3RyaWRlcyBhcyB1c2VkIGJ5IHk0bSBhbmQgY29udmVydCB0byBHU3RyZWFtZXIgc3RyaWRlcyBpZiBuZWNlc3NhcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjM2MQoKMjAxMy0wMy0yMiAxNToxOTozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbHVpZHN5bnRoL01ha2VmaWxlLmFtOgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZGRlYy5jOgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZGRlYy5oOgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmM6CgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguaDoKCSAgZmx1aWRzeW50aDogcmVuYW1lIHRvIGZsdWlkZGVjCgkgIFJlbmFtZSB0aGUgZmx1aWRzeW50aCBwbHVnaW4gdG8gZmx1aWRzeW50aG1pZGkgYW5kIHRoZSBkZWNvZGVyCgkgIHRvIGZsdWlkZGVjIHRvIGF2b2lkIGNvbmZsaWN0cyB3aXRoIGJ1enp0YXJkLgoKMjAxMy0wMy0yMiAxNDo1Mjo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICB5NG1kZWM6IFVzZSB0aGUgZGVmYXVsdCBldmVudC9xdWVyeSBoYW5kbGVycyBmb3IgdGhlIGRlZmF1bHQgaGFuZGxpbmcKCSAgRXNwZWNpYWxseSBkb24ndCBmb3J3YXJkIGNhcHMgZXZlbnRzIGZyb20gdGhlIHNpbmtwYWQgdG8gdGhlIHNyY3BhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjI4MgoKMjAxMy0wMy0yMiAxNDozNzozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICB5NG1kZWM6IFByb3Blcmx5IGhhbmRsZSBzZWdtZW50IGFuZCB0aW1lIHZhbHVlcyBvZiAtMQoKMjAxMy0wMy0yMiAxNDo0ODo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGkuYzoKCSAgbWlkaTogc2V0IG1pZGkgcGFyc2VyIHJhbmsgcHJpbWFyeQoJICBOb3cgdGhhdCBpdCBzdXBwb3J0cyBzZWVraW5nIGFuZCBhbGwsIG1hcmsgaXQgcHJpbWFyeQoKMjAxMy0wMy0yMiAxMzo0OTo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJICBtaWRpcGFyc2U6IGFsd2F5cyBzZWVrIGJhY2sgdG8gYmVnaW5uaW5nCgkgIFdlIGFsd2F5cyBuZWVkIHRvIHNlZWsgYmFjayB0byB0aGUgYmVnaW5uaW5nIGJlY2F1c2Ugd2hlbiB3ZSBkbyBhIGZsdXNoaW5nIHNlZWssCgkgIHdlIG1pZ2h0IGhhdmUgbG9zdCBldmVudHMgZG93bnN0cmVhbS4KCjIwMTMtMDMtMjIgMTM6NDg6MjYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmM6CgkgIGZsdWlkc3ludGg6IGZpeCBkZWJ1ZyBvZiBzZWdtZW50IHN0cnVjdHVyZQoKMjAxMy0wMy0yMiAxMzo0ODowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguYzoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5oOgoJICBmbHVpZHN5bnRoOiBoYW5kbGUgZGlzY29udAoKMjAxMy0wMy0yMiAxMjoyNToxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuaDoKCSAgbWlkaXBhcnNlOiBpbXBsZW1lbnQgc2Vla2luZwoJICBTZWVrIGJhY2sgdG8gMCBmb3IgYmFja3dhcmQgc2Vla2luZyBhbmQgbGV0IHRoaW5ncyBydW4gYW5kIGNsaXAgZm9yIGZvcndhcmRzCgkgIHNlZWtpbmcuCgoyMDEzLTAzLTIyIDEyOjE2OjQ1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5jOgoJICBmbHVpZHN5bnRoOiByZXNldCBvbiBmbHVzaCBhbmQgc3RhdGUgY2hhbmdlCgoyMDEzLTAzLTIyIDExOjA0OjEwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5jOgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmg6CgkgIGZsdWlkc3ludGg6IGFkZCBwcm9wZXJ0aWVzCgkgIEFkZCBwcm9wZXJ0aWVzLgoJICBUcnkgdG8gZmluZCBhIGdvb2QgZGVmYXVsdCBzb3VuZGZvbnQgd2hlbiBub3Qgc3BlY2lmaWVkLgoKMjAxMy0wMy0yMiAwODo1NDo1NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguYzoKCSAgZmx1aWRzeW50aDogbG9nIG1pZGkgdGljayBldmVudAoKMjAxMy0wMy0yMiAwODo1NDozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguYzoKCSAgZmx1aWRzeW50aDogcmVkaXJlY3QgbG9nZ2luZyB0byBnc3QgbG9nZ2luZyBmdW5jdGlvbnMKCjIwMTMtMDMtMjEgMTg6MTg6MjkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSAgbWlkaXBhcnNlOiBzaW1wbGlmeSB0aGUgY2FsbGJhY2tzCgkgIFdlIG9ubHkgbmVlZCBvbmUgY2FsbGJhY2sgdG8gc2VuZCBieXRlcyBvdXQuCgoyMDEzLTAzLTIxIDE4OjE3OjQwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5jOgoJICBmbHVpZHN5bnRoOiBpbXByb3ZlIGRlYnVnCgoyMDEzLTAzLTIxIDE3OjI1OjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkgIG1pZGlwYXJzZTogY2xlYW4gdXAgdHJhY2tzCgoyMDEzLTAzLTIxIDE3OjE2OjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkqIGdzdC9taWRpL21pZGlwYXJzZS5oOgoJICBtaWRpcGFyc2U6IGRvbid0IGxlYWsgbWlkaSBkYXRhCgoyMDEzLTAzLTIxIDE3OjA1OjM2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5jOgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmg6CgkgIGZsdWlkc3ludGg6IHByb2R1Y2UgbW9yZSBhY2N1cmF0ZSB0aW1lc3RhbXBzCgoyMDEzLTAzLTIxIDE2OjA1OjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkgIG1pZGlwYXJzZTogc21hbGwgY2xlYW51cHMgaW4gZXJyb3IgcGF0aHMKCjIwMTMtMDMtMjEgMTY6MDU6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSAgbWlkaXBhcnNlOiBkdXJhdGlvbiBpcyBtYXggb2YgYWxsIHRyYWNrIGR1cmF0aW9ucwoKMjAxMy0wMy0yMSAxNjowNDozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJICBtaWRpcGFyc2U6IGZpeCBrbGFzcwoKMjAxMy0wMy0yMSAxNTo0MzoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiBJbmNsdWRlIHN0cmluZy5oIGZvciBtZW1jcHkoKQoKMjAxMy0wMy0yMSAxNTowMDoxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuaDoKCSAgbWlkaXBhcnNlOiBVcGRhdGUgZHVyYXRpb24KCSAgUmV3b3JrIHRoaW5ncyBhIGJpdCBzbyB0aGF0IHdlIGNhbiBydW4gb3ZlciB0aGUgbWlkaSBldmVudHMgYW5kIGZpcmUgY2FsbGJhY2tzCgkgIGZvciBlYWNoIG9mIHRoZW0uIFdlIGNhbiB0aGVuIHVzZSB0aGF0IGZvciBjYWxjdWxhdGluZyB0aGUgZHVyYXRpb24gYW5kIGFsc28gZm9yCgkgIGRvaW5nIHBsYXliYWNrLgoJICBPbmx5IHBhcnNlIGFzIG1hbnkgdHJhY2tzIGFzIHNwZWNpZmllZCBpbiB0aGUgaGVhZGVyLgoJICBGaXggZGVmYXVsdCB0ZW1wbzsKCSAgU2VuZCBNSURJIHRpY2sgZXZlbnRzIGV2ZXJ5IDEwbXMKCjIwMTMtMDMtMjEgMTQ6NTc6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmM6CgkgIGZsdWlkc3ludGg6IGFkZCBtb3JlIGRlYnVnCgoyMDEzLTAzLTIxIDA5OjMwOjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkgIG1pZGlwYXJzZTogaGFuZGxlIG1pZGkgaW4gUklGRgoKMjAxMy0wMy0yMSAwNzoyMTowMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJICBtaWRpcGFyc2U6IHNtYWxsIGZpeGVzCgoyMDEzLTAzLTIxIDA3OjA3OjI5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaS5jOgoJICBtaWRpOiBzZXQgcmFuayBhcyBtYXJnaW5hbAoJICBTZXQgdGhlIG1hcmsgdG8gbWFyZ2luYWwgdW50aWwgd2UgaW1wbGVtZW50IG1vcmUgZmVhdHVyZXMuCgoyMDEzLTAzLTIxIDA3OjA1OjU0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9mbHVpZHN5bnRoL01ha2VmaWxlLmFtOgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmM6CgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguaDoKCSAgZmx1aWRzeW50aDogYWRkIGZsdWlkc3ludGggbWlkaSByZW5kZXJlcgoJICBBZGQgYSBmbHVpZHN5bnRoIGVsZW1lbnQgdGhhdCBjb252ZXJ0cyBtaWRpIGV2ZW50cyBpbnRvIHJhdwoJICBmbG9hdCBzYW1wbGVzLgoKMjAxMy0wMy0yMSAwNjo1MDo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21pZGkvTWFrZWZpbGUuYW06CgkqIGdzdC9taWRpL21pZGkuYzoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkqIGdzdC9taWRpL21pZGlwYXJzZS5oOgoJICBtaWRpcGFyc2U6IGFkZCBiYXNpYyBtaWRpIHBhcnNlcgoJICBQYXJzZXMgbWlkaSBmaWxlcyBhbmQgb3V0cHV0cyBidWZmZXJzIHdpdGggbWlkaSBldmVudHMuCgoyMDEzLTAzLTIwIDE1OjI5OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pdnRjL01ha2VmaWxlLmFtOgoJICBpdnRjOiBmaXggbWFrZSBkaXN0CgoyMDEzLTAzLTIwIDE1OjI1OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgRGlzdCBobHMgYXMgd2VsbAoKMjAxMy0wMy0yMCAxNToxOToxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWN0dWFsbHkgYnVpbGQgaGxzIHBsdWdpbgoKMjAxMy0wMy0yMCAxMDo0OTowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJICBkZWNrbGlua3Npbms6IGZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEzLTAzLTE5IDE2OjM5OjAzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pdnRjL2dzdGNvbWJkZXRlY3QuYzoKCSogZ3N0L2l2dGMvZ3N0Y29tYmRldGVjdC5oOgoJKiBnc3QvaXZ0Yy9nc3RpdnRjLmM6CgkqIGdzdC9pdnRjL2dzdGl2dGMuaDoKCSAgY29tYmRldGVjdCxpdnRjOiBjb2RlIGNsZWFudXAKCjIwMTMtMDMtMTkgMTc6Mjg6MTYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC1hdWRpbzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC1zaW1wbGU6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtdGVtcGxhdGUtdmlkZW86CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC1hdWRpbzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLXNpbXBsZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLXRlbXBsYXRlLXZpZGVvOgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogcmVtb3ZlIHNpbmtwYWQvc3JjcGFkIGZpZWxkcwoJICBJbmZvcm1hdGlvbiBpcyBpbiB0aGUgYmFzZSBjbGFzcyBhbnl3YXksIHBsdXMgcGFkIGNyZWF0aW9uIHdhcwoJICBkb25lIGluY29ycmVjdGx5LgoKMjAxMy0wMy0xOSAxMjoxOToyNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXZ0Yy9nc3Rjb21iZGV0ZWN0LmM6CgkgIGNvbWJkZXRlY3Q6IG91dHB1dCBwcm9ncmVzc2l2ZSB2aWRlbwoKMjAxMy0wMy0xOCAxNjoyMjo1NSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXZ0Yy9nc3Rjb21iZGV0ZWN0LmM6CgkgIGNvbWJkZXRlY3Q6IGNvZGUgY2xlYW51cAoKMjAxMy0wMy0xMiAxNzo0Nzo1MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXZ0Yy9nc3Rjb21iZGV0ZWN0LmM6CgkgIGNvbWJkZXRlY3Q6IHN3aXRjaCB0byB6ZWJyYSBzdHJpcGluZwoKMjAxMy0wMy0wOCAxNzowMjoxNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXZ0Yy9nc3RpdnRjLmM6CgkgIGl2dGM6IGRyb3AgZWFybHkgZmllbGRzCgoyMDEzLTAyLTIwIDE1OjMyOjE1IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2l2dGMvTWFrZWZpbGUuYW06CgkqIGdzdC9pdnRjL2dzdGNvbWJkZXRlY3QuYzoKCSogZ3N0L2l2dGMvZ3N0Y29tYmRldGVjdC5oOgoJKiBnc3QvaXZ0Yy9nc3RpdnRjLmM6CgkqIGdzdC9pdnRjL2dzdGl2dGMuaDoKCSAgaXZ0YzogbmV3IGludmVyc2UgdGVsZWNpbmUgZmlsdGVyCgkgIFRoaXMgZmlsdGVyIGNvbnZlcnRzIGludGVybGFjZWQgY29udGVudCB0aGF0IHdhcyBvcmlnaW5hbGx5CgkgIHRlbGVjaW5lJ2QgZnJvbSAyNCBmcHMgKG9yIHNpbWlsYXIpIHByb2dyZXNzaXZlIGNvbnRlbnQuICBJdCB3b3JrcwoJICBhcHByb3hpbWF0ZWx5IGxpa2UgdmlkZW9yYXRlLCBidXQgd2l0aCBhd2FyZW5lc3Mgb2YgaW50ZXJsYWNpbmcuCgkgIEl0IG1lcmdlcyBuZWlnaGJvcmluZyBmaWVsZHMgaW4gdGhlIGlucHV0IGludGVybGFjZWQgc3RyZWFtIHdpdGgKCSAgdGhlIGdvYWwgb2YgbWluaW1pemluZyBjb21iaW5nIGFydGlmYWN0cywgd2hpbGUga2VlcGluZyB0aGUgb3V0cHV0CgkgIGZyYW1lcmF0ZSBjb25zdGFudC4gIElmIGl0IGNhbm5vdCBhdm9pZCBjb21iaW5nIGFydGlmYWN0cywgaXQgd2lsbAoJICByZWNvbnN0cnVjdCB0aGUgaW1hZ2UgZnJvbSBhIHNpbmdsZSBmaWVsZC4gIE5vdGUgdGhhdCB0aGlzIGZpbHRlcgoJICBkb2VzIG5vdCBhdXRvZGV0ZWN0IHRoZSBmcmFtZXJhdGUsIGJ1dCB3aWxsIGF1dG9tYXRpY2FsbHkgZml4YXRlCgkgIGF0IDI0IGZwcy4KCjIwMTMtMDMtMTkgMTQ6MzE6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSAgZWdsOiBGaXggc29tZSByZXR1cm4gdmFsdWVzIGluIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKCkKCjIwMTMtMDMtMTkgMTM6NTQ6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IGZpeCBldmVudCBhbmQgcXVlcnkgaGFuZGxlcgoJICBDYWxsIHRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGZvciB1bmtub3duIGV2ZW50cyBhbmQgcXVlcmllcy4KCSAgRml4IGV2ZW50IGxlYWsuCgoyMDEzLTAzLTE5IDEwOjQ3OjI1ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2hscy9NYWtlZmlsZS5hbToKCSogZXh0L2hscy9nc3RmcmFnbWVudC5jOgoJKiBleHQvaGxzL2dzdGZyYWdtZW50Lmg6CgkqIGV4dC9obHMvZ3N0ZnJhZ21lbnRlZC5oOgoJKiBleHQvaGxzL2dzdGZyYWdtZW50ZWRwbHVnaW4uYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGV4dC9obHMvZ3N0aGxzc2luay5jOgoJKiBleHQvaGxzL2dzdGhsc3NpbmsuaDoKCSogZXh0L2hscy9nc3RtM3U4cGxheWxpc3QuYzoKCSogZXh0L2hscy9nc3RtM3U4cGxheWxpc3QuaDoKCSogZXh0L2hscy9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGV4dC9obHMvZ3N0dXJpZG93bmxvYWRlci5oOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnQuYzoKCSogZ3N0L2hscy9nc3RmcmFnbWVudC5oOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50ZWQuaDoKCSogZ3N0L2hscy9nc3RmcmFnbWVudGVkcGx1Z2luLmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmg6CgkqIGdzdC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkqIGdzdC9obHMvZ3N0bTN1OHBsYXlsaXN0Lmg6CgkqIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuaDoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBNYWtlIHRoZSBobHMgcGx1Z2luIGRlcGVuZCBvbiBnbnV0bHMgYW5kIG1vdmUgdG8gZXh0L2hscy8KCSAgZ251dGxzIGlzIHVzZWQgdG8gaW1wbGVtZW50IEFFUyBkZWNyeXB0aW9uCgoyMDEzLTAzLTE5IDEwOjI2OjE0ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHVzZSBnbnV0bHMgaW5zdGVhZCBvZiBvcGVuc3NsCgoyMDEzLTAzLTE5IDA4OjQ5OjIxICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogc3VwcG9ydCBlbmNyeXB0ZWQgc3RyZWFtcwoKMjAxMy0wMy0xOSAxMDoxNDowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHBvcnQgd2lsZG1pZGkKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjA0MQoKMjAxMy0wMy0xOCAyMToxMjowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkgIGRlY2tsaW5rc2luazogb2J0YWluIGNsYXNzIGZyb20gb2JqZWN0CgoyMDEzLTAzLTE4IDIxOjAxOjU5ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogZml4IGludmFsaWQgZnJlZSgpIGludHJvZHVjZWQgYnkgbGFzdCBjb21taXQKCjIwMTMtMDMtMDcgMjI6MTk6MTUgKzAwMDAgIEtldmluIFRob3JuYmVycnkgPGdpbW1lYW1pbGtidHRmQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2FhYy5jOgoJICBtcGVndHNtdXg6IGZpeCBjcmVhdGlvbiBvZiBBRFRTIGhlYWRlciBmb3IgQUFDIGF1ZGlvIGluIE1QRUctVFMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTQxMgoKMjAxMy0wMy0xOCAwNzozNDoxMyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBwYXJzZSAjRVhULVgtS0VZIHRhZ3MKCjIwMTMtMDMtMTggMDc6MjI6MzYgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBmYWN0b3Igb3V0IFVSSSBqb2luaW5nIHV0aWxpdHkKCjIwMTMtMDMtMTggMDc6MDI6NTQgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBmaXggVVJJIHBhcnNpbmcgZm9yIGFic29sdXRlIGZyYWdtZW50IHBhdGhzCgoyMDEzLTAzLTE2IDIzOjMyOjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbmtzcmM6IHNldCBkaXNjb250IGZsYWcgb24gZmlyc3QgYXVkaW8gYnVmZmVyIHRvbwoKMjAxMy0wMy0xNiAyMzoyOTozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBhZ2dyZWdhdGUgYXVkaW8gYW5kIHZpZGVvIGZsb3cgcmV0dXJucwoJICBBbmQgcGF1c2UgdGFzayBpbiBzb21lIG1vcmUgY2FzZXMgd2hlcmUgd2Ugc2hvdWxkCgkgIHBhdXNlIHRoZSB0YXNrLgoKMjAxMy0wMy0xNiAyMTozOToyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGlua3NyYzogYWRkIHNlbmRfZXZlbnQgaGFuZGxlciBzbyBhcHBsaWNhdGlvbiBjYW4gaW5qZWN0IEVPUyBldmVudAoJICBUaGlzIGlzIG5lZWRlZCB0byBzaHV0IGRvd24gYSByZWNvcmRpbmcgcGlwZWxpbmUgY2xlYW5seS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDcwMAoKMjAxMy0wMy0xNiAyMTozNDo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBwYXVzZSBzdHJlYW1pbmcgdGhyZWFkIGFuZCBzZW5kIEVPUyBldmVudCBvbiBlcnJvcgoJICBJbnN0ZWFkIG9mIGp1c3QgcG9zdGluZyBhbiBFT1MgbWVzc2FnZSBhbmQgY29udGludWluZywKCSAgYWN0dWFsbHkgcGF1c2UgdGhlIHRocmVhZC4KCjIwMTMtMDMtMTYgMTM6MTM6MTQgLTA0MDAgIEplYW4tRnJhbsOnb2lzIEZvcnRpbiBUYW0gPG5la29oYXlvQGdtYWlsLmNvbT4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogaW1wcm92ZSByZWFkYWJpbGl0eSBvZiBSR0IgYW5kIFhZIHByb3BlcnR5IG5pY2tuYW1lIHN0cmluZ3MKCSAgQWxzbyBmaXggdGhlIFkgcHJvcCBuaWNrbmFtZSBzdHJpbmcgYmVpbmcgaW5jb3JyZWN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1ODg0CgoyMDEzLTAzLTE2IDEzOjA3OjI1IC0wNDAwICBKZWFuLUZyYW7Dp29pcyBGb3J0aW4gVGFtIDxuZWtvaGF5b0BnbWFpbC5jb20+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IGZpeCBuaWNrbmFtZXMgZm9yIGNvbG9yIGFuZCBwb3NpdGlvbiBwcm9wZXJ0aWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU4ODQKCjIwMTMtMDMtMTUgMjA6MjE6NDcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IE1hcmsgZGVja2xpbmsgYXMgcG9ydGVkCgoyMDEzLTAzLTE1IDAwOjI1OjQzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtdGVtcGxhdGU6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtdGVtcGxhdGUtdmlkZW86CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC10ZW1wbGF0ZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLXRlbXBsYXRlLXZpZGVvOgoJICBlbGVtZW50LW1ha2VyOiBjbGVhbiB1cCBiaXRzIGZyb20gcHJldmlvdXMgY29tbWl0CgkgIEZpbGVzIHRoYXQgd2VyZSBzdXBwb3NlZCB0byBiZSBpbiB0aGUgcHJldmlvdXMgZWxlbWVudC1tYWtlcgoJICBjb21taXQuICBUaGlzIGlzIHdoYXQgaGFwcGVucyB3aGVuIGNoZXJyeS1waWNrIGRvZXNuJ3Qgd29yay4KCjIwMTMtMDMtMTUgMTc6NDc6MjMgKzAxMDAgIFJpY28gVHpzY2hpY2hob2x6IDxyaWNvdHpAdC1vbmxpbmUuZGU+CgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSAgdG9vbHM6IEZpeCBtYWtlIGRpc3QKCSAgTWlzc2luZyBiaXRzIG9mIGI0NWExZGY1ZGVhZGIwMjlkY2JlNDUyMmYwMTE2ZDM0ZjFjZDJmMWUKCjIwMTMtMDMtMTUgMDk6Mjk6NDIgKzAxMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHA6IGZpeCBjb21waWxhdGlvbiB3YXJuaW5nIHJldHVybmluZyBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTg5NwoKMjAxMy0wMy0xNSAwOToyNzozNiArMDEwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHAuYzoKCSAgc3J0cDogdXNlIGNvbnN0YW50IEFFU18xMjhfSUNNIGluc3RlYWQgb2YgQUVTX0lDTSB0aGF0IGlzIG5vdCBmb3VuZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1ODk3CgoyMDEzLTAzLTAxIDE2OjUyOjQxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9zZWdtZW50Y2xpcC9nc3R2aWRlb3NlZ21lbnRjbGlwLmM6CgkgIHZpZGVvc2VnbWVudGNsaXA6IERvbid0IGxlYWsgYnVmZmVycyBhZnRlciBzZWdtZW50CgoyMDEzLTAzLTEyIDE3OjMyOjUxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb3NpZ25hbC5jOgoJICB2aWRlb3NpZ25hbDogYWRkIEZJWE1FIGZvciBmdXR1cmUgcmV2aXZhbAoKMjAxMy0wMy0xNCAyMzo1NzowNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9hdWRpb2RlY29kZXI6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2F1ZGlvZW5jb2RlcjoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYXVkaW9maWx0ZXI6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2F1ZGlvc2luazoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYXVkaW9zcmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2U6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VhdWRpb3Npbms6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VhdWRpb3NyYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXBhcnNlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlcnRwZGVwYXlsb2FkOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlcnRwcGF5bG9hZDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXNpbms6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VzcmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2V0cmFuc2Zvcm06CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2NkZGFiYXNlc3JjOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9lbGVtZW50OgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9nb2JqZWN0OgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9wdXNoc3JjOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLWF1ZGlvOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtYXVkaW86CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3RhZ2RlbXV4OgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy92aWRlb2RlY29kZXI6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3ZpZGVvZW5jb2RlcjoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdmlkZW9maWx0ZXI6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3ZpZGVvZmlsdGVyMjoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdmlkZW9zaW5rOgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogVXBkYXRlIHRlbXBsYXRlcyBmb3IgMS4wCgkgIFRoaXMgYXJlIChhbG1vc3QpIGNvbXBsZXRlbHkgYXV0b2dlbmVyYXRlZCBmcm9tIHRoZSBkb2N1bWVudGF0aW9uLgoKMjAxMy0wMi0wNSAxNjozNDoyMCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSAgbXhmZGVtdXg6IEFkZCBhIHNlY29uZCBNWEYgVUwgZm9yIHVuY29tcHJlc3NlZCBhdWRpbwoKMjAxMy0wMi0wNSAxNTo1ODo1MyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZmRlbXV4OiBJZ25vcmUgbWlzc2luZyBtZXRhZGF0YSBkZXNjcmlwdG9ycwoKMjAxMy0wMy0xNCAxMjowOTo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvbid0IHN0b3AgdGFza3MgaW4gcGF1c2VkCgkgIEEgbm9uLWxpdmUgZWxlbWVudCBpcyBzdXBwb3NlZCB0byBjb250aW51ZSBzdHJlYW1pbmcgaW4gdGhlIHBhdXNlZCBzdGF0ZSBzbwoJICBkb24ndCBzdG9wIHRoZSB0YXNrcyB3aGVuIGdvaW5nIHRvIHBhdXNlZC4KCSAgV2UgYWxzbyBhbHdheXMgd2FudCB0byBzdGFydCB0aGUgdXBkYXRlIHRhc2sgYWZ0ZXIgd2UgcHJlcm9sbGVkIGVub3VnaCBkYXRhLAoJICBub3Qgb25seSBpbiB0aGUgcGxheWluZyBzdGF0ZS4KCjIwMTMtMDMtMTQgMTI6MDg6MzUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBhZGQgbW9yZSBkZWJ1ZwoKMjAxMy0wMy0xMyAxMjo1MDo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIGRpZmZlcmVudCBFR0xJbWFnZSBvcmllbnRhdGlvbnMKCjIwMTMtMDMtMTMgMTE6Mjk6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuaDoKCSAgZWdsOiBBZGQgc3VwcG9ydCBmb3IgZGlmZmVyZW50IG9yaWVudGF0aW9ucyBvZiB0aGUgRUdMSW1hZ2UKCSAgVGhlIGNvbnRlbnQgb2YgdGhlIEVHTEltYWdlcyBjYW4gYmUgYXQgbGVhc3QgaW4gR1N0cmVhbWVyIG9yaWVudGF0aW9uLAoJICBtZWFuaW5nIHRvcCBsaW5lIGZpcnN0IGluIG1lbW9yeSwgb3IgT3BlbkdMIG9yaWVudGF0aW9uLCBtZWFuaW5nCgkgIGJvdHRvbSBsaW5lIGZpcnN0IGluIG1lbW9yeS4KCjIwMTMtMDMtMTMgMTE6MDk6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBSR0JBIHRvIHRoZSBjYXBzIGFnYWluCgoyMDEzLTAzLTEzIDAwOjI1OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIHRlc3RzOiBmaXggdXAgbXBlZ3RzbXV4IHVuaXQgdGVzdCBhZnRlciBjb2xsZWN0cGFkcyBjaGFuZ2UKCSAgSXQgd2FzIHBhc3NpbmcgZXhwZWN0ZWQgZmxvdyByZXR1cm5zICh3aGljaCBtaWdodCBiZSBuZWdhdGl2ZSkKCSAgaW4gdGhlIGJ1ZmZlciB0aW1lc3RhbXAgZmllbGQsIHdoaWNoIHdhcyBtYXliZSBub3QgdGhlIGJlc3QKCSAgaWRlYS4KCjIwMTMtMDMtMTEgMjE6NTU6MjggLTA2MDAgIEdyZWcgUnV0eiA8Z3JlZ0Bnc3ItdGVrLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IGZpeCBpbXByb3BlciB2aWRlbyBmcmFtZSBjbGVhciBvcGVyYXRpb24KCSAgVGhlIGN1cnJlbnQgY29kZSBpcyBtZW1zZXR0aW5nIHRoZSBHc3RWaWRlb0ZyYW1lLmRhdGEgYWRkcmVzcyB0byAwcyAod2hpY2gKCSAgY2F1c2VzIGEgc2VnZmF1bHQpLiBUaGlzIG1lbWJlciBpcyBhY3R1YWxseSBhbiBhcnJheSBvZiBkYXRhIGJ1ZmZlcnMgKG9uZSBmb3IKCSAgZWFjaCBwbGFuZSkuICBUaGlzIGZpeCBpdGVyYXRlcyBvdmVyIGVhY2ggZGF0YSBwbGFuZSB0byBjbGVhciB0aGVtIGFsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTY1NQoKMjAxMy0wMy0xMiAxOTo0Nzo1MSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvc3J0cC8uZ2l0aWdub3JlOgoJKiBleHQvc3J0cC9NYWtlZmlsZS5hbToKCSogZXh0L3NydHAvZ3N0c3J0cC5jOgoJKiBleHQvc3J0cC9nc3RzcnRwLmg6CgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5oOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuaDoKCSAgc3J0cDogQWRkIFNSVFAgcGx1Z2luIGJhc2VkIG9uIGxpYnNydHAKCSAgSW4gbGFyZ2UgcGFydCB0aGUgd29yayBvZiBHYWJyaWVsIE1pbGxhaXJlCgoyMDEzLTAzLTEyIDE5OjM2OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBNYWtlIHN1cmUgdGhlIGJ1ZmZlciBpcyByZWxlYXNlZCB0byB0aGUgcG9vbCBpZiBpdCdzIHRoZSBsYXN0IHVzZWQgb25lCgoyMDEzLTAzLTEwIDIyOjA2OjMxICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5jOgoJICBhcHBsZW1lZGlhOiBzdXBwcmVzcyB3YXJuaW5ncyBmb3IgZGVwcmVjYXRlZCBnbGliIEFQSQoKMjAxMy0wMy0xMCAyMToyMToxNyArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IFVzZSBjb3JyZWN0IHByaW50IGZvcm1hdCBzcGVjaWZpZXJzIHRvIGZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMy0wMy0wOSAwMTowNjozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIEFuZHJvaWQubWs6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mY29tbW9uLmg6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZHRtZi5jOgoJICBSZW1vdmUgRFRNRiBwbHVnaW4sIG1vdmVkIHRvIC1nb29kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc0MTYKCjIwMTMtMDMtMDkgMDA6MTc6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9mYmRldi9NYWtlZmlsZS5hbToKCSogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOgoJKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmg6CgkgIGZiZGV2OiBwb3J0IGZiZGV2c2luayB0byAxLjAKCjIwMTMtMDMtMDcgMTE6NTg6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFRoZXJlIGFyZSBvbmx5IHR3byBHTFNMIHByb2dyYW1zLCBub3QgdGhyZWUKCjIwMTMtMDMtMDcgMTE6NTA6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IGdzdF9idWZmZXJfcG9vbF9jb25maWdfZ2V0X2FsbG9jYXRvcigpIGRvZXMgKm5vdCogcmV0dXJuIGEgbmV3IHJlZmVyZW5jZSB0byB0aGUgYWxsb2NhdG9yCgkgIERpZmZlcmVudCB0byBnc3RfcXVlcnlfZ2V0X25fYWxsb2NhdGlvbl9wYXJhbXMoKSB3aGljaCBkb2VzCgoyMDEzLTAzLTA3IDAwOjAxOjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhZTA1NTU4IHRvIDA0YzdhMWUKCjIwMTMtMDMtMDYgMTc6NTM6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBhbGxvY2F0aW9uIG9mIFJHQkEgdGV4dHVyZXMKCjIwMTMtMDMtMDYgMTA6NTM6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE1ha2Ugc3VyZSB0byBzZXQgdGhlIE5PX1NIQVJFIGZsYWcgb24gdGhlIEVHTEltYWdlIG1lbW9yaWVzCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1MjAzCgoyMDEzLTAzLTA1IDEyOjQ3OjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBBbHdheXMgdXNlIGFuIFJHQkEgY29uZmlndXJhdGlvbgoKMjAxMy0wMi0yNyAxMzoxNTo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLXVuaW5zdGFsbGVkLnBjLmluOgoJICBwa2ctY29uZmlnOiBBZGQgZWdsIGxpYnJhcnkgdG8gdGhlIGdlbmVyaWMgcGtnLWNvbmZpZyBmaWxlCgoyMDEzLTAyLTI1IDEzOjQzOjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBQcm9wZXJseSBuZWdvdGlhdGUgYW4gYWxsb2NhdG9yCgoyMDEzLTAyLTI1IDEzOjMxOjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkgIGVnbDogUmVuYW1lIGdzdF9lZ2xfaW1hZ2VfbWVtb3J5X2Nhbl9tYXAoKSB0byBpc19tYXBwYWJsZSgpCgoyMDEzLTAyLTI1IDEzOjI1OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkgIGVnbDogUmVtb3ZlIGJ1ZmZlciBwb29sIG9wdGlvbgoJICBUaGlzIHNob3VsZCBiZSBkb25lIGRpZmZlcmVudGx5IHZpYSB0aGUgYWxsb2NhdG9ycyBpbiB0aGUgYWxsb2NhdGlvbiBxdWVyeS4KCjIwMTMtMDItMjIgMTM6MDc6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuaDoKCSAgZWdsOiBNYXJrIG1lbW9yeSBhcyBub3QgbWFwcGFibGUgaWYgaXQgaXNuJ3QKCjIwMTMtMDItMjIgMTI6NDg6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSAgZWdsOiBJbXBsZW1lbnQgc2hhcmluZyBvZiBtZW1vcnkKCjIwMTMtMDItMjIgMTE6MjM6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFN0b3JlIGEgcmVmZXJlbmNlIHRvIHRoZSBsYXN0X2J1ZmZlciBpZiB1c2luZyBFR0xJbWFnZXMKCjIwMTMtMDItMjIgMTA6NTg6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBjb21waWxlciB3YXJuaW5nIG9uIFJQaQoKMjAxMy0wMi0yMSAxNzo0Mzo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuaDoKCSAgZWdsZ2xlc3Npbms6IFBvcnQgdG8gbmV3IEVHTCBsaWJyYXJ5CgoyMDEzLTAyLTIxIDE0OjQwOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2VnbGdsZXMvTWFrZWZpbGUuYW06CgkgIGVnbDogTW92ZSBjb25maWd1cmUgY2hlY2tzIGFyb3VuZCBhbmQgcmUtdXNlIGZvciBlZ2xnbGVzc2luayBwbHVnaW4KCjIwMTMtMDItMjEgMTM6Mzk6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9lZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1lZ2wtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZWdsLnBjLmluOgoJICBlZ2w6IEFkZCBpbmZyYXN0cnVjdHVyZSBmb3IgRUdMSW1hZ2UgaGFuZGxpbmcKCjIwMTMtMDMtMDMgMTI6MzA6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5oOgoJICBvcGVuc2xlczogT25seSBpbmNsdWRlIDxnc3QvYXVkaW8vYXVkaW8uaD4KCjIwMTMtMDMtMDMgMTI6MzA6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkgIG1wZWd0c2RlbXV4OiBGaXggdmFyaW91cyBjb21waWxlciB3YXJuaW5ncwoKMjAxMy0wMy0wMyAxMjozMDoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IFVzZSBjb3JyZWN0IHR5cGUgc3BlY2lmaWVycyBmb3IgZm9ybWF0IHN0cmluZ3MgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEzLTAzLTAzIDEyOjI5OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBVc2UgY29ycmVjdCB0eXBlIHNwZWNpZmllcnMgZm9yIGZvcm1hdCBzdHJpbmdzIHRvIGZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMy0wMy0wMyAxMjoyOToyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IEdTVF9FUlJPUl9PQkpFQ1QoKSBwYXJhbWV0ZXJzCgoyMDEzLTAzLTAzIDEwOjU0OjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5jOgoJICBmcmVldmVyYjogRml4IGNvbXBpbGVyIHdhcm5pbmcgY2F1c2VkIGJ5IHdyb25nIGZvcm1hdCBzcGVjaWZpZXIKCjIwMTMtMDMtMDEgMTU6NTg6NDAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2htLmM6CgkgIHRlc3RzOiBBZGQgdW5pdCB0ZXN0cyBmb3Igc2htc2luay9zaG1zcmMKCjIwMTMtMDMtMDEgMDA6MTA6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jOgoJICBvcGVuY3Y6IHVzZSBwa2dkYXRhZGlyIGxvY2FsbHkgdG8gY29uc3RydWN0IHBhdGggZm9yIGN1c3RvbSBoYWFyIGNhc2NhZGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODU2NTUKCjIwMTMtMDEtMzAgMTQ6Mzc6MTggKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RoYW5kZGV0ZWN0X3Rlc3QuYzoKCSAgb3BlbmN2OiBwb3J0IGhhbmRkZXRlY3QgZWxlbWVudCB0byAxLjAgYW5kIGFkZCB0byBidWlsZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1NjU1CgoyMDEzLTAxLTI3IDE5OjA1OjI3ICswMjAwICBBbmRvbCBMaSA8YW5kb2xAYW5kb2wuaW5mbz4KCgkqIGV4dC9vcGVuY3YvZmlzdC54bWw6CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9wYWxtLnhtbDoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdGhhbmRkZXRlY3RfdGVzdC5jOgoJICBvcGVuY3Y6IGFkZCBoYW5kZGV0ZWN0IHBsdWdpbiwgaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgoJICBUaGUgaGFuZGRldGVjdCBwbHVnaW4gaXMgZm9yIGRldGVjdGluZyBoYW5kIGdlc3R1cmVzIHVzaW5nCgkgIG9wZW5jdi4KCSAgSXQgd2FzIGNyZWF0ZWQgaW4gdGhlIGNvdXJzZSBvZiB0aGUgR29vZ2xlIFN1bW1lciBvZiBDb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1NjU1CgoyMDEyLTA5LTI2IDE2OjAwOjM5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5oOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSogc3lzL3NobS9zaG1waXBlLmg6CgkgIHNobXNpbms6IEFkZCBjdXN0b20gYWxsb2NhdG9yIHRvIGFsbG93IGZvciB6ZXJvLWNvcHkgc2hhcmVkIG1lbW9yeSB1c2UKCjIwMTMtMDItMjggMTg6MTM6NDQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSAgc2htOiBEb24ndCBsZWFrIHNvY2tldCBwYXRoCgoyMDEzLTAyLTI4IDIwOjIyOjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogLmdpdGlnbm9yZToKCSAgZXhhbXBsZXM6IGlnbm9yZSBuZXcgdGVzdC11dmNoMjY0IGJpbmFyeQoKMjAxMy0wMi0yOCAyMDoxMTozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjogcmVwb3J0IGVsZW1lbnQgY3JlYXRpb24gZmFpbHVyZXMgYmV0dGVyIGFuZCBmaXggdXAgTElCUwoKMjAxMy0wMi0yOCAyMDowOToyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214Zm11eC5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbXhmLmM6CgkgIHRlc3RzOiB1cGRhdGUgc29tZSBlbGVtZW50IG5hbWVzIGZvciAxLjAKCjIwMTMtMDItMjggMjA6MDI6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBmaW5kIHVuaW5zdGFsbGVkIGdzdC1saWJhdiBwbHVnaW5zIGZvciB1bml0IHRlc3RzCgoyMDEzLTAyLTI4IDE4OjU0OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJICBkZWNrbGlua3Npbms6IHBvcnQgdG8gMS4wCgkgIENvbXBpbGVzLCBub3QgdGVzdGVkIHlldC4KCjIwMTMtMDItMjggMTg6NTM6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGlua3NyYzogYWRkIGxheW91dD1pbnRlcmxlYXZlZCB0byBhdWRpbyBjYXBzCgoyMDEyLTExLTA4IDEzOjIyOjQxIC0wODAwICBCbGFrZSBUcmVncmUgPGJsYWtlQG9ibG9uZy5jb20+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiB1c2UgT19DTE9FWEVDIHdoZXJlIGFwcHJvcHJpYXRlIGluIHNobXBpcGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDMzOQoKMjAxMy0wMi0yOCAxNjo1NTowNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgcmF3cGFyc2U6IGZpeCBjYXBzIGxlYWsKCjIwMTMtMDItMjggMTM6MjU6MDYgKzAxMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZHRtZi5jOgoJICB0ZXN0czogdXNlIHJlbGF0aXZlIGluY2x1ZGUgZm9yIG91dC1vZi10cmVlIGJ1aWxkcyBpbiBkdG1mIHRlc3QKCjIwMTMtMDItMjggMTI6MDQ6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJICBlZ2xnbGVzc2luazogZ3N0X3ZpZGVvX3NpbmtfY2VudGVyX3JlY3QoKSB0YWtlcyB0aGUgc3RydWN0cyBpdHNlbGYgaW5zdGVhZCBvZiBwb2ludGVycyBhcyBmaXJzdCBwYXJhbWV0ZXJzCgoyMDEzLTAyLTI4IDExOjI3OjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBhc3BlY3QtcmF0aW8gaXNzdWVzIGNhdXNlZCBieSBzY2FsaW5nIG9uIFJQaQoKMjAxMy0wMi0yNyAyMTowNTozOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSogc3lzL3NobS9zaG1waXBlLmg6CgkgIHNobXNpbms6IEVycm9yIG91dCBpZiBtZW1vcnkgYXJlYSBpcyBzbWFsbGVyIHRoYW4gYnVmZmVyCgoyMDEzLTAyLTI3IDIwOjU3OjU2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9zaG1hbGxvYy5jOgoJICBzaG06IE1ha2Ugc3VyZSB0byBub3QgYWxsb2NhdGUgYmxvY2tzIGxhcmdlciB0aGFuIHRoZSBzaGFyZWQgbWVtIGFyZWEKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTM1OQoKMjAxMy0wMi0yNyAxODo1Njo1MCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2R0bWYuYzoKCSAgdGVzdHM6IEFkZCB0ZXN0cyBmb3IgZHRtZnNyYwoKMjAxMy0wMi0yNyAyMzoyNzoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbmtzcmM6IHBvcnQgdG8gMS4wCgkgIENvbXBpbGVzLCBub3QgdGVzdGVkIHlldC4gQSBncmVhdCBudW1iZXIgb2Ygc3VwZXJmbHVvdXMgY3VzdG9tCgkgIHBhZCBmdW5jdGlvbnMgbWF5IGhhdmUgYmVlbiBoYXJtZWQgaW4gdGhlIG1ha2luZyBvZiB0aGlzIHBvcnQuCgoyMDEzLTAyLTI3IDE2OjE1OjI3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZHRtZi5jOgoJICB0ZXN0czogRml4IHJlZiBsZWFrIGluIGR0bWYgdGVzdAoKMjAxMy0wMi0yNyAxMzoxNDoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLnBjLmluOgoJICBwa2ctY29uZmlnOiBNYWtlIHRoZSBnZW5lcmljIHBrZy1jb25maWcgZmlsZSBtb3JlIHVzZWZ1bAoKMjAxMy0wMi0yMyAwOToxMTo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmNkZWM6IFVzZSBuZXcgR1NUX01FTU9SWV9GTEFHX0NPTlRJR1VPVVMgaW5zdGVhZCBvZiByZXF1aXJpbmcgYSBzcGVjaWZpYyBtZW1vcnkgdHlwZQoKMjAxMy0wMi0xOSAxMzowMDowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGFkZCBhbGwgc3VwcG9ydGVkIHZpZGVvIGZvcm1hdHMgdG8gdGVtcGxhdGUgY2FwcwoJICBXZSBub3cgdXNlIGdzdF92aWRlb19vdmVybGF5X2NvbXBvc2l0aW9uX2JsZW5kKCksIHNvIGNhbiBzdXBwb3J0CgkgIGFsbCB2aWRlbyBmb3JtYXRzIHN1cHBvcnRlZCBieSB0aGF0LCBub3QganVzdCBJNDIwLgoKMjAxMy0wMi0xOSAxMToyNDo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IHByb3h5IHRoZSBhbGxvY2F0aW9uIHF1ZXJ5CgkgIFBhc3MgYWxsb2NhdGlvbiBxdWVyeSBkb3duc3RyZWFtLgoKMjAxMy0wMi0xOSAxMToxNDoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGRvbid0IGZvcndhcmQgQ0FQUyBldmVudCBmcm9tIHN1YnRpdGxlIHBhZAoJICBNYXkgcmVzdWx0cyBpbiBub3QtbmVnb3RpYXRlZCBmbG93IGVycm9ycyBvdGhlcndpc2UuCgoyMDEzLTAyLTE2IDAyOjQ0OjE5ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZWF2ckBzb3VuZHJvcC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9idWZmZXJmYWN0b3J5Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL2J1ZmZlcmZhY3RvcnkubToKCSogc3lzL2FwcGxlbWVkaWEvY2VsYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWN0eC5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFjdHguaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGktaW50ZXJuYWwuaDoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW9hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvZGV2aWNlLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL210YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL210YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZGVjYmluLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGRlY2Jpbi5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRlbmNiaW4uYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZW5jYmluLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0dXRpbC5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dHV0aWwuaDoKCSAgYXBwbGVtZWRpYTogdXBkYXRlIGNvbnRhY3QgaW5mb3JtYXRpb24KCjIwMTMtMDItMTYgMDI6Mzg6MzYgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlYXZyQHNvdW5kcm9wLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5oOgoJICBhcHBsZW1lZGlhOiBmaXggZ3N0X2J1ZmZlcl9nZXRfY29yZV9tZWRpYV9tZXRhIG1hY3JvCgoyMDEzLTAyLTE2IDAyOjM3OjExICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZWF2ckBzb3VuZHJvcC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIGFwcGxlbWVkaWE6IHBvcnQgdnRlbmMgdG8gMS4wCgoyMDEzLTAyLTE2IDAyOjMxOjI4ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZWF2ckBzb3VuZHJvcC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiByZXBsYWNlIHVzYWdlIG9mIGRlcHJlY2F0ZWQgZ3N0X3BhZF9zZXRfY2FwcygpIGluIHZ0ZGVjCgoyMDEzLTAyLTE2IDAyOjI2OjUxICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZWF2ckBzb3VuZHJvcC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICBhcHBsZW1lZGlhOiBwb3J0IHZ0YXBpIHRvIHJ1biBvbiBPUyBYIDEwLjgKCjIwMTMtMDItMTUgMDg6MjA6NTkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuYzoKCSAgZnJlZXZlcmI6IHJlbW92ZSBjaGFubmVsLW1hc2sgZnJvbSBjYXBzCgkgIFRoZSBjaGFubmVsLW1hc2sgaXMgb25seSBuZWVkZWQgZm9yIGNoYW5uZWxzPjIgd2hpY2ggd2UgZG9uJ3QgZG8uCgoyMDEzLTAyLTE0IDEwOjQzOjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICB0ZXN0czogZml4IGgyNjQgY2FwcyBpbiBtcGVndHNtdXggdGVzdAoJICBOZWVkcyB0byBiZSBzdHJlYW0tZm9ybWF0PWJ5dGUtc3RyZWFtLCBub3QgZm9ybWF0PWJ5dGUtc3RyZWFtLgoKMjAxMy0wMi0xNCAxMDo0MDozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFkLmM6CgkgIHRlc3RzOiBmaXggZmFhZCB1bml0IHRlc3QgZm9yIGdzdF9jYXBzX2lzX3N1YnNldCgpIGZpeCBpbiBjb3JlCgkgIE5lZWQgdG8gc3BlY2lmeSB0aGUgc3RyZWFtLWZvcm1hdC4KCjIwMTMtMDItMTQgMDk6NDA6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuaDoKCSAgUmV2ZXJ0ICJtcGVnNHZpZGVvcGFyc2U6IHNldCAwIGR1cmF0aW9uIHdoZW4gdm9wX2NvZGVkIGlzIDAiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDMyMTlhMjYxYTVhN2I3MzQwYjYzYzgwMDEwMDA5YTczYjAzMjc1OS4KCSAgdm9wX2NvZGVkIDAgbWVhbnMgdGhhdCB0aGUgcHJldmlvdXMgZnJhbWUgc2hvdWxkIGJlIHJlcGVhdGVkLAoJICBzbyBpdCBzaG91bGQgaGF2ZSB2YWxpZCBkdXJhdGlvbiBhZnRlciBhbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMxNjkKCjIwMTMtMDItMTQgMDk6MDM6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9nc3RpbnNlcnRiaW4uaDoKCSAgaW5zZXJ0YmluOiBtYXJrIGFzIHVuc3RhYmxlIEFQSQoKMjAxMy0wMi0xNCAwOTowMjo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluL2dzdGluc2VydGJpbi5jOgoJICBpbnNlcnRiaW46IGZpeCB1cCBndGstZG9jIGNodW5rIGFuZCBhZGQgc2luY2UgbWFya2VycwoKMjAxMy0wMi0xMyAxNTowMDowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91dmNoMjY0ZGVtdXguYzoKCSAgdGVzdHM6IHBvcnQgdXZjaDI2NCB0ZXN0IHRvIDEuMAoJICBGaXhlcyAnbWFrZSBjaGVjaycgYnVpbGQuCgoyMDEzLTAyLTEzIDE1OjIwOjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSAgZWdsZ2xlc3Npbms6IENsb3NlIHRoZSBkaXNwbWFuIGRpc3BsYXkgb24gUlBpIGFmdGVyIHVzYWdlCgoyMDEzLTAyLTEzIDE1OjA5OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGb3IgUlBpLCBpbml0aWFsaXplIGJjbV9ob3N0IGluIHBsdWdpbl9pbml0KCkKCjIwMTMtMDItMTMgMTU6MDY6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBlZ2xnbGVzc2luazogQWxzbyBjaGVjayBmb3IgYWxsIHRoZSByZXF1aXJlZCBsaWJyYXJpZXMgYW5kIGhlYWRlcnMgZm9yIFJQaQoKMjAxMy0wMi0xMyAxMjo1MTo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjYzcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogVXNlIGNvbXBsZXRlIGFuZCB2YWxpZCBjYXBzIGluIHRoZSB0ZXN0cwoKMjAxMy0wMi0xMiAxODozNjoxMCArMDEwMCAgSnVsaWFuIFNjaGVlbCA8anVsaWFuQGp1c3N0LmRlPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgYmNtL1Jhc3BiZXJyeSBQaSBzdXBwb3J0LgoJICBUaGlzIGFkZHMgYSB2aWRlbyBwbGF0Zm9ybSBiYWNrZW5kIGZvciB0aGUgZGlzcG1hbnggZGlzcGxheSBtYW5hZ2VyIHVzZWQgYnkKCSAgYnJvYWRjb20gYW5kIHRoZSBSYXNwYmVycnkgUGkuCgkgIFNpZ25lZC1vZmYtYnk6IEp1bGlhbiBTY2hlZWwgPGp1bGlhbkBqdXNzdC5kZT4KCjIwMTMtMDItMTIgMTg6MTE6MzQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmM6CgkgIHBuZ3BhcnNlOiBEZWNsYXJlIHRoZSB3aWR0aC9oZWlnaHQgb3V0c2lkZSB0aGUgbG9vcAoJICBBbHNvIGluaXRpYWxpemUgdGhlbSB0byBtYWtlIGdjYyBoYXBweQoKMjAxMy0wMS0yOCAyMjo0Mjo0NCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RwbmdwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJICB2aWRlb3BhcnNlcnM6IEFkZCBwbmcgZmlsZSBwYXJzZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDYzOQoKMjAxMy0wMi0xMSAxNjozNTo0OCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgVW5yZXZlcnQ6IG1wZWd2aWRlb3BhcnNlOiBzZXQgdGltZXN0YW1wIGJhc2VkIG9uIHBpYyBvZmZzZXQKCSAgQVBJIGlzIG5vdyBpbiBiYXNlcGFyc2UgaW4gZ3N0cmVhbWVyLgoJICBUaW1lc3RhbXBzIGluIE1QRUctVFMgc3RyZWFtcyBhcmUgYmFzZWQgb24gdGhlIGxhc3QgdGltZXN0YW1wCgkgIGJlZm9yZSB0aGUgc3RhcnQgY29kZSBvZiB0aGUgcGljdHVyZS4gIEdzdEJhc2VQYXJzZSBzZXRzIHRoZQoJICB0aW1lc3RhbXAgYmFzZWQgb24gdGhlIGJlZ2lubmluZyBvZiB0aGUgc2VxdWVuY2UgaGVhZGVyLCBpZgoJICBvbmUgZXhpc3RzIGJlZm9yZSB0aGUgcGljdHVyZS4gIFRoaXMgZml4ZXMgdGhlIGNhc2Ugd2hlcmUgdGhlCgkgIHRpbWVzdGFtcCBvY2N1cnMgaW4gdGhlIE1QRUctVFMgc3RyZWFtIGJldHdlZW4gdGhlIHNlcSBoZWFkZXIKCSAgYW5kIHBpY3R1cmUgc3RhcnQgY29kZS4KCjIwMTMtMDItMDcgMTU6NDI6NTQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3lhZGlmL2dzdHlhZGlmLmM6CgkqIGdzdC95YWRpZi9nc3R5YWRpZi5oOgoJICB5YWRpZjogQWRkIG1vZGUgcHJvcGVydHkKCSAgQ29weSBtb2RlIGZyb20gZGVpbnRlcmxhY2UgZWxlbWVudC4gIElzbid0IGFjdHVhbGx5IGltcGxlbWVudGVkCgkgIGluIHlhZGlmLCBldmVyeSBmcmFtZSBpcyBkZWludGVybGFjZWQsIHNvIGVmZmVjdGl2ZWx5IG1vZGU9MS4KCjIwMTMtMDItMTIgMTE6NDc6NTAgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3lhZGlmL3ZmX3lhZGlmLmM6CgkqIGdzdC95YWRpZi95YWRpZi5jOgoJICB5YWRpZjogRml4IG5vbi14ODZfNjQgYnVpbGRzCgoyMDEzLTAyLTEyIDExOjI0OjQ0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogYWRkIHBhcnNlZD1mYWxzZSB0byBtcGVnMiBjYXBzCgoyMDEzLTAyLTEyIDEwOjM5OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbGliLWNvbXBhdC1wcml2YXRlLmg6CgkgIGdsaWItY29tcGF0LXByaXZhdGUuaDogcmVtb3ZlIG9sZCBHU3RhdGljUmVjTXV0ZXggc3R1ZmYKCSAgQnJlYWtzIHRoZSBidWlsZCB3aXRoIG5ld2VyIEdMaWJzICgidW5rbm93biB0eXBlIEdTdGF0aWNSZWNNdXRleCIpCgkgIGFuZCBpcyBub3QgbmVlZGVkIGFueSBtb3JlLgoKMjAxMy0wMi0xMiAwOTozODozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBSZXZlcnQgIm1wZWd2aWRlb3BhcnNlOiBzZXQgdGltZXN0YW1wIGJhc2VkIG9uIHBpYyBvZmZzZXQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNjM3MThkYTkxOWI2YTNkYWEwNGE2NmRhMWJlNGRiNTRlMDc3ODg5OC4KCSAgVGhlIHJlcXVpcmVkIGJhc2VwYXJzZSBBUEkgYWRkaXRpb24gaGFzIG5vdCBiZWVuIHB1c2hlZCB5ZXQsCgkgIHdoaWNoIGJyZWFrcyB0aGUgYnVpbGQuCgoyMDEzLTAyLTExIDE3OjU4OjMxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIG1wZWd2aWRlb3BhcnNlcjogaW5jcmVhc2UgbWluIHNpemUgZm9yIHBpY3R1cmUgY29kaW5nIGV4dAoJICBUaGlzIGNvdWxkIHVzZSBhZGRpdGlvbmFsIHdvcmsuICBUaGUgcGFyc2luZyBjb2RlIG92ZXJydW5zIHRoZQoJICBlbmQgb2YgYnVmZmVycyBkdXJpbmcgbm9ybWFsIG9wZXJhdGlvbiwgdHJpZ2dlcmluZyBHU1RfV0FSTklOR3MuCgoyMDEzLTAyLTExIDE3OjM5OjI0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9tZmMvZ3N0bWZjLmM6CgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSAgbWZjOiBxdWlldCBkZWJ1Z2dpbmcgd2hlbiBtZmMgZGV2aWNlIGRvZXNuJ3QgZXhpc3QKCSAgQXZvaWQgcmVnaXN0ZXJpbmcgdGhlIGVsZW1lbnQgaWYgdGhlIG1mYyBkZXZpY2UgZG9lc24ndCB3b3JrLAoJICBidXQgYWxsb3cgcGx1Z2luIGxvYWRpbmcgdG8gc3VjY2VlZC4KCjIwMTMtMDItMTEgMTY6MzU6NDggLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBzZXQgdGltZXN0YW1wIGJhc2VkIG9uIHBpYyBvZmZzZXQKCSAgVGltZXN0YW1wcyBpbiBNUEVHLVRTIHN0cmVhbXMgYXJlIGJhc2VkIG9uIHRoZSBsYXN0IHRpbWVzdGFtcAoJICBiZWZvcmUgdGhlIHN0YXJ0IGNvZGUgb2YgdGhlIHBpY3R1cmUuICBHc3RCYXNlUGFyc2Ugc2V0cyB0aGUKCSAgdGltZXN0YW1wIGJhc2VkIG9uIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHNlcXVlbmNlIGhlYWRlciwgaWYKCSAgb25lIGV4aXN0cyBiZWZvcmUgdGhlIHBpY3R1cmUuICBUaGlzIGZpeGVzIHRoZSBjYXNlIHdoZXJlIHRoZQoJICB0aW1lc3RhbXAgb2NjdXJzIGluIHRoZSBNUEVHLVRTIHN0cmVhbSBiZXR3ZWVuIHRoZSBzZXEgaGVhZGVyCgkgIGFuZCBwaWN0dXJlIHN0YXJ0IGNvZGUuCgoyMDEzLTAyLTExIDIzOjQ2OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3lhZGlmL01ha2VmaWxlLmFtOgoJICB5YWRpZjogZml4IGRpc3RjaGVjawoKMjAxMy0wMi0xMSAyMzoyOTo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIExJQ0VOU0VfcmVhZG1lOgoJKiBNYWtlZmlsZS5hbToKCSogUkVRVUlSRU1FTlRTOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3N3ZmRlYy9NYWtlZmlsZS5hbToKCSogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuaDoKCSAgc3dmZGVjOiByZW1vdmUKCSAgVGhlIHN3ZmRlYyBwcm9qZWN0IGlzIGRlYWQsIGFuZCB0aGlzIHBsdWdpbiB3YXMKCSAgbmV2ZXIgcmVhbGx5IHVzZWZ1bCBiZWNhdXNlIG9mIHRoZSB3YXkgc3dmIHdvcmtzLgoJICBSZW1vdmUgaXQgYmVmb3JlIHNvbWVvbmUgYWNjaWRlbnRhbGx5IHBvcnRzIGl0LgoKMjAxMy0wMi0xMSAyMjo1MDoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIE1ha2VmaWxlLmFtOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvLmdpdGlnbm9yZToKCSogZXh0L2NvZy9nc3Rjb2dvcmMub3JjOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkgIEFkZCBjb2cgdG8gY3J1ZnQgbGlzdCBhbmQgcmVtb3ZlIHNvbWUgbW9yZSBsZWZ0b3ZlciBmaWxlcwoKMjAxMy0wMi0xMSAyMjo0MDozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC95YWRpZi9NYWtlZmlsZS5hbToKCSAgeWFkaWY6IGZpeCBidWlsZCBpbiB1bmluc3RhbGxlZCBzZXR1cAoKMjAxMy0wMi0wMyAxNDozMjoyNyArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGdyZXlub2lzZS5ubD4KCgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvd2luZG93LmdsYWRlOgoJICB1dmNoMjY0IHRlc3Q6IFVzZSBzdHJpbmcgaW5zdGVhZCBvZiBmb3VyY2MgaW4gZ2xhZGUgY2FwcwoKMjAxMy0wMi0wMyAxNDozMTo1MCArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGdyZXlub2lzZS5ubD4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjQ6IFJlbW92ZSBjdXN0b20gcmVuZWdvdGlhdGUgZXZlbnQKCjIwMTMtMDItMDMgMTQ6MzE6MTMgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBncmV5bm9pc2Uubmw+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0OiBBZGQgaW1hZ2UvanBnIHRvIHZmc3JjIGFuZCB2aWRzcmMgY2FwcwoKMjAxMy0wMi0wMyAxNDozMDozNiArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGdyZXlub2lzZS5ubD4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkgIHV2Y2gyNjQ6IEZpeCBOVjIxIHZzIE5WMTIgdHlwbwoKMjAxMy0wMi0wMiAxNDoxNjo0MCArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGdyZXlub2lzZS5ubD4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjQ6IFBhc3MgdGhyb3VnaCB0aGUgZmlsdGVyIG9uIHRoZSBjYXBzIHF1ZXJ5CgoyMDEzLTAxLTE4IDIzOjIzOjU2ICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAZ3JleW5vaXNlLm5sPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NC5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91dmNoMjY0ZGVtdXguYzoKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC90ZXN0LXV2Y2gyNjQuYzoKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC93aW5kb3cuZ2xhZGU6CgkgIHV2Y2gyNjQ6IFJlbW92ZSB0aGUgXyBmcm9tIHRoZSBlbGVtZW50IG5hbWVzCgkgIFJlbmFtZSB1dmNoMjY0X3NyYyB0byB1dmNoMjY0c3JjIGFuZCB1dmNoMjY0X21qcGdkZW11eCB0bwoJICB1dmNoMjY0bWpwZ2RlbXV4CgoyMDEzLTAxLTE4IDIzOjE2OjMxICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAZ3JleW5vaXNlLm5sPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IE1hcmsgdXZjaDI2NCBhcyBwb3J0ZWQKCjIwMTMtMDEtMTggMjM6MTQ6MjcgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBncmV5bm9pc2Uubmw+CgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L3Rlc3QtdXZjaDI2NC5jOgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L3dpbmRvdy5nbGFkZToKCSAgdXZjaDI2NDogUG9ydCB0ZXN0IHRvIGdzdHJlYW1lciAxLjAKCjIwMTMtMDEtMTggMjI6NDk6MTkgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBncmV5bm9pc2Uubmw+CgoJKiBzeXMvdXZjaDI2NC9NYWtlZmlsZS5hbToKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NC5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0c3JjOiBQb3J0IHRvIGdzdHJlYW1lciAxLjAKCjIwMTItMDUtMDMgMjA6MzY6MjcgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSAgYmFzZWNhbWVyYWJpbnNyYzogQWRkIGF1dG8tc3RhcnQgcHJvcGVydHkgdG8gYmFzZWNhbWVyYWJpbgoKMjAxMy0wMi0xMSAxMjo1MTowNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sb2dvaW5zZXJ0LmM6CgkgIGNvZzogcmVtb3ZlIGxhc3QgcmVtbmFudHMKCjIwMTMtMDItMDcgMTU6MDk6NTEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QveWFkaWYvTWFrZWZpbGUuYW06CgkqIGdzdC95YWRpZi9nc3R5YWRpZi5jOgoJKiBnc3QveWFkaWYvZ3N0eWFkaWYuaDoKCSogZ3N0L3lhZGlmL3ZmX3lhZGlmLmM6CgkqIGdzdC95YWRpZi95YWRpZi5jOgoJKiBnc3QveWFkaWYveWFkaWZfdGVtcGxhdGUuYzoKCSAgeWFkaWY6IEFkZCBZQURJRiBkZWludGVybGFjaW5nIGZpbHRlcgoJICBDb2RlIGNvcGllZCBmcm9tIExpYmF2LCBjb21taXQgMjZlNGYwYzcwLiAgV2lsbCBldmVudHVhbGx5IGJlCgkgIG1vdmVkIHRvIC11Z2x5IGJlY2F1c2UgdW5kZXJseWluZyBjb2RlIGlzIEdQTC4KCjIwMTMtMDItMDcgMTQ6MzM6MjQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJICBmaWVsZGFuYWx5c2lzOiBBZGQgWTQyQiBhbmQgWTQ0NCBmb3JtYXRzCgoyMDEzLTAyLTA3IDExOjE1OjAxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2dzdC1hcHAtbWFrZXI6CgkqIHRvb2xzL2dzdC1wcm9qZWN0LW1ha2VyOgoJICBnc3QtYXBwLW1ha2VyL2dzdC1lbGVtZW50LW1ha2VyOiAxLjAgdXBkYXRlcwoKMjAxMy0wMi0xMSAxMjoyNTowNSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9jb2cuaDoKCSogZXh0L2NvZy9jb2dmcmFtZS5jOgoJKiBleHQvY29nL2NvZ2ZyYW1lLmg6CgkqIGV4dC9jb2cvY29ndGFibGVzLmM6CgkqIGV4dC9jb2cvY29ndXRpbHMuaDoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuaDoKCSogZXh0L2NvZy9nZW5lcmF0ZV90YWJsZXMuYzoKCSogZXh0L2NvZy9nc3RjbXMuYzoKCSogZXh0L2NvZy9nc3RjbXMuaDoKCSogZXh0L2NvZy9nc3Rjb2cuYzoKCSogZXh0L2NvZy9nc3Rjb2dkb3duc2FtcGxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5oOgoJKiBleHQvY29nL2dzdGNvZ3NjYWxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29ndXRpbHMuYzoKCSogZXh0L2NvZy9nc3Rjb2d1dGlscy5oOgoJICBjb2c6IHJlbW92ZSBjb2cgcGx1Z2luCgkgIEV2ZXJ5dGhpbmcgaGFzIGJlZW4gbWVyZ2VkIGludG8gb3RoZXIgZWxlbWVudHMuCgoyMDEzLTAyLTExIDIwOjI0OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogZml4IHRhZ2xpc3QgbGVhawoJICBEb24ndCBsZWFrIGRlbXV4ZXIgdGFnIGxpc3QuCgoyMDEzLTAyLTExIDIwOjE3OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguYzoKCSAgdGVzdHM6IGZpeCBteGZkZW11eCBwdWxsIHVuaXQgdGVzdCBoYW5naW5nIGZvcmV2ZXIKCSAgT3VyIHRlc3Qgc291cmNlIHBhZCBuZWVkcyB0byBhbnN3ZXIgU0NIRURVTElORyBxdWVyaWVzCgkgIHByb3Blcmx5IGZvciBteGZkZW11eCB0byBhY3RpdmF0ZSBpbiBwdWxsIG1vZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTE4NDMKCjIwMTMtMDItMTEgMTk6NTM6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBmaXggcHVzaCBtb2RlIHVuaXQgdGVzdCBmYWlsdXJlCgkgIEluIHRoZSBzaW5rIGV2ZW50IGhhbmRsZXIgd2UgZW5kIHVwIHNlbmRpbmcgbXVsdGlwbGUgRU9TCgkgIGV2ZW50cyBwZXIgcGFkLiBEb24ndCByZXR1cm4gRkFMU0Ugd2hlbiBzZW5kaW5nIHRoZQoJICBzZWNvbmQgRU9TIG9uIGFuIGFscmVhZHktRU9TIHBhZCBmYWlscy4gTm90IHN1cmUgaWYgdGhlcmUKCSAgd2FzIGEgcmVhc29uIGZvciBzZW5kaW5nIGEgc2Vjb25kIEVPUywgc28gbGVhdmluZyB0aGUKCSAgY29kZSBpbiB0aGVyZSBmb3Igbm93LCBidXQgYXNzdW1lIGFsbCB3ZW50IGZpbmUgaWYgdGhlcmUKCSAgYXJlIHNvdXJjZSBwYWRzLCB3aGljaCBpcyBzbGlnaHRseSBsZXNzIHdyb25nIHRoYW4gYmVmb3JlLgoJICBUaGlzIGZ1bmN0aW9uIG5lZWRzIHdvcmsuCgoyMDEzLTAyLTExIDEyOjM0OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZml4IGNvbXBpbGF0aW9uIG9mIGR0bWYgdGVzdCBpbiB1bmluc3RhbGxlZCBzZXR1cAoKMjAxMy0wMi0xMSAxMjozNDoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IGFjdHVhbGx5IGxvZyBnZW5lcmljIGRhdGFwcm90b2NvbCBzdHVmZiB0byBnZHAgY2F0ZWdvcnkKCjIwMTMtMDItMDkgMjA6MjI6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnRlc3QuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVyOiBkb24ndCB1c2UgZGVwcmVjYXRlZCBHTGliIHRocmVhZGluZyBBUEkKCjIwMTMtMDItMDkgMTk6NTM6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5oOgoJICBsaXZlYWRkZXI6IGRvbid0IHVzZSBkZXByZWNhdGVkIEdMaWIgdGhyZWFkaW5nIEFQSQoKMjAxMy0wMi0wOSAxOTo0OTowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuaDoKCSAgc2htOiBkb24ndCB1c2UgZGVwcmVjYXRlZCB0aHJlYWRpbmcgQVBJCgoyMDEzLTAyLTExIDExOjA2OjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBjbGVhciB0aGUgc3RhdGUgb2YgdGhlIGRlY29kZXIKCSAgU2V0IHRoZSBjaGFubmVscyBhbmQgcmF0ZSBiYWNrIHRvIHRoZWlyIGRlZmF1bHQgdmFsdWVzIGluIF9zdG9wIGJlY2F1c2UgdGhleQoJICBhcmUgdXNlZCB0byByZW5lZ290aWF0ZSB3aGVuIG5lZWRlZC4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI5NTAKCjIwMTMtMDItMDcgMTE6NTI6MjMgKzAxMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5oOgoJICByc3Znb3ZlcmxheTogZGVwcmVjYXRlZCBHU3RhdGljTXV0ZXggLT4gR011dGV4CgkgIEVsZW1lbnQgbmVlZHMgcG9ydGluZyB0aG91Z2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMzMjIKCjIwMTMtMDItMDkgMTg6NDY6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5jOgoJICBtZmM6IGZpeCBjb21waWxhdGlvbiB3aXRoIG5ld2VyIEdMaWIgdmVyc2lvbnMKCSAgdGhhdCBkb24ndCBpbmNsdWRlIHB0aHJlYWQuaCBhbnkgbW9yZSBmcm9tIHB1YmxpYyBoZWFkZXJzLgoJICBXZSBjb3VsZCBqdXN0IGZpeCB0aGlzIGJ5IGluY2x1ZGluZyBwdGhyZWFkLmggb3Vyc2VsdmVzLAoJICBidXQgd2UgbWF5IGp1c3QgYXMgd2VsbCB1c2UgYXRvbWljIG9wcyBmb3IgdGhpcyBhbmQKCSAgc2ltcGxpZnkgdGhlIGNvZGUgYSBsaXR0bGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMzMjIKCjIwMTMtMDItMDcgMTE6NTQ6MzggKzAxMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgbXhmZGVtdXg6IGRlcHJlY2F0ZWQgR1N0YXRpY1JXTG9jayAtPiBHUldMb2NrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMzMjIKCjIwMTMtMDItMDcgMTE6NTQ6MDYgKzAxMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmg6CgkgIGNocm9tYWhvbGQ6IGRlcHJlY2F0ZWQgR1N0YXRpY011dGV4IC0+IEdNdXRleAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMzIyCgoyMDEzLTAyLTA3IDEwOjUyOjU3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2dzdC1hcHAtbWFrZXI6CgkgIGdzdC1hcHAtbWFrZXI6IGNvbnZlcnQgdG8gMS4wCgoyMDEzLTAyLTA4IDAwOjA2OjE2ICsxMTAwICBUaW0gJ21pdGhybycgQW5zZWxsIDxtaXRocm9AbWl0aGlzLmNvbT4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdkcHBheTogZml4IGJ1ZmZlciBsZWFrIHdoZW4gbmV3IGNhcHMgYXJlIHNhbWUgYXMgb2xkIGNhcHMKCSAgVGhlIGxlYWsgb2NjdXJzIHdoZW4geW91IGdvdCBhIG1lc3NhZ2Ugd2l0aCBpZGVudGljYWwgY2FwcyB0byB0aGUgb25lcyB5b3UKCSAgYWxyZWFkeSBoYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMzMjQKCjIwMTItMTAtMDIgMTE6MDI6MzIgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGFkZCBwcm9maWxlIGVudW1zLgoJICBBZGQgYWxsIHVzZWZ1bCBwcm9maWxlcyBmcm9tIEFWQywgTVZDIGFuZCBTVkMgc3BlY2lmaWNhdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMxNDAKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMi0wNyAyMjoyNjoxNSArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUtcmVuZGVyLmM6CgkgIGR2ZHNwdTogRml4IHRoZSByZW5kZXJpbmcgb2YgUEdTIHdpbmRvd3Mgd2l0aCBsZWZ0ICE9IDAKCSAgV2hlbiByZW5kZXJpbmcgYSBQR1Mgd2luZG93IGFyZWEgd2hlcmUgdGhlIGxlZnQgZWRnZSBpcyBub3QgYXQKCSAgcGl4ZWwgMCwgdGhlIGNocm9tYSB3YXMgYmVpbmcgcmVuZGVyZWQgaW4gdGhlIHdyb25nIHBsYWNlIHNpbmNlCgkgIGNvbW1pdCA0ZGM2NDhkMzQzMGI2NzU5MmNmMTQxM2NjZWY0MTVmNzA4ODlkNzFlCgoyMDEzLTAyLTA3IDExOjMxOjEyICswMDAwICBUaW0gQW5zZWxsIDxnbm9tZSBhdCBtaXRoaXMuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVydGVzdC5jOgoJICBpbnRlcjogZml4IGxlYWtzIGluIHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzMwMAoKMjAxMy0wMi0wNyAwODo0MToyNSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ZyZWV2ZXJiL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuYzoKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmg6CgkgIGZyZWV2ZXJiOiBwb3J0IHRvIDEuMAoKMjAxMy0wMS0wOSAxMzozMTo0NyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL1JFQURNRToKCSAgYXVkaW92aXN1YWxpemVyczogYWRkIGNvbW1lbnRzIGZvciBtb25vc2NvcGUgcG9ydGluZwoKMjAxMy0wMi0wNiAxNTo0ODowNiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IGZpeCBuZWdvdGlhdGlvbiBmb3IgdHJ1ZSBpbnRlcmxhY2VkIG1vZGVzCgoyMDEzLTAyLTA2IDEyOjM1OjM2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2V0cmFuc2Zvcm06CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2dvYmplY3Q6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtc2ltcGxlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtc2ltcGxlOgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogVXBkYXRlIHNvbWV3aGF0IGZvciAxLjAKCSAgT25seSBjb252ZXJ0ZWQgYmFzZXRyYW5zZm9ybSBmb3IgdGhlIG1vbWVudC4gIEl0J3MgcHJvYmFibHkgZWFzaWVyCgkgIHRvIHdyaXRlIHRlbXBsYXRlcyBmcm9tIHNjcmF0Y2ggZnJvbSB0aGUgZG9jdW1lbnRhdGlvbi4KCjIwMTMtMDItMDUgMTE6NTY6NDYgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbXBlZzI6IGFkZCBoZWxwZXJzIHRvIGNvbnZlcnQgcXVhbnRpemF0aW9uIG1hdHJpY2VzLgoJICBBZGQgdXRpbGl0eSBmdW5jdGlvbnMgdG8gY29udmVydCBxdWFudGl6YXRpb24gbWF0cmljZXMgZnJvbSB6aWd6YWcgc2NhbgoJICBvcmRlciAoYXMgZW5jb2RlZCBpbiB0aGUgYml0c3RyZWFtKSBpbnRvIHJhc3RlciBzY2FuIG9yZGVyLiBBbHNvIHByb3ZpZGUKCSAgYW5vdGhlciBmdW5jdGlvbiB0byByZXZlcnNlIHRoZSBvcGVyYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMwMDAKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0zMSAxNjoxMzoyMiArMDgwMCAgQ29uZyBaaG9uZyA8Y29uZ3guemhvbmdAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVnMjogc3RvcmUgcXVhbnRpemF0aW9uIG1hdHJpY2VzIGluIHppZ3phZyBzY2FuIG9yZGVyLgoJICBRdWFudGl6ZXIgbWF0cmljZXMgYXJlIGVuY29kZWQgaW4gemlnemFnIHNjYW4gb3JkZXIgaW4gdGhlIGJpdHN0cmVhbSwKCSAgYnV0IHRoZXkgYXJlIHN0b3JlZCBpbiByYXN0ZXIgc2NhbiBvcmRlciB3aGVuIHRoZXkgYXJlIHBhcnNlZC4gSG93ZXZlciwKCSAgZGVmYXVsdCBtYXRyaWNlcyB3ZXJlIGFsc28gcHJlcGFyZWQgaW4gemlnemFnIHNjYW4gb3JkZXIsIGhlbmNlIHRoZQoJICBtaXNtYXRjaC4gaS5lLiB0aGUgbWF0cmljZXMgd2VyZSBwcmVzZW50ZWQgZWl0aGVyIGluIHJhc3RlciBzY2FuIG9yZGVyCgkgIGlmIHRoZXkgYXJlIGV4cGxpY2l0bHkgcHJlc2VudCBpbiB0aGUgYml0c3RyZWFtLCBvciB0aGV5IHdlcmUgcHJlc2VudGVkCgkgIGluIHppZ3phZyBzY2FuIG9yZGVyIGlmIHRoZSBkZWZhdWx0IGRlZmluaXRpb25zIHdlcmUgdG8gYmUgdXNlZCBpbnN0ZWFkLgoJICBPbmUgd2F5IHRvIHNvbHZlIHRoaXMgcHJvYmxlbSBpcyB0byBhbHdheXMgZXhwb3NlIHRoZSBxdWFudGl6YXRpb24KCSAgbWF0cmljZXMgaW4gemlnemFnIHNjYW4gb3JkZXIsIHNpbmNlIHRoaXMgaXMgdGhlIHJvbGUgb2YgdGhlIHBhcnNlciB0bwoJICBub3QgYnVpbGQgdXAgc3RvcmllcyBmcm9tIHRoZSBzb3VyY2UgYml0c3RyZWFtIGFuZCBqdXN0IHByZXNlbnQgd2hhdAoJICBpcyBpbiB0aGVyZS4KCSAgVXRpbGl0eSBmdW5jdGlvbnMgd2lsbCBiZSBwcm92aWRlZCB0byBjb252ZXJ0IHF1YW50aXphdGlvbiBtYXRyaWNlcyBpbgoJICBlaXRoZXIgc2NhbiBvcmRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzAwMAoJICBTaWduZWQtb2ZmLWJ5OiBDb25nIFpob25nIDxjb25neC56aG9uZ0BpbnRlbC5jb20+CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDItMDUgMjM6MDc6MTIgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGV4cG9zZSBWQzEgc3RyZWFtcyB3aXRoIG1pc3NpbmcgZGVzY3JpcHRvci4KCSAgRml4ZXMgcGxheWJhY2sgb2YgVkMxIHN0cmVhbXMgd2hlbiB0aGUgZGVzY3JpcHRvciBpcyBtaXNzaW5nLgoKMjAxMy0wMi0wNSAxNzozNDoyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogaGFuZGxlIEVJTlRSIGZyb20gcG9sbAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMjEyCgoyMDEwLTEyLTI3IDIzOjIxOjEwICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IEFkZCBzdXBwb3J0IGZvciBtb3JlIHRlbGVjaW5lIHBhdHRlcm5zCgoyMDExLTAxLTEwIDEwOjM2OjQzICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IEFkZCBtb3JlIHZlcmJvc2UgaGludHMgYWJvdXQgZmllbGQgcGF0dGVybnMKCjIwMTMtMDItMDQgMTg6MDc6MTcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEFkZCBkZXNjcmlwdG9ycyBmb3IgU01QVEUgMzAybSBhdWRpbwoKMjAxMy0wMi0wMiAxODo0NDoxMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBzZXBhcmF0ZSBmaWVsZHMgZm9yIGRpc3RpbmN0IGZ1bmN0aW9uYWwgdXNlcyBvZiBjb2RlY19kYXRhIGZpZWxkCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI3ODkKCjIwMTMtMDEtMzEgMTI6MzA6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkgIG9wdXNwYXk6IGZpeCB0aW1lc3RhbXBzCgkgIENvcHkgdGltZXN0YW1wcyB0byBwYXlsb2FkZWQgYnVmZmVyLgoJICBBdm9pZCBpbnB1dCBidWZmZXIgbWVtb3J5IGxlYWsuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI5MjkKCjIwMTMtMDEtMzAgMDk6MzM6NDkgKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBzdC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuLnNoOiBhbGxvdyBjYWxsaW5nIGZyb20gb3V0LW9mLXRyZWUKCSAgU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI4NTkKCjIwMTMtMDEtMjggMjA6NDI6NDkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGE5NDIyOTMgdG8gMmRlMjIxYwoKMjAxMy0wMS0yOCAxNDoxMjo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGZpeCBjcmFzaCB3aGVuIHNldHRpbmcgImNiciIgcHJvcGVydHkgd2hlbiBlbmNvZGVyIGlzIG5vdCBydW5uaW5nIHlldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNjk4CgoyMDEzLTAxLTI2IDIyOjU4OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBmaXggY29tcGlsZXIgd2FybmluZwoJICBnc3RydHBkdG1mc3JjLmM6IEluIGZ1bmN0aW9uICdnc3RfZHRtZl9zcmNfcHJlcGFyZV9tZXNzYWdlLmlzcmEuMSc6CgkgIGdzdHJ0cGR0bWZzcmMuYzo2Njk6MzogZXJyb3I6ICdzJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24KCjIwMTMtMDEtMjUgMjE6MDY6MDUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgcnRwZHRtZmRlcGF5OiBGaXggbWlzc2luZyB3b3JrIGluIGRvYwoKMjAxMy0wMS0yNCAyMTowMDowOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kdG1mLmM6CgkgIHRlc3RzOiBBZGQgdGVzdCBmb3IgcnRwZHRtZmRlcGF5IGFuZCBydHBkdG1mc3JjCgoyMDEzLTAxLTI1IDIwOjM5OjMzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBQb3N0IHRoZSBtZXNzYWdlcyBhZnRlciB0aGUgY2xvY2sgd2FpdAoJICBUaGlzIHdheSwgdGhlIG1lc3NhZ2VzIHdpbGwgYmUgY2xvc2VyIGluIHRpbWUgdG8gd2hlbiB0aGUgcGFja2V0cyBhcmUgc2VudCBvdXQKCjIwMTMtMDEtMjUgMjA6Mzc6NTMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IE9ubHkgc2V0IHRoZSBkdXJhdGlvbiB3aGVuIHN0YXJ0aW5nIHRvIHNlbmQKCSAgVGhlIGR1cmF0aW9uIGRlcGVuZHMgb24gdGhlIGNsb2NrIHJhdGUsIHdoaWNoIGNvdWxkIGNoYW5nZSBkdWUgdG8gcmVuZWdvdGlhdGlvbgoKMjAxMy0wMS0yNSAyMDozNzowOSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogcmVtb3ZlICJzc3JjIiBmcm9tIGNhcHMKCSAgc3NyYyBpcyB1aW50IGFuZCB3ZSBkb24ndCBoYXZlIGEgdWludCByYW5nZSB0eXBlCgoyMDEzLTAxLTI1IDE1OjQ0OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYnVpbGQ6IGZpeCBpbnNlcnRiaW4gYnVpbGQgaW4gdW5pbnN0YWxsZWQgc2V0dXAKCSAgTWFrZSBzdXJlIHBrZy1jb25maWcgaW4gZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi8gY2FuIGZpbmQKCSAgdGhlIHVuaW5zdGFsbGVkIGNvcmUvYmFzZSBwcm9wZXJseS4gRml4ZXMgYnVpbGQgb2YKCSAgaW5zZXJ0YmluIGluIHVuaW5zdGFsbGVkIHNldHVwIGlmIHRoZXJlIGFybid0IGFueQoJICBpbnN0YWxsZWQgZ2lyIGZpbGVzIHRvIGZhbGwgYmFjayB0by4KCjIwMTMtMDEtMjUgMTI6MjQ6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9nc3RpbnNlcnRiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbnZlcnQuYzoKCSAgaW5zZXJ0YmluLCB0ZXN0czogZml4IHByaW50ZiBmb3JtYXQgY29tcGlsZXIgd2FybmluZ3MKCjIwMTMtMDEtMjQgMTg6MTQ6MjggKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBmaXggYml0cGxhbmVzIGRlY29kaW5nIChESUZGNiBvciBOT1JNNiByZXNpZHVhbCBieXRlcykuCgkgIEZpeCBwYXJzaW5nIG9mIHJlc2lkdWFsIGJ5dGVzLiBUaGlzIGlzIGEgdHdvLXN0ZXAgcHJvY2Vzcy4gRmlyc3QsCgkgIHJlbWFpbmluZyBjb2x1bXMgb2YgZnVsbCB2ZXJ0aWNhbCByZXNvbHV0aW9uICg8aGVpZ2h0PikgbmVlZCB0byBiZQoJICBwcm9jZXNzZWQuIE5leHQsIHJlbWFpbmluZyBieXRlcyBpbiB0aGUgZmlyc3Qgcm93IGNhbiBiZSBwcm9jZXNzZWQsCgkgIHdoaWxlIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGZhY3QgdGhhdCB3ZSBtYXkgaGF2ZSBmaWxsZWQgaW4gdGhlCgkgIGZpcnN0IGNvbHVtbnMgYWxyZWFkeS4gU28sIHRoaXMgaXMgbm90IGZ1bGwgaG9yaXpvbnRhbCByZXNvbHV0aW9uLgoJICBUaGUgZm9sbG93aW5nIGZpZ3VyZSBoZWxwcyBpbiB1bmRlcnN0YW5kaW5nIHRoZSBleHBlY3RlZCBvcmRlciBvZgoJICBvcGVyYXRpb25zLCBmb3IgYSA4eDUgTUJzIGJpdHBsYW5lLgoJICA1IDUgNiA2IDYgNiA2IDYKCSAgNSA1IDEgMSAxIDIgMiAyCgkgIDUgNSAxIDEgMSAyIDIgMgoJICA1IDUgMyAzIDMgNCA0IDQKCSAgNSA1IDMgMyAzIDQgNCA0CgkgIFNvLCBhZnRlciB0aWxlcyAxIHRvIDQgYXJlIGRlY29kZWQsIHZlcnRpY2FsIHRpbGUgNSBuZWVkcyB0byBiZQoJICBwcm9jZXNzZWQgKDJ4NSBNQnMpIGFuZCB0aGVuIHRoZSBob3Jpem9udGFsIHRpbGUgNiAoNngxIE1CcykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI0NjEKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0yNCAxNzoyODoyMiArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBiaXRwbGFuZXMgZGVjb2RpbmcgKERJRkY2IG9yIE5PUk02KS4KCSAgRml4IGRlY29kaW5nIG9mIERJRkY2IG9yIE5PUk02IGJpdHBsYW5lcyB3aXRoIGFuIG9kZCBudW1iZXIgb2YgbGluZXMKCSAgKDN4MiAiaG9yaXpvbnRhbCIgdGlsZXMpLiBJbiB0aGlzIGNhc2UsIHdlIGhhdmUgdG8gc2tpcCB0aGUgZmlyc3QgbGluZQoJICBvZiBtYWNyb2Jsb2NrcyBidXQgPHdpZHRoPiBudW1iZXIgb2YgYnl0ZXMgd2FzIHVzZWQgdG8gZG8gc28sIGluc3RlYWQKCSAgb2YgdGhlIGFjdHVhbCA8c3RyaWRlPiBzaXplLgoJICBUaGlzIGZpeGVzIGRlY29kaW5nIGZvciB0aGUgdmlkZW8gc2FtcGxlIGF0dGFjaGVkIHRvOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4NTY1CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI0NjEKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMi0wMy0xNSAxNDoxMjoyMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkqIEFuZHJvaWQubWs6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9nc3RpbnNlcnRiaW4uYzoKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9nc3RpbnNlcnRiaW4uaDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1pbnNlcnRiaW4tdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItaW5zZXJ0YmluLnBjLmluOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svbGlicy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9saWJzL2luc2VydGJpbi5jOgoJICBpbnNlcnRiaW46IEFkZCBiaW4gdG8gZHluYW1pY2FsbHkgaW5zZXJ0IGVsZW1lbnRzIGluIGEgcnVubmluZyBwaXBlbGluZQoJICBUaGlzIGVsZW1lbnQgYXV0b21hdGljYWxseSBsaW5rcyBpbiBhbnkgZWxlbWVudCBhZGRlZCB1c2luZyBpdCdzCgkgIGFjdGlvbiBzaWduYWxzLiBUaGVzZSBlbGVtZW50cyBtdXN0IGhhdmUgYSBzaW5nbGUgc291cmNlIHBhZCBhbmQgYSBzaW5nbGUKCSAgc2luayBwYWQuCgoyMDEzLTAxLTIzIDE0OjQ3OjU4ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogYWRkIEFQSSB0byBwYXJzZSBzbGljZSBoZWFkZXJzLgoJICBBZGQgZ3N0X3ZjMV9wYXJzZV9zbGljZV9oZWFkZXIoKSBmdW5jdGlvbiB0byBwYXJzZSBzbGljZSBoZWFkZXJzIGFzCgkgIGRlc2NyaWJlZCBpbiA3LjEuMi4gU2xpY2UgbGF5ZXJzIGFyZSBvcHRpb25hbCBhbmQgYWxsb3dlZCBpbiBhZHZhbmNlZAoJICBwcm9maWxlIG1vZGUgb25seS4gUGljdHVyZSBoZWFkZXIsIGlmIGF2YWlsYWJsZSAoUElDX0hFQURFUl9GTEFHKSwKCSAgaXMgcGFyc2VkIGJ1dCBub3QgcmVjb3JkZWQgYmVjYXVzZSBpdCBzaGFsbCBiZSB0aGUgc2FtZSBhcyB0aGF0IHdhcwoJICBwcmV2aW91c2x5IHBhcnNlZCB3aXRoIGdzdF92YzFfcGFyc2VfZnJhbWVfaGVhZGVyKCkuCgkgIFRoaXMgZml4ZXMgU0EwMDA0OS52YzEgY29uZm9ybWFuY2UgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjM4OAoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAxLTIyIDE4OjAxOjI0ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZml4IGJpdHBsYW5lcyBkZWNvZGluZy4KCSAgRml4IGRlY29kaW5nIG9mIERJRkYyIG9yIE5PUk0yIGJpdHBsYW5lcyB3aXRoIGFuIG9kZCBudW1iZXIgb2YgbWFjcm9ibG9ja3MuCgkgIEluIHBhcnRpY3VsYXIsIGFjY291bnQgZm9yIHRoZSBmaXJzdCBiaXQgdGhhdCB3YXMgYWxyZWFkeSBwYXJzZWQgc28gdGhhdCB0bwoJICBhdm9pZCBhIGJ1ZmZlciBvdmVyZmxvdyBhZnRlciBhbGwgcGFpcnMgYXJlIHBhcnNlZC4KCSAgVGhpcyBmaXhlcyBTQTAwMDQwLnZjMSBjb25mb3JtYW5jZSB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMzEyCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDEtMjIgMTk6MzE6MDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBkaXNhYmxlIE1GQyBpZiBzb21lIHY0bDIgUElYX0ZNVCBtaXNzaW5nCgoyMDEzLTAxLTIyIDExOjQyOjQ5ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogc2ltcGxpZnkgR3N0VkMxVm9wRHF1YW50IHN0cnVjdHVyZS4KCSAgUmVuYW1lIGRxc2JlZGdlIHRvIGRxYmVkZ2UuIFRoZSBpbnRlbnQgaXMgdGhhdCB3ZSBjYW4gb25seSBoYXZlIGEgc2luZ2xlCgkgIGJvdW5kYXJ5IGVkZ2Ugc2VsZWN0b3IsIGRlcGVuZGluZyBvbiB0aGUgdmFsdWUgb2YgZHFwcm9maWxlLiBTbywgZHFiZWRnZQoJICByZXByZXNlbnRzIERRU0JFREdFIGlmIGRxcHJvZmlsZSA9PSBHU1RfVkMxX0RRUFJPRklMRV9TSU5HTEVfRURHRSwgb3IKCSAgRFFEQkVER0UgaWYgZHFwcm9maWxlID09IEdTVF9WQzFfRFFQUk9GSUxFX0RPVUJMRV9FREdFLgoJICBUaGUgZm9ybWVyIGRxYmVkZ2UgZmllbGQgaXMgbWFya2VkIGFzIHVudXNlZCBhbmQgY2FuIGJlIHJlbW92ZWQgb24gdGhlCgkgIG5leHQgZ3N0LXBsdWdpbnMtYmFkIHZlcnNpb24gdGhhdCBhbGxvd3MgQUJJIGNoYW5nZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIyNzIKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0xOCAxNDo1NTo0MCArMDEwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsdGxzc2luay5jOgoJICBjdXJsdGxzc2luazogc2V0IGNvcnJlY3QgbGV2ZWwgb2YgU1NMIGZvciB0aGUgdHJhbnNmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjAxMAoKMjAxMy0wMS0yMiAxMDo0ODozOSArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBWT1BEUVVBTlQgcGFyc2VyIGZvciBEUVVBTlQgPT0gMi4KCSAgRml4IHBhcnNpbmcgb2YgVk9QRFFVQU5UIHdoZW4gRFFVQU5UID09IDIuIEluIHBhcnRpY3VsYXIsIERRVUFOVEZSTSBpcwoJICBub3QgcHJlc2VudCBpbiB0aGUgYml0c3RyZWFtIGluIHRoaXMgY2FzZSBhbmQgaXQgc2hhbGwgYmUgZGVyaXZlZCB0bwoJICB0aGUgZGVmYXVsdCB2YWx1ZSBvZiB6ZXJvICg3LjEuMS4zMS4xKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjI3MQoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAxLTIyIDEwOjM4OjIwICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZml4IGNhbGN1bGF0aW9uIG9mIEFMVFBRVUFOVC4KCSAgRml4IGNhbGN1bGF0aW9uIG9mIEFMVFBRVUFOVCB3aGVuIERRVUFOVCA9PSAxLiBQUURJRkYgYWx0ZXJzIEFMVFBRVUFOVAoJICBpbiBhbnkgY2FzZS4gU2VlIDcuMS4xLjMxLjYuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIyNzAKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0yMiAxMDoxMTozNCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBwYXJzZXIgZm9yIERRUFJPRklMRSBpbiBWT1BEUVVBTlQuCgkgIEZpeCBwYXJzZV92b3BkcXVhbnQoKSB0byBjb3JyZWN0bHkgcGFyc2UgRFFQUk9GSUxFLCB3aGljaCBpcyAyIGJpdHMKCSAgaW5zdGVhZCBvZiBhIHNpbmdsZSBiaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIyNjcKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0wNiAxODo1NDo1MiArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogYWRkIGluZmVycmVkIHZhbHVlIGZvciBzbGljZV9iZXRhX29mZnNldF9kaXYyLgoJICBUaGUgc3RhbmRhcmQgc3BlY2lmaWVzIHRoYXQgd2hlbiBzbGljZV9iZXRhX29mZnNldF9kaXYyIGlzIG5vdCBwcmVzZW50CgkgIGluIHRoZSBzbGljZSBoZWFkZXIsIHRoZW4gdGhlIHZhbHVlIG9mIHNsaWNlX2JldGFfb2Zmc2V0X2RpdjIgc2hhbGwgYmUKCSAgaW5mZXJyZWQgdG8gYmUgZXF1YWwgdG8gMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjI2NQoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAxLTE3IDE5OjAyOjQ4ICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Fzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IHJlZW5hYmxlIHVuaXQgdGVzdHMgYW5kIHVwIHJhbmsgdG8gcHJpbWFyeSBhZ2FpbgoKMjAxMy0wMS0xOCAxNjoxNDowMyArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IHVzZSBvdmVybGF5IGNvbXBvc2l0aW9uIHRvIGJsaXQgc3VidGl0bGVzIG9uIHZpZGVvIGZyYW1lcwoJICBSZS11c2VzIGV4aXN0aW5nIGJsaXR0aW5nIGNvZGUgYW5kIGFsc28gbWVhbnMgd2UgY2FuIHN1cHBvcnQKCSAgYSBsb3QgbW9yZSB2aWRlbyBmb3JtYXRzIG91dCBvZiB0aGUgYm94LCBoZW5jZSBhdm9pZCB1bm5lY2Vzc2FyeQoJICBwaXhlbCBmb3JtYXQgb3IgY29sb3VyIHNwYWNlIGNvbnZlcnNpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMDEyCgoyMDEzLTAxLTE3IDE4OjQ4OjEyICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogcmVuZGVyIG92ZXJsYXkgY29tcG9zaXRpb24gaWYgc3VwcG9ydGVkIGRvd25zdHJlYW0KCSAgVGhpcyBhbGxvd3MgcmVuZGVyaW5nIEFTUyBzdWJ0aXRsZXMgb24gdG9wIG9mIHZpZGVvIHdoZW4KCSAgdXNpbmcgaGFyZHdhcmUtYWNjZWxlcmF0ZWQgdmlkZW8gZGVjb2RlcnMgYmFzZWQgb24gZS5nLgoJICBWQS1BUEkgb3IgVkRQQVUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzgzODkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjAxMgoKMjAxMy0wMS0yMSAxMDozNTo0OSArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IGFkZCB3YWl0LXRleHQgcHJvcGVydHkKCSAgVGhpcyBpcyB0aGUgc2FtZSBwcm9wZXJ0eSBhcyBpbiB0aGUgcGFuZ28gZWxlbWVudCwgdG8gYWxsb3cgd2FpdGluZyBmb3IKCSAgdGV4dCBvbiB0aGUgdGV4dCBwYWQgYmVmb3JlIHJlbmRlcmluZyB0aGUgdmlkZW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIwMTIKCjIwMTMtMDEtMTggMTU6MjU6NDggKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBmaXggc29tZSBzdWJ0aXRsZXMgYmVpbmcgaWdub3JlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMDEyCgoyMDEzLTAxLTE3IDE4OjMzOjExICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogcmVmYWN0b3IgY29kZSB0byBhdm9pZCBkdXBsaWNhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMDEyCgoyMDEzLTAxLTE3IDE4OjI2OjA4ICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogcHJveHkgYWxsb2NhdGlvbnMgb24gdmlkZW8gcGFkCgkgIEZvcndhcmQgYWxsb2NhdGlvbiBxdWVyaWVzIG9uIHZpZGVvIHNpbmsgcGFkIGluc3RlYWQKCSAgb2YgZGlzY2FyZGluZyB0aGVtLgoJICBUaGlzIGFsbG93cyB0aGUgdXBzdHJlYW0gZWxlbWVudHMgdG8gdXNlIHRoZSBhbGxvY2F0aW9uCgkgIHBhcmFtZXRlcnMgb3IgcG9vbHMgZnJvbSB0aGUgZG93bnN0cmVhbSBlbGVtZW50cyBsaWtlCgkgIHZpZGVvc2luay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjAxMgoKMjAxMy0wMS0yMCAxNzo0MzoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IGNsZWFuIHVwIEdWYWx1ZSBoYW5kbGluZyBhIGxpdHRsZQoJICBBbGxvY2F0ZSBHVmFsdWVzIG9uIHRoZSBzdGFjaywgYW5kIHVuc2V0L2ZyZWUgdGhlbSBwcm9wZXJseSwgZml4aW5nCgkgIGEgZmV3IGxlYWtzIGluIHRoZSBwcm9jZXNzLiBBbHNvIHVzZSBnc3Rfc3RydWN0dXJlX3Rha2VfdmFsdWUoKQoJICB3aGVyZSBhcHByb3ByaWF0ZSB0byBhdm9pZCB1bm5lY2Vzc2FyeSBsaXN0IGNvcGllcy4KCjIwMTMtMDEtMjAgMTc6MTc6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogdXBkYXRlIFNCQyBjYXBzIGZvciByZW5hbWVkIGZpZWxkcwoJICBtb2RlIC0+IGNoYW5uZWwtbW9kZQoJICBhbGxvY2F0aW9uIC0+IGFsbG9jYXRpb24tbWV0aG9kCgoyMDEzLTAxLTE3IDE5OjI5OjMxIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogSW5pdGlhbGl6ZSBzaG1fYXJlYV9idWYgdG8gaW52YWxpZCB2YWx1ZQoKMjAxMy0wMS0wNyAxMzozMjowNiArMDEwMCAgUm9sYW5kIEVsZWsgPHJlbGVrLmYyQGdtYWlsLmNvbT4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IGFwcGx5IHNobSBhcmVhIHBlcm1pc3Npb25zIHRvIHNobXBpcGUgY29udHJvbCBzb2NrZXQKCSAgQXBwbHkgc2hhcmVkIG1lbW9yeSBhcmVhIHBlcm1pc3Npb25zIHRvIHRoZSBjb250cm9sIHNvY2tldCAobW9yZQoJICBwcmVjaXNlbHksIHRoZSBwYXRoIGl0IGlzIGJvdW5kIHRvKSBhcyB3ZWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyNzc1CgoyMDEzLTAxLTE2IDE0OjQwOjExIC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NDogRGVmaW5lIExJQlVTQl9DTEFTU19WSURFTyBpZiB1c2luZyBhbiBvbGQgdmVyc2lvbiBvZiBsaWJ1c2IKCjIwMTMtMDEtMTYgMTQ6NDg6NDYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0OiBQcmV2ZW50IHRlbXBvcmFyeSBlbGVtZW50cyBmcm9tIGdvaW5nIHRvIHBsYXlpbmcKCjIwMTMtMDEtMTYgMTQ6NDI6MzggLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0OiBkbyBub3QgZG91YmxlLXVucmVmIGlmIHRyYW5zZm9ybV9jYXBzIGZhaWxzCgoyMDEzLTAxLTE2IDE0OjQxOjA4IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NDogQWRkIGEgZmFrZXNpbmsgdG8gdGhlIHRyYW5zZm9ybV9jYXBzIFNvbWUgdmVyc2lvbiBvZiBiYXNldHJhbnNmb3JtIHdpbGwgcmV0dXJuIHRoZSB0ZW1wbGF0ZSBjYXBzIGlmIHRoZSBzcmMgcGFkIGlzIG5vdCBsaW5rZWQsIHNvIHRoZSBjYXBzZmlsdGVyIHdpbGwgcmV0dXJuIEFOWS4gTGlua2luZyBpdCB0byBmYWtlc2luayBhbGxvd3MgdXMgdG8gcmV0dXJuIHRoZSByaWdodCBjYXBzIGluIHRoZSBjYXBzZmlsdGVyIGFuZCBoYXZlIHRoZW0gdHJhbnNmb3JtZWQgYnkgdGhlIGNvbG9yc3BhY2UgY29udmVydGVyLgoKMjAxMy0wMS0xNSAxNTowMjozNyArMDEwMCAgTWFydGluIFBpdHQgPG1hcnRpbnBpdHRAZ25vbWUub3JnPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiB1c2UgXzFfMCB2YXJpYW50cyBmb3IgdGhlIHZhcmlvdXMgcmVnaXN0cnkgdmFyaWFibGVzCgkgIFRoZXNlIG92ZXJyaWRlIHRoZSB2YXJpYW50cyB3aXRob3V0IHZlcnNpb24gc3VmZml4LiBNYWtlcyAnbWFrZSBjaGVjaycgd29yawoJICBwcm9wZXJseSBpbiBlbnZpcm9ubWVudHMgdGhhdCBzZXQgdGhlIHN1ZmZpeGVkIHZhcmlhbnQgZm9yIDEuMCwgc3VjaCBhcwoJICBqaGJ1aWxkLgoKMjAxMy0wMS0xMiAxMzoxNTowMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogemVyby1pbml0aWFsaXplIFNQUyBWVUkgcGFyYW1ldGVycwoJICAuLi4gc28gYWxsICdwcmVzZW50JyBmbGFncyBpbmRpY2F0ZSBubyBwcmVzZW5jZSBvZiBvcHRpb25hbCBwYXJ0cwoJICBpbiBjYXNlIFZVSSBwYXJhbWV0ZXJzIGVuZCB1cCBub3QgYmVpbmcgcGFyc2VkLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxODE4CgoyMDEzLTAxLTE1IDE1OjA1OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYTcyZmFlYSB0byBhOTQyMjkzCgoyMDEzLTAxLTEyIDE4OjEwOjM1ICswMTAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDx1cmFldXNAbGludXhyaXNpbi5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgQWRkIHR3byBsYXRlc3QgcGx1Z2lucyB0byBzcGVjIGZpbGUKCjIwMTMtMDEtMDkgMTk6NTk6MTYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9zcGFuZHNwL01ha2VmaWxlLmFtOgoJKiBleHQvc3BhbmRzcC9nc3RkdG1mZGV0ZWN0LmM6CgkqIGV4dC9zcGFuZHNwL2dzdGR0bWZkZXRlY3QuaDoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbmRzcC5jOgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuaDoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuYzoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuaDoKCSAgZHRtZi9zcGFuZHNwOiBNb3ZlIGR0bWZkZXRlY3QgdG8gdXNlIGxpYnNwYW5kc3AKCSAgUmVtb3ZlIG91ciBjb3B5IG9mIHRoZSB0b25lX2RldGVjdC5jIGZpbGUgYW5kIHVzZSB0aGUgb3JpZ2luYWwKCSAgZnJvbSBsaWJzcGFuZHNwLiBBbHNvIG1vdmUgdGhlIGVsZW1lbnQgdG8gdGhlIHNwYW5kc3AgcGx1Z2luLgoKMjAxMy0wMS0xMCAwMDozMToyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9ibHVlei9hMmRwLWNvZGVjcy5oOgoJICBibHVlejogdXNlIEdMaWIgZGVmaW5lcyB0byBjaGVjayBmb3IgYnl0ZSBvcmRlcgoKMjAxMy0wMS0wOSAxODoxMDozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2JsdWV6L01ha2VmaWxlLmFtOgoJKiBzeXMvYmx1ZXovYmx1ZXotcGx1Z2luLmM6CgkgIGJsdWV6OiBhZGQgbmV3IHBsdWdpbiB0byBidWlsZCBzeXN0ZW0sIGJ1dCBkaXNhYmxlIGZvciBub3cKCSAgRGlzYWJsZSB1bnRpbCBpdCBoYXMgYmVlbiB0ZXN0ZWQgYW5kIHdvcmtzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNTgyCgoyMDEzLTAxLTA5IDE4OjAyOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBtYWtlIGJsdWV6IGVsZW1lbnRzIGNvbXBpbGUgd2l0aCAxLjAKCSAgQnVpbGRzLCBidXQgdmVyeSBsaWtlbHkgZG9lc24ndCB3b3JrIHlldCBhdCBhbGwuIFNvbWUKCSAgdGhpbmdzIGFyZSBzdGlsbCBjb21tZW50ZWQgb3V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNTgyCgoyMDEyLTEwLTA5IDIwOjM1OjQ1ICswOTAwICBDaGFuLXllb2wgUGFyayA8Y2hhbnllb2wucGFya0BzYW1zdW5nLmNvbT4KCgkqIHN5cy9ibHVlei9hMmRwLWNvZGVjcy5oOgoJICBibHVlejogYXZpbmZvOiBSZXBsYWNlIGRlZmluaXRpb25zIHdpdGggYTJkcC1jb2RlY3MuaCdzCgoyMDEyLTEwLTA5IDIwOjM1OjQ0ICswOTAwICBDaGFuLXllb2wgUGFyayA8Y2hhbnllb2wucGFya0BzYW1zdW5nLmNvbT4KCgkqIHN5cy9ibHVlei9hMmRwLWNvZGVjcy5oOgoJICBibHVlejogYXVkaW86IEFkZCBjaGVjayBmb3IgdmVuZG9yIHNwZWNpZmljIEEyRFAgY29kZWMKCSAgVGhpcyBwYXRjaCBhZGRzIGNoZWNrcyh2ZW5kb3IgSUQsIHZlbmRvciBzcGVjaWZpYyBjb2RlYyBJRCkgdG8gbWFrZSBzdXJlIG9mCgkgIHZlbmRvciBzcGVjaWZpYyBBMkRQIGNvZGVjIHNlbGVjdGlvbi4KCjIwMTItMDktMTQgMjE6NDA6MTAgKzA1MzAgIFN5YW0gU2lkaGFyZGhhbiA8cy5zeWFtQHNhbXN1bmcuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogZ3N0YXZkdHBzaW5rOiBGcmVlIHRoZSBELUJ1cyBlcnJvciBvbiByZXBseSBmYWlsdXJlCgkgIElmIEQtQnVzIGVycm9yIGlzIHNldCB3ZSBzaG91bGQgZnJlZSBpdC4KCjIwMTItMDgtMjEgMTE6NDk6MjQgLTA0MDAgIEFuZGVyc29uIExpemFyZG8gPGFuZGVyc29uLmxpemFyZG9Ab3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IEZpeCB0cml2aWFsIGNvZGluZyBzdHlsZSBpc3N1ZXMgb24gcG9pbnRlciBkZWNsYXJhdGlvbnMgYW5kIGNhc3RpbmcKCSAgQXZvaWQgdXNpbmcgQysrIHN0eWxlIHBvaW50ZXIgZGVjbGFyYXRpb25zIGxpa2UgImNoYXIqIHB0ciIsIGFzIG1vc3QKCSAgQmx1ZVogY29kZSB1c2VzICJjaGFyICpwdHIiLgoKMjAxMi0wNi0yNSAxMjowNjoxNyArMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei52b24uZGVudHpAaW50ZWwuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBhdWRpbzogUmVtb3ZlIGludGVybmFsIGF1ZGlvIElQQwoJICBXaXRoIHVuaXggc29ja2V0IGFuZCBBTFNBIHJlbW92ZWQgdGhlcmUgaXMgbm8gbG9uZ2VyIGFueSB1c2UgZm9yIHRoZQoJICBpbnRlcm5hbCBJUEMuCgoyMDEyLTA1LTMwIDE3OjE2OjE5IC0wNDAwICBBbmRlcnNvbiBMaXphcmRvIDxhbmRlcnNvbi5saXphcmRvQG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBSZW1vdmUgY29tcGF0aWJpbGl0eSBjaGVjayBmb3IgREJVU19UWVBFX1VOSVhfRkQKCSAgU2luY2UgY29tbWl0IGM4OWI1ODlhNTg2ZTk3YWQ4NzVmYmRkMWQ0MWYwMzk3OTE1N2ViYjAsIEQtQnVzID49IDEuNC4wIGlzCgkgIHJlcXVpcmVkLiBUaGlzIHZlcnNpb24gYWxyZWFkeSBjb250YWlucyBVbml4IEZEIHBhc3Npbmcgc3VwcG9ydCwKCSAgdGhlcmVmb3JlIGNvZGUgdGhhdCBjaGVja3MgZm9yIERCVVNfVFlQRV9VTklYX0ZEIGRlZmluaXRpb24gaXMKCSAgdW5uZWNlc3NhcnkuCgoyMDEyLTA1LTE4IDA5OjQ2OjI5IC0wNDAwICBBbmRlcnNvbiBMaXphcmRvIDxhbmRlcnNvbi5saXphcmRvQG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBhdmR0cDogRml4IGluY29ycmVjdCBnY2hhciBidWZmZXIgYWxsb2NhdGlvbgoJICBUaGUgY29kZSB3YXMgYWxsb2NhdGluZyBhbiBhcnJheSBvZiBnY2hhciBwb2ludGVycywgd2hlcmUgYW4gYXJyYXkgb2YKCSAgZ2NoYXIgaXMgZXhwZWN0ZWQuCgoyMDEyLTA0LTE2IDExOjU5OjU5ICswOTAwICBDaGFuLXllb2wgUGFyayA8Y2hhbnllb2wucGFya0BzYW1zdW5nLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IGF1ZGlvOiBBZGQgU0JDIE5VTEwgY2hlY2sgZm9yIEdTVCBBVkRUUCBzaWduYWxpbmcKCSAgRHVlIHRvIFJGIGNvbmRpdGlvbiBvciBoZWFkc2V0IG1hbGZ1bmN0aW9uaW5nLCBnc3QgYXVkaW8gcGx1Zy1pbiBjb3VsZAoJICBub3QgZ2V0IFNCQyAobWFuZGF0b3J5IGNvZGVjKSBpbmZvcm1hdGlvbi4KCjIwMTItMDQtMTIgMjA6MzM6MDYgKzA1MzAgIFN5YW0gU2lkaGFyZGhhbiA8cy5zeWFtQHNhbXN1bmcuY29tPgoKCSAgYmx1ZXo6IGF1ZGlvOiBGaXggbmV3bGluZSBiZWZvcmUgRU9GCgoyMDEyLTA0LTEyIDIwOjMyOjU1ICswNTMwICBTeWFtIFNpZGhhcmRoYW4gPHMuc3lhbUBzYW1zdW5nLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IGdzdGF2ZHRwc2luazogRml4IEQtQnVzIG1lbW9yeSBsZWFrIGluIGF1ZGlvCgoyMDExLTExLTE3IDEzOjI5OjA2IC0wNDAwICBBbmRlcnNvbiBMaXphcmRvIDxhbmRlcnNvbi5saXphcmRvQG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBBVkRUUDogRml4IGNsb3NpbmcgaW52YWxpZCBGRCBvbiBlcnJvcgoJICBJbiBnc3RfYXZkdHBfc2lua19zdGFydCgpLCBpZiBidF9hdWRpb19zZXJ2aWNlX29wZW4oKSBmYWlsZWQsIHRoZXJlIHdhcwoJICBhbiBhdHRlbXB0IHRvIGNsb3NlIGFuIGludmFsaWQgZmlsZSBkZXNjcmlwdG9yICh0aHJvdWdoCgkgIGJ0X2F1ZGlvX3NlcnZpY2VfY2xvc2UoKSkuCgoyMDExLTExLTE2IDA5OjIwOjA0IC0wNDAwICBBbmRlcnNvbiBMaXphcmRvIDxhbmRlcnNvbi5saXphcmRvQG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggcmV0dXJuIHZhbHVlIGNoZWNrIGZvciBidF9hdWRpb19zZXJ2aWNlX29wZW4oKQoJICBPbmx5IG5lZ2F0aXZlIHZhbHVlcyAobmFtZWx5IC0xKSBhcmUgZXJyb3JzIGZvciB0aGlzIGZ1bmN0aW9uLgoKMjAxMS0xMS0xNiAwOToxOTo0OSAtMDQwMCAgQW5kZXJzb24gTGl6YXJkbyA8YW5kZXJzb24ubGl6YXJkb0BvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogQVZEVFA6IEZpeCBlcnJubyBoYW5kbGluZyBjb252ZW50aW9uCgkgIFZhcmlhYmxlcyB3aGljaCBhcmUgYXNzaWduZWQgdG8gdGhlIGVycm5vIHZhcmlhYmxlICh1c3VhbGx5IGNhbGxlZAoJICAiZXJyIikgc2hvdWxkIGJlIG5lZ2F0aXZlLCBhbmQgIi1lcnIiIHNob3VsZCBiZSB1c2VkIHdoZXJlIGEgcG9zaXRpdmUKCSAgdmFsdWUgaXMgbmVlZGVkLgoKMjAxMS0wOC0yNiAxMToxODo1NCAtMDcwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogc3lzL2JsdWV6L2EyZHAtY29kZWNzLmg6CgkgIGJsdWV6OiBhdWRpbzogVXBkYXRlIGxpY2Vuc2UgZm9yIHNoYXJlZCBoZWFkZXIgZmlsZXMKCSAgVGhlIGhlYWRlciBmaWxlcyB3aXRoIGNvbnN0YW50cyBhbmQgc3RydWN0dXJlcyBmb3IgYXVkaW8gc3BlY2lmaWMKCSAgaW50ZXJhY3Rpb24gd2l0aCBQdWxzZWF1ZGlvIGFyZSBzdXBwb3NlIHRvIGJlIHVuZGVyIExHUEwgbGljZW5zZS4KCSAgRm9yIHNvbWUgb2RkIHJlYXNvbiBhMmRwLWNvZGVjcy5oIGVuZGVkIHVwIGJlaW5nIHVuZGVyIEdQTCBsaWNlbnNlCgkgIHdoaWNoIGlzIGFnYWluc3QgdGhlIGludGVudGlvbiBvZiB0aGlzIGJlaW5nIHNoYXJlZCBhbmQgcmUtdXNlZCBieQoJICBub24tR1BMIHByb2dyYW1zLiBGaXggdGhpcyBub3cgdG8gYXZvaWQgYW55IGZ1dHVyZSBjb25mdXNpb24uCgoyMDExLTA3LTAyIDEyOjMyOjQwIC0wMzAwICBMdWNhcyBEZSBNYXJjaGkgPGx1Y2FzLmRlbWFyY2hpQHByb2Z1c2lvbi5tb2JpPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogRml4IGNvbW1vbiBtaXNzcGVsbGVkIHdvcmRzCgkgIEFjY291bnRpbmcgb2YgbWlzc3BlbGxlZCB3b3JkcywgYXMgZGV0ZWN0ZWQgYnkgY29kZXNwZWxsOgoJICBhY29yZGluZyAgICAgIDIKCSAgYW5jaWxsaWFyeSAgICAxCgkgIGFwcHJvcGlhdGUgICAgMQoJICBhdHJpYnV0ZSAgICAgIDEKCSAgY2FudCAgICAgICAgICAxCgkgIGNvbW1pbmcgICAgICAgMgoJICBncmFjZWZ1bGwgICAgIDEKCSAgbGVuZ2h0ICAgICAgICAxCgkgIG1pc3BlbGxlZCAgICAgMQoJICBvY2N1cmVkICAgICAgIDEKCSAgb2NjdXJlbmNlcyAgICAxCgkgIG9jdXJyZWQgICAgICAgMwoJICBwcmVmZXJlZCAgICAgIDEKCSAgcHJlc2Vuc2UgICAgICAxCgkgIHJlcG9uc2UgICAgICAgMQoJICBzZXBlcmF0ZSAgICAgIDEKCSAgc3VjY2VzZnVsICAgICAxCgkgIHN1Y2Nlc3N1bGx5ICAgMQoJICBzdWNlc3NmdWxsICAgIDEKCSAgc3VjZXNzZnVsbHkgICAxCgoyMDExLTA1LTA5IDE1OjI2OjA3ICswMjAwICBTenltb24gSmFuYyA8c3p5bW9uLmphbmNAdGlldG8uY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogRml4IGdhcmJhZ2UgcmV0dXJuIHZhbHVlIGluIGdzdF9hdmR0cF9zaW5rX2F1ZGlvc2VydmljZV9yZWN2CgoyMDExLTAyLTEzIDE3OjUxOjQ1IC0wODAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IGF1ZGlvOiBSZW1vdmUgd29ya2Fyb3VuZCBmb3IgY29tcGlsZXIgd2FybmluZ3MKCjIwMTEtMDEtMjAgMTE6Mjk6NDEgKzAyMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHotdm9uQG5va2lhLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IFVwZGF0ZSBhMmRwc2luayB0byB1c2UgbmV3IEFjcXVpcmUgQVBJCgoyMDExLTAxLTE5IDEwOjA0OjQ5ICswMjAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6LXZvbkBub2tpYS5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggdXNlIG9mIGRlcHJlY2F0ZWQgZ2xpYiBvbiBhdWRpbyBwbHVnaW4KCjIwMTAtMDUtMDYgMTc6MTQ6MTQgKzAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHotdm9uQG5va2lhLmNvbT4KCgkqIHN5cy9ibHVlei9hMmRwLWNvZGVjcy5oOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogQWRkIHN1cHBvcnQgZm9yIG1lZGlhIHRyYW5zcG9ydCBpbiBnc3RyZWFtZXIgcGx1Z2luCgoyMDEwLTA5LTEzIDE1OjQwOjExICswMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6LXZvbkBub2tpYS5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggY3Jhc2ggb24gZ3N0cmVhbWVyIHBsdWdpbiBpZiBkZXZpY2UgZG9lc24ndCBzdXBwb3J0IHNiYwoKMjAxMC0wNS0xOSAxNjo1OTozMCArMDIwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEFkZCBwcmFnbWEgYmFzZWQgd29ya2Fyb3VuZCBmb3IgR1N0cmVhbWVyIHdhcm5pbmdzCgoyMDEwLTA1LTE5IDE2OjEwOjI2ICswMjAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IFJldmVydCAiRml4IGJ1aWxkIGlzc3VlcyB3aXRoIGxhdGVzdCBHU3RyZWFtZXIgdXBkYXRlcyIKCjIwMTAtMDUtMTcgMjI6MzE6MjggKzAyMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogRml4IGJ1aWxkIGlzc3VlcyB3aXRoIGxhdGVzdCBHU3RyZWFtZXIgdXBkYXRlcwoKMjAxMC0wMS0wMSAxNzowODoxNyAtMDgwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IFVwZGF0ZSBjb3B5cmlnaHQgaW5mb3JtYXRpb24KCjIwMDktMTAtMDUgMjI6NTE6MTQgKzAyMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAZ21haWwuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogRml4IGNvZGVjIHNlbGVjdGlvbiBvbiBnc3RyZWFtIHBsdWdpbi4KCjIwMDktMTAtMDIgMTA6NTg6NTQgKzAyMDAgIEpvaGFuIEhlZGJlcmcgPGpvaGFuLmhlZGJlcmdAbm9raWEuY29tPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggdW5uZWNlc3NhcnkgTlVMTCBjaGVja3MKCjIwMDktMDctMTUgMTY6NTE6MDggLTAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IFJlbW92ZSB1c2VsZXNzIGluc3RydWN0aW9uLgoKMjAwOS0wNy0wMSAxMzoxNTo1NyArMDIwMCAgRmlsaXBwbyBHaXVuY2hlZGkgPGZpbGlwcG9AZXNhdXJpdG8ubmV0PgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkgIGJsdWV6OiBSZWdpc3RlciB0aGUgYTJkcCBnc3Qgc2luayBhcyBtYXJnaW5hbAoJICBBdm9pZCB0YWtpbmcgb3ZlciBhcyBkZWZhdWx0IGdzdCBzaW5rIGJ5IHJlZ2lzdGVyaW5nIGFzIEdTVF9SQU5LX01BUkdJTkFMCgoyMDA5LTAzLTI1IDE4OjA1OjQzIC0wMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBBZGQgc3BlY2lmaWMgY29kZWMgdHlwZXMuCgkgIEFkZCBzcGVjaWZpYyBjb2RlYyB0eXBlcyBmb3IgYTJkcCBzb3VyY2VzIGFuZCBzaW5rcyBzbyBjbGllbnRzIGFyZSBhYmxlCgkgIHRvIGRpZmZlciBiZXR3ZWVuIHRoZW0uCgoyMDA5LTAzLTE4IDE1OjU4OjUzIC0wMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBSZW1vdmUgdW5uZWNlc3NhcnkgbWVtc2V0LgoKMjAwOS0wMy0xOSAxNjoxNjoxOSAtMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogQWRkIGxvY2sgZmxhZyBmb3IgY2FwYWJpbGl0aWVzLgoJICBsb2NrIGZsYWcgcGVybWl0cyB0aGUgdW5peCBjbGllbnQgdG8gZGV0ZWN0IGlmIHRoZXJlIGlzIHNvbWVvbmUgaG9sZGluZwoJICB0aGUgbG9jayBzbyBpdCBjYW4gcHJldmVudCB1c2VsZXNzIGF0dGVtcHQgb2Ygc2V0dGluZyBhIG5ldyBjb25maWd1cmF0aW9uLgoKMjAwOS0wMy0xOCAxMToyMDozMSAtMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogSW50cm9kdWNlIEJUX09QRU4gY29tbWFuZCB0byBhdWRpbyBpcGMuCgkgIEJUX09QRU4gbWFrZSBpdCBwb3NzaWJsZSB0byBsb2NrIGEgZ2l2ZW4gc2VpZCB3aGljaCBpcyBhdXRvbWFjYWxseQoJICByZWxlYXNlIGlmIHRoZSBjbGllbnQgZGlzY29ubmVjdHMgZnJvbSB0aGUgdW5peCBzb2NrZXQuCgoyMDA5LTAzLTE5IDExOjUwOjI2IC0wMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBBZGQgc291cmNlIGFuZCBkZXN0aW5hdGlvbiBmaWVsZHMgdG8gYXVkaW8gaXBjIG1lc3NhZ2VzLgoKMjAwOS0wMi0xOSAxNTo1ODoxNSAtMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogTWFrZSB1c2Ugb2YgZ19pb19jaGFubmVsX3NodXRkb3duIGluc3RlYWQgb2YgZGVwcmVjYXRlZCBnX2lvX2NoYW5uZWxfY2xvc2UuCgoyMDA5LTAxLTAxIDE5OjMzOjIwICswMTAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogVXBkYXRlIGNvcHlyaWdodCBpbmZvcm1hdGlvbgoKMjAwOC0xMi0yMyAwNToyNTo1MCArMDEwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBGaXJzdCBhdHRlbXB0IGluIGZpeGluZyBjb21waWxlciB3YXJuaW5ncyAoc3RpbGwgbmVlZHMgY2xlYW51cCkKCjIwMDgtMTItMjAgMjE6NDI6NDkgKzAyMDAgIEpvaGFuIEhlZGJlcmcgPGpvaGFuLmhlZGJlcmdAbm9raWEuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogTW9yZSBjb2Rpbmcgc3R5bGUgZml4ZXMKCjIwMDgtMTItMjAgMjE6MDQ6NDQgKzAyMDAgIEpvaGFuIEhlZGJlcmcgPGpvaGFuLmhlZGJlcmdAbm9raWEuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogQ29kaW5nIHN0eWxlIGZpeGVzCgoyMDA4LTEyLTIwIDE4OjI3OjMwICswMjAwICBKb2hhbiBIZWRiZXJnIDxqb2hhbi5oZWRiZXJnQG5va2lhLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCBsZW5ndGggaGVhZGVyIHZhbHVlcyBpbiBtZXNzYWdlcwoKMjAwOC0xMi0xNiAxNzowOTo1NyAtMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogRml4IGdzdHJlYW1lciBwbHVnaW4gdG8gcmVmbGVjdCB0aGUgaXBjIGNoYW5nZXMuCgoyMDA4LTEwLTA3IDEyOjA3OjE0IC0wMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggY2hhbm5lbCBtb2RlIHN0cmluZyBmcm9tIGR1YWwgdG8gZHVhbC1jaGFubmVsLgoKMjAwOC0xMC0wNyAxMTo1NTo1OCAtMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogRml4IGNoYW5uZWwgbW9kZSBzdHJpbmcgdG8gam9pbnQtc3RlcmVvLgoKMjAwOC0wMi0yMCAxMzozNzowMCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggcnVudGltZSB3YXJuaW5ncyBvZiBnc3RyZWFtZXIgcGx1Z2luLgoKMjAwOC0wMi0xOSAxOTo0OToyNCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IFVwZGF0ZSBnc3RyZWFtZXIgcGx1Z2luIHRvIHVzZSBuZXcgc2JjIEFQSS4KCjIwMDgtMDItMTQgMjE6MjI6MzggKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IE1ha2UgdXNlIG9mIHBhcmFtZXRlcnMgc2VsZWN0ZWQgaW4gYWxzYSBwbHVnaW4gYW5kIGZpeCBhdXRvIHNlbGVjdGlvbi4KCjIwMDgtMDItMDIgMDM6Mzc6MDUgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBVcGRhdGUgY29weXJpZ2h0IGluZm9ybWF0aW9uCgoyMDA4LTAyLTAxIDE5OjI4OjM3ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSAgYmx1ZXo6IEFkZCBiaXRwb29sIHByb3BlcnR5IGFuZCBvdGhlcnMgZml4ZXMgZm9yIGdzdHJlYW1lciBwbHVnaW4uCgoyMDA4LTAxLTMwIDE3OjMwOjI3ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogRW5hYmxlIGdzdHJlYW1lciBwbHVnaW4gdG8gdXNlIGF1dG9jb25uZWN0IGZsYWcuCgoyMDA4LTAxLTMwIDE0OjIxOjQzICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBGaXhlcyBnc3RyZWFtZXIgY2FwcyBhbmQgY29kZSBjbGVhbnVwLgoKMjAwOC0wMS0yMyAxOToxNzozMyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogRml4IHVzZSBvZiBnc3RyZWFtZXIgcGx1Z2luIHdpdGggcmh5dGhtYm94IGFuZCBiYW5zaGVlIGFuZCBydHAgdGltZXN0YW1wcy4KCjIwMDgtMDEtMjMgMTU6MTg6MTUgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBSZW5hbWUgYTJkcHNlbmRlcnNpbmsgdG8gYXZkdHBzaW5rLgoKMjAwOC0wMS0yMyAxMzoyMzowMSArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogQnVnIGZpeGVzIGZvciBnc3RyZWFtZXIgcGx1Z2luLgoKMjAwOC0wMS0yMyAxMzoxOTozMiArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogQWRkIG1wMyBzdXBwb3J0IGZvciBnc3RyZWFtZXIgcGx1Z2luLgoKMjAwOC0wMS0yMyAxMzoxNDowMiArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogTWFrZSBhMmRwc2luayB0byBhY3QgbGlrZSBhIGJpbiBhbmQgc3BsaXQgdGhlIHBheWxvYWRlci4KCjIwMDctMTItMDQgMTk6NDI6MDAgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogRml4IGVycm9yIG1lc3NhZ2VzLiAodGhhbmtzIHRvIGZjaGV2YWxpZXIgZm9yIHRoZSBwYXRjaCkKCjIwMDctMTItMDMgMjI6NDE6MjkgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogSGFuZGxlIG5ldyBpcGMgbWVzc2FnZXMgcHJvcGVybHkgYW5kIGFkYXB0IHRoZSBwbHVnaW5zLgoKMjAwNy0xMS0yMyAxNzowMDoxMyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkgIGJsdWV6OiBDb2RlIGNsZWFudXAuCgoyMDA3LTExLTIxIDIwOjI0OjExICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkgIGJsdWV6OiBJbnRlZ3JhdGUgbmV3IGlwYyBBUEkgaW1wbGVtZW50YXRpb24uCgoyMDA3LTExLTAxIDE5OjQ1OjAwICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkgIGJsdWV6OiBGaXggc2JjIG5lZ290aWF0aW9uIGFuZCBpbXByb3ZlcyBidWZmZXIgaGFuZGxpbmcgYnkgdXNpbmcgR3N0QWRhcHRlci4KCjIwMDctMTAtMjkgMTU6MDI6MjYgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogQWRkIGJpdHBvb2wgY2FwYWJpbGl0eS4KCjIwMDctMTAtMjYgMTg6NDg6NDIgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogUmVtb3ZlIGRlcGVuZGVuY3kgb2Ygc2JjIGxpYnJhcnkgZnJvbSBhMmRwc2luayBlbGVtZW50LgoKMjAwNy0xMC0yNSAyMTowNzo1MCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogRml4IGJ1ZmZlciB1c2FnZS4KCjIwMDctMTAtMjQgMjE6NDA6MzUgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogU29tZSBtb3JlIGNvZGluZyBzdHlsZSBmaXhlcwoKMjAwNy0xMC0yNCAyMTozMzoyMiArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggY29kaW5nIHN0eWxlLgoKMjAwNy0xMC0yNCAyMToxMzoxMiArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogRml4IGEyZHBzaW5rIGNvZGluZyBzdHlsZSBwcm9ibGVtcyBhbmQgaW1wcm92ZSBjb21wYXRpYmlsaXR5IHdpdGggc29tZSBwbGF5ZXJzLgoKMjAwNy0xMC0xOCAyMzowMjoyNCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkgIGJsdWV6OiBBZGQgcnRwIGhlYWRlci4KCjIwMDctMTAtMTggMjI6NDY6MTIgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogRml4IGNvZGluZyBzdHlsZSBpc3N1ZXMuCgoyMDA3LTEwLTE4IDIxOjUwOjAwICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkgIGJsdWV6OiBGaXhlcyBhMmRwc2luayBlbGVtZW50LgoKMjAwNy0wOC0yNiAxNDoxNDozNCArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogQWRkIHBvc3NpYmxlIGNhcGFiaWxpdGllcyBhbmQgY29ubmVjdCB0byBhdWRpbyBzZXJ2ZXIKCjIwMDctMDgtMjMgMTk6MTI6MjMgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSAgYmx1ZXo6IEFkZCBTQkMgZW5jb2RlciBhbmQgZGVjb2RlciBza2VsZXRvbnMgZm9yIEdTdHJlYW1lcgoKMjAwNy0wOC0yMiAyMTo1MDo1OSArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogQWRkIHNrZWxldG9uIGZvciBhbiBBMkRQIHNpbmsgZWxlbWVudAoKMjAxMy0wMS0wNyAxMDozNzo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICByZXNpbmR2ZDogaGFuZGxlIG5vbi11dGY4IGR2ZCBkaXNjIHRpdGxlcyBiZXR0ZXIKCSAgTWF5YmUgc29tZXRoaW5nIGJhc2VkIG9uIHRoZSBjb2RlIGluIGJ1ZyAjNjg4MzY3CgkgIGFuZCB0aGUgbGFuZ3VhZ2UgZW5jb2RpbmdzIHdvdWxkIHdvcmsgZXZlbiBiZXR0ZXIKCSAgdGhvdWdoIChub3cgaXQgd2lsbCB0cnkgdGhpbmdzIGJhc2VkIG9uIHRoZSBsb2NhbGUpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMDk3CgoyMDEzLTAxLTA3IDEwOjM2OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9qYXNwZXIvTWFrZWZpbGUuYW06CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZGVjLmg6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZW5jLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZW5jLmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBqYXNwZXI6IHJlbW92ZSBqYXNwZXIganBlZzIwMDAgcGx1Z2luLCByZXBsYWNlZCBieSBvcGVuanBlZyBwbHVnaW4KCSAgbGliamFzcGVyIGlzbid0IHJlYWxseSBtYWludGFpbmVkIGFueSBsb25nZXIsIHdlIHByb2JhYmx5CgkgIGRvbid0IHdhbnQgdG8gcG9ydCB0aGlzLgoKMjAxMy0wMS0wNyAwMDo0OToxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhbGxvdyBjb21waWxhdGlvbiBhZ2FpbnN0IG9wZW5jdiAyLjQuMyBhcyB3ZWxsCgoyMDEyLTEyLTA2IDExOjU1OjQ1IC0wNTAwICBWaWN0b3IgR290dGFyZGkgPHZnb3R0YXJkaUBob3RtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzc2luay5jOgoJICBobHNzaW5rOiBkb24ndCBmb3J3YXJkIG11bHRpZmlsZXNpbmsgbWVzc2FnZXMgdG8gYXBwbGljYXRpb24KCSAgVGhlc2UgbWVzc2FnZXMgYXJlIHVzdWFsbHkgb25seSBuZWVkZWQgaW50ZXJuYWxseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTgyMgoKMjAxMi0xMS0wNiAxMDoxNzoxOSAtMDUwMCAgVmljdG9yIEdvdHRhcmRpIDx2Z290dGFyZGlAaG90bWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJICBobHNzaW5rOiBtM3U4IGFkZCBFWFQtWC1BTExPVy1DQUNIRQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg5ODIyCgoyMDEyLTEyLTA1IDEwOjA2OjM4IC0wNTAwICBWaWN0b3IgR290dGFyZGkgPHZnb3R0YXJkaUBob3RtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkgIGhsc3Npbms6IHJvdW5kIHNlZ21lbnQgZHVyYXRpb24gdG8gbmVhcmVzdCBudW1iZXIgb2Ygc2Vjb25kcwoJICBFLmcuIGZvciAxcyBwZXJpb2QsIGR1cmF0aW9uIGNhbiBiZSAwLjk5cywgcm91bmRzIGRvd24gdG8gMCwgcmVzdWx0cyBpbiBpbnZhbGlkCgkgIHBsYXlsaXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODk4MjIKCjIwMTMtMDEtMDYgMjI6MTk6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJKiBnc3QvaGxzL2dzdG0zdThwbGF5bGlzdC5oOgoJICBobHNzaW5rOiBkb24ndCBsZWFrIG9sZCBwbGF5bGlzdCBlbnRyaWVzIHdoZW4gdXNpbmcgbWF4LWZpbGVzCgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBWaWN0b3IgR290dGFyZGkgPHZnb3R0YXJkaUBob3RtYWlsLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTgyMgoKMjAxMy0wMS0wNSAxODo1NjoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5jOgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5oOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IEFkZCBzdXBwb3J0IGZvciBSR0IKCjIwMTMtMDEtMDQgMTU6Mzg6NTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htOiBBY3R1YWxseSBnZXQgdGhlIHBlcm1pc3Npb25zIG9uIGdldF9wcm9wZXJ0eQoKMjAxMy0wMS0wNCAxNzoxOToyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmM6CgkgIGludGVyOiBkb24ndCB1c2UgZGVwcmVjYXRlZCBHU3RhdGljTXV0ZXggQVBJCgoyMDEzLTAxLTAzIDE3OjI4OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBEb24ndCByZXR1cm4gRUdMSW1hZ2VzIHRoYXQgd2UganVzdCByZW5kZXJlZCBmcm9tIHRoZSBidWZmZXIgcG9vbAoJICBNYXBwaW5nIHRoZW0gd2lsbCBmYWlsIGJlY2F1c2UgdGhleSdyZSBzdGlsbCBpbnRlcm5hbGx5IHVzZWQuCgoyMDEzLTAxLTAzIDE1OjIyOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5oOgoJICBlZ2xnbGVzc2luazogSGFuZGxlIGNvcHlpbmcgb2YgR3N0TWVtb3J5IHByb3Blcmx5CgkgIFdlIGhhdmUgdG8gdXNlIHRoZSBkZWZhdWx0IHZpZGVvIG1ldGEgbWFwcGluZyBmdW5jdGlvbnMuCgoyMDEzLTAxLTAzIDEyOjA5OjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogU2V0IHZhcmlhYmxlcyB0byBOVUxMIHRvIHByZXZlbnQgdXNhZ2UgYWZ0ZXIgZnJlZS91bnJlZgoKMjAxMy0wMS0wMyAxMjowODozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkgIGVnbGdsZXNzaW5rOiBNYWtlIHN1cmUgdG8gYWx3YXlzIHVzZSB0aGUgY29ycmVjdCBHc3RNZW1vcnkgZm9yIGJ1ZmZlcnMgZnJvbSBvdXIgcG9vbAoKMjAxMy0wMS0wMyAxMTowMzozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG9uJ3QgZm9yZ2V0IHRvIGNhbGwgdGhlIHBsYXRmb3JtIHNwZWNpZmljIEVHTEltYWdlIGZyZWUgZnVuY3Rpb24KCjIwMTMtMDEtMDMgMTA6NTM6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJICBtZmM6IEZpeCBsZWFrIG9mIGlucHV0L291dHB1dCBidWZmZXIgc3RvcmFnZSBpbiB0aGUgTUZDIGRlY29kZXIgbGlicmFyeQoKMjAxMy0wMS0wMyAxMDo0MDozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogTWFrZSBzdXJlIHRvIHdhaXQgZm9yIHRoZSByaWdodCBvYmplY3QgdG8gYmUgZGVxdWV1ZWQKCjIwMTMtMDEtMDMgMTA6MTA6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBGaXggdHlwbwoKMjAxMy0wMS0wMiAxNzoyMzo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IE9ubHkgYWRkIGNyb3AgbWV0YWRhdGEgaWYgcmVxdWlyZWQKCjIwMTMtMDEtMDIgMTY6NTM6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9maW1jL2ZpbWMuYzoKCSAgZmltYzogRG8gU1RSRUFNT04vU1RSRUFNT0ZGIG9ubHkgb25jZSBhbmQgbm90IG9uY2UgcGVyIGJ1ZmZlcgoKMjAxMy0wMS0wMiAxNjozODo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkgIG1mYzogUmVxdWlyZSBvbmUgbW9yZSBvdXRwdXQgYnVmZmVyIHRoYW4gcmV0dXJuZWQgYnkgdGhlIGRyaXZlcgoKMjAxMy0wMS0wMiAxNjoxMDoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmVtb3ZlIHBhY2tlZCBZVVYgc3VwcG9ydAoJICBUaGlzIHdpbGwgbm90IGFsbG93IHplcm8tY29weSBiZWNhdXNlIHRoZSBzYW1lCgkgIEVHTEltYWdlIHdvdWxkIG5lZWQgdG8gYmUgdXNlZCBmb3IgdHdvIGRpZmZlcmVudAoJICB0ZXh0dXJlcyB3aXRoIGEgZGlmZmVyZW50IGZvcm1hdC4KCjIwMTMtMDEtMDIgMTY6MDk6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBQcmVmZXIgTlYxMiBvdmVyIEk0MjAvWVYxMgoKMjAxMy0wMS0wMiAxNTo0MDoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkgIG1mYzogVGhlIGZpcnN0IGZyYW1lIHByb2R1Y2VzIG91dHB1dCBpbiBvdXIgY2FzZQoKMjAxMy0wMS0wMiAxNDozMjozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuaDoKCSAgbWZjOiBSZXF1ZXN0IGlucHV0IGJ1ZmZlcnMgZXhwbGljaXRlbHkKCjIwMTMtMDEtMDIgMTQ6Mjc6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJICBtZmM6IERvbid0IFNUUkVBTU9GRiBpZiBubyBTVFJFQU1PTiBoYXBwZW5lZCB5ZXQKCjIwMTMtMDEtMDIgMTQ6MjM6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmMuYzoKCSAgbWZjOiBDaGVjayBpZiB0aGUgTUZDIGhhcmR3YXJlIGV4aXN0cyBiZWZvcmUgcmVnaXN0ZXJpbmcgdGhlIGVsZW1lbnQKCjIwMTMtMDEtMDIgMTQ6MTY6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJICBtZmM6IENoZWNrIGRldmljZSBjYXBhYmlsaXRpZXMgYmVmb3JlIGRvaW5nIGFueXRoaW5nIGVsc2UKCjIwMTMtMDEtMDIgMTI6MzM6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBJbmNsdWRlIGNvZGVjX2RhdGEgaW4gdGhlIGJ1ZmZlciB3aXRoIHRoZSBuZXh0IGZyYW1lCgoyMDEzLTAxLTAyIDExOjQ0OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogU2V0IGZvcm1hdCBmaWVsZCBvZiB0aGUgaW5zdGFuY2Ugc3RydWN0CgoyMDEzLTAxLTAyIDExOjAwOjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmg6CgkgIG1mYzogSW1wbGVtZW50IHN1cHBvcnQgZm9yIGNyb3AgbWV0YWRhdGEKCjIwMTMtMDEtMDIgMTA6MjY6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBDaGVjayBpZiB0aGUgaGFyZHdhcmUgaXMgYXZhaWxhYmxlIGluIEdzdFZpZGVvRGVjb2Rlcjo6b3BlbigpCgoyMDEzLTAxLTAxIDExOjU2OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguaDoKCSAgbXBlZ3BzbXV4OiB1c2UgRFRTIGluIGFkZGl0aW9uIHRvIFBUUwoJICBBbmQgcmVmYWN0b3IgY2hvb3NlX2Jlc3Rfc3RyZWFtKCkgYSBsaXR0bGUuCgkgIHZpZGVvdGVzdHNyYyBwYXR0ZXJuPWJhbGwgISB4MjY0ZW5jICEgbXBlZ3BzbXV4ICEgLi4uCgkgIHBsYXlzIG11Y2ggbmljZXIgbm93LgoKMjAxMy0wMS0wMSAxMjowNTowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTG9nIGluIHRoZSBwZXJmb3JtYW5jZSBjYXRlZ29yeSBpZiB3ZSBtYXAvY29weSBFR0xJbWFnZXMgdG8gbm9ybWFsIG1lbW9yeQoKMjAxMy0wMS0wMSAxMTowNToyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IEFkZCBzdXBwb3J0IGZvciBoMjYzIGFuZCBNUEVHMS8yCgoyMDEzLTAxLTAxIDEwOjQ4OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBDYXRjaCBlcnJvcnMgZnJvbSBnbEVHTEltYWdlVGFyZ2V0VGV4dHVyZTJET0VTKCkKCjIwMTMtMDEtMDEgMTA6NDQ6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IFVwbG9hZCB0ZXh0dXJlcyBpbiBHc3RCYXNlU2luazo6cHJlcGFyZSgpIGFscmVhZHkKCSAgVGhpcyBnaXZlcyBtb3JlIHRpbWUgZm9yIHRoZSB0ZXh0dXJlIHRvIGJlIHVwbG9hZGVkIGFzIGl0IGhhcHBlbnMKCSAgYmVmb3JlIHN5bmNpbmcgdG8gdGhlIHJ1bm5pbmcgdGltZS4gV2hlbiB0aGUgcnVubmluZyB0aW1lIGlzIHJlYWNoZWQKCSAgb25seSBlZ2xTd2FwQnVmZmVycygpIGlzIG5lY2Vzc2FyeS4KCjIwMTItMTItMzEgMTk6NDU6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXhjb21tb24uaDoKCSogZ3N0L21wZWdwc211eC9wc211eHN0cmVhbS5jOgoJICBtcGVncHNtdXg6IHVzZSBnc3RyZWFtZXIgZGVidWcgbG9nZ2luZyBzeXN0ZW0gZXZlcnl3aGVyZQoKMjAxMi0xMi0zMSAxOTo0MjowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXhfYWFjLmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4X2gyNjQuYzoKCSogZ3N0L21wZWdwc211eC9wc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXhzdHJlYW0uaDoKCSAgbXBlZ3BzbXV4OiBwb3J0IHRvIDAuMTEKCSAgTmFpdmUgcG9ydC4gQmFyZWx5IHRlc3RlZC4KCjIwMTItMTItMzEgMTI6NDI6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBEb24ndCByZWNvbmZpZ3VyZSBpZiB3ZSBnZXQgY29tcGF0aWJsZSBjYXBzCgoyMDEyLTEyLTMxIDEyOjMzOjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogT25seSBjcmVhdGUgdGhlIE1GQyBjb250ZXh0IGluIDo6c2V0X2Zvcm1hdCgpCgoyMDEyLTEyLTMxIDExOjU2OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogUmVjcmVhdGUgZmltYyBjb250ZXh0IGlmIHNldHRpbmdzIGNoYW5nZQoKMjAxMi0xMi0zMSAxMTowMjo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IFNvbWUgcmVmYWN0b3JpbmcKCjIwMTItMTItMzEgMDk6NDc6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuaDoKCSAgbWZjOiBEbyB6ZXJvY29weSBpZiB3ZSBnZXQgRUdMSW1hZ2UgYnVmZmVycwoKMjAxMi0xMi0zMCAxNjo0NTozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IFNvbWUgbWlub3IgZml4ZXMKCjIwMTItMTItMjYgMTM6MzA6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBGaXggZG91YmxlLXVubWFwIG9mIHRoZSBjb2RlYyBkYXRhCgoyMDEyLTEyLTI2IDEzOjI3OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZmltYy9maW1jLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmg6CgkgIG1mYzogUGFzcyBjb2RlY19kYXRhIHRvIHRoZSBjb2RlYyBpZiB0aGVyZSdzIHNvbWUKCjIwMTItMTItMjYgMTM6MTg6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9maW1jL2ZpbWMuYzoKCSogc3lzL21mYy9maW1jL2ZpbWMuaDoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBSZWZhY3RvciBmaW1jIGNvZGUgYSBiaXQKCjIwMTItMTItMjYgMTI6Mzg6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJICBtZmM6IERvd25ncmFkZSBhbiBlcnJvciB0byBkZWJ1ZyBvdXRwdXQKCjIwMTItMTItMjYgMTE6NTE6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9maW1jL2ZpbWMuYzoKCSAgbWZjOiBTb21lIGZpbWMgY2xlYW51cAoKMjAxMi0xMi0yNiAwOTo1NjoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IEFkZCBwcm9maWxlL2xldmVsIGFuZCB3aWR0aC9oZWlnaHQgY29uc3RyYWludHMKCjIwMTItMTItMjQgMTY6MjM6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9maW1jL2ZpbWMuYzoKCSAgbWZjOiBEb24ndCBsZWFrIGJ1ZmZlcnMgd2hlbiBzZXR0aW5nIG5ldyBkZXN0IHNldHRpbmdzIGZvciBhIGRpcmVjdCBidWZmZXIKCjIwMTItMTItMjQgMTY6MDI6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBBZGQgaW5pdGlhbCBNUEVHNCBzdXBwb3J0CgoyMDEyLTEyLTI0IDE1OjQ0OjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogQWRkIHNvbWUgbW9yZSBkZWJ1ZyBvdXRwdXQKCjIwMTItMTItMjQgMTU6MzQ6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmg6CgkgIG1mYzogSW1wbGVtZW50IHRyYWNraW5nIG9mIGZyYW1lcyB1c2luZyB0aGUgdjRsMl9idWZmZXIgdGltZXN0YW1wCgoyMDEyLTEyLTI0IDE0OjQ4OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogUmVzZXQgc29tZSBtb3JlIHZhcmlhYmxlcyBvbiA6OnJlc2V0KCkKCjIwMTItMTItMjQgMTQ6MzY6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBBbHNvIGFkZCBzdXBwb3J0IGZvciBZVjEyCgoyMDEyLTEyLTI0IDEzOjQxOjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmg6CgkgIG1mYzogQWRkIHN1cHBvcnQgZm9yIHZpZGVvIG1ldGEKCjIwMTItMTItMjQgMTM6Mzk6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuaDoKCSAgbWZjOiBJbXBsZW1lbnQgbmVnb3RpYXRpb24gdG8gTlYxMiBvciBJNDIwIGJhc2VkIG9uIGRvd25zdHJlYW0gY2FwcwoKMjAxMi0xMi0yNCAxMjozMTowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5jOgoJICBtZmM6IFdvcmthcm91bmQgZm9yIHdyb25nbHkgcmVwb3J0ZWQgc3RyaWRlcyBieSBGSU1DCgoyMDEyLTEyLTI0IDEyOjE4OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmg6CgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5oOgoJICBtZmM6IEFkZCBwcm9wZXIgc3VwcG9ydCBmb3IgTUZDIGRlY29kZXIgc3RyaWRlcwoKMjAxMi0xMi0yNCAxMjoxMDoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IFRyeSB3aXRoIEk0MjAgZm9yIG5vdywgaXQncyBlYXNpZXIgdG8gZGVidWcKCjIwMTItMTItMjQgMTE6NTc6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBBZGQgc29tZSBtb3JlIGRlYnVnIG91dHB1dAoKMjAxMi0xMi0yNCAxMTo1NDo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5jOgoJICBtZmM6IERvbid0IHJlcXVpcmUgc3RyaWRlIHRvIGJlIHNldCBvbiBzcmMgcGFyYW1ldGVycwoKMjAxMi0xMi0yNCAxMTo0OTo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuaDoKCSAgbWZjOiBUaGUgbWZjIGRlY29kZXIgbGlicmFyeSBpcyBkdWFsIGxpY2Vuc2VkIHRvbwoJICBBcGFjaGUgTGljZW5zZSAyLjAgYW5kIExHUEwyKwoKMjAxMi0xMi0yMyAxMjoyNTowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL01ha2VmaWxlLmFtOgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5jOgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5oOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5oOgoJICBtZmM6IFVzZSBDQU1JRi9GSU1DIGZvciBoYXJkd2FyZSBjb2xvciBmb3JtYXQgY29udmVyc2lvbiBhbmQgZGUtdGlsaW5nCgoyMDEyLTEyLTIzIDEzOjQ2OjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogT25seSB1bnJlZiB0aGUgb3V0YnVmIGlmIGl0IGRvZXNuJ3QgYmVsb25nIHRvIHRoZSBmcmFtZQoKMjAxMi0xMi0yMyAxMjowNDo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL01ha2VmaWxlLmFtOgoJKiBzeXMvbWZjL2dzdG1mYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IFBvcnQgdG8gR1N0cmVhbWVyIDEuMAoKMjAxMi0xMi0yMyAxMTo0Nzo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5oOgoJICBtZmM6IEFkZCBpbml0aWFsIGRlY29kZXIgZWxlbWVudCBpbXBsZW1lbnRhdGlvbgoJICBUaGlzIGRvZXMgbm90IGNvcHkgdGhlIG91dHB1dCB0byBhbnkgb3V0cHV0IGJ1ZmZlcnMgeWV0LgoJICBPdGhlciB0aGFuIHRoYXQgc2hvdWxkIGJlIGJhc2ljYWxseSBmdW5jdGlvbmFsIGFscmVhZHkuCgoyMDEyLTEyLTIzIDEwOjIzOjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvbWZjL01ha2VmaWxlLmFtOgoJKiBzeXMvbWZjL2dzdG1mYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5oOgoJICBtZmM6IEFkZCBwbHVnaW4gYW5kIGRlY29kZXIgc2tlbGV0b24KCjIwMTItMTItMjMgMTA6MDU6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmg6CgkgIG1mYzogTWFrZSBtZmNfZGVjb2RlciBsaWJyYXJ5IGNvbXBpbGUgYW5kIGZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEyLTEyLTIzIDA5OjU2OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5oOgoJICBtZmM6IEFkZCBtZmNfZGVjb2RlciBsaWJyYXJ5IGZyb20gRlhJCgoyMDEyLTEyLTMxIDExOjM4OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb3duZ3JhZGUgYSBHU1RfRVJST1IgdG8gYSBHU1RfREVCVUcKCjIwMTItMTItMzAgMTQ6MjI6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE1ha2UgbGFzdF9mbG93IGhhbmRsaW5nIG1vcmUgdGhyZWFkc2FmZQoKMjAxMi0xMi0yOCAxMjoyNzo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuaDoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzdXBwb3J0IGZvciBhbGxvY2F0aW5nIEVHTEltYWdlcyBvbiBNYWxpCgkgIFRoaXMgYWxsb3dzIHRvIGRlY29kZXJzIGFuZCBvdGhlciB1cHN0cmVhbSBlbGVtZW50cyB0byBkbwoJICB6ZXJvLWNvcHkgdG8gdGhlIHNpbmsuCgoyMDEyLTEyLTMxIDAwOjE2OjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlcGxhY2UgZGVwcmVjYXRlZCBBTV9DT05GSUdfSEVBREVSIHdpdGggQUNfQ09ORklHX0hFQURFUlMKCSAgQU1fQ09ORklHX0hFQURFUiBoYXMgYmVlbiByZW1vdmVkIGluIHRoZSBqdXN0LXJlbGVhc2VkIGF1dG9tYWtlIDEuMTM6CgkgIGh0dHBzOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0bWwvYXV0b21ha2UvMjAxMi0xMi9tc2cwMDAzOC5odG1sCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA4ODEKCjIwMTItMTItMzAgMTE6MzI6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJICBlZ2xnbGVzc2luazogRml4IGluZGVudGlvbgoKMjAxMi0xMi0zMCAxMTozMjowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmV0dXJuIHRoZSBsYXN0X2Zsb3cgaW1tZWRpYXRlbHkgaWYgaXQgd2Fzbid0IEdTVF9GTE9XX09LCgoyMDEyLTEyLTMwIDExOjI5OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggY29weSZwYXN0ZSBtaXN0YWtlCgoyMDEyLTEyLTMwIDEwOjQ1OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBJbXByb3ZlIEVHTC9HTCBlcnJvciBoYW5kbGluZyBhIGJpdAoKMjAxMi0xMi0zMCAxMDo0MzozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG9uJ3QgYWNjZXNzIHRoZSB2aWRlbyBmcmFtZSBkYXRhIGlmIG5vdCBuZWNlc3NhcnkKCjIwMTItMTItMzAgMTA6MTg6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IENvbmZpZ3VyZSBjYXBzIGZyb20gdGhlIHNldGNhcHMgZnVuY3Rpb24gYWxyZWFkeQoKMjAxMi0wNy0yNiAyMDozODoyOCArMDIwMCAgTWF0dGhpYXMgSGFyZHQgPG1oYXJkdEBiZXJsaW51eC1zb2x1dGlvbnMuZGU+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBleHRyYWN0IElTTyA2MzkgbGFuZ3VhZ2UgY29kZXMgZm9yIHN1YnRpdGxlcyBpbnRvIHRhZ2xpc3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODAyMDAKCjIwMTItMTItMjggMTk6MzY6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEJpbmQgdGhlIE9wZW5HTCBFUyBBUEkgaW4gdGhlIHJlbmRlciB0aHJlYWQgdG9vCgoyMDEyLTEyLTI4IDE0OjA1OjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBTb21lIHJlZmFjdG9yaW5nIGFzIHByZXBhcmF0aW9uIGZvciBwbGF0Zm9ybSBzcGVjaWZpYyByZW5kZXJpbmcKCjIwMTItMTItMjggMTM6MDg6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzb21lIG1vcmUgY29tbWVudHMKCjIwMTItMTItMjggMTI6NDA6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE9ubHkgdXNlIHRoZSBHc3RWaWRlb0ZyYW1lIGlmIHdlIGhhdmUgYSBidWZmZXIKCjIwMTItMTItMjcgMTA6NTE6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZWdsZ2xlcy9NYWtlZmlsZS5hbToKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJICBlZ2xnbGVzc2luazogQWRkIGNvbmZpZ3VyZSBwYXJhbWV0ZXIgdG8gY2hvc2UgdGhlIEVHTCB3aW5kb3cgc3lzdGVtCgkgIE9ubHkgbmVlZGVkIGZvciBjcmVhdGluZyBuYXRpdmUgd2luZG93cy4KCjIwMTItMTItMjYgMTc6MzU6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc3VwcG9ydCBmb3IgTWFsaSBmYmRldiBFR0wgZHJpdmVyCgoyMDEyLTEyLTI3IDE0OjA5OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5oOgoJICBkM2R2aWRlb3Npbms6IEFkZCBjb21wYXRpYmlsaXR5ICNkZWZpbmVzIGZvciBvbGRlciBtaW5ndyBoZWFkZXJzCgkgIFRoZXNlIHdlcmUgcmVtb3ZlZCByZWNlbnRseSBidXQgdGhlc2UgbWluZ3cgaGVhZGVycyBhcmUgc3RpbGwKCSAgb3V0IHRoZXJlLgoKMjAxMi0xMi0yMSAwNzozNToxMyAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGluazogcmVtb3ZlIHVzZWxlc3MgYW5kIHVuaW5pdGlhbGl6ZWQgbGlzdCBjYXVzaW5nIGEgY3Jhc2ggaW4gdGhlIGRldmljZSBwcm9iZQoKMjAxMi0xMi0yNiAxNzoyNTozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIHZpZGVvIG1ldGEgYW5kIGFyYml0cmFyeSBzdHJpZGVzCgoyMDEyLTEyLTI2IDE1OjU4OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggd2lkdGgvaGVpZ2h0IHN3YXAgaW4gbGFzdCBjb21taXQKCjIwMTItMTItMjYgMTU6NDY6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlbW92ZSBkZWJ1ZyBmdW5jdGlvbiBjYWxsIGZyb20gcHJldmlvdXMgY29tbWl0CgoyMDEyLTEyLTI2IDE0OjM5OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBoYW5kbGluZyBvZiBHc3RWaWRlb092ZXJsYXk6OnNldF9yZW5kZXJfcmVjdCgpIGFuZCBjcm9wIG1ldGFkYXRhCgoyMDEyLTEyLTI2IDEwOjU0OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBhIGNhc3QgZnJvbSBFR0xOYXRpdmVXaW5kb3dUeXBlIHRvIFdpbmRvdyB0byBmaXggYSBjb21waWxlciB3YXJuaW5nCgoyMDEyLTEyLTI2IDEwOjM5OjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggYSBjcmFzaCBvbiBHc3RWaWRlb092ZXJsYXk6OmV4cG9zZSgpCgoyMDEyLTEyLTI2IDEwOjM0OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5oOgoJICBlZ2xnbGVzc2luazogRml4IGNyYXNoIHdoZW4gY2xvc2luZyBpbnRlcm5hbCBYMTEgd2luZG93CgoyMDEyLTEyLTI2IDEwOjIwOjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJICBlZ2xnbGVzc2luazogQWRkIHByb3BlciBjaGVjayBmb3IgWDExCgoyMDEyLTEyLTE4IDA5OjUzOjE2IC0wODAwICBKb2UgS29ubm8gPGpvZS5rb25ub0BpbnRlbC5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogZG8gbm90IGRlZmF1bHQgdG8gYSBmdWxsc2NyZWVuIGNhbnZhcwoJICBEZWZlciBjZXJ0YWluIGNhbnZhcyBwYXJ0aWN1bGFycyB0byB0aGUgcGxheWVyIChvciB0aGUgV2F5bGFuZAoJICBjb21wb3NpdG9yKS4gQmVmb3JlIHRoaXMgY2hhbmdlLCBhIGZ1bGxzY3JlZW4gY2FudmFzIHdhcyBhbHdheXMKCSAgcmVxdWVzdGVkLiBUaGlzIG1heSBub3QgYmUgZGVzaXJhYmxlIGluIGFsbCBjYXNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDQ0MgoKMjAxMi0xMi0yMyAwOTo1MTo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSAgb3BlbmpwZWdkZWM6IE9ubHkgdXNlIDEwIGJpdCBZVVYgZm9ybWF0cyBmb3IgZXhhY3RseSAxMCBiaXQgaW1hZ2VzLCBub3QgPD0gMTYgYml0CgkgIEFuZCB1c2UgdGhlIGdlbmVyaWMgY29udmVydGVyIHRvIEFZVVY2NCBmb3IgZXZlcnl0aGluZyBlbHNlLgoKMjAxMi0xMi0yMiAxODo0MzozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiBSZW1vdmUgc2NhcnkgIndoaWxlIChvYmplY3QucmVmY291bnQgPiAwKSByZWxlYXNlIChvYmplY3QpOyIgY29kZQoJICBJZiB0aGVyZSBpcyBhIG1lbW9yeSBsZWFrLCB0aGlzIGlzbid0IHRoZSB3YXkgaG93IGl0IHNob3VsZCBiZSBmaXhlZC4KCjIwMTItMTItMjIgMTg6MTc6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBEb24ndCBmb3JnZXQgdG8gcmV0dXJuIGEgdmFsdWUgZnJvbSA6OnByb3Bvc2VfYWxsb2NhdGlvbigpCgoyMDEyLTEyLTIyIDE4OjE3OjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogQWRkIHN1cHBvcnQgZm9yIHRoZSB2aWRlbyBtZXRhCgoyMDEyLTEyLTIyIDE4OjEyOjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSAgZDNkdmlkZW9zaW5rOiBEb24ndCB1c2UgImNsYXNzIiBhcyB2YXJpYWJsZSBuYW1lIGFuZCBkb24ndCB1c2UgQzk5IGNvbW1lbnRzCgoyMDEyLTEyLTIyIDE4OjA0OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IE9ubHkgb3BlbiBzeXN0ZW0gcmVzb3VyY2VzIGluIGluIE5VTEwtPlJFQURZLCBub3Qgb24gb2JqZWN0IGluc3RhbnRpYXRpb24KCjIwMTItMTItMjIgMTc6NTU6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJICBkM2R2aWRlb3Npbms6IFByb3Blcmx5IGNvcHkgZnJhbWVzIHRvIEQzRCB3aXRoIHRoZSByaWdodCBzdHJpZGVzIGFuZCBldmVyeXRoaW5nCgkgIEFuZCBvbmx5IHN1cHBvcnQgY29sb3IgZm9ybWF0cyB0aGF0IGFyZSBhY3R1YWxseSBzdXBwb3J0ZWQgYnkgdGhlIGRyaXZlciwKCSAgdGhpcyBhbGxvd3MgcHJvcGVyIHplcm8tY29weSBoYW5kbGluZyBsYXRlciBhbmQgc2ltcGxpZmllcyB0aGUgY29kZSBhIGxvdC4KCSAgQWxzbyBzaW1wbGlmeSBzb21lIG90aGVyIHBsYWNlcywgbGlrZSB0aGUgZm9ybWF0IG1hcHBpbmcgY29kZS4KCjIwMTItMTItMjIgMTY6MjY6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSAgZDNkdmlkZW9zaW5rOiBSZW1vdmUgbm9uLXNlbnNlIGRpc3BsYXkgUEFSIGhhbmRsaW5nCgkgIFRoaXMgaGFzIHRvIGJlIGltcGxlbWVudGVkIHByb3Blcmx5IGF0IHNvbWUgcG9pbnQKCjIwMTItMTItMjIgMTY6MTg6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBGaXggY2FwcyBsZWFrCgoyMDEyLTEyLTIyIDEyOjA5OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogRml4IGR1cGxpY2F0ZWQgZm9ybWF0IGVudHJ5IGluIHRoZSB0ZW1wbGF0ZSBjYXBzCgoyMDEyLTEyLTIyIDEyOjA1OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2QzZHZpZGVvc2luay9NYWtlZmlsZS5hbToKCSAgZDNkdmlkZW9zaW5rOiBGaXggbGlua2luZwoKMjAxMi0xMi0yMiAxMTo1ODoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiBGaXggc29tZSBtb3JlIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEyLTEyLTIyIDExOjUwOjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkgIGQzZHZpZGVvc2luazogUG9ydCByZW1haW5pbmcgYml0cyB0byBuZXcgR0xpYiB0aHJlYWRpbmcgQVBJCgoyMDEyLTEyLTIyIDExOjQ1OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogQW5kIHJlbW92ZSB0aGUgcmlnaHQgZGVjbGFyYXRpb24KCjIwMTItMTItMjIgMTE6NDQ6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBSZW1vdmUgdW51c2VkIHN0YXRpYyBkZWNsYXJhdGlvbgoKMjAxMi0xMi0yMiAxMTo0MzoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGVzCgoyMDEyLTEyLTIyIDExOjQyOjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkgIGQzZHZpZGVvc2luazogVXBkYXRlIHRvIG5ldyBHTGliIHRocmVhZGluZyBBUEkKCjIwMTItMTItMjIgMTE6Mzg6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSAgZDNkdmlkZW9zaW5rOiBSZW5hbWUga2VlcF9hc3BlY3RfcmF0aW8gdG8gZm9yY2VfYXNwZWN0X3JhdGlvIGluIHRoZSBoZWFkZXIgdG9vCgoyMDEyLTEyLTIyIDExOjM1OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogVXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1MKCjIwMTItMTItMjIgMTE6MzQ6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogUmVuYW1lIGtlZXAtYXNwZWN0LXJhdGlvIHRvIGZvcmNlLWFzcGVjdC1yYXRpbyBhbmQgZGVmYXVsdCB0byBUUlVFCgkgIEZvciBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIHZpZGVvIHNpbmtzLgoKMjAxMi0xMi0yMiAxMTozMDowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmg6CgkgIGQzZHZpZGVvc2luazogQWRkIGZpbGVzIHRoYXQgaGFkIHRvIGJlIGluY2x1ZGVkIGluIHRoZSBsYXN0IGNvbW1pdAoKMjAxMi0xMi0yMiAxMToyODoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL01ha2VmaWxlLmFtOgoJICBkM2R2aWRlb3Npbms6IEFkZCAkKEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTKSB0byBDRkxBR1MKCjIwMTItMTItMjIgMTE6MjQ6MjggKzAxMDAgIFJvbGFuZCBLcmlrYXZhIDxya3Jpa2F2YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDEwL2R4MTAuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMC9keDEwLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTAvZHgxMF9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMC9keDEwX2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDExL2R4MTEuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMS9keDExLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMV9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMS9keDExX2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDkvZHg5LmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDkuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OV9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OV9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHhfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4X2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZHguYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2R4Lmg6CgkgIGQzZHZpZGVvc2luazogVmFyaW91cyBpbXByb3ZlbWVudHMKCSAgKiBYT3ZlcmxheSBzZXRfcmVuZGVyX3JlY3RhbmdsZSBzdXBwb3J0IChVc2VmdWwgZm9yIHJlbmRlcmluZyBpbiBRVCBRTUwpCgkgICogVmlkZW8gZm9ybWF0IG5lZ290aWF0aW9uICh3aXRoIHByZWZlcmVuY2Ugb3JkZXJpbmcpCgkgICogVXNpbmcgRGlyZWN0M0Q5IChObyBiZW5lZml0IHRvIHVzaW5nIG5ld2VyIEQzRCB2ZXJzaW9ucykKCjIwMTItMTItMjEgMTY6MTE6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBPbmx5IGluY2x1ZGUgZm9ybWF0cyB0aGF0IGFyZSBhY3R1YWxseSB3b3JraW5nCgoyMDEyLTEyLTIxIDE1OjIzOjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogQWRkIHRoZSBhY3R1YWxseSBzdXBwb3J0ZWQgY29sb3IgZm9ybWF0cyB0byB0aGUgdGVtcGxhdGUgY2FwcwoKMjAxMi0xMi0xOCAyMjoyMzo0MiArMDEwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSAgb3BlbmpwZWdlbmMvLWRlYzogcHJpbnQgb3BlbmpwZWcgbG9ncyBmb3IgZGVidWcgdHJhY2luZwoKMjAxMi0xMi0xOCAxNjo1NjoyOCArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1czogdXNlIGFwcHJvcHJpYXRlIHByaW50ZiBmb3JtYXQgZm9yIGdzaXplCgoyMDEyLTEyLTE4IDE2OjUyOjI2ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IHVzZSBhcHByb3ByaWF0ZSBwcmludGYgZm9ybWF0IGZvciBnc2l6ZQoKMjAxMi0xMi0xOCAxNjo1MDozNyArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmOiB1c2UgYXBwcm9wcmlhdGUgcHJpbnRmIGZvcm1hdCBmb3IgZ3NpemUKCjIwMTItMTItMTggMTY6NDA6NTkgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAganBlZzogdXNlIGFwcHJvcHJpYXRlIHByaW50ZiBmb3JtYXQgZm9yIGdzaXplCgoyMDEyLTEyLTE4IDE2OjIwOjA4ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkgIGludGVyOiB1c2UgYXBwcm9wcmlhdGUgcHJpbnRmIGZvcm1hdCBmb3IgZ3NpemUKCjIwMTItMTItMTggMTU6NDQ6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkgIG9wZW5qcGVnZW5jOiBBZGQgc29tZSBwcm9wZXJ0aWVzCgoyMDEyLTEyLTE4IDE1OjQzOjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJICBvcGVuanBlZ2RlYzogRG9uJ3QgY3Jhc2ggaWYgY29sb3JzcGFjZSBpcyBub3QgcHJvdmlkZWQgb24gdGhlIGNhcHMKCSAgZ19zdHJfZXF1YWwoKSBpcyAqbm90KiBOVUxMLXNhZmUKCjIwMTItMTItMTcgMTc6MTk6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkgIG9wZW5qcGVnZGVjOiBJbXByb3ZlIHJvYnVzdG5lc3MgYWdhaW5zdCBmb3JtYXRzIHdpdGggZGlmZmVyZW50IHNldHRpbmdzIHBlciBjb21wb25lbnQKCjIwMTItMTItMTcgMTc6MTM6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkgIG9wZW5qcGVnZGVjOiBQcm9wZXJ0aWVzIHdvbid0IGJlIG5lZWRlZCBpbiB0aGUgZGVjb2RlcgoKMjAxMi0xMi0xNyAxNzoxMTo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSAgb3BlbmpwZWdlbmM6IEZpeCBkYXRhIHBvaW50ZXIgaW5jcmVtZW50aW5nCgoyMDEyLTEyLTE3IDE3OjA2OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJICBvcGVuanBlZ2VuYzogT3B0aW1pemUgaW1hZ2UgZmlsbGluZyBmdW5jdGlvbnMgYSBiaXQKCjIwMTItMTItMTcgMTc6MDI6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkgIG9wZW5qcGVnZGVjOiBBZGQgbWlzc2luZyBzaGlmdHMKCjIwMTItMTItMTcgMTY6NTc6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkgIG9wZW5qcGVnZGVjOiBPcHRpbWl6ZSBmcmFtZSBmaWxsaW5nIGZ1bmN0aW9ucyBhIGJpdAoKMjAxMi0xMi0xNyAxNToxNjo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IE1ha2Ugc3VyZSB0aGUgY2FwcyBhcmUgYWN0dWFsbHkgd3JpdGFibGUgYmVmb3JlIGNoYW5naW5nIHRoZW0KCjIwMTItMTItMTcgMTU6MDQ6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBVc2UgdGhlIHBlZXIgY2FwcyBmb3IgcmVzdHJpY3Rpb25zIGluc3RlYWQgb2YgdGhlIHNyY3BhZCBhbGxvd2VkIGNhcHMKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgaW50ZXJzZWN0IHdpdGggdGhlIHNyY3BhZCB0ZW1wbGF0ZSBjYXBzIGFuZCBhZGQgYWxsIHRoZSBjYXBzIGZpZWxkcwoJICB0aGF0IHRoZSBwYXJzZXIgd2lsbCBldmVyIHNldCwgbm8gbWF0dGVyIGlmIGRvd25zdHJlYW0gcmVzdHJpY3RzIHRoaXMgZmllbGQgb3Igbm90LgoJICBUaGlzIHJlcXVpcmVzIHVwc3RyZWFtIHRvIHNldCB0aGlzIGZpZWxkIG9uIHRoZSBjYXBzIHRvIHN1Y2Nlc3NmdWxseSBuZWdvdGlhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTAxODQKCjIwMTItMTItMTYgMjA6MDU6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJICBvcGVuanBlZzogQ29ycmVjdCB0ZW1wbGF0ZSBjYXBzIGEgYml0CgoyMDEyLTEyLTE2IDIwOjAyOjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuaDoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkgIG9wZW5qcGVnOiBIYW5kbGUgdGhlIG51bS1jb21wb25lbnRzIGZpZWxkIGluIHRoZSBjYXBzCgoyMDEyLTEyLTE1IDExOjI1OjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuaDoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkgIG9wZW5qcGVnOiBBZGQgc3VwcG9ydCBmb3IgdGhlIGNvbG9yc3BhY2UgZmllbGQgaW4gdGhlIGNhcHMKCjIwMTItMTItMTQgMjA6MDg6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuaDoKCSAgb3BlbmpwZWc6IEFkZCBKUEVHMjAwMCBlbmNvZGVyIGVsZW1lbnQKCjIwMTItMTItMTQgMTQ6Mzg6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuanBlZy9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuaDoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5oOgoJICBvcGVuanBlZzogQWRkIE9wZW5KUEVHIGJhc2VkIEpQRUcyMDAwIGRlY29kZXIKCjIwMTItMTItMTYgMTc6NDQ6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBNYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGFkZCByZW1vdmVkIHJ0cG11eCBiaXRzIHRvIGNydWZ0IGNoZWNrCgoyMDEyLTEyLTE2IDE3OjM1OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQW5kcm9pZC5tazoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvcnRwbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4Lmg6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4ZXIuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICBydHBtdXg6IHJlbW92ZSBydHBtdXggcGx1Z2luLCBtb3ZlZCB0byAtZ29vZAoJICBNb3ZlIHJ0cG11eCBhbmQgcnRwZHRtZm11eCBpbnRvIHJ0cG1hbmFnZXIgcGx1Z2luIGluIC1nb29kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI5MTE3CgoyMDEyLTEyLTE0IDE0OjUxOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQW5kcm9pZC5tazoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5oOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvcGx1Z2luLmM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tbWFpbi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1wbGF5ZXIuaDoKCSAgc2NhbGV0ZW1wbzogcmVtb3ZlIHNjYWxldGVtcG8gcGx1Z2luLCBtb3ZlZCB0byAtZ29vZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MjYyCgoyMDEyLTEyLTE0IDE4OjA5OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IGRvbid0IHVzZSBkZXByZWNhdGVkIHRocmVhZGluZyBBUEkKCjIwMTItMTItMTMgMTQ6MTI6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHVzZSB1cHN0cmVhbSB3aWR0aC9oZWlnaHQgd2hlbiBnaXZlbgoJICBUaGUgdXBzdHJlYW0gd2lkdGggYW5kIGhlaWdodCBzaG91bGQgb3ZlcnJpZGUgdGhlIGRpbWVuc2lvbiBkZXRlY3RlZCBpbiB0aGUKCSAgZmlsZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzE0MgoKMjAxMi0xMi0xMyAxMTo0Nzo1NyArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGV4cG9ydCBudW1iZXIgb2Ygc3ByaXRlIHdhcnBpbmcgcG9pbnRzIGluIGNhcHMKCSAgVGhpcyBhbGxvd3MgZmlsdGVyaW5nIG91dCB2aWRlb3MgZm9yIGhhcmR3YXJlIGRlY29kZXJzIHRoYXQgZG8gbm90CgkgIHN1cHBvcnQgR01DIGF0IGFsbCBvciBvbmx5IHN1cHBvcnQgYSBsaW1pdGVkIG51bWJlciBvZiBzcHJpdGUgd2FycGluZwoJICBwb2ludHMgKHVzdWFsbHkgMSkuCgoyMDEyLTEyLTEzIDExOjQzOjA5ICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogaGFuZGxlIGRpdnggY2FwcwoJICBEaXZYIDQvNSBhcmUgTVBFRzQgcGFydCAyIHZpZGVvcywgc28gdGhleSBjYW4gYmUgcGFyc2VkIGJ5IHRoaXMgcGx1Z2luLgoKMjAxMi0xMi0xMyAwMTo1NzoyMSArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmg6CgkgIGRpcmVjdHNvdW5kOiBmaXggY29tcGlsYXRpb24gZXJyb3JzIGNhdXNlZCBieSBjaXJjdWxhciBpbmNsdWRlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMTI4CgoyMDEyLTEyLTEyIDE4OjUwOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogcHJpbnRmIGZvcm1hdCBmaXhlcyBmb3IgZGVidWcgbWVzc2FnZXMKCjIwMTItMTItMTIgMDA6NDA6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJICBobHM6IG1pbm9yIE1ha2VmaWxlIGNsZWFuLXVwCgkgIFJlbW92ZSBzdXBlcmZsdW91cyBTT1VQX0NGTEFHUyBhbmQgU09VUF9MSUJTLgoKMjAxMi0xMi0xMSAyMTowOTowMiArMDAwMCAgTWljaGFlbCBFc2VtcGxhcmUgPG1pY2hhZWwuZXNlbXBsYXJlQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkgIGhsczogbGluayB0byB0aGUgcmlnaHQgZ3N0LXBsdWdpbnMtYmFzZSBsaWJzIGFuZCBmaXggbGlicyBvcmRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMDMwCgoyMDEyLTEyLTExIDIwOjU4OjQyICswMDAwICBNaWNoYWVsIEVzZW1wbGFyZSA8bWljaGFlbC5lc2VtcGxhcmVAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9NYWtlZmlsZS5hbToKCSAgZDNkdmlkZW9zaW5rOiBmaXggY29tcGlsZXIgYW5kIGxpbmtlciBmbGFncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwMDMxCgoyMDEyLTEyLTExIDE1OjAwOjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVc2UgQUNfTEFOR19QUk9HUkFNIHRvIG1ha2UgYXV0b2NvbmYgaGFwcHkKCjIwMTItMTItMTEgMTQ6MTk6NDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvd2luc2NyZWVuY2FwL01ha2VmaWxlLmFtOgoJICB3aW5zY3JlZW5jYXA6IEZpeCBjb25maWd1cmUgY2hlY2sgYW5kIGNvbXBpbGF0aW9uCgoyMDEyLTEyLTExIDEwOjU4OjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgIG1tczogRml4IGZvcm1hdCBzdHJpbmcgZm9yIG9mZl90L2dvZmZzZXQKCSAgRml4ZXMgYnVnICM2OTAwMzMuCgoyMDEyLTEyLTA2IDEwOjA2OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IERvbid0IGFsbG93IGFueSB3cmFwcGluZyBvdGhlciB0aGFuIGZyYW1lIHdyYXBwaW5nCgkgIEJhZCB0aGluZ3Mgd2lsbCBoYXBwZW4gb3RoZXJ3aXNlLCBsaWtlIHJlYWRpbmcgYSBjb21wbGV0ZSwKCSAgbXVsdGlwbGUgR0IgbGFyZ2UgdmlkZW8gdHJhY2sgaW50byBhIHNpbmdsZSBidWZmZXIuCgkgIENvbmZsaWN0czoKCSAgZ3N0L214Zi9teGZkZW11eC5jCgoyMDEyLTEyLTA1IDE1OjI3OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmFsYXcuYzoKCSogZ3N0L214Zi9teGZkMTAuYzoKCSogZ3N0L214Zi9teGZkdi1kaWYuYzoKCSogZ3N0L214Zi9teGZlc3NlbmNlLmg6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9teGYvbXhmdXAuYzoKCSogZ3N0L214Zi9teGZ2YzMuYzoKCSAgbXhmZGVtdXg6IEFkZCBmdW5jdGlvbiB0byBnZXQgdGhlIGVzc2VuY2UgdHJhY2sgd3JhcHBpbmcKCjIwMTItMTItMDUgMTI6MjM6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkqIGdzdC9teGYvbXhmcXVhcmsuYzoKCSogZ3N0L214Zi9teGZxdWFyay5oOgoJICBteGY6IEFkZCBzdXBwb3J0IGZvciBwYXJzaW5nIGZpbGxlciBzdHJ1Y3R1cmFsIGNvbXBvbmVudHMKCSAgVGhpcyBkb2VzIG5vdCBhZGQgc3VwcG9ydCBmb3IgYWN0dWFsbHkgcHJvZHVjaW5nIGZpbGxlciBkYXRhCgkgIGlmIHRoZXJlJ3MgYSBmaWxsZXIgY29tcG9uZW50IGluIGEgdGltZWxpbmUuCgoyMDEyLTEyLTA1IDEyOjA4OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmOiBJbXByb3ZlIGRlYnVnIG91dHB1dCBkdXJpbmcgbWV0YWRhdGEgcmVzb2x2YWwKCjIwMTItMTItMDEgMTc6MDU6MzggKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBkaXNhYmxlIHNlZWtpbmcgaWYgdGhlIGNvbmZpZ3VyZWQgdXJsIHNwZWNpZmllcyBsaXZlPXRydWUKCSAgRGlzYWJsZSBzZWVraW5nIHdoZW4gbGl2ZT10cnVlIGlzIHNldCBpbiB0aGUgbG9jYXRpb24gVVJMIChlZzoKCSAgInJ0bXA6Ly9leGFtcGxlLm5ldC9zdHJlYW0gbGl2ZT10cnVlIikKCjIwMTItMTEtMzAgMjA6MDE6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVpMHIvTWFrZWZpbGUuYW06CgkgIHJlc2luZHZkLCBmcmVpMHI6IGxpbmsgdG8gbGliZ21vZHVsZS0yLjAgaW4gcGx1Z2lucyB0aGF0IHVzZSBnX21vZHVsZV8qIEFQSQoJICBQcm9iYWJseSBuZWVkZWQgZm9yIG90aGVyIHBsdWdpbnMgYXMgd2VsbC4KCjIwMTItMTEtMzAgMTk6NTQ6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHNwcmlua2xlIHNvbWUgQUNfTEFOR19QUk9HUkFNIGluIHdhc2FwaSBjaGVjawoJICBTbyBhdXRvZ2VuLnNoIHN0b3BzIG1vYW5pbmcuCgoyMDEyLTExLTMwIDE1OjEwOjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBteGY6IEFkZCBtb3JlIHN1cHBvcnQgZm9yIFJQMjAwOCAoQVZDIGluIHRoZSBNUEVHIG1hcHBpbmcpCgkgIENvbmZsaWN0czoKCSAgZ3N0L214Zi9teGZtcGVnLmMKCjIwMTItMTEtMzAgMTE6NDQ6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3dhc2FwaS9NYWtlZmlsZS5hbToKCSAgd2FzYXBpOiBtYWtlIHRoZSBidWlsZCBoYXBweSB3aXRob3V0IHRoZSBzdGF0aWMgcGx1Z2lucyBwYXRjaAoKMjAxMi0xMS0zMCAxMTo0MDo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQWRkIHdhc2FwaSB0byB0aGUgdW5wb3J0ZWQgcGx1Z2lucwoKMjAxMi0xMS0zMCAxMTozNzozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3dhc2FwaS9NYWtlZmlsZS5hbToKCSAgd2FzYXBpOiBJbnRlZ3JhdGUgaW50byB0aGUgYXV0b3Rvb2xzIGJ1aWxkIHN5c3RlbQoJICBQYXRjaCBiYXNlZCBvbiBhIHBhdGNoIGJ5IEZhYnJpemlvIENpYXZhdHRhIDxmYWJyaXppby5jaWF2YXR0YUBnbWFpbC5jb20+CgoyMDEyLTExLTI4IDEzOjEwOjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3NobS9NYWtlZmlsZS5hbToKCSAgc2htOiBGaXggY29uZmlndXJlIGNoZWNrIGFuZCBjbGVhbiB1cCBNYWtlZmlsZQoKMjAxMi0xMS0yNyAxNTozNDoxOSAtMDUwMCAgRW1tYW51ZWwgRHVyYW5kIDxlbW1hbnVlbGR1cmFuZEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9zaG0vTWFrZWZpbGUuYW06CgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IEZpeCBjb21waWxhdGlvbiBvZiBzaG0gb24gT1NYCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODkxODMKCjIwMTItMTEtMjYgMTk6MjE6MDMgKzAwMDAgIEtyenlzenRvZiBLb25vcGtvIDxrcnp5c3p0b2Yua29ub3Brb0B5b3V2aWV3LmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGNyYXNoZXMgd2hlbiB0cnlpbmcgdG8gcmUtdXNlIHRoZSBlbGVtZW50CgkgIEEgY3Jhc2ggb2NjdXJlZCBhZnRlciBwdXNoaW5nIGJ1ZmZlcnMgYW5kIGNoYW5naW5nIG1wZWd0c211eCBzdGF0ZSB0bwoJICBOVUxML1JFQUQgYW5kIHRoZW4gYmFjayB0byBQTEFZSU5HL1BBVVNFRC4KCSAgVGhlIGNyYXNoIHdhcyBjYXVzZWQgYnkgaG9sZGluZyBhIGRhbmdsaW5nIHBvaW50ZXIgaW4gdGhlIE1wZWdUc011eAoJICBwcm9ncmFtIHRhYmxlLgoJICBBZGRpdGlvbmFsbHkgc3RyZWFtIGhlYWRlcnMgd2VyZSBsZWFrZWQgd2hlbiByZXNldHRpbmcgdGhlIGVsZW1lbnQ6CgkgIG11eC0+c3RyZWFtaGVhZGVyIHNldCB0byBOVUxMIGluIG1wZWd0c211eF9yZXNldCgpIGJlZm9yZSBpdCdzIHJlbGVhc2VkCgkgIGxhdGVyIGluIHRoZSBzYW1lIGZ1bmN0aW9uLgoJICBBZGRlZCBhIHVuaXQgdGVzdDogdGVzdF9tdWx0aXBsZV9zdGF0ZV9jaGFuZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTEwNwoKMjAxMi0xMS0yMyAxMjoyNjo0MyArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8dXJhZXVzQGxpbnV4cmlzaW4ub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIEFkZCBsYXRlc3QgcG9ydGVkIHBsdWdpbnMgZXRjLgoKMjAxMi0xMS0yMiAxMDo1NzoyNSArMDAwMCAgS3J6eXN6dG9mIEtvbm9wa28gPGtyenlzenRvZi5rb25vcGtvQHlvdXZpZXcuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogcHJvcGFnYXRlIGZsb3cgcmV0dXJucwoJICBBbmQgYWRkIGEgdW5pdCB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg4ODcwCgoyMDEyLTExLTIxIDEwOjIxOjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkqIHN5cy93aW5rcy9NYWtlZmlsZS5hbToKCSAgd2luZG93czogUHV0IHRoZSBEaXJlY3RYIExERkxBR1MgaW4gdGhlIGNvcnJlY3QgcGxhY2UgYW5kIHJlb3JkZXIgbGlicmFyaWVzCgoyMDEyLTExLTIwIDIzOjIwOjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkgIGhsc3Npbms6IGFkZCBkb2MgY2h1bmsgd2l0aCBleGFtcGxlIGNvbW1hbmQgbGluZQoKMjAxMi0xMS0yMCAxMjowNToxNyArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkgIGQzZHZpZGVvc2luazogZml4IHJlZGVmaW5pdGlvbiBvZiBERUNMQVJFX0lOVEVSRkFDRV9JSUQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4ODUxMAoKMjAxMi0xMS0xOSAxOToyOTo0OCAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIEdzdFBob3RvZ3JhcGh5OiBBZGQgbmV3IGVudW0gdmFsdWVzIHRvIG1hdGNoIGFuZHJvaWQncyBwYXJhbWV0ZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODg0ODYKCjIwMTItMTEtMTkgMTA6MzI6NTcgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBmaXggUFRZUEUgZm9yIGludGVybGFjZWQgZnJhbWVzLgoJICBDb3Zlcml0eSBmb3VuZCBtaXNzaW5nIGJyZWFrIGluIHBhcnNlX2ZyYW1lX2hlYWRlcl9hZHZhbmNlZCgpIHdoZW4KCSAgZGV0ZXJtaW5pbmcgUFRZUEUgZnJvbSBGUFRZUEUgZm9yIGludGVybGFjZWQgc3RyZWFtcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4ODYyNgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEyLTA5LTIxIDE4OjIzOjIxICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggZXJyb3IgY29kZSBmb3IgaW52YWxpZCBzaXplIHBhcnNlZCBpbiBTUFMuCgkgIGdzdF9oMjY0X3BhcnNlX3NwcygpIHJldHVybmVkIEZBTFNFIGlmIGl0IHBhcnNlZCBpbnZhbGlkIChuZWdhdGl2ZSkKCSAgc2l6ZSBjb21wb25lbnRzLiBOb3cgbWFrZSBpdCBncmFjZWZ1bGx5IHJldHVybiBHU1RfSDI2NF9QQVJTRVJfRVJST1IKCSAgaW5zdGVhZCBvZiBHU1RfSDI2NF9QQVJTRVJfT0sgKEZBTFNFKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDU2OAoKMjAxMi0xMS0xOSAxMToyNjoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYjQ5N2M0ZiB0byBhNzJmYWVhCgoyMDEyLTExLTE1IDExOjM3OjEyIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IEZpeCBuaXRwaWNrCgoyMDEyLTExLTE1IDEwOjE0OjM0IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IE1ha2Ugc3VyZSBwYWQgdGVtcGxhdGUgY2FwcyBhcmUgbm90IGZpeGVkIGZyb20gdGhlIGJlZ2dpbmcKCSAgUmlnaHQgbm93IGRlY29kZWJpbiB3aWxsIGNvbmNpZGVyIHRoZSBwYWQgdGVtcGxhdGUgY2FwcyBhcyBmaXhlZCBhbmQgaWYgYSBkZWNvZGVyCgkgIGhhcyByZXN0cmljdGlvbiBvbiBmb3IgZXhhbXBsZSBoZWlnaHQvd2lkdGggaXQgd29uJ3QgYmUgYXV0b3BsdWdnZWQgYmVjYXVzZQoJICBnc3RfY2Fwc19pc19zdWJzZXQgZmFpbHMgYXMgdGhvc2UgZmllbGRzIGFyZSBtaXNzaW5nIGZyb20gdGhlIHBhZCB0ZW1wbGF0ZSBjYXBzLgoJICBXZSBmaXggdGhlIGlzc3VlIGhlcmUgbWFraW5nIHN1cmUgdGhhdCB0aGUgcGFkIGNhcHMgYXJlIGZpeGVkIHVzaW5nIGRhdGEgZnJvbQoJICB0aGUgc3RyZWFtLgoKMjAxMi0xMS0xMyAyMjo0MDoyNSArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZm9yd2FyZCB1cHN0cmVhbSB0aW1lIHNlZ21lbnRzIGFmdGVyIGZsdXNoZXMKCSAgQWxzbyByZXNldCBzZWdtZW50IGluZm8gYW5kIGRyb3AgdGhlIHNlZ21lbnQgZXZlbnQgd2hlbiBkZW11eGVyIGlzCgkgIGZsdXNoZWQuCgkgIFJlc3RvcmUgZGVtdXhlciBzZWdtZW50IHdpdGggdGhlIGluZm8gc3RvcmVkIGluIGJhc2Ugd2hlbiBkZW11eGVyIGlzCgkgIGdvaW5nIHRvIHB1c2ggZGF0YSBhZ2FpbiBpZiBuZWVkZWQuCgkgIERyb3AgY29kZSB0byByZWNvdmVyIHRoZSBzZWdtZW50IGluZm8gZnJvbSBiYXNlIGluIHRoZSBpbml0aWFsIHByb2dyYW0KCSAgYmVjYXVzZXMgaXQncyBzdXBlcnNlZGVkIGJ5IHRoZSBuZXcgY29kZS4KCjIwMTItMTEtMTQgMTI6NDE6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgZ3N0X2FkYXB0ZXJfcHJldl90aW1lc3RhbXAgLT4gZ3N0X2FkYXB0ZXJfcHJldl9wdHMKCjIwMTItMTEtMTQgMTE6MzU6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJICBobHM6IGRpc3QgYWxsIGhlYWRlciBmaWxlcyBuZWVkZWQgdG8gYnVpbGQKCjIwMTItMTEtMTQgMTA6NDY6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYWNjdXJpcC9NYWtlZmlsZS5hbToKCSAgYWNjdXJpcDogZml4IGxpbmtlciBmbGFncwoJICBTcG90dGVkIGJ5IFJpY28gVHpzY2hpY2hob2x6LgoKMjAxMi0xMS0xMSAxMjo0Njo0MyArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogcmVzZXQgdGhlIHN0cmVhbSBzb21lIG1vcmUgaW4gdGhlIGZsdXNoZXMKCSAgTm93IHRoYXQgd2UgaGFuZGxlIGZsdXNoaW5nIGluIHRoZSBGTFVTSF9TVE9QIGV2ZW50IHdlIG5lZWQgdG8gbWFrZQoJICB0aGUgc3RyZWFtcyByZWFkeSBpZiB0aGV5IHdlcmUgZmx1c2hpbmcuCgoyMDEyLTExLTExIDEyOjQ1OjAzICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBmbHVzaCBvYnNlcnZhdGlvbnMgdG9vCgkgIEZsdXNoIHRoZSBwcmV2aW91cyBvYnNlcnZhdGlvbnMgd2hlbiB0aGUgcGFja2V0aXplciBpcyBmbHVzaGVkLgoJICBBbHNvIGRvbid0IGxlYWsgdGhlbSBpbiB0aGUgZGlzcG9zZS4KCjIwMTItMTEtMTAgMjA6NDQ6NDQgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IGZpeCBkb3VibGUgdW5yZWYgb2Ygc2VlayBldmVudAoKMjAxMi0xMS0xMCAyMDozMDoxMyArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogZmx1c2ggaW4gRkxVU0hfU1RPUCB0byBhdm9pZCByYWNlIGNvbmRpdGlvbnMKCSAgRW5zdXJlIHRoZSBjaGFpbiBpcyBub3QgcnVubmluZyBiZWZvcmUgcmVzZXQgdGhlIHN0YXRlIHRvIGF2b2lkIHJhY2UKCSAgY29uZGl0aW9ucyBhbmQgcmFuZG9tIGNvcnJ1cHRpb25zIGRvd25zdHJlYW0uCgkgIEFsc28gZml4ZXMgc2VnZmF1bHRzIGluIHRoZSBwYWNrZXRpemVyIGR1ZSB3cm9uZyBhdmFpbGFibGUgdmFsdWVzIHRoYXQKCSAgY2F1c2VzIGdzdF9hZGFwdGVyX21hcCB0byByZXR1cm4gYSBOVUxMIHBvaW50ZXIuCgoyMDEyLTExLTEyIDE0OjU2OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IEZpeCByZWZjb3VudCBwcm9ibGVtIHdpdGggZnJhbWVzIGJlaW5nIGRyb3BwZWQgYmVjYXVzZSBvZiBkZWNvZGVyIGJ1Z3MKCjIwMTItMTEtMTIgMTE6NDg6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFVzZSBuZXcgR1R5cGUgZm9yIEdUaHJlYWQgaW5zdGVhZCBvZiBqdXN0IEdfVFlQRV9QT0lOVEVSCgoyMDEyLTExLTEyIDExOjMyOjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuaDoKCSAgYW5kcm9pZG1lZGlhOiBVcGRhdGUgdG8gbmV3IEdMaWIgdGhyZWFkIEFQSQoKMjAxMi0xMS0xMCAxOTo1Mjo0NiArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgUmV2ZXJ0ICJ0c3BhY2tldGl6ZXI6IGVuc3VyZSB0aGF0IGEgbnVsbCBwb2ludGVyIGlzbid0IGFjY2Vzc2VkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDZlZmQ2MTFiOGM2ZjQzZjY3YTJmOTNmODQ0NWMxODllMjQ5NjFhYmQuCgkgIEFsc28gdGhpcyBleHRyYSBjaGVjayB3b24ndCBiZSBuZWVkZWQgaWYgaXQncyBmaXhlZCB0aGUgcmFjZSBieSBtb3ZpbmcKCSAgZmx1c2ggYWN0aW9ucyB0byBGTFVTSF9TVE9QLgoKMjAxMi0xMS0xMCAxOTo0Njo0MCArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSAgUmV2ZXJ0ICJ0c2Jhc2U6IGFkZCBhIGd1YXJkIHdpdGggYW4gYXRvbWljIGJvb2xlYW4gd2hlbiBmbHVzaGluZyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBlMTRlMzEwZjcxNzhhYThjMDIwZjU5M2UzZjcxZWM5MmNhMjUzMWY3LgoJICBXb3VsZCBiZSBiZXR0ZXIgbW92ZSB0aGUgcGFja2V0aXplciBmbHVzaGluZyB0byBGTFVTSF9TVE9QIGFuZCBhdm9pZAoJICB0aGUgcmFjZSB0aGF0IHdheS4gV2l0aG91dCBpbnRyb2R1Y2luZyBhIG1lbW9yeSBiYXJyaWVyIHRoYXQgY291bGQKCSAgaGF2ZSBpbXBhY3QgaW4gdGhlIHBlcmZvcm1hbmNlLgoKMjAxMi0xMS0xMCAxNDo0MzoxNyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzLy5nc3RobHNkZW11eC5jLnN3cDoKCSogZ3N0L2hscy8uZ3N0aGxzc2luay5jLnN3cDoKCSAgaGxzc2luazogcmVtb3ZlIHZpbSAuc3dwIGZpbGVzIHRoYXQgSSBqdXN0IGNvbW1pdHRlZCBhY2NpZGVudGFsbHkuLi4KCjIwMTItMTEtMTAgMTQ6MjY6NDYgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2hscy8uZ3N0aGxzZGVtdXguYy5zd3A6CgkqIGdzdC9obHMvLmdzdGhsc3NpbmsuYy5zd3A6CgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnRlZHBsdWdpbi5jOgoJICBobHNzaW5rOiBwb3J0IHRvIDEuMAoKMjAxMi0xMC0yOCAyMToyOTozMSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmg6CgkgIGhsc3Npbms6IGN1dCBzZWdtZW50cyB1c2luZyB0aGUgcnVubmluZy10aW1lCgoyMDEyLTA5LTA5IDIxOjU2OjQzICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzc2luay5jOgoJICBobHNzaW5rOiBkb24ndCB1bnJlZiAtPm11bHRpZmlsZXNpbmsuCgkgIFdlIGdzdF9iaW5fYWRkIGl0IHRvIG91cnNlbGYgc28gbm8gbmVlZCB0byB1bnJlZiBpbiBfZGlzcG9zZS4KCjIwMTItMDktMDkgMjE6NTY6MjIgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkgIGhsc3Npbms6IHJld29yayBfcmVzZXQgYSBiaXQKCjIwMTItMTEtMTAgMDA6MDg6MzUgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkgIHRzYmFzZTogYWRkIGEgZ3VhcmQgd2l0aCBhbiBhdG9taWMgYm9vbGVhbiB3aGVuIGZsdXNoaW5nCgoyMDEyLTExLTA5IDIyOjE3OjExICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICB0c3BhY2tldGl6ZXI6IGVuc3VyZSB0aGF0IGEgbnVsbCBwb2ludGVyIGlzbid0IGFjY2Vzc2VkCgkgIE1pdGlnYXRlcyBzZWdmYXVsdCBkdWUgcmFjZSBjb25kaXRpb24gaW4gRkxVU0hfU1RBUlQgaGFuZGxpbmcgYW5kCgkgIG1wZWd0c19iYXNlX2NoYWluLgoKMjAxMi0xMS0wOCAxNzoxNToyNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHM6IE9ubHkgdXNlIHRpbWVzdGFtcC1iYXNlZCBQQ1IvUFRTIGVzdGltYXRpb24gd2hlbiBuZWVkZWQKCSAgV2hlbiBkZWFsaW5nIHdpdGggbm9uLXRpbWUgYmFzZWQgcHVzaC1tb2RlIHN0cmVhbXMsIHdlIG5lZWQgdG8gcmV2ZXJ0CgkgIHRvIHVzaW5nIHRoZSBvZmZzZXQtYmFzZWQgUENSL1BUUyBlc3RpbWF0aW9uIGxvZ2ljIG9mIHBhY2tldGl6ZXIuCgkgIFRoaXMgc29sdmVzIHVzZXMgY2FzZXMgc3VjaCBhczoKCSAgcHVzaGZpbGU6Ly8gISB0c2RlbXV4CgkgIHNyYyAhIHF1ZXVlICEgdHNkZW11eAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MTc4CgoyMDEyLTExLTA4IDEyOjEyOjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVnbGdsZXNzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSAgZG9jczogQWRkIG1pc3NpbmcgcGx1Z2luIGluc3BlY3Rpb24gZmlsZXMKCSAgRml4ZXMgYnVnICM2ODc4NDAuCgoyMDEyLTExLTA3IDIwOjUwOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IHVwZGF0ZSBjb3VydGVzeSBvZiBhdXRvdXBkYXRlCgoyMDEyLTExLTA3IDIwOjQ4OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogbGV0IEFHX0dTVF9QTFVHSU5fRE9DUyBjaGVjayBmb3IgcHl0aG9uCgkgIEFuZCB1cGRhdGUgY29tbW9uIGZvciBtb3ZlIGZyb20gQVNfUEFUSF9QWVRIT04gdG8gQU1fUEFUSF9QWVRIT04sCgkgIHdoaWNoIGFzIGEgc2lkZS1lZmZlY3Qgc2hvdWxkIHBpY2sgdXAgbmV3ZXIgcHl0aG9uIHZlcnNpb25zIGFzCgkgIHdlbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NjM5MDMKCjIwMTItMTEtMDYgMjA6NTE6MTAgKzAwMDAgIEtldmluIFRob3JuYmVycnkgPGdpbW1lYW1pbGtidHRmQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IERUUyB2YWx1ZSBiZWluZyB1c2VkIGZvciBQVFMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzgwNgoKMjAxMi0xMS0wNiAxMjo0MDowNSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkb24ndCByZXdpbmQgdG8gdGhlIE5BTCBsZW5ndGggc2l6ZSBpbiBieXRld3JpdGVyIGlmIHRoZSBmb3JtYXQgaXMgYnl0ZXN0cmVhbQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NTQ4CgkgIFNpZ25lZC1vZmYtYnk6ICBLZXZpbiBUaG9ybmJlcnJ5CgoyMDEyLTExLTA2IDExOjU0OjM5IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IEFjdHVhbGx5IGFkZCBQUFMgZGF0YSB0byB0aGUgb3V0cHV0IGJ1ZmZlcgoKMjAxMi0wOS0yOCAxMjozNjo1NSAtMDQwMCAgV2lsbCBUaG9tcHNvbiA8d2lsbC50aG9tcHNvbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmg6CgkgIGhsc3Npbms6IGFkZCBhIHBsYXlsaXN0LWxlbmd0aCBwcm9wZXJ0eQoJICBQcm9iYWJseSBub3QgcGFydGljdWxhcmx5IHVzZWZ1bCBpbiBnZW5lcmFsLCBidXQgaGFuZHkKCSAgdG8gY3V0IGRvd24gdGhlIGxhdGVuY3kgb24gYSBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcxMzMKCjIwMTItMTAtMjkgMTM6MjQ6MjUgKzAwMDAgIEx1Y2lhbmEgRnVqaWkgUG9udGVsbG8gPGx1Y2lhbmFAZnVqaWkuZXRpLmJyPgoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkgIGhsc3Npbms6IHJlc2V0IHdoZW4gZ29pbmcgdG8gTlVMTCBzdGF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MTMzCgoyMDEyLTA4LTIxIDIzOjIyOjE5IC0wMzAwICBMdWNpYW5hIEZ1amlpIFBvbnRlbGxvIDxsdWNpYW5hQGZ1amlpLmV0aS5icj4KCgkqIGdzdC9obHMvZ3N0aGxzc2luay5jOgoJICBobHNzaW5rOiBGaXggc2VnbWVudCBuYW1lcyBvbiBwbGF5bGlzdAoJICBXaGVuIHRoZSBwbGF5bGlzdC1yb290IGlzIG5vdCBzZXQsIHRoZSBzZWdtZW50IG5hbWUgbXVzdCBub3QgYmUKCSAgYXBwZW5kZWQgYnkgdGhlIHBhdGguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcxMzMKCjIwMTItMTEtMDMgMjA6Mzg6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL3JhbmRvbS9MSUNFTlNFOgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHBsdWdpbi5jOgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHJhb3AuYzoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhyYW9wLmg6CgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuaDoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZi5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmg6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmg6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5oOgoJKiBleHQvYnoyL2dzdGJ6Mi5jOgoJKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJKiBleHQvYnoyL2dzdGJ6MmRlYy5oOgoJKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJKiBleHQvYnoyL2dzdGJ6MmVuYy5oOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHQuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmg6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuYzoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50Lmg6CgkqIGV4dC9jb2cvZ3N0Y21zLmM6CgkqIGV4dC9jb2cvZ3N0Y21zLmg6CgkqIGV4dC9jb2cvZ3N0Y29nLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZG93bnNhbXBsZS5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY29nL2dzdGNvZ3NjYWxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29ndXRpbHMuYzoKCSogZXh0L2NvZy9nc3Rjb2d1dGlscy5oOgoJKiBleHQvY3VybC9nc3RjdXJsLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybGZpbGVzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmaWxlc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybHRsc3NpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHRsc3NpbmsuaDoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuaDoKCSogZXh0L2RpcmFjL2dzdGRpcmFjLmNjOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuY2M6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5oOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5oOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuaDoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGUuYzoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvZ21lL2dzdGdtZS5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5ncy5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc2luay5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc3JjLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zcmMuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NpbmsuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc3JjLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0c3dpdGNoc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNpbmsuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzcmMuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzcmMuaDoKCSogZXh0L2dzZXR0aW5ncy9wbHVnaW4uYzoKCSogZXh0L2dzbS9nc3Rnc20uYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuaDoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuaDoKCSogZXh0L2phc3Blci9nc3RqYXNwZXIuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJkZWMuaDoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJlbmMuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJlbmMuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlLmg6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5oOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5oOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmg6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuaDoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuaDoKCSogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmg6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuaDoKCSogZXh0L21pbWljL2dzdG1pbWljLmM6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuaDoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuaGg6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29kZXIuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29kZXIuaGg6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29wdGlvbnMuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29wdGlvbnMuaGg6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuaGg6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3N0cmVhbXdyaXRlci5jYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jc3RyZWFtd3JpdGVyLmhoOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5oaDoKCSogZXh0L21wbGV4L2dzdG1wbGV4aWJpdHN0cmVhbS5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4aWJpdHN0cmVhbS5oaDoKCSogZXh0L21wbGV4L2dzdG1wbGV4am9iLmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXhqb2IuaGg6CgkqIGV4dC9tcGxleC9nc3RtcGxleG91dHB1dHN0cmVhbS5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4b3V0cHV0c3RyZWFtLmhoOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmg6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja3JlYWRlci5jOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tyZWFkZXIuaDoKCSogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmg6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmg6CgkqIGV4dC9uYXMvbmFzc2luay5jOgoJKiBleHQvbmFzL25hc3NpbmsuaDoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWwuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzaW5rLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc2luay5oOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNyYy5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNyYy5oOgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmNwcDoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5oOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGUuaDoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZWVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGVlcm9kZS5oOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuaDoKCSogZXh0L29wZW5jdi9nc3RjdmVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zlcm9kZS5oOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5oOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguaDoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5oOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5oOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z2aWRlb2ZpbHRlci5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnZpZGVvZmlsdGVyLmg6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5oOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmg6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5oOgoJKiBleHQvb3BlbmN2L21vdGlvbmNlbGxzX3dyYXBwZXIuY3BwOgoJKiBleHQvb3BlbmN2L21vdGlvbmNlbGxzX3dyYXBwZXIuaDoKCSogZXh0L29wdXMvZ3N0b3B1cy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzY29tbW9uLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNjb21tb24uaDoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuaDoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5oOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzZGVwYXkuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c2RlcGF5Lmg6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5oOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4Lmg6CgkqIGV4dC9yZXNpbmR2ZC9nc3RwZXNmaWx0ZXIuYzoKCSogZXh0L3Jlc2luZHZkL2dzdHBlc2ZpbHRlci5oOgoJKiBleHQvcmVzaW5kdmQvcGx1Z2luLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uaDoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuaDoKCSogZXh0L3Jlc2luZHZkL3JzbmlucHV0c2VsZWN0b3IuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmlucHV0c2VsZWN0b3IuaDoKCSogZXh0L3JzdmcvZ3N0cnN2Zy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuaDoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuaDoKCSogZXh0L3J0bXAvZ3N0cnRtcC5jOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5oOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuaDoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyby5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5oOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90Lmg6CgkqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmLmg6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuaDoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuaDoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuaGg6CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5kc3AuYzoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbnBsYy5jOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFucGxjLmg6CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkqIGV4dC9zcGMvZ3N0c3BjLmg6CgkqIGV4dC9zcGMvdGFnLmM6CgkqIGV4dC9zcGMvdGFnLmg6CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmg6CgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuaDoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5oOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWMuYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5oOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiLmM6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5oOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5oOgoJKiBleHQveHZpZC9nc3R4dmlkLmM6CgkqIGV4dC94dmlkL2dzdHh2aWQuaDoKCSogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJKiBleHQveHZpZC9nc3R4dmlkZGVjLmg6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5oOgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbi1lbnVtLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3BhcnNlcnV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvcGFyc2VydXRpbHMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dldHRleHQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsaWItY29tcGF0LXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dzdC1pMThuLXBsdWdpbi5oOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWNvbnZlcnRlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWNvbnZlcnRlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZW1ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VtZXRhLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udGV4dC5oOgoJKiBnc3QvYWNjdXJpcC9nc3RhY2N1cmlwLmM6CgkqIGdzdC9hY2N1cmlwL2dzdGFjY3VyaXAuaDoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJKiBnc3QvYWlmZi9haWZmLmM6CgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSogZ3N0L2FpZmYvYWlmZm11eC5oOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4Lmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmg6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5Lmg6CgkqIGdzdC9hdWRpb2J1ZmZlci9nc3RhdWRpb3JpbmdidWZmZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RkcmF3aGVscGVycy5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9wbHVnaW4uYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5oOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5oOgoJKiBnc3QvYXV0b2NvbnZlcnQvcGx1Z2luLmM6CgkqIGdzdC9iYXllci9nc3RiYXllci5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5oOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHBsdWdpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmg6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0dmNkcGFyc2UuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3R2Y2RwYXJzZS5oOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmg6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmg6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0cGx1Z2luLmM6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5oOgoJKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3AuaDoKCSogZ3N0L2RjY3AvZ3N0ZGNjcF9jb21tb24uaDoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuaDoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmg6CgkqIGdzdC9kY2NwL2dzdGRjY3BwbHVnaW4uYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuaDoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHNiYWQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hlY2tzdW1zaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNoZWNrc3Vtc2luay5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaG9wbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNob3BteWRhdGEuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnc3B5LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnc3B5Lmg6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5oOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5Lmg6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LXJlbmRlci5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1jb21tb24uaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuaDoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5oOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmg6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5oOgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuYzoKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5oOgoJKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6CgkqIGdzdC9nYW1lcy9nc3R2aWRlb2ltYWdlLmM6CgkqIGdzdC9nYW1lcy9nc3R2aWRlb2ltYWdlLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHBsdWdpbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHBsdWdpbi5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuaDoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuaDoKCSogZ3N0L2dkcC9kcC1wcml2YXRlLmg6CgkqIGdzdC9nZHAvZ3N0Z2RwLmM6CgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0YnVsZ2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZWdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZWdlb21ldHJpY3RyYW5zZm9ybS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGRpZmZ1c2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RkaWZmdXNlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGZpc2hleWUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtYXJibGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtYXJibGUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtaXJyb3IuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtaXJyb3IuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cm90YXRlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cm90YXRlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3RyZXRjaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0dW5uZWwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0dW5uZWwuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmg6CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnQuYzoKCSogZ3N0L2hscy9nc3RmcmFnbWVudC5oOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkqIGdzdC9obHMvZ3N0aGxzc2luay5oOgoJKiBnc3QvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJKiBnc3QvaGxzL2dzdG0zdThwbGF5bGlzdC5oOgoJKiBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmg6CgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguaDoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuaDoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmg6CgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuaDoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5jOgoJKiBnc3QvanAya2RlY2ltYXRvci9nc3RqcDJrZGVjaW1hdG9yLmg6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2pwMmtjb2Rlc3RyZWFtLmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2pwMmtjb2Rlc3RyZWFtLmg6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguaDoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ2Zvcm1hdC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVnZm9ybWF0Lmg6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuaDoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuaDoKCSogZ3N0L2xpYnJmYi92bmNhdXRoLmM6CgkqIGdzdC9saWJyZmIvdm5jYXV0aC5oOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5oOgoJKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJKiBnc3QvbXBlZzFzeXMvYnVmZmVyLmM6CgkqIGdzdC9tcGVnMXN5cy9idWZmZXIuaDoKCSogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmg6CgkqIGdzdC9tcGVnZGVtdXgvcGx1Z2luLmM6CgkqIGdzdC9tcGVncHNtdXgvY3JjLmg6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4Lmg6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4X2FhYy5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eF9hYWMuaDoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXhfaDI2NC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eF9oMjY0Lmg6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9wc211eC5oOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4Y29tbW9uLmg6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWdwc211eC9wc211eHN0cmVhbS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmM6CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0dHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfYWFjLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2FhYy5oOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF90dHh0LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X3R0eHQuaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhjb21tb24uaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkqIGdzdC9tdmUvZ3N0bXZlLmM6CgkqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzoKCSogZ3N0L212ZS9nc3RtdmVkZW11eC5oOgoJKiBnc3QvbXZlL2dzdG12ZW11eC5jOgoJKiBnc3QvbXZlL2dzdG12ZW11eC5oOgoJKiBnc3QvbXZlL212ZS5oOgoJKiBnc3QvbXZlL212ZWF1ZGlvZW5jLmM6CgkqIGdzdC9tdmUvbXZldmlkZW9lbmMxNi5jOgoJKiBnc3QvbXZlL212ZXZpZGVvZW5jOC5jOgoJKiBnc3QvbXhmL214Zi5jOgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZhZXMtYndmLmg6CgkqIGdzdC9teGYvbXhmYWxhdy5jOgoJKiBnc3QvbXhmL214ZmFsYXcuaDoKCSogZ3N0L214Zi9teGZkMTAuYzoKCSogZ3N0L214Zi9teGZkMTAuaDoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJKiBnc3QvbXhmL214ZmRtczEuaDoKCSogZ3N0L214Zi9teGZkdi1kaWYuYzoKCSogZ3N0L214Zi9teGZkdi1kaWYuaDoKCSogZ3N0L214Zi9teGZlc3NlbmNlLmM6CgkqIGdzdC9teGYvbXhmZXNzZW5jZS5oOgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuaDoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbXhmL214Zm1wZWcuaDoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L214Zi9teGZtdXguaDoKCSogZ3N0L214Zi9teGZxdWFyay5jOgoJKiBnc3QvbXhmL214ZnF1YXJrLmg6CgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJKiBnc3QvbXhmL214ZnVsLmM6CgkqIGdzdC9teGYvbXhmdWwuaDoKCSogZ3N0L214Zi9teGZ1cC5jOgoJKiBnc3QvbXhmL214ZnVwLmg6CgkqIGdzdC9teGYvbXhmdmMzLmM6CgkqIGdzdC9teGYvbXhmdmMzLmg6CgkqIGdzdC9uc2YvZGlzNjUwMi5oOgoJKiBnc3QvbnNmL2Zkc19zbmQuYzoKCSogZ3N0L25zZi9mZHNfc25kLmg6CgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkqIGdzdC9uc2YvZ3N0bnNmLmg6CgkqIGdzdC9uc2YvbG9nLmM6CgkqIGdzdC9uc2YvbG9nLmg6CgkqIGdzdC9uc2YvbW1jNV9zbmQuYzoKCSogZ3N0L25zZi9tbWM1X3NuZC5oOgoJKiBnc3QvbnNmL25lczY1MDIuYzoKCSogZ3N0L25zZi9uZXM2NTAyLmg6CgkqIGdzdC9uc2YvbmVzX2FwdS5jOgoJKiBnc3QvbnNmL25lc19hcHUuaDoKCSogZ3N0L25zZi9uc2YuYzoKCSogZ3N0L25zZi9uc2YuaDoKCSogZ3N0L25zZi9vc2QuaDoKCSogZ3N0L25zZi90eXBlcy5oOgoJKiBnc3QvbnNmL3ZyYzdfc25kLmM6CgkqIGdzdC9uc2YvdnJjN19zbmQuaDoKCSogZ3N0L25zZi92cmN2aXNuZC5jOgoJKiBnc3QvbnNmL3ZyY3Zpc25kLmg6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguaDoKCSogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5Lmg6CgkqIGdzdC9wYXRjaGRldGVjdC9nc3RwYXRjaGRldGVjdC5oOgoJKiBnc3QvcGNhcHBhcnNlL2dzdGlydHNwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RpcnRzcHBhcnNlLmg6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmg6CgkqIGdzdC9wY2FwcGFyc2UvcGx1Z2luLmM6CgkqIGdzdC9wbm0vZ3N0cG5tLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmg6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmg6CgkqIGdzdC9wbm0vZ3N0cG5tdXRpbHMuYzoKCSogZ3N0L3BubS9nc3Rwbm11dGlscy5oOgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5oOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmg6CgkqIGdzdC9yZWFsL2dzdHJlYWwuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbC5oOgoJKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmg6CgkqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuaDoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvZ3N0cmVtb3Zlc2lsZW5jZS5jOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9nc3RyZW1vdmVzaWxlbmNlLmg6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL3ZhZF9wcml2YXRlLmM6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL3ZhZF9wcml2YXRlLmg6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnLmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmg6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmg6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguaDoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXhlci5jOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uaDoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wb3BsdWdpbi5jOgoJKiBnc3Qvc2RpL2dzdHNkaS5jOgoJKiBnc3Qvc2RpL2dzdHNkaWRlbXV4LmM6CgkqIGdzdC9zZGkvZ3N0c2RpZGVtdXguaDoKCSogZ3N0L3NkaS9nc3RzZGltdXguYzoKCSogZ3N0L3NkaS9nc3RzZGltdXguaDoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4Lmg6CgkqIGdzdC9zZHAvZ3N0c2RwZWxlbS5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0YXVkaW9zZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0YXVkaW9zZWdtZW50Y2xpcC5oOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0c2VnbWVudGNsaXAuYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHNlZ21lbnRjbGlwLmg6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3R2aWRlb3NlZ21lbnRjbGlwLmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3R2aWRlb3NlZ21lbnRjbGlwLmg6CgkqIGdzdC9zZWdtZW50Y2xpcC9wbHVnaW4uYzoKCSogZ3N0L3NpcmVuL2NvbW1vbi5jOgoJKiBnc3Qvc2lyZW4vY29tbW9uLmg6CgkqIGdzdC9zaXJlbi9kY3Q0LmM6CgkqIGdzdC9zaXJlbi9kY3Q0Lmg6CgkqIGdzdC9zaXJlbi9kZWNvZGVyLmM6CgkqIGdzdC9zaXJlbi9kZWNvZGVyLmg6CgkqIGdzdC9zaXJlbi9lbmNvZGVyLmM6CgkqIGdzdC9zaXJlbi9lbmNvZGVyLmg6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbi5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW4uaDoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5oOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmg6CgkqIGdzdC9zaXJlbi9odWZmbWFuLmM6CgkqIGdzdC9zaXJlbi9odWZmbWFuLmg6CgkqIGdzdC9zaXJlbi9odWZmbWFuX2NvbnN0cy5oOgoJKiBnc3Qvc2lyZW4vcm1sdC5jOgoJKiBnc3Qvc2lyZW4vcm1sdC5oOgoJKiBnc3Qvc2lyZW4vc2lyZW43Lmg6CgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmg6CgkqIGdzdC9zcGVlZC9kZW1vLW1wMy5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmg6CgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmg6CgkqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6CgkqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmg6CgkqIGdzdC9zdWJlbmMvZ3N0c3ViZW5jLmM6CgkqIGdzdC9zdWJlbmMvZ3N0d2VidnR0ZW5jLmM6CgkqIGdzdC9zdWJlbmMvZ3N0d2VidnR0ZW5jLmg6CgkqIGdzdC90dGEvY3JjMzIuaDoKCSogZ3N0L3R0YS9nc3R0dGEuYzoKCSogZ3N0L3R0YS9nc3R0dGFkZWMuYzoKCSogZ3N0L3R0YS9nc3R0dGFkZWMuaDoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmg6CgkqIGdzdC90dGEvdHRhZGVjLmg6CgkqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmg6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0c2NlbmVjaGFuZ2UuaDoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2ZpbHRlcjIuaDoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuaDoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5oOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuaDoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvc2lnbmFsLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb3NpZ25hbC5oOgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmg6CgkqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkqIHN5cy9hY21tcDNkZWMvYWNtbXAzZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2J1ZmZlcmZhY3RvcnkuaDoKCSogc3lzL2FwcGxlbWVkaWEvYnVmZmVyZmFjdG9yeS5tOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWxhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhY3R4LmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWN0eC5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS1pbnRlcm5hbC5oOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb2FwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW9hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9kZXZpY2UuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9kZXZpY2UuaDoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvbXRhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvbXRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRkZWNiaW4uYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZGVjYmluLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGVuY2Jpbi5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRlbmNiaW4uaDoKCSogc3lzL2FwcGxlbWVkaWEvdnR1dGlsLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0dXRpbC5oOgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5oOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmg6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllcl9pb2N0bC5jOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXJfaW9jdGwuaDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsX2JzZC5oOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXJfaW9jdGxfaXJpeC5oOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXJfaW9jdGxfc29sYXJpcy5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDEwL2R4MTAuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMC9keDEwLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTAvZHgxMF9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMC9keDEwX2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDExL2R4MTEuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMS9keDExLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMV9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMS9keDExX2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDkvZHg5LmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDkuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OV9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OV9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHhfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4X2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZHguYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2R4Lmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmg6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5oOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZGVjd3JhcHBlci5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dkZWN3cmFwcGVyLmg6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc3JjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2Zha2VzcmMuaDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3V0aWwuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dXRpbC5oOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb2Zha2VzcmMuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb2Zha2VzcmMuaDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmg6CgkqIHN5cy9kdmIvY2FtLmM6CgkqIHN5cy9kdmIvY2FtLmg6CgkqIHN5cy9kdmIvY2FtYXBwbGljYXRpb24uYzoKCSogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbi5oOgoJKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uaW5mby5jOgoJKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uaW5mby5oOgoJKiBzeXMvZHZiL2NhbWRldmljZS5jOgoJKiBzeXMvZHZiL2NhbWRldmljZS5oOgoJKiBzeXMvZHZiL2NhbXJlc291cmNlbWFuYWdlci5jOgoJKiBzeXMvZHZiL2NhbXJlc291cmNlbWFuYWdlci5oOgoJKiBzeXMvZHZiL2NhbXNlc3Npb24uYzoKCSogc3lzL2R2Yi9jYW1zZXNzaW9uLmg6CgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5oOgoJKiBzeXMvZHZiL2NhbXRyYW5zcG9ydC5jOgoJKiBzeXMvZHZiL2NhbXRyYW5zcG9ydC5oOgoJKiBzeXMvZHZiL2NhbXV0aWxzLmM6CgkqIHN5cy9kdmIvY2FtdXRpbHMuaDoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5oOgoJKiBzeXMvZHZiL2dzdGR2Yi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmg6CgkqIHN5cy9keHIzL2FjM19wYWRkZXIuYzoKCSogc3lzL2R4cjMvYWMzX3BhZGRlci5oOgoJKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6CgkqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuaDoKCSogc3lzL2R4cjMvZHhyM2NvbW1vbi5oOgoJKiBzeXMvZHhyMy9keHIzaW5pdC5jOgoJKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOgoJKiBzeXMvZHhyMy9keHIzc3B1c2luay5oOgoJKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6CgkqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuaDoKCSogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOgoJKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmg6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc2luay5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNpbmsuaDoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzcmMuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzcmMuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlcy5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuaDoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvcGx1Z2luLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NyYy5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zcmMuaDoKCSogc3lzL3B2cjJkL2dzdHB2cnZpZGVvc2luay5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZydmlkZW9zaW5rLmg6CgkqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSogc3lzL3FjYW0vZ3N0cWNhbXNyYy5oOgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSogc3lzL3F0d3JhcHBlci9jb2RlY21hcHBpbmcuYzoKCSogc3lzL3F0d3JhcHBlci9jb2RlY21hcHBpbmcuaDoKCSogc3lzL3F0d3JhcHBlci9pbWFnZWRlc2NyaXB0aW9uLmM6CgkqIHN5cy9xdHdyYXBwZXIvaW1hZ2VkZXNjcmlwdGlvbi5oOgoJKiBzeXMvcXR3cmFwcGVyL3F0dXRpbHMuYzoKCSogc3lzL3F0d3JhcHBlci9xdHV0aWxzLmg6CgkqIHN5cy9xdHdyYXBwZXIvcXR3cmFwcGVyLmM6CgkqIHN5cy9xdHdyYXBwZXIvcXR3cmFwcGVyLmg6CgkqIHN5cy9xdHdyYXBwZXIvdmlkZW9kZWNvZGVycy5jOgoJKiBzeXMvc2htL2dzdHNobS5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmg6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmg6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjQuYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguaDoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuaDoKCSogc3lzL3V2Y2gyNjQvdXZjX2gyNjQuYzoKCSogc3lzL3ZjZC92Y2RzcmMuYzoKCSogc3lzL3ZjZC92Y2RzcmMuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdHZpZGVvZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0dmlkZW9mcmFtZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGJ1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGJ1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGJ1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXJwb29sLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVycG9vbC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXJwb29sLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGZyYW1lLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRmcmFtZS5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0bmFscmVhZGVyLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdG5hbHJlYWRlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuaDoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmg6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdmcmFtZS5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuaDoKCSogc3lzL3ZkcGF1L21wZWcvbXBlZ3V0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWcvbXBlZ3V0aWwuaDoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdG1wZWc0ZnJhbWUuYzoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdG1wZWc0ZnJhbWUuaDoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdHZkcG1wZWc0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3R2ZHBtcGVnNGRlYy5oOgoJKiBzeXMvdmRwYXUvbXBlZzQvbXBlZzR1dGlsLmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9tcGVnNHV0aWwuaDoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGkuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5oOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5oOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmg6CgkqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuYzoKCSogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5oOgoJKiBzeXMvd2lua3MvZ3N0a3NjbG9jay5jOgoJKiBzeXMvd2lua3MvZ3N0a3NjbG9jay5oOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5oOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5oOgoJKiBzeXMvd2lua3Mva3NoZWxwZXJzLmM6CgkqIHN5cy93aW5rcy9rc2hlbHBlcnMuaDoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5oOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5oOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5oOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdHdpbnNjcmVlbmNhcC5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdHdpbnNjcmVlbmNhcC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc2ZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNzcmVuZGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG92aWRlb2NvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGF0YXVyaXNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjY0cGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sb2dvaW5zZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWc0dmlkZW9wYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBnMTIzYXVkaW9kZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBsZXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL25lb25odHRwc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29mYS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vcHVzLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NjaHJvZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RpbWlkaXR5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3V2Y2gyNjRkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWV3ZmluZGVyYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvYWFjZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvYW1yd2JlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvemJhci5jOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2gyNjRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndmlkZW9wYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svbGlicy92YzFwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2NvbG9yc3BhY2UuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL21pbWljLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9teGYuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuaDoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dzdHBsYXkvcGxheWVyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2luZGV4aW5nL2luZGV4bXBlZy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9kZW1vLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL3Bsb3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zdGF0cy9tcDJvZ2cuYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9jYWxsL0RDQ1BDbGllbnQuYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9jYWxsL0RDQ1BTZXJ2ZXIuYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9maWxlL0RDQ1BDbGllbnRTYXZlRmlsZS5jOgoJKiB0ZXN0cy9pY2xlcy9kY2NwL2ZpbGUvRENDUFNlcnZlclNlbmRGaWxlLmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvbWljL0RDQ1BDbGllbnRQbGF5TWljLmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvbWljL0RDQ1BTZXJ2ZXJNaWMuYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9tcDMvRENDUENsaWVudFBsYXlNUDMuYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9tcDMvRENDUFNlcnZlclNlbmRNUDMuYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9tcDNTcGVleC9EQ0NQQ2xpZW50UGxheVNwZWV4TVAzLmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvbXAzU3BlZXgvRENDUFNlcnZlclNlbmRTcGVleE1QMy5jOgoJKiB0ZXN0cy9pY2xlcy9kY2NwL21wM1N0cmVhbS9EQ0NQQ2xpZW50UGxheU1QM1N0cmVhbS5jOgoJKiB0ZXN0cy9pY2xlcy9kY2NwL21wM1N0cmVhbS9EQ0NQU2VydmVyU2VuZE1QM1N0cmVhbS5jOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmg6CgkqIHRlc3RzL2ljbGVzL3BpdGNoLXRlc3QuYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZToKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkqIHRvb2xzL2dzdC1wcm9qZWN0LW1ha2VyOgoJICBGaXggRlNGIGFkZHJlc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzUyMAoKMjAxMi0xMS0wMyAxMzo1MToxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSAgb3BlbmN2OiBmaXggd2FybmluZ3MgYW5kIGJ1aWxkIGFnYWluc3Qgb3BlbmN2IDIuNC54CgkgIGdzdHB5cmFtaWRzZWdtZW50LmM6IEluIGZ1bmN0aW9uICdnc3RfcHlyYW1pZF9zZWdtZW50X2NoYWluJzoKCSAgZ3N0cHlyYW1pZHNlZ21lbnQuYzozMDc6MzogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uCgkgICdjdlB5clNlZ21lbnRhdGlvbicgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCgkgIGdzdHB5cmFtaWRzZWdtZW50LmM6MzA3OjM6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mCgkgICdjdlB5clNlZ21lbnRhdGlvbicgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcyMzcKCjIwMTItMTEtMDIgMTM6NDQ6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgIHNjYWxldGVtcG86IFVzZSBhIGJldHRlciBwbHVnaW4gZmlsZW5hbWUKCjIwMTItMTEtMDIgMTE6Mjk6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFVzZSBtb3JlIGNvbnN0YW50cyBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcgdmFsdWVzCgoyMDEyLTExLTAyIDExOjI0OjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IEZpeCBjb21waWxhdGlvbiB3aXRoIGRlYnVnZ2luZyBlbmFibGVkCgoyMDEyLTExLTAxIDIwOjUwOjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQW5kcm9pZC5tazoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvcnRwdnA4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwdnA4L2Rib29saHVmZi5MSUNFTlNFOgoJKiBnc3QvcnRwdnA4L2Rib29saHVmZi5jOgoJKiBnc3QvcnRwdnA4L2Rib29saHVmZi5oOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOC5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4ZGVwYXkuaDoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuaDoKCSAgcnRwdnA4OiByZW1vdmUgYW5kIG1vdmUgdG8gLWdvb2QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzI2MwoKMjAxMi0xMS0wMSAxNTozNjoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDEyLTExLTAxIDE1OjM1OjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlcy5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXMuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkgIG9wZW5zbGVzOiBNYWtlIHN1cmUgdG8gb25seSBldmVyIGNyZWF0ZSBhIHNpbmdsZSBlbmdpbmUgb2JqZWN0CgkgIFRoZSBPcGVuU0wgRVMgc3BlYyBkZWZpbmVzOgoJICBBbiBpbXBsZW1lbnRhdGlvbiBzaGFsbCBlbmFibGUgY3JlYXRpb24gb2YgYXQgbGVhc3Qgb25lIHN1Y2ggb2JqZWN0LCBidXQKCSAgYXR0ZW1wdGluZyB0byBjcmVhdGUgbW9yZSBpbnN0YW5jZXMgKGVpdGhlciBieSBhIHNpbmdsZSBhcHBsaWNhdGlvbiBvciBieQoJICBzZXZlcmFsIGRpZmZlcmVudCBhcHBsaWNhdGlvbnMpIG1heSBmYWlsLgoKMjAxMi0xMC0zMSAyMDowMDo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IFNraXAgQXJpY2VudCBjb2RlY3MgZm9yIG5vdwoJICBUaGUgSFRDIE9uZSBYIGNsYWltcyB0byBoYXZlIG9uZSAoYnV0IGRvZXNuJ3QpIGFuZCBsb2FkaW5nCgkgIHRoZSBsaWJyYXJ5IGZvciBpdCBoYW5ncyBmb3JldmVyLgoKMjAxMi0xMS0wMSAxMzo1MTowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUG9zdCBzdHJlYW0tc3RhdHVzIG1lc3NhZ2VzIGZvciBvdXIgcmVuZGVyIHRocmVhZAoKMjAxMi0xMC0zMSAxMzo1NDoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogSWYgcHVzaGluZyBhbiBpdGVtIG9uIHRoZSBxdWV1ZSBmYWlscywgZnJlZSBpdAoJICBPdGhlcndpc2Ugd2UncmUgZ29pbmcgdG8gbGVhayB0aGUgaXRlbS4KCjIwMTItMTAtMzEgMTE6Mzg6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IG9wZW5jdiBwbHVnaW4gYnVpbGRzIHdpdGggbmV3ZXIgdmVyc2lvbnMgdXAgdG8gMi40LjIgYXMgd2VsbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MjM3CgoyMDEyLTEwLTMwIDE5OjMwOjM4ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IE5lZ290aWF0ZSBmb3JtYXQsIGFsc28gc3VwcG9ydCBtb3JlIHJlc29sdXRpb25zCgkgIFRoaXMgc2hvdWxkIGVuYWJsZSBzdXBwcnQgZm9yIG9sZCBhbmQgbmV3IGlQaG9uZXMgd2l0aCB0aGUgc2FtZSBjb2RlLgoKMjAxMi0xMC0zMCAwOToyNzoyNCArMDEwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IHJlbW92ZWQgdW5uZWNlc3NhcnkgZmluYWxpemUgZnVuY3Rpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzE3NgoKMjAxMi0xMC0zMCAxMDoyMDowOSArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IEZpeCBsZWFrcyBmcm9tIG5vdCBjaGFpbmluZyB1cCBpbiB0aGUgZmluYWxpemUgZnVuY3Rpb24KCjIwMTItMTAtMjIgMTI6MzY6MjggKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIHRzbXV4OiBTbGlnaHRseSByZWZsb3cgY29sbGVjdGVkIGJ1ZmZlciBoYW5kbGVyIGZvciBjbGFyaXR5LgoKMjAxMi0xMC0yNiAxODoyOTozMiArMDIwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicEBrLWQtdy5vcmc+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICB0c2RlbXV4OiBGaXggbmFtZSBvZiBDQVQgR3N0U3RydWN0dXJlCgkgIFRoZSBzdHJ1Y3R1cmUgcHJldmlvdXNseSB3YXMgYXNzaWduZWQgdGhlIG5hbWUgInBhdCIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY5NDgKCjIwMTItMTAtMjggMTY6NDE6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGdzdC9hY2N1cmlwL2dzdGFjY3VyaXAuYzoKCSAgZG9jczogYWRkIG5ldyBhY2N1cmlwIGVsZW1lbnQgdG8gZG9jcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1MTYzCgoyMDEyLTEwLTI4IDE2OjM2OjAxICswMDAwICBDaHJpc3RvcGhlIEZlcmdlYXUgPHRldWZAZ25vbWUub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYWNjdXJpcC9NYWtlZmlsZS5hbToKCSogZ3N0L2FjY3VyaXAvZ3N0YWNjdXJpcC5jOgoJKiBnc3QvYWNjdXJpcC9nc3RhY2N1cmlwLmg6CgkgIGFjY3VyYXRlcmlwOiBuZXcgZWxlbWVudCBmb3IgQWNjdXJhdGVSaXAgY2FsY3VsYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTE2MwoKMjAxMi0xMC0yNiAxMzo0ODowNiAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJKiBnc3QvbXhmL214Zi5jOgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZhbGF3LmM6CgkqIGdzdC9teGYvbXhmZDEwLmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJKiBnc3QvbXhmL214ZmR2LWRpZi5jOgoJKiBnc3QvbXhmL214ZmVzc2VuY2UuaDoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSogZ3N0L214Zi9teGZ1cC5jOgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJICBteGY6IFBvcnQgbXhmZGVtdXggdG8gMS4wIEFsc28gcG9ydHMgbXhmbXV4IHRvIDEuMCB0byB0aGUgZXh0ZW50IHRoYXQgaXQgY29tcGlsZXMsIGJ1dCBpcyAxMDAlIHVudGVzdGVkLCBzbyByZW1haW5zIGRpc2FibGVkLgoJICBDb25mbGljdHM6CgkgIGdzdC9teGYvbXhmZGVtdXguYwoJICBnc3QvbXhmL214Zm11eC5jCgoyMDEyLTEwLTI1IDE5OjEwOjQwICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5oOgoJICBkaXJlY3Rzb3VuZHNyYzogRml4IGEgbnVtYmVyIG9mIHdhcm5pbmdzL2Vycm9ycyBpbiBkaXJlY3Rzb3VuZHNyYwoJICAqIERvbid0IHVzZSBkZXByZWNhdGVkIGdsaWIgbXV0ZXggZnVuY3Rpb25zCgkgICogRG9uJ3QgZGVjbGFyZSB1c2VsZXNzIHZhcmlhYmxlcwoJICAqIERvbid0IGxpbmsgdG8gbm9uLWV4aXN0aW5nIGxpYmdzdGludGVyZmFjZXMKCSAgRml4ZXMgIzY4Njg3MQoKMjAxMi0xMC0yNSAxNzo1MDo1MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogdXNlIHBhcnNlZCBvciB1cHN0cmVhbSBmcHMgdG8gc2V0IHNvbWUgYmFzZXBhcnNlIHBhcmFtZXRlcnMKCjIwMTItMTAtMjUgMTg6MDI6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBleHRyYWN0IHN0cnVjdHVyZSBmcm9tIGNvcnJlY3QgY2FwcwoJICAuLi4gd2hpY2ggYXJlIGtub3duICE9IE5VTEwuCgoyMDEyLTEwLTI1IDExOjMxOjQxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBwcmVzZXJ2ZSB1cHN0cmVhbSBmcHMgYW5kIHBhcgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwODY2CgoyMDEyLTEwLTI1IDE0OjI4OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBTdG9wIHVzaW5nIGRlcHJlY2F0ZWQgR0xpYiB0aHJlYWQgQVBJCgoyMDEyLTEwLTI1IDEyOjA2OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogSGFuZGxlIEdBUCBldmVudHMKCjIwMTItMTAtMTggMTY6MjM6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvb3BlbnNsZXMvTWFrZWZpbGUuYW06CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlcy5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuaDoKCSAgb3BlbnNsZXM6IFBvcnQgdG8gMS4wCgoyMDEyLTEwLTIyIDExOjQxOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc3VwcG9ydCBmb3IgY3JvcCBtZXRhZGF0YQoKMjAxMi0xMC0yMiAxMToxODozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9lZ2xnbGVzL01ha2VmaWxlLmFtOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogUG9ydCB0byAxLjAKCjIwMTItMTAtMjIgMTM6MjE6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IFJlbWVtYmVyIGFuZCB1c2UgaW5wdXQgc3RhdGUKCjIwMTItMTAtMTggMTY6NDE6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvYW5kcm9pZG1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmg6CgkgIGFuZHJvaWRtZWRpYTogUG9ydCB0byAxLjAKCjIwMTItMTAtMjMgMTI6MTA6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSAgdmMxcGFyc2U6IEdpdmUgdmMxcGFyc2UgYSByYW5rIG9mIE5PTkUgZm9yIG5vdwoKMjAxMi0xMC0xNSAwOToxMjowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuaDoKCSAgdmMxcGFyc2U6IFBvcnQgdG8gMS4wCgoyMDEyLTAyLTIzIDEzOjQ4OjU3ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogZGlzYWJsZSBCRFUgcGFyc2luZyB1bnRpbCBpdCdzIG1vcmUgbWF0dXJlCgkgIFBhcnNpbmcgYW5kIHNwbGl0dGluZyBCRFVzIHNlZW1zIHRvIHRyaWdnZXIgYSBmZXcgYnVncyBpbgoJICBkb3duc3RyZWFtIGRlY29kZXJzIHNvIGRpc2FibGUgaXQgZm9yIG5vdy4KCjIwMTItMTAtMTQgMTE6Mzk6NTUgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuaDoKCSAgdmMxcGFyc2U6IHNldCBkdXJhdGlvbiBvbiBvdXRwdXQgYnVmZmVycwoJICBUaGlzIGhhcyB0aGUgbmljZSBzaWRlIGVmZmVjdCBvZiBhdm9pZGluZyBoYW5naW5nIGF0IEVPUyB3aXRoIHRydW5jYXRlZCBhc2YKCSAgY2xpcHMuCgkgIENvbmZsaWN0czoKCSAgZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jCgoyMDEyLTAxLTMxIDExOjAzOjQ1ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogd29ya2Fyb3VuZCBmb3Igc2ltcGxlL21haW4gY29kZWNfZGF0YSBiZWluZyA1IGJ5dGVzIGxvbmcKCSAgU29tZXRpbWVzIHRoZSBjb2RlY19kYXRhIGJ1ZmZlciBmb3Igc2ltcGxlL21haW4gcHVzaGVkIGJ5IGFzZmRlbXV4IGlzIDUgYnl0ZXMKCSAgaW5zdGVhZCBvZiA0LiBXaGVuIHRoYXQgaGFwcGVucywgY29kZWNfZGF0YSBpcyBzdGlsbCB2YWxpZCBidXQgaXQgc2VlbXMgdG8gaGF2ZQoJICBvbmUgMHgwMCB0cmFpbGluZyBieXRlLiBNaWdodCBiZSBhIGJ1ZyBpbiB0aGUgZGVtdXhlciwgbmVlZHMgbW9yZSBpbnZlc3RpZ2F0aW9uLgoKMjAxMi0wMS0zMSAxMTowMjoxMCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IHJlbW92ZSBzdHViIHN0cmVhbSBjb252ZXJzaW9uIGNvZGUKCjIwMTItMDEtMzEgMTE6MDA6NTUgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBhZGQgc29tZSBtb3JlIGRlYnVnZ2luZyB0byBfcmVuZWdvdGlhdGUKCjIwMTItMDEtMzEgMTA6NTg6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkgIHZjMXBhcnNlOiBBZGQgVkMxIHBhcnNlciBwbHVnaW4KCjIwMTItMTAtMjUgMTI6NDY6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZmVhdHVyZSBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS4wLjIgPT09CgoyMDEyLTEwLTI1IDAxOjQ0OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4wLjIKCjIwMTItMTAtMjQgMjM6NDA6MjAgKzAyMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogZml4ZWQgYnVmZmVyIHVubWFwcGluZyBidWcKCSAgV2hlbiB0aGUgZGVjb2RlciByZWNlaXZlZCBhIE5VTEwgYnVmZmVyLCBpdCB0cmllZCB0bwoJICB1bm1hcCBhIG5vdCBtYXBwZWQgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2ODI5CgoyMDEyLTEwLTI0IDE0OjIzOjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZXF1aXJlIHdheWxhbmQgPj0gMS4wLjAKCSAgV2UgaGF2ZSBhbiBBUEkgc3RhYmxlIHJlbGVhc2Ugbm93LCByZXF1aXJlIHRoYXQuCgoyMDEyLTEwLTI0IDEzOjQxOjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGcxMjNhdWRpb2RlYy5jOgoJKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGZpeCB1cCBtcGcxMjMgdGVzdCBhIGxpdHRsZQoJICAtIGRpc3QgaW5wdXQgZmlsZXMKCSAgLSBmaXggc2FtcGxlIGxlYWsKCSAgLSBzaW1wbGlmeSBjaGVjayBmb3IgZWxlbWVudHMKCSAgLSBvbmx5IHJ1biBtcGcxMjMgdGVzdCBpZiBtcGcxMjMgaXMgYXZhaWxhYmxlIGFuZCBzZWxlY3RlZAoJICAtIGZpeCBidWlsZCBpbiB1bmluc3RhbGxlZCBzZXR1cAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NTk1CgoyMDEyLTEwLTI0IDEyOjMwOjEwICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBnMTIzYXVkaW9kZWMuYzoKCSogdGVzdHMvZmlsZXMvY2JyX3N0cmVhbS5tcDM6CgkqIHRlc3RzL2ZpbGVzL3N0cmVhbS5tcDI6CgkqIHRlc3RzL2ZpbGVzL3Zicl9zdHJlYW0ubXAzOgoJICB0ZXRzOiBhZGQgdW5pdCB0ZXN0IGZvciBtcGcxMjNhdWRpb2RlYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NTk1CgoyMDEyLTEwLTI0IDAwOjM2OjQyICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogYWRkZWQgZ3RrZG9jIHNlY3Rpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjU5NQoKMjAxMi0xMC0yNCAwMDoyMjowNSArMDIwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IGZpeGVkIGJ1ZyB3aXRoIGxhc3QgZnJhbWUsIGRpc2FibGVkIGludGVybmFsIHJlc2FtcGxlciAmIGNoYXR0ZXIKCSAgKiBUaGUgbGFzdCBNUDMgZnJhbWUgd2Fzbid0IGJlaW5nIHB1c2hlZCB3aGVuIGJhc2UgY2xhc3Mgd2FzIGRyYWluaW5nCgkgICogTWFkZSBzdXJlIG1wZzEyMyBjYW5ub3QgZXZlciB1c2UgaXRzIChjcnVkZSkgaW50ZXJuYWwgcmVzYW1wbGVyCgkgICogRGlzYWJsZWQgbXBnMTIzIHN0ZGVyciBvdXRwdXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjU5NQoKMjAxMi0xMC0yNCAwMDoyMTo0NSArMDIwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IGNsZWFuZWQgdXAgY29tbWVudHMsIGZvcm1hdHRpbmcsIGFuZCBsb2dnaW5nIGxpbmVzCgkgIGFsc28gcmVwbGFjZWQgbXBnMTIzZGVjb2Rlci0+aGFuZGxlICE9IE5VTEwgY2hlY2tzIHdpdGggYXNzZXJ0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NTk1CgoyMDEyLTEwLTI0IDExOjM0OjMyICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJICBjdXJsc210cHNpbms6IGFkZCBjb21tZW50IGRlc2NyaWJpbmcgZnVuY3Rpb24KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Njc3NAoKMjAxMC0wNy0wMiAxNToyODo0MSArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogY2hlY2sgYmFzZV90aW1lIGJlZm9yZSBjYWxjdWxhdGluZyBuZXdfc3RhcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzM4NwoKMjAxMi0xMC0yMyAxNDozMzoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IEZpeCBldmVudCBsZWFrCgoyMDEyLTEwLTIzIDE0OjMyOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogRml4IHRpbWVzdGFtcCB0cmFja2luZwoKMjAxMi0xMC0yMyAxNDowNjozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IEltcGxlbWVudCBMQVRFTkNZIHF1ZXJ5CgoyMDEyLTEwLTIzIDEzOjM5OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5oOgoJICBzY2FsZXRlbXBvOiBTdG9yZSBpbnN0YW5jZSBwcml2YXRlIGRhdGEgaW4gdGhlIGluc3RhbmNlIHN0cnVjdAoJICBHZXR0aW5nIGl0IG92ZXIgYW5kIG92ZXIgYWdhaW4gdmlhIEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURSgpCgkgIGlzIHJlYWxseSBzbG93LgoKMjAxMi0xMC0yMyAxMDowNzowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJICBobHM6IExpbmsgdG8gJChMSUJNKSBmb3IgaXNmaW5pdGUoKQoKMjAxMi0xMC0yMiAyMTo0MToyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBwaXRjaDogZml4IGZvciBzdGFydCB0aW1lcyA+IDAKCSAgRml4ZXMgYnVmZmVyaW5nIGFuZCBwbGF5YmFjayBvZiBzdHJlYW1zIHRoYXQgc3RhcnQgd2l0aAoJICBhIG5vbi0wIHRpbWVzdGFtcCBpbiB0b3RlbSAod2hpY2ggaGFzIGEgJ3BpdGNoJyBlbGVtZW50CgkgIGJlZm9yZSBwdWxzZXNpbmspLgoJICBFeGFtcGxlIFVSSTogaHR0cDovL2xvYm9zdHYubG9ib2Nhc3Qub3JnLmVzOjgwMDQvbG9ib3N0di5vZ2cKCSAgU3RpbGwgYnJlYWtzIHdpdGggY2hhaW5lZCBvZ2dzLCBvbiBzZWNvbmQgY2hhaW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODYzOTEKCjIwMTItMTAtMjIgMTI6MDg6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkgIG9wdXNwYXk6IHJlbW92ZSBwb2ludGxlc3MgY2FwcyBzZXJpYWxpemF0aW9uCgkgIFJlbW92ZSB0aGUgY2FwcyBzZXJpYWxpemF0aW9uIGluIHRoZSBydHAgY2Fwcy4gdGhlIHNwZWMgbm9yIHRoZSByZWNlaXZlcgoJICBkb2VzIGFueXRoaW5nIHdpdGggaXQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY1NDcKCjIwMTItMTAtMjIgMTA6NDU6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6CgkqIGdzdC9zdWJlbmMvZ3N0d2VidnR0ZW5jLmM6CgkgIHN1YmVuYzogcG9ydCB0byAxLjAKCjIwMTItMTAtMjIgMDE6Mzk6MTMgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogRG9uJ3QgbWFrZSB0aGUgc2FtZSBidWZmZXIgd3JpdGFibGUgdHdpY2UuCgkgIEZpeGVzIEJ1ZyA2ODYzMjcgLSBtcGVndHNtdXg6IGZpeCByZWZjb3VudCBpc3N1ZSB3aXRoIGlucHV0IGJ1ZmZlcnMKCjIwMTItMTAtMjAgMTQ6NTU6NDEgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgd2F5bGFuZDogdXBkYXRlIHRvIHdheWxhbmQtcHJvdG9jb2wgMC45OQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NTIwCgoyMDEyLTEwLTE4IDIyOjIzOjA3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogZm9yd2FyZCBub24tcHJvY2Vzc2VkIGR2ZCBldmVudHMKCSAgLi4uIHN1Y2ggYXMgbm90YWJseSBkdmQtc3B1LWNsdXQtY2hhbmdlLgoKMjAxMi0xMC0xOCAyMjoyMjoxMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IHNlZ21lbnQgZXZlbnQgc2hvdWxkIGJlIHNlbnQgYmVmb3JlIGdhcCBldmVudAoKMjAxMi0xMC0xOSAwOTo1OToxMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG9uJ3QgdHJ5IHRvIHJlbmRlciBleHBvc2UoKSBpZiBubyBjYXBzIGFyZSBrbm93biB5ZXQKCjIwMTItMTAtMTggMTU6MTI6MjEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBleHBvc2UKCjIwMTItMTAtMTkgMDE6MDM6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSAgdHNkZW11eDogZml4IHByb2dyYW0gcGFja2V0IHNlcXVlbmNlIGNvdW50ZXIgcGFyc2luZyBpbiBQRVMgaGVhZGVyCgoyMDEyLTEwLTE5IDAwOjQ3OjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkgIHRzZGVtdXg6IGZpeCBzb21lIGluY29uc2VxdWVudGlhbCBQRVMgaGVhZGVyIHBhcnNpbmcgaXNzdWVzCgkgIGFkZGl0aW9uYWxfY29weV9pbmZvOiBuZWVkIHRvIGdldCByaWQgb2YgdGhlIGhpZ2hlc3QKCSAgYml0LCBub3QgdGhlIGxvd2VzdCBvbmUKCSAgcHJvZ3JhbV9wYWNrZXRfc2VxdWVuY2VfY291bnRlcjogYWxzbyBuZWVkIHRvIGdldCByaWQKCSAgb2YgdGhlIGhpZ2hlc3QgYml0IGluc3RlYWQgb2YgbXVsdGlwbHlpbmcgd2l0aCBhIHJhbmRvbQoJICB2YWx1ZQoJICBvcmlnaW5hbF9zdHVmZl9sZW5ndGg6IHdhbnQgdG8gQU5EIDB4M2YgdG8gZXh0cmFjdCB0aGUKCSAgbG93ZXN0IDYgYml0cywgbm90IG11bHRpcGx5IGJ5IGl0LgoJICBOb25lIG9mIHRoZXNlIGZpZWxkcyBhcmUgYWN0dWFsbHkgdXNlZCB0aG91Z2gsIHNvIHRoZXNlCgkgIHNob3VsZCBub3QgaGF2ZSBjYXVzZWQgYW55IGlzc3Vlcy4KCjIwMTItMTAtMTcgMTU6NTQ6MzIgKzAzMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkgIHRzZGVtdXg6IEZpeCBwYXJzaW5nIFAtU1REX2J1ZmZlciBpbiBQRVMgaGVhZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODYyOTQKCjIwMTItMTAtMTggMTg6NTY6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIHdheWxhbmQ6IGRvbid0IHRyeSB0byBidWlsZCBhZ2FpbnN0IDAuOTkgb3IgbGF0ZXIKCSAgVGhlIHBsdWdpbiBuZWVkcyB1cGRhdGluZyBmb3Igc29tZSBBUEkgY2hhbmdlcyBzaW5jZSAwLjk1LgoKMjAxMi0xMC0xOCAwMTo0Nzo1NyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGZpeCBwb3RlbnRpYWwgY3Jhc2ggZGVyZWZlcmVuY2luZyBOVUxMIHByb2dyYW0gcG9pbnRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2MzU4CgoyMDEyLTEwLTE4IDE1OjA2OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3BlbnNsZXM6IE9ubHkgY2hlY2sgZm9yIHRoZSBtYWluIG9wZW5zbGVzIGhlYWRlcgoKMjAxMi0xMC0xOCAxNDozODowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGVnbGdsZXNzaW5rOiBQdXQgaW50byB0aGUgbm90LXBvcnRlZCBwbHVnaW5zIGxpc3QKCjIwMTItMTAtMTggMTQ6MjU6MDUgKzAyMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGVnbGdsZXNzaW5rOiBEb2N1bWVudGF0aW9uOiBIb29rIGVnbGdsZXNzaW5rIGRvY3VtZW50YXRpb24gaW4KCjIwMTItMTAtMTggMTQ6MDk6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE1ha2UgY29tcGlsYWJsZSBvbiBkZXNrdG9wIExpbnV4IHdpdGggTUVTQSB0b28KCjIwMTItMTAtMTggMTQ6MDc6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9lZ2xnbGVzL01ha2VmaWxlLmFtOgoJICBlZ2xnbGVzc2luazogSW50ZWdyYXRlIGludG8gdGhlIGJ1aWxkIHN5c3RlbQoJICBDb25mbGljdHM6CgkgIGV4dC9NYWtlZmlsZS5hbQoKMjAxMi0xMC0xOCAxMDo0OTo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGRlYnVnIG91dHB1dAoKMjAxMi0xMC0xOCAxMDozMjo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWxzbyBjbGVhciB0aGUgc3VyZmFjZSBvbmNlIHdoZW4gdGhlIGJ1ZmZlciBjb250ZW50IGlzIHByZXNlcnZlZAoKMjAxMi0xMC0xOCAxMDoyMDoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogT25seSBkcmF3IGJsYWNrIGJvcmRlcnMgaWYgdGhlIGRlZmF1bHQgc3dhcCBiZWhhdmlvdXIgb2YgdGhlIHN1cmZhY2UgaXMgdG8gZGVzdHJveSB0aGUgYnVmZmVyCgoyMDEyLTEwLTE4IDA5OjM3OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZW1vdmUgdW51c2VkIGxhYmVsCgoyMDEyLTEwLTE4IDAyOjI2OjE3IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZhY3RvciBkaXNwbGF5IHJlZ2lvbiByZXNldCB0byBpdHMgb3duIGZ1bmMKCjIwMTItMTAtMTggMDE6NDU6NTEgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWx3YXlzIFJlc2V0IGRpc3BsYXlfcmVnaW9uLiogYXQgRUdML0dMRVMgY3R4IHdpcGUKCjIwMTItMTAtMTggMDE6MzY6NDkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRmFjdG9yIEVMRy9HTEVTIGNvbnRleHQgY2xlYW51cCBpbnRvIGl0cyBvd24gZnVuYwoKMjAxMi0xMC0xOCAwMDozMzoyNiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBEcm9wIGRyYWZ0ZWQgZmFzdCByZW5kZXJpbmcgcGF0aCBsb2dpYwoKMjAxMi0xMC0xNyAxNTo1MDowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQWxzbyB1cGRhdGUgaGVhZGVyIGZpbGUKCjIwMTItMTAtMTcgMTU6Mzc6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFByb3ZpZGUgdGhlIHRleHR1cmUgcG9zaXRpb25zIHRvIHRoZSBzaGFkZXIgb24gZXZlcnkgZnJhbWUgdG9vCgoyMDEyLTEwLTE3IDE1OjA0OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEcmF3IGJsYWNrIGJvcmRlcnMgYW5kIGFsc28gdXNlIGEgc2luZ2xlIEdMIGJ1ZmZlciBmb3IgYWxsIHZlcnRpY2VzCgkgIEZpeGVzIHdlaXJkIGFydGlmYWN0cyBvdXRzaWRlIHRoZSB2aWRlbyBmcmFtZSBvbgoJICBRdWFsY29tbSBTbmFwZHJhZ29uIGNoaXBzZXRzIGFuZCBzaG91bGQgYmUgZmFzdGVyCgkgIHRoYW4gZ2xDbGVhcigpIG9uIHRoZSBjb21wbGV0ZSBhcmVhIGFsbCB0aGUgdGltZS4KCjIwMTItMTAtMTcgMTI6NDk6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBtZW1vcnkgbGVhawoKMjAxMi0xMC0xNyAxMDo0NzoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmVtb3ZlIHVzZWxlc3MgZGVidWcgb3V0cHV0IGFkZGVkIGZvciBkZWJ1Z2dpbmcgZWFybGllcgoKMjAxMi0xMC0xNyAxMDowODoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTWFrZSB3aW5kb3cgc2V0dGluZy9oYW5kbGluZyBhIGJpdCBtb3JlIHRocmVhZHNhZmUKCjIwMTItMTAtMTcgMDk6NTk6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFByaW50IHdpbmRvdyBoYW5kbGUgYWZ0ZXIgc2V0dGluZyBpdAoKMjAxMi0xMC0xNiAxNzo1MDowMyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBNb3ZlIERBUiBxdWVyeSAmIHN0b3JlIHRvIHN1cmZhY2UgaW5pdAoJICBUaGUgREFSIChkaXNwbGF5J3MgcGl4ZWwgYXNwZWN0IHJhdGlvKSBzaG91bGQgcmVtYWluIGEKCSAgY29uc3RhbnQgYXQgcnVudGltZSBzbyB0aGVyZSdzIG5vIHBvaW50IG9uIHJlcGVhdGVkbHkKCSAgcXVlcnkgYW5kIHN0b3JlIHRoaXMgdmFsdWUuIERvaW5nIGl0IGF0IHN1cmZhY2Ugc2V0dXAKCSAgc2hvdWxkIGJlIGVub3VnaC4gQXMgYW4gYWRkZWQgYm9udXMgdGhpcyBjaGFuZ2Ugc2hvdWxkCgkgIG1ha2UgcmVuZGVyaW5nIGEgYml0IGZhc3Rlci4KCjIwMTItMTAtMTYgMTc6MzU6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvbid0IHNpZ25hbCB0aGUgR0NvbmQgdG9vIG9mdGVuCgoyMDEyLTEwLTE2IDE3OjA1OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBBZGQgbXlzZWxmIGFzIGF1dGhvcgoKMjAxMi0xMC0xNiAxNjoyNTowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTWFrZSBzdXJlIHRvIGFsd2F5cyByZXNldCB0aGUgZGlzcGxheSByZWdpb24gaW4gc3RhcnQoKQoKMjAxMi0xMC0xNiAxNjoyMzowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQWxzbyBjb21taXQgbWlzc2luZyBjaGFuZ2VzIHRvIHRoZSBoZWFkZXIgZmlsZQoKMjAxMi0xMC0xNiAxNjoxODowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9NYWtlZmlsZS5hbToKCSAgZWdsZ2xlc3Npbms6IEFsc28gaW5jbHVkZSAkKEdTVF9CQVNFX0NGTEFHUykKCjIwMTItMTAtMTYgMTY6MTI6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCByYWNlIGNvbmRpdGlvbgoKMjAxMi0xMC0xNiAxNTo0MDoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmVmYWN0b3IgcmVuZGVyaW5nIGFuZCBhbGwgY29udGV4dCBzcGVjaWZpYyBHTCB0aGluZ3MgaW50byBhIHNlcGFyYXRlIHRocmVhZAoJICBBbHNvIGZpeGVzIHNvbWUgdGhyZWFkaW5nIHJlbGF0ZWQgcHJvYmxlbXMuCgoyMDEyLTEwLTE2IDE0OjM5OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZS1hZGQgYWNjaWRlbnRpYWxseSByZXZlcnRlZCBjb21taXQKCjIwMTItMTAtMTYgMTQ6MTU6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlbW92ZSB1bm5lZWRlZCBmbG93X2xvY2sKCSAgVXNlIHRoZSBvYmplY3QgbG9jayBpbiB0aGUgZmV3IHBsYWNlcyBuZWNlc3NhcnksIGV2ZXJ5dGhpbmcKCSAgZWxzZSBpcyBwcm90ZWN0ZWQgYnkgb3RoZXIgdGhpbmdzIGFscmVhZHkuCgkgIEFsc28gc3RvcmUgdGhlIGNvbnRleHQgZGlyZWN0bHkgaW5zaWRlIHRoZSBpbnN0YW5jZSBzdHJ1Y3QKCSAgaW5zdGVhZCBvZiBhbGxvY2F0aW5nIHNvbWUgbWVtb3J5IGZvciBpdC4KCjIwMTItMTAtMTYgMTE6NTM6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBkZWJ1ZyBvdXRwdXQgYW5kIGNvbnN0YW50IG5hbWVzCgoyMDEyLTEwLTE2IDExOjUxOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBzdGFydCgpL3N0b3AoKSBpcyBjYWxsZWQgaW4gUkVBRFk8LT5OVUxMIGluIGJhc2VzaW5rCgkgIEJ1dCB0aGlzIHNob3VsZCBiZSBjYWxsZWQgaW4gUEFVU0VEPC0+UkVBRFkuCgoyMDEyLTEwLTE1IDEzOjQ0OjI5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBmb3Igb3V0Ym91bmQgREFSIHJlcG9ydGVkIGJ5IEVHTAoJICBTb21lIEVHTCBpbXBsZW1lbnRhdGlvbnMgZG9uJ3QgaG9ub3IgdGhlIHNwZWMKCSAgcmVxdWlyZW1lbnQgb2YgcmV0dXJuaW5nIERBUiB2YWx1ZXMgYXMgdy9oICoKCSAgRUdMX0RJU1BMQVlfU0NBTElORy4KCSAgVGhpcyBjaGFuZ2VzZXQ6CgkgIC0gRml4ZXMgcmVuZGVyaW5nIG9uIHRoZSBTYW1zdW5nIEdhbGF4eSBJSUkKCSAgLSBGaXhlcyB3cm9uZyBjaGVjayBvbiByZXF1aXJlZCAxLjIgRUdMIHZlcnNpb24KCSAgLSBSZW9yZGVycyB0aGUgY29kZSBhIGJpdC4KCjIwMTItMTAtMTUgMTM6Mzg6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBjcmFzaGVzIGlmIHRoZXJlIGFyZSBubyBFR0wgb3IgR0xFUyBleHRlbnNpb25zCgoyMDEyLTEwLTEwIDEyOjQyOjQ3IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEZpeCBjcmFzaCBhdCBlbGVtZW50IGluc3RhbnRpYXRpb24KCjIwMTItMTAtMTAgMTI6MjY6MDQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogR0xTTDogU2F2ZSBvbmUgZXh0cmEgdGV4dHVyZSBsb29rdXAKCjIwMTItMTAtMTAgMTI6MjI6MjQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogR0xTTDogTWlub3IgbmFtZWQgaW5kZXggYWNjZXNzIHR3ZWFrIHh5eiAtPiByZ2IKCjIwMTItMTAtMTAgMTI6MTg6MjcgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogR0xTTDogQXNzb3J0ZWQgZml4ZXMgdG8gb3B0aW1pemVkIGNvZGUKCSAgLSBEb24ndCBjb3B5IG92ZXIgb3BvcyBhcyBpdCdzIGFscmVhZHkgYSB2ZWMyCgkgIC0gRml4IGluZGV4IG9yZGVyIGFjY2VzcyBhdCBmcmFnX1lVWTJfWVZZVV9VWVZZX3Byb2cKCjIwMTItMTAtMTAgMTE6NTA6MjggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogR0xTTDogUGxhbmFyIFlVViBjb252ZXJ0ZXJzIG9wdGltaXphdGlvbgoJICAtIFVzZSBjb25zdHMgZm9yIHRoZSB0cmFuc2Zvcm0ncyBvZmZzZXQgYW5kIGNvZmZpY2llbnRzIHZhbHVlcwoJICAtIFVzZSBkb3QgcHJvZHVjdCBpbnN0ZWFkIG9mIG11bHQgYW5kIGFkZAoJICAtIEF2b2lkIHVubmVlZGVkIHRleHR1cmUgbG9va3VwcwoKMjAxMi0xMC0xMCAxMTowNTowNCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIEdlZ2xnbGVzc2luazogTFNMOiBPcHRpbWl6ZSBmcmFnX1lVWTJfWVZZVV9VWVZZX3Byb2cKCSAgLSBBdm9pZCByZXBlYXRlZGx5IHBlcmZvcm1pbmcgdGhlIHRleHR1cmUgbG9va3VwCgkgIC0gVXNlIGNvbnN0cyBmb3IgdGhlIHRyYW5zZm9ybSdzIG9mZnNldCBhbmQgY29mZmljaWVudHMgdmFsdWVzCgkgIC0gVXNlIHRoZSBkb3QgcHJvZHVjdCBpbnN0ZWFkIG9mIHRoZSBleHBsaWNpdCBtdWx0IGFuZCBhZGQKCjIwMTItMTAtMTAgMDM6MDI6MjEgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogR0xTTDogRHJvcCB1bm5lZGVkIG54eSB2ZWMyCgoyMDEyLTEwLTEwIDAyOjE2OjM1IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBtaXNzaW5nIGRvdWJsZSBxdW90YXRpb24gbWFyayBpbiBHTFNMIGNvZGUKCjIwMTItMTAtMTAgMDI6MDQ6MTggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogR0xTTDogT3B0aW1pemUgZnJhZ19BWVVWX3Byb2cKCSAgLSBBdm9pZCByZXBlYXRlZGx5IHBlcmZvcm1pbmcgdGhlIHRleHR1cmUgbG9va3VwCgkgIC0gVXNlIGNvbnN0cyBmb3IgdGhlIHRyYW5zZm9ybSdzIG9mZnNldCBhbmQgY29mZmljaWVudHMgdmFsdWVzCgkgIC0gVXNlIHRoZSBkb3QgcHJvZHVjdCBpbnN0ZWFkIG9mIHRoZSBleHBsaWNpdCBtdWx0IGFuZCBhZGQKCjIwMTItMTAtMDkgMjM6MzU6MjIgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogRG9jdW1lbnRhdGlvbjogR3N0RWdsR2xlc1Npbmsgc3RydWN0CgoyMDEyLTEwLTA5IDIzOjA0OjA1IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IERvY3VtZW50YXRpb246IEdzdEVnbEdsZXNCdWZmZXIgc3RydWN0IChEUkFGVCkKCjIwMTItMTAtMDkgMjI6NTQ6NDggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogRG9jdW1lbnRhdGlvbjogR3N0RWdsR2xlc0ltYWdlRm10IHN0cnVjdAoKMjAxMi0xMC0wOSAyMjo0MDoxOSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBEb2N1bWVudGF0aW9uOiBHc3RFZ2xHbGVzUmVuZGVyQ29udGV4dCBzdHJ1Y3QKCjIwMTItMTAtMDkgMTc6MDA6NTIgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQXNzb3J0ZWQgZG9jIGFuZCByZW9yZGVyaW5nIGZpeGVzCgoyMDEyLTEwLTA5IDE2OjI1OjQ2IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvY3VtZW50YXRpb246IEVsZW1lbnQgcHJvcGVydGllcwoJICBCcmllZiBleHBsYW5hdG9yeSBjb21tZW50cyBwbHVzIHNvbWUgcmVvcmRlcmluZwoJICB0byBncm91cCBkZWZhdWx0IHNldHRpbmcgb2YgcHJvcGVydGllcyBhbmQgcnVudGltZQoJICBmbGFncyB2YWx1ZXMuCgoyMDEyLTEwLTA5IDE3OjIwOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc3VwcG9ydCBmb3IgWVZZVQoKMjAxMi0xMC0wOSAxMTo0ODowOSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb2N1bWVudGF0aW9uOiBHTFNMIFNoYWRlcnMKCSAgQnJpZWYgZXhwbGFuYXRvcnkgY29tbWVudHMgcGx1cyBzb21lIHJlcmRlcmluZwoJICB0byBncm91cCBwYWNrZWQvcGxhbmFyIGNvbnZlcnRlcnMuCgoyMDEyLTEwLTA5IDExOjAwOjI0IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvY3VtZW50YXRpb246IEVsZW1lbnQgb3ZlcnZpZXcKCjIwMTItMTAtMDggMTI6MTA6MjUgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmVmYWN0b3IgUkVPUkRFUiBzaGFkZXIuCgkgIEF2b2lkIHVubmVlZGVkbHkgY2FsbGluZyB0ZXh0dXJlMkQoKSAzIGNvbnNlY3V0aXZlIHRpbWVzLgoKMjAxMi0xMC0wNCAxNTo0Nzo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGhhbmRsaW5nIG9mIGNhcHMgY2hhbmdlcyBieSBvbmx5IHJlbGVhc2luZyB3aGF0IG5lZWRzIHRvIGJlIHJlbGVhc2VkCgkgIEFuZCBub3QgdGVybWluYXRpbmcgdGhlIGRpc3BsYXkgY29ubmVjdGlvbgoKMjAxMi0xMC0wNCAwMjoxNToyNCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBNb3ZlIGRpc3BsYXlfcmVnaW9uIHJlc2V0IHRvIGxvY2tlZCBzZWN0aW9uCgoyMDEyLTEwLTA0IDAxOjU2OjEwIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlc2V0IGRpc3BsYXlfcmVnaW9uIGRpbXMgYXQgY2FwcyByZW5lZ28KCjIwMTItMTAtMDQgMDE6MzM6MzEgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQ29zbWV0aWNzCgoyMDEyLTEwLTA0IDAxOjI5OjQwIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvbid0IGFjY2VzcyBsb2NhbCB2YWx1ZSBmcm9tIHN0cnVjdAoKMjAxMi0xMC0wMyAyMzo0MTo1MiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBUZXJtaW5hdGUgZGlzcGxheSBjb25uZWN0aW9uIGF0IGNhcHMgcmVuZWdvCgoyMDEyLTEwLTAyIDE3OjU2OjE0IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IENvc21ldGljcwoKMjAxMi0xMC0wMyAxMjozMjozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogT25seSBhdHRhY2ggdGhlIGNvbnRleHQgb25jZSB0byB0aGUgc3RyZWFtaW5nIHRocmVhZAoKMjAxMi0xMC0wMyAxMDo1MzoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTWFrZSB0aGUgY29udGV4dCBjdXJyZW50IGZvciB0aGUgdGhyZWFkIGFuZCB1bmJpbmQgaXQgYWdhaW4gYXJvdW5kIGV2ZXJ5IHVzZQoJICBUaGlzIGZpeGVzIHNvbWUgY3Jhc2hlcyBhbmQgbGVha2luZyBvZiBvdXIgY29udGV4dCBpbnRvIG90aGVyCgkgIE9wZW5HTCBjb2RlIG9uIHRoZSBzYW1lIHRocmVhZC4KCjIwMTItMTAtMDIgMTc6Mjk6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEltcHJvdmUgY2xlYW51cAoKMjAxMi0xMC0wMiAxNTo0NjowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmVtb3ZlIHVudXNlZCBsYWJlbAoKMjAxMi0xMC0wMiAxNTo0MjowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWxsb3cgc2V0dGluZyBhIE5VTEwgaGFuZGxlCgoyMDEyLTEwLTAyIDA5OjQ4OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZXZlcnQgIkRvIG5vdCB1cGRhdGVfc3VyZmFjZV9kaW1zKCkgb25jZSBwZXIgZnJhbWUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgODIxMDMzNzZlZGUyYmM3YzYzZGQ2OTlmNTk4MjE2ODY2MGY2Nzg1Mi4KCSAgV2UgaGF2ZSB0byB1cGRhdGUgdGhlIHN1cmZhY2UgZGltZW5zaW9ucyBvbiBldmVyeSBmcmFtZSB0bwoJICBtYWtlIHN1cmUgdGhhdCB3ZSBnZXQgbm90aWZpZWQgYWJvdXQgdXBkYXRlcy4gVGhpcyBoYXBwZW5zCgkgIGZvciBleGFtcGxlIGlmIHRoZSBBbmRyb2lkIHdpbmRvdyBnZXRzIHJlLWxheW91dGVkIGJlY2F1c2UKCSAgYSB3aWRnZXQgdGFrZXMgbW9yZSBzcGFjZSB0aGFuIGJlZm9yZS4KCjIwMTItMTAtMDIgMDE6NDM6MzUgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG8gbm90IHVwZGF0ZV9zdXJmYWNlX2RpbXMoKSBvbmNlIHBlciBmcmFtZQoJICBBbmQuLiBVcGdyYWRlIGRlYnVnIG1lc3NhZ2UgdG8gd2FyZ2luZyBvbiB3ZWlyZCBEQVIuCgkgIENvcnJlY3QgZml4IHRvIGF2b2lkIHNwYW1pbmcgd2l0aCB0aGlzIG1lc3NhZ2UKCSAgb25jZSBwZXIgZWFjaCBmcmFtZSBpcyBhdm9pZCBjYWxsaW5nIHVwZGF0ZV9zdXJmYWNlX2RpbXMoKQoJICBhdCByZW5kZXJfYW5kX2Rpc3BsYXkoKS4gVGhpcyBpcyBoYW5kbGVkIGF0IGVnbCBzdXJmYWNlCgkgIGluaXQuCgoyMDEyLTEwLTAxIDE2OjM2OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBbmQgZG93bmdyYWRlIGFub3RoZXIgd2FybmluZyB0b28KCjIwMTItMTAtMDEgMTY6MTQ6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvd25ncmFkZSBHU1RfV0FSTklORyB0byBHU1RfREVCVUcKCjIwMTItMTAtMDEgMDk6NDQ6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzb21lIHt9IHRvIGlmIHN0YXRlbWVudHMgbWFrZSB0aGVtIHdvcmsgYXMgZXhwZWN0ZWQKCjIwMTItMDktMzAgMjM6MDc6NDggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRHJvcCBzdGFsZSBkZWZpbmVzIGZvciBtYXggZnJhbWUgc2l6ZQoKMjAxMi0wOS0zMCAyMzowNjoxOSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBTbWFsbCBjb21tZW50YXJ5IGZpeGVzIGhlcmUgYW4gdGhlcmUKCjIwMTItMDktMjggMTE6NDg6MjMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQXZvaWQgc2V0dGluZyBoZWlnaHQgb3Igd2lkdGggdHdpY2UKCjIwMTItMDktMjcgMDE6MTg6MzcgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogVXNlIFBBUi9EQVIgdG8gc2V0IHZpZXdwb3J0CgoyMDEyLTA5LTI3IDE0OjI4OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBDb3JyZWN0bHkgcmVzaXplIGlmIHRoZSBzdXJmYWNlIGRpbWVuc2lvbnMgY2hhbmdlCgoyMDEyLTA5LTI3IDE0OjA4OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBVcGRhdGUgc3VyZmFjZSBkaW1lbnNpb25zIG9uIGV2ZXJ5IGJ1ZmZlcgoKMjAxMi0wOS0yNyAxNDowMjoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogTW9yZSBjb25zaXN0ZW50IG5hbWluZyBvZiBzaGFkZXIgcmVsYXRlZCB2YXJpYWJsZXMKCjIwMTItMDktMjcgMTM6NTc6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IFNvbWUgdmFyaWFibGUgbmFtZSBjbGVhbnVwCgoyMDEyLTA5LTI3IDEzOjUzOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBSZW1vdmUgZGVmYXVsdC13aWR0aC9oZWlnaHQgcHJvcGVydGllcwoJICBUaGVzZSBhcmUgY29tcGxldGVseSB1bm5lZWRlZAoKMjAxMi0wOS0yNSAxMzozMjo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGRvdWJsZSBmcmVlKCkKCjIwMTItMDktMjUgMDk6MDY6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvbid0IGxlYWsgRUdML0VTIHJlbmRlciBjb250ZXh0CgoyMDEyLTA5LTI1IDAxOjM5OjIxIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IFB1dCBFR0wvR0xFUyBjb250ZXh0IHZhcnMgb24gdGhlaXIgb3duIHN0cnVjdAoKMjAxMi0wOS0yNCAxMToxOTozMiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL1RPRE86CgkgIGVnbGdsZXNzaW5rOiBTbWFsbCBUT0RPIHJlZm9ybWF0dGluZwoKMjAxMi0wOS0yNCAxMDoyMzoyOCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL1RPRE86CgkgIGVnbGdsZXNzaW5rOiBBZGQgVE9ETyBmaWxlCgoyMDEyLTA5LTI0IDE0OjQzOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBDb3JyZWN0bHkgaW1wbGVtZW50IDo6ZXhwb3NlKCkKCSAgV2UgZG9uJ3QgbmVlZCB0aGUgcGFzdCBidWZmZXIgZm9yIHRoaXMsIHRoZSBvbGQgb25lIGlzIHN0aWxsIGF2YWlsYWJsZQoJICBhcyB0ZXh0dXJlIGFuZCB3ZSBqdXN0IG5lZWQgdG8gZHJhdyBvdXIgcmVjdGFuZ2xlIGFnYWluLgoKMjAxMi0wOS0yNCAxMzo0ODoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQWxsb3cgc2V0dGluZyBhbm90aGVyIHdpbmRvdyBmb3IgdGhlIG5leHQgdGltZSB3ZSByZWNvbmZpZ3VyZSBldmVyeXRoaW5nCgoyMDEyLTA5LTI0IDEyOjM2OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBBbHNvIHVucmVmIGN1cnJlbnQgY2FwcyBhZnRlciB1c2FnZQoKMjAxMi0wOS0yNCAxMjozMjoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogSW1wbGVtZW50IHN1cHBvcnQgZm9yIGNhcHMgY2hhbmdlcwoKMjAxMi0wOS0yNCAxMjoyNzoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogTW9yZSBjbGVhbnVwIGFuZCBtYWtpbmcgdGhlIGVsZW1lbnQgcmV1c2FibGUKCjIwMTItMDktMjQgMTI6MDU6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFByb3Blcmx5IGluaXQvcmVsZWFzZSByZXNvdXJjZXMgd2hlbiBnb2luZyBmcm9tIE5VTEwtPlJFQURZIGFuZCB0aGUgb3RoZXIgd2F5IGFyb3VuZAoKMjAxMi0wOS0yNCAxMTo0ODo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogR2VuZXJhdGUgdGhlIHNpbmsgY2FwcyBleGFjdGx5IG9uY2UKCjIwMTItMDktMjQgMTE6MTc6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBjb2RlIHN0eWxlIGEgYml0IHRvIHN0b3AgY29uZnVzaW5nIGluZGVudAoKMjAxMi0wOS0yNCAxMToxNTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IHN1cHBvcnQgZm9yIFlVWTIgYW5kIFVZVlkKCjIwMTItMDktMjQgMTE6MDE6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFNvbWUgcHJvcGVydHkgY2xlYW51cAoKMjAxMi0wOS0yNCAxMDo0NTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIHRoZSByZW1haW5pbmcgUkdCIGZvcm1hdHMKCjIwMTItMDktMjQgMTA6MjM6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzdXBwb3J0IGZvciBZNDQ0LCBZNDJCIGFuZCBZNDFCLCBqdXN0IGJlY2F1c2UgaXQncyBzbyBlYXN5CgoyMDEyLTA5LTI0IDEwOjAyOjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc29tZSBzaW1wbGUgVE9ET3MKCjIwMTItMDktMjQgMDE6MDg6MjIgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTG9jayB3aGlsZSBhbHRlcmluZyBkaXNwbGF5IHJlZ2lvbiBjb29yZHMKCjIwMTItMDktMjQgMDA6Mjc6MjMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IF9nZXRfY29tcGF0X2Zvcm1hdF9mcm9tX2NhcHMoKSBsb2dpYwoJICBJdCdzIGEgZ2V0dGVyIHNvIGl0IHNob3VsZG4ndCBtZXNzaW5nIHdpdGggdGhlIHNpbmsgY29udGV4dC4KCSAgQWRkaW5nIGluc3VsdCB0byBpbmp1cnkgaXQgd2FzIHNldHRpbmcgc2VsZWN0ZWRfZm10IHdpdGhvdXQKCSAgbG9ja2luZy4KCSAgVGhlIGFzc29jaWF0ZWQgY2hhbmdlcyB0byB0aGUgYnVmZmVyIGZ1bmN0aW9ucyBhcmUgbWVyZWx5CgkgIG1ha2UtaXQgYnVpbGQgZml4ZXMuIFRob3NlIGZ1bmN0aW9ucyBhcmUgYmFyZWx5IGRyYWZ0ZWQKCSAgYW5kIGluIFdJUCBzdGF0ZS4KCjIwMTItMDktMjMgMjM6MDc6MjkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRHJvcCB1bm5lZGVkIGluaXRpYWwgc2V0IHRvIE5VTEwKCjIwMTItMDktMjMgMjI6MzM6NTggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogTWlub3IgZm9ybWF0dGluZyBhbmQgY29tbWVudCBmaXhlcwoKMjAxMi0wOS0yMSAxMjoxMjoyNCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBDbGVhbi11cCBnbC9lZ2wgYWxsb2NhdGlvbnMgYXQgX3N0b3AoKQoJICBBbHNvLCBjb25kaXRpb25hbHkgZGVzdHJveSB3aW5kb3cgaWYgdGhlIHNpbmsgY3JlYXRlZCBpdHMgb3duLgoKMjAxMi0wOS0yMSAxNzowODo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIE5WMTIgYW5kIE5WMjEKCSAgQWxzbyBZVVkyIGFuZCBVWVZZIGJ1dCB0aGlzIGlzIGRpc2FibGVkIGZvciBub3cgYXMgaXQKCSAgZG9lc24ndCB3b3JrIGNvbXBsZXRlbHkgeWV0LiBTb21ldGhpbmcgaXMgd3Jvbmcgd2l0aAoJICB0aGUgY2hyb21hLgoKMjAxMi0wOS0yMSAxNTo0NDowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIEk0MjAgYW5kIFlWMTIgY29sb3IgZm9ybWF0cwoKMjAxMi0wOS0yMSAxNDowNTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUHJlcGFyYXRpb25zIGZvciBzdXBwb3J0aW5nIG11bHRpcGxlIHRleHR1cmVzIGZvciBtb3JlIFlVViBmb3JtYXRzCgoyMDEyLTA5LTIxIDEzOjQyOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBVc2UgdGhlIGF0dHJpYiBsb2NhdGlvbnMgYXMgcmVhbGx5IHVzZWQgaW5zaWRlIHRoZSBzaGFkZXIKCjIwMTItMDktMjEgMTI6NTM6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlYWxseSBkZWNvdXBsZSB2ZXJ0ZXggYW5kIHRleHR1cmUgcG9zaXRpb25zIGluIHRoZSBzaGFkZXIKCjIwMTItMDktMjEgMTI6NDU6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IERlY291cGxlIHRleHR1cmUgYW5kIHZlcnRleCBwb3NpdGlvbnMKCjIwMTItMDktMjEgMTI6MTQ6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlb3JkZXIgdmVydGV4IHZhbHVlIG9yZGVyIHRvIG1ha2UgYSBiaXQgbW9yZSBzZW5zZQoKMjAxMi0wOS0yMSAwMTowOToxMSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBIYW5kbGUgZnJhbWUgc2NhbGluZyB0byBmaWxsIHN1cmZhY2UKCjIwMTItMDktMjEgMDA6MDk6MDYgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogRHJhZnQgc2V0X3JlbmRlcl9yZWN0YW5nbGUoKSBmcm9tIHRoZSB4T3ZlcmxheSBpbnRlcmZhY2UKCjIwMTItMDktMjAgMjI6NTA6MzEgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmVtb3ZlIHN0YWxlIGNvbW1lbnQKCjIwMTItMDktMjAgMjI6NDE6MTAgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTW92ZSBWQk8gc2V0dXAgdG8gc2V0Y2FwcwoKMjAxMi0wOS0yMCAyMjoxMTowOCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb24ndCBkbyBjb250ZXh0IG9wcyBhdCByZW5kZXIKCSAgV2UgZG9uJ3QgbmVlZCB0byByZXBlYXRlZGx5IGNhbGwKCSAgZWdsTWFrZUN1cnJlbnQoKSB3aGlsZSB1c2luZyB0aGUKCSAgc2FtZSBjb250ZXh0IGFueXdheS4KCjIwMTItMDktMjAgMjI6MDE6MjAgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG9uJ3QgY2xlYXIgc3VyZmFjZSBjb2xvciBhdCByZW5kZXIKCjIwMTItMDktMjAgMTc6MjI6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlbmFtZSBzaGFkZXIgdmFyaWFibGVzIHRvIG1ha2UgbW9yZSBzZW5zZQoKMjAxMi0wOS0yMCAxNzoxNDoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIEFZVVYKCjIwMTItMDktMjAgMTc6MDI6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlb3JkZXIgY2FwcyBhIGJpdCB0byBtYWtlIG1vcmUgc2Vuc2UKCjIwMTItMDktMjAgMTY6NTA6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFNldCByYW5rIHRvIFBSSU1BUlkKCjIwMTItMDktMjAgMTY6MjU6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzdXBwb3J0IGZvciBSR0JBCgoyMDEyLTA5LTIwIDE2OjIxOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBDb3JyZWN0bHkgZ2VuZXJhdGVkIGNhcHMgZm9yIHRoZSBzdXBwb3J0ZWQgZm9ybWF0cwoKMjAxMi0wOS0yMCAxNjowODoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIDo6Z2V0X2NhcHMoKSB2ZnVuYyB0aGF0IHJldHVybnMgdGhlIGFjdHVhbGx5IHN1cHBvcnRlZCBjYXBzCgoyMDEyLTA5LTIwIDE1OjU2OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBbHNvIHJlcXVpcmUgYSBjb25maWd1cmF0aW9uIHdpdGggRUdMX1NVUkZBQ0VfVFlQRSBjb250YWluaW5nIEVHTF9XSU5ET1dfQklUCgoyMDEyLTA5LTIwIDE0OjUwOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTItMDktMTkgMTk6MjY6NTQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQ2xlYXIgc3VyZmFjZSB0byBibGFjayBieSBkZWZhdWx0CgoyMDEyLTA5LTE5IDE5OjIzOjUwIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE1ha2Ugc3VyZSB3ZSBnZXQgYSBjb25maWcgd2UgY2FuIHVzZSB3aXRoIEdMRVMyCgoyMDEyLTA5LTE5IDE5OjEyOjMwIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IHNldF93aW5kb3dfaGFuZGxlKCkgaGFzIGJlZW4gdGVzdGVkIHRvIHdvcmsgbm93CgoyMDEyLTA5LTE5IDEyOjI5OjEzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEF2b2lkIGF1dG9zY2FsaW5nIGJ5IGRlZmF1bHQKCjIwMTItMDktMTggMTQ6NTg6NDMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQXZvaWQgcmVwZWF0ZWRseSBzZXR0aW5nIDJEIHJlc2l6aW5nIHBhcmFtcwoJICBNb3ZlZCB0byBpbml0aWFsIHRleHR1cmUgc2V0dXAgc28gaXQgaGFwZW5zCgkgIGp1c3Qgb25jZSB3aGlsZSBvbiB0aGUgc2FtZSBjb250ZXh0LgoKMjAxMi0wOS0xOCAxMjowNDoyMCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBdm9pZCBpbml0aWFsaXppbmcgRUdMIGF0IF9zZXRfd2luZG93X2hhbmRsZSgpCgkgIF9zdGFydCgpIHNob3VsZCB0YWtlIGNhcmUgb2YgdGhhdC4KCSAgVGhpcyBjaGFuZ2UgYXN1bWVzIF9zZXRjYXBzKCkgd2lsbAoJICBoYXBwZW4gYWx3YXlzIGFmdGVyIF9zdGFydCgpIGlzCgkgIGRvbmUuCgoyMDEyLTA5LTE4IDEwOjQzOjM4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvbid0IGFzayBmb3IgYSB3aW5kb3cgaWYgd2UgYWxyZWFkeSBoYXZlIG9uZQoKMjAxMi0wOS0xOCAxMDozMToyNiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBGaXggRUdMIGF0dHJpYnMgdmFyIG5hbWluZwoKMjAxMi0wOS0xOCAwMjozMjoyNSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggc2xvdyBwYXRoIHJlbmRlcmluZyBvbiBBbmRyb2lkCgkgIFNwZWNpZnkgbWlzc2luZyBhbmQgbWFuZGF0b3J5IHBhcmFtcyBmb3IgbnBvdAoJICBCZWZvcmUgY2FsbGluZyBnbFRleEltYWdlMkQuCgkgIEluIHBhcnRpY3VsYXIsIF9XUkFQX1QgYW5kIF9XUkFQX1MgbmVlZCB0byBiZQoJICBzZXQgdG8gR0xfQ0xBTVBfVE9fRURHRSB0byBhdm9pZCBhbGwtYmxhY2sKCSAgcmVuZGVyaW5nIHdpdGggbnBvdCBzaXplZCBmcmFtZXMuCgoyMDEyLTA5LTE4IDAwOjUxOjM2IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCB0ZXN0IG9uIHVzYWJsZSBlZ2xjb25maWdzIHJldHVybmVkCgoyMDEyLTA5LTE3IDIzOjA1OjI5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERyb3Agc3RhbGUgZXJyb3JfbG9ja2VkIGxhYmVsCgoyMDEyLTA5LTE3IDIzOjA0OjA1IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IENsZWFudXAgc3RhbGUgY29kZSBjb21tZW50cwoKMjAxMi0wOS0xNyAxODowMDoxNiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBHbFZpZXdQb3J0KCkgc2hvdWxkIHVzZSBhY3R1YWwgc3VyZmFjZSBzaXplCgoyMDEyLTA5LTE3IDE3OjIxOjI2IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEF2b2lkIHJlaW5pdGluZyBFR0wgYWZ0ZXIgdGhlIGZpcnN0IHRpbWUKCjIwMTItMDktMTcgMTM6NDQ6MDkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogVXNlIGNvcnJlY3QgdGVtcGxhdGUgY2FwcwoKMjAxMi0wOS0xNyAxMjo1NDowNSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggbWlzc2luZyB0ZXh0dXJlIHNldHVwIGJpdHMKCjIwMTItMDktMTcgMTE6NTc6MjQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIGVycm9yIGNoZWNraW5nIG9uIGVnbFN3YXBCdWZmZXJzCgoyMDEyLTA5LTE3IDExOjQwOjQ5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBzdGFsZSZ3cm9uZyAwLjUgYWxwaGEgYmxlbmQKCjIwMTItMDktMTcgMTA6NTY6MTQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIGZsb2F0IHByZWNpc2lvbiBzcGVjaWZpZXIgdG8gZnJhZ21lbnQgc2hhZGVyCgkgIFRoaXMgaXMgcmVxdWlyZWQgYnkgR0xFUyBhbmQgZml4ZXMgY29tcGlsYXRpb24gb2YgZnJhZ21lbnQKCSAgc2hhZGVyIHByb2cuCgoyMDEyLTA5LTE3IDEwOjQ3OjM5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBsb2cgcmVwb3J0aW5nIGF0IHNoYWRlciBjb21waWxhdGlvbiBmYWlsdXJlCgoyMDEyLTA5LTE2IDIyOjQzOjM4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzb21lIG1pc3NpbmcgY2hlY2tzIG9uIHNoYWRlciBvcHMKCSAgLSBDaGVjayB3aGV0aGVyIHRoZXJlIGlzIHNoYWRlciBjb21waWxlciBzdXBwb3J0CgkgIGFuZCBiYWlsIG91dCBvdGhlcndpc2UuCgkgIC0gQWRkIGNoZWNrcyBvbiBjb21waWxlIGFuZCBsaW5raW5nIG9wcwoKMjAxMi0wOS0xNCAyMDo0OTo0OCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBGaXggc2V0dXAgY2hhaW4gbG9naWMKCSAgTW9zdGx5IGEgcHJvY2VkdXJhbCByZW9yZGVyaW5nLiBJZGVhIGlzIHRvIGF2b2lkCgkgIHRyeWluZyB0byBzZXR1cCBhIHN1cmZhY2Ugd2l0aG91dCBhIGRpc3BsYXkuVGhpcwoJICBjaGFuZ2UgcmVsaWVzIG9uIHRoZSBhc3VtcHRpb24gdGhhdDoKCSAgMS4tIHNldF93aW5kb3dfaGFuZGxlKCkgY2FuIGhhcHBlbiBhdCBhbnkgdGltZQoJICAyLi0gc2V0Y2FwcyB3aWxsIG5ldmVyIGdldCBjYWxsZWQgYmVmb3JlIF9zdGFydCgpCgkgIGlzIGRvbmUuCgkgIElmIGJvdGggY29uZGl0aW9ucyBhcmUgbWVldCB0aGUgbmV3IHByb2NlZHVyZQoJICBzaG91bGQgd29yayBhcyBleHBlY3RlZC4KCjIwMTItMDktMTQgMTU6NTk6MDUgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogV0lQOiBSZW9yZGVyIGxvY2tpbmcKCjIwMTItMDktMTMgMjM6MjM6MDggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IHhPdmVybGF5IGxvZ2ljCgkgIFNldmVyYWwgZml4ZXMgZGVhbGluZyB3aXRoIGNvcnJlY3Qgd2luZG93CgkgIGNyZWF0aW9uIGFuZCBzZXRfaGFuZGxlKCkgb3BzLiBUZXN0ZWQgb24KCSAgWDExL21lc2Egd2l0aCBpbnRlcm5hbCB3aW5kb3cgY3JlYXRpb24uCgoyMDEyLTA5LTEzIDAwOjU1OjMzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFjdHVhbGx5IHRlc3QgRUdMIGNvbmZpZ3MgYmVmb3JlIGNsYWltaW5nIHN1cHBvcnQKCjIwMTItMDktMTMgMDA6MTE6NDkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQ2FwcyBuZWdvIEVHTCBmaXhlcwoJICAtIEZpeCBhbGxvYyBsb2wgb24gZm9ybWF0IGxpc3Q6IEFza2VkIGZvciAyIHNsaWNlcyBhbmQgdXNlZCAzLgoJICAtIFJlb3JkZXJlZCBkaXNwbGF5ICYgY29udGV4dCBpbml0IGxvZ2ljIHRvIHByZXBhcmUgZm9yIGFjdHVhbAoJICBjb25maWcgY2hlY2tpbmcgYmVmb3JlIGNsYWltaW5nIHN1cHBvcnQgZm9yIGEgZ2l2ZW4gZm9ybWF0LgoJICBDaGFuZ2UgZGVhbHMgYmFzaWNhbGx5IHdpdGggc2V0dGluZyB1cCBFR0wgZGlzcGxheSBhdCBzdGFydCgpCgkgIGFuZCBjaG9vc2UgYW4gRUdMIGNvbmZpZyBvbmx5IGF0IHNldGNhcHMgdGltZS4KCjIwMTItMDktMTIgMjI6MTE6MzkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQ2FwcyBuZWdvLiBTdGFydCBleHRlbmRpbmcgUkdCIHN1cHBvcnQgdG8gYSBzZXQuCgoyMDEyLTA5LTEyIDE2OjE5OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL01ha2VmaWxlLmFtOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGJ1aWxkIG9mIHN0YXRpYyBwbHVnaW4KCjIwMTItMDktMTIgMDk6Mjg6MjIgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRHJvcCB3cm9uZyBmb3JtYXQgdGVzdCBvbiBfc2V0Y2FwcyAoZHJhZnQgbGVmdG92ZXIpCgoyMDEyLTA5LTExIDEzOjU0OjA5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IFN1cHBvcnQgUkdCMjQgYnkgZGVmYXVsdAoKMjAxMi0wOS0xMSAxMzo1MToyNSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBJbnN0cnVtZW50IEVHTCBlcnJvciByZXBvcnRpbmcKCjIwMTItMDktMTEgMTI6MDQ6MzAgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQ29ycmVjdGx5IHJldHVybiBHc3RGbG93UmV0dXJuIGZyb20gcmVuZGVyX2FuZF9kaXNwbGF5KCkKCjIwMTItMDktMTEgMTE6NTE6MjggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTW92ZSBWQk8gc2V0dXAgdG8gaXQncyBvd24gZnVuY3Rpb24KCjIwMTItMDktMTEgMTA6MjA6MTYgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IHJlbmRlcl9hbmRfZGlzcGxheSBsb2dpYwoJICBTd2l0Y2ggcHJvY2VkdXJlIGFjY29yZGluZyB0byBlbmFibGVkIHJlbmRlcmluZyBwYXRoCgoyMDEyLTA5LTEwIDIyOjU5OjU3IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBzYW1wbGUgbGF1bmNoIGxpbmUgd2l0aCBkaXNhYmxlZCB3aW5kb3cgY3JlYXRpb24KCjIwMTItMDktMTAgMjI6NDE6NTIgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogUmVuYW1lIHN0YWxlIGFuZHJvaWQgbGVmdG92ZXIKCjIwMTItMDktMTAgMjA6MjI6MjIgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9NYWtlZmlsZS5hbToKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSogZXh0L2VnbGdsZXMvZ3N0dmlkcm9pZHNpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0dmlkcm9pZHNpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IE1vdmUgZWdsZ2xlcyBTaW5rIHRvIGV4dC8gIzIKCjIwMTItMDktMTAgMjA6MDA6NTcgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9BbmRyb2lkLm1rOgoJKiBleHQvZWdsZ2xlcy9NYWtlZmlsZS5hbToKCSogZXh0L2VnbGdsZXMvZ3N0dmlkcm9pZHNpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0dmlkcm9pZHNpbmsuaDoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmg6CgkgIGVnbGdsZXNzaW5rOiBNb3ZlIGVnbGdsZXMgU2luayB0byBleHQvCgoyMDEyLTEwLTE4IDE0OjAzOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3BlbnNsZXM6IEFkZCB0aGUgb3BlbnNsZXMgcGx1Z2luIHRvIHRoZSBsaXN0IG9mIG5vdCBwb3J0ZWQgcGx1Z2lucwoKMjAxMi0xMC0xOCAxMzo1Njo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL29wZW5zbGVzL01ha2VmaWxlLmFtOgoJICBvcGVuc2xlczogSW50ZWdyYXRlIGludG8gYnVpbGQgc3lzdGVtCgoyMDEyLTEwLTEyIDEwOjA4OjU5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzc2luazogUmV0dXJuIDAgZGVsYXkgaWYgdGhlIHBsYXllciBvYmplY3QgaXMgaW4gUEFVU0VEIHN0YXRlCgoyMDEyLTEwLTAxIDEyOjU0OjE1ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSAgb3BlbnNsZXM6IGZpeGVzIG5vaXNlIG9uIHNlZWtlaW5nCgoyMDEyLTEwLTAxIDExOjQ2OjUwICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiBjaGFpbiB1cCBvbiBfY2xlYXJfYWxsCgoyMDEyLTEwLTAxIDExOjE0OjI0ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSAgb3BlbnNsZXM6IGltcGxlbWVudCB0aGUgcmluZ2J1ZmZlciBjbGVhcl9hbGwgdm1ldGhvZCB0b28KCjIwMTItMTAtMDEgMTA6NTk6MDggKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmM6CgkgIG9wZW5zbGVzOiBpbml0aWFsIGF0dGVtcHQgdG8gcmVkdWNlIHRoZSBzcmMgbGF0ZW5jeQoKMjAxMi0wOS0yOSAxOTowMDoxMyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmM6CgkgIG9wZW5zbGVzOiBzcHJpbmtsZSBjb21tZW50cyBhbmQgY29zbWV0aWMgZml4ZXMKCjIwMTItMDktMjggMTU6MTA6MTkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IGNoZWNrIGZvciBkZXZpY2Ugb3V0cHV0cyBpbiB0aGUgbWl4ZXIKCjIwMTItMDktMjggMTQ6Mzk6MDEgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSAgb3BlbnNsZXM6IGRyb3AgNDhrSHogc2FtcGxlIHJhdGUKCSAgT3BlblNMIEVTIGltcGxlbWVudGF0aW9uIGluIEFuZHJvaWQgaXMganVzdCBhICdmYWNhZGUnIEFQSSBvbiB0b3Agb2YKCSAgQXVkaW9GbGluZ2VyIHdoaWNoIHdpbGwgZG93bnNhbXBsZSA0OGtIeiBpbnRvIDQ0LjFrSHogYmVmb3JlCgkgIGRlbGl2ZXJpbmcgdGhlIGF1ZGlvIHRvIHRoZSB1bmRlcmxheWluZyBoYXJkd2FyZS4KCSAgV2UgZm91bmQgdGhhdCBpdCBzdWZmZXIgc29tZSBzb3J0IG9mIHVuZGVycnVuIHdoZW4gdGhlIGRvd25zYW1wbGUKCSAgZW50ZXJzIGluIGFjdGlvbiBzbyByZWxheSBvbiBvdXIgZ29vZCByZXNhbXBsZXIgdG8gdGFrZSBjYXJlIG9mIHRoYXQKCSAgYW5kIGZpeCB0aGUgY2xpY2tzIGlzc3VlLiBBbmQgZ2V0IGFuIGV4dHJhIGJvbnVzIG9mIGEgbG93ZXIgbGF0ZW5jeS4KCjIwMTItMDktMjcgMTk6MjQ6NTAgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSAgb3BlbnNsZXM6IGNoYW5nZSB0aGUgZGVmYXVsdHMgdG8gdXNlIDIwIG1zIHJpbmdidWZmZXIgc2VnbWVudHMKCSAgSW4gbXkgbmV4dXM3IHNlZW1zIHRoYXQgdGhlIGludGVybmFsIG1pbiBidWZmZXIgc2l6ZSBpcyAyMCBtcyBzbyBtYWtlCgkgIG91ciBzZWdtZW50cyBtYXRjaC4KCjIwMTItMDktMjcgMTg6MzM6MDkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJICBvcGVuc2xlczogZW5zdXJlIHRoYXQgd2UgcmVnaXN0ZXIgdGhlIGNhbGxiYWNrIG9ubHkgaW4gU1RPUFBFRAoJICBGaXhlcyB0aGUgZXJyb3IgcmVnaXN0ZXJpbmcgdGhlIGNhbGxiYWNrIG9uIHRoZSBQTEFZSU5HIC0+IFBBVVNFIC0+CgkgIFBMQVlJTkcgc3RhdGUgY2hhbmdlIHNlcXVlbmNlLgoKMjAxMi0wOS0yNyAxNzo0NjoyNyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogY2FwIHF1ZXVlIHNpemUKCSAgSnVzdCBpbiBjYXNlIHdlIHdhbnQgdG8gdHdlYWsgdGhlIHNpbmsgYmVoYXZpb3VyIHdpdGggYnVmZmVyLXRpbWUgYW5kCgkgIGxhdGVuY3ktdGltZSBwcm9wZXJ0aWVzIGNhcCB0aGUgcXVldWUgc2l6ZSB0byBzb21ldGhpbmcgcmVhc29uYWJsZS4KCjIwMTItMDktMjcgMTc6MzI6MTQgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSAgb3BlbnNsZXM6IHNpbmsgdG8gcHJvdmlkZSB0aGUgYXVkaW9jbG9jayBieSBkZWZhdWx0CgoyMDEyLTA5LTI3IDE3OjI3OjI0ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiBvbmx5IGRyYWluIGhhbGYgcmluZ2J1ZmZlciBvbiBzdGFydAoJICBBdCBzdGFydCBkcmFpbiBoYWxmIHJpbmdidWZmZXIgaW50byB0aGUgT3BlblNMIHNvIHRoZSB3cml0dGluZy9yZWFkaW5nCgkgIHBvaW50ZXJzIHdpbGwgc3RhcnQgYXQgaGFsZiByaW5nYnVmZmVyIGRpc3RhbmNlLgoKMjAxMi0wOS0yNyAxNDo1Mjo1OSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogbW9uaXRvciBzb21lIHBsYXllciBldmVudHMKCjIwMTItMDktMjcgMDc6MjI6NDcgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJICBvcGVuc2xlczogcmV3b3JrIGFyb3VuZCB0aGUgX2RlbGF5IGZ1bmN0aW9uCgoyMDEyLTA5LTI3IDA1OjQwOjQ2ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSAgb3BlbnNsZXM6IGltcGxlbWVudCBfZGVsYXkgZnVuY3Rpb24KCjIwMTItMDktMjcgMDQ6MDA6MjggKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJICBvcGVuc2xlczogcmVmYWN0b3IgdG8gYmVoYXZlIG1vcmUgbGlrZSBvdGhlciBzaW5rcwoJICBSZWZsZWN0IHRoZSBxdWV1ZSBpbiBvdXIgb3duIGRhdGEgYnVmZmVyLgoJICBEcm9wIHRoZSBfY29tbWl0IGhvb2sgdGhhdCB3YXNuJ3QgdXNlZnVsbC4KCSAgRG9uJ3QgbWVzcyB3aXRoIHRoZSBzZWdzaXplL3NlZ3RvdGFsLgoKMjAxMi0wOS0yNiAxNDowMToxNyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogcmVhZCBwbGF5ZXIgcG9zaXRpb24gYW5kIHNob3cgaXQgaW4gdGhlIGxvZwoKMjAxMi0wOS0yNiAxMjo1MDo0MiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJICBvcGVuc2xlczogZG8gbm90IHByb3ZpZGUgYSBjbG9jayBpbiB0aGUgc2luayBlbGVtZW50LgoKMjAxMi0wOS0yNiAxMjozMjo0NCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogcmV3b3JrIG9uIHN0YXJ0L3N0b3Agb3BlcmF0aW9ucyBhbmQgY2FsbGJhY2sgZnVuY3Rpb24gaGFuZGxpbmcKCjIwMTItMDktMjYgMTI6MDk6MDQgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSAgb3BlbnNsZXM6IGZpeGVzIDggYml0IGZvcm1hdCB3aGljaCBpcyB1bnNpZ25lZCBvbiBhbmRyb2lkLgoKMjAxMi0wOS0yNSAxOToyNTowMSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogYXR0ZW1wdCB0byByZWR1Y2UgcGxheWJhY2sgbGF0ZW5jeQoKMjAxMi0wOS0yNSAxODowNDoyNyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkgIG9wZW5zbGVzOiBkcm9wIF9idWZmZXJfY2xlYXIgY2FsbHMgYW5kIHJlZmFjdG9yIHRvIGEgc2hhcmVkIF9lbnF1ZXVlX2NiCgoyMDEyLTA5LTIxIDE3OjA0OjE0ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiB1c2UgMC4yNXMgc2VnbWVudHMgaW4gdGhlIHNpbmsgdG8gbG93ZXIgbGF0ZW5jeQoKMjAxMi0wOS0yMSAxNjoxMTo0MiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSAgb3BlbnNsZXM6IGZpbmlzaCByZW1haW5pbmcgYml0cyBmb3Igc291cmNlIGVsZW1lbnQuCgoyMDEyLTA5LTIxIDE0OjE1OjEyICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkgIG9wZW5zbGVzOiBhdHRlbXB0IHRvIHF1ZXJ5IGRldmljZSBmb3IgY2FwYWJpbGl0aWVzCgoyMDEyLTA5LTIwIDE4OjQxOjUwICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJICBvcGVuc2xlczogYWRkIHRoZSBtdXRlIHByb3BlcnR5IGFuZCBoYW5kbGUgdm9sdW1lL211dGUgY2hhbmdlcyBvbiB0aGUgZmx5CgoyMDEyLTA5LTIwIDE4OjA0OjI5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmg6CgkgIG9wZW5zbGVzOiBtYWtlIHRoZSB2b2x1bWUgcHJvcGVydHkgYWN0dWFsbHkgd29yawoKMjAxMi0wOS0yMCAxNDoxNjoyNSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkgIG9wZW5zbGVzOiByZXdvcmsgb24gdGhlIHJpbmdidWZmZmVyIHRvIHByb3Blcmx5IGNsZWFyIHNlZ21lbnRzCgkgIE1ha2UgdGhlIHNlZ21lbnRzIGJpZ2dlciAoMSBzZWNvbmQpIGFzIGl0IHNlZW1zIHRvIGJlIHRoZSBtaW5pbXVtIHNpemUKCSAgd2UgbmVlZCB0byBub3QgaW50cm9kdWNlIG5vaXNlLgoJICBTaW5rIHdvcmtzIGluIG15IG5leHVzIDcgd2l0aCByYXRlcyBmcm9tIDgwMDAgdG8gNDQxMDAgYW5kIHNvbWUgbm9pc2UKCSAgY2FuIGJlIG5vdGljZWQgb24gaGlnZ2VyIHNhbXBsZSByYXRlcy4KCjIwMTItMDktMjAgMTE6NTA6NTAgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlcy5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuaDoKCSAgb3BlbnNsZXM6IGZpeGVzIHRoZSBsaWNlbnNlIGhlYWRlcnMKCjIwMTItMDktMjAgMTA6NDE6NTAgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IHByb2R1Y2VzIGV4cGVjdGVkIG91dHB1dCB1bnRpbCByaW5nYnVmZmVyIHdyYXBzCgkgIEFkZCBzb21lIGxvZyBtZXNzYWdlcy4KCSAgRml4ZWQgYSBiaXQgdGhlIF9wbGF5ZXJfY2IgZnVuY3Rpb24gYW5kIHByb3Blcmx5IGFkdmFuY2UgcmVkaW5nIGluIHRoZQoJICByaW5nYnVmZmVyLgoJICBTdGlsbCBwcm9kdWNlcyBub2lzZSB3aGVuIHRoZSByaW5nYnVmZmVyIHdyYXBzLgoKMjAxMi0wOS0xOSAxODoxMTo1NCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL01ha2VmaWxlLmFtOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXMuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmg6CgkgIG9wZW5zbGVzOiBBZGQgaW5pdGlhbCBkcmFmdCBpbXBsZW1lbnRhdGlvbiBvZiBPcGVuU0wgRVMgcGx1Z2luLgoJICBJbml0aWFsIGRyYWZ0IGltcGxlbWVudGF0aW9uIGZvciBhIE9wZW5TTCBFUyBiYXNlZCBwbHVnaW4gZm9yIEFuZHJvaWQKCSAgdGhhdCBwcm92aWRlcyBhdWRpbyBzcmMgYW5kIHNpbmsuCgoyMDEyLTEwLTE4IDA5OjI0OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9NYWtlZmlsZS5hbToKCSAgYW5kcm9pZG1lZGlhOiBVc2UgY29ycmVjdCB2YXJpYWJsZSBuYW1lIGluIE1ha2VmaWxlLmFtCgoyMDEyLTEwLTE3IDIyOjU0OjI4ICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJICBkaXJlY3Rzb3VuZHNyYzogRml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MzQxNAoKMjAxMi0xMC0xNyAxNzozNDoyNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmM6CgkqIGV4dC9jb2cvZ3N0Y29nZG93bnNhbXBsZS5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY29nL2dzdGNvZ3NjYWxlLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZmlsZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsdGxzc2luay5jOgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuY2M6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc3JjLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zcmMuYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L25hcy9uYXNzaW5rLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9vZmEvZ3N0b2ZhLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc2luay5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNyYy5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzZGVwYXkuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNyYy5jOgoJKiBleHQvc25kaW8vc25kaW9zaW5rLmM6CgkqIGV4dC9zbmRpby9zbmRpb3NyYy5jOgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFucGxjLmM6CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkqIGdzdC9hdWRpb2J1ZmZlci9nc3RhdWRpb3JpbmdidWZmZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0LmM6CgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdHZjZHBhcnNlLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaGVja3N1bXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnc3B5LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuYzoKCSogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGRpZmZ1c2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RmaXNoZXllLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWFyYmxlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcGhlcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHVubmVsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5jOgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSogZ3N0L3BhdGNoZGV0ZWN0L2dzdHBhdGNoZGV0ZWN0LmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0aXJ0c3BwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL2dzdHJlbW92ZXNpbGVuY2UuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3Qvc2RpL2dzdHNkaWRlbXV4LmM6CgkqIGdzdC9zZGkvZ3N0c2RpbXV4LmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdGF1ZGlvc2VnbWVudGNsaXAuYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHZpZGVvc2VnbWVudGNsaXAuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzoKCSogZ3N0L3N1YmVuYy9nc3R3ZWJ2dHRlbmMuYzoKCSogZ3N0L3R0YS9nc3R0dGFkZWMuYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHNjZW5lY2hhbmdlLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkqIHN5cy9hY21tcDNkZWMvYWNtbXAzZGVjLmM6CgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOgoJKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOgoJKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6CgkqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc3JjLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NyYy5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZydmlkZW9zaW5rLmM6CgkqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkqIHN5cy92Y2QvdmNkc3JjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIFVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfc3RhdGljX21ldGFkYXRhKCkKCSAgd2hlcmUgcG9zc2libGUuIEF2b2lkcyBzb21lIHN0cmluZyBjb3BpZXMuIEFsc28gcmUtaW5kZW50CgkgIHNvbWUgc3R1ZmYuIEFsc28gc29tZSBpbmRlbnQgZml4ZXMgaGVyZSBhbmQgdGhlcmUuCgoyMDEyLTA0LTAzIDEyOjA5OjE5ICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkgIGRpcmVjdHNvdW5kc3JjOiBwb3J0IHRvIDEuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczNDE0CgoyMDEyLTEwLTE2IDExOjM4OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMTAtMTYgMTE6MzQ6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBSZXZlcnQgImNvbmZpZ3VyZTogZml4IGJ1aWxkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDVjMWMzNTI5MGQ3ZjcyYTRiYzAxNmU4YWVmMjc2ZDhjMWJkY2YzN2IuCgoyMDEyLTEwLTE2IDExOjMxOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFuZHJvaWRtZWRpYTogQWRkIG1pc3NpbmcgZmlsZQoKMjAxMi0xMC0xNiAxMTozMjowMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggYnVpbGQKCjIwMTItMTAtMTUgMTY6MzU6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBSZW5hbWUgcGx1Z2luCgoyMDEyLTEwLTE1IDE2OjI5OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYW5kcm9pZG1lZGlhOiBBZGQgdG8gdGhlIG5vdCB5ZXQgcG9ydGVkIHBsdWdpbnMKCjIwMTItMTAtMTUgMTY6MDU6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmg6CgkgIGFuZHJvaWRtZWRpYTogTWFrZSBldmVyeXRoaW5nIGJ1aWxkYWJsZQoKMjAxMi0xMC0xNSAxNDozNjo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBEb24ndCB0cnkgdG8gdXNlIHRoZSBOVmlkaWEgRFJNIGNvZGVjcwoKMjAxMi0xMC0wOSAxMDo1NjozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgVHJ5IHRvIGhhbmRsZSBmb3JtYXQgY2hhbmdlcyBtb3JlIGdyYWNlZnVsbHkKCSAgQW5kIG1ha2Ugc3RvcCgpIGZhc3RlciBhbmQgbW9yZSByb2J1c3QKCjIwMTItMTAtMDkgMTA6Mjc6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmg6CgkgIEFkZCB3b3JrYXJvdW5kIGZvciBHb29nbGUgTVAzIGRlY29kZXIgb3V0cHV0dGluZyBnYXJiYWdlIGluIGZpcnN0IG91dHB1dCBidWZmZXIKCSAgQW5kIGFzc3VtZSBvbmUgZGVjb2RlZCBpbnB1dCBmcmFtZSBwZXIgb3V0cHV0IGJ1ZmZlciB0byBmaXggdGltZXN0YW1wCgkgIGhhbmRsaW5nIGJ5IHRoZSBiYXNlIGNsYXNzLgoKMjAxMi0xMC0wOSAxMDoxNDo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIEFsc28gYWRkIHNvbWUgbW9yZSBvdXRwdXQgZm9ybWF0IGNoZWNrcyB0byB0aGUgYXVkaW8gZGVjb2RlcgoKMjAxMi0xMC0wOSAxMDoxMzozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIENoZWNrIG91dHB1dCBmb3JtYXQgbWV0YWRhdGEgc29tZSBtb3JlCgkgIEFuZCBpbXBsZW1lbnQgd29ya2Fyb3VuZCBmb3IgTlZpZGlhIFRlZ3JhIDMgbm90IHNldHRpbmcgdGhlIHNsaWNlX2hlaWdodC4KCSAgVGhhbmtzIHRvIEpvc2VwIFRvcnJhIGZvciBkZWJ1Z2dpbmcgdGhpcyBpc3N1ZS4KCjIwMTItMTAtMDUgMTU6MDk6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgQWRkIHNvbWUgbW9yZSBkZWZhdWx0IGNoYW5uZWwgbGF5b3V0cywgdGhlc2Ugc2hvdWxkIGJlIGdvb2QgZm9yIEFBQyBhdCBsZWFzdAoKMjAxMi0xMC0wNSAxNDo1NjoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIERvbid0IHNldCB0aW1lc3RhbXBzLCB0aGUgYmFzZWNsYXNzIGhhbmRsZXMgdGhpcyBmb3IgdXMgYW55d2F5CgoyMDEyLTEwLTAzIDEwOjA2OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgTGlzdCBwcm9maWxlcyBpbiByZXZlcnNlIHRvIG1pbmltaXplIGNhcHMKCjIwMTItMTAtMDMgMDk6NTY6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBJdGVyYXRlIGxldmVscyBpbiByZXZlcnNlIG9yZGVyIHRvIG1pbmltaXplIGNhcHMKCjIwMTItMTAtMDMgMDk6NTE6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIE1lcmdlIHN0cnVjdHVyZXMgaW50byBjYXBzIGluc3RlYWQgb2YgYXBwZW5kaW5nIHRoZW0KCjIwMTItMDktMjUgMTA6MzI6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIFVzZSBvcmNfbWVtY3B5KCkgaW5zdGVhZCBvZiBtZW1jcHkoKSBhcyBpdCBzaG91bGQgYmUgZmFzdGVyIGZvciBsYXJnZXIgbWVtb3J5IGFyZWFzCgoyMDEyLTA5LTI0IDE1OjMyOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgQWRkIHN1cHBvcnQgZm9yIGF1ZGlvL21wZWctTDIgZm9yIHRoZSBOZXh1cyA3CgoyMDEyLTA5LTI0IDE1OjE0OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgQWRkIHN1cHBvcnQgZm9yIE1QRUcxLzIgdmlkZW8KCjIwMTItMDktMTkgMTQ6NTI6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgSWdub3JlIHRoZSAqbGF3IGFuZCBWb3JiaXMgZGVjb2RlcnMKCSAgVGhleSBhcmUgYnJva2VuIHVuZm9ydHVuYXRlbHkuCgoyMDEyLTA5LTE5IDExOjIwOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgQWRkIEZJWE1FIGNvbW1lbnQgZm9yIG5vdCBoYW5kbGluZyBvZGQgd2lkdGhzL2hlaWdodCB3aXRoIHRoZSBUSSBoYXJkd2FyZSBkZWNvZGVycwoJICBNdXN0IGxpa2VseSBhbiBpc3N1ZSB3aXRoIHRoZSBjb2RlYyBpdHNlbGYgdGhvdWdoLgoKMjAxMi0wOS0xOSAwOTo0Nzo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEZpeCBoYW5kbGluZyBvZiBJNDIwIGJ1ZmZlcnMgd2l0aCBvZGQgd2lkdGgKCjIwMTItMDktMTggMTU6Mzg6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBPbmx5IG1wZWd2ZXJzaW9uPTQgaXMgc3VwcG9ydGVkIGZvciBBQUMKCjIwMTItMDktMTggMTU6Mjg6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIFJlbW92ZSBzb21lIG9ic29sZXRlIEZJWE1FcwoKMjAxMi0wOS0xNyAxMzo0NjoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgRml4IGZsdXNoaW5nIGxvZ2ljIHRvIHVuYnJlYWsgaGFuZGxpbmcgb2YgZmx1c2hpbmcgc2Vla3MKCjIwMTItMDktMTcgMTI6MjQ6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBGaXggY2hyb21hIHN0cmlkZSBmb3IgSTQyMCBzdHJpZGUvY3JvcCBjb252ZXJzaW9uCgoyMDEyLTA5LTE3IDExOjI4OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgRml4IFZvcmJpcyBkZWNvZGluZwoKMjAxMi0wOS0xNCAxNjoxNzo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgV2FpdCBhdCBtb3N0IDEwMG1zIGZvciBkZXF1ZXVlaW5nIGEgYnVmZmVyLCBhbmQgcmV0cnkgYWZ0ZXIgdGhhdAoJICBTb21lIGNvZGVjcyBkb24ndCBmYWlsIHRoZSBkZXF1ZXVlaW5nIGlmIHRoZSBjb2RlYyBpcyBmbHVzaGVkLAoJICBjYXVzaW5nIGRlYWRsb2NrcyB3aGVuIHNodXR0aW5nIGRvd24gdGhlIGVsZW1lbnQuCgoyMDEyLTA5LTE0IDE2OjExOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBSZWxlYXNlIG91dHB1dCBidWZmZXJzIGEgYml0IGVhcmxpZXIKCjIwMTItMDktMTQgMTY6MTE6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBLZWVwIGFub3RoZXIgcmVmZXJlbmNlIG9mIHRoZSBpbnB1dCBidWZmZXIgaW4gaGFuZGxlX2ZyYW1lKCkKCSAgSXQgbWlnaHQgYmUgdW5yZWZmZWQgaW4gdGhlIG1lYW50aW1lIGJ5IHRoZSBvdGhlciB0aHJlYWQgZHVlCgkgIHRvIGZpbmlzaF9mcmFtZSgpLgoKMjAxMi0wOS0xNCAxNjoxMDoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIFBhc3MgLTEgYXMgbnVtYmVyIG9mIGZyYW1lcyB0byB0aGUgYmFzZSBjbGFzcwoJICBUaGlzIHdpbGwgYXV0b21hdGljYWxseSBkbyB0aGUgcmlnaHQgdGhpbmcgaWYgdGltZXN0YW1wcyBhcmUgZ29vZCBlbm91Z2gKCjIwMTItMDktMTQgMTY6MDk6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBVc2UgY29ycmVjdCBidWZmZXIgdmFyaWFibGUKCjIwMTItMDktMTQgMTQ6NDM6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEFsd2F5cyBwYXNzIDEgYXMgbnVtYmVyIG9mIGZyYW1lcyB0byBmaW5pc2hfZnJhbWUoKQoKMjAxMi0wOS0xNCAxNDo0Mjo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIENvcnJlY3RseSByZW1lbWJlciBudW1iZXIgb2YgY2hhbm5lbHMgYW5kIHNhbXBsZXJhdGUKCjIwMTItMDktMTQgMTQ6NDI6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBEb24ndCB1bnJlZiBpbnB1dCBidWZmZXIgZnJvbSBoYW5kbGVfZnJhbWUoKSwgaXQncyBvd25lZCBieSB0aGUgYmFzZWNsYXNzCgoyMDEyLTA5LTE0IDEzOjMxOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgUmVtb3ZlIGludmFsaWQgR1NUX0VSUk9SKCkgY2FsbAoKMjAxMi0wOS0xNCAxMzoyNzozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIE9ubHkgdHJ5IHRvIGdldCB0aGUgY2hhbm5lbC1tYXNrIGlmIGl0IGlzIHNldAoKMjAxMi0wOS0xNCAxMzoyNTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIEFkZCBzdXBwb3J0IGZvciBGTEFDCgoyMDEyLTA5LTE0IDEzOjI0OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgRml4IHNyYyB0ZW1wbGF0ZSBjYXBzCgoyMDEyLTA5LTE0IDEzOjE2OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgRml4IHBsdWdpbiBpbml0aWFsaXphdGlvbgoKMjAxMi0wOS0xNCAxMzowNToxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy1jb25zdGFudHMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBhdWRpbyBkZWNvZGVycywgY29tcGxldGVseSB1bnRlc3RlZCBzbyBmYXIKCjIwMTItMDktMTQgMTI6MDc6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBPbmx5IHNldCB0aGUgU1lOQ19GUkFNRSBmbGFnIG9uIHRoZSBmaXJzdCBidWZmZXIgaWYgd2UgbmVlZCB0byBzcGxpdCB0aGUgaW5wdXQKCjIwMTItMDktMTIgMTQ6MzA6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMtY29uc3RhbnRzLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIElnbm9yZSBjb2RlY3Mgd2l0aCB1bmtub3duIGNvbG9yIGZvcm1hdHMgZm9yIHN0YWJpbGl0eSBwdXJwb3NlcwoJICBUaGV5IGNhbiBiZSByZWdpc3RlcmVkIG5vbmV0aGVsZXNzIGlmIGFuIGVudmlyb25tZW50IHZhcmlhYmxlCgkgIG9yIGNvbXBpbGUtdGltZSAjZGVmaW5lIGlzIHNldC4KCjIwMTItMDktMTIgMTM6NDg6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBJbXBsZW1lbnQgY3JvcHBpbmcgYW5kIGNvcnJlY3RseSBoYW5kbGUgdGhlIGRpZmZlcmVudCBjb2xvciBmb3JtYXRzCgoyMDEyLTA5LTExIDE2OjMwOjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgUmVhbGx5IGltcGxlbWVudCBzdHJpZGUgY29udmVyc2lvbiBmb3IgTlYxMiB0b28KCjIwMTItMDktMTEgMTY6MjQ6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBJbXBsZW1lbnQgc3RyaWRlLWNvbnZlcnNpb24gZm9yIEk0MjAgYW5kIE5WMTIKCjIwMTItMDktMTEgMTU6NTY6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgRml4IHR5cG8gaW4gcHJldmlvdXMgY29tbWl0CgoyMDEyLTA5LTExIDE1OjQ5OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIERvbid0IGFsbG93IHVzaW5nIG5vbi1Hb29nbGUgY29kZWNzIGlmIHdlIHN0YXJ0ZWQgdGhlIEphdmEgVk0gb3Vyc2VsdmVzCgkgIEhhcmR3YXJlIGNvZGVjcywgZS5nLiB0aGUgVEkgb25lcywgb25seSB3b3JrIGluIHByb2Nlc3NlcyB0aGF0IGhhZCB0aGVpcgoJICBKYXZhIFZNIHN0YXJ0ZWQgdmlhIHRoZSBub24tcHVibGljIEFuZHJvaWRSdW50aW1lIGNsYXNzLgoKMjAxMi0wOS0xMSAxNDozMDoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBSZW5hbWUgdG8gYW1jIGZyb20gYW5kcm9pZG1lZGlhY29kZWMgZXZlcnl3aGVyZQoKMjAxMi0wOS0xMSAxMzowODo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEltcHJvdmUgZGVidWcgb3V0cHV0CgoyMDEyLTA5LTExIDEyOjM5OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgUHJpbnQgdGhlIE1lZGlhRm9ybWF0cyB3ZSBnZXQgaW4gdGhlIGRlYnVnIGxvZ3MKCjIwMTItMDktMTAgMTU6MzE6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBJbXByb3ZlIGRlYnVnIG91dHB1dAoKMjAxMi0wOS0xMCAxNTozMDo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEltcHJvdmUgbGV2ZWwvcHJvZmlsZSBoYW5kbGluZwoKMjAxMi0wOS0xMCAxMzozOToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBBbGxvdyByZWdpc3RlcmluZyBhcyBzdGF0aWMgcGx1Z2luIHdpdGggdGhlIEdTdHJlYW1lciBTREsgQVBJCgoyMDEyLTA5LTEwIDEzOjMwOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgSWYgdGhlIGJ1ZmZlciBzaXplcyBhcmUgdGhlIHNhbWUsIGp1c3QgbWVtY3B5KCkgdG8gdGhlIG91dHB1dCBidWZmZXJzCgoyMDEyLTA5LTEwIDEyOjU2OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgQ29ycmVjdGx5IGNvbnZlcnQgdGltZXN0YW1wcyBiZXR3ZWVuIHVzIGFuZCBucwoKMjAxMi0wOS0wNyAxNjoxMToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIFNldCBTWU5DX0ZSQU1FIGZsYWcgb24gYnVmZmVycyBpZiByZXF1aXJlZAoKMjAxMi0wOS0wNyAxNDoyMjo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEltcHJvdmUgZmx1c2hpbmcKCjIwMTItMDktMDcgMTM6NDQ6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBXYWl0IGF0IG1vc3QgMC41IHNlY29uZHMgZm9yIGdldHRpbmcgYW4gaW5wdXQgYnVmZmVyIGZvciBFT1MKCjIwMTItMDktMDcgMTM6NDI6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBDb3JyZWN0bHkgY2hlY2sgZm9yIGZsdXNoaW5nCgoyMDEyLTA5LTA2IDE3OjI0OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgUmV0cnkgZm9yIG5lZ2F0aXZlIHJldHVybiB2YWx1ZXMgd2hlbiBkZXF1ZXVlaW5nIGJ1ZmZlcnMKCjIwMTItMDktMDYgMTc6MDc6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBGaXggcmVmY291bnQgYnVnCgoyMDEyLTA5LTA2IDE3OjA3OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgVGhlIE1lZGlhQ29kZWMgQVBJIGlzIGFwcGFyZW50bHkgbm90IHRocmVhZHNhZmUgYmV0d2VlbiBzdG9wKCkgYW5kIHJlbGVhc2UoKQoJICBTbyB3ZSBkb24ndCBjYWxsIHJlbGVhc2UoKSBhbmQganVzdCBob3BlIGZvciB0aGUgR0MgdG8gcmVsZWFzZSB0aGUKCSAgY29kZWMgaW4gdGltZS4KCjIwMTItMDktMDYgMTU6NDQ6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgRml4IHBsdWdpbiBjYWNoZSBjcmVhdGlvbgoKMjAxMi0wOC0yNCAwNDozNTo0NCAtMDcwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBDYWNoZSB0aGUgY29kZWMgaW5mb3JtYXRpb25zIGluc2lkZSB0aGUgcmVnaXN0cnkKCSAgT3RoZXJ3aXNlIHdlIHdvdWxkIGFsd2F5cyBsb2FkIGFsbCBjb2RlY3MgZHVyaW5nIHBsdWdpbiBpbml0aWFsaXphdGlvbgoJICB3aGljaCBjYW4gdGFrZSBxdWl0ZSBzb21lIHRpbWUgKGJlY2F1c2Ugb2YgaGFyZHdhcmUpIGFuZCBhbHNvIGxvYWRzCgkgIGxvdHMgb2Ygc2hhcmVkIGxpYnJhcmllcyAod2hpY2ggbnVtYmVyIGlzIGxpbWl0ZWQgYnkgNjQgaW4gQW5kcm9pZCkuCgoyMDEyLTA4LTI0IDA5OjIwOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIFByb3Blcmx5IGF0dGFjaCBhbmQgZGV0YWNoIHRoZSBjdXJyZW50IHRocmVhZHMgdG8gdGhlIEphdmEgVk0KCSAgQXR0YWNoaW5nIGEgdGhyZWFkIGFmdGVyIGl0IHdhcyBkZXRhY2hlZCB3aWxsIGNhdXNlIHNlZ2ZhdWx0cywKCSAgYXMgc3VjaCB3ZSB1c2UgYSBwdGhyZWFkX2tleV90IHRvIGtlZXAgdHJhY2sgb2YgdGhlIEpOSUVudiogb2YKCSAgdGhlIGF0dGFjaGVkIHRocmVhZHMgYW5kIGluIHRoZSBkZXN0cnVjdG9yIChpLmUuIHdoZW4gdGhlCgkgIHRocmVhZCBleGl0cykgd2UgZGV0YWNoIHRoZSB0aHJlYWQuCgoyMDEyLTA4LTIzIDE3OjMxOjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgRG9uJ3QgZ2V0IHRoZSBvdXRwdXQgZm9ybWF0IGZyb20gdGhlIGNvZGVjIGJlZm9yZSBpdCBpcyByZWFkeQoJICBBcHBhcmVudGx5IHRoaW5ncyBhcmUgY3Jhc2hpbmcgb3RoZXJ3aXNlLgoKMjAxMi0wOC0yMyAxNzozMToxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEdldCB0aGUgaW5wdXQgYnVmZmVycyBmcm9tIHRoZSBjb2RlYwoKMjAxMi0wOC0yMyAxNzozMDo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBGaXggSk5JIG1ldGhvZCBjYWxsIHNpZ25hdHVyZXMKCjIwMTItMDgtMjMgMTc6MzA6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgSW5pdGlhbGl6ZSB0aGUgVk0gd2lsbCBmdWxsIGRlYnVnZ2luZyBmb3Igbm93CgoyMDEyLTA4LTIzIDEzOjUzOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIFVzZSBOZXdTdHJpbmdVVEYoKSBpbnN0ZWFkIG9mIG91ciBvd24gbWV0aG9kIGZvciB0aGF0CgoyMDEyLTA4LTIzIDEyOjMwOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIEFkZCB0aGUgVEkgZm9ybWF0IHRvIHRoZSBtYXBwaW5nIHRhYmxlIHRvbwoKMjAxMi0wOC0yMyAxMjoyOTo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy1jb25zdGFudHMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgQWRkIGFub3RoZXIgVEkgc3BlY2lmaWMgT3Blbk1BWCBjb2xvciBmb3JtYXQKCjIwMTItMDgtMjIgMTk6MzA6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBGaXhlcyB0byBlbGVtZW50L2VsZW1lbnRmYWN0b3J5IGNyZWF0aW9uCgoyMDEyLTA4LTIyIDE5OjEyOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIFNvbWUgYnVnZml4ZXMgdG8gdGhlIGNvZGVjIHNjYW5uaW5nIGNvZGUKCSAgQWxzbyBpdCdzIG5vdCBwb3NzaWJsZSB0byBhdHRhY2ggYSB0aHJlYWQgYWZ0ZXIgaXQgd2FzCgkgIGRldGFjaGVkIG9uY2UuIEFzIHN1Y2ggd2Ugc2ltcGx5IG5ldmVyIGRldGFjaCBhbnkgdGhyZWFkCgkgIGF0IGFsbCBub3cuCgoyMDEyLTA4LTIyIDE4OjM1OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIEZpeCBzb21lIGNvbXBpbGF0aW9uIGVycm9ycwoKMjAxMi0wOC0yMCAxNDoxMzozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEFkZCBpbXBvcnRhbnQgRklYTUUKCjIwMTItMDgtMjAgMTM6NDU6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmg6CgkgIEFkZCB2aWRlbyBkZWNvZGVyIGVsZW1lbnQKCjIwMTItMDgtMjAgMTM6NDU6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSAgQWRkIHNvbWUgbW9yZSBKTkkgd3JhcHBpbmcKCjIwMTItMDgtMjAgMTM6NDI6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMtY29uc3RhbnRzLmg6CgkgIEFkZCBzb21lIG1pc3NpbmcgY29sb3IgZm9ybWF0IGNvbnN0YW50cwoKMjAxMi0wOC0xNiAxNToxODoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy1jb25zdGFudHMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSAgSW1wbGVtZW50IGJhc2ljIHdyYXBwZXIgYXJvdW5kIE1lZGlhQ29kZWMgQVBJCgkgIElkZWFsbHkgbm90aGluZyBlbHNlIHdpbGwgYmUgbmVlZGVkIGZyb20gdGhlIGVsZW1lbnRzIGxhdGVyLgoKMjAxMi0wOC0xNSAxODoyMzozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJICBTb21lIG1vcmUgV0lQCgkgIFNjYW5uaW5nIGFsbCBjb2RlY3Mgbm93IGFuZCBoYXZlIGRhdGEgc3RydWN0dXJlcyBmb3IgaG9sZGluZyBjb2RlYwoJICBpbmZvcm1hdGlvbiBhbmQgY29kZWMgY29udGV4dHMuIEFsc28gZnVuY3Rpb24gZGVjbGFyYXRpb25zIGZvcgoJICB3b3JraW5nIHdpdGggdGhlbS4KCjIwMTItMDgtMTQgMTM6MjA6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSAgSW5pdGlhbCBjb21taXQKCjIwMTItMTAtMTUgMTU6NTM6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkgIGFuZHJvaWRtZWRpYTogQWRkIGFuZHJvaWRtZWRpYSBwbHVnaW4KCjIwMTItMTAtMTUgMTE6NDU6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQW5kIGZpeCBhbm90aGVyIGRlYWRsb2NrIGNhdXNlZCBieSB0aGUgdXBkYXRlIHRocmVhZCBub3QgY29ycmVjdGx5IHNodXR0aW5nIGRvd24KCSAgQ29uZmxpY3RzOgoJICBnc3QvaGxzL2dzdGhsc2RlbXV4LmMKCjIwMTItMTAtMTUgMTE6MDI6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIGhsc2RlbXV4OiBBbHNvIGhvbGQgdGhlIG11dGV4IGJlZm9yZSBzaWduYWxsaW5nIHRoZSBjb25kaXRpb24gdmFyaWFibGUKCSAgQ29uZmxpY3RzOgoJICBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuYwoKMjAxMi0xMC0xNSAxMDo1Mzo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBbHNvIGNhbmNlbCB0aGUgZG93bmxvYWRlciBiZWZvcmUgc3RvcHBpbmcgdGhlIHBsYXlsaXN0IHVwZGF0ZSB0YXNrCgoyMDEyLTEwLTE1IDEwOjM4OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IE9ubHkgbG9jayB0aGUgbXV0ZXggd2hlbiBpdCdzIG5vdCBsb2NrZWQgYWxyZWFkeQoJICBDb25mbGljdHM6CgkgIGdzdC9obHMvZ3N0aGxzZGVtdXguYwoKMjAxMi0xMC0xNSAxMDozMjo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBGaXggYW5vdGhlciByYWNlIGNvbmRpdGlvbiBieSBob2xkaW5nIHRoZSBtdXRleCB0aGF0IHRoZSBjb25kaXRpb24gdmFyaWFibGUgdXNlcwoJICBDb25mbGljdHM6CgkgIGdzdC9obHMvZ3N0aGxzZGVtdXguYwoKMjAxMi0xMC0xNSAwOTo0NzozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBQb3J0IHNvbWUgdGhpbmdzIGZyb20gdGhlIGxhc3QgY29tbWl0cwoKMjAxMi0xMC0xNSAwOTozNToxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBOZXZlciBldmVyIHN0b3AgYSB0YXNrIGZyb20gdGhlIHRhc2sgZnVuY3Rpb24KCSAgVGhpcyB3aWxsIGRlYWRsb2NrLiBBbHNvIG1ha2Ugc3VyZSB0byBhbHdheXMgcG9zdCBhbiBlcnJvciBtZXNzYWdlCgkgIGlmIHJlcXVpcmVkIGJlZm9yZSBwYXVzaW5nIHRhc2tzIGZyb20gdGhlIHRhc2sgZnVuY3Rpb24uCgkgIFNob3VsZCBmaXggYW5vdGhlciBidW5jaCBvZiBkZWFkbG9ja3MuCgkgIENvbmZsaWN0czoKCSAgZ3N0L2hscy9nc3RobHNkZW11eC5jCgoyMDEyLTEwLTE1IDA5OjI0OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEZpeCBsb3RzIG9mIGRlYWRsb2NrcyBjYXVzZWQgYnkgcmFjZSBjb25kaXRpb25zIGluIHRoZSB0YXNrIHN0YXRlIGhhbmRsaW5nCgoyMDEyLTEwLTEyIDEwOjU3OjQ0ICswNDAwICBTZXJnZXkgTi4gR29yc2hrb3YgPHNuZ0BzZXRldmlzb3IudHY+CgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJICBydG1wc2luazogaGFuZGxlIFJUTVBfV3JpdGUoKSByZXR1cm4gdmFsdWUgY29ycmVjdGx5CgkgIEVycm9yIG1pZ2h0IGFsc28gYmUgbmVnYXRpdmUgKC0xKS4gVW5jbGVhciBpZiAwIHNob3VsZAoJICBiZSBmYXRhbCBhcyB3ZWxsIHRob3VnaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTExMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2MDA5CgoyMDEyLTEwLTEyIDIzOjA5OjA2ICswMTAwICBEYXZpZCBSw6lnYWRlIDxkcmVnYWRlQHZpZXdzdXJmLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkgIHJ0bXBzaW5rOiBmaXggbWVtb3J5IGxlYWsgZnJvbSBVUkkgdmVyaWZpY2F0aW9uIHZpYSBSVE1QX1BhcnNlVVJMKCkKCSAgSW4gZ3N0X3J0bXBfc2lua191cmlfc2V0X3VyaSgpLCBhIHRlc3QgaXMgcGVyZm9ybWVkIGluIG9yZGVyCgkgIHRvIGJlIHN1cmUgdXJpIGlzIGNvcnJlY3QgZm9yIGxpYnJ0bXAuIFRoaXMgdGVzdCBjYWxscwoJICBSVE1QX1BhcnNlVVJMIHdpdGggMyBBVmFsIHBvaW50ZXJzIGFzIHBhcmFtZXRlcnM6IGhvc3QsCgkgIHBsYXlwYXRoIGFuZCBhcHAuCgkgIEFWYWwgaXMgYSBzdHJ1Y3Qgd2l0aCBhIGNoYXIqICsgaW50LiBBZnRlciBSVE1QX1BhcnNlVVJMIGNhbGwsCgkgIGhvc3QuYXZfdmFsIGFuZCBhcHAuYXZfdmFsIGJvdGggcmVmZXIgYSBzdWJzdHJpbmcgb2YgInVyaSIuIEJ1dAoJICBwbGF5cGF0aC5hdl92YWwgbWF5IGJlIHRoZSByZXN1bHQgb2YgYSBtYWxsb2Mgc28gaXQgbmVlZHMgdG8KCSAgYmUgZnJlZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE0NTkKCjIwMTItMTAtMTIgMjI6MzM6NDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBhZHZhbmNlIHN0cmVhbSB0aW1lIHdoZW4gc2VuZGluZyBHQVAgZXZlbnQKCjIwMTItMTAtMTIgMjI6MzM6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiBzZW5kIGxhbmd1YWdlIGluZm8gZG93bnN0cmVhbSBpZiBhdmFpbGFibGUKCSAgLi4uIGFzIGV4dHJhY3RlZCBmcm9tIGR2ZCBldmVudC4KCjIwMTItMTAtMTIgMjI6MzE6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiByZW1vdmUgb2Jzb2xldGUgc3RydWN0IGZpZWxkCgoyMDEyLTEwLTEyIDEyOjI4OjQ0IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlOiBTZXQgZnJhbWVzaXplIGFuZCBwcm9wZXJ0aWVzIGNvcnJlY3RseSB3aGVuIHRha2luZyBmb3JtYXQgZnJvbSBjYXBzLgoKMjAxMi0xMC0xMiAxNzo1MTo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IHR3ZWFrIGZsb3cgcmV0dXJuIGFnZ3JlZ2F0aW9uCgoyMDEyLTEwLTEyIDE1OjQ0OjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogaGFuZGxlIHVwc3RyZWFtIFRJTUUgc2VnbWVudHMKCjIwMTItMTAtMTIgMTU6MDc6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiBoYW5kbGUgYW5kIGNvbWJpbmUgZG93bnN0cmVhbSBmbG93IHJldHVybgoKMjAxMi0xMC0xMiAxNDo1MDozNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGhhbmRsZSBuZXcgc3R5bGUgZHZkIGV2ZW50CgoyMDEyLTEwLTExIDE1OjI5OjM2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogZG8gbm90IGFkZCBwYWQgYWZ0ZXIgbm8tbW9yZS1wYWRzCgoyMDEyLTEwLTExIDE1OjI3OjEyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogY2xlYW4gdXAgc2VnbWVudCBzZW5kaW5nCgkgIC4uLiB0byB1c2UgdGhlIHNyY19zZWdtZW50IGFzIGEgYmFzaXMgZm9yIHRoZSBzZW50IHNlZ21lbnQsCgkgIHRoZXJlYnkgcHJvcGVybHkgY29udmV5aW5nIGFjY3VtdWxhdGVkIGJhc2VfdGltZSBldGMuCgkgIEFsc28gZW5zdXJlIHNyY19zZWdtZW50IGlzIG9ubHkgYWRqdXN0ZWQgb25jZSwgc28gdGhhdAoJICBhbGwgZG93bnN0cmVhbSBzZWdtZW50cyBhcmUgaWRlbnRpY2FsIHRvIGF2b2lkIHN0cmVhbQoJICBtaXNhbGlnbm1lbnQuCgoyMDEyLTEwLTExIDEyOjA3OjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogc2VuZCBHQVAgZXZlbnQgcmF0aGVyIHRoYW4gc2VnbWVudCB1cGRhdGVzCgoyMDEyLTEwLTExIDExOjUxOjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogcmVmYWN0b3Igc2VnbWVudCBzZW5kaW5nCgoyMDEyLTEwLTExIDExOjMwOjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogcmVmYWN0b3IgaW5pdCBhbmQgcmVzZXQKCjIwMTItMTAtMTEgMTE6MDQ6MzMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBubyBtb3JlIHNlZ21lbnQgY2xvc2luZyBpbiAxLjAKCjIwMTItMTAtMTEgMTE6MDM6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBjbGVhbiB1cCBzb21lIGRlYnVnIHN0YXRlbWVudHMKCjIwMTItMTAtMTEgMTU6MzE6MDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgZHRzZGVjOiBmaXggYnVmZmVyIHBhcnNpbmcKCSAgLi4uIHRvIGF2b2lkIGZlZWRpbmcgZW1wdHkgYnVmZmVycyB0byBkZWNvZGVyLgoKMjAxMi0xMC0xMiAxNToyNjoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogRmlyc3QgcHVzaCBFT1MsIHRoZW4gZGVzdHJveSBhbGwgcHJvZ3JhbXMKCSAgQW5kIGFsc28gcHJvcGVybHkgcmVtb3ZlIHRoZSBwcm9ncmFtIGZyb20gdGhlIHN1YmNsYXNzCgoyMDEyLTEwLTEyIDE1OjA5OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEZpeCBpbnZhbGlkIHJlYWQKCjIwMTItMTAtMTAgMTg6MTg6MDMgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IHNpZ25hbCBpbnRlcmxhY2luZyBwcm9wZXJseSBpbiB2aWRlbyBjYXBzCgkgIFRoZSBmaWVsZCBpcyBjYWxsZWQgImludGVybGFjZS1tb2RlIiBtb2RlIG5vdyBhbmQgaXMgYSBzdHJpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODU4OTUKCjIwMTItMTAtMTAgMTQ6MTE6NDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydGVzdC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXRhdXJpc3JjLmM6CgkqIHRvb2xzL2dzdC1hcHAtbWFrZXI6CgkgIHJlcGxhY2Ugc29tZSBwbGF5YmluMiAtPiBwbGF5YmluCgoyMDEyLTEwLTEwIDA5OjU4OjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogcmVzZXQgZnJhbWUgcGFyc2VyIGFmdGVyIHBhcnNpbmcgY2FwcyBjb2RlYyBkYXRhCgkgIC4uLiBzbyBhcyB0byBhcnJhbmdlIGZvciBhIHByb3BlciBmcmVzaCBzdGF0ZSB1cG9uIGZpcnN0IGZyYW1lLgoKMjAxMi0xMC0xMCAwOTo0ODo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIGNvbW1vbjogVXBkYXRlIHRvIHRoZSByaWdodCBjb21taXQgYWdhaW4KCSAgV2FzIGFjY2lkZW50aWFsbHkgcmV2ZXJ0ZWQgdG8gYW4gb2xkZXIgdmVyc2lvbiBpbiB0aGUgbGFzdCBjb21taXQuCgoyMDEyLTEwLTA5IDIzOjAwOjE0IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5oOgoJICBhdWRpb3BhcnNlOiBhZGQgYSBtb2RlIHdoZXJlIHRoZSBjYXBzIGFyZSB0YWtlbiBmcm9tIHRoZSBzaW5rIHBhZCwgYW5kIHRodXMgYXVkaW9wYXJzZSBpcyBvbmx5IHBlcmZvcm1pbmcgdGltZXN0YW1waW5nLgoKMjAxMi0xMC0wOSAyMToxOToxNSAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogY29tbW9uOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiByZXNldCBmcmFtZSBwYXJzZXIgYWZ0ZXIgcGFyc2luZyBjb2RlY19kYXRhIGJ1ZmZlciBpbiBjYXBzLCB0byBhdm9pZCBub3QgY29ycmVjdGx5IHBhcnNpbmcgdGhlIGZ1bGwgZmlyc3QgZnJhbWUuCgoyMDEyLTEwLTA5IDEzOjUzOjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogcHJvcGVybHkgbWFyayBjb25maWcgZGF0YSBwcmVzZW5jZQoJICAuLi4gd2hpY2ggd2UgYWxsb3cgdG8gc3RhcnQgYXQgVmlzdWFsT2JqZWN0U2VxdWVuY2Ugb3IKCSAgYXQgVmlkZW9PYmplY3QuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODU3MDkKCjIwMTItMTAtMDggMTI6Mzg6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJICBmaWVsZGFuYWx5c2lzOiBGaXggdW5pdGlhaWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCSAgQW5kIGFsc28gdXNlIHRoZSBwYWQncyBkZWZhdWx0IGV2ZW50IGZ1bmN0aW9uIGluc3RlYWQKCSAgb2YganVzdCBwdXNoaW5nIHRvIHRoZSBwZWVycGFkLiBUaGlzIG1ha2VzIHN1cmUgYW55CgkgIGRlZmF1bHQgaGFuZGxpbmcgb2YgZXZlbnRzIGlzIGNhbGxlZC4KCjIwMTItMTAtMDggMTI6MjM6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBmaWVsZGFuYWx5c2lzOiBSZW1vdmUgZnJvbSB0aGUgTk9OUE9SVEVEIHBsdWdpbnMgbGlzdAoJICBJdCdzIHN1cHBvc2VkIHRvIGJlIHBvcnRlZCBpbiAxLjAuMSBhbHJlYWR5LgoKMjAxMi0xMC0wNyAxNzowNjozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvTWFrZWZpbGUuYW06CgkgIGRvY3M6IGFkZCAnbWFrZSB1cGxvYWQnIHRhcmdldCBmb3IgZG9jcy8gZm9yIG5ldy1yZWxlYXNlIHNjcmlwdAoKMjAxMi0xMC0wNyAxNzowMzo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgKGJ1ZyBmaXhpbmcpCgo9PT0gcmVsZWFzZSAxLjAuMSA9PT0KCjIwMTItMTAtMDcgMTU6NTc6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMC4xCgoyMDEyLTEwLTA2IDE0OjU3OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2YzBiNTJjIHRvIDZiYjY5NTEKCjIwMTItMTAtMDMgMTE6MDU6MDYgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VtZXRhLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL3B2cjJkL2dzdHB2cmJ1ZmZlcnBvb2wuYzoKCSAgbWV0YSBpbmZvOiByZWdpc3RlciB0aHJlYWQtc2FmZWx5LgoKMjAxMi0xMC0wMyAxNzoyMzowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwdnA4L01ha2VmaWxlLmFtOgoJICBydHB2cDg6IEFsc28gY29tbWl0IHJlbWFpbmluZyB1bmNvbW1pdHRlZCBjaGFuZ2VzLi4uCgoyMDEyLTEwLTAzIDA5OjM5OjI4ICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L3J0cHZwOC9NYWtlZmlsZS5hbToKCSAgcnRwdnA4OiByZWRpZmluZSB2cDhfbm9ybSB0byBhdm9pZCBkdXBsaWNhdGVkIHN5bWJvbHMgaW4gc3RhdGljIGxpbmtzIHdpdGggbGlidnB4CgoyMDEyLTEwLTAzIDA5OjQ5OjM5ICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSAgdmlkZW9wYXJzZXJzOiBmaXggZHVwbGljYXRlZCBzeW1ib2xzIGZvciBzdGF0aWMgbGlua3Mgd2l0aCBsaWJzY2hyb2VkaW5nZXIKCjIwMTEtMTItMjYgMjI6MDQ6MDQgLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LXJlbmRlci5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IGFkZCBZVjEyIGFuZCBOVjEyIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzIyMAoJICBDb25mbGljdHM6CgkgIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmMKCSAgZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaAoJICBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYwoJICBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmMKCjIwMTItMTAtMDIgMjI6MjA6MjAgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5oOgoJICByZXNpbmR2ZDogUmVtb3ZlIGNhcHMgbG9jayBmcm9tIHBhcnNldHRlciBlbGVtZW50LgoJICBBbGwgdGhlIG1lbWJlcnMgaXQgdXNlZCB0byBwcm90ZWN0IGluIDAuMTAgYXJlIHByb3RlY3RlZCBieQoJICB0aGUgc3RyZWFtIGxvY2sgbm93LgoKMjAxMi0xMC0wMSAyMzo0Mzo0NyArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5jOgoJICByZXNpbmR2ZDogVXBkYXRlIG92ZXJyaWRkZW4gY2FwcyB3aGVuIHRoZSBEQVIgY2hhbmdlcwoJICBTZW5kIGEgbmV3IGNhcHMgZXZlbnQgZG93bnN0cmVhbSB3aGVuIHdlIHJlY2VpdmUgbmV3IG9yZGVycwoJICBmcm9tIHRoZSBWTSwgaWYgdGhlcmUgYXJlIGV4aXN0aW5nIGNhcHMuCgoyMDEyLTEwLTAxIDIzOjIxOjEyICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuaDoKCSogZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuYzoKCSogZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuaDoKCSAgcmVzaW5kdmQ6IFBvcnQgcGFyc2V0dGVyIGVsZW1lbnQKCSAgUG9ydCB0aGUgRFZEIGVsZW1lbnQgd2hpY2ggb3ZlcnJpZGVzIHRoZSBNUEVHIGVuY29kZWQgcGl4ZWwtYXNwZWN0LXJhdGlvCgkgIHRvIG1hdGNoIHRoYXQgcmVxdWVzdGVkIGJ5IHRoZSBEVkQgVk0uCgoyMDEyLTEwLTAxIDEzOjUyOjM1ICswMjAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDx1cmFldXNAbGludXhyaXNpbi5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIGZvciBsYXRlc3QgY2hhbmdlcwoKMjAxMi0wOS0zMCAyMDo1MjozMCArMDIwMCAgQ2hyaXN0b3BoZSBGZXJnZWF1IDxjZmVyZ2VhdUByZWRoYXQuY29tPgoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmM6CgkgIGNocm9tYXByaW50OiBNaXNzaW5nIHVubWFwIGJ1ZmZlciBpbiB0cmFuc2Zvcm1faXAKCSAgV2hlbiBubyBzYW1wbGVzIGhhdmUgdG8gYmUgcHJvY2Vzc2VkLCB0cmFuc2Zvcm1faXAgZXhpdHMgZWFybHksIGJ1dAoJICB0aGUgYnVmZmVyIGl0IHVzZXMgd2FzIG5vdCBwcm9wZXJseSB1bm1hcHBlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTE1OQoKMjAxMi0wOS0zMCAwMzo0OToxNyArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IEZpZGRsZSB3aXRoIHNlZ21lbnQgaGFuZGxpbmcgZm9yIERWRC4KCSAgQ2xhcmlmeSBzb21lIG9mIHRoZSB0ZXJtcyB1c2VkLCBhbmQgbWFrZSBzdXJlIHRvIGV4dGVuZCB0aGUKCSAgc3RvcCB0aW1lIHdoZW4gdGhlIHBvc2l0aW9uIG1vdmVzIHBhc3QgdGhlIGVuZCBvZiB0aGUgY3VycmVudAoJICBzZWdtZW50IChhcyBmb3Igc3RpbGwgZnJhbWVzLCBmb3IgZXhhbXBsZSkuCgkgIEFsc28sIG1ha2Ugc3VyZSB0byByZXNldCB0aGUgcG9zaXRpb24gdmFsdWUgb2YgdGhlIHNlZ21lbnQgdGhlCgkgIGRlbXV4ZXIgb3V0cHV0cyB3aGVuIGNvbGxlY3RpbmcgYSBzZWFtbGVzcyBzZWdtZW50LgoKMjAxMi0wOS0yOSAxMzoyMToxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkgIGZyZWkwcjogZml4IHBsdWdpbiBsb2FkaW5nIGZvciBmcmVpMHIgZWxlbWVudHMgdGhhdCBoYXZlIG5vIGluZm8uZXhwbGFuYXRpb24KCSAgV2UgZG9uJ3QgYWxsb3cgZW1wdHkgZGVzY3JpcHRpb25zIGZvciBlbGVtZW50cyBhbnkgbW9yZS4KCjIwMTItMDktMjkgMTI6MzY6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgc29tZSBsaWJvaWwgcmVmZXJlbmNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczMjg1CgoyMDEyLTA5LTI5IDEyOjMwOjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29sb3Jjb252ZXJ0LmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IHJlbW92ZSBzb21lIG9sZCBlbGVtZW50cyBzbyB0aGV5IGRvbid0IGdldCBwb3J0ZWQgYWNjaWRlbnRhbGx5CgkgIFRoZXkgYXJlIHJlcGxhY2VkIGJ5IHZpZGVvY29udmVydCBhbmQgZ2RrcGl4YnVmb3ZlcmxheQoKMjAxMi0wOS0yOCAyMjozMDozOSArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSAgY3VybDogZml4IGNvbXBpbGVyIHdhcm5pbmcgd2l0aCBzZXRzb2Nrb3B0KCkgb24gd2luZG93cwoJICBUaGUgb3B0dmFsIGFyZ3VtZW50IGlzIG9mIHR5cGUgY29uc3QgY2hhciAqIG9uIHdpbmRvd3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUwNjUKCjIwMTItMDktMjggMTE6NTk6NTcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmg6CgkgIGZyZWkwcjogUG9ydCB0byAxLjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTY3OAoKMjAxMi0wOS0yNiAwODoyMDo0OSArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jdXJsL01ha2VmaWxlLmFtOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZpbGVzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHRsc3NpbmsuYzoKCSAgY3VybDogZml4IGJ1aWxkIG9uIHdpbjMyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODQ4NDcKCjIwMTItMDktMjggMDA6MDY6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBjaGFuZ2UgdmlkZW8tc291cmNlIGlmIHRoZSB1c2VyIHJlcXVlc3RlZAoJICBXaGVuIGdvaW5nIGZyb20gbnVsbCB0byByZWFkeSwgY2hlY2sgaWYgdGhlIHVzZXIgcmVxdWVzdGVkIHRvCgkgIHVzZSBhIG5ldyBzb3VyY2UgYW5kIHJlcGxhY2UgdGhlIGN1cnJlbnQgb25lLgoJICBGaXhlcyAjNjgxNTYyCgoyMDEyLTA5LTI3IDIzOjIyOjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IHBhZCBwcm9iZSBpZHMgYXJlIGd1bG9uZwoJICBDaGFuZ2UgdmFyaWFibGUgdG8gdGhlIGNvcnJlY3QgdHlwZQoKMjAxMi0wOS0yNyAxOTo0MDozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW46IHVzZSBjb3JyZWN0IGVsZW1lbnQgbmFtZSB3aGVuIHJlcGxhY2luZyB0aGUgdmlkZW8gZmlsdGVyCgkgIFRoZSBuYW1lIHdhcyB1cGRhdGVkIG9uIHRoZSAwLjEwIC0+IDEuMCB0cmFuc2l0aW9uLCBidXQgdGhlCgkgIGdzdF9iaW5fcmVtb3ZlIHdhcyBzdGlsbCB1c2luZyB0aGUgb2xkIG5hbWUsIGNhdXNpbmcgYW4gYXNzZXJ0aW9uCgkgIHdoZW4gcmVwbGFjaW5nIHZpZGVvLXNvdXJjZS1maWx0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTU2NAoKMjAxMi0wOS0yNiAxNDo1MDowNCArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIHNvdW5kdG91Y2g6IFRyYW5zZm9ybSB0aW1lc3RhbXBzIHByb3Blcmx5IGFmdGVyIGEgc2Vlay4KCSAgVGhlIHNlZ21lbnQgaXMgdHJhbnNmb3JtZWQgdG8gbWF0Y2ggdGhlIHBpdGNoIGNvbnZlcnNpb24KCSAgYmVpbmcgYXBwbGllZCwgc28gbWFrZSBzdXJlIHRoZSB0aW1lc3RhbXBzIGJlaW5nIG91dHB1dAoJICBtYXRjaCB0aGUgY29uZmlndXJlZCBkb3duc3RyZWFtIHNlZ21lbnQgYWNjb3JkaW5nbHksIGFuZAoJICBhZGp1c3QgdGhlIGRvd25zdHJlYW0gc2VnbWVudCBwb3NpdGlvbiB0byBtYXRjaCB0aGUgc3RyZWFtIHRpbWUKCSAgcmF0aW8gYWxzby4KCjIwMTItMDktMTggMDE6MTM6MzYgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmQ6IERvbid0IHNlbmQgc3B1cmlvdXMgJ2Nsb3NlIHNlZ21lbnQnIGV2ZW50cy4gTWFrZSBhIHNpbmdsZSBzZWdtZW50CgkgIFdpdGggdGhlIG5ldyAxLjAgc2VnbWVudCBzZW1hbnRpY3MsIHRoZXJlJ3Mgbm8gbmVlZCB0byBjbG9zZSB0aGUKCSAgcHJldmlvdXMgc2VnbWVudCBiZWZvcmUgc2VuZGluZyBvdXQgYSBuZXcgb25lLCBzbyBkb24ndCBkbyBpdC4KCSAgQWxzbywgYWRqdXN0IHRoZSBvdXRnb2luZyBzZWdtZW50IHRvIGp1c3QgYmUgb25lIGNvbnRpZ3VvdXMKCSAgdGltZWxpbmUsIHdpdGggYSBiYXNlIG9mIDAuIEZpeGVzIHNvbWUgcmVwZWF0aW5nIHRpbWVzdGFtcHMgd2hlbgoJICBzZWdtZW50cyBjaGFuZ2UuCgoyMDEyLTA5LTI0IDE3OjI1OjI1ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuaDoKCSAgZmllbGRhbmFseXNpczogUG9ydCB0byAxLjAKCSAgSSB3YXMgYWxzbyB2YWd1ZWx5IGZvcmNlZCB0byBvdmVyaGF1bCBzb21lIGJpdHMgYW5kIHBpZWNlcyBhbmQgbWVzcyB3aXRoCgkgIHRoZSBkYXRhIHN0cnVjdHVyZXMuIFRoaXMgd2FzIG1vc3RseSBkdWUgdG8gY2FwcyBub3QgYmVpbmcgcGFydCBvZgoJICBidWZmZXJzIGFuZCBzbyBJIGhhZCB0byBzd2l0Y2ggdG8gdXNpbmcgR3N0VmlkZW9GcmFtZSBhbmQgR3N0VmlkZW9JbmZvLgoKMjAxMi0wOS0yNCAxNjoxMTozMiAtMDUwMCAgWWFha292IFNlbGtvd2l0eiA8eXNlbGtvd2l0ekB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBleHQvY2hyb21hcHJpbnQvTWFrZWZpbGUuYW06CgkgIGNocm9tYXByaW50OiBsaW5rIGFnYWluc3QgbGliZ3N0YmFzZQoJICBDYWxscyB0byBnc3RfYmFzZV90cmFuc2Zvcm1fZ2V0X3R5cGUgYW5kIGdzdF9iYXNlX3RyYW5zZm9ybV9zZXRfcGFzc3Rocm91Z2gKCSAgcmVxdWlyZSBsaW5raW5nIHdpdGggbGliZ3N0YmFzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDc0MAoKMjAxMi0wOS0yNCAxNjo1OToyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgKGJ1ZyBmaXhpbmcpCgo9PT0gcmVsZWFzZSAxLjAuMCA9PT0KCjIwMTItMDktMjQgMTQ6NDI6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMC4wCgoyMDEyLTA5LTI0IDE0OjQyOjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJICBkb2NzOiB1cGRhdGUKCjIwMTItMDktMjMgMTM6MTU6MjAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGluazogY2hhbmdlIGRldmljZSBpbnN0YW5jZSBsaWZlY3ljbGUKCSAgVGhlIGRlY2tsaW5rIGRyaXZlciBldmVudHVhbGx5IGNyYXNoZXMgYWZ0ZXIgcmVwZWF0ZWQgY3JlYXRpb24vZGVsZXRpb24KCSAgb2YgZGV2aWNlLCBpbnB1dCwgb3V0cHV0LCBhbmQgY29uZmlndXJhdGlvbiBvYmplY3RzLiAgQ2hhbmdlIHRvIGNyZWF0ZQoJICB0aGVzZSBhdCB0aGUgb3V0c2V0IGFuZCBrZWVwIHRoZW0gYXJvdW5kIGZvcmV2ZXIuCgoyMDEyLTA5LTIyIDEzOjU2OjU3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBGaXggbWVtb3J5IGxlYWtzCgkgIEJ1ZmZlcnMgbm93IGhvbGQgb24gdG8gYSByZWZlcmVuY2UgZm9yIHRoZSBpbnB1dCwgc28gdGhlIGlucHV0CgkgIG9iamVjdCBkb2Vzbid0IGdldCBmcmVlZCAoYW5kIGNhcnJ5IHRoZSBidWZmZXJzIHdpdGggaXQpIGJlZm9yZQoJICBhbGwgdGhlIGJ1ZmZlcnMgYXJlIGZyZWVkLgoKMjAxMi0wOS0yMyAyMTowODo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Fzc3JlbmRlci5jOgoJICB0ZXN0czogZGlzYWJsZSBhc3NyZW5kZXIgdW5pdCB0ZXN0CgkgIERvZXNuJ3Qgd29yaywgbmVlZHMgZml4aW5nLgoKMjAxMi0wOS0yMyAyMTowNzowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogZGlzYWJsZSBmb3IgYXV0b3BsdWdnaW5nIHVudGlsIGl0IHdvcmtzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMxOTIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDY4MwoKMjAxMi0wOS0yMiAxNTowMDoyNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBydHBkdG1mZGVwYXk6IFVzZSAxLjAtc3R5bGUgY2FwcyBuZWdvdGlhdGlvbiBhbmQgYXVkaW8veC1yYXcKCjIwMTItMDktMjAgMTg6NDI6NTAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzLmM6CgkgIG9wdXNlbmM6IFJhbmsgYXMgUHJpbWFyeQoKMjAxMi0wOS0yMCAxODo0MToyNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSAgcnRwb3B1c3BheTogQWxsb2NhdGUgdGhlIHJ0cCBidWZmZXIgY29ycmVjdGx5CgkgIFVzZSB0aGUgcmlnaHQgZnVuY3Rpb25zIHRvIGFsbG9jYXRlIHRoZSBydHAgYnVmZmVyCgoyMDEyLTA5LTIyIDE2OjA4OjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0Zjk2MmY3IHRvIDZjMGI1MmMKCjIwMTItMDktMjAgMDA6MDg6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuYzoKCSAgaW50ZXJzdWJzcmM6IGRpc2FibGUgdGltZXN0YW1waW5nIGNvZGUgdGhhdCBkb2Vzbid0IG1ha2Ugc2Vuc2UKCSAgYW5kIHdoaWNoIGJyZWFrcyB0aGUgc3RhdGVzIGNoZWNrIGJlY2F1c2Ugd2UgZW5kIHVwIHRyeWluZyB0bwoJICBkaXZpZGUgYnkgMC4KCjIwMTItMDktMTggMTM6MTc6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IGluaXQgdmlkZW9pbmZvCgoyMDEyLTA5LTE4IDEzOjE3OjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIHk0bWRlYzogaW5pdCB2aWRlb2luZm8KCjIwMTItMDktMTggMDA6MTI6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICBkb2NzOiByZW1vdmUgb25lIG1vcmUgb2xkIGluY2x1ZGUKCj09PSByZWxlYXNlIDAuMTEuOTkgPT09CgoyMDEyLTA5LTE3IDE4OjA0OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjExLjk5CgoyMDEyLTA5LTE3IDE3OjUyOjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlY2tsaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJlY3RkcmF3LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFjZW92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXZlcmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc2V0dGluZ3MueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpbnN5cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbHYyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBhdGNoZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3dmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRpbWlkaXR5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW8zZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkgIGRvY3M6IHVwZGF0ZQoKMjAxMi0wOS0xNyAxNzoxMzo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGdzdC9mcmVlemUvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmg6CgkgIGZyZWV6ZTogcmVtb3ZlIGZyZWV6ZSBlbGVtZW50LCB3YXMgcmVwbGFjZWQgYnkgaW1hZ2VmcmVlemUgaW4gLWdvb2QgeWVhcnMgYWdvCgoyMDEyLTA5LTE3IDIzOjU5OjM0ICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICByZXNpbmR2ZDogRml4IHNlZ21lbnQgaGFuZGxpbmcgaW4gdGhlIGRlbXV4ZXIuCgkgIFRyYW5zZmVyIHRoZSBpbmNvbWluZyBzZWdtZW50IGJhc2UgdGltZSB0byB0aGUgc3JjCgkgIHNlZ21lbnQgdGhlIGRlbXV4ZXIgc2VuZHMgZG93bnN0cmVhbS4gQWRkIHNvbWUKCSAgKGRpc2FibGVkKSBkZWJ1ZyB0byB0aGUgYmluIGZvciB0cmFja2luZyBvdXRnb2luZwoJICB0aW1lc3RhbXBzLgoKMjAxMi0wOS0xNyAwMDowNToxOSArMDIwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8dXJhZXVzQGxpbnV4cmlzaW4ub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFJlbW92ZSB2cDggcGx1Z2luIGZyb20gc3BlYyBhZnRlciBtb3ZlIHRvIGdvb2QKCjIwMTItMDktMTYgMTU6NDg6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L0dzdFZQOEVuYy5wcnM6CgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmg6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkqIGV4dC92cDgvZ3N0dnA4dXRpbHMuYzoKCSogZXh0L3ZwOC9nc3R2cDh1dGlscy5oOgoJKiBleHQvdnA4L3BsdWdpbi5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJICB2cDg6IFJlbW92ZSBwbHVnaW4sIG1vdmVkIHRvIGdzdC1wbHVnaW5zLWdvb2QKCjIwMTItMDktMTYgMTU6MjU6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBVbnJlZiBpbnB1dC9vdXRwdXQgc3RhdGVzIHdoZW4gc3RvcHBpbmcgdGhlIGRlY29kZXIKCjIwMTItMDktMTYgMTU6MTg6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9Hc3RWUDhFbmMucHJzOgoJICB2cDhlbmM6IFVwZGF0ZSByZWFsdGltZSBwcm9maWxlIHRvIHRoZSBuZXcgcHJvcGVydGllcwoKMjAxMi0wOS0xNiAxMTowMDo1MyArMDIwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8dXJhZXVzQGxpbnV4cmlzaW4ub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBhbmQgZml4IHNwZWMgd2l0aCBsYXRlc3QgY2hhbmdlcyBhbmQgRjE4IG5hbWUgc2NoZWVtZQoKMjAxMi0wOS0xNiAxMDo1NjowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwODogUmVxdWlyZSBsYXRlc3QgbGlidnB4IHJlbGVhc2UgKDEuMS4wIGZyb20gTWF5IDIwMTIpCgkgIEZpeGVzIGJ1ZyAjNjg0MTE2IGFuZCBzaW1wbGlmaWVzIGNvbmZpZ3VyZSBjaGVja3MuCgoyMDEyLTA5LTE1IDIwOjIzOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogVXNlIGEgc3RyaW5nIGZpZWxkIGZvciB0aGUgcHJvZmlsZSBpbiB0aGUgY2FwcwoJICBKdXN0IGZvciBjb25zaXN0ZW5jeSB3aXRoIGFsbCB0aGUgb3RoZXIgY29kZWNzLgoKMjAxMi0wOS0xNSAxOTowODozMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RfZWxlbWVudF9wcmludF9wcm9wZXJ0aWVzLmM6CgkgIHVzZSBnc3RfZWxlbWVudF9mYWN0b3J5X2dldF9tZXRhZGF0YSB0byByZXBsYWNlIG9ic29sZXRlIEFQSQoKMjAxMi0wOS0xNSAwMDowNDowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IENvcnJlY3RseSBzZXQgcHJvZmlsZSBpbiBjYXBzCgoyMDEyLTA5LTE0IDIzOjQxOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwODogVXBkYXRlIGNvcHlyaWdodCBhbmQgYXV0aG9ycwoKMjAxMi0wOS0xNCAyMzo0MDoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkgIGRvY3M6IFVwZGF0ZSBwbHVnaW4gZG9jcwoKMjAxMi0wOS0wOCAxNTozODo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICB2cDhlbmM6IFJld29yayBlbmNvZGVyIHByb3BlcnRpZXMgdG8gYmUgbW9yZSBpbiBsaW5lIHdpdGggdGhlIGxpYnZweCB0b29scyBhbmQgQVBJCgkgIEFsc28gYWRkIGFsbCBhdmFpbGFibGUgcHJvcGVydGllcy4KCjIwMTItMDktMTQgMTc6NTU6MDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5jOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICByZXBsYWNlIF9nZXRfY2Fwc19yZWZmZWQgd2l0aCBfZ2V0X2NhcHMKCjIwMTItMDktMTQgMTc6MDg6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkqIGV4dC9iejIvZ3N0YnoyZW5jLmM6CgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dkb3duc2FtcGxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nc2NhbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2xvcmNvbnZlcnQuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZmlsZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsdGxzc2luay5jOgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuY2M6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc3JjLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zcmMuYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L25hcy9uYXNzaW5rLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9vZmEvZ3N0b2ZhLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc2luay5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNyYy5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzZGVwYXkuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNyYy5jOgoJKiBleHQvc25kaW8vc25kaW9zaW5rLmM6CgkqIGV4dC9zbmRpby9zbmRpb3NyYy5jOgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFucGxjLmM6CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkqIGdzdC9hdWRpb2J1ZmZlci9nc3RhdWRpb3JpbmdidWZmZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0dmNkcGFyc2UuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNoZWNrc3Vtc2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaG9wbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWdzcHkuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGRpZmZ1c2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RmaXNoZXllLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWFyYmxlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcGhlcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHVubmVsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5jOgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSogZ3N0L3BhdGNoZGV0ZWN0L2dzdHBhdGNoZGV0ZWN0LmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0aXJ0c3BwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL2dzdHJlbW92ZXNpbGVuY2UuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3Qvc2RpL2dzdHNkaWRlbXV4LmM6CgkqIGdzdC9zZGkvZ3N0c2RpbXV4LmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdGF1ZGlvc2VnbWVudGNsaXAuYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHZpZGVvc2VnbWVudGNsaXAuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzoKCSogZ3N0L3N1YmVuYy9nc3R3ZWJ2dHRlbmMuYzoKCSogZ3N0L3R0YS9nc3R0dGFkZWMuYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHNjZW5lY2hhbmdlLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkqIHN5cy9hY21tcDNkZWMvYWNtbXAzZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZGVjYmluLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGVuY2Jpbi5jOgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6CgkqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6CgkqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzoKCSogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzcmMuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc3JjLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJ2aWRlb3NpbmsuYzoKCSogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSogc3lzL3F0d3JhcHBlci92aWRlb2RlY29kZXJzLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJKiBzeXMvdmNkL3ZjZHNyYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdHZkcG1wZWc0ZGVjLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICByZXBsYWNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSB3aXRoIGdzdF9lbGVtZW50X2NsYXNzX3NldF9tZXRhZGF0YQoKMjAxMi0wOS0xNCAxMjowNjoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGluaXQgcHBzIGFuZCBzcHMgc3RydWN0dXJlcyBiZWZvcmUgcGFyc2luZwoJICAuLi4gd2hpY2ggYXJyYW5nZXMgZm9yIGEgdmFsaWQgZmFsbGJhY2sgaWQsIGFuZCBhbGxvd3MgdG8gY29udGludWUgYmVzdCBlZmZvcnQKCSAgcHJvY2Vzc2luZyBldmVuIHdoZW4gc3BzL3BwcyBwYXJzaW5nIGZhaWxzLgoKMjAxMi0wOS0wMyAxMzo1ODoyMiArMDIwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgZ3N0aDI2NHBhcnNlOiBhZGQgY29tbWVudCB3aGVyZSByZXR1cm4gc2hvdWxkIGJlIGNoZWNrZWQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMyNjQKCjIwMTItMDktMDMgMTM6NDM6MDMgKzAyMDAgIFBldGVyIFNlaWRlcmVyIDxwcy5yZXBvcnRAZ214Lm5ldD4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBnc3RoMjY0cGFyc2VyOiBmaXggQ292ZXJpdHkgZm91bmQgbm90IGluaXRpYWxpemVkIHNwcy9wcHMgdmFsaWQgbWVtYmVyLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMjY0CgoyMDEyLTA5LTAzIDEzOjA5OjI5ICswMjAwICBQZXRlciBTZWlkZXJlciA8cHMucmVwb3J0QGdteC5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgZ3N0aDI2NHBhcnNlcjogZml4IENvdmVyaXR5IGRldGVjdGVkIG9mZiBieSBvbmUgYXQgY2FsbCB0byBSRUFEX1VFX0FMTE9XRUQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMyNjMKCjIwMTItMDktMTQgMTY6NDk6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2JsdXItZXhhbXBsZS5weToKCSogZ3N0L2dhdWRpZWZmZWN0cy9idXJuLWV4YW1wbGUucHk6CgkgIHJlbmFtZSBzb21lIGNhcHMKCjIwMTItMDktMTQgMTY6NDU6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvY29nL2dzdGNvZ3NjYWxlLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zcmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW4tcGxheToKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9ibHVyLWV4YW1wbGUucHk6CgkqIGdzdC9nYXVkaWVmZmVjdHMvYnVybi1leGFtcGxlLnB5OgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYXBzZmlsdGVyL2NhcHNmaWx0ZXIxLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2RpcmVjdGZiL2dzdGRmYi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0bW90aW9uY2VsbHNfZHluYW1pY190ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBmZm1wZWdjb2xvcnNwYWNlIGlzIG5vIG1vcmUKCjIwMTItMDktMTQgMTY6Mjk6MjMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5jOgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3QvcmF3cGFyc2UvUkVBRE1FOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHJlbmFtZSBzb21lIGNhcHMgYW5kIGVsZW1lbnRzIGluIGV4YW1wbGVzCgoyMDEyLTA5LTAyIDIwOjE3OjE0ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogdXNlIHByZXZpb3VzbHkgcGFyc2VkIHZpc3VhbCBvYmplY3Qgd2hlbiBwYXJzaW5nIFZPTAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMjU0CgoyMDEyLTA5LTAyIDIwOjE5OjE3ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgbXBlZzRwYXJzZXI6IHBhcnNlIGNvbXBsZXhpdHkgZXN0aW1hdGlvbiBoZWFkZXIgaW4gdmlkZW8gb2JqZWN0IGxheWVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMyNTQKCjIwMTItMDktMDIgMjA6MTg6MzIgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBtcGVnNHBhcnNlcjogZml4IHNvbWUgaXNzdWVzIHJlbGF0ZWQgdG8gdmlkZW8gb2JqZWN0IGxheWVyIHBhcnNpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzI1NAoKMjAxMi0wOS0wMiAxODoyMToxNiArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGRvIG5vdCBza2lwIHVzZXIgZGF0YQoJICBVc2VyIGRhdGEgd2FzIHNraXBwZWQgdW50aWwgbm93LCBzbyB0aGUgdXNlciBkYXRhIHdhcyBpbmNsdWRlZCB3aGVuCgkgIHBhcnNpbmcgdGhlIHByZXZpb3VzIHBhY2tldCBhbmQgaW4gdGhlIGNvbmZpZyBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMyNTQKCjIwMTItMDktMTQgMDI6NTk6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuOTQgPT09CgoyMDEyLTA5LTE0IDAyOjUwOjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMS45NAoKMjAxMi0wOS0xNCAwMjowNjo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJICBkb2NzOiB1cGRhdGUgZG9jcwoKMjAxMi0wOS0xMyAxMzo0NDowNSAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkgIGNoZWNrOiBWZXJpZnkgdGhlIERUUyBlbWVyZ2luZyBmcm9tIHRoZSBwYXJzZXIsIG5vdCBQVFMKCSAgUFRTIGRvZXNuJ3QgaW5jcmVtZW50IGxpbmVhcmx5IGluIHBhcnNlcnMgd2l0aCBmcmFtZSByZS1vcmRlcmluZywgYnV0CgkgIERUUyBkb2VzLiBWZXJpZnkgdGhhdCBpbnN0ZWFkLgoKMjAxMi0wOS0xMyAxMzozNDoxNiAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndmlkZW9wYXJzZXIuYzoKCSAgY2hlY2s6IEZpeCBtcGVndmlkZW9wYXJzZXIgUEFSIGV4cGVjdGF0aW9uCgkgIFRoZSBwYXJzZXIgKGNvcnJlY3RseSkgbm93IGludGVycHJldHMgdGhlIHRlc3QgaGVhZGVyIHVzaW5nCgkgIE1QRUctMSBzZW1hbnRpY3MsIHNvIGZpeCB0aGUgdGVzdCBleHBlY3RhdGlvbi4KCjIwMTItMDktMTMgMTU6NTE6MDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcmF1ZGlvc3JjOiBNYWtlIGNhcHMgd3JpdGFibGUgaW4gZml4YXRlCgoyMDEyLTA5LTEzIDE1OjA2OjUyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydGVzdC5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuaDoKCSAgaW50ZXI6IFBvcnQgdG8gMS4wIEFQSQoJICBBbHNvIHJlbW92ZSBhIGxvdCBvZiBlbXB0eSwgbm9uLWltcGxlbWVudGVkIG1ldGhvZHMKCjIwMTItMDktMTIgMjI6NTg6MDQgLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogRGlzYWJsZSBQVFMgaW50ZXJwb2xhdGlvbiBpbiB0aGUgYmFzZSBwYXJzZSBjbGFzcwoJICBBbGwgdGhlc2UgZm9ybWF0cyBoYXZlIHJlLW9yZGVyZWQgUFRTIHdoaWNoIHRoZSBiYXNlIGNsYXNzIGdldHMKCSAgd3JvbmcuIEl0J3MgYmV0dGVyIHRvIGxlYXZlIHRoZW0gYmxhbmsgYW5kIGxldCB0aGUgZGVjb2RlciBzb3J0IGl0CgkgIG91dC4gQmV0dGVyIHlldCB3b3VsZCBiZSB0byB0cmFjayBhbmQgaW50ZXJwb2xhdGUgdGhlIHRpbWVzdGFtcHMKCSAgaW4gdGhlIHN1YmNsYXNzZXMgKEZJWE1FKQoKMjAxMi0wOS0wOSAxNjo0MDowMCAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBBZHZhbmNlIHZpZGVvIHN0cmVhbSB3aXRoIGdhcCBldmVudHMuCgkgIEhhbmRsZSBHYXAgZXZlbnRzIHRoZSB3YXkgd2UgdXNlZCB0byBoYW5kbGUgc2VnbWVudCB1cGRhdGVzCgkgIGFuZCBhZHZhbmNlL2ZpbGwgaW4gdGhlIHZpZGVvIHN0cmVhbSBhY2NvcmRpbmdseS4gRml4ZXMKCSAgJ3N0aWxsJyBtZW51cyB3aGljaCBhcmVuJ3QgRFZEIHN0aWxsIGZyYW1lcywgYnV0IGFyZSBqdXN0IGEKCSAgc2luZ2xlIGZyYW1lIHdpdGggYWNjb21wYW55aW5nIGF1ZGlvLgoKMjAxMi0wOS0wOSAxNjoyOTo1MiAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5oOgoJICByZXNpbmR2ZDogU3RhcnQgd2l0aCBhIGxhcmdlciBzdWJwaWN0dXJlIHF1ZXVlIGZvciBwcmVyb2xsLgoJICBTaHJpbmsgdGhlIHF1ZXVlIG9uY2Ugd2UncmUgcHJlcm9sbGVkLiBGaXhlcyB0aGUgRnJpbmdlIFMxCgkgIERWRC4gQWxzbywgZW5zdXJlIHdlIG9ubHkgZmlyZSBub19tb3JlX3BhZHMgb25jZS4KCjIwMTItMDktMDggMTk6MjE6NDcgLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICByZXNpbmR2ZDogRGlzYWJsZSBpbnB1dC1zZWxlY3RvciBzeW5jaW5nCgkgIFVudGlsIHNlZ21lbnRzIGFyZSBiZXR0ZXIgd29ya2VkIG91dC4gQWxzbywgdXNlCgkgIGludGVybmFsIGlucHV0LXNlbGVjdG9yIGZvciBhdWRpbyBhcyB3ZWxsCgoyMDEyLTA5LTAzIDA5OjQ3OjMwIC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuaDoKCSAgbXBlZ3ZpZGVvcGFyc2U6IEhhbmRsZSBTZXF1ZW5jZSBEaXNwbGF5IEV4dGVuc2lvbgoJICBDaGFuZ2UgdGhlIHdheSB0aGUgcGl4ZWwtYXNwZWN0LXJhdGlvIGlzIGNvbXB1dGVkIGJ5CgkgIGludGVycHJldGluZyB0aGUgc2VxdWVuY2UgaGVhZGVyIGFzcGVjdCByYXRpbyBpbmZvCgkgIGFzIE1QRUctMSB2YWx1ZXMgdW50aWwgYSBzZXF1ZW5jZSBleHRlbnNpb24gb3IKCSAgc2VxdWVuY2UgZGlzcGxheSBleHRlbnNpb24gaXMgc2VlbiwgYW5kIHRoZW4gdXBkYXRpbmcKCSAgdGhlIHNlcXVlbmNlIGhlYWRlciBzdHJ1Y3QgYWNjb3JkaW5nbHkuCgkgIEZpeGVzIGluY29ycmVjdCBhbmFtb3JwaGljIGRpc3BsYXkgb24gc29tZSBNUEVHLTIgKERWRCkKCSAgc2VxdWVuY2VzLgoKMjAxMi0wOS0xMyAwMTo0MDo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9teGYuYzoKCSAgdGVzdHM6IGRpc2FibGUgeWV0IGFub3RoZXIgbXhmIHRlc3RzIHVudGlsIHRoZSBlbGVtZW50cyBhcmUgcG9ydGVkCgoyMDEyLTA5LTEzIDAxOjM0OjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJICBmbGl0ZXRlc3RzcmM6IGZpeCBjYXBzIGZpeGF0aW9uCgkgIE1ha2UgY2FwcyB3cml0YWJsZSBiZWZvcmUgY2hhbmdpbmcgdGhlbS4KCjIwMTItMDktMTMgMDE6MjY6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0c2VnbWVudGNsaXAuYzoKCSAgc2VnbWVudGNsaXA6IGZpeCB3cm9uZyBwYWQgdGVtcGxhdGUgdW5yZWYKCSAgQmxvd3MgdXAgd2hlbiB0cnlpbmcgdG8gaW5zdGFudGlhdGUgYSBzZWNvbmQgY2xpcCBlbGVtZW50CgkgIG9mIHRoZSBzYW1lIHR5cGUsIGxpa2UgaW4gdGhlIGdlbmVyaWMvc3RhdGVzIHVuaXQgdGVzdC4KCjIwMTItMDktMTMgMDE6MDc6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogZmFpbCBncmFjZWZ1bGx5IHdpdGggYW4gZXJyb3IgbWVzc2FnZSBpZiB3ZSBjYW4ndCBjb25uZWN0IHRvIHdheWxhbmQKCSAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoKSBpcyBub3QgZm9yIGVycm9yIGhhbmRsaW5nLCBpdCdzIGZvcgoJICBjYXRjaGluZyBwcm9ncmFtbWluZyBlcnJvcnMgaW4gcHVibGljIEFQSS4KCSAgRml4ZXMgcHJvYmxlbSB3aXRoIGdlbmVyaWMvc3RhdGVzIHVuaXQgdGVzdC4KCjIwMTItMDktMTMgMDA6NTk6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkgIHNpcmVuOiBpbml0IGRlYnVnIGNhdGVnb3J5IGJlZm9yZSBsb2dnaW5nIGFueXRoaW5nCgoyMDEyLTA5LTEzIDAwOjU1OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmbXV4LmM6CgkgIHRlc3RzOiBza2lwIG14ZiB0ZXN0cyB3aGlsZSBlbGVtZW50cyBoYXZlbid0IGJlZW4gcG9ydGVkIHlldAoKMjAxMi0wOS0xMyAwMDo1MDowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IHJlbW92ZSBHU1RfRVJST1Igc3RhdGVtZW50IHRoYXQgd2FzIGNvbW1pdHRlZCBieSBhY2NpZGVudAoKMjAxMi0wOS0xMyAwMDo0MDo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICB0ZXN0czogZml4IGppZm11eCB0ZXN0CgkgIE5lZWQgdG8gcGFzcyBhIEdzdFNhbXBsZSBub3cgZm9yIEdTVF9UQUdfQVBQTElDQVRJT05fREFUQQoJICBpbnN0ZWFkIG9mIGEgR3N0QnVmZmVyLgoKMjAxMi0wOS0xMiAxODozNDowMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuaDoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuaDoKCSAgcG5tOiBQb3J0IHRvIDEuMCBBUEkKCjIwMTItMDktMTIgMTc6MzQ6MDMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5oOgoJICBmcmVlemU6IFVzZSBhIEdQdHJBcnJheSBpbnN0ZWFkIG9mIGEgR1F1ZXVlCgkgIFRoaXMgd2F5LCB0aGUgbW9zdCBjb21tb24gZnVuY3Rpb24gKGNoYW5naW5nIGJ1ZmZlcnMpIGJlY29tZXMgTygxKSBpbnN0ZWFkCgkgIG9mIE8obikKCjIwMTItMDktMTIgMTc6MjQ6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmg6CgkgIGZyZWV6ZTogUG9ydCB0byAxLjAgQVBJCgoyMDEyLTA5LTEyIDE2OjIzOjQ3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5oOgoJICBzcGVlZDogVmFyaW91cyAxLjAgc3R5bGUgYWRkaXRpb25zCgkgIFVzZSBHc3RBdWRpb0luZm8gZXZlcnl3aGVyZSwgZXRjCgoyMDEyLTA5LTEwIDE3OjE2OjA3ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgIHNwZWVkOiBwb3J0IHRvIDAuMTEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzcyNwoKMjAxMi0wOS0xMiAxNjowMzowNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuaDoKCSAgbGl2ZWFkZGVyOiBwb3J0IHRvIDEuMCBBUEkKCjIwMTItMDktMTIgMjE6MTM6MzUgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJICBjb2xsZWN0cGFkczogcmVtb3ZlIGdzdF9jb2xsZWN0X3BhZHNfYWRkX3BhZF9mdWxsCgkgIFJlbmFtZSBnc3RfY29sbGVjdF9wYWRzX2FkZF9wYWRfZnVsbCgpIHRvIGdzdF9jb2xsZWN0X3BhZHNfYWRkX3BhZCgpIGFuZCBmaXggYWxsCgkgIGludm9jYXRpb25zLgoKMjAxMi0wOS0xMiAxMjoxNDo1MyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJICBzaXJlbjogUG9ydCB0byAxLjAgQVBJCgoyMDEyLTA5LTEyIDE1OjA4OjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogVXNlIGRlZmF1bHQgcXVlcnkgaGFuZGxlcnMgd2hlcmUgbmVlZGVkCgkgIEFuZCBmaXh1cCBnZXRjYXBzIGhhbmRsZXIgd2hpbGUgSSdtIGF0IGl0CgoyMDEyLTA5LTEyIDA5OjQyOjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogcG9ydCB0YWdzZXR0ZXIgbW9kZSBzZXR0aW5nIGNvZGUKCSAgQ2hlY2sgZGlyZWN0bHkgd2l0aCBHU1RfSVNfVEFHX1NFVFRFUiBpbnN0ZWFkIG9mIHVzaW5nIHRoZQoJICBkZXByZWNhdGVkIEdzdEltcGxlbWVudHNJbnRlcmZhY2UKCSAgRml4ZXMgdGhlIGltYWdlIHRhZyBzZXR0aW5nIHVuaXQgdGVzdAoKMjAxMi0wOS0xMiAxMzowMzoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgIHRlc3RzOiBmaXggd2luMzIgYnVpbGQgZXZlbiBtb3JlCgoyMDEyLTA5LTEyIDEzOjE3OjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICB0ZXN0czogbXBlZ3RzbXV4OiBwb3J0IHRvIHRoZSBuZXcgR0xpYiB0aHJlYWQgQVBJCgoyMDEyLTA5LTEyIDExOjA4OjI1ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZml4IGFzcGVjdCByYXRpbyBjYWxjdWxhdGlvbi4KCSAgQVNQRUNUX0hPUklaX1NJWkUgYW5kIEFTUEVDVF9WRVJUX1NJWkUgYXJlIHN5bnRheCBlbGVtZW50cyB0aGF0IGhvbGQKCSAgYmluYXJ5IGVuY29kaW5ncyBvZiBzaXplcyByYW5naW5nIGZyb20gMSB0byAyNTYuIFRodXMsIHRoZSBjYWxjdWxhdGVkCgkgIHBpeGVsLWFzcGVjdC1yYXRpbyB3YXMgb2ZmIGJ5IG9uZS4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzODU4CgoyMDEyLTA5LTEyIDExOjAxOjM0ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NHBhcnNlOiBkb24ndCB1c2UgYW5vbnltb3VzIHVuaW9ucy4KCSAgQW5vbnltb3VzIHVuaW9uIGlzIGFuIElTTyBDICgyMDExKSBmZWF0dXJlIHRoYXQgaXMgbm90IGV4cG9zZWQgaW4KCSAgY29tcGlsZXJzIHN0cmljdGx5IGNvbmZvcm1pbmcgdG8gdGhlIHByZXZpb3VzIHN0YW5kYXJkLgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEyLTA5LTEyIDExOjIxOjQxICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogY29tcHV0ZSBwaXhlbCBhc3BlY3QgcmF0aW8uCgkgIFNpZ25lZC1vZmYtYnk6IFNpbW9uIEZhcm5zd29ydGggPHNpbW9uLmZhcm5zd29ydGhAb25lbGFuLmNvLnVrPgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEyLTA5LTEyIDA5OjQ4OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICB0ZXN0czogYXR0ZW1wdCB0byBnZXQgZGlzYWJsZWQgc3RyZWFtaGVhZGVyIHRlc3QgdG8gY29tcGlsZSBvbiB3aW4zMgoJICBUaG91Z2ggaXQgcHJvYmFibHkgd29uJ3Qgd29yaywgYnV0IHRoZW4gaXQncyBkaXNhYmxlZC4KCjIwMTItMDktMTIgMDk6MTA6MzUgKzAyMDAgIFBldGVyIEtvcnNnYWFyZCA8amFjbWV0QHN1bnNpdGUuZGs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIG9wdXMgKyBqcGVnZm9ybWF0OiB1bmJyZWFrIG5vbi1kZWJ1ZyBidWlsZAoJICBvcHVzICsganBlZ2Zvcm1hdCBwbHVnaW4gYnVpbGRzIGZhaWwgd2hlbiBnc3RyZWFtZXIgaXMgY29uZmlndXJlZCB3aXRoCgkgIC0tZGlzYWJsZS1nc3QtZGVidWcgYXMgdGhleSBhcmUgY2hlY2tpbmcgdGhlIEdTVF9ESVNBQkxFX0RFQlVHIHN5bWJvbAoJICBpbnN0ZWFkIG9mIEdTVF9ESVNBQkxFX0dTVF9ERUJVRy4KCSAgU2lnbmVkLW9mZi1ieTogUGV0ZXIgS29yc2dhYXJkIDxqYWNtZXRAc3Vuc2l0ZS5kaz4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Mzg1MAoKMjAxMi0wOS0xMiAwMTozNTo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9qcGVnZm9ybWF0L01ha2VmaWxlLmFtOgoJICBqcGVnZm9ybWF0OiBkb24ndCBsaW5rIHRvIGxpYmdzdGludGVyZmFjZXMgd2hpY2ggZG9lc24ndCBleGlzdCBhbnkgbG9uZ2VyCgoyMDEyLTA5LTExIDIwOjMwOjU1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbnBsYy5jOgoJICBzcGFucGxjOiBEb24ndCB1bnJlZiB0b28gbXVjaCwgZG9uJ3QgZm9yd2FyZCBnYXAgZXZlbnQKCjIwMTItMDktMTEgMjA6MTk6NDggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5wbGMuYzoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbnBsYy5oOgoJICBzcGFucGxjOiBQb3J0IHRvIDEuMCBBUEkKCjIwMTItMDktMTEgMTk6NDE6MzEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBEb24ndCB0cnkgdG8gc3luYyBjb250cm9sbGVyIHZhbHVlcyB0byBpbnZhbGlkIHRpbWVzdGFtcAoKMjAxMi0wOS0xMSAxOTozNjoyNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBGaW5pc2ggcG9ydCB0byAxLjAgQVBJCgoyMDEyLTA5LTExIDE4OjU1OjExIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbnZlcnQuYzoKCSAgdGVzdDogU2ltcGxpZnkgYXV0b2NvbnZlcnQgdGVzdAoKMjAxMi0wOS0xMSAxODo1Mzo0MyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogTG9vayBhdCBhbGwgcG9zc2liaWxpdGllcyBmb3IgYWNjZXB0LWNhcHMgZXZlbiBpZiB0aGVyZSBpcyBhIHNlbGVjdGVkIHN1YmVsZW1lbnQKCSAgSWYgdGhlIGFjY2VwdC1jYXBzIHN1Y2NlZWRzIHdpdGggYSBkaWZmZXJlbnQgc3ViZWxlbWVudCwgdGhlbiB0aGUgc3Vic2VxdWVudAoJICBjYXBzIGV2ZW50IHdpbGwgY2hhbmdlIHRoZSBjdXJyZW50IHN1YmVsZW1lbnQuCgoyMDEyLTA5LTExIDE4OjAyOjI4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb3B1cy5jOgoJICB0ZXN0OiBGbHVzaCBvcHVzIGVuY29kZXIgYmV0d2VlbiB0ZXN0cwoKMjAxMi0wOS0xMSAxODowMTo1OCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29wdXMuYzoKCSAgdGVzdDogRmx1c2ggb3B1cyBlbmNvZGVyIGJldHdlZW4gdGVzdHMKCjIwMTItMDktMTAgMTg6MjA6NDggLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmg6CgkgIHV2Y2gyNjQ6IE1ha2UgZ3VkZXYvbGlidXNiIGEgaGFyZCBkZXBlbmRlbmN5IGFuZCByZW1vdmUgWFVfRklORF9VTklUIGlvY3RsIHN1cHBvcnQKCSAgQ29uZmxpY3RzOgoJICBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jCgoyMDEyLTA5LTExIDE3OjQ3OjE2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgZXh0LCBnc3Q6IG9ubHkgYWN0aXZhdGUgaW4gcHVsbCBtb2RlIGlmIHVwc3RyZWFtIGlzIHNlZWthYmxlCgoyMDEyLTA5LTExIDE1OjA3OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICBmZXN0aXZhbDogdGltZWQgdGV4dCBpcyB0ZXh0L3gtcmF3IG5vdwoKMjAxMi0wOS0xMSAxNTowMjowMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZHguYzoKCSAgZDNkdmlkZW9zaW5rOiBwb3J0IHRvIHRoZSBuZXcgR0xpYiB0aHJlYWQgQVBJCgoyMDEyLTA5LTExIDE0OjMyOjA0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wbGV4LmM6CgkgIHRlc3RzOiBtcGVnMmVuYywgbXBsZXg6IHBvcnQgdG8gdGhlIG5ldyBHTGliIHRocmVhZCBBUEkKCjIwMTItMDktMTEgMTQ6MzE6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkgIG9wdXNlbmM6IHBvcnQgdG8gdGhlIG5ldyBHTGliIHRocmVhZCBBUEkKCjIwMTItMDktMTEgMDE6NTI6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmdpdGlnbm9yZToKCSAgZ2RwOiBtb3ZlIGdkcCBwbHVnaW4gaGVyZSBmcm9tIC1iYXNlCgkgIE5lZWRzIHNvbWUgcmV3b3JraW5nLgoKMjAxMi0wOS0wOSAxODowNTo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogZHVtcCBieXRlcyBpbnRvIGRlYnVnIGxvZyB1c2luZyBHU1RfTUVNRFVNUAoJICBJbnN0ZWFkIG9mIGhvbWUtZ3Jvd24gc29sdXRpb24uCgoyMDEyLTA3LTI3IDE1OjIxOjUxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgdXBkYXRlIGZvciBuZXcgdmFyaWFibGUgbmFtZXMKCjIwMTItMDctMDIgMTI6NTI6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgIHRlc3RzOiB1c2UgbXVsdGlmZHNpbmsgZm9yIHN0cmVhbWhlYWRlciB0ZXN0CgkgIFVzZSBtdWx0aWZkc2luayBmb3IgcGlwZXMgaW5zdGVhZCBvZiBtdWx0aXNvY2tldHNpbmssCgkgIHRvIGF2b2lkICJjcmVhdGluZyBHU29ja2V0IGZyb20gZmQgOTogU29ja2V0IG9wZXJhdGlvbgoJICBvbiBub24tc29ja2V0ICJjcml0aWNhbHMgZnJvbSBHaW8uIFRlc3Qgc3RpbGwgZmFpbHMsCgkgIGJ1dCBpdCBmYWlscyBpbiBhIGRpZmZlcmVudCB3YXkgbm93LgoKMjAxMi0wNC0yNSAxODowNzoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IHBsdWcgYnVmZmVyIGxlYWsKCjIwMTItMDQtMTkgMTQ6NDE6NDAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgIHRlc3RzOiBpbml0aWFsaXplIHZhcmlhYmxlcwoKMjAxMi0wNC0xMCAwMDo0NToxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIFVzZSBuZXcgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X3N0YXRpY19tZXRhZGF0YSgpCgoyMDEyLTA0LTA1IDE1OjExOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwLmM6CgkgIGdzdDogVXBkYXRlIGZvciBHU1RfUExVR0lOX0RFRklORSgpIEFQSSBjaGFuZ2UKCjIwMTItMDQtMDEgMTg6MTE6MjMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBJbXByb3ZlIGJ1ZmZlciBhbGxvY2F0aW9uIG9mIHdyYXBwZWQgbWVtb3J5CgoyMDEyLTAzLTMwIDE4OjEyOjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgdXBkYXRlIGZvciBidWZmZXIgYXBpIGNoYW5nZQoKMjAxMi0wMy0yOCAxMjo0ODo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIHVwZGF0ZSBmb3IgYnVmZmVyIGNoYW5nZXMKCjIwMTItMDMtMTUgMTM6MzI6MDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICB1cGRhdGUgZm9yIG1lbW9yeSBhcGkgY2hhbmdlcwoKMjAxMi0wMi0yMiAwMjowNToyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIHVwZGF0ZSBmb3IgbmV3IG1lbW9yeSBhcGkKCjIwMTItMDItMDMgMTE6Mzg6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgZ2RwOiBmaXh1cCB1bml0IHRlc3RzCgoyMDEyLTAyLTAzIDExOjM4OjE1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiBmaXh1cCBmb3IgY2hhbmdlZCBjYXBzCgkgIFRyeSB0byBzZW5kIHRoZSBzdHJlYW1oZWFkZXIgYWZ0ZXIgdGhlIGZpcnN0IGJ1ZmZlci4KCjIwMTItMDItMDMgMTE6Mzc6MjEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBkYXRhcHJvdG9jb2w6IGRvbid0IGRlZmluZSBkZWZhdWx0IENhdGVnb3J5CgkgIFNpbmNlIHdlIG5vdyBpbmNsdWRlIHRoaXMgaW50byB0aGUgdW5pdCB0ZXN0cyBkaXJlY3RseSwgZG9uJ3QgZGVmaW5lIHRoZSBkZWZhdWx0CgkgIGNhdGVnb3J5IG1hY3JvIGJlY2F1c2UgaXQgY29uZmxpY3RzIHdpdGggY2hlY2suCgoyMDEyLTAxLTMwIDE3OjE2OjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgdXBkYXRlIGZvciBIRUFERVIgZmxhZyBjaGFuZ2VzCgoyMDEyLTAxLTIwIDE2OjExOjU0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICBwb3J0IHRvIG5ldyBtYXAgQVBJCgoyMDEyLTAxLTE5IDE1OjMyOjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICB0ZXN0czogZml4IHNvbWUgdGVzdHMKCjIwMTItMDEtMDQgMTY6NDE6NTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICB0ZXN0czogcG9ydCBhbmQgZW5hYmxlIG1vcmUgdW5pdCB0ZXN0cwoKMjAxMS0xMi0yNSAyMzoxOTo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJKiBnc3QvZ2RwL2RwLXByaXZhdGUuaDoKCSogZ3N0L2dkcC9nc3RnZHAuYzoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgZ2RwOiBtb3ZlIGRhdGFwcm90b2NvbCBsaWJyYXJ5IGludG8gZ2RwIHBsdWdpbiBhbmQgbWFrZSBwcml2YXRlCgkgIFdlIGhhdmUgcmVtb3ZlZCB0aGluZ3MgbGlrZSBwcm90b2NvbD1nZHAgaW4gdGhlIHRjcCBlbGVtZW50cwoJICBpbiBmYXZvdXIgb2YgZXhwbGljaXQgZ2RwcGF5L2RlcGF5IGVsZW1lbnRzLCBzbyB0aGVyZSdzIG5vIG5lZWQKCSAgdG8ga2VlcCBhIHB1YmxpYyBBUEkgYW5kIGxpYnJhcnkgZm9yIG5vdy4gV2UgY2FuIHN0aWxsIGFkZCBpdAoJICBiYWNrIGxhdGVyLiBTb21lb25lIG5lZWRzIHRvIHRoaW5rIGhhcmQgYWJvdXQgMC4xMSBhbmQgZ2RwCgkgIGFueXdheSBvbmUgb2YgdGhlc2UgZGF5cy4KCjIwMTEtMTEtMTEgMTc6MTc6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5oOgoJICBnZHA6IGZpeCBoZWFkZXIgZmlsZXMKCSAgRW5zdXJlIGNvcnJlY3QgaW5kZW50YXRpb24gYW5kIHJldGFiCgkgIE1ha2Ugc3VyZSBhbGwgc3RydWN0dXJlIGhhdmUgcGFkZGluZwoKMjAxMS0wOC0xNiAxNzozMjoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogcmVuYW1lIGJ1ZmZlciBQUkVST0xMIC0+IExJVkUgZmxhZwoJICBSZW5hbWUgdGhlIEdTVF9CVUZGRVJfRkxBR19QUkVST0xMIHRvIEdTVF9CVUZGRVJfRkxBR19MSVZFIGFuZCBnaXZlIHRoZSBuZXcgZmxhZwoJICBhIG1lYW5pbmcuIFRoZSBvbGQgUFJFUk9MTCBmbGFnIG5ldmVyIGhhZCBhIGNsZWFyIG1lYW5pbmcuCgoyMDExLTA2LTEwIDEzOjQwOjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBtYWtlIG5ldyBfYnVmZmVyX2FsbG9jYXRlIG1ldGhvZAoJICBNYWtlIGEgbmV3IG1ldGhvZCB0byBhbGxvY2F0ZSBhIGJ1ZmZlciArIG1lbW9yeSB0aGF0IHRha2VzIHRoZSBhbGxvY2F0b3IgYW5kIHRoZQoJICBhbGlnbm1lbnQgYXMgcGFyYW1ldGVycy4gUHJvdmlkZSBhIG1hY3JvIGZvciB0aGUgb2xkIG1ldGhvZCBidXQgcHJlZmVyIHRvIHVzZQoJICB0aGUgbmV3IG1ldGhvZCB0byBlbmNvdXJhZ2UgcGx1Z2lucyB0byBuZWdvdGlhdGUgdGhlIGFsbG9jYXRvciBwcm9wZXJseS4KCjIwMTEtMDUtMTMgMTg6MDc6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IFJld29yayBHc3RTZWdtZW50IGhhbmRsaW5nCgkgIEltcHJvdmUgR3N0U2VnbWVudCwgcmVuYW1lIHNvbWUgZmllbGRzLiBUaGUgaWRlYSBpcyB0byBoYXZlIHRoZSBHc3RTZWdtZW50CgkgIHN0cnVjdHVyZSByZXByZXNlbnQgdGhlIHRpbWluZyBzdHJ1Y3R1cmUgb2YgdGhlIGJ1ZmZlcnMgYXMgdGhleSBhcmUgZ2VuZXJhdGVkIGJ5CgkgIHRoZSBzb3VyY2Ugb3IgZGVtdXhlciBlbGVtZW50LgoJICBnc3Rfc2VnbWVudF9zZXRfc2VlaygpIC0+IGdzdF9zZWdtZW50X2RvX3NlZWsoKQoJICBSZW5hbWUgdGhlIE5FV1NFR01FTlQgZXZlbnQgdG8gU0VHTUVOVC4KCSAgTWFrZSBwYXJzaW5nIG9mIHRoZSBTRUdNRU5UIGV2ZW50IGludG8gYSBHc3RTZWdtZW50IHN0cnVjdHVyZS4KCSAgUGFzcyBhIEdzdFNlZ21lbnQgc3RydWN0dXJlIHdoZW4gbWFraW5nIGEgbmV3IFNFR01FTlQgZXZlbnQuIFRoaXMgYWxsb3dzIHVzIHRvCgkgIHBhc3MgdGhlIHRpbWluZyBpbmZvIGRpcmVjdGx5IHRvIHRoZSBuZXh0IGVsZW1lbnQuIE5vIGFjY3VtdWxhdGlvbiBpcyBuZWVkZWQgaW4KCSAgdGhlIHJlY2VpdmluZyBlbGVtZW50LCBhbGwgdGhlIGluZm8gaXMgaW5zaWRlIHRoZSBlbGVtZW50LgoJICBSZW1vdmUgZ3N0X3NlZ21lbnRfc2V0X25ld3NlZ21lbnQoKTogVGhpcyBmdW5jdGlvbiBhcyB1c2VkIHRvIGFjY3VtdWxhdGUKCSAgc2VnbWVudHMgcmVjZWl2ZWQgZnJvbSB1cHN0cmVhbSwgd2hpY2ggaXMgbm93IG5vdCBuZWVkZWQgYW55bW9yZSBiZWNhdXNlIHRoZQoJICBzZWdtZW50IGV2ZW50IGNvbnRhaW5zIHRoZSBjb21wbGV0ZSB0aW1pbmcgaW5mb3JtYXRpb24uCgoyMDExLTA1LTEwIDExOjUwOjE2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBIaWRlIHRoZSBHc3RTdHJ1Y3R1cmUgaW4gR3N0RXZlbnQKCSAgSGlkZSB0aGUgR3N0U3RydWN0dXJlIG9mIHRoZSBldmVudCBpbiB0aGUgaW1wbGVtZW50YXRpb24gc3BlY2lmaWMgcGFydCBzbyB0aGF0CgkgIHdlIGNhbiBjaGFuZ2UgaXQuCgkgIEFkZCBtZXRob2RzIHRvIGNoZWNrIGFuZCBtYWtlIHRoZSBldmVudCB3cml0YWJsZS4KCSAgQWRkIGEgbmV3IG1ldGhvZCB0byBnZXQgYSB3cml0YWJsZSBHc3RTdHJ1Y3R1cmUgb2YgdGhlIGVsZW1lbnQuCgkgIEF2b2lkIGRpcmVjdGx5IGFjY2lzaW5nIHRoZSBldmVudCBzdHJ1Y3R1cmUuCgoyMDExLTA1LTAyIDE2OjAwOjUyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5oOgoJICBnZHA6IGFkZCBkb2NzIGZvciBHc3REUFBhY2tldGl6ZXIKCjIwMTEtMDMtMjEgMTg6MTM6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IHBvcnQgY29kZSB0byBuZXcgYnVmZmVyIGRhdGEgQVBJCgoyMDEwLTEyLTA2IDE5OjQwOjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuaDoKCSAgZ2RwOiByZW1vdmUgZGVwcmVjYXRlZCBjb2RlCgoyMDEwLTEwLTA4IDA5OjM0OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogbWFrZSBwdWJsaWMgZW51bSBfZ2V0X3R5cGUoKSBmdW5jdGlvbnMgdGhyZWFkLXNhZmUKCSAgTm90IHRoYXQgaXQgaXMgbGlrZWx5IHRvIG1hdHRlciBpbiBwcmFjdGljZSwgYnV0IHNpbmNlIHRoZXNlIGFyZSBwdWJsaWMKCSAgQVBJIHRoZXkgc2hvdWxkIHByb2JhYmx5IGJlIHRocmVhZC1zYWZlLgoKMjAxMC0xMC0wOCAwMDozODozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IGRhdGFwcm90b2NvbCwgbGZvY29udHJvbHNvdXJjZTogZml4IGVudW0gdmFsdWUgbmFtZSBpbiBlbnVtcyB0aGF0IGFyZSBwdWJsaWMgQVBJCgkgIFNvIHJ1bi10aW1lIGJpbmRpbmdzIGNhbiBpbnRyb3NwZWN0IHRoZSBuYW1lcyBjb3JyZWN0bHkgKHdlIGFidXNlIHRoaXMKCSAgZmllbGQgYXMgZGVzY3JpcHRpb24gZmllbGQgb25seSBpbiBlbGVtZW50cywgbm90IGZvciBwdWJsaWMgQVBJCgkgICh3aGVyZSB0aGUgZGVzY3JpcHRpb24gYmVsb25ncyBpbnRvIHRoZSBndGstZG9jIGNodW5rKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyOTk0NgoKMjAxMC0wMy0wMiAyMjo1ODowNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBGaXhlcyBmb3IgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcwoJICBBbHNvIGFkZHMgdGhvc2UgZmxhZ3MgdG8gdGhlIGNvbmZpZ3VyZSB3YXJuaW5nIGZsYWdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTE2OTIKCjIwMTAtMDMtMDIgMjM6NTE6MTggKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9nZHAvZHAtcHJpdmF0ZS5oOgoJICBnZHA6IE1ha2UgY29kZSBzYWZlIGZvciAtV3JlZHVuZGFudC1kZWNscwoJICBBZGRzIHRoYXQgd2FybmluZyB0byBjb25maWd1cmUuYWMKCSAgSW5jbHVkZXMgYSB0aW55IGNoYW5nZSBvZiB0aGUgR1NUX0JPSUxFUlBMQVRFX0ZVTEwoKSBtYWNybzoKCSAgVGhlIGdldF90eXBlKCkgZnVuY3Rpb24gaXMgbm8gbG9uZ2VyIGRlY2xhcmVkIGJlZm9yZSBiZWluZyBkZWZpbmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjExNjkyCgoyMDA5LTExLTI3IDE2OjM5OjM3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IGZpeCBicm9rZW4geHJlZnMgaW4gZG9jcwoKMjAwOC0wNi0zMCAwOTozODo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ2RwOiBEb24ndCB3cml0ZSB0byB0aGUgc2FtZSByZWdpb24gb2YgbWVtb3J5IGFzIGEgdWludDY0IGFuZCB1aW50MTYgYXMgdGhpcyBicmVha3MgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgRG9uJ3Qgd3JpdGUgdG8gdGhlIHNhbWUgcmVnaW9uIG9mIG1lbW9yeSBhcyBhIHVpbnQ2NCBhbmQgdWludDE2CgkgIGFzIHRoaXMgYnJlYWtzIHN0cmljdCBhbGlhc2luZyBydWxlcyBhbmQgYXBwYXJhbnRseSBicmVha3Mgb24gUFBDCgkgIGFuZCBzMzkwLiBUaGFua3MgdG8gU2pvZXJkIFNpbW9ucyBmb3IgYW5hbHlzaW5nLiBGaXhlcyBidWcgIzM0ODExNC4KCjIwMDgtMDMtMjcgMTU6MjM6NTUgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdkcDogV2hlbiBjYWxjdWxhdGluZyBHRFAgYm9keSBDUkMsIHVzZSB0aGUgY29ycmVjdCBwb2ludGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIChnc3RfZHBfcGFja2V0X2Zyb21fZXZlbnRfMV8wKToKCSAgV2hlbiBjYWxjdWxhdGluZyBHRFAgYm9keSBDUkMsIHVzZSB0aGUgY29ycmVjdCBwb2ludGVyLgoJICBGaXhlcyBwYXJ0IG9mICM1MjI0MDEuCgoyMDA4LTAyLTI5IDEyOjQxOjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnZHA6IENvcnJlY3QgYWxsIHJlbGV2YW50IHdhcm5pbmdzIGZvdW5kIGJ5IHRoZSBzcGFyc2Ugc2VtYW50aWMgY29kZSBhbmFseXplci4gVGhpcyBpbmNsdWRlIG1hcmtpbmcgc2V2ZXJhbCBzeW1ib2xzIHN0YXRpYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ3N0Y29uZmlnLmguaW46CgkgICogbGlicy9nc3QvYmFzZS9nc3Rjb2xsZWN0cGFkcy5jOiAoZ3N0X2NvbGxlY3RfcGFkc19yZWFkX2J1ZmZlcik6CgkgICogbGlicy9nc3QvY2hlY2svZ3N0Y2hlY2suYzogKGdzdF9jaGVja19sb2dfbWVzc2FnZV9mdW5jKSwKCSAgKGdzdF9jaGVja19sb2dfY3JpdGljYWxfZnVuYyksIChnc3RfY2hlY2tfZHJvcF9idWZmZXJzKSwKCSAgKGdzdF9jaGVja19lbGVtZW50X3B1c2hfYnVmZmVyX2xpc3QpOgoJICAqIGxpYnMvZ3N0L2NvbnRyb2xsZXIvZ3N0Y29udHJvbGxlci5jOiAoZ3N0X2NvbnRyb2xsZXJfZ2V0KSwKCSAgKGdzdF9jb250cm9sbGVyX2dldF90eXBlKToKCSAgKiBsaWJzL2dzdC9jb250cm9sbGVyL2dzdGhlbHBlci5jOiAoZ3N0X29iamVjdF9jb250cm9sX3Byb3BlcnRpZXMpLAoJICAoZ3N0X29iamVjdF9nZXRfY29udHJvbGxlciksIChnc3Rfb2JqZWN0X2dldF9jb250cm9sX3NvdXJjZSk6CgkgICogbGlicy9nc3QvY29udHJvbGxlci9nc3RpbnRlcnBvbGF0aW9uY29udHJvbHNvdXJjZS5jOgoJICAoZ3N0X2ludGVycG9sYXRpb25fY29udHJvbF9zb3VyY2VfbmV3KToKCSAgKiBsaWJzL2dzdC9jb250cm9sbGVyL2dzdGxmb2NvbnRyb2xzb3VyY2UuYzoKCSAgKGdzdF9sZm9fY29udHJvbF9zb3VyY2VfbmV3KToKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIChnc3RfZHBfZXZlbnRfZnJvbV9wYWNrZXRfMF8yKToKCSAgKiBwbHVnaW5zL2VsZW1lbnRzL2dzdGZkc3JjLmM6CgkgICogcGx1Z2lucy9lbGVtZW50cy9nc3RtdWx0aXF1ZXVlLmM6CgkgICogcGx1Z2lucy9lbGVtZW50cy9nc3R0ZWUuYzoKCSAgKiBwbHVnaW5zL2VsZW1lbnRzL2dzdHR5cGVmaW5kZWxlbWVudC5jOgoJICAqIHBsdWdpbnMvaW5kZXhlcnMvZ3N0ZmlsZWluZGV4LmM6IChfZmlsZV9pbmRleF9pZF9zYXZlX3htbCksCgkgIChnc3RfZmlsZV9pbmRleF9hZGRfYXNzb2NpYXRpb24pOgoJICAqIHBsdWdpbnMvaW5kZXhlcnMvZ3N0bWVtaW5kZXguYzoKCSAgKiB0ZXN0cy9iZW5jaG1hcmtzL2dzdHBvbGxzdHJlc3MuYzogKG1lc3Nfc29tZV9tb3JlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdWV1ZS5jOiAoc2V0dXBfcXVldWUpOgoJICAqIHRlc3RzL2NoZWNrL2dzdC9nc3RwaXBlbGluZS5jOgoJICAqIHRlc3RzL2NoZWNrL2xpYnMvY29sbGVjdHBhZHMuYzogKHNldHVwKSwgKHRlYXJkb3duKSwKCSAgKGdzdF9jb2xsZWN0X3BhZHNfc3VpdGUpOgoJICAqIHRlc3RzL2V4YW1wbGVzL2FkYXB0ZXIvYWRhcHRlcl90ZXN0LmM6CgkgICogdGVzdHMvZXhhbXBsZXMvbWV0YWRhdGEvcmVhZC1tZXRhZGF0YS5jOiAobWFrZV9waXBlbGluZSk6CgkgICogdGVzdHMvZXhhbXBsZXMveG1sL2NyZWF0ZXhtbC5jOgoJICAqIHRlc3RzL2V4YW1wbGVzL3htbC9ydW54bWwuYzoKCSAgKiB0b29scy9nc3QtaW5zcGVjdC5jOgoJICAqIHRvb2xzL2dzdC1ydW4uYzoKCSAgQ29ycmVjdCBhbGwgcmVsZXZhbnQgd2FybmluZ3MgZm91bmQgYnkgdGhlIHNwYXJzZSBzZW1hbnRpYyBjb2RlCgkgIGFuYWx5emVyLiBUaGlzIGluY2x1ZGUgbWFya2luZyBzZXZlcmFsIHN5bWJvbHMgc3RhdGljLCB1c2luZwoJICBOVUxMIGluc3RlYWQgb2YgMCBmb3IgcG9pbnRlcnMsIG5vdCB1c2luZyB2YXJpYWJsZSBzaXplZCBhcnJheXMKCSAgb24gdGhlIHN0YWNrLCBtb3ZpbmcgdmFyaWFibGUgZGVjbGFyYXRpb25zIHRvIHRoZSBiZWdpbm5pbmcgb2YKCSAgYSBibG9jayBhbmQgdXNpbmcgImZvbyAodm9pZCkiIGluc3RlYWQgb2YgImZvbyAoKSIgZm9yIGRlY2xhcmF0aW9ucy4KCjIwMDgtMDEtMDggMDI6MDc6MzggKzAwMDAgIERhbWllbiBMZXNwaWF1IDxkYW1pZW4ubGVzcGlhdUBnbWFpbC5jb20+CgoJICBnZHA6IEZpeCBlbXB0eSBwcm90b3R5cGVzLiBGaXhlcyBidWcgIzUwNzk1Ny4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuLmxlc3BpYXVAZ21haWwuY29tPgoJICAqIGxpYnMvZ3N0L2NvbnRyb2xsZXIvZ3N0Y29udHJvbGxlci5oOgoJICAqIGxpYnMvZ3N0L2NvbnRyb2xsZXIvZ3N0Y29udHJvbHNvdXJjZS5oOgoJICAqIGxpYnMvZ3N0L2NvbnRyb2xsZXIvZ3N0aW50ZXJwb2xhdGlvbmNvbnRyb2xzb3VyY2UuaDoKCSAgKiBsaWJzL2dzdC9jb250cm9sbGVyL2dzdGxmb2NvbnRyb2xzb3VyY2UuaDoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmg6CgkgIEZpeCBlbXB0eSBwcm90b3R5cGVzLiAgRml4ZXMgYnVnICM1MDc5NTcuCgoyMDA3LTExLTAxIDIxOjUwOjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ2RwOiBnX3R5cGVfY2xhc3NfcmVmKCkgb3RoZXIgdHlwZXMgYXMgd2VsbCwgc2VlICMzNDk0MTAgYW5kICM2NDc2NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dzdC5jOiAoaW5pdF9wb3N0KToKCSAgKiBnc3QvZ3N0ZXZlbnQuYzogKF9nc3RfZXZlbnRfaW5pdGlhbGl6ZSk6CgkgICogZ3N0L2dzdHF1ZXJ5LmM6IChfZ3N0X3F1ZXJ5X2luaXRpYWxpemUpOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYyAoZ3N0X2RwX2luaXQpOgoJICBnX3R5cGVfY2xhc3NfcmVmKCkgb3RoZXIgdHlwZXMgYXMgd2VsbCwgc2VlICMzNDk0MTAgYW5kICM2NDc2NC4KCSAgKiBnc3QvZ3N0YnVmZmVyLmM6IChfZ3N0X2J1ZmZlcl9pbml0aWFsaXplKToKCSAgKiBnc3QvZ3N0bWVzc2FnZS5jOiAoX2dzdF9tZXNzYWdlX2luaXRpYWxpemUpOgoJICBTaW1wbGlmeSBleGlzdGluZyBnX3R5cGVfY2xhc3NfcmVmKCkuCgoyMDA2LTEwLTA1IDE0OjI2OjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ2RwOiBQcmludGYgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nc3RwYWQuYzogKHByZV9hY3RpdmF0ZSk6CgkgICogZ3N0L2dzdHJlZ2lzdHJ5LmM6IChnc3RfcmVnaXN0cnlfc2Nhbl9wYXRoX2xldmVsKToKCSAgKiBnc3QvZ3N0cmVnaXN0cnl4bWwuYzogKGxvYWRfcGx1Z2luKToKCSAgKiBsaWJzL2dzdC9jb250cm9sbGVyL2dzdGNvbnRyb2xsZXIuYzoKCSAgKGdzdF9jb250cm9sbGVkX3Byb3BlcnR5X3NldF9pbnRlcnBvbGF0aW9uX21vZGUpOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgKGdzdF9kcF9wYWNrZXRfZnJvbV9ldmVudF8xXzApOgoJICAqIGxpYnMvZ3N0L25ldC9nc3RuZXRjbGllbnRjbG9jay5jOgoJICAoZ3N0X25ldF9jbGllbnRfY2xvY2tfb2JzZXJ2ZV90aW1lcyk6CgkgICogcGx1Z2lucy9lbGVtZW50cy9nc3RmZHNyYy5jOiAoZ3N0X2ZkX3NyY19jcmVhdGUpOgoJICBQcmludGYgZml4ZXMuCgoyMDA2LTA4LTExIDE1OjI2OjMzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnZHA6IEdTVF9ESVNBQkxFX0RFUFJFQ0FURUQgaXMgb25seSBmb3IgdXNlcnMgb2YgQVBJIHRoYXQgZG9uJ3Qgd2FudCB0byBzZWUgZGVwcmVjYXRlZCBmdW5jdGlvbnMgaW4gdGhlIGhlYWRlcnM7IHBlb3BsZSB0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wOC0xMSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOiAoZ3N0X2RwX3BhY2tldGl6ZXJfbmV3KToKCSAgKiB0ZXN0cy9jaGVjay9saWJzL2dkcC5jOiAoZ3N0X2RwX3N1aXRlKTogR1NUX0RJU0FCTEVfREVQUkVDQVRFRAoJICBpcyBvbmx5IGZvciB1c2VycyBvZiBBUEkgdGhhdCBkb24ndCB3YW50IHRvIHNlZSBkZXByZWNhdGVkCgkgIGZ1bmN0aW9ucyBpbiB0aGUgaGVhZGVyczsgcGVvcGxlIHRoYXQgd2FudCB0byBjb21waWxlIG91dAoJICBkZXByZWNhdGVkIGNvZGUgc2hvdWxkIHBhc3MgLURHU1RfUkVNT1ZFX0RFUFJFQ0FURUQgaW50byB0aGUKCSAgQ0ZMQUdTLiBGaXhlcyB0aGUgYnVpbGQgb2YgbXVsdGlmZHNpbmssIG9yIHdpbGwgc29vbi4uCgoyMDA2LTA4LTEwIDE5OjQ2OjE0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnZHA6IGFkZCBnc3Rfb2JqZWN0X3tzLGd9ZXRfY29udHJvbF9yYXRlKCksIGFkZCBwcml2YXRlIGRhdGEgc2VjdGlvbiwgZml4IGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9saWJzL2dzdHJlYW1lci1saWJzLXNlY3Rpb25zLnR4dDoKCSAgKiBsaWJzL2dzdC9jb250cm9sbGVyL2dzdGNvbnRyb2xsZXIuYzoKCSAgKF9nc3RfY29udHJvbGxlcl9nZXRfcHJvcGVydHkpLCAoX2dzdF9jb250cm9sbGVyX3NldF9wcm9wZXJ0eSksCgkgIChfZ3N0X2NvbnRyb2xsZXJfaW5pdCksIChfZ3N0X2NvbnRyb2xsZXJfY2xhc3NfaW5pdCk6CgkgICogbGlicy9nc3QvY29udHJvbGxlci9nc3Rjb250cm9sbGVyLmg6CgkgICogbGlicy9nc3QvY29udHJvbGxlci9nc3RoZWxwZXIuYzogKGdzdF9vYmplY3RfZ2V0X2NvbnRyb2xfcmF0ZSksCgkgIChnc3Rfb2JqZWN0X3NldF9jb250cm9sX3JhdGUpOgoJICBBUEk6IGFkZCBnc3Rfb2JqZWN0X3tzLGd9ZXRfY29udHJvbF9yYXRlKCksIGFkZCBwcml2YXRlIGRhdGEgc2VjdGlvbiwKCSAgZml4IGRvY3MKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6IChnc3RfZHBfcGFja2V0aXplcl9uZXcpOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuaDoKCSAgYWRkIGRlcHJlY2F0aW9uIGd1YXJkcyB0byBtYWtlIGd0ay1kb2MgaGFwcHkgYW5kIGFsbG93IGRpc2FibGluZyBjcnVmdAoKMjAwNi0wOC0wMiAxNToxOTozMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdkcDogTWFrZSBkZWJ1ZyBjYXRlZ29yeSBzdGF0aWMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICAoZ3N0X2RwX2hlYWRlcl9mcm9tX2J1ZmZlcl9hbnkpLCAoZ3N0X2RwX3BhY2tldF9mcm9tX2NhcHNfYW55KSwKCSAgKGdzdF9kcF9jcmMpLCAoZ3N0X2RwX2hlYWRlcl9wYXlsb2FkX2xlbmd0aCksCgkgIChnc3RfZHBfaGVhZGVyX3BheWxvYWRfdHlwZSksIChnc3RfZHBfcGFja2V0X2Zyb21fZXZlbnQpLAoJICAoZ3N0X2RwX3BhY2tldF9mcm9tX2V2ZW50XzFfMCksIChnc3RfZHBfYnVmZmVyX2Zyb21faGVhZGVyKSwKCSAgKGdzdF9kcF9jYXBzX2Zyb21fcGFja2V0KSwgKGdzdF9kcF9ldmVudF9mcm9tX3BhY2tldF8wXzIpLAoJICAoZ3N0X2RwX2V2ZW50X2Zyb21fcGFja2V0KSwgKGdzdF9kcF92YWxpZGF0ZV9oZWFkZXIpLAoJICAoZ3N0X2RwX3ZhbGlkYXRlX3BheWxvYWQpOgoJICBNYWtlIGRlYnVnIGNhdGVnb3J5IHN0YXRpYwoJICBDb25zdGlmeSB0aGUgY3JjIHRhYmxlLgoJICBEbyBzb21lIG1vcmUgYXJnIGNoZWNraW5nIGluIHB1YmxpYyBmdW5jdGlvbnMuCgkgIEZpeCBzb21lIGRvY3MgYW5kIGRvIHNvbWUgc21hbGwgY2xlYW51cHMuCgkgICogdGVzdHMvY2hlY2svbGlicy9nZHAuYzogKEdTVF9TVEFSVF9URVNUKSwgKGdzdF9kcF9zdWl0ZSk6CgkgIEFkZCBzb21lIG1vcmUgY2hlY2tzIHRvIHNlZSBpZiBHRFAgZGVhbHMgd2l0aCBib2d1cyBpbnB1dC4KCjIwMDYtMDctMTMgMTQ6MDI6MTYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ2RwOiBmaXggZmFpbHVyZSB0byBkZXNlcmlhbGl6ZSBldmVudCBwYWNrZXRzIHdpdGggZW1wdHkgcGF5bG9hZCAob25seSBldi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIChnc3RfZHBfZXZlbnRfZnJvbV9wYWNrZXRfMV8wKToKCSAgRml4ZXMgIzM0NzMzNzogZmFpbHVyZSB0byBkZXNlcmlhbGl6ZSBldmVudCBwYWNrZXRzIHdpdGgKCSAgZW1wdHkgcGF5bG9hZCAob25seSBldmVudCB0eXBlKQoKMjAwNi0wNi0xMyAxOToyNDozNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnZHA6IGFkZCBhIGdkcCBpbWFnZSB0byB0aGUgZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL1JFQURNRToKCSAgKiBkb2NzL2ltYWdlcy9nZHAtaGVhZGVyLnN2ZzoKCSAgYWRkIGEgZ2RwIGltYWdlCgkgICogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvbGlicy9nZHAtaGVhZGVyLnBuZzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIGFkZCBpdCB0byB0aGUgQVBJIGRvY3MKCSAgKiBkb2NzL21hbnVhbC9pbnRyby1tb3RpdmF0aW9uLnhtbDoKCSAgZml4IHR5cG8KCjIwMDYtMDYtMDYgMTQ6Mjk6NTQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBhZGQgbm90ZSB0byBkb2NzIGFib3V0IEdEUCB2ZXJzaW9uaW5nOyByZW1vdmUgdG1wbCBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbm90ZSB0byBkb2NzIGFib3V0IEdEUCB2ZXJzaW9uaW5nOyByZW1vdmUgdG1wbCBmaWxlCgoyMDA2LTA2LTA2IDE0OjI0OjAwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdkcDogYWRkIGEgR3N0RFBQYWNrZXRpemVyIG9iamVjdCwgYW5kIGNyZWF0ZS9mcmVlIGZ1bmN0aW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIChnc3RfZHBfaGVhZGVyX2Zyb21fYnVmZmVyX2FueSksIChnc3RfZHBfcGFja2V0X2Zyb21fY2Fwc19hbnkpLAoJICAoZ3N0X2RwX3ZlcnNpb25fZ2V0X3R5cGUpLCAoZ3N0X2RwX2luaXQpLAoJICAoZ3N0X2RwX2hlYWRlcl9mcm9tX2J1ZmZlciksIChnc3RfZHBfaGVhZGVyX2Zyb21fYnVmZmVyXzFfMCksCgkgIChnc3RfZHBfcGFja2V0X2Zyb21fY2FwcyksIChnc3RfZHBfcGFja2V0X2Zyb21fY2Fwc18xXzApLAoJICAoZ3N0X2RwX3BhY2tldF9mcm9tX2V2ZW50KSwgKGdzdF9kcF9wYWNrZXRfZnJvbV9ldmVudF8xXzApLAoJICAoZ3N0X2RwX2V2ZW50X2Zyb21fcGFja2V0XzBfMiksIChnc3RfZHBfZXZlbnRfZnJvbV9wYWNrZXRfMV8wKSwKCSAgKGdzdF9kcF9ldmVudF9mcm9tX3BhY2tldCksIChnc3RfZHBfcGFja2V0aXplcl9uZXcpLAoJICAoZ3N0X2RwX3BhY2tldGl6ZXJfZnJlZSk6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5oOgoJICBBUEk6IGFkZCBhIEdzdERQUGFja2V0aXplciBvYmplY3QsIGFuZCBjcmVhdGUvZnJlZSBmdW5jdGlvbnMKCSAgQVBJOiBhZGQgR3N0RFBWZXJzaW9uIGVudW0KCSAgQWRkIDEuMCBldmVudCBmdW5jdGlvbiB0aGF0IHVzZXMgdGhlIHN0cmluZyBzZXJpYWxpemF0aW9uCgkgIFNlcmlhbGl6ZSBtb3JlIHVzZWZ1bCBidWZmZXIgZmxhZ3MKCSAgRml4ZXMgIzM0Mzk4OAoKMjAwNi0wNi0wMiAxNjo0NjoxOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnZHA6IGZhY3RvciBvdXQgQ1JDIGNvZGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICAoZ3N0X2RwX2hlYWRlcl9mcm9tX2J1ZmZlciksIChnc3RfZHBfcGFja2V0X2Zyb21fY2FwcyksCgkgIChnc3RfZHBfcGFja2V0X2Zyb21fZXZlbnQpOgoJICBmYWN0b3Igb3V0IENSQyBjb2RlCgoyMDA2LTA2LTAyIDEwOjU4OjQ3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdkcDogZmFjdG9yIG91dCBzb21lIGNvbW1vbiBoZWFkZXIgaW5pdCBjb2RlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgKGdzdF9kcF9oZWFkZXJfZnJvbV9idWZmZXIpLCAoZ3N0X2RwX3BhY2tldF9mcm9tX2NhcHMpLAoJICAoZ3N0X2RwX3BhY2tldF9mcm9tX2V2ZW50KToKCSAgZmFjdG9yIG91dCBzb21lIGNvbW1vbiBoZWFkZXIgaW5pdCBjb2RlCgoyMDA2LTA2LTAyIDEwOjA4OjMxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdkcDogbWFrZSBnc3RfZHBfY3JjKCkgcHVibGljCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvbGlicy9nc3RyZWFtZXItbGlicy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9saWJzL3RtcGwvZ3N0ZGF0YXByb3RvY29sLnNnbWw6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOiAoZ3N0X2RwX2NyYyk6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5oOgoJICBBUEk6IG1ha2UgZ3N0X2RwX2NyYygpIHB1YmxpYwoKMjAwNi0wNi0wMSAxMToxMzo0NCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnZHA6IG1ha2Ugc3VyZSB3ZSB6ZXJvIHRoZSB3aG9sZSBBQkktY29tcGF0aWJsZSBhcmVhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgKGdzdF9kcF9oZWFkZXJfZnJvbV9idWZmZXIpOgoJICBtYWtlIHN1cmUgd2UgemVybyB0aGUgd2hvbGUgQUJJLWNvbXBhdGlibGUgYXJlYQoKMjAwNi0wNS0wOCAxNTo1MzoxMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IHdoaXRlc3BhY2UsIGNvbW1lbnQsIGRvYyBmaXh1cAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgd2hpdGVzcGFjZSwgY29tbWVudCwgZG9jIGZpeHVwCgoyMDA2LTA0LTI4IDEzOjQwOjE1ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnZHA6IEZpeGVzIGluIHJlYWRpbmcvd3JpdGluZyBldmVudHMgb3ZlciBHRFAgKG5vdCBjdXJyZW50bHkgdXNlZD8pIC0gZGVyZWZlcmVuY2luZyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOiAoZ3N0X2RwX3BhY2tldF9mcm9tX2V2ZW50KSwKCSAgKGdzdF9kcF9ldmVudF9mcm9tX3BhY2tldCk6CgkgIEZpeGVzIGluIHJlYWRpbmcvd3JpdGluZyBldmVudHMgb3ZlciBHRFAgKG5vdCBjdXJyZW50bHkgdXNlZD8pIC0KCSAgZGVyZWZlcmVuY2luZyBOVUxMIGV2ZW50cyBmb3IgdW5rbm93bi9pbnZhbGlkIGV2ZW50IHR5cGVzLCBtZW1vcnkKCSAgbGVhaywgYW5kIGNoYW5nZSBnX3dhcm5pbmcgdG8gR1NUX1dBUk5JTkcuCgoyMDA2LTAzLTEwIDE1OjMwOjI3ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnZHA6IEZpeCBkb2NzIGZvciBkYXRhcHJvY290b2wgdG8gbm90IGdldCB0aGUgcmV0dXJuIHR5cGVzIGNvbXBsZXRlbHkgd3JvbmcgZm9yIGEgZmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICBGaXggZG9jcyBmb3IgZGF0YXByb2NvdG9sIHRvIG5vdCBnZXQgdGhlIHJldHVybiB0eXBlcyBjb21wbGV0ZWx5CgkgIHdyb25nIGZvciBhIGZldyBmdW5jdGlvbnMuCgoyMDA1LTEyLTE4IDE2OjA0OjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ2RwOiBEb2N1bWVudGF0aW9uIHVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2Jhc2UvZ3N0YWRhcHRlci5jOgoJICAqIGxpYnMvZ3N0L2Jhc2UvZ3N0YWRhcHRlci5oOgoJICAqIGxpYnMvZ3N0L2Jhc2UvZ3N0YmFzZXNpbmsuYzogKGdzdF9iYXNlX3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfYmFzZV9zaW5rX2dldF9wb3NpdGlvbik6CgkgICogbGlicy9nc3QvYmFzZS9nc3RiYXNlc2luay5oOgoJICAqIGxpYnMvZ3N0L2Jhc2UvZ3N0YmFzZXNyYy5jOiAoZ3N0X2Jhc2Vfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jhc2Vfc3JjX2RlZmF1bHRfcXVlcnkpLCAoZ3N0X2Jhc2Vfc3JjX2RlZmF1bHRfZG9fc2VlayksCgkgIChnc3RfYmFzZV9zcmNfZG9fc2VlayksIChnc3RfYmFzZV9zcmNfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9iYXNlX3NyY19zZW5kX2V2ZW50KSwgKGdzdF9iYXNlX3NyY191cGRhdGVfbGVuZ3RoKSwKCSAgKGdzdF9iYXNlX3NyY19nZXRfcmFuZ2UpLCAoZ3N0X2Jhc2Vfc3JjX2xvb3ApLAoJICAoZ3N0X2Jhc2Vfc3JjX3N0YXJ0KToKCSAgKiBsaWJzL2dzdC9iYXNlL2dzdGJhc2VzcmMuaDoKCSAgKiBsaWJzL2dzdC9iYXNlL2dzdGJhc2V0cmFuc2Zvcm0uaDoKCSAgKiBsaWJzL2dzdC9iYXNlL2dzdGNvbGxlY3RwYWRzLmg6CgkgICogbGlicy9nc3QvYmFzZS9nc3RwdXNoc3JjLmM6CgkgICogbGlicy9nc3QvYmFzZS9nc3RwdXNoc3JjLmg6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuaDoKCSAgKiBsaWJzL2dzdC9uZXQvZ3N0bmV0Y2xpZW50Y2xvY2suaDoKCSAgKiBsaWJzL2dzdC9uZXQvZ3N0bmV0dGltZXByb3ZpZGVyLmg6CgkgIERvY3VtZW50YXRpb24gdXBkYXRlcy4KCjIwMDUtMTAtMTMgMTY6MjY6MTIgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdkcDogRml4IFRpbW1la2UgV2F5bWFucyBidWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTEzICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYyAoZ3N0X2RwX3BhY2tldF9mcm9tX2NhcHMpOgoJICBGaXggVGltbWVrZSBXYXltYW5zIGJ1Zy4KCSAgKGdzdF9kcF9jYXBzX2Zyb21fcGFja2V0KTogTWFrZSBzdXJlIHdlIHBhc3MgYSBOVUwtdGVybWluYXRlZAoJICBzdHJpbmcgb2YgdGhlIHByb3BlciBsZW5ndGggdG8gZ3N0X2NhcHNfZnJvbV9zdHJpbmcuIFRoZXJlJ3MgYQoJICBwb3RlbnRpYWwgZm9yLCBiZWZvcmUgdGhpcyBmaXgsIHRoYXQgdGhpcyBjb3VsZCBjYXVzZSBzb21lb25lCgkgIGNvbm5lY3Rpbmcgb3ZlciB0aGUgbmV0d29yayB0byBjYXVzZSBhIHNlZ2ZhdWx0IGlmIHRoZSBwYXlsb2FkIGlzCgkgIG5vdCBOVUwtdGVybWluYXRlZC4KCjIwMDUtMTAtMTAgMjM6NTU6MzkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBmaXggbW9yZSB2YWxncmluZCB3YXJuaW5ncyBiZWZvcmUgdHVybmluZyB1cCB0aGUgaGVhdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IG1vcmUgdmFsZ3JpbmQgd2FybmluZ3MgYmVmb3JlIHR1cm5pbmcgdXAgdGhlIGhlYXQKCjIwMDUtMTAtMDggMTc6MTc6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnZHA6IEl0J3MgYWJvdXQgdGltZSB3ZSBidW1wIHRoZSB2ZXJzaW9uIG51bWJlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICAoZ3N0X2RwX2hlYWRlcl9mcm9tX2J1ZmZlciksIChnc3RfZHBfcGFja2V0X2Zyb21fY2FwcyksCgkgIChnc3RfZHBfcGFja2V0X2Zyb21fZXZlbnQpOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuaDoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZHAtcHJpdmF0ZS5oOgoJICBJdCdzIGFib3V0IHRpbWUgd2UgYnVtcCB0aGUgdmVyc2lvbiBudW1iZXIuCgkgIFNpbmNlIGV2ZW50IHR5cGVzIGRvbid0IGZpdCBpbiB0aGUgZ3VpbnQ4IGFueW1vcmUgZGVzY3JpYmluZwoJICB0aGUgcGF5bG9hZCB0eXBlLCBtYWtlIHBheWxvYWQgdHlwZSAxNiBiaXRzIHdpZGUuCgoyMDA1LTA5LTI3IDE2OjMwOjI2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnZHA6IEZpeCBlcnJvci1jaGVja2luZyByZXR1cm4gdmFsdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0wOS0yNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6IEZpeCBlcnJvci1jaGVja2luZyByZXR1cm4KCSAgdmFsdWVzLgoKMjAwNS0wNy0yNyAxOTowMDozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdkcDogRml4IHNlcmlhbGl6YXRpb24gb2Ygc2VlayBldmVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzogKGdzdF9kcF9wYWNrZXRfZnJvbV9ldmVudCksCgkgIChnc3RfZHBfZXZlbnRfZnJvbV9wYWNrZXQpOgoJICBGaXggc2VyaWFsaXphdGlvbiBvZiBzZWVrIGV2ZW50cy4KCjIwMDUtMDctMjcgMTg6MzM6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnZHA6IFNvbWUgZG9jcyB1cGRhdGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIENIQU5HRVMtMC45OgoJICAqIGRvY3MvZGVzaWduL3BhcnQtVE9ETy50eHQ6CgkgICogZG9jcy9kZXNpZ24vcGFydC1ldmVudHMudHh0OgoJICBTb21lIGRvY3MgdXBkYXRlcwoJICAqIGdzdC9iYXNlL2dzdGJhc2VzaW5rLmM6IChnc3RfYmFzZV9zaW5rX2hhbmRsZV9vYmplY3QpLAoJICAoZ3N0X2Jhc2Vfc2lua19ldmVudCksIChnc3RfYmFzZV9zaW5rX2RvX3N5bmMpLAoJICAoZ3N0X2Jhc2Vfc2lua19hY3RpdmF0ZV9wdXNoKSwgKGdzdF9iYXNlX3NpbmtfYWN0aXZhdGVfcHVsbCk6CgkgICogZ3N0L2Jhc2UvZ3N0YmFzZXNyYy5jOiAoZ3N0X2Jhc2Vfc3JjX3NlbmRfZGlzY29udCksCgkgIChnc3RfYmFzZV9zcmNfZG9fc2VlayksIChnc3RfYmFzZV9zcmNfZXZlbnRfaGFuZGxlciksCgkgIChnc3RfYmFzZV9zcmNfbG9vcCk6CgkgICogZ3N0L2Jhc2UvZ3N0YmFzZXRyYW5zZm9ybS5jOiAoZ3N0X2Jhc2VfdHJhbnNmb3JtX3RyYW5zZm9ybV9jYXBzKSwKCSAgKGdzdF9iYXNlX3RyYW5zZm9ybV9jb25maWd1cmVfY2FwcyksIChnc3RfYmFzZV90cmFuc2Zvcm1fc2V0Y2FwcyksCgkgIChnc3RfYmFzZV90cmFuc2Zvcm1fZ2V0X3NpemUpLCAoZ3N0X2Jhc2VfdHJhbnNmb3JtX2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfYmFzZV90cmFuc2Zvcm1fZXZlbnQpLCAoZ3N0X2Jhc2VfdHJhbnNmb3JtX2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X2Jhc2VfdHJhbnNmb3JtX3NldF9wYXNzdGhyb3VnaCksCgkgIChnc3RfYmFzZV90cmFuc2Zvcm1faXNfcGFzc3Rocm91Z2gpOgoJICAqIGdzdC9lbGVtZW50cy9nc3RmYWtlc2luay5jOiAoZ3N0X2Zha2Vfc2lua19ldmVudCk6CgkgICogZ3N0L2VsZW1lbnRzL2dzdGZpbGVzaW5rLmM6IChnc3RfZmlsZV9zaW5rX2V2ZW50KToKCSAgRXZlbnQgdXBkYXRlcy4KCSAgKiBnc3QvZ3N0YnVmZmVyLmg6CgkgIFVzZSBmYXN0ZXIgY2FzdHMuCgkgICogZ3N0L2dzdGVsZW1lbnQuYzogKGdzdF9lbGVtZW50X3NlZWspOgoJICAqIGdzdC9nc3RlbGVtZW50Lmg6CgkgIFVwZGF0ZSBnc3RfZWxlbWVudF9zZWVrLgoJICAqIGdzdC9nc3RldmVudC5jOiAoZ3N0X2V2ZW50X2ZpbmFsaXplKSwgKF9nc3RfZXZlbnRfY29weSksCgkgIChnc3RfZXZlbnRfbmV3KSwgKGdzdF9ldmVudF9uZXdfY3VzdG9tKSwgKGdzdF9ldmVudF9nZXRfc3RydWN0dXJlKSwKCSAgKGdzdF9ldmVudF9uZXdfZmx1c2hfc3RhcnQpLCAoZ3N0X2V2ZW50X25ld19mbHVzaF9zdG9wKSwKCSAgKGdzdF9ldmVudF9uZXdfZW9zKSwgKGdzdF9ldmVudF9uZXdfbmV3c2VnbWVudCksCgkgIChnc3RfZXZlbnRfcGFyc2VfbmV3c2VnbWVudCksIChnc3RfZXZlbnRfbmV3X3RhZyksCgkgIChnc3RfZXZlbnRfcGFyc2VfdGFnKSwgKGdzdF9ldmVudF9uZXdfZmlsbGVyKSwgKGdzdF9ldmVudF9uZXdfcW9zKSwKCSAgKGdzdF9ldmVudF9wYXJzZV9xb3MpLCAoZ3N0X2V2ZW50X25ld19zZWVrKSwKCSAgKGdzdF9ldmVudF9wYXJzZV9zZWVrKSwgKGdzdF9ldmVudF9uZXdfbmF2aWdhdGlvbik6CgkgICogZ3N0L2dzdGV2ZW50Lmg6CgkgIE1ha2UgR3N0RXZlbnQgdXNlIEdzdFN0cnVjdHVyZS4gQWRkIHBhcnNpbmcgY29kZSwgbWFrZSBzdXJlIHRoZQoJICBBUEkgaXMgc3VmZmljaWVudGx5IGdlbmVyaWMuCgkgIE1hcmsgcG9zc2libGUgZGlyZWN0aW9ucyBvZiBldmVudHMgYW5kIHNlcmlhbGl6YXRpb24uCgkgICogZ3N0L2dzdG1lc3NhZ2UuYzogKGdzdF9tZXNzYWdlX2luaXQpLCAoZ3N0X21lc3NhZ2VfZmluYWxpemUpLAoJICAoX2dzdF9tZXNzYWdlX2NvcHkpLCAoZ3N0X21lc3NhZ2VfbmV3X3NlZ21lbnRfc3RhcnQpLAoJICAoZ3N0X21lc3NhZ2VfbmV3X3NlZ21lbnRfZG9uZSksIChnc3RfbWVzc2FnZV9uZXdfY3VzdG9tKSwKCSAgKGdzdF9tZXNzYWdlX3BhcnNlX3NlZ21lbnRfc3RhcnQpLAoJICAoZ3N0X21lc3NhZ2VfcGFyc2Vfc2VnbWVudF9kb25lKToKCSAgU21hbGwgY2xlYW51cHMuCgkgICogZ3N0L2dzdHBhZC5jOiAoZ3N0X3BhZF9nZXRfY2Fwc191bmxvY2tlZCksIChnc3RfcGFkX2FjY2VwdF9jYXBzKSwKCSAgKGdzdF9wYWRfc2V0X2NhcHMpLCAoZ3N0X3BhZF9zZW5kX2V2ZW50KToKCSAgVXBkYXRlIGZvciBuZXcgZXZlbnRzLgoJICBDYXRjaCBldmVudHMgc2VudCBpbiB3cm9uZyBkaXJlY3Rpb25zLgoJICAqIGdzdC9nc3RxdWV1ZS5jOiAoZ3N0X3F1ZXVlX2xpbmtfc3JjKSwKCSAgKGdzdF9xdWV1ZV9oYW5kbGVfc2lua19ldmVudCksIChnc3RfcXVldWVfY2hhaW4pLCAoZ3N0X3F1ZXVlX2xvb3ApLAoJICAoZ3N0X3F1ZXVlX2hhbmRsZV9zcmNfcXVlcnkpOgoJICBFdmVudCB1cGRhdGVzLgoJICAqIGdzdC9nc3R0YWcuYzoKCSAgKiBnc3QvZ3N0dGFnLmg6CgkgIFJlbW92ZSBldmVudCBjb2RlIGZyb20gdGhpcyBmaWxlLgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzogKGdzdF9kcF9wYWNrZXRfZnJvbV9ldmVudCksCgkgIChnc3RfZHBfZXZlbnRfZnJvbV9wYWNrZXQpOgoJICBFdmVudCB1cGRhdGVzLgoKMjAwNS0wNy0wNSAxMDoyMDoxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdkcDogUG9ydGVkIGRhdGFwcm90b2wgdG8gMC45LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL01ha2VmaWxlLmFtOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzogKGdzdF9kcF92YWxpZGF0ZV9wYWNrZXQpOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuaDoKCSAgKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkgICogcGtnY29uZmlnL2dzdHJlYW1lci1kYXRhcHJvdG9jb2wtdW5pbnN0YWxsZWQucGMuaW46CgkgICogcGtnY29uZmlnL2dzdHJlYW1lci1kYXRhcHJvdG9jb2wucGMuaW46CgkgIFBvcnRlZCBkYXRhcHJvdG9sIHRvIDAuOS4KCSAgQWRkZWQgcGtnY29uZmlnIGZpbGVzLgoKMjAwNS0wNS0xNiAyMDoyMTo1NSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnZHA6IHJlbW92ZSBHc3REYXRhIGNoZWNrcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjaGVjay9NYWtlZmlsZS5hbTogcmVtb3ZlIEdzdERhdGEgY2hlY2tzCgkgICogY2hlY2svZ3N0LWxpYnMvZ2RwLmM6IChTVEFSVF9URVNUKTogZml4IGZvciBBUEkgY2hhbmdlcwoJICAqIGdzdC9NYWtlZmlsZS5hbTogYWRkIG1pbmlvYmplY3QsIHJlbW92ZSBkYXRhCgkgICogZ3N0L2dzdC5oOiBhZGQgbWluaW9iamVjdCwgcmVtb3ZlIGRhdGEKCSAgKiBnc3QvZ3N0ZGF0YS5jOiByZW1vdmUKCSAgKiBnc3QvZ3N0ZGF0YS5oOiByZW1vdmUKCSAgKiBnc3QvZ3N0ZGF0YV9wcml2YXRlLmg6IHJlbW92ZQoJICAqIGdzdC9nc3R0eXBlcy5oOiByZW1vdmUgR3N0RXZlbnQgYW5kIEdzdE1lc3NhZ2UKCSAgKiBnc3QvZ3N0ZWxlbWVudC5jOiAoZ3N0X2VsZW1lbnRfcG9zdF9tZXNzYWdlKTogZml4IGZvciBBUEkgY2hhbmdlcwoJICAqIGdzdC9nc3RtYXJzaGFsLmxpc3Q6IGNoYW5nZSBCT1hFRCAtPiBPQkpFQ1QKCSAgSW1wbGVtZW50IEdzdE1pbmlPYmplY3QuCgkgICogZ3N0L2dzdG1pbmlvYmplY3QuYzoKCSAgKiBnc3QvZ3N0bWluaW9iamVjdC5oOgoJICBNb2RpZnkgdG8gYmUgc3ViY2xhc3NlcyBvZiBHc3RNaW5pT2JqZWN0LgoJICAqIGdzdC9nc3RidWZmZXIuYzogKF9nc3RfYnVmZmVyX2luaXRpYWxpemUpLCAoZ3N0X2J1ZmZlcl9nZXRfdHlwZSksCgkgIChnc3RfYnVmZmVyX2NsYXNzX2luaXQpLCAoZ3N0X2J1ZmZlcl9maW5hbGl6ZSksIChfZ3N0X2J1ZmZlcl9jb3B5KSwKCSAgKGdzdF9idWZmZXJfaW5pdCksIChnc3RfYnVmZmVyX25ldyksIChnc3RfYnVmZmVyX25ld19hbmRfYWxsb2MpLAoJICAoZ3N0X3N1YmJ1ZmZlcl9nZXRfdHlwZSksIChnc3Rfc3ViYnVmZmVyX2luaXQpLAoJICAoZ3N0X2J1ZmZlcl9jcmVhdGVfc3ViKSwgKGdzdF9idWZmZXJfaXNfc3Bhbl9mYXN0KSwKCSAgKGdzdF9idWZmZXJfc3Bhbik6CgkgICogZ3N0L2dzdGJ1ZmZlci5oOgoJICAqIGdzdC9nc3RldmVudC5jOiAoX2dzdF9ldmVudF9pbml0aWFsaXplKSwgKGdzdF9ldmVudF9nZXRfdHlwZSksCgkgIChnc3RfZXZlbnRfY2xhc3NfaW5pdCksIChnc3RfZXZlbnRfaW5pdCksIChnc3RfZXZlbnRfZmluYWxpemUpLAoJICAoX2dzdF9ldmVudF9jb3B5KSwgKGdzdF9ldmVudF9uZXcpOgoJICAqIGdzdC9nc3RldmVudC5oOgoJICAqIGdzdC9nc3RtZXNzYWdlLmM6IChfZ3N0X21lc3NhZ2VfaW5pdGlhbGl6ZSksCgkgIChnc3RfbWVzc2FnZV9nZXRfdHlwZSksIChnc3RfbWVzc2FnZV9jbGFzc19pbml0KSwKCSAgKGdzdF9tZXNzYWdlX2luaXQpLCAoZ3N0X21lc3NhZ2VfZmluYWxpemUpLCAoX2dzdF9tZXNzYWdlX2NvcHkpLAoJICAoZ3N0X21lc3NhZ2VfbmV3KSwgKGdzdF9tZXNzYWdlX25ld19lcnJvciksCgkgIChnc3RfbWVzc2FnZV9uZXdfd2FybmluZyksIChnc3RfbWVzc2FnZV9uZXdfdGFnKSwKCSAgKGdzdF9tZXNzYWdlX25ld19zdGF0ZV9jaGFuZ2VkKSwgKGdzdF9tZXNzYWdlX25ld19hcHBsaWNhdGlvbik6CgkgICogZ3N0L2dzdG1lc3NhZ2UuaDoKCSAgKiBnc3QvZ3N0cHJvYmUuYzogKGdzdF9wcm9iZV9wZXJmb3JtKSwKCSAgKGdzdF9wcm9iZV9kaXNwYXRjaGVyX2Rpc3BhdGNoKToKCSAgKiBnc3QvZ3N0cHJvYmUuaDoKCSAgKiBnc3QvZ3N0cXVlcnkuYzogKF9nc3RfcXVlcnlfaW5pdGlhbGl6ZSksIChnc3RfcXVlcnlfZ2V0X3R5cGUpLAoJICAoZ3N0X3F1ZXJ5X2NsYXNzX2luaXQpLCAoZ3N0X3F1ZXJ5X2ZpbmFsaXplKSwgKGdzdF9xdWVyeV9pbml0KSwKCSAgKF9nc3RfcXVlcnlfY29weSksIChnc3RfcXVlcnlfbmV3KToKCSAgVXBkYXRlIGVsZW1lbnRzIGZvciBHc3REYXRhIC0+IEdzdE1pbmlPYmplY3QgY2hhbmdlcwoJICAqIGdzdC9nc3RxdWVyeS5oOgoJICAqIGdzdC9nc3RxdWV1ZS5jOiAoZ3N0X3F1ZXVlX2ZpbmFsaXplKSwgKGdzdF9xdWV1ZV9sb2NrZWRfZmx1c2gpLAoJICAoZ3N0X3F1ZXVlX2NoYWluKSwgKGdzdF9xdWV1ZV9sb29wKToKCSAgKiBnc3QvZWxlbWVudHMvZ3N0YnVmZmVyc3RvcmUuYzoKCSAgKGdzdF9idWZmZXJfc3RvcmVfYWRkX2J1ZmZlcl9mdW5jKSwKCSAgKGdzdF9idWZmZXJfc3RvcmVfY2xlYXJlZF9mdW5jKSwgKGdzdF9idWZmZXJfc3RvcmVfZ2V0X2J1ZmZlcik6CgkgICogZ3N0L2VsZW1lbnRzL2dzdGZha2VzaW5rLmM6IChnc3RfZmFrZXNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfZmFrZXNpbmtfcmVuZGVyKToKCSAgKiBnc3QvZWxlbWVudHMvZ3N0ZmFrZXNyYy5jOiAoZ3N0X2Zha2VzcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2VsZW1lbnRzL2dzdGZpbGVzcmMuYzogKGdzdF9tbWFwX2J1ZmZlcl9nZXRfdHlwZSksCgkgIChnc3RfbW1hcF9idWZmZXJfY2xhc3NfaW5pdCksIChnc3RfbW1hcF9idWZmZXJfaW5pdCksCgkgIChnc3RfbW1hcF9idWZmZXJfZmluYWxpemUpLCAoZ3N0X2ZpbGVzcmNfbWFwX3JlZ2lvbiksCgkgIChnc3RfZmlsZXNyY19jcmVhdGVfcmVhZCk6CgkgICogZ3N0L2VsZW1lbnRzL2dzdGlkZW50aXR5LmM6IChnc3RfaWRlbnRpdHlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2VsZW1lbnRzL2dzdHR5cGVmaW5kZWxlbWVudC5jOgoJICAoZ3N0X3R5cGVfZmluZF9lbGVtZW50X3NyY19ldmVudCksIChmcmVlX2VudHJ5X2J1ZmZlcnMpLAoJICAoZ3N0X3R5cGVfZmluZF9lbGVtZW50X2hhbmRsZV9ldmVudCk6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICAoZ3N0X2RwX2hlYWRlcl9mcm9tX2J1ZmZlcik6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5oOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kcC1wcml2YXRlLmg6CgoyMDA1LTA1LTA0IDIxOjI5OjQ0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnZHA6IEdDQyA0IGZpeGVuLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0wNS0wNCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoJICAqIGNoZWNrL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvZ3N0L3RtcGwvZ3N0YXRvbWljLnNnbWw6CgkgICogZG9jcy9nc3QvdG1wbC9nc3RwbHVnaW4uc2dtbDoKCSAgKiBnc3QvYmFzZS9nc3RiYXNlc2luay5jOiAoZ3N0X2Jhc2VzaW5rX2FjdGl2YXRlKToKCSAgKiBnc3QvYmFzZS9nc3RiYXNlc3JjLmM6IChnc3RfYmFzZXNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9iYXNlc3JjX2luaXQpLCAoZ3N0X2Jhc2VzcmNfc2V0X2RhdGFmbG93X2Z1bmNzKSwKCSAgKGdzdF9iYXNlc3JjX3F1ZXJ5KSwgKGdzdF9iYXNlc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYmFzZXNyY19nZXRfcHJvcGVydHkpLCAoZ3N0X2Jhc2VzcmNfY2hlY2tfZ2V0X3JhbmdlKSwKCSAgKGdzdF9iYXNlc3JjX2FjdGl2YXRlKToKCSAgKiBnc3QvYmFzZS9nc3RiYXNlc3JjLmg6CgkgICogZ3N0L2Jhc2UvZ3N0YmFzZXRyYW5zZm9ybS5jOiAoZ3N0X2Jhc2VfdHJhbnNmb3JtX3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X2Jhc2VfdHJhbnNmb3JtX3NyY19hY3RpdmF0ZSk6CgkgICogZ3N0L2VsZW1lbnRzL2dzdGVsZW1lbnRzLmM6CgkgICogZ3N0L2VsZW1lbnRzL2dzdGZha2VzcmMuYzogKGdzdF9mYWtlc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Zha2VzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9mYWtlc3JjX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2VsZW1lbnRzL2dzdHRlZS5jOiAoZ3N0X3RlZV9zaW5rX2FjdGl2YXRlKToKCSAgKiBnc3QvZWxlbWVudHMvZ3N0dHlwZWZpbmRlbGVtZW50LmM6IChmaW5kX2VsZW1lbnRfZ2V0X2xlbmd0aCksCgkgIChnc3RfdHlwZV9maW5kX2VsZW1lbnRfY2hlY2tnZXRyYW5nZSksCgkgIChnc3RfdHlwZV9maW5kX2VsZW1lbnRfYWN0aXZhdGUpOgoJICAqIGdzdC9nc3RiaW4uYzogKGdzdF9iaW5fc2F2ZV90aHlzZWxmKSwgKGdzdF9iaW5fcmVzdG9yZV90aHlzZWxmKToKCSAgKiBnc3QvZ3N0Y2Fwcy5jOiAoZ3N0X2NhcHNfZG9fc2ltcGxpZnkpLCAoZ3N0X2NhcHNfc2F2ZV90aHlzZWxmKSwKCSAgKGdzdF9jYXBzX2xvYWRfdGh5c2VsZik6CgkgICogZ3N0L2dzdGVsZW1lbnQuYzogKGdzdF9lbGVtZW50X3BhZHNfYWN0aXZhdGUpLAoJICAoZ3N0X2VsZW1lbnRfc2F2ZV90aHlzZWxmKSwgKGdzdF9lbGVtZW50X3Jlc3RvcmVfdGh5c2VsZik6CgkgICogZ3N0L2dzdHBhZC5jOiAoZ3N0X3BhZF9sb2FkX2FuZF9saW5rKSwgKGdzdF9wYWRfc2F2ZV90aHlzZWxmKSwKCSAgKGdzdF9naG9zdF9wYWRfc2F2ZV90aHlzZWxmKSwgKGdzdF9wYWRfY2hlY2tfcHVsbF9yYW5nZSk6CgkgICogZ3N0L2dzdHBhZC5oOgoJICAqIGdzdC9nc3R4bWwuYzogKGdzdF94bWxfd3JpdGUpLCAoZ3N0X3htbF9wYXJzZV9kb2MpLAoJICAoZ3N0X3htbF9wYXJzZV9maWxlKSwgKGdzdF94bWxfcGFyc2VfbWVtb3J5KSwKCSAgKGdzdF94bWxfZ2V0X2VsZW1lbnQpLCAoZ3N0X3htbF9tYWtlX2VsZW1lbnQpOgoJICAqIGdzdC9pbmRleGVycy9nc3RmaWxlaW5kZXguYzogKGdzdF9maWxlX2luZGV4X2xvYWQpLAoJICAoX2ZpbGVfaW5kZXhfaWRfc2F2ZV94bWwpLCAoZ3N0X2ZpbGVfaW5kZXhfY29tbWl0KToKCSAgKiBnc3QvcmVnaXN0cmllcy9nc3RsaWJ4bWxyZWdpc3RyeS5jOiAocmVhZF9zdHJpbmcpLCAocmVhZF91aW50KSwKCSAgKHJlYWRfZW51bSksIChsb2FkX3BhZF90ZW1wbGF0ZSksIChsb2FkX2ZlYXR1cmUpLCAobG9hZF9wbHVnaW4pLAoJICAobG9hZF9wYXRocyk6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOiAoZ3N0X2RwX3BhY2tldF9mcm9tX2NhcHMpLAoJICAoZ3N0X2RwX3BhY2tldF9mcm9tX2V2ZW50KSwgKGdzdF9kcF9jYXBzX2Zyb21fcGFja2V0KToKCSAgKiB0b29scy9nc3QtY29tcGxldGUuYzogKG1haW4pOgoJICAqIHRvb2xzL2dzdC1jb21wcHJlcC5jOiAobWFpbik6CgkgICogdG9vbHMvZ3N0LWluc3BlY3QuYzogKHByaW50X2VsZW1lbnRfcHJvcGVydGllc19pbmZvKToKCSAgKiB0b29scy9nc3QtbGF1bmNoLmM6ICh4bWxsYXVuY2hfcGFyc2VfY21kbGluZSk6CgkgICogdG9vbHMvZ3N0LXhtbGluc3BlY3QuYzogKHByaW50X2VsZW1lbnRfcHJvcGVydGllcyk6CgkgIEdDQyA0IGZpeGVuLgoKMjAwNS0wMy0yMSAxNzozNDowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogTmV4dCBiaWcgbWVyZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOZXh0IGJpZyBtZXJnZS4KCSAgQWRkZWQgR3N0QnVzIGZvciBtYWlubG9vcCBpbnRlZ3JhdGlvbi4KCSAgQWRkZWQgR3N0TWVzc2FnZSBmb3Igc2VuZGluZyBub3RpZmljYXRpb25zIG9uIHRoZSBidXMuCgkgIEFkZGVkIEdzdFRhc2sgYXMgYW4gYWJzdHJhY3Rpb24gZm9yIHBpcGVsaW5lIGVudHJ5IHBvaW50cy4KCSAgUmVtb3ZlZCBHc3RUaHJlYWQuCgkgIFJlbW92ZWQgU2NoZWR1bGVycy4KCSAgU2ltcGxpZmllZCBHc3RRdWV1ZSBmb3IgbXVsdGl0aHJlYWRlZCBjb3JlLgoJICBNYWRlIF9saW5rIHRocmVhZHNhZmUsIHJlbW92ZWQgb2xkIGNhcHNuZWdvLgoJICBBZGRlZCBTVFJFQU1fTE9DSyBhbmQgUFJFUk9MTF9MT0NLIGluIEdzdFBhZC4KCSAgQWRkZWQgcGFkIGJsb2NraW5nIGZ1bmN0aW9ucy4KCSAgUmV3b3JrZWQgc2NoZWR1bGluZyBmdW5jdGlvbnMgaW4gR3N0UGFkIHRvIHByZXBhcmUgZm9yCgkgIHNjaGVkdWxpbmcgdXBkYXRlcyBzb29uLgoJICBNb3ZlZCBldmVudHMgb3V0IG9mIGRhdGEgc3RyZWFtLgoJICBTaW1wbGlmaWVkIEdzdEV2ZW50IHR5cGVzLgoJICBBZGRlZCByZXR1cm4gdmFsdWVzIHRvIHB1c2gvcHVsbC4KCSAgUmVtb3ZlZCBjbG9ja2luZyBmcm9tIEdzdEVsZW1lbnQuCgkgIEFkZGVkIHByb3RvdHlwZXMgZm9yIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiBmb3IgbmV4dCBtZXJnZS4KCSAgUmVtb3ZlZCBpdGVyYXRlIGZyb20gYmlucyBhbmQgc3RhdGUgY2hhbmdlIG1hbmFnZW1lbnQuCgkgIEZpeGVkIHNvbWUgZWxlbWVudHMsIGRpc2FibGVkIG90aGVycyBmb3Igbm93LgoJICBGaXhlZCAtaW5zcGVjdCBhbmQgLWxhdW5jaC4KCSAgQWRkZWQgY2hlY2sgZm9yIEdzdEJ1cy4KCjIwMDUtMDMtMDcgMTg6Mjc6NDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IEZpcnN0IFRIUkVBREVEIGJhY2twb3J0IGF0dGVtcHQsIGZvY3VzaW5nIG9uIGFkZGluZyBsb2NrcyBhbmQgbWFraW5nIHN1cmUgdGhlIEFQSSBpcyB0aHJlYWRzYWZlLiBOZWVkcyBtb3JlIHdvcmsuIE1vci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRmlyc3QgVEhSRUFERUQgYmFja3BvcnQgYXR0ZW1wdCwgZm9jdXNpbmcgb24gYWRkaW5nIGxvY2tzIGFuZAoJICBtYWtpbmcgc3VyZSB0aGUgQVBJIGlzIHRocmVhZHNhZmUuIE5lZWRzIG1vcmUgd29yay4gTW9yZSBkb2NzCgkgIGZvbGxvdyB0aGlzIHdlZWsuCgoyMDA1LTAyLTE4IDEzOjU4OjM2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ2RwOiBBbGxvY2F0ZSB0aGUgMSBieXRlIG1vcmUgbWVtb3J5IHRoYXQgd2FzIGZvcmdvdHRlbiEhISEhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTAyLTE4ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOiAoZ3N0X2RwX2R1bXBfYnl0ZV9hcnJheSk6CgkgIEFsbG9jYXRlIHRoZSAxIGJ5dGUgbW9yZSBtZW1vcnkgdGhhdCB3YXMgZm9yZ290dGVuISEhISEKCjIwMDQtMTAtMDEgMTY6NDk6MDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnZHA6IEZpeCB0aHJlYWRzYWZldHkgb2YgdGhlIGNyYyBjaGVja2luZyBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOiAoZ3N0X2RwX2NyYyk6CgkgIEZpeCB0aHJlYWRzYWZldHkgb2YgdGhlIGNyYyBjaGVja2luZyBmdW5jdGlvbi4KCjIwMDQtMDgtMTYgMTA6MzU6MzYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBmaXggZm9yICMxNTAyNDIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBmb3IgIzE1MDI0MgoKMjAwNC0wNy0yOCAxMDoyMjowNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IGRvYyBzdHlsZSBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9jIHN0eWxlIGZpeGVzCgoyMDA0LTA2LTA5IDE2OjI0OjE5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmg6CgkqIGdzdC9nZHAvZHAtcHJpdmF0ZS5oOgoJICBnZHA6IGJ1bXAgR0RQIHRvIDAuMSwgYWRkIGJ1ZmZlciBmbGFncwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYnVtcCBHRFAgdG8gMC4xLCBhZGQgYnVmZmVyIGZsYWdzCgoyMDA0LTA1LTI0IDE2OjM4OjE1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmg6CgkgIGdkcDogd3JhcCBoZWFkZXIgaW4gX05FVwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgd3JhcCBoZWFkZXIgaW4gX05FVwoKMjAwNC0wNS0xOSAxNzoyMjo1MyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJKiBnc3QvZ2RwL2RwLXByaXZhdGUuaDoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6IHVzZSBHU1QgbWFjcm9zOyBhZGQgYXNzZXJ0cwoKMjAwNC0wNS0xOSAxNjo1OTozOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2RwLXByaXZhdGUuaDoKCSAgZ2RwOiBwcml2YXRlIHByb3RvdHlwZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcHJpdmF0ZSBwcm90b3R5cGUKCjIwMDQtMDUtMTkgMTY6Mzc6NTMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuaDoKCSogZ3N0L2dkcC9kcC1wcml2YXRlLmg6CgkgIGdkcDogYWRkIGRhdGFwcm90b2NvbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY2xlYW4gdXAgbGlicyBkb2NzOyBhZGQgZGF0YXByb3RvY29sCgoyMDExLTExLTE3IDEyOjQ4OjI1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBhZGQgcGFyZW50IHRvIHBhZCBmdW5jdGlvbnMKCjIwMTEtMTEtMTAgMTg6MzI6MzkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkgIHVwZGF0ZSBmb3IgYWRhcHRlciBhcGkgY2hhbmdlcwoKMjAxMS0wOS0yOSAxMzo0NjozNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICB0ZXN0czogdXBkYXRlIGZvciBuZXcgYXVkaW8gY2FwcwoKMjAxMS0wNy0wOCAyMDowMjoyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IHBhcnNlIGNhcHMgZXZlbnQgYW5kIHBheWxvYWQgY2FwcwoJICBXaGljaCBtYWtlcyBpdCBhY3R1YWxseSBvdXRwdXQgc3R1ZmYuCgoyMDExLTA2LTEzIDE2OjMyOjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgLWJhc2U6IHVwZGF0ZSBmb3IgYnVmZmVyIEFQSSBjaGFuZ2UKCjIwMTEtMDUtMTYgMTM6NDg6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIC1iYXNlOiBwb3J0IHRvIG5ldyBTRUdNRU5UIEFQSQoKMjAxMS0wNS0wOSAxODoxNjo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIHNlZ21lbnQ6IGZpeCBmb3IgbmV3IGNvcmUgQVBJCgkgIEZpeCBmb3IgZ3N0Xypfc2VnbWVudF9mdWxsIHJlbmFtZS4KCjIwMTEtMDUtMDkgMTM6MDU6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIC1iYXNlOiBkb24ndCB1c2UgYnVmZmVyIGNhcHMKCSAgUG9ydCB0byBuZXdlc3QgMC4xMSBjb3JlIEFQSSwgcmVtb3ZlIEdTVF9QQURfQ0FQUyBhbmQgR1NUX0JVRkZFUl9DQVBTLgoKMjAxMS0wNC0xOSAxMTozNTo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdzdDogVXNlIEdfREVGSU5FX1RZUEUgaW5zdGVhZCBvZiBHU1RfQk9JTEVSUExBVEUKCjIwMTEtMDEtMjcgMTc6Mjg6NTEgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2dkcC9NYWtlZmlsZS5hbToKCSAgYW5kcm9pZDogbWFrZSBpdCByZWFkeSBmb3IgYW5kcm9nZW5pemVyCgkgIFJlbW92ZSB0aGUgYW5kcm9pZC8gdG9wIGRpcgoJICBGaXhlIHRoZSBNYWtlZmlsZS5hbSB0byBiZSBhbmRyb2dlbml6ZWQKCSAgVG8gYnVpbGQgZ3N0cmVhbWVyIGZvciBhbmRyb2lkIHdlIGFyZSBub3cgdXNpbmcgYW5kcm9nZW5pemVyIHdoaWNoIGdlbmVyYXRlcyB0aGUKCSAgbmVlZGVkIEFuZHJvaWQubWsgZmlsZXMuCgkgIEFuZHJvZ2VuaXplciBjYW4gYmUgZm91bmQgaGVyZToKCSAgaHR0cDovL2dpdC5jb2xsYWJvcmEuY28udWsvP3A9dXNlci9kZXJlay9hbmRyb2dlbml6ZXIuZ2l0CgoyMDExLTAzLTMxIDE3OjQ3OjQzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgYnVmZmVybGlzdDogZml4ZXMgZm9yIG5ldyBBUEkKCjIwMTEtMDMtMjggMTc6NDY6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgdGVzdHM6IGZpeCBtb3JlIHVuaXQgdGVzdHMKCjIwMTEtMDMtMjggMTU6NTE6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgIHRlc3RzOiBmaXggcmVtYWluaW5nIHVuaXQgdGVzdHMKCjIwMTEtMDMtMjggMTQ6MTI6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgdGVzdHM6IHdvcmsgb24gcG9ydGluZyB0aGUgdW5pdCB0ZXN0cwoKMjAxMS0wMy0yNyAxNjozNToyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgcGx1Z2luczogcG9ydCBzb21lIHBsdWdpbnMgdG8gdGhlIG5ldyBtZW1vcnkgQVBJCgoyMDExLTAyLTA5IDEyOjQ1OjIzICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IGVuc3VyZSBidWZmZXIncyBtZXRhZGF0YSBpcyB3cml0YWJsZSBiZWZvcmUgc2V0dGluZyBjYXBzCgoyMDExLTAxLTE2IDE0OjU1OjQ2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdkcHBheTogbWFrZSBuZXdzZWdtZW50IGJ1ZmZlciBtZXRhZGF0YSB3cml0YWJsZQoKMjAxMC0wNi0xOCAxNjozNzoxNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIHRlc3RzOiB1c2Ugb3VyIG93biBtYWNyb3MgZm9yIHRoZSB0ZXN0cyBtYWluIGZ1bmN0aW9uCgoyMDEwLTAzLTE1IDIyOjQ5OjUzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJICBBZGQgLVd3cml0ZS1zdHJpbmdzIHRvIGNvbmZpZ3VyZQoJICBGaXhlcyBmb3IgdGhlIGNvZGUgaW5jbHVkZWQKCjIwMTAtMDMtMTYgMTU6NDU6MjMgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHMgPT4gZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlCgkgIEFsc28gY2hhbmdlIG15IGVtYWlsIGZyb20gdGhlIG9sZCB1bml2ZXJzaXR5IG9uZSB0byB0aGUgY3VycmVudCBvbmUuCgoyMDEwLTAzLTExIDEzOjMyOjE0ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5Lmg6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgIEFkZCAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIHRvIHdhcm5pbmcgZmxhZ3MKCSAgSW5jbHVkZXMgYWxsIHRoZSBmaXhlcyBuZWNlc3NhcnkgdG8gbWFrZSBzdHVmZiBjb21waWxlIGFnYWluLgoKMjAwOS0xMS0wNSAxNTo0MjowOSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJICBnZHBkZXBheTogQ2xlYXIgYWRhcHRlciBvbiBmbHVzaCBhbmQgc3RhdGUgY2hhbmdlCgkgIEZpeGVzICM2MDA0NjkKCjIwMDktMTAtMjggMDA6NTk6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBSZW1vdmUgR1NUX0RFQlVHX0ZVTkNQVFIgd2hlcmUgdGhleSdyZSBwb2ludGxlc3MKCSAgVGhlcmUncyBub3QgbXVjaCBwb2ludCBpbiB1c2luZyBHU1RfREVCVUdfRlVOQ1BUUiB3aXRoIEdPYmplY3QKCSAgdmlydHVhbCBmdW5jdGlvbnMgc3VjaCBhcyBnZXRfcHJvcGVydHksIHNldF9wcm9wZXJ5LCBmaW5hbGl6ZSBhbmQKCSAgZGlzcG9zZSwgc2luY2UgdGhleSdsbCBuZXZlciBiZSB1c2VkIGJ5IGFueW9uZSBhbnl3YXkuIFNhdmVzIGEKCSAgZmV3IGJ5dGVzIGFuZCBwb3NzaWJseSBhIHNpeHRlZW50aCBvZiBhIHBvbGFyIGJlYXIuCgoyMDA5LTA5LTIyIDExOjU4OjI2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IERvbid0IHJlcGVhdCB0YWdzIGJ1ZmZlcnMgZm9yIGV2ZXJ5IG5ldyBzZWdtZW50CgkgIE9ubHkgc2VuZCBhIHRhZyBidWZmZXIgd2hlbiBvbmUgaXMgcmVjZWl2ZWQsIG5vdCBhZnRlciBldmVyeSBuZXcgc2VnbWVudAoJICBldmVudC91cGRhdGUuCgoyMDA5LTA4LTI3IDE4OjU5OjQ5ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIEJ1ZyA1OTMwMzUgLSBzZXQgSU5fQ0FQUyBmb3Igc3RyZWFtaGVhZGVyIGJ1ZmZlcgoKMjAwOS0wOC0xMCAxNTo0MDozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgIHN0cmVhbWhlYWRlcjogRml4IGNhcHMgbGVhayBpbiB0aGUgdm9yYmlzZW5jIHVuaXQgdGVzdAoKMjAwOS0wOC0xMCAxNDoxNDozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgIGNoZWNrczogZml4IHN0cmVhbSBoZWFkZXIgdW5pdCB0ZXN0IGhhbmdpbmcgaW4gZ3N0X3Rhc2tfY2xlYW51cF9hbGwoKQoJICBTZXQgcGlwZWxpbmVzIHRvIE5VTEwgc3RhdGUgYW5kIHVucmVmIHdoZW4gZG9uZS4KCjIwMDktMDUtMjcgMTI6MTA6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IHNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMKCSAgU2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycyBiZWNhdXNlIE5VTEwgY2FwcyBjb25mdXNlIGJhc2V0cmFuc2Zvcm0uCgkgIEZpeGVzICM1ODM4NjcKCjIwMDgtMTAtMTYgMTU6MDc6MDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIGJhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZHBhcmFub2lhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9naW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2dub21ldmZzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJ2aXN1YWwvTWFrZWZpbGUuYW06CgkgICogZXh0L29nZy9NYWtlZmlsZS5hbToKCSAgKiBleHQvcGFuZ28vTWFrZWZpbGUuYW06CgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdm9yYmlzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hZGRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb3JhdGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvdGVzdHNyYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmZtcGVnY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ2RwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wbGF5YmFjay9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3VicGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3RjcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdHlwZWZpbmQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvcmF0ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9zY2FsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW90ZXN0c3JjL01ha2VmaWxlLmFtOgoJICAqIGdzdC92b2x1bWUvTWFrZWZpbGUuYW06CgkgICogc3lzL3Y0bC9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlL01ha2VmaWxlLmFtOgoJICAqIHN5cy94dmltYWdlL01ha2VmaWxlLmFtOgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciBiYXNlLgoKMjAwOC0wNy0xMCAyMTowNjowNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQ2xlYW51cCBQbHVnaW4gZG9jcy4gTGluayB0byBzaWduYWxzIGFuZCBwcm9wZXJ0aWVzLiBGaXggc3ViLXNlY3Rpb24gdGl0bGVzLiBEcm9wIG1lbnRpbmluZyB0aGF0IGFsbCBvdXIgZXhhbXBsZSBwaXBlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMtb3ZlcnJpZGVzLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvY29udmVydC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcmF0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Rlc3RzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHBhcmFub2lhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVjb2RlYmluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmZtcGVnY29sb3JzcGFjZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdub21ldmZzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGlidmlzdWFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2dnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGFuZ28ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbGF5YmFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1ZXVlMi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YnBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGNwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGhlb3JhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHlwZWZpbmRmdW5jdGlvbnMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11cmlkZWNvZGViaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcmF0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2NhbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3Rlc3RzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2x1bWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b3JiaXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpbWFnZXNpbmsueG1sOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FtaXhlci5jOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzaW5rLmM6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYXNyYy5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmM6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zaW5rLmM6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zcmMuYzoKCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzaW5rLmM6CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc3JjLmM6CgkgICogZXh0L29nZy9nc3RvZ2dkZW11eC5jOgoJICAqIGV4dC9vZ2cvZ3N0b2dnbXV4LmM6CgkgICogZXh0L3BhbmdvL2dzdGNsb2Nrb3ZlcmxheS5jOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0b3ZlcmxheS5jOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0cmVuZGVyLmM6CgkgICogZXh0L3BhbmdvL2dzdHRpbWVvdmVybGF5LmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWVuYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhcGFyc2UuYzoKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc2RlYy5jOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzZW5jLmM6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNwYXJzZS5jOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzdGFnLmM6CgkgICogZ3N0L2FkZGVyL2dzdGFkZGVyLmM6CgkgICogZ3N0L2F1ZGlvY29udmVydC9nc3RhdWRpb2NvbnZlcnQuYzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZ3N0L2F1ZGlvdGVzdHNyYy9nc3RhdWRpb3Rlc3RzcmMuYzoKCSAgKiBnc3QvZmZtcGVnY29sb3JzcGFjZS9nc3RmZm1wZWdjb2xvcnNwYWNlLmM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdGRlY29kZWJpbjIuYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJpbi5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmluMi5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RxdWV1ZTIuYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0dXJpZGVjb2RlYmluLmM6CgkgICogZ3N0L3RjcC9nc3RtdWx0aWZkc2luay5jOgoJICAqIGdzdC90Y3AvZ3N0dGNwc2VydmVyc2luay5jOgoJICAqIGdzdC92aWRlb3JhdGUvZ3N0dmlkZW9yYXRlLmM6CgkgICogZ3N0L3ZpZGVvc2NhbGUvZ3N0dmlkZW9zY2FsZS5jOgoJICAqIGdzdC92aWRlb3Rlc3RzcmMvZ3N0dmlkZW90ZXN0c3JjLmM6CgkgICogZ3N0L3ZvbHVtZS9nc3R2b2x1bWUuYzoKCSAgKiBzeXMveGltYWdlL3hpbWFnZXNpbmsuYzoKCSAgKiBzeXMveHZpbWFnZS94dmltYWdlc2luay5jOgoJICBDbGVhbnVwIFBsdWdpbiBkb2NzLiBMaW5rIHRvIHNpZ25hbHMgYW5kIHByb3BlcnRpZXMuIEZpeCBzdWItc2VjdGlvbgoJICB0aXRsZXMuIERyb3AgbWVudGluaW5nIHRoYXQgYWxsIG91ciBleGFtcGxlIHBpcGVsaW5lcyBhcmUgInNpbXBsZSIKCSAgcGlwZWxpbmVzLgoKMjAwOC0wNi0zMCAwOTo0NjoxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBFbmFibGUgdW5pdCB0ZXN0cyBvbiBQUEMgYWdhaW4gYXMgdGhlIGJ1Z3MgYXJlIG5vdyBmaXhlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKGdkcGRlcGF5X3N1aXRlKToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6IChzdHJlYW1oZWFkZXJfc3VpdGUpOgoJICBFbmFibGUgdW5pdCB0ZXN0cyBvbiBQUEMgYWdhaW4gYXMgdGhlIGJ1Z3MgYXJlIG5vdyBmaXhlZC4KCjIwMDgtMDYtMjAgMDg6NDU6MTMgKzAwMDAgIEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMEBnbWFpbC5jb20+CgoJICBnc3QvZ2RwL2dzdGdkcHBheS5jOiBGaXggYSBidWZmZXIgbWVtbGVhayBhbmQgcmVtb3ZlIGEgY29uZnVzaW5nIGFuZCB3cm9uZyBkZWJ1ZyBvdXRwdXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW50b2luZSBUcmVtYmxheSA8aGV4YTAwIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X3Jlc2V0KToKCSAgRml4IGEgYnVmZmVyIG1lbWxlYWsgYW5kIHJlbW92ZSBhIGNvbmZ1c2luZyBhbmQgd3JvbmcgZGVidWcgb3V0cHV0LgoJICBGaXhlcyBidWcgIzUzODY2My4KCjIwMDgtMDYtMDQgMTY6MDA6MjYgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOiBEbyBub3QgdHJ5IHRvIHJ1biBhIHRlc3Qgd2hpY2ggcmVxdWlyZXMgdm9yYmlzZW5jIHVubGVzcyB3ZSBoYXZlIGFjdHVhbGx5IGJ1aWx0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzogKGJ1ZmZlcl9wcm9iZV9jYiksCgkgICh0ZXN0X211bHRpZmRzaW5rX2dkcF92b3JiaXNlbmMpLCAoc3RyZWFtaGVhZGVyX3N1aXRlKToKCSAgRG8gbm90IHRyeSB0byBydW4gYSB0ZXN0IHdoaWNoIHJlcXVpcmVzIHZvcmJpc2VuYyB1bmxlc3Mgd2UgaGF2ZQoJICBhY3R1YWxseSBidWlsdCBpdC4KCjIwMDgtMDYtMDQgMDU6NTg6MzggKzAwMDAgIEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMEBnbWFpbC5jb20+CgoJICBnc3QvZ2RwL2dzdGdkcHBheS5jOiBEb24ndCBzZXQgY2FwcyBvbiB0aGUgYnVmZmVycyB0aGF0IGNvbnRhaW4gYSBjb3B5IG9mIHRoZSBidWZmZXIgaW5jbHVkaW5nIHRoZSBjYXBzIG9mIHRoZW0gcmVzdWwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbnRvaW5lIFRyZW1ibGF5IDxoZXhhMDAgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKToKCSAgRG9uJ3Qgc2V0IGNhcHMgb24gdGhlIGJ1ZmZlcnMgdGhhdCBjb250YWluIGEgY29weSBvZiB0aGUgYnVmZmVyCgkgIGluY2x1ZGluZyB0aGUgY2FwcyBvZiB0aGVtIHJlc3VsdGluZyBpbiBhbiBhbHdheXMgaW5jcmVhc2luZyByZWZjb3VudAoJICBvZiB0aGUgY2FwcyBhbmQgaW5zYW5lbHkgbGFyZ2UgY2Fwcy4gSW5zdGVhZCBpbmNsdWRlIGEgYnVmZmVyIHdpdGhvdXQKCSAgY2FwcyBpbiB0aGUgbmV3IGNhcHMuIEZpeGVzIGJ1ZyAjNTM2NDc1LgoKMjAwOC0wNS0yMiAyMjowOToxNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBBZGQgc29tZSBkb2N1bWVudGF0aW9uIGNvbW1lbnRzLCBhbmQgc29tZSBuZXcgaGVhZGVycyB0byBiZSBzY2FubmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy1vdmVycmlkZXMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZGRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2EueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2NvbnZlcnQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3JhdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Jlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW90ZXN0c3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RwYXJhbm9pYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlY29kZWJpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZmbXBlZ2NvbG9yc3BhY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1naW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbm9tZXZmcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpYnZpc3VhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9nZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBhbmdvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGxheWJhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWV1ZTIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRjcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRoZW9yYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR5cGVmaW5kZnVuY3Rpb25zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdXJpZGVjb2RlYmluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3JhdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NjYWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW90ZXN0c3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9sdW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9yYmlzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aW1hZ2VzaW5rLnhtbDoKCSAgKiBleHQvY2RwYXJhbm9pYS9nc3RjZHBhcmFub2lhc3JjLmM6CgkgICogZXh0L29nZy9nc3RvZ2dkZW11eC5jOgoJICAqIGV4dC9vZ2cvZ3N0b2dnZGVtdXguaDoKCSAgKiBleHQvb2dnL2dzdG9nZ211eC5jOgoJICAqIGV4dC9vZ2cvZ3N0b2dnbXV4Lmg6CgkgICogZ3N0L2F1ZGlvY29udmVydC9hdWRpb2NvbnZlcnQuYzoKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2F1ZGlvY29udmVydC5oOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvZ3N0YXVkaW9jb252ZXJ0Lmg6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgICogZ3N0L3BsYXliYWNrL2dzdGRlY29kZWJpbi5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RkZWNvZGViaW4yLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4uYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJpbjIuYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0dXJpZGVjb2RlYmluLmM6CgkgICogZ3N0L3RjcC9nc3RtdWx0aWZkc2luay5jOgoJICAqIGdzdC90Y3AvZ3N0bXVsdGlmZHNpbmsuaDoKCSAgKiBnc3QvdGNwL2dzdHRjcC5oOgoJICBBZGQgc29tZSBkb2N1bWVudGF0aW9uIGNvbW1lbnRzLCBhbmQgc29tZSBuZXcgaGVhZGVycyB0byBiZSBzY2FubmVkLgoJICBSZW5hbWUgc29tZSBpbnRlcm5hbCBlbnVtIGRlY2xhcmF0aW9ucyAoYXVkaW9jb252ZXJ0J3MgRGl0aGVyVHlwZSBhbmQKCSAgTm9pc2VTaGFwaW5nVHlwZSwgR3N0VW5pdFR5cGUgZnJvbSB0aGUgVENQIGVsZW1lbnRzKSB0byBtYXRjaCB0aGUKCSAgZG9jdW1lbnRlZCBHT2JqZWN0IHR5cGUgbmFtZXMgc28gdGhhdCB0aGUgZG9jcyBwaWNrIHRoZW0gdXAuCgkgIE5hbWUgdGhlIHBsYXliaW4yIGRvY3MgbWFya3VwcyBwcm9wZXJseSBzbyB0aGV5IGdldCBwaWNrZWQgdXAuIFRoZXknbGwKCSAgbmVlZCByZW5hbWluZyBiYWNrIHdoZW4vaWYgcGxheWJpbjIgYmVjb21lcyBwbGF5YmluLgoJICAxMDAlIHN5bWJvbCBjb3ZlcmFnZSBmb3IgdGhlIHBsdWdpbiBkb2NzLCBib295YS4KCjIwMDgtMDUtMjEgMTY6MzY6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBEb24ndCB1c2UgYmFkIGdzdF9lbGVtZW50X2dldF9wYWQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L29nZy9nc3RvZ2dkZW11eC5jOiAoZ3N0X29nZ19wYWRfdHlwZWZpbmQpOgoJICAqIGdzdC9wbGF5YmFjay9kZWNvZGV0ZXN0LmM6IChuZXdfZGVjb2RlZF9wYWRfY2IpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RkZWNvZGViaW4uYzogKGdzdF9kZWNvZGVfYmluX2luaXQpLAoJICAodHJ5X3RvX2xpbmtfMSksIChlbGVtX2lzX2R5bmFtaWMpLCAoY2xvc2VfbGluayksICh0eXBlX2ZvdW5kKSwKCSAgKGNsZWFudXBfZGVjb2RlYmluKToKCSAgKiBnc3QvcGxheWJhY2svZ3N0ZGVjb2RlYmluMi5jOiAoZ3N0X2RlY29kZV9iaW5faW5pdCksCgkgIChjb25uZWN0X2VsZW1lbnQpLCAoZ3N0X2RlY29kZV9ncm91cF9jb250cm9sX2RlbXV4ZXJfcGFkKToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJhc2ViaW4uYzogKHF1ZXVlX3JlbW92ZV9wcm9iZSksCgkgIChxdWV1ZV9vdXRfb2ZfZGF0YSksIChnZW5fcHJlcm9sbF9lbGVtZW50KSwgKHByZXJvbGxfdW5saW5rZWQpLAoJICAobXV0ZV9ncm91cF90eXBlKToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJpbi5jOiAoZ3N0X3BsYXlfYmluX3Zpc19ibG9ja2VkKSwKCSAgKGdzdF9wbGF5X2Jpbl9zZXRfcHJvcGVydHkpLCAoaGFuZG9mZiksIChnZW5fdmlkZW9fZWxlbWVudCksCgkgIChnZW5fdGV4dF9lbGVtZW50KSwgKGdlbl9hdWRpb19lbGVtZW50KSwgKGdlbl92aXNfZWxlbWVudCksCgkgIChyZW1vdmVfc2lua3MpLCAoYWRkX3NpbmspLCAoc2V0dXBfc2lua3MpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmluMi5jOiAocGFkX2FkZGVkX2NiKSwgKG5vX21vcmVfcGFkc19jYik6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXlzaW5rLmM6IChnc3RfcGxheV9zaW5rX2dldF92aWRlb19zaW5rKSwKCSAgKGdzdF9wbGF5X3NpbmtfZ2V0X2F1ZGlvX3NpbmspLCAoZ3N0X3BsYXlfc2lua192aXNfdW5ibG9ja2VkKSwKCSAgKGdzdF9wbGF5X3NpbmtfdmlzX2Jsb2NrZWQpLCAoZ3N0X3BsYXlfc2lua19zZXRfdmlzX3BsdWdpbiksCgkgIChnc3RfcGxheV9zaW5rX2dldF92aXNfcGx1Z2luKSwgKGdzdF9wbGF5X3Npbmtfc2V0X211dGUpLAoJICAoZ2VuX3ZpZGVvX2NoYWluKSwgKGdlbl90ZXh0X2NoYWluKSwgKGdlbl9hdWRpb19jaGFpbiksCgkgIChnZW5fdmlzX2NoYWluKSwgKGdzdF9wbGF5X3NpbmtfcmVjb25maWd1cmUpLAoJICAoZ3N0X3BsYXlfc2lua19zZXRfZm9udF9kZXNjKSwgKGdzdF9wbGF5X3NpbmtfZ2V0X2ZvbnRfZGVzYyksCgkgIChnc3RfcGxheV9zaW5rX3JlcXVlc3RfcGFkKToKCSAgKiBnc3QvcGxheWJhY2svZ3N0dXJpZGVjb2RlYmluLmM6ICh0eXBlX2ZvdW5kKSwgKHNldHVwX3NvdXJjZSk6CgkgICogZ3N0L3BsYXliYWNrL3Rlc3QuYzogKGdlbl92aWRlb19lbGVtZW50KSwgKGdlbl9hdWRpb19lbGVtZW50KSwKCSAgKGNiX25ld3BhZCk6CgkgICogZ3N0L3BsYXliYWNrL3Rlc3Q2LmM6IChuZXdfZGVjb2RlZF9wYWRfY2IpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY29udmVydC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmF0ZS5jOiAodGVzdF9pbmplY3Rvcl9jaGFpbiksCgkgIChkb19wZXJmZWN0X3N0cmVhbV90ZXN0KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mZm1wZWdjb2xvcnNwYWNlLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nbm9tZXZmc3NpbmsuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90ZXh0b3ZlcmxheS5jOgoJICAobm90Z3N0X2NoZWNrX3NldHVwX3NyY19wYWQyKSwgKG5vdGdzdF9jaGVja190ZWFyZG93bl9zcmNfcGFkMik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW90ZXN0c3JjLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svbGlicy9jZGRhYmFzZXNyYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9vZ2dtdXguYzogKHRlc3RfcGlwZWxpbmUpOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGhlb3JhZW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3ZvcmJpc2VuYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NlZWsvc2NydWJieS5jOiAobWFrZV93YXZfcGlwZWxpbmUpOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NlZWsvc2Vlay5jOiAobWFrZV9tb2RfcGlwZWxpbmUpLAoJICAobWFrZV9kdl9waXBlbGluZSksIChtYWtlX3dhdl9waXBlbGluZSksIChtYWtlX2ZsYWNfcGlwZWxpbmUpLAoJICAobWFrZV9zaWRfcGlwZWxpbmUpLCAobWFrZV9wYXJzZV9waXBlbGluZSksIChtYWtlX3ZvcmJpc19waXBlbGluZSksCgkgIChtYWtlX3RoZW9yYV9waXBlbGluZSksIChtYWtlX3ZvcmJpc190aGVvcmFfcGlwZWxpbmUpLAoJICAobWFrZV9hdmlfbXNtcGVnNHYzX21wM19waXBlbGluZSksIChtYWtlX21wM19waXBlbGluZSksCgkgIChtYWtlX2F2aV9waXBlbGluZSksIChtYWtlX21wZWdfcGlwZWxpbmUpLCAobWFrZV9tcGVnbnRfcGlwZWxpbmUpLAoJICAodXBkYXRlX2ZpbGwpLCAobXNnX2J1ZmZlcmluZyk6CgkgIERvbid0IHVzZSBiYWQgZ3N0X2VsZW1lbnRfZ2V0X3BhZCgpLgoKMjAwOC0wNS0yMSAwNjo0NToyMiArMDAwMCAgQW50b2luZSBUcmVtYmxheSA8aGV4YTAwQGdtYWlsLmNvbT4KCgkgIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IENsb3NlIGEgYnVmZmVyIG1lbW9yeSBsZWFrLiBGaXhlcyBidWcgIzUzNDA3MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbnRvaW5lIFRyZW1ibGF5IDxoZXhhMDAgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfY2hhaW4pOgoJICBDbG9zZSBhIGJ1ZmZlciBtZW1vcnkgbGVhay4gRml4ZXMgYnVnICM1MzQwNzEuCgoyMDA4LTA0LTE4IDE0OjU0OjAxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiBEb24ndCB2YWxpZGF0ZSB0aGUgcGF5bG9hZCBpZiB0aGVyZSBpc24ndCBhbnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfY2hhaW4pOgoJICBEb24ndCB2YWxpZGF0ZSB0aGUgcGF5bG9hZCBpZiB0aGVyZSBpc24ndCBhbnkuCgkgIEZpeGVzICM1MjU5MTUKCjIwMDgtMDMtMjcgMTU6MjY6MzggKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogQ2hlY2sgdGhlIGJvZHkgQ1JDIChpZiBzZXQpIHdoZW4gZGVwYXlsb2FkaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2NoYWluKToKCSAgQ2hlY2sgdGhlIGJvZHkgQ1JDIChpZiBzZXQpIHdoZW4gZGVwYXlsb2FkaW5nLgoJICBGaXhlcyAjNTIyNDAxLgoKMjAwOC0wMy0yMyAxMzoxMjo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IE1ha2UgdGVzdCBjb21waWxlIHdpdGhvdXQgdW51c2VkIGZ1bmN0aW9uL3ZhcmlhYmxlIHdhcm5pbmdzIG9uIFBQQy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSAgTWFrZSB0ZXN0IGNvbXBpbGUgd2l0aG91dCB1bnVzZWQgZnVuY3Rpb24vdmFyaWFibGUgd2FybmluZ3Mgb24gUFBDLgoKMjAwOC0wMy0yMiAxNTowMDo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZXZlcnl3aGVyZSBmb3IgR1BhcmFtU3BlY3MgdGhhdCB1c2Ugc3RhdGljIHN0cmluZ3MgKGkuZS4gYWxsKS4gVGhpcyBnaXZlcyB1cyBsZXNzIG1lbW9yeSB1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvYWxzYS9nc3RhbHNhbWl4ZXJlbGVtZW50LmM6CgkgIChnc3RfYWxzYV9taXhlcl9lbGVtZW50X2NsYXNzX2luaXQpOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzaW5rLmM6IChnc3RfYWxzYXNpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYXNyYy5jOiAoZ3N0X2Fsc2FzcmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2NkcGFyYW5vaWEvZ3N0Y2RwYXJhbm9pYXNyYy5jOgoJICAoZ3N0X2NkX3BhcmFub2lhX3NyY19jbGFzc19pbml0KToKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuYzogKGdzdF9naW9fc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5jOiAoZ3N0X2dpb19zcmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zaW5rLmM6IChnc3RfZ2lvX3N0cmVhbV9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc3JjLmM6IChnc3RfZ2lvX3N0cmVhbV9zcmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc2luay5jOiAoZ3N0X2dub21lX3Zmc19zaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NyYy5jOiAoZ3N0X2dub21lX3Zmc19zcmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L29nZy9nc3RvZ2dtdXguYzogKGdzdF9vZ2dfbXV4X2NsYXNzX2luaXQpOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRfb3ZlcmxheV9jbGFzc19pbml0KToKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dHJlbmRlci5jOiAoZ3N0X3RleHRfcmVuZGVyX2NsYXNzX2luaXQpOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6IChnc3RfdGhlb3JhX2RlY19jbGFzc19pbml0KToKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWVuYy5jOiAoZ3N0X3RoZW9yYV9lbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3RoZW9yYS90aGVvcmFwYXJzZS5jOiAoZ3N0X3RoZW9yYV9wYXJzZV9jbGFzc19pbml0KToKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc2VuYy5jOiAoZ3N0X3ZvcmJpc19lbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGF1ZGlvZmlsdGVydGVtcGxhdGUuYzoKCSAgKGdzdF9hdWRpb19maWx0ZXJfdGVtcGxhdGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGJhc2VhdWRpb3NpbmsuYzoKCSAgKGdzdF9iYXNlX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGJhc2VhdWRpb3NyYy5jOgoJICAoZ3N0X2Jhc2VfYXVkaW9fc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9jZGRhL2dzdGNkZGFiYXNlc3JjLmM6CgkgIChnc3RfY2RkYV9iYXNlX3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9taXhlcnRyYWNrLmM6CgkgIChnc3RfbWl4ZXJfdHJhY2tfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L3J0cC9nc3RiYXNlcnRwZGVwYXlsb2FkLmM6CgkgIChnc3RfYmFzZV9ydHBfZGVwYXlsb2FkX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9ydHAvZ3N0YmFzZXJ0cHBheWxvYWQuYzoKCSAgKGdzdF9iYXNlcnRwcGF5bG9hZF9jbGFzc19pbml0KToKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2dzdGF1ZGlvY29udmVydC5jOgoJICAoZ3N0X2F1ZGlvX2NvbnZlcnRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2F1ZGlvcmF0ZS9nc3RhdWRpb3JhdGUuYzogKGdzdF9hdWRpb19yYXRlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKGdzdF9hdWRpb3Jlc2FtcGxlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9hdWRpb3Rlc3RzcmMvZ3N0YXVkaW90ZXN0c3JjLmM6CgkgIChnc3RfYXVkaW9fdGVzdF9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RkZWNvZGViaW4yLmM6IChnc3RfZGVjb2RlX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJhc2ViaW4uYzogKGdzdF9wbGF5X2Jhc2VfYmluX2NsYXNzX2luaXQpLAoJICAocHJlcm9sbF91bmxpbmtlZCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4uYzogKGdzdF9wbGF5X2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJpbjIuYzogKGdzdF9wbGF5X2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheXNpbmsuYzogKGdzdF9wbGF5X3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHF1ZXVlMi5jOiAoZ3N0X3F1ZXVlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RzdHJlYW1pbmZvLmM6IChnc3Rfc3RyZWFtX2luZm9fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHN0cmVhbXNlbGVjdG9yLmM6IChnc3Rfc2VsZWN0b3JfcGFkX2NsYXNzX2luaXQpLAoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0dXJpZGVjb2RlYmluLmM6IChnc3RfdXJpX2RlY29kZV9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N1YnBhcnNlL2dzdHN1YnBhcnNlLmM6IChnc3Rfc3ViX3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0bXVsdGlmZHNpbmsuYzogKGdzdF9tdWx0aV9mZF9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0dGNwY2xpZW50c2luay5jOiAoZ3N0X3RjcF9jbGllbnRfc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdHRjcGNsaWVudHNyYy5jOiAoZ3N0X3RjcF9jbGllbnRfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0dGNwc2VydmVyc2luay5jOiAoZ3N0X3RjcF9zZXJ2ZXJfc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdHRjcHNlcnZlcnNyYy5jOiAoZ3N0X3RjcF9zZXJ2ZXJfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb3JhdGUvZ3N0dmlkZW9yYXRlLmM6IChnc3RfdmlkZW9fcmF0ZV9jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW9zY2FsZS9nc3R2aWRlb3NjYWxlLmM6IChnc3RfdmlkZW9fc2NhbGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvdGVzdHNyYy9nc3R2aWRlb3Rlc3RzcmMuYzoKCSAgKGdzdF92aWRlb190ZXN0X3NyY19jbGFzc19pbml0KToKCSAgKiBnc3Qvdm9sdW1lL2dzdHZvbHVtZS5jOiAoZ3N0X3ZvbHVtZV9jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsL2dzdHY0bGVsZW1lbnQuYzogKGdzdF92NGxlbGVtZW50X2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwvZ3N0djRsbWpwZWdzaW5rLmM6IChnc3RfdjRsbWpwZWdzaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwvZ3N0djRsbWpwZWdzcmMuYzogKGdzdF92NGxtanBlZ3NyY19jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsL2dzdHY0bHNyYy5jOiAoZ3N0X3Y0bHNyY19jbGFzc19pbml0KToKCSAgKiBzeXMveGltYWdlL3hpbWFnZXNpbmsuYzogKGdzdF94aW1hZ2VzaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy94dmltYWdlL3h2aW1hZ2VzaW5rLmM6IChnc3RfeHZpbWFnZXNpbmtfY2xhc3NfaW5pdCk6CgkgIFVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGV2ZXJ5d2hlcmUgZm9yIEdQYXJhbVNwZWNzIHRoYXQgdXNlCgkgIHN0YXRpYyBzdHJpbmdzIChpLmUuIGFsbCkuIFRoaXMgZ2l2ZXMgdXMgbGVzcyBtZW1vcnkgdXNhZ2UsCgkgIGZld2VyIGFsbG9jYXRpb25zIGFuZCB0aHVzIGxlc3MgbWVtb3J5IGRlZnJhZ21lbnRhdGlvbi4gRGVwZW5kCgkgIG9uIGNvcmUgQ1ZTIGZvciB0aGlzLiBGaXhlcyBidWcgIzUyMzgwNi4KCjIwMDgtMDMtMDMgMDY6MDQ6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIENvcnJlY3QgYWxsIHJlbGV2YW50IHdhcm5pbmdzIGZvdW5kIGJ5IHRoZSBzcGFyc2Ugc2VtYW50aWMgY29kZSBhbmFseXplci4gVGhpcyBpbmNsdWRlIG1hcmtpbmcgc2V2ZXJhbCBzeW1ib2xzIHN0YXRpYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYS9nc3RhbHNhbWl4ZXJ0cmFjay5jOiAoZ3N0X2Fsc2FfbWl4ZXJfdHJhY2tfZ2V0X3R5cGUpOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzaW5rLmM6IChzZXRfaHdwYXJhbXMpOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzcmMuYzogKHNldF9od3BhcmFtcyk6CgkgICogZXh0L2dpby9nc3RnaW8uYzogKGdzdF9naW9fdXJpX2hhbmRsZXJfZ2V0X3VyaSk6CgkgICogZXh0L29nZy9nc3RvZ2dtdXguaDoKCSAgKiBleHQvb2dnL2dzdG9nbXBhcnNlLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2F1ZGlvLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2ZmdC9raXNzX2ZmdF9mNjQuYzogKGtpc3NfZmZ0X2Y2NF9hbGxvYyk6CgkgICogZ3N0LWxpYnMvZ3N0L3BidXRpbHMvbWlzc2luZy1wbHVnaW5zLmM6CgkgIChnc3RfbWlzc2luZ191cmlfc2lua19tZXNzYWdlX25ldyksCgkgIChnc3RfbWlzc2luZ19lbGVtZW50X21lc3NhZ2VfbmV3KSwKCSAgKGdzdF9taXNzaW5nX2RlY29kZXJfbWVzc2FnZV9uZXcpLAoJICAoZ3N0X21pc3NpbmdfZW5jb2Rlcl9tZXNzYWdlX25ldyk6CgkgICogZ3N0LWxpYnMvZ3N0L3J0cC9nc3RiYXNlcnRwcGF5bG9hZC5jOgoJICAqIGdzdC1saWJzL2dzdC9ydHAvZ3N0cnRjcGJ1ZmZlci5jOgoJICAoZ3N0X3J0Y3BfcGFja2V0X2J5ZV9nZXRfcmVhc29uKToKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2dzdGF1ZGlvY29udmVydC5jOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBnc3QvZmZtcGVnY29sb3JzcGFjZS9pbWdjb252ZXJ0LmM6CgkgICogZ3N0L3BsYXliYWNrL3Rlc3QuYzogKGdlbl92aWRlb19lbGVtZW50KSwgKGdlbl9hdWRpb19lbGVtZW50KToKCSAgKiBnc3QvdHlwZWZpbmQvZ3N0dHlwZWZpbmRmdW5jdGlvbnMuYzoKCSAgKiBnc3QvdmlkZW9zY2FsZS92c180dGFwLmM6CgkgICogZ3N0L3ZpZGVvc2NhbGUvdnNfNHRhcC5oOgoJICAqIHN5cy92NGwvZ3N0djRsZWxlbWVudC5jOgoJICAqIHN5cy92NGwvZ3N0djRsc3JjLmM6IChnc3RfdjRsc3JjX2dldF9hbnlfY2Fwcyk6CgkgICogc3lzL3Y0bC92NGxfY2FsbHMuYzoKCSAgKiBzeXMvdjRsL3Y0bHNyY19jYWxscy5jOiAoZ3N0X3Y0bHNyY19jYXB0dXJlX2luaXQpLAoJICAoZ3N0X3Y0bHNyY190cnlfY2FwdHVyZSk6CgkgICogc3lzL3hpbWFnZS94aW1hZ2VzaW5rLmM6IChnc3RfeGltYWdlc2lua19jaGVja194c2htX2NhbGxzKSwKCSAgKGdzdF94aW1hZ2VzaW5rX3hpbWFnZV9uZXcpOgoJICAqIHN5cy94dmltYWdlL3h2aW1hZ2VzaW5rLmM6IChnc3RfeHZpbWFnZXNpbmtfY2hlY2tfeHNobV9jYWxscyksCgkgIChnc3RfeHZpbWFnZXNpbmtfeHZpbWFnZV9uZXcpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY29udmVydC5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzoKCSAgKGZhaWxfdW5sZXNzX3BlcmZlY3Rfc3RyZWFtKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Rlc3RzcmMuYzogKHNldHVwX2F1ZGlvdGVzdHNyYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVjb2RlYmluLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKHNldHVwX2dkcGRlcGF5KSwKCSAgKHNldHVwX2dkcGRlcGF5X3N0cmVhbWhlYWRlcik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6IChzZXR1cF9nZHBwYXkpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoc2V0dXBfZ2RwcGF5X3N0cmVhbWhlYWRlcik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ25vbWV2ZnNzaW5rLmM6IChzZXR1cF9nbm9tZXZmc3NpbmspOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmRzaW5rLmM6IChzZXR1cF9tdWx0aWZkc2luayk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdGV4dG92ZXJsYXkuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3JhdGUuYzogKHNldHVwX3ZpZGVvcmF0ZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW90ZXN0c3JjLmM6IChzZXR1cF92aWRlb3Rlc3RzcmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvbHVtZS5jOiAoc2V0dXBfdm9sdW1lKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b3JiaXNkZWMuYzogKHNldHVwX3ZvcmJpc2RlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9yYmlzdGFnLmM6CgkgICogdGVzdHMvY2hlY2svZ2VuZXJpYy9jbG9jay1zZWxlY3Rpb24uYzoKCSAgKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOiAoc2V0dXApLCAodGVhcmRvd24pOgoJICAqIHRlc3RzL2NoZWNrL2xpYnMvY2RkYWJhc2VzcmMuYzoKCSAgKiB0ZXN0cy9jaGVjay9saWJzL3ZpZGVvLmM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2dpby5jOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9vZ2dtdXguYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICAoc2ltcGxlX2xhdW5jaF9saW5lc19zdWl0ZSk6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90aGVvcmFlbmMuYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdm9yYmlzZGVjLmM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3ZvcmJpc2VuYy5jOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NlZWsvc2NydWJieS5jOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NlZWsvc2Vlay5jOiAocXVlcnlfcG9zaXRpb25zX2VsZW1zKSwKCSAgKHF1ZXJ5X3Bvc2l0aW9uc19wYWRzKToKCSAgKiB0ZXN0cy9pY2xlcy9zdHJlc3MteG92ZXJsYXkuYzogKG15Y2xvY2spOgoJICBDb3JyZWN0IGFsbCByZWxldmFudCB3YXJuaW5ncyBmb3VuZCBieSB0aGUgc3BhcnNlIHNlbWFudGljIGNvZGUKCSAgYW5hbHl6ZXIuIFRoaXMgaW5jbHVkZSBtYXJraW5nIHNldmVyYWwgc3ltYm9scyBzdGF0aWMsIHVzaW5nCgkgIE5VTEwgaW5zdGVhZCBvZiAwIGZvciBwb2ludGVycyBhbmQgdXNpbmcgImZvbyAodm9pZCkiIGluc3RlYWQKCSAgb2YgImZvbyAoKSIgZm9yIGRlY2xhcmF0aW9ucy4KCSAgKiB3aW4zMi9jb21tb24vbGliZ3N0cnRwLmRlZjoKCSAgQWRkIGdzdF9ydHBfYnVmZmVyX3NldF9leHRlbnNpb25fZGF0YSB0byB0aGUgc3ltYm9sIGRlZmluaXRpb24gZmlsZS4KCjIwMDctMDYtMTQgMTk6NTM6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6IERpc2FibGUgdGVzdF9tdWx0aWZkc2lua19nZHBfdm9yYmlzZW5jKCkgb24gcHBjNjQgc2luY2UgaXQgZmFpbHMgb24gdGhlIHA1LXBwYzYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOiAoc3RyZWFtaGVhZGVyX3N1aXRlKToKCSAgRGlzYWJsZSB0ZXN0X211bHRpZmRzaW5rX2dkcF92b3JiaXNlbmMoKSBvbiBwcGM2NCBzaW5jZSBpdAoJICBmYWlscyBvbiB0aGUgcDUtcHBjNjQgYnVpbGQgYm90IGFuZCB0aGUgZmFpbHVyZSBsb29rcyBsaWtlIGl0IGlzIGR1ZQoJICB0byB0aGUgc2FtZSBpc3N1ZSBhcyAjMzQ4MTE0LCBpZS4gYSBjb21waWxlciBidWcuCgoyMDA3LTA0LTE0IDEyOjM0OjU1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9nZHAvZ3N0Z2RwcGF5LmMgKGdzdF9nZHBfcGF5X2NoYWluKTogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jICh0YWdfZXZlbnRfcHJvYmVfY2IsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmMgKGdzdF9nZHBfcGF5X2NoYWluKToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmMgKHRhZ19ldmVudF9wcm9iZV9jYiwKCSAgR1NUX1NUQVJUX1RFU1QsIGJ1ZmZlcl9wcm9iZV9jYiwgR1NUX1NUQVJUX1RFU1QpOgoJICBGaXggYSBidWcgd2hlcmUgc2VyaWFsaXplZCBJTl9DQVBTIGJ1ZmZlcnMgbmVlZGVkIHRvIGJlIHNldCBJTl9DQVBTLgoKMjAwNy0wNC0xMyAyMTo1NTozMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYyAodGFnX2V2ZW50X3Byb2JlX2NiLAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmMgKHRhZ19ldmVudF9wcm9iZV9jYiwKCSAgR1NUX1NUQVJUX1RFU1QsIG5faW5fY2FwcywgYnVmZmVyX3Byb2JlX2NiLCBHU1RfU1RBUlRfVEVTVCwKCSAgc3RyZWFtaGVhZGVyX3N1aXRlKToKCSAgQWRkIGFub3RoZXIgdGVzdCBzZXQgdXAgZm9yIGZhaWx1cmUKCjIwMDctMDQtMTMgMjE6MDk6MDQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJICBkZWJ1ZyBjaGFuZ2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkZWJ1ZyBjaGFuZ2VzCgoyMDA3LTA0LTEzIDIxOjA4OjExICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmMgKG5fdGFncywgdGFnX2V2ZW50X3Byb2JlX2NiLAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmMgKG5fdGFncywgdGFnX2V2ZW50X3Byb2JlX2NiLAoJICBHU1RfU1RBUlRfVEVTVCwgc3RyZWFtaGVhZGVyX3N1aXRlLCBtYWluKToKCSAgQWRkIGEgdGVzdCBmb3IgdGhlIHN0cmVhbWhlYWRlciBidWcgV2ltIGZpeGVkLgoKMjAwNy0wNC0xMiAxMDowMzoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IE1ha2Ugc3VyZSB3ZSBzZXQgdGhlIElOX0NBUFMgZmxhZyBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9jaGFpbiksCgkgIChnc3RfZ2RwX3BheV9zaW5rX2V2ZW50KToKCSAgTWFrZSBzdXJlIHdlIHNldCB0aGUgSU5fQ0FQUyBmbGFnIGNvcnJlY3RseS4KCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmM6IChnc3RfbXVsdGlfZmRfc2lua19yZW5kZXIpOgoJICBHZXQgdGhlIElOX0NBUFMgZmxhZyBiZWZvcmUgd2UgY2FsbCBmdW5jdGlvbnMgdGhhdCBtZXNzIHdpdGggdGhlIGZsYWdzLgoKMjAwNy0wNC0xMCAyMDozNzowNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnc3QvZ2RwL2dzdGdkcHBheS5jIChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIsIGdzdF9nZHBfcGF5X2NoYWluLCBnc3RfZ2RwX3BheV9zaW5rX2V2ZW50KToKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYyAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyLAoJICBnc3RfZ2RwX3BheV9jaGFpbiwgZ3N0X2dkcF9wYXlfc2lua19ldmVudCk6CgkgIE9ubHkgc3RhbXAgYnVmZmVycyB3aXRoIG9mZnNldC9vZmZzZXRfZW5kIHJpZ2h0IGJlZm9yZSB0aGV5IGdldAoJICBwdXNoZWQuICBUaGlzIGVuc3VyZXMgb2Zmc2V0IGNvbnRpbnVpdHksIHdoaWNoIHdhcyBub3QgdGhlIGNhc2UKCSAgYmVmb3JlIGFzIHNob3duIGJ5CgkgIGdzdC1sYXVuY2ggLXYgLW0gYXVkaW90ZXN0c3JjIG51bS1idWZmZXJzPTEwICEgYXVkaW9jb252ZXJ0ICEgdm9yYmlzZW5jICEgZ2RwcGF5ICEgaWRlbnRpdHkgY2hlY2staW1wZXJmZWN0LW9mZnNldD1UUlVFICEgZmFrZXNpbmsgc2lsZW50PVRSVUUKCjIwMDctMDQtMTAgMjA6MjU6MDYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBhZGRpbmcgZGVidWdnaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGRpbmcgZGVidWdnaW5nCgoyMDA3LTAzLTE0IDE1OjA1OjMyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSAgYWRkIGJ1ZmZlciBsb2dnaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgYnVmZmVyIGxvZ2dpbmcKCjIwMDYtMTItMjIgMTI6MTA6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogRml4IHRoZSBkcCB0ZXN0cywgYnV0IGFjdGl2YXRpbmcgdGhlIHBhZHMgZm9yIHRoZSBzdHJlYW1oZWFkZXIgdGVzdHMgdG9vIGFuZCBjbGVhbmluZyB1cCBjb25kaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoY2xlYW51cF9nZHBkZXBheSksCgkgIChzZXR1cF9nZHBkZXBheV9zdHJlYW1oZWFkZXIpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOiAoY2xlYW51cF9nZHBwYXkpLAoJICAoc2V0dXBfZ2RwcGF5X3N0cmVhbWhlYWRlcik6CgkgIEZpeCB0aGUgZHAgdGVzdHMsIGJ1dCBhY3RpdmF0aW5nIHRoZSBwYWRzIGZvciB0aGUgc3RyZWFtaGVhZGVyIHRlc3RzCgkgIHRvbyBhbmQgY2xlYW5pbmcgdXAgY29uZGl0aW9uYWx5CgoyMDA2LTEyLTIxIDA4OjEyOjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzogKGNsZWFudXBfYXVkaW9yZXNhbXBsZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW90ZXN0c3JjLmM6IChjbGVhbnVwX2F1ZGlvdGVzdHNyYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKHNldHVwX2dkcGRlcGF5KSwKCSAgKGNsZWFudXBfZ2RwZGVwYXkpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOiAoc2V0dXBfZ2RwcGF5KSwgKGNsZWFudXBfZ2RwcGF5KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zdWJwYXJzZS5jOiAodGVhcmRvd25fc3VicGFyc2UpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RleHRvdmVybGF5LmM6IChjbGVhbnVwX3RleHRvdmVybGF5KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3JhdGUuYzogKGNsZWFudXBfdmlkZW9yYXRlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3Rlc3RzcmMuYzogKGNsZWFudXBfdmlkZW90ZXN0c3JjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2x1bWUuYzogKGNsZWFudXBfdm9sdW1lKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b3JiaXNkZWMuYzogKHNldHVwX3ZvcmJpc2RlYyksCgkgIChjbGVhbnVwX3ZvcmJpc2RlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9yYmlzdGFnLmM6IChzZXR1cF92b3JiaXN0YWcpLAoJICAoY2xlYW51cF92b3JiaXN0YWcpOgoJICBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoKMjAwNi0wOS0yMSAwNTozMTowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2NoZWNrLzogU29tZSBtb3JlIGNvbXBpbGF0aW9uIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2xpYnMvYXVkaW8uYzoKCSAgU29tZSBtb3JlIGNvbXBpbGF0aW9uIGZpeGVzLgoKMjAwNi0wOS0yMCAxNzowNDo1NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2NoZWNrLzogRml4IHNvbWUgd2FybmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmZHNpbmsuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3JhdGUuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9saWJzL2NkZGFiYXNlc3JjLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL29nZ211eC5jOiAoZW9zX2J1ZmZlcl9wcm9iZSk6CgkgIEZpeCBzb21lIHdhcm5pbmdzLgoKMjAwNi0wOC0yNSAxNjoxOTo1NSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2dkcC9nc3RnZHBwYXkuYzogRml4IG1lbW9yeSBsZWFrcyBhbmQgbWlzbGVhZGluZyBkZWJ1ZyBtZXNzYWdlcywgYWRkIGEgY291cGxlIG9mIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfcmVzZXQpLAoJICAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKSwgKGdzdF9nZHBfcGF5X2NoYWluKToKCSAgRml4IG1lbW9yeSBsZWFrcyBhbmQgbWlzbGVhZGluZyBkZWJ1ZyBtZXNzYWdlcywgYWRkIGEgY291cGxlIG9mCgkgIGNvbW1lbnRzLgoJICAqIGdzdC90Y3AvZ3N0bXVsdGlmZHNpbmsuYzogKGdzdF9tdWx0aV9mZF9zaW5rX2dldF9zdGF0cyksCgkgIChnc3RfbXVsdGlfZmRfc2lua19yZW5kZXIpOgoJICBEbyBub3QgdXNlIGdzdF9idWZmZXJfbWFrZV93cml0YWJsZSgpIGluIGEgYmFzZXNpbmsgcmVuZGVyIG1ldGhvZCwKCSAgYXMgaXQgbWF5IGluY29ycmVjdGx5IHVucmVmIHRoZSBidWZmZXIuIEluc3RlYWQsIHVzZSBjb252b2x1dGVkCgkgIGRhbmNlIHRvIGF2b2lkIGNvcHlpbmcgdGhlIGJ1ZmZlciBleGNlcHQgd2hlbiB3ZSBuZWVkIHRvLgoKMjAwNi0wOC0yMSAxOTowNDoxNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL1JFQURNRToKCSAgYWRkaW5nIGEgUkVBRE1FCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGRpbmcgYSBSRUFETUUKCjIwMDYtMDgtMjEgMTk6MDE6NDEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgTW92ZSBHRFAgcGx1Z2luIHRvIC1iYXNlIGZyb20gLWJhZC4gQ2xvc2VzICMzNDc3ODMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkgICogZ3N0L2dkcC9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgTW92ZSBHRFAgcGx1Z2luIHRvIC1iYXNlIGZyb20gLWJhZC4gIENsb3NlcyAjMzQ3NzgzLgoKMjAwNi0wOC0wOCAxMzo1NzoyOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IEkgZm9yZ290IHRvIGluY2x1ZGUgdGhlIGZpbGUgY29udGFpbmluZyB0aGUgI2RlZmluZSA6KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoZ2RwZGVwYXlfc3VpdGUpOgoJICBJIGZvcmdvdCB0byBpbmNsdWRlIHRoZSBmaWxlIGNvbnRhaW5pbmcgdGhlICNkZWZpbmUgOikKCSAgTm93IGluY2x1ZGVzICJjb25maWcuaCIKCjIwMDYtMDgtMDggMTM6NDU6NDQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiBJZ25vcmUgdGVzdCBrbm93biB0byBmYWlsIG9uIFBQQzY0LiBTZWUgIzM0ODExNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKGdkcGRlcGF5X3N1aXRlKToKCSAgSWdub3JlIHRlc3Qga25vd24gdG8gZmFpbCBvbiBQUEM2NC4gU2VlICMzNDgxMTQuCgoyMDA2LTA4LTA0IDEzOjIwOjIzICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiBGaXggZXZlbnQgcGFyc2luZyBieSBnZHBkZXBheS4gRml4ZXMgIzM0OTkxNi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDgtMDQgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2NoYWluKToKCSAgRml4IGV2ZW50IHBhcnNpbmcgYnkgZ2RwZGVwYXkuICBGaXhlcyAjMzQ5OTE2LgoKMjAwNi0wOC0wMiAxNjo1NjoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogRGlzYWJsZSBzZWVraW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2luaXQpLAoJICAoZ3N0X2dkcF9kZXBheV9maW5hbGl6ZSksIChnc3RfZ2RwX2RlcGF5X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2dkcF9kZXBheV9zcmNfZXZlbnQpLCAoZ3N0X2dkcF9kZXBheV9jaGFpbiksCgkgIChnc3RfZ2RwX2RlcGF5X2NoYW5nZV9zdGF0ZSk6CgkgIERpc2FibGUgc2Vla2luZy4KCSAgU21hbGwgY2xlYW51cHMuCgkgIENsZWFyIGFkYXB0ZXIgb24gZGlzY29udHMuCgkgIENsZWFyIGNhcHMgd2hlbiBnb2luZyB0byBSRUFEWSBpbnN0ZWFkIG9mIE5VTEwKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfZ2RwX3BheV9pbml0KSwgKGdzdF9nZHBfcGF5X2ZpbmFsaXplKSwgKGdzdF9nZHBfcGF5X3Jlc2V0KSwKCSAgKGdzdF9nZHBfYnVmZmVyX2Zyb21fY2FwcyksIChnc3RfZ2RwX3BheV9idWZmZXJfZnJvbV9idWZmZXIpLAoJICAoZ3N0X2dkcF9idWZmZXJfZnJvbV9ldmVudCksIChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIpLAoJICAoZ3N0X2dkcF9xdWV1ZV9idWZmZXIpLCAoZ3N0X2dkcF9wYXlfY2hhaW4pLAoJICAoZ3N0X2dkcF9wYXlfc2lua19ldmVudCksIChnc3RfZ2RwX3BheV9zcmNfZXZlbnQpLAoJICAoZ3N0X2dkcF9wYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICBSZXNldCBwYXlsb2FkZXIgd2hlbiBnb2luZyB0byBSRUFEWS4KCSAgRml4IGxlYWtlZCBidWZmZXJzIGluIC0+cXVldWUgb24gcHVzaCBlcnJvcnMuCgkgIERpc2FibGUgc2Vla2luZy4KCSAgQ29kZSBjbGVhbnVwcy4KCSAgQ3JlYXRlIHBhY2tldGl6ZXIgaW4gX2luaXQsIGZyZWUgaW4gX2ZpbmFsaXplLgoKMjAwNi0wNy0zMSAwODo0ODozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogQ29uc3VtZSBhbGwgZXZlbnRzIGV4Y2VwdCBFT1MgYmVjYXVzZSB3ZSBnZW5lcmF0ZSBldmVudHMgZnJvbSB0aGUgZ2RwIHBheWxvYWQgaW5zdGVhZC4gRml4ZXMgIy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2luaXQpLAoJICAoZ3N0X2dkcF9kZXBheV9zaW5rX2V2ZW50KSwgKGdzdF9nZHBfZGVwYXlfY2hhaW4pOgoJICBDb25zdW1lIGFsbCBldmVudHMgZXhjZXB0IEVPUyBiZWNhdXNlIHdlIGdlbmVyYXRlIGV2ZW50cyBmcm9tCgkgIHRoZSBnZHAgcGF5bG9hZCBpbnN0ZWFkLiBGaXhlcyAjMzQ5MjA0CgoyMDA2LTA3LTI2IDEwOjUyOjA1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogcHJveHlpbmcgZ2V0L3NldCBjYXBzIGlzIHRoZSB3cm9uZyB0aGluZyB0byBkbywgc2luY2Ugd2UgcmVhbGx5IGRvIGNoYW5nZSBjYXBzIHF1aXRlIGZ1bmRhbWVudC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2luaXQpOgoJICBwcm94eWluZyBnZXQvc2V0IGNhcHMgaXMgdGhlIHdyb25nIHRoaW5nIHRvIGRvLCBzaW5jZSB3ZSByZWFsbHkKCSAgZG8gY2hhbmdlIGNhcHMgcXVpdGUgZnVuZGFtZW50YWxseQoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIHJlbW92ZSBkZWNsYXJhdGlvbiBvZiBidWZmZXJzLCBpdCdzIGFscmVhZHkgZG9uZSBpbiBnc3RjaGVjay5oCgoyMDA2LTA3LTE3IDE0OjE3OjQ1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9nZHAvOiByZW1vdmUgcGFyZW50X2NsYXNzIHNldHRpbmcsIEJPSUxFUlBMQVRFIGRvZXMgdGhpcyBmaXggdHlwbyBpbiBjb21tZW50CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA3LTE3ICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlICA8dGhvbWFzIGF0IGFwZXN0YWFydCBkb3Qgb3JnPgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2NsYXNzX2luaXQpLAoJICByZW1vdmUgcGFyZW50X2NsYXNzIHNldHRpbmcsIEJPSUxFUlBMQVRFIGRvZXMgdGhpcwoJICAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKToKCSAgZml4IHR5cG8gaW4gY29tbWVudAoKMjAwNi0wNy0xNCAxMDozNDozNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL01ha2VmaWxlLmFtOgoJICBidWlsZCBhcyBhIHBsdWdpbiwgbm90IGEgbGliCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBidWlsZCBhcyBhIHBsdWdpbiwgbm90IGEgbGliCgoyMDA2LTA3LTEzIDE1OjI1OjU4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGRvY3MvcGx1Z2lucy86IGFkZCBtb3JlIHBsdWdpbnMgYW5kIGVsZW1lbnRzIHRvIGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgYWRkIG1vcmUgcGx1Z2lucyBhbmQgZWxlbWVudHMgdG8gZG9jcwoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfY2hhaW4pOgoJICBmaXggc2VnZmF1bHRzIGR1ZSB0byB3cm9uZyBnX2ZyZWUKCSAgYWRkIGV4YW1wbGUKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBhZGQgZXhhbXBsZQoKMjAwNi0wNi0yMyAwOTowOTo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFVzZSBHU1RfREVCVUdfQ0FURUdPUllfU1RBVElDIHdoZXJlIHBvc3NpYmxlICgjMzQyNTAzKSBhbmQgZml4IG9uZSBHT2JqZWN0IGJvaWxlcnBsYXRlIG1hY3JvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICBVc2UgR1NUX0RFQlVHX0NBVEVHT1JZX1NUQVRJQyB3aGVyZSBwb3NzaWJsZSAoIzM0MjUwMykKCSAgYW5kIGZpeCBvbmUgR09iamVjdCBib2lsZXJwbGF0ZSBtYWNyby4KCjIwMDYtMDYtMDYgMTY6MjY6NTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgYWRhcHQgdG8gbmV3IGFwaQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRhcHQgdG8gbmV3IGFwaQoKMjAwNi0wNi0wNiAxNDozOToxNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBjb25maWd1cmUuYWM6IGVuYWJsZSBidWlsZGluZyBvZiBHRFAgZWxlbWVudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBlbmFibGUgYnVpbGRpbmcgb2YgR0RQIGVsZW1lbnRzCgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9jaGFpbik6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X2dkcF9wYXlfaW5pdCksIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2NhcHMpLAoJICAoZ3N0X2dkcF9wYXlfYnVmZmVyX2Zyb21fYnVmZmVyKSwgKGdzdF9nZHBfYnVmZmVyX2Zyb21fZXZlbnQpLAoJICAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKSwgKGdzdF9nZHBfcGF5X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2dkcF9wYXlfc2V0X3Byb3BlcnR5KSwgKGdzdF9nZHBfcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZ2RwX3BheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgIGFkZCB2ZXJzaW9uIDEuMAoKMjAwNi0wNi0wMiAxNjo0NTo1OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgIHNtYWxsIGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzbWFsbCBmaXhlcwoKMjAwNi0wNi0wMiAxMDoyODozMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvZ2RwL2dzdGdkcHBheS5jOiBhZGQgY3JjLWhlYWRlciBhbmQgY3JjLXBheWxvYWQgcHJvcGVydGllcyBkb24ndCBlcnJvciBvdXQgb24gc29tZSB0aGluZ3MgdGhhdCBhcmUgcmVjb3ZlcmFibGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X2dkcF9wYXlfaW5pdCksIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2NhcHMpLAoJICAoZ3N0X2dkcF9wYXlfYnVmZmVyX2Zyb21fYnVmZmVyKSwgKGdzdF9nZHBfYnVmZmVyX2Zyb21fZXZlbnQpLAoJICAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKSwgKGdzdF9nZHBfcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfcGF5X3NpbmtfZXZlbnQpLCAoZ3N0X2dkcF9wYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9nZHBfcGF5X2dldF9wcm9wZXJ0eSk6CgkgIGFkZCBjcmMtaGVhZGVyIGFuZCBjcmMtcGF5bG9hZCBwcm9wZXJ0aWVzCgkgIGRvbid0IGVycm9yIG91dCBvbiBzb21lIHRoaW5ncyB0aGF0IGFyZSByZWNvdmVyYWJsZQoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOiAoR1NUX1NUQVJUX1RFU1QpLCAoZ2RwcGF5X3N1aXRlKToKCSAgYWRkIHRlc3QgZm9yIGNyYwoKMjAwNi0wNi0wMSAyMjowMDoyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IG1vcmUgZ29iamVjdCBtYWNyb3M6IG9iajwtPmtsYXNzLCBHc3RYWFg8LT5Hc3RYWFhDbGFzcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5oOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmg6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5oOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuaDoKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5oOgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmg6CgkgICogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmg6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuaDoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmg6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuaDoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5oOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2VuYy5oOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuaDoKCSAgKiBleHQvbmFzL25hc3NpbmsuaDoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuaDoKCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5oOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0Lmg6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90Lmg6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuaDoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5oOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmg6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuaDoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgKiBleHQveGluZS9nc3R4aW5lLmg6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5oOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuaDoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5oOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmg6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5oOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5oOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmg6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5oOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5oOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5oOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuaDoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5oOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmg6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuaDoKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5oOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuaDoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuaDoKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5oOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmg6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuaDoKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmg6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuaDoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4Lmg6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5oOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5oOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuaDoKCSAgKiBzeXMvdmNkL3ZjZHNyYy5oOgoJICBGaXggbW9yZSBnb2JqZWN0IG1hY3Jvczogb2JqPC0+a2xhc3MsIEdzdFhYWDwtPkdzdFhYWENsYXNzCgoyMDA2LTA1LTIyIDE1OjUzOjA3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9nZHAvOiBIYW5kbGUgZXJyb3IgY2FzZXMgd2hlbiBjYWxsaW5nIGZ1bmN0aW9ucyBkbyBkb3dud2FyZHMgc3RhdGUgY2hhbmdlIGFmdGVyIHBhcmVudCdzIGNoYW5nZV9zdGF0ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfZGVwYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5Lmg6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlciksCgkgIChnc3RfZ2RwX3BheV9jaGFpbiksIChnc3RfZ2RwX3BheV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9nZHBfcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgSGFuZGxlIGVycm9yIGNhc2VzIHdoZW4gY2FsbGluZyBmdW5jdGlvbnMKCSAgZG8gZG93bndhcmRzIHN0YXRlIGNoYW5nZSBhZnRlciBwYXJlbnQncyBjaGFuZ2Vfc3RhdGUKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBjbGVhbiB1cCBtb3JlCgoyMDA2LTA1LTIyIDEzOjI1OjUyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGFkZGluZyBHRFAgcGF5bG9hZGVyIGFuZCBkZXBheWxvYWRlci4gQnVpbGQgaW50ZWdyYXRpb24gd2lsbCBmb2xsb3cgbGF0ZXIgd2hlbiB0aGUgR0RQIGlzc3VlcyBmb3IgY29yZSBhcmUgc29ydGVkIG91dC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ2RwL2dzdGdkcC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9nZHBfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfZ2RwX2RlcGF5X2luaXQpLAoJICAoZ3N0X2dkcF9kZXBheV9maW5hbGl6ZSksIChnc3RfZ2RwX2RlcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfZGVwYXlfY2hhbmdlX3N0YXRlKSwgKGdzdF9nZHBfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9nZHBfcGF5X2NsYXNzX2luaXQpLCAoZ3N0X2dkcF9wYXlfaW5pdCksCgkgIChnc3RfZ2RwX3BheV9kaXNwb3NlKSwgKGdzdF9nZHBfc3RhbXBfYnVmZmVyKSwKCSAgKGdzdF9nZHBfYnVmZmVyX2Zyb21fY2FwcyksIChnc3RfZ2RwX3BheV9idWZmZXJfZnJvbV9idWZmZXIpLAoJICAoZ3N0X2dkcF9idWZmZXJfZnJvbV9ldmVudCksIChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIpLAoJICAoZ3N0X2dkcF9xdWV1ZV9idWZmZXIpLCAoZ3N0X2dkcF9wYXlfY2hhaW4pLAoJICAoZ3N0X2dkcF9wYXlfc2lua19ldmVudCksIChnc3RfZ2RwX3BheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2dkcF9wYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKHNldHVwX2dkcGRlcGF5KSwKCSAgKGNsZWFudXBfZ2RwZGVwYXkpLCAoZ2RwZGVwYXlfcHVzaF9wZXJfYnl0ZSksIChHU1RfU1RBUlRfVEVTVCksCgkgIChzZXR1cF9nZHBkZXBheV9zdHJlYW1oZWFkZXIpLCAoZ2RwZGVwYXlfc3VpdGUpLCAobWFpbik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6IChzZXR1cF9nZHBwYXkpLCAoY2xlYW51cF9nZHBwYXkpLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAoc2V0dXBfZ2RwcGF5X3N0cmVhbWhlYWRlciksIChnZHBwYXlfc3VpdGUpLAoJICAobWFpbik6CgkgIGFkZGluZyBHRFAgcGF5bG9hZGVyIGFuZCBkZXBheWxvYWRlci4gIEJ1aWxkIGludGVncmF0aW9uIHdpbGwKCSAgZm9sbG93IGxhdGVyIHdoZW4gdGhlIEdEUCBpc3N1ZXMgZm9yIGNvcmUgYXJlIHNvcnRlZCBvdXQuCgoyMDEyLTA5LTEwIDIwOjM4OjE0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHJ0cG11eDogTWlzYyBmaXggZm9yIDAuMTEKCSAgQ29udmVydCB0aGUgaW5jb21pbmcgY2FwcyBiZWZvcmUgcHJveHlpbmcgdGhlbQoJICBDbGVhciB0aGUgbGFzdF9wYWQgd2hlbiBnb2luZyB0byByZWFkeQoJICB0ZXN0czogSW1wbGVtZW50IGFjY2VwdF9jYXBzLCBkb24ndCBsZWFrIGV2ZW50CgoyMDEyLTA5LTEwIDE2OjEyOjM5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3V2Y2gyNjQvTWFrZWZpbGUuYW06CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjQtbWFyc2hhbC5saXN0OgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0c3JjOiBVc2UgZ2VuZXJpYyBtYXJzaGFsbGVyCgoyMDEyLTA5LTEwIDE2OjA5OjI2IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy91dmNoMjY0L01ha2VmaWxlLmFtOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0LW1hcnNoYWwubGlzdDoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NC5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5oOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5oOgoJKiBzeXMvdXZjaDI2NC91dmNfaDI2NC5jOgoJKiBzeXMvdXZjaDI2NC91dmNfaDI2NC5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdXZjaDI2NGRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3V2Y2gyNjRkZW11eF9kYXRhL3ZhbGlkX2gyNjRfanBnLmgyNjQ6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3V2Y2gyNjRkZW11eF9kYXRhL3ZhbGlkX2gyNjRfanBnLmpwZzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdXZjaDI2NGRlbXV4X2RhdGEvdmFsaWRfaDI2NF9qcGcubWpwZzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdXZjaDI2NGRlbXV4X2RhdGEvdmFsaWRfaDI2NF95dXkyLmgyNjQ6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3V2Y2gyNjRkZW11eF9kYXRhL3ZhbGlkX2gyNjRfeXV5Mi5tanBnOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91dmNoMjY0ZGVtdXhfZGF0YS92YWxpZF9oMjY0X3l1eTIueXV5MjoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvYm9vbGVhbl9wcm9wZXJ0eS5nbGFkZToKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC9lbnVtX3Byb3BlcnR5LmdsYWRlOgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L2VudW1fcHJvcGVydHlfZ3RrMi5nbGFkZToKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC9pbnRfcHJvcGVydHkuZ2xhZGU6CgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvdGVzdC11dmNoMjY0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvd2luZG93LmdsYWRlOgoJICBVVkMgSDI2NCBwbHVnaW4KCjIwMTItMDktMDkgMjM6NTI6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkgIG9wZW5jdjogZGlzYWJsZSBtb3Rpb25jZWxscyAiZGF0ZSIgcHJvcGVydHkgZm9yIG5vdwoJICBTaG91bGRuJ3QgYmUgb2YgdHlwZSBsb25nLiBOb3Qgc3VyZSBpdCdzIHVzZWZ1bCBhdCBhbGwsIHNvCgkgIGp1c3QgZGlzYWJsZSBpdCBmb3Igbm93IHRvIHNlZSBpZiBzb21lb25lIG1pc3NlcyBpdC4KCjIwMTItMDktMDkgMTQ6MzU6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVtb3ZlIG5vbi1leGlzdGFudCBobHNzaW5rIHBsdWdpbiBmcm9tIE5PTlBPUlRFRCBsaXN0CgoyMDEyLTA5LTA4IDE2OjA4OjIxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJICBkZWNrbGlua3Npbms6IEZpeCBtZW1vcnkgbGVhawoKMjAxMi0wOS0wOCAxNTo1Nzo1NyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSAgaW50ZXI6IGZpeCBsZWFrcyBpbiBhdWRpb3NyYy9zaW5rCgoyMDEyLTA5LTA4IDE3OjAzOjMzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogRG9uJ3Qgb3ZlcnJpZGUgdXBzdHJlYW0gZnJhbWVyYXRlIGFuZCBQQVIKCSAgSWYgdXBzdHJlYW0gcHJvdmlkZWQgc29tZSwgdGhlcmUncyBhIGdvb2QgY2hhbmNlIHRoZXkgYXJlIHRoZSBvbmVzIHRvIHVzZQoKMjAxMi0wOS0wOCAxNDo0MzozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnRlZHBsdWdpbi5jOgoJICBobHM6IGRpc2FibGUgaGxzc2luayBidXQgZG8gYnVpbGQgaGxzZGVtdXgKCjIwMTItMDktMDggMTQ6MzE6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBSZXZlcnQgImNvbmZpZ3VyZS5hYzogUHJvcGVybHkgZGlzYWJsZSBITFMgcGx1Z2luIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDNhZDM0NDVhMjVmMzFiYzBkMDE2N2E0ZjQxMzc5MWJlYTgwMDY3ODMuCgkgIFRoaXMgZGlzYWJsZWQgaGxzZGVtdXggYXMgd2VsbAoKMjAxMi0wOS0wOCAxNDowNTowOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogUHJvcGVybHkgZGlzYWJsZSBITFMgcGx1Z2luCgoyMDEyLTA5LTA3IDE2OjA4OjU3ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJICBobHM6IEFkZCBtaXNzaW5nIEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTCgoyMDEyLTA5LTA3IDE2OjA3OjQwICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmg6CgkgIGhsc3Npbms6IEFkZCBzZWdtZW50IHRhcmdldC1kdXJhdGlvbiBwcm9wZXJ0eQoJICBUaGlzIHByb3BlcnR5IGNhdXNlcyBobHNzaW5rIHRvIHB1c2ggYSBmb3JjZSBrZXkgdW5pdCBldmVudCB1cHN0cmVhbQoJICBldmVyeSB0YXJnZXQtZHVyYXRpb24gc2Vjb25kcy4gVGhpcyBpcyBmb3Igc2ltcGxlIGF1dG9tYXRpYyBzZWdtZW50aW5nLgoJICBUbyBkaXNhYmxlIGl0LCBzZXQgdGhlIHByb3BlcnR5IHRvIDAgYW5kIHB1c2ggdGhlIGZvcmNlIGtleSB1bml0IGV2ZW50CgkgIG1hbnVhbGx5LgoKMjAxMS0wOC0yMSAxMTowMDo1MSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnRlZHBsdWdpbi5jOgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmg6CgkqIGdzdC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkqIGdzdC9obHMvZ3N0bTN1OHBsYXlsaXN0Lmg6CgkgIGhsczogYWRkIGhsc3NpbmsgZWxlbWVudAoKMjAxMi0wOS0wNiAwMTo1MzowNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiB1c2UgY29ycmVjdCB2YXJpYWJsZSB3aGVuIGhhbmRsaW5nIHBhZCBwcm9iZSBidWZmZXJzCgkgIFBhZCBwcm9iZSBkYXRhIGlzIGluIHRoZSBHc3RQYWRQcm9iZUluZm8sIG5vdCBpbiB0aGUgdXNlciBkYXRhCgkgIHBhcmFtZXRlci4KCjIwMTItMDktMDMgMTk6MjU6NTIgKzAxMDAgIFJpY28gVHpzY2hpY2hob2x6IDxyaWNvdHpAdC1vbmxpbmUuZGU+CgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJICBteXRodHY6IHVwZGF0ZSBmb3IgZHVyYXRpb24gbWVzc2FnZSBBUEkgY2hhbmdlCgoyMDEyLTA5LTAzIDE0OjIxOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogc2V0IGludGVybGFjZV9jb2RpbmcgYmFzZWQgb24gaW5wdXQgY2FwcwoJICBhbmQgcmVtb3ZlIHByb3BlcnR5LgoKMjAxMi0wOS0wMyAxNDowNDo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IGNvbmZpZ3VyZSBwcm9maWxlL2xldmVsIGZyb20gYWxsb3dlZCBkb3duc3RyZWFtIGNhcHMgaW5zdGVhZCBvZiBwcm9wZXJ0aWVzCgkgIFRoaXMgaXMgaG93IGl0J3MgZG9uZSBlbHNld2hlcmUgYW5kIHdvcmtzIGJldHRlciB3aXRoIGVuY29kZWJpbi4KCSAgUmVtb3ZlcyAiZm9yY2UtcHJvZmlsZSIgcHJvcGVydHksIHJlYWQtb25seSAicHJvZmlsZSIgcHJvcGVydHkgYW5kCgkgICJsZXZlbCIgcHJvcGVydHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzA2MDgKCjIwMTItMDktMDMgMTM6NTg6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSAgZGlyYWNwYXJzZTogZml4IG1haW4gcHJvZmlsZSBtYXBwaW5nCgoyMDEyLTA5LTAzIDEzOjA0OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogcHJldHRpZnkgZW51bSBwcm9wZXJ0eSBuaWNrcwoJICBVc2UgJy0nIGluc3RlYWQgb2YgJ18nIGFzIHdvcmQgc2VwYXJhdG9yLgoKMjAxMi0wOS0wMyAxMjo0MTozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJICBkaXJhY3BhcnNlOiBjaGFuZ2UgImludGVybGFjZWQiIGJvb2xlYW4gaW4gY2FwcyB0byAiaW50ZXJsYWNlLW1vZGUiCgkgIE5vdCBzdHJpY3RseSBuZWVkZWQsIGJ1dCBsZXQncyBtYWtlIGl0IGNvbnNpc3RlbnQgd2l0aCB0aGUgcmF3CgkgIHZpZGVvIHdheSBvZiBkb2luZyB0aGluZ3MuCgoyMDEyLTA5LTAzIDEyOjMzOjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkgIGRpcmFjcGFyc2U6IHVzZSBzdHJpbmdzIGZvciBwcm9maWxlIGFuZCBsZXZlbCBpbiBjYXBzCgkgIEZvciBjb25zaXN0ZW5jeSB3aXRoIG1vc3Qgb3RoZXIgZm9ybWF0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODQzNgoKMjAxMi0wOS0wMiAxMjozNjozNyArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSAgc3BjOiBObyBuZWVkIHRvIGRlZmluZSBHTElCX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzE3NQoKMjAxMi0wOS0wMiAwMzo1NTozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM3RhZzogZXh0cmFjdCB5ZWFyIHRvIHdyaXRlIGludG8gSUQzdjEgdGFnIGZyb20gR1NUX1RBR19EQVRFX1RJTUUgbm90IEdTVF9UQUdfREFURQoKMjAxMi0wOS0wMSAyMTo0NjoxOSArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogc2V0IDAgZHVyYXRpb24gd2hlbiB2b3BfY29kZWQgaXMgMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMTY5CgoyMDEyLTA5LTAyIDAxOjQyOjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGdzdF9tZXNzYWdlX25ld19kdXJhdGlvbiAtPiBnc3RfbWVzc2FnZV9uZXdfZHVyYXRpb25fY2hhbmdlZAoKMjAxMi0wOS0wMSAwOToxMjo1MSAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBIYW5kbGUgY2FwcyBxdWVyeSBvbiBpbnRlcm5hbCBzcmNwYWQKCSAgUmVwbHkgd2l0aCBBTlkgY2FwcyB0byBlbnN1cmUgbGlua2luZyB0aGUgaW50ZXJuYWwgc3JjIHBhZC4gVGhpcwoJICBtaWdodCBuZWVkIG1vcmUgYXR0ZW50aW9uIGxhdGVyLCB0byByZXBseSB3aXRoIHRoZSByZWFsIHVwc3RyZWFtIGNhcHMKCSAgZm9yIHRoZSBjdXJyZW50bHkgYWN0aXZlIGVsZW1lbnQuCgoyMDEyLTA4LTMxIDE1OjI4OjI5IC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkL21wZWdkZW11eDogU2VuZCBib3RoIFBUUyBhbmQgRFRTIGRvd25zdHJlYW0KCSAgTm93IHRoYXQgd2UgY2FuLgoKMjAxMi0wOS0wMiAwMDowNDoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkgIHNwYzogZG9uJ3QgbGVhayBidWZmZXIgaW4gY2FzZSBvZiBhbiBpbml0IGVycm9yCgoyMDEyLTA5LTAyIDAwOjM0OjM4ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zcGMvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkqIGV4dC9zcGMvdGFnLmM6CgkqIGV4dC9zcGMvdGFnLmg6CgkgIHNwYzogcG9ydCB0byAwLjExCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMxNzUKCjIwMTItMDgtMzEgMTQ6MTM6NTggLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uaDoKCSAgcmVzaW5kdmQ6IFBsdWcgYSB2aWRlbyBwYXJzZXIgaW4gZnJvbnQgb2YgZGVjb2RlcgoJICBTZWVtcyB0byBtYWtlIHBsYXliYWNrIGJvdGggYmV0dGVyIGFuZCB3b3JzZS4gVGhlIHBhcnNlciBuZWVkcyBzb21lCgkgIGZpeGluZywgaXQgc2VlbXMgOi0vCgoyMDEyLTA4LTMxIDEyOjMxOjQ4IC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IE1ha2UgR0FQIGV2ZW50IGF3YXJlCgoyMDEyLTA4LTMxIDA4OjQ2OjQ1IC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5oOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmg6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5oOgoJICByZXNpbmR2ZDogQWRkIHNvbWUgR0FQIGV2ZW50IHN0dWZmIHRvIG1ha2Ugc3RpbGwtZnJhbWVzIHN0YXJ0IHRvIHdvcmsKCSAgQW5kIHJlbW92ZSB0aGUgZGVhZCBhdWRpb211bmdlIGVsZW1lbnQuIEl0IGlzbid0IG5lZWRlZCBub3csIHdlIGp1c3QKCSAgc2VuZCBHQVAgZXZlbnRzCgoyMDEyLTA2LTA5IDIyOjM2OjA2ICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZWZzLmg6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5oOgoJKiBleHQvcmVzaW5kdmQvZ3N0cGVzZmlsdGVyLmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RwZXNmaWx0ZXIuaDoKCSogZXh0L3Jlc2luZHZkL3BsdWdpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmlucHV0c2VsZWN0b3IuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmlucHV0c2VsZWN0b3IuaDoKCSogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5oOgoJICByZXNpbmR2ZDogSW5pdGlhbCBwYXJ0aWFsIHBvcnQgdG8gMC4xMQoKMjAxMi0wOC0zMCAxODozOTo1MCAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBEb24ndCBkcm9wIHVwc3RyZWFtIGV2ZW50cyBkdWUgdG8gc2lsbHkgdHlwbwoKMjAxMi0wOC0zMCAxNzo1MTo1MCAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiBNZXJnZSBzb21lIERWRCBwaWVjZXMgYW5kIGZpeGVzCgkgIEJyaW5nIHRoZSByZXNpbmR2ZCBjb3B5IG9mIG1wZWdwc2RlbXV4IGFuZCB0aGUgbm9ybWFsIHZlcnNpb24KCSAgc2xpZ2h0bHkgY2xvc2VyIHRvZ2V0aGVyLgoJICBEb24ndCBmb3J3YXJkIGluY29taW5nIHNpbmsgY2FwcyBldmVudCB0byBkb3duc3RyZWFtIGVsZW1lbnRzLgoKMjAxMi0wNi0xMSAwODozMzozNiArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBhdm9pZCBleHRyYSByZWZzL3VucmVmcyBvZiB0aGUgZGVtdXhlcgoJICBDaGFuZ2UgYWxsIHRoZSBnc3RfcGFkX2dldF9wYXJlbnQoKSBjYWxscyB0byBhIGNhc3QgdG8gdGhlCgkgIHBhc3NlZCBwYXJlbnQgdmFyaWFibGUgd2hlcmUgYXBwcm9wcmlhdGUsIGFuZCBkb24ndCB1bnJlZiwKCSAgaW5jbHVkaW5nIHRoZSBleHRyYSB1bnJlZiBpbiB0aGUKCSAgZ3N0X2ZsdXBzX2RlbXV4X3NpbmtfYWN0aXZhdGVfcHVzaCgpIGZ1bmN0aW9uLgoKMjAxMi0wOC0zMCAxMjoxMToyMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGFkanVzdCB0byBtb2RpZmllZCB2aWRlbyBvdmVybGF5IGNvbXBvc2l0aW9uIEFQSQoJICAuLi4gYW5kIHN1cHBseSBvdmVybGF5IHJlY3RhbmdsZSBkYXRhIGluIEFZVVYgYXMgcHJvdmlkZWQgYnkgaW5wdXQKCSAgZGF0YSByYXRoZXIgdGhhbiBjb252ZXJ0aW5nIHRvIFJHQi4KCjIwMTItMDgtMjkgMjI6MDU6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiBubyBuZWVkIHRvIHNldCBjbG9jay9iYXNldGltZSBhZ2FpbgoJICBUaGUgYmFzZSBhbmQgY2xvY2sgYXJlbid0IGxvc3QgYW55bW9yZSBvbiBzdGF0ZSBjaGFuZ2VzCgkgIGluIDEuMAoKMjAxMi0wOC0yOSAyMjowNTowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW46IG5vIG5lZWQgdG8gc2VuZCBleHRyYSByZWNvbmZpZ3VyZQoJICBTZXR0aW5nIGNhcHNmaWx0ZXJzIGFscmVhZHkgc2VuZHMgcmVjb25maWd1cmUgZXZlbnRzIHdoZW4gYSBuZXcKCSAgY2FwcyBpcyBzZXQsIG5vIG5lZWQgdG8gcmVzZW5kIHRoZW0uCgoyMDEyLTA4LTI4IDIxOjAxOjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogcmVxdWVzdCBfJXUgdGVtcGxhdGVzIGluc3RlYWQgb2YgXyVkCgkgIEluIDEuMCwgdGVtcGxhdGVzIGhhdmUgYmVlbiByZW5hbWVkIHRvIF8ldSBhcyBkZWZhdWx0CgoyMDEyLTA4LTI2IDE2OjQzOjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjogZml4IGltYWdlIGxvY2F0aW9uIHN3aXRjaGluZyB0ZXN0CgkgIFRoZSB0ZXN0IHNob3VsZCB3YWl0IHVudGlsIHRoZSBsYXN0IGltYWdlLWRvbmUgaXMgcG9zdGVkIHNvIGl0CgkgIGNhbiBjb3JyZWN0bHkgY2hlY2sgdGhhdCBhbGwgaW1hZ2VzIGhhdmUgYmVlbiBzYXZlZC4KCjIwMTItMDgtMjYgMTY6NDI6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogcmV3b3JrIHZpZGVvIHJlY29yZGluZyBlb3MgcHVzaAoJICBQdXNoIEVPUyBvdXRzaWRlIG9mIHdyYXBwZXJjYW1lcmFiaW5zcmMgc28gdGhhdCBub25lIG9mIHRoZQoJICBpbnRlcm5hbCBlbGVtZW50cyBnZXRzIGl0cyBwYWRzIGludG8gZW9zIHN0YXRlLCBwcmV2ZW50aW5nIGFueQoJICBmdXJ0aGVyIGRhdGEgZnJvbSBwYXNzaW5nCgoyMDEyLTA4LTI4IDExOjA3OjQxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZW5zdXJlIHN1ZmZpY2llbnRseSBzaXplZCBidWZmZXIgd2hlbiB3cmFwcGluZyBOQUwKCSAgTm90ZWQgYnkgPHpoYW5neWFucGluZzIxMEB5YWhvby5jb20uY24+CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODI1ODkKCjIwMTItMDgtMjQgMDk6MDE6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9NYWtlZmlsZS5hbToKCSAgc2htOiByZW1vdmUgdW5uZWVkZWQgZ2xpYi1nZW4tbWFrIGluY2x1ZGUgaW4gTWFrZWZpbGUKCSAgTm8gZW51bXMgb3IgbWFyc2hhbGxlcnMgdG8gYmUgZ2VuZXJhdGVkIGhlcmUuIFNob3VsZCBhbHNvCgkgIGJlIGdzdC1nbGliLWdlbi5tYWsgdGhlbi4KCjIwMTItMDgtMjIgMTU6MDg6NTMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiByZXZlcnQgcmVuYW1pbmcgb2YgdGhlIHR5cGUKCSAgVGhlIHNwZWNpYWwgdHlwZSBuYW1lIHdhcyBsb3N0IHdoZW4gbWVyZ2luZyBmcm9tIGJhc2UuCgoyMDEyLTA4LTIyIDEzOjMwOjQwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2NjhhY2VlIHRvIDRmOTYyZjcKCjIwMTItMDgtMjIgMTM6MTk6NTMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVtcCBndGstZG9jIHJlcSB0byAxLjEyIChtYXItMjAwOSkKCSAgVGhpcyBhbGxvd3MgdXMgdG8gZS5nLiB1bmNvbmRpdGlvbmFsbHkgdXNlIGd0a2RvYy1yZWJhc2UuCgoyMDEyLTA4LTIxIDEzOjI5OjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IGF2b2lkIHJlZ2lzdGVyaW5nIGVudW0gdHlwZSBvZiBzYW1lIG5hbWUgYXMgbGlidmlzdWFsIHBsdWdpbiBpbiAtYmFzZQoKMjAxMi0wOC0xNyAxMToxMjoyMiArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZDogdXNlIHNjYWxlIGZ1bGxzY3JlZW4gbWV0aG9kLgoJICBUaGlzIG1ha2VzIHRoZSBjb21wb3NpdG9yIHNjYWxlIHRoZSBzdXJmYWNlIHRvIGZpdCBhbmQgcHJlc2VydmVzCgkgIGFzcGVjdCByYXRpby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTQ1MwoKMjAxMi0wOC0xNyAxMToxMDozOSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZDogcmVzcG9uZCB0byBwaW5nL3BvbmcgcHJvdG9jb2wgc28gd2UncmUgbm90IGRlZW1lZCB1bnJlc3BvbnNpdmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE0NTMKCjIwMTItMDgtMjEgMTA6Mzc6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IGNoZWNrIGZvciB3YXlsYW5kCgkgIFdlIG9ubHkgc2VlbSB0byBuZWVkIHdheWxhbmQtY2xpZW50LiBBbHNvIG1ha2Ugd29yayB3aXRoCgkgIHdheWxhbmQgYmVpbmcgaW5zdGFsbGVkIGluIGEgbm9uLWRlZmF1bHQgcHJlZml4IGJ5IG5vdAoJICBvdmVyd3JpdGluZy9jbGVhcmluZyBXQVlMQU5EX3tDRkxBR1MsTElCU30gZm9yIG5vIHJlYXNvbgoJICBhdCBhbGwuCgoyMDEyLTA4LTIxIDEwOjI5OjU1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzdGFnOiBmaXggYnVpbGQKCSAgU29tZSBjb2RlIHNsaXBwZWQgaW50byB0aGUgbGFzdCBjb21taXQgdGhhdCB3YXMgbWVhbnQgdG8gYmUKCSAgcHVzaGVkIHNlcGFyYXRlbHkuIFVzZSBnc3RfZGF0ZV90aW1lX3VucmVmKCkgaW5zdGVhZCBvZiBfZnJlZSgpLgoKMjAxMi0wOC0wOCAxNzoxMDoyOCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuaDoKCSAgd2F5bGFuZDogTW9yZSBmaXhlcyBiYXNlZCBvbiB3YXlsYW5kLTAuOTUuMCBhbmQgZ3N0cmVhbWVyLTEuMCBhcGlzCgkgIC0gYnVtcCB3YXlsYW5kIHZlcnNpb24gdG8gMC45NS4wIHdoaWNoIHdpbGwgbGVhZCB0byBzdGFibGUgMS4wIHJlbGVhc2UKCSAgLSBhdm9pZCBtZW1jb3B5IGFuZCB1c2UgcHJvcG9zZV9hbGxvY2F0aW9uIGZvciBHc3RCdWZmZXJQb29sIGFsbG9jYXRpb24KCSAgLSB1c2luZyBXYXlsYW5kQnVmZmVyUG9vbAoJICAtIHNobTogQWxsb2NhdGUgc2htIGJ1ZmZlcnMgdGhyb3VnaCBuZXcgd2xfc2htX3Bvb2wgaW50ZXJmYWNlCgkgICh0aGUgc2htIGJ1ZmZlciBhbGxvY2F0aW9uIGlzIGEgdHdvIHN0ZXAgcHJvY2VzcyBub3c6IGZpcnN0CgkgIGFsbG9jYXRlIGEgd2xfc2htX3Bvb2wsIHRoZW4gYWxsb2NhdGUgYSBidWZmZXIgZnJvbSB0aGUgcG9vbCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTQ1MwoKMjAxMi0wOC0yMSAxMDoyMjo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzdGFnOiBwb3J0IHRvIDAuMTEKCjIwMTItMDgtMjEgMDA6MTA6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgZXhhbXBsZXM6IEdTVF9UQUdfREFURSAtPiBHU1RfVEFHX0RBVEVfVElNRQoJICBJbiBjYW1lcmFiaW4yIGV4YW1wbGUuCgoyMDEyLTA4LTIwIDIzOjM3OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJICB2aWRlby94LWR2ZC1zdWJwaWN0dXJlIC0+IHN1YnBpY3R1cmUveC1kdmQKCjIwMTItMDgtMTggMjA6MzE6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJKiBnc3QvbXBlZzFzeXMvbWFpbi5oOgoJKiBnc3QvcnRqcGVnL1JUanBlZy5jOgoJKiBnc3QvcnRqcGVnL1JUanBlZy5oOgoJKiBnc3QvdHRhL2ZpbHRlcnMuaDoKCSogZ3N0L3ZiaWRlYy92YmlkYXRhLmM6CgkqIGdzdC92YmlkZWMvdmJpZGF0YS5oOgoJKiBnc3QvdmJpZGVjL3ZiaXNjcmVlbi5jOgoJKiBnc3QvdmJpZGVjL3ZiaXNjcmVlbi5oOgoJICBGaXggdXAgRlNGIGFkZHJlc3MgaW4gc29tZSBzb3VyY2UgZmlsZXMgYXMgd2VsbAoKMjAxMi0wOC0xOCAxMTowOTozOSAtMDQwMCAgQnJpYW4gUGVwcGxlIDxicGVwcGxlQGZlZG9yYXByb2plY3Qub3JnPgoKCSogQ09QWUlORzoKCSogQ09QWUlORy5MSUI6CgkgIENvcnJlY3QgaW5jb3JyZWN0IEZTRiBhZGRyZXNzIGluIGxpY2Vuc2UgZmlsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MjE1OAoKMjAxMi0wOC0xNyAyMjo1NzoxMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBzeW5jIHRvIGNoYW5nZSBpbiBiYXNlIGFuZCBwb3J0CgkgIEFkZCBzdXBwb3J0IGZvciBHc3RWaWRlb01ldGEgYW5kIEdzdFZpZGVvRnJhbWUuIFJlbW92ZSBzb21lIHJlZHVuZGFudCBmaWVsZHMKCSAgdGhhdCBhcmUgYWxzbyBpbiBHc3RWaWRlb0luZm8uIERvbid0IGRpc2FibGUgdGhlIHNoYWRlciBjb2RlLCBpdCBkb2VzIG5vdAoJICBsb29rIGJyb2tlbi4KCjIwMTItMDgtMTcgMTU6MTU6MzQgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9SRUFETUU6CgkgIGF1ZGlvdmlzdWFsaXplcjogc3RhdHVzIHVwZGF0ZQoKMjAxMi0wOC0xNSAxODoyODowOSAtMDQwMCAgQnJpYW4gUGVwcGxlIDxicGVwcGxlQGZlZG9yYXByb2plY3Qub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFkZCBtaXNzaW5nIEFDX0xBTkdfUFJPR1JBTSBjYWxsIHRvIERpcmVjdFNob3cgdGVzdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTk1MgoKMjAxMi0wOC0xNSAxMToyNjo1OSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICB2aXN1YWxpemVyOiBzbWFsbCBjbGVhbnVwCgkgIEFwcGx5IGNsZWFudXAgZnJvbSBjb3B5IGluIGJhc2UuCgoyMDEyLTA3LTI0IDIwOjM5OjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEZpeCBmbHVzaGluZy9zeW5jIGhhbmRsaW5nCgkgIFRoZXJlIHdhcyBhIHN0cmF5IGFkYXB0ZXJfZmx1c2goKSBub3cgdGhhdCB3ZSB1c2VkIGEgdGVtcG9yYXJ5IGJ1ZmZlcgoKMjAxMi0wNy0xOSAxMzozNTo1MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBCZXR0ZXIgZGV0ZWN0IFBDUiByZXNldHMKCSAgQXNzdW1lIHRoYXQgYW55IGRpZmZlcmVuY2VzIGluIFBDUiBncmVhdGVyIHRoYW4gMTVzIG1lYW5zIHRoZXJlIGlzCgkgIGEgcmVzZXQgaW4gdGhlIHN0cmVhbS4KCjIwMTItMDctMTkgMDk6MDU6MjggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBDYWxsIGdzdF92aWRlb19kZWNvZGVyX25lZ290aWF0ZSgpCgoyMDEyLTA3LTE5IDA5OjA1OjEzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSAgc2Nocm9kZWM6IENhbGwgZ3N0X3ZpZGVvX2RlY29kZXJfbmVnb3RpYXRlKCkKCjIwMTItMDctMTQgMTM6NTk6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogUmVtb3ZlL2RlbW90ZSBzb21lIGRlYnVnZ2luZwoKMjAxMi0wNy0xMyAxNjo1NjoxMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBbHdheXMgdXNlIGN1cnJlbnQgUFRTL0RUUwoJICBUaGlzIGF2b2lkcyBzZXR0aW5nIG9sZCBQVFMgYW5kL29yIERUUwoKMjAxMi0wNy0xMyAxNjoyMjoyNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBSZW1vdmUgdW5uZWVkZWQgbWVtc2V0KDApCgoyMDEyLTA3LTEzIDE2OjIyOjExICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIG1wZWd0czogVXNlIEdfR05VQ19JTlRFUk5BTAoKMjAxMi0wNy0xMSAwODoxMDozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogZHZiIHBsdWdpbiBpcyBwb3J0ZWQKCjIwMTItMDctMTEgMDg6MTA6MTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YjogTW9yZSBmaXh1cHMgdG8gMS4wCgkgIE5vdCB0ZXN0ZWQgeWV0ICEKCSAgQ29uZmxpY3RzOgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jCgoyMDEyLTA2LTI5IDE4OjA0OjA0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvY2FtZGV2aWNlLmM6CgkgIGNhbTogQWxsb3cgdGltZSBmb3IgQ0EgdG8gaW5pdGlhbGl6ZQoJICBTb21lIGRldmljZXMgdGFrZSBzb21lIHRpbWUgdG8gaW5pdGlhbGl6ZSwgYW5kIHVudGlsIHRoZXkgYXJlIHRoZXkKCSAgd2lsbCBlcnJvciBvdXQgd2hlbiB0cnlpbmcgdG8gZ2V0IGluZm9ybWF0aW9uIGFib3V0IHRoZSBDQSBkZXZpY2UuCgoyMDEyLTA2LTI5IDE4OjAxOjE1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuYzoKCSAgY2FtOiBQTVRfUkVQTFkgcGFyc2luZwoJICBOb3QgdXNlZCB5ZXQKCjIwMTItMDYtMjkgMTg6MDA6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5oOgoJICBkdmJiYXNlYmluOiBTd2l0Y2ggdG8gdXNlIHRzcGFyc2UKCjIwMTItMDYtMjkgMTc6NTM6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogVXNlIGdzdF9zdHJ1Y3R1cmVfKl90YWtlX3ZhbHVlIHdoZXJlIGFwcGxpY2FibGUKCSAgU2F2ZXMgY29weWluZy9mcmVlaW5nIGRhdGEKCjIwMTItMDYtMjkgMTY6MTQ6MDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogQ2FjaGUgdGhlIEdJQ29udgoJICBBdm9pZHMgaGF2aW5nIHRvIGNvbnN0YW50bHkgb3Blbi9mcmVlIHRoZW0gKHdoaWNoIHdpbGwgZW5kIHVwIGJlaW5nCgkgIHZlcnkgb2Z0ZW4gd2l0aCBFSVQvTklUKS4KCjIwMTItMDYtMjkgMTY6MDk6MzEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RiYXNlOiByZXNldCBlbGVtZW50IGluIFJFQURZPT5QQVVTRUQKCSAgRW5zdXJlcyBhbGwgc3ViY2xhc3MgcmVzZXQgdm1ldGhvZHMgYXJlIGNhbGxlZAoKMjAxMi0wNi0yOCAxMjoxODoyOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBVc2UgbW9yZSBRdWFya3MKCjIwMTItMDYtMjYgMTk6MDE6MDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUmVtb3ZlIHVzZWxlc3MgY29kZQoJICBQQ1IvT1BDUiBpcyBtZWFudCB0byBiZSBoYW5kbGVkIGJ5IHRoZSBwYWNrZXRpemVyCgoyMDEyLTA2LTI2IDE4OjU5OjMyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IENhbGN1bGF0ZSBwY3IvdGltZS9vZmZzZXQgc2VwYXJhdGVseSBwZXIgcHJvZ3JhbQoJICBBdm9pZHMgcXVpdGUgYSBmZXcgaXNzdWVzIHdpdGggbXVsdGktcHJvZ3JhbSBzdHJlYW1zCgoyMDEyLTA2LTI2IDE4OjU0OjU1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJICB0c3BhcnNlOiBQdXNoIG91dCBidWZmZXIgb24gbWFpbiBzb3VyY2UgcGFkCgoyMDEyLTA2LTI2IDE4OjUxOjIxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkgIG1wZWd0YmFzZTogdm1ldGhvZCB0byBub3RpZnkgd2hlbiB3ZSdyZSBkb25lIHByb2Nlc3NpbmcgaW5wdXQKCSAgVGhpcyBjYW4gYmUgdXNlZCB0byBub3RpZnkgc3ViY2xhc3NlcyBubyBtb3JlIGRhdGEgaXMgZXhwZWN0ZWQgdGhpcwoJICByb3VuZC4KCSAgdHNwYXJzZSB3aWxsIHVzZSBpdCB0byBwdXNoIHdob2xlIGJ1ZmZlcnMgKHdpdGhvdXQgY29weSkgb24gdGhlIG1haW4KCSAgc291cmNlIHBhZC4KCSAgSXQgY291bGQgYWxzbyBiZSB1c2VkIGxhdGVyIHRvIGRlY2lkZSB3aGV0aGVyIHRvIHB1c2ggcGVuZGluZyBkYXRhCgkgIGluIG9yZGVyIHRvIHJlZHVjZSBsYXRlbmN5LgoKMjAxMS0wMi0wMSAxMTozOToxNiAtMDgwMCAgRmFicml6aW8gKE1pc3RvKSBNaWxvIDxtaXN0b2JhYW5AZ21haWwuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgZHZic3JjICsgZHZiIGFwaSBidWZmZXIgcHJvcGVydHkgdG8gb3ZlcmNvbWUgYnVmZmVyIHVuZGVyIHJlYWRzCgoyMDEyLTA4LTA4IDE1OjA2OjA5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBzb3VuZHRvdWNoOiBEb24ndCBhc3N1bWUgb3V0cHV0IGJ1ZmZlciB0aW1lc3RhbXBzCgkgIFRoZXJlJ3Mgbm8gZ3VhcmFudGVlIHdoYXRzb2V2ZXIgdGhhdCB0aGUgZmlyc3QgYnVmZmVyIHRvIG91dHB1dCB3aWxsCgkgIHN0YXJ0IGF0IHRoZSBzZWdtZW50LnN0YXJ0LgoJICBJbnN0ZWFkLCB3YWl0IGZvciB0aGUgZmlyc3QgYnVmZmVyIGFmdGVyIGEgc2VnbWVudCwgYW5kIHVzZSB0aGF0IHRpbWVzdGFtcAoKMjAxMi0wOC0xNCAxMToxNzoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5oOgoJICB2cDhkZWM6IEFkZCBzdXBwb3J0IGZvciBtdWx0aXBsZSBkZWNvZGluZyB0aHJlYWRzCgoyMDEyLTA4LTE0IDExOjA5OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBBZGQgc3VwcG9ydCBmb3IgdGhlIE1GUUUgcG9zdHByb2Nlc3NpbmcgZmxhZwoJICBXaGljaCBpcyBlbmFibGVkIGJ5IGRlZmF1bHQgaWYgcG9zdHByb2Nlc3NpbmcgaXMgZW5hYmxlZC4KCjIwMTItMDgtMTMgMTA6NTc6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBvbmx5IGFwcGx5IHJlcGVhdCBjb3VudCB3aGVuIHNldAoJICBXaGVuIHRoZXJlIGlzIG5vIGV4dGVuc2lvbiBoZWFkZXIsIHRoZSByZXBlYXRfY291bnQgdmFyaWFibGUgaXMgbGVmdCB0byAwIGFuZAoJICB0aGVuIHRoZSBkdXJhdGlvbiBvbiB0aGUgb3V0cHV0IGJ1ZmZlcnMgaXMgY2FsY3VsYXRlZCB3cm9uZ2x5LiBCZWNhdXNlIHRoZQoJICBkdXJhdGlvbiBpcyB1c2VkIHRvIGludGVycG9sYXRlIG91dHB1dCB0aW1lc3RhbXBzLCB0aGUgb3V0cHV0IHRpbWVzdGFtcHMgYXJlCgkgIGFsc28gd3JvbmcsIGNhdXNpbmcgYmFkIGZyYW1lcmF0ZXMuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxNTM1CgoyMDEyLTA4LTA5IDEzOjM3OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSAgdnA4OiBVc2UgcGtnLWNvbmZpZyBmaWxlIGZvciBnZXR0aW5nIHRoZSBMSUJTIGFuZCBDRkxBR1MKCjIwMTItMDgtMDkgMTE6NDg6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IEdpdmUgTUFSR0lOQUwgcmFuayB0byB0aGUgbXBnMTIzIGRlY29kZXIgZWxlbWVudAoKMjAxMi0wOC0wOCAxNzo0MDozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBnc3Q6IFNldCBhbGlnbm1lbnQgYXQgdGhlIGNvcnJlY3QgcGxhY2Ugb2YgR3N0QWxsb2NhdGlvblBhcmFtcwoKMjAxMi0wOC0wOCAxNzowNjoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFVwZGF0ZSB0aGUgcGVyLWNvbXBvbmVudCBzdHJpZGVzIGZvciBldmVyeSBmcmFtZSB0b28KCSAgVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSBvZiBHc3RWaWRlb0FsaWdubWVudAoKMjAxMi0wOC0wOCAxNjozNToxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS45MyA9PT0KCjIwMTItMDgtMDggMTU6MzI6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSAgUmVsZWFzZSAwLjExLjkzCgoyMDEyLTA4LTA4IDEyOjU4OjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L21wZzEyMy9NYWtlZmlsZS5hbToKCSAgbXBnMTIzOiBkaXN0IGhlYWRlciBmaWxlCgoyMDEyLTA4LTA4IDEyOjEzOjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0cGhvdG9ncmFwaHkuZGVmOgoJICB3aW4zMjogdXBkYXRlIGZvciBwaG90b2dyYXBoeSBBUEkgY2hhbmdlcwoKMjAxMi0wOC0wOCAxMTo1MzowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiAuZ2l0aWdub3JlIG5ldyBjdXJsc210cHNpbmsgdGVzdCBiaW5hcnkKCjIwMTItMDgtMDMgMTY6MjE6MDkgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuaDoKCSAgbWltaWM6IFBvcnQgdG8gMC4xMQoKMjAxMi0wOC0wNyAxODoyMzozNyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkgIHdpbmtzOiBhZGQgbWlzc2luZyBkZWZhdWx0IHN3aXRjaCBjYXNlCgoyMDEyLTA4LTA3IDE4OjIzOjA1ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSAgd2lua3M6IGZpeCB0eXBlcwoKMjAxMi0wOC0wNyAxODoyMjozNiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkgIHdpbmtzOiBmaXggZm9ybWF0IHdhcm5pbmdzCgoyMDEyLTA4LTA3IDE4OjIxOjQ5ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzY2xvY2suYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSAgd2lua3M6IGZpeCB1bnVzZWQgdmFyaWFibGVzIHdhcm5pbmdzCgoyMDEyLTA4LTA3IDE4OjIwOjUzICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkgIHdpbmtzOiBkb24ndCByZWluaXRpYWxpemUgTUVESUFTVUJUWVBFX0k0MjAKCjIwMTItMDgtMDcgMTg6MTk6MjkgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5jOgoJICB3aW5rczogZGVmaW5lIFNUQVRJQ19LU1BST1BTRVRJRF9XYXZlX1F1ZXVlZCBpZiBub3QgZGVmaW5lZAoKMjAxMi0wOC0wNyAxNjo1MzowMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvd2lua3MvTWFrZWZpbGUuYW06CgkgIHdpbmtzOiBpbnRlZ3JhdGUgYnVpbGQgd2l0aCBhdXRvdG9vbHMKCjIwMTItMDgtMDIgMTQ6MjY6MzIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IGF2b2lkIGR1cGxpY2F0ZWQgc3ltYm9scyBpbiBzdGF0aWMgbGlua3MKCSAgUmVuYW1lIHRoZSBETEwgZW50cnkgcG9pbnQgdGhlIGF2b2lkIGR1cGxpY2F0ZWQgc3ltYm9scyBpbiBzdGF0aWMKCSAgbGlua3MuCgoyMDEyLTA4LTAyIDE0OjI2OjMyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9NYWtlZmlsZS5hbToKCSAgZDNkdmlkZW9zaW5rOiBhdm9pZCBkdXBsaWNhdGVkIHN5bWJvbHMgaW4gc3RhdGljIGxpbmtzCgkgIFJlbmFtZSB0aGUgRExMIGVudHJ5IHBvaW50IHRoZSBhdm9pZCBkdXBsaWNhdGVkIHN5bWJvbHMgaW4gc3RhdGljCgkgIGxpbmtzLgoKMjAxMi0wOC0wNiAxMzo1OToyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBnc3Q6IEFkZCBzdHJlYW0taWQgdG8gc3RyZWFtLXN0YXJ0IGV2ZW50cwoKMjAxMi0wNy0yNiAxOTozMToxNCArMDIwMCAgT2xla3NpaiBSZW1wZWwgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogaW5pdGlhdGUgZW5jb2RlciB0byBmaXggYSBjcmFzaC4KCSAgV2l0aG91dCB0aGlzIHBhdGNoIHZwOGVuYyBzZW5kIGhlYWRlciBiZWZvcmUgYW5kIGFmdGVyIGZpcnN0CgkgIGtleSBmcmFtZS4gT24gc2Vjb25kIGtleWZyYW1lIHZwOGRlYyB3aWxsIGNyYXNoIHdpdGhvdXQgZ2V0dGluZwoJICBkZWNvZGVkIGZyYW1lLiBXaXRoIHRoaXMgcGlwZSBpdCBpcyBlYXN5IHRvIHJlcHJvZHVjZSB0aGlzIGlzc3VlOgoJICBnc3QtbGF1bmNoLTEuMCB2aWRlb3Rlc3RzcmMgISB2cDhlbmMgISB2cDhkZWMgISBmYWtlc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNjY3CgoyMDEyLTA4LTA1IDE2OjQwOjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5NGNjZjRjIHRvIDY2OGFjZWUKCjIwMTItMDgtMDQgMTY6MzE6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9rYXRlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29mYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBnc3RfdGFnX2xpc3RfZnJlZSAtPiBnc3RfdGFnX2xpc3RfdW5yZWYKCjIwMTItMDgtMDMgMTE6MzE6MDAgKzAyMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsZmlsZXNpbmsuYzoKCSAgY3VybDogZml4ZWQgc29tZSBtZW1vcnkgbGVha3MgaW4gdGhlIHBsdWdpbiBhbmQgdGhlIHVuaXQgdGVzdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTExNwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxMTE1CgoyMDEyLTA4LTAzIDE0OjEyOjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZXF1aXJlIGxpYm1wZzEyMyA+PSAxLjEzIGZvciAyNC1iaXQgZm9ybWF0cwoKMjAxMi0wOC0wMyAxMzo0MzozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogbWFwIGlucHV0IGJ1ZmZlciBpbiBSRUFEIG1vZGUsIG5vdCBXUklURSBtb2RlCgkgIE1ha2VzIHRoaW5ncyBhY3R1YWxseSB3b3JrLgoKMjAxMi0wOC0wMyAxMTo1MDoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogcXVlcnkgc3VwcG9ydGVkIG91dHB1dCBmb3JtYXRzIGF0IHJ1bi10aW1lCgkgIEZpeGVzIHN0dWZmLiBXZSB1c2UgYSBzdHJpbmcgaGVyZSBzaW5jZSB3ZSBjYW4ndCBiZSBib3RoZXJlZAoJICB3aXRoIEdWYWx1ZS4KCjIwMTItMDgtMDMgMTE6NDg6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGcxMjMvTWFrZWZpbGUuYW06CgkgIG1wZzEyMzogaG9vayB1cCB0byBidWlsZCBzeXN0ZW0KCjIwMTItMDgtMDMgMTE6MTM6NDggKzAxMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5oOgoJICBtcGcxMjM6IGFkZCBuZXcgbGlibXBnMTIzLWJhc2VkIG1wMyBkZWNvZGVyIHBsdWdpbgoJICBOZWVkcyBhIGJpdCBvZiBjbGVhbmluZyB1cC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTAwMwoKMjAxMi0wOC0wMyAwMDoxMDowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm8uYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgc2Nocm9lZGluZ2VyLCBtcGVndHNtdXg6IGZpeCBwbHVnaW4gbmFtZXMKCjIwMTItMDctMzEgMDk6MzY6MzUgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBTYXZlIGltYWdlL3ZpZGVvIHJlY29uZmlndXJhdGlvbiB1bnRpbCBjYXB0dXJpbmcKCSAgQWRkIGEgc3JjIHBhZCBldmVudCBoYW5kbGVyIGZ1bmN0aW9uIHRoYXQgZmlsdGVycyByZWNvbmZpZ3VyZSBldmVudHMgdG8KCSAgdHJpZ2dlciB0aGUgcmVuZWdvdGlhdGlvbiBjb2RlIHBhdGhzIGluIHRoZSBtb2RlLXNwZWNpZmljIHN0YXJ0LWNhcHR1cmUKCSAgcGhhc2UuCgkgIFRoaXMgaXMgdG8gd29yayB0b3dhcmRzIGZpeGluZyB1bml0IHRlc3RzIGJ1dCBtb3JlIHdvcmsgaXMgbmVlZGVkLgoKMjAxMi0wOC0wMiAxNDo0MDo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGRvIG5vdCBhY2Nlc3MgZnJhbWUgYnVmZmVyIGZvbGxvd2luZyBfZmluaXNoX2ZyYW1lIGNhbGwKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDQ5NAoKMjAxMi0wOC0wMSAxMTozNDowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9tcGxleC9nc3RtcGxleGpvYi5jYzoKCSAgbXBsZXg6IGRlZmF1bHQgdG8gRFZEIE1QRUctMiBmb3JtYXQgaW5zdGVhZCBvZiBHZW5lcmljIE1QRUctMQoKMjAxMi0wOC0wMSAxMTozMTowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9tcGxleC9nc3RtcGxleGpvYi5jYzoKCSAgbXBsZXhqb2I6IGFkZCBuaWNrcyBmb3IgZm9ybWF0IGVudW1zLCBhZGQgc29tZSBtb3JlIGZvcm1hdHMKCjIwMTItMDctMzAgMTc6MjE6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgdGVzdHM6IGZpeCBqaWZtdXggdGVzdCBmb3IgZml4ZWQgZmFpbCgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA3NTUKCjIwMTItMDctMjkgMDE6MTE6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogY2FtZXJhYmluOiBmaXggcHJldmlldyBtZXNzYWdlIGhhbmRsaW5nCgkgIFByZXZpZXcgbWVzc2FnZXMgbm93IGNvbnRhaW4gR3N0U2FtcGxlcyBpbnN0ZWFkIG9mIEdzdEJ1ZmZlcnMKCjIwMTItMDctMjkgMDA6NTM6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW46IHVwZGF0ZSBwcmV2aWV3IGJ1ZmZlciBwdXNoaW5nCgkgIG5lZWQgdG8gcGFzcyBhIEdzdFNhbXBsZSB0byB0aGUgdXRpbGl0YXJ5IHByZXZpZXcgYnVmZmVyIHBvc3QgZnVuY3Rpb25zCgkgIGFzIGEgR3N0QnVmZmVyIGRvZXNuJ3QgaGF2ZSBjYXBzIGFueW1vcmUuIFRoZSBHc3RTYW1wbGUgaGFzIHRoZSBHc3RDYXBzCgkgIGFuZCBpdCBpcyB1c2VkIHRvIGluZm9ybSB0aGUgcHJldmlldydzIHBpcGVsaW5lIGFib3V0IHRoZSBmb3JtYXQgb2YgdGhlCgkgIGlucHV0LCBiZWZvcmUgaXQgZ2V0cyBjb252ZXJ0ZWQgdG8gdGhlIHVzZXIncyByZXF1ZXN0ZWQgb3V0cHV0IGZvcm1hdC4KCjIwMTItMDctMjkgMDA6MDQ6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIFJldmVydCAiY2FtZXJhYmluOiB1cGRhdGUgdG8gbmV3IHRhZyBldmVudCBjcmVhdGlvbiBBUEkiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNWQ4OTBiM2M5MjcxNGUxZjM3MTYzMjkwYzMyOTExYmNkNzgxOGE1Ny4KCSAgVGhlIG5ldyBBUEkgaXMgdGhlIG9sZCBBUEkuCgoyMDEyLTA3LTI4IDE4OjA0OjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogRml4IHJlZmVyZW5jZXMgdG8gYXZvaWQgZWxlbWVudCBsZWFraW5nCgkgIFNvbWUgcGFkIHByb2JlcyBhcmUgbmV2ZXIgZ29pbmcgdG8gYmUgcmVtb3ZlZCBmcm9tIHRoZSBwYWRzLCBzbwoJICB3ZSBzaG91bGRuJ3Qga2VlcCBhIGNhbWVyYWJpbiByZWZlcmVuY2Ugd2l0aCB0aGVtIG9yIGNhbWVyYWJpbiB3aWxsCgkgIG5ldmVyIGdldCByZWxlYXNlZAoKMjAxMi0wNy0yOCAxNToxNzoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IHVwZGF0ZSB0byBuZXcgdGFnIGV2ZW50IGNyZWF0aW9uIEFQSQoKMjAxMi0wNy0yOCAxMjowOTo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW46IHJlbW92ZSBhc3NlcnRpb24gb24gbnVsbCBwcm9wZXJ0eQoJICBDaGVjayBpZiB0aGUgZmxhZ3MgYXJlIG5vdCBudWxsIGJlZm9yZSB0cnlpbmcgdG8gc2V0IHRoZW0gdG8KCSAgY2FtZXJhYmluIHRvIGF2b2lkIGFuIGFzc2VydGlvbgoKMjAxMi0wNy0yOCAwMDozMjo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuYzoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB0YWc6IFVwZGF0ZSBmb3IgdGFnbGlzdC90YWcgZXZlbnQgQVBJIGNoYW5nZXMKCjIwMTItMDctMjcgMTM6MjI6NTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBwcm9jZXNzIEFUVEFDSE1FTlQgdGFnIGFzIHNhbXBsZQoKMjAxMi0wNy0yNSAxNjowNToxMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICBmYWFjLCB2b2FhY2VuYzogYWRqdXN0IHRvIG1vZGlmaWVkIGF1ZGlvZW5jb2RlciBnZXRjYXBzIGhlbHBlciBBUEkKCjIwMTItMDctMjQgMTI6Mjg6MTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBmaXhhdGUgY2FwcwoKMjAxMi0wNy0yNCAxMDo0NjozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdWRpZWZmZWN0c29yYy1kaXN0LmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1ZGllZmZlY3Rzb3JjLWRpc3QuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVkaWVmZmVjdHNvcmMub3JjOgoJICBndWFkaTogcHJlZml4IG9yYyBmdW5jdGlvbnMgd2l0aCBnYXVkaV9vcmNfCgoyMDEyLTA3LTI0IDEwOjQ0OjUxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0Lmg6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMub3JjOgoJICBmaWVsZGFuYWx5c2lzOiBwcmVmaXggb3JjIGZ1bmN0aW9ucwoKMjAxMi0wNy0yNCAxMDozMjo1MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuaDoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLm9yYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGJheWVyOiBwcmVmaXggb3JjIGZ1bmN0aW9ucyB3aXRoIGJheWVyX29yYwoJICBBZGQgYmF5ZXIgb3JjIHRvIHRoZSB1bml0IHRlc3QKCjIwMTItMDctMjQgMTA6MzI6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICB0ZXN0czogZml4IHZpc3VhbGl6ZXIgY29tcGlsYXRpb24KCjIwMTItMDctMjMgMTE6MzY6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuaDoKCSAgc2Nocm86IEFkZCBzdXBwb3J0IGZvciB2aWRlbyBtZXRhZGF0YSBhbmQgYXJiaXRyYXJ5IHN0cmlkZXMKCjIwMTItMDctMjMgMTA6NTQ6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuaDoKCSAgc2Nocm86IE1hcCByYXcgdmlkZW8gYnVmZmVycyB3aXRoIHRoZSBjb3JyZWN0IHJlYWQvd3JpdGUgZmxhZ3MKCjIwMTItMDctMjMgMTA6MzU6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBleHQ6IFVwZGF0ZSBmb3IgdmlkZW8gYmFzZSBjbGFzc2VzIEFQSSBjaGFuZ2VzCgoyMDEyLTA3LTIzIDA4OjQ1OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOThlMzg2ZiB0byA5NGNjZjRjCgoyMDEyLTA3LTIxIDE5OjU5OjIxICswMjAwICBPbGVrc2lqIFJlbXBlbCA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBmaXggbWVtb3J5IGxlYWsKCSAgdW5yZWYgZnJhbWUuIGkgaG9wZSBpdCBpcyBjb3JyZWN0IHBsYWNlIHRvIGRvIGl0LgoJICBTaWduZWQtb2ZmLWJ5OiBPbGVrc2lqIFJlbXBlbCA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMi0wNy0yMCAyMzoyODo0OSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBVc2UgYnVmZmVyIGZsYWdzIGFuZCBjYXBzIGNvcnJlY3RseQoJICBUaGlzIHJlcXVpcmVzIGEgcmVjZW50IGNvbW1pdCB0byAtYmFzZSB0aGF0IGFkZHMgYW4gSU5URVJMQUNFRCBidWZmZXIKCSAgZmxhZy4KCjIwMTItMDctMjAgMTY6NDM6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBvbmx5IGRpc2NhcmQgZnJhbWUgb25jZSB1cG9uIGRlY29kaW5nIGVycm9yCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzk4ODYKCjIwMTItMDctMTkgMTY6MTA6NDAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSAgc3BlY3RyYXNjb3BlOiBmYWJzLT5zcXJ0IHRvIGNhbGN1bGF0ZSB0aGUgbWFnbml0dWRlCgoyMDEyLTA3LTE4IDA5OjE5OjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IGFsc28gYWN0aXZhdGUgaW4gcHVzaCBtb2RlIGlmIHRoZSBzY2hlZHVsaW5nIHF1ZXJ5IGZhaWxlZAoJICBJbiBjYXNlIHBhZHMgYXJlIHVubGlua2VkIHNvbWV3aGVyZS4KCjIwMTItMDctMTggMDg6NDE6NDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGZpeCBwdXNoIG1vZGUgYWN0aXZhdGlvbgoJICBFeHRyYSB1bnJlZiBvbiBwdXNoIG1vZGUgYWN0aXZhdGlvbiBjYXVzZWQgaGF2b2MuCgoyMDEyLTA3LTE2IDAwOjA1OjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSAgc3BjOiBleHRyYWN0IHllYXIgYXMgR3N0RGF0ZVRpbWUgaW5zdGVhZCBvZiBHRGF0ZQoKMjAxMi0wNy0xNyAxODowNToyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IG5vIG5lZWQgdG8gbWFrZSBidWZmZXIgd3JpdGFibGUgdHdpY2UKCjIwMTItMDctMTcgMTg6MDU6MDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBwbHVnIHNvbWUgcmVmIGxlYWtzCgoyMDEyLTA3LTE3IDE0OjAyOjE0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogYWRqdXN0IHRvIG1vZGlmaWVkIHZpZGVvIG92ZXJsYXkgY29tcG9zaXRpb24gQVBJCgoyMDEyLTA3LTE3IDE2OjM5OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHVwZGF0ZSBmb3IgUlRQIGJ1ZmZlciBhcGkgY2hhbmdlcwoKMjAxMi0wNy0xNiAyMjowMjo0NCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmg6CgkgIGF1ZGlvdmlzdWFsaXplcjogc2hvcnRlbiBiYXNlIGNsYXNzIG5hbWUKCSAgQXMgc3VnZ2VzdGVkIG9uIElSQyByZW5hbWUgdG8gQXVkaW9WaXN1YWxpemVyLiBXZSB1c2UgY3VzdG9tIHN1ZmZpeCBvbiB0aGUgdHlwZQoJICB0byBhdm9pZCBjbGFzaGluZyB3aXRoIG90aGVyIGNvcGllcyBmb3IgdGhlIHRpbWUgYmVpbmcuCgoyMDEyLTA3LTE1IDEyOjI3OjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBjZWx0LCBvcGVuY3YsIHdheWxhbmQsIGR2YnN1YiwgZmVzdGl2YWwsIGhsczogcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAxMi0wNy0xNCAxNTo1MTowOCArMDIwMCAgQWxiYW4gQnJvd2FleXMgPHByYWhhbEB5YWhvby5jb20+CgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSAgd2F5bGFuZDogZG9uJ3QgbGluayB0byBnc3RpbnRlcmZhY2VzLCB3aGljaCBkb2Vzbid0IGV4aXN0IGFueSBtb3JlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzk5MjkKCjIwMTItMDYtMzAgMDA6MjI6NDAgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlZXJvZGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXJvZGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuYzoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuYzoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnZpZGVvZmlsdGVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5oOgoJICBvcGVuY3Y6IHBvcnQgdG8gMC4xMQoJICBCYXNpYyBwb3J0IHRvIDAuMTEgQVBJLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5MTY0CgoyMDEyLTA3LTEzIDEyOjMyOjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5oOgoJICBkdmJzdWJvdmVybGF5OiBhZGFwdGl2ZWx5IGJsZW5kIG9yIGF0dGFjaCB2aWRlbyBvdmVybGF5IGNvbXBvc2l0aW9uCgkgIENvbmZsaWN0czoKCSAgZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jCgoyMDEyLTA3LTEzIDEyOjI3OjU3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5oOgoJICBkdmJzdWJvdmVybGF5OiB1c2UgdmlkZW8gb3ZlcmxheSBjb21wb3NpdGlvbiBoZWxwZXIKCSAgLi4uIHJhdGhlciB0aGFuIGN1c3RvbSBob21lLW1hZGUgYmxlbmRpbmcuCgkgIENvbmZsaWN0czoKCSAgZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jCgoyMDEyLTA3LTEyIDEwOjEzOjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IG1vcmUgY29ycmVjdGx5IGRldGVybWluZSBleHBlY3RlZCBQRVMgcGFja2V0IHBheWxvYWQgc2l6ZQoJICAuLi4gcGFydGljdWxhcmx5IGNvbnNpZGVyaW5nIHRoYXQgcGFja2V0X2xlbmd0aCA9PSAwIGlzIHBvc3NpYmxlLgoKMjAxMi0wNy0xMSAyMzoxNzoxOSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBwaXRjaDogcmVnaXN0ZXIgYXMgZWZmZWN0CgoyMDEyLTA3LTExIDIwOjM0OjA1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGNvcnJlY3RseSBkZXRlcm1pbmUgZXhwZWN0ZWQgUEVTIHBhY2tldCBwYXlsb2FkIHNpemUKCSAgQXZvaWRzIGNvbnNpc3RlbnRseSBmYWlsaW5nIHRvIGRldGVjdCB0aGF0IGEgcGFja2V0IGlzIGNvbXBsZXRlLCB3aGljaAoJICB3b3VsZCB0aGVuIG9ubHkgYmUgcHVzaGVkIHVwb24gdGhlIHN0YXJ0IG9mIGEgbmV4dCBwYWNrZXQsIHdoaWNoIGxlYWRzCgkgIHRvIHF1aXRlIGEgZGVsYXkgaW4gY2FzZSBvZiBhIHNwYXJzZSAoc3VidGl0bGUpIHN0cmVhbS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjY3NAoKMjAxMi0wNy0xMCAxNzo1ODoyMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGVuc3VyZSBtaW5pbXVtIHBhZ2UgdGltZSBvdXQgb2YgMSBzZWNvbmQKCSAgLi4uIHRvIGNvbXBlbnNhdGUgZm9yIHNvbWUgYm9ndXMgc3VidGl0bGUgd2l0aCBhIDAgdGltZW91dCwgd2hpY2ggd291bGQKCSAgcmVzdWx0IGluIG9ubHkgYmVpbmcgc2hvd24gZm9yIGEgdmVyeSB1bnJlYWRhYmxlIGFtb3VudCBvZiB0aW1lLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NjY3NAoKMjAxMi0wNy0xMSAxNDoyNzo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy9waXRjaC10ZXN0LmM6CgkgIHRlc3RzOiBmaXggYnVpbGQgb2YgcGl0Y2gtdGVzdAoJICBEb2VzIG5vdCBzb3VuZCBsaWtlIHRoZSBzYW1lIHRlc3QgaW4gMC4xMCB0aG91Z2guLgoKMjAxMi0wNy0xMSAxMzo1OToxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGZpeCBjb21waWxlciB3YXJuaW5ncwoJICBnc3RkdmJzdWJvdmVybGF5LmM6NzcyOjE1OiBlcnJvcjogcG9pbnRlciB0YXJnZXRzIGluIHBhc3NpbmcgYXJndW1lbnQgNSBvZiAnZ3N0X3NlZ21lbnRfY2xpcCcgZGlmZmVyIGluIHNpZ25lZG5lc3MKCSAgL2hvbWUvdHBtL2dzdC8wLjExL2dzdHJlYW1lci9nc3QvZ3N0c2VnbWVudC5oOjE5MjoxNDogbm90ZTogZXhwZWN0ZWQgJ2d1aW50NjQgKicgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUgJ2dpbnQ2NCAqJwoJICBnc3RkdmJzdWJvdmVybGF5LmM6NzcyOjE1OiBlcnJvcjogcG9pbnRlciB0YXJnZXRzIGluIHBhc3NpbmcgYXJndW1lbnQgNiBvZiAnZ3N0X3NlZ21lbnRfY2xpcCcgZGlmZmVyIGluIHNpZ25lZG5lc3MKCjIwMTItMDctMTEgMTM6NDk6MTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBmaXh1cCBlbmQtb2YtZGlzcGxheS1zZXQgZm9yY2luZwoJICBDb25mbGljdHM6CgkgIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYwoKMjAxMi0wNy0xMSAxMzo0ODozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGVuc3VyZSB2YWxpZCBzdWJ0aXRsZSBydW5uaW5nIHRpbWUgYnkgcHJvcGVyIGNsaXBwaW5nCgkgIEluIHBhcnRpY3VsYXIsIHBhc3MgYnVmZmVyIHRpbWVzdGFtcCAocHRzKSB0byBkdmJfc3ViLCBhbmQgdGhlbiBjbGlwCgkgIGFuZCBjb252ZXJ0IHRvIHJ1bm5pbmcgdGltZSB3aGVuIHRoZSBkdXJhdGlvbiAodGltZW91dCkgaXMga25vd24gYWZ0ZXIKCSAgZGVjb2RpbmcgaXQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjAyMzMKCSAgQ29uZmxpY3RzOgoJICBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmMKCjIwMTItMDctMTEgMTM6NDU6MTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuaDoKCSAgZHZic3Vib3ZlcmxheTogcHJvcGVybHkgZm9yY2UgZW5kLW9mLWRpc3BsYXktc2V0CgkgIC4uLiB3aGljaCBpcyB1cG9uIHJlY2VpdmluZyBuZXcgZGF0YSB3aXRoIGRpZmZlcmVudCBQVFMgc3BlYy13aXNlLAoJICBvciBvcHRpb25hbGx5IHVwb24gZWFjaCBwYWNrZXQgb2Ygc3VidGl0bGUgZGF0YSBpZiBkZXNpcmVkIGJ5IHByb3BlcnR5LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY5MzEwCgkgIENvbmZsaWN0czoKCSAgZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jCgoyMDExLTEyLTIxIDEzOjAwOjI3ICswMjAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEhhbmRsZSBub25fbW9kaWZ5aW5nX2NvbG91cl9mbGFnIGNvcnJlY3RseSBpbiB0aGUgUkxFIGhhbmRsZXJzCgkgIFRoZSBjaGVjayBmb3Igd2hlbiB0byBub3QgbWVtc2V0IHdhcyBjaGVja2luZyBvbiBhbiB1bmRldGVybWluaXN0aWMgJ2JpdHMnIHZhcmlhYmxlIHZhbHVlLAoJICB3aGljaCBpcyBvbmx5IG1lYW50IHRvIGJlIHVzZWQgaW5zaWRlIHRoZSBsb29wIGVhcmxpZXIgd2hlbiBpdCBpcyBzdXBwb3NlZCB0byBjaGVjayBpZgoJICBjbHV0X2luZGV4IGlzIDEgdG9nZXRoZXIgd2l0aCBub25fbW9kIHNldCwgYXMgcGVyIHNwZWM6CgkgICJub25fbW9kaWZ5aW5nX2NvbG91cl9mbGFnOiAgSWYgc2V0IHRvICcxJyB0aGlzIGluZGljYXRlcyB0aGF0IHRoZSBDTFVUIGVudHJ5IHZhbHVlICcxJwoJICBpcyBhIG5vbiBtb2RpZnlpbmcgY29sb3VyLiBXaGVuIHRoZSBub24gbW9kaWZ5aW5nIGNvbG91ciBpcyBhc3NpZ25lZCB0byBhbiBvYmplY3QgcGl4ZWwsCgkgIHRoZW4gdGhlIHBpeGVsIG9mIHRoZSB1bmRlcmx5aW5nIHJlZ2lvbiBiYWNrZ3JvdW5kIG9yIG9iamVjdCBzaGFsbCBub3QgYmUgbW9kaWZpZWQuIFRoaXMKCSAgY2FuIGJlIHVzZWQgdG8gY3JlYXRlICJ0cmFuc3BhcmVudCBob2xlcyIgaW4gb2JqZWN0cy4iCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjYzNTIKCjIwMTAtMTAtMTMgMTA6NTU6MTcgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIHBob3RvZ3JhcGh5OiB1cGRhdGUgZG9jdW1lbnRhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIyNDgyCgoyMDEwLTEwLTE0IDEwOjQ5OjU1ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90b2dyYXBoeTogQWRkIG1hbnVhbCBjb250cm9sIG9mIGV4cG9zdXJlLCBmb2N1cyBhbmQgd2hpdGUgYmFsYW5jZQoJICBBZGQgbmV3IGludGVyZmFjZSBwcm9wZXJ0aWVzIGFuZCBtb2RlIGZvciBiZXR0ZXIgbWFudWFsIGNvbnRyb2wgb2YKCSAgZXhwb3N1cmUsIGZvY3VzIGFuZCB3aGl0ZSBiYWxhbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIyNDgyCgoyMDEwLTEwLTA4IDExOjMzOjMxICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHBob3RvZ3JhcGh5OiBBZGQgR3N0UGhvdG9ncmFwaHkgcHJlZml4IGFuZCBmaXggc3BlbGxpbmcgY29sb3VyLT5jb2xvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIyNDgyCgoyMDEyLTA3LTEwIDIzOjI3OjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtaW5vciBoZWFkZXIgaW5kZW50YXRpb24gY2xlYW4tdXAgZm9yIG1wZWd2aWRlb3BhcnNlcgoKMjAxMi0wNy0xMCAxNzo0NzoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgc291bmR0b3VjaDogcG9ydCB0byAwLjExCgoyMDEyLTA3LTEwIDEyOjEwOjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgIGZlc3RpdmFsOiB1bm1hcCBpbnB1dCBidWZmZXIKCjIwMTItMDctMDQgMTA6MTQ6MzUgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2Zlc3RpdmFsL01ha2VmaWxlLmFtOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgcG9ydCBmZXN0aXZhbCB0byAwLjExCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzkzNzMKCjIwMTItMDctMTAgMTE6MTQ6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3RzOiBmaXggc29tZSBwYWQgdGVtcGxhdGUtcmVsYXRlZCBjcml0aWNhbHMgaW4gY2FtZXJhYmluIHRlc3QKCjIwMTItMDctMTAgMDA6NTk6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkgIGRhdGF1cmlzcmM6IGNvcHkgaW50byBwcm92aWRlZCBidWZmZXIgaWYgYSBidWZmZXIgaXMgcHJvdmlkZWQKCjIwMTItMDctMDkgMjI6MDg6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy96YmFyLmM6CgkgIHRlc3RzOiBmaXggemJhciB0ZXN0CgoyMDEyLTA3LTA5IDEyOjIyOjQ1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogdXBkYXRlIGZvciByaWZmIGZpZWxkIHJlbmFtZQoKMjAxMi0wNy0wOCAxOToyMzozMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5oOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiB1cGRhdGUgYmFzZWNsYXNzIGZyb20gbGlidmlzdWFsIHBvcnRpbmcKCjIwMTItMDctMDggMDA6MDg6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IHBhc3MgdW5oYW5kbGVkIG5vbi1jdXN0b20gZXZlbnRzIHRvIHRoZSBiYXNlIGNsYXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjY2MjYKCjIwMTItMDctMDYgMTQ6NTM6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiByZW1vdmUgZGVwcmVjYXRlZCAiaXMtbGl2ZSIgcHJvcGVydHkKCSAgVXNlIHRoZSAic3RyZWFtYWJsZSIgcHJvcGVydHkgaW5zdGVhZC4KCjIwMTItMDctMDYgMTE6NTA6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZydmlkZW9zaW5rLmM6CgkgIHVwZGF0ZSBmb3IgcXVlcnkgYXBpIGNoYW5nZXMKCjIwMTItMDctMDYgMTE6MjY6NTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB1cGRhdGUgZm9yIHF1ZXJ5IGFwaSBjaGFuZ2VzCgoyMDEyLTA3LTA2IDExOjAzOjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdXBkYXRlIGZvciBhbGxvY2F0aW9uIHF1ZXJ5IGNoYW5nZXMKCjIwMTItMDctMDQgMTE6Mzg6NTEgKzAyMDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdWUgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htc3JjOiBtZW1vcnkgY29ycnVwdGlvbiB3aGVuIGEgY2xpZW50IGRpc2Nvbm5lY3RzIChmaXhlcyAjNjc5Mzg1KQoKMjAxMi0wNy0wNSAxMzoxODo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIGdzdDogSW1wbGVtZW50IHNlZ21lbnQtZG9uZSBldmVudAoKMjAxMi0wNy0wMyAxMjo1Nzo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSAgZGlyZWN0c291bmRzcmM6IENoYWluIHVwIHRvIHRoZSBwYXJlbnQgY2xhc3MnIGZpbmFsaXplIGltcGxlbWVudGF0aW9uCgoyMDEyLTA3LTAyIDE3OjU1OjM3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmg6CgkgIGRlY2tsaW5rc2luazogQmV0dGVyIGhhbmRsaW5nIG9mIGF1ZGlvIG91dHB1dAoJICBDb25mbGljdHM6CgkgIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwCgoyMDEyLTA3LTAyIDE3OjUyOjE1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGlua3NyYzogU2VuZCBuZXdzZWdtZW50IGV2ZW50cwoKMjAxMi0wNy0wMiAxNzo1MToxOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSAgZGVja2xpbmtzaW5rOiBNYXJrIGVsZW1lbnQgYXMgc2luayBlbGVtZW50CgoyMDEyLTA3LTAyIDE3OjQ5OjU0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIGRlY2tsaW5rOiB1c2UgR09uY2UgaW4gdHlwZSByZWdpc3RyYXRpb24KCjIwMTItMDctMDIgMTc6MzI6MTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkgIGludGVyOiBJbmNyZWFzZSB0aGUgaW50ZXIgYXVkaW8gc3VyZmFjZSBidWZmZXJpbmcKCjIwMTItMDctMDIgMTI6MDQ6MTkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkgIGludGVyYXVkaW9zaW5rOiByZWVuYWJsZSBjaGFubmVsIHByb3BlcnR5CgoyMDEyLTA3LTAyIDEyOjAzOjQ0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkgIGludGVyYXVkaW9zcmM6IFNldCBmb3JtYXQgdG8gdGltZQoKMjAxMi0wNi0yOSAxMjowMzo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvcHZyMmQvZ3N0cHZydmlkZW9zaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHN5czogbWFrZSB2aWRlbyBzaW5rcyBkZWZhdWx0IHRvIGZvcmNlLWFzcGVjdC1yYXRpbz10cnVlCgoyMDEyLTA2LTI4IDE4OjA0OjEwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNiYXNlOiBNb3ZlIGtub3duIFBTSSBQSURzIHRvIHdoZXJlIHRoZXkgYmVsb25nCgkgIFRoaXMgYXZvaWRzIHRzZGVtdXggcGFyc2luZyBkYXRhIGlzIGRvZXNuJ3QgcmVhbGx5IGNhcmUgYWJvdXQKCSAgQ29uZmxpY3RzOgoJICBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYwoKMjAxMi0wNi0wMiAwODowNTo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndGJhc2U6IEFkZCBtb3JlIGtub3duIGRlZmF1bHQgU0kgUElEcwoKMjAxMi0wNi0yOCAxNzo0MDoxNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGaXggQUFDIExBVE0gY2FwcwoKMjAxMi0wNi0yMiAxNjo0Nzo1OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgdGVzdHM6IG1wZWd0c211eDogYWRkIGJhc2ljIG91dHB1dCB1bml0IHRlc3QgdmVyaWZpY2F0aW9uCgoyMDEyLTA2LTIyIDE3OjUxOjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBhcHBseSBzb21lIG1vcmUgQ0xPQ0tfQkFTRSB0byBlbnN1cmUgc2xhY2sgZm9yIFBDUiBvZmZzZXQKCSAgQ29uZmxpY3RzOgoJICBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmMKCjIwMTItMDYtMjcgMTE6MjM6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJICBmaXggeC13bXYgZm9ybWF0IHN0cmluZwoKMjAxMi0wNi0yNiAxNjozMzo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBwb3J0IHRvIDAuMTEKCjIwMTItMDYtMjUgMTY6MTg6NDEgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IHJlbGVhc2UgdGhlIG9mZnNjcmVlbiBzdXJmYWNlIGJlZm9yZSB0aGUgZDNkIGRldmljZQoJICBUaGUgb2Zmc2NyZWVuIHN1cmZhY2Uga2VlcHMgYSByZWZlcmVuY2Ugb24gdGhlIGQzZCBkZXZpY2UsIHNvIGlmIHRoZQoJICBkZXZpY2UgaXMgcmVsZWFzZWQgZmlyc3Qgd2UgZG9uJ3Qgc2VlIHRoZSByZWZlcmVuY2UgY291bnQgZGVidWcgbWVzc2FnZQoJICBnb2luZyB0byAwIGFzIGl0IHNob3VsZCBiZS4KCjIwMTItMDYtMTkgMjA6MTY6NDAgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IGNsZWFuIHVwIGVsZW1lbnQKCSAgUmVtb3ZlIG9sZCBjb21tZW50ZWQgY29kZSBhbmQgdW5lZWRlZCBleHRyYSBpbmRlbnRhdGlvbgoKMjAxMi0wNi0xOSAyMDowMzowMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkgIGQzZHZpZGVvc2luazogcmV3b3JrIGxvY2tpbmcgZm9yIGRldmljZXMgbG9zdAoKMjAxMi0wNi0xOSAyMDoxOToyNyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogcmVsZWFzZSBhbmQgcmVjcmVhdGUgdGhlIGRldmljZSBpbiBwcmVwYXJlX3dpbmRvdwoKMjAxMi0wNi0yNCAyMToxMTozOSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJICBzcGVjdHJhc2NvcGU6IGF2b2lkIGRhcmsgcGl4ZWxzIGluIGZhZGUtYW5kLW1vdmUtdXAgbW9kZQoKMjAxMi0wNi0yNCAyMDo1NDoyNCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL1JFQURNRToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiBmaXggaW5wdXQgYnVmZmVyIGhhbmRsaW5nCgkgIFVzZSBfcmVwbGFjZSBpbnN0ZWFkIG9mIF9hcHBlbmQgdG8gZml4IGdyb3dpbmcgYnVmZmVycy4KCjIwMTItMDYtMjMgMTU6MDI6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBobHMsIHNkcDogdXBkYXRlIGZvciBnc3RfZWxlbWVudF9tYWtlX2Zyb21fdXJpKCkgY2hhbmdlcwoKMjAxMi0wNi0yMSAxMjoxNzowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdjRsMi9SRUFETUU6CgkgIHN5czogcmVtb3ZlIGxlZnQtb3ZlciB2NGwyIGRpciB3aGljaCBoYXMgbW92ZWQgdG8gZ29vZAoJICBsZXQncyBub3Qga2VlcCBhIFJFQURNRSBhcm91bmQgdG8gYW5ub3VuY2UgaXQncyBtb3ZlZCB0byAtZ29vZCwKCSAgdGhhdCdzIGp1c3QgY2x1dHRlci4KCjIwMTItMDYtMjEgMTE6NDM6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFJlYWxseSBhbHdheXMgZGVmaW5lIERFQ0tMSU5LX09TWCBjb25kaXRpb25hbAoKMjAxMS0wNy0xMyAxOToyNTowOCArMDEwMCAgVG9ueSBIb3VnaHRvbiA8aEByZWFsaC5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBDb3JyZWN0IHNhdGVsbGl0ZSBkZWxpdmVyeSBkZXNjcmlwdG9yIHBhcnNpbmcuCgkgIE9yaWdpbmFsIGNvZGUgdG8gcGFyc2Ugc2F0ZWxsaXRlIGRlbGl2ZXJ5IGRlc2NyaXB0b3JzIHRvIGdlbmVyYXRlCgkgICJzYXRlbGxpdGUiIHN0cnVjdHVyZXMgYXBwZWFyZWQgdG8gYmUgY29weSAmIHBhc3RlZCBmcm9tIGNhYmxlJ3MgY29kZQoJICB3aXRob3V0IGFtZW5kaW5nIGZvciBzYXRlbGxpdGUuCgkgIEFsc28gYWRkZWQgOFBTSyB0byBkdmJzcmMncyBlbnVtIGZvciBtb2R1bGF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0NDg1CgkgIENvbmZsaWN0czoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5oCgkgIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jCgoyMDEyLTA2LTIwIDE4OjE0OjExICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSAgdHNwYXJzZTogUmV3b3JrIGhhbmRsaW5nIGFuZCBjbGVhbnVwcwoJICB0c3BhZCBhbHdheXMgaGFzIGEgc3RhdGljIHNvdXJjZSBwYWQgd2hpY2ggb3V0cHV0IGV2ZXJ5dGhpbmcgcmVjZWl2ZWQKCSAgKG5vdCBmdW5jdGlvbmFsIHlldCkuCgkgIFByb2dyYW0gcGFkcyBhcmUgbm93IHJlcXVlc3QgcGFkcy4KCSAgUmVtb3ZlIGFsbCBjcnVmdCB0aGF0IHNob3VsZCBoYXZlIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSBzd2l0Y2ggb3ZlcgoJICB0byBtcGVndHNiYXNlLgoJICBDb25mbGljdHM6CgkgIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jCgoyMDEyLTA2LTIwIDE4OjEwOjM3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0YmFzZTogQWx3YXlzIHNlbmQgRU9TCgkgIHN1YmNsYXNzIHdpbGwgdGFrZSBjYXJlIG9mIGhhbmRsaW5nIGl0IG1vcmUgaWYgbmVlZGVkCgoyMDEyLTA2LTIwIDE3OjUyOjEzIC0wNTAwICBNaWtlIFJ1cHJlY2h0IDxtaWtlLnJ1cHJlY2h0QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogRml4IGVsZW1lbnQgbG9zaW5nIGRhdGEgYXQgdGhlIGVuZCBvZiBidWZmZXJzCgkgIHJ0bXBzcmMgb3V0cHV0cyB0cnVuY2F0ZWQgYnVmZmVycyBiZWNhdXNlLCB3aGVuIGVub3VnaCBkYXRhIGlzCgkgIHJlYWQgdG8gZmlsbCB0aGUgYnVmZmVyLCB0aGUgYW1vdW50IHJlYWQgdGhhdCB0aW1lICh0b2RvKSBpcyBzZXQKCSAgdG8gemVybyBiZWZvcmUgaXQncyBhZGRlZCB0byB0aGUgY3VtdWxhdGl2ZSBidWZmZXIgc2l6ZSAoYnNpemUpLgoJICBUaGUgYnVmZmVyIGlzIHRoZW4gdHJ1bmNhdGVkIHRvIGJzaXplIHJlc3VsdGluZyBpbiBsb3N0IGRhdGEuCgkgIFRoaXMgcGF0Y2ggYWRkcyB0b2RvIHRvIGJzaXplIGJlZm9yZSBzZXR0aW5nIHRvZG8gdG8gemVyby4KCSAgRml4ZXMgIzY3ODUwOQoKMjAxMi0wNi0yMCAxMTowMjowMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSAgdGltaWRpdHk6IEZpeCBmbGFnIGNoZWNraW5nCgoyMDEyLTA2LTIwIDEwOjU5OjA4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJICB0ZWxldGV4dDogI2lmMCBjb2RlIHRoYXQgbmV2ZXIgaGFwcGVucwoJICBUaGUgb25seSBwbGFjZSB0aGlzIG1ldGhvZCBpcyBjYWxsZWQgaXMgd2l0aCBsb2ZwIGJlaW5nIGEgZ3VpbnQ4IChmcm9tCgkgIGEgZGF0YSBibG9jaykuCgoyMDEyLTA2LTIwIDEwOjU4OjMyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJICB0ZWxldGV4dGRlYzogVXNlIHByb3BlciB2YXJpYWJsZSB0eXBlCgoyMDEyLTA2LTIwIDEyOjMxOjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udGV4dC5jOgoJKiBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgdXBkYXRlIGZvciBidXMgYXBpIGNoYW5nZXMKCjIwMTItMDYtMjAgMTI6MTk6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIHRlc3RzOiBtcGVndHNtdXg6IHBvcnQgdGVzdCB0byAwLjExCgoyMDEyLTA2LTIwIDEyOjE3OjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IHZhbHVlIGhhbmRsaW5nIGluIHBhZCBpdGVyYXRpb24KCjIwMTItMDYtMjAgMTA6MzQ6NDggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzaW5rLmM6CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJICB1cGRhdGUgZm9yIHRhc2sgYXBpIGNoYW5nZQoKMjAxMi0wNi0xOSAyMjo0NToyNyAtMDQwMCAgTWF0ZWogS25vcHAgPE1hdGVqQG5ldy1ob3N0LTUuaG9tZT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IG1lbW9yeSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzgxMzAKCjIwMTItMDYtMTkgMTA6MzU6NDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2YjogRGV0ZWN0IG1vcmUgaXNzdWVzIHdpdGggY29uZmlndXJhdGlvbiBmaWxlCgkgIFJlcG9ydCB1c2VmdWwgZXJyb3JzIHdoZW46CgkgICogZmlsZSBpcyBwcmVzZW50IGJ1dCBlbXB0eQoJICAqIHJlcXVlc3RlZCBjaGFubmVsIGlzIG5vdCBwcmVzZW50CgoyMDEyLTA2LTE5IDEwOjIyOjUwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmg6CgkgIGR2YmJhc2ViaW46IEVtaXQgYW4gZXJyb3Igd2hlbiB3ZSBmYWlsIHJlYWRpbmcgdGhlIGNoYW5uZWxzIGZpbGUKCSAgQ29uZmxpY3RzOgoJICBzeXMvZHZiL2R2YmJhc2ViaW4uYwoKMjAxMS0wMi0wMSAxMDoyMzowNCAtMDgwMCAgRmFicml6aW8gKE1pc3RvKSBNaWxvIDxtaXN0b2JhYW5AZ21haWwuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBzcGVsbC1jaGVjawoKMjAxMS0wMS0xNCAxOTozMDowOCAtMDgwMCAgRmFicml6aW8gKE1pc3RvKSBNaWxvIDxtaXN0b2JhYW5AZ21haWwuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZiOiBiZXR0ZXIgZHZzcmMgcG9sYXJpdHkgaW5mbwoKMjAxMi0wNi0xOCAxMTozNjoxNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSAgdGVsZXRleHQ6IEZpeCBpbml0aWFsaXphdGlvbgoJICBXZSBhbHdheXMgZW5kZWQgdXAgZXJyb3Jpbmcgb24gdGhlIGZpcnN0IHBhZ2Ugb3RoZXJ3aXNlCgkgIENvbmZsaWN0czoKCSAgZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmMKCjIwMTItMDYtMTAgMTE6MzY6MzIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRG9uJ3QgdXNlIEdCeXRlQXJyYXkKCSAgVXNpbmcgYSBzaW1wbGUgYXJyYXkgY29tZXMgdG8gdGhlIHNhbWUgcmVzdWx0IGZvciBhIGZyYWN0aW9uIG9mIHRoZSBjb3N0CgoyMDEyLTA2LTEwIDExOjIxOjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0YmFzZTogQXZvaWQgY29weWluZyBHc3RTdHJ1Y3R1cmUKCjIwMTItMDYtMDggMTU6MTI6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmM6CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVnZGVzYzogRG9uJ3QgYWxsb2NhdGUvZnJlZSBHc3RNUEVHRGVzY3JpcHRvcgoJICBKdXN0IHVzZSBzdGF0aWMgdmFyaWFibGVzCgoyMDEyLTA2LTE2IDE2OjQ5OjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnZGVtdXgvZmx1bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvcGx1Z2luLmM6CgkgIG1wZWdkZW11eDogcmVuYW1lIHBsdWdpbiB0byBtcGVncHNkZW11eAoKMjAxMi0wNi0xNiAxNjozMDoxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdW1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcGF0aW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcGF0aW5mby5oOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10aW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10aW5mby5oOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10c3RyZWFtaW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10c3RyZWFtaW5mby5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0c2VjdGlvbmZpbHRlci5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHNlY3Rpb25maWx0ZXIuaDoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSAgbXBlZ2RlbXV4OiByZW1vdmUgdW51c2VkIFRTIGRlbXV4ZXIgYml0cyB0aGF0IGhhdmUgbW92ZWQgdG8gdHNkZW11eAoKMjAxMi0wNi0xNiAxOToyMDoyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IHJlbW92ZSBvYnNvbGV0ZSBzdHJ1Y3QgZmllbGQKCjIwMTItMDYtMTYgMTY6NTA6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfdHR4dC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF90dHh0Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5oOgoJICBtcGVndHNtdXg6IGFkZCBzdXBwb3J0IGZvciBEVkIgc3VidGl0bGUgYW5kIHRlbGV0ZXh0IHN0cmVhbXMKCSAgU2VlIGJ1ZyAjNjczNTgyLgoJICBDb25mbGljdHM6CgkgIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW0KCjIwMTItMDYtMTYgMTY6NTA6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eGNvbW1vbi5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkgIG1wZWd0c211eDogb3B0aW9uYWxseSB1c2UgZml4ZWQtc2l6ZSBQRVMgaGVhZGVyCgoyMDEyLTA2LTE2IDE2OjUwOjM2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSAgbXBlZ3RzbXV4OiBvbmx5IHdyaXRlIFBUUyBhbmQgRFRTIGlmIGRpZmZlcmVudAoKMjAxMi0wNi0xNiAxNjo1MDozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Y29tbW9uLmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSAgbXBlZ3RzbXV4OiBvcHRpb25hbGx5IHNldCBkYXRhX2FsaWdubWVudCBmbGFnIGluIFBFUyBoZWFkZXIKCjIwMTItMDYtMTYgMTY6NTA6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJICBtcGVndHNtdXg6IHJlLWVuYWJsZSBpbmFkdmVydGVudCBkaXNhYmxlZCBjb2RlCgoyMDEyLTA2LTE2IDE2OjQ0OjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICB0ZXN0czogbXBlZ3RzbXV4OiBhZGp1c3QgYWdhaW4gdG8gbW9kaWZpZWQgYnVmZmVyIGNvbGxlY3QgYmVoYXZpb3VyCgkgIC4uLiBieSBlZmZlY3RpdmVseSByZXZlcnRpbmcgcHJldmlvdXMgYWRqdXN0bWVudC4KCjIwMTItMDYtMTYgMTY6NDk6MzQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiB1c2UgZGVmYXVsdCBDb2xsZWN0UGFkcyBjb2xsZWN0IGhldXJpc3RpYwoJICAuLi4gd2l0aCBhbiBhcHByb3ByaWF0ZWx5IGN1c3RvbSBidWZmZXIgY2xpcCBmdW5jdGlvbiB0byBhcnJhbmdlIGZvcgoJICBidWZmZXIgcHJvY2Vzc2luZy4KCSAgQ29uZmxpY3RzOgoJICBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jCgkgIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmgKCjIwMTItMDYtMTYgMTU6NTQ6NDkgKzAzMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eGNvbW1vbi5oOgoJICBtcGVndHNtdXg6IEZpeCBjb21waWxlciB3YXJuaW5ncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4MjExCgoyMDEyLTA2LTE2IDE5OjE3OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IHBvcnRlZCBzZWdtZW50IGluaXQKCjIwMTItMDYtMTQgMTQ6NDk6NTUgLTA3MDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2FhYy5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9oMjY0LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2gyNjQuaDoKCSogZ3N0L21wZWd0c211eC90c211eC9jcmMuaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJICBtcGVndHNtdXg6IHBvcnQgdG8gMC4xMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4MTMwCgoyMDEyLTA2LTE1IDEzOjAwOjM3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBkb24ndCByZWNyZWF0ZSB0aGUgZDNkIGRldmljZSBpZiBpdCBhbHJlYWR5IGV4aXN0cwoKMjAxMi0wNi0xNSAxMTo0MToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2phc3Blci9NYWtlZmlsZS5hbToKCSogZXh0L2phc3Blci9nc3RqYXNwZXIuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJkZWMuaDoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJlbmMuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJlbmMuaDoKCSogZXh0L2pwMmsvTWFrZWZpbGUuYW06CgkqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvanAyay9nc3RqYXNwZXJkZWMuaDoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6CgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5oOgoJKiBleHQvanAyay9nc3RqcDJrLmM6CgkgIGphc3BlcjogUmVuYW1lIGZyb20ganAyayB0byBqYXNwZXIKCSAgSmFzcGVyIGlzIG5vdCB0aGUgb25seSBKUEVHMjAwMCBsaWJyYXJ5IG91dCB0aGVyZSBhbmQgd2UKCSAgbWlnaHQgd2FudCB0byBhZGQgZW5jb2RlcnMvZGVjb2RlcnMgYmFzZWQgb24gT3BlbkpQRUcgZm9yIGV4YW1wbGUuCgoyMDEyLTA2LTE1IDEwOjMyOjM5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogYWRkIG1pc3NpbmcgbXV0ZXggdW5sb2NrIG9uIGVycm9yIHBhdGgKCjIwMTItMDYtMTUgMTA6MjQ6MjQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuaDoKCSAgb3B1czogc2V0IGF1dGhvciB0byBteXNlbGYsIGFuZCB1cGRhdGUgY29weXJpZ2h0IG5vdGljZXMKCSAgYmVjYXVzZSBhcyBzbG9tbyBub3RlZCwgaW4gZmFjdCBwcmV0dHkgbXVjaCBhbGwgdGhlIGNvZGUgaW4gdGhlcmUgaXMgbWluZS4KCjIwMTItMDYtMTUgMDA6NTg6NDMgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IGRvbid0IGNyZWF0ZSBuZXcgaW50ZXJuYWwgd2luZG93cyBpZiB3ZSBhbHJlYWR5IGhhdmUgb25lCgoyMDEyLTA2LTA4IDIzOjAxOjI2ICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIHJmYnNyYzogRml4IGNvbXBpbGluZyBpbiBXaW5kb3dzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzc3MjQKCjIwMTItMDYtMTEgMTM6MTA6NDMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJICByZXNpbmR2ZDogcmVuYW1lIHRoZSBsaWIgZnJvbSBsaWJyZXNpbmR2ZCB0byBsaWJnc3RyZXNpbmR2ZAoJICBGb3IgY29uc2lzdGVuY3kuCgoyMDEyLTA2LTA3IDE1OjA2OjM0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogZ3VhcmQgYWdhaW5zdCBub3QgZmluZGluZyBzb21lIGRhdGEgb24gYSBEVkQKCSAgTWF5IHBvc3NpYmx5IGhlbHAgd2l0aCBhIHBhcnRpY3VsYXIgRFZELgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczMTE4CgoyMDEyLTA2LTE0IDAyOjQ3OjEwICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJybkBheGlzLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxmaWxlc2luay5jOgoJICBjdXJsZmlsZXNpbms6IFJlbW92ZSBzdHJheSBkZWJ1ZyBwcmludHMKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODA2MAoKMjAxMi0wNi0xMiAyMTozNToxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBMSUNFTlNFX3JlYWRtZToKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbGNzL01ha2VmaWxlLmFtOgoJKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSAgbGNzOiByZW1vdmUgb2xkIExDUyBjb2xvcnNwYWNlIGNvbnZlcnNpb24gcGx1Z2luCgkgIFdhc24ndCBldmVuIHBvcnRlZCB0byAwLjEwLCBhbmQgZXZlbiBiYWNrIGluIHRoZSBkYXkKCSAgbm8gb25lIGtuZXcgd2hlcmUgdGhlIGNvcnJlc3BvbmRpbmcgbGliIHdhcyBmcm9tLgoKMjAxMi0wNi0xMiAyMToyOToxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2hhcnQvLmdpdGlnbm9yZToKCSogZ3N0L2NoYXJ0L01ha2VmaWxlLmFtOgoJKiBnc3QvY2hhcnQvY2hhcnQudmNwcm9qOgoJKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSAgY2hhcnQ6IHJlbW92ZSBvbGQgcGx1Z2luIHRoYXQgaGFzIG5ldmVyIGJlZW4gcG9ydGVkIHRvIDAuMTAKCjIwMTItMDYtMTIgMjE6MjA6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvZHJvcC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuaDoKCSogZ3N0L3ZpZGVvZHJvcC92aWRlb2Ryb3AudmNwcm9qOgoJICB2aWRlb2Ryb3A6IGRyb3AgdmlkZW9kcm9wCgkgIEl0IHdhcyBuZXZlciBldmVuIHBvcnRlZCB0byAwLjEwLCBhbmQgdmlkZW9yYXRlIGRvZXMgaXRzIGpvYiBub3cuCgoyMDEyLTA2LTEyIDIxOjE2OjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIExJQ0VOU0VfcmVhZG1lOgoJKiBSRVFVSVJFTUVOVFM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2FydHMvLmdpdGlnbm9yZToKCSogZXh0L2FydHMvTWFrZWZpbGUuYW06CgkqIGV4dC9hcnRzL2dzdF9hcnRzLmM6CgkqIGV4dC9hcnRzL2dzdF9hcnRzLmg6CgkqIGV4dC9hcnRzL2dzdF9hcnRzaW8uaWRsOgoJKiBleHQvYXJ0cy9nc3RfYXJ0c2lvX2ltcGwuY2M6CgkqIGV4dC9hcnRzL2dzdF9hcnRzaW9faW1wbC5oOgoJKiBleHQvYXJ0c2QvTWFrZWZpbGUuYW06CgkqIGV4dC9hcnRzZC9SRVFVSVJFTUVOVFM6CgkqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSogZXh0L2FydHNkL2dzdGFydHNkc2luay5oOgoJKiBtNC9NYWtlZmlsZS5hbToKCSogbTQvYXMtYXJ0cy5tNDoKCSogbTQvZ3N0LWFydHNjLm00OgoJICBhcnRzOiByZW1vdmUgYVJ0cy1yZWxhdGVkIHBsdWdpbnMKCSAgYVJ0cyBkZXZlbG9wbWVudCBzdG9wcGVkIGluIDIwMDQsIGl0J3MgdW5saWtlbHkgZXZlciBpcwoJICBzdGlsbCB1c2luZyBpdC4gQmVzaWRlcywgdGhlc2UgZWxlbWVudHMgd2VyZSBuZXZlciBldmVuCgkgIHBvcnRlZCB0byAwLjEwLgoKMjAxMi0wNi0xMiAyMTowMjoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBMSUNFTlNFX3JlYWRtZToKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvc2hvdXQvTWFrZWZpbGUuYW06CgkqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJKiBleHQvc2hvdXQvZ3N0c2hvdXQuaDoKCSAgc2hvdXQ6IHJlbW92ZSBvbGQgc2hvdXQgcGx1Z2luIHRoYXQgaGFzIG5ldmVyIGJlZW4gcG9ydGVkIHRvIDAuMTAKCSAgVGhlcmUncyBzaG91dDIgaW4gLWdvb2Qgbm93LgoKMjAxMi0wNi0xMiAyMDozNTo1MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBMSUNFTlNFX3JlYWRtZToKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvaGVybWVzL01ha2VmaWxlLmFtOgoJKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgaGVybWVzOiByZW1vdmUgaGVybWVzIGNvbG9yc3BhY2UgY29udmVydGVyIHRoYXQgd2FzIG5ldmVyIHBvcnRlZCB0byAwLjEwCgoyMDEyLTA2LTEyIDE5OjA2OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIEFuZHJvaWQubWs6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL01ha2VmaWxlLmFtOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvYnVmZmVyLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9idWZmZXIuaDoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2RlYnVnLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9kZWJ1Zy5oOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZnVuY3RhYmxlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9mdW5jdGFibGUuaDoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2dzdGxlZ2FjeXJlc2FtcGxlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9nc3RsZWdhY3lyZXNhbXBsZS5oOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlLmg6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZV9mdW5jdGFibGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlX3JlZi5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGVnYWN5cmVzYW1wbGUuYzoKCSAgbGVnYWN5cmVzYW1wbGU6IHJlbW92ZSBsZWdhY3kgcGx1Z2luCgoyMDEyLTA2LTEyIDE5OjAyOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5oOgoJICBhdWRpb3Jlc2FtcGxlOiByZW1vdmUgb2xkIGF1ZGlvcmVzYW1wbGUgcGx1Z2luIHRoYXQgd2FzIG5ldmVyIGV2ZW4gcG9ydGVkIHRvIDAuMTAKCjIwMTItMDYtMTIgMTg6NTM6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmM6CgkgIGNocm9tYXByaW50OiB1cGRhdGUgZm9yIG5ldyB0YWcgZXZlbnQgQVBJCgoyMDEyLTA2LTEyIDE4OjQ3OjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIExJQ0VOU0VfcmVhZG1lOgoJKiBSRVFVSVJFTUVOVFM6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXZ4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpdnhlbmMueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXZ4L01ha2VmaWxlLmFtOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuaDoKCSogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmg6CgkgIGRpdng6IHJlbW92ZSBwbHVnaW4gdGhhdCB0aGUgd29ybGQgZG9lc24ndCBuZWVkIGFueSBtb3JlCgkgIDIwMDIgY2FsbGVkLgoKMjAxMi0wNi0xMiAxMDo1OTozOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IEZpeCBhcnJheSB0eXBlCgkgIFdlIHdhbnRlZCBhbiBhcnJheSBvZiBndWludDggKGFuZCBub3QgYW4gYXJyYXkgb2YgcG9pbnRlcnMpIHRvIHN0b3JlCgkgIHRoZSBkYXRhIGZyb20gZ3N0X2J1ZmZlcl9leHRyYWN0KCkgYW5kIHJlYWQgaXQuCgoyMDEyLTA2LTEyIDA5OjEwOjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBkb24ndCBhY2Nlc3MgYnVmZmVyIGFmdGVyIF9maW5pc2hfZnJhbWUKCSAgVW5tYXAgdGhlIGJ1ZmZlciBiZWZvcmUgY2FsbGluZyBfZmluaXNoX2ZyYW1lIGJlY2F1c2Ugd2UgYXJlIG5vdCBhbGxvd2VkIHRvCgkgIGFjY2VzcyBpdCBhZnRlci4KCjIwMTItMDYtMTEgMTY6NDU6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBzcHJpbmtsZSBzb21lIG1vcmUgZGVidWcgY2F0ZXJpbmcKCjIwMTItMDYtMTEgMTY6NDQ6MDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBhZGQgU1BOL1BUUyBpbmRleGluZyBjYXBhYmlsaXRpZXMKCSAgQmFzZWQgb24gcGF0Y2ggYnkgQW5kcmVhcyBGcmlzY2ggPGZyYXhpbmFzQG9wZW5kcmVhbWJveC5vcmc+CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDQ4OTAKCjIwMTItMDYtMTEgMTQ6MDM6MjYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkgIG1wZWd0c211eDogYXZvaWQgbWVtY3B5IGR1ZSB0byB0ZW1wb3JhcnkgcGFja2V0IGJ1ZmZlcgoJICAuLi4gYnkgd3JpdGluZyBkaXJlY3RseSBpbnRvIHRoZSBvdXRwdXQgYnVmZmVyIGluc3RlYWQuCgoyMDEyLTA2LTExIDEwOjQ5OjE1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBoMjY0cGFyc2VyOiBkbyBub3QgYXNzZXJ0IG9uIGRhdGEgaW5wdXQsIGp1c3QgcmV0dXJuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQwNjkKCjIwMTItMDYtMTAgMTQ6Mjk6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJICBkdmRzcHU6IGFsbG93IGRlYnVnZ2luZyBvZiByZW5kZXIgYW5kIGhpZ2hsaWdodCByZWN0YW5nbGVzIHZpYSBlbnZpcm9ubWVudCB2YXJpYWJsZQoJICBFbmFibGUgZGVidWdnaW5nIG9mIHJlY3RhbmdsZXMgdmlhIEdTVF9EVkRfU1BVX0RFQlVHLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3MjIzCgkgIENvbmZsaWN0czoKCSAgZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jCgoyMDExLTEyLTMxIDE4OjM1OjQwIC0wNjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkgIGR2ZHNwdTogY2xlYW51cCBkZWJ1ZyBjb2RlCgkgIENsZWFuIHVwIGRlYnVnIGNvZGUgZm9yIGRyYXdpbmcgaGlnaGxpZ2h0IHJlY3RzIHdoaWNoIHdhc24ndCBldmVuCgkgIGNvbXBpbGluZyBwcmV2aW91c2x5LgoJICBUT0RPOiBtaWdodCBiZSBuaWNlIGlmIHRoaXMgY291bGQgYmUgY29udHJvbGxlZCBieSBwcm9wZXJ0aWVzIG9yCgkgIGVudiB2YXJpYWJsZXMgdG8gbWFrZSBpdCBwb3NzaWJsZSB0byBlbmFibGUgdGhlIGRlYnVnIGNvZGUgYXQKCSAgcnVudGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzIyMwoJICBDb25mbGljdHM6CgkgIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYwoKMjAxMi0wNi0wOCAxNzoxNDowOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkgIG1wZWd0c211eDogcGx1ZyBsZWFrcyB3aGVuIGZyZWVpbmcgc3RyZWFtCgoyMDEyLTA2LTA4IDE3OjEzOjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICB0ZXN0czogbXBlZ3RzbXV4OiBwbHVnIHNvbWUgbGVha3MKCjIwMTItMDYtMDggMTU6NTg6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxmaWxlc2luay5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIGVsZW1lbnRzOiBVc2UgZ3N0X3BhZF9zZXRfY2FwcygpIGluc3RlYWQgb2YgbWFudWFsIGV2ZW50IGZpZGRsaW5nCgoyMDEyLTA2LTA4IDE1OjA1OjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDNhMGU1NyB0byA5OGUzODZmCgoyMDEyLTA2LTA4IDExOjU1OjM1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICB0ZXN0czogbXBlZ3RzbXV4OiBhZGp1c3QgdG8gbW9kaWZpZWQgYnVmZmVyIGNvbGxlY3QgYmVoYXZpb3VyCgoyMDEyLTA2LTA4IDExOjEyOjA2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIHRlc3RzOiBtcGVndmlkZW9wYXJzZXI6IGFkanVzdCB0byBtb2RpZmllZCBBUEkKCjIwMTItMDYtMDcgMTc6NDM6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBkcmFpbiBjYWNoZWQgZGF0YSB1cG9uIEVPUwoKMjAxMi0wNi0wNyAxNzozODo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IGFsbG93IGZvciBhbGlnbmVkIG91dHB1dAoJICAuLi4gYW5kIHJlZmFjdG9yIHBhY2tldCBoYW5kbGluZyBzb21lIG1vcmUgaW4gdGhlIHByb2Nlc3MuCgkgIEZpeGVzICM2NTE4MDUuCgoyMDEyLTA2LTA3IDE0OjM4OjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJICBtcGVndHNtdXg6IGltcHJvdmUgbTJ0cyB0aW1lc3RhbXAgaW50ZXJwb2xhdGlvbgoJICAqIGEga25vd24gUENSIHNob3VsZCByZWFsbHkgYmVsb25nIHRvIGEgcGFja2V0IGhvbGRpbmcgdGhhdCBQQ1IKCSAgKiBpbnRlcnBvbGF0aW9uIGNhbiBiZSBleHRlbmRlZCBiYWNrd2FyZCBmb3IgaW5pdGlhbCBwYWNrZXRzIChQQVQsIFBNVCkKCjIwMTItMDYtMDcgMTI6MTc6MjQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiB0d2VhayBvdXRwdXQgYnVmZmVyIHRpbWVzdGFtcGluZwoKMjAxMi0wNi0wNyAxNjoyMzoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuOTIgPT09CgoyMDEyLTA2LTA3IDE2OjIzOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0LmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjExLjkyCgoyMDEyLTA2LTA3IDE2OjIyOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTItMDYtMDcgMTI6MzM6MzEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4OiBmaXggY29kZWMgc3RhdGUgbGVha3MKCSAgSSBvbmx5IHRlc3RlZCB0aGF0IHZwOGVuYyAhIHZwOGRlYyBkb2VzIG5vdCBjcmFzaCwgYXMgdmFsZ3JpbmQgZG9lcyBub3QgZ3JvawoJICBhdCBsZWFzdCBvbmUgb2YgdGhlIGluc3RydWN0aW9ucyB1c2VkIGJ5IHZwOGVuYywgcHJldmVudGluZyBtZSBmcm9tIGNoZWNraW5nCgkgIGEgbGVhaywgYW5kIHRoZSBsYWNrIG9mIG9uZSBhZnRlciB0aGUgcGF0Y2guCgoyMDEyLTA2LTA3IDEyOjI1OjAzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWNlbmM6IGZpeCBidWZmZXIgbGVhawoKMjAxMi0wNi0wNyAxMjoxNjoyMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjZW5jOiBmaXggZnJhbWUgbGVha3MKCjIwMTItMDYtMDcgMTI6MDE6MzEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhY2VuYzogZml4IGNvZGVjIHN0YXRlIGxlYWsKCjIwMTItMDYtMDcgMTE6NTg6NTMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhY2VuYzogZml4IHN0cmF5IHVucmVmIGNhdXNpbmcgYWNjZXNzIHRvIGZyZWVkIG1lbW9yeQoKMjAxMi0wNi0wNyAxMTo1MjoxMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lZGluZ2VyOiBmaXggdmlkZW8gY29kZWMgc3RhdGUgbGVha3MKCjIwMTItMDYtMDYgMTg6MTg6NTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxZmFiMzU5IHRvIDAzYTBlNTcKCjIwMTItMDYtMDYgMTY6MDA6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IHVwZGF0ZSBmb3IgdGFnIGV2ZW50IGNoYW5nZQoKMjAxMi0wNi0wMyAwMTo1ODoxMiArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEZpeCB0aGUgd2F5bGFuZCB2ZXJzaW9uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzczNjIKCjIwMTItMDYtMDYgMTM6MDI6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdXBkYXRlIGZvciB0YWcgZXZlbnQgY2hhbmdlCgoyMDEyLTA2LTA2IDExOjE0OjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICBiYXllcjogZml4IG91dHB1dCBmcmFtZSBtYXAKCjIwMTItMDYtMDUgMTc6NTc6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZXI6IFJlbW92ZSB1bi1uZWVkZWQgY2hlY2tzIGFuZCBpbmxpbmUgc29tZSBmdW5jdGlvbnMKCSAgdmFsIGFuZCBuciBhbHdheXMgZXhpc3QgKCZuciwgJnZhbHVlKQoJICBiaXRzIGlzIGFsd2F5cyBjYWxsZWQgc21hbGxlciB0aGFuIHRoZSB3aWR0aAoJICBNYWtlcyBwYXJzaW5nIDMwJSBmYXN0ZXIKCjIwMTItMDYtMDUgMTg6MDM6MTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhjb21tb24uaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkgIG1wZWd0c211eDogbW9yZSBoZWFkZXIgY2xhcmlmaWNhdGlvbnMgYW5kIHJlbW92ZSBzb21lIHJlZHVuZGFudCBmaWVsZHMKCjIwMTItMDYtMDUgMTQ6MTg6MzQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJICBtcGVndHNtdXg6IGF2b2lkIFBJRCBjb2xsaXNpb24gZm9yIGF1dG8tZ2VuZXJhdGVkIFBJRAoKMjAxMi0wNi0wNSAxNjo1OTo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkgIHRzbXV4OiBpbmxpbmUgbW9yZSBjb2RlCgkgIFdpdGggdGhlIHByZXZpb3VzIGNvbW1pdCwgbWFrZXMgbXBlZ3RzbXV4IDEwIHRvIDE1JSBmYXN0ZXIKCjIwMTItMDYtMDUgMTY6NTg6NDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkgIG1wZWd0c211eDogRG9uJ3QgdXNlIGdfbGlzdF9maXJzdCAoKQoJICBTZXJpb3VzbHkgLi4uCgoyMDEyLTA2LTA1IDEyOjE3OjI2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogYWxzbyBwcm9wZXJseSByZXNldCBhbmQgZnJlZSBwYWQgZGF0YQoKMjAxMi0wNi0wNSAxMTo1MjoxNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IHJlZmFjdG9yIGluaXQgdXNpbmcgX3Jlc2V0IHRvIGNhdGVyIGZvciBwcm9wZXIgcmV1c2UKCjIwMTItMDYtMDQgMTY6MjQ6MDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBoZWFkZXIgY2xlYW51cHMgYW5kIGNsYXJpZmljYXRpb25zCgoyMDEyLTA2LTA0IDE2OjA1OjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogdHdlYWsgYnVmZmVyIGhhbmRsaW5nCgkgIC4uLiBmb3IgY2xhcml0eSBhbmQgdG8gYXZvaWQgbWl4aW5nIF9wZWVrL19wb3AKCjIwMTItMDYtMDQgMTY6MDM6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBtaXNjIGNvZGUgY2xlYW51cHMgYW5kIHJlZmFjdG9yaW5nCgoyMDEyLTA2LTA0IDE0OjU0OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogYXZvaWQgc2VwYXJhdGUgYWxsb2NhdGlvbiBmb3IgbGlzdCBvZiBwcm9ncmFtcwoKMjAxMi0wNi0wNCAxNDo1NDowOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IHJlYXJyYW5nZSBkZWZpbmUncwoKMjAxMi0wNi0wNCAxNDo0ODoyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IHJlbW92ZWQgaGFja2VkIGV2ZW50IGhhbmRsaW5nCgkgIENvbmZsaWN0czoKCSAgZ3N0L21wZWd0c211eC9tcGVndHNtdXguYwoJICBSZXZlcnRlZCBiYWNrIHRvIDAuMTAgc3RhdGUgYXMgaXQgd2Fzbid0IHJlYWxseSBwb3J0ZWQKCSAgeWV0IGFueXdheS4KCjIwMTItMDYtMDUgMDk6NTQ6NTMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzZGVtdXg6IEFsc28gcGFyc2UgVE9UIChUaW1lIE9mZnNldCBTZWN0aW9uKQoJICBJdCdzIHRoZSBzYW1lIGFzIFREVCwgZXhjZXB0IHdpdGggZGVzY3JpcHRvcnMgYXQgdGhlIGVuZAoKMjAxMi0wNi0wNSAwOTo1Mjo0MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogRklYTUUvQ29tbWVudCBhYm91dCBpc3N1ZXMvZXJyb3JzCgoyMDEyLTA2LTA1IDA5OjQ4OjA0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEZpeCBsZWFrCgoyMDEyLTA2LTA1IDA5OjQ0OjQ1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFJlZHVjZSB1c2FnZSBvZiBHc3RBZGFwdGVyCgkgIFBlZWsgYXMgbXVjaCBhcyBwb3NzaWJsZSBpbiBvbmUgZ28uIElkZWFsbHkgd2Ugc2hvdWxkIHJlbW92ZSB1c2FnZSBvZgoJICBhZGFwdGVyIGFsdG9nZXRoZXIsIGJ1dCBmb3IgdGhlIHRpbWUgYmVpbmcgaXQgcHJvdmlkZXMgYSBiaWcgZW5vdWdoCgkgIHNwZWVkdXAgKGFyb3VuZCAyIHRpbWVzIGZhc3RlciBwZXIgcGFja2V0IHByb2Nlc3NlZCkuCgoyMDEyLTA2LTA0IDA4OjM5OjExICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEF2b2lkIGFsbG9jL2ZyZWUgd2hlcmUgcG9zc2libGUKCSAgSGVscHMgZm9yIHN0cmVhbXMgd2l0aCBhIGxvdCBvZiBzZWN0aW9ucywgbGlrZSBFSVQKCjIwMTItMDYtMDQgMDg6Mzc6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RiYXNlOiBBZGQgbW9yZSBzZWN0aW9ucyB0aGF0IGRvbid0IGhhdmUgYSBDUkMKCjIwMTItMDYtMDQgMDg6MzI6NTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWdkZWZzOiBBZGQgbGlzdCBvZiBrbm93biB0YWJsZV9pZAoJICBBbG9uZyB3aXRoIHRoZSBzcGVjaWZpY2F0aW9ucyBmcm9tIHdoaWNoIHRoZXkgY29tZS4gQXZvaWRzIGhhdmluZwoJICB0byBzZWFyY2ggZm9yIHdoaWNoIHNwZWMgYSB0YWJsZV9pZCBiZWxvbmdzIHRvCgoyMDEyLTA2LTAzIDEwOjU4OjIwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IENsYXJpZnkgZGVidWcgc3RhdGVtZW50cwoJICBVc2UgaGV4IHZhbHVlcyBpbiBtb3JlIGNhc2VzIChzaW5jZSB0aGF0J3MgaG93IFBJRC90YWJsZV9pZC8uLi4gYXJlCgkgIHJlcHJlc2VudGVkIGluIHRoZSB2YXJpb3VzIHNwZWNzKS4KCjIwMTItMDYtMDMgMTA6NTY6MjggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzYmFzZS9wYWNrZXRpemVyOiBBZGQgQ0FUIHNlY3Rpb24gaGFuZGxpbmcKCSAgQWxsb3dzIHJlcG9ydGluZyB0aGUgZ2xvYmFsIEVNTQoKMjAxMi0wNi0wMyAxMDo1Mzo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndGJhc2U6IEFkZCBtb3JlIGRlYnVnIGluIFBTSSBoYW5kbGluZwoJICBBbGxvd3MgdXMgdG8gaWRlbnRpZnkgd2hpY2ggU0kgd2UgZG9uJ3QgaGFuZGxlCgoyMDEyLTA2LTAzIDEwOjUzOjEzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0YmFzZTogQWRkIG1vcmUgZGVmYXVsdCBrbm93biBQU0kgdGFibGVfaWQKCjIwMTItMDYtMDIgMDg6MDY6MjQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RiYXNlOiBSZWZhY3RvciBQU0kgZGV0ZWN0aW9uCgoyMDEyLTA2LTA1IDA5OjMwOjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IFVwZGF0ZSBjb25maWcuaAoKMjAxMi0wNi0wNSAwOTozMDowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IEZpeCBHc3RCYXNlUGFyc2U6OmdldF9zaW5rX2NhcHMoKSBpbXBsZW1lbnRhdGlvbnMKCSAgVGhleSBzaG91bGQgdGFrZSB0aGUgZmlsdGVyIGNhcHMgaW50byBhY2NvdW50IGFuZCBhbHdheXMgcmV0dXJuCgkgIHRoZSB0ZW1wbGF0ZSBjYXBzIGFwcGVuZGVkIHRvIHRoZSBhY3R1YWwgY2Fwcy4gT3RoZXJ3aXNlIHRoZQoJICBwYXJzZXJzIHN0b3AgdG8gYWNjZXB0IHVucGFyc2VkIHN0cmVhbXMgd2hlcmUgdXBzdHJlYW0gZG9lcyBub3QKCSAga25vdyBhYm91dCB3aWR0aCwgaGVpZ2h0LCBldGMuCgkgIEZpeGVzIGJ1ZyAjNjc3NDAxLgoKMjAxMi0wNi0wMSAxNjoyOTowMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndGJhc2U6IEVDTS9DQSBzZWN0aW9ucyBkb24ndCBoYXZlIGEgQ1JDCgkgIFNvIGRvbid0IGNoZWNrIGZvciBpdCA6KQoJICBBbHNvIGFkZCBhIGJpdCBtb3JlIGluZm8gaW4gdGhlIHdhcm5pbmcgbWVzc2FnZSB0byBzcGVlZCB1cCBkZXRlY3RpbmcKCSAgd2hldGhlciBpdCdzIGEgZmFsc2UtcG9zaXRpdmUgb3Igbm90LgoKMjAxMi0wNi0wMSAxMDo1OToyMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IG1wZWc6IHJlbGF4IGVudHJ5IGNvbnN0cmFpbnQKCSAgLi4uIHNpbmNlIGl0IGlzIGFjY2VwdGFibGUgYW5kIHByb3Blcmx5IGhhbmRsZWQgZnVydGhlciBvbi4KCjIwMTItMDYtMDEgMTA6Mjk6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmMWI1YTk2IHRvIDFmYWIzNTkKCjIwMTItMDUtMzEgMTM6MDg6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5MmI3MjY2IHRvIGYxYjVhOTYKCjIwMTItMDUtMjkgMTA6NDg6NTQgLTA3MDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZmFrZXNyYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkgIGRzaG93ZGVjd3JhcHBlcjogYWRkIHN1cHBvcnQgZm9yIFZDMSBhbmQgZml4IHBsdWdpbnMgcmFua3MKCjIwMTItMDUtMjkgMTA6NDg6MDMgLTA3MDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZGVjd3JhcHBlci5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc3JjLmNwcDoKCSAgZHNob3dkZWN3cmFwcGVyOiBpbml0aWFsaXplIGRlYnVnIHByb3Blcmx5CgoyMDEyLTA1LTI5IDEwOjQzOjQzIC0wNzAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSAgZHNob3dkZWN3cmFwcGVyOiBmaXggb2JqZWN0IGRpc3Bvc2FsIGFuZCBmaW5hbGl6YXRpb24KCjIwMTItMDUtMzAgMTA6MzQ6NDQgLTA3MDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IGRvbid0IGZsdXNoIGFmdGVyIGEgZGV2aWNlIGxvc3QKCjIwMTItMDUtMzAgMTM6NTQ6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWE6IFB1dCB0aGUgcmlnaHQgZmxhZ3MgaW50byB0aGUgcmlnaHQgdmFyaWFibGUKCjIwMTItMDUtMzAgMTI6NDU6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBlYzFjNGE4IHRvIDkyYjcyNjYKCjIwMTItMDUtMzAgMTE6MzI6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFJldmVydCBhY2NpZGVudGlhbGx5IGNvbW1pdHRlZCBzdHVmZiBpbiBsYXN0IGNvbW1pdAoKMjAxMi0wNS0zMCAxMToyNDowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJICBjb25maWd1cmU6IEFkZCBPQkpDIHNwZWNpZmljIGNvbXBpbGVyIGZsYWdzCgkgIFNlZSBidWcgIzY0MzkzOS4KCjIwMTItMDUtMzAgMTE6MjM6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzNDI5YmE2IHRvIGVjMWM0YTgKCjIwMTItMDUtMjkgMTc6MjQ6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiByZWFkIGdhaW4gZnJvbSB0aGUgcmlnaHQgcGxhY2UgaW4gdGhlIGhlYWRlcgoJICBJdCdzIGF0IGJ5dGUgb2Zmc2V0IDE2LCBub3QgMTQuCgoyMDEyLTA1LTI0IDExOjExOjAwIC0wMzAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBSZWZhY3RvcmluZyBhbmQgbWFrZSBjb3JlIG1vcmUgc2ltaWxhciB0byB0ZXh0b3ZlcmxheQoJICBFc3BlY2lhbGx5IHRoZSBjb21iaW5pbmcgb2YgdGhlIHRleHQgYW5kIHZpZGVvIGJ1ZmZlcnMgaXMgbm93CgkgIGFsbW9zdCB0aGUgc2FtZSBhcyBpbiB0ZXh0b3ZlcmxheS4KCSAgV2Ugc2hvdWxkIHJlYWxseSBnZXQgYSBiYXNlIGNsYXNzIGZvciB0aGlzLgoJICBDb25mbGljdHM6CgkgIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmMKCSAgZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaAoKMjAxMi0wNS0yOCAxNTo0ODozMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uLmM6CgkqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuYzoKCSogc3lzL2R2Yi9jYW10cmFuc3BvcnQuYzoKCSAgZHZiOiBBZGQgbW9yZSBkZWJ1Z2dpbmcgdG8gY2FtIHN1cHBvcnQKCjIwMTItMDQtMjQgMTE6MDk6MTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWMuY2M6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5jYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhYzogUG9ydCB0byAtYmFzZSB2aWRlbyBjbGFzc2VzCgkgIENvbmZsaWN0czoKCSAgZXh0L2RpcmFjL01ha2VmaWxlLmFtCgoyMDEyLTA1LTI4IDE2OjQyOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkgIGJhc2V2aWRlbzogUmVtb3ZlIG9sZCB2aWRlbyBiYXNlIGNsYXNzZXMKCjIwMTItMDUtMjggMTY6NDI6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuaDoKCSAgc2Nocm9lZGluZ2VyOiBQb3J0IHRvIDAuMTEgYWdhaW4KCjIwMTItMDUtMjggMDc6NTg6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJICBzY2hyb2RlYzogV2UgZG9uJ3QgYXNzdW1lIHBhY2tldGl6ZWQgaW5wdXQKCSAgT3RoZXJ3aXNlIHRoZSBwYXJzZSB2bWV0aG9kIG5ldmVycyBnZXRzIGNhbGxlZAoKMjAxMi0wNC0yNCAxMTowODo1OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL01ha2VmaWxlLmFtOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmg6CgkgIHNjaHJvZWRpbmdlcjogUG9ydCB0byAtYmFzZSB2aWRlbyBjbGFzc2VzCgkgIENvbmZsaWN0czoKCSAgZXh0L3NjaHJvZWRpbmdlci9NYWtlZmlsZS5hbQoJICBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmMKCSAgZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jCgkgIEJhY2sgdG8gMC4xMCBzdGF0ZSwgbmVlZHMgcG9ydGluZyBhZ2Fpbi4KCjIwMTItMDUtMjggMTY6MDU6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4OiBQb3J0IHRvIDAuMTEgYWdhaW4KCjIwMTItMDUtMTggMTI6NDY6NTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBmaXggdGFyZ2V0IGJpdHJhdGUgY29uZmlnIHdpdGggbGlidnB4IDEuMS4wCgkgIGxpYnZweCAxLjEuMCBkaXNhbGxvd3MgYSBiaXRyYXRlIG9mIDAsIHdoaWNoIHdhcyB1c2VkIGJ5CgkgIHZwOGVuYyBhcyBhIGRlZmF1bHQgdmFsdWUuCgkgIEluc3RlYWQsIHdlIHVzZSB0aGUgZGVmYXVsdCBsaWJ2cHggYml0cmF0ZSwgc2NhbGVkIHRvIG91cgoJICB2aWRlbyBzaXplLCBpZiBubyBiaXRyYXRlIHdhcyBzcGVjaWZpZWQuCgkgIFRoaXMgZml4ZXMgZW5jb2RpbmcgVlA4IHZpZGVvIHdpdGggbGlidnB4IDEuMS4wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2MjQ1CgoyMDEyLTA1LTE2IDE0OjA0OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogVXBkYXRlIGZvciBHc3RWaWRlb0NvZGVjRnJhbWUgQVBJIGNoYW5nZXMKCjIwMTItMDQtMjcgMTg6MjI6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmg6CgkgIHZwOGRlYzogSW1wcm92ZSBvdXRwdXRfc3RhdGUgaGFuZGxpbmcKCSAgQXZvaWQgZ2V0dGluZyBvdXRwdXRfc3RhdGUgZm9yIGV2ZXJ5IGJ1ZmZlciBhcyB0aGF0IHJlcXVpcmVzCgkgIGdldHRpbmcgdGhlIG9iamVjdGxvY2sgYW5kIGRvaW5nIHJlZmVyZW5jZSBjb3VudGluZy4gU3RvcmUgaXQgbG9jYWxseQoJICB3aGVuIGl0IGlzIGNyZWF0ZWQgYW5kIHVzZSBpdC4KCjIwMTItMDQtMjcgMDk6MDU6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogVXNlIG91dHB1dHN0YXRlIHdoZW4gY29weWluZyBvdXRwdXQgYnVmZmVyIGRhdGEKCSAgVXNpbmcgdGhlIGlucHV0IHN0YXRlIHdhcyBjYXVzaW5nIGEgY3Jhc2ggYmVjYXVzZSB0aGUgc3RyaWRlcy9vZmZzZXRzCgkgIHdvdWxkIGJlIHdyb25nLiBGaXggaXQgYnkgdXNpbmcgdGhlIG91dHB1dCBhcyB3ZSBhcmUgZGVhbGluZyB3aXRoCgkgIHRoZSBkZWNvZGVkIGZyYW1lLgoKMjAxMi0wNC0yNCAxMTowODo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICB2cDg6IFBvcnQgdG8gLWJhc2UgdmlkZW8gYmFzZSBjbGFzc2VzCgkgIENvbmZsaWN0czoKCSAgZXh0L3ZwOC9NYWtlZmlsZS5hbQoJICBleHQvdnA4L2dzdHZwOGRlYy5jCgkgIGV4dC92cDgvZ3N0dnA4ZW5jLmMKCSAgQmFjayB0byAwLjEwIHN0YXRlIGZvciBub3csIG5lZWQgdG8gYmUgcG9ydGVkIGFnYWluLgoKMjAxMi0wNS0yNyAyMzo0MToyNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGRvIG5vdCBhc3NlcnQgb24gYmFkIGhlYWRlciwgZXJyb3Igb3V0IGluc3RlYWQKCjIwMTItMDUtMjcgMDA6MDA6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIHRlc3RzOiBkb24ndCB1c2UgR3N0U3RydWN0dXJlIEFQSSBvbiB0YWcgbGlzdHMKCjIwMTItMDUtMjYgMTQ6NTc6NTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkgIG1wZWdkZXNjOiBBZGQgbW9yZSBjb21tZW50cy9pbmZvCgkgIE5hbWVseSB3aGVyZSB0aGV5IGJlbG9uZyB0bwoKMjAxMi0wNS0yNiAxNDo1NzoyMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBNYWtlIHN1cmUgd2UgaGF2ZSBhIGxhbmd1YWdlIGNvZGUgYmVmb3JlIHVzaW5nIGl0CgoyMDEyLTA1LTI2IDE0OjExOjI0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IENoZWNrIGJlZm9yZSBnZXR0aW5nIGRlc2NyaXB0b3JzIGZyb20gc3RydWN0dXJlCgkgIEF2b2lkcyBzcHVyaW91cyB3YXJuaW5ncy4gTm90IGhhdmluZyB0aG9zZSBkZXNjcmlwdG9ycyBpcyBub3RoaW5nCgkgIGZhdGFsLCBzbyBjaGVjayB0aGVpciBwcmVzZW5jZSBiZWZvcmUgdHJ5aW5nIHRvIGdldCB0aGVtLgoKMjAxMi0wNS0yNiAxNDowODo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSAgcGVzcGFyc2U6IEJlIGEgYml0IG1vcmUgcGVybWlzc2l2ZSB3aXRoIFBUUy9EVFMgcGFyc2luZwoJICBBY2NvcmRpbmcgdG8gdGhlIHNwZWNpZmljYXRpb25zIGEgUFRTX0RUU19mbGFncyB2YWx1ZSBvZiAweDAxIGlzIGZvcmJpZGRlbi4KCSAgLi4uIGJ1dCB0aGVyZSBhcmUgc29tZSByYXJlIGZpbGVzIG91dCB0aGVyZSB0aGF0IGRvIHRoYXQuCgkgIEluc3RlYWQgb2YgZXJyb3Jpbmcgb3V0LCBsZXQncyB3YXJuLCBjYXJyeSBvbiBwYXJzaW5nIGFjY29yZGluZ2x5LgoJICBJZiB0aGUgcGFja2V0IGlzIHJlYWxseSBjb3JydXB0ZWQgdGhlcmUgYXJlIGVub3VnaCBjaGVja3MgYWZ0ZXJ3YXJkIHRvCgkgIGRldGVjdCB0aGF0LgoKMjAxMi0wNS0yNSAyMjoyMDowNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1c3BhcnNlOiBoZWVkIHRlc3QgdmVjdG9yIGZyYW1pbmcgdG8gZWF0IGFueSBwYWRkaW5nCgkgIFRoaXMgZml4ZXMgcGFyc2luZyBvbiBvbmUgcGFydGljdWxhciB0ZXN0IHZlY3RvciB3aGVyZSBwYXlsb2FkCgkgIGRhdGEgaXMgc21hbGxlciB0aGFuIHRoZSBhY3R1YWwgYXVkaW8gcGF5bG9hZC4KCjIwMTItMDUtMjUgMTQ6MTU6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSAgbXBlZ3RzYmFzZTogRml4IGJpdCBvcGVyYXRpb24KCSAgImEgJSA4IiBjb3JyZXNwb25kcyB0byAiYSAmIDB4NyIgKGFuZCBub3QgMHhmKS4KCSAgc3BvdHRlZCBieSBKdWxpYW4gU2NoZWVsCgoyMDEyLTA1LTI0IDE2OjIyOjQyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzcGFyc2U6IFNpbXBsaWZ5IGNoZWNrCgkgIEF2b2lkcyBhIHVuc2V0IHZhcmlhYmxlIHdhcm5pbmcgKGZvciBuZnJhbWVzKSB3aXRoIGdjYyA0LjcuMAoKMjAxMi0wNS0yNCAyMjoxMjo1NiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkgIG9wdXM6IHJlamVjdCBtYWpvciB2ZXJzaW9uIG51bWJlciBhYm92ZSB3aGF0IHdlIGdyb2sKCjIwMTItMDUtMjQgMjE6NTg6NDQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJICBvcHVzOiBidW1wIHdyaXR0ZW4gdmVyc2lvbiBmcm9tIDAgdG8gMHgwMQoJICBhcyBwZXIgdGhlIHNwZWMgdXBkYXRlIGF0IGh0dHBzOi8vd2lraS54aXBoLm9yZy9PZ2dPcHVzI0lEX0hlYWRlcgoKMjAxMi0wNC0zMCAxNDo0MDowMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGZpeCBsb3N0IHBhY2tldCBoYW5kbGluZyBmb3IgRkVDL1BMQwoJICBUaGUgYmFzZSBhdWRpbyBkZWNvZGVyIHNlbmRzIHplcm8gc2l6ZSBwYWNrZXRzLCBub3QgTlVMTCBidWZmZXJzLAoJICB0byBzaWduYWwgZHJvcHBlZCBwYWNrZXRzLgoKMjAxMi0wNS0yNCAxMjozMjowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGRjNzAyMDMgdG8gMzQyOWJhNgoKMjAxMi0wNS0yMyAxODoxOTo1MiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogc3VwcHJlc3Mgc29tZSB3YXJuaW5ncyB3aGVuIGRlYnVnIGlzIGRpc2FibGVkCgkgIFdhcm5pbmdzIGFib3V0IHVudXNlZCB2YXJpYWJsZXMgc2hvdWxkIGJlIHN1cHByZXNzZWQgaWYgY29yZSBoYXMgdGhlCgkgIGRlYnVnIHN5c3RlbSBkaXNhYmxlZC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjY3MgoKMjAxMi0wNC0yNSAyMToyMTo0MyArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDEwL2R4MTBfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMV9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OV9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OV9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHhfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4X2QzZC5oOgoJICBQb3J0IGQzZHZpZGVvc2luayB0byAwLjExCgkgIEZpeGVzICM2NzQ4MTcKCjIwMTItMDUtMjMgMTI6MDc6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICB3YXlsYW5kOiBwb3J0IHRvIDAuMTEKCjIwMTItMDUtMjIgMTg6NTU6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YmJhc2ViaW46IEVtaXQgbm8tbW9yZS1wYWRzIHdoZW4gcGFkIGlzIGFkZGVkCgkgIFRoaXMgYXZvaWRzIGFuIGVuZGxlc3MgaGFuZyB3aXRoIHBsYXliaW4yLCB3aGljaCBzZWVzIGR2YmJhc2VzYmluIGFzCgkgIGhhdmluZyBkeW5hbWljIHBhZHMgLi4uIGJ1dCBuZXZlciBlbWl0dGVkIG5vLW1vcmUtcGFkcy4KCjIwMTItMDUtMjIgMTg6NTM6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9jYW11dGlscy5jOgoJICBjYW11dGlsczogRml4IFBNVCBtZXNzYWdlIGNvbnN0cnVjdGlvbgoJICBUaGUgc2l6ZSBvZiB0aGUgbWVzc2FnZSBlbmRlZCB1cCBiZWluZyBiaWdnZXIgdGhhbiBpdHMgY29udGVudC4KCSAgVGhhdCBjYXVzZSBzb21lIENBIG1vZHVsZXMgdG8ganVzdCBoYW5nLgoKMjAxMi0wNS0yMiAxODo1MTozNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2NhbXRyYW5zcG9ydC5jOgoJICBjYW10cmFuc3BvcnQ6IEFsbG93IGRlbGF5IHdoZW4gc2V0dGluZyB1cCBjYW0gZGV2aWNlCgkgIFNvbWUgQ0EgZGV2aWNlcyB0YWtlIGEgbG9uZyB0aW1lIHRvIHNldCB0aGVtc2VsdmVzIHVwLAoJICB0aGVyZWZvcmUgcmV0cnkgZXZlcnkgMjUwbXMgKGZvciBhIG1heGltdW0gb2YgMi41cykKCjIwMTItMDUtMjIgMTg6NDk6NTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBGaXh1cC9hZGQgZGVidWcgc3RhdGVtZW50cwoKMjAxMi0wNS0yMiAxODo0ODowNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IE9ubHkgb3BlbiBkZXZpY2UgcmVhZC93cml0ZSB3aGVuIG5lZWRlZAoJICBBdm9pZCBzdGFydGluZyB1cCBrZXJuZWwgdGhyZWFkIHdoZW4gbm90IG5lZWRlZAoKMjAxMi0wNS0yMiAxODo0NjowOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiOiBBZGQgd2FybmluZyB3aGVuIGR2YiBjaGFubmVscyBmaWxlIGlzbid0IHByZXNlbnQKCjIwMTItMDUtMjMgMDg6Mzk6MjEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSAgbXBlZ3RzYmFzZTogU3BlZWQgdXAgX2lzX3BzaSgpCgkgIEJ5IG1ha2luZyBpdCBpbmxpbmUgYW5kIHNpbXBsaWZ5aW5nIHRoZSBiaXQgbWFjcm9zCgoyMDEyLTA1LTIyIDIxOjAwOjMxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGF2b2lkIHNjYW5uaW5nIGZvciBzdGFydCBjb2RlcyB0d2ljZQoJICAuLi4gc2luY2UgYSBwcmV2aW91cyB0ZXJtaW5hdGluZyBzdGFydCBjb2RlIHNlcnZlcyBhcyBzdWJzZXF1ZW50IHN0YXJ0IGNvZGUuCgoyMDEyLTA1LTIyIDE5OjExOjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmI6IEZpeHVwcyBmb3IgbGF0ZXN0IEFQSSBjaGFuZ2VzCgoyMDEyLTA0LTEwIDEyOjM2OjE1ICswMjAwICBKdWxpYW4gU2NoZWVsIDxqdWxpYW5AanVzc3QuZGU+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBZGQgbGFuZ3VhZ2UgY29kZSB0byB0YWdsaXN0LgoJICBSZWFkIHRoZSBsYW5ndWFnZSBjb2RlcyBmb3IgdHJhY2tzIGZyb20gdGhlIG1wZWd0cyBkZXNjcmlwdG9ycyBhbmQgYWRkIGl0IGludG8KCSAgdGhlIHBhZHMgdGFnbGlzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3Mzg5NgoKMjAxMi0wNS0yMSAxNzo1MzozNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBZGFwdCB0byBuZXcgcGFja2V0aXplciBBUEkKCSAgV2Ugbm8gbG9uZ2VyIHVzZSBHc3RCdWZmZXJMaXN0IGFuZCBpbnN0ZWFkIGNvcHkgdGhlIGluY29taW5nIGRhdGEKCSAgaW50byBuZXdseSBhbGxvY2F0ZWQgbWVtb3J5LgoJICBUaGlzIG1ha2VzIHRzZGVtdXggYmVoYXZpb3VyIDMgdG8gNCB0aW1lcyBmYXN0ZXIuCgoyMDEyLTA1LTIxIDE3OjUzOjE1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJICB0c3BhcnNlOiBBZGFwdCB0byBuZXcgcGFja2V0aXplciBBUEkKCjIwMTItMDUtMjEgMTc6NTI6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogQWRhcHQgdG8gbmV3IHBhY2tldGl6ZXIgYmVoYXZpb3VyCgoyMDEyLTA1LTIxIDE3OjQ4OjU0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEF2b2lkIHVzYWdlIG9mIEdzdEJ1ZmZlciBpbnRlcm5hbGx5CgkgIFRoZSBvdmVyaGVhZCBvZiBjcmVhdGluZy91c2luZyAxODggYnl0ZSBHc3RCdWZmZXIgZnJvbSBHc3RBZGFwdGVyCgkgIGlzIHRvbyBleHBlbnNpdmUuCgkgIFdlIG5vdyBwZWVrIHRoZSBuZXh0IHBhY2tldCwgYW5kIHByb3ZpZGUgYSBkYXRhL3NpemUgd2hpY2ggaXMgb25seQoJICB2YWxpZCB1bnRpbCB0aGUgcGFja2V0aXplcnBhY2tldCBpcyBjbGVhcmVkLgoJICBJbiBhZGRpdGlvbiwgY2xlYW51cCBhbGwgdGhlIGludGVybmFsIGNvZGUgdG8gZGVhbCB3aXRoIHRoYXQgbmV3CgkgIGJlaGF2aW91ciBhbmQgcmVtb3ZlIGRvdWJsZS1jaGVja3Mgd2hpY2ggYXJlIG5vIGxvbmdlciBuZWVkZWQuCgkgIFRoZSBzZWN0aW9uX2xlbmd0aCBpcyBub3cgdGhlIGNvcnJlY3RlZCBzZWN0aW9uX2xlbmd0aCAoaS5lLiB3aXRoCgkgIHRoZSBhZGRpdGlvbmFsIDMgYnl0ZXMpLgoJICBBdm9pZCB1c2luZyBnc3RfYWRhcHRlcl9wcmV2X3RpbWVzdGFtcCBhbmQgaW5zdGVhZCB0cmFjawoJICB0aGUgdGltZXN0YW1wIG91cnNlbGYuCgoyMDEyLTA1LTIwIDEzOjI3OjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IERldGVjdCBQQ1Igd3JhcGFyb3VuZCBpbiBza2V3IGNvZGUKCSAgSWYgdGhlIHJlY2VpdmVkIFBDUiBpcyBnb2luZyBiYWNrd2FyZHMgKGJ5IGEgc2FmZSBtYXJnaW4pLCBpbmNsdWRlCgkgIHRoYXQgd3JhcGFyb3VuZCBmb3IgZnVydGhlciBjYWxjdWxhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDUzNgoKMjAxMi0wNS0yMiAxNDo0ODo0MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogYXZvaWQgcmVwZWF0ZWQgY2FwcyBzZXR0aW5nCgoyMDEyLTA1LTIyIDE0OjAwOjM2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5oOgoJICBtcGVndmlkZW9wYXJzZTogdHdlYWsgY29kZWMgcGFyc2VyIEFQSSBhbmQgYWRqdXN0IHBhcnNlciBlbGVtZW50CgkgIC4uLiB0byBhbGxvdyBmb3IgbW9yZSBlZmZpY2llbnQgcGFyc2luZyBhbmQgKG1vcmUpIGNvbnNpc3RlbnQgcGFyc2luZyBBUEkKCSAgYW1vbmcgdmFyaW91cyBjb2RlYyBwYXJzZXJzLgoJICBGaXhlcyAjNjcyNzAxLgoJICBDb25mbGljdHM6CgkgIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYwoKMjAxMi0wNS0yMiAxMjozMDowNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbXBlZzQ6IGZpeHVwIGRvY3VtZW50YXRpb24gc3BlbGxpbmcKCjIwMTItMDUtMDggMTY6NTE6MTEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIG1wZWd2aWRlb3BhcnNlcjogT3B0aW1pemUgc2Nhbm5pbmcgZm9yIHN0YXJ0IGNvZGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjcwMQoKMjAxMi0wNS0xOCAxMjo0Njo1NSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IGZpeCB0YXJnZXQgYml0cmF0ZSBjb25maWcgd2l0aCBsaWJ2cHggMS4xLjAKCSAgbGlidnB4IDEuMS4wIGRpc2FsbG93cyBhIGJpdHJhdGUgb2YgMCwgd2hpY2ggd2FzIHVzZWQgYnkKCSAgdnA4ZW5jIGFzIGEgZGVmYXVsdCB2YWx1ZS4KCSAgSW5zdGVhZCwgd2UgdXNlIHRoZSBkZWZhdWx0IGxpYnZweCBiaXRyYXRlLCBzY2FsZWQgdG8gb3VyCgkgIHZpZGVvIHNpemUsIGlmIG5vIGJpdHJhdGUgd2FzIHNwZWNpZmllZC4KCSAgVGhpcyBmaXhlcyBlbmNvZGluZyBWUDggdmlkZW8gd2l0aCBsaWJ2cHggMS4xLjAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzYyNDUKCjIwMTItMDUtMjIgMTE6MTA6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBEb3VibGUgcHJvcGVydGllcyBhcmUgc3VwcG9zZWQgaW4gdGhlIHJhbmdlIFswLjAsIDEuMF0KCSAgRml4ZXMgYnVnICM2NzYxMzcuCgoyMDEyLTA1LTIxIDE5OjIyOjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5oOgoJICBtcGVndmlkZW9wYXJzZTogdW5vYmZ1c2NhdGUgZnJhbWUgcGFyc2luZwoJICAuLi4gYW5kIGFkZCBjb21tZW50cyBhbmQgZGVidWcgc3RhdGVtZW50cy4KCSAgRml4ZXMgIzY3NDIwMi4KCSAgQ29uZmxpY3RzOgoJICBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmMKCjIwMTItMDUtMjEgMTY6Mzc6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogUmV2ZXJ0ICJmaXggY3Jhc2giCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgOTEyMTA4MzFlZTY3MjM0M2EyOTZmMzEzNTcxNDQzNTlkNWMyZTc2OC4KCSAgU3VjaCBleHBsaWNpdCByZXNldCBzaG91bGQgbm90IGJlIG5lZWRlZCBhcyBpdCBpcyBhcnJhbmdlZCBmb3IgYnkKCSAgdGhlIGJhc2VjbGFzcyBpbiB1bmlzb24gd2l0aCBtb25pdG9yaW5nIGZvciBhIG5ldyBmcmFtZSBieSBzdWJjbGFzcy4KCSAgQXMgc3VjaCBpdCBtaWdodCB3cm9uZ2Z1bGx5IGhpZGUgc29tZXRoaW5nIGVsc2UgZ29pbmcgb24gLi4uCgkgIFNlZSAjNjc0MDczLgoKMjAxMi0wNS0yMSAxNToyNDoyNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IG1wZWd2aWRlb3BhcnNlcjogZml4IGJ1ZmZlciBzaXplIGNoZWNrCgkgIC4uLiB0byBtaW5kIHVuc2lnbmVkIGludGVnZXIgd3JhcAoJICBCYXNlZCBvbiBwYXRjaCBieSBBbGJhbiBCcm93YWV5cyA8cHJhaGFsQHlhaG9vLmNvbT4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MzQzNgoKMjAxMi0wNS0yMSAxNTowOTowMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndmlkZW9wYXJzZS5jOgoJICB0ZXN0czogbXBlZ3ZpZGVvcGFyc2U6IGZpeCB1bml0IHRlc3QgcmVncmVzc2lvbgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2MDk3CgkgIENvbmZsaWN0czoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3ZpZGVvcGFyc2UuYwoKMjAxMi0wNS0xOSAxNTozNDoyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IGRvbid0IGFjY2VzcyBHc3RFbGVtZW50RmFjdG9yeSBzdHJ1Y3R1cmUgZGlyZWN0bHkKCjIwMTItMDUtMTggMTY6MTc6MTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IG1wZWc0OiBkbyBub3QgZXhwZWN0IGEgbWFya2VyIGJpdCB3aGVyZSBub3Qgc3BlY2lmaWVkCgkgIEZpeGVzICM2NzI0NDcuCgoyMDEyLTA1LTE2IDE2OjE1OjU4ICswMjAwICBKdWxpYW4gU2NoZWVsIDxqdWxpYW5AanVzc3QuZGU+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBmbHVzaCBvbiBwdXNpIG9ubHkgZm9yIHBheWxvYWQgcGFja2V0cwoJICBEYXRhIHNob3VsZCBub3QgYmUgZmx1c2hlZCBvdXQgb2YgdGhlIHRzZGVtdXggYmVjYXVzZSBhIHBheWxvYWQgdW5pdCBzdGFydAoJICBpbmRpY2F0b3IgKHB1c2kpIGlzIHNlZW4gaW4gYSBhZGFwdGF0aW9uIG9ubHkgdHMgcGFja2V0LiBJZiB0aGUgcGFja2FnZSBjb250YWlucyBubwoJICBwYXlsb2FkIGEgcHVzaSBkb2VzIG5vdCBpbmRpY2F0ZSBhIG5ldyBQRVMgcGFja2V0LCBidXQgUFNJIGluZm9ybWF0aW9uLCBldGMuCgkgIFRoaXMgZml4ZXMgcGxheWJhY2sgb2Ygc2V2ZXJhbCBUUyBmaWxlcyB3aGljaCBjb250YWluIHRzIHBhY2tldHMgd2l0aG91dAoJICBwYXlsb2FkIGJ1dCB3aXRoIHB1c2kgc2V0IHRvIDEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzYxNjgKCjIwMTItMDUtMTggMTA6MTU6MTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRG9uJ3QgcXVldWUgZGF0YSBmb3Igc3RyZWFtcyB0aGF0IGRvbid0IGhhdmUgYSBwYWQKCSAgVGhpcyB3b3VsZCByZXN1bHQgaW4gYW4gZXJyb3IgZnVydGhlciBkb3duLCBhbmQgaXQgYWxzbyBhdm9pZHMgcHJvY2Vzc2luZwoJICBmb3IgdGhhdCBkYXRhIHdoaWNoIHdlIHdvdWxkbid0IGJlIHVzaW5nIGFueXdheS4KCjIwMTItMDUtMTggMTA6MTM6MTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgdHNkZW11eDogRGV0ZWN0IGFuZCBoYW5kbGUgc2NyYW1ibGVkIHBhY2tldHMKCSAgVXNlcnMgKHRzZGVtdXgvbXBlZ3RzcGFyc2UpIGNhbiBkZWNpZGUgd2hhdCB0byBkbyB3aXRoIHRoYXQKCjIwMTItMDUtMTggMTA6MDc6NTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRW1pdCBuby1tb3JlLXBhZHMgd2hlbiBhbGwgcGFkcyBhcmUgYWN0aXZhdGVkCgkgIEZpeGVzICM2NzA5MjEgYWdhaW4KCjIwMTItMDUtMTcgMTE6MTU6MjIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdWRpZWZmZWN0c29yYy1kaXN0LmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1ZGllZmZlY3Rzb3JjLWRpc3QuaDoKCSAgZ2F1ZGllZmZlY3RzOiBhZGQgZmFsbGJhY2sgY29kZSBmb3Igb3JjCgkgIHRoaXMgaW5jbHVkZXMgYW4gaW1wcm92ZWQgdmVyc2lvbiBvZiB0aGUgYnVybiBmaWx0ZXIsIHdpdGggYSB+NDAlIHNwZWVkCgkgIGltcHJvdmVtZW50LgoKMjAxMi0wNS0xNyAxMDo0OToxMSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBidW1wIHRoZSBvcmMgdmVyc2lvbiByZXF1aXJlZCB0byAwLjQuMTYKCSAgU29tZSBvcGNvZGVzIGhhdmUgY2hhbmdlZCBzbyB0aGV5IHdvdWxkIGZhaWwgdG8gYnVpbGQgd2l0aCAwLjQuMTQKCjIwMTItMDUtMTcgMDk6NDc6MDggKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkgIGdhdWRpZWZmZWN0czogdXNlIENMQU1QIGluIHNvbGFyaXplCgkgIE5vIG5lZWQgdG8gaGF2ZSBhIGdhdGVfaW50ICgpIGZ1bmN0aW9uIGR1cGxpY2F0aW5nIHRoZSBhbHJlYWR5IGV4aXN0aW5nIGFuZAoJICBlc3RhYmxpc2hlZCBDTEFNUCAoKSBmdW5jdGlvbi4KCjIwMTItMDUtMTcgMDk6NDY6MzcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJICBnYXVkaWVmZmVjdHM6IHVzZSBDTEFNUCBpbiBleGNsdXNpb24KCSAgTm8gbmVlZCB0byBoYXZlIGEgZ2F0ZV9pbnQgKCkgZnVuY3Rpb24gZHVwbGljYXRpbmcgdGhlIGFscmVhZHkgZXhpc3RpbmcgYW5kCgkgIGVzdGFibGlzaGVkIENMQU1QICgpIGZ1bmN0aW9uLgoKMjAxMi0wNS0xNyAwOTo0NTo1MiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSAgZ2F1ZGllZmZlY3RzOiB1c2UgQ0xBTVAgaW4gZG9kZ2UKCSAgTm8gbmVlZCB0byBoYXZlIGEgZ2F0ZV9pbnQgKCkgZnVuY3Rpb24gZHVwbGljYXRpbmcgdGhlIGFscmVhZHkgZXhpc3RpbmcgYW5kCgkgIGVzdGFibGlzaGVkIENMQU1QICgpIGZ1bmN0aW9uLgoKMjAxMi0wNS0xNyAwOTo0NDoyOSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSAgZ2F1ZGllZmZlY3RzOiB1c2UgQ0xBTVAgaW4gY2hyb21pdW0KCSAgTm8gbmVlZCB0byBoYXZlIGEgZ2F0ZV9pbnQgKCkgZnVuY3Rpb24gZHVwbGljYXRpbmcgdGhlIGFscmVhZHkgZXhpc3RpbmcgYW5kCgkgIGVzdGFibGlzaGVkIENMQU1QICgpIGZ1bmN0aW9uLgoKMjAxMi0wNS0xNyAxMTo0NzoxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGFsc28gY29uc2lkZXIgbmFsX2xlbmd0aF9zaXplIHdoZW4gaW5zZXJ0aW5nIGNvZGVjIGRhdGEKCSAgU2VlICM2NzYxNzQuCgoyMDEyLTA1LTE2IDIxOjUwOjQ4ICswMTAwICBKb2huIEhlaW4gPG40a2RsbXgwMkBzbmVha2VtYWlsLmNvbT4KCgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgIHk0bTogbGluayBhZ2FpbnN0IHRoZSByaWdodCBsaWJnc3R2aWRlbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2MTg5CgoyMDEyLTA1LTE2IDE3OjUwOjQzICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkgIGdhdWRpZWZmZWN0czogZXhhbXBsZSBwaXBlbGluZXMgd2l0aCB2aWRlb2NvbnZlcnQKCjIwMTItMDUtMTYgMTc6NDk6MTIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVkaWVmZmVjdHNvcmMub3JjOgoJICBnYXVkaWVmZmVjdHM6IG9yYy1pZnkgYnVybiBmaWx0ZXIKCjIwMTItMDUtMTYgMDk6MTI6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFJlcXVpcmUgY29yZS9iYXNlIDAuMTEuOTEKCjIwMTItMDEtMTMgMTg6NTc6MjAgLTA1MDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBhZGQgdmlzdWFsIHN0dWRpbyBJREUgZmlsZXMgYW5kIE9TIFggLkRTX1N0b3JlIGZpbGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc4OTkKCjIwMTItMDUtMTUgMTU6NDY6MjggKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50LmM6CgkqIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5jOgoJICBobHM6IHVzZSBnc3QgYXBpIGZvciB0aW1lc3RhbXBzIGluc3RlYWQgb2YgdGhlICh3cm9uZykgYXBpIGZyb20gYSB0b28gbmV3IGdsaWIKCSAgQ29uZmxpY3RzOgoJICBnc3QvaGxzL2dzdGZyYWdtZW50LmMKCjIwMTItMDUtMTQgMTE6Mzg6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBvcHRpbWl6ZSBvdXRwdXQgYnkgYWdncmVnYXRpbmcgcGFja2V0cwoJICAuLi4gcmF0aGVyIHRoYW4gcHVzaGluZyBlYWNoIChzbWFsbCkgcGFja2V0IGluIGEgc2VwYXJhdGUgYnVmZmVyLgoJICBtMnRzIG1vZGUgbm90IHlldCBvcHRpbWl6ZWQgdGhvdWdoLgoKMjAxMi0wNS0xMSAxMTo0Njo1OCArMDIwMCAgQWxiZXJ0IEFzdHJhbHMgQ2lkIDxhbGJlcnQuYXN0YWxzIGF0IGNhbm9uaWNhbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHM6IHN1cHBvcnQgaXRlbXMgaW4gZXh0ZW5kZWQgZXZlbnQgZGVzY3JpcHRvcgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyNDc4CgoyMDEyLTA1LTE0IDA5OjE1OjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmg6CgkgIGN1cmw6IGZpeCBjb21waWxhdGlvbgoJICBEb24ndCB1c2UgZGVwcmVjYXRlZCB0aHJlYWQgQVBJCgoyMDEyLTA1LTEzIDE3OjAwOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS45MSA9PT0KCjIwMTItMDUtMTMgMTY6NDM6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjExLjkxCgoyMDEyLTA1LTEzIDE2OjQzOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTItMDUtMTMgMTU6NTY6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkYzcwMjAzIHRvIDM0MjliYTYKCjIwMTItMDUtMTMgMTU6MjQ6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzaW5rLmM6CgkgIGN1cmw6IEZpeCBlcXVhbGl0eSBjb21wYXJpc29uIHdpdGggZXh0cmFuZW91cyBwYXJhbnRoZXNlcyBjb21waWxlciB3YXJuaW5nCgkgIGdzdGN1cmxodHRwc2luay5jOjQxMToyNzogZXJyb3I6IGVxdWFsaXR5IGNvbXBhcmlzb24gd2l0aCBleHRyYW5lb3VzIHBhcmVudGhlc2VzCgoyMDEyLTA1LTEyIDEyOjA4OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIGNoZWNrOiBtYWtlIGdpdCBpZ25vcmUgbmV3IHVuaXQgdGVzdCBiaW5hcmllcwoKMjAxMi0wNC0yNSAxOTo0Njo1MyArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGV4dC9jdXJsL01ha2VmaWxlLmFtOgoJKiBleHQvY3VybC9nc3RjdXJsLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxzbXRwc2luay5jOgoJICBjdXJsOiBuZXcgY3VybHNtdHBzaW5rIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1Mzc0MQoKMjAxMi0wMS0yMyAwOTo0NToyNCArMDEwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBleHQvY3VybC9NYWtlZmlsZS5hbToKCSogZXh0L2N1cmwvZ3N0Y3VybC5jOgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybGZ0cHNpbmsuYzoKCSAgY3VybDogbmV3IGN1cmxmdHBzaW5rIGVsZW1lbnQKCSAgaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUzNzQxCgoyMDEyLTAxLTIzIDA5OjI4OjEwICswMTAwICBQYXRyaWNpYSBNdXNjYWx1IDxwYXRyaWNpYUBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL01ha2VmaWxlLmFtOgoJKiBleHQvY3VybC9nc3RjdXJsLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmaWxlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZmlsZXNpbmsuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxmaWxlc2luay5jOgoJICBjdXJsOiBuZXcgY3VybGZpbGVzaW5rIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1Mzc0MQoKMjAxMi0wMS0yMyAwOTowMDo0NyArMDEwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZXh0L2N1cmwvTWFrZWZpbGUuYW06CgkqIGV4dC9jdXJsL2dzdGN1cmwuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmxzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmx0bHNzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmx0bHNzaW5rLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsaHR0cHNpbmsuYzoKCSAgY3VybDogcmVmYWN0b3IgY3VybHNpbmssIHJlbmFtZSB0byBjdXJsaHR0cHNpbmsKCSAgU3BsaXQgaW50byBiYXNlLCB0bHMgYW5kIGh0dHAgY2xhc3Nlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1Mzc0MQoKMjAxMi0wNS0xMCAyMToxNTo0MiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJICBnYXVkaWVmZmVjdHM6IGNvbnNpc3RlbmN5IGluIHRlbXBsYXRlcyBuYW1lCgoyMDEyLTA1LTEwIDEwOjExOjE4IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IEFkZCBhIGNvbm5lY3Rpb24tc3BlZWQgcHJvcGVydHkKCSAgQ29uZmxpY3RzOgoJICBnc3QvaGxzL2dzdGhsc2RlbXV4LmMKCjIwMTItMDUtMTAgMTA6MTA6MTQgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHM6IEFkZCBhIHdheSB0byBnZXQgYmVzdCBwbGF5bGlzdCBmb3IgYSBzcGVjaWZpYyBiaXRyYXRlIGluIE0zVThDbGllbnQKCSAgTWFrZSB1c2Ugb2YgaXQgaW4gaGxzZGVtdXgKCjIwMTItMDUtMDggMTM6Mjc6MTUgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBZGQgZmFpbG92ZXIgcHJvdGVjdGlvbi4KCSAgTXVsdGlwbGUgc3RyZWFtcyB3aXRoIHNhbWUgYmFuZHdpZHRoIGdldCByZXRyaWVkCgoyMDEyLTA1LTA4IDEzOjA0OjM1IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBDYWxjdWxhdGUgdGhlIHJlYWwgYml0cmF0ZSBhbmQgc3dpdGNoIHRvIHRoZSBjb3JyZWN0IHZhcmlhbnQKCSAgV2Ugbm93IGNhbGN1bGF0ZSB0aGUgYWN0dWFsIGJpdHJhdGUgdXNpbmcgdGhlIGRvd25sb2FkIHNwZWVkL3NpemUgYW5kCgkgIHRoZW4gc3dpdGNoIGRpcmVjdGx5IHRvIHRoZSB2YXJpYW50IHRoYXQgbWF0Y2hlcyBvdXIgYmFuZHdpZHRoIHRoZQoJICBtb3N0LgoJICBJdCB3aWxsIGFsc28gYmUgYWJsZSB0byBoYW5kbGUgYW55IHVzZSBjYXNlIHdoZXJlIHNvbWUgb2YgdGhlCgkgIHZhcmlhbnRzIGFyZSBub3QgYXZhaWxhYmxlLCBhbmQgd291bGQgc2tpcCB0aGVtIGFuZCBnbyB0byB0aGUgbmV4dAoJICBwb3NzaWJsZSB2YXJpYW50LgoJICBDb25mbGljdHM6CgkgIGdzdC9obHMvZ3N0aGxzZGVtdXguYwoKMjAxMi0wNS0wOCAxMTozNDo0NyAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvIG5vdCByZXNldCB0aGUgc2VxdWVuY2UgbnVtYmVyIGluIGEgbGl2ZSBzdHJlYW0gZm9yIGEgbm9ybWFsIHBsYXlsaXN0IHVwZGF0ZS4KCSAgT25seSBmb3Igc3RyZWFtIHN3aXRjaGluZwoKMjAxMi0wNS0wOCAxMTozMzo1MCAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogSWYgd2UgdXBkYXRlIHRoZSBwbGF5bGlzdCwgbWFrZSBzdXJlIHRoZSBzZXF1ZW5jZSBudW1iZXIgaXMgbmV2ZXIgbW9yZSB0aGFuIDMgZnJhZ21lbnRzIGJlZm9yZSB0aGUgZW5kCgoyMDEyLTA1LTA4IDExOjEzOjI2IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogSW4gYSBsaXZlIHN0cmVhbSwgZG8gbm90IHN0YXJ0IGZyb20gMyBmcmFnbWVudHMgYmVmb3JlIHRoZSBlbmQuCgoyMDEyLTA1LTA4IDExOjA5OjI4IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBObyBuZWVkIHRvIHN0b3JlIHBvc2l0aW9uIHNpbmNlIGl0J3MgdGhlIGJ1ZmZlcidzIHRpbWVzdGFtcAoJICBUaGlzIGFsc28gd2lsbCBmaXggdGhlIGlzc3VlIG9mIGhhdmluZyB0aGUgY3VycmVudCBwb3NpdGlvbiBkaWZmZXJlbnQKCSAgZnJvbSB0aGUgYWN0dWFsIHBvc2l0aW9uIG9mIHRoZSBmaXJzdCBidWZmZXIgaW4gdGhlIHF1ZXVlIGluIGNhc2UKCSAgdGhlIGNhY2hpbmcgY2F1c2VkIGEgcmVzeW5jIG9mIHRoZSBzZXF1ZW5jZSBudW1iZXIuCgkgIENvbmZsaWN0czoKCSAgZ3N0L2hscy9nc3RobHNkZW11eC5jCgoyMDExLTA5LTE1IDIwOjQ3OjU0IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRmFsbGJhY2sgdG8gcHJldmlvdXMgcGxheWxpc3Qgd2hlbiBzd2l0Y2hpbmcgaWYgdGhlIG5ldyBwbGF5bGlzdCBjYW4ndCBiZSBmZXRjaGVkCgoyMDEyLTA1LTEwIDEzOjQ2OjI3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuaDoKCSAgZ2F1ZGllZmZlY3RzOiBjb25zaXN0ZW5jeSBmaXhlcyBpbiBnc3RnYXVzc2JsdXIKCjIwMTItMDUtMTAgMTA6NDc6MjcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgZ2F1c3NpYW5ibHVyIHRvIEdzdFZpZGVvRmlsdGVyCgoyMDEyLTA1LTA5IDE3OjIxOjMwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBzb2xhcml6ZSB0byBHc3RWaWRlb0ZpbHRlcgoKMjAxMi0wNS0wOSAxNzowNjoyMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBleGNsdXNpb24gdG8gR3N0VmlkZW9GaWx0ZXIKCjIwMTItMDUtMDkgMTY6NTU6MTcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IGRvZGdlIHRvIEdzdFZpZGVvRmlsdGVyCgoyMDEyLTA1LTA5IDE2OjMwOjQwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IGRpbGF0ZSB0byBHc3RWaWRlb0ZpbHRlcgoKMjAxMi0wNS0wOSAxNjoxMDoxOCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IGJ1cm4gdG8gR3N0VmlkZW9GaWx0ZXIKCjIwMTItMDUtMDkgMTU6NDQ6MDIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IGNocm9taXVtIHRvIEdzdFZpZGVvRmlsdGVyCgoyMDEyLTA1LTA5IDE0OjI4OjA5ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSAgZ2F1ZGllZmZlY3RzOiB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIgaW4gYmx1cgoKMjAxMi0wNS0wOSAxMzozNTo0NiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IHRvIDAuMTEKCjIwMTItMDUtMDkgMDk6NDk6MTAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgZ2F1c3NibHVyIHRvIDAuMTEKCjIwMTItMDUtMDggMTg6MDk6MjAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IHNvbGFyaXplIHRvIDAuMTEKCjIwMTItMDUtMDggMTg6MDk6MDkgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgZXhjbHVzaW9uIHRvIDAuMTEKCjIwMTItMDUtMDggMTc6Mzg6MjIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IGRvZGdlIHRvIDAuMTEKCjIwMTItMDUtMDggMTc6MTc6MTYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgZGlsYXRlIHRvIDAuMTEKCjIwMTItMDUtMDggMTY6NTA6MDYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5oOgoJICBnYXVkaWVmZmVjdHM6IGFkZCBoZWFkZXIgdG8gZ2F1c3NibHVyCgoyMDEyLTA1LTA4IDE2OjM5OjAyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBjaHJvbWl1bSB0byAwLjExCgoyMDEyLTA1LTA4IDE2OjM4OjQ4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgYnVybiB0byAwLjExCgoyMDEyLTA1LTA4IDE0OjE3OjA2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkgIGNvbnRyb2xsZXI6IHBvcnQgdG8gbmV3IGNvbnRyb2xsZXIgbG9jYXRpb24gYW5kIGFwaQoKMjAxMi0wNS0wOCAxNzo1ODo1OCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogZml4IGRlYWRsb2NrIHdoZW4gdGhlIGRldmljZSBpcyBsb3N0CgoyMDEyLTA1LTA4IDE4OjEwOjMwICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiByZW1vdmUgdHJhaWxpbmcgJzsnIGZyb20gbG9ja3MgZGVmaW5lcyB0byBtYWtlIGdzdC1pbmRlbnQgaGFwcHkKCjIwMTItMDUtMDcgMTM6MTM6MzQgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdWUgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htc2luazogZml4IG1lbW9yeSBjb3JydXB0aW9uIHdoZW4gYSBjbGllbnQgZGlzY29ubmVjdHMgKGZpeGVzICM2NzU2NDApCgkgIEFsc28sIGFkZCBhIGNoZWNrIHRvIG1ha2Ugc3VyZSBhIGNsaWVudCBpc24ndCBkdW1wZWQgdHdpY2UKCjIwMTItMDUtMDcgMjM6NTc6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgcmZic3JjOiBjYWxsIFdTQVN0YXJ0dXAvQ2xlYW51cCBvbiB3aW4zMgoJICBJZiB3ZSBsaW5rIGFnYWluc3QgbGlid2luc29jazIsIHdlIHNob3VsZCBwcm9iYWJseSBjYWxsCgkgIFN0YXJ0dXAvQ2xlYW51cCBhcyB3ZWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc1NDE1CgoyMDEyLTA1LTAzIDIzOjQyOjEzICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1hcmNhbmRyZS5sdXJlYXVAZ21haWwuY29tPgoKCSogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgcmZic3JjOiBmaXggbGlicmZiIGxpbmtpbmcgb24gd2luMzIKCSAgbGlidG9vbDogbGluazogIGk2ODYtdzY0LW1pbmd3MzItZ2NjIC1zaGFyZWQgLmxpYnMvbGliZ3N0cmZic3JjLmRsbC5kZWYKCSAgLmxpYnMvbGliZ3N0cmZic3JjX2xhLWdzdHJmYnNyYy5vICAtV2wsLS13aG9sZS1hcmNoaXZlIC4vLmxpYnMvbGlicmZiLmEKCSAgLVdsLC0tbm8td2hvbGUtYXJjaGl2ZSAgLUwvdXNyL2k2ODYtdzY0LW1pbmd3MzIvc3lzLXJvb3QvbWluZ3cvbGliCgkgIC1sZ3N0YmFzZS0wLjEwIC1sZ3N0cmVhbWVyLTAuMTAgLWx4bWwyIC1sZ29iamVjdC0yLjAgLWxndGhyZWFkLTIuMAoJICAtbGdtb2R1bGUtMi4wIC1sZ2xpYi0yLjAgLWxpbnRsICAtbW1zLWJpdGZpZWxkcyAtbW1zLWJpdGZpZWxkcyAtTzIgICAtbwoJICAubGlicy9saWJnc3RyZmJzcmMuZGxsIC1XbCwtLWVuYWJsZS1hdXRvLWltYWdlLWJhc2UgLVhsaW5rZXIKCSAgLS1vdXQtaW1wbGliIC1YbGlua2VyIC5saWJzL2xpYmdzdHJmYnNyYy5kbGwuYQoJICBDcmVhdGluZyBsaWJyYXJ5IGZpbGU6IC5saWJzL2xpYmdzdHJmYnNyYy5kbGwuYQoJICAuLy5saWJzL2xpYnJmYi5hKGxpYnJmYl9sYS1yZmJkZWNvZGVyLm8pOiBJbiBmdW5jdGlvbgoJICBgcmZiX2RlY29kZXJfcmVhZCc6CgkgIC9ob21lL2VsbWFyY28vcGtnL3JoZWwvbWluZ3ctZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLWZyZWUvZ3N0LXBsdWdpbnMtYmFkLTAuMTAuMjMvYnVpbGRfd2luMzIvZ3N0L2xpYnJmYi8uLi8uLi8uLi9nc3QvbGlicmZiL3JmYmRlY29kZXIuYzoxNjQ6CgkgIHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9pbXBfX3JlY3ZAMTYnCgkgIC4vLmxpYnMvbGlicmZiLmEobGlicmZiX2xhLXJmYmRlY29kZXIubyk6IEluIGZ1bmN0aW9uCgkgIGByZmJfZGVjb2Rlcl9jb25uZWN0X3RjcCc6CgkgIC9ob21lL2VsbWFyY28vcGtnL3JoZWwvbWluZ3ctZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLWZyZWUvZ3N0LXBsdWdpbnMtYmFkLTAuMTAuMjMvYnVpbGRfd2luMzIvZ3N0L2xpYnJmYi8uLi8uLi8uLi9nc3QvbGlicmZiL3JmYmRlY29kZXIuYzoxMTI6CgkgIHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9pbXBfX3NvY2tldEAxMicKCSAgL2hvbWUvZWxtYXJjby9wa2cvcmhlbC9taW5ndy1nc3RyZWFtZXItcGx1Z2lucy1iYWQtZnJlZS9nc3QtcGx1Z2lucy1iYWQtMC4xMC4yMy9idWlsZF93aW4zMi9nc3QvbGlicmZiLy4uLy4uLy4uL2dzdC9saWJyZmIvcmZiZGVjb2Rlci5jOjExOToKCSAgdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX2ltcF9faHRvbnNANCcKCSAgL2hvbWUvZWxtYXJjby9wa2cvcmhlbC9taW5ndy1nc3RyZWFtZXItcGx1Z2lucy1iYWQtZnJlZS9nc3QtcGx1Z2lucy1iYWQtMC4xMC4yMy9idWlsZF93aW4zMi9nc3QvbGlicmZiLy4uLy4uLy4uL2dzdC9saWJyZmIvcmZiZGVjb2Rlci5jOjEyMzoKCSAgdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX2ltcF9faW5ldF9hZGRyQDQnCgkgIC9ob21lL2VsbWFyY28vcGtnL3JoZWwvbWluZ3ctZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLWZyZWUvZ3N0LXBsdWdpbnMtYmFkLTAuMTAuMjMvYnVpbGRfd2luMzIvZ3N0L2xpYnJmYi8uLi8uLi8uLi9nc3QvbGlicmZiL3JmYmRlY29kZXIuYzoxMjU6CgkgIHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9pbXBfX2Nvbm5lY3RAMTInCgkgIEl0IG5lZWRzIC1sd3MyXzMyIHdoaWNoIGlzIGFscmVhZHkgaW4gJChXSU5TT0NLMl9MSUJTKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc1NDE1CgoyMDEyLTA1LTAyIDA4OjAzOjQ2IC0wNzAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSAgZHNob3d2aWRlb3Npbms6IGFkZCBtaXNzaW5nIGNhc3RzIHRvIExQQ1NUUgoKMjAxMi0wNS0wMyAyMzo1MToxNCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgIGRzaG93dmlkZW9zaW5rOiBsb3dlciByYW5rIG9mIHRoZSBEaXJlY3RTaG93IHZpZGVvIHNpbmsgcGx1Z2luCgkgIGQzZHZpZGVvc2luayBzaG91bGQgaGF2ZSBhIGhpZ2hlciByYW5rIGFzIGl0IHdvcmtzIGJldHRlci4KCjIwMTItMDUtMDIgMDc6NTY6MDAgLTA3MDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICBkc2hvd3ZpZGVvc2luazogRml4IGNvbXBpbGF0aW9uIG9uIHg2NCBwbGF0Zm9ybXMKCjIwMTItMDUtMDUgMjA6MDE6NDYgKzAzMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIEZpeCBwcmludGYgZm9ybWF0IGNvbXBpbGVyIHdhcm5pbmdzIG9uIG1pbmd3LXc2NAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc1NTIwCgoyMDEyLTA1LTA1IDE4OjIwOjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3J0bXAvTWFrZWZpbGUuYW06CgkqIGdzdC9kY2NwL01ha2VmaWxlLmFtOgoJKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkgIEFkZCBXSU5TT0NLMl9MSUJTLCByZW1vdmUgV0lOMzJfTElCUywgZml4IHJ0bXAgYnVpbGQgb24gV2luZG93cyBzb21lIG1vcmUKCSAgT25lIHdheSBvZiBwYXNzaW5nIC1sd3MyXzMyIHRvIHBsdWdpbnMgc2hvdWxkIGJlIGVub3VnaC4uCgoyMDEyLTA0LTE3IDExOjQ0OjE4ICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgcnRtcDogbGluayB0byB3aW5zb2NrIGxpYnJhcnkgb24gV2luZG93cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0MjQzCgoyMDEyLTA1LTA0IDE0OjAxOjEzICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBtYXJrIHVucG9ydGVkIFdpbmRvd3MgcGx1Z2lucyBhcyBzdWNoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzU0NDAKCjIwMTItMDUtMDQgMTc6MDk6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluOiByZW1vdmUgdW5uZWNlc3NhcnkgY29kZQoKMjAxMi0wNS0wNCAxNzoxMDoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW46IGltcHJvdmUgaW1hZ2UgY2FwdHVyZSBkZWJ1ZwoKMjAxMi0wNS0wNCAxNzowNTozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IGFsd2F5cyBmb3JjZSBpbWFnZS1wcm9maWxlIHRvIGhhdmUgdmFyaWFibGUgZnJhbWVyYXRlCgkgIGltYWdlLWVuY29kZWJpbiBjYW4ndCB1c2UgdmlkZW9yYXRlIGFzIGl0IGFsd2F5cyBzdG9yZSBvbmUgYnVmZmVyCgkgIHRvIGJlIGFibGUgdG8gZG8gaXRzIHRpbWVzdGFtcHMvZHVyYXRpb24gbWF0aC4gQXMgaW1hZ2UgY2FwdHVyZXMKCSAgb25seSBwdXNoIG9uZSBidWZmZXIgYXQgYSB0aW1lLCB0aGlzIHZpZGVvcmF0ZSBiZWhhdmlvciBicmVha3MKCSAgY2FtZXJhYmluIHVzYWdlLgoKMjAxMi0wNS0wMyAxOToxMTo1NyAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBiYXNlY2FtZXJhYmluOiBEbyBub3Qgc2V0IHRoZSBwYWQgdGVtcGxhdGVzIGluIHRoZSBiYXNlIGNsYXNzLgoJICBJdCBpcyBiZXN0IHRvIGxldCB0aGUgc3ViY2xhc3MgZGVmaW5lIHRoZSBwYWQgdGVtcGxhdGVzLCB0aGlzIHdvdWxkCgkgIGFsbG93IHRoZSBzdWJjbGFzcyB0byBkZWNpZGUgd2hpY2ggY2FwcyB0aGUgcGFkcyBzaG91bGQgaGF2ZS4KCjIwMTItMDUtMDEgMTc6NTU6MDIgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnRleHQuYzoKCSAgdmlkZW9jb250ZXh0OiBSZW1vdmUgdGhlIGV4cGxpY2l0IHVucmVmaW5nIG9mIHBhZCBvYmplY3QgZ2V0dGluZyBmcm9tIGl0ZXJhdG9yLgoKMjAxMi0wNS0wMiAxNTozNTowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBhdm9pZCBhc3NlcnRpb24gYnkgdXNpbmcgbnVsbCBjYXBzIGFzIGFueQoJICBOVUxMIGNhcHMgYXJlbid0IHZhbGlkIGNhcHMsIHVzZSBhIHJlZmVyZW5jZSB0byAnYW55JyBjYXBzCgoyMDEyLTA1LTAyIDE1OjI0OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogRml4IGdldC9zZXRfcHJvcGVydHkgZm9yIGVuY29kaW5nIHByb2ZpbGVzCgkgIEVuY29kaW5nIHByb2ZpbGVzIGFyZSBvYmplY3RzLCBub3QgYm94ZWQgdHlwZXMKCjIwMTItMDUtMDIgMDk6NDM6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogbnVsbCBjYXBzIGFyZSBub3QgdmFsaWQgaW4gMS4wCgkgIFVzZSBhbnkgY2FwcyBmb3IgdGhlIHByZXZpZXctY2FwcyBwcm9wZXJ0eSwgYXMgTlVMTCBjYXBzIGFyZQoJICBub3QgdmFsaWQgY2FwcyBpbiAxLjAgYW55bW9yZQoKMjAxMi0wNS0wMSAxNToyOTozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluMi1zcmMudHh0OgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogcmVtb3ZlIGN1c3RvbSByZW5lZ290aWF0ZSBldmVudAoJICBJbiAxLjAgdGhlcmUgaXMgYSBjb3JlIHJlY29uZmlndXJlIGV2ZW50LCBjYW1lcmFiaW4gZG9lc24ndCBuZWVkCgkgIGl0cyBjdXN0b20gcmVuZWdvdGlhdGUgZXZlbnQgYW55bW9yZQoKMjAxMi0wNS0wMSAxNTowODo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IFVzZSBwbGFpbiB2aWRlbyBlbmNvZGluZyBwcm9maWxlIGZvciBpbWFnZXMKCSAgRG8gbm90IHVzZSBqcGVnIGFzIGEgY29udGFpbmVyIGZvcm1hdCBmb3IgaW1hZ2UgY2FwdHVyZXMsIHVzZQoJICB0aGUgcGxhaW4gdmlkZW8gZW5jb2RpbmcgZm9ybWF0LiBJdCB3YXMgdXNlZCBhcyBhIGNvbnRhaW5lciBpbgoJICAwLjEwIHRvIGZvcmNlIHRoZSBhZGRpdGlvbiBvZiB0YWdzIHRvIHRoZSBpbWFnZS4KCjIwMTItMDUtMDEgMTQ6MzE6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogY2hhbmdlIG91dHB1dC1zZWxlY3RvciBuZWdvdGlhdGlvbiBtb2RlCgkgIEluIDAuMTAgY2FtZXJhYmluMiBjb250cm9sbGVkIHRoZSBuZWdvdGlhdGlvbiBzdHJpY3RseSBhbmQgdGhlIG91dHB1dC1zZWxlY3RvcgoJICB3b3VsZG4ndCBmb3J3YXJkIHNldGNhcHMgY2FsbHMuIEluIDAuMTEgdGhlIHJlbmVnb3RpYXRpb24gZXZlbnRzIGFyZSBhbHJlYWR5IGluCgkgIGNvcmUgYW5kIHdlIGNhbiBhbGxvdyB0aGUgcGlwZWxpbmUgdG8gaGFuZGxlIGl0IHdpdGhvdXQgbXVjaCBjb250cm9sIGZyb20gY2FtZXJhYmluCgkgIHBhcnQgKEkgaG9wZSksIHNvIHRoaXMgcGF0Y2ggbWFrZXMgb3V0cHV0LXNlbGVjdG9yIGZvcndhcmQgY2FwcyBuZWdvdGlhdGlvbiBldmVudHMKCSAgdG8gdGhlIGFjdGl2ZSBwYWQuCgoyMDEyLTA1LTAxIDE0OjMxOjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IHJlbW92aW5nIHJlbmVnb3RpYXRlIGhhbmRsZXJzCgkgIGdzdHJlYW1lciAxLjAgYWxyZWFkeSBoYXMgdGhlIHJlY29uZmlndXJlIGV2ZW50LCByZW1vdmUgdGhlCgkgIGN1c3RvbSBldmVudCBoYW5kbGluZyBmcm9tIHdyYXBwZXJjYW1lcmFiaW5zcmMKCjIwMTItMDUtMDEgMTM6Mjg6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogcHJldmVudCBjYXBzIHJlbmVnb3RpYXRpb24gbG9vcAoJICBPbmx5IHNldCB0aGUgem9vbSBjYXBzZmlsdGVyIGNhcHMgd2hlbiB0aGUgbmV3IGNhcHMgYXJlIGRpZmZlcmVudCwKCSAgcHJldmVudGluZyBhIGNhcHMgcmVuZWdvdGlhdGlvbiBsb29wLgoKMjAxMi0wNS0wMSAxMzoxNToyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJICBjYW1lcmFiaW46IGV4YW1wbGU6IFVwZGF0ZSBwcmVwYXJlLXdpbmRvdy1oYW5kbGUgbWVzc2FnZQoJICBNZXNzYWdlIG5hbWUgY2hhbmdlZCBmcm9tIHByZXBhcmUteHdpbmRvdy1pZCB0byBwcmVwYXJlLXdpbmRvdy1oYW5kbGUKCjIwMTItMDUtMDEgMTM6MDA6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGNhbWVyYWJpbjogZXhhbXBsZXM6IFJlbmFtaW5nIGNhbWVyYWJpbjIgdG8gY2FtZXJhYmluCgoyMDEyLTA1LTAxIDEwOjI2OjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGJhc2VjYW1lcmFiaW5zcmM6IHVwZGF0aW5nIHByb3BlcnR5IHRvIG5ldyBuYW1lCgkgIGVuYWJsZS1sYXN0LWJ1ZmZlciBpcyBub3cgZW5hYmxlLWxhc3Qtc2FtcGxlCgoyMDEyLTA1LTAxIDEwOjE4OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW46IFJlcGxhY2luZyBmZm1wZWdjb2xvcnNwYWNlIHdpdGggdmlkZW9jb252ZXJ0CgoyMDEyLTA0LTMwIDEyOjM2OjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgdHNiYXNlOiB1bnJlZiBiYWQgcGFja2V0cyB0b28KCSAgQ29uZmxpY3RzOgoJICBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jCgoyMDEyLTA0LTMwIDEyOjI4OjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogcmVzZXQgdGhlIHN0YXRlIG9mIHRoZSBzdHJlYW0gd2hlbiBmbHVzaGluZwoJICBXZSBuZWVkIHRvIHJlc2V0IHRoZSBzdHJlYW0gb24gYSBmbHVzaCBvciBlbHNlIG9sZCBwYWNrZXRzIGNvdWxkIGJlIGFkZGVkIHRvIHRoZQoJICBsaXN0IGFuZCBsZWFrLgoKMjAxMi0wNC0zMCAxMTowNToyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IGRvbid0IHB1c2ggZXZlbnRzIHVwc3RyZWFtIGluIHB1bGwgbW9kZQoJICBJbiBwdWxsIG1vZGUsIGRvbid0IHB1c2ggdGhlIHNlZWsgZXZlbnQgdXBzdHJlYW0uCgoyMDEyLTA0LTI2IDIyOjQ5OjA3IC0wNDAwICBXaW5kIFl1YW4gPGZlbmcueXVhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyOiBtcGVnNCB0eXBlIGVycm9yCgoyMDEyLTA1LTAxIDA5OjQxOjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzOiBkb24ndCBwb2tlIGludG8gcHJpdmF0ZSBhZGFwdGVyIGZpZWxkcwoKMjAxMi0wNC0zMCAxODowNTowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IHVwZGF0ZSBjYW1lcmFiaW4oMikgdW5pdCB0ZXN0IGZvciByZW5hbWUKCjIwMTItMDQtMzAgMTc6NTY6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHBsdWdpbi5jOgoJICBjYW1lcmFiaW4yOiByZW5hbWUgdG8gImNhbWVyYWJpbiIKCSAgQnV0IGxlYXZlIHNvdXJjZSBjb2RlIGludGFjdCBmb3Igbm93LCBmb3IgZWFzaWVyIHBhdGNoIG1lcmdpbmcuCgoyMDEyLTA0LTMwIDE3OjQ0OjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbjIueG1sOgoJKiBnc3QvY2FtZXJhYmluLy5naXRpZ25vcmU6CgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vVE9ETzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5kZWJ1Zy5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3Lmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbmNvbG9yYmFsYW5jZS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbmNvbG9yYmFsYW5jZS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGlucHV0c2VsZWN0b3IuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RpbnB1dHNlbGVjdG9yLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLnVpOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS51aToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBSZW1vdmUgb2xkIGNhbWVyYWJpbgoKMjAxMi0wNC0yNSAxMzozMTozNiArMDIwMCAgR2lsIFBlZGVyc2VuIDxnaXRAZ3Bvc3QuZGs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBzdGFydCBwYXVzZWQgdGFzayBvbiBuZXcgZGF0YQoKMjAxMi0wNC0yMSAxMTozNjowOSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBBbmRyb2lkLm1rOgoJKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSAgYW5kcm9pZDogQWRkIHN1cHBvcnQgZm9yIHRoZSBmYWFjIHBsdWdpbgoKMjAxMi0wNC0xNiAxMDowNzo1MSAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIEFuZHJvaWQubWs6CgkgIFJlZW5hYmxlIGZhYWQgcGx1Z2luIGZvciB0aGUgQW5kcm9pZCBOREsgYnVpbGRzCgoyMDEyLTA0LTI1IDExOjUwOjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3JzdmcvZ3N0cnN2Zy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuaDoKCSAgcnN2ZzogU3RvcCB1c2luZyBkZXByZWNhdGVkIEFQSSB3aGVuIGNvbXBpbGluZyB3aXRoIFJTVkcgMi4zNS4wIG9yIG5ld2VyCgoyMDEyLTAzLTI5IDE1OjU3OjU4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUKCjIwMTItMDQtMDQgMTE6NTE6MjggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJICBvcHVzOiBIYW5kbGUgR3N0Qnl0ZVdyaXRlciByZXR1cm4gdmFsdWVzCgoyMDEyLTA0LTI1IDEwOjI3OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBzbmRpbyBwbHVnaW4gaXMgbm90IHBvcnRlZCB5ZXQKCjIwMTItMDQtMjUgMTA6MjU6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NuZGlvL2dzdHNuZGlvLmM6CgkgIHNuZGlvOiBGaXggaTE4biBpbml0aWFsaXphdGlvbgoKMjAxMi0wNC0xMSAyMTowNToyNiAtMDQwMCAgSmFjb2IgTWV1c2VyIDxqYWtlbXNyQHNkZi5sb25lc3Rhci5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3NuZGlvL01ha2VmaWxlLmFtOgoJKiBleHQvc25kaW8vZ3N0c25kaW8uYzoKCSogZXh0L3NuZGlvL3NuZGlvc2luay5jOgoJKiBleHQvc25kaW8vc25kaW9zaW5rLmg6CgkqIGV4dC9zbmRpby9zbmRpb3NyYy5jOgoJKiBleHQvc25kaW8vc25kaW9zcmMuaDoKCSAgc25kaW86IGFkZCBzbmRpbyBwbHVnaW4gZm9yIE9wZW5CU0QKCjIwMTItMDQtMjQgMTc6MDA6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmg6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmg6CgkgIGNvbG9yZWZmZWN0czogcG9ydCB0byAwLjExCgoyMDEyLTA0LTI0IDE1OjIwOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSAgZHZiLXN1YjogVXNlIHVuY2hlY2tlZCBieXRlIHJlYWRlciBmdW5jdGlvbnMKCjIwMTItMDQtMjQgMTQ6NTc6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgbW1zOiBVc2UgY29ycmVjdCBlbnVtIHR5cGUKCjIwMTItMDQtMjQgMTE6MDI6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSAgdmRwYXU6IFN3aXRjaCBmcm9tIGRlcHJlY2F0ZWQgWEtleWNvZGVUb0tleXN5bSgpIHRvIFhrYktleWNvZGVUb0tleXN5bSgpCgkgIENvbmZsaWN0czoKCSAgc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYwoKMjAxMi0wNC0yMyAxNzoxMTozOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IHVzZSBzb21lIG1vcmUgYm9pbGVycGxhdGUKCjIwMTItMDQtMjMgMTY6NTU6MTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuYzoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuaDoKCSAgYXNmbXV4OiBwb3J0IHRvIDAuMTEKCjIwMTItMDQtMTIgMTQ6MTc6MTQgKzAyMDAgIEdpbCBQZWRlcnNlbiA8Z2l0QGdwb3N0LmRrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L2hscy9nc3RmcmFnbWVudC5jOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50Lmg6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJKiBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgaGxzZGVtdXg6IHBvcnQgdG8gMC4xMQoKMjAxMi0wNC0yMCAxNTowNTozNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogcGFzcyB0aGUgcmVhc29uIGZvciBmYWlsZWQgcmVhZCBhcyBHc3RGbG93UmV0dXJuCgkgIE1ha2UgdGhlIF9yZWFkX2RldmljZSBmdW5jdGlvbiByZXR1cm4gYSBHc3RGbG93UmV0dXJuIHNvIHRoYXQgd2UgY2FuIHByb3BhZ2F0ZQoJICB0aGlzIHRvIHRoZSBjYWxsZXIuIFRoaXMgYWxsb3dzIHVzIHRvIGRpZmZlcmVudGlhdGUgYmV0d2VlbiBwb2xsIGVycm9ycyBhbmQKCSAgZmx1c2hpbmcgc3RhdGUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQyMTkKCjIwMTItMDQtMTcgMTE6NDQ6MDAgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIEZpeCBmb3JtYXQgKHR5cGUgaXMgZXhwbGljaXRseSB1bnNpZ25lZCBsb25nKQoJICBGaXhlcyAjNjc0MjQ0CgoyMDEyLTA0LTIwIDEyOjA5OjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L25hcy9uYXNzaW5rLmM6CgkgIG5hczogUmV3b3JrIG5hc3NpbmsgYSBsaXR0bGUKCSAgQmFzZWQgb24gcGF0Y2ggZnJvbSA8b2xlLmhlbGxxdmlzdCBhdCBzcHJheS5zZT4KCSAgQ3JlYXRlIGFuZCBkZXN0cm95IGZsb3cgaW4gcHJlcGFyZS91bnByZXBhcmUKCSAgUmVtb3ZlIHNvbWUgZHVwbGljYXRlIGNvZGUgZnJvbSBjbG9zZSBhbmQgcHJlcGFyZSB0aGF0IGlzIG5vdyBpbiB1bnByZXBhcmUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQxMzAKCjIwMTItMDQtMTggMTI6MDI6NTIgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlY29udmVydGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZW1ldGEuaDoKCSAgRG9jIGZpeGVzIChnc3RzdXJmYWNlY29udmVydGVyLCBnc3RzdXJmYWNlbWV0YSkuCgoyMDEyLTA0LTIwIDExOjIzOjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJICBtcGVndHNkZW11eDogd2UgaWdub3JlIHdhcm5pbmdzIGRpZmZlcmVudGx5CgkgIFdlIHN1cHByZXNzIHRoZSB3YXJuaW5ncyBpbiB0aGUgLmMgZmlsZSBpbnN0ZWFkLgoKMjAxMi0wNC0xOSAxNDoyMDo1MiArMDIwMCAgR2lsIFBlZGVyc2VuIDxnaXRAZ3Bvc3QuZGs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBwb3J0IHRvIDAuMTEKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDM5NwoKMjAxMi0wNC0yMCAxMDo1MDoxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkgIG1wZWd0c2Jhc2U6IGNsYXJpZnkgZXZlbnQgb3duZXJzaGlwCgoyMDEyLTA0LTE5IDEzOjU5OjM3ICswMjAwICBHaWwgUGVkZXJzZW4gPGdpdEBncG9zdC5kaz4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZml4IG1lbW9yeSBsZWFrcwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0MzkzCgoyMDEyLTA0LTIwIDExOjEyOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9maWVsZGFuYWx5c2lzL01ha2VmaWxlLmFtOgoJICBmaWVsZGFuYWx5c2lzOiBEb2VzIG5vdCBuZWVkIHRvIGxpbmsgdG8gbGliZ3N0YmFzZXZpZGVvIGF0IGFsbAoJICBDb25mbGljdHM6CgkgIGdzdC9maWVsZGFuYWx5c2lzL01ha2VmaWxlLmFtCgoyMDEyLTA0LTE5IDE0OjI0OjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJidWZmZXJwb29sLmM6CgkgIGZpeCBmb3IgdmlkZW8gYXBpIHVwZGF0ZQoKMjAxMi0wNC0xOSAxMjoyOTo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL3B2cjJkL2dzdHB2cmJ1ZmZlcnBvb2wuYzoKCSAgdmlkZW86IFVwZGF0ZSBmb3IgbGliZ3N0dmlkZW8gQVBJIGNoYW5nZXMKCjIwMTItMDQtMTcgMjI6NDY6MTIgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBEbyBub3Qgc2V0IHRoZSBkdXJhdGlvbiB0byB0aGUgaW5wdXQgYnVmZmVyJ3MgZHVyYXRpb24gdW5sZXNzIHZhbGlkIFRoaXMgY2F1c2VzIGEgYnVnIHdoZXJlIHRoZSBmaXJzdCBidWZmZXIgaGFzIHRzID0gMCwgZHVyPVgsIHRoZSBzZWNvbmQgYnVmZmVyIGhhcyB0cz1YIChiZWNhdXNlIG9mIHRzICs9IGR1cmF0aW9uKSwgZHVyPS0xLCB0aGVuIHRoZSBmb2xsb3dpbmcgYnVmZmVycyB3aWxsIHN0YXJ0IGhhdmluZyBhIG5vbiB2YWxpZCB0aW1lc3RhbXAuIFRoZSByZWFsIGR1cmF0aW9uIGlzIG9ubHkgY2FsY3VsYXRlZCBkdXJpbmcgdGhlIGNhcHMgbmVnb2NpYXRpb24gd2hlbiB0aGVyZSBpcyBhIGZyYW1lcmF0ZSBhdmFpbGFibGUgYW5kIHRoZSBidWZmZXIncyBkdXJhdGlvbiBpcyBpbnZhbGlkLgoKMjAxMi0wNC0xNyAxNTo0NDowNyArMDIwMCAgSnVsaWFuIFNjaGVlbCA8anVsaWFuQGp1c3N0LmRlPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogU2V0IGN1cnJlbnRsaXN0IHRvIE5VTEwgYWZ0ZXIgZnJlZS4KCSAgVGhpcyBwcmV2ZW50cyBkb3VibGUgZnJlZSBvZiBjdXJyZW50bGlzdCBpcyBzb21lIGNpcmN1bXN0YW5jZXMuCgoyMDEyLTA0LTE3IDE4OjU2OjUwIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogRml4IGR1cmF0aW9uIGluIGJ1ZmZlcnMuIEl0J3MgZnJhbWVzIHBlciBzZWNvbmQsIG5vdCBzZWNvbmRzIHBlciBmcmFtZQoKMjAxMi0wNC0xNyAxNToyMjo1OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5oOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbXhmL214Zm11eC5oOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uaDoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5jOgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSAgY29sbGVjdHBhZHMyOiByZW5hbWUgdG8gY29sbGVjdHBhZHMKCjIwMTItMDQtMTYgMTE6MDA6NDQgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYTogZG8gbm90IGxpbmsgZ3N0aW50ZXJmYWNlcwoKMjAxMi0wNC0xNiAwOTowOToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZkYjI1YmUgdG8gZGM3MDIwMwoKMjAxMi0wNC0xMyAwMDoxMzozOSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IHBhZCBpdGVyYXRvciBsZWFrCgoyMDEyLTA0LTEzIDAwOjE0OjI3ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZG9uJ3QgbGVhayBmb3JjZSBrZXkgdW5pdCBldmVudHMKCjIwMTItMDQtMTQgMjE6MDk6MjUgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBtcGVndmlkZW9wYXJzZTogRG8gbm90IGlnbm9yZSBzdGFydCBjb2RlIGF0IHRoZSBlbmQgb2YgYnVmZmVyCgoyMDEyLTA0LTE0IDIxOjAyOjA2ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogUGFyc2VyIGZhaWxzIHRvIHNwbGl0IHNvbWUgZnJhbWVzCgoyMDEyLTA0LTE0IDIwOjUzOjQ3ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogRml4IEZQUyBhbmQgZnJhbWUgZHVyYXRpb24gZm9yIHRlbGVjaW5lIGZpbGVzCgoyMDEyLTA0LTE0IDIwOjQ2OjI0ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogRG8gbm90IHVwZGF0ZSBjb2RlYy1kYXRhIHdoZW4gb25seSBxdWFudGlzZXIgbWF0cml4IGNoYW5nZXMKCjIwMTItMDQtMTQgMTU6Mjk6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBkb24ndCBsaW5rIGFnYWluc3QgbGliZ3N0aW50ZXJmYWNlcyB3aGljaCB3YXMgcmVtb3ZlZAoJICBUaGUgR3N0TmF2aWdhdGlvbiBpbnRlcmZhY2UgaXMgbm93IGluIGxpYmdzdHZpZGVvLgoKMjAxMi0wNC0xMyAyMjowNDozOCArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgZml4IGNyYXNoCgkgIGxhc3Rfc2MgaXMgbm90IHJlc2V0IGV2ZXJ5IHRpbWUgYSBmcmFtZSBpcyBiZWluZyBvdXRwdXQsIHdoaWNoIGNhbiBjYXVzZQoJICBsYXN0X3NjID4gYnVmX3NpemUgaW4gc3Vic2VxdWVudCBmcmFtZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDA3MwoKMjAxMi0wNC0xMyAxNToxMjoxMiArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIFNldCBzeW5jX3BvaW5yID0gMSBmb3Iga2V5ZnJhbWUKCjIwMTItMDQtMTMgMTQ6MDc6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogdXNlIDEuMCB2aWRlb2ZpbHRlciBiYXNlY2xhc3MgZnVuY3Rpb25zCgkgIFBvcnQgdG8gdGhlIG5ldyBmdW5jdGlvbnMgb2YgdGhlIHZpZGVvZmlsdGVyIGNsYXNzCgoyMDEyLTA0LTEzIDEwOjE2OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0YnVsZ2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RkaWZmdXNlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1hcmJsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cm90YXRlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3RyZXRjaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR1bm5lbC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBwb3J0IHRvIDEuMAoJICBTdHJhaWdodGZvcndhcmQgcG9ydCBvZiBnZW9tZXRyaWN0cmFuc2Zvcm0gcGx1Z2luCgoyMDEyLTA0LTEzIDEzOjQ0OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBNb2Rlcm5pemUgYXV0b3Rvb2xzIHNldHVwIGEgYml0CgkgIEFsc28gd2Ugbm93IG9ubHkgY3JlYXRlIHRhci5iejIgYW5kIHRhci54eiB0YXJiYWxscy4KCjIwMTItMDQtMTMgMTM6Mzc6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0NjRmZTE1IHRvIDZkYjI1YmUKCjIwMTItMDQtMTMgMTM6MTA6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFVwZGF0ZSBmb3IgdGhlIHJlbW92YWwgb2YgdGhlIGludGVyZmFjZXMgbGlicmFyeSBhbmQgdGhlIHR1bmVyL21peGVyIGludGVyZmFjZXMKCjIwMTItMDQtMTIgMTg6MjU6MDkgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBBbmRyb2lkLm1rOgoJICBTeW5jIEFuZHJvaWQubWsgZW50cmllcyB0byB0aGUgbmV3IG1ham9yIHZlcnNpb24KCSAgQ2hhbmdlIG5hbWluZyBvbiB0aGUgcGtnY29uZmlnIGZpbGVzIHRvIHJlZmxlY3QKCSAgdGhlIDAuMTAgLT4gMS4wIGJ1bXAuCgoyMDEyLTA0LTEyIDExOjE5OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS45MCA9PT0KCjIwMTItMDQtMTIgMTA6NTA6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluMi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTEuOTAKCjIwMTItMDQtMTIgMTA6NDc6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMi0wNC0xMSAyMTo0Nzo1MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmZHNpbmsuYzoKCSAgdGVzdHM6IHJlbW92ZSBvYnNvbGV0ZSBtdWx0aWZkc2luayB0ZXN0CgkgIC4uLiB3aGljaCBpcyBpbiAtYmFzZSBub3dhZGF5cy4KCjIwMTItMDQtMTAgMTc6MzU6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMveDI2NGVuYy5jOgoJICB0ZXN0czogcmVtb3ZlIG9ic29sZXRlIHgyNjRlbmMgdW5pdCB0ZXN0CgkgIC4uLiB3aGljaCBpcyBpbiAtdWdseSBub3dhZGF5cy4KCjIwMTItMDQtMTAgMTc6MjQ6MDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBsZXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb3B1cy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2FhY2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2FtcndiZW5jLmM6CgkgIHRlc3RzOiBwb3J0IHNvbWUgbW9yZSB0byAxLjAKCjIwMTItMDQtMTAgMTc6MjI6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBwbHVnIGNhcHMgbGVhawoKMjAxMi0wNC0xMCAxNzoyMjo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IHR3ZWFrIGNhcHMgbmVnb3RpYXRpb24KCSAgLi4uIHNvIGFzIHRvIGF2b2lkIGxlYWtpbmcgY2FwcyBvciBtYW5pcHVsYXRpbmcgTlVMTCBjYXBzLgoKMjAxMi0wNC0xMCAxNzoyMjowNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkgIG1wbGV4OiBhdm9pZCBsZWFraW5nIHBhZCB0ZW1wbGF0ZSBjYXBzIGFuZCBzdXBlcmZsdW91cyBjb3B5CgoyMDEyLTA0LTEwIDE3OjIxOjI5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSAgbXBsZXg6IGZpeCBwYWQgcmVsZWFzZSBhbmQgY2xlYW51cAoKMjAxMi0wNC0wNiAxNDo1MjoxMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vMC4xMCcKCSAgQ29uZmxpY3RzOgoJICBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jCgkgIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmMKCjIwMTItMDQtMDYgMTQ6Mjc6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiB0d2VhayBkZWZhdWx0IHNldHRpbmcgb2YgZm9ybWF0IGFuZCBhbGlnbm1lbnQgaW4gY29kZWNfZGF0YSBjYXNlCgkgIC4uLiB3aGljaCBzaG91bGQgcHJvbW90ZSBlbmRpbmcgdXAgaW4gcGFzc3Rocm91Z2ggbW9kZS4KCjIwMTItMDQtMDYgMTQ6MjM6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkbyBub3QgdXNlIF91bmNoZWNrZWQgYnl0ZXdyaXRlciB2YXJpYW50cyB0byBpbnNlcnQgY29uZmlnCgkgIC4uIHNpbmNlIHRoZSBieXRld3JpdGVyIGlzIGV4cGxpY2l0bHkgY3JlYXRlZCB3aXRoIG5vbi1maXhlZCBzaXplIHRvCgkgIGFsbG93ICh2ZXJ5IG11Y2ggc28gZXhwZWN0ZWQpIGdyb3d0aC4KCSAgUGFydGlhbGx5IHJldmVydHMgY29tbWl0IDIwNjY5ZDQ2MWE0OTUzZWI1ZWQwMTM3NGQ1YWI2MjhiNGRjNzNiNjQgd2hpbGUKCSAgdHJ5aW5nIHRvIGtlZXAgKHNvbWU/KSBjb21waWxlcnMgaGFwcHkuCgkgIElJUkMsIHRoZSBwdXJwb3NlIG9mIEdzdEJ5dGVXcml0ZXIgaW4gdGhlIGZpcnN0IHBsYWNlIHdhcyAoYXQgbGVhc3QpCgkgIGJlaW5nIGFibGUgdG8gZHVtcCBkYXRhIHdpdGhvdXQgaGF2aW5nIHRvIGZ1c3Mgd2l0aCBtZW1vcnkgZXhwYW5zaW9uCgkgIGFuZCBzaXplIGlzc3VlcyAuLi4KCSAgRml4ZXMgIzY3MzQ4NS4KCjIwMTItMDQtMDUgMTc6MTU6MTEgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi8wLjEwJwoKMjAxMi0wNC0wNSAxODo0MzowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDdmZGE1MjQgdG8gNDY0ZmUxNQoKMjAxMi0wNC0wNSAxODowMjo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHBsdWdpbi5jOgoJKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOgoJKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWYuYzoKCSogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJKiBleHQvYnoyL2dzdGJ6Mi5jOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHQuYzoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmM6CgkqIGV4dC9jb2cvZ3N0Y29nLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmwuYzoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjLmNjOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZsaXRlL2dzdGZsaXRlLmM6CgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9nc2V0dGluZ3MvcGx1Z2luLmM6CgkqIGV4dC9nc20vZ3N0Z3NtLmM6CgkqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJKiBleHQvanAyay9nc3RqcDJrLmM6CgkqIGV4dC9rYXRlL2dzdGthdGUuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L21pbWljL2dzdG1pbWljLmM6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBleHQvbmFzL25hc3NpbmsuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L29mYS9nc3RvZmEuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWwuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wdXMvZ3N0b3B1cy5jOgoJKiBleHQvcmVzaW5kdmQvcGx1Z2luLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmcuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcC5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvLmM6CgkqIGV4dC9zZGwvZ3N0c2RsLmM6CgkqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSogZXh0L3NvdW5kdG91Y2gvcGx1Z2luLmM6CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5kc3AuYzoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSogZXh0L3RlbGV0ZXh0ZGVjL3RlbGV0ZXh0LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjLmM6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2IuYzoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZC5jOgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSogZ3N0L2FpZmYvYWlmZi5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZi5jOgoJKiBnc3QvYXVkaW9idWZmZXIvZ3N0YXVkaW9yaW5nYnVmZmVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL3BsdWdpbi5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvcGx1Z2luLmM6CgkqIGdzdC9iYXllci9nc3RiYXllci5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RwbHVnaW4uYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0cGx1Z2luLmM6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHBsdWdpbi5jOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RwbHVnaW4uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnRlZHBsdWdpbi5jOgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXIuYzoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ2Zvcm1hdC5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZ3N0bGVnYWN5cmVzYW1wbGUuYzoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkqIGdzdC9tcGVnZGVtdXgvZmx1bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC9nc3R0c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlLmM6CgkqIGdzdC9teGYvbXhmLmM6CgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkqIGdzdC9wYXRjaGRldGVjdC9nc3RwYXRjaGRldGVjdC5jOgoJKiBnc3QvcGNhcHBhcnNlL3BsdWdpbi5jOgoJKiBnc3QvcG5tL2dzdHBubS5jOgoJKiBnc3QvcmF3cGFyc2UvcGx1Z2luLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWwuYzoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvZ3N0cmVtb3Zlc2lsZW5jZS5jOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZy5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eGVyLmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4LmM6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG9wbHVnaW4uYzoKCSogZ3N0L3NkaS9nc3RzZGkuYzoKCSogZ3N0L3NkcC9nc3RzZHBlbGVtLmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9wbHVnaW4uYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuLmM6CgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJKiBnc3Qvc3ViZW5jL2dzdHN1YmVuYy5jOgoJKiBnc3QvdHRhL2dzdHR0YS5jOgoJKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyc2JhZC5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9zaWduYWwuYzoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJKiBzeXMvYWNtbXAzZGVjL2FjbW1wM2RlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSogc3lzL2F2Yy9nc3RhdmNwbHVnaW4uY3BwOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2RlY3dyYXBwZXIuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kdmIvZ3N0ZHZiLmM6CgkqIHN5cy9keHIzL2R4cjNpbml0LmM6CgkqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXMuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvcGx1Z2luLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnIuYzoKCSogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJKiBzeXMvcXR3cmFwcGVyL3F0d3JhcHBlci5jOgoJKiBzeXMvc2htL2dzdHNobS5jOgoJKiBzeXMvdmNkL3ZjZHNyYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXUuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGkuYzoKCSogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdHdpbnNjcmVlbmNhcC5jOgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSogdG9vbHMvZ3N0LXByb2plY3QtbWFrZXI6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgZ3N0OiBVcGRhdGUgZm9yIEdTVF9QTFVHSU5fREVGSU5FKCkgQVBJIGNoYW5nZXMKCjIwMTItMDQtMDUgMTE6NTE6NDAgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5jOgoJICBobHM6IFNvbWUgbW9yZSBkZWJ1Z2dpbmcKCjIwMTItMDMtMTUgMTQ6NDI6NDQgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogUmVwbGFjZSB0aGUgZmV0Y2hlciBjb2RlIHdpdGggYSBHc3RVUklEb3dubG9hZGVyIG9iamVjdAoKMjAxMi0wMy0xNCAxNzowMToxNyAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIGhsczogTWlub3IgY2xlYW51cCBpbiBHc3RVcmlEb3dubG9hZGVyCgoyMDEyLTAzLTE0IDE3OjA2OjIyIC0wNDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5oOgoJICBobHNkZW11eDogRmFjdG9yIG91dCBhbGwgdGhlIGZldGNoZXIgY29kZSBpbiBhIEdzdFVSSURvd25sb2FkZXIgY2xhc3MKCSAgVGhpcyBjbGFzcyBpcyBtZWFudCB0byBiZSByZXVzYWJsZSBieSBvdGhlciBjb21wb25lbnRzCgoyMDEyLTA0LTA1IDEwOjIyOjI5IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50LmM6CgkgIGhsczogRG8gbm90IGFkZCByZWZlcmVuY2UgdG8gYnVmZmVycyBwYXNzZWQgaW4gR3N0RnJhZ21lbnQKCSAgV2UganVzdCBzdGVhbCB0aGUgcmVmZXJlbmNlIHRvIHRoZSBidWZmZXIsIHdoaWNoIG1lYW5zIHdlIGNhbiBrZWVwIHdyaXRpbmcgbWV0YWRhdGFzCgkgIG9uIHRoZSBidWZmZXJzLgoKMjAxMi0wMy0xMyAxNToxODoyMiAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2hscy9nc3RmcmFnbWVudC5jOgoJICBobHM6IE1pbm9yIEdzdEZyYWdtZW50IGNsZWFudXAKCjIwMTEtMDctMDggMDE6MDk6MDAgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50LmM6CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnQuaDoKCSAgaGxzOiBBZGQgYSBHc3RGcmFnbWVudCBjbGFzcyB0aGF0IHJlcHJlc2VudHMgYSBmcmFnbWVudCBpbiBhIG0zdSBwbGF5bGlzdAoKMjAxMi0wMy0xNSAxODoyMTo1OCAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsczogTWFrZSB0aGUgdXBkYXRlcyB0aHJlYWQgYSBHc3RUYXNrCgoyMDEyLTA0LTA1IDEzOjI4OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVcGRhdGUgdmVyc2lvbiB0byAwLjExLjg5LjEKCjIwMTItMDQtMDUgMDk6MTY6MjcgKzAxMDAgIHVyYWV1cyA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlCgoyMDEyLTA0LTA1IDA2OjE4OjI4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHNldCBjb3JyZWN0IG5ld3NlZ21lbnQgZmllbGRzIG9uIF9USU1FIHNlZWtzCgkgIEZvcndhcmQgdGhlIHNlZWsgcmF0ZSBhbmQgc2V0IE5TLnN0YXJ0IHRvIHRoZSBzZWVrIHRhcmdldCBzbyB0aGF0IGRlY29kZXJzIGNhbgoJICBhcHBseSBjbGlwcGluZyB3aGVyZSBuZWNlc3NhcnkuCgoyMDEyLTA0LTA1IDA4OjU0OjI4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuaDoKCSAgYXBwbGVtZWRpYTogdXBkYXRlIGNvcmV2aWRlb2J1ZmZlciBhZnRlciBidWZmZXIgbWV0YSBBUEkgY2hhbmdlCgoyMDEyLTA0LTA1IDA4OjUzOjQxICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuaDoKCSAgYXBwbGVtZWRpYTogdXBkYXRlIGNvcmVtZWRpYWJ1ZmZlciBhZnRlciBidWZmZXIgbWV0YSBBUEkgY2hhbmdlCgoyMDEyLTA0LTA1IDA4OjUyOjQ5ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgcXRraXR2aWRlb3NyYzogdXBkYXRlIGFmdGVyIEJhc2VTcmM6OmZpeGF0ZSBBUEkgY2hhbmdlCgoyMDEyLTA0LTA1IDA4OjI0OjMxICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICByYXdwYXJzZTogZml4IGNvbXBpbGUgd2FybmluZwoKMjAxMi0wNC0wNSAwNjoxODoyOCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBzZXQgY29ycmVjdCBuZXdzZWdtZW50IGZpZWxkcyBvbiBfVElNRSBzZWVrcwoJICBGb3J3YXJkIHRoZSBzZWVrIHJhdGUgYW5kIHNldCBOUy5zdGFydCB0byB0aGUgc2VlayB0YXJnZXQgc28gdGhhdCBkZWNvZGVycyBjYW4KCSAgYXBwbHkgY2xpcHBpbmcgd2hlcmUgbmVjZXNzYXJ5LgoKMjAxMi0wNC0wNCAxNDo0MToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSogZG9jcy9saWJzL2NvbXBpbGluZy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvdmVyc2lvbi5lbnRpdGllcy5pbjoKCSogZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOgoJKiBleHQvYXNzcmVuZGVyL01ha2VmaWxlLmFtOgoJKiBleHQvY2VsdC9NYWtlZmlsZS5hbToKCSogZXh0L2Nocm9tYXByaW50L01ha2VmaWxlLmFtOgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9mYWFkL01ha2VmaWxlLmFtOgoJKiBleHQvZmxpdGUvTWFrZWZpbGUuYW06CgkqIGV4dC9nc2V0dGluZ3MvTWFrZWZpbGUuYW06CgkqIGV4dC9nc2V0dGluZ3Mvb3JnLmZyZWVkZXNrdG9wLmdzdHJlYW1lci5kZWZhdWx0LWVsZW1lbnRzLmdzY2hlbWEueG1sLmluOgoJKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJKiBleHQvanAyay9NYWtlZmlsZS5hbToKCSogZXh0L2thdGUvTWFrZWZpbGUuYW06CgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkqIGV4dC9sdjIvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkqIGV4dC9uYXMvTWFrZWZpbGUuYW06CgkqIGV4dC9vZmEvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuYWwvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9yc3ZnL01ha2VmaWxlLmFtOgoJKiBleHQvc2Nocm9lZGluZ2VyL01ha2VmaWxlLmFtOgoJKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSogZXh0L3ZvYWFjZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvdm9hbXJ3YmVuYy9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGV4dC96YmFyL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9hZHBjbWRlYy9NYWtlZmlsZS5hbToKCSogZ3N0L2FkcGNtZW5jL01ha2VmaWxlLmFtOgoJKiBnc3QvYWlmZi9NYWtlZmlsZS5hbToKCSogZ3N0L2FzZm11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9NYWtlZmlsZS5hbToKCSogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NkeGFwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2NvbG9yZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9NYWtlZmlsZS5hbToKCSogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSogZ3N0L2ZhY2VvdmVybGF5L01ha2VmaWxlLmFtOgoJKiBnc3QvZmllbGRhbmFseXNpcy9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWkwci9NYWtlZmlsZS5hbToKCSogZ3N0L2dhdWRpZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2lkM3RhZy9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvanBlZ2Zvcm1hdC9NYWtlZmlsZS5hbToKCSogZ3N0L2xpdmVhZGRlci9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJKiBnc3QvcGF0Y2hkZXRlY3QvTWFrZWZpbGUuYW06CgkqIGdzdC9wbm0vTWFrZWZpbGUuYW06CgkqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHB2cDgvTWFrZWZpbGUuYW06CgkqIGdzdC9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2VnbWVudGNsaXAvTWFrZWZpbGUuYW06CgkqIGdzdC9zaXJlbi9NYWtlZmlsZS5hbToKCSogZ3N0L3Ntb290aC9NYWtlZmlsZS5hbToKCSogZ3N0L3N0ZXJlby9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWVhc3VyZS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFzZXZpZGVvLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhc2V2aWRlby5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1jb2RlY3BhcnNlcnMtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItY29kZWNwYXJzZXJzLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLnBjLmluOgoJKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJKiBzeXMvYWNtbXAzZGVjL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2F2Yy9NYWtlZmlsZS5hbToKCSogc3lzL2QzZHZpZGVvc2luay9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkqIHN5cy9wdnIyZC9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcC9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ3N0cGxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBnc3Q6IFVwZGF0ZSB2ZXJzaW9uaW5nCgoyMDEyLTA0LTA0IDEyOjA2OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi8wLjEwJwoKMjAxMi0wNC0wNCAwNzoyNDoyOCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiByZXNldCBpdGVyYXRvciB0byBOVUxMIGFmdGVyIGl0J3MgZnJlZQoJICBGaXhlcyBwb3NzaWJsZSBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MgaW4gZ3N0X3RzX2RlbXV4X3N0cmVhbV9mbHVzaAoKMjAxMi0wNC0wMiAxNTozMTozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vMC4xMCcKCSAgQ29uZmxpY3RzOgoJICBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jCgoyMDEyLTA0LTAyIDE1OjI2OjI4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IENsZWFyIGJ1ZmZlcmxpc3QvaXRlcmF0b3Igd2hlbiByZW1vdmluZyBzdHJlYW1zCgoyMDEyLTA0LTAyIDE1OjI1OjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IERvbid0IGxlYWsgYnVmZmVyIGluIGZhc3QgdmFyaWFudAoKMjAxMi0wNC0wMiAxNToyNToxNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBEb24ndCBsZWFrIGNvcnJ1cHQgc2VjdGlvbiBwYWNrZXQgYnVmZmVyCgoyMDEyLTA0LTAyIDExOjEzOjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJICB1c2UgdHJhbnNmb3JtX2lwX29uX3Bhc3N0aHJvdWdoCgoyMDEyLTA0LTAyIDExOjA3OjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBmaXggY29tcGlsYXRpb24KCjIwMTItMDMtMzAgMTk6MTk6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRml4IHNldmVyYWwgbGVha3MKCSAgKiBkb250JyBsZWFrIGJ1ZmZlcnMgd2hlbiBhIHN0cmVhbSBpcyBpbiBkaXNjb250IHN0YXRlCgkgICogZG9uJ3QgbGVhayBidWZmZXJzIHdoZW4gYSBwcm9ncmFtIGlzIHJlbW92ZWQvZGVhY3RpdmF0ZWQKCSAgKiByZW1vdmUgYWxsIHByb2dyYW1zIHdoZW4gZGlzcG9zaW5nCgoyMDEyLTAzLTMwIDE5OjE5OjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEZpeCBzZXZlcmFsIGxlYWtzCgkgICogZG9udCcgbGVhayBidWZmZXJzIHdoZW4gYSBzdHJlYW0gaXMgaW4gZGlzY29udCBzdGF0ZQoJICAqIGRvbid0IGxlYWsgYnVmZmVycyB3aGVuIGEgcHJvZ3JhbSBpcyByZW1vdmVkL2RlYWN0aXZhdGVkCgkgICogcmVtb3ZlIGFsbCBwcm9ncmFtcyB3aGVuIGRpc3Bvc2luZwoKMjAxMi0wMy0zMCAxODoxMzoyNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSAgdXBkYXRlIGZvciBidWZmZXIgYXBpIGNoYW5nZQoKMjAxMi0wMy0zMCAxNzowOTozNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGZpeHVwIG1lcmdlCgoyMDEyLTAzLTMwIDEzOjIzOjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogRml4IGNvbXBpbGF0aW9uCgoyMDEyLTAzLTMwIDEyOjU1OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOgoJICBjZWx0ZW5jOiBVc2UgbmV3IGdzdF9hdWRpb19lbmNvZGVyX3NldF9oZWFkZXJzKCkgQVBJCgoyMDEyLTAzLTMwIDEyOjIyOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBleHQ6IFVwZGF0ZSBmb3IgR3N0QXVkaW9FbmNvZGVyIEFQSSBjaGFuZ2VzCgoyMDEyLTAzLTMwIDEyOjAyOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogVXBkYXRlIGZvciBiYXNlcGFyc2UgQVBJIGNoYW5nZXMKCjIwMTItMDMtMzAgMTE6NTM6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBleHQ6IFVwZGF0ZSBmb3IgYXVkaW8gZGVjb2RlciBBUEkgY2hhbmdlcwoKMjAxMi0wMy0yOSAxODowNDozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3Rlcicgb2Ygc3NoOi8vZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWJhZAoKMjAxMi0wMy0yOSAxODowMzowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJICBzaG1zcmM6IEZpeCBhIG1lcmdlIG1pc3Rha2UKCjIwMTItMDMtMjkgMTc6NTU6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IFJldmVydCB0byAwLjEwIHN0YXRlIGFzIHRoaXMgaXMgdW5tZXJnZWFibGUsIGFsc28gcHV0IGl0IGludG8gdGhlIG5vbi1wb3J0ZWQgcGx1Z2lucyBhZ2FpbgoKMjAxMi0wMy0yOSAxNzo1MTo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IG1lcmdlIG1pc3Rha2UKCjIwMTItMDMtMjkgMTc6NDE6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luLzAuMTAnCgkgIENvbmZsaWN0czoKCSAgTkVXUwoJICBSRUxFQVNFCgkgIGNvbW1vbgoJICBjb25maWd1cmUuYWMKCSAgZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dAoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJncwoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5CgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4yLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbAoJICBleHQvY2VsdC9nc3RjZWx0ZGVjLmMKCSAgZXh0L2R0cy9nc3RkdHNkZWMuYwoJICBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjCgkgIGV4dC9vcHVzL2dzdG9wdXNlbmMuYwoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYwoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaAoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmgKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYwoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oCgkgIGdzdC9hZHBjbWRlYy9NYWtlZmlsZS5hbQoJICBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmMKCSAgZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYwoJICBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmMKCSAgZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYwoJICBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jCgkgIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jCgkgIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmMKCSAgZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaAoJICBnc3QvbXhmL214ZmRlbXV4LmMKCSAgZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYwoJICBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jCgkgIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmMKCSAgc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYwoJICBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcAoJICBzeXMvZHZiL2dzdGR2YnNyYy5jCgkgIHN5cy9zaG0vZ3N0c2htc3JjLmMKCSAgc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jCgkgIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYwoJICB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0X2VsZW1lbnRfcHJpbnRfcHJvcGVydGllcy5jCgkgIHdpbjMyL2NvbW1vbi9jb25maWcuaAoKMjAxMi0wMy0yOSAxNjowODozNCArMDEwMCAgdXJhZXVzIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIEFkZCBsYXRlc3QgcG9ydGVkIHBsdWdpbnMgdG8gc3BlYyBmaWxlCgoyMDEyLTAzLTI4IDEyOjQ5OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB1cGRhdGUgZm9yIGJ1ZmZlciBjaGFuZ2VzCgoyMDEyLTAzLTI3IDE1OjEzOjI0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1cy5jOgoJICBvcHVzOiBSYW5rIHJ0cCBwYXkvZGVwYXkKCSAgVGhpcyB3YXkgdGhleSBjYW4gYmUgYXV0by1wbHVnZ2VkLgoKMjAxMi0wMy0yNyAwOTozNjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9NYWtlZmlsZS5hbToKCSAgYmFzZWNhbWVyYWJpbnNyYzogQWRkICQoR1NUX1BMVUdJTlNfQkFTRV9MSUJTKSB0byB0aGUgbGlua2VyIGZsYWdzCgoyMDEyLTAzLTI2IDEyOjEzOjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgUmVwbGFjZSBtYXN0ZXIgd2l0aCAwLjExCgoyMDEyLTAzLTIzIDE4OjM2OjIxICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgbW9kcGx1ZzogbWVtb3J5IGhhbmRsaW5nIGNsZWFudXAKCSAgRG9uJ3QgbGVhayB0aGUgQ1NvdW5kRmlsZS4gVXNlIGRlZmluZSBmb3IgY29tbWVudCBidWZmZXIgc2l6ZSBhbmQgZW5zdXJlIGl0IGlzIDAKCSAgdGVybWluYXRlZC4KCjIwMTItMDMtMjMgMTg6MTg6MDYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGUuYzoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJICBmbHRlOiBjb21tZW50IGNsZWFudXAKCSAgUmVtb3ZlIGNvbW1lbnRlZCBvdXQgY29kZSBmb3IgYSBmbGl0ZXN5bnRoIHRoYXQgd2UgZG9uJ3QgaGF2ZSBpbiBnaXQgYW55d2F5LiBBZGQKCSAgYSBjb21tZW50IHJlZ2FyZGluZyB0aGUgZmxpdGUgdm9pY2VzLgoKMjAxMi0wMy0yMyAxODoxNjowOCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IHdvcmsgYXJvdW5kIG1lbW9yeSB0cmFzaGluZyBpbiBsaWJtb2RwbHVnICgwLjguNykKCSAgQWxsb2NhdGUgZG91YmxlIHNpemVkIGJ1ZmZlcnMuIEFsc28gYWRkIG1vcmUgZGVidWcgbG9nZ2luZy4KCjIwMTItMDMtMjMgMTM6MDY6MTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmg6CgkgIHNobXNpbms6IE1ha2UgYnVmZmVyLXRpbWUgc2lnbmVkIHRvIGRlYWwgd2l0aCBiYWNrd2FyZCBqdW1wcyBpbiB0aW1lc3RhbXBzCgoyMDEyLTAzLTIzIDEzOjA2OjEyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5oOgoJICBzaG1zaW5rOiBNYWtlIGJ1ZmZlci10aW1lIHNpZ25lZCB0byBkZWFsIHdpdGggYmFja3dhcmQganVtcHMgaW4gdGltZXN0YW1wcwoKMjAxMi0wMy0yMiAxNTo1NTo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS4yID09PQoKMjAxMi0wMy0yMiAxNTo1MjozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluMi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0Lmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0Lmg6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjExLjIKCjIwMTItMDMtMjEgMjM6MDQ6MzEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUEkuaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSUNvbmZpZ3VyYXRpb24uaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSURlY2tDb250cm9sLmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElEaXNjb3ZlcnkuaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSURpc3BhdGNoLW9zeC5jcHA6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElNb2Rlcy5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJU3RyZWFtaW5nLmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElUeXBlcy5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJVmVyc2lvbi5oOgoJICBkZWNrbGluazogQWRkIGRlY2tsaW5rIGRpc3BhdGNoIGNvZGUgZm9yIE9TL1gKCjIwMTItMDMtMjEgMTM6MjM6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjY0cGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4LmM6CgkgIHRlc3RzOiB1cGRhdGUgZm9yIG1lbW9yeSBhcGkgY2hhbmdlcwoKMjAxMi0wMy0yMSAwOTo0MTowOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBmaXggYmF5ZXIgY2FwcwoKMjAxMi0wMy0yMCAyMDowNzoxMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBQcmV2ZW50IGFjY2VzcyB0byB0aGUgdHJhbnNmb3JtIG1hcCB3aGVuIGl0IGlzIG51bGwKCSAgQ2hlY2sgaWYgdGhlIG1hcCBkb2Vzbid0IGV4aXN0IHdoZW4gcmVjZWl2aW5nIGEgbmV3IGNhcHMgYW5kIGNyZWF0ZQoJICBhIG5ldyBvbmUuIFRoaXMgcHJldmVudHMgdGhhdCB0aGUgdHJhbnNmb3JtIGZ1bmN0aW9ucyB0cnkgdG8gYWNjZXNzCgkgIHRoZSBtYXAgd2hlbiBpdCBkb2Vzbid0IGV4aXN0LgoKMjAxMi0wMy0yMCAxOToxOToyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBhZGQgc29tZSBtb3JlIGxvZyBtZXNzYWdlcwoKMjAxMi0wMy0yMCAxNzozMjowMCAtMDMwMCAgT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IGF2b2lkIHJlc2V0aW5nIGNhcHMgdG8gdGhlIHNhbWUgdmFsdWUKCSAgUmVkdWNlcyBjYXB0dXJlIGxhdGVuY3kgd2hlbiB0aGUgbmV3IGNhcHMgYXJlIHRoZSBzYW1lIGFzIHRoZSBvbGQKCSAgb25lLCBhdm9pZGluZyByZXNldHRpbmcgdGhlIHNvdXJjZSBzdGF0ZSBmb3IgYSBmb3JjZWQgcmVuZWdvdGlhdGlvbi4KCjIwMTItMDMtMjEgMDA6MTc6NDcgKzAyMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuYzoKCSAgd2luc2NyZWVuY2FwOiBGaXggY29tcGlsaW5nIHdpdGggbWluZ3cKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjUwNQoKMjAxMi0wMy0yMCAyMDoyMTo0MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJICBzaG06IHBvcnQgdG8gMC4xMQoKMjAxMi0wMy0yMCAyMDoyMTozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuaDoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgcmF3cGFyc2U6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMy0yMCAxNjo0NDoxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogYWRkIHNvbWUgY2hhbm5lbCBtYXAgZGVidWcKCjIwMTItMDMtMjAgMTY6MzQ6MzMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSAgZmFhZDogb3B0aW1pemUgY2hhbm5lbCByZW1hcCwgYXZvaWQgcG90ZW50aWFsIG1lbWNweQoJICBDb21iaW5lIHRoZSBjaGFubmVsIHJlbWFwIGFuZCBjb3B5IGluIG9uZSBvcGVyYXRpb24uIENhbGN1bGF0ZSB0aGUgY2hhbm5lbCByZW1hcAoJICB0YWJsZSBvbmx5IG9uY2UsIG1ha2UgYSBzaG9ydGN1dCB3aGVuIHdlIGFyZSBub3QgZG9pbmcgYW55IHJlbWFwcGluZy4KCjIwMTItMDMtMjAgMTU6Mzg6MzMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMub3JjOgoJICBvcmM6IGRvbid0IGNvbXBpbGUgZXZlcnl0aGluZyBhdCBzdGFydHVwCgoyMDEyLTAzLTE5IDIyOjU4OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9NYWtlZmlsZS5hbToKCSAgc3lzOiBzb3J0IHN1YmRpcnMgaW4gTWFrZWZpbGUgYWxwaGFiZXRpY2FsbHkKCjIwMTItMDMtMTkgMjM6NDk6MTcgKzAyMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogc3lzL01ha2VmaWxlLmFtOgoJICB3aW5zY3JlZW5jYXA6IEludGVncmF0ZSBpbnRvIGF1dG90b29scyBidWlsZCBzeXN0ZW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjAzMQoKMjAxMi0wMy0xOCAyMzoxNToyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWRwY21kZWMvTWFrZWZpbGUuYW06CgkgIGFkcGNtZGVjOiBHU1RfQkFTRV9MSUJTIGFscmVhZHkgY29udGFpbnMgLWxnc3RiYXNlLTAuMTAKCjIwMTItMDMtMTggMTQ6NDM6MTYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2FkcGNtZGVjL01ha2VmaWxlLmFtOgoJICBhZHBjbWRlYzogQWRkIC1sZ3N0YmFzZS0wLjEwCgoyMDEyLTAzLTE4IDE4OjMzOjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvTWFrZWZpbGUuYW06CgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZTogdXNlIG5ldyBzdHlsZSBhdWRpbyBjYXBzCgkgIEFsc28gZG8gbm90IHByZXRlbmQgdG8gbmVnb3RpYXRlIG91dHB1dCBjYXBzIHdoZW4gdGhlcmUKCSAgaXMgbm90IG11Y2ggaW4gb3V0cHV0IHRvIGJlZ2luIHdpdGguCgoyMDEyLTAzLTE4IDE4OjMyOjU1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogcG9ydCB0byAwLjExCgoyMDEyLTAzLTE4IDE4OjMyOjUxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSAgc21vb3RoOiBwb3J0IHRvIDAuMTEKCjIwMTItMDMtMTggMTg6MzI6NDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0YXVkaW9zZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0c2VnbWVudGNsaXAuYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHZpZGVvc2VnbWVudGNsaXAuYzoKCSAgc2VnbWVudGNsaXA6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMy0xOCAxODozMjo0MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkqIGV4dC9iejIvZ3N0YnoyZW5jLmM6CgkgIGJ6MjogcG9ydCB0byAwLjExCgoyMDEyLTAzLTE4IDE4OjMyOjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9yZW1vdmVzaWxlbmNlL2dzdHJlbW92ZXNpbGVuY2UuYzoKCSAgcmVtb3Zlc2lsZW5jZTogcG9ydCB0byAwLjExCgoyMDEyLTAzLTE4IDAxOjE4OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgemJhcjogZml4IGJ1aWxkIGFmdGVyIGJhc2UgdHJhbnNmb3JtIGNoYW5nZXMKCjIwMTItMDMtMTggMDA6NTE6MzIgKzAwMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IGZpeCBzdHJ1Y3R1cmUgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyMjk0CgoyMDEyLTAzLTE3IDE1OjA5OjIxICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dmlkZW9maWx0ZXIuYzoKCSAgb3BlbmN2OiBmaXggbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjI5NQoKMjAxMi0wMy0xNSAyMjoxMjo1OSArMDEwMCAgQ2Fyc3RlbiBLcm9sbCA8Y2FyQHhpbWlkaS5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IGZpeCByZWdyZXNzaW9uIHNldHRpbmcgd2luZG93IGhhbmRsZSBpbiBwYXVzZS9wbGF5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY5MDUKCjIwMTItMDMtMTcgMTU6MDc6NDkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc2luazogQWRkIGRldmljZSBwcm9wZXJ0eQoJICBBbHNvIGFkZCBwcm9wZXJ0eSBwcm9iZSBmb3IgZGV2aWNlIHByb3BlcnR5LCBzaW1pbGFyIHRvIGRlY2tsaW5rc3JjLgoKMjAxMS0xMC0zMSAxODo1ODozNCAtMDcwMCAgYmxha2UgdHJlZ3JlIDxibGFrZUBvYmxvbmcuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbmtzcmM6IG1ha2Ugc3VyZSB3ZSBjYW4gYWNjZXB0IGNhcHMgYmVmb3JlIHJldHVybmluZyB0cnVlCgkgIGNhcHMgYXJlIGRldGVybWluZWQgYnkgdGhlIHBsdWdpbidzIHByb3BlcnRpZXMsIHNvIHdlIHNob3VsZCBjaGVjayB0aGUKCSAgaW5jb21pbmcgY2FwcyB0byBzZWUgaWYgdGhleSBhZ3JlZS4gIEZpeGVzOiAjNjY3NzIyLgoKMjAxMS0xMC0zMSAxODo1NzoyMiAtMDcwMCAgYmxha2UgdHJlZ3JlIDxibGFrZUBvYmxvbmcuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbmtzcmM6IGRpc2FibGUgcHVsbCBtb2RlCgkgIGRlY2tsaW5rIGRldmljZSBkb2Vzbid0IHN1cHBvcnQgYW55IHB1bGwgbW9kZSByZWxhdGVkIGZ1bmN0aW9uYWxpdHkuCgkgIGl0J3MgbW9yZSBsaWtlIGEgbGl2ZSBzb3VyY2UsIHlvdSBzZWUuIEZpeGVzOiAjNjY3NzIwLgoKMjAxMi0wMi0xMSAyMjo0OToxMCAtMDgwMCAgYmxha2UgdHJlZ3JlIDxibGFrZUBvYmxvbmcuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbmtzcmM6IHB1c2ggbmV3IG5ldyBzZWdtZW50IGV2ZW50IHRvIGFsbCBwYWRzCgkgIFRha2UgY2FyZSB0byBwdXNoIHRoZSBldmVudCB0byBhbGwgcGFkcywgYnV0IGZhdm9yIHRoZSB2aWRlbyBzcmMgcGFkLgoJICBGaXhlczogIzY2NzcxNi4KCjIwMTItMDMtMTcgMTE6NDE6MDQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbmtzcmM6IEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5CgkgIEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5LiAgRml4IG1lbWxlYWsgcmVsZWFzaW5nIHJlc291cmNlcy4KCjIwMTItMDMtMTcgMTE6Mzk6NTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbms6IHJlaW5kZW50CgoyMDExLTEwLTMxIDE4OjU2OjIzIC0wNzAwICBibGFrZSB0cmVncmUgPGJsYWtlQG9ibG9uZy5jb20+CgoJICBkZWNrbGlua3NyYzogaGFuZGxlIGZsb3cgcmV0dXJuIHByb3Blcmx5IGFuZCBwcm92aWRlIGJldHRlciBtZXNzYWdlCgkgICogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCjIwMTItMDMtMDcgMTk6MjI6MjggLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBBZGQgcHJvcGVydHkgcHJvYmluZwoJICBSZW5hbWVzIHRoZSBzdWJkZXZpY2UgcHJvcGVydHkgdG8ganVzdCBkZXZpY2UsIGFuZCBoYXMgaXQKCSAgcmV0dXJuIHRoZSBudW1iZXIgb2YgZGV2aWNlcyBpbiB0aGUgc3lzdGVtIGluIHJlc3BvbnNlIHRvCgkgIGEgcHJvYmUuIFRoaXMgaXMgdXNlZnVsIGJvdGggZm9yIHVzaW5nIG11bHRpcGxlIGNhcHR1cmUKCSAgY2FyZHMsIGFuZCBmb3IgZGV0ZWN0aW5nIHdoZXRoZXIgaXQncyB3b3J0aCBhZGRpbmcgdGhlCgkgIGVsZW1lbnQgdG8gYSBwaXBlbGluZS4KCSAgQWxzbyBjbGVhbnMgdXAgdGhlIHByb3BlcnR5IGRlc2NyaXB0aW9ucy4KCjIwMTItMDMtMTcgMTE6NDU6MzkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXNyYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvZWxlbWVudDoKCSAgZWxlbWVudC10ZW1wbGF0ZXM6IGNoYWluIHF1ZXJ5L2V2ZW50IGZ1bmN0aW9ucwoJICBDaGFpbiB1cCB0byBwYXJlbnQgY2xhc3MuICBUaGlzIGZpeCBzaG91bGQgYmUgZG9uZSB0byBhbGwgb2YgdGhlCgkgIHRlbXBsYXRlcy4KCjIwMTItMDMtMTcgMTE6MzU6MTggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ0ZXN0LmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcjogQWRkIGNoYW5uZWwgcHJvcGVydHkKCSAgVGhlIGNoYW5uZWwgcHJvcGVydHkgYWxsb3dzIG11bHRpcGxlIGludGVyc3JjL3NpbmsgcGFpcnMgdG8gZmluZAoJICBlYWNoIG90aGVyLiAgSXQncyBhIGZyZWUtZm9ybSB0ZXh0IHN0cmluZyB0aGF0IG11c3QgbWF0Y2ggYW1vbmcKCSAgdmFyaW91cyBpbnRlciBlbGVtZW50cy4gIEFsc28gZml4ZWQgdXAgZG9jdW1lbnRhdGlvbiBhbmQgbGF0ZW5jeQoJICBoYW5kbGluZy4KCjIwMTItMDMtMTcgMTY6MDk6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC10ZW1wbGF0ZS12aWRlbzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLXRlbXBsYXRlLXZpZGVvOgoJICBnc3QtZWxlbWVudC1tYWtlcjogZml4IC10ZW1wbGF0ZS12aWRlbyBjYXBzIHN0cmluZwoJICBEb24ndCBmb3JnZXQgc2VwYXJhdG9yLgoKMjAxMi0wMy0xNyAxNjowNToyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLXRlbXBsYXRlLXZpZGVvOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtdGVtcGxhdGUtdmlkZW86CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3ZpZGVvZmlsdGVyOgoJICBnc3QtZWxlbWVudC1tYWtlcjogYWRkIHZpZGVvIHBhZCB0ZW1wbGF0ZSBhbmQgdXNlIGl0IGluIHZpZGVvZmlsdGVyIGNsYXNzCgkgIFdvdWxkIGJlIG5pY2VyIGlmIG9uZSBjb3VsZCBqdXN0IHN1cHBsZW1lbnQgdGhlIGdlbmVyaWMgdGVtcGxhdGUKCSAgZnJvbSB0aGUgZWxlbWVudCB0ZW1wbGF0ZSB0aG91Z2guCgkgIEFsc28sIEkgd291bGQgcmVhbGx5IGhhdmUgbGlrZWQgdG8ganVzdCBhZGQgdGhvc2Ugc2VjdGlvbnMgZnJvbSB0aGUKCSAgcGFkcyB0ZW1wbGF0ZSBpbnRvIHRoZSBlbGVtZW50IHRlbXBsZXQgZGlyZWN0bHkgKHNvIEkgY2FuIGNhdGVyIGZvcgoJICBzcmMgdGVtcGxhdGUgY2FwcyA9PSBzaW5rIHRlbXBsYXRlIGNhcHMpLCBidXQgdGhhdCBkaWRuJ3Qgc2VlbSB0bwoJICB3b3JrLgoKMjAxMi0wMy0xNyAxNTo0OTo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLXRlbXBsYXRlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtdGVtcGxhdGU6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3ZpZGVvZmlsdGVyOgoJICBnc3QtZWxlbWVudC1tYWtlcjogYWRkIHtzcmMsc2lua31wYWQtdGVtcGxhdGUsIHNpbmNlIG1hbnkgYmFzZSBjbGFzc2VzIGNyZWF0ZSBwYWRzIGZvciB1cwoJICBBbmQgdXNlIHRoZW0gaW4gdGhlIHZpZGVvZmlsdGVyIHRlbXBsYXRlLgoKMjAxMi0wMy0xNyAxNToxNjoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy92aWRlb2ZpbHRlcjoKCSAgdG9vbHM6IGFkZCB2aWRlb2ZpbHRlciB0ZW1wbGF0ZSBmb3IgZ3N0LWVsZW1lbnQtbWFrZXIKCjIwMTItMDMtMTcgMTI6NDc6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmNwcDoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJKiBleHQvb3BlbmN2L21vdGlvbmNlbGxzX3dyYXBwZXIuY3BwOgoJICBvcGVuY3Y6IGZpeCBjb25maWd1cmUgY2hlY2sgYW5kIGJ1aWxkIHdpdGggb3BlbmN2IDIuMQoJICBBQ19DSEVDS19IRUFERVJTKCkgY2FsbHMgYWN0aW9uLWlmLW5vdC1mb3VuZCBhbHNvIGlmIGp1c3Qgb25lIG9mCgkgIHRoZSBoZWFkZXJzIGNoZWNrZWQgZm9yIGlzIG1pc3NpbmcsIHdoaWNoIGlzIG5vdCB3aGF0IHdlIHdhbnRlZC4KCSAgQWxzbywgY2hlY2sgZm9yIGhpZ2hndWlfYy5oIGluc3RlYWQgb2YgaGlnaGd1aS5ocHAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzIyMjYKCjIwMTItMDMtMTYgMjE6NDc6MzkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIGRvbid0IHBhc3MgcmFuZG9tIHBvaW50ZXJzIHRvIHB1bGxfcmFuZ2UKCjIwMTItMDMtMTYgMTc6MDc6NDYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogaW5pdGlhbGl6ZSBzb21lIGFyYml0cmFyeSB2YXJpYWJsZSB0aGF0IGdjYy00LjYgY2FuIHRyYWNrIHByb3Blcmx5CgkgIFRoZSBhY2Nlc3MgdG8gdGhlbSBpcyBjbGVhcmx5IGd1YXJkZWQgYnkgdGhlIGJvb2xlYW5zIHRob3VnaC4KCjIwMTItMDMtMTYgMTM6MTQ6NDggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgb3BlbmN2OiBjb3NtZXRpYyBjb2RlIGNoYW5nZXMKCSAgQ2hlY2sgZm9yIHRoZSBhdmFpbGFiaWxpdHkgb2YgdGhlIGRldGVjdG9ycyBpbiB0aGUgcHJvY2Vzc2luZyBmdW5jdGlvbiB0byBhdm9pZAoJICBzZXR0aW5nIHVwIHRoZSBST0lzLiBVc2UgdGhlIGJvb2xlYW5zIGZvciBoYXZlX3h4eCBtb3JlLgoKMjAxMi0wMy0xNiAxMjo1NzowNSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgb3BlbmN2OiB1c2Ugb3BlbmN2IHByZWZpeCBmcm9tIHBrZ2NvbmZpZyB0byBsb29rdXAgZGF0YWZpbGVzCgkgIERvbid0IGhhcmRjb25kZSAvdXNyIHRvIGxvb2t1cCBkYXRhZmlsZXMgKHN1Y2ggYXMgaGFhciBjYXNjYWRlcykuCgoyMDEyLTAzLTE1IDE3OjEwOjE4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByc25kdmRzcmM6IHBvc3QgYSBtZXNzYWdlIHdpdGggdGl0bGUgbnVtYmVyIGFuZCBkdXJhdGlvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjE2NQoKMjAxMi0wMy0xNiAxMjoxMDoxMCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJICBmYWNlb3ZlcmxheTogcmVtb3ZlIGJsYW5rIGxpbmUgaW4gZ3RrLWRvYyBjb21tZW50CgoyMDEyLTAzLTE2IDEyOjA0OjExICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IHNraXAgZGV0ZWN0aW9uIGZvciB1bmF2YWlsYWJsZSBkZXRlY3RvcnMKCjIwMTItMDMtMTUgMjM6MTc6NTUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogbW92ZSB0aGUgZGV0ZWN0b3IgdG8gYW4gb3duIG1ldGhvZCB0byBoaWRlIHRoZSB1Z2x5IGlmZGVmcwoJICBUaGlzIGltcHJvdmVzIHRoZSByZWFkYWJpbGl0eSBpbiB0aGUgYWN0dWFsIHByb2Nlc3NpbmcgZnVuY3Rpb24uCgoyMDEyLTAzLTE1IDIzOjA4OjAyICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IGFsd2F5cyBzZW5kIGZhY2VkZXRlY3QgbWVzc2FnZQoJICBUaGUgYXBwbGljYXRpb24gbWlnaHQgbGlrZSB0byBrbm93LCB3aGVuIHdlIGRvbid0IHNlZSB0aGUgZmFjZSBhbnltb3JlLgoKMjAxMi0wMy0xNSAyMjo1ODoxMSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJICBmYWNlb3ZlcmxheTogY29kZSBjbGVhbnVwcwoJICBVc2UgZ2xpYiB0eXBlcyBhbmQgc2ltcGx5IGV4cHJlc3Npb25zIGluIHRoZSBtZXNzYWdlIGhhbmRsZXIuCgoyMDEyLTAzLTE1IDIyOjQ5OjUxICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkgIGZhY2VvdmVybGF5OiBkb24ndCBhY2Nlc3MgbWVzc2FnZSBmaWVsZHMgZGlyZWN0bHkKCjIwMTItMDMtMTUgMjI6MjI6MTIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogZG9uJ3Qgc2tpcCBmYWNlcwoJICBTa2lwcGluZyBmYWNlcyBhdCB0aGlzIHBvaW50IG1ha2VzIHVzIGxpZSBhYm91dCB0aGUgbnVtLWJlciBvZiBmYWNlcyBhbmQgYWxzbwoJICBjYXVzZXMgbGVha3MuCgoyMDEyLTAzLTE1IDIyOjExOjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICB1cGRhdGUgZm9yIGJ1ZmZlcnBvb2wgY2hhbmdlcwoKMjAxMi0wMy0xNSAyMDozODoyNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgdXBkYXRlIGZvciBhbGxvY2F0aW9uIHF1ZXJ5IGNoYW5nZXMKCjIwMTItMDMtMTUgMTg6Mjg6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSAgcnN2Z292ZXJsYXk6IGNvc21ldGljIGNoYW5nZQoJICBSZW5hbWUgUFJPUF9GSUxFTkFNRSB0byBQUk9QX0xPQ0FUSU9OIHRvIG1hdGNoIHRoZSBuYW1lIG9mCgkgIHRoZSBwcm9wZXJ0eS4gQWRkIHNvbWUgZGVidWcgbG9nZ2luZy4KCjIwMTItMDMtMTUgMTg6MjY6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkgIGZhY2VvdmVybGF5OiBjbGVhciBvdmVybGF5IGlmIHRoZSBmYWNlIGRpc2FwcGVhcnMKCjIwMTItMDMtMTUgMTg6MjE6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkgIGZhY2VvdmVybGF5OiBhZGQgc29tZSBsb2NraW5nIGZvciBwcm9wZXJ0aWVzLCBmcmVlIHByZXZpb3VzIGxvY2F0aW9uIHdoZW4gaXQgY2hhbmdlcwoKMjAxMi0wMy0xNSAxODowODowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5Lmg6CgkgIGZhY2VvdmVybGF5OiBkb24ndCBtYWtlIHJzdmdvdmVybGF5IHJlbG9hZCB0aGUgU1ZHIGZvciBldmVyeSBzaW5nbGUgZnJhbWUKCSAgT25seSBzZXQgbG9jYXRpb24gb24gcnN2Z292ZXJsYXkgaWYgaXQgaGFzIGNoYW5nZWQuCgoyMDEyLTAzLTE1IDE3OjQ3OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJICBmYWNlb3ZlcmxheTogbW92ZSBmYWNlIGhhbmRsaW5nIGludG8gb3duIGZ1bmN0aW9uIGFuZCBoYW5kbGUgMCBmYWNlIGNvdW50CgkgIFdoZW4gYSBmYWNlIGRpc2FwcGVhcnMsIHdlIHNlZW0gdG8gZ2V0IGEgbWVzc2FnZSBmcm9tIGZhY2VkZXRlY3Qgd2l0aAoJICBhIGZhY2UgY291bnQgb2YgMCwgd2hpY2ggd2Ugd2FudCB0byBqdXN0IGlnbm9yZSBpbnN0ZWFkIG9mIHRyeWluZyB0bwoJICBhY2Nlc3MgZmFjZSAjLTEsIHdoaWNoIGNhdXNlcyBuYXN0eSB3YXJuaW5ncy4KCjIwMTItMDMtMTUgMTc6NDI6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkgIGZhY2VvdmVybGF5OiBmaXggcGFkIHRlbXBsYXRlcwoJICBVc2UgZ2VuZXJpYyBhbmQgdW5zcGVjaWZpZmVkIHJnYi9jYXBzIGZvciBub3cuIFRoZSBleGFjdCBjYXBzCgkgIHN1cHBvcnRlZCBkZXBlbmQgb24gdGhlIGZhY2VkZXRlY3QgZWxlbWVudCBhbmQgcnN2Z292ZXJsYXkuIEl0J3MKCSAgbm90IGNsZWFyIGhvdyB0aGlzIHdvcmtlZCBiZWZvcmUsIHNpbmNlIGZhY2VkZXRlY3Qgb25seSBhY2NlcHRzCgkgIDI0LWJpdCBSR0IsIGJ1dCB0aGUgY2FwcyBhZHZlcnRpc2VkIDMyLWJpdCBBUkdCL0JHUkEuIEluIGFueSBjYXNlLAoJICB3ZSBkb24ndCB3YW50IHRvIGZvcmNlIGFueXRoaW5nIHJlYWxseSwgc28gdGhhdCBpZiBhbnkgb2YgdGhvc2UKCSAgZWxlbWVudHMgYWNxdWlyZXMgc3VwcG9ydCBmb3IgYWRkaXRpb25hbCBmb3JtYXRzIHdlIHBpY2sgdGhvc2UgdXAKCSAgYXV0b21hdGljYWxseS4KCjIwMTItMDMtMTUgMTc6MjY6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSAgcnN2Z292ZXJsYXk6IGZpeCBjcmFzaCBkdWUgdG8gZG91YmxlIGFkYXB0ZXIgdW5yZWYKCjIwMTItMDMtMTUgMTY6NTI6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5oOgoJICBmYWNlb3ZlcmxheTogZml4IHdlaXJkIHBhZCBjcmVhdGlvbiBjb2RlCgkgIFRoZSBlbGVtZW50IHdvdWxkIGNyZWF0ZSBub3JtYWwgcGFkcyBpbiBpdHMgaW5zdGFuY2VfaW5pdCBmdW5jdGlvbiwKCSAgYW5kIHRoZW4gbGF0ZXIgaW4gTlVMTC0+UkVBRFkgY3JlYXRlIHRoZSBlbGVtZW50cyBpdCBuZWVkcywgcmVtb3ZlCgkgIHRoZSBwYWRzIGNyZWF0ZWQgaW4gdGhlIGluc3RhbmNlX2luaXQgZnVuY3Rpb24sIGFuZCBhZGQgbmV3IGdob3N0CgkgIHBhZHMgaW5zdGVhZC4gTm90IHdpdGhvdXQgc2F2aW5nIHRoZSBleHRlcm5hbCBwZWVyIHBhZHMgb2YgdGhlIG9sZAoJICBwYWRzIG9mIGNvdXJzZSwgd2hpY2ggaXQgd291bGQgcHJvbXB0bHkgcmUtbGluayB0byB0aGUgbmV3IGdob3N0CgkgIHBhZHMuIERvIGFsbCBvZiB0aGF0IGEgYml0IGRpZmZlcmVudGx5LgoJICBGaXhlcyB0aGUgZ2VuZXJpYy9zdGF0ZXMuY2hlY2sgdW5pdCB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcwNTg4CgoyMDEyLTAzLTE1IDE1OjQ3OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJICBmYWNlb3ZlcmxheTogbWlub3IgY29zbWV0aWMgY2hhbmdlcwoJICBSZW1vdmUgdGVtcGxhdGUgbWFrZXIgY29tbWVudHMsIHVzZSBvdXIgZGVmaW5lcyBmb3IKCSAgcGFja2FnZSBuYW1lIGFuZCBvcmlnaW4uCgoyMDEyLTAzLTE1IDE0OjA4OjI5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3B2cjJkL2dzdHB2cmJ1ZmZlcnBvb2wuYzoKCSAgdXBkYXRlIGZvciBidWZmZXJwb29sIGFwaSBjaGFuZ2UKCjIwMTItMDMtMTUgMTM6Mzc6MzYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogc3lzL3B2cjJkL2dzdHB2cmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3B2cjJkL2dzdHB2cmJ1ZmZlcnBvb2wuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2Nocm9lbmMuYzoKCSAgdXBkYXRlIGZvciBtZW1vcnkgYXBpIGNoYW5nZXMKCjIwMTItMDMtMTUgMDA6MTM6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svbGlicy8uZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBpZ25vcmUgbW9yZSB0ZXN0IGJpbmFyaWVzIGFuZCBzdGFtcCBmaWxlcwoKMjAxMi0wMy0xNSAwMDowNTo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuaDoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmg6CgkgIG9wZW5jdjogbWFrZSBidWlsZCB3aXRoIG9wZW5jdiAyLjMuMSBhcyBpbiBkZWJpYW4gc2lkCgkgIFdoZXJlIGhpZ2hndWkuaCBkb2Vzbid0IGV4aXN0IGFueSBtb3JlLCBidXQgb25seSBvcGVuY3YyL2hpZ2hndWkvaGlnaGd1aS5ocHAuCgkgIEFsc28sIG5vdCBxdWl0ZSBzdXJlIHdoeSB3ZSdyZSBjaGVja2luZyBmb3IgY3ZhdXguaCwgaXQncyBub3QgdXNlZCBhbnl3aGVyZS4KCjIwMTItMDMtMTQgMTk6NTI6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkgIHRha2UgcGFkZGluZyBpbnRvIGFjY291bnQKCjIwMTItMDMtMTQgMTc6NDg6NDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICBtcGVnMmVuYzogYWxzbyBjbGVhciBpbml0aWFsaXplZCBtdXRleCBhbmQgY29uZAoKMjAxMi0wMy0xNCAxMToyMDoxOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkgIGZsaXRlOiBhZGp1c3QgdG8gc29tZSBtb2RpZmllZCBjYXBzIHJlbGF0ZWQgQVBJIGNoYW5nZXMKCjIwMTItMDMtMTQgMTA6MjQ6MDUgKzAxMDAgIERtaXRyeSBLZXRvdiA8ZGtldG92QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9NYWtlZmlsZS5hbToKCSAgd2luc2NyZWVuY2FwOiBJbnRlZ3JhdGUgaW50byBhdXRvdG9vbHMgYnVpbGQgc3lzdGVtCgkgIEZpeGVzIGJ1ZyAjNjcyMDMxLgoKMjAxMi0wMy0xMyAyMDo1MDowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSAgaW50ZXI6IGZpeCB3YXJuaW5ncyB3aGVuIGdzdC1pbnNwZWN0aW5nIGludGVyYXVkaW97c3JjLHNpbmt9CgkgIFRoZSBjaGFubmVsIHByb3BlcnR5IGlzbid0IGltcGxlbWVudGVkLCBzbyBkb24ndCByZWdpc3RlciBpdC4KCjIwMTItMDMtMDggMDE6NDg6NTYgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIHdheWxhbmRzaW5rOiBGaXggd2FybmluZ3MsIHByb3BlciBzdHJ1Y3R1cmluZywgZGVhZCBjb2RlIHJlbW92YWwsIGFkZGluZyBkb2Mgc2VjdGlvbi4KCjIwMTItMDMtMTMgMTM6MDI6NTQgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBtb3ZlIHNwYyBwbHVnaW4gdG8gTk9OX1BPUlRFRCBsaXN0KEZpeCBidWlsZCBlcnJvcikKCjIwMTItMDMtMTMgMDk6NTQ6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmM6CgkgIHVzZSBnc3RfY2Fwc19tZXJnZSBpbnN0ZWFkIG9mIGdzdF9jYXBzX3VuaW9uCgoyMDEyLTAzLTEyIDE1OjQyOjA0ICswMTAwICBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogbWFrZSBzdXJlIGd0LT5tYXAgbm90IGZyZWVkIHR3aWNlCgkgIGN1cnJlbnQgY2hlZXNlIGNhbiBjcmVhdGUgc2l0dWF0aW9uIHdoZXJlIGd0LT5tYXAgaXMgZnJlZWQgdHdpY2UuCgkgIFRoaXMgcGF0Y2ggc2V0IG1hcCB0byBudWxsIHRvIGF2b2lkIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxOTEwCgoyMDEyLTAzLTEyIDE3OjA2OjExICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBmaXggZm9yIGNhcHMgYXBpIGNoYW5nZQoKMjAxMi0wMy0xMiAxNjo1MToxOSArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGJ1bXAgR0xpYiByZXF1aXJlbWVudCB0byAyLjMxLjE0CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzE5MTEKCjIwMTItMDItMjggMTY6NDA6MzEgKzAxMDAgIEdpbCBQZWRlcnNlbiA8Z2l0QGdwb3N0LmRrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBhZGQgZmxvYXRpbmcgcG9pbnQgc2VnbWVudCBkdXJhdGlvbiBzdXBwb3J0CgoyMDEyLTAzLTEyIDEyOjIzOjM0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9jb2xvcnNwYWNlLmM6CgkgIGZpeCBmb3IgY2FwcyBfbm9ybWFsaXplIGNoYW5nZXMKCjIwMTItMDMtMTIgMTE6NDA6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvY29sb3JzcGFjZS5jOgoJICB0ZXN0czogZml4IGZvciBjYXBzIEFQSSBjaGFuZ2UKCjIwMTItMDMtMTIgMTA6NDQ6MjIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2NvbG9yc3BhY2UuYzoKCSAgZml4IGZvciBfZG9fc2ltcGxpZnkgY2hhbmdlcwoKMjAxMi0wMy0xMSAxOTowNjo1OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9jb2xvcnNwYWNlLmM6CgkgIGZpeCBmb3IgY2FwcyBhcGkgY2hhbmdlcwoKMjAxMi0wMy0xMCAyMDo1Mzo1NCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgRml4IGFuIHVud2FudGVkIGRvdWJsZSBuZWdhdGlvbiBmcm9tIGxhc3QgY29tbWl0CgoyMDEyLTAzLTEwIDE5OjEwOjUyIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2pwMmtjb2Rlc3RyZWFtLmM6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSAgRml4ICdpZ25vcmluZyByZXR1cm4gdmFsdWUgb2YgZnVuY3Rpb24gZGVjbGFyZWQgd2l0aCBjb25zdCBhdHRyaWJ1dGUnCgkgIFRoaXMgYWx3YXlzIGhhcHBlbnMgd2l0aCBHc3RCeXRlUmVhZGVyL1dyaXRlciBhbmQgZnJpZW5kcyB3aGVuCgkgIG5vdCB0YWtpbmcgaW50byBhY2NvdW50IHJldHVybmVkIGJvb2xlYW4gb2YgdGhlIF9yZWFkL193cml0ZSBmdW5jdGlvbnMKCSAgKHdoaWNoIGlzIGFjdHVhbGx5IHdyb25nKS4KCSAgTWFrZSB1c2Ugb2YgdGhlICpfdW5jaGVja2VkIHZhcmlhbnQgYXMgbXVjaCBhcyBwb3NzaWJsZSwgb3IgdGFrZSB0aGUKCSAgcmV0dXJuZWQgdmFsdWUgaW50byBhY2NvdW50LgoKMjAxMi0wMy0xMCAxMTozNjoyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBkdHNkZWM6IGF2b2lkIHJ1bmF3YXkgbG9vcCB3aGVuIHJlc3luY2luZyBkdXJpbmcgcGFyc2UKCSAgLi4uIGJ5IGNoZWNraW5nIGZvciB0aGUgY29ycmVjdCAoZGVjcmVtZW50ZWQpIHNpemUgdmFyaWFibGUuCgkgIEZpeGVzICM2NzE3NTYuCgoyMDEyLTAzLTA5IDE3OjE2OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCBBQ19MQU5HX1NPVVJDRS1yZWxhdGVkIHdhcm5pbmdzIHdoZW4gZG9pbmcgYXV0b2dlbi5zaAoKMjAxMi0wMy0wMSAxNDo1OTo1NSAtMDMwMCAgRGFuaWxvIENlc2FyIExlbWVzIGRlIFBhdWxhIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJICBGaXhpbmcgcnRwdnA4IGNvbXBhdGliaWxpdHkgd2l0aCB0aGUgdGhpcmQgZHJhZnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTA3MwoKMjAxMi0wMy0wOCAxMTozMjoyNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG92aWRlb2NvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vcHVzLmM6CgkgIHRlc3RzOiBmaXggbW9yZSBjYXBzCgoyMDEyLTAzLTA3IDE3OjE0OjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wdXMvZ3N0b3B1c2NvbW1vbi5jOgoJKiBleHQvb3B1cy9nc3RvcHVzY29tbW9uLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSAgb3B1czogcG9ydCB0byB1cGRhdGVkIDAuMTEKCjIwMTItMDMtMDcgMTA6MTg6MzEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdDogcG9ydCB0byAwLjExCgoyMDEyLTAzLTA3IDEyOjU5OjI4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogb25seSByZXF1ZXN0IGFuZCBwcm9jZXNzIDEgZnJhbWUgYXQgYSB0aW1lCgkgIC4uLiBzaW5jZSBpdCBpcyBzcGVjaWZpZWQgaW4gX2ZpbmlzaF9mcmFtZSB0aGF0IGlucHV0IGJ1ZmZlciBtYXkgYmUgaW52YWxpZGF0ZWQKCSAgYWZ0ZXIgY2FsbGluZyBpdCwgYW5kIGlzIGFzIHN1Y2ggbm90IHJlbGlhYmx5IGF2YWlsYWJsZSBmb3IgZnVydGhlciBlbmNvZGluZy4KCSAgQWxzbywgcmVxdWVzdGluZyBvciBhbGxvd2luZyBzZXZlcmFsIGZyYW1lcyBpcyBvbmx5IHVzZWZ1bCBpZiBzdWJjbGFzcyBpbnRlbmRzCgkgIHRvIHByb2Nlc3MgdGhlc2UgImluIDEgcnVuIiAoYXMgaW4sIDEgb3V0cHV0IGJ1ZmZlciksIG5vdCBmb3IgaGF2aW5nIGFub3RoZXIKCSAgKGlubmVyKSBsb29wIGluIHN1YmNsYXNzIHdoZXJlIHRoZSBiYXNlY2xhc3Mgb25lIHdpbGwgZG8ganVzdCBmaW5lLgoKMjAxMi0wMy0wNyAxMjo1NTo0MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGNvbmZpZ3VyZSBiYXNlY2xhc3MgcmVxdWVzdGVkIHNhbXBsZXMgcmVhbGx5IGluIHNhbXBsZXMKCSAgLi4uIGFzIG9wcG9zZWQgdG8gYnl0ZXMuCgoyMDEyLTAzLTA2IDE4OjQ5OjExICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgdmlkZW86IFVwZGF0ZS9hZGQgZG9jcwoKMjAxMi0wMy0wNiAxODoxMTozNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzaW5rLmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGJ1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSAgQWRkIG1pc3NpbmcgR0xJQl9ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTCgkgIFN1cHByZXNzIHdhcm5pbmdzIGFib3V0IGRlcHJlY2F0ZWQgdGhyZWFkaW5nIGFuZCBHVmFsdWVBcnJheQoJICBBUEksIHNvIGdpdCBjb21waWxlcyB3aXRoIC1XZXJyb3IuCgoyMDEyLTAzLTA2IDE4OjMzOjI1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuaDoKCSAgc2lyZW5kZWM6IHBvcnQgdG8gYXVkaW9kZWNvZGVyCgoyMDEyLTAzLTA2IDE4OjMzOjE3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9NYWtlZmlsZS5hbToKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5oOgoJICBzaXJlbmVuYzogcG9ydCB0byBhdWRpb2VuY29kZXIKCjIwMTItMDMtMDYgMTY6MTE6NTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJICBjZWx0ZGVjOiB1c2UgYmFzZSBjbGFzcyB0YWcgaGFuZGxpbmcgaGVscGVyCgkgIC4uLiBzbyBhcyB0byBlbnN1cmUgdGhlc2UgdG8gYmUgaGFuZGxlZCBhbmQgc2VudCBhdCBwcm9wZXIgdGltZS4KCjIwMTItMDMtMDYgMTY6MTE6MzAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSAgZHRzZGVjOiB1c2UgYmFzZSBjbGFzcyB0YWcgaGFuZGxpbmcgaGVscGVyCgkgIC4uLiBzbyBhcyB0byBlbnN1cmUgdGhlc2UgdG8gYmUgaGFuZGxlZCBhbmQgc2VudCBhdCBwcm9wZXIgdGltZS4KCjIwMTItMDMtMDYgMTg6MzI6MDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJICBkY2NwOiBhdm9pZCBpbmRlZmluaXRlIGxvb3BpbmcgdXBvbiBlcnJvcgoJICAuLi4gYW5kIGZpeCAndW5pbml0aWFsaXplZCcgY29tcGlsYXRpb24gd2FybmluZyBhcyB3ZWxsLgoKMjAxMi0wMy0wNiAxNToyMToxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEZpeCAnYXJndW1lbnQgdG8gJ3NpemVvZicgaW4gJ21lbXNldCcgY2FsbCBpcyB0aGUgc2FtZSBleHByZXNzaW9uIGFzIHRoZSBkZXN0aW5hdGlvbicgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMy0wNiAxNDo1Nzo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc3JjLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zcmMuYzoKCSAgZ3NldHRpbmdzOiBGaXggJ2lmIHN0YXRlbWVudCBoYXMgZW1wdHkgYm9keScgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMy0wNiAxNDo1NjoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIGRmYnZpZGVvc2luazogRml4ICdpbXBsaWNpdCBjb252ZXJzaW9uIGZyb20gZW51bWVyYXRpb24gdHlwZSAnRGlyZWN0UmVzdWx0JyB0byBkaWZmZXJlbnQgZW51bWVyYXRpb24gdHlwZSAnREZCUmVzdWx0JycgY29tcGlsZXIgd2FybmluZwoJICBXZSdyZSBub3QgY2hlY2tpbmcgdGhlIHJldHVybiB2YWx1ZSBvZiB0aGF0IGZ1bmN0aW9uIGFueXdheS4KCjIwMTItMDMtMDYgMTQ6NTE6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNpbmsuYzoKCSAgY3VybDogRml4ICdlcXVhbGl0eSBjb21wYXJpc29uIHdpdGggZXh0cmFuZW91cyBwYXJlbnRoZXNlcycgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMy0wNiAxNDo1MToyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSAgY29nY29sb3JzcGFjZTogVXNlIGNvcnJlY3QgZW51bSB0eXBlIGZvciByZXR1cm4gdmFsdWUKCjIwMTItMDMtMDYgMTQ6NTA6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJICB2ZHBhdTogRml4IGxvb3AgdG8gbm90IHJlYWQgYmVmb3JlIHRoZSB2YWxpZCBtZW1vcnkgYXJlYQoKMjAxMi0wMy0wNiAxNDo0NzoxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS92YWRfcHJpdmF0ZS5jOgoJICByZW1vdmVzaWxlbmNlOiBGaXggJ2FyZ3VtZW50IHRvICdzaXplb2YnIGluICdtZW1zZXQnIGNhbGwgaXMgdGhlIHNhbWUgZXhwcmVzc2lvbiBhcyB0aGUgZGVzdGluYXRpb24nIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDMtMDYgMTQ6NDY6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRml4ICdjb21wYXJpc29uIG9mIHVuc2lnbmVkIGV4cHJlc3Npb24gPj0gMCBpcyBhbHdheXMgdHJ1ZScgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMy0wNiAxNDo0NDoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBGaXggJ3ZhcmlhYmxlICdwaWQnIGlzIHVuaW5pdGlhbGl6ZWQgd2hlbiB1c2VkIGhlcmUnIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDMtMDYgMTQ6NDM6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBGaXggJ2V4cHJlc3Npb24gcmVzdWx0IHVudXNlZCcgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMy0wNiAxNDo0MTowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkgIGRjY3A6IEZpeCAnY29tcGFyaXNvbiBvZiB1bnNpZ25lZCBleHByZXNzaW9uIDwgMCBpcyBhbHdheXMgZmFsc2UnIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDMtMDYgMTQ6Mzg6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICBiYXNlYXVkaW92aXN1YWxpemVyOiBGaXggJ2NvbXBhcmlzb24gb2YgdW5zaWduZWQgZXhwcmVzc2lvbiA+PSAwIGlzIGFsd2F5cyB0cnVlJyBjb21waWxlciB3YXJuaW5nCgoyMDEyLTAzLTA1IDEyOjQ2OjEzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEhhbmRsZSByb2xsb3ZlciBpbiBvZmZzZXQgY2FsY3VsYXRpb25zCgoyMDEyLTAzLTA1IDEyOjQzOjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkgIHgtcmF3LWJheWVyIC0+IHgtYmF5ZXIKCjIwMTItMDMtMDUgMTI6MDM6MjMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJICB1c2UgbmV3IHN0eWxlIGNhcHMKCjIwMTItMDMtMDUgMTE6Mjc6NTEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgdHNkZW11eDogcHJpbnRmIGZpeAoKMjAxMi0wMy0wNSAxMDoxNDo0NiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvVE9ETzoKCSAgdHNkZW11eDogVXBkYXRlIFRPRE8KCjIwMTItMDMtMDUgMDk6NDY6MTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHM6IFN3aXRjaCByYW5rIG9mIG1wZWd0c2RlbXV4IGFuZCB0c2RlbXV4CgkgIE1vcmUgZWZmb3J0IGhhcyBiZWVuIHB1dCBsYXRlbHkgaW4gdHNkZW11eCBhbmQgd29ya3MgaW4gbW9yZSB1c2UgY2FzZXMKCjIwMTItMDMtMDUgMDk6Mzg6NTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUHVzaCBwYWNrZXRzIGFzIGVhcmx5IGFzIHBvc3NpYmxlCgkgIFdoZW4gdGhlIFBFUyBoZWFkZXIgdGVsbHMgdXMgaG93IGJpZyB0aGUgb3V0Z29pbmcgcGFja2V0IGlzLCBwdXNoIHRoZQoJICBwYWNrZXQgZG93bnN0cmVhbSBhcyBzb29uIGFzIHdlIGhhdmUgdGhlIHNwZWNpZmllZCBzaXplIGluc3RlYWQgb2Ygd2FpdGluZwoJICBmb3IgdGhlIGJlZ2lubmluZyBvZiB0aGUgbmV4dCBwYWNrZXQuCgkgIFJlZHVjZXMgbGF0ZW5jeSBhbmQgcmVtb3ZlcyBpc3N1ZXMgd2l0aCB2ZXJ5IHNwYXJzZSBzdHJlYW1zIChsaWtlIHN1YnRpdGxlcwoJICBhbmQgc3VicGljdHVyZXMpLgoKMjAxMi0wMy0wNCAyMTo1NDowOCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJICBzaG06IGFkZCBtaW5pbWFsIGRvYyBibG9icwoKMjAxMi0wMi0yOCAyMTowMDoyNCArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IEZpeCBpbiBzaGVsbF9zdXJmYWNlX3NldF9mdWxsc2NyZWVuCgoyMDEyLTAyLTE2IDIyOjI3OjIzICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICB3YXlsYW5kc2luazogTW9yZSBmaXhlcyAtLSB1cGRhdGUgdG8gV2F5bGFuZCAwLjg1IHByb3RvY29sIC0tIEFkZGVkIHNoZWxsIHN1cmZhY2UgLS0gQWRkZWQgZm9ybWF0IHF1ZXJ5IGZvciBzaG0gZm9ybWF0IC0tIENyZWF0ZSB0aGUgd2luZG93IGJhc2VkIG9uIHdpZHRoIGFuZCBoZWlnaHQgb2YgdmlkZW8gZXh0cmFjdGVkIGZyb20gdXBzdHJlYW0gY2Fwcy4KCjIwMTEtMTEtMDIgMTY6MjM6MDIgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIFVwZGF0ZSB3aXRoIG5ldyBBUElzIGluIHdheWxhbmQtY2xpZW50LgoKMjAxMS0xMS0wMiAxMzo1MToxMyArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgTW9yZSBGaXhlczogKiBBZGRpbmcgYnVmZmVyX2FsbG9jICogcGVyZm9ybSBidWZmZXJfZGFtYWdlIGJlZm9yZSBzdXJmYWNlX2F0dGFjaCAqIEZpeCB0eXBvLCBSZW1vdmUgRGVhZCBjb2RlIGV0Yy4KCjIwMTEtMTEtMDIgMTE6MDI6MTEgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgSW5pdGlhbCBDb21taXQ6IEFkZGluZyBXYXlsYW5kIFZpZGVvIFNpbmsKCjIwMTEtMTItMTMgMjM6NDM6NTkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IHNlbmQgZHVyYXRpb24gbWVzc2FnZSBvbiBkdXJhdGlvbiB1cGRhdGVzCgkgIFdoZW4gd2Uga25vdyBhIG5ldyBkdXJhdGlvbiwgcmVwb3J0IGl0LiBBZGQgbW9yZSBsb2dnaW5nLgoKMjAxMS0xMi0xMyAxMDoyNjo1MCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL1JFQURNRToKCSAgYXVkaW92aXN1YWxpemVyczogcGxhbm5pbmcgKyBleGFtcGxlIHVwZGF0ZQoKMjAxMi0wMy0wMyAxOTowMzoxMSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvYnVmZmVyZmFjdG9yeS5tOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5oOgoJICBhcHBsZW1lZGlhOiBwb3J0IHZ0ZGVjCgoyMDEyLTAzLTAzIDE4OjU3OjA3ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmg6CgkgIGFwcGxlbWVkaWE6IHVwZGF0ZSBzaWduYXR1cmUgb2YgQ01TYW1wbGVCdWZmZXJDcmVhdGUgYW5kIENNQmxvY2tCdWZmZXJDcmVhdGVXaXRoTWVtb3J5QmxvY2sKCSAgQ2hhbmdlIGRhdGEgdHlwZSBmb3IgY291bnRlcnMgcGFzc2VkIG9uIHRoZSBzdGFjayBmcm9tIFVJbnQzMiB0byBzaXplX3QuIEZpeGVzCgkgIDY0Yml0IGJ1aWxkcy4KCjIwMTItMDMtMDIgMDg6MTM6MTAgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuaDoKCSAgYXBwbGVtZWRpYTogdXBkYXRlIGZvcm1hdCBkZXNjcmlwdGlvbiBoZWxwZXIgc2lnbmF0dXJlCgkgIFVwZGF0ZSB0aGUgRmlnVmlkZW9Gb3JtYXREZXNjcmlwdGlvbkNyZWF0ZVdpdGhTYW1wbGVEZXNjcmlwdGlvbkV4dGVuc2lvbkF0b20KCSAgc2lnbmF0dXJlIHRvIG1hdGNoIHRoZSBpbXBsZW1lbnRhdGlvbiBvbiBPU1ggTGlvbi4KCjIwMTItMDMtMDIgMjE6NDE6MzkgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZHguaDoKCSAgZDNkdmlkZW9zaW5rOiBmaXggY29tcGlsZXIgd2FybmluZ3MgYW5kIGJ1aWxkIGZhaWx1cmUgd2l0aCBtaW5ndwoJICBzaGFyZWQuZDNkZGV2IHdhcyByZW1vdmVkIGEgd2hpbGUgYmFjaywgbm90IHN1cmUgaG93IHRoaXMgc3RpbGwKCSAgY29tcGlsZXMgZm9yIGFueW9uZSAodHBtKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MzcxOAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcwMTQzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY5MDUKCjIwMTItMDMtMDMgMTU6NTc6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHVzZSBBU19MSUJUT09MIGFuZCBidW1wIHZlcnNpb24gZm9yIEFCSSBjaGFuZ2UgaW4gaC4yNjQgY29kZWMgcGFyc2VyCgkgIEJhY2twb3J0ZWQgZnJvbSB0aGUgMC4xMCByZWxlYXNlIGJyYW5jaCwgd2hlcmUgdi4yMyB3YXMgdXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTIwMwoKMjAxMi0wMy0wMiAxMTo0NTo0MSArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IHJlY29yZCBudW1iZXIgb2YgZW11bGF0aW9uIHByZXZlbnRpb24gYnl0ZXMgaW4gc2xpY2VfaGVhZGVyKCkuCgkgIFNvbWUgaGFyZHdhcmUgdmlkZW8gZGVjb2RlIGFjY2VsZXJhdGlvbiBBUEkgKFZBLUFQSSwgRFhWQSkgcmVxdWlyZQoJICBhIGJpdCBjb3VudCB0byB0aGUgZmlyc3QgbWFjcm9ibG9jaywgbWludXMgdGhlIG51bWJlciBvZiBlbXVsYXRpb24KCSAgcHJldmVudGlvbiBieXRlcy4gU28sIGluc3RlYWQgb2YgaGF2aW5nIHRoZSBjb25zdW1lciBvZiB0aGUgbGlicmFyeQoJICBzY2FuIHRoZSBzbGljZV9oZWFkZXIoKSBhZ2FpbiwganVzdCByZWNvcmQgdGhhdCBudW1iZXIgd2hpbGUgcGFyc2luZy4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxMjAzCgoyMDEyLTAzLTAzIDE1OjQ3OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkgIHRzZGVtdXg6IGZpeCBjb25mdXNpbmcgdmFyaWFibGUgbmFtZQoKMjAxMi0wMy0wMiAxNzoxMTozMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGaXggc2VnbWVudCBzdGFydCBwb3NpdGlvbgoJICBJZiB3ZSAqcmVhbGx5KiBjYW4ndCBmaWd1cmUgb3V0IHRoZSBmaXJzdCBzdGFydCBwb3NpdGlvbiwgdGhhdCBtb3N0CgkgIGxpa2VseSBtZWFucyB0aGUgZGF0YSB0byBwdXNoIG91dCBkb2Vzbid0IGhhdmUgYW55IHRpbWVzdGFtcC4KCSAgVXNlIGEgZGVmYXVsdCB2YWx1ZSBvZiAwIHRoZW4KCjIwMTItMDMtMDIgMTc6MTA6MjggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogRmx1c2ggb3V0IHRoZSBwYWNrZXRpemVyIG9uIGZsdXNoaW5nIHNlZWtzCgkgIC4uLiBlbHNlIHdlIGVuZCB1cCB3aXRoIGJvZ3VzIGRhdGEvb2Zmc2V0cwoKMjAxMi0wMi0yOSAxMToxNDoxNSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQWN0aXZhdGUgcGFkcyBvbmx5IHdoZW4gcmVjZWl2aW5nIGRhdGEgZm9yIHRoZSBzdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MDkyMQoKMjAxMi0wMy0wMiAxNTozNzo1NyArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvTWFrZWZpbGUuYW06CgkgIGQzZHZpZGVvc2luazogYWRkIG1pc3NpbmcgZGlyZWN0eCBoZWFkZXJzCgoyMDEyLTAzLTAyIDExOjA3OjQ3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IEZpeCBsZXZlbCBjb2RlCgkgIFZhbGlkIHJhbmdlcyAgICAgICAgICAgIGFyZSBmcm9tIDQgdG8gMTAKCSAgVmFsaWQgcmFuZ2VzID4+IDEgICAgICAgYXJlIGZyb20gMiB0byA1CgkgIFZhbGlkIHJhbmdlcyA+PiAxIC0gMiAgIGFyZSBmcm9tIDAgdG8gMwoJICAoYW5kIG5vdCBmcm9tIDEgdG8gNCkKCjIwMTItMDMtMDIgMTA6NTQ6NDggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogQ2hlY2sgaGFyZGVyIGZvciBwcm9ncmFtIGNoYW5nZXMKCSAgQW5kIGRvbid0IGp1c3QgcmVseSBvbiB0aGUgc2VjdGlvbiBjcmMvdmVyc2lvbl9udW1iZXIgY2hhbmdpbmcgdG8KCSAgaW5kaWNhdGUgdGhhdCB0aGUgcHJvZ3JhbSBhY3R1YWxseSBjaGFuZ2VkLgoKMjAxMi0wMy0wMSAxODo0Njo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXJwb29sLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXJwb29sLmg6CgkgIHZkcGF1OiByZWxpY2Vuc2UgZm91ciBzb3VyY2UgZmlsZXMgZnJvbSBHUEwzKyB0byBMR1BMMisKCSAgVGhlc2Ugc291cmNlIGZpbGVzIHdlcmUgbWlzdGFrZW5seSBsaWNlbnNlZCBhcyBHUEwzLCB0aGUKCSAgYXV0aG9yIChDYXJsLUFudG9uIEluZ21hcnNzb24pIGhhcyBnaXZlbiBwZXJtaXNzaW9uIHRvCgkgIHJlbGljZW5zZSB0aGVtIHRvIExHUEwyKy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTE0MgoKMjAxMi0wMy0wMSAxODowNToxNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgbXBlZ3RzYmFzZS90c2RlbXV4OiBSZWZhY3RvciBzZWVrIGFuZCBzZWdtZW50IGhhbmRsaW5nCgkgIEFsbCBjYWxjdWxhdGlvbnMgZ28gdGhyb3VnaCB0aGUgbXBlZ3RzcGFja2V0aXplcgoJICBSZW1vdmUgdW51c2VkIHZhcmlhYmxlcy9jb2RlCgoyMDEyLTAzLTAxIDE3OjU5OjU3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IEVycm9yIG91dCBvbiBFT1Mgd2l0aG91dCBhbnkgcGFkCgkgIEF2b2lkcyBlbmRpbmcgdXAgd2l0aCBoYW5naW5nIHBpcGVsaW5lcwoKMjAxMi0wMy0wMSAxNzo1NjozNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBPZmZzZXQgY2FsY3VsYXRpb24KCSAgQWxsb3dzIFBDUjw9PlBUUzw9Pm9mZnNldCBlc3RpbWF0aW9uL2NhbGN1bGF0aW9uCgkgIFJpZ2h0IG5vdyB0aGUgY2FsY3VsYXRpb24gaXMgdmVyeSBuYWl2ZSwgYnV0IGNhbiBiZSBleHRlbmRlZCBsYXRlciBvbgoJICB3aXRob3V0IGRpc3J1cHRpbmcgdGhlIGNvZGUgaW4gdHNkZW11eC9tcGVndHNiYXNlCgoyMDEyLTAzLTAxIDE3OjUzOjQxICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IGNsb2NrIGZpeCBhbmQgbWlub3IgYWRkaXRpb24KCSAgKiBEb24ndCB0YWtlIGludG8gYWNjb3VudCBwYWNrZXRzIHRoYXQgYXJyaXZlZCBhdCB0aGUgc2FtZSB0aW1lIGFzCgkgIHByZXZpb3VzIG9uZXMgZm9yIGNsb2NrIHNrZXcgZXN0aW1hdGlvbgoJICAqIEFkZCBjb252ZW5pZW5jZSBtZXRob2QgZm9yIHByb2Nlc3NpbmcgdGhlIG5leHQgdHMgcGFja2V0CgoyMDEyLTAyLTI5IDE4OjE5OjIzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIFJldmVydCAibXBlZ3RzZGVtdXg6IE5vdCBhcHBseSB2YXJpb3VzIHRpbWUgdGhlIHNhbWUgUE1UIHRvIGEgcHJvZ3JhbSB3aGVuIHJlcGV0ZWFkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDhjYjBlODdmNTYyMzgzNmRkYzM2MWViOTFkY2Y5YjUwYjQ4MDQ4ZTcuCgkgIG1wZWd0c3BhY2tldGl6ZXIgYWxyZWFkeSBjaGVja3MgaWYgaXQncyBhIG5ldyBQTVQgb3Igbm90CgoyMDEyLTAyLTI5IDEwOjMzOjAwICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9wYXlsb2FkX3BhcnNlcnMuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3BheWxvYWRfcGFyc2Vycy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICB0c2RlbXV4OiBSZW1vdmUgYWxsIHNlZWtpbmcgY29kZQoJICBJdCB3YXMgbW9yZSB0aGFuIGJvZ3VzCgoyMDEyLTAyLTI5IDE3OjI2OjI4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlbWV0YS5oOgoJICB1cGRhdGUgZm9yIG1ldGFkYXRhIEFQSSBjaGFuZ2VzCgoyMDEyLTAyLTE0IDExOjU3OjAwICswMTAwICBYYXZpZXIgUXVlcmFsdCA8eHF1ZXJhbHRAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG9uJ3Qgc2V0IHRoZSBmZXRjaGVyJ3MgbG9jYXRpb24gdHdpY2UKCSAgQ2FsbGluZyBnc3RfZWxlbWVudF9tYWtlX2Zyb21fdXJpIGFscmVhZHkgZG9lcyBpdCBhbmQgZmlsZXNyYwoJICBmYWlscyB3aGVuIHVzaW5nIGZpbGUgcHJvdG9jb2wgaW4gYSBsb2NhdGlvbgoKMjAxMi0wMi0yOCAxNjoyNzo1NSArMDEwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10aW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10c3RyZWFtaW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJKiBzeXMvZHZiL2NhbXV0aWxzLmM6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RfZWxlbWVudF9wcmludF9wcm9wZXJ0aWVzLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzoKCSAgQWRkIG1pc3NpbmcgR0xJQl9ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTCgkgIFN1cHByZXNzIHdhcm5pbmdzIGFib3V0IGRlcHJlY2F0ZWQgdGhyZWFkaW5nIGFuZCBHVmFsdWVBcnJheQoJICBBUEksIHNvIGdpdCBjb21waWxlcyB3aXRoIC1XZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzA5ODIKCjIwMTItMDItMjQgMDk6NTQ6MzUgKzAxMDAgIFhhdmllciBRdWVyYWx0IDx4cXVlcmFsdEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkb24ndCBmYWlsIGZvciBwbGF5bGlzdHMgc21hbGxlciB0aGFuIGZyYWdtZW50cy1jYWNoZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcwOTYzCgoyMDEyLTAyLTI4IDExOjM5OjE4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VtZXRhLmM6CgkgIHVwZGF0ZSBmb3IgbWV0YWRhdGEgdGFncwoKMjAxMi0wMi0yOCAwODoxMzowNCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogcG9ydCBxdGtpdHZpZGVvc3JjCgoyMDEyLTAyLTI3IDA5OjQ1OjI5IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBjYXRjaCBzZWN0aW9uIGxlbmd0aHMgZXh0ZW5kaW5nIHBhc3QgdGhlIGJ1ZmZlciBsZW5ndGgKCSAgVGhpcyBpcyBwcm9iYWJseSB0aGUgY2F1c2UgZm9yIGFuIG9jY2FzaW9uYWwgY3Jhc2ggd2hpbGUgc3RyZWFtaW5nCgkgIE1QRUcuIEJsaW5kIGZpeCBhZnRlciBzdGFyaW5nIGF0IHRoZSBjb2RlIGFuZCBmb2xsb3dpbmcgbG9naWMsIHNvCgkgIG1heSBvciBtYXkgbm90IGZpeCB0aGUgaXNzdWUsIEkgY2Fubm90IHRlc3QuCgkgIChQb3J0IG9mIDQyNzVhNzBjYjU1ZDM3NWFmYTcwMjkxN2Y3MzU5ZWMxMTdlZDQ5ZDQgZnJvbSBtcGVnZGVtdXgpCgoyMDEyLTAyLTI3IDA5OjQyOjI3IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBzdXBwb3J0IG1vcmUgY2hhcmFjdGVyIHNldCBlbmNvZGluZ3MKCSAgU3VwcG9ydCBVVEYtMTZCRSwgRVVDLUtSIChLU1gxMDAxKSwgR0IyMzEyIGFuZCBJU08tMTA2NDYvVVRGOCB0ZXh0CgkgIGVuY29kaW5nIGFuZCBmaXhlZCBuZXcgbGluZSBmb3IgbXVsdGlieXRlIGVuY29kaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQyNTcKCSAgKFBvcnQgb2YgOTc1OWQ2NjQwN2YyYmU4ZWMyOTk3NWIwZWZmMzIzMGJiMWRhZTBlZiBmcm9tIHRoZSBtcGVndHNkZW11eAoJICBlbGVtZW50KQoKMjAxMi0wMi0yNyAxMzoxMzoxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBhdWRpb2VuY29kZXJzOiBjaGFpbiB1cCB0byBwYXJlbnQgZXZlbnQgaGFuZGxlcgoKMjAxMi0wMi0yNiAyMDo0MzozMiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvYWRwY21kZWMvTWFrZWZpbGUuYW06CgkgIGFkcGNtZGVjOiBsaW5rIHRvIGxpYmdzdGJhc2UKCjIwMTItMDItMjQgMTk6MDg6NDAgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIHRzYmFzZTogRml4IHBhcnNpbmcgb2YgUFNJIHRhYmxlIElEcwoJICAoUG9ydGVkIGZyb20gbXBlZ3RzZGVtdXggZDhmZDg3NGY1MjkwZTQ5MTE0MzcxMjAwNTdlZTg4NWNkYjY4YjRhZikKCjIwMTItMDItMjQgMTU6MjY6MjEgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEF2b2lkIHVubGlua2VseSBsZWFrcyBhbmQgc2VnZmF1bHQKCjIwMTItMDItMjQgMTc6NTM6NTIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogVXNlIG5ldyBjbG9jayBza2V3IGVzdGltYXRpb24gZm9yIG91dGdvaW5nIHRpbWVzdGFtcHMKCSAgT25seSB1c2VkIGluIGxpdmUgbW9kZQoKMjAxMi0wMi0yNCAxNzo1MjozMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBWYXJpb3VzIGNvZGUgY2xlYW51cCBhbmQgZGVhZCBjb2RlIHJlbW92YWwKCjIwMTItMDItMjQgMTc6NDc6MzggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFja2V0aXplcjogRml4IGlzc3VlcyB3aXRoIHNrZXcgY29kZQoJICAqIEFsd2F5cyB0cnkgdG8gZ2V0IGEgdGltZXN0YW1wIGZvciB0aGUgYWxnb3JpdGhtCgkgICogUmVtb3ZlIGRlYWQgdmFyaWFibGUKCSAgKiBSZXR1cm4gcHJvcGVyIGRlZmF1bHQgdmFsdWUKCjIwMTItMDItMjQgMTc6MDc6NDMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBUaW1lc3RhbXAgb3V0cHV0IGJ5IGRlZmF1bHQKCSAgQWxsb3dzIGRvd25zdHJlYW0gZWxlbWVudHMgKGxpa2UgZGVtdXhlcnMgb3IgcGFyc2VycykgdG8gZG8gcmVtb3RlCgkgIGNsb2NrIHJhdGUvc2tldyBlc3RpbWF0aW9uLgoKMjAxMi0wMi0yNCAxMjo1Mzo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGF0YXVyaXNyYy5jOgoJICBkYXRhdXJpc3JjOiBmaXggZG9jcyBhbmQgdW5pdCB0ZXN0CgoyMDEyLTAyLTIzIDE0OjQ2OjA5IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBFc3RpbWF0ZSBjbG9jayBza2V3IGFuZCByZXRpbWVzdGFtcHMgYnVmZmVycyBtb3JlIHByZWNpc2x5CgkgIEFwcGx5IHRoZSBFUFRMQSBhbGdvdGl0aG0gdG8gZXN0aW1hdGUgY2xvY2sgc2tldy4KCSAgUmV1c2luZyBjb2RlIGZyb20gIC1nb29kL2dzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jCgoyMDEyLTAyLTIxIDExOjEyOjUzIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBDbGVhbiB1cCBBQUMgY2FwcyBtZXNzCgoyMDEyLTAyLTIwIDE3OjQ3OjExIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSAgdHNkZW11eDogUmVpbmRlbnQgZ3N0bXBlZ2Rlc2MuaAoKMjAxMi0wMi0yMCAxNzozMjoyMSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFN1cHBvcnQgbW9yZSBEVFMvQUMzIGRlc2NyaXB0b3JzCgoyMDEyLTAyLTIzIDE4OjE3OjUwICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFJlbW92ZSB1c2VsZXNzIGZpbmFsaXplKCkKCjIwMTItMDItMjQgMTA6MjY6NDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZW1ldGEuYzoKCSAgdXBkYXRlIGZvciBtZXRhZGF0YSBjaGFuZ2VzCgoyMDEyLTAyLTI0IDEwOjIxOjMxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9teGYuYzoKCSAgdGVzdHM6IGZpeCBzb21lIGNhcHMKCjIwMTItMDItMjMgMjI6MDQ6MjQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBmaXh1cCBuYXN0eSB0eXBvIGJyZWFraW5nIGNvbXBpbGF0aW9uCgoyMDEyLTAyLTIzIDIxOjE3OjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogY29uc2lkZXIgbmFsX2xlbmd0aF9zaXplIHdoZW4gY29uc3RydWN0aW5nIGNvZGVjX2RhdGEKCSAgRml4ZXMgIzY3MDY5OS4KCjIwMTItMDItMjMgMjE6MTY6MTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBkaXNjYXJkIGZyYW1lIHVwb24gZGVjb2RpbmcgZXJyb3IKCjIwMTEtMTEtMDggMjA6MTk6NDEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgdHNkZW11eDogVXNlIGluY29taW5nIHRpbWVzdGFtcHMgaW4gbGl2ZSBtb2RlCgoyMDExLTExLTA4IDIwOjEyOjUwICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFJlcG9ydCBsYXRlbmN5ICg3MDBtcykKCjIwMTEtMTEtMDggMDk6NDQ6MTggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSAgbXBlZ3RzYmFzZTogUXVlcnkgd2hldGhlciB1cHN0cmVhbSBpcyBsaXZlIG9yIG5vdAoKMjAxMi0wMi0yMyAxMTo1NToxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluMi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JzcGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWNrbGluay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWNlb3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV2ZXJiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc2V0dGluZ3MueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saW5zeXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGF0Y2hkZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCdW1wIHZlcnNpb24gYWZ0ZXIgcmVsZWFzZQoKMjAxMi0wMi0yMiAxNTo0MTo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NjaHJvZW5jLmM6CgkgIHRlc3Q6IHBvcnQgc2Nocm9lbmMgdW5pdCB0ZXN0CgoyMDEyLTAyLTIyIDExOjQ0OjIzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuaDoKCSAgc2Nocm86IFBvcnQgdG8gMC4xMQoJICBXb3JrcyB3aXRoIHNvbWUgc2FtcGxlIGZpbGVzLiBUaGVyZSBzZWVtcyB0byBiZSBzb21lIHRpbWVzdGFtcGluZyBpc3N1ZSB0aG91Z2gsCgkgIGJ1dCB0aGUgMC4xMCB2ZXJzaW9uIGFsc28gY29tcGxhaW5zIGFib3V0IHRoYXQgdG9vLgoKMjAxMi0wMi0yMSAxODo1Njo0MiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuLnNoOiBhdm9pZCB0b3VjaGluZyAucG8gZmlsZXMgZHVyaW5nICdtYWtlJwoJICBBIHNpbXBsZSB3b3JrYXJvdW5kIHRvIGRlYWwgd2l0aCBHTlUgZ2V0dGV4dCBhdXRvbWFrZSBpbnRlZ3JhdGlvbgoJICBmYWlsaW5nIHRvIGRlYWwgd2l0aCBnaXQuICBGaXhlcyAjNjY5MjA3CgoyMDEyLTAyLTIyIDAyOjA2OjM4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICB1cGRhdGUgZm9yIG5ldyBtZW1vcnkgYXBpCgoyMDEyLTAyLTIxIDE2OjUzOjM3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJICB2aWRlbzogTW9yZSBkb2N1bWVudGF0aW9uCgoyMDEyLTAyLTIxIDE2OjUyOjQ5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJICBiYXNldmlkZW9jb2RlYzogRG9jdW1lbnQgc3RydWN0dXJlcwoKMjAxMi0wMi0yMSAxMDowNjoxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmMKCjIwMTItMDItMjAgMjA6MTE6MTMgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBGaXggdjIxMCB3cml0aW5nIG91dCBvZiBib3VuZHMKCjIwMTItMDItMjAgMTg6NDM6NTEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogcmVtb3ZlIEdTVF9FUlJPUgoKMjAxMi0wMi0yMCAxMTo0MjoyMyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9nc3QtcHJvamVjdC1tYWtlcjoKCSAgZ3N0LXByb2plY3QtbWFrZXI6IENyZWF0ZSB0b29scywgcGFzcyBtYWtlIGRpc3RjaGVjawoJICBDcmVhdGUgYSB0b29scyBkaXJlY3RvcnkgZm9yIGFuIGFwcGxpY2F0aW9uLiAgQWRkIHNvdXJjZSBjb2RlCgkgIHN0dWJzIHRvIGFsbG93IHRoZSBwcm9qZWN0IHRvIGNvbXBpbGUgYW5kIHBhc3MgbWFrZSBkaXN0Y2hlY2suCgkgIEFkZCBub3RlcyBpbiBzb3VyY2UgY29kZSB0byB0ZWxsIHRoZSB1c2VyIGhvdyB0byBjcmVhdGUgcGx1Z2luCgkgIG9yIGFwcCBjb2RlIHVzaW5nIHRoZSBvdGhlciAtbWFrZXIgc2NyaXB0cy4KCjIwMTItMDEtMjYgMDY6NTg6NDYgLTA1MDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTItMDItMjAgMTY6MDc6NTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmMKCSAgZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jCgoyMDEyLTAxLTI2IDE2OjMyOjE3IC0wNTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1IHNob3VsZCBmb3J3YXJkIHZpZGVvIGNhcHMgZXZlbnQKCjIwMTItMDItMjAgMTQ6MzI6MTIgKzAwMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgQWRkIGxhdGVzdCBmaWxlcyB0byBzcGVjCgoyMDEyLTAyLTIwIDEyOjQyOjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSAgZGVja2xpbms6IEFkZCAkKEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTKSBhbmQgJChHU1RfUExVR0lOU19CQVNFX0xJQlMpIHRvIGZpeCB0aGUgYnVpbGQKCjIwMTItMDItMjAgMTA6NTg6MDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkgIGdsaWItY29tcGF0LXByaXZhdGUuaCB0byBkaXN0CgoyMDEyLTAyLTE5IDE1OjU0OjM5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2dzdC1wcm9qZWN0LW1ha2VyOgoJICBnc3QtcHJvamVjdC1tYWtlcjogQ3JlYXRlIGF1dG90b29scyBwcm9qZWN0CgkgIFRoaXMgaXMgYSByZXBsYWNlbWVudCBmb3IgZ3N0LXRlbXBsYXRlIHRoYXQgY3JlYXRlcyBhbiBlbnRpcmUKCSAgYXV0b3Rvb2xzIHByb2plY3QgKGN1c3RvbWl6ZWQgdG8gcGFja2FnZSBuYW1lKSwgYW5kIHBvcHVsYXRlcwoJICBpdCB3aXRoIHRoZSBzb3VyY2UgZm9yIGEgR1N0cmVhbWVyIHBsdWdpbiAoYnV0IG5vIHBsdWdpbiBmZWF0dXJlcywKCSAgdGhvc2UgY29tZSBmcm9tIGdzdC1lbGVtZW50LW1ha2VyKS4gIEZpeGVzOiAjNjY1NzI3LgoKMjAxMi0wMi0xOSAxMjo1NzozOSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAxMi0wMi0xOSAwMDoxNTo0NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IGNsYW1wIGludGVybWVkaWF0ZXMgd2hlbiBkaXRoZXJpbmcKCjIwMTItMDEtMjMgMDk6MDU6MjEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuaDoKCSAgZGVja2xpbms6IEFkZCAxMC1iaXQgc3VwcG9ydAoKMjAxMi0wMS0yMyAwOTowMjozNyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmM6CgkgIHNjaHJvOiBBZGQgUkdCIHN1cHBvcnQKCSAgVGhpcyB1c2VzIHRoZSBhdXRvbWF0aWMgWUNvQ2cgY29udmVyc2lvbiBpbnNpZGUgU2Nocm9lZGluZ2VyIHRvCgkgIGVuY29kZS9kZWNvZGUgUkdCLiAgT25seSB3b3JrcyBpbiBpbnRyYS1vbmx5IG1vZGUsIHNpbWlsYXIgdG8gMTAtCgkgIGFuZCAxNi1iaXQsIHNpbmNlIFJHQiBpcyB0ZWNobmljYWxseSBhID44LWJpdCBmb3JtYXQgZm9yIERpcmFjCgkgIHB1cnBvc2VzLiAgVGhpcyBkZXBlbmRzIG9uIHNjaHJvZWRpbmdlci0xLjAuMTIsIHdoaWNoIGlzIHVucmVsZWFzZWQuCgoyMDEyLTAyLTE4IDAwOjAxOjU1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogYmFjayB0byBkZXZlbG9wbWVudAoKMjAxMi0wMi0xNyAxMjoxNToyNyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzZGVtdXg6IE5vdCBhcHBseSB2YXJpb3VzIHRpbWUgdGhlIHNhbWUgUE1UIHRvIGEgcHJvZ3JhbSB3aGVuIHJlcGV0ZWFkCgkgIFNvbWV0aW1lcyB0aGVpciBhcmUgc2V2ZXJhbCB0aW1lcyB0aGUgc2FtZSBQTVQgYXBwbHlpbmcgdG8gYSBzYW1lIHByb2dyYW0gaW4gYSBzdHJlYW0sCgkgIHRzZGVtdXggd2FzIHRvdGFsbHkgYmFmZmxlZCB3aGVuIHRoaXMgd2FzIGhhcHBlbmluZywgd2Ugbm93IGtlZXAgdGhlIG9uZSB3ZQoJICBhbHJlYWR5IGFwcGxpZWQgc28gaXQgd29ya3MgcHJvcGVybHkuCgoyMDEyLTAyLTE2IDA5OjU0OjI0IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICB0c2RlbXV4OiBmaXggZ2xpYiBkZXByZWNhdGlvbgoKMjAxMi0wMi0xNyAxMTowNjowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS4xID09PQoKMjAxMi0wMi0xNyAxMTowNTozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0Lmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0Lmg6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUkVMRUFTRSAwLjExLjEKCjIwMTItMDItMTcgMDk6MDE6NTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDEyLTAyLTE2IDE2OjMwOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IFB1dCBzb3VyY2UgdG8gbnVsbCB3aGVuIHJlc2V0dGluZyBjYXBzCgkgIEl0IHNlZW1zIHRoYXQgdjRsMnNyYyBpc24ndCBoYXBweSB3aGVuIHN3aXRjaGluZyBmb3JtYXRzIG9uIHJlYWR5CgkgIHN0YXRlLCBpdCB3b3JrcyB3aGVuIHB1dHRpbmcgaXQgdG8gTlVMTC4gS2VlcCB0aGlzIHdvcmthcm91bmQgaW4KCSAgd3JhcHBlcmNhbWVyYWJpbnNyYyB3aGlsZSB2NGwyc3JjIGlzbid0IGZpeGVkLgoJICBGaXhlcyAjODQ5ODMyCgoyMDEyLTAyLTE2IDE0OjMzOjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmMKCSAgZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYwoJICBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jCgkgIGdzdC9tdmUvZ3N0bXZlZGVtdXguYwoKMjAxMi0wMi0xNiAwMToxMjo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBQdXQgc291cmNlIGluIE5VTEwgd2hlbiBpdCBmYWlscyBjaGFuZ2luZyBzdGF0ZQoJICBXaGVuIHNvdXJjZSBpcyBiZWluZyByZXNldCB0byBjaGFuZ2UgY2FwcywgY2hlY2sgdGhlIHJldHVybiBvZgoJICB0aGUgc3RhdGUgc3luY2luZyBmdW5jdGlvbiB0byBhdm9pZCBsZWF2aW5nIHRoZSBzb3VyY2UgaW4gYW4KCSAgdW5jb25zaXN0ZW50IHN0YXRlLgoKMjAxMi0wMi0xNiAwMDozMDowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6CgkgIG12ZTogZG9uJ3QgcmV0dXJuIGEgYm9vbGVhbiBmb3IgYSBHc3RGbG93UmV0dXJuCgkgIGZpeGVzIHBsYXliYWNrLgoKMjAxMi0wMi0xNSAxMDozMjoxNyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQXZvaWQgdGhyb3dpbmcgRkxPV19FUlJPUiBvbiBsYXN0IFBDUiBwcm9jZXNzaW5nIGVycm9yCgkgIEluIHRoZSBjYXNlIG9mIHNjYW5uaW5nIGxhc3QgcGNyLCBlcnJvcnMgYXJlIG5vdCBjcml0aWNhbCwgc28gd2Uga2VlcAoJICB0aGUgc3RyZWFtIGZsb3dpbmcuCgoyMDEyLTAyLTE0IDExOjQ0OjQ4IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQWRkIEFBQyBsYXRtIHN1cHBvcnQKCjIwMTItMDItMTUgMTE6MDY6NTcgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IE1pbm9yIHJlZmFjdG9yaW5nL2NvZGUgY2xlYW5pbmcKCSAgLi4uIGFkZCBzb21lIGRlYnVnZ2luZyBzeW1ib2xzIGluIHRoZSBtZWFuIHRpbWUuCgoyMDEyLTAyLTE1IDE2OjM4OjMyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogcmVtb3ZlIF9jaGFpbiBoYWNrCgkgIEFzIHdlIGNhbiBub3cgcmVseSB1cG9uIGJlaW5nIHBhc3NlZCB1cHN0cmVhbSBkZWxpbmVhdGVkIGRhdGEgaW4KCSAgOjpoYW5kbGVfZnJhbWUoKSwgdGhlIGxhdHRlciBjYW4gYWxzbyBwYXJzZSBhdmMgZm9ybWF0dGVkIGRhdGEKCSAgd2l0aG91dCBoYXZpbmcgdG8gaW50ZXJjZXB0IGJhc2VwYXJzZSdzIGNoYWluIGZ1bmN0aW9uLgoJICBXaGlsZSB0aGlzIGV2aWRlbnRseSByZXF1aXJlcyAyIHNlcGFyYXRlIHBhcnNpbmcgcGF0aHMsIGVhY2ggY2FuCgkgIGJlIHN0cmVhbWxpbmVkIGFjY29yZGluZ2x5LgoKMjAxMi0wMi0xNSAxMTo1OTozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogYWRqdXN0IHRvIHN0YW5kYXJkaXplZCBiYXNlcGFyc2UgZnJhbWUgc3RhdGUgdHJhY2tpbmcKCjIwMTItMDItMTUgMTc6MTQ6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMi0wMi0xNSAxNTowNzozNSArMDEwMCAgSm9uYXMgTGFyc3NvbiA8am9uYXNAaGFsbGVydWQuc2U+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggU0VJIHBhcnNpbmcKCSAgLi4uIGluIHRoZSBwcmVzZW5jZSBvZiBlbXVsYXRpb25fcHJldmVudGlvbl90aHJlZV9ieXRlLgoJICBGaXhlcyAjNjY4MzgxLgoKMjAxMi0wMi0xNSAxNDoyOToyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHVzZSBwcm9wZXIgTkFMVSBvZmZzZXQgZm9yIGNvbmZpZyBkYXRhIGluc2VydGlvbgoJICAuLi4gd2hpY2ggaGFzIHRvIGJlIHRoZSBwb3NpdGlvbiBvZiB0aGUgc3RhcnQgY29kZSwgd2hpY2ggaXMgYWxtb3N0IGFsd2F5cwoJICBidXQgbmVlZCBub3QgYmUgNCBieXRlcy4KCjIwMTItMDItMTUgMTM6Mzk6MjkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJICBoMjYzcGFyc2U6IGZpeCBjb21waWxhdGlvbgoKMjAxMi0wMi0xNSAxMzowMjowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogZG9uJ3QgbGVhayBldmVudAoJICBVbnJlZiB0aGUgZXZlbnQgd2hlbiB3ZSBkb24ndCBjaGFpbiB1cCB0byB0aGUgcGFyZW50CgoyMDEyLTAyLTE1IDEyOjU2OjU1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9kaXJhY19wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBjaGFpbiB1cCB0byBwYXJlbnQgZXZlbnQgaGFuZGxlcgoJICBDaGFpbiB1cCB0byB0aGUgcGFyZW50IGV2ZW50IGhhbmRsZXIgdG8gZ2V0IHRoZSBkZWZhdWx0IGJlaGF2aW91ciBpbnN0ZWFkIG9mCgkgIHJldHVybmluZyBGQUxTRS4KCjIwMTItMDItMTQgMTE6MTk6MDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA4LTI3IDIwOjU4OjQ4ICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIGRpcmVjdGRyYXdzaW5rOiBGaXggd2FybmluZ3Mgb24gNjQgYml0IG1pbmd3LXc2NAoJICBnc3RkaXJlY3RkcmF3c2luay5jOjE1NjE6MjQ6IGVycm9yOiBhc3NpZ25tZW50IGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZQoJICBnc3RkaXJlY3RkcmF3c2luay5jOjIwMjg6MzogZXJyb3I6IGZvcm1hdCAnJWQnIGV4cGVjdHMgdHlwZSAnaW50JywgYnV0IGFyZ3VtZW50IDggaGFzIHR5cGUgJ3NpemVfdCcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzUyMgoKMjAxMi0wMi0xMyAxODo0NDowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IGFkanVzdCB0byBtb2RpZmllZCBiYXNlcGFyc2UgQVBJCgoyMDEyLTAyLTEzIDExOjE2OjIwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0aXJ0c3BwYXJzZS5jOgoJICBwY2FwcGFyc2U6IGFkanVzdCB0byBtb2RpZmllZCBiYXNlcGFyc2UgQVBJCgoyMDEyLTAyLTEzIDEyOjI2OjExICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4dXAgbWVyZ2UKCjIwMTItMDItMTMgMTQ6MjI6NDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2NHBhcnNlLmM6CgkgIHRlc3RzOiBoMjY0cGFyc2U6IF91bm1hcCBidWZmZXIgdXBvbiBleGl0CgoyMDEyLTAyLTEzIDIzOjA0OjEyICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IFRyaXZpYWwgYnVnIGZpeC4gRG9uJ3QgY29weSBkYXRhIGZyb20gYW4gdW5pbml0ZWQgYnVmZmVyLgoKMjAxMi0wMi0xMiAyMjo1OTo1MiArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlmZHNpbmsvLmdpdGlnbm9yZToKCSogZ3N0L211bHRpZmRzaW5rL01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlmZHNpbmsvZ3N0bXVsdGlmZHNpbmstbWFyc2hhbC5saXN0OgoJKiBnc3QvbXVsdGlmZHNpbmsvZ3N0bXVsdGlmZHNpbmsuYzoKCSogZ3N0L211bHRpZmRzaW5rL2dzdG11bHRpZmRzaW5rLmg6CgkgIG11bHRpZmRzaW5rOiByZWZhY3RvcmVkIGluIC1iYXNlCgoyMDEyLTAyLTEwIDE2OjUyOjQ2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiByZXBvcnQgYWZ0ZXIgbWVyZ2UKCjIwMTItMDItMTAgMTY6NDY6NTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmMKCSAgZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtCgkgIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jCgkgIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYwoJICBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jCgkgIGdzdC9zZHAvZ3N0c2RwZGVtdXguYwoJICBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jCgkgIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmMKCSAgdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jCgkgIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYwoJICB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYwoJICB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmMKCSAgdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLW1haW4uYwoKMjAxMi0wMi0xMCAxNDo0NjowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IHVub2JmdXNjYXRlIGZyYW1lIHBhcnNpbmcgY29kZQoKMjAxMi0wMi0wOCAyMToyMTo0NyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogZml4IGluZGVmaW5pdGUgd2FpdCBhZnRlciBhZGRpbmcgYSBuZXcgZmQgdG8gdGhlIHBvbGwgc2V0CgkgIElmIHRoZSBzZWNvbmQgY2FsbCB0byBfd2FpdCBibG9ja3MsIHdlIHdpbGwgbm90IHNpZ25hbCB0aGUgY29uZGl0aW9uCgkgIHZhcmlhYmxlLCBzbyBlbnN1cmUgdGhhdCBzZWNvbmQgY2FsbCBpcyBub3QgYmxvY2tpbmcuCgkgIFNlZSByYXRpb25hbGUgYW5kIGluZm9ybWF0aW9uIGluIHRoZSBsaW5rZWQgYnVnOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY5Njk3CgoyMDEyLTAyLTA5IDE4OjA4OjIyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiBwb3J0IHRvIDAuMTEKCjIwMTItMDItMDkgMTQ6NDI6MjMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCByZWZjb3VudCBlcnJvcgoKMjAxMi0wMi0wOSAwMDowOTozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXA6IGRvbid0IHVzZSBnc3RfZWxlbWVudF9jbGFzc19pbnN0YWxsX3N0ZF9wcm9wcygpCgkgIEl0J3MgYWJvdXQgdG8gYmUgcmVtb3ZlZC4KCjIwMTItMDItMDggMjA6MDk6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZ3N0L2gyNjRwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgUmVtb3ZlIGxlZ2FjeWgyNjRwYXJzZSBlbGVtZW50CgkgIE9uZSBoMjY0IHBhcnNlciBvdWdodCB0byBiZSBlbm91Z2ggZm9yIGFueWJvZHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDgwMDIKCjIwMTItMDItMDggMTY6Mzc6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSogZ3N0L2F1ZGlvYnVmZmVyL2dzdGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGlucHV0c2VsZWN0b3IuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tdWx0aWZkc2luay9nc3RtdWx0aWZkc2luay5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSogc3lzL2F2Yy9nc3RhdmNzcmMuY3BwOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzcmMuYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkgIEdTVF9GTE9XX1dST05HX1NUQVRFIC0+IEdTVF9GTE9XX0ZMVVNISU5HCgoyMDEyLTAyLTA3IDE3OjAwOjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Fzc3JlbmRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2NHBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM211eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWc0dmlkZW9wYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmZHNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy96YmFyLmM6CgkgIHRlc3RzOiBmaXggbW9yZSB1bml0IHRlc3RzCgoyMDExLTA4LTIyIDE2OjMxOjM4ICswMjAwICBDYXJzdGVuIEtyb2xsIDxjYXJAeGltaWRpLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkgIGQzZHZpZGVvc2luazogY3JlYXRlIGEgZDNkIGRldmljZSBmb3IgZWFjaCBzaW5rIGFuZCB1c2UgdGhlIGRlZmF1bHQgc3dhcCBjaGFpbiBpbiBjb25uZWN0aW9uIHdpdGggZmx1c2hpbmcgdGhlIEdQVSBhbmQgbm90IHJlY3JlYXRpbmcgdGhlIHN3YXAgY2hhaW4gdGhpcyBhdm9pZHMgdGVhcmluZyBhbHNvIHVzZSBHU1RfeHhfREVCVUcgbWFjcm9zIHdoZXJlIGFwcHJvcHJpYXRlCgoyMDExLTA4LTIyIDE0OjQ2OjQ4ICswMjAwICBDYXJzdGVuIEtyb2xsIDxjYXJAeGltaWRpLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogZmx1c2ggR1BVIGJlZm9yZSBQcmVzZW50IGFkZGVkIGFsdGVybmF0ZSB3YWl0IGZvciB2c3luYyBtZXRob2QgYmFzZWQgb24gR2V0UmFzdGVyU3RhdHVzCgoyMDExLTA4LTIyIDE0OjMwOjQzICswMjAwICBDYXJzdGVuIEtyb2xsIDxjYXJAeGltaWRpLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogY2hlY2sgZm9yIGhhcmR3YXJlIGNhcGFiaWxpdGllcywgd2hlbiBuZWdvdGlhdGluZwoKMjAxMS0wOC0yMiAxNDoxOTowNiArMDIwMCAgQ2Fyc3RlbiBLcm9sbCA8Y2FyQHhpbWlkaS5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IHJlZHJhdyBsYXN0IGJ1ZmZlciB3aGVuIG5ldyB3aW5kb3cgaGFuZGxlIGhhcyBiZWVuIHNldC4KCjIwMTEtMDgtMjIgMTQ6MTM6MzAgKzAyMDAgIENhcnN0ZW4gS3JvbGwgPGNhckB4aW1pZGkuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBhZGRlZCBOVjEyICsgZW5hYmxlZCBSR0Igc3VwcG9ydAoKMjAxMS0wOC0yNyAxMzowNzowMCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogRml4IGRldmljZSBpbml0aWFsaXphdGlvbiBjaGVjawoKMjAxMi0wMi0wNyAxMjoxNDowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGVnYWN5cmVzYW1wbGUuYzoKCSAgdGVzdHM6IGZpeCBtb3JlIHRlc3RzCgoyMDEyLTAyLTA3IDEyOjAyOjM0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Fzc3JlbmRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9iYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBsZXguYzoKCSAgdGVzdHM6IGZpeCBzb21lIHRlc3RzCgoyMDEyLTAyLTA3IDEyOjAyOjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkgIGF1ZGlvdmlzOiBwb3J0IHRvIDAuMTEgc29tZSBtb3JlCgoyMDEyLTAyLTAyIDEzOjMzOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IHByZXZlbnQgY2FwdHVyZXMgZnJvbSBiZWluZyBsb3N0IHdoZW4gc3dpdGNoaW5nIHJlc29sdXRpb25zCgkgIFdoZW4gc3dpdGNoaW5nIGNhcHR1cmUgY2FwcywgY2FtZXJhYmluMSByZXNldHMgaXRzIHN0YXRlIHRvIHJlYWR5CgkgIHRvIGZvcmNlIGEgbmV3IGNhcHMgdG8gYmUgbmVnb3RpYXRlZC4gVGhpcyBjYXVzZXMgb25nb2luZyBjYXB0dXJlcwoJICB0byBiZSBhYm9ydGVkLgoJICBUaGlzIGNvbW1pdCBhZGRzIGEgY29uZGl0aW9uIHRvIHdhaXQgZm9yIGNhcHR1cmVzIHRvIGZpbmlzaCBiZWZvcmUKCSAgZ29pbmcgdG8gcmVhZHkgc3RhdGUuCgoyMDEyLTAyLTAyIDEyOjIyOjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEltcHJvdmUgZGVidWcgbWVzc2FnZSBhYm91dCBwcm9jZXNzaW5nIGNvdW50ZXIKCSAgTWVudGlvbiBvbiB0aGUgbG9ncyBob3cgbWFueSBjYXB0dXJlIG9wZXJhdGlvbnMgbWlnaHQgaGF2ZSBiZWVuCgkgIGxvc3QKCjIwMTItMDItMDQgMjI6MDY6NTcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuYzoKCSAgcm90YXRlOiBhbmdsZSBpcyBpbiByYWRpYW5zIGFscmVhZHksIGRvIG5vdCBzY2FsZSBpdAoJICBPdGhlciBwbHVnaW5zIHVzZSByYWRpYW5zLCBhbmQgdGhlIGFuZ2xlIGRvY3VtZW50YXRpb24gc2F5cyByYWRpYW5zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY5MzY1CgoyMDEyLTAyLTA0IDIyOjA2OjEyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cm90YXRlLmM6CgkgIHJvdGF0ZTogZml4IGRlc2NyaXB0aW9uIHN0cmluZyB0byBtYXRjaCB3aGF0IHRoZSBlbGVtZW50IGRvZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2OTM2NQoKMjAxMi0wMi0wMyAxMTowODo0OCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBkbyBub3QgZW1pdCBuby1tb3JlLXBhZHMKCSAgRG9pbmcgc28gbWF5IGZpeCBzb21lIHRoaW5ncywgYnV0IGJyZWFrcyBvdGhlcnMgKG5ldyBzdHJlYW1zIGJlaW5nCgkgIGFkZGVkIGluIHRoZSBmdXR1cmUpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1ODE0CgoyMDEyLTAyLTAzIDExOjI2OjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZGVjcmVhc2UgcGFzc3Rocm91Z2ggbmVnb3RpYXRpb24gcHJlZmVyZW5jZQoJICBBbHNvIGVuc3VyZSBwYXJzaW5nIGZpeGVkIGNhcHMgd2hlbiBuZWdvdGlhdGluZyByYXRoZXIgdGhhbiBmYWlsaW5nIHRvCgkgIGhhbmRsZSBub24tZml4ZWQgbGlzdCBjYXNlcy4KCSAgU2VlICM2Njg0NzEuCgoyMDEyLTAyLTAzIDAwOjUwOjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jdXJsL01ha2VmaWxlLmFtOgoJKiBleHQvZ3NldHRpbmdzL01ha2VmaWxlLmFtOgoJKiBleHQva2F0ZS9NYWtlZmlsZS5hbToKCSogZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9saXZlYWRkZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL3NobS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGZpeCBDRkxBR1Mgb3JkZXIgYW5kIExJQlMgb3JkZXIKCSAgX0JBRF9DRkxBR1Mgc2hvdWxkIGFsd2F5cyBjb21lIGZpcnN0LCB0aGVuIEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTLAoJICB0aGVuIEdTVF9CQVNFX0NGTEFHUyB0aGVuIEdTVF9DRkxBR1MuIFNhbWUgZm9yIGxpYnM6IGZpcnN0IHBsdWdpbnMKCSAgYmFzZSBsaWJzLCB0aGVuIEdTVF9CQVNFX0xJQiB0aGVuIEdTVF9MSUJTLgoKMjAxMi0wMi0wMiAyMzoyMTo1MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaGVja3N1bXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnc3B5LmM6CgkgIGRlYnVndXRpbHM6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMi0wMiAxMTo0MToxNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJICBtcGVncHNtdXg6IGluY2x1ZGUgc3BlY2lmaWMgQUFDIHN0cmVhbS1mb3JtYXQgaW4gdGVtcGxhdGUgY2FwcwoJICBUaGlzIGVsZW1lbnRzIHNlZW1zIHRvIHN1cHBvcnQgcmF3IGFuZCBhZHRzIEFBQy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTM5NAoKMjAxMi0wMi0wMiAxMTozNzo1NSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBhZGQgZXhwbGljaXQgc3VwcG9ydGVkIEFBQyBzdHJlYW0tZm9ybWF0IGluIHRlbXBsYXRlIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTM5NAoKMjAxMi0wMi0wMiAxMTozMTozMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGluY2x1ZGUgc3BlY2lmaWMgc3VwcG9ydCBBQUMgc3RyZWFtIGZvcm1hdHMgaW4gdGVtcGxhdGUgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1Mzk0CgoyMDEyLTAyLTAyIDExOjI3OjMzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogc3BlY2lmeSBpbiB0ZW1wbGF0ZSBjYXBzIHdlIG9ubHkgdGFrZSByYXcvYWR0cyBBQUMgZm9ybWF0CgkgIFRoaXMgYXBwZWFycyB0byBiZSB3aGF0IHRoaXMgZWxlbWVudCBzdXBwb3J0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTM5NAoKMjAxMi0wMi0wMiAxMToyMDozOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWdkZW11eDogaW5jbHVkZSBzcGVjaWZpYyBBQUMgc3RyZWFtLWZvcm1hdCB0eXBlcyBpbiB0ZW1wbGF0ZSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUzOTQKCjIwMTItMDItMDIgMTA6NTk6NTMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmg6CgkgIGthdGU6IGJldHRlciBlcnJvci9kZWJ1ZyByZXBvcnRpbmcKCSAgSW5jbHVkZSB0ZXh0IG1lc3NhZ2VzIGluc3RlYWQgb2YgZXJyb3IgY29kZXMuCgoyMDEyLTAyLTAxIDE5OjM4OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jOgoJICBjaHJvbWFwcmludDogZml4IHBhcmVudCBzdHJ1Y3R1cmUgaW4gYm9pbGVycGxhdGUgbWFjcm8KCjIwMTItMDItMDEgMTc6NTM6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlmZHNpbmsvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RfZWxlbWVudF9wcmludF9wcm9wZXJ0aWVzLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBpZ25vcmUgR1ZhbHVlQXJyYXkgZGVwcmVjYXRpb24gd2FybmluZ3MgZm9yIHRoZSB0aW1lIGJlaW5nCgkgIHVudGlsIHRoaXMgZ2V0cyBzb3J0ZWQgb3V0IHdpdGggdGhlIEdMaWIgZm9sa3MgYW5kIHdlIGhhdmUgYQoJICB2aWFibGUgYWx0ZXJuYXRpdmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjcyMjgKCjIwMTItMDItMDEgMTc6NDY6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmM6CgkgIGNocm9tYXByaW50OiBwb3J0IHRvIDAuMTEKCjIwMTItMDItMDEgMTc6MDY6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkgIGFkcGNtZGVjOiBmaXggdXAgZm9yIEdzdEF1ZGlvRGVjb2RlciBBUEkgY2hhbmdlCgoyMDEyLTAyLTAxIDE2OjI3OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSAgYW1yd2JlbmM6IFVzZSBuZXcgYXVkaW8gZW5jb2Rlci9kZWNvZGVyIGJhc2UgY2xhc3MgQVBJIGZvciBzcmNwYWQgY2FwcwoKMjAxMi0wMi0wMSAxNjoyNjo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IFVzZSBuZXcgYXVkaW8gZW5jb2Rlci9kZWNvZGVyIGJhc2UgY2xhc3MgQVBJIGZvciBzcmNwYWQgY2FwcwoKMjAxMi0wMi0wMSAxNjoyNjoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IFVzZSBuZXcgYXVkaW8gZW5jb2Rlci9kZWNvZGVyIGJhc2UgY2xhc3MgQVBJIGZvciBzcmNwYWQgY2FwcwoKMjAxMi0wMi0wMSAxNjoyNjowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IFVzZSBuZXcgYXVkaW8gZW5jb2Rlci9kZWNvZGVyIGJhc2UgY2xhc3MgQVBJIGZvciBzcmNwYWQgY2FwcwoKMjAxMi0wMi0wMSAxNjoyNToxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBkdHM6IFVzZSBuZXcgYXVkaW8gZW5jb2Rlci9kZWNvZGVyIGJhc2UgY2xhc3MgQVBJIGZvciBzcmNwYWQgY2FwcwoKMjAxMi0wMi0wMSAxNjoyMzozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICBnc206IFVzZSBuZXcgYXVkaW8gZW5jb2Rlci9kZWNvZGVyIGJhc2UgY2xhc3MgQVBJIGZvciBzcmNwYWQgY2FwcwoKMjAxMi0wMi0wMSAxMjo0Nzo1NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IGRpc2FibGUgb3B0aW1pemVkIHBhY2tldGl6ZWQgcHJvY2Vzc2luZyBmb3IgcmV2ZXJzZSBwbGF5YmFjawoJICAuLi4gYXMgYmFzZXBhcnNlIHRoZW4gcHJvdmlkZXMgd2hvbGUgY2h1bmtzIG9mIGRhdGEgKGFzIGl0IHNob3VsZCkgYXQgb25jZQoJICB0byBiZSBwYXJzZWQsIGFuZCBzbyB0aGUgYXNzdW1wdGlvbnMgdXNlZCB0byBvcHRpbWl6ZSBhcmUgbm8gbG9uZ2VyIHZhbGlkLgoJICBGaXhlcyAjNjY3NTYwLgoKMjAxMi0wMi0wMSAxMjoyMzoyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IGFsc28gbWluZCBTRUkgcG9zaXRpb24gZm9yIGNvbmZpZyBkYXRhIGluc2VydGlvbgoJICBGaXhlcyAjNjY4NjI3LgoKMjAxMi0wMi0wMSAxMjowMzowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IHVuYnJlYWsgb3B0aW1pemVkIHBhY2tldGl6ZWQgTkFMVSBjb2xsZWN0aW9uIHByb2Nlc3NpbmcKCSAgLi4uIGluIHRoYXQgaXQgd2FzIHNvIG9wdGltaXplZCBpdCBkaWQgbm90IGNvbnNpZGVyIGdyb3VwaW5nIE5BTFUgaW50byBBVQoJICBhbHRvZ2V0aGVyLgoJICBGaXhlcyAjNjY4NjI3LgoKMjAxMS0xMi0xNCAxOToyNzo1MyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAgdGlnZXI6IHVzZSB0aGUgbmV3IHByZW11bHRpcGxpZWQgc3VwcG9ydCBpbiBnc3R2aWRlbwoKMjAxMi0wMS0zMCAxODo0NjowNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IGZpeCB3ZWRnZSBpbiBwcmVyb2xsIHdoZW4gcGxheWJpbjIgZGVpbnRlcmxhY2luZyBpcyBlbmFibGVkCgkgIFdoZW4gZGVpbnRlcmxhY2luZyBpcyBlbmFibGVkLCBhbiBleHRyYSBjb2xvcnNwYWNlIGVsZW1lbnQgaXMgYWRkZWQuCgkgIENvbG9yc3BhY2UgaXMgYSBiYXNldHJhbnNmb3JtLCBhbmQgaXMgdGhlbiB0aGUgb25seSBiYXNldHJhbnNmb3JtCgkgIGVsZW1lbnQgb24gdGhlIHZpZGVvIHBhdGguIEEgd2hpbGUgYWdvLCBiYXNldHJhbnNmb3JtIHN0YXJ0ZWQgZGVsYXlpbmcKCSAgZXZlbnRzIHRpbGwgY2FwcyB3ZXJlIHNldCBvbiBpdHMgc291cmNlIHBhZC4gVGhlc2UgdGhpbmdzIGNvbnNwaXJlZAoJICB0byBlbmQgdXAgc2VuZGluZyB0aGUgRFZEIGhpZ2hsaWdodCBldmVudHMgb250byBhIGJsb2NrZWQgcGFkIG9uCgkgIHN1YnRpdGxlb3ZlcmxheS4KCSAgRW5zdXJpbmcgdGhlc2UgaGlnaGxpZ2h0IGV2ZW50cyBhcmUgb25seSBzZW50IG9uY2Ugd2UncmUgaW4gcGxheWluZwoJICBtb2RlIGZpeGVzIHRoZSBpc3N1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODc2MgoKMjAxMi0wMi0wMSAwMjoxMzo0OCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AZ21haWwuY29tPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuaDoKCSAgc2Nocm86IEZpeCBjb21waWxhdGlvbiB3aXRoIDEuMC4xMAoKMjAxMS0xMi0yNiAyMTo1Nzo0OCAtMDYwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IHNldCBpbnRlcmxhY2VkIGZpZWxkIGluIGNhcHMgZm9yIG1wZWcyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjcyMTgKCjIwMTItMDEtMzEgMTI6Mjk6MTMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9pY2xlcy9waXRjaC10ZXN0LmM6CgkgIGNvbnRyb2xsZXI6IGFkYXB0IHRvIGNvbnRyb2wtc291cmNlIHR5cGUgY2hhbmdlcwoKMjAxMi0wMS0zMSAwODo0NDowNCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IHVwZGF0ZSBhZnRlciBjb2xsZWN0cGFkczIgY2hhbmdlcwoKMjAxMi0wMS0zMCAyMjo0MTowNSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2ljbGVzL3BpdGNoLXRlc3QuYzoKCSAgY29udHJvbGxlcjogcmVuYW1lIGNvbnRyb2wtYmluZGluZ3MKCSAgZ3N0X2NvbnRyb2xfYmluZGluZ194eHggLT4gZ3N0X3h4eF9jb250cm9sX2JpbmRpbmcgZm9yIGNvbnNpc3RlbmN5LgoKMjAxMi0wMS0zMCAxNzoxNzoxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGdzdC9tdWx0aWZkc2luay9nc3RtdWx0aWZkc2luay5jOgoJICB1cGRhdGUgZm9yIEhFQURFUiBmbGFnCgoyMDEyLTAxLTI1IDEzOjU3OjU3ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggcGFyc2luZyBvZiBWVUkgcGFyYW1ldGVycy4KCSAgbWF4X2RlY19mcmFtZV9idWZmZXJpbmcgd2FzIG1pcy1wYXJzZWQgYmVjYXVzZSBsb2cyX21heF9tdl9sZW5ndGhfdmVydGljYWwKCSAgd2FzIHBhcnNlZCB0d2ljZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODY2MAoKMjAxMi0wMS0yOSAxODowMTowNSArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogVW5yZWYgbm9uLWZvcndhcmRlZCBldmVudHMKCSAgQWxzbywgZG9uJ3QgdW5yZWYgZm9yd2FyZGVkIG9uZXMKCjIwMTItMDEtMjggMjA6MDE6MzUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5jOgoJICB2b2FtcndiZW5jOiBpbml0IGRlYnVnIGNhdGVnb3J5CgoyMDEyLTAxLTI4IDIwOjAxOjE5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogaW5pdCBkZWJ1ZyBjYXRlZ29yeQoKMjAxMi0wMS0yOCAxNjo1NzowMyArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogcmVzeW5jIGl0ZXJhdG9yIG9uIHJlc3luYwoKMjAxMi0wMS0yOCAxMjozMjo0NiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkgIGthdGVlbmM6IHJlbW92ZSAnZmx1c2ggZXZlcnkgcGFja2V0JyBoYWNrCgkgIFRoaXMgaXMgYSBiYWQgaGFjayB3aGljaCBkb2VzIG5vdCB3b3JrIHdpdGggTWF0cm9za2EsIGFuZCBpcyBub3cKCSAgb2Jzb2xldGUgYXMgc2ltaWxhciBjb2RlIGlzIG5vdCBpbmNsdWRlZCBpbiBvZ2dtdXgvb2dnc3RyZWFtLgoKMjAxMi0wMS0yNyAxMjowODo1MiArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogUmUtcHVzaCBzdGlja3kgZXZlbnRzIG9uIGlucHV0IHBhZCBjaGFuZ2UKCjIwMTItMDEtMjcgMTI6MDc6NDMgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIGR0bWY6IFVzZSBuZXctc3R5bGUgY2FwcwoKMjAxMi0wMS0yNyAxNzowMDoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogQWRkIG1wZWdkZW11eCB0byB0aGUgbGlzdCBvZiBwb3J0ZWQgcGx1Z2lucwoKMjAxMi0wMS0yNyAxNjo1Njo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IERvbid0IGxlYWsgdGhlIFNDSEVEVUxJTkcgcXVlcnkKCjIwMTItMDEtMjYgMDc6MTM6MDYgLTA1MDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdW1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJICBQb3J0IG1wZWdkZW11eCB0byAwLjExCgoyMDEyLTAxLTI3IDE0OjQ5OjU4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9jdXJsL01ha2VmaWxlLmFtOgoJKiBleHQvY3VybC9nc3RjdXJsc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL01ha2VmaWxlLmFtOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc3JjLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zcmMuYzoKCSogZXh0L2thdGUvTWFrZWZpbGUuYW06CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5jOgoJKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsaWItY29tcGF0LXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0aW5wdXRzZWxlY3Rvci5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2ludGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnRlc3QuYzoKCSogZ3N0L2xpdmVhZGRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSogZ3N0L212ZS9nc3RtdmVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL3NobS9NYWtlZmlsZS5hbToKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1tYWluLmM6CgkgIHBsZW50eTogZml4dXAgZ2xpYiBkZXByZWNhdGlvbnMKCjIwMTItMDEtMjcgMDc6MzY6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogQWRkIHZpZXdmaW5kZXIgY29sb3JzcGFjZSBjb252ZXJzaW9uIHRvIGRlZmF1bHQgZmxhZ3MKCSAgVGhpcyBtYWtlIHRoZSBkZWZhdWx0IHNldHRpbmdzIG1vcmUgbGlrZWx5IHRvIHdvcmsuIElmIG5lZWRlZCwgb25lCgkgIGNhbiBvcHRpbWl6ZSBieSBkaXNhYmxpbmcgY29udmVyc2lvbnMgd2l0aCB0aGUgZmxhZ3MuCgoyMDEyLTAxLTIzIDA4OjA0OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFJlbW92aW5nIHNvbHZlZCBUT0RPIGFuZCBmaXhpbmcgYSB0eXBvCgoyMDEyLTAxLTI2IDIzOjI4OjI4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkgIGFkcGNtZGVjOiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMjYgMjM6Mjg6MjAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkgIGFkcGNtZW5jOiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMjYgMjM6Mjg6MDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICBnc206IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0yNiAxNTowMzoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogQWRkIHRoZSBEVkIgcGx1Z2luIHRvIHRoZSBub24tcG9ydGVkIHBsdWdpbnMKCSAgSXQgbmVlZHMgdGhlIE1QRUcgVFMgcGFyc2VyIGFuZCBjdXJyZW50bHkgY3Jhc2hlcyBkdXJpbmcgaW5zdGFudGlhdGlvbgoJICBiZWNhdXNlIGl0IGNhbid0IGNyZWF0ZSB0aGUgTVBFRyBUUyBwYXJzZXIuCgoyMDEyLTAxLTI1IDE4OjI1OjAxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5oaDoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5jYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jc3RyZWFtd3JpdGVyLmNjOgoJICBtcGVnMmVuYzogcG9ydCB0byAwLjExCgoyMDEyLTAxLTI1IDE4OjQ5OjU4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9tcGxleC9nc3RtcGxleG91dHB1dHN0cmVhbS5jYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJICBwb3J0IHNvbWUgbW9yZSB0byBuZXcgbWVtb3J5IEFQSQoJICBGaXhlcyAjNjY4Njc3LgoKMjAxMi0wMS0yNSAxNjozNzoyMiArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5oOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvdmlkZW9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMjUgMTY6NTc6NTIgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkgIGJheWVyOiBJbnRlcnNlY3QgdHJhbnNmb3JtZWQgY2FwcyB3aXRoIGZpbHRlcgoKMjAxMi0wMS0yNSAxNTo0MzowMSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRG9uJ3QgbGVhayBndmFsdWUgZnJvbSBpdGVyYXRvcgoKMjAxMi0wMS0yNSAxNjo0Njo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIG1vcmUgcG9ydGluZwoKMjAxMi0wMS0yNSAxNjoyMDo0MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmZHNpbmsvZ3N0bXVsdGlmZHNpbmsuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RpcnRzcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkgIHBvcnQgc29tZSBtb3JlIHRvIG5ldyBtZW1vcnkgQVBJCgoyMDEyLTAxLTI1IDE0OjUwOjUwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgcG9ydCB0byBuZXcgbWVtb3J5IEFQSQoKMjAxMi0wMS0yNSAxMzo1ODoxOSArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYzQ2M2JjMCB0byA3ZmRhNTI0CgoyMDEyLTAxLTI1IDEzOjIyOjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBjb25maWd1cmUuYWMKCSAgZXh0L2thdGUvZ3N0a2F0ZWVuYy5jCgkgIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYwoJICBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYwoKMjAxMi0wMS0xOCAxMjowNDo1MiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogbGltaXQgdGhlIGFtb3VudCBvZiBzY2FubmluZyBkb25lIG9uIGR1cmF0aW9uIHF1ZXJpZXMKCSAgTGltaXQgdGhlIGFtb3VudCBvZiBkYXRhIHNjYW5uZWQgd2hlbiBsb29raW5nIGZvciBQVFNlcyBpbiBkdXJhdGlvbiBxdWVyaWVzIGFzIGEKCSAgZmFpbHNhZmUgZm9yIGtpbmRhIGJyb2tlbiwgcG90ZW50aWFsbHkgbGFyZ2UgZmlsZXMgd2l0aCBzcGFyc2Ugb3Igbm8gUFRTZXMuCgoyMDEyLTAxLTE4IDExOjI4OjI2ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiBkb24ndCBzY2FuIGZvciB0aGUgbGFzdCBQVFMgaWYgdGhlIGZpcnN0IHdhc24ndCBmb3VuZAoKMjAxMi0wMS0yNSAxMToyMTo1MCArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMjUgMTA6NDU6NTEgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9ydHB2cDgvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhkZXBheS5oOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5oOgoJICBydHB2cDg6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0yNCAyMjoxNDozOSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIEFuZHJvaWQubWs6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC92aWRlb21heHJhdGUvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmM6CgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmg6CgkgIHZpZGVvbWF4cmF0ZTogUmVtb3ZlLCB2aWRlb3JhdGUgaW5jbHVkZXMgdGhlIHNhbWUgZnVuY3Rpb25hbGl0eSBub3cKCjIwMTItMDEtMjQgMTQ6MjA6NTIgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9ydHBtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgcnRwbXV4OiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMjUgMTE6Mzg6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAyYTU5MDE2IHRvIGM0NjNiYzAKCjIwMTItMDEtMjQgMTE6NTY6MzQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJICBmbGl0ZTogbWFrZSBjb25zdGFudCBzdGF0aWMgYXJyYXlzIGFjdHVhbGx5IHN0YXRpYwoKMjAxMi0wMS0yNCAxMTo1MzoyNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkgIGZsaXRlOiBmaXggdW5pbml0aWFsaXplZCByZXR1cm4gdmFsdWUKCjIwMTItMDEtMjQgMTE6MjI6NDYgKzAxMDAgIE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiB0cmFjZSBvdXRnb2luZyB0aW1lc3RhbXBzCgkgIGFkZCBpbmZvIGxldmVsIHByaW50cyBmb3Igb3V0Z29pbmcgdGltZXN0YW1wcy4KCSAgU2lnbmVkLW9mZi1ieTogT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDEyLTAxLTIzIDIyOjIwOjQwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSAgcmVzaW5kdmQ6IGZpeCBjYXBzIHJlZmNvdW50IGVycm9yCgkgIC9tZSBiYWQgbW9ua2V5LgoKMjAxMi0wMS0yMyAxODozMDoxOSArMDAwMCAgSm9uYXMgTGFyc3NvbiA8am9uYXNAaGFsbGVydWQuc2U+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlOiBmaXggZ3N0X2gyNjRfcGFyc2VfY2xvY2tfdGltZXN0YW1wIGFsd2F5cyBmYWlsaW5nCgoyMDEyLTAxLTIzIDE4OjAxOjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIFJFUVVJUkVNRU5UUzoKCSAgUkVRVUlSRU1FTlRTOiB3ZSBuZWVkIGxpYnJ0bXAgZm9yIHJ0bXAgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4NTIxCgoyMDEyLTAxLTIzIDE4OjUxOjM0ICswMTAwICBKb25hcyBMYXJzc29uIDxqb25hc0BoYWxsZXJ1ZC5zZT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHJlYWQgdGhlIGNicl9mbGFnIGluIGgyNjRfcGFyc2VfaHJkX3BhcmFtZXRlcnMKCjIwMTItMDEtMjMgMTc6NDc6NDUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZml4IGZyZXF1ZW50IGRlYWRsb2NrIGRlbXV4aW5nIE1QRUcgVFMKCSAgQSBwcmV2aW91cyBwYXRjaCB0byBhZGQgc3RyZWFtcyBlYXJseSB0byBmaXggcGxheWJhY2sgb2YKCSAgbG93IGJpdHJhdGUgc3RyZWFtcyBjYXVzZXMgZnJlcXVlbnQgZGVhZGxvY2sgb2YgYSBuYXR1cmUKCSAgSSdtIGF0IGxvc3MgaG93IHRvIGZpeC4KCSAgSSdtIG5vdCBjZXJ0YWluIHdoZXRoZXIgaXQncyBhIGJ1ZyBpbiBkZWNvZGViaW4yLCBvciBpbgoJICB0aGF0IG1wZWd0c2RlbXV4IHBhdGNoLgoJICBTaW5jZSBpdCBjYXVzZXMgYSBtYWpvciByZWdyZXNzaW9uLCBsZXQgaXQgYmUgZGlzYWJsZWQgZm9yIG5vdy4KCjIwMTItMDEtMjMgMTQ6MTA6NDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGJyZWFrIG91dCB3aGVuIHN0cmVhbSBpZGVudGlmaWVkCgoyMDEyLTAxLTIzIDE0OjA2OjU0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2RlbXV4OiBhdm9pZCBOVUxMIG1hbmlwdWxhdGlvbiBpZiBpbnZhbGlkIGlucHV0CgoyMDEyLTAxLTIzIDE0OjA1OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ2RlbXV4OiBhdm9pZCBOVUxMIG1hbmlwdWxhdGlvbiBpZiBpbnZhbGlkIGlucHV0CgoyMDEyLTAxLTIzIDE0OjAxOjAyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBhdm9pZCBzb21lIHVubGlrZWx5IGxlYWtzCgoyMDEyLTAxLTIzIDEzOjU4OjU3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogcHJldmVudCBzb21lIGZhbGwtdGhyb3VnaCBjYXNlcwoKMjAxMi0wMS0yMyAxMzo1ODowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXZlL2dzdG12ZW11eC5jOgoJICBtdmU6IHVzZSBzaWduZWQgbG9vcCB2YXJpYWJsZQoJICAuLi4gd2hlbiB1c2luZyBpdCBpbiBpID49IDAuCgoyMDEyLTAxLTIzIDEzOjU3OjMyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdmUvbXZldmlkZW9lbmMxNi5jOgoJICBtdmU6IGVuc3VyZSBiZXN0IHRhcmdldCBmb3VuZAoKMjAxMi0wMS0yMyAxMzo1NjowMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgZmVzdGl2YWw6IGVuaGFuY2Ugc29tZSBlcnJvciBjYXNlIGhhbmRsaW5nCgoyMDEyLTAxLTIzIDEzOjU1OjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICBudXZkZW11eDogY2hlY2sgZGlyZWN0bHkgZm9yIHZhbGlkIGJ1ZmZlcgoJICAuLi4gcmF0aGVyIHRoYW4gZG9pbmcgc28gaW5kaXJlY3RseSBpbiAoaW5jb21wbGV0ZSkgc2VtYW50aWMgd2F5LgoKMjAxMi0wMS0yMyAxMzo1NDozMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBmaXggcGFyYW1ldGVyIHNhbml0eSBjaGVjawoKMjAxMi0wMS0yMyAxMTo1NDowOCArMDAwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHRvIHdvcmsKCjIwMTItMDEtMjAgMTU6MzQ6MjcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSAgcmVzaW5kdmQ6IGZpeCBwcmVyb2xsIG9uIHRpdGxlcyB3aXRoIG5vIGF1ZGlvIHRyYWNrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTk0NjkKCjIwMTItMDEtMjAgMTI6MjU6MDkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJzbmR2ZHNyYzogZml4IGxlYWsKCjIwMTItMDEtMjAgMTI6MTU6MjAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgIHJlc2luZHZkYmluOiBmaXggdmlkZW8vYXVkaW8gbWl4dXAgaW4gZXJyb3IgbWVzc2FnZQoKMjAxMi0wMS0yMCAxMDo0MjoyMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJICByc25hdWRpb211bmdlOiBrZWVwIHRoZSBvYmplY3QgcmVmIGxvbmdlcgoJICBTaW5jZSB3ZSBkbyBub3QgZ2V0IGEgcmVmIHRvIHRoZSBwYWQsIEknbSBub3QgY2VydGFpbiBpdCdzIHNhZmUKCSAgdG8gZHJvcCB0aGUgb2JqZWN0IGFuZCB1c2UgdGhlIHBhZCBsYXRlciwgc28gaG9sZCB0aGUgb2JqZWN0IHJlZgoJICB0aWxsIHdlJ3JlIGRvbmUgd2l0aCB0aGUgcGFkLgoKMjAxMi0wMS0yMSAyMDowODozNiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2ljbGVzL3BpdGNoLXRlc3QuYzoKCSAgY29udHJvbGxlcjogbW92ZSBmcm9tIGNvbnRyb2wtYmluZGluZyB0byBjb250cm9sLWJpbmRpbmctZGlyZWN0CgoyMDEyLTAxLTIyIDE2OjU5OjM3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLm9yYzoKCSAgUmV2ZXJ0ICIhY29sb3JzcGFjZTogZml4IG9kZCBzaXplIHByb2JsZW1zIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGUyZTZmZGNiNmIyNjVkYjIwMWYxOTE5NTJhZWVkNDI5ZTg1ZTgzNGUuCgkgIFVudGVzdGVkIGNvbW1pdCB3YXMgYWNjaWRlbnRhbGx5IHB1c2hlZC4KCjIwMTItMDEtMjIgMTY6NTg6NTkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBSZXZlcnQgImNvbG9yc3BhY2U6IEZpeCBvdXQtb2YtYm91bmQgZXJyb3JzIGZvciB2MjEwIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDNiOGI4N2NiNmMyMTdiOWYwYjUyY2ZhMzA3OWM0YTM2YWZkMWM0MjQuCgkgIFVudGVzdGVkIGNvbW1pdCB3YXMgYWNjaWRlbnRhbGx5IHB1c2hlZC4KCjIwMTItMDEtMjIgMTY6NTU6NDYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSAgaW50ZXI6IEZpeCBjb21waWxhdGlvbgoJICBGaXggdXAgcHJldmlvdXNseSBib3RjaGVkIHJlYmFzZS4KCjIwMTItMDEtMDkgMjE6NTk6NTcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBGaXggb3V0LW9mLWJvdW5kIGVycm9ycyBmb3IgdjIxMAoKMjAxMS0xMi0zMSAxNzoxNDoyNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy5vcmM6CgkgICFjb2xvcnNwYWNlOiBmaXggb2RkIHNpemUgcHJvYmxlbXMKCjIwMTItMDEtMjIgMTU6NDk6MTIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVyL2dzdGludGVyLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuaDoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5oOgoJICBpbnRlcjogQWRkIGNoYW5uZWwgcHJvcGVydHkKCjIwMTItMDEtMjIgMTU6NDg6MjggLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5oOgoJICBzY2hybzogSGFuZGxlIDEwIGFuZCAxNi1iaXQgZm9ybWF0cwoKMjAxMS0xMi0zMSAxNzoxMzowMiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvYXZjL01ha2VmaWxlLmFtOgoJICBhdmM6IGZpeCBicm9rZW4gbGluZSBjb250aW51YXRpb24KCjIwMTEtMDgtMTggMTk6NDk6MDggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBBZGQganBlZyBjb2xvci1tYXRyaXggY29udmVyc2lvbgoKMjAxMS0wOC0wOSAwOToxOToxMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlci9nc3RpbnRlci5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmg6CgkgIGludGVyOiBBZGQgc3VidGl0bGUgaW50ZXIgZWxlbWVudHMKCjIwMTEtMDgtMDQgMTM6MDU6MjIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJICBrYXRlZW5jOiBEb24ndCBlcnJvciBvbiBlbXB0eSBpbnB1dCBidWZmZXJzCgoyMDEyLTAxLTIyIDE5OjI3OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5oOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmg6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS52Y3Byb2o6CgkgIFJlbW92ZSBsZWdhY3kgbXBlZ3ZpZGVvcGFyc2UgcGx1Z2luCgkgIFRoZXJlJ3MgYSBuZXcgb25lIGluIHRoZSB2aWRlb3BhcnNlcnMgcGx1Z2luLgoKMjAxMi0wMS0yMiAxOToxMzo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmZHNpbmsvLmdpdGlnbm9yZToKCSAgbXVsdGlmZHNpbms6IG1ha2UgZ2l0IGlnbm9yZSBnZW5lcmF0ZWQgZmlsZXMKCjIwMTItMDEtMjIgMTk6MTE6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiBtYWtlIGxldmVsIGFuZCBwcm9maWxlIGZpZWxkcyBpbiBjYXBzIHN0cmluZ3MKCSAgRm9yIGNvbnNpc3RlbmN5IHdpdGggb3RoZXIgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODQzOAoKMjAxMi0wMS0xOCAxNjozNToxNiArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCByZWZfcGljX2xpc3RfbW9kaWZpY2F0aW9uKCkKCSAgVGhlIGVudHJpZXMgd2VyZSBub3QgZmlsbGVkIGluIGxpbmVhcmx5IGFuZCB0aGUgdGVybWluYXRpb24gd2FzIG5vdAoJICByZWNvcmRlZCBlaXRoZXIuIE5vdywgdGhlIGFjdHVhbCBudW1iZXIgb2YgbW9kaWZpY2F0aW9ucyBpcyByZWNvcmRlZAoJICBzaW1pbGFybHkgdG8gZGVjX3JlZl9waWNfbWFya2luZygpLiBpLmUuIGFuIGV4cGxpY2l0IGNvdW50ZXIgaW5zdGVhZAoJICBvZiBzdG9yaW5nIHRoZSB0ZXJtaW5hdGlvbiB2YWx1ZSBpbiB0aGUgYXJyYXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjgxOTIKCjIwMTItMDEtMjAgMTY6MTI6MDIgKzAwMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSBmb3IgYWN0dWFsbHkgcG9ydGVkIGVsZW1lbnRzCgoyMDEyLTAxLTIwIDE1OjIzOjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IG9ubHkgY2hlY2sgZm9yIGdzdC1wbHVnaW5zLXtnb29kLHVnbHksZmZtcGVnfSBpbiB1bmluc3RhbGxlZCBzZXR1cHMKCSAgV2UgZG9uJ3QgaW5zdGFsbCAucGMgZmlsZXMgZm9yIHBsdWdpbiBtb2R1bGVzLCBiZWNhdXNlIHdlIG9ubHkgbmVlZAoJICB0aGVtIGluIHVuaW5zdGFsbGVkIHNldHVwcywgc28gd2UgY2FuIGZpbmQgdGhlIHBsdWdpbnMgZm9yIHVuaXQgdGVzdHMKCSAgKGV2ZW4gd2hlbiBydW4gYSBjb3VwbGUgb2YgZGlyZWN0b3JpZXMgZGVlcGVyIG9yIG91dC1vZi10cmVlIGR1cmluZwoJICBtYWtlIGRpc3RjaGVjaykuCgkgIFRyeSB0byBhdm9pZCBjb25mdXNpb24sIHNvIG9ubHkgY2hlY2sgZm9yIHRob3NlIGlmIHRoaXMgaXMgaW4gZmFjdAoJICBhbiB1bmluc3RhbGxlZCBzZXR1cC4gRm9yIGluc3RhbGxlZCBzZXR1cHMgdGhlcmUncyBubyBwcm9ibGVtIGZpbmRpbmcKCSAgdGhlIHBsdWdpbnMsIHdlIGFzc3VtZSB0aGV5IGFyZSBhbGwgaW4gdGhlIHBsdWdpbmRpciBzcGVjaWZpZWQgYnkKCSAgR1N0cmVhbWVyIGNvcmUncyAucGMgZmlsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODMxMQoKMjAxMi0wMS0yMCAxNDo0NjowMCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2ljbGVzL3BpdGNoLXRlc3QuYzoKCSAgY29udHJvbGxlcjogYWRhcHQgdG8gY29udHJvbCBiaW5kaW5nIGNoYW5nZXMKCjIwMTItMDEtMjAgMTE6NDA6MDAgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9pY2xlcy9waXRjaC10ZXN0LmM6CgkgIGNvbnRyb2xsZXI6IGFkYXB0IHRvIGNvbnRyb2xsZXIgYXBpIGNoYW5nZXMKCSAgRG9uJ3QgdXNlIHRoZSBjb252ZW5pZW5jZSBhcGkgZm9yIGNvbnRyb2wgc291cmNlcy4KCjIwMTItMDEtMjAgMDA6NTM6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmM6CgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5oOgoJICBjaHJvbWFwcmludDogbWlub3IgY2xlYW4tdXBzCgkgIEZsZXNoIG91dCBkb2NzIGEgYml0LCBmaXggZWxlbWVudCBjbGFzcy4KCjIwMTEtMDEtMDIgMTk6MzQ6MDQgKzAwMDAgIEx1a8OhxaEgTGFsaW5za8O9IDxsYWxpbnNreUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2Nocm9tYXByaW50L01ha2VmaWxlLmFtOgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuYzoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50Lmg6CgkgIGNocm9tYXByaW50OiBpbXBvcnQgQWNvdXN0aWQgYXVkaW8gZmluZ2VycHJpbnRpbmcgcGx1Z2luCgkgIEltcG9ydGVkIGZyb20gaHR0cHM6Ly9sYXVuY2hwYWQubmV0L2dzdC1jaHJvbWFwcmludAoKMjAxMi0wMS0xMCAwMDoyMjozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogaGFuZGxlIGNvcm5lci1jYXNlIG9mIHNob3J0IHJlYWQgaW4gcHVsbF9idWZmZXIgYmV0dGVyCgkgIEl0J3MgZXh0cmVtZWx5IHVubGlrZWx5LCBidXQgdGhlcmUgYXJlIGNvcm5lciBjYXNlcyB3aGVyZSBhIHNob3J0CgkgIHJlYWQgbWlnaHQgaGFwcGVuLCBzbyBoYW5kbGUgdGhhdCwganVzdCBpbiBjYXNlLgoKMjAxMi0wMS0xOSAxNTo0Mzo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICBnc21lbmM6IGZpeCB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgoyMDEyLTAxLTE5IDE1OjEyOjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJICBBZGQgLS1kaXNhYmxlLWZhdGFsLXdhcm5pbmdzIGNvbmZpZ3VyZSBvcHRpb24KCjIwMTItMDEtMTkgMTE6MzQ6MjYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5oaDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuaDoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSogZ3N0L211bHRpZmRzaW5rL2dzdG11bHRpZmRzaW5rLmM6CgkqIGdzdC9tdWx0aWZkc2luay9nc3RtdWx0aWZkc2luay5oOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguaDoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLW1haW4uYzoKCSAgcG9ydCB0byBuZXcgZ3RocmVhZCBBUEkKCjIwMTItMDEtMTggMTc6MDE6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IFJlbW92ZSBHSU8gY2hlY2ssIHRoaXMgaXMgaW4gZ3N0LWdsaWIyLm00IG5vdwoKMjAxMi0wMS0xOCAxNjo0NjozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDA4MDcxODcgdG8gMmE1OTAxNgoKMjAxMi0wMS0xOCAxNjozNTowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5oOgoJICBzZHBkZW11eDogUG9ydCB0byBHSU8gYW5kIHRoZSBuZXcgdWRwc3JjL3NpbmsgcHJvcGVydGllcwoKMjAxMi0wMS0xOCAxNjowMTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogQWRkIG9wdXMgdG8gdGhlIG5vbi1wb3J0ZWQgcGx1Z2lucwoJICBJdCBuZWVkcyB0byBiZSB1cGRhdGVkIGZvciB0aGUgbmV3IG11bHRpY2hhbm5lbCBBUEkuCgoyMDEyLTAxLTE4IDE1OjQ4OjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZkc2luay9NYWtlZmlsZS5hbToKCSAgbXVsdGlmZHNpbms6IEFkZCAkKEdTVF9QTFVHSU5TX0JBRF9DRkxBR1MpIGZvciB0aGUgaTE4biBoZWFkZXIgZmlsZQoKMjAxMi0wMS0xNyAyMTozNjoyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWRwY21kZWMvTWFrZWZpbGUuYW06CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJICBhZHBjbWRlYzogcG9ydCB0byBhdWRpb2RlY29kZXIKCjIwMTItMDEtMTcgMjE6MzY6MDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FkcGNtZW5jL01ha2VmaWxlLmFtOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSAgYWRwY21lbmM6IHBvcnQgdG8gYXVkaW9lbmNvZGVyCgoyMDEyLTAxLTE3IDE4OjMzOjA5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmg6CgkgIGdzbWRlYzogcG9ydCB0byBhdWRpb2RlY29kZXIKCjIwMTItMDEtMTcgMTg6MzI6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuaDoKCSAgZ3NtZW5jOiBwb3J0IHRvIGF1ZGlvZW5jb2RlcgoKMjAxMi0wMS0xNyAxMzoxMjoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIG11bHRpZmRzaW5rOiBBZGQgdG8gdGhlIGRvY3MKCjIwMTItMDEtMTYgMjI6NTI6MTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleGliaXRzdHJlYW0uY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleG91dHB1dHN0cmVhbS5jYzoKCSAgbXBsZXg6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0xNiAyMjo1MjoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogcG9ydCB0byAwLjExCgoyMDEyLTAxLTE2IDIyOjUxOjU5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0aXJ0c3BwYXJzZS5jOgoJICBpcnRzcHBhcnNlOiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMTYgMTc6MzA6MjIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWdzcHkuYzoKCSAgZGVidWdzcHk6IGZpeCBzdHJpbmcgbGVhawoKMjAxMi0wMS0xNiAxNzowNzoyOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10c3RyZWFtaW5mby5jOgoJICBtcGVnZGVtdXg6IGZpeCBtaXNzaW5nIGZpbmFsaXplIGNoYWluaW5nIHRvIHBhcmVudAoJICBUaGlzIGNvZGUgZG9lcyBub3Qgc2VlbSB0byB0cmlnZ2VyIG9uIG15IHRlc3Qgc3RyZWFtcywgc28gaXQncwoJICBhIGJpdCBvZiBhIGJsaW5kIGZpeCwgYnV0IHNlZW1zIHNhZmUgZW5vdWdoIHRvIHB1c2guCgoyMDEyLTAxLTE2IDE3OjAyOjIyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJICBvcGVuY3Y6IGZpeCBtaXNzaW5nIGZpbmFsaXplIGNoYWluaW5nIHRvIHBhcmVudCBjbGFzcwoJICBOb3QgY29tcGlsZWQsIEkgZG8gbm90IGhhdmUgdGhlIG5lY2Vzc2FyeSBkZXBlbmRlbmNpZXMuCgoyMDEyLTAxLTE2IDE3OjAxOjE4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZTogZml4IG1pc3NpbmcgZGlzcG9zZSBjaGFpbmluZyB0byBwYXJlbnQgY2xhc3MKCSAgTm90IGNvbXBpbGVkLCBJIGRvIG5vdCBoYXZlIHRoZSBuZWNlc3NhcnkgZGVwZW5kZW5jaWVzLgoKMjAxMi0wMS0xNiAxNjo1OTo1NyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJICBzcGM6IGZpeCBtaXNzaW5nIGRpc3Bvc2UgY2hhaW5pbmcgdG8gcGFyZW50IGNsYXNzCgkgIE5vdCBldmVuIGNvbXBpbGVkLCBJIGRvIG5vdCBoYXZlIHRoZSBkZXBlbmRlbmNpZXMgbmVlZGVkLgoKMjAxMi0wMS0xNiAxMToyOTowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tdWx0aWZkc2luay9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpZmRzaW5rL2dzdG11bHRpZmRzaW5rLW1hcnNoYWwubGlzdDoKCSogZ3N0L211bHRpZmRzaW5rL2dzdG11bHRpZmRzaW5rLmM6CgkqIGdzdC9tdWx0aWZkc2luay9nc3RtdWx0aWZkc2luay5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmZHNpbmsuYzoKCSAgbXVsdGlmZHNpbms6IE1vdmUgbXVsdGlmZHNpbmsgZnJvbSBnc3QtcGx1Z2lucy1iYXNlIHRvIGdzdC1wbHVnaW5zLWJhZAoKMjAxMi0wMS0xMyAxNTo1NzozMyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkgIEFuZHJvaWQsIEZpeCB3cm9uZyBkaW5hbWljIGxpbmtpbmcgYXR0ZW1wdAoJICBnc3Rjb2RlY3BhcnNlcnMgaXMgYnVpbHQgYXMgYW4gc3RhdGljIGxpYnJhcnkuCgkgIFRoaXMgY2hhbmdlIGZpeGVzIGJ1aWxkaW5nIHdpdGggdGhlIEFuZHJvaWQgYnVpbGRzeXN0ZW0uCgoyMDEyLTAxLTEzIDEzOjMwOjU3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkgIGNvZ21zZTogZml4IGZpbmFsaXplIG5vdCBjYWxsaW5nIGJhc2UgY2xhc3MgKGFuZCBsZWFraW5nKQoKMjAxMi0wMS0xMyAxMjo1NTozOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJICBjb2dtc2U6IHNpZ25hbCBjaGFpbiBmdW5jdGlvbnMgdG8gZXhpdCBvbiBmbHVzaC1zdGFydAoKMjAxMi0wMS0xMyAxMjowODoyOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSAgc2lyZW5lbmM6IGZpeCBiYXNlIGNsYXNzIGNhbGwgbWl4dXAgaW4gZmluYWxpemUKCjIwMTItMDEtMTMgMTE6MjI6NDIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSAgY29nbXNlOiBmaXggdHlwbyB1c2luZyB0aGUgd3JvbmcgcGFkCgoyMDEyLTAxLTEzIDExOjIyOjIxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkgIGNvZ21zZTogZml4IHBvc3NpYmxlIGJ1ZmZlciBsZWFrCgoyMDEyLTAxLTEzIDEwOjMyOjU5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc2luay5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNyYy5jOgoJICBsaW5zeXNzZGk6IGZpeCBsZWFrcwoKMjAxMi0wMS0xMyAxMDoyNToyMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJICByc3Znb3ZlcmxheTogZml4IGFkYXB0ZXIgbGVhawoKMjAxMi0wMS0xMyAwMDoxMTo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTItMDEtMTIgMTc6MTY6MzIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSAgY29nbXNlOiBmaXggcGFkIGxlYWtzCgoyMDEyLTAxLTEyIDE3OjExOjE0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wYXRjaGRldGVjdC9nc3RwYXRjaGRldGVjdC5jOgoJKiBnc3QvcGF0Y2hkZXRlY3QvZ3N0cGF0Y2hkZXRlY3QuaDoKCSAgcGF0Y2hkZXRlY3Q6IHJlbW92ZSAobGVha2luZykgZGVhZCBjb2RlCgoyMDEyLTAxLTEyIDE2OjQ1OjM5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuaDoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5oOgoJICBpbnRlcjogcmVtb3ZlIChsZWFraW5nKSBkZWFkIGNvZGUKCjIwMTItMDEtMTIgMTY6MzY6MTkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogYmFsYW5jZSBlbmNvZGVyIGFuZCB2aWRlbyBmb3JtYXQgYWxsb2MvZGVhbGxvYwoJICBUaGV5IHdvdWxkIGxlYWsgaWYganVzdCBjb25zdHJ1Y3RpbmcgYW5kIGZyZWVpbmcgYW4gb2JqZWN0LAoJICBhbmQgcHJvYmFibHkgY3Jhc2ggaWYgZ29pbmcgZnJvbSBQTEFZSU5HIHRvIFJFQURZIGFuZCBiYWNrCgkgIGFnYWluICh0aG91Z2ggSSBoYXZlbid0IHRlc3RlZCB0aGF0KS4KCjIwMTItMDEtMTIgMTU6NTg6MzYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZml4IHF1ZXVlIGxlYWsKCjIwMTItMDEtMTIgMTU6NDM6NTEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuYzoKCSAgZGNjcGNsaWVudHNpbms6IGZpeCBzdHJpbmcgbGVhawoKMjAxMi0wMS0xMiAxNToxOTowMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICB5NG1kZWM6IGZpeCBldmVudCBsZWFrCgoyMDEyLTAxLTEyIDE0OjM0OjI1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIG1wZWd2aWRlb3BhcnNlcjogZml4IG1lbW9yeSBsZWFrCgoyMDEyLTAxLTEyIDEwOjI2OjM5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogYWxzbyBpbmRpY2F0ZSBtb25vIGF1ZGlvIGluIHNpbmsgY2FwcwoKMjAxMi0wMS0xMiAxMDoyNTo0OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGFsc28gaW5kaWNhdGUgbW9ubyBhdWRpbyBpbiBzaW5rIGNhcHMKCjIwMTItMDEtMTEgMTg6MjQ6NDEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJICBzY2hyb2RlYzogZml4IHRhZyBsZWFrCgoyMDEyLTAxLTExIDE4OjEyOjIyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSAgc2Nocm9kZWM6IHRha2Ugb3V0IHVudXNlZCBsZWFraW5nIGJ1ZmZlcgoKMjAxMi0wMS0xMSAxODozNzoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogcG9ydCB0byAwLjExCgoyMDEyLTAxLTExIDE2OjM0OjM1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzcGFyc2U6IGZpeCBjYXBzIGxlYWsKCjIwMTItMDEtMTEgMTY6MzI6MzEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXNwYXJzZTogZml4IHNsaXN0IGxlYWsKCjIwMTItMDEtMTEgMTM6MzI6MzYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb3B1cy5jOgoJICB0ZXN0czogZml4IGJ1ZmZlciBsZWFrcyBpbiBvcHVzIHRlc3RzCgoyMDEyLTAxLTExIDEyOjU4OjA4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogZml4IHNvbWUgaW5wdXQgYW5kIG91dHB1dCBidWZmZXIgbWFwIGFuZCByZWYgaGFuZGxpbmcKCjIwMTItMDEtMTEgMTI6NTc6MTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBiYXNlIGNsYXNzIGF1ZGlvIGluZm8gaXMgbm90IHlldCBzZXQgZHVyaW5nIHNldF9mb3JtYXQKCSAgLi4uIHNpbmNlIGl0IHdpbGwgb25seSBiZSBjb21taXR0ZWQgYWZ0ZXIgaXQgaGFzIGJlZW4gYWNjZXB0ZWQgYnkgc3ViY2xhc3MuCgkgIEluIHBhcnRpY3VsYXIsIHN1YmNsYXNzIHNob3VsZCBub3QgcmVseSBvbiBpdCBkdXJpbmcgaXRzIHNldHVwLgoKMjAxMi0wMS0xMSAxMjo1NTozMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IHNwcmlua2xlIHNvbWUgbW9yZSBsYXlvdXQgaW5mbyBpbiBjYXBzCgoyMDEyLTAxLTExIDEyOjM5OjAxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSAgdm9hbXJ3YmVuYzogZml4IGF1ZGlvIGZvcm1hdCBpbiB0ZW1wbGF0ZSBjYXBzCgoyMDEyLTAxLTExIDEyOjI0OjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5jOgoJICB2b2FtcndiZW5jOiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMTEgMTA6NTA6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBVbnNldCB0aGUgVU5QT1NJVElPTkVEIGZsYWcgaWYgd2UgaGF2ZSB2YWxpZCBjaGFubmVsIHBvc2l0aW9ucwoKMjAxMi0wMS0xMCAxNzoyNzo1NCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiBmaXggY2FwcyBsZWFrCgoyMDEyLTAxLTEwIDE2OjU5OjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSAgZHRzZGVjOiBQb3J0IHRvIDAuMTEKCjIwMTItMDEtMTAgMTU6NTA6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmMKCSAgZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYwoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmMKCjIwMTItMDEtMTAgMTM6Mzg6NTAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBmaXggc2xpc3QgbGVhawoKMjAxMi0wMS0xMCAxMzozODo0MiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGZpeCBjYXBzIGxlYWsKCjIwMTItMDEtMTAgMTM6MjU6MDUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBmaXggY2FwcyBsZWFrcwoKMjAxMi0wMS0xMCAxMzoyNDoyMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IGZpeCByZWYgbGVhawoKMjAxMi0wMS0xMCAxMTo0MTozNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBEb24ndCBwcm92aWRlIGJvZ3VzIHZhbHVlcyBpbiBub24tVElNRSBwdXNoLW1vZGUKCSAgT25seSB0YWtlIHRoZSB1cHN0cmVhbSBzZWdtZW50IHZhbHVlcyBpbiBHU1RfRk9STUFUX1RJTUUKCjIwMTItMDEtMTAgMTE6Mzc6MTMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogSGFuZGxlIHJvbGxvdmVyIGluIFBUUyBhbmQgRFRTCgkgIEFsc28gaGFuZHMgYmFjay1yb2xsb3ZlciB3aGljaCBjYW4gaGFwcGVuIHdpdGggUFRTCgoyMDEyLTAxLTA0IDExOjA1OjQ4ICswMTAwICBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogdXNlIGlzX2FsdF9kYXRhIG9wdGlvbiB0byBwcmV2ZW50IHRpbWVzdGFtcCBjb2xsaXNpb25zCgkgIGFsdHJlZi9pbnZpc2libGUgZnJhbWVzIHVzdWFsbHkgc3RvcmVkIGluIGNvbnRhaW5lciB3aXRoIHNhbWUgdGltZXN0YW1wIGFzCgkgIGRlcGVuZGV0IGZyYW1lLiBUaGlzIG1ha2UgYmFzZXZpZGVvZGVjb2RlciB0byB1cGRhdGUgdGltZXN0YW1wIGZvciBkZXBlbmRldAoJICBmcmFtZSBhbmQgY291c2UgVFMgY29saXNpb24gb24gbmV4dCBmcmFtZToKCSAgXi0gaGVyZSBpcyBhbHRyZWYKCSAgdGltZSAgICAgOiAxIDIgMyA0IDUgNiA3IDggOQoJICB3ZWJtIHRzICA6IDEgICAzIDUgNSAgIDcgICA5CgkgIHZwOGRlYyB0czogMSAgIDMgICA3ICAgNyAgIDkKCSAgRml4IGJ1ZzogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NTI0NQoJICBTaWduZWQtb2ZmLWJ5OiBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTItMDEtMDQgMTE6MDk6MjMgKzAxMDAgIE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGFkZCBvcHRpb24gdG8gaGFuZGUgYWx0IGZyYW1lIGRhdGEKCSAgYWx0cmVmL2ludmlzaWJsZSAnZnJhbWUnIGRvIG5vdCBkZXNjcmliZSBzb21lIGZyYW1lIGRpcmVjdGx5LCBzbyBpdCBjYW4ndCBiZQoJICBkaXNwbGF5ZWQgYW5kIHRpbWVzdGFtcHMgc2hvdWxkIG5vdCBiZSB1cGRhdGVkLgoJICBGaXggYnVnOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1MjQ1CgkgIFNpZ25lZC1vZmYtYnk6IE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMi0wMS0wOSAxNDo1NjoyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogbXBlZzQ6IGZpeCBwYXJzaW5nIHdoZW4gcmVjdXJzaXZlbHkgc2tpcHBpbmcgdXNlciBkYXRhCgoyMDEyLTAxLTA5IDE0OjU5OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogTWFrZSBzdXJlIHRoYXQgdGhlIHNyY3BhZCBoYXMgY2FwcyBiZWZvcmUgZmluaXNoaW5nIGFjdHVhbCBhdWRpbyBkYXRhCgoyMDEyLTAxLTA5IDE0OjM5OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogRG9uJ3QgdXBkYXRlIGNhcHMgb24gZXZlcnkgYnVmZmVyCgoyMDEyLTAxLTA5IDE0OjI4OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogRG9uJ3QgY2FsbCBnc3RfYnVmZmVyX21lbWNtcCgpIHdpdGggYSBOVUxMIGJ1ZmZlcgoKMjAxMi0wMS0wOSAxMTowMzoyNCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHVzZSB0aGUgZnJhbWVyYXRlIHRoYXQgd2FzIGNvcGllZCBhIGZldyBsaW5lcyBhYm92ZQoKMjAxMi0wMS0wOSAxMDo1ODo1NiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBhZGQgYSBjb3VwbGUgY29uc3RzIG9uIHN0cmluZyBsaXRlcmFsIGFycmF5cwoKMjAxMi0wMS0wOSAwODo0MDo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEdzdEJhc2VDYW1lcmFTcmMgaXMgdGhlIGJhc2UgY2xhc3MsIG5vdCBHc3RCaW4KCjIwMTItMDEtMDkgMDg6MzQ6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHZvYW1yd2JlbmMsIGx2MiBhbmQgdGVsZXh0ZGVjIGFyZSBub3QgcG9ydGVkIHlldAoKMjAxMS0xMi0xOSAxMToyNDozMSAtMDUwMCAgRGF2aWQgQmlvbWVjaDM2MCA8ZGRlczMxMEB5YWhvby5jb20+CgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5oOgoJICBjb2xvcmVmZmVjdHM6IGFkZGVkIHN1cHBvcnQgZm9yIGEgdmlzdWFsIG1hZ25pZmllciBjb2xvciBmaWx0ZXIgdG8gYmUgdXNlZCBpbiBnbm9tZS12aWRlby1lZmZlY3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjY1NDIKCjIwMTItMDEtMDYgMTA6NTI6MzYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggdGVzdCBhbmQgc2V0IG5vdCB1c2luZyB0aGUgc2FtZSBpbnB1dAoJICBUaGlzIGZpeGVzIEguMjY0IG91dHB1dCBub3QgaGF2aW5nIGEgc2V0IGZyYW1lcmF0ZSwgYW5kCgkgIGNvbmZ1c2luZyBzb21lIG9mIHRoZSBlbGVtZW50cyBkb3duc3RyZWFtIChzdWNoIGFzIGludGVybGFjZSkuCgoyMDEyLTAxLTA2IDEwOjM5OjA3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogYXZvaWQgZGl2aWRpbmcgYnkgemVybyBvbiB1bmtib3duIGZyYW1lcmF0ZQoJICBJZiB0aGUgZnJhbWVyYXRlIGlzIHVua25vd24sIHdlIGNhbm5vdCBnZW5lcmF0ZSBtZWFuaW5nZnVsCgkgIGJ1ZmZlciB0aW1lc3RhbXBzL2R1cmF0aW9ucywgc28gc2V0IHRoZW0gdG8gX05PTkUgaW5zdGVhZCBvZgoJICBjYWxjdWxhdGluZyBzb21ldGhpbmcgd3JvbmcgYW5kIGRpdmlkaW5nIGJ5IDAuCgoyMDEyLTAxLTAyIDA4OjI4OjEzICswMTAwICBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvR3N0VlA4RW5jLnByczoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSAgdnA4OiBhZGQgaW5pdGlhbCBwcmVzZXQgZmlsZQoJICBUaGlzIGlzIGluaXRpYWwgcHJlc2V0IGZpbGUsIGN1cnJlbnRseSB3aXRoIG9ubHkgb25lIHByb2ZpbGUKCSAgZm9yIHJlYWx0aW1lIGVuY29kaW5nLgoJICBTaWduZWQtb2ZmLWJ5OiBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTItMDEtMDUgMTQ6MzA6MjEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogbGluayBhZ2FpbnN0IHZpZGVvIGxpYnJhcnkKCjIwMTEtMTItMDggMTI6MTU6MzkgKzA4MDAgIFpoYW8gSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogcmVtb3ZlIGgyNjMgZ29iIHBhcnNpbmcsIHNpbmNlIHRoZXJlIGlzIG5vIGdvYiBpbW1lZGlhdGUgYWZ0ZXIgc3ZoCgoyMDExLTEyLTA4IDEyOjEzOjM4ICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGFkZCBtaXNzaW5nIHplcm9fYml0cyBpbiBoMjYzIHBhcnNpbmcKCjIwMTEtMTItMDggMTI6MTI6MjEgKzA4MDAgIFpoYW8gSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaW5jbHVkZXMgc3RhcnRfbWFya2VyIGluIGgyNjMgaGVhZGVyIGZvciBwYXJzaW5nCgoyMDExLTEyLTA4IDEyOjA3OjQyICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGZpeCBvZmZzZXQgaXNzdWUgaW4gaDI2MyBwYXJzZQoKMjAxMS0xMi0wOCAxMToyNzo1NiArMDgwMCAgWmhhbyBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBmaXggbWFzayBwYXR0ZXJuIGZvciBoMjYzIHN0YXJ0IG1hcmtlcgoKMjAxMi0wMS0wNSAxMTowMTowMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkgIHRlc3RzOiB0ZXN0IGZvciBHVEsgMi4yNCBmb3IgbmV3IHN5bWJvbHMgdXNlZCBpbiBjYW1lcmFiaW4yIHRlc3RzCgkgIFRoZSB3aG9sZSB0cmVlIGlzIGxpa2VseSB0byBzd2l0Y2ggdG8gR1RLIDMuMCBhdCBzb21lIHBvaW50LCBidXQKCSAgd2UgbWlnaHQgYXMgd2VsbCBjb250aW51ZSBidWlsZGluZyB3aXRoIHNsaWdodGx5IGxlc3MgbmV3IHZlcnNpb25zCgkgIGlmIGl0J3Mgbm90IGhhcmQgdG8gZG8uCgoyMDEyLTAxLTA1IDEwOjM4OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkgIHNpZ25hbHByb2Nlc3NvcjogVGhlIG11bHRpY2hhbm5lbC5oIGhlYWRlciBpcyBnb25lIG5vdwoKMjAxMi0wMS0wNSAxMDoyMzowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSAgZmFhZDogVXBkYXRlIGZvciB0aGUgbmV3IHJhdyBhdWRpbyBjYXBzCgoyMDEyLTAxLTA1IDA5OjUyOjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJICBmYWFjOiBQb3J0IHRvIHRoZSBuZXcgcmF3IGF1ZGlvIGNhcHMKCjIwMTItMDEtMDUgMDk6MzQ6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJICBmbGl0ZXRlc3RzcmM6IFVwZGF0ZSB0byB0aGUgbmV3IHJhdyBhdWRpbyBjYXBzCgoyMDEyLTAxLTA0IDE2OjEzOjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IFVwZGF0ZSBmb3IgdGhlIG5ldyByYXcgYXVkaW8gY2FwcwoKMjAxMi0wMS0wNCAxOTo1MjozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDA1NDZlNTggdG8gMDgwNzE4NwoKMjAxMi0wMS0wNCAxODo0Mjo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgdGVzdHM6IHJlbW92ZSB0ZW1wb3JhcnkgZmlsZXMgd2hlbiBkb25lIGluIGNhbWVyYWJpbiwgY2FtZXJhYmluMiBhbmQgamlmbXV4IHRlc3RzCgoyMDEyLTAxLTA0IDExOjI4OjM2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzZm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3NyZW5kZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFkLmM6CgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkgIHRlc3RzOiBwb3J0IHNvbWUgbW9yZSB1bml0IHRlc3RzCgoyMDEyLTAxLTA0IDEwOjU2OjUxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogZml4IGFuZCB0d2VhayBmcmFtZSB0aW1lc3RhbXBpbmcKCSAgLi4uIHRvIHJ1biB3aXRoIHByb3Blcmx5IGluaXQnZWQgdmFyaWFibGVzLCBhbmQgdG8gb25seSBwZXJmb3JtIGludGVycG9sYXRpb24KCSAgaW4gc2FmZSBjYXNlcy4KCjIwMTItMDEtMDQgMTA6MDI6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIEdTVF9GTE9XX1VORVhQRUNURUQgLT4gR1NUX0ZMT1dfRU9TCgoyMDEyLTAxLTAzIDIyOjA5OjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcHJlZmVyIG5lZ290aWF0aW5nIHBhc3MtdGhyb3VnaAoKMjAxMi0wMS0wMyAyMTo1OTozMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IG1hcmsgYnl0ZS1zdHJlYW0gQVUgZnJhbWUgd2l0aCBpbnNlcnRlZCBjb2RlYyBOQUxzIGFzIGtleWZyYW1lCgoyMDEyLTAxLTAzIDIwOjIzOjE2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcHJvcGVybHkgZGV0ZXJtaW5lIHNraXAgYW1vdW50IHdoZW4gbm8gTkFMIHN0YXJ0IGZvdW5kIHlldAoKMjAxMi0wMS0wMyAyMDoyMTo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHNvbWUgbW9yZSBwcm9wZXIgcGFyc2Ugc3RhdGUgcmVzZXQKCjIwMTItMDEtMDMgMTU6MjY6NTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgR1NUX0ZMT1dfVU5FWFBFQ1RFRCAtPiBHU1RfRkxPV19FT1MKCjIwMTItMDEtMDIgMTU6NTU6MjEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBlbmNvZGluZyBwcm9maWxlcyBhcmUgb2JqZWN0cyBpbiAwLjExCgoyMDEyLTAxLTAyIDE1OjUyOjIzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1wbGF5ZXIuYzoKCSAgZXhhbXBsZXM6IEZpeCBidWlsZAoKMjAxMS0xMi0zMSAwOTo1NTo0NiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2ljbGVzL3BpdGNoLXRlc3QuYzoKCSAgY29udHJvbGxlcjogcG9ydCB0byBBUEkgY2hhbmdlcwoKMjAxMS0xMi0zMCAxOTowODowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdXBkYXRlIGZvciBnZHAgZGF0YXByb3RvY29sIGxpYnJhcnkgcmVtb3ZhbAoKMjAxMS0xMi0zMCAxODoxODoxMCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBTd2FsbG93IGluY29taW5nIGNhcHMgZXZlbnQKCSAgT3RoZXJ3aXNlIHdlIGVuZCB1cCBhc2tpbmcgc3ViY2xhc3NlcyB0byBwdXNoIHRoZSBldmVudCBmb3J3YXJkLAoJICB3aGljaCB3aWxsIGZhaWwgc2luY2Ugbm8gcGFkcyBhcmUgY3JlYXRlZCB5ZXQuCgoyMDExLTEyLTMwIDE4OjE3OjI2ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFByb3Blcmx5IGNhcnJ5IG92ZXIgdGhlIHRpbWVzdGFtcAoKMjAxMS0xMS0wOCAyMDoxOTo0MSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICB0c2RlbXV4OiBVc2UgaW5jb21pbmcgdGltZXN0YW1wcyBpbiBsaXZlIG1vZGUKCjIwMTEtMTEtMDggMjA6MTI6NTAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUmVwb3J0IGxhdGVuY3kgKDcwMG1zKQoKMjAxMS0xMS0wOCAwOTo0NDoxOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJICBtcGVndHNiYXNlOiBRdWVyeSB3aGV0aGVyIHVwc3RyZWFtIGlzIGxpdmUgb3Igbm90CgoyMDExLTEyLTA2IDE3OjM3OjQ1ICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQWN0aXZhdGUgcGFkIGJlZm9yZSBzZXR0aW5ncyBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjU2NzcKCjIwMTEtMTItMzAgMTE6NDk6MjcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbQoKMjAxMS0xMi0zMCAxMTo0MToxNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEtcHJlbWVyZ2UKCSAgQ29uZmxpY3RzOgoJICBkb2NzL2xpYnMvTWFrZWZpbGUuYW0KCSAgZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmMKCSAgZXh0L29wdXMvZ3N0b3B1c2RlYy5jCgkgIGV4dC94dmlkL2dzdHh2aWRlbmMuYwoJICBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9NYWtlZmlsZS5hbQoJICBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmMKCSAgZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmMKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYwoJICBnc3QvYXNmbXV4L2dzdGFzZm11eC5jCgkgIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jCgkgIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYwoJICBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmMKCSAgZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jCgkgIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmMKCSAgZ3N0L21wZWd0c211eC9tcGVndHNtdXguYwoJICBnc3QvbXhmL214Zm11eC5jCgkgIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYwoJICBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jCgkgIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmMKCjIwMTEtMTItMzAgMDA6MDI6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJICBiYXNldmlkZW9jb2RlYzogUmVzZXQgc2hvdWxkIHJlc2V0IGN1cnJlbnQgY2FwcwoJICBOZXcgY2FwcyB3aWxsIG5lZWQgdG8gYmUgbmVnb3RpYXRlZCB3aGVuIHJlc2V0IGhhcHBlbnMKCSAgKFBBVVNFRCB0byBSRUFEWSkuIFdpdGhvdXQgcmVzZXRpbmcgdGhlIGludGVybmFsCgkgIHN0b3JlZCBmb3JtYXQsIGJhc2V2aWRlb2VuY29kZXIvZGVjb2RlciB3b3VsZG4ndCBjYWxsIHRoZQoJICBjb25maWd1cmF0aW9uIGZ1bmN0aW9uIHdoZW4gdGhlIHNhbWUgY2FwcyB3YXMgbmVnb3RpYXRlZAoJICBhZ2FpbiBhcyB0aGV5IHdvdWxkIGJlbGlldmUgdGhpcyB3YXMgdGhlIHNhbWUgY2FwcyBhcyBiZWZvcmUuCgkgIFRoZSBpc3N1ZSBpcyB0aGF0IF9zdG9wIGhhcyBiZWVuIGNhbGxlZCB3aGVuIGdvaW5nIHRvIFJFQURZIGFuZAoJICB0aGUgZWxlbWVudHMgd291bGQgaGF2ZSByZXNldCB0aGVpciBpbnRlcm5hbCBjb2RlYyBsaWJzL3N0YXRlIGFzCgkgIHdlbGwuIEEgbmV3IGNvbmZpZ3VyYXRpb24gc2hvdWxkIGJlIGRvbmUuCgoyMDExLTEyLTMwIDAwOjAyOjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IGNsYXJpZnkgc29tZSBtZXNzYWdlIGxvZ3MKCSAgQmUgZXhwbGljaXQgb24gd2hpY2ggZW5jb2RlYmluIHdlJ3JlIHN3aXRjaGluZyBwcm9maWxlcyBvbiB0aGUKCSAgbG9nIG1lc3NhZ2VzCgoyMDExLTEyLTI5IDEzOjMwOjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW4yOiBhZGQgc29tZSBlcnJvciBoYW5kbGluZyBmb3IgZm9ybWF0IGNoYW5naW5nCgkgIENoZWNrIHRoYXQgdGhlIGZvcm1hdCBjb3VsZCBiZSBpbml0aWFsaXplZCBhbmQgc2hvd3MgYSBtb2RhbCBkaWFsb2cKCSAgaW4gY2FzZSBpdCBjb3VsZG4ndC4KCjIwMTEtMTItMjkgMTI6NDc6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5oOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLnVpOgoJICBleGFtcGxlczogY2FtZXJhYmluMjogYWRkIGZvcm1hdCBzZWxlY3Rpb24gZm9yIGNhbWVyYWJpbjIgZXhhbXBsZQoJICBBZGRzIGEgY29tYm9ib3ggZm9yIHNlbGVjdGluZyB0aGUgdmlkZW8gcHJvZmlsZSBmb3IgcmVjb3JkaW5ncy4KCSAgVXNlZnVsIGZvciB0ZXN0aW5nIG11bHRpcGxlIGZvcm1hdHMgYS92IHN5bmMgd2hlbiByZWNvcmRpbmcuCgoyMDExLTEyLTI4IDE2OjU5OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IHJlbW92ZSBjb21tZW50IGZvciBhbHJlYWR5IGZpeGVkIGlzc3VlcyBvbiBtYWtlZmlsZQoJICBTb21lIGlzc3VlcyBvbiBjYW1lcmFiaW4yIGFuZCBqaWZtdXggdGVzdHMgd2VyZSBmaXhlZCBzb21lCgkgIHRpbWUgYWdvLCByZW1vdmUgdGhlIGNvbW1lbnRzIGFib3V0IHRoZW0KCjIwMTEtMTItMjggMTY6NTc6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IEZpeCBtZXNzYWdlIGxlYWsgaW4gdGVzdHMKCjIwMTEtMTItMjcgMTE6NTk6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogZml4IGd2YWx1ZSBsZWFrCgoyMDExLTEyLTI3IDEwOjIzOjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBmaXggbWFpbmxvb3AgbGVha3MKCjIwMTEtMTItMjcgMTA6MjA6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogc2VjdXJlIGV2ZW50IHJlZiB3aGVuIHNlbmRpbmcgZXZlbnQgdG8gcGFyZW50IGNsYXNzCgkgIGNhbWVyYWJpbjIgbmVlZHMgdG8gaG9sZCBhbiBleHRyYSByZWYgb24gc2VuZF9ldmVudCBiZWZvcmUgc2VuZGluZwoJICBpdCB0byB0aGUgcGFyZW50IGNsYXNzIGFzIGl0IHdpbGwgbmVlZCB0byB1c2UgaXQgYWZ0ZXIgdGhlIHBhcmVudAoJICBoYW5kbGVzIGl0LgoKMjAxMS0xMi0yNCAxNDozMjozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogcG9ydGluZyB0byAwLjExCgoyMDExLTEyLTIzIDE2OjMzOjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluMjogcG9ydCB0byAwLjExCgoyMDExLTEyLTIzIDA5OjMwOjMxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSAgZmFhYzogc3RhbmRhcmRpemUgc29tZSBmaWVsZCBkYXRhIHR5cGVzCgkgIEZpeGVzICM2NjY3NTAuCgoyMDExLTEyLTIyIDE1OjE5OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgYmFzZWNhbWVyYWJpbnNyYzogcmVtb3ZlIHJlZHVuZGFudCBmdW5jdGlvbnMKCSAgZ3N0X2Jpbl9nZXRfYnlfaW50ZXJmYWNlIHNob3VsZCBiZSBlbm91Z2ggZm9yIGFwcGxpY2F0aW9ucy4KCSAgSGF2ZW4ndCBzZWVuIGFueW9uZSB1c2luZyB0aG9zZSBvdGhlciB0aGFuIHdyYXBwZXJjYW1lcmFiaW5zcmMuCgoyMDExLTEyLTIyIDE1OjAxOjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSAgY2FtZXJhYmluMjogcmVtb3ZlIHVudXNlZCBoZWxwZXIgZnVuY3Rpb24KCSAgVGhpcyBkcm9wX2Vvc19wcm9iZSBmdW5jdGlvbiBpcyBub3QgdXNlZCBhbnltb3JlLCByZW1vdmUgaXQKCjIwMTEtMTItMjIgMTc6MTU6MjggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiByZWNyZWF0ZSBlbmNvZGVyIGFmdGVyIGZsdXNoaW5nCgkgIC4uLiBzaW5jZSBpdCBhcHBlYXJzIHRoZSBleGlzdGluZyBvbmUgY2FuJ3QgYmUgYm90aGVyZWQgYW55bW9yZSB0byBwcm9kdWNlCgkgIHNvbWUgb3V0cHV0LgoKMjAxMS0xMi0yMiAxNzoxNDowOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IHJlZmFjdG9yIGVuY29kZXIgbGlicmFyeSBzZXR1cAoKMjAxMS0xMi0yMiAxNzoxMDoxOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IG5vIG5lZWQgdG8gZHVwbGljYXRlIGJhc2VjbGFzcyBzYW5pdHkgY2hlY2tzCgoyMDExLTEyLTIyIDE3OjA5OjMwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSAgdm9hbXJ3YmVuYzogbm8gbmVlZCB0byBkdXBsaWNhdGUgYmFzZWNsYXNzIHNhbml0eSBjaGVja3MKCjIwMTEtMTItMjEgMjM6NTE6MzAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuaDoKCSAgdXBkYXRlIGZvciB2aWRlb2ZpbHRlciBjaGFuZ2VzCgoyMDExLTEyLTIxIDExOjMzOjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdG1vdGlvbmNlbGxzX2R5bmFtaWNfdGVzdC5jOgoJICB0ZXN0czogYXZvaWQgdXNlbGVzcyBpbmNsdWRlCgoyMDExLTEyLTE5IDE2OjQ5OjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogRml4IEEvViBzeW5jIGZvciBjYXB0dXJlcwoJICBBdWRpbyBzcmMgd2FzIHB1c2hpbmcgbmV3c2VnbWVudHMgc3RhcnRpbmcgZnJvbSAwLCBldmVuIHdoZW4gaXRzIGJ1ZmZlcnMKCSAgd2VyZSBub3Qgc3RhcnRpbmcgd2l0aCAwIGFzIHRoZWlyIHRpbWVzdGFtcHMuIEFkZCBhIGJ1ZmZlciBwcm9iZSB0aGF0CgkgIGNoZWNrcyB0aGUgdHMgb2YgdGhlIGZpcnN0IGJ1ZmZlciBhbmQgdXNlcyB0aGF0IHRvIHB1c2ggYSBuZXdzZWdtZW50LAoJICBqdXN0IGxpa2Ugd2UgZG8gZm9yIHZpZGVvIG9uIHdyYXBwZXJjYW1lcmFiaW5zcmMuCgoyMDExLTEyLTE5IDE1OjE3OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IGVuYWJsZSB0ZXN0cwoJICBUZXN0cyBhcmUgcGFzc2luZyBub3csIGVuYWJsZSB0aGVtCgoyMDExLTEyLTE5IDE1OjE2OjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IFB1c2ggbmV3c2VnbWVudHMgb24gdmlkZW8gY2FwdHVyZSBzdGFydAoJICBQdXNoaW5nIG5ld3NlZ21lbnRzIHRvIGluZm9ybSBtdXhlcnMgYWJvdXQgdGhlIHN0YXJ0IHRpbWUgb2YgdGhlCgkgIHZpZGVvIGJ1ZmZlciB0aW1lc3RhbXBzLgoKMjAxMS0xMi0yMCAxNDowNDo1MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBjbGVhciBzZWkgbWVzc2FnZSBwcmlvciB0byBwYXJzaW5nCgkgIEZpeGVzICM2NjY1ODQuCgoyMDExLTEyLTE5IDIzOjUxOjE5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvaWNsZXMvcGl0Y2gtdGVzdC5jOgoJICBjb250cm9sbGVyOiBwb3J0IHRvIG5ldyBpbnRlcnBvbGF0aW9uLW1vZGUgYXBpCgoyMDExLTEyLTE5IDIyOjU0OjQ3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvaWNsZXMvcGl0Y2gtdGVzdC5jOgoJICBjb250cm9sbGVyOiBwb3J0IHRvIG5ldyBjb250cm9sbGVyIGFwaQoKMjAxMS0xMi0xOSAxODo0NDozMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIHk0bTogdXBkYXRlIGZvciBuZXcgaW50ZXJsYWNlIGNhcHMKCjIwMTEtMTItMTkgMTM6MTg6NTEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogb25seSB3YXJuIHdoZW4gd2Ugc2VlIGEgUElEIHdpdGggdW5rbm93biB0eXBlCgkgIFRoaXMgaXMgcXVpdGUgZnJlcXVlbnQsIGFuZCB3ZSB3aWxsIGp1c3QgaWdub3JlIHRoYXQgc3RyZWFtLAoJICBzbyBhbiBlcnJvciBpcyBub3Qgd2FycmFudGVkLgoKMjAxMS0xMi0xOSAxMjozMjoyNiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IGF2b2lkIHB1c2hpbmcgU1BTL1BQUyBhdCBzdGFydCBvbmx5IGlmIGJvdGggYXJlIGZvdW5kIGluIHN0cmVhbQoJICBBdm9pZCBpbmplY3RpbmcgU1BTL1BQUyBuYWxzIG9ubHkgaWYgYm90aCBhcmUgYWxyZWFkeSBwcmVzZW50IGluIHRoZSBzdHJlYW0uCgkgIEZpeGVzIHNvbWUgQVZDIGNsaXBzIHRoYXQgaGFwcGVuIHRvIGhhdmUgb25seSBQUFMgbmFscyBpbiBzdHJlYW0uCgoyMDExLTEyLTE4IDE4OjM3OjA4ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogaGFuZGxlIGZvcmNlIGtleSB1bml0IGV2ZW50cwoKMjAxMS0xMi0xOCAxNzo0MDo1NyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRvIHdhaXQgZm9yIGEga2V5ZnJhbWUgd2hlbiBoYW5kbGluZyBmb3JjZSBrZXkgdW5pdCBldmVudHMKCSAgQWx0aG91Z2ggc29tZSBkZWNvZGVycyBjYW4gc3RhcnQgZGVjb2Rpbmcgd2l0aCBqdXN0IFBQUyBhbmQgU1BTIGFuZCB3YWl0aW5nIGZvcgoJICBhIGtleWZyYW1lIGlzIGJhZCB3aGVuIHRoZSBrZXlmcmFtZSBpbnRlcnZhbCBpcyBsYXJnZSwgZ3N0LWZmbXBlZyBkb2VzIG5lZWQgYQoJICBrZXlmcmFtZSB0byBzdGFydCBkZWNvZGluZy4KCjIwMTEtMTItMTggMTc6MzI6MTEgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiB1bnNldCB0aGUgY3VycmVudCBQQ1Igc3RyZWFtIHdoZW4gc3RhcnRpbmcgYSBuZXcgdW5pdAoJICBVbnNldCB0aGUgY3VycmVudCBQQ1Igc3RyZWFtIHdoZW4gc3RhcnRpbmcgYSBuZXcgdW5pdCBzbyB0aGF0IGFmdGVyd2FyZHMgYSBuZXcKCSAgc3RyZWFtIGlzIHNlbGVjdGVkIGFzIFBDUiBhbmQgUEFUIGFuZCBQTVQgdGFibGVzIGFyZSByZWdlbmVyYXRlZC4KCjIwMTEtMTItMTggMTc6MzE6MTggKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBmaXgga2V5IHVuaXQgZXZlbnQgaGFuZGxpbmcgd2hlbiBtdXhpbmcgYm90aCBhdWRpbyBhbmQgdmlkZW8KCSAgVGFrZSBvbmx5IHZpZGVvIGJ1ZmZlcnMgaW50byBhY2NvdW50IHdoZW4gZGVjaWRpbmcgd2hlbiB0byBjdXQgc28gdGhhdCBuZXcgdW5pdHMKCSAgc3RhcnQgd2l0aCBhIHZpZGVvIGtleWZyYW1lLgoKMjAxMS0xMi0xNSAxODoxNDoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAga2F0ZXRpZ2VyOiBkb24ndCB1bnJlZiBOVUxMIGJ1ZmZlcgoKMjAxMS0xMi0xNSAxNjo0MjoyMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzOiBmaXggYmFkIG1lcmdlIChzdHJheSB1bm1hcCwgdW5kZWNsYXJlZCB2YXIpCgoyMDExLTEyLTE1IDExOjExOjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGppZm11eDogcmUtZW5hYmxlIGppZm11eCdzIHRlc3RzCgkgIEZpeCBmb3IgaXRzIHRlc3QgaXMgbm93IGF2YWlsYWJsZSBvbiAtYmFzZSBtb2R1bGUuCgkgIEVuYWJsaW5nIGFnYWluLgoKMjAxMS0xMi0xNSAxMzo0Nzo1NSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uaDoKCSAgdmlkZW9tZWFzdXJlOiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoKMjAxMS0xMi0xNSAxMzozOTo0MSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbXhmL214Zm11eC5oOgoJICBteGZtdXg6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgkgIE9ubHkgdGVzdGVkIHdpdGggYXVkaW8sIEkgY2FuJ3QgZ2V0IGl0IHRvIGFjY2VwdCB2aWRlbyAoYmVmb3JlCgkgIHRoZSBwb3J0KS4KCjIwMTEtMTItMTUgMTM6MjI6MjQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoJICBJICp0aGluayogdGhlIHN0cmVhbSBsb2NrIHVzZSBpcyBjb3JyZWN0LCBub3QgMTAwJSBzdXJlLgoKMjAxMS0xMi0xNSAxMzowODo0MiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5oOgoJICBtcGVncHNtdXg6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgoyMDExLTEyLTE1IDEzOjA0OjUxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5oOgoJICBmcmVpMHI6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgkgIFVudGVzdGVkLCBubyBzYW1wbGUgcGlwZWxpbmUgbWVudGlvbmVkLCBhbmQgSSd2ZSBubyBpZGVhIHdoYXQKCSAgdGhpcyBwbHVnaW4gZG9lcywgYnV0IHNpbmNlIGFsbCB0aGUgcHJldmlvdXMgcG9ydHMgd29yayBvdXQgb2YKCSAgdGhlIGJveCwgdGhpcyBpcyBkZWVtZWQgdG8gd29yayB1bnRpbCBldmlkZW5jZSBpdCBkb2Vzbid0LgoKMjAxMS0xMi0xNSAxMzowMjoxNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuaDoKCSAgY29tcGFyZTogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCjIwMTEtMTItMTUgMTI6NTk6NTcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmg6CgkgIGFzZm11eDogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCjIwMTEtMTItMTQgMTc6MzY6NTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgZHRzZGVjOiBhdm9pZCBjcmFzaGluZyB1cG9uIGRyYWluaW5nCgkgIC4uLiBhbmQgY2xlYW4gdXAgc29tZSB2YXJpYWJsZSBpbml0IGFuZCBkZWJ1ZyBzdGF0ZW1lbnQuCgoyMDExLTEyLTE0IDA4OjU0OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgdGVzdHM6IG1wZWd0c211eDogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxMS0xMi0xNCAwODozMjo1MCAtMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8dG9tbWkubXlvaGFuZW5AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBmaXggbGVhayBvbiBlcnJvciBoYW5kbGluZwoJICBDYW1lcmFiaW4yIHBhcnNlcyB3YXJuaW5nIG1lc3NhZ2VzIHdpdGggZ3N0X21lc3NhZ2VfcGFyc2Vfd2FybmluZyhtZXNzYWdlLAoJICAmZXJyLCAmZGVidWcpIGJ1dCBkb2Vzbid0IGZyZWUgZ2l2ZW4gR0Vycm9yIGFuZCBkZWJ1ZyBzdHJpbmdzLgoJICBEb2N1bWVudGF0aW9uIHNob3dzIHRoYXQgdGhlIG93bmVyc2hpcCBvZiB0aG9zZSBmaWVsZHMgaXMgdHJhbnNmZXJyZWQKCSAgdG8gY2FsbGVyICh0aGV5IGFyZSBtYXJrZWQgIlt0cmFuc2ZlciBmdWxsXSIgaW4gdGhlIEFQSSBkb2NzKS4KCjIwMTEtMTItMTIgMTU6NTI6MjAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogY2hlY2sgb2Zmc2V0IHdoZW4gcmV0cmlldmluZyB0YWJsZV9pZCBvbiBtYWxmb3JtZWQgcGFja2V0cwoJICBGaXggYnVnICM2NjU5ODgKCjIwMTEtMTItMTMgMTA6NDQ6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBSZXZlcnQgIm1wZWd0c3BhcnNlOiBjaGVjayBvZmZzZXQgd2hlbiByZXRyaWV2aW5nIHRhYmxlX2lkIG9uIG1hbGZvcm1lZCBwYWNrZXRzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGU2Mjk3OGQwNDVkNTdlZTlmZWQ3NTk4YzAyYjkwMTdlYjk3NGVhMzYuCgoyMDExLTEyLTEzIDEwOjE3OjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJICBiYXNldmlkZW9jb2RlYzogRG9uJ3QgdXNlIEdfVFlQRV9SRUdJU1RFUl9CT1hFRCgpIHlldAoJICBUaGlzIHdvdWxkIHJlcXVpcmUgR0xpYiAyLjI2LgoKMjAxMS0xMi0xMiAyMDowMToxNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAgdGlnZXI6IGFkdmVydGlzZSBhbGwgdGhlIG5ldyBZVVYgZm9ybWF0cyB3ZSBjYW4gbm93IHVzZQoKMjAxMS0xMi0xMiAxOTozNDozMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmg6CgkgIHRpZ2VyOiByZXBsYWNlIHRoZSBuZXcgWVVWIGJsaXR0aW5nIGNvZGUgd2l0aCB0aGUgbmV3ZXIgb3ZlcmxheSBjb2RlCgoyMDExLTEyLTEyIDE0OjU0OjAwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IGNoZWNrIG9mZnNldCB3aGVuIHJldHJpZXZpbmcgdGFibGVfaWQgb24gbWFsZm9ybWVkIHBhY2tldHMKCjIwMTEtMTItMTIgMTM6NTk6MzMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiBmaXggYnVmZmVyIGxlYWsKCjIwMTEtMTItMDUgMTg6NTc6MDEgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlbzogTWFrZSBmcmFtZXN0YXRlIGEgcmVmZXJlbmNlIGNvdW50ZWQgYm94ZWQgb2JqZWN0CgkgIC4uLmFuZCBhbHNvIGNsZWFyIGFsbCBleGlzdGluZyBmcmFtZXMgd2hlbiByZXNldHRpbmcgdGhlIGRlY29kZXIgb3IgZW5jb2Rlci4KCjIwMTEtMTItMDUgMTg6NTc6MDEgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlbzogTWFrZSBHc3RWaWRlb0ZyYW1lIGEgcmVmZXJlbmNlIGNvdW50ZWQgYm94ZWQgb2JqZWN0CgkgIC4uLmFuZCBhbHNvIGNsZWFyIGFsbCBleGlzdGluZyBmcmFtZXMgd2hlbiByZXNldHRpbmcgdGhlIGRlY29kZXIgb3IgZW5jb2Rlci4KCjIwMTEtMTItMTIgMTA6NDA6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJICB0ZWxldGV4dGRlYzogUHJvcGVybHkgaW50ZWdyYXRlIGludG8gdGhlIGJ1aWxkIHN5c3RlbQoKMjAxMS0xMi0xMiAxMDoyODoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHRzL01ha2VmaWxlLmFtOgoJICBkdHM6IEFkZCAkKEdTVF9CQVNFX0xJQlMpIGFuZCBDRkxBR1MgdG8gdGhlIGJ1aWxkCgkgIGR0c2RlYyBub3cgdXNlcyBHc3RBZGFwdGVyLCB3aGljaCBpcyBpbiBsaWJnc3RiYXNlLiBBbHNvIHJlb3JkZXIKCSAgQ0ZMQUdTIGFuZCBMSUJBREQuCgoyMDExLTEyLTExIDE2OjA3OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSAgZG9jczogZml4IG1ha2UgZGlzdGNoZWNrCgkgIFNldCBET0NfT1ZFUlJJREVTLCBzbyB0aGUgLW92ZXJyaWRlcy50eHQgZmlsZSB3aGljaCBpcyBhcHBhcmVudGx5CgkgIGNyZWF0ZWQgYW55d2F5LCBnZXRzIGNsZWFuZWQgdXAgcHJvcGVybHkuCgoyMDExLTEyLTExIDE2OjA1OjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSAgZG9jczogbWlub3IgTWFrZWZpbGUuYW0gY2xlYW4tdXAKCSAgR1NUX0JBRF9DRkxBR1MgYW5kIEdTVF9CQURfTElCUyBkb24ndCBleGlzdC4KCjIwMTEtMTItMTEgMTU6Mjk6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBkaXNhYmxlIGZhaWxpbmcgamlmbXV4LCBjYW1lcmFiaW4yLCBhbmQgY29sb3JzcGFjZSB0ZXN0cwoJICBqaWZtdXg6IGdlbmVyYWw6dGVzdF9qaWZtdXhfdGFnczowOiBBc3NlcnRpb24gJ2VudHJ5LT5jb21wb25lbnRzID09IDInIGZhaWxlZAoJICBjYW1lcmFiaW4yOiB0ZXN0X211bHRpcGxlX3ZpZGVvX3JlY29yZGluZ3M6MDogZ3N0X2NhcHNfZ2V0X3N0cnVjdHVyZTogYXNzZXJ0aW9uIGBHU1RfSVNfQ0FQUyAoY2FwcykKCSAgY29sb3JzcGFjZTogYmFkIG1lbW9yeSBhY2Nlc3NlcyBpbiBvcmMgY29kZSBmb3Igb2RkIHdpZHRoIGJ1ZmZlcnMgKHNlZSBidWcgIzY2MzI0OCkKCjIwMTEtMTItMTEgMTU6MDM6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogZml4IGdfdXNsZWVwKCkgaW4gY2FtZXJhYmluMiB0ZXN0CgkgIGdfdXNsZWVwKCkgdGFrZXMgYSBtaWNyb3NlY29uZCB2YWx1ZSwgR1NUX1NFQ09ORCBpcyBuYW5vc2Vjb25kcywgc28KCSAgd2Ugd2VyZSBzbGVlcGluZyBmb3IgbW9yZSB0aGFuIDMgbWludXRlcyBoZXJlIGluc3RlYWQgb2YgMjAwbXMuCgoyMDExLTEyLTExIDAwOjU5OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL0xJTkdVQVM6CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMS0wOS0yNSAyMzo1NzozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXguaDoKCSAgbXBlZ3BzbXV4OiBwdXQgc3RyZWFtIGhlYWRlcnMgaW50byBvdXRwdXQgY2FwcwoJICBCYXNpYyB2ZXJzaW9uIHdpdGggb25seSB0aGUgc3lzdGVtIGhlYWRlciBhbmQgdGhlIHByb2dyYW0KCSAgc3RyZWFtIG1hcC4gQW4gYWR2YW5jZWQgdmVyc2lvbiBjb3VsZCBpbmNsdWRlIGNvZGVjLXNwZWNpZmljCgkgIGJpdHMgbGlrZSBTUFMvUFBTIHRvby4gVGhpcyBpcyB1c2VmdWwgaW4gY29ubmVjdGlvbiB3aXRoCgkgIGUuZy4gbXVsdGlmaWxlc2luayB0byBtYWtlIHN1cmUgbmV3IGZpbGVzIGFsd2F5cyBzdGFydCB3aXRoCgkgIHRoZSBzdHJlYW0gaGVhZGVycy4KCjIwMTEtMDktMTYgMTk6MzI6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguaDoKCSAgbXBlZ3BzbXV4OiBhZGQgImFnZ3JlZ2F0ZS1nb3BzIiBwcm9wZXJ0eSB0byBhZ2dyZWdhdGUgR09QcyBpbnRvIGJ1ZmZlciBsaXN0cwoJICBVc2VmdWwgaW4gY29ubmVjdGlvbiB3aXRoIG11bHRpZmlsZXNpbmssIGZvciBleGFtcGxlLCB0byBtYWtlIHN1cmUKCSAgdGhlIG5ldyBmaWxlIGFsd2F5cyBzdGFydHMgd2l0aCBhIGtleWZyYW1lLgoKMjAxMS0xMi0xMCAyMDowODoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5oOgoJICBtcGVncHNtdXg6IHJlbWVtYmVyIHByaW1hcnkgdmlkZW8gc3RyZWFtCgoyMDExLTA4LTMxIDE5OjQwOjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWdwc211eC9wc211eHN0cmVhbS5oOgoJICBtcGVncHNtdXg6IHJlbWVtYmVyIHdoZXRoZXIgYW4gaW5jb21pbmcgYnVmZmVyIGlzIGEga2V5dW5pdCBvciBub3QKCjIwMTEtMTItMDkgMTc6MjU6NDEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkgIG9wdXNlbmM6IGFkZCB1cHN0cmVhbSBuZWdvdGlhdGlvbiBmb3IgbXVsdGlzdHJlYW0gYWJpbGl0eQoJICBUaGlzIHdpbGwgaGVscCBlbGVtZW50cyB0aGF0IGNhbm5vdCBkZWFsIHdpdGggbXVsdGlzdHJlYW0sCgkgIHN1Y2ggYXMgdGhlIFJUUCBwYXlsb2FkZXIuCgkgIFRoZSBjYXBzIG5vdyBkbyBub3QgaW5jbHVkZSBhICJzdHJlYW1zIiBmaWVsZCBhbnltb3JlLCBidXQKCSAgYSAibXVsdGlzdHJlYW0iIGJvb2xlYW4sIHNpbmNlIHdlIGhhdmUgbm8gcmVhbCB1c2UgZm9yIGtub3dpbmcKCSAgdGhlIGV4YWN0IGFtb3VudCBvZiBzdHJlYW1zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1MDc4CgoyMDExLTEyLTA3IDE1OjEzOjExIC0wMjAwICBEYW5pbG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgPGRhbmlsby5jZXNhckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvZ3N0b3B1cy5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzZGVwYXkuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c2RlcGF5Lmg6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5oOgoJICBBZGRpbmcgb3B1cyBSVFAgcGF5bG9hZGVyL2RlcGF5bG9hZGVyIGVsZW1lbnQKCSAgQWRkaW5nIE9QVVMgUlRQIG1vZHVsZSBiYXNlZCBvbiB0aGUgY3VycmVudCBkcmFmdDoKCSAgaHR0cDovL3Rvb2xzLmlldGYub3JnL2lkL2RyYWZ0LXNwaXR0a2EtcGF5bG9hZC1ydHAtb3B1cy0wMC50eHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NDgxNwoKMjAxMS0xMi0wOCAxOTo0Nzo1NSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXM6IGluY2x1ZGUgc3RyZWFtcyBjb3VudCBpbiBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUwNzgKCjIwMTEtMTItMDggMTg6NDU6MjcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2NvbW1vbi5jOgoJKiBleHQvb3B1cy9nc3RvcHVzY29tbW9uLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5oOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1czogcHJvcGVybHkgY3JlYXRlIGNoYW5uZWwgbWFwcGluZyB0YWJsZXMKCSAgVGhlcmUgYXJlIHR3byBvZiB0aGVtLCB1bmludHVpdGl2ZWx5IGVub3VnaDsgdGhlIG9uZSBwYXNzZWQKCSAgdG8gdGhlIGVuY29kZXIgc2hvdWxkIG5vdCBiZSB0aGUgb25lIHRoYXQgZ2V0cyB3cml0dGVuIHRvIHRoZQoJICBmaWxlLiBUaGUgZm9ybWVyIG1hcHMgdGhlIGlucHV0IHRvIGFuIG9yZGVyaW5nIHdoaWNoIHB1dHMKCSAgcGFpcmVkIGNoYW5uZWxzIGZpcnN0LCB3aGlsZSB0aGUgbGF0dGVyIG1vdmVzIHRoZSBjaGFubmVscwoJICB0byBWb3JiaXMgb3JkZXIuIFNvIGFkZCBjb2RlIHRvIGNhbGN1bGF0ZSBib3RoLCBhbmQgd2Ugbm93CgkgIGhhdmUgcHJvcGVybHkgcGFpcmVkIGNoYW5uZWxzIHdoZXJlIGFwcHJvcHJpYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1MDc4CgoyMDExLTEyLTA4IDIyOjQ5OjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkgIHZpZGVvcGFyc2VyczogZml4IExJQlMgb3JkZXIgaW4gTWFrZWZpbGUuYW0KCjIwMTEtMTItMDggMTI6NDI6NTcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogb25seSBvZmZzZXQgdGltZXN0YW1wcyB3aGVuIGxpdmUKCSAgVGhpcyBjb2RlIGlzIHRvIHN5bmMgdG8gYSBsaXZlIHNvdXJjZSB3aGVuIHRoZXJlIGlzIGEgZGVsYXkKCSAgYmV0d2VlbiBzdGFydCBhbmQgd2hlbiB3ZSByZWNlaXZlIHRoZSBmaXJzdCBidWZmZXIsIHNvIGl0IGRvZXMKCSAgbm90IG1ha2Ugc2Vuc2UgaW4gYSBub24gbGl2ZSBjYXNlLgoJICBUaGlzIGZpeGVzIHBsYXliYWNrIG9mIHN0cmVhbXMgd2hlcmUgdGhlIGlucHV0IHRpbWVzdGFtcHMgYXJlCgkgIGJhc2VkIG9mZiBzb21lIGFyYml0cmFyeSBvZmZzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3NTYKCjIwMTEtMTItMDggMTE6NTE6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogT25seSBtYWtlIHRoZSBoZWFkZXIgYnVmZmVyIG1ldGFkYXRhIHdyaXRhYmxlLCBub3QgdGhlIGJ1ZmZlcgoKMjAxMS0xMi0wOCAxMDoxOTo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBGaXggaGFuZGxpbmcgb2YgZm9yY2Uta2V5dW5pdCBldmVudHMKCjIwMTEtMTItMDcgMDA6MDY6MTEgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGhlYWRlciBjbGVhbnVwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUwNzgKCjIwMTEtMTItMDcgMDA6MDY6MTEgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IFRydW5jYXRlIGNhcHMgZmlyc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTA3OAoKMjAxMS0xMS0yOCAxOTo0NzozNCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGRlZmF1bHQgdG8gc3RlcmVvIDQ4MDAwIEh6IGlmIHBvc3NpYmxlIHdoZW4gbm8gaGVhZGVycyBzZWVuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUwNzgKCjIwMTEtMTItMDcgMTM6NDg6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJICByc25kZWM6IERvbid0IHVzZSB0aGUgaW5pdGlhbC1pZGVudGl0eSBwcm9wZXJ0eSBvbiBhdXRvY29udmVydAoJICBJdCB3YXMgcmVtb3ZlZCwgc2VlIGJ1ZyAjNTk5NDY5LCAjNjY1MjA1CgoyMDExLTEyLTA3IDEzOjQ2OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuaDoKCSAgYXV0b2NvbnZlcnQ6IFJlbW92ZSB0aGUgaW5pdGlhbC1pZGVudGl0eSBwcm9wZXJ0eSBmcm9tIGF1dG9jb252ZXJ0CgkgIEluaXRpYWxseSBjcmVhdGluZyBhbiBpZGVudGl0eSBlbGVtZW50IHRvIGZvcndhcmQgc2VyaWFsaXplZAoJICBldmVudHMgZG93bnN0cmVhbSBiZWZvcmUgYW55IGNhcHMgYXJlIGtub3duIGlzIGJyb2tlbiBiZWhhdmlvdXIuCgkgIFNlcmlhbGl6ZWQgZXZlbnRzIHNob3VsZCBvbmx5IGJlIGZvcndhcmRlZCBkb3duc3RyZWFtIGlmIHRoZQoJICBjYXBzIGFyZSBhbHJlYWR5IGtub3duLCBvdGhlcndpc2UgYXV0b3BsdWdnZXJzIGFuZCBvdGhlciBlbGVtZW50cwoJICB1c2luZyBwYWQtYmxvY2tzIHdpbGwgZmFpbC4KCSAgVGhpcyBiZWhhdmlvdXIgYWxzbyBkb2Vzbid0IHdvcmsgYW55bW9yZSBhZnRlciBiYXNldHJhbnNmb3JtCgkgIHdhcyBmaXhlZCB0byBxdWV1ZSBzZXJpYWxpemVkIGV2ZW50cyB1bnRpbCB0aGUgY2FwcyBhcmUga25vd24KCSAgYXMgYSByZXN1bHQgb2YgZml4aW5nIGJ1ZyAjNjU5NTcxLgoJICBTZWUgYnVnICM1OTk0NjksICM2NjUyMDUuCgoyMDExLTEyLTA2IDE2OjI3OjI1IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IERvIG5vdCBub3Qgc2tpcCBzdGFydGNvZGUgd2hlbiBuZWVkZWQKCSAgRml4OiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1NjMxCgoyMDExLTEyLTA2IDA4OjU1OjE5ICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGZpcnN0IHZpZGVvX3BhY2tldF9oZWFkZXIgZG9lc24ndCBzdGFydCB3aXRoIHJlc3luY19tYXJrZXIKCjIwMTEtMTItMDYgMDg6NTM6MDcgKzA4MDAgIFpoYW8gSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogcmV0dXJuIE5PX1BBQ0tFVCBpZiBuZWVkZWQKCjIwMTEtMTItMDYgMDg6MzE6MTQgKzA4MDAgIFpoYW8gSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogZml4IGFuIGlzc3VlIGluIGNoZWNrIHJlc3luYyBtYXJrZXIKCjIwMTEtMTItMDYgMDg6MjU6NTkgKzA4MDAgIFpoYW8gSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogZml4IGFuIGlzc3VlIGluIGZpbmRpbmcgdGhlIGxhc3QgdmlkZW8gcGFja2V0IGluIHZvcAoKMjAxMS0xMi0wNiAwODoyMToxOSArMDgwMCAgWmhhbyBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBpbmNsdWRlIHJlc3luYyBtYXJrZXIgaW4gdmlkZW8gcGFja2V0IHNpemUKCjIwMTEtMTItMDYgMDg6MTk6MDUgKzA4MDAgIFpoYW8gSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2Vyczogc2NhbiBuZXh0IHJlc3luYyBtYXJrZXIgYWZ0ZXIgY3VycmVudCBvbmUKCjIwMTEtMTItMDYgMDg6MTc6MzggKzA4MDAgIFpoYW8gSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogZml4IDwgMCBpc3N1ZSBvZiBndWludCBpbiBtcGVnNCBwYXJzZXIKCSAgZ3N0X2J5dGVfcmVhZGVyX21hc2tlZF9zY2FuX3VpbnQzMiByZXR1cm5zIGEgZ3VpbnQsIG5vdCBhIGdpbnQsIHdoaWNoCgkgIGV4cGxhaW5zIHRoZSBpc3N1ZSB3ZSBzb21ldGltZSBnZXQgdXNpbmcgPCAwIGluc3RlYWQgb2YgPT0gLTE7CgoyMDExLTEyLTA2IDA4OjE1OjQ2ICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGZpeCBwYXR0ZXJuL21hc2sgb2YgcmVzeW5jX21hcmtlciBwYXJzaW5nIG9mIG1wZWc0CgoyMDExLTEyLTA2IDEzOjA2OjA2ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogaGFuZGxlIGZvcmNlIGtleSB1bml0IGV2ZW50cwoJICBTZW5kIFNQUy9QUFMgb24gZm9yY2Uga2V5IHVuaXQgZXZlbnRzLiBVc2VmdWwgZm9yIGV4YW1wbGUgd2hlbiBzZXJ2aW5nIEhMUwoJICB3aXRob3V0IHRyYW5zY29kaW5nLgoKMjAxMS0xMi0wNiAxMjo1NToyNiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogZml4IGNvbXBpbGUgd2FybmluZ3MgaW4gZ3N0bXBlZzRwYXJzZXIuYwoKMjAxMS0xMi0wNSAxMTo1NjowMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9saWJzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBBZGQgbW9yZSBmaWxlcyB0byAuZ2l0aWdub3JlCgoyMDExLTEyLTA1IDExOjUwOjE3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogVXNlIGZhc3RlciBwYXJzaW5nIHZhcmlhbnQgd2hlbiBpbnB1dCBpcyBwYWNrZXRpemVkCgkgIFJlZHVjZXMgbGF0ZW5jeSBhbmQgY3B1IHVzYWdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjU1ODQKCjIwMTEtMTItMDUgMTE6NDc6NTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IFZhcmlhbnQgb2YgX2lkZW50aWZ5X25hbHUgd2l0aG91dCBjaGVja3MKCSAgVGhpcyBpcyB1c2VmdWwgZm9yIGNhc2VzIHdoZXJlIHRoZSBjYWxsZXIgKmtub3dzKiB0aGF0IHRoZSBwcm92aWRlZAoJICBpbnB1dCBjb250YWlucyBhIHdob2xlIE5BTFUgYW5kIGNhbiB0aGVyZWZvcmUgYXZvaWQ6CgkgICogdGhlIGV4cGVuc2l2ZSBjaGVja3MgZm9yIHRoZSBuZXh0IHN0YXJ0IGNvZGUgKHdoaWNoIHdvbid0IGJlIHByZXNlbnQpCgkgICogZGVsYXlpbmcgdGhlIGlucHV0IHBhcnNpbmcgKHNpbmNlIHdlIHdvdWxkIG5lZWQgdGhlIG5leHQgaW5jb21pbmcgTkFMVQoJICBpbiBvcmRlciBmb3IgdGhlIHBhcnNpbmcgY29kZSB0byBkZXRlY3QgdGhlIG5leHQgc3RhcnQgY29kZSkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTU4NAoKMjAxMS0xMi0wNSAxMzowOToxNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHJlZmxvdyBzbGljZSBuYWwgcHJvY2Vzc2luZwoKMjAxMS0xMi0wNSAxMjo1Nzo0NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IG9wdGltaXplIHNsaWNlIG5hbCBwcm9jZXNzaW5nCgkgIE9ubHkgbWluaW1hbCBzbGljZSBpbmZvIGlzIG5lZWRlZCBoZXJlIHRvIGRldGVybWluZSByZWFsIGZyYW1lIHN0YXJ0LAoJICBzbyBubyBuZWVkIHRvIHBhcnNlIGV4dGVuc2l2ZWx5LgoJICBGaXhlcyAjNjY1NDE4LgoKMjAxMS0xMi0wNSAxMjo1Mzo1OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXI6IHVuYnJlYWsgaDI2NCBzbGljZSBoZWFkZXIgcGFyc2luZwoJICAuLiBpbnRyb2R1Y2VkIGJ5IHJlZmFjdG9yaW5nIGluIGNvbW1pdCAxNzc0NTFjOTIxNmY0ZTM5NTllNzM1ODY3NWZiYjk3MzFkMmM4MWEyCgoyMDExLTEyLTAxIDE4OjI4OjQ5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9wdnIyZC9nc3RwdnIuYzoKCSogc3lzL3B2cjJkL2dzdHB2ci5oOgoJKiBzeXMvcHZyMmQvZ3N0cHZyYnVmZmVycG9vbC5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZyYnVmZmVycG9vbC5oOgoJKiBzeXMvcHZyMmQvZ3N0cHZydmlkZW9zaW5rLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJ2aWRlb3NpbmsuaDoKCSAgcHZyMmQ6IFBvcnQgdG8gMC4xMQoJICBIYW5kbGVzIEdzdFZpZGVvTWV0YSBhbmQgR3N0VmlkZW9Dcm9wTWV0YQoJICBQcm92aWRlcyBHc3RCdWZmZXJQb29sCgkgIE5ldyBHc3RQVlJNZXRhIHRvIGhhbmRsZSB0aGUgd3JhcHBlZCBQVlIgbWVtX3NyYwoKMjAxMS0xMi0wMiAxNzo1MzoyMyArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IEZpeCByZWZlcmVuY2UgY291bnRpbmcgb2YgY29kZWNfZGF0YQoKMjAxMS0xMi0wNSAwODo1Njo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IEltcGxlbWVudCBpdGVyYXRlX2ludGVybmFsX2xpbmtzIGZ1bmN0aW9uIG9uIHRoZSBzaW5rcGFkIGFuZCBzcmNwYWQKCjIwMTEtMTEtMjggMTk6Mzg6MzQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBndWFyZCBhZ2FpbnN0IGRlY29kaW5nIDAgc2FtcGxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1MDc4CgoyMDExLTEyLTAyIDExOjQ2OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZXF1aXJlIFhWSUQgQVBJID49IDQuMwoJICBUaGlzIGlzIHJlcXVpcmVkIGZvciBlbmNvZGluZyB0aGUgc2ltcGxlIHByb2ZpbGUKCSAgd2l0aCBsZXZlbHMgNGEsIDUgb3IgNi4KCSAgRml4ZXMgYnVnICM2NjUzNzguCgoyMDExLTEyLTAxIDE2OjU5OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJICBjYW1lcmFiaW46IHVzZSBHc3RTYW1wbGUgZm9yIHRoZSBwcmV2aWV3CgoyMDExLTEyLTAxIDEwOjU0OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgeHZpZGVuYzogRG9uJ3QgYWRkIHRoZSBwcm9maWxlL2xldmVsIHRvIHRoZSB2aWRlby94LXh2aWQgY2FwcwoKMjAxMS0xMi0wMSAwOTo1NDowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuaDoKCSAgeHZpZGVuYzogQWRkIHByb2ZpbGUvbGV2ZWwgdG8gdGhlIGNhcHMgYW5kIG5lZ290aWF0ZSB0aGVtIHdpdGggZG93bnN0cmVhbQoJICBTdGlsbCBrZWVwIHRoZSBwcm9maWxlIHByb3BlcnR5IHRvIHNlbGVjdCBwcm9maWxlL2xldmVsIGlmIHRoZXJlCgkgIGFyZSBubyBkb3duc3RyZWFtIGNvbnN0cmFpbnRzLgoJICBGaXhlcyBidWcgIzY1MjI2MS4KCjIwMTEtMTItMDEgMDk6Mzk6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICB4dmlkZW5jOiBBZGQgc3VwcG9ydCBmb3IgbGV2ZWxzIDRhLzUvNiBvZiB0aGUgc2ltcGxlIHByb2ZpbGUKCjIwMTEtMTItMDEgMDk6MDI6NDYgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBsZXQgdXBzdHJlYW0gUEFSIG92ZXJyaWRlIGluLXN0cmVhbSBQQVIKCjIwMTEtMTEtMjMgMTg6MjY6NDQgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IHJld29yayBQQVIgcGFyc2luZwoJICBBbmQgaW4gdGhlIHByb2Nlc3MgcmVmYWN0b3IgX3VwZGF0ZV9zcmNfY2FwcyBhIGJpdAoKMjAxMS0xMS0xNiAwMDowMzoxMiAtMDUwMCAgTHVjaWFuYSBGdWppaSBQb250ZWxsbyA8bHVjaWFuYWZ1amlpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogcmVzcGVjdCBwaXhlbC1hc3BlY3QtcmF0aW8KCSAgUGFyc2UgcGl4ZWwtYXNwZWN0LXJhdGlvIGluIHZ1aSBpbmZvcm1hdGlvbi4KCjIwMTEtMTEtMzAgMjI6MTI6MjcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuaDoKCSAgc3BhY2VzcGFjZTogd2hpdGVzcGFjZSBjbGVhbnVwcwoKMjAxMS0xMS0zMCAyMjoxMTo0MCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuaDoKCSAgd2F2ZXNjYXBlOiBhbHNvIGFkZCBjb2xvcm1vZGVzIGxpa2UgaW4gc3BhY2VzY29wZQoKMjAxMS0xMS0zMCAxNToxMzowNCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL1JFQURNRToKCSAgYXVkaW92aXN1YWxpemVyOiB1cGRhdGUgUkVBRE1FCgoyMDExLTExLTMwIDE0OjIwOjM4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0ZHJhd2hlbHBlcnMuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmg6CgkgIHNwYWNlc2NvcGU6IGFkZCBjb2xvci1tb2RlcwoJICBJbiBjb2xvcm1vZGUgd2Ugc3BsaXQgdGhlIHNpZ25hbCBpbiBsb3csbWlkLGhpZ2ggZnJlcXVlbmN5IHBhcnRzIGFuZCBkcmF3IHRoZW0KCSAgc2VwYXJhdGVseSBpbnRvIHJlZCwgZ3JlZSwgYmx1ZSBjb2xvciBjaGFubmVscy4KCjIwMTEtMDgtMzAgMTQ6Mzc6NDIgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmg6CgkgIHJlcGxhY2UgcHJvcHNldF9tdXRleCB3aXRoIEdTVF9PQkpFQ1RfTE9DSwoKMjAxMS0xMS0yNSAyMjozMjoxMSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGRyYXdoZWxwZXJzLmg6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IHN0cmVhbWxpbmUgdGhlIGxpbmVfYWEgY29kZQoJICBIYXZlIGEgcmV1c2FibGUgZG90X2FhIGNvZGUgYW5kIHJldXNlIGluIHRoZSBsaW5lIGRyYXdpbmcuCgoyMDExLTExLTMwIDEwOjM1OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkgIG1wZWd0c211eDogZml4IGJ1aWxkIGluIHVuaW5zdGFsbGVkIHNldHVwCgkgIEFkZCAtYmFzZSBsaWJzIGluY2x1ZGVzIHRvIENGTEFHUywgZml4IG9yZGVyIG9mIExJQlMuCgoyMDExLTA4LTIxIDExOjAxOjM3ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBhZGQgc3VwcG9ydCBmb3IgZm9yY2Uga2V5IHVuaXQgZXZlbnRzCgkgIEhhbmRsZSBmb3JjZSBrZXkgdW5pdCBldmVudHMgb3V0cHV0dGluZyBQQVQgYW5kIFBNVCB3aGVuIGFsbF9oZWFkZXJzPVRSVUUKCjIwMTEtMTEtMjkgMjM6NDE6MjIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9wZW5jdjogYWxsb3cgdG8gYnVpbGQgYWdhaW5zdCAyLjMuMQoKMjAxMS0xMS0yOSAxODoxODozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGFkZCBvbGQgbXBlZzR2aWRlb3BhcnNlIGRpcmVjdG9yeSB0byBDUlVGVF9ESVJTCgoyMDExLTExLTI5IDE5OjExOjIyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGZpeCBmb3IgbW92ZWQgaW50ZXJmYWNlcwoKMjAxMS0xMS0yMiAwOTo0Nzo1OCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IHJlY29yZCByZWZfcGljX2xpc3RfbW9kaWZpY2F0aW9uKCkuCgoyMDExLTExLTIyIDA5OjQ3OjU3ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiByZW5hbWUgcmVmX3BpY19saXN0X3Jlb3JkZXJpbmcoKSB0byByZWZfcGljX2xpc3RfbW9kaWZpY2F0aW9uKCkuCgkgIFVwZ3JhZGUgdG8gY3VycmVudCBBVkMgc3BlY2lmaWNhdGlvbi4KCjIwMTEtMTEtMjkgMTI6MjA6NTEgKzAxMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiByZWNhbGN1bGF0ZSBhZGp1c3QgaWYgZGlmZmVyZW5jZSBpcyBuZWdhdGl2ZQoJICBPbmUgb2YgbXkgZHZkcyBqdW1wIG9uIHNvbWUgcG9zaXRpb24gYW5kIG1pc3MgYWJvdXQgMSBtaW51dGUgb2Ygc3RyZWFtLgoJICBUaGUgcmVhc29uIHdhcyBtcGVnIHRpbWVzdGFtcHMuIE9uIHNvbWUgcG9zaXRpb24gc2NyIGRpZmZlcmVuY2UgaXMgbmVnYXRpdmUuCgkgIEl0IHByb2R1Y2VkIG5lZ2F0aXZlIHRpbWVzdGFtcHMuIFNpbmNlIGl0IHdhcyBjb252ZXJ0ZWQgdG8gdW5zaWduZWQgdmFsdWUsCgkgIGdzdHJlYW1lciB0aW1lc3RhbXBzIHdhcyBpbnZhbGlkLiBJbnN0ZWFkIG9mIGluY3JlYXNpbmcgbXBlZyB0cywKCSAgdGhleSB3YXMgZGVjcmVhc2luZyB0aWxsIGl0IHN0YXJ0ZWQgdG8gYmUgcG9zaXRpdmUuCgkgIFRoZSBqdW1wIGluIHRpbWVzdGFtcHMgY2F1c2VkIG1wZWcyZGVjIHRvIHNraXAgZnJhbWVzIHRvIG1ha2UgUW9TIGhhcHB5LgoJICBUaGlzIHBhdGNoIGp1c3QgbWFrZSBkaWZmIHVuc2lnbmVkIHRvIGF2b2lkIG5lZ2F0aXZlIHZhbHVlcy4KCSAgU2lnbmVkLW9mZi1ieTogQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2MTE1CgoyMDExLTExLTI5IDEyOjEyOjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBQYXNzIHRoZSBhbGwtaGVhZGVycyBmaWVsZCBvZiB0aGUgZm9yY2Uta2V5LXVuaXQgZXZlbnQgdG8gdGhlIHN1YmNsYXNzCgoyMDExLTExLTI5IDEyOjEyOjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IEltcGxlbWVudCBmdWxsIHN1cHBvcnQgZm9yIHRoZSBuZXcgZm9yY2Uta2V5LXVuaXQgZXZlbnQKCSAgSW5jbHVkaW5nIHN1cHBvcnQgZm9yIHRoZSBydW5uaW5nLXRpbWUgYW5kIGNvdW50IGZpZWxkcy4KCjIwMTEtMTEtMjkgMDk6MzE6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogVXNlIG5ldyBmb3JjZS1rZXl1bml0IGV2ZW50IEFQSSBmcm9tIGdzdC1wbHVnaW5zLWJhc2UKCjIwMTEtMTEtMjkgMDk6MTg6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogQWRqdXN0aW5nIHBhZGRpbmcgaXMgbm90IHJlcXVpcmVkIGZvciAtYmFkIGxpYnJhcmllcwoKMjAxMS0xMS0yOCAxOTo0ODowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBNb3ZlIHNvbWUgZmllbGRzIHRvIHRoZSBwcml2YXRlIHBhcnQgb2YgdGhlIGluc3RhbmNlIHN0cnVjdAoKMjAxMS0xMS0yOCAxOTozNjo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBNYWtlIGhlYWRlcnMgbWV0YWRhdGEgd3JpdGFibGUgYmVmb3JlIHB1c2hpbmcgZG93bnN0cmVhbQoJICBUaGUgdGltZXN0YW1wLCBkdXJhdGlvbiwgZXRjIG9mIHRoZSBoZWFkZXJzIGhhcyB0byBiZSBjaGFuZ2VkLgoKMjAxMS0xMS0yOCAxOTozNTo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBQdXNoIHRoZSBkb3duc3RyZWFtIGZvcmNlLWtleWZyYW1lIGV2ZW50IGFmdGVyIHRoZSBuZXh0IGtleWZyYW1lCgkgIEV2ZW4gaWYgdGhlIGNvcnJlc3BvbmRpbmcgR3N0VmlkZW9GcmFtZSBkb2Vzbid0IGhhdmUgdGhlIGlzX3N5bmNfcG9pbnQKCSAgZmxhZyBzZXQuCgoyMDExLTExLTI4IDE5OjI5OjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IERvbid0IHB1c2ggYW4gdXBzdHJlYW0gZm9yY2Uta2V5dW5pdCBldmVudCBkb3duc3RyZWFtCgoyMDExLTExLTI1IDExOjQ4OjA4ICswMTAwICBKb25hcyBMYXJzc29uIDxqb25hc0BoYWxsZXJ1ZC5zZT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIHRoZSBhbGwtaGVhZGVycyBmaWVsZCBvZiB0aGUgZm9yY2Uta2V5ZnJhbWUgZXZlbnQKCSAgU2VlIGJ1ZyAjNjA3NzQyLgoKMjAxMS0xMS0yOSAwOToyMjozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAga2F0ZTogZml4IHNldC1idXQtbm90LXVzZWQtdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoJICBnc3RrYXRldGlnZXIuYzoxMTU2OjE1OiBlcnJvcjogdmFyaWFibGUgJ2hlaWdodCcgc2V0IGJ1dCBub3QgdXNlZAoJICBnc3RrYXRldGlnZXIuYzoxMTU2Ojg6IGVycm9yOiB2YXJpYWJsZSAnd2lkdGgnIHNldCBidXQgbm90IHVzZWQKCjIwMTEtMTEtMjkgMDk6MTU6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogbWlub3IgZml4ZXMKCSAgQ29uc3QtaWZ5IG9uZSBtb3JlIFZMQyB0YWJsZS4gRml4IHNwZWxsaW5nIG9mICdoeWJyaWQnLgoJICBObyBuZWVkIHRvIGV4cGxpY2l0bHkgY2FsbCBlbnN1cmVfZGVidWdfY2F0ZWdvcnkoKSBldmVyeXdoZXJlLAoJICB0aGF0IHdpbGwgYmUgZG9uZSBhdXRvbWF0aWNhbGx5IGZyb20gR1NUX0xPRygpIGFuZCBmcmllbmRzCgkgIHZpYSBHU1RfQ0FUX0RFRkFVTFQuCgoyMDExLTExLTA4IDEwOjQ0OjExIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgY29kZWNwYXJzZXI6IG1wZWc0OiBMb29rIGZvciByZXN5bmMgY29kZSBpbiBfbXBlZzRfcGFyc2UKCSAgVGhpcyB3YXkgdGhlIEFQSSBpcyBzaW1wbGVyIGFuZCB1c2VycyBjYW4gY2FsbCAxIHNpbmdsZSBmdW5jdGlvbiBmb3IgcGFja2V0CgkgIGRldGVjdGlvbi4KCjIwMTEtMDktMjkgMTQ6Mzc6NTkgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogUHJvcGVybHkgaGFuZGxlIHByb2ZpbGUgYW5kIGxldmVsIGluIGNhcHMKCSAgRml4ICM2NjAyMzQKCjIwMTEtMDktMjYgMTY6NTg6NTggLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvbXBlZzRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL21wZWc0cGFyc2UuaDoKCSAgbXBlZzR2aWRlb3BhcnNlOiBQb3J0IHRvIHRoZSBuZXcgbXBlZzRwYXJzZXIgbGlicmFyeQoKMjAxMS0wOS0yNiAxMDozOTozMSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0cGFyc2UuYzoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHBhcnNlLmg6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvbXBlZzRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL21wZWc0cGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBNb3ZlIHRvIHRoZSB2aWRlb3BhcnNlcnMgcGx1Z2luCgkgIFJlbmFtZSBhIGZldyB2YXJpYWJsZXMgdG8gdXNlIHRoZSBzYW1lIGNvbnZlbnRpb24gYXMgb3RoZXJzIGVsZW1lbnRzIGluIHRoaXMKCSAgcGx1Z2luCgkgIENvbmZsaWN0czoKCSAgZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYwoKMjAxMS0xMS0wMiAwOToxNDo0MiAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBEZWNsYXJlIHByaXZhdGUgYXJyYXlzIGFzIHN0YXRpYyBhbGwgYXJvdW5kCgoyMDExLTA5LTIxIDE5OjQ5OjM2IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVnNDogSW1wbGVtZW50IGFuIE1wZWc0IHBhcnQgMiBwYXJzaW5nIGxpYnJhcnkKCjIwMTEtMDktMjEgMTk6NDA6NDcgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvcGFyc2VydXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9wYXJzZXJ1dGlscy5oOgoJICBjb2RlY3BhcnNlcnM6IE1vdmUgc2hhcmVkIGNvZGUgdG8gYSBwYXJzZXIgdXRpbHMgZmlsZQoKMjAxMS0wOS0yOSAxNjoyNToyOSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC5wYy5pbjoKCSAgcGtnY29uZmlnOiByZW1vdmUgcmVmZXJlbmNlcyB0byBjb2RlY3BhcnNlcnMgZnJvbSAtYmFkLnBjLmluCgoyMDExLTExLTI4IDIzOjIwOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMS0yOCAyMzoyMDozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBjb21taXQgJzc1MjFiNTk3ZjRkYzQ5ZDhkMTY4ZjM2OGYwZTdlYmFmOThhNzIxNTYnIGludG8gMC4xMQoKMjAxMS0xMS0yOCAyMzoyMDowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBjb21taXQgJzI2ZDZhZGQ5NDU3ZjAwY2U4ZWMxMzg0NDM2ODQ2NmYwZTM4MTZlNWQnIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmMKCjIwMTEtMTEtMjggMTg6NDc6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSAgY2FtZXJhYmluMjogdmlld2ZpbmRlcmJpbjogdXNlIGZhc3RlciBjYXN0IG1hY3JvCgkgIFVzZSBjYXN0IG1hY3JvIHdpdGhvdXQgdHlwZSBjaGVja3Mgd2hlbiB3ZSBrbm93IGl0IHNob3VsZCB3b3JrLgoKMjAxMS0xMS0yOCAxODo0Mzo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJICBjYW1lcmFiaW4yOiB2aWV3ZmluZGVyYmluOiBMaW5rIGVsZW1lbnRzIGRpcmVjdGx5IHRvIHVzZSBmYXN0ZXIgdmVyc2lvbgoJICBmZm1wZWdjb2xvcnNwYWNlIGFuZCB2aWRlb3NjYWxlIHNob3VsZCBhbHdheXMgbGluayBzdWNjZXNzZnVsbHksIHVzZQoJICB0aGUgZmFzdCBwYWQgbGlua2luZyB2ZXJzaW9uIGluc3RlYWQgb2YgY2FsbGluZyB0aGUgZ2VuZXJpYyBoZWxwZXIKCSAgZnVuY3Rpb24uCgoyMDExLTExLTI4IDE2OjM1OjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogbWljcm8gb3B0aW1pemUgbGlua2luZyBzb21lIG1vcmUKCjIwMTEtMDktMjkgMjI6NDM6MzAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmg6CgkgIGthdGU6IHN1cHBvcnQgZm9yIHJlbmRlcmluZyBvbiBzZXZlcmFsIFlVViBmb3JtYXRzCgkgIFRoaXMgc3BlZWRzIHVwIHJlbmRlcmluZyBhIGZhaXIgYml0IGJ5IG5vdCByZXF1aXJpbmcgY29sb3JzcGFjZQoJICBjb252ZXJzaW9uLCB3aGV0aGVyIHRoZXJlIGlzIGFueXRoaW5nIHRvIG92ZXJsYXkgb3Igbm90LgoJICBUaGUgYmxlbmRpbmcgY29kZSB3YXMgbmlja2VkIGZyb20gdGV4dG92ZXJsYXkuIEkgd291bGQgdGhpbmsKCSAgdGhpcyBtaWdodCBiZSBhIGhlbHBmdWwgdGhpbmcgdG8gcHV0IGluLCBzYXksIGxpYmdzdHZpZGVvIGF0CgkgIHNvbWUgcG9pbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjA1MjgKCjIwMTEtMDgtMTggMTE6Mzk6MzcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHBhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogZml4IG51bWJlciBvZiBieXRlcyByZWFkIGZvciBmaXhlZCB0aW1lIGluY3JlbWVudAoJICBUaGUgc3BlYyBJIGZvdW5kIHNheXMgIjE2IGJpdHMiLgoJICBUaGUgZXhpc3RpbmcgY29kZSB1c2VkIGxvZzIoc29tZXZhbHVlKSsxLgoJICBmZm1wZWcgdXNlcyBsb2cyKHNvbWV2YWx1ZS0xKSsxLgoJICBUaGUgY29kZSBub3cgdXNlcyBsb2cyKHNvbWV2YWx1ZS0xKSsxLCBhbmQgdGhpcyBtYWtlcyBpdCB3b3JrIHdpdGgKCSAgc29tZSBzYW1wbGUgdmlkZW8gd2l0aG91dCBicmVha2luZyBhbm90aGVyIHNhbXBsZS4KCSAgTm93LCBJJ20gZmFyIGZyb20gY2VydGFpbiBJJ3ZlIGdvdCB0aGUgcmlnaHQgc3BlYywgSSBmb3VuZCBpdCBieQoJICBzZWFyY2hpbmcgdGhlIGludGVybmV0LCBzby4uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0NjY2CgoyMDExLTExLTI4IDE1OjEwOjM5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBtcGVnZGVtdXg6IFRyeSB0byBhZGQgYWxsIHN0cmVhbXMgZWFybHkKCSAgVGhpcyB3aWxsIGFsbG93IHVzIHRvIHNpZ25hbCBuby1tb3JlLXBhZHMgdG8gYXZvaWQgaGl0dGluZwoJICB0aGUgZGVjb2RlYmluMiBvdmVycnVuLgoKMjAxMS0wOS0yNiAxMjo0MzoyNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBoYW5kbGUgcGFkcyB3aXRoIG5vIGRhdGEKCSAgU29tZSBzdHJlYW1zIGRlY2xhcmUgUElEcyBidXQgd2lsbCBub3Qgc2VuZCBkYXRhIGZvciB0aGVtLgoJICBFbnN1cmUgd2UgdGltZSBvdXQgb24gdGhvc2UsIGFuZCBib3RoIHNlbmQgbmV3IHNlZ21lbnRzIHRvCgkgIGtlZXAgdGhlaXIgdGltZSBzeW5jaHJvbml6ZWQgd2l0aCB0aGUgcmVzdCwgYW5kIGRvIG5vdCB3YWl0CgkgIGZvcmV2ZXIgYmVmb3JlIGRlY2lkaW5nIHRvIHNpZ25hbCBuby1tb3JlLXBhZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTk5MjQKCjIwMTEtMDktMjYgMTI6MTY6MzAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIG1wZWd0c2RlbXV4OiBzaWduYWwgbm8tbW9yZS1wYWRzIHdoZW4gYXBwcm9wcmlhdGUKCSAgV2UgdHJhY2sgc3RyZWFtcyBmb3Igd2hpY2ggYSBkYXRhIGNhbGxiYWNrIGlzIHNldCAoYW5kIGZvciB3aGljaAoJICBwYWRzIHdpbGwgYmUgYWRkZWQgb25seSB3aGVuIGRhdGEgaXMgcmVjZWl2ZWQpLCBhbmQgc2lnbmFsCgkgIG5vLW1vcmUtcGFkcyB3aGVuIHRoZSBsYXN0IHBhZCBpcyBhZGRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTkyNAoKMjAxMS0wOS0wNSAxNzo0MDowNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiB0YWtlIGludG8gYWNjb3VudCBvZmZzZXQgb2YgZmlyc3QgYnVmZmVyCgkgIFRoaXMgZml4ZXMgcGxheWJhY2sgd2hlbiB0aGUgc291cmNlIHN0YXJ0cyBsYXRlciB0aGFuIHRoZSBwbGF5YmFjawoJICBwaXBlbGluZSwgYW5kIHdoZW4gYSBzb3VyY2UgZHJvcHMgZm9yIGEgd2hpbGUgdGhlbiByZXN0YXJ0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1Nzc5NAoKMjAxMS0wOS0wMyAxNDozNzo0MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWdkZW11eDogZml4IHNvbWUgbW9yZSB2aWRlbyBmcmVlemluZwoJICBUaGVyZSB3YXMgYSBzZWNvbmQgdGhyZXNob2xkLCB3aGljaCBhcHBhcmVudGx5IG5lZWRzIHRvIGJlIHNtYWxsZXIKCSAgdGhhbiB0aGUgZmlyc3QsIHRob3VnaCBJJ20gbm90IGNlcnRhaW4gb2YgaXQgYXMgSSBkb24ndCB1bmRlcnN0YW5kCgkgIHlldCB0aGlzIG5lc3Qgb2Ygd3RmIHRoYXQgaXMgdGhlIG1wZWcgZGVtdXhlciB0aW1pbmcgbG9naWMuCgkgIEZpeGVzIHZpZGVvIGZyZWV6aW5nIG9uIG9uZSAoY29ycnVwdGVkKSBNUEVHIHNhbXBsZS4gSXQgd291bGQKCSAgcHJldmlvdXNseSBuZXZlciB0aGluayBpdCB3YXMgb3V0IG9mIHRoZSBkaXNjb250aW51aXR5LCBhbmQgd291bGQKCSAgcHVzaCBidWZmZXJzIHdpdGggbm8gdGltZXN0YW1wLgoJICBOb3cgdGhpcyB0b29rIG1lIG1vcmUgdGhhbiBhIGRheSdzIHBva2luZyBhdCB0aGUgdGhpbmcsIGZvciBqdXN0CgkgIG9uZSBjb25zdGFudCBjaGFuZ2UsIGFuZCBJJ20gc2NhcmVkIHRvIGhhdmUgdG8gdG91Y2ggdGhpcyBhZ2FpbiA6UwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1ODA0CgoyMDExLTA4LTMwIDE0OjUwOjUyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBtcGVnZGVtdXg6IGNhdGNoIHNtYWxsZXIgUFRTIGRpY29udGludWl0aWVzCgkgIEluIGEgdGVzdCBzdHJlYW0sIEkgZ2V0IG9uZSBidWZmZXIgd2l0aCBhIFBUUyBvZiBhYm91dCAxNSBzZWNvbmRzCgkgIGluIHRoZSBmdXR1cmUgY29tcGFyZWQgdG8gdGhlIHByZXZpb3VzIG9uZSwgYW5kIG5leHQgYnVmZmVycyB3aXRoCgkgIHRpbWVzdGFtcHMgY29udGludWluZyB3aGVyZSB0aGUgb3JpZ2luYWwgb25lcyBsZWZ0IG9mZi4KCSAgVGhpcyBjYXVzZWQgdGhlIHNpbmsgdG8gd2FpdCAxNSBzZWNvbmRzIHRvIGRpc3BsYXkgdGhlIGZyYW1lIHdoaWxlCgkgIG1vcmUgZnJhbWVzIHF1ZXVlZCB1cCwgYW5kIHRoZW4gZHVtcCBhbGwgdGhlIHN1YnNlcXVlbnQgZnJhbWVzIGFzCgkgIHRoZXkgImFycml2ZWQgdG9vIGxhdGUiLgoJICBNYXliZSB0aGF0IHRocmVzaG9sZCBzaG91bGQgYmUgbWFkZSBjb25maWd1cmFibGUsIGJ1dCBmb3Igbm93LAoJICBtYWtlIGl0IG1vcmUgc21hbGxlciB0byBjYXRjaCBtb3JlIG9mIHRoZXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1ODA0CgkgIE5vbiBBViBzdHJlYW1zIGtlZXAgdXNpbmcgdGhlIGxhcmdlciB0aHJlc2hvbGQgKDEwIG1pbnV0ZXMpLCBhcwoJICBzdWJ0aXRsZXMgbWF5IGFycml2ZSBvbmx5IGV2ZXJ5IHNvIG9mdGVuLgoKMjAxMS0xMS0yOCAxMzowODoyNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSogZXh0L2FydHMvZ3N0X2FydHMuYzoKCSogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkqIGV4dC9iejIvZ3N0YnoyZW5jLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dkb3duc2FtcGxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nc2NhbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2xvcmNvbnZlcnQuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzaW5rLmM6CgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5jYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzcmMuYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBleHQvbmFzL25hc3NpbmsuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzaW5rLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc3JjLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuYzoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuYzoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzaW5rLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc3JjLmM6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFucGxjLmM6CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuYzoKCSogZ3N0L2F1ZGlvYnVmZmVyL2dzdGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGlucHV0c2VsZWN0b3IuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdHZjZHBhcnNlLmM6CgkqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaGVja3N1bXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnc3B5LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJKiBnc3QvanAya2RlY2ltYXRvci9nc3RqcDJrZGVjaW1hdG9yLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2dzdGxlZ2FjeXJlc2FtcGxlLmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L212ZS9nc3RtdmVkZW11eC5jOgoJKiBnc3QvbXZlL2dzdG12ZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkqIGdzdC9wYXRjaGRldGVjdC9nc3RwYXRjaGRldGVjdC5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdGlydHNwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvZ3N0cmVtb3Zlc2lsZW5jZS5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkqIGdzdC9zZGkvZ3N0c2RpZGVtdXguYzoKCSogZ3N0L3NkaS9nc3RzZGltdXguYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0YXVkaW9zZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0dmlkZW9zZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOgoJKiBnc3Qvc3ViZW5jL2dzdHdlYnZ0dGVuYy5jOgoJKiBnc3QvdHRhL2dzdHR0YWRlYy5jOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9maWx0ZXIyLmM6CgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJKiBzeXMvYWNtbXAzZGVjL2FjbW1wM2RlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGRlY2Jpbi5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRlbmNiaW4uYzoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuY3BwOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6CgkqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6CgkqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzoKCSogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzcmMuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc3JjLmM6CgkqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkqIHN5cy9xdHdyYXBwZXIvdmlkZW9kZWNvZGVycy5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSogc3lzL3ZjZC92Y2RzcmMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLXNpbXBsZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtc2ltcGxlOgoJICB2YXJpb3VzOiBmaXggcGFkIHRlbXBsYXRlIHJlZiBsZWFrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyNjY0CgoyMDExLTEwLTA2IDE3OjQzOjE5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcDogYWRkIFdTQVN0YXJ0dXAgYW5kIFdTQUNsZWFudXAgb24gV2luMzIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MTA5OAoKMjAxMS0xMS0yNyAyMDoyNDozOSArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IGZpeCBmb3JtYXQgd2FybmluZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjYxOAoKMjAxMS0xMS0yNyAyMzozMzo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMjQgMTM6NDk6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmL2FpZmYuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5oOgoJICBhaWZmcGFyc2U6IGV4dHJhY3QgSUQzIHRhZ3MgZW1iZWRkZWQgaW4gSUQzIGNodW5rcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0NzI1CgoyMDExLTExLTI2IDE1OjM3OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9vcHVzL2dzdG9wdXNkZWMuYwoJICBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYwoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmgKCjIwMTEtMTEtMjUgMjM6MTE6MzIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dmlkZW9maWx0ZXIuYzoKCSAgb3BlbmN2OiBwb3J0IGJhc2VjbGFzcyB0byAwLjExCgoyMDExLTExLTI1IDExOjQxOjE5IC0wMjAwICBEYW5pbG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgPGRhbmlsby5jZXNhckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogRml4aW5nICJVbnVzZWQgdmFyIiBjb21waWxpbmcgZXJyb3IgZm9yIG9wdXMgY29kZWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NDgxNQoKMjAxMS0xMS0yNSAxNDowMDoxOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSAgb3B1c2VuYzogb25seSB1c2UgbW9ubyBzdHJlYW1zIGZvciA+IDIgY2hhbm5lbHMKCSAgSSdtIGdldHRpbmcgb2RkIHJlc3VsdHMgd2l0aCBwYWNraW5nIHN0cmVhbXMgaW50byBzdGVyZW8KCSAgc3RyZWFtcywgYW5kIHVzaW5nIG9ubHkgbW9ubyBzdHJlYW1zIGlzIGVub3VnaCBpbiBhbGwgY2FzZXMuCgoyMDExLTExLTI1IDEyOjQ3OjQyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNjb21tb24uYzoKCSogZXh0L29wdXMvZ3N0b3B1c2NvbW1vbi5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1czogYWRkIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvcm1hdGlvbiBhYm91dCBjaGFubmVsIG1hcHBpbmcKCjIwMTEtMTEtMjUgMTI6NDY6NTUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXNwYXJzZTogcmVtb3ZlIGRlYWQgYXNzaWdtZW50cwoJICBXZSBub3cgb25seSBrZWVwIGEgcmVmIHRvIHRoZSBoZWFkZXJzIGZvciBsYXRlciByZXVzZS4KCjIwMTEtMTEtMjUgMTI6NDA6MzEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBkbyBub3QgY2F1c2UgdGhlIGRlY29kZXIgdG8gYXBwbHkgdGhlIGNoYW5uZWwgbWFwcGluZyBhZ2FpbgoJICBTaW5jZSB3ZSBhbHJlYWR5IHJlb3JkZXIgY2hhbm5lbHMsIHdlIGRvIG5vdCB3YW50IHRvIHdyaXRlIHRoYXQKCSAgcmVvcmRlcmluZyBpbiB0aGUgaGVhZGVyLCBvciB0aGUgZGVjb2RlciB3aWxsIGRvIGl0IGFnYWluLgoKMjAxMS0xMS0yNSAxMjozOToyMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGZpeCBib2d1cyBhc3NlcnRpb24KCjIwMTEtMTEtMjUgMTU6NDk6MDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvYW1yd2JlbmMuYzoKCSAgdGVzdHM6IGFkZCB1bml0IHRlc3QgZm9yIHZvYW1yd2JlbmMKCjIwMTEtMTEtMjUgMTI6NDg6NTggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L2ZhYWMvZ3N0ZmFhYy5jCgkgIGV4dC9vcHVzL2dzdG9wdXNkZWMuYwoJICBleHQvb3B1cy9nc3RvcHVzZW5jLmMKCSAgZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jCgkgIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYwoKMjAxMS0xMS0yNSAxMTozNzozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBzb21lIG1vcmUgZGVidWcgbG9nZ2luZwoKMjAxMS0xMS0yNSAxMTozNjoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IHVzZSBuZXcgYmFzZXZpZGVvZGVjb2RlciBBUEkgdG8gZHJvcCBmcmFtZXMgYW5kIGdldCBRb1MgbWVzc2FnZXMgcG9zdGVkCgoyMDExLTExLTIzIDIwOjAzOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGFkZCBBUEkgdG8gZHJvcCBhIGZyYW1lIGFuZCBwb3N0IGEgUW9TIG1lc3NhZ2Ugb24gdGhlIGJ1cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQwMDE3CgkgIEFQSTogZ3N0X2Jhc2VfdmlkZW9fZGVjb2Rlcl9kcm9wX2ZyYW1lKCkKCjIwMTEtMDgtMzAgMjM6Mzk6MzYgLTAzMDAgIEx1Y2lhbmEgRnVqaWkgUG9udGVsbG8gPGx1Y2lhbmEuZnVqaWlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9wdnIyZC9NYWtlZmlsZS5hbToKCSogc3lzL3B2cjJkL2dzdHB2ci5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZyLmg6CgkqIHN5cy9wdnIyZC9nc3RwdnJidWZmZXJwb29sLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJidWZmZXJwb29sLmg6CgkqIHN5cy9wdnIyZC9nc3RwdnJ2aWRlb3NpbmsuYzoKCSogc3lzL3B2cjJkL2dzdHB2cnZpZGVvc2luay5oOgoJKiBzeXMvcHZyMmQvcHZyX2luY2x1ZGVzL2RyaTJfd3MuaDoKCSogc3lzL3B2cjJkL3B2cl9pbmNsdWRlcy9pbWdfZGVmcy5oOgoJKiBzeXMvcHZyMmQvcHZyX2luY2x1ZGVzL2ltZ190eXBlcy5oOgoJKiBzeXMvcHZyMmQvcHZyX2luY2x1ZGVzL3B2cjJkLmg6CgkqIHN5cy9wdnIyZC9wdnJfaW5jbHVkZXMvc2VydmljZXMuaDoKCSogc3lzL3B2cjJkL3B2cl9pbmNsdWRlcy9zZXJ2aWNlc2V4dC5oOgoJKiBzeXMvcHZyMmQvcHZyX2luY2x1ZGVzL3dzZWdsLmg6CgkgIEFkZCBwdnJ2aWRlb3NpbmsgZWxlbWVudAoJICBQVlJWaWRlb1NpbmsgdXNlcyBQVlIyRCBsaWJyYXJ5IHRvIGJsaXQgaW1hZ2VzLgoJICBBdXRob3I6IEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgkgIEF1dGhvcjogTHVjaWFuYSBGdWppaSA8bHVjaWFuYS5mdWppaUBjb2xsYWJvcmEuY28udWs+CgoyMDExLTExLTI0IDIxOjUyOjU1ICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkgIHRlc3RzOiBmaXggY2FwcyB1c2FnZSBpbiBwYXJzZXIgdGVzdCBoZWxwZXIKCSAgRml4ZXMgcHJldmlvdXMgY29tbWl0OyB1c2VycyBjYW4gY2FsbCB0aGlzIHdpdGggTlVMTCBjYXBzLgoKMjAxMS0xMS0yNCAyMTo0MjozOSArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzZm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvY29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9iYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xlZ2FjeXJlc2FtcGxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhkZWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkgIHRlc3RzOiB1cGRhdGUgZm9yIGdzdGNoZWNrIEFQSSBjaGFuZ2UKCjIwMTEtMTEtMjQgMTk6MDM6MjMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9SRUFETUU6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGRyYXdoZWxwZXJzLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IGFkZCBhYS1saW5lIGNvZGUgYW5kIHVzZXIgZm9yIHdhdmUvc3BhY2Utc2NvcGUKCjIwMTEtMTEtMjQgMTM6Mzg6NTkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJICBvcHVzOiBwcmUtc2tpcCBhbmQgb3V0cHV0IGdhaW4gYXJlIGxpdHRsZSBlbmRpYW4sIHJlbW92ZSByZW1pbmRlciBub3RlCgoyMDExLTExLTI0IDEzOjI5OjU2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9nc3RvcHVzY29tbW9uLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNjb21tb24uaDoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuaDoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5oOgoJICBvcHVzOiBtdWx0aWNoYW5uZWwgc3VwcG9ydAoKMjAxMS0xMS0yMyAxNzo0OTo1OCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkgIG9wdXM6IHN3aXRjaCB0byBtdWx0aXN0cmVhbSBBUEkKCSAgSXQncyB2ZXJ5IHNpbWlsYXIgdG8gdGhlIGJhc2ljIEFQSSwgYW5kIGlzIGEgc3VwZXJzZXQgb3QgaXQsCgkgIHdoaWNoIHdpbGwgYWxsb3cgZW5jb2RpbmcgYW5kIGRlY29kaW5nIG1vcmUgdGhhbiAyIGNoYW5uZWxzLgoKMjAxMS0xMS0yMyAxNzozMjowMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IHNodWZmbGUgc3VwcG9ydGVkIHNhbXBsZSByYXRlcyB0byBmYXZvciA0ODAwMAoKMjAxMS0xMS0yMyAxNjozNjo1NCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSAgb3B1c2VuYzogcmVtb3ZlIHVzZWxlc3Mgc2V0dXAgZmllbGQKCjIwMTEtMTEtMjQgMTI6MDE6NDggKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogcG9ydCB0byAwLjExCgkgIFVuaXQgdGVzdHMgbWlzc2luZyBmb3Igbm93LgoKMjAxMS0xMS0yNCAxMTo1OToxOSArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiBwb3J0IHRvIDAuMTEKCSAgT25seSB0byBmaXggdGhlIGJ1aWxkIHJlYWxseSAoZ3RrLWRvYyBpcyB0cnlpbmcgdG8gcGljayB1cCB0aGUgdW5idWlsZGFibGUKCSAgbGliKS4gTm90IHRlc3RlZCBhdCBhbGwgKGJ1dCBwcmV0dHkgdHJpdmlhbCBjYXNlIGFueXdheXMpLgoKMjAxMS0xMS0wMiAxMzoyNTo1NiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IGZpeCB3aWR0aC9oZWlnaHQgbWlzbWF0Y2hlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzMjM4CgoyMDExLTExLTI0IDEwOjI2OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogVXNlIHRoZSBzaW5rcGFkIHRlbXBsYXRlIGNhcHMgYXMgYSBmYWxsYmFjaywgbm90IHRoZSBzcmNwYWQgb25lcwoKMjAxMS0xMS0yNCAxMDoxNDowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBJbXBsZW1lbnQgOjpnZXRfc2lua19jYXBzIHZmdW5jIHRvIHByb3BhZ2F0ZSBkb3duc3RyZWFtIGNhcHMgY29uc3RyYWludHMgdXBzdHJlYW0KCjIwMTEtMTEtMjQgMTA6MDk6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiBJbXBsZW1lbnQgOjpnZXRfc2lua19jYXBzIHZmdW5jIHRvIHByb3BhZ2F0ZSBkb3duc3RyZWFtIGNhcHMgY29uc3RyYWludHMgdXBzdHJlYW0KCjIwMTEtMTEtMjQgMTA6MDg6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkgIGRpcmFjcGFyc2U6IEltcGxlbWVudCA6OmdldF9zaW5rX2NhcHMgdmZ1bmMgdG8gcHJvcGFnYXRlIGRvd25zdHJlYW0gY2FwcyBjb25zdHJhaW50cyB1cHN0cmVhbQoKMjAxMS0xMS0yNCAxMDowNDozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IEltcGxlbWVudCA6OmdldF9zaW5rX2NhcHMgdmZ1bmMgdG8gcHJvcGFnYXRlIGRvd25zdHJlYW0gY2FwcyBjb25zdHJhaW50cyB1cHN0cmVhbQoKMjAxMS0xMS0yNCAwMTo1NjowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICBuZW9uaHR0cHNyYzogcmVtb3ZlIGlyYWRpby0qIHByb3BlcnRpZXMKCSAgU2hvdWxkIHNlbmQgdGFncyBpbnN0ZWFkLgoKMjAxMS0xMS0yNCAwMTo1MjozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBuZW9uaHR0cHNyYzogdW5jb25kaXRpb25hbGx5IHNlbmQgaWNlY2FzdCByZXF1ZXN0IGhlYWRlciwgcmVtb3ZlIGlyYWRpby1tb2RlIHByb3BlcnR5CgoyMDExLTExLTI0IDAxOjIyOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmg6CgkgIG1tc3NyYzogbWFrZSBjb25uZWN0aW9uLXNwZWVkIHByb3BlcnR5IGEgZ3VpbnQ2NAoJICBFdmVuIGlmIHRoZSBsaWJyYXJ5IGxpbWl0cyBpdCB0byBhbiBpbnQuCgoyMDExLTExLTI0IDAwOjU2OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IHVwZGF0ZSBmb3IgZ3N0cnRwYmluIC0+IHJ0cGJpbiByZW5hbWluZwoKMjAxMS0xMS0yMyAyMzo0Mjo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkgIGZhYWMsIHJ0bXA6IG1vcmUgcHJpbnRmIGZvcm1hdCBmaXhlcyBpbiBkZWJ1ZyBtZXNzYWdlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyNjE4CgoyMDExLTExLTIxIDIyOjQ1OjE1ICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIEZpeCBwcmludGYgZm9ybWF0IGNvbXBpbGVyIHdhcm5pbmdzIG9uIE9TIFggLyA2NCBiaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjYxOAoKMjAxMS0xMS0yMyAyMzozMDowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGRvIG5vdCBsZWFrIGJ1ZmZlciB3aGVuIG5vIGVuY29kZWQgZGF0YSB5ZXQgb3IgZW5jb2RpbmcgZXJyb3IKCjIwMTEtMTEtMjMgMjM6Mjk6MTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSAgZHRzZGVjOiBwb3J0IHRvIGF1ZGlvZGVjb2RlcgoKMjAxMS0xMS0yMyAxNjowMTozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJICBzbW9vdGg6IGZpeCBwcmludGYgZm9ybWF0IGNvbXBpbGVyIHdhcm5pbmcgaW4gZGVidWcgbWVzc2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0NjMxCgoyMDExLTExLTIzIDEzOjQ3OjExICswMTAwICBLcnp5c3p0b2YgS3Jha293aWFrIDxrcnp5c3p0b2Yua3Jha293aWFrQGdtYWlsLmNvbT4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IGZpeCBtb2R1bGVzIHBsYXlpbmcgYXMgbW9ubyBpbnN0ZWFkIG9mIHN0ZXJlbwoJICByZXBsYWNlZCBicm9rZW4gaWYtcmV0dXJuIGxvZ2ljIGZvciBmaXhhdGluZyByYXRlIGFuZCBudW1iZXIKCSAgb2YgY2hhbm5lbHMgdGhhdCBjYXVzZWQgdGhhdCBtb2R1bGVzIHdlcmUgYWx3YXlzIChhZnRlcgoJICBzdWNjZXNzZnVsIGZpeGF0aW9uIG9mIHJhdGUpIHBsYXllZCBhcyBtb25vIChpbnN0ZWFkIG9mCgkgIHN0ZXJlbykgYnkgY29ycmVjdCBvbmUgd2l0aCBhcHByb3BpYXRlIHdhcm5pbmdzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE5MDM1CgoyMDExLTExLTIzIDEzOjIyOjEyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJICBvcHVzZGVjOiBpbXBsZW1lbnQgcmVwbGF5IGdhaW4KCSAgSXQgd291bGQgaWRlYWxseSBiZSBiZXR0ZXIgdG8gbGVhdmUgdGhpcyB0byBhIHJndm9sdW1lIGVsZW1lbnQsCgkgIGJ1dCB3ZSBkb24ndCBjb250cm9sIHRoZSBwaXBlbGluZS4gU28gZG8gaXQgYnkgZGVmYXVsdCwgYW5kIGFsbG93CgkgIGRpc2FibGluZyBpdCB2aWEgYSBwcm9wZXJ0eSwgc28gdGhlIGNvcnJlY3Qgdm9sdW1lIHNob3VsZCBhbHdheXMKCSAgYmUgb3V0cHV0LgoKMjAxMS0xMS0yMyAxMTo1ODo1NCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSAgb3B1c2RlYzogYWRkIGluLWJhbmQgRkVDIHN1cHBvcnQKCSAgVGhpcyBhbGxvd3MgcmVjb25zdHJ1Y3Rpb24gb2YgbG9zdCBwYWNrZXRzIGlmIEZFQyBpbmZvIGlzIGluY2x1ZGVkCgkgIGluIHRoZSBuZXh0IHBhY2tldCwgYXQgdGhlIGNvc3Qgb2YgZXh0cmEgbGF0ZW5jeS4gU2luY2Ugd2UgZG8gbm90CgkgIGtub3cgaWYgdGhlIHN0cmVhbSBoYXMgRkVDIChhbmQgdGhpcyBjYW4gY2hhbmdlIGF0IHJ1bnRpbWUpLCB3ZQoJICBhbHdheXMgaW5jdXIgdGhlIGxhdGVuY3ksIGV2ZW4gaWYgd2UgbmV2ZXIgbG9zZSBhbnkgZnJhbWUsIG9yIHNlZQoJICBhbnkgRkVDIGluZm9ybWF0aW9uLiBPZmYgYnkgZGVmYXVsdC4KCjIwMTEtMTEtMjMgMTI6NDE6MzIgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IG5vcm1hbGl6ZSBib29sZWFuIHByb3BlcnR5IGRlZmF1bHQgdmFsdWVzIHRvIFRSVUUvRkFMU0UKCSAgR2xpYiBiYXJrcyBhdCB1cyB3aXRoIGEgd2FybmluZyB3aGVuIHdlIHBhc3MgZS5nLiA0LgoKMjAxMS0xMS0yMyAxMTo1OTo0MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhc2V2aWRlby11bmluc3RhbGxlZC5wYy5pbjoKCSAgcGtnY29uZmlnOiBhYWFuZCBmaXggbXkgbGFzdCBjb21taXQKCjIwMTEtMTEtMjMgMTE6NTU6MDYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYXNldmlkZW8tdW5pbnN0YWxsZWQucGMuaW46CgkgIHBrZ2NvbmZpZzogRml4IGdzdHJlYW1lci1iYXNldmlkZW8tdW5pbnN0YWxsZWQucGMuaW4KCjIwMTEtMTEtMjMgMTE6MzE6NDQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9SRUFETUU6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGRyYXdoZWxwZXJzLmg6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IHVwZGF0ZSBSRUFETUUgYW5kIFRPRE8gY29tbWVudHMKCjIwMTEtMTEtMjMgMTE6MjE6MTUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuaDoKCSAgc3BhY2VzY29wZTogdXNlIHRoZSBkcmF3aGVscGVycyBhbmQgYWRkIGEgZHJhdy1zdHlsZSBwcm9wZXJ0eQoJICBMaWtlIGluIHdhdmVzY29wZSBzdXBwb3J0IGRyYXdpbmcgZG90cyBhbmQgbGluZXMuCgoyMDExLTExLTIzIDExOjA4OjM5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9vcHVzL2dzdG9wdXNkZWMuYwoJICBleHQvb3B1cy9nc3RvcHVzZW5jLmMKCSAgZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmMKCSAgZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmMKCSAgZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbQoJICBnc3QvZmlsdGVyL2dzdGZpbHRlci5jCgkgIGdzdC9maWx0ZXIvZ3N0aWlyLmMKCSAgZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYwoKMjAxMS0xMS0yMyAwODo0MDo0OSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RkcmF3aGVscGVycy5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSAgYXVkaW92aXN1YWxpemVyczogYWRkIHNvbWUgc2ltcGxlIGRyYXdpbmcgaGVscGVycyBmb3IgcmV1c2UKCSAgQWRkIGEgKHVuaW5zdGFsbGVkKSBoZWFkZXIgd2l0aCBzaW1wbGUgZHJhd2luZyBtYWNyb3MKCjIwMTEtMTEtMjMgMDg6MTc6MDUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc21vb3Rod2F2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3Ntb290aHdhdmUvUkVBRE1FOgoJKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuaDoKCSAgc21vb3Rod2F2ZTogcmVtb3ZlIGVsZW1lbnQgdW5wb3J0ZWQgZnJvbSAwLjgKCSAgVGhlIHdhdmVzY29wZSBlbGVtZW50IGRvZXMgYWNoaWV2ZSB0aGUgc2FtZSBlZmZlY3QuCgoyMDExLTExLTIzIDA4OjE0OjM4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5oOgoJICB3YXZlc2NvcGU6IGFkZCBhIHN0eWxlIHByb3BlcnR5IGZvciBkcmF3aW5nIG1vZGVzCgkgIEFkZCBhIHN0eWxlIGVudW0gb2YgeyBkb3RzLCBsaW5lc30uIE5vdyB0aGlzIGVsZW1lbnRzIGlzIGEgc3VwZXJzZXQgb2Ygc21vb3Rod2F2ZS4KCjIwMTEtMTEtMjIgMjM6MDQ6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgZG9jczogZml4IGNvbW1lbnQgaW4gZ3N0X2Jhc2VfdmlkZW9fZGVjb2Rlcl9nZXRfbWF4X2RlY29kZV90aW1lKCkgZG9jcwoKMjAxMS0xMS0yMiAyMDoyNzo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IG1hcmsgcHJvcGVydGllcyBjaGFuZ2VhYmxlIGF0IHJ1bnRpbWUgd2l0aCBHU1RfUEFSQU1fTVVUQUJMRV9QTEFZSU5HCgoyMDExLTExLTIyIDE5OjU3OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGZpeCB3ZWlyZCBldmVudCBsaXN0IGhhbmRsaW5nCgkgIEdldCByaWQgb2Ygd2VpcmQgY29kZSB0aGF0IGNvcGllcyBhIGxpc3QgbWFudWFsbHksIHRha2luZwoJICBvd25lcnNoaXAgb2YgdGhlIGVsZW1lbnRzIGFuZCB0aGVuIGZyZWVzIHRoZSBvbGQgbGlzdC4gSW5zdGVhZCwKCSAganVzdCB0YWtlIG92ZXIgdGhlIG9sZCBsaXN0IGVudGlyZWx5LiAoSWYgdGhlIGludGVudCB3YXMgdG8KCSAgcmV2ZXJzZSB0aGUgbGlzdCwgb25lIGNvdWxkIHVzZSBnX2xpc3RfcmV2ZXJzZSgpIGluc3RlYWQpLgoJICBUaGVuLCBwdXNoIGV2ZW50cyBpbiB0aGUgbGlzdCBvdXQgZnJvbSBsYXN0IHRvIGZpcnN0IChzaW5jZSB0aGV5CgkgIHdlcmUgcHJlcGVuZGVkIGFzIHRoZXkgY2FtZSBpbikgaW5zdGVhZCBvZiBqdXN0IHB1c2hpbmcgb3V0IHRoZQoJICBsYXN0IGluIHRoZSBsaXN0IGFuZCBsZWFraW5nIHRoZSBvdGhlcnMuCgoyMDExLTExLTIyIDE4OjMzOjE3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vcHVzLmM6CgkgIG9wdXM6IGFkZCB0ZXN0CgoyMDExLTExLTIyIDE3OjA0OjA5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJICBvcHVzZW5jOiBhbGxvdyBzZXR0aW5nIG1vc3QgcHJvcGVydGllcyBhdCBQTEFZSU5HIHRpbWUKCSAgT3B1cyBhbGxvd3MgdGhlc2UgdG8gYmUgY2hhbmdlZCBkdXJpbmcgZW5jb2RpbmcsIHRyYW5zcGFyZW50bHkKCSAgdG8gdGhlIGRlY29kZXIuCgoyMDExLTExLTIyIDE2OjE0OjA2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogYm91bmQgdGhlIGJpdHJhdGUgdG8gbW9yZSBzZW5zaWJsZSB2YWx1ZXMKCSAgR28gZnJvbSB0aGUgYm91bmRzIG1lbnRpb25lZCBpbiB0aGUgc3BlYywgYW5kIGFsbG93IHNvbWUgbW9yZQoJICB2YXJpYXRpb24uCgkgIEluIHBhcnRpY3VsYXIsIGRvbid0IGFsbG93IHNpbGx5IGxvdyBiaXRyYXRlcywgYW5kIGFsbG93IHJlYWNoaW5nCgkgIHRoZSBtYXhpbXVtIHVzZWZ1bCBiaXRyYXRlLgoKMjAxMS0xMS0yMiAxNTozMzoyMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSAgb3B1c2VuYzogZml4IGNyYXNoIG9uIHBhdGhvbG9naWNhbCBwYXJhbWV0ZXJzCgkgIEFza2luZyBmb3IgMSBiaXQvcyB3b3VsZCBzZWxlY3QgYSAwIGJ5dGUgYnVmZmVyLCBsZWFkaW5nCgkgIHRvIGEgY3Jhc2guIEJ1ZmZlciBzaXplIGlzIG5vdyBjb250cm9sbGVkIGJ5IGEgbWF4LXBheWxvYWQtc2l6ZQoJICBwcm9wZXJ0eSwgd2hpY2ggY2FuJ3QgYmUgbGVzcyB0aGFuIDIuCgoyMDExLTExLTIxIDE4OjEyOjAwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzcGFyc2U6IGRvIG5vdCBzZW5kIGhlYWRlcnMgdGhyb3VnaCBkYXRhIHBhdGgKCSAgQWRkaXRpb25hbGx5LCBzaW5jZSBPcHVzIHBhY2tldHMgbWF5IGNoYW5nZSBiZXR3ZWVuIHN0ZXJlbwoJICBhbmQgbW9ubyBhcyB0aGUgZW5jb2RlciBzZWVzIGZpdCwgYXNzdW1lIHR3byBjaGFubmVscyB3aGVuCgkgIHdlIGRvIG5vdCBzZWUgYSBoZWFkZXIsIGFuZCB1c2UgdGhlIGhlYWRlciB2YWx1ZSBvdGhlcndpc2UuCgoyMDExLTExLTIxIDE3OjQ4OjU0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmg6CgkgIG9wdXM6IG1vdmUgaGVhZGVyIG1hZ2ljIHRlc3RpbmcgdG8gZ3N0b3B1c2hlYWRlcgoKMjAxMS0xMS0yMSAxNzowMTo0OSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IHNraXAgcHJlLXNraXAgc2FtcGxlcwoKMjAxMS0xMS0yMSAxMjo1MDoyMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSAgb3B1c2RlYzogcmVhZCBwcmUtc2tpcCBmcm9tIGZpcnN0IGhlYWRlciBpZiBhdmFpbGFibGUKCjIwMTEtMTEtMTcgMTE6MzM6NTYgKzAxMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnBAay1kLXcub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBzdXBwb3J0IG1vcmUgY2hhcmFjdGVyIHNldCBlbmNvZGluZ3MKCSAgU3VwcG9ydCBVVEYtMTZCRSwgRVVDLUtSIChLU1gxMDAxKSwgR0IyMzEyIGFuZCBJU08tMTA2NDYvVVRGOCB0ZXh0CgkgIGVuY29kaW5nIGFuZCBmaXhlZCBuZXcgbGluZSBmb3IgbXVsdGlieXRlIGVuY29kaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQyNTcKCjIwMTEtMTEtMjIgMDk6MTE6MzUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcGxheW9uZGVtYW5kLy5naXRpZ25vcmU6CgkqIGdzdC9wbGF5b25kZW1hbmQvTWFrZWZpbGUuYW06CgkqIGdzdC9wbGF5b25kZW1hbmQvZGVtby1tcDMuYzoKCSogZ3N0L3BsYXlvbmRlbWFuZC9maWx0ZXIuZnVuYzoKCSogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzoKCSogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuaDoKCSAgcGxheW9uZGVtYW5kOiByZW1vdmUgdW5wb3J0ZWQgcGx1Z2luIGZyb20gMC44CgkgIFRoZXNlIGRheXMgb25lIHdvdWxkIGRvIHRoZSBlZmZlY3QgZS5nLiB1c2luZyBnbm9ubGluLgoKMjAxMS0xMS0yMiAwOToxMDozMiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICBzcGVlZDogdGlueSBkb2MgYmxvYiBjbGFyaWZpY2F0aW9uCgoyMDExLTExLTIxIDIyOjU1OjQwICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZnJlZXZlcmIvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5jOgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuaDoKCSAgZnJlZXZlcmI6IGFkZCBhIGZyZWV2ZXJiIHBvcnQKCSAgRnJlZXZlcmIgaXMgYSBwdWJsaWMgZG9tYWluIHJldmVyYiBpbXBsZW1lbnRhdGlvbi4gUG9ydCBpdCBhcyBhIGdzdHJlYW1lcgoJICBlbGVtZW50IGFuZCBtYWtlIHVzZSBvZiBnc3RyZWFtZXIgc3BlY2lmaWMgZmVhdHVyZXMgKGdhcCBhd2FyZSwgZGlzY29udHMsCgkgIGNvbnRyb2xsZXIsIC4uLikuCgoyMDExLTExLTIxIDEzOjM3OjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgdXBkYXRlIGZvciBhY3RpdmF0aW9uIGNoYW5nZXMKCjIwMTEtMTEtMjEgMTI6MDI6MjggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiByZXNldCB0YWdzZXR0ZXIgaW50ZXJmYWNlIG9uIHN0b3AKCjIwMTEtMTEtMjEgMTE6NDQ6MDEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBoYW5kbGUgTlVMTCBwYWNrZXRzICh1c2VkIGZvciBQTEMpCgoyMDExLTExLTIxIDExOjI4OjEwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogbGlnaHQgY2xlYW51cAoKMjAxMS0xMS0yMCAxMzowNzoyNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1c3BhcnNlOiBwYXJzZSByYXcgb3B1cyBwYWNrZXRzCgoyMDExLTExLTIwIDA5OjU4OjA2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZG8gbm90IHB1c2ggaGVhZGVyIGJ1ZmZlcnMKCSAgT3B1cyBoZWFkZXJzIGFwcGVhciBvbmx5IHdoZW4gbXV4ZWQgaW4gT2dnLCBzbyBvbmx5IHBsYWNlIHRoZW0KCSAgb24gdGhlIGNhcHMsIHdoZXJlIG9nZ211eCB3aWxsIGZpbmQgdGhlbSwgYnV0IG90aGVyIGVsZW1lbnRzIHdpbGwKCSAgYmUgYmxpdGhlbHkgdW5hd2FyZSBvZiB0aGVtLgoKMjAxMS0xMS0yMCAwOTo1Mjo0NiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuaDoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5oOgoJICBvcHVzOiBtYWtlIG9wdXNwYXJzZSBzZXQgaGVhZGVycyBvbiBjYXBzCgkgIEhlYWRlci1vbi1jYXBzIGNvZGUgbW92ZWQgdG8gYSBuZXcgc2hhcmVkIGxvY2F0aW9uIHRvIGF2b2lkCgkgIGR1cGxpY2F0aW5nIHRoZSBjb2RlLgoKMjAxMS0xMS0yMSAxMDo1NDo1NiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IFBvcnQgdG8gbmV3IHBhZCBmdW5jdGlvbiBzaWduYXR1cmVzCgoyMDExLTExLTIxIDA4OjIwOjE0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc21vb3RoL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5oOgoJICBzbW9vdGg6IHBvcnQgdG8gMC4xMAoJICBQb3J0IGZyb20gR3N0RWxlbWVudCB0byBHc3RWaWRlb0ZpbHRlci4gRml4IEZJWE1Fcy4gQ2xlYW51cCBuYW1pbmcuIEV4cG9zZSBsZWZ0CgkgIG91dCBwcm9wZXJ0eSAoa3VtYS1vbmx5KS4KCjIwMTEtMTEtMjAgMjA6MTY6MDMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcGFzc3Rocm91Z2gvLmdpdGlnbm9yZToKCSogZ3N0L3Bhc3N0aHJvdWdoL01ha2VmaWxlLmFtOgoJKiBnc3QvcGFzc3Rocm91Z2gvZmlsdGVyLmZ1bmM6CgkqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOgoJKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guaDoKCSogZ3N0L3Bhc3N0aHJvdWdoL3Bhc3N0aHJvdWdoLnZjcHJvajoKCSAgcGFzc3Rocm91Z2g6IHJlbW92ZSBvYnNvbGV0ZSBlbGVtZW50CgkgIEl0IGlzIG5vdCBidWlsdCBieSBkZWZhdWx0LiBXZSBoYXZlIGlkZW50aXR5IGZvciBzb21lIG9mIHRoZSBuZWVkcyBhbmQgb3RoZXJ3aXNlCgkgIGF1ZGlvL3ZpZGVvZmlsdGVyIGJhc2UgY2xhc3Nlcy4KCjIwMTEtMTEtMjAgMjA6MDg6NDcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvZmlsdGVyL2ZpbHRlci52Y3Byb2o6CgkqIGdzdC9maWx0ZXIvZ3N0ZmlsdGVyLmM6CgkqIGdzdC9maWx0ZXIvZ3N0ZmlsdGVyLmg6CgkqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6CgkqIGdzdC9maWx0ZXIvZ3N0aWlyLmg6CgkqIGdzdC9maWx0ZXIvaWlyLmM6CgkqIGdzdC9maWx0ZXIvaWlyLmg6CgkgIGZpbHRlcjogcmVtb3ZlIGZpbHRlciBwbHVnaW4KCSAgV2UgZG9uJ3QgYnVpbGQgaXQgYW55d2F5IGFuZCB3ZSBoYXZlIGF1ZGlvaWlyZmlsdGVyIGluIGdvb2QuCgoyMDExLTExLTIwIDIwOjA2OjI5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2ludGVyL2dzdGludGVyLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuYzoKCSAgaW50ZXI6IGZpeCBsZWZ0b3ZlciBib2lsZXJwbGFjZSBjb21tZW50cwoKMjAxMS0xMS0xOCAwMzozMTozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBbHNvIHJlc2V0IHZpZGVvL2F1ZGlvIGZpbHRlcnMgYmVmb3JlIGNhcHR1cmluZwoJICBWaWRlbyBhbmQgYXVkaW8gY3VzdG9tIGZpbHRlciBlbGVtZW50IHNob3VsZCBhbHNvIGJlIHJlc2V0IGJlZm9yZQoJICBzdGFydGluZyBhIG5ldyBjYXB0dXJlLCBvdGhlcndpc2Ugd2UgZ2V0IHdyb25nLXN0YXRlIGVycm9ycwoKMjAxMS0xMS0xOSAxNTo1ODowOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGZpeCB0ZXJtaW5hdGluZyBOVUwgYmVpbmcgd3JpdHRlbiBpbiBzaWduYXR1cmUKCjIwMTEtMTEtMTYgMTk6NDA6MjAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBtYWtlIGZyYW1lLXNpemUgYW4gZW51bQoJICBJdCBvbmx5IHN1cHBvcnRzIGEgc2V0IG51bWJlciBvZiBzcGVjaWZpYyB2YWx1ZXMgKGluY2x1ZGluZwoJICBhIG5vbiBpbnRlZ2VyIG9uZSkuCgoyMDExLTExLTE2IDE5OjIyOjQ0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogdGhlIGVuY29kZXIgbWlnaHQgbm90IG1ha2UgdXNlIG9mIGFsbCB0aGUgYnl0ZXMKCjIwMTEtMTEtMTggMTk6Mjg6MjYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJICBvcGVuY3Y6IHVzZSBjYXBzIGNvbnN0YW50cyBtb3JlCgoyMDExLTExLTE4IDE5OjE5OjMyICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSAgb3BlbmN2OiBmaXh1cCBkb2MgYmxvYnMKCjIwMTEtMTEtMTggMTk6MTU6MjYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5oOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJICBvcGVuY3Y6IGZpeHVwIGdvYmplY3QgbmFtaW5nIGNvbnZlbnRpb25zCgoyMDExLTExLTE4IDE3OjU5OjQ3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgdXBkYXRlIGZvciBuZXcgc2NoZWR1bGluZyBxdWVyeQoKMjAxMS0xMS0xOCAxNzoxODowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHJlbW92ZSByZWR1bmRhbnQgY29kZQoJICAuLi4gbm93IHRoYXQgd2hhdCBzaG91bGQgbm90IGJlIG5lZWRlZCBpcyByZWFsbHkgbm90IG5lZWRlZCBhbnltb3JlIHRvIGNvdmVyCgkgIHVwIGJvZ3VzIHN0dWZmIHRoYXQgaGFzIGJlZW4gRklYTUVkLgoKMjAxMS0xMS0xOCAxMjozMjoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCB1cCBBVSBjb2xsZWN0aW9uIHByb2Nlc3NpbmcKCSAgT24gdGhlIG9uZSBoYW5kLCBubyBuZWVkIHRvIGNvbGxlY3QgbmFsIGlmIHByb2Nlc3NpbmcgbGFzdCBvbmUuCgkgIE9uIHRoZSBvdGhlciBoYW5kLCBlbnN1cmUgQVUgY29sbGVjdGlvbiBwcm9jZXNzaW5nIHRvIGhhdmUgc3VmZmljaWVudAoJICBuZXh0IE5BTCBkYXRhIGluIG5vcm1hbCBjYXNlcy4KCSAgRml4ZXMgIzY2MzE4MC4KCjIwMTEtMTEtMTggMTU6MTI6NDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBtaW5kIHRvLWJlLXNraXBwZWQgZGF0YSBpbiBzdWJzZXF1ZW50IHJlLXVzZWQgb2Zmc2V0cwoKMjAxMS0xMS0xOCAxNToxMDo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGF2b2lkIGFkZGl0aW9uYWwgTkFMIHBhcnNpbmcgaWYgbm8gQVUgY29sbGVjdGlvbiBpcyBuZWVkZWQKCjIwMTEtMTEtMTggMTU6MTA6MjUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBzb21lIG1vcmUgZ2V0X2NhcHMgdHdlYWtpbmcKCSAgLi4uIGJ5IGhhdmluZyBpdCB1c2Ugc2luayB0ZW1wbGF0ZSByYXRoZXIgdGhhbiBzcmMgdGVtcGxhdGUsIGFuZCBub3QKCSAgcGFzc2luZyBhbiBkb3duc3RyZWFtIHBhcnNlZCg9dHJ1ZSkgdG8gdXBzdHJlYW0uCgoyMDExLTExLTE4IDE1OjA3OjAxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBoMjY0cGFyc2VyOiBpbml0aWFsaXplIGFkZGl0aW9uYWwgc3BzIGZpZWxkIHZhbHVlCgkgIEZpeGVzICM2NjM1NTIuCgoyMDExLTExLTE4IDEzOjU4OjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgYWRkIHBhcmVudCB0byBhY3RpdmF0ZSBmdW5jdGlvbnMKCjIwMTEtMTEtMTggMTI6Mzg6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJICBmaXggZm9yIHNjaGVkdWxpbmcgbW9kZSByZW5hbWUKCjIwMTEtMTEtMTggMDg6Mjk6MzEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlZXJvZGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jOgoJICBvcGVuY3Y6IHJlbW92ZSBlbXB0eSBmaW5hbGl6ZSBpbXBsZW1lbnRhdGlvbnMKCjIwMTEtMTEtMTcgMjM6MDM6MDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYW1yd2JlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5oOgoJICB2b2FtcndiZW5jOiBwb3J0IHRvIGF1ZGlvZW5jb2RlcgoKMjAxMS0xMS0xNyAyMzowMjo1NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IHNvbWUgY29kZSBzaHVmZmxlIGNsZWFudXAKCjIwMTEtMTEtMTcgMjM6MDI6MzkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmg6CgkgIHZvYWFjZW5jOiBwb3J0IHRvIGF1ZGlvZW5jb2RlcgoKMjAxMS0xMS0xNyAyMzowMjozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRlbmM6IHByb3Blcmx5IHJlcG9ydCBlcnJvciBjYXNlCgoyMDExLTExLTE3IDIzOjAyOjE3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuaDoKCSAgY2VsdGRlYzogcmVtb3ZlIHVudXNlZCBpbnN0YW5jZSB2YXJpYWJsZQoKMjAxMS0xMS0xNyAxMDozMzo0MiAtMDgwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBPbmx5IGNhbGwgOjpyZXNldCBvbmNlIGluIFJFQURZLT5QQVVTRUQKCjIwMTEtMTEtMTcgMTc6MzI6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jCgkgIGV4dC9vcHVzL2dzdG9wdXNkZWMuYwoJICBleHQvb3B1cy9nc3RvcHVzZGVjLmgKCSAgZXh0L29wdXMvZ3N0b3B1c2VuYy5jCgkgIGV4dC9vcHVzL2dzdG9wdXNlbmMuaAoJICBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYwoKMjAxMS0xMS0xNyAxNTo1Mzo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIGFkZCBwYXJlbnQgdG8gcGFkIGZ1bmN0aW9ucwoKMjAxMS0xMS0xNyAxMDowNzozNCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSAgbGlicy1kb2NzOiBhZGQgLURHU1RfVVNFX1VOU1RBQkxFX0FQSQoKMjAxMS0xMS0xNyAwOTo1NjozNCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZTogcG9ydCBmb3IgcGFkX3F1ZXJ5IGFwaSBjaGFuZ2UKCjIwMTEtMTEtMTcgMDg6MjU6MjggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJICBjb2xsZWN0cGFkczogcG9ydCBBUEkgY2hhbmdlcwoKMjAxMS0xMS0xNiAyMDo1MzoxMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuaDoKCSAgZmFjZWRldGVjdDogZGV0ZWN0IGZhY2UgZmVhdHVyZXMKCSAgQWxzbyBkZXRlY3QgbW91dGgsIG5vc2UgYW5kIGV5ZXMuIERyb3AgZmFjZXMgdGhhdCBkb24ndCBoYXZlIHRoZW0uIEZpeGVzIGxlYWtpbmcgdGhlCgkgIGNhc2NhZGVzLiBBZGRzIG1vcmUgZG9jcy4KCjIwMTEtMTEtMTYgMjA6NTE6MjcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0Lmg6CgkgIGZhY2VkZXRlY3Q6IEdzdGZhY2VkZXRlY3QgLT4gR3N0RmFjZWRldGVjdAoKMjAxMS0xMS0xNCAxMTowNTo0NCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBmYWNlZGV0ZWN0OiBjb2RlIG1haW50ZW5hbmNlCgkgIFVwZGF0ZSBleGFtcGxlIHRvIGJlIHVzZWZ1bC4gRHJhdyBjb2xvcmVkIGVsbGlwc2VzIGluc3RlYWQgb2YgdW5pY29sb3IgY2lyY2xlcy4KCSAgUmVmbG93IGNvZGUgZm9yIG1vcmUgbG9jYWwgdmFyaWFibGVzLiBJbXByb3ZlIHBhcmFtZXRlciBkZXNjcmlwdGlvbnMuCgoyMDExLTExLTE2IDEwOjU3OjU1IC0wODAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogQ2hhbmdlIHJhbmsgdG8gUFJJTUFSWSsxCgoyMDExLTExLTE2IDEwOjQ1OjUyIC0wODAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogRG9uJ3QgcmVxdWlyZSBwYXJzZWQ9ZmFsc2Ugb24gdGhlIHNpbmtwYWQgY2FwcwoKMjAxMS0xMS0xNiAxODo0OTowMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGRvIG5vdCBpbmNsdWRlIHZhcmlhYmxlIGZpZWxkcyBpbiBjYXBzCgkgIFRob3NlIGNhbiB2YXJ5IGZyb20gb25lIHBhY2tldCB0byB0aGUgbmV4dCwgc28gaGF2ZSBubyByZWFzb24KCSAgdG8gYmUgaW4gdGhlIGNhcHMuCgoyMDExLTExLTE2IDE4OjQzOjUzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZml4IGNvbnN0cmFpbmVkLXZiciBwcm9wZXJ0eSBuYW1lIHR5cG8KCjIwMTEtMTEtMTYgMTA6Mzg6NDkgLTA4MDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBJbXBsZW1lbnQgOjpzaW5rX2dldF9jYXBzIHRvIGFsbG93IHN0cmVhbS1mb3JtYXQgY29udmVyc2lvbiBhZ2FpbgoJICBKdXN0IHByb3h5aW5nIHRoZSBkb3duc3RyZWFtIGNhcHMgd2lsbCBwcmV2ZW50IGgyNjRwYXJzZSBmcm9tCgkgIGFjY2VwdGluZyBhIGRpZmZlcmVudCBzdHJlYW0tZm9ybWF0IHRoYW4gd2hhdCBpcyBzdXBwb3J0ZWQKCSAgZG93bnN0cmVhbSwgYWx0aG91Z2ggaXQgY291bGQgY29udmVydCB0byBhIGRpZmZlcmVudCBzdHJlYW0tZm9ybWF0LgoKMjAxMS0xMS0xNiAxODozNToyOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSAgb3B1c2RlYzogbGV0IHRoZSBiYXNlIGNsYXNzIGhhbmRsZSBhbGwgdGltaW5nCgoyMDExLTExLTE2IDE5OjE4OjUwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5oOgoJICBjZWx0ZGVjOiBwb3J0IHRvIGF1ZGlvZGVjb2RlcgoKMjAxMS0xMS0xNiAxOToxMToyNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9NYWtlZmlsZS5hbToKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmg6CgkgIGNlbHRlbmM6IHBvcnQgdG8gYXVkaW9lbmNvZGVyCgoyMDExLTExLTE1IDE5OjUzOjMzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9nc3RvcHVzLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuaDoKCSAgb3B1c3BhcnNlOiBhZGQgb3B1c3BhcnNlIGVsZW1lbnQKCSAgQSB2ZXJ5IHNpbXBsZSBlbGVtZW50IHRoYXQgcGFyc2VzIE9wdXMgc3RyZWFtcyBmcm9tIHRoZSBhZCBob2MKCSAgZnJhbWluZyB1c2VkIGJ5IHRoZSBPcHVzIHRlc3QgdmVjdG9ycy4KCjIwMTEtMTEtMTYgMTc6MjQ6MjAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBhbGxvdyBuZWdvdGlhdGlvbiBvZiByYXRlL2NoYW5uZWxzIHdpdGggZG93bnN0cmVhbQoJICBTaW5jZSBhbiBvcHVzIHN0cmVhbSBtYXkgYmUgZGVjb2RlZCB0byBhbnkgKHNlbnNpYmxlKSByYXRlLAoJICBhbmQgZWl0aGVyIHN0ZXJlbyBvciBtb25vLCB3ZSB0cnkgdG8gYWNjb21vZGF0ZSBkb3duc3RyZWFtLgoKMjAxMS0xMS0xNiAxNzowNToxNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSAgb3B1c2RlYzogcmV3cml0ZSBsb2dpYwoJICBQYXJhbWV0ZXJzIHN1Y2ggYXMgZnJhbWUgc2l6ZSwgZXRjLCBhcmUgdmFyaWFibGUuIFByZXR0eSBtdWNoCgkgIGV2ZXJ5dGhpbmcgY2FuIGNoYW5nZSB3aXRoaW4gYSBzdHJlYW0sIHNvIGJlIHByZXBhcmVkIGFib3V0IGl0LAoJICBhbmQgZG8gbm90IGNhY2hlIHBhcmFtZXRlcnMgaW4gdGhlIGRlY29kZXIuCgoyMDExLTExLTE2IDE2OjU2OjQzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkgIG9wdXM6IHBvcnQgdG8gYmFzZSBhdWRpbyBlbmNvZGVyL2RlY29kZXIKCjIwMTEtMTEtMTYgMTc6Mjg6MTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIGFkZCBwYXJlbnQgdG8gcXVlcnkgZnVuY3Rpb24KCjIwMTEtMTEtMTYgMTM6MjY6MzUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBhbGxvdyBuZWdvdGlhdGlvbiBvZiByYXRlL2NoYW5uZWxzIHdpdGggZG93bnN0cmVhbQoJICBTaW5jZSBhbiBvcHVzIHN0cmVhbSBtYXkgYmUgZGVjb2RlZCB0byBhbnkgKHNlbnNpYmxlKSByYXRlLAoJICBhbmQgZWl0aGVyIHN0ZXJlbyBvciBtb25vLCB3ZSB0cnkgdG8gYWNjb21vZGF0ZSBkb3duc3RyZWFtLgoKMjAxMS0xMS0xNiAwMToxNDozMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSAgb3B1c2RlYzogcmV3cml0ZSBsb2dpYwoJICBQYXJhbWV0ZXJzIHN1Y2ggYXMgZnJhbWUgc2l6ZSwgZXRjLCBhcmUgdmFyaWFibGUuIFByZXR0eSBtdWNoCgkgIGV2ZXJ5dGhpbmcgY2FuIGNoYW5nZSB3aXRoaW4gYSBzdHJlYW0sIHNvIGJlIHByZXBhcmVkIGFib3V0IGl0LAoJICBhbmQgZG8gbm90IGNhY2hlIHBhcmFtZXRlcnMgaW4gdGhlIGRlY29kZXIuCgoyMDExLTExLTE1IDIzOjAwOjMyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJICBvcHVzZGVjOiByZW1vdmUgYnVmZmVyIHBvb2wsIGJ1ZmZlcnMgYXJlIG5vdCBjb25zdGFudCBzaXplCgoyMDExLTExLTE1IDE5OjUzOjMzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9nc3RvcHVzLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuaDoKCSAgb3B1c3BhcnNlOiBhZGQgb3B1c3BhcnNlIGVsZW1lbnQKCSAgQSB2ZXJ5IHNpbXBsZSBlbGVtZW50IHRoYXQgcGFyc2VzIE9wdXMgc3RyZWFtcyBmcm9tIHRoZSBhZCBob2MKCSAgZnJhbWluZyB1c2VkIGJ5IHRoZSBPcHVzIHRlc3QgdmVjdG9ycy4KCjIwMTEtMTEtMTYgMTI6NDY6MDQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L1RPRE86CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEFkZCBub3RlcyBvbiBzeW5jaHJvbml6YXRpb24gYW5kIHNjaGVkdWxpbmcKCjIwMTEtMTEtMTYgMTI6NDA6NTggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkgIHVwZGF0ZSBmb3IgcmVuYW1lZCBmbGFncwoJICBVc2UgdGhlIF9jaGVja19yZWNvbmZpZ3VyZSBtZXRob2QgaW5zdGVhZCBvZiBjaGVja2luZyBmbGFncy4KCjIwMTEtMTEtMTYgMTA6NTY6MjQgKzAxMDAgIEpvbmFzIExhcnNzb24gPGpvbmFzQGhhbGxlcnVkLnNlPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBvdXRnb2luZyBieXRlIHN0cmVhbSBwcmVmaXggYWx3YXlzIGhhcyBzaXplIDQKCSAgRml4ZXMgIzY2NDEyMy4KCjIwMTEtMTEtMTUgMTc6NDk6NDggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBmaXggcG9pbnRlciBtaXNtYXRjaCBpbiBtZW1jcHkgb24gZHJhaW4KCjIwMTEtMTEtMTUgMTc6NTU6NTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBfcXVlcnlfcGVlcl8qKCkgLT4gX3BlZXJfcXVlcnlfKigpCgoyMDExLTExLTE1IDE3OjI0OjA3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIF9wZWVyX2dldF9jYXBzKCkgLT4gX3BlZXJfcXVlcnlfY2FwcygpCgoyMDExLTExLTE1IDE2OjM0OjEzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBjaGFuZ2UgZ2V0Y2FwcyB0byBxdWVyeQoKMjAxMS0xMS0xNCAxMTozMDoxMyArMDEwMCAgRGF2aWQgS2luZyA8YW1pZ2FkYXZlQGFtaWdhZGF2ZS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IERvY3VtZW50IHJlcXVpcmVtZW50IGZvciBQTEFZSU5HIHN0YXRlCgkgIEFzIGRlc2NyaWJlZCBpbiBHTk9NRSBidWcgNjYzOTk4LCB0aGUgZWxlbWVudCBtdXN0IGJlIGluIHRoZSBQTEFZSU5HCgkgIHN0YXRlIGJlZm9yZSBjYWxsaW5nIGNhcHR1cmUtc3RhcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQwNDgKCjIwMTEtMTEtMTQgMTg6MzQ6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRml4IHNvbWUgcmFjeW5lc3MgaW4gdGVzdHMKCSAgRml4IHNvbWUgcmFjeW5lc3MgYXMgdGhlIHRlc3Qgd2FzIGNoZWNraW5nIHRoZSBpZGxlIHByb3BlcnR5CgkgIHJpZ2h0IGFmdGVyIGl0IGdvdCB0aGUgcHJldmlldyBtZXNzYWdlIGZvciB2aWRlbyByZWNvcmRpbmdzLiBJbiBzb21lCgkgIGNvbmRpdGlvbnMsIGl0IG1pZ2h0IGhhcHBlbiB0aGF0IGNhbWVyYWJpbjIgc3RpbGwgaGFzbid0IGRlY3JlbWVudGVkCgkgIHRoZSBwcm9jZXNzaW5nIGNvdW50ZXIgYWZ0ZXIgcG9zdGluZyB0aGUgcHJldmlldyBhbmQvb3IgdGhlIGltYWdlL3ZpZGVvLWRvbmUKCSAgbWVzc2FnZSBhbmQgdGhlIHRlc3Qgd2lsbCBnZXQgaWRsZT1mYWxzZSBhbmQgZmFpbC4KCSAgVGhlIGFwcHJvYWNoIGZvciBjaGVja2luZyBmb3IgdGhlIGlkbGUgcHJvcGVydHkgd2FzIGEgYnVzeSBsb29wIHdpdGgKCSAgYSBzbGVlcC4gRmFyIGZyb20gZWxlZ2FudCwgYnV0IGdvb2QgZW5vdWdoIGZvciB0aGVzZSB0ZXN0cy4KCjIwMTEtMTEtMTQgMTY6NTU6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWxzbyByZXNldCBhdWRpbyBlbGVtZW50cyB3aGVuIHZpZGVvIGNhcHR1cmUgZmluaXNoZXMKCSAgQXVkaW8gZWxlbWVudHMgYWxzbyBuZWVkIHRvIGJlIHJlc2V0IGFmdGVyIGVhY2ggY2FwdHVyZSwgZG8gaXQKCSAgdG9nZXRoZXIgd2l0aCB0aGUgdmlkZW8gZWxlbWVudHMnIHJlc2V0CgoyMDExLTExLTExIDA5OjU4OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZCBvbmUgZGVidWcgbGluZSBhYm91dCBjYW1lcmFiaW4yIGJlaW5nIGlkbGUKCjIwMTEtMTEtMTAgMTY6NTM6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBSZW1vdmUgdmlkZW8gZWxlbWVudHMnIHN0YXRlIGNsZWFyaW5nIGZyb20gc3RhcnQtY2FwdHVyZQoJICBSZWR1Y2Ugc3RhcnQtY2FwdHVyZSB3b3JrbG9hZCBieSBtb3ZpbmcgdGhlIGVsZW1lbnRzJyBzdGF0ZSByZXNldGluZyB0byB0aGUKCSAgZmluaXNoaW5nIHN0ZXBzIG9mIHRoZSBjYXB0dXJlLiBUaGlzIHJlZHVjZXMgdGhlIHRpbWUgc3RhcnQtY2FwdHVyZSB0YWtlcyB0bwoJICBhY3R1YWxseSBzdGFydCBhIGNhcHR1cmUgYW5kIHJldHVybiB0byBpdHMgY2FsbGVyLCBpbXByb3ZpbmcgdXNlciBleHBlcmllbmNlLgoJICBBcyB0aGUgZWxlbWVudHMnIHN0YXRlIHJlc2V0IGlzIG5vdyB0cmlnZ2VyZWQgZnJvbSB0aGUgbWVzc2FnZSBoYW5kbGluZwoJICBmdW5jdGlvbiwgaXQgbmVlZHMgdG8gc3Bhd24gYSBuZXcgdGhyZWFkLCBjaGFuZ2luZyBzdGF0ZSBmcm9tIHRoZSBwYWQncwoJICB0YXNrIHdvdWxkIGNhdXNlIGEgZGVhZGxvY2suCgoyMDExLTExLTEwIDE2OjExOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjoga2VlcCB0cmFjayBvZiB2aWRlbyByZWNvcmRpbmcgc3RhdGUKCSAgQWRkcyBhIG5ldyB2YXJpYWJsZSB0byBrZWVwIHRyYWNrIG9mIHRoZSBzdGF0ZSBvZiB0aGUgdmlkZW8KCSAgcmVjb3JkaW5nIGluIGNhbWVyYWJpbjIuIFRoaXMgYWxsb3dzIHN0YXJ0LWNhcHR1cmUgdG8gcmVqZWN0CgkgIG5ldyB2aWRlbyByZWNvcmRpbmcgcmVxdWVzdHMgd2hlbiBvbmUgaXMgYWxyZWFkeSBvbmdvaW5nLiBUaGlzCgkgIGZpeGVzIG9uZSBvZiBjaGVjayB0ZXN0cy4KCjIwMTEtMTEtMTQgMTM6NDE6NTggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSAgb3B1czogcG9ydCB0byBlbmNvZGVyL2RlY29kZXIgYmFzZSBjbGFzc2VzCgoyMDExLTExLTAzIDE0OjA5OjUyICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBtcGVndmlkZW9wYXJzZTpDb3JyZWN0IHRoZSBza2lwcGluZyBvZiB2YnZfZGVsYXkgaW4gcGljdHVyZSBoZWFkZXIgYW5kIHNvbWUgdHlwbyBmaXhlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzMwOQoKMjAxMS0xMS0xMyAyMzo1NTo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBVcGRhdGUgZm9yIEdzdFVSSUhhbmRsZXIgZ2V0X3Byb3RvY29scygpIGNoYW5nZXMKCjIwMTEtMTEtMTEgMTc6NDY6NDEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1czogcG9ydCB0byAwLjExCgoyMDExLTExLTEwIDE1OjEzOjM0ICswMjAwICBNYXJ0IFJhdWRzZXBwIDxsZWlvQGdlbnRvby5vcmc+CgoJKiBleHQvbWltaWMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkqIHN5cy9hY21tcDNkZWMvTWFrZWZpbGUuYW06CgkqIHN5cy9saW5zeXMvTWFrZWZpbGUuYW06CgkgIG1pbWljLCBvcGVuY3YsIHZwOCwgYWNtbXAzZGVjLCBsaW5zeXM6IERvbid0IGJ1aWxkIHN0YXRpYyBwbHVnaW5zCgkgIFBhc3MgLS10YWc9ZGlzYWJsZS1zdGF0aWMgdG8gbGlidG9vbCBldmVyeXdoZXJlIHdoZXJlIGl0J3MgYmVlbiBmb3Jnb3R0ZW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mzc2OAoKMjAxMS0xMS0xMSAxMDozOToxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMTAgMTk6NDI6NDAgLTAzMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuaDoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGFkZCBzdXBwb3J0IGZvciBwcm9ncmVzc2l2ZSBmcmFtZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mzc4MgoKMjAxMS0xMS0wOSAyMDowOTowMSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogcG9ydCB0byAwLjExCgoyMDExLTExLTEwIDE4OjM0OjAzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZTogUmVtb3ZlIHF1ZXJ5X3R5cGVzCgoyMDExLTExLTEwIDE4OjM0OjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMS0xMCAxODoyNTo1MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgdXBkYXRlIGZvciBhZGFwdGVyIGFwaSBjaGFuZ2UKCjIwMTEtMTEtMTAgMTc6MTM6NDAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBmaXggYmFuZHdpZHRoIHByb3BlcnR5IHR5cGUgbWlzbWF0Y2gKCjIwMTEtMTEtMTAgMTI6MTQ6MTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTExLTEwIDEyOjExOjIxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9lbGVtZW50OgoJICBjaGFpbiB1cCBpbiBzZXRfY2xvY2sKCjIwMTEtMTEtMDkgMTI6MjE6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBwcm90ZWN0IGltYWdlIGxvY2F0aW9uIGxpc3Qgd2l0aCBtdXRleAoJICBSZW5hbWUgdGhlIGltYWdlIHRhZ2xpc3RzJyBtdXRleCBpbnRvIGltYWdlIGNhcHR1cmUgbXV0ZXggYW5kCgkgIHVzZSBpdCBhbHNvIGZvciB0aGUgaW1hZ2UgY2FwdHVyZSBsaXN0IHRvIHByZXZlbnQgY29uY3VycmVudAoJICBhY2Nlc3MgZnJvbSBkaWZmZXJlbnQgdGhyZWFkcyAoYXBwbGljYXRpb24gYW5kIGNhcHR1cmUgdGhyZWFkcykuCgoyMDExLTExLTA5IDExOjQ1OjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEhhbmRsZSBudWxsIHRhZ2xpc3RzIGZvciBpbWFnZXMKCSAgQWRkIE5VTEwgYW5kIGNoZWNrIGZvciB0aGVtIHRvIHRoZSBpbWFnZSBjYXB0dXJlIHRhZ2xpc3QgbGlzdCwgcmVwcmVzZW50aW5nCgkgIHRoYXQgYSBjYXB0dXJlIGhhcyBubyBhcHBsaWNhdGlvbiB0YWdzIHNldC4KCjIwMTEtMTEtMDkgMTE6MTc6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRG9uJ3Qgc3RvcmUgcHJldmlldyBsb2NhdGlvbiBpZiBwcmV2aWV3IGlzbid0IHJlcXVlc3RlZAoJICBEbyBub3Qgc3RvcmUgcHJldmlldyBsb2NhdGlvbiBpcyBwb3N0LXByZXZpZXdzIGlzIGZhbHNlLCB0aGlzIHdvdWxkCgkgIG1lc3MgdXAgcHJldmlldyBuYW1pbmcgaW4gY2FzZSBhcHBsaWNhdGlvbiBzd2l0Y2hlcyBiZXR3ZWVuIGVuYWJsaW5nCgkgIGFuZCBkaXNhYmxpbmcgcHJldmlld3MKCjIwMTEtMTEtMDkgMDk6NDE6NDQgLTAzMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBBdm9pZCBibG9ja2luZyBpbiBzdGFydC1jYXB0dXJlIGFuZCBzZW5kIGFwcGxpY2F0aW9uIHRhZ3MgbGF0ZXIKCSAgVGFncyBhcmUgY3VycmVudGx5IHNlbnQgZnJvbSBzdGFydC1jYXB0dXJlLCB3aGljaCBpcyBydW4gaW4gdGhlCgkgIGFwcGxpY2F0aW9uIHRocmVhZC4gRm9yIGltYWdlcyB3ZSBjYW4gZGVsYXkgdGhlIHRhZ3MgcHVzaGluZyB0byB0aGUKCSAgYnVmZmVyIHByb2JlIGFuZCBwdXNoIHRoZSB0YWdzIHdpdGggdGhlIGxvY2F0aW9uIGV2ZW50IGFuZCByZWR1Y2UKCSAgc3RhcnQtY2FwdHVyZSB0aW1lLgoKMjAxMS0xMS0wOSAxMjoyNDozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMDkgMTI6MTk6MDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jCgoyMDExLTExLTA5IDEyOjAwOjA1ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgZml4IGRvY3VtZW50YXRpb24gdHlwbwoKMjAxMS0xMS0wOSAxMTo1NjowNyArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBmaXggY29tcGlsZXIgd2FybmluZyBmb3IgdW5pbml0aWFsaXplZCB2YWx1ZXMKCjIwMTEtMTEtMDkgMTE6NTU6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICByZW1vdmUgcXVlcnkgdHlwZXMKCjIwMTEtMTEtMDQgMTc6NTQ6MDQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIGR0bWZzcmM6IFJlamVjdCBzdGFydC9zdG9wIHJlcXVlc3RzIHRoYXQgY29tZSBvdXQgb2Ygb3JkZXIKCjIwMTEtMTAtMjkgMTg6MjQ6MjYgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogUG9zdCBtZXNzYWdlcyB3aGVuIHN0YXJ0aW5nIHRvIHNlbmQvcmVjZWl2ZSBEVE1GCgkgIFRoaXMgd2F5LCB0aGUgVUkgY2FuIGRpc3BsYXkgdGhlIERUTUYgZXZlbnRzIGFzIHRoZXkgYXMgYmVpbmcgc2VudC4KCjIwMTEtMTEtMDggMDg6MDg6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRGVjcmVtZW50IHByb2Nlc3NpbmcgY291bnRlciB3aGVuIG1lc3NhZ2UgaGFuZGxpbmcgZmluaXNoZXMKCSAgU29tZSBtZXNzYWdlcyBtaWdodCBiZSBpbnRlcmVzdGluZyB0byBhcHBsaWNhdGlvbnMsIHNvIHdlIGNhbiBvbmx5CgkgIGRlY3JlbWVudCB0aGUgcHJvY2Vzc2luZyBjb3VudGVyIGFuZCBzZW5kIHRoZSBpZGxlIG5vdGlmaWNhdGlvbgoJICB3aGVuIHRob3NlIG1lc3NhZ2VzIGFyZSBwb3N0ZWQgb24gdGhlIHBpcGxpbmUncyBidXMKCjIwMTEtMTEtMDggMDc6MzM6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogdXBkYXRlIHRlc3RzIHRvIHNldCBwb3N0LXByZXZpZXdzIHRvIHRydWUKCSAgTWFrZXMgbW9zdCBvZiBjYW1lcmFiaW4yIHRlc3RzIHBhc3MgYWdhaW4KCjIwMTEtMTEtMDggMTE6Mjg6NDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLXBsYXllci5jOgoJICB1cGRhdGUgZm9yIHByb2JlIGFwaSBjaGFuZ2VzCgoyMDExLTExLTA4IDA3OjA5OjQxIC0wMzAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IGNoYW5nZSBwb3N0LXByZXZpZXdzIHByb3BlcnR5IGRlZmF1bHQgdmFsdWUgYXMgZmFsc2UKCSAgR2VuZXJhdGluZyBhbmQgcG9zdGluZyBwcmV2aWV3IGltYWdlIGFsd2F5cyBjb21lcyB3aXRoIGEgcGVyZm9ybWFuY2UKCSAgcGVuYWx0eSBzbyBzZXQgZGVmYXVsdCB2YWx1ZSBhcyBmYWxzZS4gVGhlIHByZXZpZXctY2FwcyBwcm9wZXJ0eSB0aGF0CgkgIGRlZmluZXMgdGhlIHByZXZpZXcgaW1hZ2UgZm9ybWF0IGlzIGFsc28gTlVMTCBieSBkZWZhdWx0LCBzbyBpbnN0ZWFkCgkgIG9mIGdlbmVyYXRpbmcgcHJldmlldyBpbWFnZSBvZiB1bnNwZWNpZmllZCBmb3JtYXQgYnkgZGVmYXVsdCBleHBsaWNpdAoJICBhY3Rpb24gZnJvbSBhcHBsaWNhdGlvbiBzaG91bGQgYmUgcmVxdWlyZWQgZm9yIGVuYWJsaW5nIHByZXZpZXcgaW1hZ2UKCSAgcG9zdGluZyBmZWF0dXJlLgoJICBBcHBsaWNhdGlvbiBhbHNvIGhhcyB0byBhZGQgY3VzdG9tIGNvZGUgdG8gYmUgYWJsZQoJICB0byBoYW5kbGUgcHJldmlldyBtZXNzYWdlcyBvbiBpdHMgbWVzc2FnZSBoYW5kbGluZyBmdW5jdGlvbiBhbnl3YXkuCgoyMDExLTExLTA3IDIwOjM5OjU2IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogQW5kcm9pZC5tazoKCSAgQWRkIEFuZHJvaWQgYnVpbGRzeXN0ZW0gaG9va3MgZm9yIGNvZGVjcGFyc2VycwoKMjAxMS0xMS0wMSAyMDozNzoxNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IGZpeCByMjEwIHdyaXRpbmcgb25seSBoYWxmIGEgc2NhbmxpbmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzIwMwoKMjAxMS0xMS0wNyAxNjo0MTo0MiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkgIGFkcGNtOiBhZGQgbW9yZSBjb25zdHMsIGVzcGNpYWxseSBmb3Igc3RhdGljIGNvbnN0IGRhdGEKCjIwMTEtMTEtMDcgMTc6MTM6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZkYmFzZWJpbjogZml4IGZvciBwYWQgcHJvYmVzIHVwZGF0ZQoKMjAxMS0xMS0wMyAxODo1NToyNCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IG1lcmdlIGNhcHMgaW5zdGVhZCBvZiB1c2luZyB1bmlvbgoJICBJdCdzIGEgbG90IGZhc3RlciwgYW5kIHByZXNlcnZlcyBjYXBzIG9yZGVyaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzMzQ2CgoyMDExLTEwLTI3IDE1OjUzOjQ4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuaDoKCSAgdGlnZXI6IGFkZCBhICdzaWxlbnQnIHByb3BlcnR5IHRvIHNraXAgcmVuZGVyaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI4NTcKCjIwMTEtMDgtMjkgMTM6MDA6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWdkZW11eDogY2F0Y2ggc2VjdGlvbiBsZW5ndGhzIGV4dGVuZGluZyBwYXN0IHRoZSBidWZmZXIgbGVuZ3RoCgkgIFRoaXMgaXMgcHJvYmFibHkgdGhlIGNhdXNlIGZvciBhbiBvY2Nhc2lvbmFsIGNyYXNoIHdoaWxlIHN0cmVhbWluZwoJICBNUEVHLiBCbGluZCBmaXggYWZ0ZXIgc3RhcmluZyBhdCB0aGUgY29kZSBhbmQgZm9sbG93aW5nIGxvZ2ljLCBzbwoJICBtYXkgb3IgbWF5IG5vdCBmaXggdGhlIGlzc3VlLCBJIGNhbm5vdCB0ZXN0LgoKMjAxMS0xMC0yMCAxMDo0Mjo0MiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmRzcmM6IGRvIG5vdCB0cnkgdG8gc2VlayBiZWZvcmUgdGhlIGZpcnN0IGNoYXB0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU4OTA2NAoKMjAxMS0xMC0wNSAxODozMDoyMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRlbmM6IGZpeCBsYXRlbmN5IHF1ZXJ5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTY0MjEKCjIwMTEtMTAtMDUgMTg6MjU6NTggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBmaXggbGF0ZW5jeSBxdWVyeQoJICBUaGlzIG1ha2VzIGxpdmUgJ2F1ZGlvc3JjICEgb3B1c2VuYyAhIG9wdXNkZWMgISBhdWRpb3NpbmsnIHBpcGVsaW5lcwoJICBhY3R1YWxseSB3b3JrIHdpdGhvdXQgYWxsIGF1ZGlvIGJlaW5nIGR1bXBlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDk5OQoKMjAxMS0xMC0wNSAxNTo0NzowNiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IHVzZSBkZWJ1ZyBsZXZlbCBmb3IgZGVidWcgaW5mbywgbm90IGVycm9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjA5OTkKCjIwMTEtMDktMjkgMTQ6MjI6NTMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBmaXggY2FsY3VsYXRpb24gb2YgZmlsbGVyIGRhdGEgc2l6ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwNDY5CgoyMDExLTA5LTI5IDE0OjIyOjMzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZml4IGNhbGN1bGF0aW9uIG9mIGZpbGxlciBkYXRhIHNpemUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDQ2OQoKMjAxMS0xMC0wMyAxODoyODoxNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJICBtcGVncHNkZW11eDogZml4IHplcm8gbGVuZ3RoIHBhY2tldCBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMxNDE2CgoyMDExLTExLTAyIDEyOjQxOjU0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIHRlc3RzOiBtYXJrIHRlc3QgaW5wdXQgZGF0YSBjb25zdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzMjM1CgoyMDExLTExLTAyIDEyOjQxOjMwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIG1wZWd2aWRlb3BhcnNlcjogaW5wdXQgZGF0YSBpcyBjb25zdCwgbWFyayBpdCBzbwoKMjAxMS0xMS0wMiAxMjozODozMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd2aWRlb3BhcnNlci5jOgoJICB0ZXN0czogYWxsb3cgYnVpbGRpbmcgd2l0aCBvbGRlciB2ZXJzaW9ucyBvZiBnbGliIChnX2xpc3RfZnJlZV9mdWxsKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzMjM0CgoyMDExLTExLTA3IDEwOjAyOjAwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMS0wNCAxODowNjo1MSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgRml4IG1pc3Npbmcgc291cmNlcyBvbiBiYXllcidzIGJ1aWxkc3lzdGVtIGFuZHJvZ2VuaXplciBjYWxsCgoyMDExLTExLTA0IDE4OjUyOjM1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2x2Mi9NYWtlZmlsZS5hbToKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkqIGV4dC9zb3VuZHRvdWNoL3BsdWdpbi5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9wbHVnaW4uYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9maWx0ZXIvZ3N0ZmlsdGVyLmM6CgkqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6CgkqIGdzdC9mcmVpMHIvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RwbHVnaW4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3Qvc3RlcmVvL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOgoJKiBnc3Qvc3ViZW5jL2dzdHdlYnZ0dGVuYy5jOgoJKiB0ZXN0cy9pY2xlcy9waXRjaC10ZXN0LmM6CgkgIGNvbnRyb2xsZXI6IHBvcnQgdG8gbmV3IGNvbnRyb2xsZXIgbG9jYXRpb24gYW5kIGFwaQoKMjAxMS0xMS0wNCAxNjozNDoxMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBtb3JlIHRlbXBsYXRlIGZpeGVzCgoyMDExLTExLTA0IDE2OjIzOjAzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmM6CgkgIGV4YW1wbGVzIDogUG9ydCB0byAwLjExCgoyMDExLTExLTA0IDEzOjA0OjE5ICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZXI6IGFkZCBtb3JlIHNpemUgY2hlY2tzIGFuZCBpbXByb3ZlIGV4aXN0aW5nCgkgIERvbid0IHN1YnRyYWN0IHdpdGggdW5zaWduZWQgdmFsdWVzLCB0aGF0IHdpbGwgYml0ZSB1cy4gQWxzbyBmaXggZm9ybWF0CgkgIHNwZWNpZmllciBpbiB0aGUgbG9nIG1lc3NhZ2UuCgoyMDExLTExLTA0IDEyOjMxOjE5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzZm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGxleC5jOgoJICBtb3JlIHRlbXBsYXRlIGZpeGVzCgoyMDExLTExLTA0IDEyOjIyOjM3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RpbnB1dHNlbGVjdG9yLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgbWFrZSByZXF1ZXN0IHBhZHMgdGFrZSBfJXUKCjIwMTEtMTEtMDQgMTE6MjQ6NTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlY29udmVydGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlY29udmVydGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZW1ldGEuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb250ZXh0Lmg6CgkgIHZpZGVvOiBwb3J0IHNvbWV3aGF0IHRvIDAuMTEKCSAgSW4gMC4xMSB0aGlzIHNob3VsZCBiZSBkb25lIGRpZmZlcmVudGx5CgoyMDExLTExLTA0IDExOjAxOjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMS0wNCAxMDoxNzozOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IEZpeCBmb3IgcmVtb3ZhbCBvZiBnc3RfZWxlbWVudF9mb3VuZF90YWdzX2Zvcl9wYWQoKQoKMjAxMS0xMS0wMyAxNzoxNzoxMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlY29udmVydGVyLmg6CgkgIHN1cmZhY2Vjb252ZXJ0ZXI6IFJlbW92ZSBkdXBsaWNhdGVkIGZvcndhcmQgZGVjbGFyYXRpb24KCSAgSXQgc2VlbXMgdGhhdCBzb21lIGNvbXBpbGVycyBkb24ndCBsaWtlIGR1cGxpY2F0ZWQgdHlwZWRlZnMuCgoyMDExLTExLTAzIDE2OjU3OjI5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgdmlkZW9lbmM6IGZpeCBjb21waWxlciB3YXJuaW5nCgoyMDExLTExLTAzIDE2OjU3OjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIHZpZGVvOiBmaXggZm9yIG1ldGFkYXRhIEFQSSBjaGFuZ2UKCjIwMTEtMTEtMDMgMTQ6MDE6NDEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDg6IFBvcnQgdG8gMC4xMQoKMjAxMS0xMS0wMyAxMzo1Njo0OSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgbGlicy92aWRlbzogRmluaXNoIHBvcnRpbmcgdG8gMC4xMQoKMjAxMS0wOS0yOCAxOToyOTowNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFzZXZpZGVvLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhc2V2aWRlby5wYy5pbjoKCSAgdmlkZW86IEFkZCBsaWJnc3RiYXNldmlkZW8gUEMgZmlsZQoKMjAxMS0xMC0xOSAxNjoxOTo1MSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb250ZXh0Lmg6CgkgIHZpZGVvOiBBZGQgR3N0VmlkZW9Db250ZXh0IGludGVyZmFjZQoJICBUaGlzIGludGVyZmFjZSB3aWxsIGJlIHVzZWQgdG8gaW1wbGVtZW50IHZpZGVvIGNvbnRleHQgc2hhcmluZy4gVGhvc2UKCSAgY29udGV4dCBjb3VsZCBiZSBYMTEgRGlzcGxheSwgVmFEaXNwbGF5LCBldGMuCgoyMDExLTEwLTA3IDE5OjA1OjMwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlY29udmVydGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlY29udmVydGVyLmg6CgkgIHZpZGVvOiBBYnN0cmFjdCBzdXJmYWNlIEFQSSBmb3IgSFcgYWNjZWxlcmF0ZWQgY29kZWNzCgoyMDExLTEwLTI2IDE2OjMxOjM5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvdmMxcGFyc2VyLmM6CgkgIHRlc3RzOiBtYWtlIGNvbnN0IGRhdGEgY29uc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mjc3NgoKMjAxMS0xMC0yNiAxNjoyOTozNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICB2YzFwYXJzZXI6IGRvIG5vdCBvdmVyd3JpdGUgYnVmZmVyCgkgIEkgZG8gbm90IGtub3cgdGhlIGJpdHN0cmVhbSBmb3JtYXQsIGJ1dCB0aGlzIHNlZW1zIGxpa2VseQoJICB0byBiZSB3aGF0IHdhcyBpbnRlbmRlZC4gQWxzbyBhZGQgYSBjaGVjayBvbiB0aGUgbnVtYmVyIG9mCgkgIGl0ZW1zIHRvIHJlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI3NzYKCjIwMTEtMTAtMjEgMTM6MTg6MjYgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIHZjMXBhcnNlcjogZml4IHBhcnNpbmcgb2YgUkFOR0VSRURGUk0KCjIwMTEtMTEtMDIgMTI6MTA6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgdGFnOiB1cGRhdGUgZm9yIHRhZyBBUEkgcmVtb3ZhbAoKMjAxMS0xMS0wMiAxMDozMToyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMDIgMDk6MTQ6NDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IHVwZGF0ZSBmb3IgdGFnbGlzdCBhcGkgY2hhbmdlcwoKMjAxMS0xMC0yOSAwOTowOToyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIHN0cnVjdHVyZTogZml4IGZvciBhcGkgdXBkYXRlCgoyMDExLTEwLTI5IDA4OjI1OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJICBjYXBzOiB1cGRhdGUgZm9yIG5ldyBBUEkKCjIwMTEtMTEtMDEgMTE6NDc6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogT24gY2FwdHVyZSBlcnJvciwgc2tpcCBwcmV2aWV3cwoJICBXaGVuIHRoZSBjYW1lcmEgc291cmNlIGZhaWxzIHRvIGRvIHNvbWUgY2FwdHVyZSwgc2tpcCB0aGUgbmV4dAoJICBwcmV2aWV3IGFuZCBkZWNyZW1lbnQgcHJvY2Vzc2luZyBjb3VudGVyLgoKMjAxMS0xMS0wMSAxMDozODozMyAtMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiB0cmFjayBhbHNvIHByZXZpZXcgaW1hZ2VzIHdpdGggcHJvY2Vzc2luZyBjb3VudGVyCgkgIE1ha2VzIGNhbWVyYWJpbjIgb25seSBzaWduYWwgdGhhdCBpdCBpcyBpZGxlIGFmdGVyIGFsbCBwcmV2aWV3cyBoYXZlCgkgIGJlZW4gZ2VuZXJhdGVkLCBpbWFnZXMgYXJlIGNhcHR1cmVkIGFuZCBzYXZlZCwgYW5kIHZpZGVvcyBoYXZlCgkgIGJlZW4gZmluaXNoZWQgcHJvcGVybHkuCgoyMDExLTExLTAxIDE1OjA4OjI2ICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZXI6IGZpeCBhY2Nlc3MgdG8gdW5pbml0aWFsaXplZCBtZW1vcnkKCSAgV2hlbiB2dWktPnRpbWluZ19pbmZvX3ByZXNlbnQgaXMgMCwgdnVpLT5maXhlZF9mcmFtZV9yYXRlX2ZsYWcgYW5kIG90aGVycwoJICBjYW5ub3QgYmUgYWNjZXNzZWQgc2luY2UgdGhleSBoYXZlIG5vdCBiZWVuIHNldC4KCSAgSXQgd2FzIGFsc28gcG9zc2libGUgdGhhdCBzcHMtPmZwc197bnVtLGRlbn0gZW5kIHVwIGluaXRpYWxpemVkIGhlcmUuCgoyMDExLTExLTAxIDExOjExOjQ3ICswMDAwICBCcmFkIFNtaXRoIDxicmFkQGNvbXN0eWxlLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBoYWNrIGFyb3VuZCBicm9rZW4gbXBsZXggMi4wLjAgaGVhZGVycyBpbiBtcGxleCBjaGVjawoJICBEdWUgdG8gdGhlIGFkZGl0aW9uIG9mIGFuIHVuY29uZGl0aW9uYWwgaW5jbHVzaW9uIG9mIGNvbmZpZy5oIGluCgkgIG1qcGVndG9vbCAyLjAuMCdzIHN0cmVhbV9wYXJhbXMuaCBoZWFkZXIgdGhlIGF1dG9jb25mIHRlc3QgZm9yIHRoZQoJICBtcGxleCBtb2R1bGUgZmFpbGVkLiBIYWNrIGFyb3VuZCB0aGlzIGluIHRoZSBzYW1lIHdheSB3ZSBkaWQgZm9yCgkgIG1wZWcyZW5jLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYxNjE0CgoyMDExLTExLTAxIDExOjA5OjUyICswMDAwICBCcmFkIFNtaXRoIDxicmFkQGNvbXN0eWxlLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggdHlwbyBpbiBtcGVnMmVuYyBjaGVjayBzbyBDUFBGTEFHUyBnZXQgcmVzdG9yZWQgY29ycmVjdGx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjE2MTQKCjIwMTEtMTEtMDEgMTI6Mjk6MzUgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlcjogZml4IE1BWF9TUFMvUFBTIGJvdW5kYXJ5IGNoZWNrcwoKMjAxMS0xMS0wMSAxMjoxMjo1NiArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjRwYXJzZS5jOgoJICB0ZXN0czogaDI2NHBhcnNlOiBmaXggZXhpdCBjb2RlCgoyMDExLTExLTAxIDAwOjQ1OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuaDoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSAgVXBkYXRlIGZvciBwYWQgQVBJIGNoYW5nZXMKCSAgR3N0UHJvYmVUeXBlLCBHc3RQcm9iZVJldHVybiBhbmQgR3N0QWN0aXZhdGVNb2RlIC0+IEdzdFBhZCoKCjIwMTEtMTAtMjggMTE6MTA6MDYgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSAgZmllbGRhbmFseXNpczogRG9uJ3QgcmVzZXQgdGhlIGNvbnRleHQgb24gRElTQ09OVAoJICBPbiBkaXNjb250LCB0aGUgcXVldWUgb2YgZnJhbWVzIHdhcyBiZWluZyBjbGVhcmVkLCBidXQgYWxzbyB0aGUKCSAgY29udGV4dCByZXNldC4gV2Ugb25seSBuZWVkIHRvIGNsZWFyIHRoZSBxdWV1ZS4KCjIwMTEtMTAtMzEgMTQ6NTE6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgoyMDExLTEwLTMxIDE0OjUxOjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBrYXRlLCBiYXllciwgdHNkZW11eDogdXBkYXRlIGZvciBjYXBzIGFuZCB0YWdsaXN0IEFQSSBjaGFuZ2VzCgoyMDExLTEwLTMxIDE0OjUwOjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhZGQga2F0ZSBhbmQgbXl0aHR2IHRvIG5vbi1wb3J0ZWQgbGlzdAoJICBrYXRldGlnZXIgaXNuJ3QgcG9ydGVkLCBzbyBwbHVnaW4gZG9lc24ndCBidWlsZCBpZiBsaWJ0aWdlciBpcyBwcmVzZW50LgoKMjAxMS0xMC0zMSAxMTozNjowNiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IGhhbmRsZSBmYWlsdXJlcyBpbiBzdGFydCgpIGFuZCBzdG9wKCkKCjIwMTEtMTAtMzEgMDY6NTk6NTMgLTAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPHRvbW1pLm15b2hhbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuaDoKCSAgYmFzZWNhbWVyYXNyYzogb3B0aW1pemUgc3RhdGUgY2hhbmdpbmcgc3BlZWQKCSAgQ3JlYXRlIHByZXZpZXcgcGlwZWxpbmUgYWxyZWFkeSBpbiBpbml0aWFsaXphdGlvbiBwaGFzZS4gVGhpcyBzcGVlZHMKCSAgdXAgTlVMTF9UT19SRUFEWSBzdGF0ZSBjaGFuZ2UuIEFsc28gaW1wbGVtZW50IGEgc2VwYXJhdGUgZnVuY3Rpb24gZm9yCgkgIHNldHRpbmcgdGhlIHByZXZpZXcgZmlsdGVyIGVsZW1lbnQuCgkgIFRoaXMgYWxzbyByZXN0cmljdHMgdGhlIHByZXZpZXcgZmlsdGVyIHByb3BlcnR5IHRvIHdvcmsgb25seSBvbgoJICBOVUxMIHN0YXRlLgoKMjAxMS0xMC0yOCAxNToxNjo0MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1ha2UgZWxlbWVudHMgY29tcGlsZSBhZ2FpbgoKMjAxMS0xMC0yNyAxNjoyMzoyNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggY29tcGlsYXRpb24KCjIwMTEtMTAtMjcgMTY6MjM6MTAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IGZpeCBjb21waWxhdGlvbgoKMjAxMS0xMC0yNyAxNjoyMjo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYWRkIHNwYW5kc3AgdG8gbm9uLXBvcnRlZAoKMjAxMS0xMC0yNyAxNjoxMzo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTAtMjEgMTU6MDQ6MDUgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbmNvbG9yYmFsYW5jZS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbmNvbG9yYmFsYW5jZS5oOgoJICBpbnRlcmZhY2VzOiBjbGVhbiB1cCB0aGUgdXNlIG9mIGlmYWNlIGFuZCBjbGFzcy9rbGFzcwoKMjAxMS0xMC0xOSAxMDoyNDo1MiArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgdmMxcGFyc2VyOiBDb3JyZWN0IHRoZSBwYXJzaW5nIG9mIEZSTVJUUV9QT1NUUFJPQyBhbmQgQklUUlRRX1BPU1RQUk9DCgoyMDExLTEwLTIxIDExOjQwOjU0ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICB2YzFwYXJzZXI6IENvcnJlY3QgdGhlIHBhcnNpbmcgb2Ygc2VxdWVjZSBsYXllci4KCjIwMTEtMTAtMjAgMDk6Mzk6MTkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBBbmRyb2lkLm1rOgoJICBEaXNhYmxlIGV4dC9mYWFkIGZvciB0aGUgYW5kcm9pZCBuZGsgYnVpbGQKCSAgSXQgY3VycmVudGx5IG1ha2VzIHRoZSBidWlsZCBmYWlsLiBJZGVhIGlzIHRvIGVuYWJsZQoJICBpdCBiYWNrIGFnYWluIG9uY2UgaXRzIGJ1aWxkaW5nIHByb2JsZW1zIGdldCBzb3J0ZWQKCSAgb3V0LgoKMjAxMS0xMC0xOCAxNDo0MTo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSAgYXNzcmVuZGVyLCBudXZkZW11eDogdW5yZWYgYnVmZmVycyB3aXRoIGdzdF9idWZmZXJfdW5yZWYoKQoKMjAxMS0xMC0xOCAxNDozMjowNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTAtMTggMTQ6Mjg6MDQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkgIGNlbHQ6IHN0YXJ0IG9mIDAuMTEgcG9ydAoKMjAxMS0xMC0xNCAxMTowNzowMCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBWQzE6IENvbXB1dGUgcGFyIGFuZCBmcHMgaW4gYWR2YW5jZWQgcHJvZmlsZQoKMjAxMS0xMC0xMCAxNDoxOTo0OCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBWQzE6IEhhbmRsZSBpbnRlcmxhY2VkIGZpZWxkcwoKMjAxMS0xMC0xMCAxMDoxNDoxMiAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBWQzE6IEhhbmRsZSBpbnRlcmxhY2VkIGZyYW1lcyBwcm9wZXJseQoKMjAxMS0xMC0wNyAxMzoxMTo1NSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBWQzE6IFVzZSBlbnVtcyB3aGVuIHBvc3NpYmxlCgkgIEFkZCBHc3RWQzFGcmFtZUNvZGluZ01vZGUgYW5kIHVzZSBpdCBmb3IgdGhlIGZjbSBmaWVsZAoJICBVc2UgR3N0VkMxUGljdHVyZVR5cGUgYXMgdmFyaWFibGUgdHlwZSBmb3IgcHR5cGUKCSAgVXNlIEdzdFZDMUxldmVsIGFzIHZhcmlhYmxlIHR5cGUgZm9yIGxldmVsCgoyMDExLTEwLTA3IDE3OjQyOjE3ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZml4IGJpdHBsYW5lcyBkZWNvZGluZyAoY2hlY2sgZm9yIGVycm9ycykuCgoyMDExLTEwLTA3IDE1OjIxOjM0ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZml4IGJpdHBsYW5lcyBkZWNvZGluZyAoSU5WRVJUIG1vZGUpLgoKMjAxMS0xMC0wNyAxMzo1OToyOSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBNVk1PREUgYW5kIE1WTU9ERTIgcGFyc2luZy4KCjIwMTEtMTAtMDUgMTc6Mzk6NTkgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBoYW5kbGUgc2tpcHBlZCBwaWN0dXJlcyBncmFjZWZ1bGx5LgoKMjAxMS0xMC0wNCAxNzozOTo0MiAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBWQzE6IEltcGxlbWVudCBiaXRwbGFuZXMgZGlmZiBvcGVyYXRvcgoKMjAxMS0xMC0wNCAxNzozOTowMCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBWQzE6IFNvbWUgY29zbWV0aWNzIGFuZCBkZWJ1ZyBsb2dnaW5nIGVuaGFuY2VtZW50cwoKMjAxMS0xMC0wNCAxNToxNjowNCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSogdGVzdHMvY2hlY2svbGlicy92YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IEltcGxlbWVudCBiaXRwbGFuZXMgaGFuZGxpbmcgcHJvcGVybHkKCSAgQWRkIGEgbmV3IEdzdFZDMUJpdFBsYW5lcyBBUEkuCgoyMDExLTEwLTA0IDE0OjA0OjQyICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZml4IEJGUkFDVElPTiBwYXJzZXIgKHZhbHVlcyByYW5nZSArIG92ZXJmbG93KS4KCjIwMTEtMTAtMDQgMTE6NTc6MzcgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBmaXggVkxDIGRlY29kaW5nLgoKMjAxMS0xMC0wNSAxNjo0MDo0NyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBWQzE6IEltcGxlbWVudCBGcmFtZUxheWVyIHBhcnNpbmcKCjIwMTEtMTAtMDUgMTI6MTU6MDAgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvdmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogVkMxOiBJbXBsZW1lbnQgU2VxdWVuY2UgTGF5ZXIgRGF0YSBTdHJ1Y3R1cmVzCgkgIEluc3RlYWQgb2YgaGF2aW5nIGEgc2luZ2xlIFZDMVNlcXVlbmNlSGVhZGVyIHN0cnVjdHVyZSwgdXNlIHRoZSAzIHN0cnVjdHMKCSAgZnJvbSB0aGUgIlRhYmxlIDI2NTogU2VxdWVuY2UgTGF5ZXIgRGF0YSBTdHJ1Y3R1cmUiIG9mIHRoZSBzcGVjaWZpY2F0aW9uCgkgIGZvciB0aGUgbGlicmFyeSB0byBiZSBtb3JlIGZsZXhpYmxlLgoJICBJbXBsZW1lbnQgdGhlIGZ1bmN0aW9ucyB0byBwYXJzZSB0aGVtCgoyMDExLTEwLTA1IDA4OjI2OjMxIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IFZDMTogQ29tcHV0ZSBmcmFtZXJhdGUgYW5kIGJpdHJhdGUgaW4gc2ltcGxlL21haW4gcHJvZmlsZXMKCjIwMTEtMTAtMDMgMTQ6MjU6MDAgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvdmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogVkMxOiBjb21wdXRlIE1CIGhlaWdodCBhbmQgd2lkdGgKCSAgQWRkIHRoZW0gdG8gR3N0VkMxU2VxdWVuY2VIZHIKCjIwMTEtMTAtMDMgMTU6MzY6MDggKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBkZWJ1ZyBjb3NtZXRpY3MuCgoyMDExLTEwLTAzIDExOjQyOjMyICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogcmVjb3JkIHBpY3R1cmUgbGF5ZXIgaGVhZGVyIHNpemUgaW4gYml0cy4KCjIwMTEtMTAtMDMgMTE6MTQ6MjUgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBjb21wdXRlIGFsdHBxdWFudC4KCjIwMTEtMTAtMDMgMTQ6MjI6MTcgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIHRlc3RzL2NoZWNrL2xpYnMvdmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogVkMxOiBGaXggYWZ0ZXIgR3N0VkMxUGFyc2VyUmVzdWx0IHJlbmFtaW5nCgoyMDExLTA5LTMwIDEyOjQxOjEzICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogdXNlIEdzdFZDMVBhcnNlclJlc3VsdCB0eXBlIG5hbWUgc2ltaWxhcmx5IHRvIG90aGVyIHBhcnNlcnMuCgoyMDExLTA5LTMwIDExOjM4OjE1ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogaGFuZGxlIEVuZC1vZi1TZXF1ZW5jZSBjb3JyZWN0bHkuCgoyMDExLTA5LTE0IDE0OjIxOjQ3ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IG1wZWcyOiBmaXggcXVhbnRfbWF0cml4X2V4dGVuc2lvbigpIHBhcnNlciBmb3IgY2hyb21hIGludHJhIFFNLgoKMjAxMS0xMC0xMyAxNjo1Mjo0MyArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBjb3JyZWN0IGRlYnVnIG1lc3NhZ2UgYW5kIHJlbW92ZSBzb21lIGRlYWQgY29kZQoJICBTZWUgIzY2MTExMy4KCjIwMTEtMTAtMDYgMTY6NTU6NDMgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogY29ycmVjdCBwYXJzaW5nIG9mICJudW1iZXJPZlBpY3R1cmVQYXJhbWV0ZXJTZXRzIgoJICBTZWUgIzY2MTExMy4KCjIwMTEtMTAtMTcgMTA6MTk6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICBiYXllcjJyZ2I6IEZpeCBwYWQgdGVtcGxhdGUgY2FwcwoKMjAxMS0xMC0xNiAxNzo0MTo0NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuaDoKCSAgeTRtOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMTYgMTY6NDU6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogcG9ydCB0byAwLjExCgoyMDExLTEwLTE2IDE2OjI4OjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5oOgoJICBiYXllcjogcG9ydCB0byAwLjExCgoyMDExLTEwLTE2IDE1OjI4OjMxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMC0xMyAxNjo1NzozMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBVc2UgZ3N0X2J1ZmZlcl9qb2luIGluc3RlYWQgb2YgYnVmZmVybGlzdHMKCSAgVGhpcyBpcyAqcmVhbGx5KiBpbmVmZmljaWVudC4gV2Ugc2hvdWxkIHRyYWNrIGxpc3Qgb2YgR3N0TWVtb3J5CgkgIGluc3RlYWQuCgoyMDExLTEwLTEzIDE2OjU3OjE3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFBsdWcgbW9yZSBsZWFrcwoKMjAxMS0xMC0xMyAxNjo1NTo1NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBSZWZhY3RvciBzY2FuIGxvb3AKCSAgQXZvaWRzIGVuZGluZyB1cCBsZWFraW5nIHBhY2tldHMgd2hlbiB3ZSBnb3Qgb25lIGFuZCByZXMgd2FzIGRpZmZlcmVudAoJICBmcm9tIEdTVF9GTE9XX09LLgoJICBJdCBhbHNvIGxvb2tzIG1vcmUgY29tcHJlaGVuc2libGUKCjIwMTEtMTAtMTMgMTY6NTU6NDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogRG9uJ3QgbGVhayB1cHN0cmVhbSBldmVudHMKCjIwMTEtMTAtMTMgMTY6NTU6MDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogUmVmYWN0b3IgY29kZSB0byBjb3BlIHdpdGggZ19oYXNoX3RhYmxlX2ZvcmVhY2hfcmVtb3ZlKCkKCjIwMTEtMTAtMTIgMTg6MDU6MDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgdHNkZW11eC90c3BhcnNlOiBQb3J0IHRvIDAuMTEKCSAgVGhpcyBpcyBhIG5haXZlIHBvcnQgdGhhdCBzb21ld2hhdCB3b3JrcyBidXQgaXMgaW5lZmZpY2llbnQuCgkgIEkgbmVlZCB0byByZXRoaW5rIGhvdyB0byBtYWtlIHRoZSBiZXN0IG91dCBvZiBHc3RNZW1vcnkvR3N0QnVmZmVyCgoyMDExLTEwLTEyIDEyOjA5OjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IENoZWNrIGJlZm9yZSBhY2Vzc2luZyBwcmV2aWV3IGxvY2F0aW9uIGxpc3QKCSAgT25seSBhY2Nlc3MgdGhlIHByZXZpZXcgbG9jYXRpb24gaWYgaXQgZXhpc3RzLCB0byBhdm9pZCBhY2Vzc2luZwoJICBhIE5VTEwgdmFyaWFibGUuIElmIHRoZSBwcmV2aWV3IGxvY2F0aW9uIGxpc3QgZG9lc24ndCBleGlzdCwgaXQgaXMKCSAgbGlrZWx5IGJlY2F1c2UgdGhlIHNvdXJjZSBoYXMgcG9zdGVkIGEgcHJldmlldyBtZXNzYWdlIGFmdGVyIGNhbWVyYWJpbjIKCSAgaGFzIGJlZW4gcHV0IHRvIFJFQURZLgoKMjAxMS0wOC0wNyAxNzowMTo0OCArMDIwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmg6CgkgIHNobTogQWRkIGJ1ZmZlci10aW1lIHByb3BlcnR5CgkgIEFkZCBhIGJ1ZmZlci10aW1lIHByb3BlcnR5IHRvIGxpbWl0IHRoZSBzaXplIG9mIHRoZSBhbW91bnQgb2YgZGF0YQoJICBxdWV1ZWQgaW4gdGhlIHNobXNpbmsgYnVmZmVyIGluIG5hbm9zZWNvbmRzLgoJICBGaXhlczogIzY1NjEwNwoKMjAxMS0wOC0wNyAxNjozNjozMiArMDIwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSogc3lzL3NobS9zaG1waXBlLmg6CgkgIHNobTogQWRkIGFiaWxpdHkgdG8gYWRkIHVpbnQ2NCB0YWdzIG9uIGJ1ZmZlcnMKCjIwMTEtMTAtMTEgMjM6MzA6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogU2V0IHByZXZpZXcgcGlwZWxpbmUgdG8gcmVhZHkgd2hlbiBnb2luZyB0byByZWFkeQoJICBUaGUgcHJldmlldyBwaXBlbGluZSBzaG91bGQgZ28gdG8gcmVhZHkgd2hlbiB0aGUgY2FtZXJhc3JjIGdvZXMKCSAgdG8gcmVhZHksIGFzIGluIHJlYWR5IGVsZW1lbnRzIHNob3VsZG4ndCBiZSBwcm9jZXNzaW5nIGRhdGEuCgoyMDExLTEwLTExIDIzOjEzOjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogQWRkIGEgbXV0ZXggdG8gYXZvaWQgY29uY3VycmVudCBhY2Nlc3Mgb2YgcHJldmlldyBmaWxlbmFtZSBsaXN0cwoJICBUaGUgcHJldmlldyBmaWxlbmFtZSBsaXN0IGlzIGFjZXNzZWQgd2hlbmV2ZXIgYSBuZXcgY2FwdHVyZSBpcyBzdGFydGVkLCB3aGVuCgkgIGNhbWVyYS1zb3VyY2UgcG9zdHMgYSBuZXcgcHJldmlldyBtZXNzYWdlIG9yIG9uIHN0YXRlIGNoYW5nZXMuIEFsbCBvZiB0aG9zZSBjYW4KCSAgb2NjdXIgc2ltdWx0YW5lb3VzbHksIHNvIGFkZCBhIG11dGV4IHRvIHByZXZlbnQgY29uY3VycmVudCBhY2Nlc3MuCgoyMDExLTEwLTA3IDEwOjQ4OjA3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFJlc2V0IGF1ZGlvc3JjIHRpbWVzdGFtcGluZwoJICBSZXNldCBhdWRpb3NyYydzIHRpbWVzdGFtcGluZyBkYXRhIGJ5IHNldHRpbmcKCSAgaXQgdG8gTlVMTCB0byByZXNldCB0aGUgcmluZ2J1ZmZlciBhbmQgdGhlbiByZS1zZXRpbmcKCSAgdGhlIGNsb2NrIHRoYXQgY2FtZXJhYmluIG1pZ2h0IG5vdCByZWRpc3RyaWJ1dGUKCjIwMTEtMTAtMTEgMTY6Mjc6MDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSAgY2FtZXJhYmluOiBQcmV2ZW50IGF1ZGlvIHNvdXJjZSBmcm9tIHByb3ZpZGluZyBjbG9jawoJICBjYW1lcmFiaW4ncyBhdWRpbyBzb3VyY2UgbWlnaHQgYmUgcHV0IHRvIE5VTEwgZHVyaW5nIGl0cwoJICB1c2UsIHNvIHRoZSBjbG9jayB3b3VsZCBiZSBsb3N0LiBCZXR0ZXIgbm90IGFsbG93IGl0IHRvCgkgIHByb3ZpZGUgYSBjbG9jayBhdCBhbGwuCgoyMDExLTEwLTExIDExOjA1OjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBvcGVuYWwgaXMgbm90IHBvcnRlZCB5ZXQKCjIwMTEtMTAtMTAgMTE6NDE6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmI6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xMCAxMDoxNTowNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5Lmg6CgkgIGR2YnN1Ym92ZXJsYXk6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wOCAxNToxNjoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LWNvbW1vbi5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5oOgoJICBkdmRzcHU6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wOCAxNDoyMjo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmg6CgkgIGthdGU6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wOCAxMzoxNDo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBkaXNhYmxlIGRpcmVjdGZiCgoyMDExLTEwLTA4IDEyOjA3OjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBleHQvemJhci9nc3R6YmFyLmg6CgkgIHpiYXI6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wOCAxMTo1Nzo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZTogcG9ydCB0byAwLjExCgoyMDExLTEwLTA4IDExOjQ2OjIzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJICBmbGl0ZTogcG9ydCB0byAwLjExCgoyMDExLTEwLTA4IDExOjQwOjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDggMTE6MTc6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTEwLTA2IDIzOjIyOjUxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5jOgoJICBleGFtcGxlczogRml4ZXMgZm9yIGNvbXBpbGluZyB3aXRoIEdUSysgMy4wCgkgIGNhbWVyYWJpbmcgZXhhbXBsZSBoYWQgYSBtaXNzaW5nICcpJyBhbmQgdGhlIGZpeCB0byBidWlsZCBhZ2FpbnN0IEdUSyszCgkgIHRoYXQgd2FzIGludHJvZHVjZWQgaW4gY29tbWl0IDUxNmM5NzdjNzZiYTRjZDg2YTcxNDdhYWI3NDE2YTMzZDc2Zjg3MGYKCSAgaXMgYWxzbyBhcHBsaWVkIHRvIHRoZSBjYW1lcmFiaW4yIGV4YW1wbGUuCgkgIFRoZSBzY2FsZXRlbXBvIGRlbW8gd2FzIHVzaW5nIEFQSSB3aGljaCBoYXMgYmVlbiByZW1vdmVkLCBzbyB0aGF0J3MKCSAgd3JhcHBlZCBpbiBhIHZlcnNpb24gY2hlY2suCgoyMDExLTEwLTA2IDE3OjU2OjM1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBiZWdpbm5pbmcgb2YgcG9ydCB0byAwLjExCgoyMDExLTEwLTA2IDEyOjE1OjQ1IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IE1ha2UgcHJvcGVyIHVzZSBvZiB0aGUgaDI2NHBhcnNlciBsaWIgaW4gcGFyc2VfY2hhaW4KCSAgTWlub3IgZGVidWdnaW5nIGxvZ3MgZml4ZXMKCjIwMTEtMTAtMDYgMTQ6MDU6NDIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTEwLTA2IDE0OjAzOjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wNiAxMjoyNToyNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHByb3Blcmx5IGludGVycHJldCBiYXNlcGFyc2UgZHJhaW5pbmcgc3RhdGUKCSAgLi4uIHdoaWNoIG1lYW5zIHRoZSBpbnB1dCBkYXRhIGhhcyByZWFjaGVkIHRoZSBlbmQsIGJ1dCBuZWVkIG5vdCBleGNsdWRlCgkgIG1hbnkgc2VwYXJhdGUgZnJhbWVzIG1heSBzdGlsbCBuZWVkIHBhcnNpbmcuCgkgIEZpeGVzIG1lcmdpbmcgTkFMcyBpbnRvIEFVLgoKMjAxMS0xMC0wNSAyMzoxNDoyMyArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBjb3JyZWN0IHRoZSBzaXplIGFyZ3VtZW50IG9mIGdzdF9oMjY0X3BhcnNlcl9pZGVudGlmeV9uYWx1X2F2YygpCgoyMDExLTEwLTA1IDEyOjA5OjA0ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IG1pbmltdW0gc2l6ZSBvZiBwYXJzYWJsZSBhdmNDIGRhdGEgc2hvdWxkIGJlIDgKCjIwMTEtMTAtMDYgMTA6NTg6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogcG9ydCB0byAwLjExCgoyMDExLTEwLTA1IDIwOjA2OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVnZm9ybWF0OiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDUgMTI6NTM6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBtb3JlIHBvcnRpbmcKCjIwMTEtMTAtMDQgMTg6NTQ6MTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgIG1tc3NyYzogcG9ydCB0byAwLjExCgoyMDExLTEwLTA0IDE4OjM4OjUwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkgIGRhdGF1cmlzcmM6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wNCAxODozNTozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhZGQgbW9yZSB1bnBvcnRlZCBwbHVnaW5zCgoyMDExLTEwLTA0IDE0OjMwOjUzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdF9lbGVtZW50X3ByaW50X3Byb3BlcnRpZXMuYzoKCSAgdGVzdHM6IHBvcnQKCjIwMTEtMTAtMDQgMTQ6Mjc6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIHZpZGVvOiBzdGFydCBwb3J0aW5nIHNvbWUgYmFzZSBjbGFzc2VzCgoyMDExLTEwLTA0IDE0OjI3OjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgdGVzdHM6IGZpeCBzb21lIHRlc3RzCgoyMDExLTEwLTA0IDE0OjI2OjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgcGhvdG9ncmFwaHk6IHJlbW9yZSBpbXBsZW1lbnQtaW50ZXJmYWNlCgoyMDExLTEwLTA0IDE0OjI1OjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFkZCBtb3JlIHVucG9ydGVkIHBsdWdpbnMKCjIwMTEtMTAtMDQgMTM6MzM6NTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wNCAxMzozMzowOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogdXNlIHJpZ2h0IGNhcHMKCjIwMTEtMTAtMDQgMTM6Mjk6MjEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTEwLTA0IDEyOjMxOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkgIHZpZGVvcGFyc2VyczogT25seSBmYWlsIHRvIGluaXRpYWxpemUgdGhlIHBsdWdpbiBpZiBhbGwgcGFyc2VycyBjYW4ndCBiZSByZWdpc3RlcmVkCgoyMDExLTEwLTAzIDE1OjI2OjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSAgY2FtZXJhYmluMjogSW5pdGlhbGl6ZSBjYW1lcmFiaW4yIHByZXZpZXcgcGlwZWxpbmUgZGF0YSB3aXRoIDAKCSAgVXNlIGdfbmV3MCB0byBpbml0aWFsaXplIGFsbCBmaWVsZHMgd2l0aCAwIHRvIG9ubHkgY2xlYW51cCB3aGF0IGhhcyBiZWVuCgkgIGluaXRpYWxpemVkLiBUaGlzIG1ha2VzIGNsZWFudXAgd29yayBjb3JyZWN0bHkgd2hlbiBzb21lIGluaXRpYWxpemF0aW9uCgkgIGZhaWxzIGFuZCBwb2ludGVycyBhcmUgbGVmdCBpbiBzb21lIGluY29uc2lzdGVudCBzdGF0ZS4KCjIwMTEtMTAtMDMgMTI6MDY6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSAgcnRwdnA4cGF5OiBGaXggdHlwbwoKMjAxMS0wOS0yMyAyMjo1ODozMCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuaDoKCSAgcnRwdnA4OiBVcGRhdGUgdGhlIHBheS9kZXBheSB0byB0aGUgaWV0Zi1kcmFmdC0wMSBzcGVjCgoyMDExLTEwLTAzIDExOjI0OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wOS0yOCAxNDo1NzowMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGZpeCBkZWNvZGluZwoJICBBIHNpbXBsZSAuLi4gb3B1c2VuYyAhIG9wdXNkZWMgLi4uIHBpcGVsaW5lIG5vdyB3b3Jrcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDM2NAoKMjAxMS0wOS0yOCAxNDo1NjoxOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IG1vYW4gaWYgd2UgZ2V0IGFuIHVuZXhwZWN0ZWQgYW1vdW50IG9mIGRhdGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDM2NAoKMjAxMS0wOS0yOCAxNDoyMjowMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1czogcHJvcGVybHkgc2V0dXAgY2FwcyBhbmQgaW5pdCBzdGF0ZSBmcm9tIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDM2NAoKMjAxMS0wOS0yOCAxMzoyNToyMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IHVzZSB0aGUgc2FtZSBmcmFtZSBzaXplIHNldHVwIGFzIHRoZSBvcHVzIHRlc3QgY29kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwMzY0CgoyMDExLTA5LTI4IDEzOjI0OjUyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogb3B1cyBzdXBwb3J0cyBhIHNlbGVjdCBzZXQgb2Ygc2FtcGxpbmcgcmF0ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDM2NAoKMjAxMS0wOS0yOCAxMzoyNDoyMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1czogbWFrZSBpdCBidWlsZCBhZ2FpbnN0IGN1cnJlbnQsIGFuZCByZW1vdmUgY3J1ZnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDM2NAoKMjAxMS0wOS0zMCAxODo1NDowNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggc2Nhbm5pbmcgc3RvcHBpbmcgdG9vIGVhcmx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDgyNDUKCjIwMTEtMDktMjkgMjA6NTU6MjIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAga2F0ZTogYXZvaWQgcmVuZGVyaW5nIHdoZW4gd2Uga25vdyB0aGVyZSBpcyBub3RoaW5nIHRvIHJlbmRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwNTI4CgoyMDExLTEwLTAxIDE0OjMwOjA3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIGthdGU6IGZpeCByYWNlIGNvbmRpdGlvbiBvbiBQQVVTRUQtPlJFQURZIHN0YXRlIGNoYW5nZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwNjMwCgoyMDExLTA5LTIxIDE0OjUzOjAxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiB0YWtlIGludG8gYWNjb3VudCBTQ1Igb2Zmc2V0IHdoZW4gc2Vla2luZwoJICBTaW5jZSB0aGUgc2Vla2luZyBieXRlIG9mZnNldCBpcyBjaG9zZW4gYnkgbGluZWFyIGludGVycG9sYXRpb24KCSAgZnJvbSBTQ1IgdmFsdWVzLCB3ZSBuZWVkIHRvIHRha2UgdGhhdCBmaXJzdCBTQ1IgaW50byBhY2NvdW50CgkgIHRvIGVuZCB1cCBuZWFyIHRoZSBjb3JyZWN0IG9mZnNldC4gT3RoZXJ3aXNlLCBhcyB0aGUgY29kZSBkb2VzCgkgIGEgbGluZWFyIHNlYXJjaCBhZnRlciB0aGF0IGZpcnN0IHNlZWssIGl0IHdpbGwgdGFrZSBhIExPT09PT09ORwoJICB0aW1lIHRvIGdldCB0aGVyZSBmb3Igc3RyZWFtcyB3aGljaCBkb24ndCBzdGFydCBhdCB6ZXJvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5NDg1CgoyMDExLTA5LTIxIDE3OjI5OjUyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogYW5zd2VyIHBvc2l0aW9uIHF1ZXJ5IHdpdGggYSBzdHJlYW0gdGltZSBwb3NpdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5NDg1CgoyMDExLTA5LTIwIDE1OjIxOjUzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdwc2RlbXV4OiByZW1vdmUgdW51c2VkIGZpZWxkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTk0ODUKCjIwMTEtMDktMjkgMTg6MjA6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogUmVmYWN0b3IgdGVzdHMgYSBsaXR0bGUKCSAgUmVmYWN0b3IgY2FtZXJhYmluMiB0ZXN0cyBhIGxpdHRsZQoKMjAxMS0wOS0yOSAxMzowMzowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBhZGRpbmcgdGVzdHMgdG8gY2hlY2sgZm9yIHByZXZpZXcgbWVzc2FnZSBmaWxlbmFtZXMKCSAgUHJldmlldyBtZXNzYWdlcyBub3cgaGF2ZSBmaWxlbmFtZXMsIGFkZCB0ZXN0cyB0byBjaGVjayB0aGF0IHRoZXkgYXJlCgkgIGNvcnJlY3QKCjIwMTEtMDktMjkgMTg6MDM6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IGFkZCBsb2NhdGlvbiB0byBwcmV2aWV3IGltYWdlIG1lc3NhZ2VzCgkgIE1ha2VzIGNhbWVyYWJpbjIgaW50ZXJjZXB0IHByZXZpZXctaW1hZ2UgbWVzc2FnZXMgYW5kIGFkZAoJICB0aGUgZmlsZW5hbWUgY29ycmVzcG9uZGluZyB0byB0aGUgbWVzc2FnZSBzdHJ1Y3R1cmUgaW4gdGhlCgkgICdsb2NhdGlvbicgZmllbGQuCgkgIE1ha2VzIGVhc2llciBmb3IgYXBwbGljYXRpb25zIHRvIHRyYWNrIHByZXZpZXcgaW1hZ2VzCgoyMDExLTA5LTI3IDEzOjA0OjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5oOgoJICBjYW1lcmFiaW4yOiByZW1vdmluZyBjYXBzZmlsdGVyIGZyb20gcHJldmlldyBwaXBlbGluZQoJICBhcHBzaW5rIGFscmVhZHkgaGFzIGEgY2FwcyBwcm9wZXJ0eSwgc28gd2UgZG9uJ3QgbmVlZCB0aGUKCSAgY2Fwc2ZpbHRlciBoZXJlCgoyMDExLTA5LTI5IDE2OjIyOjAwICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEZpeCBwb3RlbnRpYWwgbG9zcyBvZiBFT1MgZXZlbnQKCSAgU2V0dGluZyB0aGUgYXVkaW8gc291cmNlIHRvIE5VTEwganVzdCBhZnRlciBwdXNoaW5nIHRoZSBFT1MgZXZlbnQKCSAgb24gaXQgY291bGQgcG90ZW50aWFsbHkgY2F1c2UgbG9zcyBvZiBzYWlkIEVPUyBldmVudC4gSW5zdGVhZCwgd2UKCSAgY2FuIHNldCB0aGUgYXVkaW8gc291cmNlIHRvIE5VTEwgd2hlbiByZWFkeS1mb3ItY2FwdHVyZSBpcwoJICBzaWduYWxsZWQgYW5kIHRoZSBib29sZWFuIHZhbHVlIGlzIHRydWUgYXMgdGhpcyBpbmRpY2F0ZXMgd2UgYXJlCgkgIG5vdCBjdXJyZW50bHkgY2FwdHVyaW5nIHZpZGVvLgoKMjAxMS0wOS0yOCAxMzowMToyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhZGQgcG9ydGVkIGZhYWQgYW5kIHNkcCBlbGVtZW50cwoKMjAxMS0wOS0yOCAxMjo1NDozOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkgIHBob3RvZ3JhcGh5OiByZW1vdmUgaW1wbGVtZW50cy1pbnRlcmZhY2UgcHJlcmVxdWlzaXRlCgoyMDExLTA5LTI4IDEyOjU0OjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICB1c2UgdGhlIDAuMTEgYnJhbmNoIG9mIGNvbW1vbgoKMjAxMS0wOS0yNyAxMzoyMjozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogcG9ydCB0byAwLjExCgoyMDExLTA5LTI2IDIyOjMxOjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wOS0yNiAyMjozMDoxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IHBvcnQgdG8gMC4xMQoKMjAxMS0wOS0yNiAxNzoyMzo0MSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBTdG9wIHRoZSBhdWRpbyBzb3VyY2UgYmV0d2VlbiBjYXB0dXJlcwoJICBNb3ZlIHRoZSBhdWRpbyBzb3VyY2Ugc2V0dGluZyBvZiBzdGF0ZSB0byBOVUxMIHRvIF9zdG9wX2NhcHR1cmUgKCkgdG8KCSAgYXZvaWQgdGhlIGF1ZGlvIHNvdXJjZSBydW5uaW5nIGJldHdlZW4gY2FwdHVyZXMuCgoyMDExLTA5LTI2IDE2OjI2OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogQWxzbyBzZXQgbWF4aW11bSBudW1iZXIgb2Ygc2FtcGxlcyB0aGF0IHRoZSBzdWJjbGFzcyB3YW50cwoKMjAxMS0wOS0yNiAxNjowNTo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IFNpbXBsZSBmaXggZm9yIEdzdEF1ZGlvRW5jb2RlciBBUEkgY2hhbmdlCgoyMDExLTA4LTIzIDE4OjI1OjIwIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svbGlicy92YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXI6IFZDMTogSW1wbGVtZW50IGEgVkMxIHBhcnNpbmcgbGlicmFyeQoKMjAxMS0wOS0xNiAxOTowMzozMSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjb2RlY3BhcnNlcnM6IERlY2xhcmUgdGhlIG5ldyBBUElzIGFzIHVuc3RhYmxlIGZvciB0aGUgdGltZSBiZWluZwoKMjAxMS0wOS0yNiAxMTo0NDowMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBrZWVwIENSQyB0YWJsZSBpbiAucm9kYXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjAxMTgKCjIwMTEtMDktMjAgMTY6Mjk6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3BjYXBwYXJzZS9nc3RpcnRzcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0aXJ0c3BwYXJzZS5oOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL3BsdWdpbi5jOgoJICBpcnRzcHBhcnNlOiBhZGQgSW50ZXJsZWF2ZWQgUlRTUCBwYXJzZXIgZWxlbWVudAoKMjAxMS0wOS0yMyAxMDoxMDozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGZpeCBjb21waWxlciB3YXJuaW5nCgkgIGdzdGZhYWQuYzogSW4gZnVuY3Rpb24gJ2dzdF9mYWFkX3BhcnNlJzoKCSAgZ3N0ZmFhZC5jOjYxNToxMTogZXJyb3I6ICdsZW4nIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbgoKMjAxMS0wOS0yMyAwOTo1NzowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHBhcnNlIHdhbnRzIGEgR3N0Rmxvd1JldHVybiByZXR1cm4gdmFsdWUsIG5vdCBhIGdib29sZWFuCgoyMDExLTA5LTIyIDIwOjExOjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVncHNtdXgvcHNtdXguYzoKCSAgcHNtdXg6IGZpeCB3cml0aW5nIG9mIHN5c3RlbSBoZWFkZXIsIHdoaWNoIG1ha2VzIFZMQyBub3Qgc2tpcCB0aGUgYWRqYWNlbnQgUFNNIGFuZCBwbGF5IGVtYmVkZGVkIEguMjY0IHN0cmVhbXMKCSAgaGVhZGVyX2xlbmd0aCBjb250YWlucyB0aGUgbGVuZ3RoIGluIGJ5dGVzIGFmdGVyIHRoZSBoZWFkZXJfbGVuZ3RoCgkgIGZpZWxkLCBleGNsdWRpbmcgdGhlIDYgYnl0ZSBzdGFydCBjb2RlIGFuZCBoZWFkZXJfbGVuZ3RoIGZpZWxkLgoJICBILjI2NCBzdHJlYW1zIGFuZCBzb21lIG90aGVyIGZvcm1hdHMgbmVlZCB0byBiZSBhbm5vdW5jZWQgaW4gdGhlIFBTTS4KCSAgVkxDIHdvdWxkbid0IHBsYXkgZmlsZXMgY3JlYXRlZCB3aXRoIG1wZWdwc211eCBjb250YWluaW5nIEguMjY0IGJlY2F1c2UKCSAgd2UgY2xhaW0gdGhlIHN5c3RlbSBoZWFkZXIgaXMgbGFyZ2VyIHRoYW4gaXQgYWN0dWFsbHkgaXMsIHdoaWNoIG1ha2VzCgkgIFZMQyBza2lwIHRoZSBwcm9ncmFtIHN0cmVhbSBtYXAgd2hpY2ggZm9sbG93cyB0aGUgc3lzdGVtIGhlYWRlciwgd2hpY2gKCSAgaW4gdHVybiBtYWtlcyBpdCBub3QgcmVjb2duaXNlIG91ciBILjI2NCB2aWRlbyBzdHJlYW0uCgoyMDExLTA5LTIyIDIwOjA5OjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvbGlicy8uZ2l0aWdub3JlOgoJICBkb2NzOiBhZGQgaWdub3JlIHJ1bGVzIGZvciBsaWJzIGRvY3MgZGlyZWN0b3J5CgoyMDExLTA5LTIyIDE4OjIzOjMyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogZml4dXAgbWlzdW5kZXJzdGFuZGluZyBpbiBzYW1wbGUgY291bnRpbmcKCSAgLi4uIGJldHdlZW4gY29kZWMgYW5kIGF1ZGlvZW5jb2RlciByZWdhcmRpbmcgd2hldGhlciBvciBub3QgY2hhbm5lbAoJICBjb3VudCBpcyBhbHJlYWR5IGNvbnNpZGVyZWQuCgkgIEZpeGVzICM2NTk4MzYuCgoyMDExLTA5LTIyIDE2OjAxOjU2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogdXNlIHNvbWUgbW9yZSBib2lsZXJwbGF0ZQoKMjAxMS0wOS0yMiAwOTo0OToyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIGZhYWQ6IHBvcnQgdG8gYXVkaW9kZWNvZGVyCgoyMDExLTA5LTIxIDE2OjExOjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogdXNlIHNvbWUgbW9yZSBib2lsZXJwbGF0ZQoKMjAxMS0wOS0yMSAxNjowMToyOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkgIGZhYWM6IHBvcnQgdG8gYXVkaW9lbmNvZGVyCgoyMDExLTA5LTIwIDE2OjU0OjMyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICBrYXRlOiBmb3J3YXJkIHJldHVybiBjb2RlIGZyb20gc2V0dGluZyBzcmMgcGFkIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTYwNgoKMjAxMS0wOS0yMCAxMzowMDo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSAgYmFzZWNhbWVyYXNyYzogRmFpbCBzdGF0ZSBjaGFuZ2UgaWYgcHJldmlldyBwaXBlbGluZSBmYWlscyBjcmVhdGlvbgoJICBJZiB0aGUgcHJldmlldyBwaXBlbGluZSBmYWlscyBjcmVhdGlvbiwgZm9yIGFueSByZWFzb24sIHdlIHNob3VsZAoJICBmYWlsIGJhc2VjYW1lcmFzcmMgc3RhdGUgY2hhbmdlLgoJICBBbHNvIGFkZHMgYSBtaXNzaW5nIGdfcmV0dXJuX2lmX2ZhaWwgY2hlY2sgdG8gcHJldmlldyBwaXBlbGluZQoJICBmdW5jdGlvbnMKCjIwMTEtMDktMTkgMTY6MzI6NTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBBZGQgY2hlY2tzIHRvIGlucHV0LCBhbmQgZml4IHNpemUgY2hlY2tpbmcKCjIwMTEtMDktMTkgMTQ6NTQ6MTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiBicmluZyBkZWJ1ZyBzdGF0ZW1lbnRzIHVwIHRvIGRlc2lyZWQgc3BlY3MKCjIwMTEtMDktMTkgMTQ6MDc6NTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBicmluZyBkZWJ1ZyBzdGF0ZW1lbnRzIHVwIHRvIGRlc2lyZWQgc3BlY3MKCjIwMTEtMDktMTkgMTM6NDE6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBjb2RlY3BhcnNpbmdsaWJzOiBEb2MgYW5kIGluZGVudGF0aW9uIGZpeGVzCgoyMDExLTA5LTEwIDExOjMxOjIwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHB2cDgvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHB2cDgvZGJvb2xodWZmLkxJQ0VOU0U6CgkqIGdzdC9ydHB2cDgvZGJvb2xodWZmLmM6CgkqIGdzdC9ydHB2cDgvZGJvb2xodWZmLmg6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwODogZml4IGJpdHN0cmVhbSBwYXJzaW5nIHVzaW5nIHRoZSB3cm9uZyBraW5kIG9mIGJpdHJlYWRlcgoJICBWUDggdXNlcyBhIHByb2JhYmlsaXN0aWMgYm9vbCBjb2Rlciwgbm90IGEgc3RyYWlnaHQgYml0IGNvZGVyLgoJICBUaGlzIGZpeGVzIHBhcnNpbmcgd2hlbiBlcnJvci1yZXNpbGllbnQgaXMgc2V0LgoJICBUaGlzIGNvbW1pdCBpbmNsdWRlcyBhIGNvcHkgb2YgbGlidnB4J3MgYm9vbCBjb2RlciwgQlNEIGxpY2Vuc2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUyNjk0CgoyMDExLTA5LTE0IDIwOjIyOjQyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0OiBhIGJpdCBtb3JlIGVycm9yIGNoZWNraW5nIG9uIGhlYWRlciBwYXJzaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTkwODcKCjIwMTEtMDktMTQgMTk6NTY6NDAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBjbGVhbnVwIGhlYWRlciBjcmVhdGlvbgoJICBBdm9pZCBhbiBleHRyYSBjb3B5IHZpYSBhIHRlbXBvcmFyeSBmaXhlZCBzaXplIHN0YWNrIGJ1ZmZlci4KCSAgVXNlIGxpYmNlbHQncyBoZWFkZXIgc2l6ZSB0byBhbGxvY2F0ZSBhIGJ1ZmZlciBvZiB0aGUgY29ycmVjdAoJICBzaXplIGluIHRoZSBmaXJzdCBwbGFjZSAobGliY2VsdCBoYXMgYW4gb2ZmIGJ5IDQgdGhlcmUsIHNvCgkgIGFjY291bnQgZm9yIHRoaXMpLgoJICBXaGlsZSB0aGVyZSwgbWFrZSBzaXplIHVuc2lnbmVkLCBhbmQgZ3JhbnBvcyBzaWduZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTkwODcKCjIwMTEtMDktMTQgMTk6MDk6MzAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBkbyBub3QgdXNlIGludmFsaWQgYnVmZmVyIHRpbWVzdGFtcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTA4NwoKMjAxMS0wOS0xNCAxNzoyNjowNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkgIGNlbHRkZWM6IGZpeCBlcnJvciBjaGVja2luZyB3aXRoIGxpYmNlbHQgMC4xMQoJICBUaGUgcmV0dXJuIHZhbHVlIG9mIGNlbHRfZGVjb2RlIGhhcyBjaGFuZ2VkLCBuZXdlciB2ZXJzaW9ucwoJICBub3cgcmV0dXJuIHBvc2l0aXZlIHZhbHVlcyBvbiBzdWNjZXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5MDg3CgoyMDExLTA5LTE0IDE3OjA3OjUwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOgoJICBjZWx0ZW5jOiBhbGxvdyBhY3R1YWxseSBvdmVycmlkaW5nIGZyYW1lIHNpemUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTA4NwoKMjAxMS0wOS0xMyAxNjoyNDozMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAga2F0ZTogZmx1c2ggb24gc2VlaywgYW5kIGVuc3VyZSB3ZSBjYW5jZWwgYW55IHdhaXRpbmcgYnVmZmVyCgkgIFRoaXMgaXMgd2hhdCBwYW5nbyB0ZXh0b3ZlcmxheSBkb2VzLCBhbmQgSSd2ZSBoYWQgdGhhdCBjb25kaXRpb24KCSAgdmFyaWFibGUgZ2V0IHN0dWNrIG9uY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg5NDAKCjIwMTEtMDktMTIgMTE6MTc6MjAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZTogZG8gbm90IHRyeSB0byByZWFkIGZyb20gYSBub24gZXhpc3RlbnQgVlVJCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg4MDAKCjIwMTEtMDktMTYgMDA6MzI6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGRpbmcgMiBtb3JlIGxvZyBtZXNzYWdlcwoKMjAxMS0wOS0xNCAxNToyMDowOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IHJlcGxhY2UgZGVwcmVjYXRlZCBnX2F0b21pY19pbnRfZXhjaGFuZ2VfYW5kX2FkZAoJICBJdCB3YXMgcmVwbGFjZWQgYnkgZ19hdG9taWNfaW50X2FkZCwgd2hpY2ggbm93IHJldHVybnMgdGhlCgkgIG9sZCB2YWx1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTA2MQoKMjAxMS0wOS0xNSAxNzozNTo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFJlc2V0IGxhc3Qgc3RhdGUgY2hhbmdlIHJlc3VsdCBvbiBzdGF0ZS1sb2NrZWQgZWxlbWVudHMKCSAgQW4gZWxlbWVudCBzdG9yZXMgdGhlIHJlc3VsdCBmb3IgdGhlIGxhc3Qgc3RhdGUgY2hhbmdlIGl0IGRpZCBhbmQKCSAgR3N0QmluJ3Mgc3RhdGUgY2hhbmdlIGhhbmRsZXIgd2lsbCB1c2UgdGhpcyBsYXN0IHJlc3VsdCBmb3Igc3RhdGUKCSAgbG9ja2VkIGVsZW1lbnRzIHRvIGRlY2lkZSBpZiBpdHMgc3RhdGUgY2hhbmdlIHdhcyBzdWNjZXNzZnVsbCBvciBub3QuCgkgIEluIGNhbWVyYWJpbjIsIHRoZSBmaWxlc2lua3MgaGF2ZSB0aGVpciBzdGF0ZSBsb2NrZWQgYW5kIHdoZW4gdGhleQoJICBmYWlsIHN3aXRjaGluZyBzdGF0ZXMsIHRoaXMgbGFzdCBmYWlsdXJlIHdpbGwgYmUgdXNlZCBpZiB0aGUgYXBwbGljYXRpb24KCSAgdHJpZXMgdG8gY2hhbmdlIGNhbWVyYWJpbjIncyBzdGF0ZSwgY2F1c2luZyBhbnkgc3RhdGUgY2hhbmdlIHRvIGZhaWwuCgkgIFRoaXMgcGF0Y2ggbWFrZXMgY2FtZXJhYmluMiByZXNldCB0aGlzIGxhc3QgY2hhbmdlIGZhaWx1cmUsIGF2b2lkaW5nCgkgIHRoYXQgY2FtZXJhYmluMiBmYWlscyBvbiBpdHMgbmV4dCBzdGF0ZSBjaGFuZ2VzLgoKMjAxMS0wOS0xNSAxODoxNzoyNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5wbGMuYzoKCSAgc3BhbnBsYzogRml4IHR5cG9zCgoyMDExLTA5LTEzIDIwOjQwOjM1IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBIYW5kbGUgcHJvcGVybHkgZnJhbWUgZGV0ZWN0aW9uCgkgIEhhbmRsZSB0aGUgY2FzZSB3aGVyZSB3ZSBoYXZlIGJ1ZmZlcnMgY29udGFpbmluZyBubyBzdGFydGNvZGUKCSAgaW4gdGhlIG1pZGRsZSBvZiBhIGZyYW1lIHByb3Blcmx5LgoKMjAxMS0wOS0xMyAyMDozODoyNyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBtcGVndmlkZW86IERlYnVnZ2luZyBzeW1ib2xzIGVuaGFuY2VtZW50cwoKMjAxMS0wOS0xMiAxMzo1NDozNyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVndmlkZW86IEFkZCB0aGUgQ2hyb21hVHlwZSBlbnVtCgoyMDExLTA5LTEyIDEzOjQxOjQxIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1wZWd2aWRlbzogQ2hhbmdlIGJyb2tlbl9nb3AgdG8gYnJva2VuX2xpbmsKCSAgVGhpcyB3YXkgd2UgcmVzcGVjdCB0aGUgc3RhbmRhcmQgbmFtaW5nCgoyMDExLTA5LTE0IDE2OjE0OjI0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5oOgoJICBtcGVndmlkZW9wYXJzZTogc2VuZCBhIHZpZGVvLWNvZGVjIHRhZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY5MzA1CgoyMDExLTA5LTEyIDE2OjUwOjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQ2hlY2sgem9vbSBub3RpZnkgY2FsbGJhY2sgZnJvbSBjYW1lcmEtc291cmNlCgkgIENhbWVyYWJpbjIgaGFzIGEgem9vbSBwcm9wZXJ0eSB0aGF0IGlzIHNpbXBseSBwcm94aWVkIHRvIGl0cwoJICBpbnRlcm5hbCBjYW1lcmEtc291cmNlIGVsZW1lbnQuIFRoaXMgcGF0Y2ggbWFrZXMgY2FtZXJhYmluMiBsaXN0ZW4KCSAgdG8gJ25vdGlmeScgc2lnbmFscyBmcm9tIGl0IHNvIGl0IGNhbiB1cGRhdGUgaXRzIHpvb20gcHJvcGVydHkgdmFsdWUKCSAgd2hlbiBjYW1lcmEtc291cmNlIGNoYW5nZXMgaXRzIHpvb20gYXMgYSBzaWRlLWVmZmVjdCBvZiBhbm90aGVyIG9wZXJhdGlvbgoJICBvciBiZWNhdXNlIHRoZSB1c2VyIHNldCB0aGUgem9vbSBkaXJlY3RseSB0byBpdCwgaW5zdGVhZCBvZiBkb2luZwoJICBpdCBmcm9tIGNhbWVyYWJpbjIuCgoyMDExLTA4LTI5IDA4OjAwOjIyICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkgIHJ0bXBzaW5rOiBkb24ndCBibG9jayB0aGUgbWFpbiB0aHJlYWQgd2l0aCBSVE1QX0Nvbm5lY3QKCSAgTW92ZSB0aGUgUlRNUF9Db25uZWN0IGNhbGwgZnJvbSB0aGUgbWFpbiB0aHJlYWQgKDo6c3RhcnQpIHRvIHRoZSBzdHJlYW1pbmcKCSAgdGhyZWFkICg6OnJlbmRlcikuCgoyMDExLTA5LTEyIDEwOjMzOjA2ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMS0wOS0xMiAxMDoyMzoxOSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBmaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTEtMDktMDkgMTQ6MjI6MzkgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogTWFrZSB1c2Ugb2YgdGhlIGgyNjRfbmFsX3BhcnNlcl9mcmVlIGZ1bmN0aW9uCgoyMDExLTA5LTA5IDE0OjE1OjIxIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svbGlicy9oMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogSW1wbGVtZW50IHRoZSBuYWxfcGFyc2VyX2ZyZWUgZnVuY3Rpb24KCjIwMTEtMDktMDYgMjE6Mjk6MjggLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2gyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBVc2UgZ19zbGljZSBpbnN0ZWFkIG9mIGdfbWFsbG9jIGluIG5hbF9wYXJzZXJfbmV3CgoyMDExLTA5LTA2IDIxOjI4OjQ1IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBVcGRhdGUgdGhlIGRvY3VtZW50YXRpb24KCSAgRml4IGEgZmV3IGVycm9yLgoJICBEb2N1bWVudCBtaXNzaW5nIHBhcnRzLgoJICBBZGQgbGlua3MgdG8gdGhlIHNwZWNpZmljYXRpb25zCgoyMDExLTA5LTA5IDEyOjI3OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogRml4IG1lcmdlIG1pc3Rha2UgZnJvbSBsYXN0IGNvbW1pdAoKMjAxMS0wOS0wOCAyMzo1NjozMyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBSZXBvcnQgdGhlIGNvcnJlY3QgdGltZXN0YW1wIGZvciBsaXZlIHN0cmVhbXMKCSAgQnVmZmVycyB3b3VsZCBhbHdheXMgc3RhcnQgd2l0aCB0aW1lc3RhbXAgMCBhbmQgd2UnZCBzdGFydCBzdHJlYW1pbmcKCSAgZnJvbSB0aGUgZmlyc3QgYnVmZmVyLCBidXQgbGl2ZSBzdHJlYW1zIGFsd2F5cyBzdGFydCBzdHJlYW1pbmcgZnJvbQoJICB0aGUgbGFzdCBmcmFnbWVudCAtIDMgZnJhZ21lbnRzIGluIHRoZSBwbGF5bGlzdCwgd2hpY2ggbWFrZXMgaXRzCgkgIHRpbWVzdGFtcCwgYXMgcmV0dXJuZWQgYnkgZ2V0X25leHRfZnJhZ21lbnQsIGJlIHdoYXRldmVyIHBvc2l0aW9uCgkgIHRoZXkgaGFkIGluIHRoZSBwbGF5bGlzdC4gVGhpcyBtYWtlcyBzdXJlIHRoZSBwb3NpdGlvbiBjb3JyZWN0bHkKCSAgcmVwb3J0cyB0aGUgcG9zaXRpb24gb2YgdGhlIGJ1ZmZlciBpbiB0aGUgcGxheWxpc3QsIGFuZCBhZGRlZCBhIHNoaWZ0aW5nCgkgIHZhcmlhYmxlIHRvIGFsbG93IHNlZWtpbmcgaW4gdGhlIG1pZGRsZSBvZiBmcmFnbWVudHMuCgoyMDExLTA5LTA4IDIyOjEzOjE5ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBobHNkZW11eC90c2RlbXV4OiBBZGQgSFAgY29weXJpZ2h0IG9uIHdvcmsgZG9uZSBvbiBITFMKCjIwMTEtMDktMDggMjA6Mjk6NDIgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBzZXQgcGxheWxpc3QgdG8gTlVMTCBhZnRlciB1bnJlZmZpbmcgaXQgdG8gYXZvaWQgYSBkb3VibGUtdW5yZWYgaW4gdGhlIGRpc3Bvc2UKCjIwMTEtMDktMDggMTg6MjU6MDAgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEbyBub3QgbG9jayB0aGUgbXV0ZXggb2YgdGhlIGZldGNoZXIgZHVyaW5nIEVPUwoJICBUaGUgZmV0Y2hfbG9jYXRpb24gbWlnaHQgY2FsbCBzdG9wX2ZldGNoZXIgd2hpY2ggY291bGQgZ2VuZXJhdGUgYW4gRU9TCgkgIGFuZCBjYXVzZSBhIGRlYWRsb2NrCgoyMDExLTA5LTA2IDIyOjExOjA2IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGFuZHNwL01ha2VmaWxlLmFtOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFuZHNwLmM6CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5wbGMuYzoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbnBsYy5oOgoJICBzcGFuZHNwOiBBZGRpbmcgc3BhbmRzcCBwbHVnaW4gd2l0aCBzcGFucGxjIGVsZW1lbnQgZm9yIHBhY2tldCBsb3NzIGNvbmNlYWxtZW50CgoyMDExLTA5LTA3IDIwOjA5OjEyICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG8gbm90IGpvaW4gdGhlIHRhc2sgZnJvbSB0aGUgdGFzaydzIHRocmVhZCBpdHNlbGYuIGpvaW4gaXQgb25seSBpbiB0aGUgc3RhdGUgY2hhbmdlCgoyMDExLTA5LTA3IDE1OjQ4OjMzICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IGNsZWFudXAgbWFrZWZpbGVzCgkgIFJlbW92ZSBjb21tZW50ZWQgb3V0IHBhcnRzIHRoYXQgd2UgZG9uJ3QgbmVlZC4gUmVtb3ZlICJ0aGUgd2luZ28gYWRkaXRpb24iIC0gbm8KCSAgc28gdXNlZnVsIGFmdGVyIGFsbC4gTmFycm93IGRvd24gZmlsZS1nbG9icyBmb3IgcGx1Z2luIGRvY3MuCgoyMDExLTA5LTA3IDE1OjQyOjM3ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogZml4IGNhbWVyYWJpbjIgbmFtZXMgaW4gc2VjdGlvbnMudHh0CgoyMDExLTA5LTA3IDE1OjM3OjUzICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmg6CgkgIGthdGVwYXJzZTogZml4IGNyYXAgaW4gb2JqZWN0IG1hY3JvcwoKMjAxMS0wOS0wNyAxMjozMjo0OCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBtYWtlIHRoaXMgYnVpbGQgd2l0aCBvbGRlciBnbGliCgkgIGdfbGlzdF9mcmVlX2Z1bGwgaXMgYSBuZXcgY29udmVuaWVuY2UgZnVuY3Rpb24uCgkgIFJlcGxhY2UgaXQgd2l0aCBnX2xpc3RfZm9yZWFjaCBhbmQgZ19saXN0X2ZyZWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTg0NTAKCjIwMTEtMDktMDcgMTM6NDY6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkgIHZpZGVvcGFyc2VyczogTWFrZSB0aGUgaDI2MyBhbmQgKG5ldykgbXBlZyB2aWRlbyBwYXJzZXIgYXV0b3BsdWdnYWJsZQoKMjAxMS0wOS0wNSAyMDowMjo1NyArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBGaXggSURSIHBvc2l0aW9uIG1hcmtpbmcgd2hlbiB0aGUgSURSIGlzIHNwbGl0IGludG8gc2V2ZXJhbCBOQUxzCgoyMDExLTA5LTA3IDExOjI3OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogQWRkIGFsbCBhbHdheXMgcHJlc2VudCBmaWVsZHMgdG8gdGhlIHNyYyB0ZW1wbGF0ZSBjYXBzCgoyMDExLTA5LTA3IDExOjI0OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJICBkaXJhY3BhcnNlOiBBZGQgYWxsIGZpZWxkcyB0byB0aGUgc3JjIHRlbXBsYXRlIGNhcHMKCjIwMTEtMDktMDcgMTE6MjI6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBBbGxvdyBwYXJzZWQgc3RyZWFtcyB0byBiZSBwYXNzZWQgdGhyb3VnaCB0aGUgcGFyc2VycwoKMjAxMS0wOS0wNyAxMToxNzo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IFB1dCBzdHJlYW0tZm9ybWF0IGFuZCBhbGlnbm1lbnQgaW50byB0aGUgc3JjIHRlbXBsYXRlIGNhcHMKCSAgQWxzbyByZW1vdmUgdGhlIHBhcnNlZCBmaWVsZCBmcm9tIHRoZSBzaW5rIHRlbXBsYXRlIGNhcHMuCgoyMDExLTA5LTA3IDExOjE0OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGgyNjRwYXJzZTogQ2hhbmdlIHJhbmsgdG8gUFJJTUFSWSsxIHRvIGhhdmUgaDI2NHBhcnNlIGF1dG9wbHVnZ2VkCgoyMDExLTA5LTA3IDExOjA2OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZGlyYWNfcGFyc2UuYzoKCSAgZGlyYWNwYXJzZTogQ29uc3RpZnkgc29tZSBhcnJheXMKCjIwMTEtMDktMDYgMTA6NDk6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJICBjYW1lcmFiaW4yOiBwcmV2aWV3OiBObyBuZWVkIGZvciBhcHBzaW5rIHRvIHN0b3JlIHRoZSBsYXN0IGJ1ZmZlcgoJICBUaGVyZSBpcyBubyBuZWVkIGZvciBwcmV2aWV3J3MgYXBwc2luayB0byBrZWVwIGEgcmVmZXJlbmNlIHRvIHRoZSBsYXN0IGJ1ZmZlciwKCSAgc28gZGlzYWJsZSB0aGUgcHJvcGVydHkgdG8gbWFrZSBpdCB1bnJlZiB0aGUgYnVmZmVycyBzb29uZXIuCgoyMDExLTA5LTA2IDIyOjQ4OjMwICswMTAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBmb3IgbGF0ZXN0IG5ldyBwbHVnaW5zIGFuZCBtb3ZlZCBwbHVnaW5zCgoyMDExLTA5LTA2IDIxOjI1OjAwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhMzllYjgzIHRvIDExZjBjZDUKCjIwMTEtMDktMDYgMTY6MTM6MjggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA5LTA2IDE1OjQwOjQ2ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2MDVjZDlhIHRvIGEzOWViODMKCjIwMTEtMDktMDYgMTM6MjA6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBBZGQgQ29udmVydGVyIHRvIGNsYXNzaWZpY2F0aW9uCgkgIFRoaXMgcGFyc2VyIGNhbiBjb252ZXJ0IGJldHdlZW4gZGlmZmVyZW50IGFsaWdubWVudHMgYW5kIHN0cmVhbS1mb3JtYXRzLgoKMjAxMS0wOS0wNSAxNDozOToyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGNhbWVyYWJpbjI6IHByZXZpZXc6IEFwcHNpbmsgZG9lc24ndCBuZWVkIHRvIHN5bmMKCSAgU2V0IHN5bmMgdG8gZmFsc2Ugb24gcHJldmlldydzIHBpcGVsaW5lIGFwcHNpbmsKCjIwMTEtMDktMDUgMDk6NTU6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJICBjYW1lcmFiaW4yOiBwcmV2aWV3OiBSZW1vdmUgb25lIG9mIHRoZSB0d28gY29sb3JzcGFjZSBjb252ZXJ0ZXJzCgkgIFRoZSBwcmV2aWV3IHBpcGVsaW5lIGRvZXNuJ3QgbmVlZCAyIGNvbG9yc3BhY2UgY29udmVydGVycywgcmVtb3ZlCgkgIG9uZSB0byBzcGVlZCB1cCBjYXBzIG5lZ290aWF0aW9uIGFuZCByZWR1Y2UgdGhlIGRlbGF5IG9uIGdldHRpbmcKCSAgdGhlIGZpcnN0IHByZXZpZXcgYnVmZmVyIG91dCBvZiB0aGUgcHJldmlldyBwaXBlbGluZS4KCSAgSXQgc2hvdWxkbid0IGNhdXNlIHByb2JsZW1zIGFzIHZpZGVvc2NhbGUgYW5kIGZmbXBlZ2NvbG9yc3BhY2Ugc2VlbXMKCSAgdG8gaGFuZGxlIHRoZSBzYW1lIGNhcHMsIHNvIG5vIGNvbnZlcnNpb24gc2hvdWxkIGJlIG5lZWRlZCBmb3IKCSAgdmlkZW9zY2FsZS4gQWRkaXRpb25hbGx5LCBjYW1lcmFiaW4xIGhhcyBiZWVuIHdvcmtpbmcgd2l0aCBhIHNpbWlsYXIKCSAgcGlwZWxpbmUgd2l0aCBhIHNpbmdsZSBmZm1wZWdjb2xvcnNwYWNlIGFuZCBubyBidWdzIGhhdmUgYmVlbiBvcGVuIGFib3V0IGl0CgkgIHNvIGZhci4KCjIwMTEtMDktMDEgMjA6MDE6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJICBjYW1lcmFiaW4yOiBwcmV2aWV3OiBEaXNhYmxlIGFwcHNyYyBzaWduYWxzIGVtaXNzaW9uCgkgIENhbWVyYWJpbjIgZG9lc24ndCBjaGVjayBhcHBzcmMncyBzaWduYWxzLCBzbyBkaXNhYmxlIHRoZW0KCjIwMTEtMDgtMjYgMTA6NTA6MzggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jOiBkbyBub3QgdHJ5IHRvIGNhbGN1bGF0ZSBsYXRlbmN5IGZyb20gYW4gdW5rbm93biBmcmFtZXJhdGUKCSAgSXQnbGwgZGl2aWRlIGJ5IHplcm8sIGFuZCBsYXRlbmN5IGlzIHVua25vd24gZm9yIGFuIHVua25vd24gZnJhbWVyYXRlLgoJICBGaXhlcyBhbiBhc3NlcnQgaW4gdGhlIHNjaHJvZW5jIHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTc0MTkKCjIwMTEtMDktMDMgMDA6MzY6MzQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBJZiBhIGZldGNoIGZhaWxzLCBkZWNyZW1lbnQgdGhlIHNlcXVlbmNlIG51bWJlcgoKMjAxMS0wOS0wMiAyMzo0OTozOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IG1ha2UgaGxzZGVtdXggbG9jay91bmxvY2sgdGhlIG0zdTggY2xpZW50IHdoZW4gaXQgYWNjZXNzZXMgaXQKCjIwMTEtMDktMDIgMjM6NDg6MjIgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBBZGQgYSBnZXRfdGFyZ2V0X2R1cmF0aW9uIGFuZCBnZXRfY3VycmVudF91cmkgYXBpIHRvIG0zdThfY2xpZW50CgoyMDExLTA5LTAyIDIzOjQ4OjAzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogTWFrZSB0aGUgbTN1OCBjbGllbnQgdGhyZWFkLXNhZmUKCjIwMTEtMDktMDIgMTk6NDQ6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogUmVzZXQgaW4gUEFVU0VELT5SRUFEWSBhZnRlciBjaGFpbmluZyB1cCB0byB0aGUgcGFyZW50IGNsYXNzCgkgIE90aGVyd2lzZSB0aGVyZSBhcmUgcG9zc2libGUgcmFjZSBjb25kaXRpb25zIHdpdGggdGhlIHN0cmVhbWluZyB0aHJlYWQuCgoyMDExLTA5LTAyIDE2OjA4OjU5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBkb2NzOiBtaW5vciBmaXhlcwoKMjAxMS0wOC0zMSAxMDoxMjo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvcGxheS8uZ2l0aWdub3JlOgoJKiBnc3QtbGlicy9nc3QvcGxheS9wbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9wbGF5L3BsYXkudmNwcm9qOgoJICBnc3QtbGliczogUmVtb3ZlIHBsYXkgZGlyZWN0b3J5LiBXYXMgdW5wb3J0ZWQgc2luY2UgMC44CgoyMDExLTA4LTMxIDEwOjEwOjIxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogQWRkIG1vcmUgc2VjdGlvbnMgdG8gdGhlIGdzdC1saWJzIEFQSSBkb2NzCgoyMDExLTA4LTI5IDEzOjUyOjE3ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggUFBTIHBhcnNlcgoJICBGaXggdHJhbnNmb3JtXzh4OF9tb2RlX2ZsYWcgYW5kIHNlY29uZF9jaHJvbWFfcXBfaW5kZXhfb2Zmc2V0CgoyMDExLTA4LTI5IDEzOjUyOjE2ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggTkFMIHJlYWRlciBpbml0aWFsaXphdGlvbi4KCjIwMTEtMDgtMjYgMTU6NTQ6NTEgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGhhbmRsZSBlbmQtb2Ytc2VxIGFuZCBlbmQtb2Ytc3RyZWFtIE5BTCBncmFjZWZ1bGx5LgoKMjAxMS0wOC0yNiAxNjowNTo1OCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IHJlZl9waWNfbGlzdF9yZW9yZGVyaW5nKCkuCgoyMDExLTA4LTE2IDE2OjE5OjAyICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IHByZWRfd2VpZ2h0X3RhYmxlKCkgcGFyc2luZy4KCSAgVXNlIDE2LWJpdCBzaWduZWQgaW50ZWdlciB2YWx1ZXMgZm9yIHdlaWdodCB2YWx1ZXMgYmVjYXVzZSB2YWxpZAoJICByYW5nZXMgYXJlIC0xMjggdG8gKzEyOCBpbmNsdXNpdmUuCgoyMDExLTA4LTE2IDE1OjIxOjE4ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiByZWNvcmQgc2xpY2VfaGVhZGVyKCkgc2l6ZSBpbiBiaXRzLgoKMjAxMS0wOC0xNiAxNToxNDowMyArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBzbGljZV9oZWFkZXIoKSBwYXJzaW5nLgoJICBXZSB3ZXJlIG5vdCBwYXJzaW5nIHRoZSBzbGljZSBoZWFkZXJzIHVudGlsIHRoZSBhY3R1YWwgZW5kLCB3ZSBhcmUgbm93CgkgIHBhcnNpbmcgdW50aWwgdGhlIGVuZC4KCjIwMTEtMDgtMTIgMTM6MTk6MjkgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBmaWxsZXItZGF0YSBOQUwgdW5pdCB0eXBlIG5hbWUuCgoyMDExLTA4LTEyIDEwOjE3OjQ3ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1jb2RlY3BhcnNlcnMtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItY29kZWNwYXJzZXJzLnBjLmluOgoJICBjb2RlY3BhcnNlcnM6IGFkZCBwa2djb25maWcgZmlsZS4KCSAgQWRkcyBhIG5ldyBwa2djb25maWcgZmlsZSBmb3IgY29kZWNwYXJzZXJzLiBUaGV5IGRvbid0IGhhdmUKCSAgYW55IHNwZWNpZmljIGRlcGVuZGVuY3kgb24gZ3N0LXBsdWdpbnMtYmFkIGFuZCB0aGV5IGNvdWxkIHF1aXRlIGJlCgkgIGluZGVwZW5kZW50IGJpdHN0cmVhbSBwYXJzZXJzLgoKMjAxMS0wOC0wNSAxMToyMTowNSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVnOiBhZGQgdXNlci1kYXRhIHBhY2tldCBzdGFydCBjb2RlIGRlZmluaXRpb24uCgoyMDExLTA4LTAzIDE3OjMxOjU1ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1wZWc6IGZpeCBQaWN0dXJlX0NvZGluZ19FeHRlbnNpb24gcGFyc2VyLgoKMjAxMS0wOC0wMiAxMjozNzowMiArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBQb3J0IHRvIHRoZSBuZXcgaC4yNjQgcGFyc2luZyBsaWJyYXJ5CgoyMDExLTA3LTI5IDEwOjU2OjE1ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2xpYnMvaDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IEFkZCBhbiBoLjI2NCBiaXRzdHJlYW0gcGFyc2luZyBsaWJyYXJ5CgoyMDExLTA2LTIzIDEyOjU0OjQzIC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9tcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL21wZWd2aWRlb3BhcnNlLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBQb3J0IHRvIHRoZSBuZXcgbXBlZyBwYXJzaW5nIGxpYnJhcnkKCjIwMTEtMDctMTkgMTM6NTI6MDEgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLnBjLmluOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBtcGVnOiBBZGQgYW4gbXBlZyB2aWRlbyBiaXRzdHJlYW0gcGFyc2luZyBsaWJyYXJ5CgkgIENyZWF0ZSBhIG5ldyBjb2RlY3BhcnNlcnMgbGlicmFyeQoKMjAxMS0wOC0zMCAxNDo1MDo0MSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL01ha2VmaWxlLmFtOgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvbGlicy9jb21waWxpbmcuc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLW92ZXJyaWRlcy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSAgZG9jczogQnVpbGQgZG9jdW1lbnRhdGlvbnMgZm9yIGxpYnJhcmllcwoKMjAxMS0wOS0wMiAxNTowMDo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IFJlbW92ZSBvYnNvbGV0ZSBGSVhNRSBjb21tZW50CgoyMDExLTA5LTAyIDE0OjU1OjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFJlc2V0IHRoZSBpbnRlcm5hbCBzdGF0ZSBnb2luZyB0by9mcm9tIFJFQURZIGluc3RlYWQgb2YgTlVMTAoJICBUaGlzIHRoZW9yZXRpY2FsbHkgYWxsb3dzIHJldXNlIG9mIHRoZSBlbGVtZW50IHdoZW4gc2V0dGluZyBpdCB0byBSRUFEWQoJICBpbnN0ZWFkIG9mIE5VTEwuCgoyMDExLTA5LTAyIDE0OjU0OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFNldCBwbGF5bGlzdCBwYXJzaW5nIGhlbHBlciBvYmplY3QgdG8gTlVMTCBhZnRlciBmcmVlaW5nCgoyMDExLTA5LTAxIDIzOjE4OjUxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQWxsb3cgdXAgdG8gMyBjb25zZWN1dGl2ZSBmYWlsZWQgZG93bmxvYWRzIGJlZm9yZSBlcnJvcmluZwoJICBJbiBzb21lIG5ldHdvcmtzLCBlc3BlY2lhbGwgaW4gM0csIGEgZnJhZ21lbnQgZG93bmxvYWQgb3IgcGxheWxpc3QKCSAgdXBkYXRlIG1heSBmYWlsLiBXZSBhbGxvdyBmb3IgdXAgdG8gMyBjb25zZWN1dGl2ZSBmYWlsdXJlcywgd2hpbGUgdXNpbmcKCSAgdGhlIHJmYydzIHNwZWNzIGZvciByZXRyeSBkZWxheXMgYmVmb3JlIGNvbnNpZGVyaW5nIHRoYXQgdGhlcmUgd2FzIGFuCgkgIGVycm9yIG9uIHRoZSBzdHJlYW0uCgoyMDExLTA5LTAxIDIyOjQ2OjE5ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogcmVtb3ZlIHVudXNlZCBhcmd1bWVudAoKMjAxMS0wOC0yMSAyMDoxNToyNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IGZpeCBkcm9wLWZyYW1lIHByb3BlcnR5CgkgIEZpeGVzICM2NTY5MjkuCgoyMDExLTA5LTAxIDE1OjU3OjUwICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogQWRkIGEgZmxhZyB0byBkaXNhYmxlIGltYWdlIGNvbnZlcnNpb24gZWxlbWVudHMKCSAgSWYgd2Uga25vdyB0aGF0IG91ciBjYW1lcmEgc291cmNlIGVsZW1lbnQgcHJvZHVjZXMgYnVmZmVycyBhdCB0aGUgc2FtZQoJICByZXNvbHV0aW9uIGFuZCBhcHByb3ByaWF0ZSBjb2xvdXJzcGFjZSBmb3IgdGhlIG91dHB1dCwgd2UgZG9uJ3QgbmVlZCBhbnkKCSAgb2YgdGhlIGdlbmVyaWMgY29udmVyc2lvbiBlbGVtZW50cyBpbiBlbmNvZGViaW4uIFRoaXMgcmVkdWNlcyBjYXBzCgkgIG5lZ290aWF0aW9uIG92ZXJoZWFkcyBhbW9uZyBvdGhlciB0aGluZ3MuCgoyMDExLTA4LTMxIDIzOjA2OjUzICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBtbXM6IGZpeCB3YXJuaW5ncyByZWxhdGVkIHRvIHRoZSBmb3JtYXQgb24gdGhlIGRlYnVnIGxpbmVzLgoKMjAxMS0wOC0zMSAxMzoyOToxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IE1pY3JvIG9wdGltaXplIGVuY29kZWJpbiBwYWRzIGxpbmtpbmcKCSAgUmVkdWNlIG9uZSBjaGVjayBpbiBlbmNvZGViaW4gcGFkcyBsaW5raW5nIG9uIGNhbWVyYWJpbjIgYnkKCSAgdXNpbmcgdGhlIGxpbmtfcGFkc19mdWxsIHZlcnNpb24KCjIwMTEtMDgtMzEgMTM6Mjg6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJICBiYXNlY2FtZXJhYmluc3JjOiBPcHRpbWl6ZSBwcmV2aWV3IHBpcGVsaW5lIHN0YXJ0dXAKCSAgVXNlIGdzdF9lbGVtZW50X2xpbmtfcGFkc19mdWxsIHRvIG9wdGltaXplIHByZXZpZXcgcGlwZWxpbmUgc3RhcnR1cCwKCSAgbGVhZGluZyB0byBhIGZhc3RlciBjYW1lcmFiaW4yIHN0YXJ0dXAgYXMgd2VsbC4KCjIwMTEtMDgtMzEgMTU6MzM6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBVc2UgZXhwbGljaXQgYm9vbGVhbiBsaXRlcmFscyB0byBtYWtlIGdvYmplY3QgaGFwcHkKCSAgZ29iamVjdCBib29sZWFuIHByb3BlcnRpZXMgYXJlIHN0cmljdCBhbmQgb25seSBhY2NlcHQgMSBvciAwLCBvdGhlcndpc2UKCSAgdGhleSB0aHJvdyBhbiBhc3NlcnRpb24uCgoyMDExLTA4LTMxIDE0OjQ4OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEp1c3Qgam9pbiB0aGUgdGFzawoJICBnc3RfdGFza19qb2luKCkgd2lsbCBhbHJlYWR5IHN0b3AgdGhlIHRhc2ssIG5vIG5lZWQKCSAgdG8gc3RvcCBpdCBhZGRpdGlvbmFsbHkuCgoyMDExLTA4LTMxIDE0OjQ3OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEpvaW4gdGhlIHRhc2sgaW5zdGVhZCBvZiBqdXN0IHN0b3BwaW5nIGl0IGFuZCBub3Qgd2FpdGluZyBmb3IgaXQgdG8gZmluaXNoCgkgIEZpeGVzIGludGVyZXN0aW5nIHJhY2UgY29uZGl0aW9ucyB0aGF0IGNhdXNlIGNyYXNoZXMgaW4gZGVjb2RlYmluMgoJICBiZWNhdXNlIHBhZHMgYXJlIGFkZGVkL3JlbW92ZWQgZnJvbSBjaGlsZCBlbGVtZW50cyBhbHRob3VnaCB0aGV5CgkgIHNob3VsZCBiZSBpbiBSRUFEWSBzdGF0ZSBhbHJlYWR5LgoKMjAxMS0wOC0zMSAxMjoxMjo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDExLTA4LTMxIDAzOjQ3OjUyICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogc3dpdGNoIHRvIGhpZ2hlci9sb3dlciBiaXRyYXRlIGJ5IG1vcmUgdGhhbiBvbmUgc3RlcCBhdCBhIHRpbWUKCjIwMTEtMDgtMzEgMDM6MjA6NDggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiByZW1vdmUgc3BhbW1pbmcgR1NUX0xPR19PQkpFQ1QKCjIwMTEtMDgtMzEgMDM6MDc6NDggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBJZiBwYXVzZWQsIGRvIG5vdCBjYWNoZSBmcmFnbWVudHMgdW50aWwgb3V0IG9mIG1lbW9yeSBlcnJvciEKCSAgV2Ugc2hvdWxkIHN0b3AgdGhlIHVwZGF0ZSB0aHJlYWQgaW4gUEFVU0VEIHN0YXRlIGFuZCBhdm9pZCBmZXRjaGluZwoJICBuZXcgZnJhZ21lbnRzIHdoZW4gdGhlIHF1ZXVlIGlzIG5vdCBlbXB0eS4gVGhlIHF1ZXVlIHNob3VsZCBhbHdheXMgYmUKCSAgZW1wdHkgc2luY2Ugd2UgcHVzaCBkYXRhIGludG8gYSBxdWV1ZS4gQWxzbywgaW4gdG90ZW0sIGlmIHdlIHNlZWsgYW5kCgkgIHBhdXNlIHRoZSBzdHJlYW0gd2hpbGUgaXQncyBidWZmZXJpbmcsIHRoZW4gdGhlIHN0YXRlIHdpbGwgc3RheSBwbGF5aW5nCgkgIGZvciBzb21lIHJlYXNvbiwgc28gaXQncyBiZXN0IG5vdCB0byBjb250aW51ZSBmZXRjaGluZyBmcmFnbWVudHMgZm9yZXZlci4KCjIwMTEtMDgtMzEgMDM6MDE6NTggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBzdGFydC9zdG9wIHVwZGF0ZSB0aHJlYWQgYW5kIGtlZXAgdHJhY2sgb2Ygc3RhdHVzCgoyMDExLTA4LTMxIDAyOjA1OjA4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogUG9zdCBkdXJhdGlvbiBtZXNzYWdlIHdoZW4gd2UgcGFyc2UgdGhlIHBsYXlsaXN0CgoyMDExLTA4LTMxIDAxOjA4OjM5ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogU2VuZCBhIGZsdXNoLXN0b3Agd2hlbiBzd2l0Y2hpbmcgcGFkcy4gRml4ZXMgQS0+QS9WIHN5bmMgaXNzdWUuCgkgIFRoaXMgaXMgdG8gZW5zdXJlIHRoYXQgd2UgcmVzZXQgdGhlIGFjY3VtdWxhdGUgc2VnbWVudCBvbiB0aGUgc2lua3MKCSAgc28gaWYgd2Ugc3RhcnQgd2l0aCBhdWRpbyBvbmx5IHRoZW4gc3dpdGNoIHRvIGF1ZGlvK3ZpZGVvLCB0aGVuIGJvdGgKCSAgc2lua3Mgd2lsbCBoYXZlIHRoZSBzYW1lIHNlZ21lbnRzIGFuZCB3aWxsIGJlIHN5bmNocm9uaXplZC4KCjIwMTEtMDgtMjYgMjI6NDg6MDEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBzZWVtcyB0aGVyZSB3YXMgYSB0eXBvLCBmcmVlIHRoZSBhZGFwdGVyIGlmIGl0IGNvbnRhaW5zIGRhdGEsIG5vdCBpZiBhbHJlYWR5IGVtcHR5CgoyMDExLTA4LTI2IDIyOjQ3OjM1ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogb3Vwcywgd2UgbmVlZCB0byBlbXB0eSB0aGUgcXVldWUgYWZ0ZXIgZnJlZWluZyBpdHMgY29udGVudAoKMjAxMS0wOC0yNiAyMjo0NDowOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IE5lZWQgdG8gZmx1c2ggYWxsIHN0cmVhbXMgd2hlbiB3ZSByZWNlaXZlIGEgZmx1c2gtc3RhcnQKCjIwMTEtMDgtMjYgMjE6NDY6MDYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkbyBub3QgYnJvYWRjYXN0IHRoZSBmZXRjaGVyX2NvbmQgb24gYnVzIGVycm9yIGlmIHdlJ3JlIGNhbmNlbGxlZAoJICBJZiB3ZSBjYW5jZWwgdGhlIGZldGNoIGFuZCBjYWxsIHRoZSBzdG9wX2ZldGNoZXIsIHdoaWNoIGhvbGRzIHRoZSBsb2NrLAoJICB3aGVuIGl0IHNldHMgdGhlIGZldGNoZXIncyBzdGF0ZSB0byBOVUxMLCBpdCBtaWdodCBzZW5kIGFuIGVycm9yCgkgIG9uIHRoZSBidXMuIEluIHRoYXQgY2FzZSwgd2UgbXVzdCBpZ25vcmUgaXQsIG90aGVyd2lzZSBpdCB3aWxsIHRyeQoJICB0byB0YWtlIHRoZSBsb2NrIGFuZCB3aWxsIGJsb2NrIGZvcmV2ZXIuCgoyMDExLTA4LTI2IDE5OjI5OjA2ICswMDAwICBKb25hcyBMYXJzc29uIDxKb25hcy5MYXJzc29uQGhpcS5zZT4KCgkqIGdzdC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogU3BsaXQgcGxheXNsaXN0IG9uIFxyXG4gbm90IGp1c3QgXG4KCjIwMTEtMDgtMjYgMTk6MTA6NTggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEbyBub3Qgc3VjY2VlZCBhIGRvd25sb2FkIGlmIHRoZSBmZXRjaGVyIGhhZCBhbiBlcnJvcgoKMjAxMS0wOC0yNiAxOToxMDozOSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFJlbmFtZSBmdW5jdGlvbnMgdGhhdCBuZWVkIHRvIGJlIGNhbGxlZCB3aXRoIGEgbG9ja2VkIG11dGV4CgoyMDExLTA4LTI2IDE5OjA5OjU0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogV2UgbXVzdCBzaWduYWwgdGhlIGZldGNoZXJfY29uZCB3aGlsZSBob2xkaW5nIGl0cyBsb2NrCgoyMDExLTA4LTI2IDE3OjU0OjUxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogV2UgZG8gbm90IG5lZWQgdG8gc2V0IHRoZSBjdXJyZW50IHBsYXlsaXN0IHRvIHRoZSBtYWluIG9uZQoJICBXaGVuIGNhY2hpbmcgZnJhZ21lbnRzLCBpZiB3ZSBzZXQgdGhlIGN1cnJlbnQgcGxheWxpc3QgdG8gbWFpbiwgdGhlbgoJICBpdCB3aWxsIGFsd2F5cyB0aGluayBpdCdzIGEgbGl2ZSBzdHJlYW0gKG5vIGVuZGxpc3QgaW4gaXQpIHNvIGl0IHdpbGwKCSAgZm9yY2UgdGhlIHJlZG93bmxvYWQgb2YgdGhlIG1haW4gcGxheWxpc3QgYWZ0ZXIgZXZlcnkgc2Vlaywgd2hpY2ggaXMKCSAgdW5uZWNlc3NhcnkuIEFsc28sIGl0IGNhdXNlcyBhIHJhY2UgY29uZGl0aW9uIHdoZXJlIGEgc2VlayBtaWdoIGhhcHBlbgoJICBkdXJpbmcgdGhhdCByZWRvd25sb2FkLCBhbmQgd2UnbGwgdGhpbmsgd2UncmUgdHJ5aW5nIHRvIHNlZWsgYSBsaXZlIHBpcGVsaW5lLgoKMjAxMS0wOC0zMCAxNzo0MzoyMiArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmhoOgoJICBzb3VuZHRvdWNoOiBIYW5kbGluZyBpbmNvbWluZyByYXRlIHdoZW4gcmVxdWVzdGVkLgoJICBBYnNvcmIgaW5ib3VuZCBzZWdtZW50cyB3aXRoIHJhdGUgIT0gMS4wIGFuZCBvdXRwdXQgYSBzZWdtZW50IHdpdGgKCSAgcmF0ZSB0YWtlbiBmcm9tIHRoZSBuZXcgb3V0cHV0LXJhdGUgcHJvcGVydHksIGFkanVzdGluZyB0aGUgc2VnbWVudAoJICBhcHBsaWVkX3JhdGUsIHN0cmVhbSBkdXJhdGlvbiBhbmQgdGltZXN0YW1wcyBhcyBuZWNlc3NhcnkgdG8KCSAgY29tcGVuc2F0ZQoKMjAxMS0wOC0xNSAxNzo1Nzo1MyArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmNwcDoKCSAgZml4IHZhbGdyaW5kIHdhcm5pbmcgYWJvdXQgQ29uZGl0aW9uYWwganVtcCBvciBtb3ZlIGRlcGVuZHMgb24gdW5pbml0aWFsaXNlZCB2YWx1ZShzKQoKMjAxMS0wOC0xNyAwOTo0MjowNyArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmNwcDoKCSAgTW92ZSBtX3BwcmV2RnJhbWUgZnJlZSBqdXN0IGJlZm9yZSB0aGUgY2xvbmUgb2YgdGhlIGxhdGVzdCBmcmFtZSBmb3IgcmVhZGFiaWxpdHkKCjIwMTEtMDgtMjYgMDk6NDM6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBNYWtlIHZpZXdmaW5kZXIncyBxdWV1ZSBhIHRocmVhZCBsaW1pdCBvbmx5CgkgIFJlZHVjZSB0aGUgdmlld2ZpbmRlciBxdWV1ZSBsaW1pdHMgdG8gb25seSBhbGxvdyBpdCB0byBzdG9yZQoJICBvbmUgYnVmZmVyLCBwcmV2ZW50aW5nIHRoZSBxdWV1ZSBmcm9tIGhvbGRpbmcgb2xkIGJ1ZmZlcnMgZm9yCgkgIHRvbyBsb25nLiBUaGlzIGFsc28gYXZvaWRzIHNob3dpbmcgc2xpZ2h0bHkgb3V0ZGF0ZWQgZnJhbWVzIG9uCgkgIHRoZSB2aWV3ZmluZGVyIHdoZW4gdGhlIHNvdXJjZSBoYXMgYWxyZWFkeSBwcm9kdWNlZCBuZXcgb25lcwoJICBhbmQgaW1wcm92ZXMgdGhlIGJ1ZmZlciByZWN5Y2xpbmcgcmF0ZSwgaW1wb3J0YW50IGZvciBzb3VyY2VzCgkgIHRoYXQgdXNlIGJ1ZmZlcnBvb2xzLgoKMjAxMS0wOC0yNSAxOTo1Njo1OCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBmaXggZWxlbWVudCBsZWFrCgkgIGFuZCB0aGlzIGNvbmNsdWRlcyBhbiBob3VyIG9mIHllbGxpbmcgYXQgdGhlIGJsb29keSB0ZXN0IGZhaWxpbmcsCgkgIG9ubHkgdG8gdHJhY2sgZG93biB0aGUgcHJvYmxlbSBub3QgYmVpbmcgaW4gdGhlIHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTczNjgKCjIwMTEtMDgtMjYgMDA6NTI6NDYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICB0c2RlbXV4OiBJbiBwdXNoIG1vZGUsIGRvIG5vdCBzdGFydCBwdWxsIGxvb3AgaWYgdXBzdHJlYW0gc2VlayBmYWlscwoKMjAxMS0wOC0yNiAwMDo0Nzo1MyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvIG5vdCBtYWtlIHRoZSB1cGRhdGVfdGhyZWFkIGpvaW5hYmxlCgoyMDExLTA4LTI2IDAwOjI2OjI5ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRW5zdXJlIHRoZSB0YXNrIGlzIHBhdXNlZCBpbiBjYXNlIG9mIGNhY2hlIGVycm9yCgoyMDExLTA4LTI1IDIzOjM3OjQ3ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogc3RvcCB0aGUgdGhyZWFkcyBpbiB0aGUgcHJvcGVyIG9yZGVyCgkgIGZpcnN0IHBhdXNlIHRoZSB0YXNrLCB0aGVuIHN0b3AgYWxsIGZldGNoZXJzLCB0aGVuIHN0b3AgdGhlIHVwZGF0ZSB0aHJlYWQKCSAgdGhlbiBwYXVzZSB0aGUgdGFzayBhZ2Fpbiwgc2luY2UgaXQgbWlnaHQgaGF2ZSBiZWVuIHJlc3RhcnRlZCBieQoJICBhbm90aGVyIHRocmVhZCBpbiB0aGUgbWVhbnRpbWUKCjIwMTEtMDgtMjUgMjM6Mzc6MjUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkbyBub3QgcG9zdCBhbiBlcnJvciBpZiB3ZSBzZWVrL2NhbmNlbCBkdXJpbmcgY2FjaGluZyBvZiBmcmFnbWVudHMKCjIwMTEtMDgtMjUgMjM6Mzc6MDAgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBpZiB3ZSdyZSBjYW5jZWxpbmcgYSBmZXRjaGVyLCB3ZSBtdXN0IHN0b3AgaXRzIHRocmVhZAoKMjAxMS0wOC0yNSAyMzozNjoyNyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGxvY2sgdGhlIHVwZGF0ZV90aHJlYWQgbXV0ZXggYmVmb3JlIHN0b3BwaW5nIGl0CgoyMDExLTA4LTI1IDIzOjM1OjU1ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogbG9jayB0aGUgZmV0Y2hlciBtdXRleCBiZWZvcmUgc3RvcHBpbmcgaXQKCjIwMTEtMDgtMjUgMjM6MzM6MTAgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkbyBub3QgYWxsb3cgdHdvIGZldGNoZXJzIHRvIHJ1biBzaW11bHRhbm91c2x5CgoyMDExLTA4LTIzIDIwOjQ5OjMzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogU3RvcCB0aGUgc3RyZWFtaW5nIHRhc2sgb24gUEFVU0VEX1RPX1JFQURZIHN0YXRlIGNoYW5nZQoKMjAxMS0wOC0yNSAxOToyNDo1NiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IG1ha2UgY2FtZXJhYmluMiB0ZXN0IGJ1aWxkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTczNjMKCjIwMTEtMDgtMjUgMTI6NDk6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuYwoKMjAxMS0wNy0xMiAyMTo0ODozNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBBZGQgbW9yZSBkZWJ1ZwoKMjAxMS0wNy0xMiAxOTowOTowMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdGR0bWZjb21tb24uaDoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IE1heCBldmVudCB0eXBlIGlzIDE1CgoyMDExLTA0LTE0IDE1OjQ2OjA4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgZHRtZnNyYzogQWxpZ24gRFRNRiBzb3VuZCBidWZmZXJzIHdpdGggbGFzdC1zdG9wIGZyb20gZXZlbnQKCSAgQWxzbyBtYWtlIHN1cmUgdGhlIHRpbWVzdGFtcHMgbmV2ZXIgZ28gYmFja3dhcmRzCgoyMDExLTA3LTExIDIxOjMxOjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBDb3JyZWN0bHkgcmVjb2duaXplIHRoZSBlbmQgb2YgYSBidWZmZXIKCjIwMTEtMDctMTEgMjA6NDc6MjMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IE1ha2Ugc3VyZSBydHBkdG1mc3JjIHRpbWVzdGFtcHMgZG9uJ3Qgb3ZlcmxhcAoKMjAxMS0wNy0xMSAyMDo0NjoyMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogUHV0IHRoZSBpbnRlciBkaWdpdCBpbnRlcnZhbCBhdCB0aGUgZW5kLCBub3QgYXQgdGhlIHN0YXJ0CgkgIFRoZSByZWFzb24gaXMgdG8gbGV0IHJ0cGR0bWZtdXggZHJvcCBidWZmZXJzIGR1cmluZyB0aGUgaW50ZXIgZGlnaXQgaW50ZXJ2YWwsCgkgIHRoaXMgd2F5LCB0aGVyZSB3aWxsIGJlIG1vcmUgc2lsZW5jZSBhcm91bmQgdGhlIERUTUYgdG9uZXMgc28gSVZGcyB3aWxsIGhhdmUKCSAgYSBiZXR0ZXIgY2hhbmNlIHJlY29nbml6aW5nIHRoZW0uCgoyMDExLTA0LTE0IDE3OjA4OjU3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgcnRwZHRtZnNyYzogU3RhcnQgYXQgdGhlIGxhc3Rfc3RvcCBmcm9tIHRoZSBzdGFydCBldmVudCBpZiB0aGVyZSB3YXMgb25lCgkgIFRoZSBnb2FsIGlzIHRvIHRyeSB0byBub3QgaGF2ZSBhIEdBUCBiZXR3ZWVuIHRoZSBhdWRpbyBhbmQgdGhlIERUTUYKCjIwMTEtMDQtMTQgMTQ6MzQ6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBydHBkdG1mbXV4OiBBZGQgbGFzdC1zdG9wIHRvIGR0bWYtZXZlbnQgdXBzdHJlYW0gZXZlbnRzCgkgIEFkZCB0aGUgcnVubmluZyB0aW1lIG9mIHRoZSBsYXN0IG91dHB1dHRlZCBidWZmZXIgdG8gdGhlCgkgIHVwc3RyZWFtICJkdG1mLWV2ZW50IiBldmVudHMgc28gdGhhdCB0aGUgZHRtZiBzb3VyY2UgZG9lcyBub3QKCSAgbGVhdmUgYSBnYXAuCgoyMDExLTA0LTE0IDE2OjQ5OjM5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgcnRwZHRtZnNyYzogUmVzcGVjdCBwdGltZSBmcm9tIHRoZSBjYXBzCgkgIFJlc3BlY3QgdGhlIHB0aW1lIGZyb20gdGhlIGNhcHMgZm9yIHRoZSBEVE1GIHBhY2tldHMKCjIwMTEtMDctMTEgMjE6MzA6MjggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IEp1c3QgZXJyb3Igb3V0IGlmIHRoZXJlIGlzIG5vIGNsb2NrCgoyMDExLTA4LTI0IDE2OjUzOjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IG1ha2UgZ3N0X2thdGVfdXRpbF9pc191dGY4X3N0cmluZygpIGlubGluZSB0byBmaXggY29tcGlsZXIgd2FybmluZyB3aXRoIG9sZGVyIGxpYmthdGUgdmVyc2lvbnMKCSAgZ3N0a2F0ZXV0aWwuYzoyMzA6MTogZXJyb3I6ICdnc3Rfa2F0ZV91dGlsX2lzX3V0Zjhfc3RyaW5nJyBkZWZpbmVkIGJ1dCBub3QgdXNlZAoKMjAxMS0wOC0yNCAxNTozMjoxMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcnNud3JhcHBlZGJ1ZmZlci5jOgoJICByc25kdmQ6IGVuc3VyZSBtZXRhZGF0YSBpcyB3cml0YWJsZSB3aGVuIHdyaXRpbmcgdG8gaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzI1MAoKMjAxMS0wOC0yNCAwOTozNToxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBVc2UgRkFMU0UgaW5zdGVhZCBvZiAwIGZvciBib29sIHBhcmFtZXRlcgoKMjAxMS0wOC0yMyAyMjo0NDoxNyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IE5lZWQgdG8gc2VuZCBhIG5ld3NlZ21lbnQgYWZ0ZXIgYSBzZWVrCgoyMDExLTA4LTIzIDIyOjM4OjI2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogU2VuZCBidWZmZXJpbmcgbWVzc2FnZXMgb24gdGhlIGJ1cwoKMjAxMS0wOC0yMyAyMjozODowNSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGNhY2hlIHRoZSBudW1iZXIgb2YgZnJhZ21lbnRzIHdlIGFyZSByZXF1aXJlZCB0byBjYWNoZQoKMjAxMS0wOC0yMyAyMjo0MDoyNSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEZvcndhcmQgc2Vlay9kdXJhdGlvbiBxdWVyeS9ldmVudCB0byB0aGUgc2lua3BhZAoKMjAxMS0wOC0yNCAwMTowMzozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IE9wdGltaXplIHN0YXJ0IHVwIGEgbGl0dGxlIGJ5IHJlbW92aW5nIHNvbWUgcGFkIGNoZWNrcwoJICBTb21lIHBhZCBjaGVja3MgYXJlIGd1YXJhbnRlZWQgdG8gd29yaywgc28gd2UgY2FuIGRpc2FibGUgdGhlbQoJICBieSB1c2luZyBnc3RfZWxlbWVudF9saW5rX3BhZHNfZnVsbAoKMjAxMS0wOC0yMyAxOToyNjozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIGNhbWVyYWJpbjI6IFJlbW92ZSBmcm9tIGV4cGVyaW1lbnRhbAoJICBSZW1vdmUgY2FtZXJhYmluMiBmcm9tIGV4cGVyaW1lbnRhbCwgYWxsb3dpbmcgaXQgdG8gYmUgYnVpbHQKCSAgd2l0aG91dCBuZWVkaW5nIHRvIHBhc3MgLS1lbmFibGUtZXhwZXJpbWVudGFsIG9uIGNvbmZpZ3VyZS4KCjIwMTEtMDgtMjMgMTk6MTM6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBbHdheXMgc2V0IGVuY29kZWJpbiBmbGFncyB3aGVuIGdvaW5nIHRvIHJlYWR5CgkgIFdoZW4gZ29pbmcgZnJvbSBOVUxMIHRvIFJFQURZIHdlIHdhbnQgdGhlIGVuY29kZWJpbiBmbGFncyB0byBiZQoJICBzZXQsIGFuZCBub3Qgb25seSBhZnRlciBjcmVhdGluZyBlbmNvZGViaW4gKG9uIHRoZSBmaXJzdCBydW4pCgoyMDExLTA4LTIzIDExOjU4OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBBZGQgbmV3IGVudHJ5IHRvIGZsYWdzIHByb3BlcnR5CgkgIEFkZHMgYSBuZXcgZW50cnkgdG8gY2FtZXJhYmluMiBmbGFncyB0byBkaXNhYmxlIHZpZXdmaW5kZXIKCSAgY29udmVyc2lvbiBlbGVtZW50cy4KCjIwMTEtMDgtMjMgMTE6MTk6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmg6CgkgIGNhbWVyYWJpbjI6IHZpZXdmaW5kZXJiaW46IEFkZCBwcm9wZXJ0eSBmb3IgZGlzYWJsaW5nIGNvbnZlcnRlcnMKCSAgQWRkcyBhIG5ldyBwcm9wZXJ0eSB0byBkaXNhYmxlIGNvbnZlcnRlcnMgZWxlbWVudHMgZm9yIHBlcmZvcm1hbmNlCgkgIHJlYXNvbnMuIEl0IHNob3VsZCBvbmx5IGJlIHVzZWQgaWYgdGhlIGFwcGxpY2F0aW9uIGtub3dzIHRoZXkgYXJlbid0CgkgIG5lZWRlZC4KCjIwMTEtMDgtMTkgMTc6Mjg6NTQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZG8gbm90IHRyeSB0byBjb21wYXJlIGEgUENSIHdpdGggaXRzZWxmIGZvciBzdGF0aXN0aWNzCgkgIEVzcGVjaWFsbHkgYXMgb25lIG9mIHRoZSBsb2dzIHdpbGwgY2F1c2UgYSBkaXZpZGUgYnkgemVyby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjkyNwoKMjAxMS0wOC0xOSAxMzozMjoxNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBkbyBub3Qga2VlcCBhIGRhbmdsaW5nIHBvaW50ZXIKCSAgV2hlbiByZW1vdmluZyB0aGUgY3VycmVudCBwcm9ncmFtLCBpdCB3aWxsIGdldCBmcmVlZCBieSB0aGUKCSAgaGFzaCB0YWJsZSByZW1vdmFsIGNhbGxiYWNrLCBzbyBlbnN1cmUgd2UgY2xlYXIgb3VyIHBvaW50ZXIKCSAgdG8gaXQuCgkgIEZpeGVzIGEgY3Jhc2ggbGF0ZXIgb24gaW4gZ3N0X3RzX2RlbXV4X3B1c2ggdHJ5aW5nIHRvIGFjY2VzcyBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjkyNwoKMjAxMS0wOC0yMSAyMDozNjowNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IHBhc3Mgb24gdGltZWQgZXZlbnQgbWV0YWRhdGEgYXMgdGFncyB3aGVuIHdlIGNhbgoJICBNZXRhZGF0YSBhdHRhY2hlZCB0byBvdGhlciBvYmplY3RzIHRoYXQgbWF5IGJlIHVzZWQgaW4gdGhpcwoJICBldmVudCBhcmUgbm90IHBhc3NlZCwgYXMgaXMgYmluYXJ5IG1ldGFkYXRhLgoKMjAxMS0wOC0yMyAxMDozMjoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQWRkIEFDX01TR19DSEVDS0lORygpIHRvIHRoZSBWUDhFX1NFVF9UVU5JTkcgcHJlc2VuY2UgY2hlY2sKCjIwMTEtMDgtMTkgMTk6MTc6MTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICB2cDg6IHByb2JlIGZvciB0aGUgbmV3IHR1bmluZyBBUEkgdG8ga2VlcCBidWlsZGluZyB3aXRoIG9sZGVyIGxpYnZweAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2OTI4CgoyMDExLTA4LTE4IDEzOjIxOjE4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5oOgoJICByc3ZnZGVjOiB1c2UgaW5wdXQgYnVmZmVyIHRpbWluZ3MgaWYgcG9zc2libGUKCSAgU1ZHIGRhdGEgbWF5IGNvbWUgdGhyb3VnaCBtdWx0aXBsZSBidWZmZXJzLCBzbyBrZWVwIHRyYWNrIG9mIHRoZQoJICB0aW1lc3RhbXAgb2YgdGhlIGZpcnN0IGJ1ZmZlciwgYW5kIHVzZSBpdCBpbiBwcmVmZXJlbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI4Mjg0CgoyMDExLTA4LTIyIDE3OjEwOjI0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSAga2F0ZTogZG8gbm90IGNvbnNpZGVyIGFuIGVtcHR5IFNQVSB0byBiZSBhIGZhdGFsIGVycm9yCgkgIEluc3RlYWQsIGp1c3QgZW5jb2RlIG5vdGhpbmcgYW5kIGdvIG9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3MDkxCgoyMDExLTA4LTIyIDE3OjE1OjEwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSAga2F0ZTogZG8gbm90IGNsZWFyIG91dCBoaWdoIGJpdHMgZnJvbSBkaXNwbGF5IGFyZWEKCSAgaHR0cDovL2R2ZC5zb3VyY2Vmb3JnZS5uZXQvc3B1X25vdGVzIGRvZXMgbm90IG1lbnRpb24gdGhhdCBoaWdoIGJpdHMKCSAgYXJlIHRvIGJlIG1hc2tlZCwgYW5kIG5vdCBjbGVhcmluZyB0aGVtIG1ha2VzIGEgc2FtcGxlIHdvcmssIHdoZXJlCgkgIGNsZWFyaW5nIHRoZW0geWllbGRlZCBsZWZ0ID4gcmlnaHQuCgkgIEhpc3RvcnkgZnJvbSB0aGUgZHZkc3B1IHBsdWdpbiwgZnJvbSB3aGVyZSB0aGlzIGNvZGUgd2FzIGNvcGllZCwKCSAgZG9lcyBub3Qgc2hlZCBhbnkgbGlnaHQsIGFzIHRyYWNpbmcgdGhpcyBjb2RlJ3Mgb3JpZ2luIHNob3dzCgkgIHRoZSBzYW1lIGJpdG1hc2tzIGJlaW5nIHRoZXJlIGluIDIwMDcgd2hlbiBpdCB3YXMgaW1wb3J0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTcwOTEKCjIwMTEtMDgtMjIgMTY6NTI6MTMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmM6CgkgIGR2ZHNwdTogZG8gbm90IGNsZWFyIG91dCBoaWdoIGJpdHMgZnJvbSBkaXNwbGF5IGFyZWEKCSAgaHR0cDovL2R2ZC5zb3VyY2Vmb3JnZS5uZXQvc3B1X25vdGVzIGRvZXMgbm90IG1lbnRpb24gdGhhdCBoaWdoIGJpdHMKCSAgYXJlIHRvIGJlIG1hc2tlZCwgYW5kIG5vdCBjbGVhcmluZyB0aGVtIG1ha2VzIGEgc2FtcGxlIHdvcmssIHdoZXJlCgkgIGNsZWFyaW5nIHRoZW0geWllbGRlZCBsZWZ0ID4gcmlnaHQuCgkgIEhpc3RvcnkgZG9lcyBub3Qgc2hlZCBhbnkgbGlnaHQsIGFzIHRyYWNpbmcgdGhpcyBjb2RlJ3Mgb3JpZ2luIHNob3dzCgkgIHRoZSBzYW1lIGJpdG1hc2tzIGJlaW5nIHRoZXJlIGluIDIwMDcgd2hlbiBpdCB3YXMgaW1wb3J0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjAxMTkKCjIwMTEtMDgtMjMgMDk6NTI6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogRmlyc3QgdHJ5IGlmIHVwc3RyZWFtIGhhbmRsZXMgc2Vla2luZyBpbiBUSU1FIGZvcm1hdCBiZWZvcmUgc2Vla2luZyBpbiB0aGUgZGVtdXhlcgoKMjAxMS0wOC0yMyAwOTo0MDoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGaXJzdCBzZW5kIFNFRUtJTkcgcXVlcmllcyB1cHN0cmVhbQoKMjAxMS0wOC0yMyAwOToyNzoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBTZW5kIERVUkFUSU9OIHF1ZXJ5IHVwc3RyZWFtIGZpcnN0CgoyMDExLTA4LTIzIDA5OjIzOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFVzZSBGQUxTRSBpbnN0ZWFkIG9mIDAgZm9yIGEgYm9vbCBwYXJhbWV0ZXIKCjIwMTEtMDgtMTYgMTk6NTM6MzEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBzd2l0Y2ggcGFkcyB3aGVuIHdlIHNlZWsgKG5lZWRfc2VnbWVudCkgc2luY2UgdHNkZW11eCBkb2Vzbid0IGNvcGUgd2VsbCB3aXRoIGEgcmVzZXQKCjIwMTEtMDgtMjMgMDI6MzY6MjUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBZGQgYSBGSVhNRSBjb21tZW50LiBsb29wIHRhc2sgc2hvdWxkIGJlIGEgcGFkIHRhc2sKCjIwMTEtMDgtMjIgMjM6NDE6MzkgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEbyBub3Qgc2VlayBpbiBhIGxpdmUgc3RyZWFtCgoyMDExLTA4LTIyIDIzOjQxOjMxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG8gbm90IHRha2UgdGhlIHBhZCBzdHJlYW0gbG9jaywgdXNlIHRoZSB0YXNrJ3MgbG9jayBpbnN0ZWFkCgoyMDExLTA4LTE2IDE5OjQ2OjQ5ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBJbXBsZW1lbnQgRVZFTlRfU0VFSwoKMjAxMS0wOC0yMyAwMTo1NDoyNiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEltcGxlbWVudCB0aGUgR1NUX1FVRVJZX1NFRUtJTkcgcHJvcGVybHkKCjIwMTEtMDgtMjMgMDE6NTQ6MDMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBJbXBsZW1lbnQgY29ycmVjdGx5IHRoZSBHU1RfUVVFUllfRFVSQVRJT04KCjIwMTEtMDgtMTYgMTk6NDE6MDggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEbyBub3QgdXNlIEdTVF9UQVNLX1dBSVQgaW4gdGhlIHRhc2sgZnVuY3Rpb24KCSAgVGhlIHRhc2sgZnVuY3Rpb24gdXNlcyBHU1RfVEFTS19XQUlUIHdoaWNoIGRvZXMgYSBnX2NvbmRfd2FpdCBnaXZpbmcgaXQKCSAgdGhlIEdTVF9PQkpFQ1RfR0VUX0xPQ0sgb2YgdGhlIHRhc2suIFRoZSBtdXRleCBnZXRzIGxvY2tlZCB3aGVuCgkgIGdfY29uZF93YWl0IHJldHVybnMsIHNvIGlmIHdlIGRvbid0IGxvY2svdW5sb2NrIGl0LCBpdCB3aWxsCgkgIHN0YXkgbG9ja2VkIGZvcmV2ZXIsIHByZXZlbnRpbmcgdGhlIHRhc2sgZnJvbSBldmVyIGZpbmlzaGluZy4KCSAgV2Ugc2hvdWxkbid0IGxvY2sgdGhlIHRhc2sgb2JqZWN0IGxvY2ssIHNvIGxldCdzIHJlbW92ZSB0aGUgR1NUX1RBU0tfV0FJVAoJICBhbmQgbWFrZSB0aGUgdGFzayBwYXVzZSBpbnN0ZWFkIGlmIHRoZXJlIGFyZSBubyBidWZmZXJzIGluIHRoZSBxdWV1ZS4KCjIwMTEtMDgtMTggMjM6NTI6MzcgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBkbyBub3Qgc2VuZCBhIG5ldy1zZWdtZW50IG9uIHN0cmVhbSByZW1vdmFsCgkgIFdoZW4gYSBwcm9ncmFtIGlzIGNoYW5nZWQsIHN0cmVhbV9hZGRlZCBpcyBjYWxsZWQgd2hpY2ggc2V0cyB0aGUKCSAgbmVlZF9uZXdzZWdtZW50IHRvIFRSVUUsIHRoZW4gc3RyZWFtX3JlbW92ZWQgaXMgY2FsbGVkLCB3aGljaCBjYWxscwoJICB0aGUgZmx1c2hfcGVuZGluZ19kYXRhLCB3aGljaCBjaGVja3MgZm9yIHRoZSBuZXdzZWdtZW50IGFuZCBjYXVzZXMKCSAgaXQgdG8gc2VuZCBhIG5ldy1zZWdtZW50LgoJICBXZSBtdXN0IG5vdCBzZW5kIHRoZSBuZXdzZWdtZW50IHdoZW4gZmx1c2hpbmcgdGhlIHBlbmRpbmcgZGF0YSBvbiB0aGUKCSAgcmVtb3ZlZCBzdHJlYW0uIFdlIHNob3VsZCBvbmx5IHB1c2ggaXQgd2hlbiBmbHVzaGluZyBkYXRhIG9uIHRoZSBuZXdseQoJICBhZGRlZCBzdHJlYW1zIChhZnRlciB0aGV5IGZpbmlzaCBwYXJzaW5nIHRoZWlyIFBUUyBoZWFkZXIpCgoyMDExLTA4LTE2IDIyOjA1OjE0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRml4IG5ld3NlZ21lbnQgd2hlbiBzd2l0Y2hpbmcgcHJvZ3JhbXMKCSAgSWYgYSBwcm9ncmFtL3N0cmVhbSBpcyBjaGFuZ2VkLCB0aGVuIGEgbmV3c2VnbWVudCBpcyBzZW50IHdoaWNoIG11c3QKCSAgbm90IGJlIHRoZSBzYW1lIGFzIHRoZSBiYXNlIHNlZ21lbnQgc2luY2UgaXQgaGFwcGVucyBsYXRlci4gV2UgbXVzdAoJICBzaGlmdCB0aGUgc3RhcnQgcG9zaXRpb24gYnkgdGhlIHRpbWUgZWxhcHNlZCBzaW5jZSB0aGUgbmV3c2VnbWVudAoJICBhbmQgdGhlIGN1cnJlbnQgUFRTIG9mIHRoZSBzdHJlYW0KCjIwMTEtMDgtMTYgMTk6NTQ6MDQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBpbnRlcnBvbGF0ZSBnYXAgYW5kIGZpeCB0aW1lc3RhbXBzIGRlcGVuZGluZyBvbiB1cHN0cmVhbSBzZWdtZW50CgoyMDExLTA4LTE4IDIzOjU0OjU5ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBLZWVwIGEgc2VwYXJhdGUgdmFyaWFibGUgZm9yIHRoZSBjdXJyZW50IHZhcmlhbnQgdXNlZAoJICBCeSB1c2luZyBhIHNlcGFyYXRlIHZhcmlhYmxlLCBmaXJzdCBpdCBhbGxvd3MgdXMgdG8gc29ydCB0aGUgbGlzdHMKCSAgb2YgYWx0ZXJuYXRlcyBidXQga2VlcCB0aGUgcG9pbnRlciBvbiB0aGUgZmlyc3Qgb2NjdXJlbmNlIGluIHRoZSBtYWluCgkgIHBsYXlsaXN0ICh0byByZXNwZWN0IHRoZSBzcGVjIG9mIHN0YXJ0aW5nIHdpdGggdGhlIGJpdHJhdGUgc3BlY2lmaWVkCgkgIGZpcnN0IGluIHRoZSBtYWluIHBsYXlsaXN0KS4gSXQgYWxzbyBhdm9pZCBwbGF5aW5nIHdpdGggdGhlIGxpc3RzIHZhcmlhYmxlCgkgIHdoaWNoIHNob3VsZCBiZSB1c2VkIHRvIHN0b3JlIHRoZSBsaXN0IG9mIHBsYXlsaXN0cyBhbmQgbm90IGFzIGEgcG9pbnRlcgoJICB0byB0aGUgY3VycmVudCBvbmUuCgkgIEFsc28gZml4ZXMgYSBtZW1sZWFrIHdpdGggdGhlIGdfbGlzdF9mb3JlYWNoIGZyZWVpbmcgdGhlIGxpc3RzLCBpZiBpdCB3YXNuJ3QKCSAgcG9pbnRpbmcgdG8gdGhlIGZpcnN0IGVsZW1lbnQgb2YgdGhlIGxpc3QuCgoyMDExLTA4LTIxIDE4OjQ0OjQzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBmaXggY29tcGlsYXRpb24gb24gTGludXgKCjIwMTEtMDgtMTggMTQ6Mjk6NTMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBBZGQgc3ViZGV2aWNlIHByb3BlcnR5CgoyMDExLTA3LTA3IDE2OjQ0OjMxIC0wNDAwICBKb3NodWEgTS4gRG9lIDxvc3NAbnZsLmFybXkubWlsPgoKCSogc3lzL2RlY2tsaW5rL0RlY2tMaW5rQVBJLmg6CgkqIHN5cy9kZWNrbGluay9EZWNrTGlua0FQSURpc3BhdGNoLmNwcDoKCSogc3lzL2RlY2tsaW5rL0xpbnV4Q09NLmg6CgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJKiBzeXMvZGVja2xpbmsvbGludXgvRGVja0xpbmtBUEkuaDoKCSogc3lzL2RlY2tsaW5rL2xpbnV4L0RlY2tMaW5rQVBJRGlzcGF0Y2guY3BwOgoJKiBzeXMvZGVja2xpbmsvbGludXgvTGludXhDT00uaDoKCSogc3lzL2RlY2tsaW5rL3dpbi9EZWNrTGlua0FQSS5oOgoJKiBzeXMvZGVja2xpbmsvd2luL0RlY2tMaW5rQVBJRGlzcGF0Y2guY3BwOgoJKiBzeXMvZGVja2xpbmsvd2luL0RlY2tMaW5rQVBJX2kuYzoKCSAgZGVja2xpbms6IGFkZCBzdXBwb3J0IGZvciBXaW5kb3dzCgkgIEJ1aWxkcyB3aXRoIE1TVkMsIG5vdCB0ZXN0ZWQgaW4gTWluR1cgb3IgYW55dGhpbmcgZWxzZS4gQWRkZWQKCSAgQ09NIGhhbmRsaW5nIGNvZGUsIGJvcnJvd2VkIGZyb20gZHNob3d2aWRlb3NpbmsuIE1vdmVkIExpbnV4CgkgIHNwZWNpZmljIGZpbGVzIHRvIC4vbGludXggYW5kIGFkZGVkIFdpbmRvd3Mgc3BlY2lmaWMgZmlsZXMgdG8KCSAgLi93aW4gKGdlbmVyYXRlZCBmcm9tIElETCBmaWxlcyBpbiBWUzkpLiBBZGRlZCBtYWNyb3MgdG8gaGFuZGxlCgkgIEJTVFIgYW5kIGRlZmluZWQgYm9vbCBhcyBCT09MLiAgRml4ZXMgIzY1NTM2Mi4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA3LTA3IDE0OjM0OjAxIC0wNDAwICBKb3NodWEgTS4gRG9lIDxvc3NAbnZsLmFybXkubWlsPgoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbms6IGltcHJvdmUgZnJhbWUgaGFuZGxpbmcKCSAgU2VuZCBORVdTRUdNRU5UIG9uIHN0YXJ0LiBTZW5kIHdhcm5pbmcgaW5zdGVhZCBvZiBlcnJvciBvbgoJICBkcm9wcGVkIGZyYW1lcy4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA3LTA3IDE0OjIwOjM3IC0wNDAwICBKb3NodWEgTS4gRG9lIDxvc3NAbnZsLmFybXkubWlsPgoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbms6IGZpeCBkZWJ1Z2dpbmcgaW4gY2FwdHVyZS5jcHAgYnkgbWFraW5nIGNhdGVnb3J5IGV4dGVybgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDctMDcgMTQ6MTM6MDAgLTA0MDAgIEpvc2h1YSBNLiBEb2UgPG9zc0BudmwuYXJteS5taWw+CgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmg6CgkgIGRlY2tsaW5rOiB1c2UgbXV0ZXhlcyBmcm9tIGdsaWIgaW5zdGVhZCBvZiBwdGhyZWFkCgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNi0xNiAxNzoxOTo0OSAtMDMwMCAgVGlhZ28gQ8Opc2FyIEthdGNpcGlzIDx0aWFnb2thdGNpcGlzQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9yZW1vdmVzaWxlbmNlL2dzdHJlbW92ZXNpbGVuY2UuYzoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvZ3N0cmVtb3Zlc2lsZW5jZS5oOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS92YWRfcHJpdmF0ZS5jOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS92YWRfcHJpdmF0ZS5oOgoJICByZW1vdmVzaWxlbmNlOiBuZXcgcGx1Z2luCgkgIEZpeGVzOiAjNTk3ODIyLgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDgtMjEgMTQ6NDE6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IFByZXZlbnQgYXVkaW9zcmMgZnJvbSBzZW5kaW5nIHVuZGVzaXJlZCBlb3MKCSAgQmFzZXNyYyBkZXJpdmVkIGNsYXNzZXMgc2VuZCBhbiBlb3Mgd2hlbiB0aGV5IGNoYW5nZSBzdGF0ZQoJICBmcm9tIHBhdXNlZCB0byByZWFkeSBhbmQgdGhhdCBicmVha3MgdmlkZW8gcmVjb3JkaW5ncyBvbiBjYW1lcmFiaW4yCgkgIGFzIGl0IG1ha2VzIHRoZSB3aG9sZSBhdWRpbyBicmFuY2ggcGFkcyBmbHVzaGluZy4KCSAgUHJldmVudCBpdCBieSB1c2luZyBhIHBhZCBwcm9iZSB0aGF0IG9ubHkgYWxsb3dzIHRoZSBlb3MgdG8gcGFzcwoJICB3aGVuIGl0IGlzIGNhdXNlZCBieSBhIHN0b3AtY2FwdHVyZSBhY3Rpb24uCgoyMDExLTA4LTIxIDE0OjA3OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IFVzZSBhdWRpb3Rlc3RzcmMgb24gdGVzdHMKCSAgVXNlIGF1ZGlvdGVzdHNyYyBvbiB0ZXN0cyBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBzeXN0ZW0ncyBkZWZhdWx0CgkgIGF1ZGlvc3JjLCBhdm9pZGluZyBhbnkgcHJvYmxlbXMgdGhhdCBhIGxvY2FsIGF1ZGlvIHNldHVwIG1pZ2h0CgkgIGhhdmUuCgoyMDExLTA4LTE4IDE4OjI3OjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogVXNlIGdzdF9wYWRfc2VuZF9ldmVudCBpbnN0ZWFkIG9mIGV2ZW50ZnVuYyBtYWNybwoKMjAxMS0wOC0xNCAwNDo0MTo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBJbXByb3ZpbmcgdGVzdHMKCSAgQWRkaW5nIHNvbWUgYWRkaXRpb25hbCBjaGVja3MgZm9yIGN1c3RvbSBjYW1lcmFiaW4yIG1lc3NhZ2VzCgkgIEFsc28gaW1wcm92ZXMgcmVsaWFiaWxpdHkgb2YgdGhlIHRlc3RzIGJ5IHdhaXRpbmcgZm9yIHRoZSBwcmV2aWV3LWJ1ZmZlciBtZXNzYWdlLgoJICBUaGlzIG1lc3NhZ2UgaXMgZ2VuZXJhdGVkIGZyb20gdGhlIHByZXZpZXcgcGlwZWxpbmUsIGFuZCBtaWdodCBhcnJpdmUgbGF0ZXIgdGhhbiB0aGUKCSAgaW1hZ2UvdmlkZW8tZG9uZSBmcm9tIHRoZSBtYWluIGNhbWVyYWJpbjIgcGlwZWxpbmUsIHRoZSB0ZXN0cyBuZWVkIHRvIHdhaXQgZm9yIGl0IGV2ZW4KCSAgYWZ0ZXIgZ2V0dGluZyB0aGUgaW1hZ2UvdmlkZW8tZG9uZS4KCjIwMTEtMDgtMTggMTU6MTI6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBdm9pZCBhc3NlcnRpb25zIHdoZW4gcGx1Z2luIGNyZWF0aW9uIGZhaWxzCgkgIENhcHNmaWx0ZXJzIGFyZSBjcmVhdGVkIG9uIHRoZSBjb25zdHJ1Y3RvciBhbmQgdGhlaXIgcHJvcGVydGllcyBjYW4KCSAgYmUgc2V0L2dldCBmcm9tIGNhbWVyYWJpbjIncyBzZXQvZ2V0X3Byb3BlcnR5IGZ1bmN0aW9ucy4gVGhlIHVzZXIgd2l0aAoJICBhIGJyb2tlbiBzZXR1cCB3b3VsZCBjYXVzZSBhc3NlcnRpb25zIHdoZW4gdHJ5aW5nIHRvIHNldC9nZXQgdGhlCgkgIGNhcHR1cmUgY2FwcyBvZiB0aGlzIGNhbWVyYWJpbjIuCgkgIEEgcHJvcGVyIG1pc3NpbmctcGx1Z2luIG1lc3NhZ2Ugd2lsbCBiZSBwb3N0ZWQgd2hlbiB0aGUgdXNlciB0cmllcyB0bwoJICBzZXQgY2FtZXJhYmluMiB0byBSRUFEWSBzdGF0ZS4KCjIwMTEtMDgtMjAgMDA6NDg6MjAgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgdHNtdXg6IHJlbW92ZSB1bm5lY2Vzc2FyeSBjaGVjawoJICByZW1vdmUgYW4gaWYgKGJlc3QpIGNoZWNrIHdoZXJlIGJlc3QgIT0gTlVMTCBoYXMgYWxyZWFkeSBiZWVuIGNoZWNrZWQKCjIwMTEtMDgtMTYgMTk6NTE6MzQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICB0c2Jhc2U6IHJlaW5pdGlhdGUgc2VnbWVudCBhdCBmbHVzaC1zdG9wIGV2ZW50IG9ubHkKCjIwMTEtMDgtMTYgMTk6NDM6MDggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IFNldCBidWZmZXIgdGltZXN0YW1wIHNpbmNlIHdlIHNlbmQgYSBUSU1FIHNlZ21lbnQKCjIwMTEtMDgtMDIgMTk6MjE6NDcgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBbGxvdyBiYW5kd2lkdGggc3dpdGNoaW5nIGR1cmluZyBjYWNoaW5nIG9mIGZyYWdtZW50cwoKMjAxMS0wOC0wMiAxOToyMToxOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHNldCB0aGUgcGFkJ3MgY2FwcyBiZWZvcmUgYWRkaW5nIGl0CgoyMDExLTA4LTE3IDExOjAyOjEyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vZmEvZ3N0b2ZhLmM6CgkgIG9mYTogZmluZ2VycHJpbnQgY3JlYXRpb24gY2FuIGZhaWwKCSAgVGhlcmUgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHdheSB0byByZXRyaWV2ZSBpbmZvcm1hdGlvbgoJICBhYm91dCB3aHkgZmFpbHVyZSBvY2N1cmVkLCB1bmZvcnR1bmF0ZWx5LgoJICBXaGVuIGZhaWx1cmUgb2NjdXJzLCBkbyBub3QgcG9zdCBhIE5VTEwgZmluZ2VycHJpbnQgdGFnLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2NjQxCgoyMDExLTA4LTE3IDEwOjU1OjU5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vZmEvZ3N0b2ZhLmM6CgkgIG9mYTogY2xlYW51cAoJICBBdm9pZCByZXBlYXRpbmcgY2FzdGluZyB0byBHc3RBdWRpb0ZpbHRlciB3aGVuIG9uZSB3aWxsIGRvCgkgIFVzZSBvYmplY3QgcmVsYXRlZCBsb2dnaW5nIHRvIG1ha2UgaXQgZWFzaWVyIHRvIGdldCBqdXN0IHRoZSBsb2dzIHdlIHdhbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjY0MQoKMjAxMS0wOC0xNyAxMTowNzo1NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb2ZhL2dzdG9mYS5jOgoJICBvZmE6IGRvIG5vdCBjcmVhdGUgZmluZ2VycHJpbnQgb24gRU9TIGlmIHJlY29yZCBpcyBGQUxTRQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2NjQxCgoyMDExLTA4LTE4IDEwOjM5OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogUmVtb3ZlIHVudXNlZCBhbmQgdXNlbGVzcyB2YXJpYWJsZSBpbiB0YWdzIGhhbmRsaW5nCgoyMDExLTA4LTE4IDA4OjAyOjUwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBGaXggbG9ja2luZywgZXNwZWNpYWxseSBpZiBib3RoIHBhZHMgaGF2ZSBkaWZmZXJlbnQgc3RyZWFtaW5nIHRocmVhZHMKCjIwMTEtMDgtMTggMDc6NDI6MDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBEb24ndCBjYWxsIGdfdHlwZV9jbGFzc19wZWVrX3BhcmVudCgpIGluIGNsYXNzX2luaXQKCSAgVGhpcyBpcyBhbHJlYWR5IGRvbmUgYnkgdGhlIEdPYmplY3QgYm9pbGVycGxhdGUgbWFjcm8KCjIwMTEtMDgtMTcgMTk6MDE6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA4LTE2IDEwOjI0OjM3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSogZ3N0L2FpZmYvYWlmZm11eC5oOgoJICBhaWZmbXV4OiBkcm9wIGRhdGEgYWZ0ZXIgNGlzaCBHQiBhbmQgbW9hbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0Mjc4CgoyMDExLTA4LTE2IDEwOjAyOjU5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSAgYWlmZm11eDogdXNlIGd1aW50MzIgZm9yIGd1aW50MzIgcGFyYW1ldGVycwoJICBUaGlzIG1ha2VzIGV4cGxpY2l0IHRoYXQgdGhlIHJhbmdlIGlzIGxpbWl0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQyNzgKCjIwMTEtMDgtMTYgMTA6MDI6MTEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJICBhaWZmbXV4OiBhdm9pZCBpbnRlZ2VyIG92ZXJmbG93CgkgIFRoZXNlIHZhbHVlcyBhcmUgMzIgYml0cywgYW5kIHdpZHRoIGlzIGEgbXVsdGlwbGUgb2YgOC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDI3OAoKMjAxMS0wOC0xNiAxOTozOTo0MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkgIGNlbHRkZWM6IG1ha2UgdGhpcyBjb21waWxlIHdpdGggZ2l0IGxpYmNlbHQKCSAgY2VsdF9tb2RlX2luZm8gd2FzIHJlbW92ZWQsIGluIGZhdm9yIG9mIGEgX2N0bC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjY4NgoKMjAxMS0wOC0xNiAxODozNDo1OSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb2ZhL2dzdG9mYS5jOgoJICBvZmE6IGRvbid0IGNyYXNoIHdoZW4gdGhlcmUncyBubyBkYXRhIHRvIGNyZWF0ZSBhIGZpbmdlcnByaW50IGZyb20KCSAgRml4ZXMgYSBjcmFzaCB3aGVuIG5vIGRhdGEgZmxvd2VkIHRocm91Z2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY2NDEKCjIwMTEtMDgtMTYgMTk6NDc6MDIgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzRwYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IFVzZSBnc3RfYml0X3JlYWRlcl9za2lwIHRvIHNraXAgbW9yZSB0aGFuIDMyIGJpdHMuCgkgIEdFVF9CSVRTIGlzIGEgbWFjcm8gZm9yIGdzdF9iaXRfcmVhZGVyX2dldF9iaXRzX3VpbnQzMiwgd2hpY2ggY2Fubm90CgkgIHJlYWQgbW9yZSB0aGFuIDMyIGJpdHMgYW5kIHdpbGwgZmFpbCBpbiB0aGlzIGNhc2Ugd2hlcmUgaXQgaXMgY2FsbGVkCgkgIHRvIHJlYWQgNzkgYml0cy4gU2luY2Ugd2Ugd2FudCB0byBza2lwIHRob3NlIGJpdHMsIGdzdF9iaXRfcmVhZGVyX3NraXAKCSAgaXMgbW9yZSBhcHByb3ByaWF0ZSBpbiB0aGlzIGNhc2UuCgoyMDExLTA4LTE1IDAyOjA4OjE0ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgcXRraXR2aWRlb3NyYzogZ2V0IHRoZSBmcmFtZXJhdGUgZnJvbSBjYXBzCgkgIC4uLmFuZCBjb25maWd1cmUgUVRLaXQgYWNjb3JkaW5nbHkuIEhhcmRjb2RpbmcgdG8gMzBmcHMgd2FzIHByZXR0eSAtYmFkLgoKMjAxMS0wOC0xMyAxNTo1NTowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBBZGQgdGVzdCBmb3IgYXVkaW8tZmlsdGVyIHByb3BlcnR5CgkgIENoZWNrcyB0aGF0IHRoZSBhdWRpby1maWx0ZXIgaXMgcHJvcGVybHkgcGx1Z2dlZCBpbiB0aGUgcGlwZWxpbmUKCSAgYW5kIHJlY2VpdmVzIGJ1ZmZlcnMgd2hlbiByZWNvcmRpbmcgYSB2aWRlby4KCjIwMTEtMDgtMTEgMTg6NTk6MDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IEFkZCBhdWRpby1maWx0ZXIgcHJvcGVydHkKCSAgQWRkcyBhIHByb3BlcnR5IHRvIGFkZCBhIGN1c3RvbSBHc3RFbGVtZW50IHRvIHRoZSBhdWRpbwoJICBicmFuY2ggb2YgdGhlIHBpcGVsaW5lLiBUaGlzIGFsbG93cyB0aGUgdXNlciB0byBkbyBjdXN0b20gYXVkaW8KCSAgcHJvY2Vzc2luZy9hbmFseXNpcyB3aGVuIHJlY29yZGluZyB2aWRlb3MuCgoyMDExLTA4LTEyIDIyOjM5OjUzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuaDoKCSAgYmFzZXZpc3VhbGl6ZXI6IGFkZCBtb3JlIHNoYWRlciB2YXJpYW50cyBhbmQgc2ltcGxpZnkgY29kZQoJICBVc2UgbWFjcm9zIHRvIHNpbXBseWZ5IHRoZSBzaGFkaW5nIGNvZGUuIFRob3NlIHdpbGwgZWFzZSB0byBhZGQgc3VwcG9ydCBmb3IKCSAgb3RoZXIgY29sb3JzcGFjZXMgaW4gdGhlIGZ1dHVyZS4gQWRkIG1vcmUgdmFyaWFudHMgZm9yIHRoZSBzaGFkaW5nIChsZWZ0LHJpZ2h0LAoJICBob3Jpei1pbiwgdmVydC1vdXQsIHZlcnQtaW4pLgoKMjAxMS0wOC0xMiAyMToyMjoyMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICBiYXNldmlzdWFsaXplcjogbW9yZSBkb2NzCgoyMDExLTA4LTEyIDIxOjE4OjQ0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuaDoKCSAgYmFzZWF1ZGlvdmlzdWFsaXplcjogcHJvdGVjdCBjb25maWcgd2l0aCBhIGxvY2sKCSAgQmVmb3JlIGl0IHdhcyBlYXN5IHRvIGNyYXNoIHRoZSBlbGVtZW50cyB3aGVuIHVzaW5nIGEgeGltYWdlc2luayBhbmQgdHJpZ2dlcmluZwoJICByZW5lZ290aWF0aW9uIGJ5IHJlc2l6aW5nLgoKMjAxMS0wOC0xMiAxNjo1Nzo0OSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkgIHNwZWN0cmFzY29wZTogbWFrZSBhIGNvcHkgb2YgdGhlIGF1ZGlvZGF0YSBiZWZvcmUgZG93bm1peGluZyBhbmQgd2luZG93aW5nCgkgIFRoZSBidWZmZXJzIGNvbWUgZnJvbSB0aGUgYWRhcHRlciBhbmQgdGhlIGRhdGEgbWlnaHQgb3ZlcmxhcC4gV2UgZG9uJ3Qgd2FudCB0bwoJICBtb2RpZnkgaXQgaW4gcGxhY2UuCgoyMDExLTA4LTEyIDEyOjI1OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IFByb3h5IHRoZSB3aWR0aC9oZWlnaHQvZnJhbWVyYXRlL1BBUiBjb25zdHJhaW50cyBvZiBkb3duc3RyZWFtIGNhcHMgdG8gdXBzdHJlYW0KCSAgVGhpcyBhbGxvd3MgdG8gc3BlY2lmeSBjb25zdHJhaW50cyBvbiB0aGUgY29tcHJlc3NlZCBkb3duc3RyZWFtIGNhcHMKCSAgYnkgbXV4ZXJzIG9yIGNhcHNmaWx0ZXJzLCB3aGljaCB3aWxsIHRoZW4gYmUgZm9yd2FyZGVkIHRvIHVwc3RyZWFtCgkgIGFuZCBhbGxvd3MgdmlkZW8gY29udmVydGVycyB0byBmdWxmaWxsIHRoZSBjb25zdHJhaW50cy4KCSAgQ29kZSBiYXNlZCBvbiBNYXJrIE5hdXdlbGFlcnRzIGF1ZGlvIGVuY29kZXIgYmFzZSBjbGFzcy4KCjIwMTEtMDgtMTIgMTI6MTM6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogUmVtb3ZlIG9sZCA6OmdldGNhcHMoKSBjb21tZW50CgoyMDExLTA4LTEyIDEyOjA4OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWNlbmM6IFVwZGF0ZSBmb3IgYmFzZXZpZGVvZW5jb2RlciA6OmdldF9jYXBzKCkgcmVtb3ZhbAoKMjAxMS0wOC0xMiAxMjowODoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBVcGRhdGUgZm9yIGJhc2V2aWRlb2VuY29kZXIgOjpnZXRfY2FwcygpIHJlbW92YWwKCjIwMTEtMDgtMTIgMTI6MDg6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBVcGRhdGUgZm9yIGJhc2V2aWRlb2VuY29kZXIgOjpnZXRfY2FwcygpIHJlbW92YWwKCjIwMTEtMDgtMTIgMTI6MDY6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogUmVtb3ZlIDo6Z2V0X2NhcHMoKSB2ZnVuYwoJICBTdWJjbGFzc2VzIGNhbiBzZXQgdGhlIGNhcHMgbW9yZSBlZmZpY2llbnRseSBhbmQgdGhpcyBvbmx5CgkgIGNhdXNlZCBhZGRpdGlvbmFsIGluZGlyZWN0aW9ucy4KCjIwMTEtMDgtMDkgMDk6Mjk6MjEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGY6IGRvIG5vdCBhc3NlcnQgb24gdGhlIHZhbHVlcyBvZiBkYXRhIHJlYWQgZnJvbSBpbnB1dAoJICBJbnN0ZWFkLCBsb2cgYSB3YXJuaW5nLCBhbmQgcmV0dXJuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTYzODI3CgoyMDExLTA4LTAzIDE2OjAyOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IFVzZSB0aGUgY2FjaGVkIHZpZGVvIGZyYW1lIHNpemUgaW5zdGVhZCBvZiByZWNhbGN1bGF0aW5nIGl0CgoyMDExLTA4LTA4IDE3OjUzOjE2ICswMjAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lZGluZ2VyOiBGaXggc2V0IGJ1dCB1bnVzZWQgdmFyaWFibGVzCgkgIFJlbW92ZSBzb21lIGRlYWQgY29kZSB0aGF0IHRyaWdnZXJzICJzZXQgYnV0IHVudXNlZCB2YXJpYWJsZXMiCgkgIGZyb20gR2NjIDQuNi4gIEZpeGVzICM2NTYxNjYKCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA4LTA4IDE2OjQ0OjIwICswMjAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWM6IEZpeCBzZXQgYnV0IHVudXNlZCB2YXJpYWJsZXMKCSAgUmVtb3ZlIHNvbWUgZGVhZCBjb2RlIHRoYXQgdHJpZ2dlcnMgInNldCBidXQgdW51c2VkIHZhcmlhYmxlcyIgZnJvbSBHY2MKCSAgNC42LiAgRml4ZXMgIzY1NjE2NC4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA4LTA2IDEyOjEzOjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkaW5nIHZpZGVvLWRvbmUgbWVzc2FnZQoJICB2aWRlby1kb25lIG1lc3NhZ2Ugd2lsbCBiZSBwb3N0ZWQgd2hlbiBhIHZpZGVvIHJlY29yZGluZyBpcwoJICBmaW5pc2hlZC4gU2ltaWxhciB0byBpbWFnZS1kb25lIG1lc3NhZ2UuCgoyMDExLTA4LTA1IDE1OjQ4OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkaW5nIHRvcC1sZXZlbCBlbGVtZW50IGRvY3VtZW50YXRpb24KCjIwMTEtMDgtMDUgMTM6MzQ6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBGaXhpbmcgdHlwbwoKMjAxMS0wOC0wNCAxMzozMzoyMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQGdvb2dsZS5jb20+CgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIGV4dC9vcGVuY3YvbW90aW9uY2VsbHNfd3JhcHBlci5jcHA6CgkqIGV4dC9vcGVuY3YvbW90aW9uY2VsbHNfd3JhcHBlci5oOgoJICBtb3Rpb25jZWxsczogdHVybiB0d28gZ2xvYmFsIHZhcnMgaW50byBzdGF0aWMgdmFyaWFibGVzCgkgIE1vdmUgMiB2YXJpYWJsZSB0byBtb3Rpb25jZWxsc193YXJwcGVyIGFuZCBtYWtlIHRoZW0gc3RhdGljLgoKMjAxMS0wOC0wNCAxMzozMzo1NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvTWFrZWZpbGUuYW06CgkgIGV4YW1wbGVzOiBBZGQgbWlzc2luZyBoZWFkZXIgZmlsZQoKMjAxMS0wOC0wNCAxMToyODozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkgIGRlY2tsaW5rOiBBZGQgZ3N0ZGVja2xpbmsuaCB0byBsaXN0IG9mIGhlYWRlcnMKCjIwMTEtMDgtMDQgMDk6NDk6NDYgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBmaXggc2VxdWVuY2UgaGVhZGVyIHBhcnNpbmcKCSAgQWZ0ZXIgYml0cmF0ZSB0aGVyZSdzIDExIGJpdHMgKDEgbWFya2VyIGJpdCArIFZCViBidWZmZXIgc2l6ZSkgYmVmb3JlIHRoZSBsb2FkCgkgIGludHJhIHF1YW50aXNlciBmbGFnLgoKMjAxMS0wOC0wNCAwOTo0MDo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDgtMDQgMDk6MzY6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgY29tbW9uCgkgIGNvbmZpZ3VyZS5hYwoJICBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmMKCSAgZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5oCgkgIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYwoKMjAxMS0wNy0yMSAwODo1ODoyNyArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8dG9tbWkubXlvaGFuZW5AZGlnaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgcGhvdG9ncmFwaHk6IGFkZCBtaXNzaW5nIEZMSUNLRVJfUkVEVUNUSU9OIGNhcGFiaWxpdHkKCSAgR3N0UGhvdG9ncmFwaHkgQVBJIGNvbnRhaW5zIGZ1bmN0aW9ucyB0byBnZXQvc2V0IGZsaWNrZXIgcmVkdWN0aW9uCgkgIG1vZGUsIGJ1dCBHc3RQaG90b0NhcHMgZW51bWVyYXRpb24gZG9lc24ndCBoYXZlIGl0ZW0gZm9yIGl0LCBzbyBlbGVtZW50cwoJICBhcmUgbm90IGFibGUgdG8gcmVwb3J0IHdoZXRoZXIgdGhleSBzdXBwb3J0IHRoaXMgZmVhdHVyZSBvciBub3QuCgkgIEFsc28gYWRkIHVzZWZ1bCBHU1RfUEhPVE9HUkFQSFlfQ0FQU19BTEwgZm9yIGVhc2lseSBzZWxlY3RpbmcgYWxsCgkgIGNhcGFiaWxpdGllcyBhdCBvbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1MzE4CgoyMDExLTA4LTAzIDEzOjM3OjI4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9zdWJlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6CgkqIGdzdC9zdWJlbmMvZ3N0c3ViZW5jLmM6CgkqIGdzdC9zdWJlbmMvZ3N0d2VidnR0ZW5jLmM6CgkqIGdzdC9zdWJlbmMvZ3N0d2VidnR0ZW5jLmg6CgkgIHN1YmVuYzogQWRkIHdlYnZ0dGVuYyBlbGVtZW50CgoyMDExLTA4LTAzIDEzOjM1OjQxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSAga2F0ZWVuYzogRml4IHVuaW5pdGlhbGl6ZWQgZXJyb3IKCjIwMTEtMDctMDkgMjM6MjI6MjYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogcmVtb3ZlIHNoYXBlX291dHB1dCBoYW5kbGluZwoKMjAxMS0wNy0wOSAyMzowNzozOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjZW5jOiBSZW1vdmUgdW51c2VkIHNoYXBlX291dHB1dCBjb2RlCgoyMDExLTA3LTA5IDE4OjUzOjI0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIHZwOGVuYzogQWRkIG1vcmUgcHJvcGVydGllcwoKMjAxMS0wNi0xOSAxNjowNjo0NiArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgdnA4ZW5jOiBhZGQgbWluL21heHNlY3Rpb24tcGN0IG9wdGlvbgoJICBUaGlzIG9wdGlvbnMgc2hvdWxkIGJlIGdvb2QgdG8gcmVkZXVjZSBkZWNvZGUgQ1BVIGxvYWQuCgkgIGZvciBsb3dlbmQgaGFyZHdhcmU6CgkgIG1pbnNlY3Rpb24tcGN0PTE1IG1heHNlY3Rpb24tcGN0PTQwMAoJICBmb3IgaGllbmQgaHc6CgkgIG1pbnNlY3Rpb24tcGN0PTUgbWF4c2VjdGlvbi1wY3Q9ODAwCgkgIHNlZSBleGFtcGxlOgoJICBodHRwOi8vd3d3LndlYm1wcm9qZWN0Lm9yZy90b29scy9lbmNvZGVyLXBhcmFtZXRlcnMvIzItcGFzc192YnJfZW5jb2RpbmdfZm9yX3Ntb290aF9wbGF5YmFja19vbl9sb3ctZW5kX2hhcmR3YXJlCgkgIFNpZ25lZC1vZmYtYnk6IEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA2LTE5IDExOjA1OjM2ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICB2cDhlbmM6IGFkZCBsYWctaW4tZnJhbWVzIG9wdGlvbi4KCSAgVGhpcyBvcHRpb24gc2V0IG1heGltdW0gb2YgZnJhbWVzIGNvZGVjIHNob3VsZCByZW1lbWJlciwKCSAgdG8gbWFrZSBiZXR0ZXIgcHJlZGlrdGlvbiBmb3IgYWx0LXJlZiBmcmFtZXMuCgkgIFNlZSBleGFtcGxlOgoJICBodHRwOi8vd3d3LndlYm1wcm9qZWN0Lm9yZy90b29scy9lbmNvZGVyLXBhcmFtZXRlcnMvIzItcGFzc19iZXN0X3F1YWxpdHlfdmJyX2VuY29kaW5nCgkgIFNpZ25lZC1vZmYtYnk6IEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA2LTE5IDA3OjE2OjU3ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IHVzZSBtdWx0aXBhc3MuY2FjaGUgZmlsZSBuYW1lIGFzIGRlZmF1bHQgZm9yIG11bHRpcGFzcyBtb2RlLgoJICBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNy0wOSAxNjowNTowNyAtMDQwMCAgTXVrdWwgTWFqbXVkYXIgPG11a3VsLm1ham11ZGFyQGdtYWlsLmNvbT4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJICBmYWFjOiBBZGQgcHJvcGVydGllcyBmb3IgVkJSIGVuY29kaW5nCgkgIFByb3BlcnR5ICJxdWFsaXR5IiB0byBzcGVjaWZ5IFZCUiBxdWFudGl6ZXIgcXVhbGl0eSBhbmQgcHJvcGVydHkKCSAgImJydHlwZSIgdG8gY2hvb3NlIGJldHdlZW4gQUJSIGFuZCBWQlIgZW5jb2RpbmcuIFRoZSBkZWZhdWx0IGlzIG5vdyBWQlIKCSAgd2l0aCBxdWFsaXR5PTEwMC4KCSAgRml4ZXMgYnVnICM2NTQzMTAuCgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNy0wNyAxNjowNzo1MCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBBZGQgYXVkaW8taW5wdXQgcHJvcGVydHkKCjIwMTEtMDctMTggMTU6MjU6MDUgKzEwMDAgIFRpbSAnbWl0aHJvJyBBbnNlbGwgPG1pdGhyb0BtaXRoaXMuY29tPgoKCSogZ3N0L2ludGVyL01ha2VmaWxlLmFtOgoJICBpbnRlcjogQWRkaW5nIG1pc3NpbmcgYmFzZSByZXF1aXJlbWVudHMuCgkgIEZpeGVzOiAjNjU0ODA2LgoKMjAxMS0wOC0wMyAxNToyMToxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IGFkZCBtb3JlIG1pc3NpbmcgcGx1Z2luIGNoZWNrcwoJICBTcHJpbmtsZSBzb21lIG1vcmUgbWlzc2luZyBwbHVnaW4gY2hlY2tzIGFyb3VuZAoKMjAxMS0wOC0wMyAxMzoxMjoxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZCBhIG1pc3NpbmcgZWxlbWVudCBjaGVjayBhbmQgcmVtb3ZlIFRPRE8KCSAgQWRkIG1pc3NpbmcgZWxlbWVudCBjaGVja3MgZm9yIGVsZW1lbnRzIGNyZWF0ZWQgYXQgX2luaXQKCSAgZnVuY3Rpb25zIGFuZCByZW1vdmUgVE9ETyBhYm91dCBpdAoKMjAxMS0wOC0wMyAxMzo1NzowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogUmVtb3ZlIHJlZHVuZGFudCBpbWFnZS1xdWV1ZQoJICBFbmNvZGViaW4gaXMgdXNlZCBmb3IgaW1hZ2UgZW5jb2RpbmcgYW5kIGl0IGFscmVhZHkgY29udGFpbnMKCSAgYSBxdWV1ZSwgc28gd2UgY2FuIHJlbW92ZSBjYW1lcmFiaW4yIGltYWdlIHF1ZXVlLgoKMjAxMS0wOC0wMyAxMzo0MjoyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5oOgoJICBkdmJzdWJvdmVybGF5OiBmaXggdXAgY29weXJpZ2h0cwoKMjAxMS0wNi0yOSAxNToxNDoyOSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGdzdC1jYW1lcmFiaW4yLXRlc3Q6IEFkZCBhdWRpbyBjYXB0dXJlIGNhcHMgb3B0aW9uCgoyMDExLTA4LTAyIDE1OjE0OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IE1ha2UgYWNjZXNzIHRvIHRoZSBsaXN0IG9mIGZyYW1lcyB0aHJlYWRzYWZlCgoyMDExLTA4LTAyIDIzOjUzOjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgYmF5ZXI6IGJhY2sgYXJvdW5kIGNvbXBpbGVyIHdhcm5pbmdzIGluIG9yYy1nZW5lcmF0ZWQgY29kZSBieSBkaXNhYmxpbmcgLVdlcnJvciBmb3IgdGhpcyBwbHVnaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MjY3NwoKMjAxMS0wOC0wMiAyMjo1NzoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiAuZ2l0aWdub3JlOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RfZWxlbWVudF9wcmludF9wcm9wZXJ0aWVzLmM6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3Rtb3Rpb25jZWxsc19keW5hbWljX3Rlc3QuYzoKCSAgRml4IHNvbWUgbW9yZSB2YXJpYWJsZS1zZXQtYnV0LW5vdC11c2VkIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDExLTA4LTAyIDIxOjE0OjA2ICswMjAwICBSb2JlcnQgSm9iYmFneSA8am9iYmFneS5yb2JlcnRAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGNhbWVyYWJpbjI6IGV4YW1wbGVzOiBGaXggY2FtZXJhYmluMiBHX09CSkVDVCBjYXN0CgkgIEFkZHMgbWlzc2luZyBjYXN0IHRvIGZpeCBidWlsZCBlcnJvci4KCjIwMTEtMDgtMDIgMTA6NDk6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBXb3JrYXJvdW5kIGZvciByaW5nYnVmZmVyIG5vdCByZXN5bmNpbmcgb24gUkVBRFkKCSAgQWRkIGEgd29ya2Fyb3VuZCB0byBmaXggdGltZXN0YW1wcyBtZWFud2hpbGUgYnVnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDgzNTkgaXMgZml4ZWQuCgoyMDExLTA3LTMwIDE2OjEyOjMxICswMzAwICBSYWx1Y2EgRWxlbmEgUG9kaXVjIDxyYWx1Y2FlbGVuYTE5ODVAZ21haWwuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW4yIHJlbW92ZSByZWR1bmRhbnQgdmlld2ZpbmRlci1jb2xvcnNwYWNlIGFuZCB2aWV3ZmluZGVyLXNjYWxlCgkgIGNhbXJhYmluMiBjb25uZWN0cyBhIHZpZXdmaW5kZXJiaW4gb24gInZmc3JjIi4gdmlld2ZpbmRlcmJpbiBpcyBtYWRlIG9mOgoJICB2ZmJpbi1jc3AgISB2ZmJpbi12aWRlb3NjYWxlICEgdmlkZW9zaW5rLgoJICB3ZSBzaG91bGQgZWl0aGVyIHJlbW92ZSBjc3AvdmlkZW9zY2FsZSBmcm9tIHdyYXBwZXJjYW1lcmFiaW5zcmMgKGFzCgkgIGRvbmUgaW4gdGhpcyBwYXRjaCkgb3Igd2Ugc2hvdWxkIGdldCByaWQgb2Ygdmlld2ZpbmRlcmJpbiBhbHRvZ2V0aGVyLgoKMjAxMS0wNy0yNiAwNjowNDo0MSArMDMwMCAgUmFsdWNhIEVsZW5hIFBvZGl1YyA8cmFsdWNhZWxlbmExOTg1QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IHJlbW92ZSB1bnVzZWQgZ2V0X2FsbG93ZWRfaW5wdXRfY2FwcwoJICBUaGUgdXNlIG9mIHRoaXMgbWV0aG9kIHdhcyByZW1vdmVkIGluOgoJICBjb21taXQgNTM5ZjEwZjRkOTllMWEwNzQ4ODEyODkyNTRkMWQxMDkxNTljZjllNQoJICBiYXNlY2FtZXJhc3JjOiBNb3JlIGNsZWFudXAKCSAgVGhlIGNvZGUgZnJvbSB3cmFwcGVyY2FtZXJhYmluc3JjIGlzIGZyb20gdjRsMmNhbWVyYXNyYyBidXQgaXMgdW51c2VkOgoJICBnZXRfYWxsb3dlZF9pbnB1dF9jYXBzIGlzIG5vdCBjYWxsZWQgYW55d2hlcmUuCgoyMDExLTA3LTI2IDA1OjU5OjA5ICswMzAwICBSYWx1Y2EgRWxlbmEgUG9kaXVjIDxyYWx1Y2FlbGVuYTE5ODVAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkgIGJhc2VjYW1lcmFzcmM6IGRvbid0IHVzZSBjbGFzcyBvZmZzZXRzIGZvciBzdGFydC9zdG9wLWNhcHR1cmUgc2lnbmFsIGhhbmRsZXJzCgoyMDExLTA3LTI2IDA1OjQzOjM0ICswMzAwICBSYWx1Y2EgRWxlbmEgUG9kaXVjIDxyYWx1Y2FlbGVuYTE5ODVAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiBkb2N1bWVudCB3aHkgd2Ugc2V0IHByZXZpZXcgdG8gUExBWUlORwoKMjAxMS0wNy0yNiAwNDo0Mjo0OSArMDMwMCAgUmFsdWNhIEVsZW5hIFBvZGl1YyA8cmFsdWNhZWxlbmExOTg1QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSAgYmFzZWNhbWVyYXNyYzogZG9jdW1lbnQgY2FsbGJhY2tzCgkgIE5vdGUgZm9yIGVhY2ggY2FsbGJhY2s6CgkgIC0gd2hlbiBpdCBpcyBjYWxsZWQsCgkgIC0gd2hldGhlciBpdCBpcyBtYW5kYXRvcnkgb3Igb3B0aW9uYWwuCgoyMDExLTA3LTI2IDAzOjA0OjQ3ICswMzAwICBSYWx1Y2EgRWxlbmEgUG9kaXVjIDxyYWx1Y2FlbGVuYTE5ODVAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJICBiYXNlY2FtZXJhYmluc3JjOiBwcmV2aWV3OiByZW1vdmUgdW51c2VkIG5ld19wcmVyb2xsIGNhbGxiYWNrCgoyMDExLTA3LTI4IDEzOjE4OjU3IC0wMzAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFN5bmNocm9uaXplIGNsb2NrIGFuZCBiYXNlIHRpbWUgdG8gYXVkaW9zcmMKCSAgV2hlbiBhdWRpbyBzb3VyY2UgZ29lcyB0byBSRUFEWSBpdCBsb3NlcyBpdHMgY2xvY2sgYW5kIGJhc2UgdGltZSwKCSAgdGhpcyBwYXRjaCBzZXRzIHRoZW0gYmFjayBhZnRlciBicmluZ2luZyB0aGUgYXVkaW8gc291cmNlIGJhY2sgdG8gUEFVU0VELgoKMjAxMS0wNy0yOCAxMjo1NjoxMiAtMDMwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBQcmV2ZW50IGF1ZGlvIHNvdXJjZSBmcm9tIHByb3ZpZGluZyBjbG9jawoJICBUaGUgYXVkaW8gc291cmNlIGluc2lkZSBjYW1lcmFiaW4yIGlzIHB1dCB0byBSRUFEWSBhbmQgYmFjayB0bwoJICBQTEFZSU5HIHdoZW4gc3RhcnRpbmcgY2FwdHVyZSwgY2F1c2luZyB0aGUgcGlwZWxpbmUgdG8gbG9zZSBpdHMKCSAgY2xvY2suIEFzIGNhbWVyYWJpbjIgaXNuJ3QgcHV0IHRvIFBBVVNFRC0+UExBWUlORyBhZ2FpbiBkdXJpbmcKCSAgdGhpcywgYSBuZXcgY2xvY2sgaXNuJ3Qgc2VsZWN0ZWQgZm9yIGVsZW1lbnRzLgoKMjAxMS0wNi0zMCAxMTowOTo0NCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBjYW1lcmFiaW4yOiBBZGQgZmxhZ3MgcHJvcCB0byB0b2dnbGUgZW5jb2RlYmluIGNvbnZlcnNpb24gZWxlbWVudHMKCSAgQSBmbGFncyBwcm9wZXJ0eSBoYXMgYmVlbiBhZGRlZCB0byBlbmNvZGViaW4gdG8gdG9nZ2xlIHdoZXRoZXIgdGhlCgkgIGNvbnZlcnNpb24gZWxlbWVudHMgKGZmbXBlZ2NvbG9yc3BhY2UsIHZpZGVvc2NhbGUsIGF1ZGlvY29udmVydCwKCSAgYXVkaW9yZXNhbXBsZSwgYXVkaW9yYXRlKSBhcmUgY3JlYXRlZCBhbmQgbGlua2VkIGludG8gdGhlIGFwcHJvcHJpYXRlCgkgIGJyYW5jaGVzIG9mIGVuY29kZWJpbi4KCSAgTm90IGluY2x1ZGluZyB0aGVzZSBlbGVtZW50cyBhdm9pZHMgc29tZSBzbG93IGNhcHMgbmVnb3RpYXRpb24gYW5kCgkgIGFsbG93cyB0aGUgZmlyc3QgYnVmZmVycyB0byBmbG93IHRocm91Z2ggZW5jb2RlYmluIG11Y2ggbW9yZSBxdWlja2x5LgoJICBIb3dldmVyLCBpdCBpbXBvc2VzIHRoYXQgdGhlIHVuY29tcHJlc3NlZCBpbnB1dCBpcyBhcHByb3ByaWF0ZSBmb3IgdGhlCgkgIHRhcmdldCBwcm9maWxlIGFuZCBlbGVtZW50cyBzZWxlY3RlZCB0byBtZWV0IHRoYXQgcHJvZmlsZS4KCjIwMTEtMDYtMjkgMTU6MzU6NDIgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogUHJlcGFyZSBhdWRpb3NyYyBiZWZvcmUgc3RhcnQtY2FwdHVyZQoJICBJZiB3ZSBicmluZyB0aGUgYXVkaW8gc291cmNlIHVwIHRvIHRoZSBQQVVTRUQgc3RhdGUgYmVmb3JlIGVtaXR0aW5nIHRoZQoJICBzdGFydC1jYXB0dXJlIHNpZ25hbCB0byB0aGUgY2FtZXJhIHNvdXJjZSwgd2hlbiBzdWJlcXVlbnRseSB0YWtpbmcgdGhlCgkgIGF1ZGlvIHNvdXJjZSB0byB0aGUgUExBWUlORyBzdGF0ZSwgaXQgd2lsbCBiZWdpbiBjYXB0dXJlIG1vcmUgcXVpY2tseS4KCjIwMTEtMDYtMjkgMTU6MTg6NDcgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBSZW1vdmUgcmVkdW5kYW50IGVsZW1lbnRzCgkgIFNpbmNlIGNhbWVyYWJpbjIgaGFzIHN3aXRjaGVkIHRvIGVuY29kZWJpbiBhbmQgZW5jb2RlYmluIGhhcyBpdHMgb3duCgkgIHF1ZXVlcyBhbmQgY29udmVyc2lvbiBlbGVtZW50cywgdGhvc2UgcHJlY2VkaW5nIGVuY29kZWJpbiBhcmUgbm8gbG9uZ2VyCgkgIG5lY2Vzc2FyeSBhbmQgYXMgc3VjaCBjYW4gYmUgcmVtb3ZlZC4KCjIwMTEtMDgtMDIgMTI6MjQ6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IERlZmluZSBsaXN0IG9mIG5vbi1wb3J0ZWQgcGx1Z2lucwoKMjAxMS0wOC0wMiAxMTo0Mjo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIFVwZGF0ZSBjb21tb24gc3VibW9kdWxlCgoyMDExLTA4LTAxIDE4OjQ5OjU1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFRha2UgaW50byBhY2NvdW50IHVwc3RyZWFtIG5ld3NlZ21lbnQgZXZlbnRzCgkgIElmIHRoZSBpbmNvbWluZyBuZXdzZWdtZW50IGV2ZW50IHdhcyBpbiB0aW1lLCB1c2UgdGhhdCBwb3NpdGlvbiB2YWx1ZQoJICBmb3IgdGhlIGRvd25zdHJlYW0gbmV3c2VnbWVudHMuCgoyMDExLTA4LTAxIDE4OjQ4OjAzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogU2VuZCBORVdTRUdNRU5UIGV2ZW50cwoJICBQcmV2aW91c2x5IGhsc2RlbXV4IHdhc24ndCBzZW5kaW5nIG91dCBhbnkgbmV3c2VnbWVudC4KCSAgSGVyZSB3ZSBwdXNoIGEgR1NUX0ZPUk1BVF9USU1FIG5ld3NlZ21lbnQsIGFuZCB3aGVuZXZlciBwb3NzaWJsZSB3ZQoJICB0cnkgdG8gaW5kaWNhdGUgdGhlIHByb3BlciBzdGFydCB0aW1lLgoJICBUaGlzIGFsbG93cyBkb3duc3RyZWFtIGVsZW1lbnRzIHRvIHJlbGF5IHRoZSBzdGFydC90aW1lIHZhbHVlcyBwcm9wZXJseQoJICB0byB0aGUgc2lua3MsIGFsbG93aW5nIGJldHRlciBzdHJlYW0gc3dpdGNoaW5nLgoKMjAxMS0wOC0wMSAxNTo0NjoxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBSZW1vdmUgcHJvZ3JhbXMgb24gRU9TCgkgIEFsbG93cyBzdWJjbGFzc2VzIHRvIHByb3Blcmx5IGZsdXNoIG91dCBwZW5kaW5nIGRhdGEuCgoyMDExLTA4LTAxIDEwOjU0OjE2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFJlZmFjdG9yIHN0cmVhbS9wcm9ncmFtIHJlbW92YWwKCSAgVGhlIHByb2dyYW1fc3RvcHBlZCB2bWV0aG9kIHdhcyBjYWxsZWQgYmVmb3JlIHN0cmVhbV9yZW1vdmVkIHZtZXRob2QKCSAgd2FzIGJlaW5nIGNhbGxlZC4gU2luY2Ugd2Ugb25seSBkaWQgc3RyZWFtLXJlbGF0ZWQgb3BlcmF0aW9ucyBpbiB0aGVyZSwKCSAgd2UganVzdCByZW1vdmUgdGhlIHByb2dyYW1fc3RvcHBlZCB2bWV0aG9kIGFuZCBkbyBldmVyeXRoaW5nIGluIHRoZQoJICBzdHJlYW1fcmVtb3ZlZCBvbmUuCgkgIEFsc28sIG1ha2Ugc3VyZSB3ZSBmbHVzaCBvdXQgYWxsIHBlbmRpbmcgZGF0YSBiZWZvcmUgc2VuZGluZyBFT1MuCgoyMDExLTA3LTI4IDE4OjIxOjA0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBQcmV2ZW50IHN0YWNrIGdhcmRlbmluZyBieSB1c2luZyB0aGUgcmlnaHQgdHlwZQoJICBzdHJlYW1fdHlwZSBpcyBzdG9yZWQgYXMgZ3VpbnQgaW5zaWRlIHRoZSBHc3RTdHJ1Y3R1cmUgYnV0IHdhcyByZXRyZWl2ZWQKCSAgdXNpbmcgdmFsaXN0IHdpdGggYSBwb2ludGVyIHRvIGd1aW50MTYuIFRoaXMgd291bGQgY2F1c2Ugc3RhY2sgZ2FyZGVuaW5nCgkgIHdoZW4gY29kZSBpcyBjb21waWxlZCB3aXRob3V0IG9wdGltaXNhdGlvbiAoZS5nLiBpbiAtTzAgdGhlIGNvbXBpbGVyIHdvbnQKCSAgcGFkIHRoZSBzdGFjayB0byBvcHRpbWlzZSBvdXQgcmVxdWlyZWQgbWFzaykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTU1NDAKCjIwMTEtMDctMjkgMjE6MjY6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhZC5jOgoJICB0ZXN0czogZml4IGNvbXBpbGVyIHdhcm5pbmcgaW4gZmFhZCB1bml0IHRlc3QKCjIwMTEtMDctMjkgMTk6NDM6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9NYWtlZmlsZS5hbToKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguaDoKCSogZ3N0L2lkM3RhZy9nc3R0YWdtdXguYzoKCSogZ3N0L2lkM3RhZy9nc3R0YWdtdXguaDoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuaDoKCSAgaWQzbXV4OiB1c2Ugbm93LXB1YmxpYyBHc3RUYWdNdXggYmFzZSBjbGFzcyBmcm9tIGxpYmdzdHRhZwoKMjAxMS0wNy0yOCAyMDozODozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJKiBnc3QvaWQzdGFnL2dzdHRhZ211eC5jOgoJICB0YWdtdXg6IHJlcXVpcmUgc3ViY2xhc3MgdG8gaW5zdGFsbCBzaW5rIHBhZCB0ZW1wbGF0ZQoJICBSZXF1aXJlIHRoZSBzdWJjbGFzcyB0byBpbnN0YWxsIGJvdGggc291cmNlIGFuZCBzaW5rIHBhZAoJICB0ZW1wbGF0ZXMuIEFsc28sIHByaW50IHNvbWUgd2FybmluZ3MgaWYgdGhlIHN1YmNsYXNzIGRvZXNuJ3QKCSAgZG8gdGhhdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU1NTQzNwoKMjAxMS0wNy0yNyAyMjozNDoyMyArMDIwMCAgUm9iZXJ0IEpvYmJhZ3kgPGpvYmJhZ3kucm9iZXJ0QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdF9lbGVtZW50X3ByaW50X3Byb3BlcnRpZXMuYzoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdF9lbGVtZW50X3ByaW50X3Byb3BlcnRpZXMuaDoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdG1vdGlvbmNlbGxzX2R5bmFtaWNfdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0bW90aW9uY2VsbHNfZHluYW1pY190ZXN0Lmg6CgkgIGdzdG1vdGlvbmNlbGxzX2R5bmFtaWNfdGVzdDogdGVzdCB0b29sIHdoYXQgY2FuIHRvIGRvIGR5bmFtaWMgY2hhbmdlIHByb3BlcnRpZXMKCjIwMTEtMDctMjcgMTg6NTg6MTUgKzAyMDAgIFJvYmVydCBKb2JiYWd5IDxqb2JiYWd5LnJvYmVydEBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmNwcDoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5oOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi9tb3Rpb25jZWxsc193cmFwcGVyLmNwcDoKCSogZXh0L29wZW5jdi9tb3Rpb25jZWxsc193cmFwcGVyLmg6CgkgIG1vdGlvbmNlbGxzOiBuZXcgZWxlbWVudCB0byBkZXRlY3QgYXJlYXMgb2YgbW90aW9uCgoyMDExLTA3LTI2IDE3OjAyOjA1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJICBoc2xkZW11eDogSGFuZGxlIGNoYW5nZSBvZiBtZWRpYSB0eXBlcwoJICBXaGVuIHN3aXRjaGluZyBiaXRyYXRlcywgd2UgbWlnaHQgZW5kIHVwIHN3aXRjaGluZyB0byBhIGRpZmZlcmVudAoJICBtZWRpYS10eXBlIChsaWtlIGZyb20gYWFjIHRvL2Zyb20gbXBlZy10cykuCgkgIEZvciB0aGlzIHN3aXRjaCB0byBiZWhhdmUgcHJvcGVybHkgaW4gZGVjb2RlYmluMiwgdGhpcyBwYXRjaCBhZGRzOgoJICAqIGR5bmFtaWMgc291cmNlIHBhZHMgKHdoaWNoIHdpbGwgYmUgYWRkZWQvcmVtb3ZlZCB3aGVuZXZlciBhIHN0cmVhbQoJICBtZWRpYSB0eXBlIGNoYW5nZXMKCSAgKiByZS1jaGVja2luZyB0aGUgZnJhZ21lbnQgbWVkaWEgdHlwZSB3aGVuZXZlciB3ZSBzd2l0Y2ggdG8gYSBkaWZmZXJlbnQKCSAgcGxheWxpc3QKCjIwMTEtMDctMjYgMTM6NDc6MDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHBhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlIG9uIG9sZCBjb21waWxlcnMKCjIwMTEtMDctMjcgMTE6MDI6NDEgKzAxMDAgIE9sYWYgU2VpYmVydCA8cmhpYWx0b0BhemVub21laS5rbnVmZmVsLm5ldD4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCB3cm9uZyB1c2FnZSBvZiBHU1RfRUxFTUVOVF9FUlJPUiBtYWNyb3MgYW5kIGNvbXBpbGF0aW9uIG9uIE5ldEJTRAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1MzE5CgoyMDExLTA3LTI3IDEwOjU2OjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogZml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0cGNhcHBhcnNlLmM6IEluIGZ1bmN0aW9uICdnc3RfcGNhcF9wYXJzZV9jaGFpbic6CgkgIGdzdHBjYXBwYXJzZS5jOjM4MTo2OiBlcnJvcjogJ2V0aF90eXBlJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24gWy1XZXJyb3I9dW5pbml0aWFsaXplZF0KCSAgZ3N0cGNhcHBhcnNlLmM6MzU0OjExOiBub3RlOiAnZXRoX3R5cGUnIHdhcyBkZWNsYXJlZCBoZXJlCgoyMDExLTA3LTI2IDE5OjExOjE2ICswMzAwICBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQG5va2lhLmNvbT4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogZml4IFNMTCBwYXJzaW5nCgkgIFRoZSBjdXJyZW50IGNvZGUgaXMgbm90IGNoZWNraW5nIGZvciBldGhlcm5ldCB0eXBlLCBhcyBpdCdzIHN1cHBvc2VkIHRvLAoJICBidXQgbGluayBsYXllciBkZXZpY2UgdHlwZSBhbmQgaXQncyBoYXJkLWNvZGVkIHRvIG9ubHkgYWNjZXB0IGR1bXBzIGZyb20KCSAgZXRoZXJuZXQgKEFSUEhSRF9FVEhFUjsgMSkuIFdlIGRvbid0IGNhcmUgd2hlcmUgdGhlIGR1bXAgd2FzIGZldGNoZWQKCSAgZnJvbSAod2xhbiwgM0csIGV0Yy4pCgkgIFdoYXQgd2UgY2FyZSBhYm91dCBpcyB0aGUgdGhhdCB0aGUgZXRoZXJuZXQgdHlwZSBpcyBJUCAoRVRIRVJORVRfSVA7CgkgIDB4ODAwKSwgd2hpY2ggaXMgY2xlYXJseSBmaWVsZCAxNDoKCSAgaHR0cDovL3d3dy50Y3BkdW1wLm9yZy9wY2FwM19tYW4uaHRtbAoJICBBbmQgZG8gYSBiaXQgb2YgY2xlYW51cC4KCSAgU2lnbmVkLW9mZi1ieTogRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0Bub2tpYS5jb20+CgoyMDExLTA3LTIxIDEzOjI2OjU1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2Jhc2UvdHNkZW11eDogRml4IHN0cmVhbS9wYWQgYWN0aXZhdGlvbiBvcmRlcgoJICBXZSBmaXJzdCBhY3RpdmF0ZSBuZXcgc3RyZWFtcyBiZWZvcmUgc2h1dHRpbmcgZG93biBvbGQgb25lcy4KCSAgV2UgZW1pdCBuby1tb3JlLXBhZHMgYWZ0ZXIgd2UgYWRkIG5ldyBzdHJlYW1zIGFuZCBlbWl0IEVPUyBiZWZvcmUKCSAgcmVtb3Zpbmcgb2xkIG9uZXMuCgkgIEFsc28gY2xlYW51cC9yZWZhY3RvciBhIGJpdCBtb3JlIG9mIHRoZSBjb2RlIGFjY29yZGluZ2x5CgoyMDExLTA3LTIyIDEyOjI2OjA3ICswMzAwICBSYWx1Y2EgRWxlbmEgUG9kaXVjIDxyYWx1Y2FlbGVuYTE5ODVAZ21haWwuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvUE9SVElORzoKCSAgY2FtZXJhYmluMjogYWRkIGxvY2F0aW9uPU5VTEwgZG9jcyB0byBQT1JUSU5HCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDE5MTgKCjIwMTEtMDctMjIgMTE6Mzg6MzAgKzAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBJZiBsb2NhdGlvbiBpcyBOVUxMIGRvIG5vdCBlbmNvZGUgaW1hZ2VzCgkgIFVzaW5nIGEgTlVMTCBzdHJpbmcgZm9yIGxvY2F0aW9uIG1lYW5zIHRoYXQgdGhlIGFwcGxpY2F0aW9uCgkgIGRvZXNuJ3Qgd2FudCB0aGUgaW1hZ2UgdG8gYmUgZW5jb2RlZCwgYnV0IHdhbnRzIHRvIHJlY2VpdmUKCSAgdGhlIHByZXZpZXcgaW1hZ2UuIChPbmx5IHdvcmtzIGZvciBpbWFnZSBjYXB0dXJlcykKCSAgVXNlZnVsIGZvciBhcHBsaWNhdGlvbiB0aGF0IHdhbnQgdGhlIGNhcHR1cmUgaW4gbWVtb3J5IG9ubHksIGxpa2UKCSAgZGlzcGxheWluZyB0byB0aGUgdXNlciBiZWZvcmUgaXQgY2hvc2VzIHRvIGVuY29kZSBvciB0YWtlIGFub3RoZXIKCSAgcGljdHVyZSBpbiBhdmF0YXIgY2FwdHVyaW5nIHNjZW5hcmlvcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTkxOAoKMjAxMS0wNy0yMSAwODowNDoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBVcGRhdGUgZm9yIEdzdEJhc2VWaWRlb0VuY29kZXI6OmZpbmlzaCgpIHNpZ25hdHVyZSBjaGFuZ2UKCjIwMTEtMDctMjEgMDg6MDM6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBVcGRhdGUgZm9yIEdzdEJhc2VWaWRlb0VuY29kZXI6OmZpbmlzaCgpIHNpZ25hdHVyZSBjaGFuZ2UKCjIwMTEtMDctMjEgMDg6MDM6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhY2VuYzogVXBkYXRlIGZvciBHc3RCYXNlVmlkZW9FbmNvZGVyOjpmaW5pc2goKSBzaWduYXR1cmUgY2hhbmdlCgoyMDExLTA3LTIxIDA1OjQ0OjEwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IEFsbG93IGZpbmlzaGluZyBvZiBmcmFtZXMgd2l0aCBubyBzcmNfYnVmZmVyIHRvIGRyb3AvZnJlZSB0aGUgR3N0VmlkZW9GcmFtZQoKMjAxMS0wNy0yMCAwODozOTo1MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBPbmx5IGdldCBjYXBzIGZyb20gdGhlIHN1YmNsYXNzIGlmIHRoZXkgd2VyZSBub3Qgc2V0IHlldCBieSB0aGUgc3ViY2xhc3MKCjIwMTEtMDctMjAgMDk6MjU6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogRGVsYXkgc2VuZGluZyBvZiBzZXJpYWxpemVkIHNpbmsgZXZlbnRzIHVudGlsIGZpbmlzaF9mcmFtZSgpCgoyMDExLTA3LTIwIDA5OjA5OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IEFkZCA6OnJlc2V0IHZmdW5jIGFuZCBoYW5kbGUgOjpyZXNldC86OmZpbmlzaCB0aGUgc2FtZSB3YXkgYXMgaW4gdGhlIGRlY29kZXIKCjIwMTEtMDctMjAgMTk6MTY6MDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5oOgoJICBwZXNwYXJzZTogRml4IHN0dWZmaW5nIGJ5dGUgaGFuZGxpbmcKCSAgV2UgaW4gZmFjdCBnZXQgdGhlIHNpemUgb2YgdGhlIGhlYWRlciAoaW5jbHVkaW5nIHN0dWZmaW5nIGJ5dGVzKSwgdGhlcmVmb3JlCgkgIHVzZSB0aGF0IGluc3RlYWQgb2YgdHJ5aW5nIHRvIHNraXAgMHhmZiBieXRlcyBvdXJzZWx2ZXMgc2luY2Ugc29tZSBtZWRpYQoJICBzdHJlYW1zIGRvIHN0YXJ0IHdpdGggMHhmZiAobGlrZSBtcGVnIGF1ZGlvJ3MgaW5pdGlhbCAweGZmZikuCgoyMDExLTA3LTE4IDE0OjUzOjMxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvc25kZmlsZS9nc3RzZnNyYy5jOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgRml4IGNvbXBpbGF0aW9uIGZvciB1bnVzZWQgYnV0IG5vdCBzZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDU3MgoKMjAxMS0wNy0yMCAwODo1Nzo0NyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMS0wNy0xOSAxMjo1MDo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBVc2UgYSB0ZW1wb3JhcnkgR3N0VmlkZW9TdGF0ZSB1bnRpbCB0aGUgc3ViY2xhc3MgYWNjZXB0ZWQgdGhlIGNhcHMKCSAgQWxzbyBzdG9yZSB0aGUgY2FwcyBpbiB0aGUgR3N0VmlkZW9TdGF0ZSBhbmQgYXNzdW1lIGEgUEFSIG9mIDEvMSBpbnN0ZWFkCgkgIG9mIDAvMSBpZiBubyBQQVIgaXMgc3BlY2lmaWVkIGluIHRoZSBjYXBzLgoKMjAxMS0wNy0xOSAwOTozNjo1MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2Jhc2UvdHNkZW11eDogQWRkIG1vcmUgY29tbWVudHMgYW5kIHJlbW92YWwgdW51c2VkIHZhcmlhYmxlCgoyMDExLTA3LTE5IDA5OjM2OjEwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogQXZvaWQgZG91YmxlIHJlbW92YWwgb2Ygc3RyZWFtcwoJICBUaGlzIGNhbiBoYXBwZW4gaWYgdGhlIFBDUiBwaWQgaXMgdGhlIHNhbWUgYXMgYSBhdWRpby92aWRlbyBQSUQuCgoyMDExLTA3LTE5IDA5OjM0OjM3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzYmFzZTogQWRkIGEgR0xpc3Qgb2Ygc3RyZWFtcyB0byB0aGUgcHJvZ3JhbQoJICBBbGxvd3MgZmFzdGVyIGl0ZXJhdGlvbiBvZiBhbGwgcHJvZ3JhbSBzdHJlYW1zLgoJICBXZSBzdGlsbCBrZWVwIHRoZSBBcnJheSB0byBhbGxvdyBmYXN0IHJldHJpZXZhbCBvZiBzdHJlYW0gYnkgUElELgoKMjAxMS0wNy0xOSAwODo0NTo1MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2Jhc2U6IFVzZSBhIGJpdCBhcnJheSBpbnN0ZWFkIG9mIGFuIGFycmF5IG9mIGdib29sZWFuCgkgIE1ha2VzIGtub3dfcHNpIGFuZCBpc19wZXMgMzIgdGltZXMgc21hbGxlcgoKMjAxMS0wNy0xOSAwODozNzoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IEZpeCBmb3JtYXQgc3RyaW5nIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTEtMDctMTggMTQ6MTQ6MzEgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgZGZidmlkZW9zaW5rOiBmaXggaGFybWxlc3MgdHlwbyBpbiB2YXJpYWJsZSBpbml0aWFsaXphdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0ODQwCgoyMDExLTA3LTEyIDE5OjA0OjI3ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiByZW1vdmUgYSBjaGVjayBtYWRlIHVzZWxlc3MgYnkgdGhlIGxhc3QgY29tbWl0CgoyMDExLTA3LTEyIDE5OjAxOjQ3ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBhc3N1bWUgYnl0ZS1zdHJlYW0gaWYgc3RyZWFtLWZvcm1hdCBhbmQgY29kZWNfZGF0YSBhcmUgbWlzc2luZyBmcm9tIGlucHV0IGNhcHMKCjIwMTEtMDctMDYgMjM6MjQ6MjcgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGlnbm9yZSBjb2RlY19kYXRhIGlmIHN0cmVhbS1mb3JtYXQ9Ynl0ZS1zdHJlYW0KCSAgU29tZSBlbmNvZGVycyBzZXQgY29kZWNfZGF0YSBldmVuIHdoZW4gb3V0cHV0dGluZyBieXRlLXN0cmVhbS4gQmVmb3JlIHRoaXMgcGF0Y2gKCSAgaDI2NHBhcnNlIHdvdWxkIGluY29ycmVjdGx5IGRldGVjdCBzdWNoIHN0cmVhbXMgYXMgQVZDLgoKMjAxMS0wNy0xOCAwOToxMjoxNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFVzZSBzdGFuZGFsb25lIFBFUyBwYXJzZXIKCjIwMTEtMDctMTcgMTQ6MTc6MTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuaDoKCSAgbXBlZ3RzZGVtdXg6IEFkZCBzdGFuZGFsb25lIFBFUyBwYXJzZXIKCjIwMTEtMDctMTcgMDk6NDk6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSAgbXBlZ2RlZnM6IGNsYXJpZnkgc29tZSBzdHJlYW0gaWRzCgoyMDExLTA3LTE2IDEzOjUxOjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogd2hvb3BzLCB0c2RlbXV4IGlzbid0IHJlYWR5IHlldCBmb3IgcHJpbWFyeSByYW5rIDopCgoyMDExLTA3LTE2IDEzOjQ3OjQ1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgbXBlZ3RzYmFzZS90c2RlbXV4OiBDbGVhbnVwcyBhbmQgY29tbWVudHMKCjIwMTEtMDctMTYgMTM6NDQ6MDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGaXggbmV3c2VnbWVudCBjcmVhdGlvbiBmb3IgcHVzaCBtb2RlCgkgIEFuZCBhbGwgcmVsZXZlbnQgY29tbWVudHMgdG8gd2hhdCBpdCBzaG91bGQgYmUgZG9pbmcsIHJlZmFjdG9yIGV2ZXJ5dGhpbmcKCSAgYSBiaXQuIFN0aWxsIG5vdCBwZXJmZWN0IC4uLiBidXQgYmV0dGVyLgoJICBGaXhlcyAjNjU0NjU3CgoyMDExLTA3LTE1IDEyOjA4OjQwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkgIG1wZWd0c2Jhc2U6IFN0b3JlIGluY29taW5nIG5ld3NlZ21lbnRzCgoyMDExLTA3LTE1IDIwOjU3OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkqIGdzdC9pZDN0YWcvZ3N0dGFnbXV4Lmg6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmg6CgkgIHRhZ211eDogY29uc3QtaWZ5IEdzdFRhZ0xpc3QgYXJndW1lbnQgb2YgcmVuZGVyIHZmdW5jcwoKMjAxMS0wNy0xNSAyMDozOToyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2dzdHRhZ211eC5jOgoJKiBnc3QvaWQzdGFnL2dzdHRhZ211eC5oOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICB0YWdtdXg6IGZpeCB1cCBwcml2YXRlIGJhc2UgY2xhc3MgaGVhZGVyIHNvIGl0IGNhbiBiZSBtYWRlIHB1YmxpYwoJICBNb3ZlIHByaXZhdGUgYml0cyBpbnRvIGEgcHJpdmF0ZSBzdHJ1Y3QsIGFkZCBzb21lIHBhZGRpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NTU0MzcKCjIwMTEtMDctMTUgMTY6MTA6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBXZSBuZWVkIGNvcmUvYmFzZSBmcm9tIGdpdAoJICBVcGRhdGUgcmVxdWlyZW1lbnRzIGFmdGVyIG91dC1vZi1vcmRlciAwLjEwLjM1IHJlbGVhc2UKCjIwMTEtMDctMTMgMTc6MTU6MzYgKzAzMDAgIFJhbHVjYSBFbGVuYSBQb2RpdWMgPHJhbHVjYWVsZW5hMTk4NUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBmaXggbmFtZSBvZiAnaW1hZ2UtZG9uZScgYnVzIG1lc3NhZ2UKCSAgVXNlIHRoZSBjb3JyZWN0IGJ1cyBtZXNzYWdlIGZvciBjYW1lcmFiaW4yIGltYWdlIGRvbmUgYW5kIHJlbW92ZXMKCSAgY2hlY2sgdGhhdCBpcyBubyBsb25nZXIgbmVlZGVkIGZvciB0aGVzZSB0ZXN0cy4KCjIwMTEtMDctMTUgMTA6MDQ6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiByZW5hbWUgb2Zmc2V0IHByb3BlcnR5IHRvIHRzLW9mZnNldAoJICAuLi4gc28gYXMgdG8gcHJvbW90ZSBjb25zaXN0ZW5jeSB3aXRoIHNvbWUgb3RoZXIgZWxlbWVudHMgaW4gdGhlIHdpbGQuCgoyMDExLTA3LTE0IDE5OjMwOjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSAgdmRwYXU6IGZpeCBzb21lIHZhcmlhYmxlLXNldC1idXQtdW51c2VkIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDExLTA3LTE1IDAwOjAzOjEwICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IGFjdHVhbGx5IHNldCBzZWVuX3BhdD1UUlVFIHdoZW4gd2Ugc2VlIGEgUEFUCgoyMDExLTA2LTI2IDIwOjMyOjUzICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgIG5lb25odHRwc3JjOiBpbXBsZW1lbnQgVVJJIHF1ZXJ5CgoyMDExLTA3LTE0IDIyOjA4OjU2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSAgbXBlZ3RzYmFzZTogU3BsaXQgdXAgd2hldGhlciB3ZSBzYXcgYSBQQVQgYW5kIGl0cyBvZmZzZXQKCSAgRml4ZXMgdGhlIGlzc3VlIHdpdGggc3RyZWFtcyB0aGF0IGRvbid0IHNldCBhbiBvZmZzZXQgb24gdGhlaXIgYnVmZmVycywKCSAgbGlrZSB0aG9zZSBjb21pbmcgZnJvbSBobHNkZW11eC4KCSAgRml4ZXMgIzY1MzQ4MQoKMjAxMS0wNy0xNCAxNzowNjozOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IHByb3Blcmx5IGFwcGx5IHRzIG9mZnNldAoKMjAxMS0wNy0xNCAxNjo1MDoyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5oOgoJICBwY2FwcGFyc2U6IG9wdGlvbmFsbHkgb3V0cHV0IHJlbGF0aXZlIHRpbWVzdGFtcHMsIHBvc3NpYmx5IHNoaWZ0ZWQgYnkgb2Zmc2V0CgkgIFRoYXQgaXMsIG91dHB1dCB0aW1lc3RhbXBzIGNhbiB0aGVuIGVpdGhlciBiZSB0aGUgYWJzb2x1dGUgY2FwdHVyZSB0aW1lLAoJICBvciB0aGUgcmVsYXRpdmUgY2FwdHVyZSB0aW1lICh3LnIudC4gdG8gZmlyc3Qgb3V0cHV0IGJ1ZmZlciksIG9yIHRoZSByZWxhdGl2ZQoJICBjYXB0dXJlIHRpbWUgaW5jcmVtZW50ZWQgYnkgc29tZSBvZmZzZXQuCgoyMDExLTA3LTE0IDE2OjQwOjE0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogYWxzbyBzdXBwb3J0IGV4dHJhY3RpbmcgdGNwIGRhdGEKCjIwMTEtMDctMTQgMTQ6Mzc6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBhZGQgc29tZSBtb3JlIHVuaXQgdGVzdCBiaW5hcmllcyB0byAuZ2l0aWdub3JlCgoyMDExLTA3LTEzIDEzOjQ0OjQxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgIGRvY3M6IFJldmVydCB3cm9uZ2x5IGNvbW1pdHRlZCBjaGFuZ2VzIHRvIC5hcmdzLy5oaWVyYXJjaHkKCjIwMTEtMDctMTMgMTM6NDI6MDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IFJlc3RvcmUgc29tZSB1bnVzZWQgdmFyaWFibGVzIGFzIGNvbW1lbnRzCgoyMDExLTA3LTEzIDEzOjM5OjQ2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IFJlc3RvcmUgZXJyb25lb3VzbHkgcmVtb3ZlZCBkYXRhKysKCSAgQWxzbywgcHV0IGJhY2sgc29tZSB1bnVzZWQgY29kZSBpbiBjb21tZW50IGFuZCByZXBsYWNlIC8vIGNvbW1lbnRzIGJ5IC8qICovCgoyMDExLTA3LTEzIDEzOjM4OjMxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWdkZW11eDogUmVzdG9yZSBlcnJvbmVvdXNseSByZW1vdmVkIGRhdGErKwoJICBBbHNvLCBwdXQgYmFjayBzb21lIHVudXNlZCBjb2RlIGluIGNvbW1lbnQgYW5kIHJlcGxhY2UgLy8gY29tbWVudHMgYnkgLyogKi8KCjIwMTEtMDctMTMgMTA6NDI6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZWRpbmdlcjogRml4IGNvbXBpbGF0aW9uIGFuZCBzZXQtYnV0LW5vdC11c2VkIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDExLTA3LTEzIDEwOjMzOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWNlbmM6IEZpeCBjb21waWxhdGlvbiBieSBpbmNsdWRpbmcgdGhlIG5ldyBnc3RiYXNldmlkZW91dGlscy5oIGhlYWRlciBhbmQgZml4aW5nIHNvbWUgc2V0IGJ1dCBub3QgdXNlZCBjb21waWxlciB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxODoyMjozNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkgIGV4YW1wbGVzL2NhbWVyYWJpbjogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE4OjIwOjIzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOgoJICBqcDJrOiBGaXggc2V0LWJ1dC11bnVzZWQgd2FybmluZ3MKCjIwMTEtMDctMTIgMTg6MTg6MzAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcmVzaW5kdmQvZ3N0cGVzZmlsdGVyLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5jOgoJICByZXNpbmR2ZDogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE4OjE2OjU0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSAgY29nOiBGaXggc2V0LWJ1dC11bnVzZWQgd2FybmluZ3MKCjIwMTEtMDctMTIgMTg6MTM6NTYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2NhbXJlc291cmNlbWFuYWdlci5jOgoJKiBzeXMvZHZiL2NhbXNlc3Npb24uYzoKCSogc3lzL2R2Yi9jYW10cmFuc3BvcnQuYzoKCSAgZHZiOiBGaXggc2V0LWJ1dC11bnVzZWQgd2FybmluZ3MKCjIwMTEtMDctMTIgMTg6MTA6NDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkgIHZpZGVvbWVhc3VyZTogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE4OjA5OjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3R0YS9nc3R0dGFkZWMuYzoKCSAgdHRhOiBGaXggc2V0LWJ1dC11bnVzZWQgd2FybmluZ3MKCjIwMTEtMDctMTIgMTg6MDg6MjEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3Qvc2RpL2dzdHNkaWRlbXV4LmM6CgkqIGdzdC9zZGkvZ3N0c2RpbXV4LmM6CgkgIHNkaTogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE4OjA1OjI1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4OiBGaXggc2V0LWJ1dC11bnVzZWQgd2FybmluZ3MKCjIwMTEtMDctMTIgMTg6MDM6NTMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDg6IFJlamVjdCB1bmtub3duIGJpdHN0cmVhbSB2ZXJzaW9ucwoKMjAxMS0wNy0xMiAxNzo1OTo1NiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE3OjU3OjQ1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBGaXggc2V0LWJ1dC11bnVzZWQgd2FybmluZ3MKCjIwMTEtMDctMTIgMTc6NTY6MjUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IEZpeCBzZXQtYnV0LXVudXNlZCB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxNzo1MzozMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWdkZW11eDogRml4IHVudXNlZC1idXQtc2V0IHdhcm5pbmdzCgoyMDExLTA3LTEyIDE3OjUwOjI3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBGaXggdW51c2VkLWJ1dC1zZXQgd2FybmluZ3MKCjIwMTEtMDctMTIgMDE6MTg6MTYgKzA1MzAgIFNhbWVlciBOYWlrIDxzYW1lZXIuc3Vic2NyaXB0aW9uc0BkYW1hZ2VoZWFkLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IHNlZ2ZhdWx0IGlmIGdzdF9jb2xsZWN0X3BhZHNfcG9wICgpIHJldHVybnMgbm8gYnVmZmVyCgkgIEluIG1wZWd0c211eF9jaG9vc2VfYmVzdF9zdHJlYW0gKCkgY2FsbCBpZiB0aGUgZ3N0X2NvbGxlY3RfcGFkc19wb3AgKCkgY2FsbAoJICByZXR1cm5zIG5vIGJ1ZmZlciAoTlVMTCksIHRoZSBwbHVnaW4gU2VnRmF1bHRzIGluIHRoZSBnc3RfYnVmZmVyX3VucmVmIGNhbGwuCgkgIFRvIGZpeCB0aGlzIHdlIGNoZWNrIGlmIGEgdmFsaWQgYnVmZmVyIGlzIHJldHVybmVkIGJlZm9yZSBjYWxsaW5nCgkgIGdzdF9idWZmZXJfdW5yZWYgKCkuCgkgIEZpeGVzIGJ1ZyAjNjU0NDE2LgoKMjAxMS0wNy0xMSAxMjo1OTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBGaXJzdCBpbmZvcm0gc3ViY2xhc3MgYWJvdXQgcmVzZXR0aW5nIGJlZm9yZSByZXNldHRpbmcvZnJlZWluZyBhbGwgaW50ZXJuYWwgc3RhdGUKCSAgVGhlIHN1YmNsYXNzIG1pZ2h0IHdhbnQgdG8gYWNjZXNzIHRoZSBvbGQgc3RhdGUuCgoyMDExLTA3LTExIDEyOjM2OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IFRyYWNrIHByZXNlbnQgcG9zaXRpb24gb24gZGlzY29udCBiZWZvcmUgcmVzZXR0aW5nIGl0CgoyMDExLTA3LTExIDExOjUyOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IEFsc28gcHJvdGVjdCB0aGUgbGlzdCBvZiBwZW5kaW5nIGZyYW1lcyBmcm9tIGNvbmN1cnJlbnQgYWNjZXNzIHdoZW4gcHVzaGluZyBhbGwgcGVuZGluZ3MgZXZlbnRzCgoyMDExLTA3LTExIDExOjI4OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvY29kZWM6IFByb3RlY3QgYWNjZXNzIHRvIHRoZSBsaXN0IG9mIHBlbmRpbmcgZnJhbWVzIHdpdGggdGhlIG9iamVjdCBsb2NrCgkgIFRoaXMgaXMgcmVxdWlyZWQgaWYgOjpmaW5pc2hfZnJhbWUoKSBhbmQgYWxsIGJ1ZmZlciBvdXRwdXQgaGFwcGVucwoJICBvbiBhIGRpZmZlcmVudCB0aHJlYWQgdGhhbiB0aGUgc2lua3BhZCBzdHJlYW1pbmcgdGhyZWFkLgoKMjAxMS0wNy0xMSAwOTozNToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBTZXQgdGhlIGNvcnJlY3QgbGlzdHMgdG8gTlVMTCBhZnRlciBmcmVlaW5nCgoyMDExLTA3LTExIDA4OjU0OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IFdvcmsgd2l0aCBhIGNvcHkgb2YgdGhlIEdzdFZpZGVvU3RhdGUgaW4gc2V0Y2FwcyB1bnRpbCB0aGUgY2FwcyBhcmUgYWNjZXB0ZWQKCSAgQWxzbyBmaXggYSByZWZjb3VudCBwcm9ibGVtIHdpdGggdGhlIGNvZGVjX2RhdGEuCgoyMDExLTA3LTA5IDExOjQwOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSAgYmFzZXZpZGVvOiBNb3ZlIHRoZSB1dGlscyBmcm9tIHRoZSBjb2RlYyBoZWFkZXIgdG8gaXRzIG93biBoZWFkZXIKCjIwMTEtMDctMDkgMTE6MzE6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBVc2UgZGVzdHJveSBub3RpZnkgdG8gZnJlZSB0aGUgY29kZXIgaG9vawoKMjAxMS0wNy0wOSAxMTowOToxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBVc2UgR1NsaWNlIGZvciBhbGxvY2F0aW5nIEdzdFZpZGVvRnJhbWUgYW5kIGRvbid0IGR1cGxpY2F0ZSBjb2RlIGluIHRoZSBkZWNvZGVyIGJhc2UgY2xhc3MKCjIwMTEtMDYtMjggMTE6NDc6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiBEb24ndCByZW9yZGVyIHNlcmlhbGl6ZWQgc3JjIGV2ZW50cwoJICBBbmQgYWxsb3cgdG8gZHJvcCBFT1MgYnkgdGhlIHN1YmNsYXNzIGlmIDo6ZmluaXNoIHJldHVybnMKCSAgRFJPUFBFRC4gVGhpcyByZXF1aXJlcyB0aGF0IHRoZSBzdWJjbGFzcyBzZW5kcyBFT1MgbWFudWFsbHkgbGF0ZXIuCgkgIEZpeGVzIGJ1ZyAjNjUzNTQ0LgoKMjAxMS0wNi0yNyAwOTo0MTo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlbzogQWRkIHRoZSBjYXBzIHRvIHRoZSBHc3RWaWRlb1N0YXRlIGFuZCBjbGVhbiB1cCBjYXBzL2NvZGVjX2RhdGEgcHJvcGVybHkKCSAgSGF2aW5nIGFjY2VzcyB0byB0aGUgY2FwcyBpbiA6OnNldF9mb3JtYXQgY2FuIGJlIHVzZWZ1bCBpZgoJICBub24tc3RhbmRhcmQgY2FwcyBmaWVsZHMgbGlrZSB0aGUgaDI2NCBhbGlnbm1lbnQgbXVzdCBiZSBhY2Nlc3NlZC4KCjIwMTEtMDctMDkgMTA6NTc6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW86IEFkZCBkZXN0cm95IG5vdGlmeSBmb3IgdGhlIGNvZGVyX2hvb2sgdG8gcHJldmVudCBtZW1vcnkgbGVha3MKCSAgRml4ZXMgYnVnICM2NTQyOTMuCgoyMDExLTA3LTA4IDExOjUyOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IFByb3Blcmx5IHJldHVybiBzZWVraW5nIGVycm9ycyBpZiB0aGUgcmVxdWVzdGVkIHBvc2l0aW9uIGNhbid0IGJlIGZvdW5kCgoyMDExLTA3LTA3IDE2OjAwOjQ0IC0wNzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaW50ZXIvLmdpdGlnbm9yZToKCSAgaW50ZXI6IGFkZCBpZ25vcmUgZmlsZSBmb3IgaW50ZXJtZWRpYXRlIGZpbGVzCgoyMDExLTA3LTA3IDE1OjU5OjA1IC0wNzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWNrbGluay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJICBkb2NzOiBhZGQgY2FtZXJhYmluMiB0byB0aGUgZG9jcyBhbmQgdXBkYXRlIHRoZSBkb2MgZmlsZXMKCjIwMTEtMDctMDcgMTU6NTU6NTkgLTA3MDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHBsdWdpbi5jOgoJICBjYW1lcmFiaW4yOiBkb24ndCBtZXNzIHdpdGggY2FtZXJhYmluICgxKSBuYW1lc3BhY2UKCSAgVXNlIGFuIGV4dHJhICcyJyB0byBzdGF5IG91dCBvZiB0aGUgb2xkIG5hbWVzcGFjZS4KCjIwMTEtMDctMDcgMTE6MTE6NDIgLTA3MDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGtlZXAgc2VjdGlvbiBmaWxlIHNvcnRlZAoKMjAxMS0wNy0wNyAxMDo1Mjo1MCAtMDcwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBpbXByb3ZlIHRoZSBkb2NzCgkgIEZpeCB0aGUgc3ludGF4LCBhZGQgbW9yZSBleHBsYW5hdGlvbiBhbmQgeHJlZiB0aGUgcHJvcGVydGllcy4KCjIwMTEtMDYtMDUgMDA6NTQ6MTkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9nc3RvcHVzLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSAgb3B1czogZHVwbGljYXRlIGZyb20gQ0VMVAoJICBDb3B5IHRoZSBjZWx0IHBsdWdpbiBhbmQgY29udmVydCBpdCB0byBPcHVzLiAgTW9zdGx5IHdvcmtzLgoKMjAxMS0wNy0wNiAxNTo1NjozMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogSEQgbW9kZXMgYXJlIHNxdWFyZSBwaXhlbHMKCjIwMTEtMDctMDUgMTA6MTk6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBBZGQgLURHU1RfVVNFX1VOU1RBQkxFX0FQSSB0byB0aGUgY29tcGlsZXIgZmxhZ3MgdG8gYXZvaWQgd2FybmluZ3MKCjIwMTEtMDctMDQgMTY6MTg6MTggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5oOgoJICBkaXJhY3BhcnNlOiBtYWtlIGRpcmFjcGFyc2Ugd29yayBjb3JyZWN0bHkKCjIwMTEtMDctMDMgMTg6MzI6MzcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbms6IHByb3Blcmx5IHNldCB1cCBhbmFsb2cgaW5wdXQKCjIwMTEtMDYtMjggMjM6NDc6MTggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBBZGQgbW9yZSBtb2RlcwoKMjAxMS0wNi0wMyAxOTo0MTozMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pbnRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVyL2dzdGludGVyLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnRlc3QuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5oOgoJICBpbnRlcjogbmV3IGludGVybWVkaWF0ZSBzdXJmYWNlIHBsdWdpbgoJICBUaGlzIHNldCBvZiBlbGVtZW50cyBhbGxvd3MgZWFzaWx5IHJlbmRlcmluZyBhdWRpbyBhbmQgdmlkZW8gdG8KCSAgYW4gaW50ZXJtZWRpYXRlIHN1cmZhY2UgdGhhdCBpcyB0aGVuIHVzZWQgYXMgYSBzb3VyY2UgaW4gYSBkaWZmZXJlbnQKCSAgcGlwZWxpbmUuCgoyMDExLTA2LTE4IDE1OjUxOjU0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5oOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IEFkZCBKUEVHIFlDYkNyIG1hdHJpeAoKMjAxMS0wNi0xOCAxNTo1Njo0OSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IHVwZGF0ZSBmb3IgbmV3IGxpYnZweCBhcGkKCjIwMTEtMDYtMjYgMTk6Mjk6MjQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgeTRtZGVjOiBGaXggYnVmZmVyIGR1cmF0aW9uCgoyMDExLTA2LTI2IDE1OjE1OjU0ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IGdlbmVyYXRlIGEgdGltZXN0YW1wIGZvciBhbHQtcmVmIGZyYW1lcy4KCSAgSXQgd2lsbCBmaXggaGFuZGxpbmcgb2YgYWx0cmVmL2ludmlzaWJsZSBmcmFtZXMgc2luY2UgbWF0cm9za2EtbXV4CgkgIGRyb3AgYW55IGZyYW0gd2l0aCBubyB0aW1lc3RhbXAuCgkgIHNlZSBhbHNvOgoJICBodHRwOi8vd3d3LndlYm1wcm9qZWN0Lm9yZy9jb2RlL3NwZWNzL2NvbnRhaW5lci8KCSAgVGhlIGVuY29kZXIgd2lsbCBjdXJyZW50bHkgc2V0IHRoZSBBUidzIHRpbWVzdGFtcCBhcyBjbG9zZSBhcyBwb3NzaWJsZQoJICB0byB0aGUgcHJldmlvdXMgZnJhbWUgd2hpbGUgYXR0ZW1wdGluZyB0byBwcm92aWRlIGEgdGltZXN0YW1wIHRoYXQgaXMKCSAgc3RyaWN0bHkgaW5jcmVhc2luZy4gSW4gY2FzZXMgd2hlcmUgdGhlIHRpbWUgYmFzZSBnaXZlbiB0byB0aGUgZW5jb2RlcgoJICBhdCBjb25maWd1cmUgdGltZSBpcyBub3QgZ3JhbnVsYXIgZW5vdWdoIHRvIGFsbG93IGZvciB0aGlzIHRoZSBBUgoJICB3aWxsIHNoYXJlIHRoZSBzYW1lIHRpbWVzdGFtcCBhcyBELCBidXQgc2hvdWxkIGJlCgkgIHRyZWF0ZWQgYXMgaGF2aW5nIG5vIGR1cmF0aW9uLgoJICBGaXhlcyBidWcgIzY1Mjk1MQoJICBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDExLTA2LTI1IDIzOjU1OjI4ICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgd2luaW5ldDogRml4IGNvbmZpZ3VyZSBjaGVjayBieSBpbmNsdWRpbmcgd2luZG93cy5oCgkgIEZpeGVzIGJ1ZyAjNjUzMTYxLgoKMjAxMS0wNi0wNyAxMzo1NTozOCArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2QzZHZpZGVvc2luay9NYWtlZmlsZS5hbToKCSAgZDNkdmlkZW9zaW5rOiBGaXggY29uZmlndXJlIGNoZWNrIGFuZCBtYWtlZmlsZXMKCSAgRml4ZXMgYnVnICM2NTIwMzUuCgoyMDExLTA2LTI1IDE1OjEyOjQ1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC90dGEvZ3N0dHRhZGVjLmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSAgdHRhOiBkZWNyZWFzZSByYW5rIHRvIE5PTkUKCSAgQXBwZWFycyB0byBiZSB1dHRlcmx5IGluY2FwYWJsZSBvZiBwYXJzaW5nIGFuZCBkZWNvZGluZyBUVEEgc3RyZWFtcy4KCSAgSGFzbid0IGJlZW4gdXBkYXRlZCB0byBkbyBUVEEyLiAgSWYgeW91IHdhbnQgdGhpcyBlbGVtZW50IHRvIHdvcmssCgkgIGZpeCB0aGUgYmxvb2R5IHRoaW5nLiAgVGhlIGdzdC1mZm1wZWcgZGVjb2RlciB3b3JrcyBmaW5lLgoJICBBbHNvIGZpeGVkIGFuIG9idmlvdXMgZW5kaWFubmVzcyBpc3N1ZSBhbG9uZyB0aGUgd2F5LgoJICBGaXhlczogIzY1MjkyNAoKMjAxMS0wNi0xOCAxNzo0NzozNiArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBhZGQgY2hlY2sgaWYgd2UgaGF2ZSBsZWdhbCBhc3BlY3QtcmF0aW8gYmVmb3JlIHJlc2V0IGl0LgoJICB0aGUgY29tbWl0IGY5YjU1MmYwNDk0ZSAodnA4ZGVjOiBzZXQgcGFyIHRvIDEvMSkKCSAgd2lsbCBmaXggc2l0dWF0aW9uIHdoZXJlIG5vIGFzcGVjdC1yYXRpbyBpcyBzZXQsIGJ1dCBpdCBicmFrZQoJICBzdHJlYW0gd2l0aCBhdmFpbGFibGUgYXNwZWN0LXJhdGlvLiBUaGlzIHBhdGNoIGZpeCBpdC4KCSAgRml4ZXM6ICM2NTI5MDIuCgkgIFNpZ25lZC1vZmYtYnk6IEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTEtMDYtMjMgMjA6MTE6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBkb24ndCB1c2UgR0xpYiAyLjI4IEFQSQoJICBEb24ndCB1c2UgR0xpYiAyLjI4IEFQSSwgd2Ugc3RpbGwgb25seSByZXF1aXJlID49IDIuMjQuCgoyMDExLTA2LTIzIDExOjI4OjUzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNjliOTgxZiB0byA2MDVjZDlhCgoyMDExLTA2LTIyIDIyOjI1OjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogU2V0IHRhZ3NldHRlcnMgdG8gbWVyZ2UgcmVwbGFjZSBtb2RlCgkgIFRoZSBkZWZhdWx0IGZvciB0YWdzZXR0ZXJzIGlzIHRvIHVzZSBtZXJnZSBrZWVwIG1vZGUsIHNvIHRhZ3MKCSAgd291bGQgbmV2ZXIgYmUgcmVwbGFjZWQgYW5kIGFsbCBjYXB0dXJlcyB3b3VsZCBoYXZlIHRoZSBzYW1lIHRhZ3MuCgkgIFRoaXMgY29tbWl0IHdhdGNoZXMgYWxsIGVsZW1lbnRzIGFkZGVkIGludG8gZW5jb2RlYmluIGFuZCBzZXRzCgkgIGFsbCB0YWdzZXR0ZXJzIHRvIG1lcmdlIHJlcGxhY2UgbW9kZQoKMjAxMS0wNi0yMiAxODo1ODoyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBVc2UgYSBzaW5nbGUgbG9jYXRpb24gZm9yIGJvdGggbW9kZXMKCSAgSW1wbGVtZW50IHRoZSBsb2NhdGlvbiBwcm9wZXJ0eSBqdXN0IGxpa2UgaXQgd29ya3MgaW4gY2FtZXJhYmluLCB0aGUKCSAgc2FtZSBsb2NhdGlvbiBpcyB1c2VkIGZvciBib3RoIGltYWdlcyBhbmQgdmlkZW9zCgoyMDExLTA2LTIyIDE2OjI3OjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBTZW5kIHNlcmlhbGl6ZWQgY3VzdG9tIGV2ZW50cyBmb3IgZmlsZW5hbWUgY2hhbmdlcyBpbiBpbWFnZSBzaW5rCgkgIFVzaW5nIHNlcmlhbGl6ZWQgY3VzdG9tIGV2ZW50cyBmb3Igc3dpdGNoaW5nIGltYWdlIGNhcHR1cmUgc2F2aW5nCgkgIGxvY2F0aW9uIG1ha2VzIGNhbWVyYWJpbjIgc2F2ZSBlYWNoIGNhcHR1cmUgY29ycmVjdGx5IHRvIHRoZSBsb2NhdGlvbgoJICB0aGF0IHdhcyBzZXQgZHVyaW5nIHRoZSBtb21lbnQgc3RhcnQtY2FwdHVyZSB3YXMgY2FsbGVkLCBhbmQgbm90CgkgIHRoZSBtb21lbnQgdGhlIGZpbGVzaW5rIHdhcyB3cml0aW5nIHRvIGRpc2suCgkgIFRoaXMgcHJldmVudHMgY2FwdHVyZXMgdG8gYmUgb3ZlcndyaXRlbiBieSByYWN5bmVzcyBhbW9uZyBzdGFydC1jYXB0dXJlCgkgIGFuZCBzZXR0aW5nIGxvY2F0aW9uIGZvciBpbWFnZXMuCgoyMDExLTA2LTIyIDE1OjU2OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogTm8gbmVlZCB0byBjaGFuZ2Ugc3RhdGUgb2YgdGhlIHdob2xlIGltYWdlIGJyYW5jaAoJICBXZSBvbmx5IG5lZWQgdG8gY2hhbmdlIHRoZSBzdGF0ZSBvZiB0aGUgZmlsZXNpbmsgdG8gc3dpdGNoIGl0cwoJICBzYXZpbmcgbG9jYXRpb24uIFRoaXMgbWlnaHQgc3RpbGwgY2F1c2Ugc29tZSBwcm9ibGVtcyBvZiBkcm9wcGluZwoJICBjYXB0dXJlZCBidWZmZXJzLCBidXQgaXQgaXMgYmV0dGVyIHRoYW4gY2hhbmdpbmcgdGhlIHN0YXRlIG9mCgkgIHRoZSB3aG9sZSBicmFuY2guCgoyMDExLTA2LTIyIDE1OjM3OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogVXNlIG5hbWVzIGZvciBpbWFnZSBhbmQgdmlkZW8gZW5jb2RlYmluCgkgIE5hbWluZyBlbmNvZGViaW5zIGFzIGltYWdlLWVuY29kZWJpbiBhbmQgdmlkZW8tZW5jb2RlYmluIHRvIG1ha2UKCSAgaXQgZWFzaWVyIGZvciBkZWJ1Z2dpbmcgY2FtZXJhYmluMi4KCjIwMTEtMDYtMTcgMTc6MjY6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTEtMDYtMTcgMTQ6MzI6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogQWRkcyBuZXcgdGVzdCB0byBjaGVjayBpbWFnZSBsb2NhdGlvbiBjb3JyZWN0bmVzcwoJICBUaGlzIG5ldyB0ZXN0IGNoZWNrcyB0aGF0IGltYWdlcyBhcmUgc2F2ZWQgd2l0aCB0aGUgZmlsZW5hbWUgc2V0dGluZwoJICBvbiBsb2NhdGlvbiBvbiB0aGUgbW9tZW50IG9mIHRoZSBzdGFydC1jYXB0dXJlCgoyMDExLTA2LTE1IDA4OjIwOjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogTWlub3IgZGVidWcgbWVzc2FnZSBmaXgKCjIwMTEtMDUtMTMgMTE6MjU6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW4yOiBBZGRzIHBlcmZvcm1hbmNlIG1lYXN1cmVtZW50IHRvIGdzdC1jYW1lcmFiaW4yLXRlc3QKCSAgQWRkcyBwZXJmb3JtYW5jZSAodGltaW5nKSBtZWFzdXJlIGZlYXR1cmUgdG8gZ3N0LWNhbWVyYWJpbjItdGVzdCwgaXQgYWxsb3dzCgkgIHVzZXJzIHRvIHNwZWNpZnkgc29tZSB0YXJnZXQgdmFsdWVzIGZvciBjb21tb25seSBtZWFzdXJlZCB0aW1lcyBhbmQgdGhlCgkgIGFwcGxpY2F0aW9uIHdpbGwgcHJpbnQgb3V0IGEgdGFibGUgb2YgdmFsdWVzIGF0IHRoZSBlbmQgb2YgaXRzIGV4ZWN1dGlvbgoJICB3aXRoIHRoZSBtZWFzdXJlZCB0aW1lcyBhbmQgYXZlcmFnZXMgb2YgdGhlbS4KCjIwMTEtMDYtMjIgMTA6MTM6MzggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgbGVnYWN5aDI2NHBhcnNlOiBjcmVhdGUgY29ycmVjdCBhdmMgY29kZWMtZGF0YQoJICBGaXhlcyAjNjUzMDEzLgoKMjAxMS0wNi0yMSAxMjo0NTozMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBsZWdhY3loMjY0cGFyc2U6IGZpeCBvdXRwdXQgY2FwcyBhbGlnbm1lbnQgZm9yIGF2YyBpbnB1dAoJICAuLi4gcGFydGljdWxhcmx5IHdoZW4gc3BsaXR0aW5nIHBhY2tldGl6ZWQgaW5wdXQuCgkgIEZpeGVzICM2NTI5OTUuCgoyMDExLTA2LTIxIDEyOjQzOjQxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYXZjIGlucHV0IG11c3QgZWl0aGVyIHBhc3MtdGhyb3VnaCBvciBiZSBzcGxpdCBpbnRvIGJ5dGVzdHJlYW0gY2h1bmtzCgkgIC4uLiBzaW5jZSBwYXJzaW5nIGNvZGUgaXMgbm90IG1lYW50IHRvIHJlY2VpdmUgYXZjIGRhdGEuCgkgIEZpeGVzICM2NTMwODcuCgoyMDExLTA2LTIxIDEyOjQxOjQ3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYXZvaWQgYm9ndXMgZnJhbWUgcGFyc2luZyBzdGF0ZQoKMjAxMS0wNi0yMCAxMjo0NzozOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvRGVja0xpbmtBUEkuaDoKCSogc3lzL2RlY2tsaW5rL0RlY2tMaW5rQVBJRGlzcGF0Y2guY3BwOgoJICBkZWNrbGluazogdXBkYXRlIERlY2tMaW5rIEFQSSB3cmFwcGVycwoKMjAxMS0wNi0yMCAwMDozODowNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBBZGQgY29ubmVjdGlvbiB0eXBlCgoyMDExLTA2LTA1IDIxOjE5OjU4IC0wNzAwICBSYWZhZWwgRGluaXogPHJhZmFlbEByaXNldXAubmV0PgoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJICBkZWNrbGlua3Npbms6IEFkZCBhdWRpbyBzdXBwb3J0CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNi0wNSAyMToyNDo1OCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbms6IEFkZCB2YXJpb3VzIGZlYXR1cmVzCgkgIEJldHRlciBtb2RlIHN1cHBvcnQsIGlucHV0IHNvdXJjZSBwcm9wZXJ0eSwgYXVkaW8gc3VwcG9ydC4KCjIwMTEtMDYtMDUgMjE6MjQ6MzkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJICBkZWNrbGluazogcmVtb3ZlIHVudXNlZCBjb2RlCgoyMDExLTA2LTA1IDIxOjE3OjA0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9EZWNrTGlua0FQSURpc3BhdGNoLmNwcDoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbms6IHJlaW5kZW50CgoyMDExLTA2LTE3IDE2OjEyOjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IG9ubHkgZnJlZSB0aGUgaW5kZXggYXJyYXkgaWYgaXQgZXhpc3RzCgkgIE9ubHkgZnJlZSB0aGUgYXJyYXkgaWYgaXQgZXhpc3RzLgoJICBDb250YWlucyBhbiB1bnJlbGF0ZWQgaW5kZW50YXRpb24gZml4LCBjb3VydGVzeSBvZiBnc3QtaW5kZW50CgoyMDExLTA2LTE4IDAxOjExOjA1ICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgIHVwZGF0ZSBkb2NzIGdlbmVyYXRlZCBmaWxlcwoKMjAxMS0wNi0xOCAwMTowOTo1MSArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcHNyYy54bWw6CgkqIGV4dC9ydG1wL01ha2VmaWxlLmFtOgoJKiBleHQvcnRtcC9nc3RydG1wLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmg6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgUlRNUDogYWRkIHJ0bXBzaW5rIGVsZW1lbnQgZm9yIG91dHB1dCB0byBhbiBSVE1QIHNlcnZlcgoKMjAxMS0wNi0xNiAxNzoxNzowNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2NvbG9yc3BhY2UuYzoKCSAgdGVzdHM6IGFkZCBjb2xvcnNwYWNlIHVuaXQgdGVzdAoJICBDb21wYXJlcyBjb2xvcnNwYWNlIHJlc3VsdCB3aXRoIGZmbXBlZ2NvbG9yc3BhY2Ugb3V0cHV0IHVzaW5nIFNTSU0uCgkgIEFsc28gcHJvYmVzIGZvciBwb3NzaWJsZSBjcmFzaGVzIGZvciBvZGQgd2lkdGggYW5kIGhlaWdodCBpbWFnZSBieSBhcHBseWluZwoJICBhbGwgcG9zc2libGUgY29sb3JzcGFjZSB0cmFuc2Zvcm1hdGlvbnMuCgoyMDExLTA2LTE3IDEyOjEwOjA2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5oOgoJICBkZWJ1Z3V0aWxzOiBhZGQgY29tcGFyZSBlbGVtZW50CgoyMDExLTA2LTE1IDE4OjIwOjQ4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogZml4IG9kZCB3aWR0aCBhbmQgaGVpZ2h0IGhhbmRsaW5nIGluIHNvbWUgZmFzdHBhdGggY2FzZXMKCjIwMTEtMDYtMTYgMTk6MDY6MDMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL3NobXBpcGUuaDoKCSAgc2htOiBJbXByb3ZlIGRvY3VtZW50YXRpb24gb2YgaW50ZXJuYWwgc2htcGlwZQoKMjAxMS0wNi0xNSAxNjozMjowMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NvbG9yc3BhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5oOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLnZjcHJvajoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmg6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMtZGlzdC5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLWRpc3QuaDoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy5vcmM6CgkgIE1vdmVkICdjb2xvcnNwYWNlJyBmcm9tIC1iYWQgdG8gLWJhc2UKCjIwMTEtMDYtMTUgMTY6MDY6MzYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgYW5kcm9pZC9hYWNwYXJzZS5tawoJICBhbmRyb2lkL2FtcnBhcnNlLm1rCgkgIGFuZHJvaWQvaDI2NHBhcnNlLm1rCgkgIGFuZHJvaWQvbWV0YWRhdGEubWsKCSAgYW5kcm9pZC9xdG11eC5tawoJICBhbmRyb2lkL3NkcGVsZW0ubWsKCSAgY29uZmlndXJlLmFjCgkgIGdzdC9xdG11eC9nc3RxdG11eC5jCgkgIHdpbjMyL2NvbW1vbi9jb25maWcuaAoKMjAxMS0wNi0xMyAxMToxMjozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkgIHdpbmluZXRzcmM6IGRvbid0IHVzZSBHX0NPTlNUX1JFVFVSTgoJICBJdCdzIGdvaW5nIHRvIGJlIGRlcHJlY2F0ZWQgcmVhbGx5IHNvb24uCgoyMDExLTA2LTEyIDEyOjU1OjQwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IFNwZWVkIHVwIHRoZSBzdGFydCBjb2RlIHNlYXJjaCBhbGdvcml0aG0KCSAgQmFzZWQgb24gOTZhN2Y5YzhiMTE5NTEyOWYwYzIxNTdjYmJjYmFhNmNhYjQ1MDU2ZQoJICBNYWtlcyBpdCAzLTQgdGltZXMgZmFzdGVyCgoyMDExLTA2LTEyIDEyOjQwOjE1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IEZpeCBzaW5rIHBhZCB0ZW1wbGF0ZQoJICBubyB3b25kZXIgaXQgd2FzIG5ldmVyIHBpY2tlZCB1cCAuLi4KCjIwMTEtMDYtMTIgMTE6Mjc6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBEb24ndCBmcmVlIHVuZXhpc3RlbnQgUEFUCgkgIEFuZCBjbGVhbnVwIGZpbmRfdGltZXN0YW1wcyBhIGJpdAoKMjAxMS0wNS0xOCAxOTozMzo0NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IE1vcmUgZml4ZXMgdG8gaGFuZGxlIG5vbi0xODggYnl0ZSBwYWNrZXRzCgoyMDExLTA1LTE1IDE0OjA0OjQ1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3BheWxvYWRfcGFyc2Vycy5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGF5bG9hZF9wYXJzZXJzLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0czogU3RvcCBzY2FubmluZyBmb3Iga2V5ZnJhbWVzIGFzIGVhcmx5IGFzIHBvc3NpYmxlCgoyMDExLTAzLTMxIDE0OjM2OjAyICswMjAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogYWx3YXlzIHRyeSB0byBzZWVrIGZvciB0byBhIGtleWZyYW1lCgkgIGtleWZyYW1lIGlzIGV4cGVjdGVkIHRvIGxpZSBpbiB0aGUgdGhlIG5leHQgfjI1MDAgbXMKCjIwMTEtMDMtMjMgMTg6NTA6MjUgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggdGltZXN0YW1wcyBpbiBuZXdzZWdlbWVudCBldmVudCBhZnRlciBzZWVraW5nCgoyMDExLTAzLTMwIDExOjI2OjE4ICswMjAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGF5bG9hZF9wYXJzZXJzLmM6CgkqIGdzdC9tcGVndHNkZW11eC9wYXlsb2FkX3BhcnNlcnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IHBheWxvYWQgcGFyc2luZyBmb3IgSC4yNjQKCjIwMTEtMDMtMjggMTA6MjA6NDMgKzAyMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3BheWxvYWRfcGFyc2Vycy5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGF5bG9hZF9wYXJzZXJzLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBpbXBsZW1lbnQga2V5X3VuaXQgc2Vla2luZyBmb3IgTVBFRzIgdmlkZW8KCjIwMTEtMDMtMjIgMTY6NDk6MTMgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBhY2N1cmF0ZSBzZWVraW5nCgkgICogcGVzIGhlYWRlciBwYXJzaW5nIGZvciBwdHMgaXMgdWdseSwgcmVmYWN0b3IKCSAgKiB0aW1lc3RhbXBzL25ld3NlZ21lbnQgYWZ0ZXIgc2Vla2luZyBpcyBzdGlsbCBvZmYKCjIwMTEtMDItMjIgMTI6MzM6NTYgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIG1wZWd0c2RlbXV4OiBwdXNoIGJhc2VkIHNlZWtpbmcgYmFzZWQgb24gUENSCgkgIGJ1ZmZlciB0aW1lc3RhbXBzIGFyZSBjb252ZXJ0ZWQgdG8gR3N0Q2xvY2tUaW1lIHRvIGNvdmVyIHBjci9wdHMgd3JhcHMuCgkgIG11bHRpcGxlIHBjci9wdHMgd3JhcHMgYXJlIGhhbmRsZWQgd2l0aCBhbiBpbmRleCB3aGljaCBlbnN1cmVzIGF0IG1vc3QKCSAgYSBzaW5nbGUgcGNyIHdyYXBhcm91bmQgYmV0d2VlbiB0d28gZW50cmllcy4KCSAgdGhlIGxhc3Qgc2VlbiBwY3IgaXMgcmVjb3JkZWQgdG8gaGF2ZSBhIG5lYXJieSBpbmRleCBwb2ludCBmb3Igc2hvcnQgc2Vla3MKCSAgcmVzdW1pbmcgcGxheWJhY2sgbWlnaHQgYmUgZGVsYXllZCBpZiB0aGUgcG9zdGlvbiBpcyBub3QgYSBrZXlmcmFtZQoJICBUT0RPOiByZXBsYWNlIG1hbnVhbCBwYWNrZXQgc2Nhbm5pbmcgYW5kIHBhcnNpbmcgaW4gdGhlIGluaXRpYWwgZHVyYXRpb24gZXN0aW1hdGlvbgoKMjAxMS0wMi0yMyAxNToyMToyMiArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGNyZWF0ZSBmdW5jdGlvbiBmb3IgcGNyIHBhcnNpbmcKCjIwMTEtMDQtMTEgMTQ6NTM6MjggKzAyMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBhZGFwdGF0aW9uIGZpZWxkIGxlbmd0aCA9PSAwIGlzIHZhbGlkCgkgIGl0IGNhbiBiZSB1c2VkIHRvIGluc2VydCBhIHNpbmdsZSBzdHVmZmluZyBieXRlCgkgIGRvIG5vdCBwYXJzZSB0aGUgZm9sbG93aW5nIHBheWxvYWQgYXMgYWRhcHRhdGlvbiBmaWVsZAoKMjAxMS0wNi0wNyAxNDoxNDozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSAgQWRkIGdzdC9pbnZ0ZWxlY2luZSB0byBDUlVGVF9ESVJTCgoyMDExLTA2LTA3IDEzOjQ0OjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZXF1aXJlIEdMaWIgPj0gMi4yNAoJICBNYWtlIGltcGxpY2l0IHJlcXVpcmVtZW50IGV4cGxpY2l0LgoKMjAxMS0wNi0wNiAxNToyMzoyMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgdGVzdHM6IGFkZCBhIHRlc3QgZm9yIGJhc2VhdWRpb3Zpc3VhbGl6ZXIKCjIwMTEtMDYtMDYgMTU6MjA6MzAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYmFzZWF1ZGlvdmlzdWFsaXplcjogZml4IGxhc3QgYmxvY2sgY29uZGl0aW9uCgkgIEFsc28gcHVzaCBvdXQgdGhlIGxhc3QgZnJhbWUgaWYgd2UgaGF2ZSBleGFjdCBhbW91bnQgb2Ygc2FtcGxlcy4gRml4IHRoZSBhZGFwdGVyCgkgIGZsdXNoaW5nIHRvIG5vdCBjYXVzZSBlbmRsZXNzIGxvb3BzLiBEcm9wIGEgcmVkdW5kYW50IGF2YWlsKCkgY2hlY2suCgoyMDExLTA2LTA0IDIwOjQxOjQ5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9SRUFETUU6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IGFkZCBhIFJFQURNRSB3aXRoIGNvbW1lbnRzIGFuZCBwbGFucwoKMjAxMS0wNi0wNCAyMDozNDoyMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbjIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWNrbGluay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXZ4ZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpdnhlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFjZW92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGluc3lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWx2Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBhdGNoZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGltaWRpdHkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW8zZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICBkb2NzOiB1cGRhdGUgaW5zcGVjdCBmaWxlcwoKMjAxMS0wNi0wNCAxNjoxMjo0MCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSAgZG9jczogYWRkIG5ldyBhdWRpb3Zpc3VhbGl6ZXJzIHRvIHRoZSBwbHVnaW4gZG9jcwoKMjAxMS0wNi0wNCAxNTo1NjoxNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSAgYXVkaW92aXN1YWxpemVyczogcmVtb3ZlIHNvbWUgbm90IG5lZWRlZCBib2lsZXJwbGF0ZQoKMjAxMS0wNi0wNCAxNTo1Mjo0NCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9wbHVnaW4uYzoKCSAgYXVkaW92aXN1YWxpemVyczogYWRkIGEgc3BhY2VzY29wZSBlbGVtZW50CgkgIEFkZCBhbm90aGVyIGVsZW1lbnQgdGhhdCBtYXBzIGxlZnQvcmlnaHQgY2hhbm5lbCB0byB4LHkgY29vcmRpbmF0ZXMuCgoyMDExLTA2LTA0IDE1OjM4OjQ2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkgIHN5bmFlc2NvcGU6IHR3ZWFrIHRoZSBhbGdvcml0aG0KCSAgU3BlZWQtdXAgdGhlIGNhbGN1bGF0aW9uIGEgYml0LiBLZWVwIGEgZmV3IHZhbHVlcyBhcyBkb3VibGVzLiBUdW5lIHRoZSBzY2FsaW5nCgkgIHRvIGdldCBuaWNlcyBjb2xvcnMuCgoyMDExLTA2LTA0IDE0OjM3OjA0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IGRvYy1ibG9iIGFuZCBjb21tZW50IHVwZGF0ZXMKCjIwMTEtMDYtMDQgMTQ6MzM6MjkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmg6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IHJlbmFtZSBiYXNlY2xhc3MgZnJvbSBiYXNlc2NvcGUgdG8gYmFzZWF1ZGlvdmlzdWFsaXplcgoKMjAxMS0wNi0wNCAxNDoyNTo1NyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL3BsdWdpbi5jOgoJKiBnc3Qvc2NvcGVzL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2NvcGVzL2dzdGJhc2VzY29wZS5jOgoJKiBnc3Qvc2NvcGVzL2dzdGJhc2VzY29wZS5oOgoJKiBnc3Qvc2NvcGVzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3Qvc2NvcGVzL2dzdHNwZWN0cmFzY29wZS5oOgoJKiBnc3Qvc2NvcGVzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L3Njb3Blcy9nc3RzeW5hZXNjb3BlLmg6CgkqIGdzdC9zY29wZXMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9zY29wZXMvZ3N0d2F2ZXNjb3BlLmg6CgkqIGdzdC9zY29wZXMvcGx1Z2luLmM6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IHJlbmFtZSBzY29wZXMgcGx1Z2luIHRvIGF1ZGlvdmlzdWFsaXplcnMKCjIwMTEtMDUtMzEgMTQ6NDI6NTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zY29wZXMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9zY29wZXMvZ3N0c3luYWVzY29wZS5jOgoJICBzY29wZXM6IGZpeCBlbGVtZW50cyBkZXNjcmlwdGlvbnMKCjIwMTEtMDUtMzAgMjM6NDU6MTcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zY29wZXMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkgIHNwZWN0cmFzY29wZTogdXNlIGFkZF9waXhlbCBmb3Igbm9uLXdoaXRlIHBpeGVscwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxNTM2CgoyMDExLTA1LTMwIDIzOjM2OjQyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2NvcGVzL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2NvcGVzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L3Njb3Blcy9nc3RzeW5hZXNjb3BlLmg6CgkqIGdzdC9zY29wZXMvcGx1Z2luLmM6CgkgIHNjb3BlczogYWRkIGEgbmV3IGVsZW1lbnQgc2ltaWxhciB0byBzeW5hZXN0aGVzaWEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTUzNgoKMjAxMS0wNS0yOCAyMzoyMjo1OSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3Njb3Blcy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L3Njb3Blcy9nc3R3YXZlc2NvcGUuYzoKCSAgc2NvcGVzOiBkcmF3IHBpeGVscyB3aXRoIHNpZ25sZSAzMmJpdCB3cml0ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTUzNgoKMjAxMS0wNS0yOCAxNDozNjo1MSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3Njb3Blcy9nc3RiYXNlc2NvcGUuYzoKCSogZ3N0L3Njb3Blcy9nc3RiYXNlc2NvcGUuaDoKCSAgYmFzZXNjb3BlOiBhZGQgbW9yZSBzaGFkaW5nIGVmZmVjdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTUzNgoKMjAxMS0wNS0yOCAxNDowODowNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3Njb3Blcy9nc3RiYXNlc2NvcGUuYzoKCSogZ3N0L3Njb3Blcy9nc3RiYXNlc2NvcGUuaDoKCSAgYmFzZXNjb3BlOiBhZGQgYSBwcm9wZXJ0eSB0byBtb2RpZnkgdGhlIGFtbW91bnQgb2Ygc2hhZGluZwoJICBBZGQgYW5vdGhlciBwcm9wZXJ0eSB0byBzcGVjaWZ5IHRoZSBzaGFkaW5nIHBlciBjb2xvciBjaGFubmVsLiBGaXggZW5kaWFuZXNzCgkgIGlzc3VlcyBpbiB0aGUgc2hhZGluZyBjb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxNTM2CgoyMDExLTA1LTI3IDIzOjI1OjAwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2NvcGVzL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2NvcGVzL2dzdGJhc2VzY29wZS5jOgoJKiBnc3Qvc2NvcGVzL2dzdGJhc2VzY29wZS5oOgoJKiBnc3Qvc2NvcGVzL3BsdWdpbi5jOgoJICBiYXNlc2NvcGU6IGFkZCBhIGJhY2tidWZmZXIgYW5kIGFwcGx5IHNoYWRpbmcgZWZmZWN0cwoJICBLZWVwIHRoZSBsYXN0IGZyYW1lIGFuZCBhcHBseSBzaGFkZSBhbmQgZ2VvbWV0cnkgZWZmZWN0cy4gRXhwb3NlIHRoZSBzaGFkaW5nCgkgIGVmZmVjdHMgYXMgYSBjb250cm9sbGFibGUgZ29iamVjdCBwcm9wZXJ0eSBvbiB0aGUgYmFzZWNsYXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxNTM2CgoyMDExLTA1LTI3IDIzOjEyOjAwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2NvcGVzL2dzdGJhc2VzY29wZS5jOgoJKiBnc3Qvc2NvcGVzL2dzdGJhc2VzY29wZS5oOgoJKiBnc3Qvc2NvcGVzL2dzdHNwZWN0cmFzY29wZS5jOgoJICBiYXNlc2NvcGU6IGFsbG93IHN1YmNsYXNzZXMgdGVsbGluZyBob3cgbWFueSBzYW1wbGUgdGhleSBuZWVkIHBlciBmcmFtZQoJICBUaGlzIGFsbG93cyBlLmcuIEZGVCBiYXNlZCBlbGVtZW50cyB0byByZXF1aXJlIGVub3VnaCBkYXRhLiBJZiB0aGV5IG5lZWQgbW9yZQoJICBkYXRhIHRoYW4gd2hhdCB3ZSBnZXQsIHdlIGZsdXNoIGxlc3MgZnJvbSB0aGUgYWRhcHRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTUzNgoKMjAxMS0wNS0yNyAyMjo1MzoxMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3Njb3Blcy9nc3RiYXNlc2NvcGUuYzoKCSAgYmFzZXNjb3BlOiByZW1vdmUgc29tZSBjb21tZW50cwoJICBUaG9zZSBjb21tZW50cyB3aGVyZSBwb2ludGluZyB0byBleGFtcGxlIGNhbGxzIHRoYXQgd2UgZG8gaW4gdGhlIHN1YmNsYXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxNTM2CgoyMDExLTA1LTI3IDE0OjQzOjUxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2NvcGVzL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2NvcGVzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3Qvc2NvcGVzL2dzdHNwZWN0cmFzY29wZS5oOgoJKiBnc3Qvc2NvcGVzL3BsdWdpbi5jOgoJICBzY29wZXM6IGFkZCBhIHNpbXBsZSBmZnQgYmFzZWQgc2NvcGUKCSAgQWRkIGEgMm5kIGRlbW8gc2NvcGUgdGhhdCB1c2VzIGEgZmZ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxNTM2CgoyMDExLTA1LTI3IDExOjE0OjE5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zY29wZXMvTWFrZWZpbGUuYW06CgkqIGdzdC9zY29wZXMvZ3N0YmFzZXNjb3BlLmM6CgkqIGdzdC9zY29wZXMvZ3N0YmFzZXNjb3BlLmg6CgkqIGdzdC9zY29wZXMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9zY29wZXMvZ3N0d2F2ZXNjb3BlLmg6CgkqIGdzdC9zY29wZXMvcGx1Z2luLmM6CgkgIHNjb3BlczogZmlyc3QgdmVyc2lvbiBvZiBhIHNjb3BlcyBwbHVnaW4gdXNpbmcgYSBuZXcgYmFzZWNsYXNzCgkgIEFkZCBhIG5ldyBiYXNlY2xhc3MgZm9yIHdyaXRpbmcgdmlzdWFsaXNhdGlvbiBwbHVnaW5zLiBQcm92aWRlIGEgc2ltcGxlIHdhdmUKCSAgb3NjaWxsb3Njb3BlIGFzIGEgZmlyc3Qgc3ViY2xhc3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTE1MzYKCjIwMTEtMDQtMjkgMTM6MzM6NDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBBdm9pZCBkb3VibGUgc2Nhbm5pbmcgb2YgcGljdHVyZXMKCSAgVGhlIGluY29taW5nIGRhdGEgaGFzIGFscmVhZHkgYmVlbiBzY2FubmVkIGluIG1wZWdfcGFja2V0aXplcl9hZGRfYnVmLgoJICBXZSBjYW4gdGhlcmVmb3JlIHN0b3Agc2Nhbm5pbmcgZm9yIHBpY3R1cmUgZGF0YSBhcyBzb29uIGFzIHdlJ3ZlIHBhcnNlZAoJICB0aGUgaGVhZGVyLiBNYWtlcyBtcGVndmlkZW9wYXJzZSAyIHRpbWVzIGZhc3Rlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0ODkzMwoKMjAxMS0wNi0wNSAxMzo1NjowOCAtMDcwMCAgTGV2ZW50ZSBGYXJrYXMgPGxmYXJrYXNAbGZhcmthcy5vcmc+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkgIGRpcmVjdGRyYXdzaW5rOiBsb3dlciByYW5rIHRvIHNlY29uZGFyeQoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDYtMDUgMTM6Mzg6NDYgLTA3MDAgIExldmVudGUgRmFya2FzIDxsZmFya2FzQGxmYXJrYXMub3JnPgoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2R4Lmg6CgkgIGQzZHZpZGVvc2luazogY29tcGlsZSBmaXgKCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA2LTA1IDEwOjM0OjI4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ludnRlbGVjaW5lL01ha2VmaWxlLmFtOgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSAgaW52dGVsZWNpbmU6IFJlbW92ZSBpbiBmYXZvciBvZiBmaWVsZGFuYWx5c2lzCgoyMDExLTA2LTA0IDE4OjU0OjE2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIGRpcmVjdGRyYXdzaW5rOiBIYW5kbGUgcGl4ZWwtYXNwZWN0LXJhdGlvCgkgIEZpeGVzOiAjNjUxNzc5LiAgRnJvbSBSYWltbyBKw6RydmkuCgoyMDExLTA2LTA0IDE4OjQzOjQ1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvZDNkdmlkZW9zaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHguaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMC9keDEwLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTAvZHgxMC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDEwL2R4MTBfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTAvZHgxMF9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMS9keDExLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMS5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDExL2R4MTFfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMV9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OS5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDkvZHg5Lmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDlfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDlfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9keC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZHguaDoKCSAgZDNkdmlkZW9zaW5rOiBBZGQgcGx1Z2luCgkgIEZpeGVzICM2NTE3ODIuICBQYXRjaCBmcm9tIHZhcmlvdXMgYXV0aG9ycywgYnkgd2F5IG9mIG9zc2J1aWxkLgoKMjAxMS0wNi0wNCAxNDowNDo0NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkgIFdvcmsgYXJvdW5kIGNoYW5nZXMgaW4gZ19hdG9taWMgQVBJCgkgIFNlZSAjNjUxNTE0IGZvciBkZXRhaWxzLgoKMjAxMS0wNi0wNCAxMzo1MToyMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZnJhbWUuYzoKCSAgdmRwYXU6IHJlbW92ZSBvbGQgZ2xpYiBjb21wYXRpYmlsaXR5IGNvZGUKCjIwMTEtMDYtMDMgMTk6MzY6NTkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBzZXQgcGFyIHRvIDEvMQoKMjAxMS0wNi0wMyAxOTozNjoxMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBCZXR0ZXIgaGFuZGxpbmcgb2YgaW52YWxpZCBwYXIKCjIwMTEtMDUtMzAgMTc6MDM6MTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2ZpbHRlcjIuYzoKCSAgdmlkZW9maWx0ZXIyOiBGaXggY29weXJpZ2h0CgoyMDExLTA2LTA0IDIwOjM1OjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBnc3Q6IHNvbWUgbW9yZSB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSB3YXJuaW5nIGZpeGVzCgoyMDExLTA1LTMwIDE3OjU0OjI2ICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBleHQvY29nL2dzdGNvZ2Rvd25zYW1wbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJKiBleHQvY29nL2dzdGNvbG9yY29udmVydC5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSogZ3N0L3BhdGNoZGV0ZWN0L2dzdHBhdGNoZGV0ZWN0LmM6CgkqIGdzdC9zZGkvZ3N0c2RpZGVtdXguYzoKCSogZ3N0L3NkaS9nc3RzZGltdXguYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3RzY2VuZWNoYW5nZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyMi5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzcmMuYzoKCSAgUmVtb3ZlIHVudXNlZCBidXQgc2V0IHZhcmlhYmxlcwoJICBUaGlzIGlzIG5lZWRlZCB0byBzYXRpc2Z5IHRoZSBuZXcgLVd1bnVzZWQtYnV0LXNldC12YXJpYWJsZSBhZGRlZCBpbgoJICBHQ0MgNC42OiBodHRwOi8vZ2NjLmdudS5vcmcvZ2NjLTQuNi9jaGFuZ2VzLmh0bWwKCjIwMTEtMDUtMDkgMTQ6MzU6NDIgLTAzMDAgIEx1Y2lhbmEgRnVqaWkgUG9udGVsbG8gPGx1Y2lhbmEuZnVqaWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIGNhbWVyYWJpbjI6IEFkZGluZyBhIGZpbHRlciB0byB3cmFwcGVyY2FtZXJhYmluc3JjCgkgIENhbWVyYWJpbjIgYWxsb3dzIHNldHRpbmcgYSBmaWx0ZXIgZm9yIGltYWdlLCB2aWRlbyBvciB2aWV3ZmluZGVyLCBidXQKCSAgbm90IG9uZSBmaWx0ZXIgZm9yIGFsbCB0aHJlZSBhdCB0aGUgc2FtZSB0aW1lLiBJIGFkZGVkIGEgZmlsdGVyIHRvCgkgIHdyYXBwZXJjYW1lcmFiaW5zcmMgdG8gYWxsb3cgc2V0dGluZyBhIGdsb2JhbCBmaWx0ZXIgd2hlbiB1c2luZyB0aGlzCgkgIHNvdXJjZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0OTgyMgoKMjAxMS0wNS0yNiAwMDowOToyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiByZW1vdmUgdW51c2VkIHZhcgoKMjAxMS0wNS0yNSAyMzoyOToyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgY2FtZXJhYmluMjogVXNlIGZ1bGwgbmFtZXMgaW4gcHJvcGVydGllcwoJICBJbXByb3ZlIEFQSSBieSB1c2luZyBzb3VyY2UgaW5zdGVhZCBvZiBzcmMgaW4gcHJvcGVydGllcwoKMjAxMS0wNS0yMyAxMzozNjoyNyArMDMwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBkbyBub3QgdW5yZWYgcGFkIHRlbXBsYXRlCgoyMDExLTA1LTI5IDEzOjE2OjIxICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBmaXggYXZjIGNoZWNrIHNvIHRoYXQgaXQgdHJpZXMgdG8gbGluayB0byBBVkNWaWRlb1NlcnZpY2VzCgkgIEF2b2lkcyBhdmMgcGx1Z2luIGZyb20gYmVpbmcgYnVpbHQgd2hlbiBBVkNWaWRlb1NlcnZpY2VzIGlzIG5vdCBpbnN0YWxsZWQKCjIwMTEtMDUtMjYgMTI6MjM6MDEgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjogQWRkIC0taW1hZ2UtZm9ybWF0dGVyIGNvbW1hbmQtbGluZSBvcHRpb24KCSAgQWRkIGNvbW1hbmQtbGluZSBvcHRpb24gdG8gZ3N0LWNhbWVyYWJpbi10ZXN0IGZvciBjb25maWd1cmluZyBjYW1lcmFiaW4KCSAgbWV0YWRhdGEgZm9ybWF0dGVyIGVsZW1lbnQuCgoyMDExLTA1LTMxIDEzOjA4OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWMuYzoKCSAgZmFhYzogRml4IHVuaXQgdGVzdCBhZnRlciBsYXRlc3QgZmFhYyBjaGFuZ2VzCgoyMDExLTA1LTMxIDEyOjU1OjQ1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEZpeCBzY2FubmluZyBvbiBzbWFsbCBmaWxlcwoJICBXZSB3ZXJlIHByZXZpb3VzbHk6CgkgICogU3RvcHBpbmcgZWFybHkgaW4gdGhlIGluaXRpYWwgUENSIHNjYW4KCSAgKiBHaXZpbmcgYSBuZWdhdGl2ZSBvZmZzZXQgZm9yIHRoZSBzZWNvbmQgUENSIHNjYW4KCjIwMTEtMDUtMzEgMTI6NTQ6NDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogRG9uJ3QgY2FsbCBwcm9ncmFtX3N0b3BwZWQgd2l0aCBhIE5VTEwgcHJvZ3JhbQoKMjAxMS0wNS0xOSAxMjo1NTozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBsZWdhY3loMjY0cGFyc2U6IERlbGF5IHB1c2hpbmcgYnVmZmVycyB1bnRpbCB3ZSBoYXZlIHdpZHRoL2hlaWdodAoKMjAxMS0wNS0yNyAxMToxMzowOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJICB6YmFyOiByZW1vdmUgdGVtcGxhdGUgc3RhbXAgY29tbWVudAoKMjAxMS0wNS0zMCAyMzo0MzozOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuaDoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLm9yYzoKCSAgYmF5ZXIycmdiOiBDb252ZXJ0IHRvIE9yYwoJICBTZXJpb3VzbHkgZmFzdGVyLiAgQWxnb3JpdGhtIGlzIG5lYXJseSB0aGUgc2FtZSBhcyBiaWxpbmVhciwgd2hpY2gKCSAgZ2l2ZW4gdGhlIHNwZWVkIG9mIHRoaXMgY29kZSwgc2hvdWxkIGJlIGNvbnNpZGVyZWQgdGhlIGJhc2VsaW5lIG9mCgkgIHF1YWxpdHkuICBTcGVlZCBhcHBlYXJzIHRvIGJlIGxpbWl0ZWQgYnkgbWVtb3J5IGJhbmR3aWR0aCwgc28gSQoJICBkaWRuJ3QgYm90aGVyIHRyeWluZyB0byBtYWtlIGl0IGFueSBmYXN0ZXIuCgoyMDExLTA1LTMwIDE2OjU2OjMzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgYmF5ZXIycmdiOiBSZXdyaXRlIHNpZ25hbCBwcm9jZXNzaW5nLiBNdWNoIGZhc3Rlci4KCjIwMTEtMDUtMzAgMTc6NTQ6MjYgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIFJlbW92ZSB1bnVzZWQgYnV0IHNldCB2YXJpYWJsZXMKCSAgVGhpcyBpcyBuZWVkZWQgdG8gc2F0aXNmeSB0aGUgbmV3IC1XdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgYWRkZWQgaW4KCSAgR0NDIDQuNjogaHR0cDovL2djYy5nbnUub3JnL2djYy00LjYvY2hhbmdlcy5odG1sCgoyMDExLTA1LTMwIDEzOjAxOjU0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgUmV2ZXJ0ICJkdmRzcHU6IEZpeCBwYWQgdGVtcGxhdGVzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDczMjgyOGUzMWNiYWNlNTllNmNlNGYyNjJiODMzOWU0M2VkMGM2MzEuCgkgIEl0IHdhcyBpbiBmYWN0IGFuIGlzc3VlIGluIGNvcmUKCjIwMTEtMDUtMzAgMTM6MDE6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBQcm90ZWN0IGFnYWluc3QgcHJvZ3JhbSBiZWluZyByZW1vdmVkCgoyMDExLTA1LTMwIDEyOjI3OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mYWNlb3ZlcmxheS9NYWtlZmlsZS5hbToKCSAgZmFjZW92ZXJsYXk6IEFkZCBnc3QtcGx1Z2lucy1iYXNlIENGTEFHUyBhbmQgTElCUyB0byBmaXggY29tcGlsYXRpb24KCjIwMTEtMDUtMzAgMTI6MjQ6MzEgKzAyMDAgIExhdXJhIEx1Y2FzIEFsZGF5IDxsYXVyYWx1Y2FzQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ZhY2VvdmVybGF5L01ha2VmaWxlLmFtOgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5Lmg6CgkgIGZhY2VvdmVybGF5OiBBZGQgZWxlbWVudCB0aGF0IGRpc3BsYXlzIGFuIFNWRyBpbWFnZSBvdmVyIGEgZGV0ZWN0ZWQgZmFjZQoJICBGaXhlcyBidWcgIzY0Mjc1OS4KCjIwMTEtMDUtMzAgMDg6NDg6MjkgKzAyMDAgIFRvbSBEZXNleW4gPHRvbS5kZXNleW5AYmFyY28uY29tPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICBkZmJ2aWRlb3Npbms6IEFsc28gY29uc2lkZXIgbm9uLWFjY2VsZXJhdGVkIERpcmVjdEZCIHN1cmZhY2VzCgkgIEZpeGVzIGJ1ZyAjNjMxMzkwLgoKMjAxMC0wOS0wMiAyMzozMToyMyArMDMwMCAgTWFydGluIFN0b3Jzam8gPG1hcnRpbkBtYXJ0aW4uc3Q+CgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSAgcXR3cmFwcGVyOiBEZWNvZGUgYXVkaW8gdW50aWwgYWxsIGlucHV0IGRhdGEgaXMgY29uc3VtZWQKCSAgVGhlIHNwZWNpYWwgcmV0dXJuIHZhbHVlIGlzIHJldHVybmVkIGZyb20gb3VyIGJ1ZmZlciBjYWxsYmFjawoJICB3aGVuIGFsbCBpbnB1dCBkYXRhIGhhcyBiZWVuIGNvbnN1bWVkLgoKMjAxMS0wNS0wMyAxNDoxNDoyMCArMDMwMCAgTWFydGluIFN0b3Jzam8gPG1hcnRpbkBtYXJ0aW4uc3Q+CgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSAgcXR3cmFwcGVyOiBSZXBsYWNlIHRoZSBoYWNraXNoIDQyIG1hZ2ljIG51bWJlciB3aXRoIGEgZGVmaW5lCgoyMDExLTA1LTMwIDA4OjQzOjU5ICswMjAwICBKdWxpZW4gTU9VVFRFIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5oOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuaDoKCSAgZHNob3dkZWN3cmFwcGVyOiBGaXggQ09NIGluaXRpYWxpemF0aW9uCgkgIEZpeGVzIGJ1ZyAjNjI1MTkwLgoKMjAxMS0wNS0zMCAwODo0Mzo0MCArMDIwMCAgSnVsaWVuIE1PVVRURSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dXRpbC5oOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJICBkc2hvd2RlY3dyYXBwZXI6IEZpeCBlbGVtZW50IHJlZ2lzdHJhdGlvbiB1c2luZyBkYXRhIGluIHRoZSB0eXBlIGluc3RlYWQgb2YgYSBnbG9iYWwKCjIwMTEtMDUtMjkgMTg6MTY6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IEZpeCBwYWQgdGVtcGxhdGVzCgkgIE91ciBjYXBzIGludGVyc2VjdGlvbiBjb2RlIGlzIGEgYml0IHRvbyB0b3VjaHkgYWJvdXQgd2hhdCBhbiBlbGVtZW50CgkgIHJldHVybnMgY29tcGFyZWQgdG8gaXRzIHBhZCB0ZW1wbGF0ZXMuCgoyMDExLTA1LTI5IDEzOjA1OjMxICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogY2hlY2sgZm9yIG91dCBvZiByYW5nZSBwcHNfaWQgb25lIGxheWVyIHVwCgoyMDExLTA1LTI5IDEzOjAzOjM4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBmaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTEtMDUtMjkgMTI6NTQ6NDAgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgbGVnYWN5aDI2NHBhcnNlOiBjaGVjayBmb3Igb3V0IG9mIHJhbmdlIHBwc19pZCBvbmUgbGF5ZXIgdXAKCSAgRml4ZXMgY29tcGlsZXIgd2FybmluZyBjb21wYXJpbmcgZ3VpbnQ4IGFuZCBNQVhfUFBTX0NPVU5UIHdoaWNoIGlzID4gR19NQVhVSU5UOAoKMjAxMS0wNS0yNyAxMTowNTo0NiArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSAgRml4IG1pc3NpbmcgaGVhZGVyIGZpbGUgYW5kIHVwZGF0ZSBzcGVjIHRvIHdvcmsgYXJvdW5kIGN1cnJlbnQgY29tcGlsZXIgaXNzdWVzCgoyMDExLTA1LTI3IDEwOjQ0OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL01ha2VmaWxlLmFtOgoJICBmYWFjOiBmaXggQ0ZMQUdTIGFuZCBMSUJTIG9yZGVyIGluIE1ha2VmaWxlLmFtCgoyMDExLTA1LTI3IDEwOjQ0OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogU2V0IHRoZSBjb3JyZWN0LCB2YWxpZCBzYW1wbGUgcmF0ZXMgaW4gdGhlIHBhZCB0ZW1wbGF0ZSBjYXBzCgoyMDExLTA1LTI3IDEwOjQxOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogTWFrZSBzdXJlIHRvIGFsc28gcmV0dXJuIG9ubHkgYSBzdWJzZXQgb2YgdGhlIHBhZCB0ZW1wbGF0ZSBjYXBzIGluIGdldGNhcHMKCjIwMTEtMDUtMjcgMTA6MzU6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBTZXQgdGhlIGNvcnJlY3QsIHZhbGlkIHNhbXBsZSByYXRlcyBpbiB0aGUgcGFkIHRlbXBsYXRlIGNhcHMKCjIwMTEtMDUtMjcgMTA6MzI6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBUaGUgZW5jb2RlciBsaWJyYXJ5IGN1cnJlbnRseSBvbmx5IHN1cHBvcnRzIDEgb3IgMiBjaGFubmVscwoKMjAxMS0wNS0yNyAxMDozMTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogQWRkIHByb2ZpbGUgYW5kIGxldmVsIHRvIHRoZSBjYXBzCgkgIEZpeGVzIGJ1ZyAjNjUwNTk1LgoKMjAxMS0wNS0yNyAxMDoxMTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkgIGZhYWM6IEFkZCB0aGUgcHJvZmlsZSBhbmQgbGV2ZWwgdG8gdGhlIGNhcHMKCSAgQWxzbyBuZWdvdGlhdGUgdGhlIHByb2ZpbGUgZnJvbSB0aGUgZG93bnN0cmVhbSBwZWVyIGNhcHMKCSAgaW5zdGVhZCBvZiB1c2luZyBhIHByb3BlcnR5LgoJICBGaXhlcyBidWcgIzY1MDU5NC4KCjIwMTEtMDUtMjcgMDk6NDA6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBVc2UgUFJPUF8gaW5zdGVhZCBvZiBBUkdfIGZvciB0aGUgcHJvcGVydHkgZW51bXMKCjIwMTEtMDUtMjYgMDk6NTk6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWdzcHkuYzoKCSAgZGVidWdzcHk6IFVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTCgoyMDExLTAxLTE0IDE3OjQyOjUwICswMTAwICBHdWlsbGF1bWUgRW1vbnQgPGdlbW9udEBpZ2FsaWEuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHNiYWQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWdzcHkuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWdzcHkuaDoKCSAgZGVidWdzcHk6IGFkZCBuZXcgZWxlbWVudAoJICBUaGlzIGVsZW1lbnQgYWxsb3dzIHlvdSB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgYnVmZmVycyB3aXRoIGJ1cyBtZXNzYWdlcy4gSXQKCSAgcHJvdmlkZXMgdGhlIHNhbWUga2luZCBvZiBpbmZvcm1hdGlvbiBhcyBpZGVudGl0eSBkb2VzIHRocm91Z2ggYSBub3RpZnkgc2lnbmFsCgkgIG9uIGEgc3RyaW5nIHByb3BlcnR5LCBidXQgaW4gYSBtb3JlIHByb2dyYW1tZXItZnJpZW5kbHkgd2F5LgoKMjAxMS0wNS0yNiAwOTo0Njo1OCArMDIwMCAgR2FicmllbCBTdHJpbXR1IDxnYWJyaWVsc3RyaW10dUB5YWhvby5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBGaXggcGFyc2luZyBvZiBQU0kgdGFibGUgSURzCgkgIEZpeGVzIGJ1ZyAjNjM1OTE3LgoKMjAxMS0wNS0yNiAwOToyMjozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJICBkYzEzOTRzcmM6IEltcGxlbWVudCBMQVRFTkNZIHF1ZXJ5CgkgIEJhc2VkIG9uIHRoZSBMQVRFTkNZIHF1ZXJ5IGNvZGUgaW4gdjRsMnNyYyBhbmQgdGhlIHBhdGNoCgkgIGJ5IFRyaXN0YW4gTWF0dGhld3MuIEZpeGVzIGJ1ZyAjNjI1NTIwLgoKMjAxMS0wNS0yNSAyMzoxNDoyNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBibGFja2xpc3QgbW9yZSBzeXMgZWxlbWVudHMgZnJvbSB0aGUgc3RhdGUgdGVzdHMKCSAgQWxzbyB3cmFwIHRoZSBsaXN0IG9mIGJsYWNrbGlzdGVkIGVsZW1lbnRzIGFuZCB0cmltIHNvbWUgd2hpdGVzcGFjZS4KCjIwMTEtMDUtMjUgMjM6MTM6MTcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2MjogZW5zdXJlIHVuaXFlIHByb3BlcnR5IG5hbWVzCgkgIENvcHkgYW5kIGFkanVzdCB0aGUgY29kZSBmcm9tIGxhZHNwYSBwbHVnaW4gdG8gZW5zdXJlIHVuaXF1ZSBnb2JqZWN0IHByb3BlcnR5CgkgIG5hbWVzLgoKMjAxMS0wNS0yNSAyMDo1MjowOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2M3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjRwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnNHZpZGVvcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdGVzdHM6IGFkZCB1bml0IHRlc3RzIGZvciBhIG51bWJlciBvZiB2aWRlbyBwYXJzZXJzCgoyMDExLTA1LTI1IDIwOjQ5OjA1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJICB0ZXN0czogYWRkaXRpb25hbCBvZmZzZXQgdHJhY2tpbmcgaW4gcGFyc2VyIHRlc3QgaGVscGVyCgoyMDExLTA1LTI1IDIwOjQ4OjM4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuaDoKCSAgdGVzdHM6IGFkZGl0aW9uYWwgcGFyYW1ldGVyaXphdGlvbiBmb3IgcGFyc2VyIHRlc3QgaGVscGVyCgkgIEFsbG93IGNvbnRleHQgY2FsbGJhY2tzIHRvIHBlcmZvcm0gY3VzdG9tIGJ1ZmZlciB2ZXJpZmljYXRpb24KCSAgYW5kIGN1c3RvbSBlbGVtZW50IHNldHVwLiAgQWxzbyBtb3ZlIHNvbWUgc3RhdGljIHRyYWNraW5nIHZhcmlhYmxlcwoJICBpbnRvIGhlbHBlciBzdHJ1Y3QgYW5kIGV4cG9zZSB0aGUgbGF0dGVyIHN0cnVjdCBmb3IgdXNlIGJ5IHVuaXQgdGVzdAoJICAoY2FsbGJhY2tzKS4KCjIwMTEtMDUtMjUgMTU6MjY6MDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBwbHVnIHNvbWUgbW9yZSBidWZmZXIgbGVha3MKCjIwMTEtMDUtMjUgMTM6NTM6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBjb21wZW5zYXRlIGZvciBza2lwcGVkIGJ5dGVzIGluIHBhcnNpbmcgc3RhdGUgb2Zmc2V0cwoKMjAxMS0wNS0yNSAxMzo1MzoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCBjbGVhcmluZyBhZGFwdGVyIGZvcm1pbmcgYXZjIG91dHB1dCBmcmFtZQoJICAuLi4gd2hpY2ggbmVlZHMgdG8gYmUgcmVzZXQgdXBvbiBhIG5ldyBmcmFtZSBhbmQgb3RoZXJ3aXNlIChvbmx5KQoJICBmb3IgYXZjIGlucHV0IGluIHBhc3N0aHJvdWdoIG1vZGUgKHJhdGhlciB0aGFuIG9uIGV2ZXJ5IGNoYWluIGNhbGwpLgoKMjAxMS0wNS0yNSAxMTo1MDowNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IGhhbmRsZSBhbGwgdmFsaWQgcHBzX2lkCgkgIC4uLiB3aGljaCBhcmUgaW4gcmFuZ2UgMC0yNTUuCgoyMDExLTA1LTE1IDEzOjIzOjM5ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYWxsb3cgZnVsbCBuZWdvdGlhdGlvbiBmb3IgcGFja2V0aXplZCBpbnB1dAoJICAuLi4gYnkgZGVmYXVsdGluZyB0byBhbGxvdyBzcGxpdHRpbmcgcGFja2V0aXplZCBpbnB1dCBhbmQgaGF2aW5nCgkgIG5lZ290aWF0aW9uIHdpdGggZG93bnN0cmVhbSBkZWNpZGluZyB3aGV0aGVyIG9yIG5vdCB0aGlzIGFwcGxpZXMuCgkgIEFsc28gZW5hYmxlIHBhc3MtdGhyb3VnaCBwYXJzaW5nIG1vZGUgaWYgaW5wdXQgYW5kIG91dHB1dCBmb3JtYXQKCSAgKHN0cmVhbS1mb3JtYXQgYW5kIGFsaWdubWVudCkgbWF0Y2guCgkgIEFQSTogR3N0SDI2NFBhcnNlOnNwbGl0LXBhY2tldGl6ZWQgKHJlbW92ZWQpCgkgIEZpeGVzICM2NTAyMjguCgoyMDExLTA1LTI0IDIxOjUwOjUyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogYWxzbyBleHRyYWN0IHdpZHRoIGFuZCBoZWlnaHQgaW50byBjYXBzCgoyMDExLTA0LTIxIDIyOjQyOjQ1ICswMjAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IHVuaXQgdGVzdCBmb3IgQVBQMS9leGlmICYgY29tbWVudCBwYXJzaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDg0NzgKCjIwMTEtMDUtMjUgMTQ6NDI6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvZGVyLmNjOgoJICBtcGVnMmVuYzogZml4IGJ1aWxkIHdpdGggMS45LjAgcmVsZWFzZSBhZ2FpbiBhZnRlciByZWNlbnQgZml4ZXMgZm9yIG1qcGVndG9vbHMgMi4wLjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDk3MAoKMjAxMS0wNS0yNSAxNToxMDoxOSArMDIwMCAgQW5kcmVhcyBGcmlzY2ggPGZyYXhpbmFzQG9wZW5kcmVhbWJveC5vcmc+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCBwb2ludGVyIG91dHB1dCBpbiBzdHJlYW0tbm90LWFzc29jaWF0ZWQgZGVidWcgb3V0cHV0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTEwNTAKCjIwMTEtMDUtMjQgMTU6NDI6NDQgKzAyMDAgIEfDtnR6IFdhc2NoayA8d2FzY2hrQG1hbmRyaXZhLm9yZz4KCgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29kZXIuY2M6CgkgIG1wZWcyZW5jOiBzdXBwb3J0IG1qcGVndG9vbHMgMi4wCgkgIFRoaXMgYWRkcyBjb25kaXRpb25hbCBpbmNsdWRlcyBmb3IgdGhlIHJlbmFtZWQgaGVhZGVycyBpbiBtanBlZ3Rvb2xzIDIuMC4KCSAgRml4ZXM6ICM2NTA5NzAuCgoyMDExLTA1LTIzIDE3OjI5OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSAgeHZpZGRlYzogQWRkIHZpZGVvL21wZWcsbXBlZ3ZlcnNpb249NCB0byB0aGUgY2FwcwoJICBGaXhlcyBidWcgIzYwOTYzOS4KCjIwMTEtMDUtMjAgMTc6MDY6NDkgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEFkZCBpbWFnZS1mb3JtYXR0ZXIgcHJvcGVydHkKCSAgQWRkIGltYWdlLWZvcm1hdHRlciBwcm9wZXJ0eSBpbiBvcmRlciB0byBsZXQgYXBwbGljYXRpb24gY29uZmlndXJlCgkgIHRoZSBmb3JtYXR0ZXIgZWxlbWVudCBmb3IgbWV0YWRhdGEuCgoyMDExLTA1LTIzIDEzOjU0OjM1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzRwYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGFkZGl0aW9uYWwgZGVidWcgdHJhY2luZwoKMjAxMS0wNS0yMyAxMjowNjowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9tcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL21wZWd2aWRlb3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkgIHZpZGVvcGFyc2VyczogYWRkIG5ldyBtcGVndmlkZW9wYXJzZQoKMjAxMS0wNS0yMyAxMjowMjowMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IHJlbmFtZSB0byBsZWdhY3ltcGVndmlkZW9wYXJzZQoKMjAxMS0wNS0xOCAwOTo0Nzo0MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGF2b2lkIHN0YWxlIHBhcnNpbmcgc3RhdGUKCjIwMTEtMDUtMTcgMjI6NDI6NDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiBzaW1wbGlmeSBtaW5pbXVtIGZyYW1lIHNpemUgaGFuZGxpbmcKCjIwMTEtMDUtMTcgMjI6NDI6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBzaW1wbGlmeSBtaW5pbXVtIGZyYW1lIHNpemUgaGFuZGxpbmcKCjIwMTEtMDUtMTcgMjI6Mzk6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBzaW1wbGlmeSBtaW5pbXVtIGZyYW1lIHNpemUgaGFuZGxpbmcKCjIwMTEtMDUtMTcgMjI6MTg6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBhdm9pZCBzdGFsZSBwYXJzaW5nIHN0YXRlCgoyMDExLTA1LTEyIDEyOjA3OjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzRwYXJzZS5jOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0cGFyc2UuaDoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuaDoKCSAgbXBlZzR2aWRlb3BhcnNlOiBwb3J0IHRvIGJhc2VwYXJzZQoKMjAxMS0wNS0yMyAxNTowMzoxOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogYnVtcCAtY29yZS8tYmFzZSByZXF1aXJlbWVudCB0byAwLjEwLjM0LjEKCSAgLi4uIHNpbmNlIGxhdGVzdCBiYXNlcGFyc2UgQVBJIGlzIHJlcXVpcmVkIGZvciB2aWRlb3BhcnNlcnMuCgoyMDExLTA1LTIzIDE0OjQxOjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZ3JhY2VmdWxseSBoYW5kbGUgdHJ1bmNhdGVkIGlucHV0IE5BTCB1bml0cwoJICBSYXRoZXIgdGhhbiBhc3NlcnQnaW5nIGluIHN1Y2ggY2FzZSwgZW1pdCB3YXJuaW5nIGlmIHRoZSBsZW5ndGggb2YgYSBOQUwgdW5pdAoJICBpcyBsZXNzIHRoYW4gZXhwZWN0ZWQgMiBhbmQgZGlzY2FyZCBpdC4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgQmVuamFtaW4gTS4gU2Nod2FydHogPGJlbnNAYWx1bS5taXQuZWR1PgoJICBGaXhlcyAjNjUwNDE2LgoKMjAxMS0wNS0yMyAxNjo0NzozMSArMDIwMCAgVmluY2VudCBHw6luaWV1eCA8dmdlbmlldXhAZnJlZS5mcj4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGR2YnNyYzogQWRkIHRpbWVvdXQgcHJvcGVydHkgYW5kIHVzZSBHc3RQb2xsIGluc3RlYWQgb2YgcG9sbAoJICBUaGlzIGFsbG93cyB0byB1c2UgbXVjaCBoaWdoZXIgdGltZW91dCB2YWx1ZXMgYmVjYXVzZSBHc3RQb2xsCgkgIGlzIGludGVycnVwdGlibGUgYW5kIGtlZXBzIHRoZSBudW1iZXIgb2Ygd2FrZXVwcyBkdXJpbmcgc2lnbmFsCgkgIGxvc3MgbG93ZXIuCgkgIEZpeGVzIGJ1ZyAjNjA4MTcxLgoKMjAxMS0wNS0yMyAxNDo1ODowOCArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuYWwvTWFrZWZpbGUuYW06CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBmaXggYnVpbGQgb2Ygb3BlbmFsIHBsdWdpbiBmcm9tIGRpc3RlZCB0YXJiYWxsCgoyMDExLTA1LTIzIDE1OjMyOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuaDoKCSogZXh0L3RlbGV0ZXh0ZGVjL3RlbGV0ZXh0LmM6CgkgIHRlbGV0ZXh0ZGVjOiBNaW5vciBjbGVhbnVwIGFuZCBpbmRlbnRpb24gZml4ZXMKCjIwMTEtMDUtMjMgMTU6MjA6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkgIHRlbGV0ZXh0ZGVjOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMS0wNS0yMyAxNToxNDowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSAgdGVsZXRleHRkZWM6IEZpeCBidWZmZXIgZGF0YSBsZWFrCgoyMDEwLTA5LTEwIDE0OjM0OjQyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmg6CgkgIHRlbGV0ZXh0ZGVjOiBBZGQgc3VwcG9ydCBmb3IgcGFuZ28KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxOTczOQoKMjAxMC0wNi0xMCAxMjo0NDoyNyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5oOgoJICB0ZWxldGV4dGRlYzogYWRkIGEgbmV3IG1ldGhvZCB0byBjb252ZXJ0IGEgcGFnZSBpbiBhIGxpc3Qgb2Ygc3RyaW5ncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE5NzM5CgoyMDEwLTA5LTA5IDE2OjQxOjMyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSAgdGVsZXRleHRkZWM6IGFkZCBzb21lIGRhdGEgaW4gdGhlIHByZXJvbGwgYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTk3MzkKCjIwMTAtMDYtMTAgMTM6NTU6MzAgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJICB0ZWxldGV4dGRlYzogZml4IGRlYWRsb2NrIG9uIGEgc3RyZWFtIGVycm9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTk3MzkKCjIwMTAtMDYtMTAgMTI6NDI6NDIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJICB0ZWxldGV4dGRlYzogZG9uJ3QgdHJ5IHRvIHB1c2ggYW4gZXZlbnQgb24gYSBwYWQgdGhhdCByZXR1cm5lZCBhbiBlcnJvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE5NzM5CgoyMDEwLTA5LTEzIDExOjU5OjE4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3RlbGV0ZXh0ZGVjL01ha2VmaWxlLmFtOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmg6CgkqIGV4dC90ZWxldGV4dGRlYy90ZWxldGV4dC5jOgoJICB0ZWxldGV4dGRlYzogTmV3IHRlbGV0ZXh0IGRlY29kZXIgcGx1Z2luIGJhc2VkIGluIHp2YmkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxOTczOQoKMjAxMS0wNS0yMyAxNDoxNDowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmFsL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbC5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNyYy5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNyYy5oOgoJICBvcGVuYWw6IEFkZCBuZXcgb3BlbmFsc3JjIGVsZW1lbnQKCSAgQmFzZWQgb24gcGF0Y2hlcyBieSBWaWN0b3IgTGluIDxib3Juc3R1YkBnbWFpbC5jb20+CgkgIEZpeGVzIGJ1ZyAjNTUwMjMwLgoKMjAxMS0wNS0yMyAxMzo0MTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5hbC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5hbC9nc3RvcGVuYWwuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzaW5rLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc2luay5oOgoJICBvcGVuYWw6IEFkZCBuZXcgT3BlbkFMIHNpbmsgZWxlbWVudAoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5IENocmlzIFJvYmluc29uIDxjaHJpcy5rY2F0QGdtYWlsLmNvbT4KCSAgRml4ZXMgYnVnICM2MTU2MTUuCgoyMDExLTA1LTIwIDE1OjI1OjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRG8gbm90IHNlZ2ZhdWx0IG9uIG51bGwgbG9jYXRpb25zCgkgIFByZXZlbnQgY2FwdHVyZSBmcm9tIHN0YXJ0aW5nIHdoZW4gc2F2aW5nIGxvY2F0aW9uIGlzIHNldCB0bwoJICBOVUxMCgoyMDExLTA1LTIwIDEzOjA0OjU0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uaW5mby5jOgoJICBjYW1hcHBsaWNhdGlvbmluZm86IGZpeCBwb3NzaWJsZSBhcnJheSBvdmVycnVuCgoyMDExLTA1LTIwIDA5OjU4OjUwICswMjAwICBSYWZhZWwgRGluaXogPHJhZmFlbEByaXNldXAubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWdbcHRdc2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgQUFDIExBVE0vTE9BUyBzdHJlYW1zCgkgIEZpeGVzIGJ1ZyAjNjE1NjgxLgoKMjAxMS0wNS0xOSAwODowNToxNCArMDIwMCAgVy4gTWljaGFlbCBQZXR1bGxvIDxtaWtlQGZseW4ub3JnPgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhyYW9wLmM6CgkqIGV4dC9hcGV4c2luay9nc3RhcGV4cmFvcC5oOgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmg6CgkgIGFwZXhzaW5rOiBBZGQgc3VwcG9ydCBmb3IgZ2VuZXJhdGlvbiAyIEFpclR1bmVzIGhhcmR3YXJlCgkgIEZpeGVzIGJ1ZyAjNjQ5OTMxLgoKMjAxMS0wNS0yMCAwMDozNTo1NSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJICBteGYtZXhhbXBsZTogZml4IHRoZSB7IH0gc2NvcGUKCjIwMTEtMDUtMjAgMDA6MjA6MDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICBmZXN0aXZhbDogZG9uJ3QgbGVhayBmZCBvbiBlcnJvcgoKMjAxMS0wNS0yMCAwMDoxNjowMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xpYnJmYi92bmNhdXRoLmM6CgkgIGxpYnJmYjogZG9uJ3QgbGVhayBwYXNzd29yZCBvbiBlcnJvcgoKMjAxMS0wNS0xOSAyMzo1NzozOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBkb2NzOiByZW1vdmUgb2Jzb2xldGUgY29tbWVudGVkIG91dCBwYXJ0CgkgIFdlIGRvbid0IGhhdmUgdGhpcyBpbiB0aGUgb3RoZXIgbW9kdWxlcyBhbmQgaXRzIG5vdCBuZWVkZWQuCgoyMDExLTA1LTE5IDIzOjUwOjQ3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICBkb2NzOiB1cGRhdGUgcGx1Z2luIGludHJvc3BlY3Rpb24gZGF0YQoJICBOb3cgbW9yZSBmaWxlcyBhcmUgbWVyZ2VkIGFuZCBwcm9kdWNlZCBpbiBhIGNhbm9uaWNhbCBmYXNoaW9uLCB3aGljaCBob3BlZnVsbHkKCSAgY3JlYXRlcyBsZXNzIG9yIG5vIGRlbHRhIGluIHRoZSBmdXR1cmUuCgoyMDExLTA1LTE5IDIyOjU4OjEwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDllNWJiZDUgdG8gNjliOTgxZgoKMjAxMS0wNS0xOSAxNDo1ODoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgY2FtZXJhYmluMjogZXhhbXBsZXM6IEFkZCB2aWRlby1kZXZpY2UgYXJndW1lbnQKCSAgQWRkcyBhbiBhcmd1bWVudCB0byBzZWxlY3Qgd2hpY2ggdmlkZW8gZGV2aWNlIHNob3VsZCBiZSB1c2VkCgkgIG9uIHRoZSB2aWRlbyBzb3VyY2UgZWxlbWVudCBpbiBjYW1lcmFiaW4yCgoyMDExLTA1LTE5IDE0OjUyOjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBjYW1lcmFiaW4yOiBleGFtcGxlczogRml4IHR5cG8gZnJvbSBwcmV2aW91cyBjb21taXQKCSAgVGhlIHByb3BlcnR5IGlzIGF1ZGlvLXNyYyBhbmQgbm90IGF1ZGlvLXNvdXJjZQoKMjAxMS0wNS0xOSAxNDozMjowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgY2FtZXJhYmluMjogZXhhbXBsZXM6IEFkZCBhdWRpby1zb3VyY2UgcGFyYW1ldGVyIHRvIGdzdC1jYW1lcmFiaW4yLXRlc3QKCSAgQWRkcyBhbiBvcHRpb24gdG8gc2VsZWN0IHRoZSBhdWRpbyBzb3VyY2UgdG8gYmUgdXNlZCBvbiB2aWRlbwoJICByZWNvcmRpbmdzIG9uIGNhbWVyYWJpbjIgdGVzdCBhcHBsaWNhdGlvbgoKMjAxMS0wNS0xOSAxNDoyMzo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWRkIG1pc3NpbmcgWwoJICBBZGRzIG1pc3NpbmcgWyB0byBjb25maWd1cmUgb24gdGhlIENEQVVESU8gcGtnIGNvbmZpZyBjaGVjawoKMjAxMS0wNS0xOSAxODo0NToyNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6CgkgIGphc3BlcmVuYzogcmVtb3ZlIHVudXNlZCAnbWltZXR5cGUnIHZhcmlhYmxlCgkgIEFzIG1pbWV0eXBlIGlzIG5vdCB1c2VkLCB3ZSBkb24ndCBuZWVkIHRvIGZldGNoIGl0IGFuZCB0aGVyZWZvcmUgbmVpdGhlciBuZWVkCgkgIHRoZSBzdHJ1Y3R1cmUgcy4KCjIwMTEtMDUtMTkgMTU6MjY6MzggKzAxMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB0byBmaXQgd2l0aCBsYXRlc3QgdXBzdHJlYW0gc3BlYyBmaWxlcwoKMjAxMS0wNS0xOCAxNTo0NDowNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBNYWtlIGdjYyA0LjYgaGFwcHkKCSAgUmVtb3ZlIHdhcm5pbmdzIGR1ZSB0byBpbml0aWFsaXplZCBidXQgbmV2ZXIgdXNlZCB3YXJuaW5ncwoKMjAxMS0wNS0xOCAxMzozNTozNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IG1heCBwcHMgaXMgMjU1CgkgIEZpeGVzICM2NTA0ODQuCgoyMDExLTA1LTEyIDIyOjU0OjQ0ICswMzAwICBCcmlhbiBHaXRvbmdhIE1hcmV0ZSA8bWFyZXRlQHRvc2huaXguY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBDaGFuZ2UgY291bnRlcnMgdG8gNjQgYml0IHVuc2lnbmVkIGludGVnZXJzLgoKMjAxMS0wNS0xMCAxNjoxNDozMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogc3dpdGNoIGxpYmNkYXVkaW8gdG8gcGtnLWNvbmZpZwoKMjAxMS0wNC0yNCAxOToxMTozNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9hYWMuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfaDI2NC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhjb21tb24uaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJICBtcGVndHNtdXg6IHVzZSBnc3QgZGVidWcgZm9yIHRzbXV4IGxpYnJhcnkKCjIwMTEtMDQtMTkgMTU6MDQ6MDUgLTA0MDAgIFF1ZW50aW4gU21pdGggPHF1ZW50aW5AbWl0LmVkdT4KCgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSAgYXZjOiBhdmNzcmMgaXMgYWx3YXlzIGVuYWJsZWQKCjIwMTEtMDQtMTkgMTU6MDE6MTUgLTA0MDAgIFF1ZW50aW4gU21pdGggPHF1ZW50aW5AbWl0LmVkdT4KCgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSAgYXZjOiBJbmNsdWRlIDIwMCBidXMgY3ljbGVzIGluIGVhY2ggYnVmZmVyIChhYm91dCAzMDAgVFMgcGFja2V0cykKCjIwMTEtMDQtMTkgMTU6MDA6NTMgLTA0MDAgIFF1ZW50aW4gU21pdGggPHF1ZW50aW5AbWl0LmVkdT4KCgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSAgYXZjOiBFbWl0IGEgc2luZ2xlIGJ1ZmZlciBwZXIgY2FsbGJhY2sKCjIwMTEtMDQtMTkgMTM6NTM6NTQgLTA0MDAgIFF1ZW50aW4gU21pdGggPHF1ZW50aW5AbWl0LmVkdT4KCgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuaDoKCSAgYXZjOiBUcmFjayB0aGUgbnVtYmVyIG9mIGVucXVldWVkIGFuZCBkZXF1ZXVlZCBwYWNrZXRzCgoyMDExLTA0LTE5IDEzOjUzOjIzIC0wNDAwICBRdWVudGluIFNtaXRoIDxxdWVudGluQG1pdC5lZHU+CgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkgIGF2YzogRHVtcCB0aW1lc3RhbXAgaW5mb3JtYXRpb24KCjIwMTEtMDQtMTggMTU6Mzc6NTcgLTA0MDAgIFF1ZW50aW4gU21pdGggPHF1ZW50aW5AbWl0LmVkdT4KCgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuaDoKCSAgYXZjOiBTYXZlIEFWQyBvYmplY3RzIGluIHRoZSBHc3RBVkNTcmMgb2JqZWN0CgkgIGFuZCBzdG9wIHRoZW0gd2hlbiB0aGUgcGlwZWxpbmUgaXMgc3RvcHBlZAoKMjAxMS0wNC0xOCAxNToxNjowMCAtMDQwMCAgUXVlbnRpbiBTbWl0aCA8cXVlbnRpbkBtaXQuZWR1PgoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuY3BwOgoJICBhdmM6IEN5Y2xlIGFuZCBwYWNrZXQgYXJlIHVuc2lnbmVkCgoyMDExLTA0LTE4IDE1OjE1OjI4IC0wNDAwICBRdWVudGluIFNtaXRoIDxxdWVudGluQG1pdC5lZHU+CgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkgIGF2YzogYXZjc3JjIGlzIGEgbGl2ZSBzb3VyY2UKCjIwMTEtMDQtMTggMTU6MTQ6NTUgLTA0MDAgIFF1ZW50aW4gU21pdGggPHF1ZW50aW5AbWl0LmVkdT4KCgkqIHN5cy9hdmMvTWFrZWZpbGUuYW06CgkgIGF2YzogTG9vayBpbiBBVkNWaWRlb1NlcnZpY2VzIGZvciBoZWFkZXJzCgoyMDExLTA0LTE4IDEyOjI4OjUyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYXZjOiBhdHRlbXB0IG5ldyBjb25maWd1cmUKCjIwMTEtMDQtMTYgMTk6NDI6MDAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9hdmMvTWFrZWZpbGUuYW06CgkqIHN5cy9hdmMvZ3N0YXZjcGx1Z2luLmNwcDoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuY3BwOgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5oOgoJICBhdmM6IEFkZCBBVkMgVmlkZW8gU2VydmljZXMgcGx1Z2luIGZvciBPUy9YCgoyMDExLTA1LTE4IDE2OjEwOjQwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZkMzUwNzMgdG8gOWU1YmJkNQoKMjAxMS0wNS0xOCAxMzoyNzoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IE5hbWUgbWF4L21pbiBxdWFudGl6ZXIgcHJvcGVydGllcyB7bWF4LG1pbn0tcXVhbnRpemVyCgkgIEFsc28gaW1wcm92ZSBxdWFsaXR5IHByb3BlcnR5IGRlc2NyaXB0aW9uLgoKMjAxMS0wNS0xOCAxMzoyNjoyMyArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgdnA4ZW5jOiBBZGQgcHJvcGVydGllcyB0byBzZWxlY3QgYSBtYXhpbXVtIGFuZCBtaW5pbXVtIHF1YW50aXplcgoJICBGaXhlcyBidWcgIzY0MTQwNS4KCjIwMTEtMDUtMTggMTM6MTg6NTggKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRml4IHF1YWxpdHkgdG8gKGNvbnN0YW50KSBxdWFudGl6ZXIgbWFwcGluZwoJICBUaGlzIG5vdyBhbGxvd3MgdG8gc2VsZWN0IGFsbCBwb3NzaWJsZSBxdWFudGl6ZXJzIGJldHdlZW4KCSAgMCBhbmQgNjMuCgkgIFNlZSBidWcgIzY0MTQwNS4KCjIwMTEtMDUtMTggMTI6MjQ6NDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNDZkZmNlYSB0byBmZDM1MDczCgoyMDExLTA0LTI4IDE1OjU5OjM4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RmaXNoZXllLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkgIHZhcmlvdXM6IGZpeCBhdXRob3IgdGFnIGluIGVsZW1lbnQgZGV0YWlscwoKMjAxMS0wNC0yNyAxNjo1NjowOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYXVkaW9maWx0ZXI6CgkgIGVsZW1lbnQtdGVtcGxhdGVzOiBpbXByb3ZlIHRoZSBhdWRpb2ZpbHRlciB0ZW1wbGF0ZQoJICBBZGQgY29tbWVudHMuIEFkZCBzdGFydC9zdG9wIG1ldGhvZHMuIEFkZCAoY29tbWVudGVkKSBpbnN0YW5jZSBjYXN0cyBhdCB0aGUKCSAgYmVnaW4gb2YgdGhlIG1ldGhvZC4gTWFrZSB0cmFuc2Zvcm1faXAgcmV0dXJuaW5nIEZMT1dfT0sgYnkgZGVmYXVsdC4KCjIwMTEtMDQtMjcgMTY6NTE6NTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBpbXByb3ZlIHBsdWdpbl9pbml0KCkKCSAgUmV0dXJuIHRoZSByZXN1bHQgb2YgZ3N0X2VsZW1lbnRfcmVnaXN0ZXIoKS4gVXNlIHRoZSBUWVBFIG1hY3JvIGluc3RlYWQgb2YgdGhlCgkgIF9nZXRfdHlwZSgpIGZ1bmN0aW9uLgoKMjAxMS0wNS0xMiAxMTo1NzoxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCBzb21lIGJ1ZmZlciBsZWFrcwoJICBGaXhlcyAjNjUwMzIzLgoKMjAxMS0wNS0xMiAxMTo1Njo1MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeHVwIGJvaWxlcnBsYXRlIGFuZCBkZWJ1ZyBjb2RlIHN0eWxlCgoyMDExLTA1LTEzIDE3OjE4OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0cGx1Z2luLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWNhcHR1cmViaW4uYzoKCSAgY2FtZXJhYmluMjogUmVtb3ZlIG9ic29sZXRlIGltYWdlY2FwdHVyZWJpbgoJICBpbWFnZWNhcHR1cmViaW4gaGFzIGJlZW4gcmVwbGFjZWQgYnkgZW5jb2RlYmluLCBubyBuZWVkCgkgIGZvciBpdCBhbnltb3JlCgoyMDExLTA1LTEzIDE2OjI3OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogdXNlIGpwZWcgYXMgYSBjb250YWluZXIgdG8gZm9yY2UgamlmbXV4IHVzYWdlCgkgIEppZm11eCBzaG91bGQgYmUgdXNlZCBhcyBpdCBjYW4gZG8geG1wL2V4aWYgdGFnZ2luZywgc28gdGhpcyBwYXRjaAoJICBzZXRzIGpwZWcgYXMgYSBjb250YWluZXIgdG8gZm9yY2UgaXQgdG8gYmUgdXNlZCB0b2dldGhlciB3aXRoCgkgIGEganBlZyBlbmNvZGVyCgoyMDExLTA1LTEyIDExOjE3OjI4ICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBkbyBwcm9wZXIgRU9TIGhhbmRsaW5nIG9uIHNlbmRfZXZlbnQoZW9zKQoJICBXZSBmaXJzdCBsZXQgdGhlIGlubmVyIGNhbWVyYSBFT1MuIFRoZW4gd2UgbWFudWFsbHkgcG9zdCBFT1Mgb24gdGhlIGltYWdlIGFuZAoJICB2aWRlbyBzaW5rcyBpZiB0aG9zZSBhcmUgPD0gUkVBRFkgYW5kIHNvIGhhdmUgaWdub3JlZCBFT1MgZXZlbnRzLgoKMjAxMS0wNC0yOCAxNToxMTozNiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiB1c2UgZW5jb2RlYmluIHRvIGVuY29kZSBpbWFnZXMKCjIwMTEtMDUtMTMgMTU6MTY6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ2Zvcm1hdC5jOgoJICBqaWZtdXg6IEJ1bXAgcmFuayB0byBzZWNvbmRhcnkKCSAgamlmbXV4IGlzIGJlaW5nIHVzZWQgZm9yIHF1aXRlIHNvbWUgdGltZSBhbmQgaGFzIG5vIG9wZW4gYnVncwoJICBjdXJyZW50bHksIHNvIHdlIGNhbiBnaXZlIGl0IGEgc2Vjb25kYXJ5IHJhbmsgYXQgbGVhc3QuCgkgIEZpeGVzICM2NDkzOTEKCjIwMTEtMDUtMTMgMTU6MTU6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGppZm11eDogQ2hhbmdlIGNsYXNzIHRvIGZvcm1hdHRlcgoJICBqaWZtdXggaXMgYSBmb3JtYXR0ZXIgYW5kIG5vdCBhIG11eGVyCgkgIEZpeGVzICM2NDkzOTEKCjIwMTEtMDUtMTMgMDk6MTE6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW4yOiBGaXggR09wdGlvbkVudHJ5IGFycmF5CgkgIFVzZSBubyBmbGFncyBpbnN0ZWFkIG9mIHBhc3NpbmcgR19PUFRJT05fQVJHX09QVElPTkFMIHRvIG9wdGlvbnMgdGhhdAoJICBtdXN0IGhhdmUgYW4gYXJndW1lbnQKCjIwMTEtMDUtMTIgMTE6Mzk6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSAgY2FtZXJhYmluMjogZXhhbXBsZXM6IGJ1aWxkIGZpeGVzCgkgIEFkZCBzb21lIG1pc3NpbmcgZGVwZW5kZW5jaWVzCgoyMDExLTA1LTExIDE4OjM1OjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQ2hhbmdpbmcgaG93IHNvbWUgcHJvcGVydGllcyB3b3JrCgkgIFNvbWUgcHJvcGVydGllcyAobGlrZSB2aWV3ZmluZGVyLWZpbHRlcikgb25seSBhcmUgdGFrZW4gaW50byB1c2UKCSAgb24gTlVMTC0+UkVBRFkgdHJhbnNpdGlvbnMgYW5kIHRoZSBnZXQvc2V0IHByb3BlcnR5IHdhcyByZXR1cm5pbmcKCSAgdGhlIGN1cnJlbnRseSBpbiB1c2UgdmFsdWUsIGluc3RlYWQgb2YgdGhlIGxhc3Qgc2V0LgoJICBUaGlzIGlzIGJhZCwgYXMgYWZ0ZXIgc2V0dGluZyAnYScgdG8gJ3gnLCB5b3UgZXhwZWN0IHRoYXQgZ2V0dGluZyAnYScKCSAgd2lsbCByZXR1cm4gJ3gnLiBUaGlzIHBhdGNoIGZpeGVzIGl0LgoJICBJZiBuZWVkZWQsIGxhdGVyIHdlIGNvdWxkIGFkZCBjdXJyZW50LSogcHJvcGVydGllcyB0aGF0IGFyZSByZWFkb25seQoJICBhbmQgZ2V0IHRoZSBjdXJyZW50IHZhbHVlIGluIHVzZS4KCjIwMTEtMDQtMjkgMDg6NTQ6NTYgLTAzMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL1BPUlRJTkc6CgkgIGNhbWVyYWJpbjI6IFVwZGF0aW5nIFBPUlRJTkcgZmlsZQoKMjAxMS0wNC0yOCAxNjowNTo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkgIGNhbWVyYWJpbjI6IEFkZGluZyBtaXNzaW5nIHBsdWdpbiBlcnJvciBtZXNzYWdlcwoJICBXaGVuZXZlciBhIHJlcXVpcmVkIHBsdWdpbiBpcyBtaXNzaW5nLCBjYW1lcmFiaW4yIHNob3VsZCBwb3N0CgkgIGEgbWlzc2luZyBwbHVnaW4gbWVzc2FnZSB0byB0aGUgYnVzCgoyMDExLTA0LTI4IDE0OjM3OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogZW5jb2RlYmluIG1pZ2h0IG5vdCBoYXZlIHRoZSByZXF1ZXN0ZWQgcGFkCgkgIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSBlbmNvZGViaW4gZG9lc24ndCBoYXZlIHRoZSBwYWQKCSAgY2FtZXJhYmluMiBpcyByZXF1ZXN0aW5nLCBlaXRoZXIgYmVjYXVzZSBvZiBpdHMgY3VycmVudCBwcm9maWxlCgkgIG9yIGJlY2F1c2Ugb2YgbWlzc2luZyBlbGVtZW50cywgbWFraW5nIGl0IGZhaWwgdG8gcHJvdmlkZQoJICB0aGUgcGFkCgoyMDExLTA0LTI3IDE1OjEyOjE4IC0wMzAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjI6IEFkZCBtb3JlIGFyZ3VtZW50cwoJICBBZGQgY29tbWFuZC1saW5lIG9wdGlvbnMgZm9yIHNldHRpbmcgaW1hZ2UtY2FwdHVyZSwgdmlld2ZpbmRlcgoJICBhbmQgdmlkZW8tY2FwdHVyZSBjYXBzIGFzIHN0cmluZ3MuCgkgIFRoZSB3aWR0aCBhbmQgaGVpZ2h0IHByb3BlcnRpZXMgYXJlIG5vdyB1c2VkIG9ubHkgaWYgdGhlc2UgbmV3IGNhcHMKCSAgcHJvcGVydGllcyBhcmVuJ3Qgc2V0LgoKMjAxMS0wNC0yNiAxNToyMTozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSAgY2FtZXJhYmluMjogaW1hZ2VjYXB0dXJlYmluOiBGaXggdGFncyBtZXJnaW5nIG1vZGUKCSAgVXNlIG1lcmdlIHJlcGxhY2UgbW9kZSB0byBhbGxvdyBuZXcgdGFncyB0byBvdmVycmlkZSBvbGQgb25lcwoJICBhbmQgZml4IHRoZSB1c2UgY2FzZSB3aGVyZSB0aGUgbGFzdCBzZW50IHRhZ3Mgc2hvdWxkIGJlIHNlcmlhbGl6ZWQKCSAgdG8gdGhlIGNhcHR1cmVkIGltYWdlcy4KCjIwMTEtMDQtMjYgMTQ6NTM6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBGaXggdGFnIGhhbmRsaW5nIGZvciB2aWRlb3MKCSAgSW4gdmlkZW8gbW9kZSB0aGUgdGFncyBzaG91bGQgYmUgcHVzaGVkIGFmdGVyIHNlbmRpbmcgdGhlIHN0YXJ0IGNhcHR1cmUKCSAgdG8gdGhlIHNvdXJjZSwgdGhpcyBhbGxvd3MgdGhlIHZpZGVvIHJlY29yZGluZyBlbGVtZW50cyB0byBiZSByZXNldAoJICBhbmQgbGVhdmUgdGhlIGZsdXNoaW5nIHN0YXRlIHRoZXkgd2VyZSBhdCBhZnRlciBhIHByZXZpb3VzIGNhcHR1cmUuCgkgIFRoaXMgZml4ZXMgdGhlIHByb2JsZW0gd2hlcmUgdGFncyBvbmx5IHdvcmsgZm9yIHRoZSBmaXJzdCB2aWRlbyBjYXB0dXJlCgoyMDExLTA0LTI2IDE0OjUwOjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IEZpeCBzZXQgYnV0IHVudXNlZCB2YXJpYWJsZSB3YXJuaW5ncwoKMjAxMS0wNC0yNiAxNDo0OTozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBGaXggdGFncyBzZXR0aW5nIHRlc3RzCgkgIEZpeGVzIHRoZSB0YWdzIHNldHRpbmcgdGVzdHMgdG8gcmV2ZWFsIGEgYnVnIGluIGNhbWVyYWJpbjIKCSAgdGFnIHNldHRpbmcgbG9naWMuCgoyMDExLTA0LTI1IDE2OjA0OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbjItc3JjLnR4dDoKCSAgY2FtZXJhYmluMjogQWRkaW5nIGNhbWVyYSBzb3VyY2UgZG9jdW1lbnRhdGlvbiBmaWxlCgkgIEFkZHMgYSBzbWFsbCB0ZXh0IGZpbGUgd2l0aCBhIGJyaWVmIGRlc2NyaXB0aW9uIG9mCgkgIHdoYXQgaXMgZXhwZWN0ZWQgZnJvbSBhIGNhbWVyYWJpbjIgc291cmNlIGVsZW1lbnQKCjIwMTEtMDQtMTEgMTU6MzM6MjAgLTAzMDAgIExhdXJpIExlaHRpbmVuIDxsYXVyaS5sZWh0aW5lbkBkaWdpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGJhc2VjYW1lcmFiaW5zcmM6IEhhbmRsZSBlcnJvcnMgZnJvbSBwcmV2aWV3IHBpcGVsaW5lCgkgIEltcGxlbWVudHMgYSBtZXNzYWdlIGhhbmRsaW5nIGZ1bmN0aW9uIHRvIHByZXZpZXcgcGlwZWxpbmUgYnVzLgoJICBJZiBHU1RfTUVTU0FHRV9FUlJPUiBpcyBzZWVuLCBjb25zaWRlcnMgcHJldmlldyBwaXBlbGluZSB1bmFibGUKCSAgdG8gZG8gaXRzIGpvYiBhbmQgcG9zdHMgYW4gZXJyb3IgbWVzc2FnZSB0byBhcHBsaWNhdGlvbi4KCSAgU2V0cyBwaXBlbGluZSBlbGVtZW50IHRvIE5VTEwgc28gdGhhdCBzdWJzZXF1ZW50IGNhbGxzIHRvIHBvc3RfcHJldmlldwoJICBhbmQgc2V0X2NhcHMgZnVuY3Rpb25zIGp1c3QgcmV0dXJucyB3aXRob3V0IHB1c2hpbmcgYW55dGhpbmcgdG8gdGhlCgkgIGRpc3Bvc2VkIHByZXZpZXcgcGlwZWxpbmUuIExlYXZlcyBmdXJ0aGVyIGFjdGlvbnMgdG8gdGhlIGFwcGxpY2F0aW9uLgoKMjAxMS0wNC0wOCAwOToyMjoxMSAtMDMwMCAgTGF1cmkgTGVodGluZW4gPGxhdXJpLmxlaHRpbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5oOgoJICBiYXNlY2FtZXJhYmluc3JjOiBQcm90ZWN0aW9uIGZvciBwcmV2aWV3cGlwZWxpbmUgd2hlbiBzZXR0aW5nIG5ldyBwcmV2aWV3IGNhcHMKCSAgSW1wbGVtZW50cyBhIHN0YXRlIGluZGljYXRpbmcgZmxhZyB0byBwcmV2aWV3IHBpcGVsaW5lLAoJICBzbyB0aGF0IG5ldyBjYXBzIGFyZSBub3Qgc2V0IGlmIHRoZSBwaXBlbGluZSBpcyBwcm9jZXNzaW5nIGEKCSAgcHJldmlldy4gVGhlIGNhcHMgYXJlIHNldCBhcyBwZW5kaW5nIGFuZCBhcHBsaWVkIHdoZW4gdGhlCgkgIG5leHQgcHJldmlldyBwb3N0IGlzIGNhbGxlZC4KCSAgSW4gdGhpcyBjYXNlIGEgd2FpdCB3YXMgaW1wbGVtZW50ZWQgaW4gdGhlIHBvc3RfcHJldmlldyBmdW5jdGlvbiwKCSAgc28gdGhhdCBuZXcgcHJldmlldyBpbWFnZSBidWZmZXIgd2lsbCB3YWl0IHVudGlsIHRoZSBvdGhlciBwcmV2aWV3cwoJICBoYXZlIGJlZW4gcG9zdGVkIHRvIHRoZSBhcHBsaWNhdGlvbiBhbmQgdGhlIG5ldyBjYXBzIGNhbiBiZSB1c2VkCgkgIHNhZmVseS4KCjIwMTEtMDMtMjkgMTM6NDY6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW4yOiBGaXggY29tcGlsZSBwcm9ibGVtIHdpdGggZGVidWcgZGlzYWJsZWQKCjIwMTEtMDMtMjMgMTg6NDE6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJICBjYW1lcmFiaW4yOiB2aWV3ZmluZGVyYmluOiBQb3N0IG1pc3NpbmcgcGx1Z2luIG1lc3NhZ2VzCgkgIE1ha2VzIHZpZXdmaW5kZXJiaW4gcG9zdCBtaXNzaW5nIHBsdWdpbiBtZXNzYWdlcyB3aGVuIGl0CgkgIGNhbid0IGNyZWF0ZSBhbiBpbnRlcm5hbCBlbGVtZW50cwoKMjAxMS0wMy0yMyAxODo0MDowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkgIGNhbWVyYWJpbjI6IEltcHJvdmUgbWlzc2luZyBwbHVnaW4gbWVzc2FnZQoJICBJbXByb3ZlcyB0aGUgbWVzc2FnZSB0ZXh0IGZvciBtaXNzaW5nIHBsdWdpbiBtZXNzYWdlcyBmcm9tCgkgIGNhbWVyYWJpbjIKCjIwMTEtMDMtMjMgMTc6NDY6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvUE9SVElORzoKCSAgY2FtZXJhYmluMjogVXBkYXRlIHBvcnRpbmcgZmlsZQoJICBVcGRhdGUgcG9ydGluZyBmaWxlIHdpdGggbWVudGlvbiB0aGF0IHN0b3AtY2FwdHVyZSBpcyBub3cKCSAgYXN5bmMuCgoyMDExLTA0LTA4IDE3OjU4OjQyICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgZ3N0LWNhbWVyYWJpbjItdGVzdDogQWxsb3cgZ3N0LWxhdW5jaCBwaXBlbGluZXMgZm9yIHNpbmtzCgkgIFVzZSBnc3RfcGFyc2VfbGF1bmNoICgpIHRvIHBhcnNlIHRoZSBzaW5rIHN0cmluZ3MgdG8gYWxsb3cgc3BlY2lmaWNhdGlvbgoJICBvZiBwcm9wZXJ0aWVzIHRvIHNpbmtzIGFuZCBvZiBtb3JlIGFkdmFuY2VkIHNpbmsgZ3JhcGhzLgoKMjAxMS0wNC0wNCAxMzoyODozMiArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBGaXggZGVidWcgcHJpbnQgdG8gc2hvdyBhdWRpby92aWRlbyBkZXBlbmRpbmcgb24gcGFkIHR5cGUKCjIwMTEtMDMtMzEgMTM6MDg6NDggKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRml4IG9yZGVyIG9mIGVsZW1lbnQgc3RhdGUgY2hhbmdlCgkgIFRvIGNoYW5nZSB0aGUgc3RhdGUgb2YgZWxlbWVudHMgaW4gYSBwaXBlbGluZSwgd2Ugc2hvdWxkIG1pcnJvciB0aGUKCSAgYmVoYXZpb3VyIG9mIEdzdEJpbiB3aGljaCBzdGFydHMgYXQgdGhlIHNpbmsgZWxlbWVudCBhbmQgd29ya3MgaXRzIHdheQoJICB1cHN0cmVhbS4KCjIwMTEtMDQtMDEgMjI6MTM6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBkZWJ1ZyBjb2RlIHN0eWxlIGZpeGVzCgoyMDExLTA0LTAxIDIyOjEzOjAwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogcHJvcGFnYXRlIGRvd25zdHJlYW0gZmxvdyByZXR1cm4gdG8gdXBzdHJlYW0KCjIwMTEtMDQtMDMgMjI6MzU6MTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogaGFuZGxlIG1pc3NpbmcgZnJhbWVyYXRlIHdoZW4gY2FsY3VsYXRpbmcgdGltZXN0YW1wCgoyMDExLTA0LTAzIDIyOjMyOjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGRlYnVnIGNvZGUgc3R5bGUgZml4ZXMKCjIwMTEtMDQtMDEgMjI6MTI6MzAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogdHVuZSBwYXJzaW5nIHNpbmsgY2FwcyBpbnRvIHZpZGVvIHN0YXRlCgkgIC4uLiB0byBwcm92aWRlIHN1YmNsYXNzIHdpdGggbW9yZSBpbmZvcm1hdGlvbiB3LnIudC4gb3JpZ2luYWwgY2Fwcy4KCjIwMTEtMDQtMDEgMTg6NDk6MTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogdmlkZW8gc3RhdGUgcmVmZXJlbmNlIHRvIGNvZGVjX2RhdGEgaXMgbm90IHJlZmNvdW50ZWQKCSAgLi4uIGJ1dCByYXRoZXIgaW1wbGljaXRseSB2YWxpZCBhcyBsb25nIGFzIHNpbmsgY2FwcyBhcmUgbm90IG1vZGlmaWVkLgoKMjAxMS0wNC0wMSAxODowMDoxMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiBpbXByb3ZlIGdsaXRjaCByZXNpbGllbmNlCgkgIFByb3ZpZGUgYSByZXBsYWNlbWVudCBmb3IgR1NUX0VMRU1FTlRfRVJST1IgdG8gYXZvaWQgYWJvcnRpbmcgYXQgdGhlIGZpcnN0CgkgIGF0b20gb3V0IG9mIHBsYWNlLCB3aGlsZSBvbiB0aGUgb3RoZXIgaGFuZCBub3QgZmFpbGluZyBpbmRlZmluaXRlbHkuCgoyMDExLTAzLTMxIDE0OjQ3OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IHJldmVyc2UgcGxheWJhY2sgc3VwcG9ydAoKMjAxMS0wMy0zMCAxMDoyODowOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiB1c2UgYmFzZXZpZGVvY29kZWMgZGlzY29udCBmaWVsZAoKMjAxMS0wMy0zMCAxMDoxODoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IHJlYWxseSBhbmQgb25seSBzZXQgc3JjIHBhZCBjYXBzIHdoZW5ldmVyIHJlcXVlc3RlZAoJICAuLi4gc2luY2Ugc3ViY2xhc3MgaXMgZXhwZWN0ZWQgdG8gYmUgd2lzZSBlbm91Z2ggdG8ga25vdyB3aGVuIHRvIGRvIHNvLgoKMjAxMS0wMy0zMCAwOToxNzoyMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiBhZGQgc29tZSBzYW5pdHkgZW5mb3JjaW5nCgoyMDExLTAzLTMwIDA5OjE1OjEzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGFkZCBkb2N1bWVudGF0aW9uCgkgIC4uLiBhbmQgcmVtb3ZlIHNvbWUgbW9yZSBzdHJheSB1bnVzZWQgY29kZSBhbmQgbWV0aG9kcy4KCjIwMTEtMDMtMjkgMTU6NDE6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2NvZGVjOiBmdWxseSBmcmVlIHZpZGVvIGZyYW1lCgoyMDExLTAzLTI5IDE1OjQxOjA4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IHN0cmVhbWxpbmUgZGlzY29udCwgZmx1c2ggYW5kIHJlc2V0IGhhbmRsaW5nCgkgIC4uLiB3aGljaCBpcyBub3QgdG8gc2F5IHRoZXJlIGlzIG5vIHJvb20gZm9yIGZ1cnRoZXIgdHdlYWtpbmcgLi4uCgoyMDExLTAzLTI5IDE1OjM5OjA3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGFkZCBzb21lIGhlYWRlciBjb21tZW50YXJ5CgoyMDExLTAzLTI5IDEyOjU3OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IHJlbW92ZSAoYWxtb3N0KSB1bnVzZWQgZmllbGRzCgkgIC4uLiBhbmQgYWxzbyBzb21lIG1vcmUgdW51c2VkIGNvZGUuCgoyMDExLTAzLTI5IDEwOjQxOjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGludm9rZSBzdWJjbGFzcyBzdGFydCBtZXRob2QgYXQgc3RhdGUgY2hhbmdlIGFuZCB1c2Ugc2V0X2Zvcm1hdAoJICBXaGlsZSB0aGlzIGNoYW5nZXMgQVBJIHNsaWdodGx5IChlLmcuIGFjdHVhbGx5IHVzZXMgc2V0X2Zvcm1hdCBub3cpLCB3aGljaCBpcyBPSwoJICBmb3IgdW5zdGFibGUgQVBJLCBpdCBoYXMgZm9sbG93aW5nIG1lcml0czoKCSAgKiBzeW1tZXRyaWMgdy5yLnQuIHN0b3AgYXQgc3RhdGUgY2hhbmdlCgkgICogaW4gbGluZSB3aXRoIG90aGVyIGJhc2UgY2xhc3MgcHJhY3RpY2UKCSAgKiBvdGhlcndpc2Ugbm8gc3ViY2xhc3MgbWV0aG9kIGF0IHN0YXRlIGNoYW5nZSAoZ2xvYmFsIGFjdGl2YXRpb24gdGltZSkKCSAgTW9yZW92ZXIsIHN1YmNsYXNzZXNlIGFyZSBlaXRoZXIgdW5hZmZlY3RlZCBvciB0cml2aWFsbHkgYWRqdXN0ZWQgYWNjb3JkaW5nbHkuCgoyMDExLTA0LTI4IDEyOjAyOjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGZpeHVwIHR3ZWFrCgoyMDExLTAzLTI4IDE2OjE1OjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGFkZCBhbmQgdHdlYWsgZGVidWcgc3RhdGVtZW50cwoKMjAxMS0wMy0yOCAxMzozMjoxNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogYXJyYW5nZSBmb3IgbGltaXRlZCBsZWdhY3kgc2Vla2luZyBzdXBwb3J0CgkgIEluIHBhcnRpY3VsYXIsIHR3ZWFrIHNyYyBxdWVyeSBhbmQgZXZlbnQgaGFuZGxpbmcgdG8gcHJvdmlkZSBmb3IKCSAgYnl0ZSA8LT4gdGltZSBjb252ZXJzaW9uLgoKMjAxMS0wMy0yOCAxMToxNTo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkgIGJhc2V2aWRlbzogY2F0ZXIgZm9yIGZvcm1hdCBjb252ZXJzaW9uCgoyMDExLTAzLTI4IDEwOjUxOjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSAgdmlkZW9jb2RlYzogcmVtb3ZlIHVudXNlZCBmaWVsZHMgYW5kIGNvZGUKCjIwMTEtMDMtMjggMDk6MTQ6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogZml4IGNvcHktYW5kLXBhc3RlIHZhcmlhYmxlIG1pc25vbWVyCgoyMDExLTAzLTI4IDA4OjU5OjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IHN1YnN1bWUgc2tpcF9mcmFtZSBpbnRvIGZpbmlzaF9mcmFtZQoKMjAxMS0wMy0yOCAwODo1Njo1OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiByZW1vdmUgdW51c2VkIGNvZGUKCjIwMTEtMDMtMjcgMjI6Mjc6MDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogY29kZSBjbGVhbnVwIGFuZCBkZWJ1ZyBzdHlsZSBmaXhlcwoKMjAxMS0wMy0yNyAxNjozNjo1NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogcGFzcyBhbG9uZyBidWZmZXIgZGlzY29udCBmbGFnCgoyMDExLTAzLTI1IDE1OjI5OjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IGltcGxlbWVudCBwcmVzZXQgaW50ZXJmYWNlCgoyMDExLTAzLTI1IDA5OjI4OjI0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IGFkZCBkb2N1bWVudGF0aW9uIGFuZCByZWxhdGVkIGNvc21ldGljcwoKMjAxMS0wMy0yNCAxNDoxMDowNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IHByb3ZpZGUgcHJvcGVyIHVwc3RyZWFtIGZsb3cgcmV0dXJuIGhhbmRsaW5nCgoyMDExLTAzLTI0IDEzOjU5OjM1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIHZwOGVuYzogbWlub3Igb3B0aW1pemF0aW9uIGluIHNldHRpbmcgdXAgaW1hZ2UgYnVmZmVyCgoyMDExLTAzLTI0IDEyOjUwOjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogcmVmYWN0b3IgZnJhbWUgcHJvY2Vzc2luZwoKMjAxMS0wMy0yNCAxMTo1NTo0MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IGRvIGluaXQgYXQgc2V0X2Zvcm1hdCB0aW1lCgoyMDExLTAzLTI0IDEwOjE1OjU1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIHZwOGVuYzogZml4IGtleWZyYW1lIGZvcmNpbmcKCjIwMTEtMDMtMjQgMDg6MjM6MjcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogZW5oYW5jZSBzZXRfY2FwcwoJICBTcGVjaWZpY2FsbHksIG9ubHkgaW52b2tlIHNldF9mb3JtYXQgaWYgaW5jb21pbmcgZm9ybWF0IHJlYWxseSBjaGFuZ2VkLAoJICBhbmQgZmluaXNoIGN1cnJlbnQgZm9ybWF0IGlmIHNvIChhbmQgaWYgYW55IGN1cnJlbnQpLgoKMjAxMS0wMy0yMyAyMjoxNzo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBlbGFib3JhdGUgZmluaXNoIHRvIGRyYWluaW5nCgoyMDExLTAzLTI0IDA5OjIxOjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBpbnZva2Ugc3ViY2xhc3Mgc3RhcnQgbWV0aG9kIGF0IHN0YXRlIGNoYW5nZQoJICBXaGlsZSB0aGlzIGNoYW5nZXMgb3JkZXIgdy5yLnQuIHNldF9mb3JtYXQsIHdoaWNoIGlzIE9LIGZvciB1bnN0YWJsZSBBUEksCgkgIGl0IGhhcyBmb2xsb3dpbmcgbWVyaXRzOgoJICAqIHN5bW1ldHJpYyB3LnIudC4gc3RvcCBhdCBzdGF0ZSBjaGFuZ2UKCSAgKiBpbiBsaW5lIHdpdGggb3RoZXIgYmFzZSBjbGFzcyBwcmFjdGljZQoJICAqIGxpdHRsZSBiZW5lZml0IGluIGludm9raW5nIDIgc3ViY2xhc3MgdmlydHVhbCBtZXRob2RzIChzZXRfZm9ybWF0IGFuZCBzdGFydCkKCSAgaW4gaW1tZWRpYXRlIHN1Y2Nlc3Npb247IGFsbCBhY3Rpb25zIGluIHRoZSBzZWNvbmQgY291bGQgYmUgZG9uZSBpbiB0aGUgZmlyc3QKCSAgd2hlcmVhcyBzdWJjbGFzcyBoYXMgbm8gY2hhbmNlIHRvIGRvIGFueXRoaW5nICdnbG9iYWwnIGF0IGFjdGl2YXRpb24gdGltZQoJICBNb3Jlb3ZlciwgY3VycmVudCAtYmFkIHN1YmNsYXNzIHJlbGV2YW50IG1ldGhvZHMgZWl0aGVyIHRyaXZpYWxseSBjb21tdXRlCgkgIG9yIGFyZSBlaXRoZXIgdHJpdmlhbGx5IGFkanVzdGVkIGFjY29yZGluZ2x5LgoKMjAxMS0wMy0yNCAwODoyMTowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBlbmFibGUgY2xpcHBpbmcgYnkgZGVmYXVsdAoKMjAxMS0wMy0yNCAwODoxNzo1MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiByZXNldCBtb3JlIHN0YXRlCgoyMDExLTAzLTI0IDA4OjU2OjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IGhlYWRlciBjb3NtZXRpYyBhbmQgZG9jIGZpeGVzCgoyMDExLTAzLTIzIDA5OjQ1OjIwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2NvZGVjOiByZW1vdmUgcmVkdW5kYW50IGNhcHMgZmllbGQKCSAgLi4uIGFzIGl0IGlzIGFscmVhZHkgYXQgaGFuZCBhcyB0aGUgc3JjIHBhZCdzIG5lZ290aWF0ZWQgY2Fwcy4KCjIwMTEtMDMtMjMgMDk6MzI6NTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogcmVtb3ZlIHVudXNlZCBjb2RlCgoyMDExLTAzLTIzIDA4OjUwOjMxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIHZwOGVuYzogdXNlIGJhc2VjbGFzcyBldmVudCB2aXJ0dWFsIGhhbmRsZXIKCjIwMTEtMDMtMjMgMDg6NDk6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogYWRkIGV2ZW50IHZpcnR1YWwgbWV0aG9kIHRvIGFsbG93IHN1YmNsYXNzIGV2ZW50IGhhbmRsaW5nCgoyMDExLTAzLTIzIDA4OjM1OjUxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IGltcHJvdmUgR3N0Rm9yY2VLZXlVbml0IGV2ZW50IGhhbmRsaW5nCgoyMDExLTAzLTIyIDEzOjE5OjE3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJICBiYXNldmlkZW9jb2RlYzogZGVidWcgc3R5bGUgZml4ZXMKCjIwMTEtMDMtMjEgMTg6MDI6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJICBiYXNldmlkZW9jb2RlYzogcmVtb3ZlIHVudXNlZCBjb2RlIGNsdXR0ZXJpbmcgdXAgdGhlIHBsYWNlCgkgIEFsc28gbWlub3IgZGVidWcgc3R5bGUgZml4ZXMuCgoyMDExLTAzLTIxIDE3OjQ0OjE3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IHNpbXBsaWZ5IG5lZ290aWF0ZWQgY2hlY2tpbmcKCSAgLi4uIGJ5IGF2b2lkaW5nIHNvbWUgZXh0cmFuZW91cyAodW4pcmVmJ2luZy4KCjIwMTEtMDMtMjQgMTQ6MTY6MTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogY29kZSBjbGVhbnVwIGFuZCBzb21lIGRlYnVnCgkgIEFsc28gYWRkIHNvbWUgbWlub3IgbG9ja2luZyBhbmQgcmVtb3ZlIHVudXNlZCBiaXRzLgoKMjAxMS0wNS0xNiAwOTowNzo1NyArMDIwMCAgUGlubyBUb3NjYW5vIDx0b3NjYW5vLnBpbm9AdGlzY2FsaS5pdD4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IERvbid0IHVzZSBQQVRIX01BWAoJICBQQVRIX01BWCBpcyBub3QgZGVmaW5lZCBvbiBHTlUgSHVyZCBhbmQgb3RoZXJzLiBBbHNvIGZpeAoJICBmb3JtYXQgc3RyaW5nLgoKMjAxMS0wNS0xNCAxNDo0ODo1NiArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtYXJjYW5kcmUubHVyZWF1QGdtYWlsLmNvbT4KCgkqIGdzdC9kY2NwL2dzdGRjY3BfY29tbW9uLmg6CgkgIGdzdC9kY2NwOiBmaXggYnVpbGQgb24gbmV3ZXIgbWluZ3cKCSAgRml4IHRoaXMgYnVpbGQgZXJyb3I6CgkgIENDICAgICBsaWJnc3RkY2NwX2xhLWdzdGRjY3BwbHVnaW4ubG8KCSAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uLy4uLy4uL2dzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuaDoyOTowLAoJICBmcm9tIC4uLy4uLy4uL2dzdC9kY2NwL2dzdGRjY3BwbHVnaW4uYzoyNDoKCSAgLi4vLi4vLi4vZ3N0L2RjY3AvZ3N0ZGNjcF9jb21tb24uaDozMjowOiB3YXJuaW5nOiBXSU5WRVIgcmVkZWZpbmVkIFtlbmFibGVkIGJ5IGRlZmF1bHRdCgkgIC91c3IvaTY4Ni13NjQtbWluZ3czMi9zeXMtcm9vdC9taW5ndy9pbmNsdWRlL19taW5ndy5oOjIzMTowOiBub3RlOiB0aGlzIGlzIHRoZSBsb2NhdGlvbiBvZiB0aGUgcHJldmlvdXMgZGVmaW5pdGlvbgoJICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vLi4vLi4vZ3N0L2RjY3AvZ3N0ZGNjcHBsdWdpbi5jOjI0OjA6CgkgIC4uLy4uLy4uL2dzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuaDo1ODozOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ3VpbnQ4X3QnCgkgIEluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi8uLi8uLi9nc3QvZGNjcC9nc3RkY2NwcGx1Z2luLmM6MjU6MDoKCSAgLi4vLi4vLi4vZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuaDo3NDozOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ3VpbnQ4X3QnCgkgIEluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi8uLi8uLi9nc3QvZGNjcC9nc3RkY2NwcGx1Z2luLmM6MjY6MDoKCSAgLi4vLi4vLi4vZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuaDo2NzozOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ3VpbnQ4X3QnCgkgIEluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi8uLi8uLi9nc3QvZGNjcC9nc3RkY2NwcGx1Z2luLmM6Mjc6MDoKCSAgLi4vLi4vLi4vZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5oOjU4OjM6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAndWludDhfdCcKCSAgbWFrZTogKioqIFtsaWJnc3RkY2NwX2xhLWdzdGRjY3BwbHVnaW4ubG9dIEVycm9yIDEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDE3MQoKMjAxMS0wNS0xNSAxMDowNDo1MCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogYnVtcCB0aGUgcmFuayBvZiBxdGtpdHZpZGVvc3JjIHRvIFBSSU1BUlkKCjIwMTEtMDUtMTUgMTA6MDA6NDQgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkgIGhsczogZml4IGhhbmRsaW5nIG9mIHN0cm9sKCkgb3ZlcmZsb3dzCgoyMDExLTA1LTE0IDEyOjE4OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJICBjcnVmdDogQWRkIGV4dC9hbXJ3YmVuYyBkaXJlY3RvcnksIGl0J3MgZXh0L3ZvYW1yd2JlbmMgbm93CgoyMDExLTA1LTEzIDAxOjAzOjI3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkgIGJhc2V2aWRlZW5jb2RlcjogRml4IHVzZSBhZnRlciBmcmVlIGFmdGVyIHN0YXRlIGNoYW5nZSB0cmFuc2l0aW9uCgoyMDExLTA0LTE4IDIzOjQwOjM1ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBub2tpYS5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogUmVtb3ZlIGRlYWQgY29kZSBhbmQgc29tZSBtaW5vciBkb2MgY2hhbmdlcy4KCjIwMTEtMDQtMjQgMjE6MDY6MjkgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQG5va2lhLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJICBlZGdlZGV0ZWN0OiBSZW1vdmUgZGVhZCBjb2RlIGFuZCBzb21lIG1pbm9yIGRvYyBjaGFuZ2VzCgoyMDExLTA0LTE5IDE5OjA5OjMwICswMjAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmRlYmV0aGVuY291cnRAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5oOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5oOgoJICBjb2xvcmVmZmVjdHM6IENvZGluZyBzdHlsZSBmaXhlcwoKMjAxMS0wNC0xOSAxMDozMjo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkgIGFhY2VuYzogSW50ZWdyYXRlIGludG8gdGhlIGRvY3VtZW50YXRpb24KCjIwMTEtMDQtMTkgMTA6MDc6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2FtcndiZW5jL0dzdEFtcndiRW5jLnByczoKCSogZXh0L2FtcndiZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvYW1yd2JlbmMvUkVBRE1FOgoJKiBleHQvYW1yd2JlbmMvZ3N0YW1yd2IuYzoKCSogZXh0L2FtcndiZW5jL2dzdGFtcndiZW5jLmM6CgkqIGV4dC9hbXJ3YmVuYy9nc3RhbXJ3YmVuYy5oOgoJKiBleHQvdm9hbXJ3YmVuYy9Hc3RWb0FtcndiRW5jLnByczoKCSogZXh0L3ZvYW1yd2JlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2IuYzoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5jOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmg6CgkgIGFtcndiZW5jOiBTd2l0Y2ggdG8gdGhlIGZyZWUgdm8tYW1yd2JlbmMgbGlicmFyeQoJICBBbmQgcmVuYW1lIGV2ZXJ5dGhpbmcgdG8gdm9hbXJ3YmVuYyBpbnN0ZWFkIG9mIGFtcndiZW5jLgoKMjAxMS0wNC0xNSAxMToxOToyMCArMDIwMCAgYmVuamFtaW4gZ2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWMuYzoKCSAgZmFhYzogRGV0ZWN0IG91dHB1dCBmb3JtYXQgZnJvbSBkb3duc3RyZWFtIGNhcHMgY2hhbmdlIHVuaXQgdGVzdAoKMjAxMS0wNC0xOSAwOTo1MjoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdm9hYWVuYzogRml4IENGTEFHUy9MSUJTIG9mIHRoZSB1bml0IHRlc3QKCjIwMTEtMDQtMTkgMDk6NDk6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5oOgoJICB2b2FhY2VuYzogT25seSBnZW5lcmF0ZSBzaW5rY2FwcyBvbmNlIGFuZCBpbiBhIHRocmVhZHNhZmUgd2F5CgoyMDExLTA0LTE5IDA5OjQyOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogQWRkIE5VTEwgdGVybWluYXRvciB0byBnc3Rfc3RydWN0dXJlX25ldygpCgoyMDExLTA0LTE5IDA5OjQwOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuaDoKCSAgdm9hYWNlbmM6IFNvbWUgbWlub3IgY2xlYW51cAoKMjAxMS0wNC0xOSAwOTozNDowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvTWFrZWZpbGUuYW06CgkgIHZvYWFjZW5jOiBGaXggQ0ZMQUdTIGFuZCBMSUJTCgoyMDExLTA0LTE4IDE3OjE5OjAwICswMjAwICBiZW5qYW1pbiBnYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvdm9hYWNlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhYy5jOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogQWRkIG5ldyBwbHVnaW4gZm9yIGF1ZGlvIEFBQyBlbmNvZGVyIGJhc2VkIG9uIHZvLWFhY2VuYyBsaWIKCSAgQWRkIHBsdWdpbiBhbmQgdW5pdCB0ZXN0LgoJICBGaXhlcyBidWcgIzY0Nzc0OC4KCjIwMTEtMDUtMTQgMTA6MTk6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXBzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMC4yMiA9PT0KCjIwMTEtMDUtMTAgMTE6MzU6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXBzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4yMgoJICBIaWdobGlnaHRzOgoJICAtIGhsc2RlbXV4OiBBZGQgSFRUUCBsaXZlIHN0cmVhbWluZyBwYXJzZXIvZGVtdXhlciBlbGVtZW50CgkgIC0gbmV3IGVsZW1lbnRzOiBoMjYzcGFyc2UsIHplYnJhc3RyaXBlLCBwYXRjaGRldGVjdAoJICAtIHNjZW5lY2hhbmdlOiBuZXcgc2NlbmUgY2hhbmdlIGRldGVjdGlvbiBlbGVtZW50CgkgIC0gcmVtb3ZlZCBhdWRpb3BhcnNlcnNiYWQgcGx1Z2luLCBpdCBoYXMgYmVlbiBtb3ZlZCB0byAtZ29vZAoJICAtIG1ha2Ugb3BlbmN2IHBsdWdpbiB3b3JrIHdpdGggT3BlbkNWIDIuMgoJICAtIGNvdW50bGVzcyAoc3RpbGwgZXhwZXJpbWVudGFsKSBjYW1lcmFiaW4yIGZpeGVzIGFuZCBpbXByb3ZlbWVudHMKCSAgLSBleHBlcmltZW50YWwgVlA4IFJUUCBwYXlsb2FkZXIvZGVwYXlsb2FkZXIgKFJUUCBwYXlsb2FkaW5nIG5vdCBmaW5hbGlzZWQgeWV0KQoJICAtIGN1cmxzaW5rOiBhZGQgbGliY3VybC1iYXNlZCBzaW5rIGVsZW1lbnQgKGFjdHMgYXMgY2xpZW50LCBub3Qgc2VydmVyKQoJICAtIGRlY2tsaW5rOiBhZGQgZGVja2xpbmsgcGx1Z2luCgkgIC0gbGluc3lzOiBhZGQgcGx1Z2luIGZvciBMaW5lYXIgU3lzdGVtcyBTREkgYm9hcmRzCgkgIC0gc2RpOiBhZGQgcmF3IFNESSBtdXhpbmcvZGVtdXhpbmcgZWxlbWVudHMKCSAgLSBjYW1lcmFiaW4gbm93IHJlbGllcyBvbiBtdXhlcnMgdG8gbXV4IGJhc2VkIG9uIHJ1bm5pbmcgdGltZSAoaWUuIGxhdGVzdCBiYXNlL2dvb2QvdWdseSByZWxlYXNlcykKCSAgLSBtYW55IG90aGVyIGZpeGVzIGFuZCBpbXByb3ZlbWVudHMKCjIwMTEtMDUtMDUgMDk6NTQ6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmg6CgkgIGNhbWVyYWJpbjogVXNlIHJ1bm5pbmcgdGltZSBmb3IgbXV4aW5nCgkgIFRoaXMgcGF0Y2ggcmVtb3ZlcyB0aGUgYXVkaW8gc291cmNlIGJ1ZmZlciBwcm9iZSB0aGF0IHdhcyB1c2VkCgkgIHRvIHJlLXRpbWVzdGFtcCBidWZmZXJzIHRvIG1ha2UgdGhlbSBzdGFydCBmcm9tIDAuIEFzIG11eGVycwoJICBoYXZlIGJlZW4gZml4ZWQgdG8gdXNlIHJ1bm5pbmcgdGltZSBpbnN0ZWFkIG9mIHRpbWVzdGFtcHMsIHRoaXMKCSAgaXMgbm90IG5lZWRlZCBhbnltb3JlLgoJICBGaXhlcyBidWcgIzY0NjIxMQoKMjAxMS0wNC0yMSAxOTo1ODowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkgIGNhbWVyYWJpbjogRml4IHR5cG8KCjIwMTEtMDUtMDQgMTI6MzY6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICB4dmlkZW5jOiBkbyBub3QgbGVhayBwZWVyIHBhZCByZWZlcmVuY2UKCjIwMTEtMDUtMDMgMTU6NDc6MDIgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICB4dmlkZW5jOiBBbHdheXMgcmV0dXJuIHJlZmZlZCBjYXBzIGZyb20gX2dldGNhcHMKCSAgTm90IHJldHVybmluZyByZWYgY2FwcyB3aWxsIGxlYWRzIHRvIGNyYXNoZXMgYW5kIHJlZmNvdW50aW5nIGlzc3VlcyBpbgoJICB1cHN0cmVhbSBlbGVtZW50cwoKMjAxMS0wNC0xNCAxMzozNDo1MyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBzZXQgZHVyYXRpb24gaW4gb3V0Z29pbmcgYnVmZmVycwoJICBDdXJyZW50bHkgd2UgcHVzaCBlYWNoIGZyYWdtZW50IGFzIGEgc2luZ2xlIGJ1ZmZlci4KCjIwMTEtMDUtMDMgMTI6MDE6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZml4IERVUkFUSU9OIHF1ZXJ5IGhhbmRsaW5nCgkgIE9ubHkgYW5zd2VyIGR1cmF0aW9uIHF1ZXJpZXMgaW4gVElNRSBmb3JtYXQgd2l0aCBhIGR1cmF0aW9uCgkgIGluIHNlY29uZHMuIE1ha2Ugc3VyZSB3ZSBkb24ndCByZXR1cm4gR1NUX0NMT0NLX1RJTUVfTk9ORSBhcwoJICBkdXJhdGlvbiAod2hpY2ggaXMgbm9uLTAsIGJ1dCBzdGlsbCBpbnZhbGlkL3VzZWxlc3MpLgoKMjAxMS0wNS0wMyAxMTo1MTo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBpbXBsZW1lbnQgU0VFS0lORyBxdWVyeQoKMjAxMS0wNS0wMyAwOTo1NTo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiOiBVc2UgdGhlIHVzZXIgY29uZmlnIGRpciBpbnN0ZWFkIG9mIHRoZSBjYWNoZSBkaXIgZm9yIHRoZSBjaGFubmVscyBjb25maWd1cmF0aW9uCgoyMDExLTA0LTI5IDE0OjM3OjA0ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2YjogbW92ZWQgZHZiLWNoYW5uZWxzLmNvbmYgdG8gJFhER19DQUNIRV9IT01FCgoyMDExLTA0LTMwIDE5OjQ3OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yc3BhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc2V0dGluZ3MueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9mci5wbzoKCSogcG8vdWsucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yMS40IHByZS1yZWxlYXNlCgoyMDExLTA0LTMwIDE5OjQ2OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy1kaXN0LmM6CgkgIFVwZGF0ZSBvcmMtZ2VuZXJhdGVkIGRpc3RlZCBDIGJhY2t1cCBjb2RlIHRvIG9yYyAwLjQuMTQKCjIwMTEtMDQtMzAgMTk6MTU6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5jOgoJICBjaG9wbXlkYXRhOiBkb24ndCBwdXNoIGJ1ZmZlcnMgc21hbGxlciB0aGFuIG1pbi1zaXplIG9uIGVvcwoJICBXaGVuIHB1c2hpbmcgdGhlIHJlbWFpbmluZyBkYXRhIG9uIEVPUywgZG9uJ3QganVzdCBwdXNoIHdoYXRldmVyCgkgIGRhdGEgaXMgbGVmdCBpbiB0aGUgYWRhcHRlciwgYnV0IG9ubHkgcHVzaCBkYXRhIHRoYXQncyBhdCBsZWFzdAoJICBvZiBtaW4tc2l6ZS4KCjIwMTEtMDQtMzAgMTk6MDg6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5jOgoJICBjaG9wbXlkYXRhOiBkb24ndCBtZXNzIHdpdGggYWRhcHRlciBmcm9tIG5vbi1zdHJlYW1pbmcgdGhyZWFkIG9uIEZMVVNIX1NUQVJUCgkgIERvbid0IHRyeSB0byBwdXNoIHJlbWFpbmluZyBkYXRhIGluIHRoZSBhZGFwdGVyIG9uIHJlY2VpdmluZyBhIEZMVVNIIGV2ZW50LAoJICBqdXN0IGZsdXNoIHRoZSBhZGFwdGVyLiBEbyB0aGlzIG9uIEZMVVNIX1NUT1AsIGhvd2V2ZXIsIHdoaWNoIGlzIHNlcmlhbGl6ZWQsCgkgIHVubGlrZSBGTFVTSF9TVEFSVCwgc28gd2UgZG9uJ3QgbWVzcyB3aXRoIHRoZSBhZGFwdGVyIGF0IHRoZSBzYW1lIHRpbWUgYXMKCSAgdGhlIHN0cmVhbWluZyB0aHJlYWQuCgoyMDExLTA0LTMwIDExOjI4OjAzICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgeTRtZGVjOiBhZGQgcGx1Z2luIGRlc2NyaXB0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDkwMDUKCjIwMTEtMDQtMjkgMTI6Mzk6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRG9uJ3QgbGVhayBidWZmZXJsaXN0IG9uIHN0cmVhbXMgd2l0aG91dCBwYWRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDg5MjkKCjIwMTEtMDQtMjkgMTI6Mzg6MzEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogVW5yZWYgYnVmZmVycyB3ZSBkb24ndCB1c2UuCgkgIEF2b2lkcyBhIG1hc3NpdmUgbGVhayA6KQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4OTI5CgoyMDExLTA0LTI5IDEyOjA4OjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IERvbid0IGZvcmdldCB0byBmcmVlIHRoZSBwcm9ncmFtIHN0cmVhbXMgYXJyYXkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0ODkyOQoKMjAxMS0wNC0yOSAxMjowODowNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGcmVlIHBhY2tldCBidWZmZXIgZXZlbiBpZiBpdCBkb2Vzbid0IGhhdmUgYSBwYXlsb2FkCgkgIFRoaXMgY2FuIGhhcHBlbiB3aXRoIEFGQy1vbmx5IHBhY2tldHMuIEF2b2lkcyBsZWFraW5nIGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDg5MjkKCjIwMTEtMDQtMjggMTA6MDc6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBkZWNrbGluazogQ2hlY2sgZm9yIHB0aHJlYWQuaCBhbmQgbGluayB3aXRoIC1scHRocmVhZAoKMjAxMS0wNC0yOCAxMDowNDoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvTWFrZWZpbGUuYW06CgkgIGRlY2tsaW5rOiBBZGQgdG8gU1VCRElSUwoKMjAxMS0wNC0yOCAwMDowMDowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXBzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy1kaXN0LmM6CgkqIHBvL2JnLnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbmwucG86CgkqIHBvL3BsLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2wucG86CgkqIHBvL3RyLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjEuMyBwcmUtcmVsZWFzZQoKMjAxMS0wNC0yNyAyMzo0MzowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSAgdG9vbHM6IGRpc2FibGUgbmV3IGdzdC1lbGVtZW50LW1ha2VyIHRlc3QKCSAgSXQgZG9lc24ndCBzZWVtIHRvIHdvcmsgaW4gYW4gdW5pbnN0YWxsZWQgc2V0dXAsIGFuZAoJICBicmVha3MgbWFrZSBkaXN0Y2hlY2sgZm9yIG1lLgoKMjAxMS0wNC0yNyAwMToxNDoyMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdG9vbHMvTWFrZWZpbGUuYW06CgkgIGVsZW1lbnQtbWFrZXI6IHRoZSBicm9la24gdGVtcGxhdGVzIGFyZSBub3QgYnJvZWtuLCBidXQgZGVwZW5kZW5jaWVzCgkgIFJlbmFtZSB0aGUgbGlzdCBhbmQgZGlzdCB0aGVtLiBXZSBuZWVkIHRoZW0gZm9yIHRoZSBhY3R1YWwgdGVtcGxhdGVzLgoKMjAxMS0wNC0yNiAxNToxMzo1NSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdG9vbHMvTWFrZWZpbGUuYW06CgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBzZXQgQ1BQRkxBR1MgdG8gbWFrZSB0ZW1wbGF0ZXMgdXNpbmcgdW5pbnN0YWxsZWQgaGVhZGVycyB3b3JrCgoyMDExLTA0LTI2IDE0OjIxOjI1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvZ29iamVjdDoKCSAgZWxlbWVudC1tYWtlcjogZml4dXAgZ29iamVjdCB0ZW1wbGF0ZSBhIGJpdCBidXQgZGlzYWJsZSBmb3Igbm93CgkgIFRoZSB0ZW1wbGF0ZSBjb250YWlucyB0aGluZ3Mgd2UgYWxyZWFkeSBkZWZpbmUgYnkgZGVmYXVsdC4KCjIwMTEtMDQtMjYgMTQ6MTA6MDUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2F1ZGlvZmlsdGVyOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlcnRwZGVwYXlsb2FkOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlcnRwcGF5bG9hZDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvY2RkYWJhc2VzcmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3RhZ2RlbXV4OgoJICBlbGVtZW50LXRlbXBsYXRlczogZml4IHRlbXBsYXRlcwoJICBVc2UgdGhlIG9iamVjdCBjbGFzcyBhbmQgbm90IHRoZSBvYmplY3QgaW4gdGhlIGluaXQgZnVuY3Rpb24uIFNldCB0aGUgdm1ldGhvZHMuCgkgIEFkZCBkZWZhdWx0IHJldHVybnMuCgoyMDExLTA0LTI2IDE0OjA4OjUxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSAgZWxlbWVudC1tYWtlcjogZG9uJ3QgZGlzdCBpbmNvbXBsZXRlIHRlbXBsYXRlcwoJICBNb3ZlIG5vdCB3b3JraW5nIHRlbXBsYXRlcyB0byBhIHNlcGFyYXRlIHZhcmlhYmxlIHRvIGhpZ2hsaWdodCB0aGUgZmFjdCB0aGF0CgkgIHRoZXkgbmVlZCBtb3JlIHdvcmsuIFRoZXNlIG5lZWQgYXQgbGVhc3QgdGhlIGNsYXNzIGFuZCB0eXBlIGZpZWxkcyBmaWxsZWQuCgoyMDExLTA0LTI2IDEzOjQ0OjA0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXItdGVzdC5zaDoKCSAgZWxlbWVudC1tYWtlci10ZXN0OiB0cnkgdG8gcnVuIGVsZW1lbnQtbWFrZXIgZm9yIGFsbCB0ZW1wbGF0ZXMKCSAgQWRkIGFuIGVhc3kgd2F5IHRvIGNoZWNrIHRoZSBlbGVtZW50LW1ha2VyIHRlbXBsYXRlcy4KCjIwMTEtMDQtMjYgMTM6NDI6NTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBtYWtlIGl0IGZhaWwsIHdoZW4gY29tcGlsYXRpb24gZmFpbHMKCjIwMTEtMDQtMTkgMTU6MDk6NTQgLTA0MDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBhbGxvdyB0byBydW4gZnJvbSBhIGRpZmZlcmVudCB3b3JraW5nIGRpcmVjdG9yeQoJICBHZXQgdGhlIGRpcm5hbWUgZm9yIHRoZSBzY3JpcHQgYW5kIHVzZSB0aGF0IHRvIHJlZmVyZW5jZSB0aGUgdGVtcGxhdGVzLiBVc2UgdGhlCgkgIHRlbXBsYXRlZGlyIHZhcmlhYmxlIHRvIGNoZWNrIGZvciB0ZW1wbGF0ZXMuCgoyMDExLTA0LTE2IDE5OjQyOjQ4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBsb3dlcmNhc2lmeSBpbnB1dAoJICBUaGlzIGFsbG93cyB1c2luZyBjYXBpdGFsaXplZCBhY3JvbnltcyBpbiBjbGFzcyBuYW1lcywgc28gdXNpbmcKCSAgIkFWQ19zcmMiIG9uIHRoZSBjb21tYW5kIGxpbmUgd2lsbCBjcmVhdGUgZmlsZW5hbWUgZ3N0YXZjc3JjLmMsCgkgIGNsYXNzIG5hbWUgR3N0QVZDU3JjLCBhbmQgc3ltYm9sIG5hbWVzIGdzdF9hdmNfc3JjXyouCgoyMDExLTA0LTI0IDE2OjQyOjAzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXgsdHNkZW11eDogQWRkIGJ5dGUtc3RyZWFtIHRvIGgyNjQgY2FwcwoJICBGaXhlcyAjNjA2NjYyLgoKMjAxMS0wNC0yNCAxNjowMDowMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBEb24ndCBhbGxvdyBidWZmZXJzIGFmdGVyIEVPUwoJICBGaXhlcyAjNjQ3ODUyLgoKMjAxMS0wNC0yNCAxNTo0OTo1NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW86IERvbid0IGR1cGxpY2F0ZSBjb2RlIGluIGJhc2V2aWRlb2NvZGVjCgkgIEJvdGggYmFzZXZpZGVvZW5jb2RlciBhbmQgYmFzZXZpZGVvY29kZWMgd2VyZSBzZXR0aW5nCgkgIHN5c3RlbV9mcmFtZV9udW1iZXIsIGxlYWRpbmcgdG8gY29uZnVzaW9uLiAgRml4ZXMgIzY0Nzg1My4KCjIwMTEtMDQtMTQgMTY6MjE6MTUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBDaGVjayBpZiBjYXBzIGFyZSBzZXQgZGlyZWN0bHkKCSAgRml4ZXMgIzY0Nzg1NC4KCjIwMTEtMDQtMTcgMDA6MDg6MzkgKzAxMDAgIE1paGFpIERyYWdoaWNpb2l1IDxtaWhhaS5kcmFnaGljaW9pdUBnbWFpbC5jb20+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IGZpeCBpbmZpbml0ZSBsb29waW5nIGJ5IGZhZGluZyBvdXQgYWZ0ZXIgdHdvIGxvb3BzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDczNjQKCjIwMTEtMDQtMjQgMTQ6MDQ6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjM2NhZmUxIHRvIDQ2ZGZjZWEKCjIwMTEtMDQtMjIgMDk6Mzc6MjkgKzAxMDAgIEZhYnJpemlvIE1pbG8gPG1pc3RvYmFhbkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5oOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5Lmg6CgkgIG9wZW5jdjogbWFrZSB3b3JrIHdpdGggb3BlbkNWIDIuMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxNzk2CgoyMDExLTA0LTE5IDE3OjAyOjQ1ICswMTAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIEFkZCBsYXRlc3QgcGx1Z2lucyB0byBzcGVjIGZpbGUKCjIwMTEtMDQtMTUgMjI6MjU6MjcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBBZGQgYnl0ZS1zdHJlYW0gdG8gaDI2NCBjYXBzCgoyMDExLTA0LTE4IDEyOjAxOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214Zm11eC5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbXhmLmM6CgkgIHdhdnBhY2s6IFJlbW92ZSBidXMgR1NvdXJjZSB0byBwcmV2ZW50IGEgdmFsZ3JpbmQgd2FybmluZwoKMjAxMS0wNC0xOCAxMTo1NzoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzoKCSAgb2ZhOiBSZW1vdmUgYnVzIEdTb3VyY2UgdG8gcHJldmVudCBhIHZhbGdyaW5kIHdhcm5pbmcKCjIwMTEtMDQtMTggMTE6NTA6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogUmVtb3ZlIGJ1cyBHU291cmNlIHRvIHByZXZlbnQgYSB2YWxncmluZCB3YXJuaW5nCgoyMDExLTA0LTE4IDExOjQ2OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSAgZGVja2xpbms6IFJlbW92ZSB1bnVzZWQvdW5uZWVkZWQgQ0ZMQUdTL0xJQlMgYW5kIG1vdmUgJChMSUJNKSB0byBMSUJBREQKCjIwMTEtMDQtMTggMTE6NDM6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2xpbnN5cy9NYWtlZmlsZS5hbToKCSAgbGluc3lzOiBMaW5rIHdpdGggbGliZ3N0YmFzZSBmb3IgYmFzZXNpbmsvYmFzZXNyYwoJICBBbmQgcmVtb3ZlIGVtcHR5IGFuZCB1bnVzZWQgdmFyaWFibGVzLgoKMjAxMS0wNC0xNyAxOTowOTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkgIGRlY2tsaW5rOiBEaXN0IGFsbCBoZWFkZXJzIGFuZCBwdXQgdGhlbSBpbiBub2luc3RfSEVBREVSUwoKMjAxMS0wNC0xNyAxOTowOToxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbGluc3lzL01ha2VmaWxlLmFtOgoJICBsaW5zeXM6IERpc3QgYWxsIGhlYWRlcnMgYW5kIHB1dCB0aGVtIGluIG5vaW5zdF9IRUFERVJTCgoyMDExLTA0LTE3IDExOjU0OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBGaXggbGluc3lzL2RlY2tsaW5rIGNoZWNrcyBmb3IgTGludXgKCjIwMTEtMDQtMTcgMDE6MTA6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjEuMiBwcmUtcmVsZWFzZQoKMjAxMS0wNC0xNyAwMTowOTozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuaDoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy1kaXN0LmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMtZGlzdC5oOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0Lmg6CgkgIGV4dCwgZ3N0OiB1cGRhdGUgZGlzdGVkIG9yYyBiYWNrdXAgZmlsZXMKCjIwMTEtMDQtMTcgMDA6NTQ6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JzcGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkgIGRvY3M6IHVwZGF0ZSBkb2NzIGZvciBwcmUtcmVsZWFzZQoKMjAxMS0wNC0xNiAxNjozNjowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IC0tZGlzYWJsZS1leHRlcm5hbAoKMjAxMS0wNC0xNCAyMDo0Njo1MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IHJlZmFjdG9yIGJsaXR0aW5nLCBhdm9pZCB3cml0aW5nIHBhc3QgZW5kIG9mIGJ1ZmZlcgoJICBQcmV2aW91cyBibGl0dGluZyBjb2RlIGNvdWxkIHBvdGVudGlhbGx5IHdyaXRlIHBhc3QgdGhlCgkgIGVuZCBvZiB0aGUgYnVmZmVyIGlmIHRoZSB4IG9yIHkgcG9zaXRpb24gd2FzIG9kZCwgYW5kIGZvcgoJICB0aGUgc2FtZSB1bmRlcmx5aW5nIHJlYXNvbiwgZGlkbid0IGdldCB0aGUgY2hyb21hIHJlZ2lzdHJhdGlvbgoJICBjb3JyZWN0IGluIHRoZSBvZGQgcG9zaXRpb24gY2FzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NzgzMAoKMjAxMS0wNC0xNiAxMToxODo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVnZm9ybWF0OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUgb24gbWFjb3N4CgoyMDExLTA0LTE0IDIwOjM5OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSAgY2FtZXJhYmluOiBEbyBub3QgZm9yZ2V0IHRvIHVucmVmIHRoZSBmZm1wZWdjb2xvcnNwYWNlCgkgIERvIG5vdCBsZWFrIHRoZSBmZm1wZWdjb2xvcnNwYWNlIGJ5IHVucmVmaW5nIGl0IGF0IGRpc3Bvc2UKCjIwMTEtMDQtMTQgMTY6NDg6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3Q6IGNhbWVyYWJpbjogTW9yZSBsZWFrIGZpeGVzCgoyMDExLTA0LTE1IDEwOjQxOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIG00L2dzZXR0aW5ncy5tNDoKCSAgbTQ6IFVwZGF0ZSBnc2V0dGluZ3MgbTQgbWFjcm9zCgoyMDExLTA0LTE0IDE2OjI0OjQ3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBvcmMgcmVxdWlyZW1lbnQgdG8gMC40LjExCgoyMDExLTA0LTE1IDAwOjA5OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hlY2tzdW1zaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNob3BteWRhdGEuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RmaXNoZXllLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBGaXggc29tZSB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSB3YXJuaW5ncyB3aXRoIGdjYyA0LjYKCjIwMTEtMDQtMTQgMTk6NTM6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvZ29iamVjdDoKCSAgZWxlbWVudC10ZW1wbGF0ZXM6IGNsZWFuIHVwIGdvYmplY3QgdGVtcGxhdGUgYSBiaXQKCSAgUmVtb3ZlIHBvaW50bGVzcyBnX3JldHVybl9pZl9mYWlsIChHX0lTX0ZPTyAob2JqKSkgY2hlY2tzIGluCgkgIHZmdW5jIGltcGxlbWVudGF0aW9ucy4gQ29tbWVudCBvdXQgdW51c2VkIHZhcmlhYmxlcyB0byBhdm9pZAoJICB3YXJuaW5ncyB3aXRoIGdjYyA0LjYuCgoyMDExLTA0LTE0IDE4OjM2OjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkgIGFzZm11eDogZml4IHVudXNlZC1idXQtc2V0LXZhcmlhYmxlIHdhcm5pbmdzIHdpdGggZ2NjIDQuNgoKMjAxMS0wNC0xNCAxODozNjowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkgIGJheWVyOiBmaXggdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgd2FybmluZ3Mgd2l0aCBnY2MgNC42CgoyMDExLTA0LTE0IDE0OjMyOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IExlYWsgZml4ZXMgZm9yIHRoZSB1bml0IHRlc3RzCgkgIExlYWsgZml4ZXMgcmVsYXRlZCB0byBub3QgcmVtb3ZpbmcgdGhlIHNvdXJjZSByZXR1cm5lZCBmcm9tCgkgIGdzdF9idXNfYWRkX3dhdGNoCgoyMDExLTA0LTE0IDEzOjI3OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogY2FtZXJhYmluOiBTb21lIGxlYWsgZml4ZXMKCSAgTGVhayBmaXhlcyByZWxhdGVkIHRvIHJlbW92aW5nIHRoZSBzb3VyY2UgcmV0dXJuZWQgZnJvbQoJICBnc3RfYnVzX2FkZF93YXRjaAoKMjAxMS0wNC0xMyAxNTowNToxNSAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG8udmVyZGVqb0Bjb2xsYWJvcmEuY28udWs+CgoJKiBBbmRyb2lkLm1rOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9BbmRyb2lkLm1rOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9Hc3RBbmRyb2lkLmNwcDoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvYXVkaW9mbGluZ2VyX3dyYXBwZXIuY3BwOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9hdWRpb2ZsaW5nZXJfd3JhcHBlci5oOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9nc3RhdWRpb2ZsaW5nZXJyaW5nYnVmZmVyLmg6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL2dzdGF1ZGlvZmxpbmdlcnNpbmsuYzoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvZ3N0YXVkaW9mbGluZ2Vyc2luay5oOgoJICBSZW1vdmUgYXVkaW9mbGluZ2Vyc2luawoJICBSZW1vdmUgYXVkaW9mbGluZ2Vyc2luaywgaXQncyBpbiBnc3QtYW5kcm9pZCBub3cuCgoyMDExLTA0LTE0IDE2OjQ5OjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW86IGZpeCB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSB3YXJuaW5ncyB3aXRoIGdjYyA0LjYKCjIwMTEtMDQtMTQgMTY6MTQ6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3Lmg6CgkgIGJhc2VjYW1lcmFzcmM6IGFkZCB1bnN0YWJsZS1BUEkgd2FybmluZ3MgaWYgR1NUX1VTRV9VTlNUQUJMRV9BUEkgaXMgbm90IGRlZmluZWQKCSAgU28gcGVvcGxlIGtub3cgdGhpcyBpcyB1bnN0YWJsZSBBUEkgZXZlbiBpZiBpdCBlbmRzIHVwIHJpZ2h0IG5leHQKCSAgdG8gb3VyIG90aGVyIEFQSS4KCjIwMTEtMDQtMTQgMTY6MTE6NTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L21lZGlhLWluZm8vLmdpdGlnbm9yZToKCSAgbGliczogcmVtb3ZlIGxlZnRvdmVyIG1lZGlhLWluZm8gZGlyZWN0b3J5CgoyMDExLTA0LTEzIDIyOjQ4OjI4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBtM3U4OiByZXR1cm4gZHVyYXRpb24gaW4gbmFub3NlY29uZHMKCjIwMTEtMDQtMTMgMjM6MzU6NTAgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBmaXggaGFuZGxpbmcgb2YgZW5kIG9mIHBsYXlsaXN0CgkgIERvbid0IHNlbmQgdGhlIEVPUyBldmVudCB1bnRpbCB3ZSByZWFjaGVkIHRoZSBlbmQgb2YgdGhlIHBsYXlsaXN0CgkgIGFuZCB0aGUgcXVldWUgaXMgcmVhbGx5IGVtcHR5LgoKMjAxMS0wNC0xMyAyMjoyNTo1NyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCBleGFtcGxlIHBpcGVsaW5lCgoyMDExLTA0LTEzIDIzOjA2OjE4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogaWdub3JlIHNlZWsgZXZlbnRzIHVudGlsIGl0J3MgaW1wbGVtZW50ZWQKCjIwMTEtMDQtMTMgMjI6MTc6MDUgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkaXNwb3NlIHRoZSBmZXRjaGVyIGZyb20gdGhlIHNhbWUgdGhyZWFkIGl0J3MgY3JlYXRlZAoKMjAxMS0wNC0xNCAxMToyODo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazo6IGZpeCBjb21waWxhdGlvbiB3aXRoIG9sZGVyIEdMaWIKCSAgZ19vYmplY3Rfbm90aWZ5X2J5X3BzcGVjKCkgaXMgbmV3IGluIEdMaWIgMi4yNiwgYnV0IHdlIG9ubHkgcmVxdWlyZSAyLjIyLgoKMjAxMS0wNC0xNCAwNzoyMTo1MCArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHdpdGggYSBsb3Qgb2YgbmV3IHBsdWdpbnMKCjIwMTEtMDQtMTMgMjM6NTk6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIHRlc3RzOiBqaWZtdXg6IEFkZHMgdGVzdCBmb3IgbmV3IGV4cG9zdXJlIGNvbXBlbnNhdGlvbiB0YWcKCSAgQWRkcyBhIHRlc3QgZm9yIEdTVF9UQUdfQ0FQVFVSSU5HX0VYUE9TVVJFX0NPTVBFTlNBVElPTiBvbgoJICBqaWZtdXggY2hlY2sgdGVzdHMuCgoyMDExLTA0LTEzIDIxOjU4OjM2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvZ3N0ZHRtZmNvbW1vbi5oOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZjb21tb24uaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgZHRtZjogTW92ZSBkdXBsaWNhdGUgI2RlZmluZXMgaW50byBhIGNvbW1vbiBpbmNsdWRlCgkgIENlbnRyYWxpemUgZHVwbGljYXRlZCBjb25zdGFudHMgc28gdGhleSBoYXZlIHRoZSBzYW1lIHZhbHVlLgoJICBBbHNvIHN0YW5kYXJkaXNlIG1pbmltdW0gdG9uZSBkdXJhdGlvbiB0byAyNTBtcyBhbmQgbWluaW11bSBpbnRlci10b25lCgkgIGludGVydmFsIHRvIDEwMG1zLgoKMjAxMS0wNC0xMyAyMjozMzozNyAtMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBQcmVzZXJ2ZSB1bnVzZWQgaW1hZ2ViaW4gb3IgdmlkZW9iaW4gb24gTlVMTAoJICBJZiB2aWRlbyBvciBpbWFnZSBtb2RlIGlzIG5ldmVyIHNlbGVjdGVkIHRoZW4gcmVzcGVjdGl2ZSBiaW4gaXMgaW4gTlVMTCBzdGF0ZS4KCSAgUHJlc2VydmUgdGhpcyBzdGF0ZSB3aGVuIHJlc2V0dGluZyBjYW1lcmFiaW4gZnJvbSBQQVVTRUQgdG8gUkVBRFkuCgoyMDExLTA0LTEzIDIyOjA3OjU4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcG5tL01ha2VmaWxlLmFtOgoJICBwbm06IGFkZCBMSUJUT09MRkxBR1MgPSAtLXRhZz1kaXNhYmxlLXN0YXRpYwoKMjAxMS0wNC0xMyAyMDoyNjoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgIHh2aWRlbmM6IEltcGxlbWVudCBnZXRjYXBzIGZ1bmN0aW9uCgkgIFRoaXMgYWxsb3dzIHRvIHNldCB3aWR0aC9oZWlnaHQvZXRjIHJlc3RyaWN0aW9ucyB0byBiZSBzZXQgZG93bnN0cmVhbS4KCSAgRml4ZXMgYnVnICM2NDc0OTguCgoyMDExLTA0LTEyIDIxOjQ3OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIEFuZHJvaWQubWs6CgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9xdG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvcXRtdXgvYXRvbXNyZWNvdmVyeS5oOgoJKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuYzoKCSogZ3N0L3F0bXV4L2Rlc2NyaXB0b3JzLmg6CgkqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSogZ3N0L3F0bXV4L2Z0eXBjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtb292cmVjb3Zlci5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4cGx1Z2luLmM6CgkqIGdzdC9xdG11eC9wcm9wZXJ0aWVzLmM6CgkqIGdzdC9xdG11eC9wcm9wZXJ0aWVzLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHF0bXV4OiByZW1vdmUgcXRtdXggcGx1Z2luLCBpdCBoYXMgbW92ZWQgdG8gLWdvb2QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNjY5OQoKMjAxMS0wNC0xMyAxNjozMToxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IGxpYmV4aWYgcGtnLWNvbmZpZyBjaGVjawoJICBUaGVyZSdzIG5vIGV4aWYgcGx1Z2luIHNvIGRvbid0IHVzZSBBR19HU1RfQ0hFQ0tfRkVBVFVSRS4KCSAgRml4ZXMgYnVnICM2NDc1NjQuCgoyMDExLTA0LTEyIDE2OjQyOjE3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogUmVtb3ZlIGxlZnRvdmVyIE1BRU1PX0JST0tFTiBkZWZpbmVzCgkgIFJlbW92ZSBkZWZpbmVzIHRvIHdvcmsgYXJvdW5kIGJ1Z3MgaW4gb2xkIE1hZW1vIHJlbGVhc2VzCgoyMDExLTA0LTExIDE0OjQ0OjE3IC0wMzAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEZpeCBjb3JuZXIgY2FzZSBmb3IgcHJldmlldyBwb3N0aW5nCgkgIEZpeCBjb3JuZXIgY2FzZSB3aGVyZSB2aWRlbyBwcmV2aWV3IGltYWdlIGlzIG5vdCBwb3N0ZWQgaWYgc3RvcHBpbmcKCSAgdmlkZW8gY2FwdHVyZSBpbW1lZGlhdGVseSBhZnRlciBjYXB0dXJlIHN0YXJ0LgoKMjAxMS0wNC0xMSAxODozMTo0NSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogc3VidHJhY3QgaWQtc3RyIHNpemUgZnJvbSB0aGUgcmVtYWluaW5nIHJlYWQKCSAgRml4ZXMgYSByZWdyZXNzaW9uIGZyb20gdGhlIHBhdGNoZXMgaW4gYnVnICM2MjY2MTguCgoyMDExLTA0LTExIDE4OjMwOjE3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBqcGVnOiBzZXQgdGFncyB0byBOVUxMIGF0IGluaXQgdGltZSBhbmQgYWZ0ZXIgZnJlZWluZyB0aGVtCgoyMDExLTA0LTExIDE4OjI5OjI4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAganBlZzogY29tbWVudCBhbmQgbG9nZ2luZyBjaGFuZ2VzCgoyMDExLTA0LTEwIDE5OjUzOjM1ICswMjAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGFkZCBnc3RfanBlZ19wYXJzZV9yZW1vdmVfbWFya2VyKCkKCSAgVGhpcyBmdW5jdGlvbiB3aWxsIHJlbW92ZSB0aGUgd2hvbGUgbWFya2VyIGZyb20gdGhlIGJ1ZmZlci4KCSAgQWxzbyB3ZSBzZXQgaXQgYXMgdGhlIGRlZmF1bHQgYmVoYXZpb3IgZm9yIG1hcmtlciBKUEd7MC0xM30/IGluIG9yZGVyIHRvIGF2b2lkCgkgIGEgdXNlbGVzcyAjaWYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNjYxOAoKMjAxMC0wOC0xMyAxMjozODowMiArMDIwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiByZWZhY3RvciBDT00gcGFyc2luZwoJICBhZGQgZ3N0X2pwZWdfcGFyc2VfY29tICgpIGFuZCBnZXRfdXRmOF9mcm9tX2RhdGEgKCkgdG8gZXh0cmFjdCBhbmQKCSAgdmFsaWRhdGUgY29tbWVudCBmb3JtYXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNjYxOAoKMjAxMC0xMS0xNiAxODoyMjowNyArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiByZWZhY3RvciBBUFAxIHBhcnNpbmcKCSAgYWRkIGdzdF9qcGVnX3BhcnNlX2FwcDEgKCkgYW5kIGV4dHJhY3RfYW5kX3F1ZXVlX3RhZ3MgKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNjYxOAoKMjAxMC0xMS0yMSAxNTowNTo0MyArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBsb2cgaWQgd2hlbiBza2lwcGluZyBhbiB1bmhhbmRsZWQgQVBQIG1hcmtlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI2NjE4CgoyMDEwLTExLTE2IDE3OjQ3OjE3ICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IHNraXAgYWxsIEFQUCBtYXJrZXJzLCBleGNlcHRpbmcgQVBQMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI2NjE4CgoyMDEwLTExLTIxIDE1OjA5OjE3ICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGFkZCBnZXRfdGFnX2xpc3QgKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNjYxOAoKMjAxMS0wNC0xMSAwMDozNjozNSAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY28udWs+CgoJKiBBbmRyb2lkLm1rOgoJKiBhbmRyb2lkL05PVElDRToKCSogYW5kcm9pZC9oMjY0cGFyc2UubWs6CgkqIGFuZHJvaWQvbWV0YWRhdGEubWs6CgkqIGFuZHJvaWQvcXRtdXgubWs6CgkqIGFuZHJvaWQvc2RwZWxlbS5tazoKCSogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9NYWtlZmlsZS5hbToKCSogZ3N0L2FkcGNtZGVjL01ha2VmaWxlLmFtOgoJKiBnc3QvYWRwY21lbmMvTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmL01ha2VmaWxlLmFtOgoJKiBnc3QvYXNmbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9idWZmZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXRvY29udmVydC9NYWtlZmlsZS5hbToKCSogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NkeGFwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2NvbG9yZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2NvbG9yc3BhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9kYXRhdXJpc3JjL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmJzdWJvdmVybGF5L01ha2VmaWxlLmFtOgoJKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVlemUvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVpMHIvTWFrZWZpbGUuYW06CgkqIGdzdC9nYXVkaWVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9oMjY0cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9oZHZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSogZ3N0L2lkM3RhZy9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ludnRlbGVjaW5lL01ha2VmaWxlLmFtOgoJKiBnc3QvaXZmcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9qcDJrZGVjaW1hdG9yL01ha2VmaWxlLmFtOgoJKiBnc3QvanBlZ2Zvcm1hdC9NYWtlZmlsZS5hbToKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL01ha2VmaWxlLmFtOgoJKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJKiBnc3QvbGl2ZWFkZGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3BzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcGF0Y2hkZXRlY3QvTWFrZWZpbGUuYW06CgkqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9wbm0vTWFrZWZpbGUuYW06CgkqIGdzdC9xdG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwdnA4L01ha2VmaWxlLmFtOgoJKiBnc3Qvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSogZ3N0L3NkaS9NYWtlZmlsZS5hbToKCSogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3NlZ21lbnRjbGlwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2lyZW4vTWFrZWZpbGUuYW06CgkqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSogZ3N0L3N0ZXJlby9NYWtlZmlsZS5hbToKCSogZ3N0L3N1YmVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L3R0YS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWF4cmF0ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWVhc3VyZS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvQW5kcm9pZC5tazoKCSAgYW5kcm9pZDogbWFrZSBpdCByZWFkeSBmb3IgYW5kcm9nZW5pemVyCgkgIFJlbW92ZSB0aGUgYW5kcm9pZC8gdG9wIGRpcgoJICBGaXhlIHRoZSBNYWtlZmlsZS5hbSB0byBiZSBhbmRyb2dlbml6ZWQKCSAgVG8gYnVpbGQgZ3N0cmVhbWVyIGZvciBhbmRyb2lkIHdlIGFyZSBub3cgdXNpbmcgYW5kcm9nZW5pemVyIHdoaWNoIGdlbmVyYXRlcyB0aGUgbmVlZGVkIEFuZHJvaWQubWsgZmlsZXMuCgkgIEFuZHJvZ2VuaXplciBjYW4gYmUgZm91bmQgaGVyZTogaHR0cDovL2dpdC5jb2xsYWJvcmEuY28udWsvP3A9dXNlci9kZXJlay9hbmRyb2dlbml6ZXIuZ2l0CgoyMDExLTA0LTEwIDAwOjIyOjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRvb2xzL01ha2VmaWxlLmFtOgoJICBlbGVtZW50LW1ha2VyOiBkaXN0IG5ldyB2aWRlb2ZpbHRlcjIgdGVtcGxhdGUKCjIwMTEtMDQtMDkgMTM6NDA6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJICB2ZHBhdTogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoKMjAxMS0wNC0wOSAxMDowMzowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5oOgoJICBmcHNkaXNwbGF5c2luazogQWRkIGxhc3QtbWVzc2FnZSBwcm9wZXJ0eSBhbmQgbmV2ZXIgcHJpbnQgYW55dGhpbmcgdG8gc3Rkb3V0CgkgIEluc3RlYWQgZXZlcnl0aGluZyB3aWxsIGJlIHB1dCBpbnRvIHRoZSBsYXN0LW1lc3NhZ2UgcHJvcGVydHkgYW5kCgkgIGdzdC1sYXVuY2ggLXYgd2lsbCBwcmludCBhbGwgY2hhbmdlcyBvZiB0aGUgcHJvcGVydHkuIFRoaXMgbWFrZXMKCSAgdGhlIGJlaGF2aW91ciBvZiBmcHNkaXNwbGF5IGNvbnNpc3RlbnQgd2l0aCB0aGUgZmFrZXNpbmsvaWRlbnRpdHkvZXRjCgkgIGJlaGF2aW91ci4KCjIwMTEtMDQtMDkgMDk6NTA6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSAgZnBzZGlzcGxheXNpbms6IFJlbmFtZSB2ZXJib3NlIHByb3BlcnR5IHRvIHNpbGVudCBmb3IgY29uc2lzdGVuY3kKCjIwMTEtMDQtMDkgMDA6Mzc6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZXBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZXBhcnNlL2dzdGJhc2VwYXJzZS5oOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlcGFyc2U6CgkgIGJhc2VwYXJzZTogcmVtb3ZlIC1iYWQgdmVyc2lvbiBvZiBiYXNlcGFyc2UgbGlicmFyeSwgbm93IGluIGNvcmUKCjIwMTEtMDQtMDIgMTg6MzA6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5oOgoJICB2aWRlb3BhcnNlcnM6IHBvcnQgdG8gYmFzZXBhcnNlLCB3aGljaCBpcyBub3cgaW4gbGliZ3N0YmFzZSBpbiBjb3JlCgoyMDExLTA0LTA4IDEyOjExOjA3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0c2NlbmVjaGFuZ2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3RzY2VuZWNoYW5nZS5oOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyMi5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyc2JhZC5jOgoJICBzY2VuZWNoYW5nZTogbmV3IHNjZW5lIGNoYW5nZSBkZXRlY3Rpb24gZWxlbWVudAoKMjAxMS0wNC0wOCAxMDoyNjo0MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy92aWRlb2ZpbHRlcjI6CgkgIGVsZW1lbnQtbWFrZXI6IEFkZCB2aWRlb2ZpbHRlcjIgdGVtcGxhdGUKCjIwMTEtMDQtMDggMTk6MzI6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGFuZHJvaWQvYWFjcGFyc2UubWs6CgkqIGFuZHJvaWQvYW1ycGFyc2UubWs6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWMzcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmxhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWdhdWRpb3BhcnNlLmM6CgkgIFJlbW92ZSBhdWRpb3BhcnNlcnMgcGx1Z2luLCBpdCBoYXMgYmVlbiBtb3ZlZCB0byAtZ29vZAoKMjAxMS0wNC0wOCAxNDowODoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5OiBVc2UgUFJPUF8gaW5zdGVhZCBvZiBBUkdfIGZvciB0aGUgcHJvcGVydHkgZW51bXMKCjIwMTEtMDQtMDcgMTU6MTU6NTcgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBub3JtYW5kQGlnYWxpYS5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5oOgoJICBmcHNkaXNwbGF5OiBBZGQgdmVyYm9zZSBwcm9wZXJ0eQoJICBXaGVuIHRoaXMgcHJvcGVydHkgaXMgc2V0IHRvIFRSVUUgdGhlIGVsZW1lbnQgd2lsbCBkaXNwbGF5IHN0YXRpc3RpY3MKCSAgb24gc3Rkb3V0LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ3MDMwCgoyMDExLTA0LTA1IDIxOjA0OjU0ICswMjAwICBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgIGRzaG93dmlkZW9zaW5rOiB1cGRhdGUgZm9yIGxhdGVzdCBHc3RYT3ZlcmxheSBjaGFuZ2VzCgkgIEZyb20geHdpbmRvd19pZCB0byB3aW5kb3dfaGFuZGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ2OTU1CgoyMDExLTA0LTA3IDE4OjMwOjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IHJlbGF4IHN5bmMgbWF0Y2ggYSBiaXQgd2hlbiBkcmFpbmluZwoJICAuLi4gdG8gYXQgbGVhc3QgYWxsb3cgaW5pdGlhbCBjYXBzIGNoYW5nZSAoYnV0IG5vIGZ1cnRoZXIgY2FwcyBqaXR0ZXIpLgoKMjAxMS0wNC0wNiAxNTo1ODowNyArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmg6CgkgIGZpZWxkYW5hbHlzaXM6IFVzZSBSRkYgZmxhZyB0byBpbmRpY2F0ZSBidWZmZXJzIHRvIGRyb3AgZG93bnN0cmVhbQoJICBVc2Ugb2YgdGhlIEdBUCBmbGFnIGlzIG5vdCByZWFsbHkgY29ycmVjdCBoZXJlIGFuZCBtYWtlcyBpdCBkaWZmaWN1bHQgdG8KCSAgaGFuZGxlIHJlYWwgR0FQIGJ1ZmZlcnMgaW4gZGVpbnRlcmxhY2UuIFRoZSBSRkYgZmxhZyBpcyB1bnVzZWQgYW5kIGNhbgoJICBiZSByZXVzZWQgd2l0aCBzaW1pbGFyIHNlbWFudGljcyAtIHRoZSBidWZmZXJzIG1hcmtlZCB3aXRoIFJGRiB0aGF0IGFyZQoJICBpbiBhIHRlbGVjaW5lIHN0YXRlIGNvbnRhaW4gb25seSB1bm5lZWRlZCByZXBlYXRlZCBmaWVsZHMgYW5kIHNvIGNhbiBiZQoJICBkcm9wcGVkLgoKMjAxMS0wNC0wNSAxOToyNjoxNSArMDMwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogZW5zdXJlIGdzdF9wb2xsX3dhaXQgaXMgY2FsbGVkIGZpcnN0IG9uIGRlc2NyaXB0b3JzCgkgIFdlIG5lZWQgdG8gY2FsbCBnc3RfcG9sbF93YWl0IGJlZm9yZSBjYWxsaW5nIGdzdF9wb2xsXyogc3RhdHVzCgkgIGZ1bmN0aW9ucyBvbiB0aGF0IG5ldyBkZXNjcmlwdG9yLCBzbyByZXN0YXJ0IHRoZSBsb29wLCBzbyBfd2FpdAoJICB3aWxsIGhhdmUgYmVlbiBjYWxsZWQgb24gYWxsIGVsZW1lbnRzIG9mIHNlbGYtPnBvbGwsIHdoZXRoZXIKCSAgdGhleSBoYXZlIGp1c3QgYmVlbiBhZGRlZCBvciBub3QuICovCgoyMDExLTA0LTA2IDIwOjQwOjQwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIHNobTogRml4IE1TR19OT1NJR05BTCBjaGVjawoJICBJbmNsdWRlIHN5cy9zb2NrZXQuaCBiZWZvcmUgY2hlY2tpbmcgZm9yIE1TR19OT1NJR05BTCwgYWxzbwoJICBjaGVjayB0aGF0IHN5cy9zb2NrZXQuaCBiZWZvcmUgZG9pbmcgYW55IG90aGVyIGNoZWNrcyBmb3Igc2htCgoyMDEwLTEyLTE1IDEwOjM5OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZG9uJ3QgcmVseSBvbiB0aGUgYXBwbGljYXRpb24gcnVubmluZyB0aGUgZGVmYXVsdCBHTGliIG1haW4gbG9vcAoJICBEb24ndCB1c2UgZ19pZGxlX2FkZCgpIGFuZCBmcmllbmRzIHRvIHNjaGVkdWxlIHRoaW5ncyB3ZSBjYW4ndCBkbyBmcm9tIHRoZQoJICBzdHJlYW1pbmcgdGhyZWFkIGluIGFub3RoZXIgdGhyZWFkLiBUaGUgYXBwIG1heSBub3QgYmUgcnVubmluZyB0aGUgZGVmYXVsdAoJICBHTGliIG1haW4gbG9vcC4gSW5zdGVhZCwganVzdCBzcGF3biBhIHRocmVhZC4KCSAgQWxzbywgd2UgbmVlZCB0byBjYXJlIGZvciB3aGVuIGFjZXNzaW5nIGEgcGFkIHZhcmlhYmxlLCBhcyBhbm90aGVyIHRocmVhZAoJICBtaWdodCBoYXZlIHRha2VuIGNhbWVyYWJpbiB0byBOVUxMIHdoaWxlIHRoaXMgZ3N0X2NhbWVyYWJpbl9pbWdiaW5fZmluaXNoZWQKCSAgZGlkbid0IHJ1bi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNTY1NQoKMjAxMS0wNC0wNCAyMDo1NTozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiByZXF1aXJlIHRpZ2h0ZXIgc3luYyBtYXRjaCB3aGVuIGRyYWluaW5nCgoyMDExLTA0LTA0IDE1OjU3OjM2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDFjY2JlMDkgdG8gYzNjYWZlMQoKMjAxMS0wNC0wNCAxMjoyMToyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IG1vcmUgaGVscGZ1bCBkZWJ1ZyBlcnJvciBtZXNzYWdlIHdoZW4gbm8gbmVlZGVkIGR1cmF0aW9uIG9uIGlucHV0IGJ1ZmZlcnMKCSAgRml4ZXMgIzY0NjI1Ni4KCjIwMTEtMDQtMDIgMDE6MjE6MzQgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiB2YWxpZGF0ZSBwcm9wZXJseSB1dGYtOCBwbGF5bGlzdAoKMjAxMS0wNC0wMiAwMToxMDozNyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogbTN1ODogY2xlYXIgdGhlIGxpc3Qgb2YgbWVkaWEgZmlsZXMgYmVmb3JlIHVwZGF0aW5nIHRoZSBwbGF5bGlzdAoKMjAxMS0wNC0wMiAwMTowODowMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogdXNlIGFuZCBhZGFwdGVyIGluc3RlYWQgb2YgY29zdGZ1bCBidWZmZXIgam9pbnMKCjIwMTEtMDQtMDEgMTM6NTM6MjggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2RjMTM5NC9NYWtlZmlsZS5hbToKCSogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgc2V0dGluZyBvZiBwbHVnaW5kaXIgZnJvbSBNYWtlZmlsZXMKCjIwMTEtMDMtMjYgMTc6NTU6MzEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBGaXggbmVnb3RpYXRpb24gZXJyb3JzCgoyMDExLTAzLTI2IDE3OjQzOjU0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvOiBBZGQgZnVuY3Rpb24gdG8gYWxsb2NhdGUgc3JjIGJ1ZmZlcgoKMjAxMS0wNC0wMSAxNjo1Mjo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBbm90aGVyIHdpbmRvd3MgYnVpbGQgZml4CgkgIFJlcGxhY2UgJWxsZCB3aXRoICV1IGFzIEdTVF9CVUZGRVJfU0laRSBpcyBhIGd1aW50CgoyMDExLTA0LTAxIDE2OjEyOjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvbTN1OC5jOgoJICBobHM6IEZpeCBjb21waWxhdGlvbiBvbiB3aW5kb3dzCgkgIFVzZSBzdHJpbmcgbGl0ZXJhbCBvbiBwcmludGluZyBmb3JtYXQKCjIwMTEtMDQtMDEgMTM6Mzk6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBQcm9jZXNzaW5nIHNob3VsZCBzdG9wIG9uIFJFQURZCgkgIFRoZSB2aWRlb2JpbiBhbmQgaW1hZ2ViaW4gZnJvbSBjYW1lcmFiaW4gaGF2ZSB0aGVpciBzdGF0ZXMKCSAgbG9ja2VkIGFuZCBhcmVuJ3QgcHV0IHRvIFJFQURZIHdoZW4gYWxsIHRoZSByZXN0IG9mIGNhbWVyYWJpbgoJICBpcyBzZXQgdG8gaXQuCgkgIFRoaXMgbWlnaHQgY2F1c2Ugb25lIG9mIHRoZW0gdG8gYmUgc3RpbGwgcHJvY2Vzc2luZyBhbmQgcG9zdAoJICBhbiBFT1MgYWZ0ZXIgY2FtZXJhYmluIGlzbid0IGV4cGVjdGluZyBpdCBhbnltb3JlLCB0aGlzIGNhdXNlcwoJICBhbiBhc3NlcnRpb24gYXMgdGhlIHByb2Nlc3NpbmcgY291bnRlciB3b3VsZCBhbHJlYWR5IGJlIDAgYW5kCgkgIHdvdWxkIGJlIGRlY3JlbWVudGVkLgoKMjAxMS0wNC0wMSAxNTowMDozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0c2VnbWVudGNsaXAuYzoKCSAgc2VnbWVudGNsaXA6IEtlZXAgYSByZWZlcmVuY2Ugb2YgZXZlbnRzIHVudGlsIHRoZSBldmVudCBpcyBwYXJzZWQKCjIwMTEtMDQtMDEgMTQ6NDc6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkgIG1wZWdhdWRpb3BhcnNlOiBQYXJzZSBlbmNvZGVyIGRlbGF5IGFuZCBlbmNvZGVyIHBhZGRpbmcgZnJvbSB0aGUgTEFNRSBoZWFkZXIgaWYgcHJlc2VudAoKMjAxMS0wMy0zMSAxNjoyMToxMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobTogTWFrZSBkZWZhdWx0IHBlcm0gdStydyBnK3IgZm9yIHNobSBhcmVhCgoyMDExLTAzLTMwIDE1OjUzOjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHVwZGF0ZSBmb3IgbWVkaWEgdHlwZSB3YXMgcmVuYW1pbmcgZnJvbSBwbGF5bGlzdC9tM3U4IHRvIGFwcGxpY2F0aW9uL3gtaGxzCgoyMDExLTAzLTMwIDExOjMzOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBBZGQgaGxzIHBsdWdpbgoKMjAxMS0wMy0zMCAxMDoxMToyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBTb21lIG1pbm9yIGNsZWFudXAKCSAgVXNlIEdTVF9ERUJVR19GVU5DUFRSIGFuZCBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTCgoyMDExLTAzLTMwIDAzOjM0OjM5ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZml4IGluZGVudGF0aW9uIGFuZCBkb2NzIHNlY3Rpb25zCgoyMDExLTAzLTI5IDIzOjE4OjI0ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG9uJ3QgbGVlayB0aGUgcXVlcnkKCjIwMTEtMDMtMjkgMjM6MDY6MTQgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBjaGVjayBpZiB0aGUgdGFzaydzIGNvbmQgd2FzIHNpZ25hbGVkIGJlY2F1c2UgaXQncyB0aGUgZW5kIG9mIHBsYXlsaXN0CgoyMDExLTAzLTEyIDEzOjMyOjU3ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogcG9zdCBhIG1lc3NhZ2UgaW4gdGhlIGJ1cyB3aGVuIHRoZSBwbGF5bGlzdCBjaGFuZ2VzCgoyMDExLTAzLTEyIDEzOjE1OjUyICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG9uJ3QgdXBkYXRlIHRoZSBwbGF5bGlzdCBpZiB3ZSBzdGF5IGluIHRoZSBzYW1lIGJpdHJhdGUKCjIwMTEtMDMtMTIgMTM6MDA6MDYgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgVVJJIHF1ZXJpZXMKCjIwMTEtMDMtMTIgMTI6NTA6MjUgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgZHVyYXRpb24gcXVlcmllcwoKMjAxMS0wMy0xMiAxMjoyODo0MiArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IG0zdTg6IHByb3RlY3QgcHVibGljIG1ldGhvZHMgcHJvcGVybHkKCjIwMTEtMDMtMTIgMTI6MjA6MzIgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBtM3U4OiBhZGQgc3VwcG9ydCB0byBnZXQgdGhlIGR1cmF0aW9uIGZyb20gYSBwbGF5bGlzdAoKMjAxMS0wMi0xNiAwMzo1MTowOCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvbid0IHByaW50IGFuIGVycm9yIGlmIHRoZSBkb3dubG9hZCB3YXMgY2FuY2VsbGVkCgoyMDExLTAyLTE2IDAzOjQ5OjQ5ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogbWFrZSBzdXJlIHRoZSBmZXRjaGVyIHN0YXRlIGNoYW5nZSBpcyBjb21wbGV0ZSBiZWZvcmUgY29udGludWluZwoKMjAxMS0wMi0xNiAwMToxOTo0NSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvbid0IGxlYWsgdGhlIGZpcnN0IGJ1ZmZlcgoKMjAxMS0wMi0xNiAwMDo1NTozMCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGNsZWFuIHVwIGNvZGUgYSBsaXR0bGUgYml0CgoyMDExLTAyLTE2IDAwOjUzOjQ4ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogb25seSBjaGVjayBmb3IgdGhlIGVuZCBvZiBwbGF5bGlzdCB3aGVuIHRoZSBxdWV1ZSBpcyBlbXB0eQoKMjAxMS0wMi0xNSAyMjo0MDoyMSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogbWFrZSBzdXJlIHRvIHN0b3AgZnJhZ21lbnRzIGNhY2hlIGlmIHNvbWV0aGluZyBjYW5jZWxsZWQgaXQKCjIwMTEtMDItMTUgMjE6NTU6MjYgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiByZXVzZSB0aGUgY29kZSBpbiByZXNldCgpIHRvIGZyZWUgcmVzb3VyY2VzIGluIGRpc3Bvc2UoKQoKMjAxMS0wMi0xNSAyMTo0OToyMCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogdXNlIGEgdHlwZWZpbmRlciB0byBzZXQgdGhlIGNhcHMgaW4gdGhlIHNvdXJjZSBwYWQKCjIwMTEtMDItMTUgMDQ6Mzk6MzQgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBhZGQgbW9yZSBjb21tZW50cyBhbmQgZG9jdW1lbnQgYmV0dGVyIGFsbCB0aGUgdGhyZWFkcyBpbnZvbHZlZAoKMjAxMS0wMi0xNSAwMzo0MjoyOSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGhhbmRsZSA0MDQgZnJvbSB0aGUgc291cmNlIGVsZW1lbnQKCjIwMTEtMDItMTUgMDM6NDE6NDMgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBzdG9wIHRoZSBmZXRjaGVyIGluIHRoZSBQQVVTRURfVE9fUkVBRFkgdHJhbnNpdGlvbiwgbm90IHdoZW4gZGlzcG9zaW5nKCkKCjIwMTEtMDItMTUgMDM6NDE6MDEgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IG1ha2Ugc3VyZSB3ZSBkb24ndCBzdG9wIHRoZSBmZXRjaGVyIHR3aWNlIGZyb20gZGlmZmVyZW50IHRocmVhZHMKCjIwMTEtMDItMTUgMDI6MTM6NTYgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBxdWVyeSB0aGUgdXJpIHVwc3RyZWFtIGJlZm9yZSB1cGRhdGluZyB0aGUgcGxheWxpc3QKCjIwMTEtMDItMTQgMTg6NTE6MzIgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSogZ3N0L2hscy9nc3RmcmFnbWVudGVkLmg6CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnRlZHBsdWdpbi5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogQWRkIEhUVFAgbGl2ZSBzdHJlYW1pbmcgZGVtdXhlciBlbGVtZW50CgkgIEJhc2VkIG9uIHByZXZpb3VzIHdvcmsgYnkgTWFyYy1BbmRyw6kgTHVyZWF1CgoyMDExLTAzLTIxIDEwOjU3OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L01ha2VmaWxlLmFtOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBBZGQgR3N0VGFnWG1wV3JpdGVyIHN1cHBvcnQKCSAgQWRkcyBHc3RUYWdYbXBXcml0ZXIgaW50ZXJmYWNlIHRvIGppZm11eCBlbGVtZW50CgoyMDExLTAzLTIxIDEwOjU2OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFkZGluZyBHc3RUYWdYbXBXcml0ZXIgaW50ZXJmYWNlCgkgIEFkZHMgR3N0VGFnWG1wV3JpdGVyIGludGVyZmFjZSBzdXBwb3J0IHRvIHF0bXV4CgoyMDExLTAzLTI3IDIzOjUwOjI0ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBub2tpYS5jb20+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5oOgoJKiBleHQvb3BlbmN2L2dzdHRleHR3cml0ZS5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHR3cml0ZS5oOgoJICBvcGVuY3YgdGV4dCBvdmVybGF5OiByZW5hbWUgYW5kIGRvY3VlbW50CgkgIFJlbmFtZSB0aGUgZWxlbWVudCB0ZXh0d3JpdGUgdG8gb3BlbmN2dGV4dG92ZXJsYXkuIEFkZCBwcm9wZXIgc3RydWN0dXJpbmcgdG8KCSAgb3BlbmN2IHRleHRvdmVybGF5IGVsZW1lbnQuCgkgIEZpeGVzOiAjNjQwNTYxCgoyMDExLTAzLTI3IDEzOjU3OjA1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogRml4IDY0LWJpdCBwcmludGYgZm9ybWF0IHByb2JsZW0KCjIwMTEtMDMtMjcgMjA6MDk6NTIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJICB2ZHBhdXNpbms6IGZpeCBidWcgd2hlcmUgd2UgZGlkbid0IHNldHVwIHZkcGF1IG9uIGEgdXNlciBzZXQgd2luZG93CgoyMDExLTAzLTI3IDE5OjQ3OjQzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3R2ZHBtcGVnNGRlYy5jOgoJICB2ZHBhdTogZml4dXAgR3N0Rmxvd1JldHVybiBoYW5kbGluZwoJICBQcmV2aW91c2x5IHRoZSBkaWZmZXJlbnQgZGVjb2RlcnMgd291bGQgZGlzY2FyZCBlcnJvdW5vdXMgR3N0Rmxvd1JldHVybnMgY29taW5nCgkgIGZyb20gZG93bnN0cmVhbS4gTm93IHdlIHByb3Blcmx5IHJldHVybiB0aGVzZSBmdXJ0aGVyIHVwc3RyZWFtIHNvIHRoYXQgd2UKCSAgcHJvcGVybHkgZXJyb3Igb3V0IG9uIGVnLiBuZWdvdGlhdGlvbiBwcm9ibGVtcy4KCjIwMTEtMDMtMjcgMTk6NDA6NDggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXUuYzoKCSAgdmRwYXU6IHNtYWxsIGluZGVudGF0aW9uIGZpeAoKMjAxMC0wOS0wNiAxNzo0MjoxNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiBkb24ndCBpZ25vcmUgcmV0dXJuIHZhbHVlIG9mIGdzdF9iYXNlX3ZpZGVvX2RlY29kZXJfZmluaXNoX2ZyYW1lCgoyMDExLTAzLTI3IDE3OjQyOjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJICBkc2hvdzogZml4IGxpc3QgaXRlcmF0aW9uIGNvZGUKCjIwMTEtMDMtMjcgMTc6MjI6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuYzoKCSAgZGNjcHNlcnZlcnNpbms6IGZpeCBsaXN0IGl0ZXJhdGlvbiBjb2RlCgkgIEZpeCBzdWJvcHRpbWFsIGxpc3QgaXRlcmF0aW9uIGNvZGUsIGFuZCBhZGQgc29tZSBGSVhNRXMuCgoyMDExLTAzLTI2IDEyOjQ1OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wYXRjaGRldGVjdC9NYWtlZmlsZS5hbToKCSAgcGF0Y2hkZXRlY3Q6IGxpbmsgYWdhaW5zdCBsaWJtCgkgIExpbmsgYWdhaW5zdCBsaWJtLiBJbmNsdWRlIG1hdGgtY29tcGF0LmggaGVhZGVyLiBEb24ndCBsaW5rIGFnYWluc3QKCSAgb3JjLCBzaW5jZSBpdCdzIG5vdCBhY3R1YWxseSB1c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ1NzExCgoyMDExLTAzLTI2IDE2OjEyOjE4ICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkgIFVzZSBjb3JyZWN0IGNsb2NrIHdoZW4gY2hlY2tpbmcgd2hldGhlciB0byB3cml0ZSBhIG5ldyBQQ1IKCSAgVGhlIFBDUiBjbG9ja3MgYWdhaW5zdCB0aGUgMjdNSHogU0NSIGNsb2NrLCBzbyBjaGVjayBpdCBjb3JyZWN0bHkKCSAgdG8gYXZvaWQgd3JpdGluZyB0aGUgUENSIHRvbyBvZnRlbi4KCSAgUGFydGlhbGx5IGZpeGVzOiAjNjExMDQ2CgoyMDExLTAzLTI2IDE1OjU4OjIxICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBSZXdyaXRlIE0yVFMgcGFja2V0IG91dHB1dAoJICBNYWtlIHN1cmUgd2Ugb25seSB3cml0ZSB0aGUgYm90dG9tIDMwIGJpdHMgb2YgdGhlIFBDUiB0byB0aGUgbTJ0cyBoZWFkZXIuCgkgIERvbid0IHVzZSBmbG9hdGluZyBwb2ludCBjb21wdXRhdGlvbiBmb3IgaXQsIGFuZCByZW1vdmUgd2VpcmQgYml0IGZpZGRsaW5nCgkgIHRoYXQgbWVzc2VzIHVwIHRoZSBQQ1IgaW4gYSB3YXkgSSBjYW4ndCBmaW5kIGFueQoJICBqdXN0aWZpY2F0aW9uL2RvY3VtZW50YXRpb24gZm9yLgoJICBEb24ndCBhY2NpZGVudGFsbHkgbG9zZSBQQ1IgcGFja2V0cyBmcm9tIHRoZSBvdXRwdXQuCgkgIEZpeCB0aGUgZGVzY3JpcHRpb24gZm9yIHRoZSBtMnRzLW1vZGUgcHJvcGVydHkgc28gaXQncyBjbGVhciBpdCdzIGEgZmxhZywKCSAgYW5kIHdoaWNoIHNldHRpbmcgZG9lcyB3aGF0LgoJICBGaXhlczogIzYxMTA2MSAjNjQ0NDI5CgkgIFBhcnRpYWxseSBmaXhlczogIzY0NTAwNgoKMjAxMS0wMy0yNiAxMToxNDowMSArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgRml4IGEgRklYTUUsIGFuZCBzb21lIHdoaXRlc3BhY2UvY29kZSBzdHlsZSBiaXRzLgoJICBBbHNvLCBhZGQgYSBuZXcgY29weXJpZ2h0IG5vdGljZSBmb3IgbWUuCgoyMDExLTAzLTI1IDIyOjMzOjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMTkzYjcxNyB0byAxY2NiZTA5CgoyMDExLTAzLTI1IDE0OjU2OjQzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGI3N2UyYmYgdG8gMTkzYjcxNwoKMjAxMS0wMy0yNSAwOTozMjozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGQ4ODE0YjYgdG8gYjc3ZTJiZgoKMjAxMS0wMy0yNSAwOTowODo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZhYWEyODYgdG8gZDg4MTRiNgoKMjAxMS0wMy0yNSAwODozMzozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBBZGQgZmxvYXQgY2FwcyB0byB0aGUgdGVtcGxhdGUgY2FwcwoKMjAxMS0wMy0yNCAxNjoxNjoyMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBGaXggd2luMzIgYnVpbGQKCjIwMTEtMDMtMjQgMjI6MzI6NDIgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBlbnN1cmUgY2xlYW51cCBvZiBwZXMvc2VjdGlvbiBmaWx0ZXIgaGVscGVyIHN0cnVjdHVyZXMKCSAgSW4gcGFydGljdWxhciwgdGhlIHNlY3Rpb25fZmlsdGVyIHdvdWxkIG5vdCBiZSBjbGVhcmVkIGZvciBhIHByaXZhdGUgc2VjdGlvbgoJICBzdHJlYW0sIGxlYWtpbmcgYSBHc3RBZGFwdGVyLiBTZWVuIG9uIGJ1ZyAjNjQ1NTAyLgoKMjAxMS0wMy0yNCAyMjoxMDo0MyArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGRvbid0IGxlYWsgcGFkIG5hbWUKCSAgQXMgc2VlbiBvbiBidWcgIzY0NTUwMi4KCjIwMTEtMDMtMjQgMjE6NDY6MDkgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZyZWUgUFBTIE5BTCBidWZmZXJzIG9uIGNsZWFudXAKCSAgT2J2aW91c2x5IGEgdHlwby4gRml4ZXMgYnVnICM2NDU1MDIuCgoyMDExLTAzLTI0IDIxOjQ0OjA3ICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkb24ndCBsZWFrIGFsbCBOQUwgYnVmZmVycwoJICBnc3RfYnVmZmVyX3JlcGxhY2UoKSBkb2Vzbid0IHN0ZWFsIHRoZSByZWYuIFBhcnRpYWwgZml4IGZvciBidWcgIzY0NTUwMi4KCjIwMTEtMDMtMjQgMTg6NDk6NTQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmFlYzZiOSB0byA2YWFhMjg2CgoyMDExLTAzLTI0IDE0OjUxOjEyICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNkZW11eDogZml4IHN0cmVhbV9pbmZvIGRlc2NyaXB0b3IgcGFyc2luZwoKMjAxMS0wMy0wOSAyMzowNjoxNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBkY2FwYXJzZTogQnVtcCByYW5rIHRvIHByaW1hcnkrMQoJICBTZWVtcyB0byB3b3JrIGZpbmUgd2l0aCBhIHJlYXNvbmFibHkgd2lkZSByYW5nZSBvZiBtZWRpYSwgc28gYnVtcGluZwoJICByYW5rLgoKMjAxMS0wMy0yNCAxMDowODo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmg6CgkgIGFpZmZwYXJzZTogQWRkIHN1cHBvcnQgZm9yIDMyIGJpdCBhbmQgNjQgYml0IGZsb2F0aW5nIHBvaW50IGZvcm1hdHMKCjIwMTEtMDMtMjQgMDk6NTg6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogVGhlIFNTTkQgaGVhZGVyIGlzIDE2IGJ5dGVzIGxhcmdlLCBub3QgOCArIDE2IGJ5dGVzCgkgIEZpeGVzIGJ1ZyAjNjQ1NTY4IGFuZCBwbGF5YmFjayBpbiBwdWxsIG1vZGUgZm9yIHNhbXBsZSB3aWR0aHMgPiA4IHRoYXQKCSAgYXJlIG5vdCBhIG11bHRpcGxlIG9mIDIgYnl0ZXMgKGUuZy4gMjQgYml0IHNhbXBsZXMpLgoKMjAxMS0wMy0yNCAwOToyOTowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBVc2UgZ3N0X3V0aWxfdWludDY0X3NjYWxlX2NlaWwoKSBpbnN0ZWFkIG9mIGEgY3VzdG9tIGZ1bmN0aW9uCgoyMDExLTAzLTI0IDEzOjQzOjAxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0c2RlYzogRG9uJ3QgZXhwb3J0IGJpdHJhdGUgaWYgb3Blbi92YXJpYWJsZS9sb3NzbGVzcwoJICBsaWJkY2EgcmV0dXJucyB0aGUgYml0cmF0ZSBhcyAxLzIvMyBmb3Igb3Blbi92YXJpYWJsZS9sb3NzbGVzcyBmaWxlcwoJICByZXNwZWN0aXZlbHkuIFRoaXMgbWFrZXMgc3VyZSB3ZSBkb24ndCBlbWl0IHRoZXNlIHZhbHVlcy4KCjIwMTEtMDMtMjQgMDk6MjI6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJICBjZWx0ZGVjOiBSZWFkIHRoZSBhZGRpdGlvbmFsLCBvcHRpb25hbCBleHRyYSBoZWFkZXJzIGZyb20gdGhlIGNhcHMgdG9vCgoyMDExLTAzLTI0IDA5OjE0OjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5oOgoJICBjZWx0ZGVjOiBHZXQgYW5kIHVzZSBzdHJlYW1oZWFkZXJzIGZyb20gdGhlIGNhcHMgaWYgcG9zc2libGUKCSAgVGhpcyBhbGxvd3MgcGxheWJhY2sgb2YgZmlsZXMgd2hlcmUgdGhlIHN0cmVhbWhlYWRlciBidWZmZXJzIHdlcmUKCSAgZHJvcHBlZCBmb3Igc29tZSByZWFzb24gYW5kIGFsc28gc2V0cyB0aGUgc3JjcGFkIGNhcHMgZWFybGllci4KCjIwMTEtMDMtMjMgMjI6NTM6NTYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogUmV2ZXJ0IHByZXZpb3VzIGNvbW1pdAoJICBJdCBhcHBlYXJzIHRoZSBwYXRjaCwgd2hpY2ggSSd2ZSBiZWVuIGNhcnJ5aW5nIGFyb3VuZCBmb3JldmVyLAoJICBoYWQgYmVlbiBhbHJlYWR5IGFwcGxpZWQuCgoyMDExLTAyLTIwIDE0OjE2OjE4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmg6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSAgYmFzZXZpZGVvOiBtZXJnZSB1dGlscyBoZWFkZXIgaW50byBiYXNldmlkZW9jb2RlYwoKMjAxMC0xMi0zMCAxODoyNTowNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBPdXRwdXQgZWxlbWVudCBtZXNzYWdlIHdpdGggZnJhbWUgc3RhdHMKCjIwMTEtMDItMjYgMDA6Mjg6MzIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcGF0Y2hkZXRlY3QvTWFrZWZpbGUuYW06CgkqIGdzdC9wYXRjaGRldGVjdC9nc3RwYXRjaGRldGVjdC5jOgoJKiBnc3QvcGF0Y2hkZXRlY3QvZ3N0cGF0Y2hkZXRlY3QuaDoKCSAgcGF0Y2hkZXRlY3Q6IG5ldyBlbGVtZW50CgkgIERldGVjdHMgTXVuc2VsbCBDb2xvckNoZWNrZXIgaW4gYSB2aWRlbyBpbWFnZSBhbmQgYXV0b21hdGljYWxseQoJICB3aGl0ZSBiYWxhbmNlcyBhbmQgY29sb3IgY29ycmVjdHMgYmFzZWQgb24gdGhlIGRldGVjdGVkIHZhbHVlcy4KCSAgVGhpcyBlbGVtZW50IGlzIG9ubHkgYSBkZW1vbnN0cmF0aW9uIGF0IHRoaXMgc3RhZ2UsIGl0IG5lZWRzIHRvCgkgIGJlIHNlcGFyYXRlZCBpbnRvIHR3byBlbGVtZW50cy4KCjIwMTEtMDItMjcgMDA6NDg6MTkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQGVudHJvcHl3YXZlLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvRGVja0xpbmtBUEkuaDoKCSogc3lzL2RlY2tsaW5rL0RlY2tMaW5rQVBJRGlzcGF0Y2guY3BwOgoJKiBzeXMvZGVja2xpbmsvTGludXhDT00uaDoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGluazogQWRkIGRlY2tsaW5rIHBsdWdpbgoJICBTb3VyY2UgYW5kIHNpbmsgZWxlbWVudHMgZm9yIEJsYWNrTWFnaWMgRGVja0xpbmsgU0RJIGNhcmRzLgoKMjAxMS0wMy0xNyAxNzozODo1OCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2xpbnN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXMuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc2luay5oOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNyYy5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNyYy5oOgoJKiBzeXMvbGluc3lzL2luY2x1ZGUvYXNpLmg6CgkqIHN5cy9saW5zeXMvaW5jbHVkZS9tYXN0ZXIuaDoKCSogc3lzL2xpbnN5cy9pbmNsdWRlL3NkaS5oOgoJKiBzeXMvbGluc3lzL2luY2x1ZGUvc2RpYXVkaW8uaDoKCSogc3lzL2xpbnN5cy9pbmNsdWRlL3NkaXZpZGVvLmg6CgkgIGxpbnN5czogQWRkIHBsdWdpbiBmb3IgTGluZWFyIFN5c3RlbXMgU0RJIGJvYXJkcwoKMjAxMC0wOS0xNCAxMTozMDozMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zZGkvTWFrZWZpbGUuYW06CgkqIGdzdC9zZGkvZ3N0c2RpLmM6CgkqIGdzdC9zZGkvZ3N0c2RpZGVtdXguYzoKCSogZ3N0L3NkaS9nc3RzZGlkZW11eC5oOgoJKiBnc3Qvc2RpL2dzdHNkaW11eC5jOgoJKiBnc3Qvc2RpL2dzdHNkaW11eC5oOgoJICBzZGk6IEFkZCByYXcgU0RJIG11eGluZy9kZW11eGluZyBlbGVtZW50cwoKMjAxMS0wMy0xNyAxOTowMzoyOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xvZ29pbnNlcnQuYzoKCSAgbG9nb2luc2VydDogRml4IG1lbWxlYWtzLCBhZGQgdGVzdAoKMjAxMC0xMS0xNSAxMTozNzoxMiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgbG9nb2luc2VydDogQWRkIGRhdGEgcHJvcGVydHkKCjIwMTEtMDMtMjMgMTU6NDk6MTggKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBnc3QtY2FtZXJhYmluMi10ZXN0OiBGaXggcHJlbWF0dXJlIHNodXRkb3duCgkgIFdlIG11c3Qgd2FpdCBmb3IgY2FtZXJhYmluMidzIHN0b3AtY2FwdHVyZSBwcm9jZWR1cmVzIHRvIGZpbmlzaCBiZWZvcmUgcXVpdHRpbmcKCSAgdGhlIG1haW4gbG9vcCBvciBmaXJpbmcgb2ZmIHRoZSBuZXh0IGNhcHR1cmUuIElmIHdlIGdldCBzdHVjayB3YWl0aW5nIGZvcgoJICBjYW1lcmFiaW4yIHRvIGJlY29tZSBpZGxlLCB0aGlzIGlzIGEgYnVnIHRoYXQgbmVlZHMgZml4aW5nLgoKMjAxMS0wMy0yMyAxNjozMjoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IE9ubHkgbWFyayB2aWRlbyBjYXB0dXJlIGFzIGZpbmlzaGVkIGFmdGVyIEVPUwoJICBJbnN0ZWFkIG9mIHByb2JpbmcgdGhlIHZpZGVvc2luayBzaW5rcGFkIGZvciBwYXNzaW5nIEVPUywgYmV0dGVyCgkgIHRvIHdhaXQgZm9yIEVPUyBmcm9tIHRoZSBidXMuCgkgIFRoaXMgbWFrZXMgc3VyZSB0aGUgZmlsZXNpbmsgaGFzIGFscmVhZHkgcHJvY2Vzc2VkIGl0IGFuZCBpcwoJICByZWFkeSB0byBjbG9zZSB0aGUgZmlsZS4gVGhpcyBpcyB1c2VkIHRvIG5vdGlmeSBhcHBsaWNhdGlvbnMKCSAgdGhhdCBjYW1lcmFiaW4yIGlzIGlkbGUgYW5kIGNhbiBiZSBzaHV0IGRvd24uCgoyMDExLTAzLTE4IDE1OjQ5OjEyICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogY2FtZXJhYmluMjogd3JhcHBlcmNhbWVyYWJpbnNyYzogQWRkIHJlYWQtb25seSBtYXgtem9vbSBwcm9wCgkgIFRoaXMgaXMgbm90IGltcGxlbWVudGVkIGluIGFueSBvZiBvdXIgcmVhbCBzb3VyY2VzIHRvIHdoaWNoIHdyYXBwZXJjYW1lcmFiaW5zcmMKCSAgbWlnaHQgY29ubmVjdCBidXQgdGhpcyBpcyBvcHRpb25hbCBhbmQgY2FuIGJlIGltcGxlbWVudGVkIGF0IGFueSB0aW1lLiBBCgkgIGxpbWl0IG9uIHRoZSBzb2Z0d2FyZSB6b29tIGxldmVsIHVzaW5nIHZpZGVve2Nyb3Asc2NhbGV9IHdvdWxkIGJlIGFyYml0cmFyeS4KCjIwMTEtMDMtMjMgMTI6Mzg6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogSW1wcm92ZSBpZGxlIHByb3BlcnR5IHVzYWdlCgkgIFVzZSByZXNvdXJjZSB3YXJuaW5nIG1lc3NhZ2VzIHRvIG5vdGlmeSBjYW1lcmFiaW4yIHRoYXQgYSBjYXB0dXJlCgkgIGFzIGFib3J0ZWQgb3IgY291bGRuJ3QgYmUgc3RhcnRlZCwgbWFraW5nIGl0IGRlY3JlbWVudCB0aGUKCSAgcHJvY2Vzc2luZyBjb3VudGVyIGFuZCBtYWtpbmcgdGhlIGlkbGUgcHJvcGVydHkgbW9yZSByZWxpYWJsZS4KCjIwMTEtMDMtMjIgMTI6MDQ6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBObyBuZWVkIHRvIGZvcmNlIGF1ZGlvc3JjIHRvIG51bGwgb24gc3RvcF9jYXB0dXJlCgkgIFNldHRpbmcgdGhlIGF1ZGlvIHNvdXJjZSB0byBudWxsIGlzbid0IG5lZWRlZCBhbmQgaXQgY291bGQKCSAgbWFrZSB0aGUgRU9TIHRoYXQgaXMgc3RpbGwgZmxvd2luZyBiZSBkcm9wcGVkIGlmIGF1dG9hdWRpb3NyYwoJICBpcyB1c2VkIGJlY2F1c2UgaXRzIHBhZHMgZ28gZmx1c2hpbmcgYmVmb3JlIHRoZSBFT1MgZ2V0cyBwdXNoZWQKCSAgZnJvbSB0aGUgcmVhbCBzb3VyY2UuCgoyMDExLTAzLTIyIDA4OjMyOjQ4IC0wMzAwICBMYXVyaSBMZWh0aW5lbiA8bGF1cmkubGVodGluZW5AZGlnaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJICBiYXNlY2FtZXJhYmluc3JjOiBDaGVjayBpZiBzZXQgcHJldmlldyBjYXBzIGFyZSB0aGUgc2FtZQoJICBDaGVja3MgaWYgdGhlIG5ldyByZWNlaXZlZCBwcmV2aWV3LWNhcHMgYXJlIGVxdWFsIHRvIHdoYXQgaXMKCSAgYWxyZWFkeSBpbiB1c2UsIHNraXBzIHRoZSBwcmV2aWV3LWNhcHMgc2V0dGluZyBsb2dpYyBpbiBjYXNlCgkgIG5ldyBjYXBzIGFyZSBzYW1lIGFzIGN1cnJlbnQgb25lcy4KCjIwMTEtMDMtMTUgMTU6NDc6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogQWRkcyBhbm90aGVyICdpZGxlJyB0ZXN0CgkgIEFkZHMgYW5vdGhlciB0ZXN0IHRoYXQgY2hlY2tzIHRoYXQgdGhlIGlkbGUgcHJvcGVydHkgd29ya3MKCSAgY29ycmVjdGx5IHdoZW4gYm9ndXMgc3RhcnQtY2FwdHVyZSBjYWxscyBhcmUgbWFkZS4KCSAgVGhpcyBmYWlscyBjdXJyZW50bHksIGJ1dCBzaG91bGQgcmVtaW5kIHVzIG9mIGZpeGluZyBpdCBpbgoJICB0aGUgZnV0dXJlIGJ5IGRlZmluaW5nIGEgcHJvcGVyIGVycm9yIHJlcG9ydGluZyBmcm9tIGNhbWVyYQoJICBzb3VyY2VzIHRvIGNhbWVyYWJpbjIKCjIwMTEtMDMtMTUgMTU6MzQ6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogU3ByaW5rbGUgc29tZSAnaWRsZScgcHJvcGVydHkgY2hlY2tzCgkgIEFkZHMgc29tZSBjaGVja3MgZm9yICdpZGxlJyBwcm9wZXJ0eSBpbiBjYW1lcmFiaW4yIHRlc3RzCgoyMDExLTAzLTE1IDE1OjExOjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBBZGRzIG5ldyBpZGxlIHByb3BlcnR5CgkgIEFkZHMgaWRsZSBwcm9wZXJ0eSAoanVzdCBsaWtlIGNhbWVyYWJpbjEpLCBhIGJvb2xlYW4gdGhhdAoJICBpcyB0cnVlIHdoZW4gY2FtZXJhYmluMiBpc24ndCBwcm9jZXNzaW5nIGFuZCBjYW4gYmUgc2h1dCBkb3duCgkgIHdpdGhvdXQgbG9zaW5nIGRhdGEuCgoyMDExLTAzLTE1IDEwOjUwOjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IEFkZHMgdGVzdHMgZm9yIG5ldyBpbWFnZSBjYXB0dXJlIHByb3BlcnRpZXMKCSAgQWRkcyB0ZXN0cyB0byBjaGVjayB0aGF0IGNoYW5naW5nIGVuY29kZXIvbXV4ZXIgZm9yIGltYWdlIGNhcHR1cmUKCSAgd29ya3MKCjIwMTEtMDMtMTUgMTA6MTE6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGRpbmcgcHJvcGVydGllcyBmb3IgaW1hZ2UgY2FwdHVyZSBzZXR0aW5ncwoJICBBZGRzIHByb3BlcnRpZXMgZm9yIHNlbGVjdGluZyBpbWFnZSBlbmNvZGVyIGFuZCBtdXhlciBmb3IKCSAgaW1hZ2UgY2FwdHVyZQoKMjAxMS0wMy0xNCAxNDozMzo1NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IE1vcmUgZGVidWcgbG9nCgkgIFNtYWxsIHJlZmFjdG9yaW5nIGFuZCBhZGRpbmcgbW9yZSBkZWJ1ZyBsb2cgdG8gZW5jb2RlYmluIHJlbGF0ZWQKCSAgcGF0aHMKCjIwMTEtMDMtMTQgMTQ6MzA6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiBTZXQgcHJldmlldyBwaXBlbGluZSBOVUxMCgkgIFNldCBwcmV2aWV3IHBpcGVsaW5lIHRvIE5VTEwgd2hlbiBmcmVlZCB0byBiZSBhYmxlIHRvCgkgIHJlY3JlYXRlIGl0IG9uIHRoZSBmb2xsb3dpbmcgbGluZXMKCjIwMTEtMDMtMjMgMjI6MDI6MzcgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkgIGRjYXBhcnNlOiBFeHBvc2UgZnJhbWUgc2l6ZSBpbiBjYXBzCgkgIFRoaXMgZXhwb3J0cyB0aGUgc2l6ZSBvZiB0aGUgZnJhbWUgKG51bWJlciBvZiBieXRlcyBmcm9tIG9uZSBzeW5jIHBvaW50CgkgIHRvIHRoZSBuZXh0KSBhcyB0aGUgImZyYW1lX3NpemUiIGZpZWxkIGluIGNhcHMuCgoyMDExLTAzLTA5IDIzOjAzOjEwICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5oOgoJICBkY2FwYXJzZTogRXhwb3NlIGJsb2NrIHNpemUgaW4gY2FwcwoJICBUaGlzIHNldHMgdGhlICJibG9ja19zaXplIiBmaWVsZCBvbiBjYXBzIGFzIHRoZSBudW1iZXIgb2Ygc2FtcGxlcwoJICBlbmNvZGVkIGluIG9uZSBmcmFtZS4KCjIwMTEtMDMtMjIgMjA6NTM6MDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2UgcnVubmluZyB0aW1lIGZvciBzeW5jaHJvbml6YXRpb24KCSAgU2VlIGFsc28gIzQzMjYxMi4KCjIwMTEtMDMtMjIgMTM6MTg6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBjaGFpbiB1cCB0byBwYXJlbnQgZmluYWxpemUKCjIwMTEtMDMtMjIgMTM6NDY6NDIgKzAxMDAgIENocmlzIEUgSm9uZXMgPGNocmlzQGNocmlzZWpvbmVzLmNvbT4KCgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogQ29ycmVjdGx5IGhhbmRsZSBuZXdzZWdtZW50IGV2ZW50cyB3aXRoIHN0b3A9PS0xCgkgIEZpeGVzIGJ1ZyAjNjQ1NDIwLgoKMjAxMS0wMy0yMiAxMjozNDoyMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiByZWR1bmRhbnQgdXNlcyBvZiBBQ19NU0dfUkVTVUxUKCkKCSAgY2xlYW5lZCB0aGUgcmVkdW5kYW50IHVzZXMgb2YgQUNfTVNHX1JFU1VMVCgpIGluIGNvbmZpZ3VyZS5hYwoKMjAxMS0wMy0xOCAxOTozNDo1NyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkgIGF1dG9nZW46IHdpbmdvIHNpZ25lZCBjb21tZW50CgoyMDExLTAzLTIxIDEzOjMxOjE1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9maWx0ZXIyLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9maWx0ZXIyLmg6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5oOgoJICB6ZWJyYXN0cmlwZTogQWRkIG5ldyBHc3RWaWRlb0ZpbHRlcjIgYmFzZSBjbGFzcwoJICBBbiBleHBlcmltZW50LiAgTm90IGNvbXBsZXRlbHkgaGFwcHkgd2l0aCBpdC4KCjIwMTEtMDMtMjEgMjA6NDA6MTQgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEhhbmRsZSBhbGwgSVNPODg1OS14IGVuY29kaW5ncyBpbiBnZXRfZW5jb2RpbmcoKQoJICAuLi4gYWNjb3JkaW5nIHRvIEVUU0kgRU4gMzAwIDQ2OCwgIlNlbGVjdGlvbiBvZiBjaGFyYWN0ZXIgdGFibGUiCgoyMDExLTAyLTIxIDExOjQ0OjAxICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZG8gbm90IHRyeSB0byBwYXJzZSBwYWNrZXRzIGNvbnRhaW5pbmcgc2VjdGlvbiBkYXRhIGFzIFBFUwoKMjAxMS0wMi0yMSAxMTo0Mjo1NCArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBhZGQgc3RyZWFtIHR5cGVzIGZvciBEU00gQ0MgQSwgQiwgQywgRAoKMjAxMS0wMy0yMSAxODo1NDo0NiArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBwbGF5YmFjayBpZiBQTVQgaXMgc2VlbiBiZWZvcmUgUEFUCgkgIFRoZSBzdHJlYW0gZm9yIHRoZSBQTVQgcGlkIGhhcyB0byBiZSBjbGVhcmVkIHNpbmNlIHRoZSB2ZXJzaW9uIGNoZWNraW5nCgkgIGluIHRoZSBwYWNrZXRpemVyIHdvbid0IGVtaXQgdGhlIHNhbWUgUE1UIGFnYWluIG90aGVyd2lzZS4KCjIwMTEtMDMtMjEgMTY6NTE6MTYgKzAxMDAgIEFuZHJlYXMgRnJpc2NoIDxhbmRyZWFzLmZyaXNjaEBtdWx0aW1lZGlhLWxhYnMuZGU+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IFNldCBwYXJzZWQ9dHJ1ZSBpbiB0aGUgc3JjcGFkIGNhcHMKCSAgRml4ZXMgYnVnICM2NDU0MTIuCgoyMDExLTAzLTIxIDEwOjM4OjU4ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgbXBlZzJlbmM6IExvd2VyIHRoZSByYW5rIHRvIE1BUkdJTkFMCgkgIFRoZSByYXRpb25hbGUgaXMgdGhhdCBpdCBjYW4ndCBiZSBwcm9wZXJseSB1c2VkIHJpZ2h0IG5vdyB3aGVuIHVzaW5nCgkgIGl0IHRvIGVuY29kZSBtcGVnMnZpZGVvIGJlY2F1c2Ugb2YgdGhlIG5lZWRzLXRvLWJlLXJld3JpdHRlbiBwcm9wZXJ0aWVzCgkgIGFuZCBmb3JtYXQgbmVnb3RpYXRpb24uIE90aGVyIGVuY29kZXJzIHdpbGwgbmVnb3RpYXRlIGluIGEgbXVjaCBzYW5lcgoJICBmYXNoaW9uLgoJICBPbmUgc3VjaCBleGFtcGxlIGlzIHRoYXQgd2hlbiB5b3UgcGljayBtcGVnMmVuYyBmb3IgbXBlZzJ2aWRlbywgdGhlCgkgIGRlZmF1bHQgdmFsdWUgZm9yIHRoZSAnZm9ybWF0JyBwcm9wZXJ0eSBpcyAiR2VuZXJpYyBNUEVHLTEiLCB3aGljaCBpcwoJICBjb21wbGV0ZWx5IHdyb25nIGlmIGRvd25zdHJlYW0gY2FwcyBhcmUgbXBlZzIuIFRoZSB3aG9sZSBuZWdvdGlhdGlvbgoJICBjb2RlIG5lZWRzIHNvbWUgc2VyaW91cyBsb3ZpbmcgYmVmb3JlIHRoaXMgcGx1Z2luIGNhbiBiZSBidW1wZWQgYmFjawoJICB1cCB0byBhIGhpZ2hlciByYW5rLgoKMjAxMS0wMy0xNiAwOTo1MDozNCArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5oOgoJICBmcHNkaXNwbGF5c2luazogYWRkICJmcmFtZXMtZHJvcHBlZCIgYW5kICJmcmFtZXMtcmVuZGVyZWQiIHByb3BlcnRpZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MzQ2OQoKMjAxMS0wMy0xOCAwOTozMzoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IFJlbW92ZSBzb21lIHVudXNlZCB2YXJpYWJsZXMgaW4gdGhlIEk0MjAgYmxlbmRpbmcgZnVuY3Rpb24KCjIwMTEtMDMtMTcgMjA6MTk6MjcgKzAyMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBGaXggdXNpbmcgYWxwaGEgdmFsdWVzIGluIGJsaXR0aW5nLgoJICBVc2UgZWFjaCBwaXhlbCdzIG93biBhbHBoYSB2YWx1ZSBpbnN0ZWFkIG9mIGF2ZXJhZ2UgYWxwaGEgdmFsdWUgd2hlbgoJICBjYWxjdWxhdGluZyBjb2xvciBjb21wb25lbnRzLiBGaXhlcyBidWcgIzYzOTc2My4KCjIwMTEtMDMtMTcgMTY6MzQ6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSAgdnA4OiBmaXggTElCQUREIG9yZGVyIGluIE1ha2VmaWxlLmFtCgoyMDExLTAzLTE2IDE1OjUzOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IGFkZCBGSVhNRSBmb3IgbWFraW5nIHRoZSBiYXNlIGNsYXNzIHVzZSB4aW5nIHNlZWsgdGFibGVzIGJldHRlcgoKMjAxMS0wMy0xNyAxNjo0MTo1MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogRG9uJ3QgdXNlICJzdW4iIGFzIGEgdmFyaWFibGUgbmFtZSwgYnJlYWtzIG9uIFNvbGFyaXMKCSAgU2VlbXMgbGlrZSB0aGUgU29sYXJpcyBjb21waWxlciBoYXMgLURzdW49MSwgc28gZG9uJ3QgdXNlCgkgIHN1biBhcyBhIHZhcmlhYmxlIG5hbWUKCSAgUGF0Y2ggYnkgVGltIE1vb25leSA8bW9vbmV5QGRvZ2JlcnQuY2MubmRzdS5ub2Rhay5lZHU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDUwNTMKCjIwMTEtMDMtMTcgMTU6Mjc6MzkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgc2htOiBDaGVjayBmb3IgTVNHX05PU0lHTkFMIG1hY3JvCgkgIERvbid0IGJ1aWxkIHRoZSBwbHVnaW4gaXMgTVNHX05PU0lHTkFMIGlzIG5vdCBkZWZpbmVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDUwNTMKCjIwMTEtMDMtMTYgMTg6NTI6MjQgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IEtlZXAgc2htc2luayByZWZlcmVuY2VkIHdoaWxlIHRoZXJlIGFyZSBzdGlsbCBidWZmZXJzIGFyb3VuZAoKMjAxMS0wMy0xNiAxODo1MTo1MCArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkLnNpbW9uc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSogc3lzL3NobS9zaG1waXBlLmg6CgkgIHNobTogQWxsb3cgU2htUGlwZSB0byBzYXZlIGEgZGF0YSBwb2ludGVyIGZvciBhcHBsaWNhdGlvbnMKCjIwMTEtMDMtMTYgMTg6NTE6MDIgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogS2VlcCB0aGUgU2htUGlwZSBhbGl2ZSBhcyBsb25nIGFzIHRoZXJlIGFyZSBibG9ja3MgbGVmdAoKMjAxMS0wMy0wOSAxOTozNDozOSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSAgc2htc3JjOiBPbmx5IGNvbm5lY3QgdG8gc2luayBpbiBQTEFZSU5HIGluIGxpdmUgbW9kZQoKMjAxMS0wMy0wOSAxOTozNDoyNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSAgc2htc3JjOiBLZWVwIEdzdFBvbGwgZm9yIHdob2xlIHNyYyBsaWZldGltZQoKMjAxMS0wMy0xNSAwOToxNTozNSAtMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogQWRkIGFuIGFzc2VydGlvbiB0byBwcmV2aWV3IHBpcGVsaW5lIGdlbmVyYXRpb24KCSAgQWRkcyBhbiBhc3NlcnRpb24gaW4gY2FzZSB0aGUgcHJldmlldyBwaXBlbGluZSBpcyBOVUxMIGFuZCBhbHNvCgkgIGV4cGxpY2l0bHkgaW5pdGlhbGl6ZXMgcHJldmlldyBjYXBzIHRvIE5VTEwgZm9yIGNsYXJpdHkuCgoyMDExLTAzLTE0IDE4OjI1OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5oOgoJICBkY2FwYXJzZTogQWRkIGRlcHRoIGFuZCBlbmRpYW5uZXNzIHRvIHRoZSBjYXBzCgkgIFNvbWUgZGVjb2RlcnMgY2FuIG9ubHkgaGFuZGxlIHNwZWNpZmljIGVuZGlhbm5lc3Mgb3IgYSBmaXhlZAoJICBkZXB0aCBhbmQgdGhpcyBhbGxvd3MgYmV0dGVyIG5lZ290aWF0aW9uLgoJICBGaXhlcyBidWcgIzY0NDIwOC4KCjIwMTEtMDMtMTQgMTI6Mzk6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBmaXggYnJva2VuIHBhZCBjYXBzIHJlZmNvdW50IGhhbmRsaW5nCgkgIGdzdF9jYXBzX21ha2Vfd3JpdGFibGUoKSB0YWtlcyBvd25lcnNoaXAgb2YgdGhlIGNhcHMgcGFzc2VkIGluLCBidXQKCSAgdGhlIGNhbGxlciBkb2Vzbid0IG93biBhIHJlZiB0byB0aGUgY2FwcyBoZXJlLCBiZWNhdXNlIEdTVF9QQURfQ0FQUwoJICBkb2Vzbid0IHJldHVybiBhIHJlZi4gTG9va3MgbGlrZSB0aGUgY29kZSByZWxpZWQgb24gYSBjYXBzIGxlYWsKCSAgZWxzZXdoZXJlIGZvciB0aGlzIHRvIHdvcmsgcHJvcGVybHkuCgoyMDExLTAzLTE0IDEyOjMzOjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZG9uJ3QgZXJyb3Igb3V0IGlmIGRvd25zdHJlYW0gZmFpbHMgdG8gaGFuZGxlIHRoZSBuZXdzZWdtZW50IGV2ZW50CgkgIElmIGRvd25zdHJlYW0gZG9lc24ndCBoYW5kbGUgdGhlIG5ld3NlZ21lbnQgZXZlbnQsIGRvbid0IGVycm9yIG91dCAoZXNwLgoJICBub3Qgd2l0aG91dCBwb3N0aW5nIGEgcHJvcGVyIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyksIGJ1dCBqdXN0IGNvbnRpbnVlLgoJICBJZiB0aGVyZSdzIGEgcHJvYmxlbSwgd2UnbGwgZmluZCBvdXQgd2hlbiB3ZSBzdGFydCBwdXNoaW5nIGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDQzOTUKCjIwMTEtMDMtMTEgMTQ6NDA6NDQgKzAwMDAgIEFuZHJlYXMgRnJpc2NoIDxhbmRyZWFzLmZyaXNjaEBtdWx0aW1lZGlhLWxhYnMuZGU+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTEtMDMtMTEgMTg6MjM6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBTZXQgcXVldWVzIHRvIHNpbGVudAoJICBPcHRpbWl6ZSBhIGxpdHRsZSBieSBzZXR0aW5nIHF1ZXVlcyB0byBzaWxlbnQKCjIwMTEtMDMtMTEgMTY6MjA6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IFJlZmFjdG9yaW5nIGVuY29kZWJpbiB1c2FnZQoJICBSZWZhY3RvciBzb21lIGNvbW1vbiBjb2RlIHJlZ2FyZGluZyBlbmNvZGViaW4gdXNhZ2UgaW4gY2FtZXJhYmluMgoKMjAxMS0wMy0xMSAxNzowNzowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBGaXggbnVtYmVyIG9mIGl0ZXJhdGlvbiBvZiB0ZXN0cwoJICBUaGVyZSBhcmUgMyB0YWdsaXN0IHRlc3RzLCBub3QgMgoKMjAxMS0wMy0xMSAxMDozMjozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluMjogU29tZSBtZW1sZWFrIGZpeGVzCgoyMDExLTAzLTA4IDA5OjQzOjU4ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGJhc2VjYW1lcmFzcmM6IHdyYXBwZXJjYW1lcmFiaW5zcmM6IGNhbWVyYWJpbjI6IEV4cG9zZS9hZGQgZmxvYXRpbmcgcG9pbnQgem9vbSBwcm9wZXJ0eQoKMjAxMS0wMy0wNCAxNTo1Mzo0MiArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBSZW1vdmUgZGVhZCBkZWZpbml0aW9uCgkgIFRoaXMgZGVmaW5pdGlvbiBpcyB1bnVzZWQgaW4gdGhpcyBjb2RlLgoKMjAxMS0wMy0xMCAxMTozODoxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEF2b2lkIGNsZWFyaW5nIHJlY29yZGluZyBjYXBzCgkgIFdoZW4gcmVjb3JkaW5nIDIgdmlkZW9zIGluIHNlcXVlbmNlIHdpdGggdGhlIHNhbWUgdmlkZW8tY2FwdHVyZS1jYXBzLAoJICB0aGUgc2Vjb25kIHZpZGVvIHdvdWxkIGdldCBhIG5vdC1uZWdvdGlhdGVkIGVycm9yIGJlY2F1c2UgdGhlCgkgIHNyYyBjYXBzIHdlcmUgYmVpbmcgY2xlYXJlZCB3aXRob3V0IGFueSBpbnRlbnRpb24gb2YKCSAgcmVuZWdvdGlhdGluZyBpdCBiYWNrIHRvIHRoZSByZXF1ZXN0ZWQgY2FwdHVyZSBjYXBzLgoJICBUaGlzIHBhdGNoIGF2b2lkcyB0aGlzIGNhcHMgcmVzZXQgcHJvY2VkdXJlIHVubGVzcyBhIG5ldwoJICBjYXBzIHdhcyBzZXQuCgoyMDExLTAzLTExIDE0OjM3OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJICBkaXJhY3BhcnNlOiBBZGQgY29ycmVjdCB0ZW1wbGF0ZSBjYXBzIGFuZCBlbGVtZW50IGRldGFpbHMKCjIwMTEtMDMtMTEgMTA6NDA6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IGZpeCBMREFERC9MSUJTIHBhdGggb3JkZXIgZm9yIGNhbWVyYWJpbjIgZXhhbXBsZQoKMjAxMS0wMy0xMSAxMDozNDoyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IGRvbid0IGxlYWsgZWxlbWVudCBuYW1lIHN0cmluZ3MKCSAgRG9uJ3QgbGVhayBzdHJpbmcgY29weSByZXR1cm5lZCBieSBnc3RfZWxlbWVudF9nZXRfbmFtZSgpLiBBbHNvLCBjaGVjawoJICBmb3IgY2VydGFpbiBlbGVtZW50cyBieSBjaGVja2luZyB0aGUgcGx1Z2luIGZlYXR1cmUgLyBmYWN0b3J5IG5hbWUsIG5vdAoJICB0aGUgYXNzaWduZWQgb2JqZWN0IG5hbWUuCgoyMDExLTAzLTExIDEwOjI2OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IHJlbW92ZSBtb3JlIHRhcmtpbi90aGVvcmFleHAgYnVpbGQgY3J1ZnQKCjIwMTEtMDMtMTAgMTM6Mzk6NDAgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC90YXJraW4vTWFrZWZpbGUuYW06CgkqIGV4dC90YXJraW4vUkVBRE1FOgoJKiBleHQvdGFya2luL1RPRE86CgkqIGV4dC90YXJraW4vV0hBVF9USEVfSEVDS19JU19USElTX0NPREVfRE9JTkc6CgkqIGV4dC90YXJraW4vYml0Y29kZXIuaDoKCSogZXh0L3Rhcmtpbi9nb2xvbWIuaDoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW4uYzoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuaDoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuaDoKCSogZXh0L3Rhcmtpbi9pbmZvLmM6CgkqIGV4dC90YXJraW4vbWVtLmM6CgkqIGV4dC90YXJraW4vbWVtLmg6CgkqIGV4dC90YXJraW4vcmxlLmg6CgkqIGV4dC90YXJraW4vdGFya2luLmM6CgkqIGV4dC90YXJraW4vdGFya2luLmg6CgkqIGV4dC90YXJraW4vd2F2ZWxldC5jOgoJKiBleHQvdGFya2luL3dhdmVsZXQuaDoKCSogZXh0L3Rhcmtpbi93YXZlbGV0X2NvZWZmLmM6CgkqIGV4dC90YXJraW4vd2F2ZWxldF94Zm9ybS5jOgoJKiBleHQvdGFya2luL3l1di5jOgoJKiBleHQvdGFya2luL3l1di5oOgoJKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5oOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmg6CgkgIHRoZW9yYSx0YXJraW46IFJlbW92ZSBhbmNpZW50IHVudXNlZCBjb2RlCgoyMDExLTAzLTEwIDE2OjAzOjU4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogcHJvdmlkZSBmb3IgUFRTIG1ldGFkYXRhIHdoZW4gc28gY29uZmlndXJlZAoJICAuLi4gYW5kIG5vdCBvbmx5IHdoZW4gc29ydC1vZiBmZWVsaW5nIGxpa2UgaXQuCgkgIEluIGFueSBjYXNlLCBpZiBpdCB0dXJucyBvdXQgYWxsIHJlYWxseSBpcyBpbiBvcmRlciwKCSAgYW5kIHByZXN1bWFibHkgRFRTID09IFBUUywgdGhlbiBubyBjdHRzIHdpbGwgYmUgcHJvZHVjZWQgYW55d2F5LgoKMjAxMS0wMy0xMCAxNjowMjo0MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFsc28gdHJhY2sgb3JpZ2luYWwgUFRTIGJ1ZmZlciB0aW1lc3RhbXAgaW4gcmVvcmRlciBkdHMtbWV0aG9kCgoyMDExLTAzLTA5IDE0OjUzOjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRm9yY2UgRU9TIG9uIGF1ZGlvIHNyYwoJICBXZSBjYW4ndCByZWx5IG9uIGF1ZGlvIHNvdXJjZXMgcHVzaGluZyBFT1Mgd2hlbiBnb2luZyBQQVVTRUQtPlJFQURZCgkgIGJlY2F1c2UgdGhpcyBpcyBhIGJhc2VzcmMgYmFoYXZpb3IgYW5kIHdoZW4gdXNlZCBpbnNpZGUgYXV0b2F1ZGlvc3JjCgkgIHRoZSBnaG9zdHBhZCBnb2VzIGZsdXNoaW5nIGJlZm9yZSB0aGUgcmVhbCBzb3VyY2UgcHVzaGVzIHRoZSBFT1MsCgkgIHNvIGl0IGlzIGRyb3BwZWQuCgoyMDExLTAzLTA0IDA2OjA2OjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogTm8gbmVlZCBmb3Igc3RhcnRpbmcgc2VnbWVudAoKMjAxMS0wMy0wNCAwNjowOTo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgZ3N0Y2FtZXJhYmluMjogU2V0IGVuY29kZWJpbidzIHZpZGVvcmF0ZSBhbmQgYXVkaW9yYXRlIHByb3BlcnRpZXMKCSAgTGlzdGVuIHRvIGVuY29kZWJpbidzIGVsZW1lbnQtYWRkZWQgc2lnbmFsIHRvIGJlIGFibGUgdG8gc2V0CgkgIHNraXAtdG8tZmlyc3Qgb24gYm90aCBhdWRpb3JhdGVzIGFuZCB2aWRlb3JhdGVzLgoKMjAxMS0wMi0xNSAxNDo1ODoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEhhbmRsZSBhdWRpbyBlbGVtZW50cyBzdGF0ZXMKCSAgQXVkaW8gZWxlbWVudHMgYXJlIHB1dCBpbnRvIGJpbiBvbmx5IHdoZW4gbmVlZGVkLCBzbyB3ZSBuZWVkCgkgIHRvIGJlIGNhcmVmdWwgd2l0aCB0aGVpciBzdGF0ZXMgYXMgY2FtZXJhYmluMiB3b24ndCBtYW5hZ2UKCSAgdGhlbSBpZiB0aGV5IGFyZSBvdXRzaWRlIHRoZSBiaW4uCgkgIEFsc28gd2Ugc2hvdWxkIHJlc2V0IHRoZWlyIHBhZCdzIGZsdXNoaW5nIHN0YXR1cyBiZWZvcmUKCSAgc3RhcnRpbmcgYSBuZXcgY2FwdHVyZS4KCjIwMTEtMDEtMjEgMTI6NDc6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiB0ZXN0czogVXBkYXRlIHRlc3RzIHRvIGNoZWNrIGZvciBhdWRpbyBzdHJlYW1zCgkgIEFkZCBhIGNoZWNrIHRoYXQgcmVzdWx0aW5nIHJlY29yZGVkIHZpZGVvIGZpbGVzIGhhdmUgYXVkaW8gc3RyZWFtcy4KCjIwMTEtMDEtMjEgMTA6NTY6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjogYWRkaW5nIGF1ZGlvIHJlbGF0ZWQgcHJvcGVydGllcwoJICBBZGRzIDQgYXVkaW8gcHJvcGVydGllcyByZWxhdGVkIHRvIGF1ZGlvIHJlY29yZGluZwoJICAqIGF1ZGlvLXNyYwoJICAqIG11dGUKCSAgKiBhdWRpby1zdXBwb3J0ZWQtY2FwdHVyZS1jYXBzCgkgICogYXVkaW8tY2FwdHVyZS1jYXBzCgoyMDExLTAxLTIwIDA5OjM0OjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBBZGRpbmcgYXVkaW8gc3VwcG9ydCBmb3IgdmlkZW8gcmVjb3JkaW5ncwoJICBBZGRzIGFuIGF1ZGlvIHNvdXJjZSBhbmQgYXVkaW8gY2Fwc2ZpbHRlci9xdWV1ZS9jb252ZXJ0LCBjcmVhdGluZwoJICBhIG5ldyBicmFuY2ggb24gY2FtZXJhYmluMiB0aGF0IGlzIHVzZWQgdG8gZmVlZCBlbmNvZGViaW4gd2l0aAoJICBhdWRpbyBidWZmZXJzIGZvciB2aWRlbyByZWNvcmRpbmcuCgoyMDExLTAyLTI4IDE1OjQzOjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkIGxvZ2dpbmcgZm9yIHN0b3AtY2FwdHVyZSBzaWduYWwKCjIwMTEtMDItMjQgMTg6Mjg6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGQgdmlld2ZpbmRlciBjYXBzIHJlbGF0ZWQgcHJvcGVydGllcwoJICBBZGRzIHByb3BlcnRpZXMgdG8gY2hlY2sgd2hhdCBjYXBzIGFyZSBzdXBwb3J0ZWQgb24gdGhlCgkgIHZpZXdmaW5kZXIgKGZyb20gdGhlIGNhbWVyYXNyYyB2aWV3ZmluZGVyIHBhZCkgYW5kIGFub3RoZXIKCSAgb25lIHRvIHNldCBhIGNhcHMgZm9yIHRoZSB2aWV3ZmluZGVyLgoKMjAxMS0wMi0yNCAxNzo0MjoyMSAtMDMwMCAgTGF1cmkgTGVodGluZW4gPGxhdXJpLmxlaHRpbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJICBiYXNlY2FtZXJhc3JjOiBhZGQgdmlydHVhbCBmdW5jdGlvbiB0byBub3RpZnkgc3ViY2xhc3Mgb2YgY2hhbmdpbmcgcHJldmlldyBjYXBzCgkgIEFkZHMgYSB2aXJ0dWFsIGZ1bmN0aW9uIHRvIGJhc2VjYW1lcmFzcmMgaW4gY2FzZSBzdWJjbGFzc2VzIHdhbnQgdG8gYmUKCSAgbm90aWZpZWQgb2YgY2hhbmdpbmcgcHJldmlldyBjYXBzLiBUaGlzIGlzIHVzZWZ1bCBpZiB0aGUgc3ViY2xhc3Mgd2FudHMKCSAgdG8gcG9zdCB0aGUgcHJldmlldyBpdHNlbGYgb3IgaWYgaXQgd2FudHMgdG8gcHJvdmlkZSBhIHByZXZpZXcgYnVmZmVyCgkgIGFzIGNsb3NlIHRvIGFzIHBvc3NpYmxlIHRvIHRoZSB1c2VyJ3MgcmVxdWVzdGVkIHJlc29sdXRpb24gdG8gdGhlCgkgIHByZXZpZXcgZ2VuZXJhdGlvbiBwaXBlbGluZS4KCjIwMTEtMDItMjIgMTM6MTA6MTUgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluMjogYWRkIG9wdGlvbiBmb3Igc2V0dGluZyB0aGUgd3JhcHBlciBjYW1lcmEgc291cmNlCgoyMDExLTAyLTIxIDE3OjA0OjA2ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjI6IGFkZCBlbmNvZGluZyBwcm9maWxlIGxvYWRpbmcKCjIwMTEtMDItMTcgMTQ6NTE6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBGaXggbmV3c2VnbWVudCBwdXNoaW5nCgkgIFNlbmQgdXBkYXRlIG5ld3NlZ21lbnRzIGluc3RlYWQgb2Ygbm9uLXVwZGF0ZSBvbmVzCgkgIGZvciB0aGUgdmlkZW8gYnJhbmNoIHdoZW4gc3RhcnRpbmcgcmVjb3JkaW5ncwoKMjAxMS0wMi0xNSAxNDo1OTozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFNldCBzb21lIHF1ZXVlJ3MgcHJvcGVydGllcwoJICBTZXRzIHZpZXdmaW5kZXIgcXVldWUgdG8gbGVha3kgYW5kIHRlbGwgaW1hZ2UgYnJhbmNoCgkgIHF1ZXVlIHRvIGRvbid0IGNhcmUgYWJvdXQgZHVyYXRpb25zCgoyMDExLTAyLTEwIDExOjUwOjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogUmVhZHkgaXMgZW5vdWdoIGZvciBmb3JjaW5nIGEgY2FwcyBjaGFuZ2UKCjIwMTEtMDItMDkgMTk6MTQ6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBDaGVjayBmb3IgZG93bnN0cmVhbSBjYXBzIG9uIGZpcnN0IGNhcHR1cmVzCgkgIFVzZSB2aWRlb19yZW5lZ290aWF0ZSBhbmQgaW1hZ2VfcmVuZWdvdGlhdGUgYm9vbGVhbnMgdG8gbWFrZQoJICB0aGUgdmlkZW9zcmMgbmVnb3RpYXRlIHRoZSBjYXB0dXJlIGNhcHMgb24gdGhlIGZpcnN0IGNhcHR1cmUgYmVjYXVzZQoJICB0aGUgY2FwcyBtaWdodCBiZSBzZXQgYmVmb3JlIHdyYXBwZXJjYW1lcmFiaW5zcmMgZ29lcyBpbnRvIFBMQVlJTkcKCSAgYW5kIHBhZHMgZHJvcCB0aGUgaW50ZXJuYWwgcmVuZWdvdGlhdGUgZXZlbnQuCgkgIFRoaXMgaXMgcmVxdWlyZWQgYXMgdGhlIG91dHB1dC1zZWxlY3RvciBpcyB1c2luZyB0aGUgJ25vbmUnIG5lZ290aWF0aW9uCgkgIG1vZGUuCgoyMDExLTAyLTA5IDE5OjA5OjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogQXZvaWQgZml4YXRpbmcgY2FwdHVyZSBjYXBzCgkgIFdoZW4gc2V0dGluZyB0aGUgaW50ZXJuYWwgY2Fwc2ZpbHRlciBjYXBzIGZvciBjYXB0dXJlIHdlIHNob3VsZCBwdXQKCSAgdGhlIGZ1bGwgY2FwcyBpbnN0ZWFkIG9mIHRyeWluZyB0byBmaXhhdGUgaXQgb3Vyc2VsdmVzLiBUaGlzIHdheSB3ZSBsZXQKCSAgdGhlIGVsZW1lbnRzIChhbmQgbW9zdGx5IHRoZSBzb3VyY2UpIHNlbGVjdCB0aGUgYmVzdCBmb3JtYXQgaW5zdGVhZAoJICBvZiBkZWZhdWx0aW5nIHRvIHdoYXQgdGhlIHBhZCBmaXhhdGlvbiBmdW5jdGlvbiBwaWNrcy4KCjIwMTEtMDItMDkgMDg6Mjc6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGNhbWVyYWJpbjI6IGV4YW1wbGVzOiBBbGxvdyBmcmVlIGltYWdlIGRpbWVuc2lvbnMKCSAgQ2hhbmdlcyB0aGUgZGVmYXVsdCB3aWR0aC9oZWlnaHQgb2YgY2FwdHVyZXMgc28gdGhhdCBpdCB3aWxsCgkgIGJlIGF1dG9waWNrZWQgYnkgY2FtZXJhYmluMiBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcgYW4gb3B0aW9uCgoyMDExLTAyLTA5IDA4OjE1OjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBjYW1lcmFiaW4yOiBleGFtcGxlczogQmFja3BvcnQgZml4IGZyb20gY2FtZXJhYmluIGV4YW1wbGUKCSAgV2Ugc2hvdWxkIG9ubHkgY2hlY2sgaWYgdGhlIHh3aW5kb3cgc2hvdWxkIGJlIGNyZWF0ZWQgaWYgd2UgYWxyZWFkeQoJICBwYXJzZWQgdGhlIGFyZ3VtZW50cyBvZiB0aGUgcHJvZ3JhbQoKMjAxMS0wMi0wNCAxNDo1Mzo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIGNhbWVyYWJpbjI6IE1vdmluZyBwcmV2aWV3IGltYWdlIHByb3BlcnRpZXMgdG8gYmFzZWNhbWVyYXNyYwoJICBNb3ZlcyBwcmV2aWV3IGltYWdlIHJlbGF0ZWQgcHJvcGVydGllcyB0byBiYXNlY2FtZXJhc3JjIGFzIHRoYXQKCSAgc2hvdWxkIGJlIHByZXNlbnQgb24gYWxsIGNhbWVyYXNyY3MKCjIwMTEtMDItMDggMTU6NTE6NDIgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogRml4IGdldHRpbmcgZWxlbWVudCBpbXBsZW1lbnRpbmcgcGhvdG9ncmFwaHkgaWZhY2UKCjIwMTEtMDItMDMgMTI6MDI6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5oOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICBjYW1lcmFiaW4yOiBNb3ZlIHByZXZpZXcgaGVscGVyIGZ1bmN0aW9ucyB0byBiYXNlY2FtZXJhYmluc3JjCgkgIE1vdmUgcHJldmlldyBoZWxwZXIgZnVuY3Rpb25zIHRvIGJhc2VhY2FtZXJhYmluc3JjIHNvIHRoZXkgY2FuCgkgIGJlIHJldXNlZCBieSBtdWx0aXBsZSBjYW1lcmFiaW4yIHNvdXJjZXMuCgoyMDExLTAyLTAzIDE2OjU4OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGNhbWVyYWJpbjI6IGV4YW1wbGVzOiBBZGQgZ3N0LWNhbWVyYWJpbjItdGVzdAoJICBBZGRzIGdzdC1jYW1lcmFiaW4yLXRlc3QgZXhhbXBsZSBhcHBsaWNhdGlvbiwgc2ltaWxhciB0bwoJICBnc3QtY2FtZXJhYmluLXRlc3QgZm9yIGNhbWVyYWJpbi4KCSAgSXQgaXMgdXNlZnVsIGZvciB0YWtpbmcgcGljdHVyZXMgYW5kIHJlY29yZGluZyB2aWRlb3MgdXNpbmcKCSAgY2FtZXJhYmluMiBhbmQgcHJvdmlkaW5nIGFyZ3VtZW50cyBmb3IgbW9zdCBvZiBjYW1lcmFiaW4yCgkgIHByb3BlcnRpZXMKCjIwMTEtMDItMDQgMTI6MzY6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGQgdmlld2ZpbmRlci1zaW5rIHByb3BlcnR5CgkgIEFkZHMgYSBwcm9wZXJ0eSB0byBzZXQgdGhlIHZpZXdmaW5kZXIncyBzaW5rIG9mIGNhbWVyYWJpbjIKCjIwMTEtMDMtMDkgMTM6MTk6NTAgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkgIGZpZWxkYW5hbHlzaXM6IGZpeCBkb3VibGUgZnJlZSgpIGNyYXNoZXMKCjIwMTEtMDMtMDggMTc6Mjk6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTAzLTA4IDE3OjAzOjIyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvcmVzaW5kdmQvcnNud3JhcHBlZGJ1ZmZlci5jOgoJICBtZXRhOiB1cGRhdGUgZm9yIG5ldyBBUEkKCjIwMTEtMDMtMDggMTE6MTk6NDEgKzAwMDAgIEJ5ZW9uZy1yeWVvbCBLaW0gPGJyb2ZraW1zQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkgIHZpZGVvZmlsdGVyczogbGluayB0byBsaWJtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDQxNzYKCjIwMTEtMDMtMDcgMjI6NDE6MzAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2MjogdXBkYXRlIHVybCBmb3IgcG9ydC1ncm91cHMgZXh0ZW5zaW9uCgoyMDExLTAzLTA3IDEwOjM2OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgc291bmR0b3VjaDogVGhlIHBrZy1jb25maWcgZmlsZSBpbiB2ZXJzaW9uIDEuNSBpcyBjYWxsZWQgc291bmR0b3VjaAoKMjAxMS0wMi0yNiAxNjoyMDo1MiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9maWx0ZXJzYmFkLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5oOgoJICB6ZWJyYXN0cmlwZTogTmV3IGVsZW1lbnQKCSAgQWRkcyB6ZWJyYSBzdHJpcGVzIHRvIG92ZXJleHBvc2VkIHZpZGVvLgoKMjAxMS0wMy0wNCAxNzozNzowNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIGV4dDogQWx3YXlzIGRpc3QgdGhlIGN1cmwgZGlyZWN0b3J5CgkgIEV2ZW50IGlmIHdlIGNhbid0IGJ1aWxkIGl0LiBGaXhlcyBtYWtlIGRpc3QKCjIwMTEtMDMtMDQgMTc6MjY6NDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuYzoKCSAgc2ZzaW5rOiB1c2UgYmFzZXNpbmsgcHJlcm9sbCBsb2NrCgoyMDExLTAzLTA0IDEzOjM5OjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL01ha2VmaWxlLmFtOgoJICB2ZHBhdTogZGlzYWJsZSB1bnRpbCBzb21lb25lIHBvcnRzIGl0CgoyMDExLTAzLTA0IDEzOjI5OjI4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wMy0wNCAxMjoxMToxMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGVzCgkgIE1ha2VzIG1hY29zeCBjb21waWxlciBoYXBweQoKMjAxMS0wMy0wNCAxMjoxMDoyNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY3VybC9nc3RjdXJsc2luay5jOgoJICBjdXJsc2luazogRml4IHByaW50LXJlbGF0ZWQgaXNzdWVzCgoyMDExLTAzLTA0IDExOjU5OjQ0ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwODogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlCgkgIE1ha2VzIG1hY29zeCBjb21waWxlciBoYXBweS4KCjIwMTEtMDMtMDQgMDk6MjU6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0LmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5oOgoJICBmaWVsZGFuYWx5c2lzOiBhZGQgYmFja3VwIGZpbGVzIGZvciBjb21waWxpbmcgd2l0aG91dCBvcmMKCjIwMTEtMDMtMDMgMDA6NTc6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuaDoKCSAgaDI2M3BhcnNlOiBhbGxvY2F0ZSBIMjYzUGFyYW1zIHN0cnVjdCBvbiB0aGUgc3RhY2sKCSAgSXQncyBmbGF0IGFuZCBub3Qga2VwdCBhcm91bmQgZm9yIGxvbmdlci4KCjIwMTEtMDMtMDMgMDA6NDU6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuaDoKCSAgaDI2M3BhcnNlOiBtaW5vciBjbGVhbi11cHMKCSAgY29uc3QtaWZ5IHNvbWUgYXJndW1lbnRzIGFuZCByZS1pbmRlbnQgaGVhZGVyIGEgbGl0dGxlLgoKMjAxMS0wMi0yOCAxMTo1MTo1NCArMDEwMCAgYmVuamFtaW4gZ2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5OiBmaXggc3luYyBwcm9wZXJ0eSBkZWZhdWx0IHZhbHVlCgoyMDExLTAzLTAyIDIzOjQzOjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRlbmM6IEZpeCBjb21waWxhdGlvbiB3aXRoIGNlbHQgPj0gMC4xMS4wCgkgIEZpeGVzIGJ1ZyAjNjQzNjA3LgoKMjAxMC0wOS0xNSAxNzozMjowOSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZmllbGRhbmFseXNpcy9NYWtlZmlsZS5hbToKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmg6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMub3JjOgoJICBmaWVsZGFuYWx5c2lzOiBBZGQgZmllbGRhbmFseXNpcyBlbGVtZW50CgkgIFRoaXMgZWxlbWVudCBhbmFseXNlcyB2aWRlbyBidWZmZXJzIHRvIGlkZW50aWZ5IGlmIHRoZXkgYXJlIHByb2dyZXNzaXZlLAoJICBpbnRlcmxhY2VkIG9yIHRlbGVjaW5lZCBhbmQgb3V0cHV0cyBidWZmZXJzIHdpdGggYXBwcm9wcmlhdGUgZmxhZ3MgZm9yIGEKCSAgZG93bnN0cmVhbSBlbGVtZW50ICh3aGljaCB3aWxsIGJlIHRoZSBkZWludGVybGFjZSBlbGVtZW50LCBhZnRlciBzb21lCgkgIGZvcnRoY29taW5nIG1vZGlmaWNhdGlvbnMpIHRvIGJlIGFibGUgdG8gb3V0cHV0IHByb2dyZXNzaXZlIGZyYW1lcyBhbmQKCSAgYWRqdXN0IHRpbWVzdGFtcHMgcmVzdWx0aW5nIGluIGEgcHJvZ3Jlc3NpdmUgc3RyZWFtLgoKMjAxMS0wMy0wMSAxMToyMzo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJICBkb2NzOiB1cGRhdGUgZG9jcyBmb3IgcmVjZW50IGNoYW5nZXMgaW4gZ2l0CgoyMDExLTAzLTAxIDExOjE2OjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBleHQvY3VybC9nc3RjdXJsc2luay5jOgoJICBkb2NzOiBhZGQgbmV3IGN1cmwgcGx1Z2luIGFuZCBjdXJsc2luayBlbGVtZW50IHRvIGRvY3MKCjIwMTEtMDMtMDEgMTA6NDk6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFsc28gY2hlY2sgZm9yIHBsYXRmb3JtIHNvY2tldCBoZWFkZXJzIG5lZWRlZCBieSBjdXJsc2luayBlbGVtZW50CgoyMDExLTAzLTAxIDEwOjAzOjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzaW5rLmg6CgkgIGN1cmxzaW5rOiBubyBuZWVkIGZvciBhIHByaXZhdGUgaW5zdGFuY2Ugc3RydWN0dXJlCgkgIFRoZSBlbnRpcmUgaW5zdGFuY2Ugc3RydWN0dXJlIGlzIHByaXZhdGUgYW55d2F5LgoKMjAxMS0wMy0wMSAwOTo1Njo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY3VybC9nc3RjdXJsc2luay5jOgoJICBjdXJsc2luazogY2xlYW4gdXAgcHJvcGVydHkgcmVnaXN0cmF0aW9uIGNvZGUKCSAgRml4IHNvbWUgdHlwb3MsIHVzZSBzYW1lIHN0eWxlIGFzIGluIGFsbCBvdGhlciBwbHVnaW5zLCBhdm9pZGluZwoJICB1bm5lY2Vzc2FyeSB0ZW1wb3JhcnkgR1BhcmFtU3BlYyB2YXJpYWJsZXM7IHVzZSBHX1BBUkFNX1NQRUNfU1RBVElDX1NUUklOR1MuCgoyMDExLTAyLTI2IDIwOjIxOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBjdXJsOiBhZGQgY29uZmlndXJlIGNoZWNrIGFuZCBob29rIHVwIHRvIGJ1aWxkIHN5c3RlbQoKMjAxMS0wMi0yNiAyMDoyMDozMyArMDAwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBleHQvY3VybC9NYWtlZmlsZS5hbToKCSogZXh0L2N1cmwvZ3N0Y3VybC5jOgoJKiBleHQvY3VybC9nc3RjdXJsc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc2luay5oOgoJICBjdXJsOiBhZGQgbGliY3VybC1iYXNlZCBzaW5rIGVsZW1lbnQKCSAgU2luayBhY3RzIGFzIGEgY2xpZW50IGFuZCBjYW4gY29ubmVjdCB0byBzZXJ2ZXJzIHRvCgkgIHVwbG9hZCBtZWRpYS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTQ5NgoKMjAxMS0wMi0yNSAxNDoyNDoxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzoKCSAganAya2RlYzogcG9zdCBwcm9wZXIgZXJyb3Igd2hlbiB0aGUgaW1hZ2UncyBjb2xvdXIgc3BhY2UgaXMgbm90IHN1cHBvcnRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQzMTE1CgoyMDExLTAyLTI4IDIwOjE5OjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBjeWd3aW4vbWluZ3c7IGVuYWJsZSBwbHVnaW4gbGlua2luZyB0byBzdGF0aWMgbGliCgkgIFVzZWZ1bCBmb3IgRGlyZWN0WCBwbHVnaW4ocykuCgkgIEZpeGVzICM2NDI1MDcuCgoyMDExLTAyLTI4IDE5OjU4OjQxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBleHBvcnQgcGx1Z2luIGRlc2NyaXB0aW9uIG1vcmUgcGxhdGZvcm0gaW5kZXBlbmRlbnQKCSAgRml4ZXMgIzY0MjUwNC4KCjIwMTEtMDItMjggMTg6MzM6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxZGU3ZjZhIHRvIDZhZWM2YjkKCjIwMTEtMDItMjcgMTk6Mzk6NDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5jOgoJKiBleHQvcmVzaW5kdmQvcnNud3JhcHBlZGJ1ZmZlci5jOgoJKiBleHQvcmVzaW5kdmQvcnNud3JhcHBlZGJ1ZmZlci5oOgoJICBtZXRhOiBmaXggZm9yIG5ldyBtZXRhZGF0YSBhcGkKCjIwMTEtMDItMjYgMTQ6NTQ6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSAgbXhmOiBmaXggY2xhc3Mgc3RydWN0CgkgIEZpeCBjbGFzcyBwYXJlbnQgc3RydWN0dXJlCgkgIE1ldGFkYXRhIGlzIG5vdyBHT2JqZWN0CgoyMDExLTAyLTI2IDE0OjIyOjQ2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5jOgoJKiBleHQvcmVzaW5kdmQvcnNud3JhcHBlZGJ1ZmZlci5jOgoJKiBleHQvcmVzaW5kdmQvcnNud3JhcHBlZGJ1ZmZlci5oOgoJICBtaW5pb2JqZWN0OiBwb3J0IHJzbmR2ZAoKMjAxMS0wMi0yNiAxMzozOTowMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmYWxhdy5jOgoJKiBnc3QvbXhmL214ZmRtczEuYzoKCSogZ3N0L214Zi9teGZkdi1kaWYuYzoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9teGYvbXhmdXAuYzoKCSogZ3N0L214Zi9teGZ2YzMuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIG1pbmlvYmplY3Q6IHBvcnQgdG8gbmV3IDAuMTEgQVBJCgkgIFJlbW92ZSBtaW5pb2JqZWN0IGFuZCBidWZmZXIgc3ViY2xhc3Nlc3VzaW5nIEdPYmplY3Qgc3ViY2xhc3NlcyBhbmQKCSAgbWV0YWRhdGEuCgoyMDExLTAyLTI4IDEyOjA2OjEyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGNvbmZpZ3VyZS5hYwoJICB3aW4zMi9jb21tb24vY29uZmlnLmgKCjIwMTEtMDItMjYgMTM6NTM6NDQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBSZXZlcnQgImFhY3BhcnNlOiBhbGxvdyBwYXJzZWQgZnJhbWVzIG9uIHNpbmsgcGFkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGU0OWI4OWQ1YzVhMTI0NGZhMGRjYjhiYjQ5OTZlMzhmYjliZmY5ZTUuCgoyMDExLTAyLTI1IDE5OjU5OjA1IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogc2V0IGRpdGhlcmluZyBlbnVtIGRpcmVjdGx5CgoyMDExLTAyLTI1IDE5OjU3OjQ3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBBZGQgc3VwcG9ydCBmb3IgcjIxMAoKMjAxMS0wMi0yMyAxNzoyNTowMyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBhbGxvdyBwYXJzZWQgZnJhbWVzIG9uIHNpbmsgcGFkCgoyMDExLTAyLTIzIDE3OjI0OjE0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbWFrZV9tZXRhZGF0YV93cml0YWJsZSgpIGZpeAoKMjAxMS0wMi0yNCAwOToyOTo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgamlmbXV4OiB0ZXN0czogSW5jcmVhc2UgYnVzIHdhaXRpbmcgdGltZW91dAoJICBEb3VibGUgYnVzIHdhaXRpbmcgdGltZW91dCBhcyBzb21ldGltZXMgdGhlIHRlc3Qgd291bGQgZmFpbAoJICBiZWNhdXNlIGl0IHdvdWxkIHRpbWVvdXQgYW5kIGdldCBubyBtZXNzYWdlcyBmcm9tIHRoZSBidXMuCgoyMDExLTAyLTIxIDEzOjI0OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVuYW1lIEdUeXBlIGZyb20gR3N0QXVkaW9CYXNlUGFyc2VCYWQgdG8gR3N0QmFzZVBhcnNlQmFkCgkgIFdlIHVzZSBpdCBmb3IgdmlkZW8gYXMgd2VsbCBub3cuCgoyMDExLTAyLTIxIDEyOjE0OjU5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkgIFJldmVydCAiQ2hlY2sgdGhhdCBjb2xsZWN0cGFkcyBleGlzdHMgYmVmb3JlIHJlbW92aW5nIHBhZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA2ZDg3NDA0NzZjY2QzYTM0OThkYzRmMThjMTk3MzM2NDM4MjVjN2I4LgoJICBEZXBlbmRzIG9uIGEgY29yZSBjb21taXQgdGhhdCB3YXMgcmV2ZXJ0ZWQKCjIwMTEtMDItMjAgMjM6NTc6MTkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSAgQ2hlY2sgdGhhdCBjb2xsZWN0cGFkcyBleGlzdHMgYmVmb3JlIHJlbW92aW5nIHBhZAoJICBUaGUgY29yZSBub3cgY2FsbHMgcmVsZWFzZSBwYWQgZnJvbSBmaW5hbGl6ZSwgYXQgd2hpY2ggcG9pbnQKCSAgdGhlIGNvbGxlY3RwYWRzIG1pZ2h0IGhhdmUgYWxyZWFkeSBiZWVuIGZyZWVkLgoKMjAxMS0wMi0yMCAyMzowMTozMCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IEZpeCBZVVYtPlJHQiBtYXRyaXhpbmcKCjIwMTEtMDItMjAgMjI6NDM6NTYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmg6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5oOgoJICBjb2xvcnNwYWNlOiBBZGQgZGl0aGVyaW5nCgkgIERpdGhlcmluZyBvbmx5IGhhcHBlbnMgd2hlbiBhIDE2LWJpdC1wZXItY2hhbm5lbCBmb3JtYXQgaXMKCSAgaW52b2x2ZWQuCgoyMDExLTAxLTExIDEwOjMyOjQ3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSAgeHZpZGRlYzogYm9kZ2UgdG8gYXZvaWQgY3Jhc2hlcwoJICBJdCBzZWVtcyB4dmlkY29yZSBvdmVycmVhZHMgaXRzIGlucHV0IGJ1ZmZlciwgc28gYSBuYXN0eSB3b3JrYXJvdW5kCgkgIGlzIHRvIGFsbG9jYXRlIHNvbWUgbW9yZSBtZW1vcnkgKDE2IGJ5dGVzIHNlZW0gdG8gYmUgZW5vdWdoKS4KCSAgVGhlcmUgaXMgbm8gYXBwYXJlbnQgaW1hZ2UgY29ycnVwdGlvbiB3aXRoIHRoZXNlIGV4dHJhIGJ5dGVzIHNldCB0byAwLAoJICB2YWxncmluZCBpcyBtdWNoIGhhcHBpZXIsIGFuZCB0aGUgY3Jhc2hlcyBnbyBhd2F5LgoJICBJdCBpcyB1Z2x5LCBhbmQgc2xvd2VyIHRob3VnaC4gQnV0IHRoZW4sIHh2aWRkZWMgaXMgY3VycmVudGx5CgkgIG5vdCBhdXRvcGx1Z2dlZCBmb3IgcGxheWJhY2sgYW55d2F5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzM0MTA3CgoyMDExLTAyLTIwIDE0OjE0OjI3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLm9yYzoKCSAgY29sb3JzcGFjZTogZml4IGEgZmV3IGZvcm1hdHMKCjIwMTEtMDItMTkgMTM6MTI6NDEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuaDoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBBZGQgMTYtYml0LXBlci1jaGFubmVsIGhhbmRsaW5nCgoyMDExLTAyLTE5IDEzOjEzOjEzIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogRml4IG1lbWxlYWsKCjIwMTEtMDItMTkgMTM6MDc6MzkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9NYWtlZmlsZS5hbToKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyby5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvcGFyc2UuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmg6CgkgIGJhc2V2aWRlb2NvZGVjOiByZW1vdmUgcGFyc2VyIGluIGZhdm9yIG9mIGJhc2VwYXJzZQoKMjAxMS0wMi0xOCAxNToyNDo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSAgdmlkZW9wYXJzZXJzOiBjaGFuZ2UgcGx1Z2luIGZpbGVuYW1lIGZyb20gbGliZ3N0aDI2M3BhcnNlKiB0byBsaWJnc3R2aWRlb3BhcnNlcnNiYWQqCgkgIER1ZSB0byBhIHJlZ2lzdHJ5IGJ1ZyB5b3UgbWF5IG5lZWQgdG8gbWFudWFsbHkgcmVtb3ZlIHlvdXIKCSAgcmVnaXN0cnkgZmlsZSB0byBtYWtlIHRoZSBuZXcgcGx1Z2luIGFwcGVhciB3aXRoID4wIGZlYXR1cmVzLgoKMjAxMS0wMi0xOCAxNToxNzoxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBmaXggbG9nIG1lc3NhZ2UgcHJpbnRmIGZvcm1hdAoKMjAxMS0wMi0xOCAxNTowNTozMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB0cmltIHRyYWlsaW5nIHdoaXRlc3BhY2UKCjIwMTEtMDItMTggMTU6MDU6MDMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9iYXNlcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlIGRlbHRhLXVuaXQgZmxhZ3MgaW5zdGVhZCBvZiBub25lCgoyMDExLTAyLTE4IDE1OjAwOjA1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9pbmRleGluZy9pbmRleG1wZWcuYzoKCSAgaW5kZXhpbmctZXhhbXBsZTogdXNlIHByb3BlciBzaWduYWwgbmFtZXMKCjIwMTEtMDItMTggMDk6NDA6MDAgKzAxMDAgIE9saXZpZXIgQXViZXJ0IDxvbGl2aWVyLmF1YmVydEBsaXJpcy5jbnJzLmZyPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSAgcnN2Z292ZXJsYXk6IGFsbG93IG5lZ2F0aXZlIHZhbHVlcyBmb3IgeC95L3dpZHRoL2hlaWdodAoKMjAxMS0wMi0xOCAxMjozOTowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJICB2aWRlb3BhcnNlcnM6IGZpeCBidWlsZAoJICBBZGQgaW5jbHVkZXMgYW5kIGxpbmsgYWdhaW5zdCBuZXcgbGliZ3N0YmFzZXBhcnNlIGluIHRoZQoJICBidWlsZCB0cmVlLgoKMjAxMS0wMi0xNyAxNDozMjo0NiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkgIG1wZWd0c2RlbXV4OiBGaXggZGlzdGluZyBvZiBoZWFkZXJzCgoyMDExLTAyLTE3IDEzOjIyOjI4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogdXBkYXRlIGRvY3VtZW50YXRpb24gZm9yIEFQSSBjaGFuZ2VzCgoyMDEwLTEwLTEzIDE2OjEyOjAyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSAgdGVzdHM6IGZpeCBiYXNlcGFyc2UgdGVzdAoKMjAxMC0xMC0wOSAxNTowODozOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2RpcmFjX3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZGlyYWNfcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJICB2aWRlb3BhcnNlcnM6IEFkZCBkaXJhYyBwYXJzZXIKCjIwMTEtMDItMTcgMTM6MjA6NDYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IGRvIHRlc3QgYnVpbGQgd2l0aCAtZlBJQwoKMjAxMC0xMC0wOSAxNTowNjoxMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlcGFyc2U6CgkgIGVsZW1lbnQtbWFrZXI6IEFkZCBiYXNlcGFyc2UgdGVtcGxhdGUKCjIwMTAtMTAtMTMgMTU6Mzk6NTUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5oOgoJICBiYXNlcGFyc2U6IENyZWF0ZSBiYXNlcGFyc2UgbGlicmFyeQoKMjAxMS0wMi0xNiAyMToxNzo1NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkgIGR2ZHN1YmRlYzogbWFrZSB1cCBjbHV0IHZhbHVlcyBpZiB0aGV5IHdlcmVuJ3Qgc2V0CgoyMDEwLTEyLTA0IDE5OjU1OjMyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IHJlbGVhc2VfcGFkCgkgIFJlbW92ZSBib2d1cyBmcmVlaW5nIG9mIHBhZCBlbGVtZW50X3ByaXZhdGUgZGF0YSB0aGF0IHdlCgkgIG5ldmVyIHNldCAoY29sbGVjdHBhZHMgdXNlcyBpdCwgd2hpY2ggY2F1c2VzIGNvbmZ1c2lvbiBoZXJlKS4KCSAgQWxzbywgY2hlY2sgdGhhdCBvdXIgY29sbGVjdHBhZHMgaW5zdGFuY2UgZXhpc3RzIGJlZm9yZSB1c2luZwoJICBpdC4gIFBhcnRpYWwgZml4IGZvciAjNjM2MDExLgoKMjAxMS0wMi0xNyAyMTozMzo1NiArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzZGVtdXg6IHVzZSBHX0dVSU5UNjRfRk9STUFUIGFzIGZvcm1hdCBzcGVjaWZpZXIgZm9yIGd1aW50NjQKCSAgZml4ZXMgY29tcGlsYXRpb24gb24gMzJiaXQKCjIwMTEtMDItMTUgMTg6MTI6MDIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBGaXggbWVtb3J5IGxlYWsKCjIwMTEtMDItMTAgMTI6MzU6NDcgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuYzoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkgIG1wZWd0c2RlbXV4OiByZWxpY2Vuc2UgZ3N0bXBlZ2RlZnMuaCwgZ3N0bXBlZ2Rlc2MuaCBhbmQgZ3N0bXBlZ2Rlc2MuYyB0byBMR1BMIG9ubHkKCSAgd2l0aCBwZXJtaXNzaW9uIGZyb20gdGhlIGxpY2Vuc2UgaGVhZGVyOgoJICAiIiIKCSAgVGhpcyBsaWJyYXJ5IGlzIGxpY2Vuc2VkIHVuZGVyIDIgZGlmZmVyZW50IGxpY2Vuc2VzIGFuZCB5b3UKCSAgY2FuIGNob29zZSB0byB1c2UgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIGVpdGhlciBvbmUgb2YgdGhlbS4gVGhlCgkgIHR3byBsaWNlbnNlcyBhcmUgdGhlIE1QTCAxLjEgYW5kIHRoZSBMR1BMLgoJICAiIiIKCjIwMTEtMDItMTYgMTc6NTc6NDIgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L1RPRE86CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuYzoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVndHNkZW11eC9nc3R0c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgbXBlZ3RzZGVtdXg6IGFkZCBNUEVHIFRTIGRlbXV4ZXIgcmV3cml0ZSBmcm9tIEVkd2FyZCBIZXJ2ZXkKCSAgd2l0aCBjb250cmlidXRpb25zIGZyb20gTWlxdWVsIEFuZ2VsIEZhcnJlIEd1aXUgYW5kIFphaGVlciBBYmJhcyBNZXJhbGkKCjIwMTEtMDItMTcgMTQ6MTI6NDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB0dW5lIFFVRVJZX1NFRUtJTkcgcmVzcG9uc2UKCSAgRXZlbiBpZiB3ZSBjdXJyZW50bHkgZG8gbm90IGhhdmUgYSBkdXJhdGlvbiB5ZXQsIGFzc3VtZSBzZWVrYWJsZSBpZgoJICBpdCBsb29rcyBsaWtlIHdlJ2xsIGxpa2VseSBiZSBhYmxlIHRvIGRldGVybWluZSBpdCBsYXRlciBvbgoJICAod2hpY2ggY29pbmNpZGVzIHdpdGggbmVlZGVkIGluZm9ybWF0aW9uIHRvIHBlcmZvcm0gc2Vla2luZykuCgoyMDExLTAyLTA3IDE0OjQ2OjU3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdHVuZSBRVUVSWV9TRUVLSU5HIHJlc3BvbnNlCgkgIEV2ZW4gaWYgd2UgY3VycmVudGx5IGRvIG5vdCBoYXZlIGEgZHVyYXRpb24geWV0LCBhc3N1bWUgc2Vla2FibGUgaWYKCSAgaXQgbG9va3MgbGlrZSB3ZSdsbCBsaWtlbHkgYmUgYWJsZSB0byBkZXRlcm1pbmUgaXQgbGF0ZXIgb24KCSAgKHdoaWNoIGNvaW5jaWRlcyB3aXRoIG5lZWRlZCBpbmZvcm1hdGlvbiB0byBwZXJmb3JtIHNlZWtpbmcpLgoJICBGaXhlcyAjNjQxMDQ3LgoKMjAxMS0wMi0xNyAxMjoyODo1NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IHJlbW92ZSBleHRyYW5lb3VzIGJ1ZmZlciB1bnJlZgoKMjAxMS0wMi0xNiAxNToyOToyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6CgkgIGljbGVzOiBDb21wbGV0ZWx5IHJlbW92ZSBlcXVhbGl6ZXItdGVzdCBmcm9tIC1iYWQsIGl0J3MgaW4gLWdvb2Qgbm93CgoyMDExLTAyLTE2IDE1OjIzOjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6CgkgIGVxdWFsaXplci10ZXN0OiBJbml0aWFsaXplIGRlYnVnIGNhdGVnb3J5IGFmdGVyIGdzdF9pbml0KCkgdG8gZml4IHNlZ2ZhdWx0CgoyMDExLTAyLTE0IDEyOjUzOjQ5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGY5NGQ3MzkgdG8gMWRlN2Y2YQoKMjAxMS0wMi0xNCAxMjoxNDoxMiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBkb2NzOiByZW1vdmUgZHVwbGljYXRlZCBydWxlIGZyb20gTWFrZWZpbGUuYW0KCSAgVGhpcyBjYXVzZXMgYSBtYWtlIHdhcm5pbmcgYW5kIG1pZ2h0IGV2ZW4gY2F1c2UgZGlzdC1mYWlsdXJlLiBPdGhlciBtb2R1bGVzCgkgIGRvbid0IG5lZWQgdG8gb3ZlcnJpZGUgdGhlIHRhcmdldCBlaXRoZXIgYW5kIGlmIHdlIGNhbiBmaSBpdCBpbgoJICBjb21tb24vZ3RrLWRvYy1wbHVnaW5zLm1hay4KCjIwMTEtMDItMTQgMTE6NDg6MzQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogYWRkIHJzdmcgcGx1Z2luIHRvIHRoZSBkb2NzCgoyMDExLTAyLTE0IDExOjQyOjUyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkgIHJzdmdkZWM6IGFkZCBiYXNpYyBkb2MtYmxvYgoKMjAxMS0wMi0xMSAxNzo1OTozMSArMDEwMCAgT2xpdmllciBBdWJlcnQgPG9saXZpZXIuYXViZXJ0QGxpcmlzLmNucnMuZnI+CgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5oOgoJICByc3Znb3ZlcmxheTogaW1wbGVtZW50IHgveS93aWR0aC9oZWlnaHQgKGFic29sdXRlIGFuZCByZWxhdGl2ZSkgcG9zaXRpb25pbmcgYW5kIGRpbWVuc2lvbmluZwoJICBTaWduZWQtb2ZmLWJ5OiBPbGl2aWVyIEF1YmVydCA8b2xpdmllci5hdWJlcnRAbGlyaXMuY25ycy5mcj4KCjIwMTEtMDItMTAgMTY6MDA6MDMgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJICBjYW1lcmFiaW46IGFwcGxpY2F0aW9uIGVsZW1lbnQgbWVtb3J5IGxlYWsgZml4ZXMKCSAgSWYgdmlkZW9iaW4vaW1hZ2ViaW4gd2FzIG5ldmVyIHNldCB0byBSRUFEWSBzdGF0ZSB0aGUgb3duZXJzaGlwCgkgIG9mIGVsZW1lbnRzIGNyZWF0ZWQgYW5kIHNldCBieSBhcHBsaWNhdGlvbiB3ZXJlIG5ldmVyIHRha2VuIGJ5CgkgIGJpbiBhbmQgdGhlcmVmb3JlIGdzdF9vYmplY3Rfc2luayBpcyBjYWxsZWQgZm9yIHRoZXNlIGVsZW1lbnRzCgkgIGJlZm9yZSB1bnJlZmZpbmcgKHRoZXkgbWF5IHN0aWxsIGJlIGluIGZsb2F0aW5nIHN0YXRlIGFuZCBub3QKCSAgdW5yZWZmZWQgcHJvcGVybHkgd2l0aG91dCBzaW5raW5nIGZpcnN0KQoKMjAxMS0wMi0xMCAxMDozNToxOCArMDgwMCAgSHUgR2FuZyA8Z2FuZy5hLmh1QGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIHBob3RvZ3JhcGh5IGludGVyZmFjZTogdXBkYXRlIHRoZSBub2lzZV9yZWR1Y3Rpb24gdHlwZSBmcm9tIGd1aW50IHRvIEdzdFBob3RvZ3JhcGh5Tm9pc2VSZWR1Y3Rpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNjgxNAoKMjAxMS0wMi0wOCAyMzozOToyNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IFVwZGF0ZSBtaW4vbWF4IGJpdHJhdGUgYmVmb3JlIGZpcnN0IHBvc3RpbmcgdGhlbQoJICBUaGlzIGF2b2lkcyBwb3N0aW5nIGFuIGluaXRpYWwgbWluLWJpdHJhdGUgb2YgR19VSU5UTUFYIGFuZCBtYXgtYml0cmF0ZQoJICBvZiAwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxODU3CgoyMDExLTAyLTA4IDIzOjUwOjEzICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJICBtcGVnYXVkaW9wYXJzZTogUG9zdCBDQlIgYml0cmF0ZSBhcyBub21pbmFsIGJpdHJhdGUKCSAgRXZlbiBpZiBWQlIgaGVhZGVycyBhcmUgbWlzc2luZywgd2UgY2FuJ3QgZ3VhcmFudGVlIHRoYXQgYSBzdHJlYW0gaXMgaW4KCSAgZmFjdCBhIENCUiBzdHJlYW0sIHNvIGl0J3Mgc2FmZXIgdG8gbGV0IGJhc2VwYXJzZSBjYWxjdWxhdGUgdGhlIGF2ZXJhZ2UKCSAgYml0cmF0ZSByYXRoZXIgdGhhbiBhc3N1bWUgYSBDQlIgc3RyZWFtLiBIb3dldmVyLCBpbiBvcmRlciB0byBtYWtlCgkgIC9zb21lLyBtZXRhZGF0YSBhdmFpbGFibGUgYmVmb3JlIHRoZSByZXF1aXNpdGUgbnVtYmVyIG9mIGZyYW1lcyBoYXZlCgkgIGJlZW4gcGFyc2VkLCB0aGlzIHBvc3RzIHRoZSBiaXRyYXRlIGZyb20gdGhlIG5vbi1WQlIgaGVhZGVycyBhcyB0aGUKCSAgbm9taW5hbCBiaXRyYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxODU4CgoyMDExLTAyLTA0IDAxOjAwOjU1IC0wMjAwICBMdWNpYW5hIEZ1amlpIFBvbnRlbGxvIDxsdWNpYW5hQGZ1amlpLmV0aS5icj4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogQWx3YXlzIHRha2UgcGhvdG8gd2hlbiBwcmV2aWV3LWNhcHMgaXMgc2V0CgkgIFdoZW4gZmlsZW5hbWUgaXMgbm90IHNldCwgYnV0IHByZXZpZXctY2FwcyBpcyBzZXQsIHRha2UgdGhlIHBob3RvIGFuZAoJICBzZW5kIGl0cyBwcmV2aWV3LgoKMjAxMS0wMS0yNiAxMTo0OTo0OCAtMDIwMCAgTHVjaWFuYSBGdWppaSBQb250ZWxsbyA8bHVjaWFuYUBmdWppaS5ldGkuYnI+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgY2FtZXJhYmluOiBFdmVudHMgd2l0aCBzZWxlY3QtYWxsIGluIGlucHV0LXNlbGVjdG9yCgkgIFdoZW4gc2VsZWN0LWFsbCB3YXMgc2V0LCBpbnB1dC1zZWxlY3RvciB3YXNuJ3QgaGFuZGxpbmcgdXBzdHJlYW0gZXZlbnRzLgoJICBOb3cgaW5wdXQtc2VsZWN0b3IgZm9yd2FyZHMgdGhlIGV2ZW50IHRvIGFsbCBvZiBpdHMgc2luayBwYWRzLiBUaGlzCgkgIGNoYW5nZXMgdGhlIGlucHV0LXNlbGVjdG9yIGludGVybmFsIHRvIGNhbWVyYWJpbiB1bnRpbCBpdCBpcyByZXBsYWNlZAoJICB3aXRoIGEgYmV0dGVyIHNvbHV0aW9uLgoKMjAxMS0wMi0wNyAyMzoxNzo1NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBkaXJlY3RkcmF3c2luazogYXZvaWQgYXNwZWN0LXJhdGlvIGJvcmRlcnMgb3Zlcmx5aW5nIG90aGVyIHdpbmRvd3MKCSAgRml4ZXMgIzYzMjA1Ni4KCjIwMTEtMDItMDcgMjI6NDc6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgZGlyZWN0ZHJhd3Npbms6IGF2b2lkIHJlbmRlcmluZyB0byBpbnZhbGlkIGFyZWEKCSAgQmFzZWQgb24gcGF0Y2ggYnkgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoJICBGaXhlcyAjNTk0MjgwLgoKMjAxMS0wMi0wOCAxMToyNDo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IERvIG5vdCByZS1zZXQgdGhlIGNsb2NrIGlmIGl0IGlzIG51bGwKCSAgQXZvaWRzIG5vdCBuZWVkZWQgd29yayBhbmQgZG9lc24ndCBhc3NlcnQgd2hlbiB0cnlpbmcgdG8KCSAgdW5yZWYgdGhlIG51bGwgcmVmZXJlbmNlCgoyMDExLTAyLTA3IDA5OjUwOjIyICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW46IGZpeCAtLW5vLXh3aW5kb3cgb3B0aW9uIGhhbmRsaW5nIGluIGdzdC1jYW1lcmFiaW4tdGVzdAoJICAtLW5vLXdpbmRvdyBmbGFnIGlzIGZhbHNlIGJ5IGRlZmF1bHQgYW5kIHNlbGVjdGlvbiBiYXNlZCBvbiB0aGUgb3B0aW9uIHdoZXRoZXIKCSAgdG8gY3JlYXRlIFhXaW5kb3cgaXMgZG9uZSBiZWZvcmUgb3B0aW9ucyBhcmUgcGFyc2VkLiBUaGVyZWZvcmUgWFdpbmRvdyBpcyBuZXZlcgoJICBjcmVhdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxNzEyCgoyMDEwLTA5LTA2IDE0OjEwOjExICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSAgYW1ycGFyc2U6IGEgdmFsaWQgYW1yLXdiIGZyYW1lIHNob3VsZCBub3QgaGF2ZSByZXNlcnZlZCBmcmFtZSB0eXBlIGluZGV4CgkgIFNlZSAjNjM5NzE1LgoKMjAxMS0wMi0wNyAxNDowNTozNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogc2V0IEdTVF9MSUJfTERGTEFHUwoJICBBbGlnbnMgR1NUX0xJQl9MREZMQUdTIHdpdGggZS5nLiAtYmFzZSB0byBhcnJhbmdlIGZvciBwcm9wZXIgZXhwb3J0cyBpbiBsaWJzLgoKMjAxMS0wMS0xMiAxNzoxMzowNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkgIGNhbWVyYWJpbi10ZXN0czogZml4IGxvb2t1cCBvZiBVSSBmaWxlcwoJICBUaGVzZSBhcmUgdW5pbnN0YWxsZWQgZXhhbXBsZXMuIFBhc3MgJHNyY2RpciB0byBjcHAgdG8gYnVpbGQgdGhlIGNvcnJlY3QKCSAgbG9jYXRpb24gZm9yIHRoZSBVSSBmaWxlLgoKMjAxMS0wMi0wNCAwOTowODoyNiArMDEwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBBZGQgZGVzY3JpcHRpb24gZm9yIGJpdHJhdGUgdW5pdHMuCgoyMDExLTAyLTAzIDE1OjIyOjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJICBpbWFnZWNhcHR1cmViaW46IEZpeCBwcm9wZXJ0eSBzZXR0aW5nCgkgIFNldCB0aGUgcHJvcGVydHkgb24gdGhlIGNoaWxkIGFuZCBub3Qgb24gaXRzZWxmIGNhdXNpbmcgaW5maW5pdGUKCSAgbG9vcGluZwoKMjAxMS0wMi0wMSAxMToyMDoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBJbXByb3ZlIHByZXZpZXcgY2hlY2tpbmcKCjIwMTEtMDItMDEgMTE6MTk6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEZpeCBwcmV2aWV3IG1lc3NhZ2VzCgkgIEltYWdlIHByZXZpZXdzIHdoZXJlIGJlaW5nIHBvc3RlZCBpbiBzeW5jIHdpdGggdGhlIGJ1ZmZlcnMKCSAgdGltZXN0YW1wcywgdGhpcyBtYWtlcyBubyBzZW5zZSBhcyBwcmV2aWV3cyBzaG91bGQgYmUgcG9zdGVkIEFTQVAuCgkgIEFsc28gYWRkcyBzb21lIGRlYnVnZ2luZyBtZXNzYWdlcy4KCjIwMTEtMDItMDEgMTE6MTk6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEhhbmRsZSBzcmMgc3RhdGUgY2hhbmdlIHRvIGF2b2lkIGxvc2luZyB0aW1lc3RhbXBzCgkgIENhbWVyYWJpbjIgdXNlcyBzdGF0ZSBjaGFuZ2VzIHRvIGZvcmNlIHRoZSBzb3VyY2UgdG8gcmVuZWdvdGlhdGUgaXRzCgkgIGNhcHMgdG8gdGhlIGNhcHR1cmUgZm9ybWF0cy4gVGhlIHN0YXRlIGNoYW5nZXMgbWFrZXMgdGhlIHNvdXJjZSBsb3NlCgkgIGl0cyBjbG9jayBhbmQgYmFzZV90aW1lLCBjYXVzaW5nIGl0IHRvIHN0b3AgdGltZXN0YW1waW5nIHRoZSBidWZmZXJzLgoJICBXZSBzdGlsbCBuZWVkIGEgcHJvcGVyIHdheSB0byBtYWtlIHNvdXJjZXMgcmVuZWdvdGlhdGUgaXRzIGNhcHMsIHNvIHRoaXMKCSAgcGF0Y2ggaXMgYSBoYWNrIHRvIG1ha2UgdGhlIHNvdXJjZSBjb250aW51ZSB0aW1lc3RhbXBpbmcgYnVmZmVycyBldmVuCgkgIGFmdGVyIGNoYW5naW5nIHN0YXRlLiBUaGUgcGF0Y2ggd29ya3MgYnkgZ2V0dGluZyB0aGUgY2xvY2sgYW5kIGJhc2UKCSAgdGltZSBiZWZvcmUgZG9pbmcgdGhlIHN0YXRlIGNoYW5nZSB0byBOVUxMIGFuZCBzZXR0aW5nIHRoZW0gYmFjawoJICBhZnRlciBwdXR0aW5nIGl0IHRvIFBMQVlJTkcgYWdhaW4uIEl0IGFsc28gY2FyZXMgdG8gZHJvcCB0aGUgZmlyc3QKCSAgbmV3IHNlZ21lbnQgYWZ0ZXIgdGhpcyBzdGF0ZSBjaGFuZ2UuCgoyMDExLTAxLTI3IDE1OjM1OjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IHByZXZpZXcgZmlsdGVyIHRlc3RzCgkgIEFkZHMgdGVzdHMgdG8gdGhlIHByZXZpZXctZmlsdGVyIHByb3BlcnR5IG9mIGNhbWVyYWJpbjIKCjIwMTEtMDEtMjcgMTQ6Mzk6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgY2FtZXJhYmluMjogQWRkIHByZXZpZXctZmlsdGVyIHByb3BlcnR5CgkgIEFkZHMgYSBwcm9wZXJ0eSB0byBzZWxlY3QgYSBjdXN0b20gZWxlbWVudCBmb3IgcHJldmlldyBwaXBlbGluZQoJICBidWZmZXJzIHByb2Nlc3NpbmcKCjIwMTEtMDEtMjcgMTA6MTk6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogQWRkIHRlc3RzIGZvciBjdXN0b20gZmlsdGVycwoJICBBZGRzIHRlc3RzIHRvIGNoZWNrIHRoYXQgY3VzdG9tIGZpbHRlcnMgZWxlbWVudHMgcmVjZWl2ZSBidWZmZXJzCgoyMDExLTAxLTI2IDE1OjI3OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBBZGQgY3VzdG9tIGZpbHRlciBwcm9wZXJ0aWVzCgkgIEFkZHMgY3VzdG9tIGZpbHRlciBwcm9wZXJ0aWVzIGZvciBjYW1lcmFiaW4yLiBDdXN0b20gZmlsdGVycwoJICBjYW4gYmUgYWRkZWQgdG8gdmlkZW8vaW1hZ2UvcHJldmlldyBicmFuY2hlcy4KCjIwMTEtMDItMDMgMTY6MjQ6MjQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGNhbWVyYWJpbjogSW5pdGlhbGl6ZSB2YXJpYWJsZXMKCSAgTWFrZXMgY29tcGlsZXJzIGhhcHB5CgoyMDExLTAyLTAyIDE4OjQxOjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZml4IHVwIGVudW0gbmljayBuYW1lcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTkxNjUxCgoyMDExLTAxLTMxIDE3OjI0OjI0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcF9jb21tb24uaDoKCSAgZGNjcDogdXNlIHNvY2tsZW5fdCB3aGVyZSBhcHByb3ByaWF0ZSByYXRoZXIgdGhhbiBzcGVjaWZpYyB0eXBlCgkgIEluIHBhcnRpY3VsYXIsIGZpeGVzIEN5Z3dpbiBidWlsZCB3aGVyZSBzb2NrbGVuX3QgaXMgZGVmaW5lZCBhcyBpbnQKCSAgaW4gbGluZSB3aXRoIG5hdGl2ZSB3aW4zMiBhcGkgZGVmaW5pdGlvbi4KCjIwMTEtMDItMDEgMjA6MDE6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cHZwOC9NYWtlZmlsZS5hbToKCSAgcnRwdnA4OiBhbHNvIGxpbmsgYWdhaW5zdCBsaWJnc3RiYXNlLTAuMTAgZm9yIGFkYXB0ZXIgYW5kIGJpdCByZWFkZXIgQVBJCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDExNzgKCjIwMTEtMDItMDEgMTQ6NDA6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDNtdXg6IG1hcCBuZXcgR1NUX1RBR19FTkNPREVEX0JZIHRvIElEM3YyIFRFTkMgZnJhbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNzI2OAoKMjAxMS0wMS0zMSAxNzo0NToxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJICB2aWRlb3BhcnNlcnM6IGRpc3QgaDI2NHBhcnNlLmgsIGZpeGluZyBtYWtlIGRpc3RjaGVjawoJICBTcG90dGVkIGJ5IE5hdGhhbmFlbCBELiBOb2JsZXQKCjIwMTEtMDEtMTQgMTA6MTk6MjggKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiBvcHRpbWl6ZSBzZXR0aW5nIG5ldyBjYXBzIGZvciBwcmV2aWV3IGltYWdlIHBpcGVsaW5lCgkgIEF2b2lkIHJlLWNyZWF0aW5nIGFuZCBsaW5raW5nIG9mIHByZXZpZXcgaW1hZ2UgcGlwZWxpbmUgd2hlbgoJICBzZXR0aW5nIG5ldyBwcmV2aWV3IGltYWdlIGNhcHMuIEJhY2twb3J0ZWQgZnJvbSBjYW1lcmFiaW4yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5NTAyCgoyMDExLTAxLTMwIDE3OjA4OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHB2cDgvTWFrZWZpbGUuYW06CgkgIHJ0cHZwODogZml4IExJQlMgYW5kIENGTEFHUyBvcmRlciBpbiBNYWtlZmlsZS5hbQoKMjAxMS0wMS0yMyAxNzowMjozOCArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhkZXBheS5jOgoJICBydHB2cDhkZXBheTogQWNjZXB0IHBhY2tldHMgd2l0aCBvbmx5IG9uZSBieXRlIG9mIGRhdGEKCSAgV2hlbiBmcmFnbWVudGluZyBwYXJ0aW9ucyBpdCBjYW4gaGFwcGVuIHRoYXQgYW4gUlRQIHBhY2tldCBvbmx5IGNhcmllcyAxCgkgIGJ5dGUgb2YgUlRQIGRhdGEuCgoyMDExLTAxLTIzIDE2OjQyOjE3ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5oOgoJICBydHB2cDhwYXk6IFRyZWF0IHRoZSBmcmFtZSBoZWFkZXIganVzdCBsaWtlIGFueSBvdGhlciBwYXJ0aXRpb24KCSAgV2hlbiBzZXR0aW5nIHVwIHRoZSBpbml0aWFsIG1hcHBpbmcganVzdCBhY3QgYXMgaWYgdGhlIGdsb2JhbCBmcmFtZQoJICBpbmZvcm1hdGlvbiBpcyBhbm90aGVyIHBhcnRpdGlvbi4gVGhpcyBzYXZlcyBzcGVjaWFsLWNhc2luZyBpdCBsYXRlciBpbgoJICB0aGUgYWN0dWFsIHBhY2tldGl6aW5nIGNvZGUuCgoyMDEwLTA1LTE2IDE3OjIzOjE3ICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9ydHB2cDgvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhkZXBheS5oOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5oOgoJICBydHB2cDg6IEFkZCBzaW1wbGUgcGF5bG9hZGVycyBhbmQgZGVwYXlsb2FkZXJzIGZvciBWUDgKCSAgTWluaW1hbCBpbXBsZW1lbnRhdGlvbiBvZiBodHRwOi8vd3d3LndlYm1wcm9qZWN0Lm9yZy9jb2RlL3NwZWNzL3J0cC8sCgkgIHZlcnNpb24gMC4zLjIKCjIwMTEtMDEtMjggMTI6Mzg6MTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjY0cGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSAgdmlkZW9wYXJzZXJzOiBhZGQgaDI2NHBhcnNlCgkgIEZ1bmN0aW9uYWxseSBlcXVpdmFsZW50IHRvIChsZWdhY3kpaDI2NHBhcnNlIGFuZCByZS11c2VzIHRoZSBsYXR0ZXIncyBsb3cKCSAgbGV2ZWwgTkFMIHBhcnNpbmcsIGJ1dCBvdGhlcndpc2UgYmFzZWQgb24gR3N0QmFzZVBhcnNlLCBhbmQgcmVwbGFjaW5nCgkgIHNvbWUgcHJvcGVydHkgY29uZmlndXJhdGlvbiB3aXRoIGNhcHMgbmVnb3RpYXRpb24uCgoyMDExLTAxLTI3IDE4OjIwOjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcmVuYW1lIHRvIGxlZ2FjeWgyNjRwYXJzZQoKMjAxMS0wMS0yNyAxODoxNjoxNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9oMjYzcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9oMjYzcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9oMjYzcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9oMjYzcGFyc2UvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC9oMjYzcGFyc2UvZ3N0aDI2M3BhcnNlLmg6CgkqIGdzdC9oMjYzcGFyc2UvaDI2M3BhcnNlLmM6CgkqIGdzdC9oMjYzcGFyc2UvaDI2M3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGgyNjNwYXJzZTogbW92ZSB0byB2aWRlb3BhcnNlcnMgYW5kIHNlcGFyYXRlIHBsdWdpbiByZWdpc3RyYXRpb24KCjIwMTEtMDEtMjcgMTg6MDM6NTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2gyNjNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2gyNjNwYXJzZS9nc3RoMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiB1cGRhdGUgdG8gbGF0ZXN0IGJhc2VwYXJzZQoKMjAxMS0wMS0wNiAxMjoyOTozNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2M3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaDI2M3BhcnNlL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvaDI2M3BhcnNlL2dzdGgyNjNwYXJzZS5oOgoJKiBnc3QvaDI2M3BhcnNlL2gyNjNwYXJzZS5jOgoJKiBnc3QvaDI2M3BhcnNlL2gyNjNwYXJzZS5oOgoJICBoMjYzcGFyc2U6IHNodWZmbGUgY29kZSB0byB1bnRhbmdsZSBoMjYzcGFyc2UgYW5kIHBhcmFtZXRlciBwYXJzaW5nCgoyMDExLTAxLTA2IDEyOjM0OjEyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjYzcGFyc2UvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC9oMjYzcGFyc2UvZ3N0aDI2M3BhcnNlLmg6CgkqIGdzdC9oMjYzcGFyc2UvaDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogcHJvdmlkZSBmb3IgcHJvcGVyIGRlYnVnIGNhdGVnb3J5LCBtaW4gZnJhbWUgc2l6ZSBhbmQgY29kZSBzdHlsZQoKMjAxMC0xMi0xMCAxNjo0MDo0NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2M3BhcnNlL2dzdGgyNjNwYXJzZS5jOgoJICBoMjYzcGFyc2U6IHJlbW92ZSByZWR1bmRhbnQgZ2V0X2NhcHMKCSAgLi4gYXMgc3JjIHBhZCBhbHJlYWR5IHNldCB0byB1c2UgZml4ZWRfY2FwcwoKMjAxMC0xMi0xMCAxNjoyNjoyNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2M3BhcnNlL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvaDI2M3BhcnNlL2dzdGgyNjNwYXJzZS5oOgoJICBoMjYzcGFyc2U6IHNpbXBsaWZ5IHZhbGlkX2ZyYW1lIHBhcnNpbmcKCSAgLi4uIGNvbnNpZGVyaW5nIHRoYXQgYmFzZXBhcnNlIHRha2VzIGNhcmUgb2Ygc2tpcHBpbmcgZXRjCgoyMDEwLTA1LTE0IDAyOjA4OjAzICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2gyNjNwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2gyNjNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2gyNjNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2gyNjNwYXJzZS9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L2gyNjNwYXJzZS9nc3RoMjYzcGFyc2UuaDoKCSogZ3N0L2gyNjNwYXJzZS9oMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiBBZGQgYW4gaDI2M3BhcnNlIGVsZW1lbnQKCSAgVGhpcyBhZGRzIGFuIGgyNjNwYXJzZSBlbGVtZW50IGZvciBwYXJzaW5nIEguMjYzIHN0cmVhbXMsIGJyZWFraW5nIHRoZW0KCSAgdXAgaW50byBmcmFtZS1zaXplZCBidWZmZXJzLCBhbmQgZXhwb3J0aW5nIG1ldGFkYXRhIHN1Y2ggYXMgcHJvZmlsZSBhbmQKCSAgbGV2ZWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjIyNzYKCjIwMTEtMDEtMjcgMTY6NTI6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogaW1wcm92ZSBoYW5kbGluZyBvZiBkZXBlbmRlbnQgc3Vic3RyZWFtIGZyYW1lcwoJICBJbiBwYXJ0aWN1bGFyLCB0aW1lc3RhbXBzIG9mIHRoZXNlIHNob3VsZCB0cmFjayBtYWluLXN0cmVhbSB0aW1lc3RhbXBzLgoKMjAxMS0wMS0yMSAxNDo1MzozOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHR1bmUgZGVmYXVsdCBkdXJhdGlvbiBlc3RpbWF0ZSB1cGRhdGUgaW50ZXJ2YWwKCSAgUmF0aGVyIHRoYW4gYSBmaXhlZCBkZWZhdWx0IGZyYW1lIGNvdW50LCBlc3RpbWF0ZSBmcmFtZSBjb3VudCB0byBhaW0gZm9yCgkgIGFuIGludGVydmFsIGR1cmF0aW9uIGRlcGVuZGluZyBvbiBmcHMgaWYgYXZhaWxhYmxlLCBvdGhlcndpc2UgdXNlIG9sZAoJICBmaXhlZCBkZWZhdWx0LgoKMjAxMS0wMS0xNCAxNToxNjowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJldmVyc2UgcGxheWJhY2s7IG1pbmQga2V5ZnJhbWVzIGZvciBmcmFnbWVudCBib3VuZGFyeQoKMjAxMS0wMS0xMyAxNToyNjoyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkgIGFtcnBhcnNlOiBwcm9wZXJseSBjaGVjayBmb3Igc3VmZmljaWVudCBhdmFpbGFibGUgZGF0YSBwcmlvciB0byBhY2Nlc3MKCjIwMTEtMDEtMTIgMTQ6NDA6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBlbnN1cmUgbm9uLWVtcHR5IGNhbmRpZGF0ZSBmcmFtZXMKCjIwMTEtMDEtMTEgMTU6MjQ6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBjbGFyaWZ5IHNvbWUgZGVidWcgc3RhdGVtZW50cwoKMjAxMS0wMS0xMSAxNToyNDowMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByb3Blcmx5IHRyYWNrIHVwc3RyZWFtIHRpbWVzdGFtcHMKCSAgLi4uIHJhdGhlciB0aGFuIHdpdGggYSBkZWxheS4KCjIwMTEtMDEtMTEgMTU6MjM6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBuZWVkIHByb3BlciBmcmFtZSBkdXJhdGlvbiB0byBvYnRhaW4gc2Vuc2libGUgZnJhbWUgYml0cmF0ZQoKMjAxMS0wMS0xMSAxNToyMjo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByb3BlciBpbml0aWFsIHZhbHVlcyBmb3IgaW5kZXggdHJhY2tpbmcgdmFyaWFibGVzCgoyMDExLTAxLTExIDEyOjA1OjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYXJyYW5nZSBmb3IgY29uc2lzdGVudCBldmVudCBoYW5kbGluZwoKMjAxMS0wMS0xMCAxNjo1OTo1OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGhlYWRlciBzdHlsZSBjbGVhbmluZwoKMjAxMS0wMS0xMCAxNzowNzozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByb3ZpZGUgc29tZSBtb3JlIGluaXRpYWwgZnJhbWUgbWV0YWRhdGEgaW4gcGFyc2VfZnJhbWUKCSAgLi4uIGFuZCBkb2N1bWVudCBhY2NvcmRpbmdseS4KCjIwMTEtMDEtMTAgMTY6NTY6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlZmFjdG9yIHBhc3N0aHJvdWdoIGludG8gZm9ybWF0IGZsYWdzCgkgIEFsc28gYWRkIGEgZm9ybWF0IGZsYWcgdG8gc2lnbmFsIGJhc2VwYXJzZSB0aGF0IHN1YmNsYXNzL2Zvcm1hdCBjYW4gcHJvdmlkZQoJICAocGFyc2VkKSB0aW1lc3RhbXAgcmF0aGVyIHRoYW4gYW4gZXN0aW1hdGVkIG9uZS4gIEluIHBhcnRpY3VsYXIsIHN1Y2ggInN0cm9uZyIKCSAgdGltZXN0YW1wIHRoZW4gYWxsb3dzIHRvIGUuZy4gZGV0ZXJtaW5lIGR1cmF0aW9uLgoKMjAxMS0wMS0xMCAxNTozNDo0OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBpbnRyb2R1Y2UgYSBiYXNlcGFyc2UgZnJhbWUgdG8gc2VydmUgYXMgY29udGV4dAoJICAuLi4gYW5kIGFkanVzdCBzdWJjbGFzcyBwYXJzZXJzIGFjY29yZGluZ2x5CgoyMDExLTAxLTA3IDE2OjM5OjUxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogcmVzdHJpY3QgZHVyYXRpb24gc2Nhbm5pbmcgdG8gcHVsbCBtb2RlIGFuZCBhdm9pZCBleHRyYSBzZXRfY2FwcyBjYWxsCgoyMDExLTAxLTA3IDE1OjU4OjQ5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogdXBkYXRlIHNvbWUgZG9jdW1lbnRhdGlvbgoJICBBbHNvIGFkZCBzb21lIG1vcmUgZGVidWcuCgoyMDExLTAxLTA2IDExOjQxOjQ0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYWxsb3cgaW5jcmVhc2luZyBtaW5fc2l6ZSBmb3IgY3VycmVudCBmcmFtZSBwYXJzaW5nIG9ubHkKCSAgQWxzbyBjaGVjayB0aGF0IHN1YmNsYXNzIGFjdHVhbGx5IGVpdGhlciBkaXJlY3RzIHRvIHNraXAgYnl0ZXMgb3IKCSAgaW5jcmVhc2VzIGV4cGVjdGVkIGZyYW1lIHNpemUgdG8gYXZvaWQgZ29pbmcgbm93aGVyZSBpbiBib2d1cwoJICBpbmRlZmluaXRlIGxvb3BpbmcuCgoyMDExLTAxLTE0IDE1OjI2OjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhZXNwYXJzZTogZml4IHJlZmFjdG9yIHJlZ3Jlc3Npb24gaW4gbG9vcCBiYXNlZCBwYXJzaW5nCgoyMDExLTAxLTA2IDExOjE2OjU2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcGFzcyBhbGwgYXZhaWxhYmxlIGRhdGEgdG8gc3ViY2xhc3MgcmF0aGVyIHRoYW4gbWluaW11bQoJICBBbHNvIHJlZHVjZSBzb21lIGFkYXB0ZXIgY2FsbHMgYW5kIGFkZCBhIGZldyBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAxMC0xMi0xMCAxNTo1OTo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCByZXZlcnNlIHBsYXliYWNrIGhhbmRsaW5nCgoyMDEwLTEyLTEwIDE0OjU2OjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbWlub3IgdHlwbyBhbmQgZGVidWcgc3RhdGVtZW50IGNsZWFudXAKCjIwMTAtMTItMTAgMTQ6NDA6MDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiByZWR1Y2UgbG9ja2luZwoJICAuLi4gd2hpY2ggaXMgZWl0aGVyIGFscmVhZHkgbXV0ZSBhbmQvb3IgaW1wbGljaXRseSBoYW5kbGVkIGJ5IFNUUkVBTV9MT0NLLgoKMjAxMS0wMS0yNyAxNzozMjo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkgIHZkcGF1OiBJbml0aWFsaXplIHNvbWUgdmFyaWFibGVzIHRvIG1ha2UgZ2NjIDQuNiBoYXBweQoKMjAxMS0wMS0yNyAxNzoyOToxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBJbml0aWFsaXplIHNvbWUgdmFyaWFibGVzIHRvIG1ha2UgZ2NjIDQuNiBoYXBweQoKMjAxMS0wMS0yNiAxODo0NTo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6CgkgIGpwMmtkZWMsIGpwMmtlbmM6IGFkZCBzdXBwb3J0IHYzMDggKDQ6NDo0IFlVVikKCSAgQmVjYXVzZSB3ZSBjYW4uCgoyMDExLTAxLTI2IDE0OjI3OjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IFVzZSB0aGUgY29ycmVjdCBmb3IgbGltaXQKCSAgVGhlcmUgYXJlIDMgdGFnbGlzdHMgdG8gYmUgdGVzdGVkLCBub3QgMgoKMjAxMS0wMS0yNiAxMTo0MDo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluMjogRG8gbm90IGZvcmdldCB0byB1bnJlZiBzb21lIHN0dWZmCgkgIENsZWFudXAgcHJvcGVybHkgYnkgdW5yZWZpbmcgdGhlIGVuY29kaW5nIHByb2ZpbGUgYW5kIHByZXZpZXcgY2FwcwoKMjAxMS0wMS0yNiAxMDo1NDo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluMjogQWRkIG5hbWVzIHRvIHNvbWUgZWxlbWVudHMKCSAgQWRkcyBuYW1lcyB0byBpbnN0YW5jZXMgb2Ygc29tZSBlbGVtZW50cyB0byBtYWtlIGRlYnVnZ2luZyBlYXNpZXIKCjIwMTEtMDEtMjUgMTg6MTA6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBIYW5kbGUgdmlkZW9zaW5rIHN0YXRlcyBtb3JlIGNhcmVmdWxseQoJICBXaGVuIGdvaW5nIHRvIHJlYWR5LCBjYW1lcmFiaW4yIGNvdWxkIGNyZWF0ZSBhbiBlbXB0eSBmaWxlCgkgIGlmIHRoZSB2aWRlb3Npbmsgd2FzIHB1dCB0byByZWFkeS4gVGhpcyBwYXRjaCBvbmx5IHB1dHMgdmlkZW9zaW5rCgkgIHRvIHJlYWR5IG9uIHRoZSBQQVVTRURfVE9fUkVBRFkgc3RhdGUgY2hhbmdlIGlmIGl0IGlzIG9uIFBBVVNFRAoJICBvciBQTEFZSU5HLgoKMjAxMS0wMS0xNCAxNDowODozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGF2b2lkIGxvb3AgaW4gZnJhbWUgbG9jYXRpbmcgaW50ZXJwb2xhdGlvbgoKMjAxMS0wMS0yNCAyMzozMjozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJICByc3Znb3ZlcmxheTogRG8gbm90IHNlZ2ZhdWx0IG9uIHVuZXhpc3RlbnQgZmlsZXMKCSAgV2hlbiBwYXNzaW5nIGFuIHVuZXhpc3RlbnQgZmlsZSB0byByc3Znb3ZlcmxheSBpdCB3b3VsZAoJICBjcmFzaCBiZWNhdXNlIHRoZSBzdmcgbG9hZGluZyB3b3VsZCBmYWlsIHdpdGhvdXQgc2V0dGluZwoJICBhbiBlcnJvci4KCSAgVGhpcyBwYXRjaCBtYWtlcyBpdCBjaGVjayBpZiB0aGUgaGFuZGxlIHdhcyBhY3R1YWxseSBjcmVhdGVkCgkgIGFuZCBsb2dzIGFuIGVycm9yIGluIGNhc2UgaXQgZGlkbid0LiBNYXliZSBpdCBzaG91bGQgcG9zdCBhbgoJICBlcnJvciB0byB0aGUgYnVzLCBidXQgdGhlIHByZXZpb3VzIGVycm9yIGhhbmRsaW5nIGRpZG4ndCwgc28KCSAgSSBqdXN0IGZvbGxvd2VkIHRoZSBzYW1lIGxvZ2ljLgoKMjAxMS0wMS0yNCAxODozNzoxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW46ICBhZGQgdGltaW5nIHByaW50aW5nIGZvciBwcmV2aWV3IGltYWdlCgkgIE1lYXN1cmUgYW5kIHByaW50IHRoZSB0aW1lIHRha2VuIHRvIGdlbmVyYXRlIHByZXZpZXcgaW1hZ2UuIEFuZAoJICBmaXggYSB0eXBvCgoyMDExLTAxLTI0IDE4OjM2OjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogUmVtb3ZlIHVudXNlZCBtYWNybwoKMjAxMS0wMS0xMiAxNjoyNjoxOSArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluOiBEb24ndCBzZXQgZGVmYXVsdCB2YWx1ZXMgZm9yIEdzdFBob3RvZ3JhcGh5IGludGVyZmFjZSBzZXR0aW5ncwoJICBEb24ndCBzZXQgYW55IGRlZmF1bHQgdmFsdWVzIGZvciBzb3VyY2UgZWxlbWVudCBHc3RQaG90b2dyYXBoeSBpbnRlcmZhY2UKCSAgc2V0dGluZ3MsIHNvdXJjZSBlbGVtZW50cyBzaG91bGQgaGF2ZSBzYW5lIGRlZmF1bHRzIHRoZW1zZWx2ZXMuCgkgIEFsc28sIHNldHRpbmcgc2NlbmUtbW9kZSBpcyB0cmlja3kgYXMgaXQgaXMgYSBzdXBlcnNldCBvZiBvdGhlciBHc3RQaG90b2dyYXBoeQoJICBzZXR0aW5ncy4gVGhpcyBtaWdodCBjYXVzZSBwcm9ibGVtIHdpdGggZGVmYXVsdHMgZS5nLiBzZXR0aW5nIHNjZW5lLW1vZGUgdG8KCSAgJ25pZ2h0JyBtYXkgY29uZmlndXJlIGZsYXNoLW1vZGUgYXMgJ29uJyBieSBkZWZpbml0aW9uLCBhbmQgYWZ0ZXIgdGhhdAoJICB3ZSBkb24ndCB3YW50IHRvIG92ZXJyaWRlIHRoaXMgZmxhc2gtbW9kZSBzZXR0aW5nIHdpdGggZ3N0LWNhbWVyYWJpbi10ZXN0IGRlZmF1bHQKCSAgdmFsdWUuIE1vcmVvdmVyLCB1c2VyIG5lZWRzIGhhdmUgYW4gb3B0aW9uIHRvIHNldCBzY2VuZSBtb2RlIGZpcnN0IGFuZCB0aGVuIGZvcmNlCgkgIHNvbWUgaW5kaXZpZHVhbCBzZXR0aW5nIHRvIGEgZGlmZmVyZW50IHZhbHVlIGZyb20gdGhlIHNjZW5lLW1vZGUgZGVmaW5pdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTg0MQoKMjAxMS0wMS0yNCAxNzo0Njo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IENoZWNrIHRoZSBzdGFydCB0aW1lIG9mIGJ1ZmZlcnMKCSAgQmUgY2FyZWZ1bCB3aGVuIHRyeWluZyB0byBjcmVhdGUgYSBuZXdzZWdtZW50IGV2ZW50IHRvIGF2b2lkCgkgIHN0YXJ0IHRpbWVzIG9mIC0xIGZyb20gaW52YWxpZCBidWZmZXIgdGltZXN0YW1wcwoKMjAxMS0wMS0xMSAxNTo1MjowMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkgIGR2ZHNwdTogZG9uJ3Qgd3JpdGUgY2xpcHBlZCBsaW5lcyB0byB0aGUgb3V0cHV0IGJ1ZmZlcgoJICBXZSBtYXkgbm90IGluY3JlbWVudCB0aGUgb3V0cHV0IHBvaW50ZXIsIGJ1dCBpdCdsbCBzdGlsbCBiZSBqdXN0CgkgIG9mZiB0aGUgZW5kIG9mIHRoZSBhbGxvY2F0ZWQgYXJlYS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwMjg0NwoKMjAxMS0wMS0xOSAxNTowNzoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9QT1JUSU5HOgoJICBjYW1lcmFiaW4yOiBVcGRhdGUgcG9ydGluZyBmaWxlCgkgIEFkZHMgcG9ydGluZyBpbmZvcm1hdGlvbiBhYm91dCB1c2luZyBlbmNvZGViaW4gb24gY2FtZXJhYmluMgoKMjAxMS0wMS0xNCAwODoxMjoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9QT1JUSU5HOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJICBjYW1lcmFiaW4yOiBBZGQgaW1hZ2UtZG9uZSBtZXNzYWdlCgkgIFBvc3QgYW4gaW1hZ2UtZG9uZSBtZXNzYWdlIHdoZW4gYSBuZXcgaW1hZ2UgaXMgc2F2ZWQgdG8gZGlzawoKMjAxMS0wMS0xMSAxNDo1MDo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEltcGxlbWVudCB0YWdzZXR0ZXIgaW50ZXJmYWNlCgoyMDExLTAxLTExIDEwOjI5OjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IEFkZCBwcmV2aWV3IGltYWdlIHRvIHRlc3RzCgkgIEFkZHMgdGVzdHMgZm9yIGNoZWNraW5nIHRoYXQgcHJldmlldyBpbWFnZXMgYXJlIHBvc3RlZCB3aXRoCgkgIHRoZSBjb3JyZWN0IGNhcHMgb24gdGVzdHMKCjIwMTEtMDEtMTEgMDk6MTI6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IEFkZCBhIHByb3BlcnR5IHRvIHNlbGVjdCB0aGUgZW5jb2RpbmcgcHJvZmlsZQoJICBBZGRzIGEgdmlkZW8tcHJvZmlsZSB0byBhbGxvdyBzZWxlY3Rpbmcgd2hpY2ggZW5jb2RpbmcgcHJvZmlsZQoJICB0byB1c2UgZm9yIHZpZGVvIHJlY29yZGluZ3MKCjIwMTEtMDEtMTEgMDg6NDQ6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHBsdWdpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9yZWNvcmRpbmdiaW4uYzoKCSAgY2FtZXJhYmluMjogUmVtb3ZpbmcgdmlkZW9yZWNvcmRpbmdiaW4KCSAgUmVtb3ZpbmcgdmlkZW9yZWNvcmRpbmdiaW4gYXMgd2Ugbm93IHVzZSBlbmNvZGViaW4gZm9yIGl0CgoyMDEwLTEyLTI3IDExOjI5OjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogTW92ZSB0byBlbmNvZGViaW4KCjIwMTEtMDEtMTAgMTU6MTk6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBTZXQgb3V0cHV0LXNlbGVjdG9yIHBhZC1uZWdvdGlhdGlvbi1tb2RlIHRvIG5vbmUKCSAgVXNlIG91dHB1dC1zZWxlY3RvciBub25lIG5lZ290aWF0aW9uIG1vZGUgYXMgaXQgd2FzIHRoZSBkZWZhdWx0IGJlZm9yZQoJICB0aGUgbGFzdCBjaGFuZ2VzLiBUaGlzIGxpa2VseSBuZWVkcyB0byBiZSBmaXhlZCB0byB1c2UgJ2FjdGl2ZScgb24KCSAgY2FtZXJhYmluMgoKMjAxMS0wMS0xMCAxNToxOTowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEhhbmRsZSBzdGF0ZSBjaGFuZ2UgZmFpbHVyZXMKCSAgV2hlbiBpdHMgaW50ZXJuYWwgZWxlbWVudCBmYWlscyB0byBjaGFuZ2Ugc3RhdGUsIGRvbid0IGFjdCBhcwoJICBpZiBzdWNjZWVkZWQuCgoyMDEwLTEyLTMwIDAwOjI3OjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgY2FtZXJhYmluMjogSW1wbGVtZW50IHByZXZpZXdpbmcKCSAgSW1wbGVtZW50IHByZXZpZXdpbmcgZnVuY3Rpb25hbGl0eSB1c2luZyAyIHByb3BlcnRpZXMuIEEgYm9vbGVhbgoJICAocG9zdC1wcmV2aWV3cykgdGhhdCBpbmRpY2F0ZXMgaWYgcHJldmlld3Mgc2hvdWxkIGJlIHBvc3RlZCwgYW5kIGEKCSAgR3N0Q2FwcyAocHJldmlldy1jYXBzKSB0byBwcm92aWRlIHRoZSBkZXNpcmVkIHByZXZpZXcgY2Fwcy4KCSAgd3JhcHBlcmNhbWVyYWJpbnNyYyBpbXBsZW1lbnRzIHByZXZpZXdpbmcgYnkgc3VwcGx5aW5nIHRoZSBjYXB0dXJlZAoJICBpbWFnZSB0byBhIHBpcGVsaW5lIHRvIGFkYXB0IGl0IHRvIHRoZSByZXF1aXJlZCBjYXBzIGJlZm9yZSBwb3N0aW5nLgoKMjAxMC0xMi0zMCAwMDoyNjowNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSAgY2FtZXJhYmluMjogQWRkIG1ldGhvZHMgZm9yIHByZXZpZXcgaW1hZ2UgbWVzc2FnZSBwb3N0aW5nCgkgIEFkZHMgYSBoZWxwZXIgc3RydWN0IGFuZCBmdW5jdGlvbnMgZm9yIGltcGxlbWVudGluZyBhIHByZXZpZXcgbWVzc2FnZQoJICBpbiBjYW1lcmFiaW4yLgoKMjAxMC0xMi0yOSAyMzo0ODozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IHRlc3RzOiBVc2UgbWFpbmxvb3BzCgkgIFVzZSBtYWlubG9vcHMgaW5zdGVhZCBvZiBzbGVlcHMgdG8gcmVhZCBidXMgbWVzc2FnZXMgYW5kIGNhdGNoCgkgIGVycm9ycy4KCjIwMTAtMTItMjkgMTQ6MTI6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBVc2UgZHJvcF9lb3MgZnVuY3Rpb24gZnJvbSBjYW1lcmFiaW5nZW5lcmFsCgkgIFRoZXJlIHdhcyBhbHJlYWR5IGEgZXZlbnQgcHJvYmUgZnVuY3Rpb24gZm9yIGRyb3BwaW5nIEVPUyBvbgoJICBjYW1lcmFiaW5nZW5lcmVhbCwgc28gdXNlIHRoYXQgaW5zdGVhZCBvZiByZXBsaWNhdGluZyB0aGUgY29kZQoKMjAxMS0wMS0yNCAxMTo1NTo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlY2FwdHVyZWJpbi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogaW1hZ2VjYXB0dXJlYmluMjogZml4IHdhcm5pbmdzCgkgIFdhcm5pbmdzIHBhc3NlZCBtZSBieSBvbiB0aGUgbGFzdCBjb21taXRzIHRvIGNhbWVyYWJpbjIgdGVzdHMsCgkgIGZpeGluZyB0aGVtLgoKMjAxMS0wMS0yNCAxMTowNTo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBPbmx5IHJ1biBhIHRlc3QgaWYgLWdvb2QgMC4xMC4yNyBpcyBwcmVzZW50CgkgIEEgY2FtZXJhYmluMiB0ZXN0cyBkZXBlbmRzIG9uIHRoZSBjb21taXQKCSAgZGNiYmEwOTMyZGM1NzlhYmQ2YWFiNDQ2MGZhMWE0MTYzNzRlZGExYiBmb3IganBlZ2VuYyBvbiAtZ29vZAoJICB0aGF0IHdhcyByZWxlYXNlZCBvbiAwLjEwLjI3LgoJICBUaGlzIHBhdGNoIG1ha2VzIGl0IGNoZWNrIGZvciB0aGlzIHZlcnNpb24gYmVmb3JlIHJ1bm5pbmcgdGhlCgkgIHRlc3QuCgoyMDExLTAxLTI0IDEwOjA4OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlY2FwdHVyZWJpbi5jOgoJICB0ZXN0czogaW1hZ2VjYXB0dXJlYmluOiBPbmx5IHJ1biBhIHRlc3QgaWYgLWdvb2QgaXMgMC4xMC4yNyBvciBuZXdlcgoJICBPbmUgdGVzdCBvbiBpbWFnZWNhcHR1cmViaW4gcmVxdWlyZXMgZGNiYmEwOTMyZGM1NzlhYmQ2YWFiNDQ2MGZhMWE0MTYzNzRlZGExYgoJICBvbiBnb29kIHRoYXQgd2FzIHJlbGVhc2VkIG9uIDAuMTAuMjcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDAyODYKCjIwMTEtMDEtMTggMTc6MzE6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogYWRkIG5hbWVzIGZvciBtb3JlIGVsZW1lbnRzCgoyMDExLTAxLTI0IDExOjE4OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yc3BhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjEwLjIxID09PQoKMjAxMS0wMS0yMSAyMToxMzoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yc3BhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjIxCgoyMDExLTAxLTE5IDIwOjAwOjEzIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBGaXggaGFuZGxpbmcgb2YgZGVidWcgY2F0ZWdvcnkKCjIwMTEtMDEtMTkgMTg6MjY6MzAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBtaW5kIGdzdF9idWZmZXJfdW5yZWYgbm90IGxpa2luZyBOVUxMCgkgIEZpeGVzICM2Mzk5NTAuCgoyMDExLTAxLTE4IDE4OjE4OjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSB3YXJuaW5nCgoyMDExLTAxLTE4IDEzOjAwOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yc3BhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjIwLjQgcHJlLXJlbGVhc2UKCjIwMTEtMDEtMTQgMTY6MzA6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBiYXNlcGFyc2U6IEJlIGNhcmVmdWwgdG8gbm90IGxvc2UgdGhlIGV2ZW50IHJlZgoJICBEb24ndCB1bnJlZiB0aGUgZXZlbnQgaWYgaXQgaGFzbid0IGJlZW4gaGFuZGxlZCwgYmVjYXVzZSB0aGUgY2FsbGVyCgkgIGFzc3VtZXMgaXQgaXMgc3RpbGwgdmFsaWQgYW5kIG1pZ2h0IHJldXNlIGl0LgoJICBJIHJhbiBpbnRvIHRoaXMgcHJvYmxlbSB3aGVuIHRyYW5zY29kaW5nIGFuIEFWSSAod2l0aCBtcDMgaW5zaWRlKQoJICB0byBncHAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzk1NTUKCjIwMTEtMDEtMTMgMTE6Mjg6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSAgdGVzdDogcXRtdXg6IFRlc3RzIHF0bXV4IHJldXNlCgkgIEZvcmNlcyB0aGUgdXNlIG9mIHF0bXV4IGFmdGVyIGl0IGhhcyBiZWVuIHB1dCB0byBQTEFZSU5HIGFuZCBiYWNrCgkgIHRvIE5VTEwgb25jZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5MzM4CgoyMDExLTAxLTEzIDE1OjI3OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogc2V0IHNyYyBwYWRzIHdoZW4gc3RhcnRpbmcgZmlsZQoJICAuLi4gcmF0aGVyIHRoYW4gYXQgX2luaXQgdGltZSwgc28gdGhleSBhcmUgYWxzbyBhdmFpbGFibGUgZm9sbG93aW5nIGEKCSAgcGFkIChkZSlhY3RpdmF0aW9uIGN5Y2xlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5MzM4CgoyMDExLTAxLTEyIDE2OjM5OjIyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogZW5zdXJlIHRoZSBrYXRlIHBhZCBkb2VzIG5vdCBzaG9vdCBhaGVhZCBvZiB0aGUgdmlkZW8gcGFkCgkgIFN5bmMgYm90aCBwYWRzIGJ5IHdhaXRpbmcgaW4gdGhlIGthdGUgY2hhaW4gZnVuY3Rpb24uCgkgIERvIG5vdCByZXNldCBvdXIgaW50ZXJuYWwgc2VnbWVudCBmcm9tIHNlZ21lbnQgdXBkYXRlcywgaW4gb3JkZXIKCSAgdG8gYmUgYWJsZSB0byBtYXAgdmlkZW8gcnVubmluZyB0aW1lIHRvIGthdGUgcnVubmluZyB0aW1lLCB0bwoJICBnaXZlIGxpYnRpZ2VyIHRoZSB0aW1lc3RhbXAgaXQgZXhwZWN0cy4gVGhpcyBhbGxvd3MgdXMgdG8gdXNlCgkgIHJ1bm5pbmcgdGltZSB0byBzeW5jIHRvIHZpZGVvLCB3aGljaCBpcyBUaGUgUmlnaHQgV2F5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjAwOTI5CgoyMDExLTAxLTEzIDE4OjM1OjE1IC0wMjAwICBMdWNpYW5hIEZ1amlpIFBvbnRlbGxvIDxsdWNpYW5hQGZ1amlpLmV0aS5icj4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRW5hYmxlIGNvbnZlcnNpb24gZmxhZ3MKCSAgQ2FtZXJhYmluIGRlZmF1bHQgc2hvdWxkIGp1c3Qgd29yaywgc28gd2UgbmVlZCB0byBlbmFibGUgYXVkaW8sIGltYWdlCgkgIGFuZCB2aWRlbyBjb252ZXJzaW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTQ1NgoKMjAxMS0wMS0xMyAxNzoxMDoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkgIGRjYXBhcnNlOiBmaXggc3luYyB3b3JkIGZvciAxNC1iaXQgbGl0dGxlIGVuZGlhbiBjb2RpbmcKCSAgRml4IGNvcHknbidwYXN0ZSBidWcgdGhhdCBtYWRlIHVzIGxvb2sgZm9yIHRoZSByYXcgbGl0dGxlIGVuZGlhbgoJICBzeW5jIHdvcmQgdHdpY2UgaW5zdGVhZCBvZiBsb29raW5nIGZvciB0aGUgMTQtYml0IExFIHN5bmMgd29yZAoJICBhcyB3ZWxsLiBGaXhlcyBwYXJzaW5nIG9mIHN1Y2ggc3RyZWFtcyAoc2VlICM2MzYyMzQgZm9yIHNhbXBsZSBmaWxlKS4KCjIwMTEtMDEtMTMgMTY6Mjc6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgZG9jczogbWlub3IgYmFzZXBhcnNlIGRvY3MvY29tbWVudCBmaXhlcwoJICBSZW1vdmUgY29weSduJ3Bhc3RlIGxlZnRvdmVycy4KCjIwMTEtMDEtMTMgMTM6MzY6MDkgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogc2V0IHBhZC1uZWdvdGlhdGlvbi1tb2RlIHRvIGFjdGl2ZSBmb3Igb3V0cHV0LXNlbGVjdG9yCgkgIEZpeGVzICM2Mzk0MTMuCgoyMDExLTAxLTEyIDE2OjU1OjA3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IHVzZSBnX2Vycm9yX2ZyZWUgaW5zdGVhZCBvZiBnX2ZyZWUKCjIwMTEtMDEtMTIgMTY6NTA6NTEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSAgY2FtZXJhYmluMjogdXNlIGdfZXJyb3JfZnJlZSBpbnN0ZWFkIG9mIGdfZnJlZQoKMjAxMS0wMS0xMiAxMTo1NzoyOSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICB5NG1kZWM6IERlZmF1bHQgY29sb3JzcGFjZSBpcyBJNDIwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzkyOTYKCjIwMTEtMDEtMTEgMjM6NDQ6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjAuMyBwcmUtcmVsZWFzZQoKMjAxMS0wMS0xMSAxNTo1MDo1MiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBlNTcyYzg3IHRvIGY5NGQ3MzkKCjIwMTEtMDEtMTAgMTk6MTE6MjIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IERvbid0IGZvcmdldCB0aGUgR1R5cGUgd2hlbiB1c2luZyBjYXBzX25ld19zaW1wbGUoKQoKMjAxMS0wMS0xMCAxNjozNjo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGNjYmFhODUgdG8gZTU3MmM4NwoKMjAxMS0wMS0xMCAxNDo1NDoxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDQ2NDQ1YWQgdG8gY2NiYWE4NQoKMjAxMS0wMS0xMCAxMToyNTo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBzaWxseSB3YXkgb2YgY3JlYXRpbmcgY2FwcwoKMjAxMS0wMS0xMCAxMToxODo1MiArMDAwMCAgS2Fyb2wgU29iY3phayA8bmFwZXdub3RyYWZpQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogZml4IHJlLXN5bmNpbmcgb24gaW52YWxpZCBkYXRhIGFmdGVyIHNlZWsKCSAgT3IgcG9zc2libHkgZXZlbiBhdCBzdGFydHVwLiBJZiB3ZSBjb3VsZG4ndCBmaW5kIGEgc3luYyB3aXRoaW4KCSAgdGhlIGZpcnN0IGZldyBieXRlcywgd2UnZCBqdXN0IHB1c2ggbW9yZSBkYXRhIGludG8gdGhlIGFkYXB0ZXIKCSAgYnV0IG5ldmVyIGRpc2NhcmQgYW55IG9mIHRoZSBpbnZhbGlkIGRhdGEgYXQgdGhlIGJlZ2lubmluZywgc28KCSAgd291bGQgbmV2ZXIgYmUgYWJsZSB0byByZS1zeW5jLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5MDYzCgoyMDExLTAxLTA4IDAzOjEyOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ3N0Y29nZG93bnNhbXBsZS5jOgoJKiBleHQvY29nL2dzdGNvZ3V0aWxzLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3BhcnNlLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJICBjb2csIHNjaHJvZWRpbmdlcjogZml4IHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggLURHX0RJU0FCTEVfQVNTRVJUCgoyMDExLTAxLTA4IDAzOjEwOjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0Lmg6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yMC4yIHByZS1yZWxlYXNlCgoyMDExLTAxLTA4IDAyOjQ5OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkgIGRvY3M6IHVwZGF0ZSBkb2NzCgoyMDExLTAxLTA4IDAyOjQ3OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vamEucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDExLTAxLTA4IDAyOjQzOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0aW5wdXRzZWxlY3Rvci5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGlucHV0c2VsZWN0b3IuaDoKCSAgY2FtZXJhYmluOiB1c2UgcHJpdmF0ZSBpbnB1dC1zZWxlY3RvciB0aGF0IHN0aWxsIGhhcyAic2VsZWN0LWFsbCIgcHJvcGVydHkKCSAgVGhlICJzZWxlY3QtYWxsIiBwcm9wZXJ0eSB3YXMgcmVtb3ZlZCB3aGVuIGlucHV0LXNlbGVjdG9yIHdhcyBtb3ZlZAoJICB0byBjb3JlLCBidXQgY2FtZXJhYmluIHVzZXMgdGhpcywgc28gbWFrZSBjYW1lcmFiaW4gdXNlIGEgcHJpdmF0ZQoJICBjb3B5IHVudGlsIGEgYmV0dGVyIGZpeCBpcyBmb3VuZC4KCjIwMTEtMDEtMDggMDA6MzI6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBNYWtlZmlsZS5hbSBjbGVhbi11cAoJICBBdm9pZCBkdXBsaWNhdGVzIEdTVF9DSEVDS19DRkxBR1MgYW5kIEdTVF9PUFRJT05TX0NGTEFHUyBhcmUgYWxyZWFkeSBpbgoJICBBTV9DRkxBR1MuIEFkZCBMREFERCBpbnN0ZWFkIG9mIEdTVF9DSEVDS19MSUJTIGZvciBjb25zaXN0ZW5jeS4KCjIwMTEtMDEtMDggMDA6MTk6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Ntb290aHdhdmUvZGVtby1vc3NzcmMuYzoKCSAgc21vb3Rod2F2ZTogcmVtb3ZlIG9sZCAwLjggZXhhbXBsZSBjb250YWluaW5nIGNvZGUgd2l0aCBzaWRlZWZmZWN0cyBpbiBnX3JldHVybl9pZl9mYWlsKCkKCSAgTWF5IGp1c3QgYXMgd2VsbCByZW1vdmUgaXQgcmF0aGVyIHRoYW4gZml4IGl0LCBzbyBpdCBkb2Vzbid0IHNob3cKCSAgdXAgaW4gZ3JlcHMgZm9yIHRoaXMgYW55IGxvbmdlci4KCjIwMTEtMDEtMDggMDA6MTg6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IG1ha2UgZ2l0IGlnbm9yZSBuZXcgc2Nocm9lbmMgdGVzdCBiaW5hcnkKCjIwMTEtMDEtMDggMDA6MTc6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBmaXggQ0ZMQUdTIGFuZCBMSUJBREQgb3JkZXIgaW4gTWFrZWZpbGUuYW0KCjIwMTEtMDEtMDggMDA6MDg6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBuZXZlciBkaXNhYmxlIGdfYXNzZXJ0KCkgYW5kIGNhc3QgY2hlY2tzIGZvciB0aGUgdW5pdCB0ZXN0cwoJICBUaGUgdW5pdCB0ZXN0cyBhcmUgcmlkZGxlZCB3aXRoIGdfYXNzZXJ0KCkgYW5kIGZyaWVuZHMsIG1ha2Ugc3VyZSB3ZQoJICBkb24ndCBkaXNhYmxlIGFzc2VydCBhbmQgY2FzdCBjaGVja3MgZm9yIHRoZSB1bml0IHRlc3RzIGV2ZW4gaWYKCSAgdGhpcyBoYXMgYmVlbiBzcGVjaWZpZWQgZm9yIHRoZSByZXN0IG9mIHRoZSBjb2RlIGJhc2UsIGUuZy4gdmlhCgkgIC0tZGlzYWJsZS1nbGliLWFzc2VydHMuCgoyMDExLTAxLTA4IDAwOjAxOjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJlY3RmYi9kZmItZXhhbXBsZS5jOgoJICBkaXJlY3RmYjogZG9uJ3QgcHV0IGNvZGUgd2l0aCBzaWRlLWVmZmVjdHMgaW50byBnX2Fzc2VydCgpCgkgIEl0IHdpbGwgYWxsIGJlIHR1cm5lZCBpbnRvIGEgTk9PUCBpZiAtREdfRElTQUJMRV9BU1NFUlQgaXMgdXNlZAoJICAoYXMgaXQgaXMgZm9yIHByZS1yZWxlYXNlcyBhbmQgcmVsZWFzZXMpLgoKMjAxMS0wMS0wNyAyMzo1NzoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgIHh2aWRlbmM6IGRvbid0IHB1dCBjb2RlIHdpdGggc2lkZSBlZmZlY3RzIGludG8gZ19yZXR1cm5fdmFsX2lmX2ZhaWwoKQoJICBBbmQgZG9uJ3QgdXNlIGdfcmV0dXJuKl9pZl9mYWlsKCkgZm9yIGVycm9yIGhhbmRsaW5nIGluIGVsZW1lbnRzLgoKMjAxMS0wMS0wNyAxODo0OTowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmg6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuaDoKCSAgUmV2ZXJ0ICJtcGVndmlkZW9wYXJzZTogZml4IHRpbWVzdGFtcCBnZW5lcmF0aW9uIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDIyNzE2MDhjNDMxNGQ2ZDBhNjg1YzE4YzVjNDdkNTU0OTU1ODYxNTkuCgkgIFRoaXMgcGF0Y2ggbmVlZHMgbW9yZSB3b3JrIHNvIGl0IGRvZXNuJ3QgY2F1c2UgZ3JhdmUgcGxheWJhY2sKCSAgcmVncmVzc2lvbnMgKG11bHRpLXNlY29uZCBmcmVlemVzKSB3aXRoIHNvbWUgZmlsZXMgdGhhdCBoYXZlCgkgIHNsaWdodGx5IGJyb2tlbiB0aW1lc3RhbXBzIGJ1dCBwbGF5IGZpbmUgZXZlcnl3aGVyZSBlbHNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM2Mjc5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzIyMjIKCjIwMTEtMDEtMDcgMTU6NDc6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCAtLWRpc2FibGUtZXh0ZXJuYWwKCjIwMTEtMDEtMDcgMTQ6NTE6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHVzZSAkTElCTSBpbnN0ZWFkIG9mIGhhcmQtY29kaW5nIC1sbQoKMjAxMS0wMS0wNyAxNToyMjowNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiBkb24ndCBsZWFrIHRoZSBjYXBzCgoyMDExLTAxLTA3IDAyOjEwOjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRpbmZvLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBQQVQgYW5kIFBNVCBpbmZvLXJlbGF0ZWQgb2JqZWN0IGxlYWtzCgoyMDExLTAxLTA2IDEyOjUxOjI3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSBvbiBtYWNvc3gKCjIwMTEtMDEtMDYgMTI6NTA6MTQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvanAya2NvZGVzdHJlYW0uYzoKCSAganAya2RlY2ltYXRvcjogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlcyBvbiBtYWNvc3gKCjIwMTEtMDEtMDYgMTI6NDk6NDMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUgb24gbWFjb3N4CgoyMDEwLTEyLTE1IDE1OjU4OjQ4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmg6CgkgIHk0bWRlYzogRml4IGNvcHlyaWdodAoKMjAxMC0xMi0xNyAxNDo1MDo1MCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9wdXNoc3JjOgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogaW1wcm92ZSBwdXNoc3JjCgoyMDExLTAxLTA1IDE2OjQzOjQ1ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIHk0bTogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlcyBvbiBtYWNvc3gKCjIwMTEtMDEtMDUgMTM6NDQ6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZmZtcGVnLWNvbG9yc3BhY2UuaDoKCSAgZHZic3Vib3ZlcmxheTogc29tZSBtb3JlIG1pbm9yIGNsZWFuLXVwcwoKMjAxMS0wMS0wNCAxNjowMzowMSArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBmaXggbGVhayBvZiAiY2xlYXIgc2NyZWVuIiBEVkJTdWJ0aXRsZXMgc3RydWN0cwoKMjAxMS0wMS0wNCAxMzo1MToyMSArMDAwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGZpeCB0d28gbWlub3IgZGVpbml0aWFsaXphdGlvbiBtZW1vcnkgbGVha3MKCjIwMTEtMDEtMDMgMjM6NTU6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIGV4YW1wbGVzOiBkaXN0IGNhbWVyYWJpbjIgZXhhbXBsZSBhcyB3ZWxsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzg2MDQKCjIwMTEtMDEtMDMgMjM6NDk6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkgIGNhbWVyYWJpbjI6IGZpeCBjZmxhZ3MgYW5kIGxpYnMgb3JkZXIgaW4gTWFrZWZpbGUuYW0KCjIwMTEtMDEtMDMgMjM6NDc6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvTWFrZWZpbGUuYW06CgkgIGJhc2VjYW1lcmFiaW5zcmM6IGZpeCBsaWJzIG9yZGVyIGluIE1ha2VmaWxlLmFtCgoyMDExLTAxLTAzIDIzOjQ2OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGZpeCBkaXN0aW5nIG9mIGV4cGVyaW1lbnRhbCBiYXNlY2FtZXJhYmluc3JjIGxpYiB1c2VkIGJ5IGNhbWVyYWJpbjIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzODYwNAoKMjAxMS0wMS0wMyAxNzoxMDozNiAtMDYwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmI6IGZpeCBidWlsZCBlcnJvcnMgb24gbWFjb3N4CgkgIGZpeGVzIHRoZSBmb2xsb3dpbmcgY29tcGlsZSBlcnJvcnM6CgkgIGNjMTogd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKCSAgY2Ftc3djbGllbnQuYzogSW4gZnVuY3Rpb24gJ2NhbV9zd19jbGllbnRfb3Blbic6CgkgIGNhbXN3Y2xpZW50LmM6ODE6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdzdHJuY3B5JwoJICBjYW1zd2NsaWVudC5jOjgxOiB3YXJuaW5nOiBpbmNvbXBhdGlibGUgaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgYnVpbHQtaW4gZnVuY3Rpb24gJ3N0cm5jcHknCgkgIGNhbXN3Y2xpZW50LmM6ODk6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdzdHJlcnJvcicKCSAgY2Ftc3djbGllbnQuYzo4OTogd2FybmluZzogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiAnc3RyZXJyb3InCgkgIGNhbXN3Y2xpZW50LmM6ODk6IHdhcm5pbmc6IGZvcm1hdCAnJXMnIGV4cGVjdHMgdHlwZSAnY2hhciAqJywgYnV0IGFyZ3VtZW50IDkgaGFzIHR5cGUgJ2ludCcKCSAgY2Ftc3djbGllbnQuYzogSW4gZnVuY3Rpb24gJ3NlbmRfY2FfcG10JzoKCSAgY2Ftc3djbGllbnQuYzoxMjk6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdtZW1jcHknCgkgIGNhbXN3Y2xpZW50LmM6MTI5OiB3YXJuaW5nOiBpbmNvbXBhdGlibGUgaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgYnVpbHQtaW4KCSAgZnVuY3Rpb24gJ21lbWNweScKCSAgZ3N0ZHZic3JjLmM6NDg6MTk6IGVycm9yOiBlcnJvci5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CgkgIFNpZ25lZC1vZmYtYnk6IFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCjIwMTEtMDEtMDMgMjA6MDU6NTIgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiByZW1vdmUgdW5uZWNlc3NhcnkgUkdCIC0+IFlVViBjb252ZXJzaW9uIGJ5IHVzaW5nIFlVViBwYWxldHRlcwoJICB0aGUgZGVmYXVsdCBDTFVUcyBzdGlsbCB1c2UgUkdCIC0+IFlVViBjb252ZXJzaW9ucyBzaW5jZSB0aGUgc3RhbmRhcmQgZGVmaW5lcwoJICB0aGVtIGFzIFJHQkEgdmFsdWVzLgoKMjAxMS0wMS0wMyAyMDoyMTo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBtNC9NYWtlZmlsZS5hbToKCSogbTQvZXNkLm00OgoJKiBtNC9nbGliLm00OgoJKiBtNC9nc3QtbWF0cm9za2EubTQ6CgkqIG00L2dzdC1zaG91dDIubTQ6CgkqIG00L2d0ay5tNDoKCSogbTQvb2dnLm00OgoJKiBtNC92b3JiaXMubTQ6CgkgIG00OiByZW1vdmUgc29tZSBjcnVmdAoKMjAxMS0wMS0wMyAxNzoyNDoyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBhZGp1c3QgbmFzdHkgY2FzZSB0aW1lc3RhbXAgdHJhY2tpbmcKCSAgVGhhdCBpcywgYWxsIHNvcnRzIG9mIHByb2JsZW1zIGFyaXNlIHdpdGggcmUtb3JkZXJlZCBpbnB1dCB0aW1lc3RhbXBzIHRoYXQKCSAgdGVuZCB0byBkZWZ5IGF1dG9tYWdpYyBoYW5kbGluZyBmb3IgZXZlcnkgY2FzZSwgc28gYWxsb3cgZm9yIGEgZmV3IHZhcmlhdGlvbnMKCSAgdGhhdCBjYW4gYmUgdHJpZWQgZGVwZW5kaW5nIG9uIGNpcmN1bXN0YW5jZXMuCgkgIEFsc28gdHJ5IHRvIGRvY3VtZW50IGFjY29yZGluZ2x5LgoJICBBbHNvIGZpeGVzICM2MzgyODguCgoyMDEwLTEyLTMwIDIxOjQ4OjQxICswMjAwICBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQG5va2lhLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZ2V0IHJpZCBvZiB0aW1lc3RhbXAgb3ZlcnByb3RlY3RpdmVuZXNzCgkgIFNpZ25lZC1vZmYtYnk6IEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAbm9raWEuY29tPgoKMjAxMS0wMS0wMyAxNjo1Njo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9hdG9tc3JlY292ZXJ5LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogc2ltcGxpZnkgYW5kIGZpeCBwdHNfb2Zmc2V0IHN0b3JpbmcKCSAgSW4gcGFydGljdWxhciwgb25seSB3cml0ZSBhIGN0dHMgYXRvbSBpZiBhbmQgb25seSBpZiBldmVyIGEgbm9uLXplcm8gb2Zmc2V0LgoKMjAxMS0wMS0wMyAxMDo0MzoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFkZCBzb21lIG1vcmUgZG9jdW1lbnRhdGlvbgoKMjAxMC0xMi0wMyAxNToyMzowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IHJlbW92ZSBsYXJnZS1maWxlIHByb3BlcnR5CgkgIFJhdGhlciwgYXV0by1kZXRlcm1pbmUgaWYgNjQtYml0cyBmaWVsZHMgYXJlIG5lZWRlZCBmb3IgYSB2YWxpZCByZXN1bHQsIGFuZAoJICBzdGljayB0byBwbGFpbiAzMi1iaXRzIGlmIG5vdCBuZWVkZWQuCgkgIEFQSTogR3N0UVRNdXg6bGFyZ2UtZmlsZSAocmVtb3ZlZCkKCjIwMTEtMDEtMDMgMTg6MTM6MzcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy9kdmIvUkVBRE1FOgoJICBSRUFETUU6IGZpeCB0aGUgZXhhbXBsZSBwaXBlbGluZQoJICBGaXggdGhlIG9idmlvdXMgb3V0ZGF0ZWQgcGFydHMuIFN0aWxsIHRoaXMgUkVBRE1FIGxvb2tzIG91dGRhdGVkIGFuZCBzaG91bGQgYmUKCSAgdXBkYXRlZCBvciByZW1vdmVkLgoKMjAxMS0wMS0wMiAxOTozODowMSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogQWRkIGRlYnVnIGNhdGVnb3J5CgoyMDExLTAxLTAyIDE2OjEzOjU2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogRGlzYWJsZSBtYXRyaXhpbmcgb24gYmlnLWVuZGlhbgoJICBJdCdzIGJyb2tlbiB1bnRpbCBzb21lb25lIHdyaXRlcyBiZXR0ZXIgT3JjIGNvZGUuICBGaXhlcyAjNjMxMjMyLgoKMjAxMC0xMi0wNSAwMzoyOTo0MiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkgIG1wZWd0c211eDogU2V0IGFkYXB0YXRpb24gZmxhZyB3aGVuIGFwcHJvcHJpYXRlCgkgIFNwZWNpZmljYWxseSwgd2hlbiB0aGVyZSdzIHN0dWZmIHRvIGdvIGludG8gdGhlIGFkYXB0YXRpb24KCSAgaGVhZGVyLgoKMjAxMC0xMS0xNyAxNzo0OToxNyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uaDoKCSAgbXBlZ3RzbXV4OiBTZXQgcmFuZG9tX2FjY2Vzc19pbmRpY2F0b3IgZm9yIGtleWZyYW1lcwoKMjAxMC0xMi0zMSAxNjoyMDoyMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAgdGlnZXI6IG91dGxpbmUgdGV4dCBieSBkZWZhdWx0LCB0byBtYWtlIGl0IGVhc2llciB0byByZWFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzg1MjcKCjIwMTEtMDEtMDIgMTU6MTE6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTElDRU5TRV9yZWFkbWU6CgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvamFjay8uZ2l0aWdub3JlOgoJKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSogZXh0L2phY2svUkVBRE1FOgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJKiBleHQvamFjay9nc3RqYWNrcmluZ2J1ZmZlci5oOgoJKiBleHQvamFjay9nc3RqYWNrdXRpbC5jOgoJKiBleHQvamFjay9nc3RqYWNrdXRpbC5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2phY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2phY2svamFja19jbGllbnQuYzoKCSAgamFjazogbW92ZSBwbHVnaW4gdG8gZ3N0LXBsdWdpbnMtZ29vZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIxOTI5CgoyMDExLTAxLTAyIDEzOjUyOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IGZpeCBjYXBzIGFuZCBzdHJpbmcgbGVha3MgYW5kIHNvbWUgbWlub3IgY2xlYW4tdXBzCgkgIERvbid0IGxlYWsgc291cmNlIGNhcHMuIFVzZSBHU1RfUFRSX0ZPUk1BVCB0byBsb2cgY2Fwcywgc28KCSAgd2UgZG9uJ3QgbmVlZCB0byBsZWFrIHN0cmluZ3MgZnJvbSBnc3RfY2Fwc190b19zdHJpbmcoKS4KCSAgTm8gbmVlZCB0byB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIgZm9yIHZmdW5jcyB3aGVyZSB0aGUgYmFzZQoJICBjbGFzcyB3aWxsIG5ldmVyIGxvb2sgdGhlbSB1cCAobGlrZSBwcm9wZXJ0eSBnZXR0ZXJzL3NldHRlcnMpLgoJICBEb24ndCB1c2UgZ19yZXR1cm5fKl9pZl9mYWlsKCkgZm9yIHRoaW5ncyB0aGF0IGFyZW4ndCBkaXJlY3RseQoJICBwcm9ncmFtbWluZyBlcnJvcnMgKGJ5IHRoZSBhcHBsaWNhdGlvbiBkZXZlbG9wZXIpLgoJICBGaXhlcyBrYXRlIHVuaXQgdGVzdCB1bmRlciB2YWxncmluZC4KCjIwMTAtMTItMzEgMTY6MTc6NTAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogcmVlbmFibGUgdGhlIHNlbmRpbmcgb2YgYSBtZXNzYWdlIGZvciB0YWdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzg0MTIKCjIwMTEtMDEtMDIgMTM6Mjk6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9NYWtlZmlsZS5hbToKCSAgZ2F1ZGllZmZlY3RzOiBkaXN0IHB5dGhvbiBleGFtcGxlcwoKMjAxMC0xMi0zMSAwMDowOTowOSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogVXBkYXRlIEZTRiBhZGRyZXNzCgoyMDEwLTEyLTMxIDAwOjA3OjI4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL01ha2VmaWxlLmFtOgoJKiB0b29scy9nc3QtYXBwLW1ha2VyOgoJICBBZGQgZ3N0LWFwcC1tYWtlcgoKMjAxMC0xMi0zMSAwMDoxMjo1MyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5jOgoJICBkdG1mOiBGaXggYnVpbGQgZmFpbHVyZSBjYXVzZWQgYnkgcHJldmlvdXMgY29tbWl0CgoyMDEwLTEyLTMwIDE5OjIxOjQ3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvZ2VuZXJhdGVfdGFibGVzLmM6CgkqIGV4dC9jb2cvZ3N0Y21zLmM6CgkqIGV4dC9jb2cvZ3N0Y29sb3Jjb252ZXJ0LmM6CgkgIGNvZzogVXNlIG1hdGgtY29tcGF0LmgKCjIwMTAtMTItMzAgMTk6MjE6MjEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVnZGVtdXg6IEZpeCBjOTktaXNtCgoyMDEwLTEyLTMwIDE5OjEyOjIzIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZV9mdW5jdGFibGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlX3JlZi5jOgoJICBsZWdhY3lyZXNhbXBsZTogVXNlIG1hdGgtY29tcGF0IGhlYWRlcgoKMjAxMC0xMi0zMCAxOTowMzo1NCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5jOgoJICBjaGFuZ2UgTV9QSSB0byBHX1BJCgoyMDEwLTEyLTMwIDE5OjAzOjE0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9mcmVpMHIvZnJlaTByLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmg6CgkgIGZyZWkwcjogY29udmVydCB1aW50MzJfdCB0byBndWludDMyCgoyMDEwLTEyLTMwIDE4OjIwOjQ3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuYzoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuaDoKCSAgZHRtZjogYnVpbGQgZml4ZXMgZm9yIE1TVkMKCSAgVXNlIGdpbnQxNiBhbmQgR19QSS4KCjIwMTAtMTItMzAgMTg6MTk6NDcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuYzoKCSAgZHRtZjogcmVpbmRlbnQKCjIwMTAtMTItMzAgMTg6MDI6MDYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJICBkYXRhdXJpc3JjOiB1c2UgZ19hc2NpaV9zdHJjYXNlY21wKCkKCjIwMTAtMTItMzEgMDE6Mzg6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9zZWxlY3Rvci8uZ2l0aWdub3JlOgoJKiBnc3Qvc2VsZWN0b3IvTWFrZWZpbGUuYW06CgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmg6CgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuaDoKCSogZ3N0L3NlbGVjdG9yL2dzdHNlbGVjdG9yLW1hcnNoYWwubGlzdDoKCSogZ3N0L3NlbGVjdG9yL2dzdHNlbGVjdG9yLmM6CgkqIGdzdC9zZWxlY3Rvci9zZWxlY3Rvci52Y3Byb2o6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zZWxlY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc3dpdGNoLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL3N3aXRjaC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6CgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9vdXRwdXQtc2VsZWN0b3ItdGVzdC5jOgoJICBzZWxlY3RvcjogbW92ZSBpbnB1dC1zZWxlY3RvciBhbmQgb3V0cHV0LXNlbGVjdG9yIHRvIGNvcmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNDMwNgoKMjAxMC0xMi0zMCAwMToxNzoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yc3BhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSAgZG9jczogdXBkYXRlIHBsdWdpbiBkb2NzCgoyMDEwLTEyLTMwIDAxOjE0OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC92YWx2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmFsdmUuYzoKCSAgdmFsdmU6IG1vdmUgdmFsdmUgZWxlbWVudC9wbHVnaW4gdG8gY29yZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMwODA4CgoyMDEwLTEyLTI5IDEzOjE4OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluMjogVmFyaW91cyBsZWFrIGZpeGVzCgkgIFZhcmlvdXMgbGVhayBmaXhlcyBhbmQgc29tZSBjb2RlIHJlb3JnYW5pemF0aW9uCgoyMDEwLTEyLTI3IDE3OjE4OjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvLmdpdGlnbm9yZToKCSAgY2FtZXJhYmluMjogZXhhbXBsZTogZ2l0aWdub3JlIGNhcHR1cmVkIGZpbGVzCgoyMDEwLTEyLTI2IDIwOjUyOjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogSW1wbGVtZW50IHZpZGVvIGNhcHR1cmUgcmVuZWdvdGlhdGUKCSAgSGFuZGxlIGNhcHMgcmVuZWdvdGlhdGlvbiBmcm9tIGNhbWVyYWJpbjIncyByZW5lZ290aWF0ZSBldmVudAoJICB0byBhbGxvdyB2aWRlbyBjYXB0dXJlIHRvIGJlIGRvbmUgd2l0aCB0aGUgdXNlcidzIHJlcXVlc3RlZAoJICByZXNvbHV0aW9uLgoKMjAxMC0xMi0yNiAyMDo0Nzo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZCB0ZXN0cyBmb3IgdmlkZW8gY2FwdHVyZQoJICBBZGQgYSB0ZXN0IGZvciBjYXB0dXJpbmcgbXVsdGlwbGUgdmlkZW9zIHdpdGggZGlmZmVyZW50IHJlc29sdXRpb25zCgkgIGluIGEgc2VxdWVuY2UuCgoyMDEwLTEyLTI2IDIwOjM1OjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRml4IHJlbmVnb3RpYXRlIGV2ZW50IHB1c2hpbmcKCSAgVXNlIGEgaGFjayB0byBtYWtlIHRoZSBldmVudCB1cHN0cmVhbSB0byByZWFjaCB0aGUgY2FtZXJhIHNvdXJjZQoJICBpbnN0ZWFkIG9mIGdvaW5nIGRvd25zdHJlYW0gYW5kIGJlaW5nIHVzZWxlc3MuCgkgIFRoaXMgd2FzIGFscmVhZHkgZml4ZWQgdGhpcyB3YXkgZm9yIGltYWdlIHNyY3BhZCByZW5lZ290aWF0ZSBhbmQKCSAgdmlkZW8gc3JjcGFkIHdhcyBsZWZ0IHVuZml4ZWQuCgoyMDEwLTEyLTI0IDA5OjEwOjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBSZWZhY3RvciBpbnRlcm5hbCBwaXBlbGluZQoJICBJbnN0ZWFkIG9mIGxpbmtpbmcgMyBzcmMgcGFkcyBmcm9tIHRlZSB0byB0aGUgZ2hvc3RwYWRzLCB1c2UgMgoJICBzcmNwYWRzIGFuZCBhZGQgYW4gb3V0cHV0LXNlbGVjdG9yIHRvIGNvbXBsZXRlbHkgc3BsaXQgY2FwcwoJICBuZWdvdGlhdGlvbiBvZiB2aWRlby9pbWFnZSBtb2Rlcy4gSSBkb24ndCB0aGluayB0aGVyZSBpcyBhbgoJICB1c2UgY2FzZSB0aGF0IHdvdWxkIHJlcXVpcmUgaW1hZ2UgYW5kIHZpZGVvIHBhZHMgdG8gYmUgdXNlZAoJICBhdCB0aGUgc2FtZSB0aW1lLgoKMjAxMC0xMi0yMiAxNDo0MjoyNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdXNlIC1wdGhyZWFkIGZvciB4dmlkIGNvbmZpZ3VyZSBjaGVjawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM3ODIzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzczMDgKCjIwMTAtMTItMjggMTc6MTY6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBtb2RlIGNhbiBiZSBvbmx5IGltYWdlIG9yIHZpZGVvCgkgIE5vIG5lZWQgdG8gY2hlY2sgaWYgY2FtZXJhYmluIGlzIG9uIHZpZGVvIG1vZGUgaWYgaXQgaXNuJ3Qgb24KCSAgaW1hZ2UgbW9kZSBhcyB0aG9zZSBhcmUgdGhlIG9ubHkgMiBtb2RlcyBhdmFpbGFibGUuCgkgIEFkZGl0aW9uYWxseSwgaWYgbW9kZSBnZXRzIGNvcnJ1cHRlZCBzb21laG93IGFuZCB3b3VsZCBiZSBuZWl0aGVyCgkgIGltYWdlIG9yIHZpZGVvIGl0IHdvdWxkIGNhdXNlIGEgbnVsbCBwb2ludGVyIGRlcmVmZXJlbmNpbmcgc29tZQoJICBsaW5lcyBvZiBjb2RlIGJlbG93LCBzbyB0aGlzIGlzIHNhZmVyLgoKMjAxMC0xMi0yOCAxNjo1NToxMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTAtMTItMjcgMTY6NTg6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2YuYzoKCSAgYXNmbXV4OiBGaXggcGx1Z2luIHBhY2thZ2UgbmFtZS9vcmlnaW4KCjIwMTAtMTItMjcgMTM6MjA6MjggKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBmaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTAtMTItMjcgMTE6MTA6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmg6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogY2xlYW4tdXA6IGFsbG9jYXRlIGZsYXQgYXJyYXkgb2YgcmVjdGFuZ2xlcwoJICBpbnN0ZWFkIG9mIGFuIGFycmF5IG9mIHBvaW50ZXJzIHRvIGluZGl2aWR1YWxseS1hbGxvY2F0ZWQgcmVjdGFuZ2xlcy4KCjIwMTAtMTItMjMgMTg6MTg6NTAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5oOgoJICB0aWdlcjogZmFsbGJhY2sgb24gaGVhZGVycyBpbiBjYXBzIHRvIGluaXRpYWxpemUgaWYgaGVhZGVycyBhcmUgYWJzZW50CgkgIFdoZW4gVG90ZW0gc3dpdGNoZXMgc3RyZWFtcywgdGlnZXIgd2lsbCBiZSByZXNldCwgYW5kIHN0YXJ0IHJlY2VpdmluZwoJICBidWZmZXJzIGZyb20gdGhlIG1pZGRsZSBvZiB0aGUgc3RyZWFtLCB3aXRob3V0IGJlaW5nIHNlbnQgaGVhZGVycy4KCSAgSWYgdGhpcyBoYXBwZW5zLCB0cnkgdG8gZ2V0IGhlYWRlcnMgZnJvbSB0aGUgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzODAwNAoKMjAxMC0xMi0yNiAxNzoxOTowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJICBwaG90b2dyYXBoeTogZml4IHR5cG8gaW4gcHJvcGVydHkgZGVzY3JpcHRpb24KCjIwMTAtMTItMjYgMTc6MDc6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSAgZXhhbXBsZXM6IGZpeCBndGszIGNvZGUgcGF0aCBpbiBjYW1lcmFiaW4gZXhhbXBsZSBhcHAKCSAgSnVzdCBhZGQgcm93cyB2aWEgdGhlIGNvbWJvYm94J3MgbW9kZWwsIHdoaWNoIHNob3VsZCB3b3JrIHdpdGgKCSAgYm90aCBndGsyIGFuZCBndGszLCBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBndGtfY29tYm9fYm94X2FwcGVuZF90ZXh0KCkKCSAgY29udmVuaWVuY2UgQVBJICh3aGljaCB3YXMgcmVuYW1lZCB0byBndGtfY29tYm9fYm94X3RleHRfYXBwZW5kX3RleHQoKSkuCgkgIEZpeGVzIGNvbXBpbGF0aW9uIGFnYWluc3QgZ3RrMyAodGhlcmUgd2FzIGEgdHlwbyBpbiB0aGUgbGlzdCBzdG9yZQoJICB2YXJpYWJsZSBuYW1lLCBzcG90dGVkIGJ5IE1hcmt1cyBWYXJ0aWFpbmVuKS4KCjIwMTAtMTItMjUgMTc6MDE6MTEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIGthdGU6IGlmIHNlZWtpbmcgd2l0aCBHU1RfU0VFS19UWVBFX0NVUiwgZmx1c2ggZXZlcnl0aGluZwoJICBXZSBkb24ndCBrbm93IGhvdyB0byBjYWxjdWxhdGUgdGhlIHRhcmdldCwgc28gYmUgc2FmZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwMDkyOQoKMjAxMC0xMi0yNSAxNjo0NDowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAgdGlnZXI6IG1vdmUgI2lmICNlbHNlIGJpdHMgb3V0c2lkZSBvZiBtYWNybwoJICBTb21lIGNvbXBpbGVycy9wcmVwcm9jZXNzb3JzIGRvbid0IGxpa2UgaWYvZWxzZS9lbmRpZiBwcmVwcm9jZXNzb3IKCSAgZGlyZWN0aXZlcyBpbiB0aGUgbWlkZGxlIG9mIG1hY3Jvcy4KCjIwMTAtMTItMjQgMTQ6NDQ6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJICBkdmJzdWJvdmVybGF5OiBjbGVhbi11cDogbWVyZ2UgcHJpdmF0ZSBkYXRhIHN0cnVjdCBpbnRvIG1haW4gc3RydWN0CgoyMDEwLTEyLTI0IDE0OjI0OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5oOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGNsZWFuLXVwOiBkdmIgc3ViIHBhcnNlciBoZWxwZXIgZG9lc24ndCBuZWVkIHRvIGJlIGEgR09iamVjdAoKMjAxMC0wMS0yNSAxODoyNjoyNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGUuYzoKCSAgdGlnZXI6IEdpdmUgdGlnZXIgcHJpbWFyeSByYW5rCgoyMDEwLTAxLTI1IDE4OjU4OjM4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvTWFrZWZpbGUuYW06CgkqIGV4dC9rYXRlL2dzdGthdGUuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmg6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuaDoKCSAga2F0ZTogYWRkIHNlZ21lbnQgdHJhY2tpbmcsIGFuZCB2YXJpb3VzIG90aGVyIGltcHJvdmVtZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjAwOTI5CgoyMDEwLTEyLTI0IDEwOjE1OjQ2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzoKCSAgbXZlOiBkbyBub3QgdXNlIHRoZSBwYWQgYnVmZmVyIGFsbG9jYXRpb24gZnVuY3Rpb25zIGluIGRlbXV4ZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzc5MjkKCjIwMTAtMTItMjQgMDk6NTA6MDAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVnZGVtdXg6IGRvIG5vdCB1c2UgdGhlIHBhZCBidWZmZXIgYWxsb2NhdGlvbiBmdW5jdGlvbnMgaW4gZGVtdXhlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzkzMQoKMjAxMC0xMi0yMyAyMjowMTowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IHRyeSBoYXJkZXIgdG8gbWFrZSBidWZmZXIgbWV0YWRhdGEgd3JpdGFibGUgYmVmb3JlIG1vZGlmeWluZwoJICBBbHNvLCBjaGVjayBidWZmZXIgZm9yIE5VTEwtbmVzcyBiZWZvcmUgZGVyZWZlcmVuY2luZyBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzgyNAoKMjAxMC0xMi0yMiAxMTo0NDo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IE5vdGlmeSBlYXJsaWVyCgkgIE5vdGlmeSBhYm91dCByZWFkeS1mb3ItY2FwdHVyZSBjaGFuZ2VzIGVhcmxpZXIgdG8gYWxsb3cgY2FtZXJhYmluMgoJICB0byBkbyB0aGUgdmlkZW9iaW4gc3RhdGUgc3dpdGNoaW5nIGJlZm9yZSB0aGUgY2FwdHVyZSBzdGFydHMuCgoyMDEwLTEyLTIxIDE5OjIyOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZGVvcmVjb3JkaW5nYmluLmM6CgkgIHZpZGVvcmVjb3JkaW5nYmluOiBGaXggbGVha3MKCjIwMTAtMTItMjEgMTE6MDQ6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBSZWZhY3RvciB0ZXN0cwoJICBSZWZhY3RvciB0ZXN0cyBjYXNlIHNvIHRoYXQgdGhlIHNhbWUgdGVzdHMgY2FuIGJlIHJ1biBmb3IgZGlmZmVyZW50CgkgIGNhbWVyYSBzb3VyY2VzLgoKMjAxMC0xMi0yMCAxODozMDozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICB0ZXN0czogZ2l0aWdub3JlIGNhbWVyYWJpbjIgdGVzdHMKCSAgQWRkcyBtb3JlIGNhbWVyYWJpbjIgZWxlbWVudHMgdGVzdHMgdG8gZ2l0aWdub3JlCgoyMDEwLTEyLTIwIDE4OjA5OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogQWRkIGNvbnZlcnRlcnMgZm9yIHZpZXdmaW5kZXIgYnJhbmNoCgkgIFZpZXdmaW5kZXIgYnJhbmNoIHNob3VsZCBoYXZlIGNvbnZlcnRlcnMgYXMgaXQgaGFzIHRvIHdvcmsKCSAgYWx3YXlzIGFueXdheS4KCjIwMTAtMTItMjAgMTQ6MjA6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlY2FwdHVyZWJpbi5jOgoJICBpbWFnZWNhcHR1cmViaW46IEFkZCBhbm90aGVyIHRlc3QgY2FzZQoJICBBZGRzIGEgdGVzdCBjYXNlIHRvIGNoZWNrIGlmIGEgc2VxdWVuY2Ugb2YgYnVmZmVycyB3aXRoIGRpZmZlcmVudAoJICBjYXBzIGNhbiBiZSBwdXNoZWQgdG8gaW1hZ2VjYXB0dXJlYmluIGFuZCBzYXZlZCBjb3JyZWN0bHkKCjIwMTAtMTItMjAgMDI6NTk6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZXdmaW5kZXJiaW4uYzoKCSAgdmlld2ZpbmRlcmJpbjogQWRkIGJhc2ljIGNoZWNrIHRlc3QKCSAgQWRkcyBtaW5pbXVtIGNoZWNrIHRlc3QuIEl0J3Mgbm90IGEgdmVyeSB1c2VmdWwgdGVzdCwgYnV0IGF0IGxlYXN0CgkgIGl0IGFsbG93cyB1cyB0byBydW4gaXQgdW5kZXIgdmFsZ3JpbmQgYW5kIGNoZWNrIGZvciBsZWFrcyBhdXRvbWF0aWNhbGx5CgoyMDEwLTEyLTIwIDAyOjU4OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSAgdmlld2ZpbmRlcmJpbjogUmVtb3ZlIGxlYWtzCgkgIFJlbW92aW5nIHZhcmlvdXMgbGVha3MgZnJvbSB2aWV3ZmluZGVyYmluCgoyMDEwLTEyLTE3IDIzOjA2OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogbW9yZSBsb2dzCgoyMDEwLTEyLTE3IDIzOjA2OjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogU21hbGwgdGVzdHMgdXBkYXRlCgkgIEluY3JlYXNlcyB0aW1lb3V0IHZhbHVlIHNvIHRoYXQgdGVzdHMgd29uJ3QgZmFpbCB3aXRoIGZ1bGwKCSAgZGVidWcgb3V0cHV0LgoJICBBbHNvIHJlbW92ZXMgYnVmZmVyIGFsbG9jIGZyb20gdmlkZW90ZXN0c3JjIGFzIHRoaXMgZmVhdHVyZQoJICBpc24ndCByZWFkeSBvbiBjYW1lcmFiaW4yCgoyMDEwLTEyLTE0IDIyOjA2OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkcyB0ZXN0cyBmb3IgaW1hZ2UgY2FwdHVyZSB3aXRoIGRpZmZlcmVudCBjYXBzCgkgIEFkZHMgYSB0ZXN0IHRoYXQgdHJpZXMgc3VjZXNzaXZlIGNhcHR1cmVzIHdpdGggZGlmZmVyZW50IGNhcHMKCjIwMTAtMTItMTYgMDA6NDA6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEhhbmRsZSBjYW1lcmFiaW4yIGN1c3RvbSByZW5lZ290aWF0ZSBldmVudHMKCjIwMTAtMTItMTUgMTQ6MDU6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBVc2UgY3VzdG9tIHJlbmVnb3RpYXRlIGV2ZW50CgkgIEFkZHMgYSBjdXN0b20gcmVuZWdvdGlhdGUgZXZlbnQgdGhhdCBpcyBwdXNoZWQgdG8gdGhlIGNhbWVyYXNyYyBwYWQKCSAgdGhhdCBuZWVkcyByZW5lZ290aWF0aW9uIGR1ZSB0byB0aGUgdXNlciBzZWxlY3RpbmcgYSBuZXcgY2FwdHVyZQoJICBjYXBzIGZvciB0aGF0IHBhZC4KCSAgVGhpcyBpcyBhIHdheSBvZiBub3RpZnlpbmcgdGhlIHNvdXJjZSB0aGF0IGl0IHNob3VsZCB1cGRhdGUgaXRzIGNhcHMsIGV2ZW4KCSAgaWYgaXQgZG9lc24ndCB1c2UgcGFkIGFsbG9jcy4KCjIwMTAtMTItMTYgMjI6NDk6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEFkZCBsb2NhbCBtb2RlCgoyMDEwLTEyLTE0IDE4OjQyOjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkcyBwcm9wZXJ0aWVzIGZvciBjYXB0dXJlIGNhcHMKCSAgQWRkcyBwcm9wZXJ0aWVzIGZvciBzZWxlY3RpbmcgY2FwcyBmb3IgdmlkZW8gYW5kIGltYWdlIGNhcHR1cmVzCgoyMDEwLTEyLTE5IDE5OjQwOjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSAgYmFzZWNhbWVyYWJpbnNyYzogRml4IG1ha2VmaWxlIGJ1aWxkaW5nIG9yZGVyCgkgIGJhc2VjYW1lcmFiaW5zcmMgbXVzdCBiZSBidWlsdCBhZnRlciBwaG90b2dyYXBoeSBpbnRlcmZhY2UKCSAgYXMgaXQgZGVwZW5kcyBvbiBpdC4KCjIwMTAtMTItMTAgMTc6NDU6NDAgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJICBjYW1lcmFiaW4yOiByZW1vdmUgYWJyZXZpYXRpb25zIGZyb20gaW1hZ2VjYXB0dXJlYmluCgoyMDEwLTEyLTE2IDA4OjQ3OjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogQWRkIHNvbWUgbW9yZSBsb2dnaW5nCgkgIEFkZHMgc29tZSBtb3JlIGxvZ2dpbmcgYW5kIGFsd2F5cyBhc3N1bWUgY2FwdHVyZSBoYXMgc3RhcnRlZCBiZWZvcmUKCSAgc3RhcnRfY2FwdHVyZSBpcyBjYWxsZWQuIFRoaXMgaGVscHMgb24gaW1hZ2UgY2FwdHVyZXMgdGhhdCBtaWdodAoJICBjYWxsIGZpbmlzaF9jYXB0dXJlIGRpcmVjdGx5IGZyb20gc3RhcnRfY2FwdHVyZSBvciBiZWZvcmUgc3RhcnRfY2FwdHVyZQoJICBmaW5pc2hlcy4KCjIwMTAtMTItMTUgMjI6MzU6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogTW9yZSBjbGVhbnVwCgkgIFJlbW92ZSBvbGQgbGVnYWN5IGNvZGUgY29waWVkIGZyb20gY2FtZXJhYmluKDEpIHRoYXQgc2hvdWxkIGJlIGhhbmRsZWQKCSAgYnkgY2FwcyBuZWdvdGlhdGlvbiBvbiBjYW1lcmFiaW4yCgoyMDEwLTEyLTE1IDE0OjA3OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoJICBSZW1vdmUgd2FpdF9mb3JfcHJlcGFyYSB2YXJpYWJsZSB0aGF0IHdhc24ndCBiZWluZyB1c2VkCgoyMDEwLTEyLTE0IDE3OjIzOjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHBsdWdpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogUmVuYW1lIHY0bDJjYW1lcmFzcmMgdG8gd3JhcHBlcmNhbWVyYWJpbnNyYwoJICBVc2UgYSBiZXR0ZXIgbmFtZSBmb3IgdGhlIGVsZW1lbnQgdGhhdCB3cmFwcyBzaW5nbGUgcGFkIHNyYyBlbGVtZW50CgkgIGludG8gYSAzcGFkIHNvdXJjZSByZXF1aXJlZCBieSBjYW1lcmFiaW4yLgoKMjAxMC0xMi0xNCAxNjo1OTo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuaDoKCSAgdjRsMmNhbWVyYXNyYzogcmVtb3ZlIHZpZGVvIGZpbHRlciBwcm9wZXJ0eSBjb2RlCgkgIFJlbW92ZXMgc29tZSB1bnVzZWQgY3VzdG9tIHZpZGVvIGZpbHRlciBlbGVtZW50IHByb3BlcnR5IGNvZGUKCjIwMTAtMTItMTYgMTA6NTE6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJICB2aWV3ZmluZGVyYmluOiBGaXggdmlkZW8tc2luayBwcm9wZXJ0eSBhZ2FpbgoJICBBdm9pZCBzd2l0Y2hpbmcgdGhlIGVsZW1lbnQgb24gdGhlIHNldF9wcm9wZXJ0eSBmdW5jdGlvbiwgaW5zdGVhZCB3YWl0CgkgIGZvciB0aGUgbmV4dCBOVUxMIC0+IFJFQURZIHRyYW5zaXRpb24uCgoyMDEwLTEyLTE0IDE0OjQ4OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogVXNlIHZpZGVvdGVzdHNyYyBvbiB0aGUgdGVzdHMKCSAgVXNlIHZpZGVvdGVzdHNyYyB0byBhdm9pZCBvcGVubmluZyB0aGUgY2FtZXJhIGRldmljZSBvbiB0aGUgdGVzdHMuCgoyMDEwLTEyLTE0IDE0OjQzOjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSAgdjRsMmNhbWVyYXNyYzogYWRkIHZpZGVvLXNyYyBwcm9wZXJ0eQoJICBBZGRzIGEgcHJvcGVydHkgdG8gc2VsZWN0IHRoZSBzcmMgZWxlbWVudCB0byBiZSB1c2VkIGludGVybmFsbHkKCSAgb24gdjRsMmNhbWVyYXNyYy4gWWVhaCwgSSBrbm93LCB0aGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBiZXR0ZXIKCSAgbmFtZS4KCjIwMTAtMTItMTMgMTc6NTY6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGQgdGVzdCBmb3Igc3VwcG9ydGVkIGNhcHMgcHJvcGVydGllcwoJICBBZGRzIHRlc3RzIGZvciBjaGVja2luZyB0aGF0IHRoZSBzdXBwb3J0ZWQgY2FwcyBwcm9wZXJ0aWVzIHdvcmsKCSAgYXMgZXhwZWN0ZWQgKHVzaW5nIHRoZSByZXNwZWN0aXZlIHBhZHMgZ2V0IGNhcHMgZnVuY3Rpb24pCgoyMDEwLTEyLTE0IDA4OjQ0OjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL1BPUlRJTkc6CgkgIGNhbWVyYWJpbjI6IGFkZHMgUE9SVElORyBkb2N1bWVudAoJICBBZGRzIGEgUE9SVElORyBkb2N1bWVudCB0byBleHBsYWluIHRoZSBkaWZmZXJlbmNlcyBmcm9tCgkgIGNhbWVyYWJpbiB0byBjYW1lcmFiaW4yIGFuZCBoZWxwIGFwcGxpY2F0aW9uIGRldmVsb3BlcnMgb24KCSAgcG9ydGluZyBmcm9tIG9uZSB0byBhbm90aGVyLgoKMjAxMC0xMi0xMyAxOTozNjo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW4tZW51bS5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbi1lbnVtLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IE1vdmUgYmFzZWNhbWVyYXNyYyB0byBnc3QtbGlicwoJICBNb3ZlIHRoZSBiYXNlIGNhbWVyYSBzcmMgY2xhc3MgdG8gZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMgdG8KCSAgYWxsb3cgaXQgdG8gYmUgaW5jbHVkZWQgZnJvbSB0aGUgdGVzdHMuCgoyMDEwLTEyLTE0IDE0OjI4OjQ5ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3JlY29yZGluZ2Jpbi5jOgoJICBjYW1lcmFiaW4yOiBhZGQgdmlkZW9yZWNvcmRpbmdiaW46OnZpZGVvLW11eGVyIHByb3BlcnR5CgoyMDEwLTEyLTE0IDEyOjIxOjU3ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3JlY29yZGluZ2Jpbi5jOgoJICBjYW1lcmFiaW4yOiBhZGQgdmlkZW9yZWNvcmRpbmdiaW46OnZpZGVvLWVuY29kZXIgcHJvcGVydHkKCjIwMTAtMTItMTQgMDk6NTg6MzUgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZGVvcmVjb3JkaW5nYmluLmM6CgkgIGNhbWVyYWJpbjI6IHJlbW92ZSBhYmJyZXZpYXRpb25zIGZyb20gdmlkZW9yZWNvcmRpbmdiaW4KCjIwMTAtMTItMTQgMTA6NDg6NTYgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJICBjYW1lcmFiaW4yOiBpbWFnZWNhcHR1cmViaW46IHJlbGVhc2Ugb2JqZWN0cyBhbmQgbWVtb3J5IGFsbG9jYXRpb25zCgoyMDEwLTEyLTEzIDE2OjM2OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBBZGQgY2FtZXJhLXNyYyBwcm9wZXJ0eQoJICBBZGRzIGEgcHJvcGVydHkgdG8gc2VsZWN0IHRoZSBjYW1lcmEgc291cmNlIGVsZW1lbnQgdG8gYmUgdXNlZC4KCSAgQ2hhbmdpbmcgb25seSBoYXBwZW5zIG9uIHRoZSBuZXh0IE5VTEwtPlJFQURZIHRyYW5zaXRpb24KCjIwMTAtMTItMTMgMTE6NTM6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IFJlbmFtZSB2YXJpYWJsZXMKCSAgVXNlIGJldHRlciBuYW1lIGZvciB0aGUgdmFyaWFibGVzLCBtYWtpbmcgdGhlIGNvZGUgY2xlYXJlci4gQWxzbwoJICBrZWVwIGEgcmVmIGZvciBzb21lIGludGVybmFsIGVsZW1lbnRzIHRvIGF2b2lkIGZldGNoaW5nIHRoZW0KCSAgYnkgbmFtZSB3aGVuIG5lZWRlZCBsYXRlci4KCjIwMTAtMTItMTIgMjM6MDM6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZCBwcm9wZXJ0aWVzIGZvciBzdXBwb3J0ZWQgY2FwdHVyZSBjYXBzCgkgIEFkZHMgMiBwcm9wZXJ0eSBmb3IgZ2V0dGluZyB0aGUgc3VwcG9ydGVkIGltYWdlL3ZpZGVvIGNhcHR1cmUKCSAgY2FwcyBmcm9tIHRoZSBjYW1lcmEgc291cmNlLgoKMjAxMC0xMi0xMiAyMDo0NjoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSAgY2FtZXJhYmluMjogUHV0IGVudW1zIGluc2lkZSB0aGVpciBjbGFzc2VzIC5jCgkgIFJlbW92ZSBnbG9iYWwgbGlzdCBvZiBwcm9wZXJ0aWVzJyBlbnVtcyBhbmQgcHV0IHRoZW0KCSAgaW5zaWRlIHRoZWlyIGNsYXNzZXMgLmMKCjIwMTAtMTItMTIgMTk6MzM6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB2aWV3ZmluZGVyYmluOiBGaXhlcyB0byB2aWRlby1zaW5rIGhhbmRsaW5nCgkgIEhhbmRsZSB2aWRlby1zaW5rIG1vcmUgY2FyZWZ1bGx5LCBjaGVja2luZyBpZiBpdCBzaG91bGQKCSAgYmUgYWxyZWFkeSBhZGRlZCB0byB0aGUgYmluLCBhbmQgcmVtb3Zpbmcgb2xkIG9uZXMgd2hlbgoJICByZXBsYWNpbmcuCgoyMDEwLTEyLTEzIDE2OjI4OjU4ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlY2FwdHVyZWJpbi5jOgoJICBjYW1lcmFiaW4yOiBhZGQgaW1hZ2VjYXB0dXJlYmluOjppbWFnZS1tdXhlciBwcm9wZXJ0eQoKMjAxMC0xMi0xMyAxMjowODoyMiArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWNhcHR1cmViaW4uYzoKCSAgY2FtZXJhYmluMjogYWRkIGltYWdlY2FwdHVyZWJpbjo6aW1hZ2UtZW5jb2RlciBwcm9wZXJ0eQoKMjAxMC0xMi0xMCAxNzo0NTo0MCArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkgIGNhbWVyYWJpbjI6IHJlbW92ZSBhYnJldmlhdGlvbnMgZnJvbSBpbWFnZWNhcHR1cmViaW4KCjIwMTAtMTItMTAgMTI6MDg6NDggLTAzMDAgIEFuZHLDqSBEaWViIE1hcnRpbnMgPGFuZHJlLmRpZWJAZ21haWwuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IGltcGxlbWVudCB2aWV3ZmluZGVyYmluOjp2aWRlby1zaW5rIHByb3BlcnR5IHRvIG92ZXJyaWRlIGRlZmF1bHQgdmlkZW8gb3V0cHV0CgoyMDEwLTEyLTA5IDE0OjEzOjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogTWFrZSBjb25zdHJ1Y3RfcGlwZWxpbmUgb3B0aW9uYWwKCSAgQ29uc3RydWN0IHBpcGVsaW5lIHNob3VsZCBiZSBvcHRpb25hbC4gU3ViY2xhc3NlcyB0aGF0IGRvbid0CgkgIGhhdmUgaW50ZXJuYWwgZWxlbWVudHMgZG9uJ3QgbmVlZCBpdC4KCjIwMTAtMTItMDkgMTI6MjM6MDEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJICBiYXNlY2FtZXJhc3JjOiB3cml0ZSBtb3JlIGRldGFpbHMgb24gdGhlIGFwaSBkb2NzCgoyMDEwLTEyLTA5IDEyOjIyOjI2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmg6CgkgIGJhc2VjYW1lcmFzcmM6IHVzZSB0aGUgZW51bSB0eXBlIGZvciBtb2RlCgoyMDEwLTEyLTA5IDEyOjIxOjE2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IGNvbW1lbnQgY2xlYW51cHMKCjIwMTAtMTItMjIgMjE6NDQ6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBlbnN1cmUgYnVmZmVyIG1ldGFkYXRhIGlzIHdyaXRhYmxlIGJlZm9yZSBtb2RpZnlpbmcgaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzgyNAoKMjAxMC0xMi0yMiAxODoxMzowNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJICBpZDNtdXg6IFNldCB0byBHU1RfUkFOS19QUklNQVJZCgkgIFdlIHdhbnQgaXQgdG8gdGFrZSBwcmVjZWRlbmNlIG92ZXIgYW55IG90aGVyIGlkMyBmb3JtYXR0ZXIuCgoyMDEwLTEyLTIxIDE4OjAxOjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogRml4IHNvbWUgbW9yZSBsZWFrcyBhbmQgcmVvcmdhbml6ZSB1bnJlZiBjb2RlCgoyMDEwLTEyLTIwIDE1OjMzOjI4ICswMTAwICBiZW5qYW1pbiBnYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAc3Rlcmljc3Nvbj4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogQXZvaWQgc29tZSBsZWFrcyBpbiBhdXRvY29udmVydAoJICB1bnJlZiBzaW5rIGFuZCBzcmMgcGFkIGFmdGVyIGdzdF9wYWRfYnlfZGlyZWN0aW9uIGNhbGxzIHVucmVmCgkgIGVsZW1lbnQgaWYgZ3N0X2F1dG9fY29udmVydF9hY3RpdmF0ZV9lbGVtZW50IGZhaWxlZC4KCSAgU2VlIGJ1ZyAjNjM3NTUzLgoKMjAxMC0xMi0yMSAxNzowMzo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc2ZtdXguYzoKCSAgYXNmbXV4OiBGaXggYnVmZmVyIGxlYWsgaW4gdGhlIHVuaXQgdGVzdAoKMjAxMC0xMi0yMCAwNzoxOTowNCAtMDgwMCAgU2FsZWVtIEFiZHVscmFzb29sIDxjb21wbmVyZEBjb21wbmVyZC5vcmc+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJICBjYW1lcmFiaW46IGZpeCBmb3IgbGF0ZXN0IEdUSysgQVBJIGNoYW5nZXMKCjIwMTAtMTItMjAgMTc6NDc6MjkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxNjk0NjJhIHRvIDQ2NDQ1YWQKCjIwMTAtMTItMjAgMTE6MDY6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRml4IGNhcHMgbGVha3MKCSAgRml4IHNvbWUgY2FwcyBsZWFrcyBvbiB1bml0IHRlc3RzCgoyMDEwLTEyLTIwIDA5OjM3OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICBqaWZtdXg6IEZpeCBsZWFrcyBvbiBjaGVjayB0ZXN0CgkgIEZpeCBsZWFrcyBpbiBqaWZtdXggY2hlY2sgdGVzdAoKMjAxMC0xMi0yMCAxMzo1MTowMyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSAgcGhvdG9ncmFwaHk6IHVzZSBhIGZsYWdzIHR5cGUgaW5zdGVhZCBvZiB0aGUgdWludAoJICBBbHNvIHVzZSAwIGFzIGRlZmF1bHQgYW5kIGxldCB0aGUgaW1wbGVtZW50YXRpb24gc2V0IHNvbWV0aGluZyB0aGF0IHRoZXkgc3VwcG9ydC4KCjIwMTAtMTItMjAgMTE6MTQ6NDkgKzAyMDAgIEh1IEdhbmcgPGdhbmcuYS5odUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90b2dyYXBoeTogYWRkIG1pc3NpbmcgcHJvcGVydHkgYW5kIGNhYmFiaWxpdHkgZmxhZyBmb3Igbm9pc2UgcmVkdWN0aW9uCgoyMDEwLTEyLTE5IDE3OjIzOjI0ICswNTMwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvY29udmVydC5jOgoJICB0ZXN0czogRml4IGxlYWsgaW4gYXV0b2NvbnZlcnQgdGVzdAoKMjAxMC0xMi0xOSAxNzoxNjoxMCArMDUzMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBVc2UgZ3N0X2NhcHNfY2FuX2ludGVyc2VjdCgpCgoyMDEwLTEyLTE5IDEyOjUzOjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogRnJlZSBBdG9tSW5mbyBzdHJ1Y3RzCgoyMDEwLTEyLTE5IDEyOjUwOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogRnJlZSB0YWcgc3RyaW5nIGFmdGVyIHVzZQoKMjAxMC0xMi0xOSAxMjoxMjoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRhZ3NjaGVja2luZzogRml4IHNvbWUgbW9yZSBtZW1vcnkgbGVha3MKCjIwMTAtMTItMTkgMTI6MTI6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VjYXB0dXJlYmluLmM6CgkgIGltYWdlY2FwdHVyZWJpbjogRG9uJ3QgbGVhayBtZXNzYWdlIGluIHRoZSB1bml0IHRlc3QKCjIwMTAtMTItMTkgMTI6MDk6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkgIGltYWdlY2FwdHVyZWJpbjogRG9uJ3QgbGVhayBwYWQgYW5kIHNpbmsKCjIwMTAtMTItMTkgMTI6MDU6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkgIGltYWdlY2FwdHVyZWJpbjogRG9uJ3QgbGVhayBwYWQgdGVtcGxhdGUgY3JlYXRlZCBmcm9tIHN0YXRpYyBwYWQgdGVtcGxhdGUKCjIwMTAtMTItMTkgMTI6MDM6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkgIGltYWdlY2FwdHVyZWJpbjogRG9uJ3QgbGVhayBsb2NhdGlvbiBzdHJpbmcKCjIwMTAtMTItMTkgMTI6MDA6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGppZm11eDogRG9uJ3QgbGVhayB0YWdsaXN0CgoyMDEwLTEyLTE5IDExOjM4OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0LmM6CgkgIGF1dG92aWRlb2NvbnZlcnQ6IERvbid0IGxlYWsgcGFkIHRlbXBsYXRlcyBjcmVhdGVkIGZyb20gc3RhdGljIHBhZCB0ZW1wbGF0ZXMKCjIwMTAtMTItMTkgMTE6MjA6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuYzoKCSAgYXV0b3ZpZGVvY29udmVydDogQWRkIGF1dG9jb252ZXJ0IGNoaWxkIGJlZm9yZSBjaGFpbmluZyB1cCB0byBwYXJlbnQgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uCgkgIC4uLmFuZCByZW1vdmUvdW5saW5rIGF1dG9jb252ZXJ0IGNoaWxkIHdoZW4gZ29pbmcgYmFjayB0byBOVUxMLgoKMjAxMC0xMi0xOSAxMToxOTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgc3RhdGVzOiBJZ25vcmUgbW9yZSB2ZHBhdSBlbGVtZW50cyBpbiB0aGUgZ2VuZXJpYyBzdGF0ZXMgdGVzdAoKMjAxMC0xMi0xOSAxMToxNzo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb2xvcnNwYWNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG92aWRlb2NvbnZlcnQuYzoKCSAgYXV0b3ZpZGVvY29udmVydDogUmVuYW1lIGFuZCBhZGp1c3QgdW5pdCB0ZXN0IHRvbwoKMjAxMC0xMi0xOCAxMjo0ODo0MiAtMDgwMCAgTGVvIFNpbmdlciA8bGVvLnNpbmdlckBsaWdvLm9yZz4KCgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogZml4IGNvbXBpbGVyIHdhcm5pbmc6IHJlZHVuZGFudCBkZWNsYXJhdGlvbiBvZiAncGFyZW50X2NsYXNzJwoJICBHU1RfQk9JTEVSUExBVEVfRlVMTCBkZWNsYXJlcyBwYXJlbnRfY2xhc3MgYXMgd2VsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzUzMgoKMjAxMC0xMi0xNyAxOTo0MToyNSArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhbGxvdyB6ZXJvIGR1cmF0aW9uIHRyYWNrcwoKMjAxMC0xMi0xNiAxNTozMToyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuaDoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiB1c2UgR1NUX0xPRyBldGMuIGZvciBsb2dnaW5nCgkgIFRoZSBkdmJzdWIgcm91dGluZXMgd2VyZSBvcmlnaW5hbGx5IGRlc2lnbmVkIGFzIGEgbWluaSBsaWIgd2l0aCBhCgkgIGxvZyBjYWxsYmFjayAod2hpY2ggZnJvbSB0aGUgbG9va3Mgb2YgaXQgaW4gb3VyIGNhc2Ugd291bGQgYWx3YXlzCgkgIGJlIGNhbGxlZCBhbmQgYWx3YXlzIGFzc2VtYmxlIHRoZSBzdHJpbmcgZXZlbiB3aXRoIGRlYnVnIG91dHB1dAoJICBkaXNhYmxlZCkuIFNvbWUgb2YgdGhlc2UgZGVidWcgc3RhdGVtZW50cyBjYW4gcHJvYmFibHkgYmUgcmVtb3ZlZAoJICBvciBjbGVhbmVkIHVwIHNvbWUgbW9yZS4KCjIwMTAtMTItMTYgMDA6MTk6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZmZtcGVnLWNvbG9yc3BhY2UuaDoKCSAgZHZic3Vib3ZlcmxheTogcmVtb3ZlIHNvbWUgdW51c2VkIGRlZmluZXMKCjIwMTAtMTItMTYgMDA6MTM6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBmaXggYXRvbWljIGFjY2VzcwoKMjAxMC0xMi0xNiAxNTozMzo0NSArMDAwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBmaXggcmVuZGVyaW5nIGFydGVmYWN0cwoJICBJbml0aWFsaXplIHNvdXJjZSB4IHBvc2l0aW9uIGZvciBvZGQgaGVpZ2h0IHNwZWNpYWwgY2FzZS4KCjIwMTAtMTItMTYgMTE6Mjk6MDcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBUaGUgZW5hYmxlIHByb3BlcnR5IGlzIGEgYm9vbGVhbiBhbmQgbm90IGFuIGludGVnZXIKCjIwMTAtMTItMTYgMDk6NTY6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L01ha2VmaWxlLmFtOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbG9yc3BhY2UuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb2xvcnNwYWNlLmg6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0Lmg6CgkqIGdzdC9hdXRvY29udmVydC9wbHVnaW4uYzoKCSAgYXV0b2NvbnZlcnQ6IFJlbmFtZSBhdXRvY29sb3JzcGFjZSB0byBhdXRvdmlkZW9jb252ZXJ0CgkgIFRoaXMgZG9lc24ndCBqdXN0IGNvbnZlcnQgYmV0d2VlbiBjb2xvciBzcGFjZXMuCgoyMDEwLTEyLTE1IDEyOjQ1OjM4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL01ha2VmaWxlLmFtOgoJKiB0b29scy9iYXNlLmM6CgkqIHRvb2xzL2VsZW1lbnQtbWFrZXI6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2F1ZGlvZmlsdGVyOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9hdWRpb3Npbms6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2F1ZGlvc3JjOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlYXVkaW9zaW5rOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlYXVkaW9zcmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VydHBkZXBheWxvYWQ6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VydHBwYXlsb2FkOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlc2luazoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXNyYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXRyYW5zZm9ybToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvY2RkYWJhc2VzcmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2VsZW1lbnQ6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2dvYmplY3Q6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3B1c2hzcmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQ6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtc2ltcGxlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQ6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC1zaW1wbGU6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3RhZ2RlbXV4OgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy92aWRlb3Npbms6CgkqIHRvb2xzL2dvYmplY3QuYzoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkqIHRvb2xzL2dzdGF1ZGlvZmlsdGVyLmM6CgkqIHRvb2xzL2dzdGF1ZGlvc2luay5jOgoJKiB0b29scy9nc3RhdWRpb3NyYy5jOgoJKiB0b29scy9nc3RiYXNlYXVkaW9zaW5rLmM6CgkqIHRvb2xzL2dzdGJhc2VhdWRpb3NyYy5jOgoJKiB0b29scy9nc3RiYXNlcnRwZGVwYXlsb2FkLmM6CgkqIHRvb2xzL2dzdGJhc2VydHBwYXlsb2FkLmM6CgkqIHRvb2xzL2dzdGJhc2VzaW5rLmM6CgkqIHRvb2xzL2dzdGJhc2VzcmMuYzoKCSogdG9vbHMvZ3N0YmFzZXRyYW5zZm9ybS5jOgoJKiB0b29scy9nc3RjZGRhYmFzZXNyYy5jOgoJKiB0b29scy9nc3RlbGVtZW50LmM6CgkqIHRvb2xzL2dzdHB1c2hzcmMuYzoKCSogdG9vbHMvZ3N0dGFnZGVtdXguYzoKCSogdG9vbHMvZ3N0dmlkZW9zaW5rLmM6CgkqIHRvb2xzL3NpbmtwYWQtc2ltcGxlLmM6CgkqIHRvb2xzL3NpbmtwYWQuYzoKCSogdG9vbHMvc3JjcGFkLXNpbXBsZS5jOgoJKiB0b29scy9zcmNwYWQuYzoKCSAgZWxlbWVudC1tYWtlcjogQ2xlYW4gdXAgZGlyZWN0b3J5CgoyMDEwLTEyLTE1IDIxOjI4OjA2ICswMTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAc3Rlcmljc3Nvbi5jb20+CgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgIGJheWVyMnJnYjogQWRkIGZyYW1lcmF0ZSB0byB0aGUgc2luayBjYXBzCgkgIEZpeGVzIGJ1ZyAjNjM3MjI0LgoKMjAxMC0xMi0xNSAyMToxOTo1NSArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQHN0ZXJpY3Nzb24uY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb2xvcnNwYWNlLmM6CgkgIGF1dG9jb2xvcnNwYWNlOiBBZGQgdW5pdCB0ZXN0CgoyMDEwLTEyLTE1IDIxOjE0OjM4ICswMTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAc3Rlcmljc3Nvbi5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29sb3JzcGFjZS5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbG9yc3BhY2UuaDoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9wbHVnaW4uYzoKCSAgYXV0b2NvbG9yc3BhY2U6IEFkZCBhdXRvY29udmVydCBiYXNlZCB2aWRlbyBmb3JtYXQgY29udmVydCBlbGVtZW50CgkgIEZpeGVzIGJ1ZyAjNjM2MTA2LgoKMjAxMC0xMi0xNSAyMToxMToyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IFJlbmFtZSBEVkIgc3VidGl0bGluZyBtZWRpYSB0eXBlIHRvIHN1YnBpY3R1cmUveC1kdmIKCjIwMTAtMTItMTUgMjE6MTE6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogUmVuYW1lIERWQiBzdWJ0aXRsaW5nIG1lZGlhIHR5cGUgdG8gc3VicGljdHVyZS94LWR2YgoKMjAxMC0xMi0xNSAyMDo1NDozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IERvbid0IGRyYXcgYW55dGhpbmcgb24gdGhlIHZpZGVvIGlmIHRoZSBlbmFibGUgcHJvcGVydHkgaXMgc2V0IHRvIEZBTFNFCgoyMDEwLTEyLTE1IDIwOjUzOjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogQWRkICNkZWZpbmVzIGZvciB0aGUgcHJvcGVydHkgZGVmYXVsdCB2YWx1ZXMKCjIwMTAtMTItMTUgMjA6NTE6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBVc2UgZ19hdG9taWNfaW50X2dldCgpIGZvciByZWFkaW5nIHRoZSBtYXhfcGFnZV90aW1lb3V0IGZpZWxkCgoyMDEwLTEyLTE1IDIwOjQ5OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IE1hcmsgYXJyYXkgc3RhdGljIGNvbnN0IGFuZCB1c2UgR19OX0VMRU1FTlRTIGluc3RlYWQgb2Ygc2l6ZW9mCgoyMDEwLTEyLTE1IDE0OjM5OjU2ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBhZGQgREVTQ19EVkJfU1VCVElUTElORyBkZXNjcmlwdG9yIGZvciBsYW5ndWFnZSBwYXJzaW5nCgoyMDEwLTEyLTE1IDE0OjIzOjU4ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBlbmFibGUgZ2F0aGVyX3BlcyBvbmx5IGZvciBEVkIgc3VidGl0bGUgcHJpdmF0ZSBzdHJlYW1zCgoyMDEwLTEyLTE0IDE0OjM0OjU2ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IHVzZSBhdG9taWMgaW5zdHJ1Y3Rpb25zIHRvIHNldC9nZXQgZW5hYmxlIHByb3BlcnR5CgoyMDEwLTEyLTE0IDE0OjI4OjQ1ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuaDoKCSAgZHZic3Vib3ZlcmxheTogYWRkIHByb3BlcnR5IHRvIGxpbWl0IHBhZ2VfdGltZV9vdXQgdG8gYSBzZXRhYmxlIG1heGltdW0KCjIwMTAtMTItMTQgMTE6MTE6MDggKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogaW1wbGVtZW50IGRpc3BsYXkgZGVmaW5pdGlvbiBzZWdtZW50IHN1YnRpdGxlIHdpbmRvd3MKCSAgc2ltcGxpZmllcyBzdWJ0aXRsZSBzY2FsaW5nIGluIGJsaXRfaTQyMCgpCgoyMDEwLTEyLTExIDE3OjI1OjI5ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IHNjYWxlIHN1YnRpdGxlcyBhY2NvcmRpbmcgdG8gdGhlIGRpc3BsYXkgc2l6ZQoJICBEaXNwbGF5IHNpemUgaXMgZWl0aGVyIHRyYW5zbWl0dGVkIGluIHRoZSBkaXNwbGF5IGRlZmluaXRpb24gc2VnbWVudCBvcgoJICBpbXBsaWNpdGx5IGRlZmluZWQgdG8gNzIweDU3Ni4gVGhlIHN1YnRpdGxlIHdpbmRvdyBpbmZvcm1hdGlvbiBhbHNvIHByZXNlbnQgaW4KCSAgdGhlIGRpc3BsYXkgZGVmaW5pdGlvbiBzZWdtZW50IGlzIG5vdCB5ZXQgdXNlZC4KCjIwMTAtMTItMTEgMTc6MTA6MjUgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5oOgoJICBkdmJzdWJvdmVybGF5OiBpbXBsZW1lbnQgZGlzcGxheSBkZWZpbml0aW9uIHNlZ21lbnQgcGFyc2luZwoKMjAxMC0xMi0xMCAxMjoyNzo1NCArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBmaXggbHVtYSBzdHJpZGUgZm9yIHNjYWxlZCBzdWJ0aXRsZXMgKGRpc3BsYXkgd2lkdGggIT0gd2lkdGgpCgoyMDEwLTEyLTE1IDE2OjQ4OjE1ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkgIHJzdmdvdmVybGF5OiBEb24ndCBzZXQgdWludCBvbiBhbiBpbnQgcHJvcGVydHkKCjIwMTAtMTItMTUgMTQ6NTY6MTkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMjA3NDJhZSB0byAxNjk0NjJhCgoyMDEwLTEyLTE0IDE5OjAzOjA5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL01ha2VmaWxlLmFtOgoJKiB0b29scy9lbGVtZW50LW1ha2VyOgoJKiB0b29scy9nc3RhdWRpb2ZpbHRlci5jOgoJKiB0b29scy9nc3RhdWRpb3NpbmsuYzoKCSogdG9vbHMvZ3N0YXVkaW9zcmMuYzoKCSogdG9vbHMvZ3N0YmFzZWF1ZGlvc2luay5jOgoJKiB0b29scy9nc3RiYXNlYXVkaW9zcmMuYzoKCSogdG9vbHMvZ3N0YmFzZXJ0cGRlcGF5bG9hZC5jOgoJKiB0b29scy9nc3RiYXNlcnRwcGF5bG9hZC5jOgoJKiB0b29scy9nc3RiYXNlc2luay5jOgoJKiB0b29scy9nc3RiYXNlc3JjLmM6CgkqIHRvb2xzL2dzdGJhc2V0cmFuc2Zvcm0uYzoKCSogdG9vbHMvZ3N0Y2RkYWJhc2VzcmMuYzoKCSogdG9vbHMvZ3N0ZWxlbWVudC5jOgoJKiB0b29scy9nc3RwdXNoc3JjLmM6CgkqIHRvb2xzL2dzdHRhZ2RlbXV4LmM6CgkqIHRvb2xzL2dzdHZpZGVvc2luay5jOgoJKiB0b29scy9zaW5rcGFkLXNpbXBsZS5jOgoJKiB0b29scy9zaW5rcGFkLmM6CgkqIHRvb2xzL3NyY3BhZC1zaW1wbGUuYzoKCSogdG9vbHMvc3JjcGFkLmM6CgkgIGVsZW1lbnQtbWFrZXI6IGltcHJvdmUgZ2VuZXJhdGlvbiBvZiBzZXZlcmFsIGNsYXNzZXMKCSAgQmV0dGVyIGNyZWF0aW9uIG9mIHBhZHMsIHRlc3QgYW5kIGZpeCBtYW55IG90aGVyIGNsYXNzZXMuICBNb3N0CgkgIGNsYXNzZXMgd29yayBub3csIGFsdGhvdWdoIG1pZ2h0IG5vdCBjcmVhdGUgZnVuY3Rpb25hbCBlbGVtZW50cy4KCjIwMTAtMTItMTMgMjM6MzI6MzAgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5oOgoJICB5NG1kZWM6IEFkZCB5NG1kZWMKCSAgRmVlbCB0aGUgeTRtIGxvdmUuICBJdCBzZWVrcy4gIEl0IHdvcmtzIGluIHBpdGl2aS4KCjIwMTAtMTItMTMgMjM6MTU6MDUgKzAwMDAgIEZyYW5jaXMgUmFtbWVsb28gPGZyYW5jaXMucmFtbWVsb29AZ21haWwuY29tPgoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuYzoKCSAgZ2Rpc2NyZWVuY2Fwc3JjOiBmaXggbWVtb3J5IGxlYWsKCSAgU3RydWN0dXJlIG1lbWJlcnMgb2YgSUNPTklORk8gc3RydWN0IGZpbGxlZCBieSBHZXRJY29uSW5mbygpIG11c3QKCSAgYmUgZGVsZXRlZCB3aGVuIG5vIGxvbmdlciBuZWVkZWQgYWNjb3JkaW5nIHRvIHRoZSBBUEkgcmVmZXJlbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjExNDI4CgoyMDEwLTEyLTEzIDE2OjIzOjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGF2b2lkIGxlYWtpbmcgdGFnIGV2ZW50CgoyMDEwLTEyLTEzIDE1OjE3OjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IHJlbGF4IGJzaWQgY2hlY2tpbmcKCSAgLi4uIHRvIHRoZSB3aWRlc3QgcG9zc2libGUgc3BlYyBpbnRlcnByZXRhdGlvbi4KCSAgRml4ZXMgIzYzNzA2Mi4KCjIwMTAtMTItMTMgMTY6MjM6NDUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDExYmNjOCB0byAyMDc0MmFlCgoyMDEwLTEyLTEyIDIzOjM0OjAyICswMDAwICBNYXR0aGV3IElmZSA8bWF0dGhldy5pZmVAdWtmYXN0LmNvLnVrPgoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICByZmJzcmM6IGZhaWwgbW9yZSBncmFjZWZ1bGx5IGlmIHNvdXJjZSBnZXRzIGRpc2Nvbm5lY3RlZCBvciBnZW9tZXRyeSBjaGFuZ2VzCgkgIERvbid0IGdldCBjYXVnaHQgaW4gYW4gaW5maW5pdGUgbG9vcCBpZiB0aGUgc291cmNlIGdldHMgZGlzY29ubmVjdGVkIGFuZCBhbHNvCgkgIHN1cHBvcnQgZ3JhY2VmdWxseSBmYWlsaW5nIHVwb24gZGV0ZWN0aW5nIHRoZSBmcmFtZSBnZW9tZXRyeSBoYXMgaW5jcmVhc2VkCgkgIChyYXRoZXIgdGhhbiBzZWdmYXVsdGluZykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzUzOTcKCjIwMTAtMTItMTIgMjI6MTM6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogYXZvaWQgbGVha2luZyBjb252ZXJ0ZWQgY29tbWVudCBzdHJpbmcKCjIwMTAtMTItMTIgMTI6MDE6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJICBzc2ltOiBTZXQgY2xhc3NpZmljYXRpb24gdG8gRmlsdGVyL0FuYWx5emVyL1ZpZGVvIGluc3RlYWQgb2YgRmlsdGVyL0NvbnZlcnRlci9WaWRlbwoJICBGaXhlcyBidWcgIzYzNjEwOS4KCjIwMTAtMTItMTIgMDI6MjQ6MDAgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvYnVybi1leGFtcGxlLnB5OgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSAgZ2F1ZGllZmZlY3RzOiBBdm9pZCBkaXZpZGUgYnkgMCBpbiBidXJuIGVsZW1lbnQKCjIwMTAtMTItMTIgMDI6MTY6NDkgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgcmVzaW5kdmQ6IERlZmVyIHB1c2hpbmcgdGFnIHVwZGF0ZXMgdW50aWwgc3RyZWFtaW5nLgoJICBQdXNoIHRhZy90aXRsZSBpbmZvIHVwZGF0ZXMgaW4gdGhlIHN0cmVhbWluZyB0aHJlYWQsIGF2b2lkaW5nCgkgIHNwdXJpb3VzIGxvc3NlcyBvZiB0aGUgZG93bnN0cmVhbSBldmVudHMgd2hlbiBmbHVzaGluZy4KCSAgU2VlOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk0MjIyCgoyMDEwLTExLTE2IDE3OjE4OjMzICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IEF0dGVtcHQgdG8gdXNlIGdsaWIgbGFuZ3VhZ2Ugc2V0dGluZyBmb3IgRFZEIG1lbnVzL2F1ZGlvCgoyMDEwLTExLTE2IDE3OjA5OjA2ICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IEZpeCBzaWxseSB0eXBvIGluIGJ1dHRvbiBzdGF0ZSB0cmFja2luZy4KCjIwMTAtMTItMTAgMDA6NTg6NTggKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICBhcHBsZW1lZGlhOiBvbmx5IGVucXVldWUgYnVmZmVycyBpbiB0aGUgVmlkZW9Ub29sYm94IGNhbGxiYWNrcwoJICBUaGVzZSBjYWxsYmFja3MgbWF5IGZpcmUgZnJvbSBhbnkgdGhyZWFkLCBoZW5jZSB3ZSBzaG91bGQgb25seSBlbnF1ZXVlCgkgIGJ1ZmZlcnMgYW5kIGxldCB0aGUgc3RyZWFtaW5nIHRocmVhZCB0YWtlIGNhcmUgb2YgdGhlIHJlc3QgYXMgc29vbiBhcwoJICB0aGUgYmxvY2tpbmcgZW5jb2RlIG9yIGRlY29kZSBvcGVyYXRpb24gaGFzIGZpbmlzaGVkLgoKMjAxMC0xMS0xOSAxNTo1Mzo1NSArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWN0eC5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGktaW50ZXJuYWwuaDoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS5oOgoJICBhcHBsZW1lZGlhOiBicmluZyBiYWNrIExlb3BhcmQgY29tcGF0aWJpbGl0eQoJICBBdCBsZWFzdCBhcyBmYXIgYXMgbWlvdmlkZW9zcmMgaXMgY29uY2VybmVkLiBUdXJucyBvdXQgdGhhdCBDb3JlVmlkZW8ncwoJICBDVlBpeGVsQnVmZmVyR2V0SU9TdXJmYWNlIGlzIG5vdCBwcmVzZW50IGluIExlb3BhcmQncyB2ZXJzaW9uIG9mIENvcmVWaWRlby4KCSAgV2Ugc29sdmUgdGhpcyBieSBtYWtpbmcgaXQgcG9zc2libGUgZm9yIHN5bWJvbHMgdG8gYmUgbWFya2VkIGFzIG9wdGlvbmFsLgoKMjAxMC0xMS0yOSAxMzo0NzoxMSArMDEwMCAgQ2hyaXN0aWFuIEJlcmVudHNlbiA8Y2hyaXN0aWFuLmJlcmVudHNlbkBjaXNjby5jb20+CgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSAgd2lua3M6IGZpeCBmcmFtZXJhdGUgZnJhY3Rpb24gcmFuZ2UgbWFwcGluZwoJICBNaW4gYW5kIG1heCBtYXkgYmUgc2xpZ2h0bHkgZGlmZmVyZW50IGJ1dCBjb21wcmVzcyB0byB0aGUgc2FtZSBmcmFjdGlvbi4KCjIwMTAtMTItMDkgMTg6MDY6MzggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzoKCSAgamFzcGVyZGVjOiBkb24ndCBmYWlsIGhhcmQgb24gZGVjb2RpbmcgZXJyb3IKCSAgZG9uJ3QgcG9zdCBhbiBlcnJvciBhbmQgcmV0dXJuIEdTVF9GTE9XX0VSUk9SIG9uIGEgc2ltcGxlIGRlY29kaW5nIGVycm9yLiBXZSBjYW4KCSAganVzdCByZXN1bWUgYW5kIGNvbnRpbnVlIGRlY29kaW5nIHRoZSBuZXh0IGltYWdlLgoKMjAxMC0xMi0wOSAxMTo1NDoxNyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgcXRraXR2aWRlb3NyYzogcmVzZXQgdGhlIHF1ZXVlIGNvbmRpdGlvbiB0byBOT19GUkFNRVMgaW4gdW5sb2NrU3RvcC4KCSAgRml4ZXMgYSBzZWdmYXVsdCBpbiBjcmVhdGU6IHdoZW4gZ29pbmcgUExBWUlORyAtPiBQQVVTRUQgLT4gUExBWUlORy4KCjIwMTAtMTItMDkgMTE6MDQ6MTkgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIHF0a2l0dmlkZW9zcmM6IHJ1biB0aGUgbWFpblJ1bkxvb3AgZm9yIGEgd2hpbGUgaWYgbm90IHJ1bm5pbmcuCgkgIFFUQ2FwdHVyZVNlc3Npb246OmFkZElucHV0IGFuZCBRVENhcHR1cmVTZXNzaW9uOjphZGRPdXRwdXQgY2FsbAoJICBOU09iamVjdDo6cGVyZm9ybVNlbGVjdG9yT25NYWluVGhyZWFkIGludGVybmFsbHkgc28gdGhleSBuZWVkIHRoZSBtYWluUnVuTG9vcCB0bwoJICBydW4gYXQgbGVhc3QgZm9yIGEgd2hpbGUgdG8gY29tcGxldGUuCgoyMDEwLTEyLTA3IDE5OjQwOjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuaDoKCSAgYmFzZWNhbWVyYXNyYzogUmVtb3ZlIGdob3N0cGFkcwoJICBSZW1vdmUgZ2hvc3QgcGFkcyBmcm9tIGJhc2VjYW1lcmFzcmMuIERpZmZlcmVudCBpbXBsZW1lbnRhdGlvbnMKCSAgb2YgY2FtZXJhIHNvdXJjZXMgbWlnaHQgbm90IHVzZSBnaG9zdHBhZHMgYW5kIHVzZSBkZWZhdWx0IHBhZHMuCgoyMDEwLTEyLTA3IDE5OjEyOjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IFJlbW92aW5nIHVudW5zZWQgbWV0aG9kcwoJICBSZW1vdmUgb25lIHVudXNlZCBtZXRob2QgX2ZpbmlzaF9pbWFnZV9jYXB0dXJlKCkKCjIwMTAtMTItMDYgMTE6MDU6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICBjYW1lcmFiaW4yOiBPbmx5IHJ1biB0ZXN0cyBpZiBleHBlcmltZW50YWwgaXMgZW5hYmxlZAoJICBPbmx5IHJ1biBjYW1lcmFiaW4yIHRlc3RzIGFuZCBidWlsZCBleGFtcGxlcyBpZiBleHBlcmltZW50YWwKCSAgcGx1Z2lucyBhcmUgZW5hYmxlZAoKMjAxMC0xMi0wNiAxMDowNjozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSAgY2FtZXJhYmluMjogQ2xlYW51cAoJICBSZW1vdmluZyBjb21tZW50ZWQgY29kZQoKMjAxMC0xMi0wNSAxMToxODowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmg6CgkgIGJhc2VjYW1lcmFzcmM6IE1vdmUgc3RhcnQvc3RvcCBjYXB0dXJlIHNpZ25hbHMgdG8gYmFzZWNhbWVyYXNyYwoJICBNb3ZlIHN0YXJ0L3N0b3Agc2lnbmFscyBhbmQgcmVhZHktZm9yLWNhcHR1cmUgdG8gYmFzZWNhbWVyYXNyYwoJICBhcyB0aGlzIHNob3VsZCBiZSBwcmVzZW50IG9uIGFsbCBjYW1lcmEgc291cmNlcwoKMjAxMC0xMi0wNCAxMDoxNTozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmg6CgkgIGJhc2VjYW1lcmFzcmM6IEFkZCBtb2RlIHByb3BlcnR5CgkgIE1vdmUgbW9kZSBwcm9wZXJ0eSBmcm9tIHY0bDJjYW1lcmFzcmMgdG8gYmFzZWNhbWVyYXNyYywgYXMgYWxsCgkgIGNhbWVyYSBzb3VyY2VzIHNob3VsZCBoYW5kbGUgaXQuCgoyMDEwLTEyLTA0IDAwOjI3OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBSZXNldCBhbGwgZWxlbWVudHMgb24gdmlkZW8gcmVjb3JkaW5nIGJyYW5jaCBiZWZvcmUgY2FwdHVyZQoJICBXZSBuZWVkIHRvIHJlc2V0IHRoZSBlbGVtZW50cyBmcm9tIHRoZSB2aWRlbyByZWNvcmRpbmcgYnJhbmNoLCBpbmNsdWRpbmcKCSAgdGhlIHF1ZXVlIGFuZCBjYXBzZmlsdGVyIGluIG9yZGVyIHRvIGNsZWFyIHRoZSBlb3Mgc3RhdGUgYW5kIGFjdGl2YXRlCgkgIHRoZSBwYWRzLgoJICBUaGlzIG1ha2VzIGl0IHBvc3NpYmxlIHRvIHJlY29yZCBtdWx0aXBsZSB2aWRlb3Mgd2l0aCBjYW1lcmFiaW4yIGluIGEKCSAgc2VxdWVuY2UsIG90aGVyd2lzZSB0aGUgc291cmNlIHdvdWxkIGdldCBhIHVuZXhwZWN0ZWQgcmV0dXJuIGFuZAoJICBwdXNoIEVPUywgc3RvcHBpbmcgdGhlIHdob2xlIHBpcGVsaW5lLgoKMjAxMC0xMi0wMyAxMjoxMzowNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEZpeCB0ZXN0cyBjYXB0dXJlIGxvY2F0aW9uIGNyZWF0aW9uCgkgIEZpeGVzIGNhcHR1cmUgbG9jYXRpb24gY3JlYXRpb24gdG8gdXNlIG11bHRpZmlsZXNpbmsgbG9jYXRpb24KCSAgbGlrZSBzdHJpbmdzLiBFLmcuIHVzaW5nIGNhcHR1cmVfJWQgaW5zdGVhZCBvZiBjYXB0dXJlXzAgdG8gbGV0CgkgIGNhbWVyYWJpbjIgaGFuZGxlIHRoZSAlZCByZXBsYWNpbmcKCjIwMTAtMTItMDMgMTI6MTI6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkgIGNhbWVyYWJpbjI6IE1vcmUgZGVidWcgbG9ncwoJICBTcHJpbmtsZSBzb21lIG1vcmUgZGVidWdnaW5nIGxvZ3MKCjIwMTAtMTItMDMgMTI6MTE6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJICBleGFtcGxlczogY2FtZXJhYmluMjogUHJpbnQgbW9yZSBpbmZvCgkgIEFkZCBzb21lIHByaW50aW5nIGZvciBlcnJvci9lb3MgY2FzZXMuCgoyMDEwLTEyLTAyIDAzOjQ0OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uYzoKCSAgY2FtZXJhYmluMjogVmFyaW91cyBmaXhlcwoJICBBcyB2aWRlbyByZWNvcmRpbmcgYmluJ3Mgc3RhdGUgaXMgbG9ja2VkLCB3ZSBzaG91bGQgYWx3YXlzCgkgIHJlbWVtYmVyIG9mIHNldHRpbmcgaXQgdG8gTlVMTCB3aGVuIGNhbWVyYWJpbjIgZ29lcyB0byBOVUxMCgkgIEJlIG1vcmUgY2FyZWZ1bCB3aGVuIHVzaW5nIGVsZW1lbnRzIHRoYXQgbWlnaHQgbm90CgkgIGhhdmUgYmVlbiBjcmVhdGVkIHlldAoJICBBbmQgZG8gbm90IHNldCBsb2NhdGlvbiBwcm9wZXJ0eSByZWN1cnNpdmVseSBvbiB2aWRlb3JlY29yZGluZ2JpbgoKMjAxMC0xMi0wMiAwMzowODo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGRpbmcgdGVzdHMgZm9yIGNhbWVyYWJpbjIKCSAgQWRkcyBzb21lIGJhc2ljIHRlc3RzIGZvciBjYW1lcmFiaW4yCgoyMDEwLTEyLTAyIDAyOjIxOjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWNhcHR1cmViaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9yZWNvcmRpbmdiaW4uYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IGFkZHMgdGVzdHMgZm9yIGVsZW1lbnRzCgkgIEFkZHMgYmFzaWMgdGVzdHMgZm9yIGJvdGggaW1hZ2VjYXB0dXJlYmluIGFuZCBmb3IKCSAgdmlkZW9yZWNvcmRpbmdiaW4gZWxlbWVudHMKCjIwMTAtMTItMDIgMDE6MzM6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJICB2aWV3ZmluZGVyYmluOiBJbXByb3ZlIGVsZW1lbnRzIGNyZWF0aW9uCgkgIEJlIG1vcmUgY2FyZWZ1bCB3aXRoIGNsZWFudXAgb2YgZWxlbWVudHMuIEFsc28gYWRkIHNvbWUgbG9ncyBhbmQKCSAgaW1wcm92ZSBkb2NzIGEgbGl0dGxlLgoKMjAxMC0xMi0wMiAwMDoxOTowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4tZW51bS5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJICBjYW1lcmFiaW4yOiByZW1vdmUgdW51c2VkIGNvZGUKCSAgR2VuZXJhbCBjbGVhbnVwLCByZW1vdmluZyB1bnVzZWQgYml0cwoKMjAxMC0xMS0zMCAyMDoxMzoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZGVvcmVjb3JkaW5nYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZGVvcmVjb3JkaW5nYmluLmg6CgkgIGNhbWVyYWJpbjI6IGFkZHMgbG9jYXRpb24gcHJvcGVydHkKCSAgQWRkcyBhIGxvY2F0aW9uIHByb3BlcnR5IHRvIGVuYWJsZSBhcHBsaWNhdGlvbnMgdG8gc2VsZWN0CgkgIHRoZSBjYXB0dXJlZCBmaWxlcyBuYW1lcy4gTG9jYXRpb25zIGFyZSBoYW5kbGVkIGp1c3QgbGlrZQoJICBtdWx0aWZpbGVzaW5rIG9uZXMKCSAgQWxzbyBkaXNhYmxlcyAtV2Zvcm1hdC1ub25saXRlcmFsIHRvIGFsbG93IHRvIHVzZSBub24tbGl0ZXJhbHMKCSAgb24gZ19zdHJkdXBfcHJpbnRmIG9uIGNhbWVyYWJpbiBhbmQgZ2VuZXJhdGUgYSBzZXF1ZW5jZSBvZgoJICBsb2NhdGlvbnMgZm9yIGNhcHR1cmVzLgoKMjAxMC0xMS0zMCAyMDoxNTo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEZpeCBzZXQvZ2V0IHByb3BlcnR5IGZ1bmN0aW9uIG5hbWVzCgkgIEFkZCBtb3JlIGNvbnNpc3RlbmN5IHRvIHRoZSBmdW5jdGlvbiBuYW1lcyBieSB1c2luZwoJICBnc3RfY2FtZXJhX2JpbiBhcyB0aGUgb3RoZXIgZnVuY3Rpb25zLgoKMjAxMC0xMS0zMCAxODoxOToyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogSGFuZGxlIHZpZGJpbiBzdGF0ZSBjaGFuZ2UgaW5kaXZpZHVhbGx5CgkgIEtlZXAgdmlkYmluIHN0YXRlIGxvY2tlZCB0byBhdm9pZCBpdCBnb2luZyB0byBwbGF5aW5nIHdpdGhvdXQKCSAgYmVpbmcgdXNlZCBhbmQgbGVhdmluZyBhbiBlbXB0eSBmaWxlIGNyZWF0ZWQuCgkgIENoZWNrIHRoZSBkb2NzIG9uIHRoZSBjb2RlIGZvciBkZXRhaWxzIG9uIHRoZSBoYW5kbGluZy4KCjIwMTAtMTEtMzAgMTE6NDA6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEtlZXAgaXQgdW5kZXIgLS1lbmFibGUtZXhwZXJpbWVudGFsCgkgIGNhbWVyYWJpbjIgaXMgc3RpbGwgdW5kZXIgaGVhdnkgZGV2ZWxvcG1lbnQsIGFjdGl2YXRlIGl0IG9ubHkgaWYKCSAgdGhlIC0tZW5hYmxlLWV4cGVyaW1lbnRhbCBmbGFnIGlzIG9uLgoJICBBbHNvIGFkZCBhIG5vdGUgdG8gdGhlIGRvY3MuCgoyMDEwLTExLTMwIDExOjA2OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSAgdjRsMmNhbWVyYXNyYzogQWRkIHJlYWR5LWZvci1jYXB0dXJlIHByb3BlcnR5CgkgIEFkZHMgcHJvcGVydHkgdGhhdCBpbmZvcm1zIGlmIHY0bDJjYW1lcmFzcmMgaXMgYXZhaWxhYmxlCgkgIGZvciBzdGFydGluZyBhIG5ldyBjYXB0dXJlLgoJICBJdCBpcyB1c2VmdWwgZm9yIGFwcGxpY2F0aW9ucyB0byBrbm93ICh2aWEgZGVlcC1ub3RpZnkpIHdoZW4gdGhlCgkgIHByb3BlcnR5IGNoYW5nZXMgYW5kIGEgbmV3IGNhcHR1cmUgaXMgcG9zc2libGUuIE5vdGUsIGhvd2V2ZXIsIHRoYXQKCSAgc3RhcnRpbmcgYSBuZXcgY2FwdHVyZSBmcm9tIHRoZSBub3RpZnkgY2FsbGJhY2sgd2lsbCBjYXVzZSBhIGRlYWRsb2NrLgoKMjAxMC0xMS0zMCAwOToyODo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4tZW51bS5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmg6CgkgIGNhbWVyYWJpbjI6IFVwZGF0ZSB2NGwyY2FtZXJhc3JjIHRvIHVzZSBzdGFydC9zdG9wIHNpZ25hbHMKCSAgUmVtb3ZlcyB0aGUgb2xkIGxvZ2ljIGZvciB2NGwyY2FtZXJhc3JjIHRoYXQgdXNlZCB0aGUgbW9kZQoJICBwcm9wZXJ0eSBzd2l0Y2hpbmcgdG8gc3RhcnQvc3RvcCBjYXB0dXJlcyB0byBtYWtlIGl0IGlkZW50aWNhbAoJICB0byBjYW1lcmFiaW4yIGJlaGF2aW9yIGFuZCB0byBhbGxvdyB0aGUgZnV0dXJlIGFkZGl0aW9uIG9mCgkgIHBhdXNpbmcgYSB2aWRlbyByZWNvcmRpbmcuCgkgIFRoaXMgYWxzbyByZW1vdmVzIHRoZSBNT0RFX1BSRVZJRVcgYXMgaXQgYmVjYW1lIHVzZWxlc3MuCgoyMDEwLTExLTI5IDE4OjUzOjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBDbGVhbnVwIGNhcHR1cmluZyBmbGFnCgkgIENsZWFudXAgY2FwdHVyaW5nIGZsYWcgd2hlbiB0aGUgc291cmNlIHN3aXRjaGVzIGJhY2sgdG8gdGhlCgkgIHZpZXdmaW5kZXIgbW9kZQoKMjAxMC0xMS0yOSAxODoyNDozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmg6CgkgIHY0bDJjYW1lcmFzcmM6IFJlbW92ZSB1bm5lY2Vzc2FyeSBwYWRkaW5nCgoyMDEwLTExLTI5IDE1OjQ5OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5oOgoJICB2NGwyY2FtZXJhc3JjOiBJbXBsZW1lbnQgdmlkZW8gY2FwdHVyZQoJICBJbXBsZW1lbnRzIHZpZGVvIGNhcHR1cmUgb24gdjRsMmNhbWVyYXNyYyBieSB1c2luZyB0aGUgbW9kZSBwcm9wZXJ0eSwKCSAgd2hlbiBtb2RlIGlzIHNldCB0byB2aWRlbywgdGhlIHBhZCBwcm9iZSBwdXNoZXMgYSBuZXcgc2VnbWVudAoJICBhbmQgc3RhcnRzIHB1c2hpbmcgYnVmZmVycyBvbiB0aGUgcGFkLCB3aGVuIGl0IHRoZSBwcm9wZXJ0eSBpcwoJICBzZW50IGJhY2sgdG8gcHJldmlldywgdGhlIHBhZCBwcm9iZSBwdXNoZXMgYW4gRU9TIGFuZCBzdG9wcwoJICBwdXNoaW5nIGJ1ZmZlcnMuCgkgIFRoaXMgaXMgY29udHJvbGxlZCBieSBhIFJlY29yZGluZyBTdGF0ZSB2YXJpYWJsZSwgdGhhdCBpcyBwcm90ZWN0ZWQKCSAgYnkgdGhlIEdTVF9PQkpFQ1RfTE9DSy4gSSBkb24ndCB0aGluayBsb2NraW5nIGZvciBldmVyeSBidWZmZXIgaXMKCSAgbmljZSwgc28gd2UgY291bGQgZmluZCBhbiBhbHRlcm5hdGl2ZSBsb2NrbGVzcyB3YXkgaGVyZS4KCjIwMTAtMTEtMjkgMTI6NTc6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJICB2NGwyY2FtZXJhc3JjOiBGaXggaW1hZ2UgY2FwdHVyZQoJICBPbmNlIGEgaW1hZ2UgaXMgY2FwdHVyZWQsIHY0bDJjYW1lcmFzcmMgc2hvdWxkIHJldHVybiB0byB0aGUKCSAgcHJldmlldyBtb2RlIGFuZCBzdG9wIGNhcHR1cmluZy4KCjIwMTAtMTEtMjkgMTE6MzE6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluLWVudW0uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBLZWVwIG1vZGUgZGVmaW5pdGlvbiBhdCAtZW51bSBmaWxlCgkgIFVzZSAnbW9kZScgZW51bSBkZWZpbml0aW9uIGZyb20gZ3N0Y2FtZXJhYmluLWVudW0gZmlsZSB0byBhdm9pZAoJICBjb25mbGljdHMgYmV0d2VlbiB2NGwyY2FtZXJhc3JjIGFuZCBnc3RjYW1lcmFiaW4yIG1vZGVzLgoJICBGb3Igbm93IHRoZXJlIGlzIGEgTU9ERV9QUkVWSUVXIHRoZXJlIHRoYXQgaXMgb25seSB1c2VkIG9uIHRoZQoJICBjYW1lcmFzcmMsIG5vdCBzdXJlIGlmIHdlIGFyZSBrZWVwaW5nIGl0IGF0IHRoZSBmdXR1cmUsIGJ1dCBmb3IKCSAgbm93IHRoaXMgd29ya3MuCgoyMDEwLTExLTI5IDEwOjQ2OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSAgdjRsMmNhbWVyYXNyYzogQWRkcyBtb2RlIHByb3BlcnR5CgkgIEFkZHMgbW9kZSBwcm9wZXJ0eSB0byB2NGwyY2FtZXJhc3JjCgoyMDEwLTExLTI5IDEwOjQ1OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSAgY2FtZXJhYmluMjogQWRkaW5nIGRlYnVnIGNhdGVnb3JpZXMKCSAgQWRkaW5nIGRlYnVnIGNhdGVnb3JpZXMgdG8gdjRsMmNhbWVyYXNyYyBhbmQgY2FtZXJhYmluMiwgYWxzbwoJICByZW1vdmluZyBnZW5lcmljIGNhdGVnb3J5IGZyb20gY2FtZXJhYmluZ2VuZXJhbC4KCjIwMTAtMTEtMjYgMjM6NTU6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuaDoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi51aToKCSAgZXhhbXBsZXM6IEFkZHMgY2FtZXJhYmluMiBleGFtcGxlCgkgIEFkZHMgZ3RrIGNhbWVyYWJpbjIgZXhhbXBsZSBhcHAKCjIwMTAtMTEtMjYgMTc6MjQ6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IEFkZGluZyBiYXNpYyBwcm9wZXJ0eSBhbmQgc2lnbmFscwoJICBBZGRzIG1vZGUgcHJvcGVydHkgdG8gY2FtZXJhYmluMiwgYWxsb3dpbmcgdXNlcnMgdG8KCSAgc2VsZWN0IGJldHdlZW4gdmlkZW8gYW5kIHN0aWxscyBjYXB0dXJlLiBBbHNvIGFkZHMKCSAgc3RhcnQvc3RvcCBjYXB0dXJlIGFjdGlvbnMgdG8gdHJpZ2dlciBhbmQgc3RvcAoJICBjYXB0dXJpbmcKCjIwMTAtMTEtMjYgMTU6NTU6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZGVvcmVjb3JkaW5nYmluLmM6CgkgIGNhbWVyYWJpbjI6IFNldCBmaWxlc2luaydzIGFzeW5jIHRvIEZBTFNFCgkgIEluIG9yZGVyIHRvIHByZXJvbGwsIGNhbWVyYWJpbjIgc2hvdWxkIGhhdmUgaXRzIGZpbGVzaW5rcyBpbgoJICB0aGUgaW1hZ2VjYXB0dXJlYmluIGFuZCB2aWRlb3JlY29yZGluZ2JpbiB3aXRoIGFzeW5jPUZBTFNFLgoKMjAxMC0xMS0yNiAxNDo1MTozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZGluZyBiYXNpYyBlbGVtZW50cwoJICBJbnN0YW50aWF0aW5nIGFuZCBsaW5raW5nIGJhc2ljIGVsZW1lbnRzIG9uIGNhbWVyYWJpbjIKCSAgc28gaXQgYXQgbGVhc3Qgc2hvd3MgdGhlIHZpZXdmaW5kZXIgd2hlbiBydW5uaW5nLgoKMjAxMC0xMS0yNiAxMDoxNDo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHBsdWdpbi5jOgoJICBjYW1lcmFiaW4yOiBBZGRzIGEgc3R1YiBlbGVtZW50IGZvciBjYW1lcmFiaW4yCgkgIEFkZHMgY2FtZXJhYmluMiBlbGVtZW50LCBpdCBpcyBub3cgYSBwaWxlIG9mIHN0dWJzLgoKMjAxMC0xMS0yNSAyMjowNTozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkgIGNhbWVyYWJpbjI6IHY0bDJjYW1lcmFzcmM6IFJlbW92ZSBwbGF0Zm9ybSBzcGVjaWZpYyBjb2RlCgkgIFJlbW92ZSBwbGF0Zm9ybSBzcGVjaWZpYyBjb2RlCgoyMDEwLTExLTI1IDIxOjQ5OjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJICBjYW1lcmFiaW4yOiBSZW1vdmluZyB1bmVlZGVkIHByb3BlcnRpZXMKCSAgUmVtb3ZpbmcgdW5lZWRlZCBhbmQgdW5yZWdpc3RlcmVkIHByb3BlcnRpZXMuCgoyMDEwLTExLTI1IDIwOjU1OjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSAgY2FtZXJhYmluMjogdjRsMmNhbWVyYXNyYzogRml4IHByb3BlcnR5IHdhcm5pbmcKCSAgQXZvaWQgc2V0dGluZyBhIHByb3BlcnR5IHRoYXQgZG9lc24ndCBleGlzdC4KCjIwMTAtMTEtMjUgMjA6NTM6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmg6CgkgIGNhbWVyYWJpbjI6IHY0bDJjYW1lcmFzcmM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgUmVtb3ZlZCB1bnVzZWQgbGVmdG92ZXIgdmFyaWFibGUKCjIwMTAtMTEtMjUgMTQ6NTc6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHBsdWdpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5oOgoJICBjYW1lcmFiaW4yOiBBZGRzIHZpZGVvIHJlY29yZGluZyBiaW4KCSAgQWRkcyBhbiBiaW4gdGhhdCBpcyByZXNwb25zaWJsZSBmb3IgZW5jb2RpbmcgYW5kIHNhdmluZyB2aWRlbwoJICBzdHJlYW1zIHRvIGZpbGVzLgoJICBGb3Igbm93IGl0IGlzIHNpbXBseSBhIGZmbXBlZ2NvbG9yc3BhY2UgISB0aGVvcmFlbmMgISBvZ2dtdXggIQoJICBmaWxlc2luayBiaW4uCgkgIFN0aWxsIHVuY2FwYWJsZSBvZiByZWNvcmRpbmcgYXVkaW8uCgoyMDEwLTExLTI1IDEzOjAwOjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbi1lbnVtLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHBsdWdpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuaDoKCSAgY2FtZXJhYmluMjogQWRkaW5nIHY0bDJjYW1lcmFzcmMgZnJvbSByb2JjbGFyaydzIGJyYW5jaAoJICBBZGRzIDMtcGFkIHY0bDIgY2FtZXJhIHNvdXJjZSBmcm9tIFJvYiBDbGFyaydzIGNhbWVyYWJpbgoJICBicmFuY2ggb24gaHR0cDovL2dpdG9yaW91cy5vcmcvcm9iY2xhcmstZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWJhZAoKMjAxMC0xMS0yNCAyMDozMTozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RwbHVnaW4uYzoKCSAgY2FtZXJhYmluMjogQWRkcyBuZXcgaW1hZ2VjYXB0dXJlYmluCgkgIEFkZHMgYW4gYmluIHRoYXQgaXMgcmVzcG9uc2libGUgZm9yIGltYWdlIGNhcHR1cmVzLgoJICBJdCBpcyBhIHNpbXBsZSBmZm1wZWdjb2xvcnNwYWNlICEganBlZ2VuYyAhIGppZm11eCAhIG11bHRpZmlsZXNpbmsKCSAgZm9yIG5vdy4KCjIwMTAtMTEtMjQgMjA6MTU6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHBsdWdpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uaDoKCSAgY2FtZXJhYmluMjogTW92ZSBwbHVnaW4gaW5pdCB0byBhIHNlcGFyYXRlIGZpbGUKCSAgTW92ZXMgcGx1Z2luIGluaXQgdG8gZ3N0cGx1Z2luLmMgdG8gYWxsb3cgbXVsdGlwbGUKCSAgZWxlbWVudHMgdG8gcmVnaXN0ZXIgdGhlbXNlbHZlcy4KCjIwMTAtMTEtMjQgMTc6Mjg6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmg6CgkgIGNhbWVyYWJpbjI6IHZpZXdmaW5kZXJiaW46IEFkZHMgdmlld2ZpbmRlcmJpbiBlbGVtZW50CgkgIEFkZHMgdmlld2ZpbmRlciBiaW4gZWxlbWVudCwgb25lIG9mIHRoZSBtb2R1bGVzIG9mIGNhbWVyYWJpbjIKCSAgdGhhdCBpcyByZXNwb25zaWJsZSBmb3IgZGlzcGxheWluZyB0aGUgdmlkZW8gZnJvbSB0aGUgY2FtZXJhLgoJICBGb3Igbm93IGl0IGlzIG9ubHkgYSBiaW4gd2l0aCBmZm1wZWdjb2xvcnNwYWNlICEgdmlkZW9zY2FsZSAhCgkgIGF1dG92aWRlb3NpbmsKCjIwMTAtMTItMDggMTk6MzY6NDggKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBmaXggY29tcGlsZXIgd2FybmluZ3Mgb24gT1NYLgoKMjAxMC0xMS0yNCAxMjoyMjowMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvaWNsZXMvb3V0cHV0LXNlbGVjdG9yLXRlc3QuYzoKCSAgb3V0cHV0LXNlbGVjdG9yLXRlc3Q6IGRvbid0IGhhcmRjb2RlIHZpZGVvc2lua3MgYW5kIHVzZSBtb3JlIGNvbG9yc3BhY2UgY29udi4KCSAgVXNlIGF1dG92aWRlb3NpbmsgaW5zdGVhZCBvZiBoYXJkY29kZWQgc2lua3MuIFVzZSBhbiBhZGRpdGlvbmFsIGNvbG9yc3BhY2UKCSAgY29udmVydGVyIGJldHdlZW4gdmlkZW90ZXN0c3JjIGFuZCB0aW1lb3ZlcmxheS4KCjIwMTAtMTItMDggMTU6MTg6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlcXVpcmUgcmVsZWFzZWQgdmVyc2lvbnMgb2YgY29yZS9iYXNlIGluc3RlYWQgb2Ygb2xkIGdpdAoKMjAxMC0xMi0wNyAxNTo0NDowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IHJlLXVzZSBjbGVhbnVwKCkgaW4gZmluYWxpemUoKQoJICAuLi4gYW5kIGFsc28gZmF2b3IgZmluYWxpemUoKSByYXRoZXIgdGhhbiBkaXNwb3NlKCkuCgoyMDEwLTExLTE4IDEzOjM5OjIzICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogU2V0IHNyY3BhZCBjYXBzIGJlZm9yZSBmb3J3YXJkaW5nIG5ld3NlZ21lbnQKCSAgVGhpcyBob2xkcyBhbGwgbmV3c2VnZW1lbnQgYW5kIG1vc3Qgb3RoZXIgZXZlbnRzIHRpbGwgdGhlcmUgaXMgZW5vdWdoCgkgIGRhdGEgdG8gc2V0IHNyY3BhZCBjYXBzLCBzbyB0aGF0IHRoZSBkb3duc3RyZWFtIGxpbmsgaXMgcHJvcGVybHkKCSAgbmVnb3RpYXRlZCBiZWZvcmUgZGF0YSBzdGFydHMgZmxvd2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTIwNAoKMjAxMC0xMS0xOCAyMzoyOTo1MSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IFVzZSBzaW5rcGFkIGNhcHMgYXMgYmFzZSBmb3Igc3JjcGFkIGNhcHMKCSAgVGhpcyB3YXksIHdlIGRvbid0IGxvc2UgYWRkaXRpb25hbCBmaWVsZHMgdGhhdCBjb21lIGZyb20gdXBzdHJlYW0gKGxpa2UKCSAgcHJvZmlsZS9sZXZlbCBmb3Igbm93KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTIwMgoKMjAxMC0xMi0wNyAxNToyMDoyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IG1pbm9yIGZpeCB0byBlcnJvciBoYW5kbGluZwoJICBXZSB3ZXJlbid0IGhhbmRsaW5nIHVucGFyc2VhYmxlIGNvZGVjX2RhdGEgaW4gc29tZSBjYXNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTIwMgoKMjAxMC0xMi0wNyAxNzoxNzo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEltcGxlbWVudCBuZWFyZXN0IG5laWdoYm91ciBzY2FsaW5nIGZvciB0aGUgc3VicGljdHVyZXMKCSAgVGhpcyBiZWNvbWVzIG5lY2Vzc2FyeSB3aGVuIFNEVFYgc3VidGl0bGVzIGFyZSB1c2VkIGZvciBIRFRWIHZpZGVvcy4KCjIwMTAtMTItMDcgMTQ6NTU6MjggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBhbGlnbiBjb2RlIHdpdGggY29tbWVudAoKMjAxMC0xMi0wNyAxNDo1NToxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHJlLXVzZSByZXNldCgpIGluIGZpbmFsaXplKCkKCjIwMTAtMTEtMTcgMTk6MTY6MTIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBTZXQgc3JjcGFkIGNhcHMgYmVmb3JlIGZvcndhcmRpbmcgbmV3c2VnbWVudAoJICBUaGlzIGhvbGRzIGFsbCBuZXdzZWdlbWVudCBhbmQgbW9zdCBvdGhlciBldmVudHMgdGlsbCB0aGVyZSBpcyBlbm91Z2gKCSAgZGF0YSB0byBzZXQgc3JjcGFkIGNhcHMsIHNvIHRoYXQgdGhlIGRvd25zdHJlYW0gbGluayBpcyBwcm9wZXJseQoJICBuZWdvdGlhdGVkIGJlZm9yZSBkYXRhIHN0YXJ0cyBmbG93aW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM1MjA1CgoyMDEwLTEyLTA2IDE5OjAwOjI4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IHRyeSB0byBjb252ZXJ0IGNvbW1lbnQgdGFnIHRvIFVURi04CgoyMDEwLTEyLTA2IDE4OjE5OjIwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGRpc2NhcmQgaW5jb21wbGV0ZSBpbWFnZQoJICAuLi4gYXMgZGV0ZXJtaW5lZCB3aGVuIGZpbmRpbmcgU09JIG5leHQgaW1hZ2UgYmVmb3JlIGFuIEVPSS4KCjIwMTAtMTItMDYgMTg6MTg6MTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogYXZvaWQgaW5maW5pdGUgbG9vcCB3aGVuIHJlc3luY2luZwoKMjAxMC0xMi0wNiAyMjo0ODowOSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlOiBBbGxvdyBpbXBsaWNpdCBjaGFubmVsIG1hcCBmb3IgMS0vMi1jaGFubmVsIGF1ZGlvCgkgIFRoaXMgbWFrZXMgc3VyZSB3ZSBkb24ndCBzZXQgYW4gZW1wdHkgY2hhbm5lbCBtYXAgYXJyYXkgZm9yIDEtLzItY2hhbm5lbAoJICBhdWRpbywgY2F1c2luZyBhbiBhc3NlcnQgbGF0ZXIgb24uCgoyMDEwLTEyLTA2IDE3OjA4OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogUmV2ZXJ0IHNvbWUgcGFydHMgb2YgbGFzdCBjb21taXQgdGhhdCBzaG91bGRuJ3QgYmUgY29tbWl0dGVkCgoyMDEwLTEyLTA2IDE3OjA1OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogUmVhbGx5IGNob29zZSB0aGUgbGF0ZXN0IHBvc3NpYmxlIHN1YnBpY3R1cmVzCgkgIEFuZCBub3QgdGhlIGZpcnN0IHN1YnBpY3R1cmVzIHRoYXQgYXJlIHN0aWxsIHZhbGlkIGFjY29yZGluZyB0byB0aGUKCSAgcGFnZSB0aW1lb3V0LgoKMjAxMC0xMi0wNiAxNjo0NDoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IFJlZmFjdG9yIGJsZW5kaW5nIGZ1bmN0aW9uIGFuZCB0YWtlIGF2ZXJhZ2Ugb2YgYWxsIGNocm9tYSB2YWx1ZXMKCjIwMTAtMTItMDMgMTc6MzU6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBJbXByb3ZlIHNlbGVjdGlvbiBvZiBjdXJyZW50IHRvIGJlIGRpc3BsYXllZCBzdWJwaWN0dXJlcwoJICBEcm9wIGFsbCBzdWJwaWN0dXJlcyB0aGF0IGFyZSB0b28gb2xkIGFueXdheSBhbmQgY2xlYXIgdGhlIGN1cnJlbnRseQoJICBkaXNwbGF5ZWQgc3VicGljdHVyZXMgaWYgbnVtX3JlY3RzPT0wIGhhcHBlbnMuCgoyMDEwLTEyLTAzIDE2OjIxOjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogSW1wbGVtZW50IGNsaXBwaW5nIG9mIHZpZGVvIGJ1ZmZlcnMKCSAgQWxzbyBkb24ndCBjbGlwIHN1YnBpY3R1cmUgYnVmZmVycywgdGhleSBoYXZlIG5vIGR1cmF0aW9uIGFuZAoJICBjbGlwcGluZyB0aGVtIGRvZXNuJ3QgbWFrZSBtdWNoIHNlbnNlIGhlcmUuCgoyMDEwLTEyLTAzIDE2OjA4OjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5oOgoJICBkdmJzdWJvdmVybGF5OiBDbGVhbiB1cCBsb2NraW5nIHNvbWUgbW9yZQoKMjAxMC0xMi0wMyAxNjowNTo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEZsdXNoIHN1YnRpdGxlcyBhbmQgYWxsIGludGVybmFsIHN0YXRlIHdoZW4gbmVlZGVkCgoyMDEwLTEyLTAzIDE1OjUyOjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogU2V0IHRoZSBnbG9iYWwgbGlicmFyeSBsb2cgZnVuY3Rpb24gZXhhY3RseSBvbmNlCgkgIEFuZCBkb24ndCB1c2Ugb25lIG9mIHRoZSBwb3NzaWJseSBtYW55IHJlbmRlcmVyIGluc3RhbmNlcywgdGhpcyBpcyBvbmx5CgkgIGNhbGxpbmcgZm9yIGNyYXNoZXMuCgoyMDEwLTEyLTAzIDE1OjQ2OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5oOgoJICBkdmJzdWJvdmVybGF5OiBSZW1vdmUgbG90cyBvZiBjb21tZW50ZWQgb3V0IGFuZCB1bnVzZWQgY29kZSBhbmQgY2xlYW4gdXAgbG9ja2luZwoKMjAxMC0xMi0wMSAwOTo1OToxNCArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEZpeCBtb3JlIG9mIHRoZSBibGVuZGluZywgc28gaXQgbG9va3MgcXVpdGUgZ29vZCBub3cKCSAgKiBsaWJkdmJzdWIgZ2l2ZXMgdXMgYWxwaGEgY2hhbm5lbCBhbHJlYWR5LCBub3QgdHJhbnNwYXJlbmN5IGxldmVsLCBzbwoJICBkb24ndCBkbyBhbm90aGVyICJhbHBoYSA9IDI1NSAtIGFscGhhIiwgdGhpcyBpcyBkb25lIGJ5IGxpYmR2YnN1Yi4KCSAgKiBGaXggYWxwaGEgY2hhbm5lbCBoYW5kbGluZyBpbiBpbnRlcnBvbGF0aW9uIC0gYXNzcmVuZGVyIGhhZCBhbiBhZGRpdGlvbmFsCgkgIDFicHAgYWxwaGEgYml0bWFwIGFzIGEgcG9zc2libGUgbWFzaywgd2UgZG9uJ3QuIFNvIGRvbid0IHVzZSB0aGUgcGFsZXR0ZQoJICBpbmRleCBhcnJheSBhcyBhbHBoYSB2YWx1ZXM7IGJ1ZyBmcm9tIHF1aWNrIGNvZGUgcG9ydGluZyBsb25nIGFnbyB0bwoJICBjaGFuZ2luZyBwaXhlbCBjb2xvcnMgKGFzc3JlbmRlciBoYXMgYSBzaW5nbGUgcGl4ZWwgY29sb3IgZm9yIHdob2xlCgkgIHJlZ2lvbnMgb3Igc29tZXRoaW5nLCB1bmxpa2UgZHZic3ViLCB3aGljaCBoYXMgaW5kZXhlZCBjb2xvcnMpLgoJICAqIERvbid0IGZvcmdldCB0byByZWFzc2lnbiBvdXIgWVVWIGFuZCBvdGhlciBsb2NhbCBwaXhlbCBjb2xvciB2YXJpYWJsZXMKCSAgYWZ0ZXIgc2hpZnRpbmcgdG8gd29yayBvbiB0aGUgYm90dG9tIHBhcnQgb2YgYSAyeDIgc3Vic2FtcGxlIGJsb2NrLCBvcgoJICBpdCdzIG9idmlvdXNseSB2ZXJ5IGJsb2NreS4KCSAgUmVtYWluaW5nIGlzc3VlcyBpbiBibGVuZGluZzoKCSAgKiBTaG91bGQgcHJvYmFibHkgYmUgaW50ZXJwb2xhdGluZyBvciBkb2luZyBzb21ldGhpbmcgZWxzZSB1c2VmdWwgd2l0aCB0aGUKCSAgcmVzdWx0aW5nIFUgYW5kIFYgY2hhbm5lbHMsIHNvIHRoYXQgbW9zdCBvZiB0aGUgc291cmNlIHBpeGVsIFVWIHZhbHVlcyB3b3VsZAoJICBhY3R1YWxseSBiZSBhY3R1YWxseSBjYXJlZCBhYm91dCwgZXhjZXB0IGZvciBqdXN0IG9uZSBvdXQgb2YgcG9zc2libHkgZm91ci4KCSAgKiBEb24ndCBjb252ZXJ0IEFZVVYgdG8gQVJHQiBpbiBsaWJkdmJzdWIsIGFuZCB0aGVuIGJhY2sgZnJvbSBBUkdCIHRvIEFZVVYgaW4KCSAgZHZic3Vib3ZlcmxheSBmb3Igbm8gcmVhc29uCgkgICogUmUtZmFjdG9yIHRoZSB3aG9sZSB0aGluZyB0byBzb21ldGhpbmcgbW9yZSBsaWtlIHRleHRvdmVybGF5IGJsZW5kaW5nCgkgICogUmVsYXRlZCB0byB0aGF0LCBwZXJoYXBzIGNhY2hlIHRoZSBjdXJyZW50IHNwdSBpbiBhIGdvb2QgZm9ybWF0IGZvciBxdWljawoJICBibGVuZGluZyBvbiBlYWNoIGZyYW1lLCBhZnRlciB3aGljaCB0aGUgbW9yZSBvZnRlbiBjYWxsZWQgYmxlbmRpbmcgcGFydHMKCSAgbWlnaHQgYmVjb21lIG1vcmUgc3RyYWlnaHRmb3J3YXJkCgoyMDEwLTEyLTAxIDA3OjI2OjAzICswMjAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogRml4IGJsZW5kaW5nIGJ1ZyByZWdhcmRpbmcgY29sb3IgY2hhbm5lbCBhZGRyZXNzaW5nLgoJICBsaWJkdmJzdWIgZ2l2ZXMgdXMgQVJHQiBvcmRlcmVkIHBpeGVscyByaWdodCBub3csIG5vdCBSR0JBLgoKMjAxMC0xMi0wMSAwNzoyMDowNyArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IERvIGJsZW5kaW5nIGNhbGxzIHdoZW4gYXBwcm9wcmlhdGUKCSAgVGhpcyBnaXZlcyB1cyBhY3R1YWxseSBzaG93biBzdWJ0aXRsZXMsIGhvd2V2ZXIgd2l0aCBidWdzIGluIHRoZQoJICBjdXJyZW50IGJsaXR0aW5nIGNvZGUsIHJlc3VsdGluZyBpbiB2ZXJ5IHRyYW5zcGFyZW50IHN1YnRpdGxlcy4KCjIwMTAtMTItMDEgMDc6MDY6MzUgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBJbXBsZW1lbnQgZmFsbGJhY2sgcGFnZV90aW1lX291dCBob25vcmluZwoJICBUaGUgc3BlYyBoYXMgYSBwYWdlX3RpbWVfb3V0IGluIHRoZSBwYWdlIGNvbXBvc2l0aW9uIHNlZ21lbnQgdG8gZW5zdXJlCgkgIHN1YnRpdGxlcyBkb24ndCBnZXQgc3R1Y2sgb24gc2NyZWVuIGZvciB0b28gbXVjaCBsb25nZXIgdGhhbiBpbnRlbmRlZCwKCSAgd2hlbiBmdXR1cmUgcGFnZSBjb21wb3NpdGlvbiBzZWdtZW50cyBnZXQgbG9zdCBvbiBiYWQgcmVjZXB0aW9uLCBvciBvdGhlcgoJICBwcm9ibGVtcy4gSG9ub3IgaXQgaW4gdGhlIGdzdCBwbHVnaW4gc2lkZS4KCjIwMTAtMTItMDEgMDY6MDE6MTUgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5Lmg6CgkgIGR2YnN1Ym92ZXJsYXk6IEltcGxlbWVudCBzdWJ0aXRsZSBxdWV1ZWluZyBhbmQgc3luY2luZyB3aXRoIHZpZGVvCgkgIFB1c2ggaW5jb21pbmcgc3VidGl0bGUgcGFnZXMgaW4gYSBGSUZPIHF1ZXVlIChwZW5kaW5nX3N1YnRpdGxlcykKCSAgYW5kIGRlcXVldWUgdGhlIGhlYWQgd2hlbiBpdCdzIHRpbWUgdG8gc2hvdyBpdCAod2hlbiB2aWRlbyBydW5uaW5nCgkgIHRpbWUgcmVhY2hlcyB0aGUgc3VidGl0bGUgcGFnZSBydW5uaW5nIHRpbWUpLgoJICBLZWVwIHRoZSBzdWJ0aXRsZSBwYWdlLCB0aGF0IGlzIHN1cHBvc2VkIHRvIGJlIGJsZW5kZWQgb24gdG9wIG9mIHZpZGVvCgkgIGN1cnJlbnRseSwgaW4gYSBzZXBhcmF0ZSBvYmplY3QgdmFyaWFibGUgKGN1cnJlbnRfc3VidGl0bGUpLiBBcyBhCgkgIG5leHQgc3RlcCB3ZSBjYW4gdGhlbiBwcmUtcmVuZGVyIGN1cnJlbnRfc3VidGl0bGUgdG8gYSBiZXR0ZXIgdG8gYmxlbmQKCSAgZm9ybWF0LgoKMjAxMC0xMi0wMSAwNTo0OToyMiArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkgIGR2YnN1Ym92ZXJsYXk6IE1ha2UgdGhlIG5ldyBkdmJfc3VidGl0bGVzX2ZyZWUoKSBhY2NlcHQgTlVMTAoJICBEb24ndCBjcmFzaCBpZiBkdmJfc3VidGl0bGVzX2ZyZWUoTlVMTCkgZ2V0cyBwYXNzZWQsIGxpa2UgbW9zdCBvdGhlcgoJICAqX2ZyZWUgZnVuY3Rpb25zIGFyZSBoYXBweSB3aXRoLgoKMjAxMC0xMi0wMSAwNToyNjowMiArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuaDoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBQYXNzIHBhZ2VfdGltZV9vdXQgYW5kIHB0cyB3aXRoIHRoZSBEVkJTdWJ0aXRsZXMgc3RydWN0dXJlCgkgIEVhc2VzIGhvbGRpbmcgb250byB0aGUgaW5mb3JtYXRpb24gaW4gZ3N0IHBsdWdpbnMgc2lkZSBxdWV1ZSBvZgoJICBEVkJTdWJ0aXRsZXMsIHNvIHdlIHdvbid0IG5lZWQgdG8gY3JlYXRlIHlldCBhbm90aGVyIHRlbXBvcmFyeSBzdHJ1Y3QKCSAgdG8ga2VlcCB0aGUgcHRzIGFuZCBwYWdlX3RpbWVfb3V0IHRvby4KCSAgQW5kIHRoaXMgcmVhbGx5IGxvZ2ljYWxseSBiZWxvbmdzIGF0IHRoZSB0b3BsZXZlbCBpbmZvcm1hdGlvbiBzZXQgYW55d2F5CgkgIGFuZCBpbiB0aGF0IHN0cnVjdC4uLgoKMjAxMC0xMi0wMSAwNDoyODowMiArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuaDoKCSAgZHZic3Vib3ZlcmxheTogTWFrZSB0aGUgbGliZHZic3ViIGNhbGxiYWNrIGhhbmRsZXIgcmVzcG9uc2libGUgZm9yIG1lbW9yeSBjbGVhbnVwCgkgIFdlIHdhbnQgdG8gYWxsb3cgcXVldWVpbmcgb2YgcmF3IHJlZ2lvbiBpbWFnZSBkYXRhIGluIHRoZSBnc3QgcGx1Z2luIHNpZGUsCgkgIGFuZCBrZWVwIHRoZSBkYXRhIGFyb3VuZCB1bnRpbCB3ZSBwb3AgdGhlIGl0ZW0gZnJvbSB0aGUgcXVldWUuIFNvIG1ha2UKCSAgdGhlIGNhbGxiYWNrIGhhbmRsZXIgcmVzcG9uc2libGUgZm9yIG1lbW9yeSBjbGVhbnVwLCBpZiBvbmUgaXMgaW5zdGFsbGVkLgoKMjAxMC0xMS0zMCAwNDo0NTo1NCArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IFdvcmsgd2l0aCBHc3RDbG9ja1RpbWUgaW5zdGVhZCBvZiBQVFMgZm9yIHN1YnRpdGxlIHRpbWluZwoJICBBYnVzZSBsaWJkdmJzdWIgUFRTIHRyYWNraW5nIHRvIGp1c3Qgc3RvcmUgb3VyIHJ1bm5pbmcgdGltZSBpbiBpdCwgdG8gZ2V0CgkgIGl0IGJhY2sgaW4gdGhlIGNhbGxiYWNrcy4gQXMgR1N0cmVhbWVyIGRvZXMgaXRzIG93biBQVFMgaGFuZGxpbmcgYmVoaW5kIG91cgoJICBiYWNrIChlc3BlY2lhbGx5IGZvciB2aWRlbyksIHdlIHNob3VsZCBqdXN0IHN5bmMgd2l0aCB2aWRlbyBwZXIgcnVubmluZyB0aW1lLAoJICBub3QgdHJ5IHRvIGRvIGl0IHdpdGggUFRTLCB3aGljaCBkb2Vzbid0IHNlZW0gd2VsbCBhY2Nlc3NpYmxlIGZvciB2aWRlbyBjaGFpbi4KCSAgV2UgY2FuIGxhdGVyIHJlbGFiZWwgZHZiLXN1Yi5jIHB0cyBuYW1pbmcgY29udmVudGlvbiBpZiB3YW50ZWQsIGl0J3MganVzdAoJICBwYXNzaW5nIGFsb25nIGd1aW50NjQgdmFsdWVzLCB3aGljaCBHc3RDbG9ja1RpbWUgZm9ydHVuYXRlbHkgaXMgdG9vLgoJICBUaGUgY3VycmVudCBpZGVhIGlzIHRvIGNvbGxlY3QgdGhlIHJlZ2lvbnMgcmV0dXJuZWQgYnkgdGhlIGNhbGxiYWNrIGludG8KCSAgYSBGSUZPIGJ1ZmZlciBhbmQgcG9wIGFuZCBwcmUtcmVuZGVyIHRoZSB0b3Agb25lIGludG8gYSBzZXBhcmF0ZQoJICBxdWljay10by1ibGVuZCBjYWNoZWQgZm9ybWF0LCB3aGljaCBpcyB0aGVuIGFwcHJvcHJpYXRlbHkgYmxlbmRlZCBpbiB0aGUKCSAgdmlkZW8gY2hhaW4gdW50aWwgdGhlIG5leHQgb25lIG9uIHRvcCBvZiB0aGUgc3RhY2sgcmVhY2hlcyB0aGUgdmlkZW8gY2hhaW5zCgkgIHJ1bm5pbmcgdGltZSAob3IgdGhlIGZhbGxiYWNrIHRpbWVyIGhpdHMpLgoKMjAxMC0xMS0zMCAwMzo1NjozMiArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEFkZCBGSVhNRSBub3RlIGFib3V0IG5vbi1jb25zdGFudCBQVFMgZm9yIGEgZGlzcGxheSBzZXQgaGFuZGxpbmcuCgoyMDEwLTExLTMwIDAzOjQ3OjQ2ICswMjAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5oOgoJICBkdmJzdWJvdmVybGF5OiBSZW1vdmUgZHZiX3N1Yl9mZWVkKCkgQVBJCgkgIEdTdHJlYW1lciB3aWxsIG9ubHkgdXNlIGR2Yl9zdWJfZmVlZF93aXRoX3B0cywgYXMgaXQgaGFzIGl0cyBvd24gUEVTIGZpbHRlcgoJICB0byBkbyB0aGUgaGVhZGVyIHBhcnNpbmcuCgoyMDEwLTExLTI5IDIwOjU1OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L1RPRE86CgkgIGR2YnN1Ym92ZXJsYXk6IG1vcmUgVE9ETwoKMjAxMC0xMS0yOSAyMDoxMDoxNyArMDAwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIGdzdG1wZWd0c2RlbXV4OiBhZGQgdGVtcG9yYXJ5ICoqSEFDSyoqIGZvciBkdmIgc3VicyB0ZXN0aW5nIHNvIGR2YnN1Ym92ZXJsYXkgZ2V0cyB3aG9sZSBwYWNrZXRzCgkgIDx0cG0+IGxlaW8sIHdoYXQncyB0aGUgbXBlZ3RzIGRlbXV4IGhhY2sgYWJvdXQ/CgkgIDxsZWlvPiBteSBsaWJkdmJzdWIgY29kZSBjYW4ndCBoYW5kbGUgY3V0IHBhY2tldHMKCSAgPGxlaW8+IHNvIHRoZSBoYWNrIGluc3RydWN0cyB0aGUgZGVtdXhlciB0byBnYXRoZXIgZnVsbCBwYWNrZXRzIGJlZm9yZSBwdXNoaW5nIGRvd24sIGJ1dCBpdCBhcHBsaWVzIHRoYXQgdG8gbW9yZSBQRVMgcGFja2V0IHR5cGVzIHRoYW4ganVzdCBkdmJzdWIsIGJ1dCBJJ20gbm90IHN1cmUgaWYgdGhhdCdzIGEgYmFkIHRoaW5nCgkgIDxsZWlvPiBlaXRoZXIgd2F5LCBuZWVkcyBhIGNsZWFuZXIgc29sdXRpb24sIGVpdGhlciBpbiBkZW11eGVyLCBvciBJIG5lZWQgdG8gaGFuZGxlIGN1dCBwYWNrZXRzCgkgIDx0cG0+IG9rLCBidXQgcmVhbGx5IGl0IHNob3VsZCBiZSBmaXhlZCBpbiB0aGUgb3ZlcmxheSwgcmlnaHQ/CgkgIDx0cG0+IG9yIGEgcGFyc2VyIGJlIGluc2VydGVkCgkgIDxsZWlvPiB0aGUgcHJvYmxlbSBpcyB0aGF0IEkgZG9uJ3Qga25vdyBmcm9tIHRoZSBmaXJzdCBwYWNrZXQgYmVmb3JlaGFuZCBpZiBpdCBpcyBhIGN1dCBvbmUgb3Igbm8KCSAgPGxlaW8+IG5vdAoJICA8bGVpbz4gZXJyLCBmaXJzdCBidWZmZXIKCSAgPGxlaW8+IGp1c3Qgd2hlbiBJIHJlY2VpdmUgdGhlIG5leHQgb25lIEkgc2VlIGlmIGl0IGhhcyBhIHZhbGlkIHRpbWVzdGFtcCBvbiBpdCBvciBub3QKCSAgPGxlaW8+IHNvIEkgY2FuJ3QgdmVyeSB3ZWxsIHF1ZXVlIGl0IHVwIGluIHRoZSBjaGFpbiBlaXRoZXIsIEkgbWlnaHQgYmUgYmxvY2tpbmcgdGhlIHZlcnkgbGFzdCBzdWJ0aXRsZSBmb3Igbm8gcmVhc29uIG9yIHNvbWV0aGluZwoJICA8dHBtPiBidXQgeW91IGNvdWxkIGp1c3QgZHJvcC9pZ25vcmUgcGFja2V0cyB1bnRpbCB5b3UgZmluZCBvbmUsIHJpZ2h0PwoJICA8bGVpbz4gZmluZCB3aGF0PwoJICA8dHBtPiBhIGNvbXBsZXRlIHBhY2tldD8KCSAgPGxlaW8+IHRoZSBwcm9ibGVtIGlzbid0IHRoYXQgdGhleSBhcmVuJ3QgY29tcGxldGUKCSAgPGxlaW8+IHRoZSBwcm9ibGVtIGlzIHRoYXQgdGhleSBhcmUgY3V0IGFjcm9zcyBtdWx0aXBsZSBHc3RCdWZmZXJzIGJ5IHRoZSBkZW11eGVyIHdpdGhvdXQgdGhlIGhhY2sKCSAgPHRwbT4gc3VyZSwgSSB1bmRlcnN0YW5kIHRoYXQKCSAgPHRwbT4gYnV0IHlvdSBjYW4ndCBlYXNpbHkgZGV0ZXJtaW5lIGlmIGEgR3N0QnVmZmVyIGNvbnRhaW5zIGhlIHN0YXJ0IGZyYWdtZW50IG9mIGEgcGFja2V0IG9yIG5vdD8KCSAgPGxlaW8+IEkgZ3Vlc3MgSSBjb3VsZCBwYXJzZSB0aGUgcGFja2V0IGFuZCBzZWUgaWYgaXRzIGxlbmd0aCBpcyBlbm91Z2gsIGp1c3QgbGlrZSB0aGUgbGliZHZic3ViIGNvZGUgZXZlbnR1YWxseSBkb2VzIHRvbwoJICA8bGVpbz4gSSBjYW4sIGl0IGhhcyBhIHRpbWVzdGFtcCBpZiBpdCdzIHRoZSBmaXJzdCBjaHVuawoJICA8bGVpbz4gSSBqdXN0IG5ldmVyIGtub3cgaWYgSSBuZWVkIHRvIHdhaXQgZm9yIG1vcmUsIHdpdGhvdXQgc29tZSBwYXJzaW5nCgkgIDx0cG0+IGFoIG9rCgkgIDxsZWlvPiB3aGlsZSB0aGUgZGVtdXhlciBjb3VsZCBqdXN0IGdpdmUgbWUgYW4gdW5jdXQgb25lIGluIHRoZSBmaXJzdCBwbGFjZQoJICA8bGVpbz4gbGlrZSBpdCBhbHdheXMgZG9lcyBmb3IgcHJvZ3JhbSBzdHJlYW1zCgkgIDxsZWlvPiB0aGF0IGdhdGhlcl9wZXMgaXMgYWx3YXlzIHNldCBpbiBnc3RtcGVnZGVtdXgsIGJ1dCBub3QgaW4gZ3N0bXBlZ3RzZGVtdXgKCjIwMTAtMTEtMjkgMjA6MDY6MDcgKzAwMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9NYWtlZmlsZS5hbToKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvVE9ETzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmg6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2ZmbXBlZy1jb2xvcnNwYWNlLmg6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5oOgoJICBkdmJzdWJvdmVybGF5OiBpbml0aWFsIHZlcnNpb24sIHdvcmsgaW4gcHJvZ3Jlc3MKCjIwMTAtMTItMDYgMTg6MDE6MzggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBhbmRyb2lkL2FhY3BhcnNlLm1rOgoJKiBhbmRyb2lkL2FtcnBhcnNlLm1rOgoJKiBhbmRyb2lkL2gyNjRwYXJzZS5tazoKCSogYW5kcm9pZC9tZXRhZGF0YS5tazoKCSogYW5kcm9pZC9xdG11eC5tazoKCSogYW5kcm9pZC9zZHBlbGVtLm1rOgoJICBhbmRyb2lkOiB1cGRhdGUgZm9yIDAuMTEKCjIwMTAtMTItMDYgMTc6NTQ6MDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIGNvbmZpZzogdXBkYXRlIGNvbmZpZwoKMjAxMC0xMi0wNiAxMjoyNTo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBvcGVuIDAuMTEgYnJhbmNoCgoyMDEwLTEyLTAzIDE4OjExOjU2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogdXBkYXRlIHNvbWUgZG9jdW1lbnRhdGlvbgoKMjAxMC0xMi0wMyAxODoxMTozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IGFkZCB0byBkb2N1bWVudGF0aW9uCgoyMDEwLTEyLTAzIDE4OjExOjA5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJICBkY2FwYXJzZTogYWRkIHRvIGRvY3VtZW50YXRpb24KCjIwMTAtMTItMDMgMTg6MDk6NDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFkZCBkb2N1bWVudGF0aW9uCgoyMDEwLTExLTA4IDE5OjU4OjMxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogaW5jcmVhc2Uga2V5ZnJhbWUgYXdhcmVuZXNzCgkgIC4uLiB3aGljaCBpcyBub3QgcGFydGljdWxhciByZWxldmFudCBmb3IgYXVkaW8gcGFyc2luZywgYnV0IG1vcmUgc28KCSAgaW4gdmlkZW8gY2FzZXMuICBJbiBwYXJ0aWN1bGFyLCBhdXRvLWRldGVybWluZSBpZiBkZWFsaW5nIHdpdGggdmlkZW8gKGNhcHMpLgoKMjAxMC0xMi0wMyAxNzo0NjoyNyArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQHN0ZXJpY3Nzb24uY29tPgoKCSogQW5kcm9pZC5tazoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvQW5kcm9pZC5tazoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvR3N0QW5kcm9pZC5jcHA6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL2F1ZGlvZmxpbmdlcl93cmFwcGVyLmNwcDoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvYXVkaW9mbGluZ2VyX3dyYXBwZXIuaDoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvZ3N0YXVkaW9mbGluZ2VycmluZ2J1ZmZlci5oOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9nc3RhdWRpb2ZsaW5nZXJzaW5rLmM6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL2dzdGF1ZGlvZmxpbmdlcnNpbmsuaDoKCSAgc3lzOiBBZGQgYW5kcm9pZCBhdWRpb2ZsaW5nZXJzaW5rCgoyMDEwLTEyLTAzIDE3OjQyOjQ2ICswMTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAc3Rlcmljc3Nvbi5jb20+CgoJKiBBbmRyb2lkLm1rOgoJKiBhbmRyb2lkL05PVElDRToKCSogYW5kcm9pZC9hYWNwYXJzZS5tazoKCSogYW5kcm9pZC9hbXJwYXJzZS5tazoKCSogYW5kcm9pZC9oMjY0cGFyc2UubWs6CgkqIGFuZHJvaWQvbWV0YWRhdGEubWs6CgkqIGFuZHJvaWQvcXRtdXgubWs6CgkqIGFuZHJvaWQvc2RwZWxlbS5tazoKCSAgQWRkIGJ1aWxkIHN5c3RlbSBmb3IgQW5kcm9pZAoKMjAxMC0xMi0wMiAxNTo0NTowMiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBzbWFsIGFwaSBkb2MgdXBkYXRlCgoyMDEwLTEyLTAyIDA1OjM5OjE0IC0wMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEF2b2lkIGFzc2VydGlvbiBvbiBpbWFnZSBmaW5pc2hpbmcKCSAgQXMgaW1nYmluX2ZpbmlzaGVkKCkgaXMgc2NoZWR1bGVkIGZyb20gZ19pZGxlX2FkZCwgaXQgbWlnaHQKCSAgYmUgcnVuIGEgbGl0dGxlIGxhdGVyIHRoYW4gZXhwZWN0ZWQsIHRoaXMgY2FuIGxlYWQgdG8gdGhlIGFwcGxpY2F0aW9uCgkgIHNldHRpbmcgY2FtZXJhYmluIHRvIHJlYWR5IGJlZm9yZSBpbWdiaW5fZmluaXNoZWQoKSBydW5zLiBJbiB0aGlzIGNhc2UsCgkgIHRoZSBwcm9jZXNzaW5nIGNvdW50ZXIgZ29lcyB0byAwIGFuZCBhbiBhc3NlcnRpb24gaGFwcGVucy4KCSAgVGhpcyBwYXRjaCByZWxheGVzIHRoZSBpbWdiaW5fZmluaXNoZWQoKSBjaGVjayBvbiB0aGUgcHJvY2Vzc2luZwoJICBjb3VudGVyLgoKMjAxMC0xMi0wMSAyMzoxNDo1NiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBIYW5kbGUgbmFtZXMgd2l0aCBtdWx0aXBsZSB1bmRlcnNjb3JlcwoKMjAxMC0xMi0wMSAyMzowNDo1NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlsc2JhZC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaG9wbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNob3BteWRhdGEuaDoKCSAgY2hvcG15ZGF0YTogQWRkIG5ldyBlbGVtZW50CgkgIFRoaXMgZWxlbWVudCBzcGxpdHMgdXAgYSBzdHJlYW0gaW50byByYW5kb21seS1zaXplZCBidWZmZXJzLgoJICBVc2VmdWwgKG1heWJlKSBmb3IgdGVzdGluZyBwYXJzZXJzLgoKMjAxMC0xMi0wMiAwMzowOTo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IFJlbW92ZSBsZWZ0b3ZlciBjb21tZW50CgkgIFJlbW92ZSBjb21tZW50IHRoYXQgZG9lc24ndCBtYWtlIHNlbnNlIGFueW1vcmUKCjIwMTAtMTItMDEgMjM6MjE6MzMgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuYzoKCSAgYXBwbGVtZWRpYTogZG9uJ3QgdXNlIHRoZSBkZXByZWNhdGVkIGdfc3RyY2FzZWNtcCBmdW5jdGlvbi4KCSAgUmVwbGFjZSBnX3N0cmNhc2VjbXAgd2l0aCBnX2FzY2lpX3N0cmNhc2VjbXAuCgoyMDEwLTEyLTAxIDIzOjIwOjM2ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb2FwaS5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3Mgd2l0aCBnY2MgNC4yLjEgb24gT1NYLgoKMjAxMC0xMi0wMSAxNToyODo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuaDoKCSAgYWMzcGFyc2U6IHVzZSBwcm9wZXIgRUFDLTMgY2FwcwoKMjAxMC0xMi0wMSAxMDo0NTo0OSArMDEwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGhhbmRsZSBtc3ZjIGZ0cnVuY2F0ZSBpbmNvbXBhdGliaWxpdHkKCSAgRml4ZXMgIzYzNjE4NS4KCjIwMTAtMTAtMDkgMTc6Mzk6MzYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NjaHJvZW5jLmM6CgkgIEFkZCBhIHNjaHJvZW5jIHRlc3QKCjIwMTAtMTEtMjcgMjA6MTM6MzggLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmNjOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBGaXggcGFkIHRlbXBsYXRlIG1lbWxlYWtzCgkgIFBhZCB0ZW1wbGF0ZXMgcmV0dXJuZWQgYnkgZ3N0X3N0YXRpY19wYWRfdGVtcGxhdGVfZ2V0KCkgd2VyZSBub3QKCSAgYmVpbmcgdW5yZWZmZWQuCgoyMDEwLTExLTMwIDE4OjQzOjI0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogUmVhZGQgc2V0dGluZyBvZiBncmFudWxlcG9zCgkgIFJldmVydCBwYXJ0cyBvZiBsYXN0IHBhdGNoIHRoYXQgcmVtb3ZlZCBzZXR0aW5nIG9mIGdyYW51bGVwb3MuCgkgIG9nZ211eCBzdGlsbCByZXF1aXJlcyBjb3JyZWN0IGdyYW51bGVwb3MgaW4gaW5jb21pbmcgcGFja2V0LgoKMjAxMC0xMS0yOSAyMDoyMTozMSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IERvbid0IG92ZXJyaWRlIHRpbWVzdGFtcHMgc2V0IGJ5IGJhc2UgY2xhc3MKCSAgQmVjYXVzZSB0aGUgYmFzZSBjbGFzcyBkb2VzIGl0IGNvcnJlY3RseS4KCSAgRml4ZXM6ICM2MzU3MjAsICM2MjU1NTguCgoyMDEwLTExLTMwIDE1OjQxOjAyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYXZvaWQgdW5leHBlY3RlZCBzdHJheSBtZXRhZGF0YQoKMjAxMC0xMS0zMCAxNTo0MDoyOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHVzZSBwcm9wZXIgX05PTkUgb3V0cHV0IHZhbHVlIHdoZW4gYXBwbGljYWJsZQoKMjAxMC0xMS0xNSAyMDowMzowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL01ha2VmaWxlLmFtOgoJKiBnc3QvanAya2RlY2ltYXRvci9nc3RqcDJrZGVjaW1hdG9yLmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuaDoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvanAya2NvZGVzdHJlYW0uYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvanAya2NvZGVzdHJlYW0uaDoKCSAganAya2RlY2ltYXRvcjogQWRkIGEgSlBFRzIwMDAgZGVjaW1hdG9yIGVsZW1lbnQKCSAgVGhpcyBlbGVtZW50IGRyb3BzIGluZm9ybWF0aW9uIGZyb20gSlBFRzIwMDAgaW1hZ2VzIHdpdGhvdXQgcmVlbmNvZGluZy4KCjIwMTAtMTEtMjMgMjE6NDU6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6CgkgIGpwMmtlbmM6IEVtaXQgU09QIG1hcmtlcnMgaW4gZXZlcnkgY29kZXN0cmVhbSBwYWNrZXQKCSAgVGhpcyBtYWtlcyBwYXJzaW5nIG11Y2ggZWFzaWVyLCBmYXN0ZXIgYW5kIG1vcmUgcmVsaWFibGUuCgoyMDEwLTExLTI3IDE2OjA3OjE5IC0wNjAwICBBbGVqYW5kcm8gR29uemFsZXogPGFnb256YWxlekBkZXh0cmF0ZWNoLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZ3N0X3F0bXV4X2NoZWNrX2RpZmZlcmVuY2UgdmVyaWZ5IGJlZm9yZSBzdWJ0cmFjdAoJICBBdm9pZCBuZWdhdGl2ZSBvdmVyZmxvdyBieSBjaGVja2luZyB0aGUgb3JkZXIgb2Ygb3BlcmFuZHMKCSAgb24gc3VidHJhY3Rpb24gb2YgdW5zaWduZWQgaW50ZWdlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzU4NzgKCjIwMTAtMTEtMjcgMTg6NTg6MDcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBGaXggc29tZSBtZW1sZWFrcwoKMjAxMC0xMS0xNSAxMTozNzozOSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBtaW5vciBtZW1sZWFrIGZpeAoKMjAxMC0xMS0yNSAxOTozMTozNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTk6MzE6MDMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJICB2aWRlb21lYXN1cmU6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE5OjI1OjI3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3R0YS9nc3R0dGFkZWMuYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJICB0dGE6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzIGFuZCB1c2VsZXNzIHZhcmlhYmxlCgoyMDEwLTExLTI1IDE5OjI0OjU2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSAgc3RlcmVvOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxOToyMToyMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwOiBSZW1vdmUgdXNlbGVzcyB2YXJpYWJsZXMKCjIwMTAtMTEtMjUgMTk6MjE6MTEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE5OjIxOjAxICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOgoJICByZWFsOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxOToyMDo1MSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJICBpdmZwYXJzZTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTk6MDY6NDkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICBmcmVlemU6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE5OjA2OjM4ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxOTowNjoyNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBkdG1mOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxOTowMTo0MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSAgZGNjcDogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTg6NTY6NDIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxODo1Mjo0NyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwODogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTg6NDk6MjMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJICBzZGxhdWRpb3Npbms6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE4OjQ3OjE1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9wYXJzZS5jOgoJICBzY2hyb2VkaW5nZXI6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE4OjQzOjMwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQKCjIwMTAtMTEtMjUgMTg6NDM6MTggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvY29nL2dzdGNvZ2Rvd25zYW1wbGUuYzoKCSAgY29nZG93bnNhbXBsZTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudAoKMjAxMC0xMS0yNSAxODo0MjozMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGVlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnZpZGVvZmlsdGVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dHdyaXRlLmM6CgkgIG9wZW5jdjogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCSAgLi4uIGFuZCBmaXggaW5kZW50YXRpb24KCjIwMTAtMTEtMjUgMTg6MzM6MzcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSAgY29nY29sb3JzcGFjZTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudAoKMjAxMC0xMS0yNSAxODozMDo1NiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9jb2cvY29nZnJhbWUuYzoKCSAgY29nZnJhbWU6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE4OjI5OjMxICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBJbml0aWFsaXplIHZhcmlhYmxlCgkgIEluIHRoZSBjYXNlIHRoZSB0YWdfc2V0dGVyIHJldHVybnMgc29tZXRoaW5nLCBlbXB0eV90YWdzIHdvdWxkIGJlCgkgIGdhcmJhZ2UgdmFsdWUuCgoyMDEwLTExLTI1IDE4OjI5OjIyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50CgoyMDEwLTExLTI1IDE4OjI2OjIxICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxNzoxNDoyMyArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZTogZml4IHBvc3NpYmxlIGRpdmlzaW9uLWJ5LXplcm8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTc4NgoKMjAxMC0xMC0yMyAwMTo1NjowNCArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogRG9uJ3QgcGFzcyB0aGUgU2htUGlwZSB0byB0aGUgZnVuY3Rpb24gY2xvc2luZyB0aGUgc2htIGFyZWEKCjIwMTAtMTAtMjMgMDE6MjI6NDMgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IFVzZSB0aGUgcmlnaHQgY291bnRlciB3aGVuIGZyZWVpbmcgYnVmZmVycwoKMjAxMC0xMC0yMyAwMToxMjo0OSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9NYWtlZmlsZS5hbToKCSogc3lzL3NobS9zaG1hbGxvYy5oOgoJICBzaG1hbGxvYzogTWFudWFsbHkgZGVjaWRlIHRvIHVzZSBHTGliIG9yIG5vdCBpbiB0aGUgc2htYWxsb2MKCSAgU28gbWFrZSBpdCBlYXNpZXIgZm9yIGVtYmVkZGVycyB0byB1c2UgaXQgd2l0aCBvciB3aXRob3V0IEdsaWIKCjIwMTAtMTAtMjAgMjI6NDk6NTkgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IFJlbW92ZSBkdXBsaWNhdGVkIGFyZ3VlbWVudAoKMjAxMC0xMC0yMCAyMjozOToyMSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogRml4IHNvY2tldCBsZWFrIG9uIGNvbm5lY3QoKSBlcnJvcgoKMjAxMC0xMC0yMCAyMjoyODoxMyArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkqIHN5cy9zaG0vc2htcGlwZS5oOgoJICBzaG06IHNwX2NsaWVudF9yZWN2IHJldHVybnMgbmVnYXRpdmUgb24gZXJyb3IsIHNvIG1ha2UgdGhlIHJldHZhbCBzaWduZWQKCjIwMTAtMTAtMjAgMjI6MTc6MzAgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IFJlbmFtZSBjb25mdXNpbmdseSBuYW1lZCB2YXJpYWJsZQoKMjAxMC0xMC0yMCAyMjoxNDowOSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogQ2hhbmdlIHBlcm1pc3Npb25zIG9uIG9sZCBzaG0gYXJlYXMgdG9vCgkgIENoYW5nZSB0aGUgcGVybWlzc2lvbnMgb24gb2xkIHNobSBhcmVhcwoKMjAxMC0xMC0yMCAyMjowMTozNiArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogVXNlIHRoZSBtYWNybyBmb3IgdGhlIGxhc3QgZXJyb3IgdG9vCgoyMDEwLTEwLTIwIDIxOjUyOjMxICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBVc2UgImFibG9jayIgZm9yIGFsbCBTaG1BbGxvY0Jsb2NrIHZhcmlhYmxlcwoJICBVc2UgdGhlIGFibG9jayB2YXJpYWJsZSBuYW1lIGZvciBTaG1BbGxvY0Jsb2NrcyBhbmQgYmxvY2sgZm9yCgkgIFNobUJsb2NrCgoyMDEwLTEwLTIwIDIxOjUyOjI0ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuaDoKCSAgc2htOiBBZGQgbW9yZSBjb21tZW50cwoKMjAxMC0xMC0yMCAyMTo0MToxNSArMDIwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IHN0eWxpc3QgaW1wcm92ZW1lbnRzCgoyMDEwLTEwLTIwIDIxOjMzOjI0ICswMjAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1hbGxvYy5jOgoJICBzaG06IEV4cGxhaW4gc29tZSBmaWVsZHMKCSAgRXhwbGFpbiB3aGF0IHNvbWUgb2YgdGhlIGZpZWxkcyBpbiB0aGUgYWxsb2NhdG9yIGFjdHVhbGx5IG1lYW4KCjIwMTAtMTEtMjIgMTU6MjY6MDYgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogRml4IGJ1ZmZlciB0aW1lc3RhbXAgYW5kIGR1cmF0aW9uCgkgIFRoZSBmaWVsZCByYXRlIGlzIHR3aWNlIHRoZSBmcmFtZSByYXRlIG9mIHRoZSBzcmMgcGFkIGFuZCBzbyB0aGUgZHVyYXRpb24gb2YKCSAgb25lIG91dHB1dCBidWZmZXIgaXMgc3JjX2Zwc19kIC8gKDIgKiBzcmNfZnBzX24pLgoKMjAxMC0xMS0yMiAxMDoyOTo1NiArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBSZW5hbWUgcGF0dGVybiBwcm9wZXJ0eSB0byBmaWVsZC1wYXR0ZXJuCgkgIFRoaXMgaXMgbW9zdGx5IGZvciBjbGFyaXR5IG9mIHdoYXQgdGhlIHByb3BlcnR5IG1lYW5zIGFuZCwgSSBiZWxpZXZlLCBtYWtlcyB0aGUKCSAgcGF0dGVybi1vZmZzZXQgcHJvcGVydHkgbW9yZSBjb21wcmVoZW5zaWJsZS4KCjIwMTAtMTEtMjIgMTA6Mjc6MjIgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogQWRkIHBhdHRlcm4gb2Zmc2V0IHByb3BlcnR5CgkgIFRoaXMgcHJvcGVydHkgYWxsb3dzIG9uZSB0byBzdGFydCBhdCBhbnkgcG9pbnQgd2l0aGluIHRoZSBmaWVsZCBwYXR0ZXJuIGFmdGVyCgkgIGEgZGlzY29udGludWl0eSAod2hlbmV2ZXIgZ3N0X2ludGVybGFjZV9yZXNldCAoKSBpcyBjYWxsZWQpLiBUaHVzIHdpdGggdGhlCgkgIDI6MzozOjIgcGF0dGVybiwgZm9yIGV4YW1wbGUsIG9uZSBjYW4gc3RhcnQgYXQgb2Zmc2V0IDIgYW5kIGFjaGlldmUgMzoyOjI6MwoJICBvciBvZmZzZXQgMSBhbmQgYWNoaWV2ZSAzOjM6MjoyLgoKMjAxMC0xMS0xOSAxNzowMTo0MSAtMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogQ3JlYXRlIGltYWdlYmluIGVsZW1lbnRzIHdoZW4gaW1hZ2UgbW9kZSBpcyBzZXQgaW4gY2FtZXJhYmluIE5VTEwgc3RhdGUKCSAgVGhpcyBwYXRjaCByZWZhY3RvcnMgaW1hZ2ViaW4gZWxlbWVudCBjcmVhdGlvbiBhbmQgbGlua2luZyBpbnRvIHNlcGFyYXRlIGZ1bmN0aW9ucywKCSAgYW5kIGFkZHMgcmUtdXNpbmcgYWxzbyBmb3IgaW1hZ2ViaW4gaW50ZXJuYWxseSBjcmVhdGVkIGVsZW1lbnRzLgoJICBTbyB0aGlzIHJlZmFjdG9yaW5nIGFsbG93cyBjcmVhdGluZyBpbWFnZWJpbiBlbGVtZW50cyBhbHJlYWR5IGluIE5VTEwgc3RhdGUgd2hlbgoJICBhcHBsaWNhdGlvbiBzZXRzIHRoZSBpbWFnZSBtb2RlLCBhbmQgbmV4dCBzdGF0ZSBjaGFuZ2UgZnJvbSBOVUxMIHRvIFJFQURZIHdpbGwgYmUgZmFzdGVyLgoJICBUaGlzIHJlZHVjZXMgZmlyc3QgY2FwdHVyZSBsYXRlbmN5LgoJICBFYXJsaWVyIHRoZSBlbGVtZW50cyB3ZXJlIGJvdGggY3JlYXRlZCBhbmQgbGlua2VkIGluIE5VTEwgdG8gUkVBRFkgc3RhdGUgY2hhbmdlLgoKMjAxMC0xMS0yMiAxMjoyMzozMCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBDcmVhdGUgYSBzdWItYnVmZmVyIHdpdGggdGhlIHNlY3Rpb24gbGVuZ3RoCgoyMDEwLTExLTE5IDE1OjIzOjQxIC0wNTAwICBKb3NoIERvZSA8am9zaEBqb3NoZG9lLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGVlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5oOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHR3cml0ZS5jOgoJICBvcGVuY3Y6IGZpeCBjYXBzIGlzc3VlcyBhbmQgZXh0ZW5kIHN1cHBvcnRlZCBjYXBzIGZvciBzb21lIGVsZW1lbnRzCgkgIFNvbWUgZWxlbWVudHMgaGFkIHZhZ3VlIGNhcHMsIHN1Y2ggYXMgInZpZGVvL3gtcmF3LXJnYiIsIHdoaWNoIGNhdXNlZCBwcm9ibGVtcwoJICBhdCBsZWFzdCB3aXRoIHRleHR3cml0ZS4gRm9yIG90aGVyIGVsZW1lbnRzLCB0aGUgdW5kZXJseWluZyBPcGVuQ1YgZnVuY3Rpb25zCgkgIHN1cHBvcnQgbW9yZSB0aGFuIGp1c3Qgb25lIGltYWdlIHR5cGUsIHNvIEkgaW5jcmVhc2VkIHRoZSBudW1iZXIgb2Ygc3VwcG9ydGVkCgkgIGNhcHMuCgkgIEkgY3JlYXRlZCBhIHV0aWxpdHkgZnVuY3Rpb24gImdzdF9vcGVuY3ZfY2Fwc19mcm9tX2N2X2ltYWdlX3R5cGUiLCBzbyBlYWNoCgkgIGVsZW1lbnQgY3JlYXRlcyBjYXBzIGRpcmVjdGx5IGZyb20gT3BlbkNWIGltYWdlIHR5cGVzLCBzdWNoIGFzIENWXzhVQzEgZm9yCgkgIDgtYml0IGdyYXlzY2FsZS4gVGhpcyBmdW5jdGlvbiB1c2VzIGdzdHZpZGVvIHRvIGNyZWF0ZSB1bmlmb3JtIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzUzMDQKCjIwMTAtMTEtMjIgMTc6NDM6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogU21hbGwgb3B0aW1pemF0aW9uIG9uIHRhZ3MgcGFyc2luZwoJICBPcHRpbWl6ZSBhIGxpdHRsZSBhdm9pZGluZyBjb3B5aW5nIGEgdGFnbGlzdCB3aGVuIHBhcnNpbmcgeG1wL2V4aWYKCSAgZGF0YS4KCjIwMTAtMDktMTcgMDk6NTI6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIG91dHB1dHNlbGVjdG9yOiBBdm9pZCBsb3NpbmcgdGhlIGxhc3RfYnVmZmVyIHdoZW4gc3dpdGNoaW5nCgkgIFRoaXMgcGF0Y2ggbWFrZXMgb3V0cHV0c2VsZWN0b3IgdGFrZSBhbiBleHRyYSByZWYgd2hlbiBwdXNoaW5nCgkgIHRoZSBsYXN0X2J1ZmZlciB0byBhdm9pZCBpdCBsb3NpbmcgaXQgZHVyaW5nIHRoZSBzd2l0Y2ggZnVuY3Rpb24uCgkgIFRoaXMgbWFrZXMgcmVzZW5kLWxhdGVzdCBwcm9wZXJseSB3b3JrIGlmIHRoZSBhY3RpdmUtcGFkIGlzIGNoYW5nZWQKCSAgZHVyaW5nIHRoZSBzd2l0Y2ggZnVuY3Rpb24gYnVmZmVyIHB1c2hpbmcgKG9uIGEgcGFkIHByb2JlLCBmb3IgZXhhbXBsZSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mjk5MTcKCjIwMTAtMDktMTcgMDk6NDQ6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIG91dHB1dHNlbGVjdG9yOiBSZWNoZWNrIHBlbmRpbmcgc3dpdGNoIGFmdGVyIHB1c2hpbmcgYnVmZmVyCgkgIFRoaXMgcGF0Y2ggbWFrZXMgb3V0cHV0LXNlbGVjdG9yIGFsd2F5cyByZWNoZWNrIGlmIHRoZXJlJ3MgYQoJICBwZW5kaW5nIHBhZCBzd2l0Y2ggYWZ0ZXIgcHVzaGluZyBhIGJ1ZmZlciwgcHJldmVudGluZyB0aGF0CgkgIGl0IHB1c2hlcyBhIGJ1ZmZlciBvbiB0aGUgJ3dyb25nJyBwYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mjk5MTcKCjIwMTAtMTEtMjIgMTU6MTA6MjYgKzAyMDAgIE9saXZpZXIgQXViZXJ0IDxvbGl2aWVyLmF1YmVydCU0MGxpcmlzLmNucnMuZnI+CgoJKiBleHQvcnN2Zy9NYWtlZmlsZS5hbToKCSogZXh0L3JzdmcvZ3N0cnN2Zy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5oOgoJICByc3Znb3ZlcmxheTogc2NhbGFibGUgYW5kIHJlbGF0aXZlIHN2ZyBvdmVybGF5IHdpdGggY2Fpcm8KCSAgQWRkIGEgY2Fpcm8rbGlicnN2ZyBiYXNlZCBvdmVybGF5IGVsZW1lbnQgdG8gdGhlIHJzdmcgcGx1Z2luLgoKMjAxMC0xMS0yMiAxNzowNjowNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIG1ha2U6IHJlbW92ZSB0cmFjZXMgb3IgbW92ZWQvcmVtb3ZlZCBwbHVnaW5zCgoyMDEwLTExLTIyIDE3OjA1OjIzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBNYWtlZmlsZS5hbToKCSAgbWFrZTogYWRkIG1pc3NpbmYgdHJhaWxpbmcgXCB0byBmaXggdGhlIGJ1aWxkCgoyMDEwLTExLTIxIDIzOjExOjE5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogcmVtb3ZlIGluY29ycmVjdCBjaGVjawoKMjAxMC0xMS0xOSAxNzo1NTozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlbW92ZSByZW1uYW50IG9mIG9ic29sZXRlIHByb3BlcnR5CgoyMDEwLTExLTE5IDE1OjE4OjU4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBxdG11eDogYWxzbyB1bml0IHRlc3QgZnJhZ21lbnRlZCBmaWxlIGNhc2VzCgoyMDEwLTA3LTMwIDEyOjQ4OjI5ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGFsbG93IHNwZWNpZnlpbmcgdHJhayB0aW1lc2NhbGUKCSAgVGhpcyBpcyBtYWlubHkgYmVjYXVzZSBTbW9vdGhzdHJlYW1pbmcgY2xpZW50IGFyZSBicm9rZW4gYW5kIGRvbid0CgkgIHRha2UgdGhlIFRpbWVTY2FsZSBwcm9wZXJ0eSBpbnRvIGFjY291bnQuCgoyMDEwLTExLTE5IDE3OjQxOjQxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBpbmNsdWRlIHNkdHAgYXRvbXMgZm9yIGlzbXYgZnJhZ21lbnRlZCBmaWxlcwoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCjIwMTAtMTEtMTkgMTk6MTc6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBlbmFibGUgZGVmYXVsdCBmcmFnbWVudGVkIGZpbGUgZm9yIGlzbWxtdXgKCjIwMTAtMDktMDIgMTM6NTg6MDUgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9mdHlwY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5oOgoJICBxdG11eDogYWRkIGlzbWxtdXgsIGZvciBmcmFnbWVudGVkIGlzbWwgbWFqb3IgYnJhbmQKCjIwMTAtMTEtMTkgMTQ6NDQ6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaW5hbGl6ZSBzaW5rcGFkcyBsaXN0CgoyMDEwLTA3LTIyIDE5OjQwOjA3ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogYWRkIG1vb3YgaW4gc3RyZWFtaGVhZGVyCgoyMDEwLTA4LTA2IDEzOjI2OjI3ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGFkZCBzdHJlYW1hYmxlIHByb3BlcnR5IHRvIGF2b2lkIGJ1aWxkaW5nIGZyYWdtZW50ZWQgbWZyYSBpbmRleAoKMjAxMC0xMS0xOCAxNjo0ODowNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGFkZCBtZnJhIHRvIGZyYWdtZW50ZWQgZmlsZQoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCjIwMTAtMTEtMTUgMTU6MTc6NTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBvcHRpb25hbGx5IGNyZWF0ZSBmcmFnbWVudGVkIGZpbGUKCSAgSW4gdGhpcyBtb2RlLCBhbiBpbml0aWFsIGVtcHR5IG1vb3YgKGNvbnRhaW5pbmcgb25seSBzdHJlYW0gbWV0YWRhdGEpIGlzIHdyaXR0ZW4sCgkgIGZvbGxvd2VkIGJ5IGZyYWdtZW50cyBjb250YWluaW5nIGFjdHVhbCBkYXRhIChhbG9uZyB3aXRoIHJlcXVpcmVkIG1ldGFkYXRhKS4KCSAgTmV3IGZyYWdtZW50cyBhcmUgc3RhcnRlZCBlaXRoZXIgYXQga2V5ZnJhbWUgKGlmIHN1Y2ggYXJlIHNwYXJzZSkgb3Igd2hlbgoJICBwcm9wZXJ0eSBjb25maWd1cmVkIGR1cmF0aW9uIGV4Y2VlZGVkLgoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCSAgRml4ZXMgIzYzMjkxMS4KCjIwMTAtMTEtMTUgMTU6MTI6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkgIHF0bXV4OiB1c2UgaGVscGVyIHRvIHNldCBhdG9tIGZsYWdzIGZyb20gZ2l2ZW4gdWludAoKMjAxMC0xMS0wOSAxNjo0OTowNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlZmFjdG9yIGNvbmZpZ3VyaW5nIGFuZCBzZW5kaW5nIG9mIG1vb3YKCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoyMDEwLTExLTA5IDE1OjU0OjQ0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVmYWN0b3IgZXh0cmEgdG9wLWxldmVsIGF0b20gaGFuZGxpbmcKCSAgQWxzbyBjaGVjayBhIGJpdCBtb3JlIGZvciBwb3NzaWJsZSBlcnJvcnMsIGFuZCBmcmVlIHByb3BlciBpdGVtcyBpbiBzdWNoIGNhc2UuCgoyMDEwLTExLTA5IDE1OjAxOjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVmYWN0b3Igc2xpZ2h0bHkgdXNpbmcgYnVmZmVyIGhlbHBlcgoKMjAxMC0xMS0wNSAxMzo0ODo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCBtaXNpbmZvcm1pbmcgY29tbWVudAoKMjAxMC0xMS0wNSAxMjowODoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZGVsZWdhdGUgbXZleCBoYW5kbGluZyB0byBhdG9tcwoJICAuLi4gd2hpY2gga2VlcHMgcXRtdXggc2ltcGxlci4KCjIwMDktMDktMjggMTY6MTE6MzUgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFkZCBtdmV4L3RyZXggaW4gaGVhZGVyIGlmIGZyYWdtZW50ZWQKCSAgT25lICJ0cmV4IiBpcyBhZGRlZCBwZXIgInRyYWsiLiBXZSBkb24ndCBzdXBwb3J0IGRlZmF1bHQgdmFsdWVzLAoJICBidXQgdGhlICJ0cmV4IiBib3ggaXMgbWFuZGF0b3J5LgoKMjAwOS0wOS0yOCAxMzowMTozMCArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkgIHF0bXV4OiBhZGQgYSBjb3VwbGUgb2YgZm91cmNjIGZvciBmcmFnbWVudGVkIG1wNAoKMjAxMC0xMS0wNSAxMTowODowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGF2b2lkIHJlbW92aW5nIHRlbXAgZmlsZSB3aGVuIGVycm9yIG9jY3VycmVkCgoyMDA5LTA5LTMwIDE3OjE2OjMwICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogdHJ1bmNhdGUgYnVmZmVyIGZpbGUgYWZ0ZXIgZWFjaCBzZW5kCgoyMDA5LTA5LTI4IDE2OjUzOjUxICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVtb3ZlIHRlbXAgZmlsZSB3aGVuIHJlc2V0L2ZpbmFsaXplCgoyMDEwLTA4LTE4IDAyOjAwOjEwICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVnZm9ybWF0OiBQdXNoIHRhZ3MgYWZ0ZXIgc2V0dGluZyBzcmNwYWQgY2FwcwoJICBUaGlzIHBhdGNoIGRlZmVycyBlbWlzc2lvbiBvZiB0YWcgZXZlbnRzIHRpbGwgY2FwcyBhcmUgc2V0IG9uIHRoZSBzb3VyY2UKCSAgcGFkIG9mIGpwZWdwYXJzZSwgc28gdGhhdCB0aGVzZSB0YWdzIGNhbiBiZSBzZWVuIGRvd25zdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjcyMTEKCjIwMTAtMTEtMTkgMTg6NTE6MzIgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTAtMTEtMTkgMTg6MjY6NTkgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogZml4IHRoaW5rbwoKMjAxMC0xMS0xOSAxNzoyNTowMSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBmaXggaGFuZGxpbmcgb2YgVE9UIGFuZCBURFQgc2VjdGlvbnMuIEZpeGVzICM2MzUyODEuCgkgIFREVCBhbmQgVE9UIHNlY3Rpb25zLCB3aXRoIFBJRD0weDE0LCBkb2Vzbid0IGV4dGVuZCB0byBzZXZlcmFsIHBhY2tldHMKCSAgYW5kIHRoZSBzZWN0aW9uIGZpbHRlciBpcyBub3QgbmVlZGVkIGhlcmUgYW5kIHNob3VsZG4ndCBiZSB1c2VkIGF0IGFsbAoJICBmb3IgdGhlc2UgdGFibGVzIGJlY2F1c2UgdGhlIGhhdmUgYSBkaWZmZXJlbnQgc3RydWN0dXJlLgoJICBGb3IgZXhhbXBsZSwgVERUIHRhYmxlcyB3ZXJlIG5vdCBwYXJzZWQgZm9yIG9kZCBob3VycyBiZWNhdXNlIHRoaXMgYml0CgkgIGlzIHRoZSAnY3VycmVudF9uZXh0X2luZGljYXRvcicgYml0IGZvciB0aGUgb3RoZXIgc2VjdGlvbnMsIGFuZCB0aGUgdGFibGUKCSAgd2FzIGRpc2NhcmRlZC4KCjIwMTAtMTEtMTkgMTc6MjI6MDYgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IGRvbid0IGNhbGN1bGF0ZSB0aGUgQ1JDIGZvciBUT1QgdGFibGVzLiBGaXhlcyAjNjM1MjgxLgoJICBUT1QgdGFibGVzLCB3aXRoIHRhYmxlX2lkPTB4NzMsIGRvbid0IGhhdmUgYSBDUkMsIHNvIGRvbid0IGNhbGN1dGUgaXQKCjIwMTAtMTEtMTggMTg6NDI6MzggKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmJiYXNlYmluOiBBZGQgVERUIHRvIHRoZSBpbml0aWFsIHBpZHMgZmlsdGVyIGZvciBkdmJzcmMuIEZpeGVzICM2MzUyMDAuCgoyMDEwLTExLTE2IDE3OjM1OjM2ICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGFkZCBnc3RfanBlZ19wYXJzZV9za2lwX21hcmtlciAoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI2NjE4CgoyMDEwLTA4LTEzIDEzOjE0OjMwICswMjAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IHVzZSBieXRlIHJlYWRlciBhY2Nlc3NvcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNjYxOAoKMjAxMC0xMS0xNyAxMDo0OTozMCArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBpbmxpbmUgZ3N0X2pwZWdfcGFyc2Vfc29mICgpCgkgIE5vIGZ1bmN0aW9uYWwgY2hhbmdlcyAoaG9wZWZ1bGx5KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNjYxOAoKMjAxMC0xMS0xNiAxNzoyMzozNSArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBmaXggdHlwbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI2NjE4CgoyMDEwLTExLTE4IDEwOjU4OjA2IC0wMzAwICBBbGVrc2V5IExpbSA8YWxzcm9vdEBtZW1iZXIuZnNmLm9yZz4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBEbyBub3QgdXNlIGF1ZGlvIGNsb2NrIGFmdGVyIHN0b3BwaW5nIHZpZGVvIGNhcHR1cmUKCSAgQWRkYSBwcm92aWRlIGNsb2NrIGZ1bmN0aW9uIHRvIGNhbWVyYWJpbiB0byBtYWtlIGl0IG5vdAoJICBwcm92aWRlIHRoZSBhdWRpbyBjbG9jayBvZiB0aGUgcmVjb3JkIGJpbiB3aGVuIG5vIHZpZGVvCgkgIHJlY29yZGluZyBpcyBoYXBwZW5pbmcKCSAgRml4ZXMgIzYxMzM3OQoKMjAxMC0xMS0xNyAxNjoyMzo0MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHVzZSBjb3JyZWN0IG9mZnNldCB3aGVuIGFkZGluZyBpbmRleCBlbnRyeQoJICAuLi4gYmVhcmluZyBpbiBtaW5kIHRoYXQgQlVGRkVSX09GRlNFVCBpcyBtZWRpYSBzcGVjaWZpYyBhbmQgbWF5IG5vdAoJICByZWZsZWN0IHRoZSBiYXNpYyBvZmZzZXQgYWZ0ZXIgaGF2aW5nIGJlZW4gcGFyc2VkLgoKMjAxMC0xMS0xNyAxNDozMDowOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGVuaGFuY2VtZW50cyBmb3IgdGltZXN0YW1wIG1hcmtlZCBmcmFtZWQgZm9ybWF0cwoJICBUaGF0IGlzLCBhcyBzdWNoIGZvcm1hdHMgYWxsb3cgc3ViY2xhc3MgdG8gZXh0cmFjdCBwb3NpdGlvbiBmcm9tIGZyYW1lLAoJICBpdCBpcyBwb3NzaWJsZSB0byBleHRyYWN0IGR1cmF0aW9uIChpZiBub3Qgb3RoZXJ3aXNlIHByb3ZpZGVkKQoJICBmcm9tIChuZWFyKSBsYXN0IGZyYW1lLCBhbmQgYSBzZWVrIGNhbiBmYWlybHkgYWNjdXJhdGVseSB0YXJnZXQgdGhlIHJlcXVpcmVkCgkgIHBvc2l0aW9uLgoJICBGaXhlcyAjNjMxMzg5LgoKMjAxMC0xMS0xNiAxNzowNjoxNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlZmFjdG9yIGZyYW1lIHNjYW5uaW5nIHBlZm9ybWVkIGJ5IF9sb29wCgoyMDEwLTExLTE2IDE4OjA0OjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogc2xpZ2h0bHkgb3B0aW1pemUgc2VuZGluZyBvZiBwZW5kaW5nIG5ld3NlZ21lbnQgZXZlbnRzCgoyMDEwLTExLTE2IDE3OjA0OjM1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbWlub3IgZml4ZXMgYW5kIGVuaGFuY2VtZW50cwoJICBBcnJhbmdlIGZvciB1cHN0cmVhbSBhcyB3ZWxsIGFzIGRvd25zdHJlYW0gZmx1c2hpbmcgd2hlbiBzZWVraW5nLgoJICBBbHNvIGRldGVybWluZSB1cHN0cmVhbSBzaXplIGFzIHdlbGwgYXMgc2Vla2FiaWxpdHkuICBBZGp1c3Qgc29tZSBjb21tZW50cwoJICB0byByZWFsaXR5IGFuZCBlbXBsb3kgZGVidWcgc3RhdGVtZW50IGluIHByb3BlciBvcmRlci4KCjIwMTAtMTEtMTcgMTU6MzM6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogbWlub3IgY2xlYW51cHMKCjIwMTAtMTEtMTcgMTU6MjQ6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogZml4IHJlZ3Jlc3Npb24gaW4gQURJRiBzcmMgY2FwcyBzZXR0aW5nCgoyMDEwLTExLTE2IDEyOjExOjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogcGFyc2Ugc2Vla3RhYmxlCgkgIEZpeGVzICM2MzEzODkgKHBhcnRpYWxseSkuCgoyMDEwLTExLTE2IDEyOjA4OjU0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogbWlub3IgcmVmYWN0b3IgYW5kIGVuYWJsZSBkZWZhdWx0IGJhc2VwYXJzZSBzZWdtZW50IGNsaXBwaW5nCgoyMDEwLTExLTEyIDAwOjQwOjMzICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuaDoKCSAgY2VsdmlkZW9zcmM6IGZpeCBuYXN0eSBkZWFkbG9jawoJICBXZSBjYW5ub3QgY2FsbCBhbnkgQ01CdWZmZXJRdWV1ZSBmdW5jdGlvbnMgd2hpbGUgaG9sZGluZyB0aGUgbG9jayB0aGF0CgkgIG91ciBjYWxsYmFjayBhbHNvIGRlcGVuZHMgb24uIFNvIG5vdyB3ZSBtYWtlIHVzZSBvZiBDTUJ1ZmZlclF1ZXVlJ3MKCSAgdHJpZ2dlciBBUEkgaW4gb3JkZXIgdG8gZ2V0IG5vdGlmaWVkIHdoZW4gdGhlIHF1ZXVlIGhhcyBkYXRhLgoKMjAxMC0xMS0xMSAyMzo0MTo0NCArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmg6CgkgIGNtYXBpOiBjb3ZlciBDTUJ1ZmZlclF1ZXVlJ3MgdHJpZ2dlciBBUEkKCjIwMTAtMTEtMTEgMjE6NDI6MDMgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJICBjZWx2aWRlb3NyYzogdW5sb2NrIHNob3VsZCBhbHNvIG5vdGlmeQoJICBPdGhlcndpc2Ugd2UgZGVwZW5kIG9uIGJlaW5nIHdva2VuIHVwIGJ5IHRoZSBDb3JlTWVkaWEgcXVldWUgZ2V0dGluZwoJICBpdHMgbmV4dCBidWZmZXIuCgoyMDEwLTExLTEwIDIzOjE2OjUxICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSAgYXBwbGVtZWRpYTogZG9uJ3QgcHVzaCBzeW5jaHJvbm91c2x5IGZyb20gY2FsbGJhY2sKCSAgVGhlIGNvZGVjIHRoYXQgY2FsbGVkIHVzIG1pZ2h0IGJlIGhvbGRpbmcgbG9ja3MgdG8gc2hhcmVkIHJlc291cmNlcywgc28KCSAgd2Ugc2hvdWxkIG5ldmVyIHB1c2ggZG93bnN0cmVhbSBmcm9tIHdpdGhpbiBpdHMgYnVmZmVyIGNhbGxiYWNrLgoJICBOb3RlIHRoYXQgYSBHc3RCdWZmZXJMaXN0IGlzIG5vdCB1c2VkIGhlcmUgYmVjYXVzZSB3ZSBuZWVkIHRvIHByZXNlcnZlCgkgIHRoZSBidWZmZXIgbWV0YWRhdGEgaGVsZCBieSBvdXIgR3N0QnVmZmVyIHN1YmNsYXNzZXMuCgoyMDEwLTExLTEwIDIwOjUyOjQ3ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IGJ1bXAgSC4yNjQgbGV2ZWwgZnJvbSAxLjMgdG8gMy4wCgkgIFRoaXMgc2hvdWxkIGJlIHR1cm5lZCBpbnRvIGEgcHJvcGVydHkuCgoyMDEwLTExLTEwIDIwOjQ0OjE1ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuaDoKCSAgY2VsdmlkZW9zcmM6IGFkZCBiYXNpYyBkZXZpY2Ugc2VsZWN0aW9uIHN1cHBvcnQKCjIwMTAtMTEtMTAgMjA6NTE6MjcgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5oOgoJICBjdmFwaTogYWRkIHdyYXBwZXIgZm9yIElPIHN1cmZhY2UgYWNjZXNzCgkgIFRvIGJlIHVzZWQgaW4gYSBmdXR1cmUgdmlkZW8gc2luayBmb3IgemVyby1jb3B5IHJlbmRlcmluZy4KCjIwMTAtMTEtMTAgMjA6MjU6MjggKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jZWxhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsYXBpLmg6CgkgIGNlbGFwaTogYWRkIGNhcHR1cmUgcG9ydCB0eXBlIGNvbnN0YW50cwoKMjAxMC0xMS0wOSAyMjo0MzoxNCArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IFJlbW92ZSB1bnVzZWQgc3JjX3N0cmlkZSB2YXJpYWJsZSBmcm9tIGJsaXQgZnVuY3Rpb25zCgoyMDEwLTExLTA5IDE4OjEwOjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0cGhvdG9ncmFwaHkuZGVmOgoJICB3aW4zMjogQWRkaW5nIHBob3RvZ3JhcGh5IGludGVyZmFjZSAuZGVmIGZpbGUKCSAgQWRkcyBjaGVjay1leHBvcnRzIHRvIC1iYWQgdG8gaGF2ZSBwaG90b2dyYXBoeSBpbnRlcmZhY2UKCSAgLmRlZiBmaWxlIGNyZWF0ZWQKCSAgRml4ZXMgIzU3ODYyOQoKMjAxMC0xMS0wOSAxOTozODoyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBmaXggc2lsbHkgbGVhayBpbiBfcmVzZXQKCjIwMTAtMTEtMDggMjM6NTQ6MzEgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRkZWNiaW4uYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZW5jYmluLmM6CgkgIGFwcGxlbWVkaWE6IGJpcGxhbmFyIGlzIGFjdHVhbGx5IE5WMTIsIG5vdCBJNDIwCgkgIEQnb2ghCgoyMDEwLTExLTA4IDIxOjIyOjEzICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSAgdnRlbmM6IHJlbW92ZSBrZXlmcmFtZSBlbmZvcmNlbWVudCB3b3JrYXJvdW5kCgkgIFdhcyBvbmx5IG5lZWRlZCBmb3Igb2xkIGlPUyB3aGVyZSB0aGUgSC4yNjQgZW5jb2RlciBkaWRuJ3Qgc3VwcG9ydAoJICBrVlRFbmNvZGVGcmFtZU9wdGlvbktleV9Gb3JjZUtleUZyYW1lLgoKMjAxMC0xMS0wOCAxODo1Njo1MiArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmg6CgkgIGN2YXBpOiBhZGQgYSBmZXcgZXh0cmEgYml0cyBvZiB3cmFwcGluZwoKMjAxMC0xMS0wOCAxNTowODoxOSArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuaDoKCSAgYXBwbGVtZWRpYTogbG9jayBDVlBpeGVsQnVmZmVyIHJlYWQtb25seQoJICBBcyBwZXIgQXBwbGUncyBkb2NzLCB0aGlzIG1heSBpbXByb3ZlIHBlcmZvcm1hbmNlIGJ5IGF2b2lkaW5nIHJlZHVuZGFudAoJICBpbnZhbGlkYXRpb25zIG9mIGV4aXN0aW5nIGNhY2hlcyBvZiB0aGUgYnVmZmVyIGNvbnRlbnRzLgoKMjAxMC0xMS0wOCAxMDozMzo1OCAtMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluOiBSZW1vdmUgZ3N0cmluZyBsZWFrCgkgIFNpbXBsaWZ5IGdzdC1jYW1lcmFiaW4tdGVzdCBieSByZW1vdmluZyBHU3RyaW5nIGFuZCByZXBsYWNpbmcKCSAgd2l0aCBnY2hhciBmb3IgdGhlIGZpbGVuYW1lIGhhbmRsaW5nLiBBbHNvIHJlbW92ZXMgYSBsZWFrIG9mCgkgIHRoZSBHU3RyaW5nIGRhdGEuCgoyMDEwLTExLTA4IDE2OjAwOjIxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkgIHJzdmdkZWM6IGF2b2lkIHJlZmZpbmcgdGhlIGVsZW1lbnQgaW4gY2hhaW4KCjIwMTAtMTEtMDggMTU6NDU6NDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSAgcnN2Z2RlYzogYWRkIHNvbWUgbWluaW1hbCBsb2dnaW5nIHRvIHRyYWNrIHdoYXQgaXQgaXMgZG9pbmcKCjIwMTAtMTEtMDggMTM6NTI6NDkgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJICBjZWx2aWRlb3NyYzogcHV0IHBsYW5hciBmaXJzdCBpbiB0ZW1wbGF0ZSBjYXBzCgoyMDEwLTExLTA4IDEzOjQ5OjA0ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZGVjYmluLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGVuY2Jpbi5jOgoJICBhcHBsZW1lZGlhOiBpbXByb3ZlIHZ0ZW5jL3Z0ZGVjIHBlcmZvcm1hbmNlCgkgIFByb2ZpbGluZyBvZiBILjI2NCBlbmNvZGUgYW5kIGRlY29kZSByZXZlYWxlZCB0aGF0IGNvbnZlcnNpb25zCgkgIGJldHdlZW4gcGFja2VkIGFuZCBwbGFuYXIgd2VyZSBoYXBwZW5pbmcgYmVoaW5kIHRoZSBzY2VuZXMuCgkgIEhlbmNlIHdlIG5vdyBjaG9vc2UgSTQyMCBpbnN0ZWFkIG9mIFlVWTIuCgoyMDEwLTEwLTIyIDE4OjA3OjAwICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBhZGQgYXN5bmMgYnVzIGhhbmRsZXIgdG8gZ3N0LWNhbWVyYWJpbi10ZXN0CgkgIFNwbGl0cyB0aGUgYnVzIGhhbmRsZXIgaW50byBzeW5jIGFuZCBhc3luYywga2VlcGluZyB0aGUKCSAgcHJlcGFyZS14d2luZG93IGhhbmRsaW5nIGF0IHRoZSBzeW5jIGZvciBmYXN0ZXIgaGFuZGxpbmcgYW5kCgkgIG1vdmluZyB0aGUgb3RoZXJzIHRvIHRoZSBhc3luYyBoYW5kbGVyCgoyMDEwLTExLTA2IDEyOjI3OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB3ZSBzdGlsbCByZXF1aXJlIEd0aysgPj0gMi4xNC4wIHdoZW4gY29tcGlsaW5nIGFnYWluc3QgMi4wCgkgIFRoZSBjaGVjayBmb3IgdGhlIG1pbm9yIHZlcnNpb24gd2FzIGRyb3BwZWQgaW4gb25lIG9mIHRoZSBwcmV2aW91cwoJICBjb21taXRzLgoKMjAxMC0xMS0wNSAxNjo1MTo1NyArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmg6CgkgIGNlbHZpZGVvc3JjOiBtZWFzdXJlIGZwcyB3aGVuIHN0YXRpc3RpY3MgaXMgZW5hYmxlZAoJICBBbHNvIHJlZmFjdG9yIHRpbWVzdGFtcGluZyBzbGlnaHRseS4KCjIwMTAtMTEtMDUgMTU6MTQ6MDggKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5oOgoJICBjZWx2aWRlb3NyYzogdXBkYXRlIHRvIG5ldyBDZWxlc3RpYWwgYW5kIE1lZGlhVG9vbGJveCBBUElzCgkgIFRoaXMgbWVhbnMgY2VsdmlkZW9zcmMgaXMgbm8gbG9uZ2VyIGNvbXBhdGlibGUgd2l0aCBpT1MgMy54LgoKMjAxMC0xMS0wNSAxNTowODo1NiArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkgIGNlbHZpZGVvc3JjOiBmaXggZGVidWcgY2F0ZWdvcnkgZGVzY3JpcHRpb24KCjIwMTAtMTEtMDUgMTU6MDg6MDIgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jZWxhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsYXBpLmg6CgkgIGNlbGFwaTogdXBkYXRlIHRvIHJlZmxlY3QgbmV3IEFQSSBvbiBpT1MgNC54CgkgIEFsc28gYWRkIHJlbWFpbmluZyBwcm9wZXJ0eSBjb25zdGFudHMgZm9yIGRldmljZSBhbmQgc3RyZWFtLgoKMjAxMC0xMS0wNSAxNTowNzozOCArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL210YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL210YXBpLmg6CgkgIG10YXBpOiB1cGRhdGUgdG8gcmVmbGVjdCBuZXcgQVBJIG9uIGlPUyA0LngKCSAgQWxzbyBhZGQgcmVtYWluaW5nIHByb3BlcnR5IGNvbnN0YW50cyBmb3IgZGV2aWNlIGFuZCBzdHJlYW0uCgoyMDEwLTExLTA1IDEwOjU2OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMtZGlzdC5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLWRpc3QuaDoKCSAgY29sb3JzcGFjZTogVXBkYXRlIGdlbmVyYXRlZCBPUkMgc291cmNlcwoKMjAxMC0wOC0yNiAxNzowODoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEFkZHMgJ2lkbGUnIHByb3BlcnR5CgkgIEFkZHMgJ2lkbGUnLCBhIHJlYWQtb25seSBib29sZWFuIHByb3BlcnR5IHRoYXQgdGVsbHMgYXBwbGljYXRpb25zCgkgIGlmIHRoZXJlIGlzIGFueSBjYXB0dXJpbmcvc2F2aW5nL2VuY29kaW5nIGdvaW5nIG9uIGluIGNhbWVyYWJpbi4gSWYKCSAgbm90LCBpdCBpcyBzYWZlIHRvIHNldCBpdCB0byBOVUxMIGFuZCByZWxlYXNlIHJlc291cmNlcyB3aXRob3V0CgkgIGxvc2luZyBkYXRhLgoKMjAxMC0wNS0wNSAxMzo1ODowNyArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBBZGQgInJlYWR5LWZvci1jYXB0dXJlIiBwcm9wZXJ0eQoJICBBZGQgInJlYWR5LWZvci1jYXB0dXJlIiBwcm9wZXJ0eSB0byBpbmRpY2F0ZSBpZiBwcmVwYXJpbmcgYSBuZXcKCSAgY2FwdHVyZSBpcyBwb3NzaWJsZS4KCSAgInJlYWR5LWZvci1jYXB0dXJlIiBjaGFuZ2VzIGJlZm9yZSB0aGUgJ2ltYWdlLWRvbmUnIHNpZ25hbCwgc28KCSAgdGhlIGFwcGxpY2F0aW9uIGNhbiBiZSBub3RpZmllZCB0aGF0IGl0IGNhbiBkbyBhIG5ldyBjYXB0dXJlCgkgIGV2ZW4gYmVmb3JlIHRoZSBwcmV2aW91cyBvbmUgaGFzIGZpbmlzaGVkIGVuY29kaW5nL3NhdmluZy4KCjIwMTAtMTEtMDUgMDA6MzI6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGRvbid0IGV2ZW4gY2hlY2sgZm9yIEd0aysgaWYgLS1kaXNhYmxlLWV4YW1wbGVzIGlzIHNwZWNpZmllZAoJICBUaGVyZSBhcmUgR3RrKy1iYXNlZCBleGFtcGxlcyBpbiBwbHVnaW4gZGlycyBhbmQgdGVzdHMvaWNsZXMvIHRvbywgYW5kCgkgIHdlIHdhbnQgdG8gZGlzYWJsZSB0aG9zZSBhcyB3ZWxsIHRoZW4uCgoyMDEwLTExLTA1IDAwOjI0OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhZGQgLS13aXRoLWd0ayBvcHRpb24gYW5kIGRlZmF1bHQgdG8gR3RrKyAyLjAgd2hpbGUgdGhlIDMuMCBBUEkgaXMgc3RpbGwgaW4gZmx1eAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM0MDE0CgoyMDEwLTExLTAzIDAwOjA0OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy96YmFyLmM6CgkqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9maWxlcy9iYXJjb2RlLnBuZzoKCSAgdGVzdHM6IGFkZCB2ZXJ5IHNpbXBsZSB6YmFyIHVuaXQgdGVzdAoJICBOb3QgdmFsZ3JpbmQgY2xlYW4geWV0IChjb3VsZCBiZSB6YmFyJ3MgZmF1bHQgdGhvdWdoKS4KCjIwMTAtMTEtMDQgMTk6MjU6MjQgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IG1ha2UgdmlkZW8gc291cmNlIGVsZW1lbnQgZGV0YWlscyBjb25zaXN0ZW50CgkgIEluc3BpcmVkIGJ5IHRoZSB2NGwyc3JjIGVsZW1lbnQgZGV0YWlscy4KCjIwMTAtMTEtMDQgMTk6MTE6MDQgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IGNvbnNpc3RlbnRseSB1c2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlCgoyMDEwLTExLTA0IDE5OjAyOjUwICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuaDoKCSAgY2VsdmlkZW9zcmM6IHVwZGF0ZSBlLW1haWwgYWRkcmVzcwoKMjAxMC0xMS0wNCAxODo1OTo0NCArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9pcGhvbmVjYW1lcmFzcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvaXBob25lY2FtZXJhc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhcHBsZW1lZGlhOiByZW5hbWUgaXBob25lY2FtZXJhc3JjIHRvIGNlbHZpZGVvc3JjCgkgIFRoaXMgaXMgaW4gb3JkZXIgdG8gaW1wcm92ZSBjb25zaXN0ZW5jeSB3aXRoIHRoZSBvdGhlciB0aHJlZSBzb3VyY2VzLgoKMjAxMC0xMS0wNCAxNzo1ODozNiArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBkb24ndCBleHBsaWNpdGx5IGVtcHR5IHRoZSBidWZmZXIgcXVldWUKCSAgV2UncmUgaG9sZGluZyB0aGUgb25seSByZWZlcmVuY2UgdG8gaXQgc28gdGhlcmUncyBubyBuZWVkIHRvIGV4cGxpY2l0bHkKCSAgZW1wdHkgaXQgcmlnaHQgYmVmb3JlIGxldHRpbmcgZ28gb2Ygb3VyIHJlZmVyZW5jZS4KCjIwMTAtMTEtMDQgMTc6NTA6MzMgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogbWFrZSBidWZmZXIgb2Zmc2V0IHN0YXJ0IGZyb20gemVybwoKMjAxMC0xMS0wNCAxNzo0NzoyNSArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgcXRraXR2aWRlb3NyYzogaW1wbGVtZW50IHplcm8tY29weSBieSB1c2luZyBidWZmZXItZmFjdG9yeQoJICBUaGlzIG1lYW5zIHdlJ2xsIHdyYXAgZWFjaCBDb3JlVmlkZW8gYnVmZmVyIGluc2lkZSBhIEdzdEJ1ZmZlciBpbnN0ZWFkIG9mCgkgIG1ha2luZyBhIGNvcHkuCgoyMDEwLTExLTA0IDE3OjQ0OjEyICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYnVmZmVyZmFjdG9yeS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9idWZmZXJmYWN0b3J5Lm06CgkgIGJ1ZmZlcmZhY3Rvcnk6IGFkZCBzdXBwb3J0IGZvciB3cmFwcGluZyBDVkJ1ZmZlcgoKMjAxMC0xMS0wNCAxNzoyNDowMyArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgcXRraXR2aWRlb3NyYzogZml4IHVwIHJlZmNvdW50aW5nCgkgIFNob3VsZCBrZWVwIGEgc3Ryb25nIHJlZmVyZW5jZSB0byB0aGUgZGV2aWNlLCBidXQgd2UgZG9uJ3QgbmVlZCB0byBtYW5hZ2UKCSAgdGhlIHJlZmVyZW5jZSBjb3VudCBvZiBlbGVtZW50cyBvZiBhbiBOU011dGFibGVBcnJheSBhcyBpdCB0YWtlcyBjYXJlIG9mCgkgIHRoYXQgZm9yIHVzLgoKMjAxMC0xMS0wNCAxNzoxNjowNSArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgcXRraXR2aWRlb3NyYzogc2ltcGxpZnkgdGltZXN0YW1waW5nIGFsZ29yaXRobQoJICBBbGlnbmluZyB0aW1lc3RhbXBzIG9uIGR1cmF0aW9uIGJvdW5kYXJpZXMsIHNraXBwaW5nIGZyYW1lcyBhbmQgc28gZm9ydGgKCSAgYXJlIGNsZWFybHkgdGhpbmdzIHRoYXQgZmFsbCBvdXRzaWRlIHRoZSBzY29wZSBvZiBhIHZpZGVvIHNvdXJjZS4KCjIwMTAtMTEtMDQgMTQ6MTQ6MDkgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvYnVmZmVyZmFjdG9yeS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9idWZmZXJmYWN0b3J5Lm06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhcHBsZW1lZGlhOiBhZGQgbmV3IGlPUyB2aWRlbyBzb3VyY2UgYmFzZWQgb24gQVZGb3VuZGF0aW9uCgkgIFRoaXMgZWxlbWVudCBtYWtlcyB1c2Ugb2YgdGhlIGRvY3VtZW50ZWQgQVZGb3VuZGF0aW9uIGZyYW1ld29yayBtYWRlCgkgIGF2YWlsYWJsZSBzdGFydGluZyB3aXRoIGlPUyA0LjAsIGFuZCBoZW5jZSB0aGlzIG1lYW5zIHdlIGNhbiBmaW5hbGx5CgkgIGNhcHR1cmUgdmlkZW8gdXNpbmcgYSBwdWJsaWMgQVBJLgoKMjAxMC0xMS0wNCAxNDoyNDozNiArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGRlY2Jpbi5jOgoJICBhcHBsZW1lZGlhOiBmaXggc3RyZWFtLWZvcm1hdCBjYXBzIHVzZWQgZm9yIEguMjY0CgkgIFRoZSBzdHJlYW0tZm9ybWF0J3MgImF2Yy1zYW1wbGUiIG1lbWJlciBpcyBub3cgY2FsbGVkIGp1c3QgImF2YyIuCgoyMDEwLTExLTA0IDE0OjI5OjM3ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9kZXZpY2UuYzoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogdXBkYXRlIGUtbWFpbCBhZGRyZXNzZXMKCjIwMTAtMTEtMDQgMTQ6MTg6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBJbnZlcnNlIC1iYXNlIHZlcnNpb24gY2hlY2sgbG9naWMgdG8gYWN0dWFsbHkgbWFrZSBzZW5zZQoKMjAxMC0xMS0wMyAxODozNDoyOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuaDoKCSAgcGNhcHBhcnNlOiBBZGQgc3VwcG9ydCBmb3IgTGludXggQ29va2VkIENhcHR1cmUgKFNMTCkgZnJhbWVzCgoyMDEwLTExLTAzIDE4OjIzOjI3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IEZhaWwgb24gdW5rbm93biB2ZXJzaW9uIG9yIGxpbmt0eXBlCgkgIFRoZSBlbGVtZW50IG9ubHkga25vd3MgYWJvdXQgbWFqb3IgdmVyc2lvbiAyIGFuZCBvbmx5IGRlY29kZXMgbGlua3R5cGUgZXRoZXJuZXQKCjIwMTAtMTEtMDMgMTg6MDI6NDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogU2VuZCBlcnJvciBHc3RNZXNzYWdlIGlmIHN0cmVhbSBkb2Vzbid0IGhhdmUgdGhlIGV4cGVjdGVkIG1hZ2ljCgoyMDEwLTExLTAzIDE2OjE2OjI0ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBzZW5kIFREVCB0YWJsZXMgbWVzc2FnZXMgaW4gYSBzZXJpYWxpemVkIGV2ZW50IGRvd25zdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMzkxNwoKMjAxMC0xMS0wMyAxNTozNzo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IEFkZCBzdXBwb3J0IGZvciBJWVUxCgoyMDEwLTExLTAzIDE1OjEyOjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy5vcmM6CgkgIGNvbG9yc3BhY2U6IEZpcnN0IHZlcnNpb24gb2YgWVVWOSBhbmQgWVZVOSBpbXBsZW1lbnRhdGlvbgoKMjAxMC0xMS0wMyAwOToyMDoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogVXNlIEdTVF9DSEVDS19QTFVHSU5TX0JBU0VfVkVSU0lPTigpIGluc3RlYWQgb2Ygb3RoZXIgaGFja3MKCjIwMTAtMTAtMTggMTU6MzI6MTQgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmg6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuaDoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGZpeCB0aW1lc3RhbXAgZ2VuZXJhdGlvbgoJICBVc2UgaW5mb3JtYXRpb24gZnJvbSB0aGUgZ29wIGhlYWRlciBhbmQgcGljdHVyZQoJICBoZWFkZXIgdG8gY2FsY3VsYXRlIHRoZSBwaWN0dXJlIHRpbWVzdGFtcC4gKHRpbWVfY29kZQoJICBhbmQgdGVtcG9yYWxfcmVmZXJlbmNlKSBhbmQgYWRhcHQgdG8gdXBzdHJlYW0gdGltZXN0YW1wcyBpZgoJICBwcm92aWRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMjIyMgoKMjAxMC0xMS0wMiAyMzowODozMCArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkgIGFwcGxlbWVkaWE6IHN3aXRjaCB2dGFwaSB0byBDRlR5cGVSZWYgc3R5bGUgdHlwZWRlZnMKCjIwMTAtMTEtMDIgMjI6NTM6MzMgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jZWxhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9pcGhvbmVjYW1lcmFzcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvaXBob25lY2FtZXJhc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb2FwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb2RldmljZS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb2RldmljZS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9tdGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICBhcHBsZW1lZGlhOiBzdXBwb3J0IHB1YmxpYyB2ZXJzaW9uIG9mIENvcmVNZWRpYQoJICBBbHNvIHJlbmFtZSB0aGUgcmVsZXZhbnQgQVBJIHNvIHdlIG1pcnJvciB0aGUgcHVibGljIEFQSSBtb3JlIGNsb3NlbHksIGFuZAoJICBzd2l0Y2ggdG8gQ29yZUZvdW5kYXRpb24gQ0ZUeXBlUmVmIHN0eWxlIHR5cGVkZWZzLiBXZSBzdGlsbCBzdXBwb3J0IHRoZSBvbGQKCSAgcHJpdmF0ZSBDb3JlTWVkaWEgaW4gb3JkZXIgdG8gbm90IGJyZWFrIE9TIFggc3VwcG9ydC4KCSAgVGhpcyBtZWFucyB0aGF0IHZ0ZW5jIGFuZCB2dGRlYyBhcmUgbm93IGNvbXBhdGlibGUgd2l0aCBpT1MgNC54LCBhbmQgaW4KCSAgdGhlb3J5IGFsc28gZnV0dXJlIHZlcnNpb25zIG9mIE9TIFgsIHdoZXJlIHRoaXMgQVBJIG1heSB0dXJuIHB1YmxpYyBsaWtlCgkgIGl0IGhhcyBvbiBpT1MuCgoyMDEwLTExLTAyIDE3OjQ2OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgemJhcjogaGFuZGxlIG1vcmUgZm9ybWF0cyB0aGF0IHN0YXJ0IHdpdGggYW4gOC1iaXQgWSBwbGFuZQoJICBXZSBjYW4gaGFuZGxlIG1vc3QgcGxhbmFyIFlVViBsYXlvdXRzIHRvbywgYXMgbG9uZyBhcyB3ZSBkb24ndAoJICB0ZWxsIHpiYXIgYWJvdXQgdGhlIGNocm9tYSBwbGFuZXMuCgoyMDEwLTExLTAyIDE3OjE4OjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZXh0L3piYXIvZ3N0emJhci5oOgoJICB6YmFyOiB1c2UgY29ycmVjdCBzdHJpZGUKCSAgRml4ZXMgZGV0ZWN0aW9uIGZvciBpbWFnZXMgd2l0aCBhIHdpZHRoIHRoYXQncyBub3QgYSBtdWx0aXBsZSBvZiBmb3VyLgoJICBCYXNlZCBvbiBwYXRjaCBieTogS2FqLU1pY2hhZWwgTGFuZyA8bWlsYW5nQHRhbC5vcmc+CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzA4MzAKCjIwMTAtMTEtMDIgMTY6NTQ6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBmaXggYnVpbGQgd2l0aCBjdXJyZW50IGdpdCBvZiBnc3QtcGx1Z2lucy1iYXNlCgkgIGlmZGVmIHRlc3RzIGRvbid0IHdvcmsgc28gd2VsbCBpZiB3ZSBkZWZpbmUgdGhlbSBpbiB0aGUgY29kZQoJICBhYm92ZSBpbiBjYXNlIHRoZXkgYXJlbid0IGRlZmluZWQuCgoyMDEwLTExLTAyIDE2OjM1OjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgemJhcjogbWlub3IgY2xlYW4tdXAKCSAgRml4IHR5cG8gYW5kIHVzZSBERUZBVUxUX0ZPTyBkZWZpbmUgZm9yIHByb3BlcnR5IGRlZmF1bHQuCgoyMDEwLTExLTAyIDE2OjMyOjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgemJhcjogZGlzYWJsZSBjYWNoZSBieSBkZWZhdWx0CgkgIFNpbmNlIGl0IGJyZWFrcyBzdGlsbCBpbWFnZSBiYXIgY29kZSBkZXRlY3Rpb24uCgoyMDEwLTExLTAyIDE2OjA1OjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5oOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuaDoKCSAgY29sb3JzcGFjZTogQWRkIHN1cHBvcnQgZm9yIDggYml0IHBhbGV0dGVkIFJHQgoJICBUaGlzIG5lZWRzIHRoZSA4IGJpdCBwYWxldHRlZCBzdXBwb3J0IGZyb20gLWJhc2UKCSAgd2hpY2ggd2lsbCBiZSBjb21taXR0ZWQgYWZ0ZXIgcmVsZWFzZS4gV2l0aG91dCB0aGlzCgkgIHRoZSA4IGJpdCBwYXJ0cyBhcmUgZGlzYWJsZWQuCgoyMDEwLTExLTAyIDEwOjI0OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJICBjYW1lcmFiaW46IEFkZCBtaXNzaW5nIGNoYW5nZSB0byBwcmV2aW91cyBjb21taXRzCgkgIEZvcmdvdCB0byBhZGQgdGhpcyBjaGFuZ2UgdG8gdGhlIGxhdGVzdCBjb21taXRzLiBUaGlzIGZpeGVzIHRoZSBidWlsZC4KCjIwMTAtMTEtMDIgMDk6Mzk6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGNhbWVyYWJpbjogRml4IGxlYWtzIGluIHRoZSBwcmV2aWV3IGhhbmRsaW5nCgkgIFJlbWVtYmVyIHRvIHVucmVmIHRoZSBidXMgYWZ0ZXIgYWRkaW5nIHRoZSB3YXRjaC4KCSAgUmVtZW1iZXIgdG8gdW5yZWYgdGhlIGVsZW1lbnQgYWZ0ZXIgZ2V0dGluZyBpdCB3aXRoCgkgIGdzdF9iaW5fZ2V0X2J5X25hbWUuCgoyMDEwLTExLTAyIDA5OjM4OjIwIC0wMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IERvIG5vdCBsZWFrIGEgY2FwcwoJICBnc3RfY2Fwc19yZXBsYWNlIGRvZXNuJ3QgdGFrZSBvd25lcnNoaXAsIGJ1dCByZWZzIHRoZSBjYXBzLiBTbyB3ZQoJICB1bnJlZiB0aGUgcmVtYWluaW5nIGNhcHMuCgoyMDEwLTA5LTI0IDE2OjI4OjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogUmVzZXQgcHJlLW5pZ2h0LW1vZGUgc3RvcmVkIGZwcyB3aGVuIG1vZGUgY2hhbmdlcwoJICBXaGVuIHN3aXRjaGluZyBiZXR3ZWVuIHZpZGVvL3N0aWxsIG1vZGVzIHRoZSBwcmUtbmlnaHQtbW9kZSBmcHMKCSAgc2hvdWxkIGJlIHJlc2V0IHRvIHByZXZlbnQgaXQgYmVpbmcgdXNlZCBpbiB0aGUgaW5jb3JyZWN0IG1vZGUsIGNhdXNpbmcKCSAgdGhlIHZpZGVvc291cmNlIHRvIGZhaWwgY29uZmlndXJpbmcgaXRzZWxmCgoyMDEwLTA5LTIxIDE2OjIzOjQ3ICswMzAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluOiBhZGQgc3VwcG9ydCBmb3Igc2V0dGluZyBtYW55IHBvc3QtcHJvY2Vzc2luZyBlbGVtZW50cwoJICBJbnN0ZWFkIG9mIHRha2luZyBhIHNpbmdsZSBlbGVtZW50IGFzIGlucHV0IGZvciB0aGUgaW1hZ2UgcG9zdAoJICBwcm9jZXNzaW5nIG9wdGlvbiwgdGFrZSBhIGxpc3Qgb2YgY29tbWEgc2VwYXJhdGVkIGVsZW1lbnRzCgkgIHRoYXQgd2lsbCBiZSB1c2VkLgoKMjAxMC0wOS0yMCAxMTo1NDoyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IFN0b3JlIGFwcCBwcmVmZXJyZWQgY2FwdHVyZSBwYXJhbWV0ZXJzIHNlcGFyYXRlbHkKCSAgU3RvcmUgd2lkdGgvaGVpZ2h0L2ZwcyBmb3IgdmlkZW8gY2FwdHVyZXMgaW4gYSBzZXBhcmF0ZSB2YXJpYWJsZQoJICB0aGFuIHRoZSBvbmUgdGhhdCBzdG9yZXMgdGhlIGN1cnJlbnRseSB1c2VkIHZhbHVlLgoJICBUaGlzIHByZXZlbnRzIHRoZSB1c2VyIHByZWZlcmVuY2VzIHRvIGJlIGxvc3Qgd2hlbiByZXNldHRpbmcKCSAgdGhlIGN1cnJlbnRseSB1c2VkIGRpbWVuc2lvbnMgZm9yIG5pZ2h0IG1vZGUsIGZvciBleGFtcGxlCgoyMDEwLTA5LTIwIDA4OjQyOjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogY2xlYW51cCB1c2VkIGNhcHMgd2hlbiBnb2luZyB0byBOVUxMCgkgIFJlc2V0cyB1c2VkIGNhcHMgc28gdGhhdCBjYW1lcmFiaW4gZG9lc24ndCB0cnkgdG8gdXNlIHRoZW0KCSAgd2hlbiByZXN0YXJ0aW5nLCB3aGVyZSBlbGVtZW50cy9wcm9wZXJ0aWVzIG1pZ2h0IGhhdmUgY2hhbmdlZAoJICBhbmQgdGhlIG9sZCBjYXBzIGJlIGluY29tcGF0aWJsZQoKMjAxMC0wOS0wOSAxMDo1MDo1OSArMDMwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZml4IHByaW9yaXR5IGZvciBpZGxlX2FkZCBmdW5jdGlvbgoJICBBZGRzIGEgaGlnaGVyIHByaW9yaXR5IHRvIHRoZSBpZGxlX2FkZCBmdW5jdGlvbiBmb3Igd2hlbgoJICB0aGUgaW1hZ2UgYmluIGZpbmlzaGVkIHRoZSBpbWFnZSBjYXB0dXJlLiBUaGlzIHJlZHVjZXMgdGhlCgkgIGRlbGF5IGZvciB0aGUgYXBwbGljYXRpb24gdG8gYmUgbm90aWZpZWQgYWJvdXQgdGhpcy4KCjIwMTAtMTEtMDEgMjM6MDQ6NDQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IGxvZyB0aW1lcyBpbiBodW1hbiByZWFkYWJsZSBmb3JtCgoyMDEwLTExLTAxIDIyOjQwOjM2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBtb3ZlIHJlb2NjdXJpbmcgbG9ncyB0byBMT0cgYW5kIHJlbW92ZSBhIGRvdWJsZSBpbmZvCgkgIExlc3MgZGVidWcgc3BldyBpbiBERUJVRyBjYXRlZ29yeS4gTm8gbmVlZCB0byBsb2cgcGFkIGFnYWluIGlmIHdlIHVzZQoJICBHU1RfTE9HX09CSkVDVChwYWQsLi4uKS4KCjIwMTAtMTEtMDEgMTU6NTM6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLWRpc3QuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy1kaXN0Lmg6CgkgIGNvZywgY29sb3JzcGFjZTogdXBkYXRlIG9yYyBiYWNrdXAgZnVuY3Rpb25zIGZvciBsYXRlc3QgY2hhbmdlcwoJICBTaG91bGQgZml4IGJ1aWxkIG9uIHN5c3RlbXMgd2l0aG91dCB0aGUgbGF0ZXN0IG9yYy4KCjIwMTAtMTEtMDEgMTU6NTM6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogdXBkYXRlIGZvciBuZXcgdHJhbnNsYXRpb25zCgoyMDEwLTEwLTMxIDIzOjQ2OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBBZGQgc3VwcG9ydCBmb3IgUkdCMTUgYW5kIEJHUjE1CgoyMDEwLTEwLTMxIDIzOjQ0OjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBBZGQgc3VwcG9ydCBmb3IgUkdCMTYgYW5kIEJHUjE2CgoyMDEwLTEwLTMxIDIzOjI1OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy5vcmM6CgkgIGNvbG9yc3BhY2U6IEFkZCBzdXBwb3J0IGZvciBZMTYKCjIwMTAtMTAtMzEgMjM6MjU6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy5vcmM6CgkgIGNvbG9yc3BhY2U6IEZpeCBZODAwIE9SQyBnZXRsaW5lIGltcGxlbWVudGF0aW9uCgoyMDEwLTEwLTMxIDIzOjA3OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLm9yYzoKCSAgY29sb3JzcGFjZTogQWRkIHN1cHBvcnQgZm9yIEE0MjAKCjIwMTAtMTAtMzEgMjM6MDA6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBBZGQgc3VwcG9ydCBmb3IgWTQxQgoKMjAxMC0xMC0zMSAyMjozOTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuaDoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmg6CgkgIGNvbG9yc3BhY2U6IEFkZCBzdXBwb3J0IGZvciBTRFRWL0hEVFYgWVVWIGNvbnZlcnNpb25zCgoyMDEwLTEwLTMxIDIyOjIxOjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogQWRkIGNvbW1lbnQgZm9yIHRoZSBBNDIwIGdldGxpbmUvcHV0bGluZSB0YWJsZSByb3cKCjIwMTAtMTAtMzEgMjA6NDA6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmg6CgkgIGNvbG9yc3BhY2U6IEFkZCBjb25zdCB0byB0aGUgc291cmNlIGFycmF5cyBhbmQgdGhlIGdldGxpbmUvcHV0bGluZSB0YWJsZQoKMjAxMC0xMC0zMSAxOTo0MjozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IE1ha2UgZmFzdC1wYXRoIHRyYW5zZm9ybSB0YWJsZSBjb25zdAoKMjAxMC0xMC0zMSAxOTozOTozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IE9ubHkgZG8gdGhlIEk0MjAtPllVWTIgY29udmVyc2lvbiBvbmNlIHBlciBzY2FubGluZSBpbiB0aGUgZmFzdCBwYXRoCgoyMDEwLTEwLTI5IDE0OjA4OjU4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlIG9ubHkgdXBzdHJlYW0gZHVyYXRpb24gaWYgaXQgcHJvdmlkZXMgb25lCgoyMDEwLTEwLTI1IDE0OjE1OjUwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVmbG93IHVwZGF0ZV9iaXRyYXRlIGNvZGUKCSAgLi4uIHdoaWNoIG1ha2VzIGxvY2FsIHZhcmlhYmxlcyByZXByZXNlbnQgcmVhbCBzdGF0ZSBiZXR0ZXIsIGFuZCBhdm9pZHMKCSAgdHJpZ2dlcmluZyB1bm5lZWRlZCB1cGRhdGVzL2FjdGlvbnMuCgoyMDEwLTEwLTI1IDE0OjEzOjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYWRkIHNvbWUgZGVidWcgc3RhdGVtZW50cwoKMjAxMC0xMC0yOCAxODo1MTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHBsdWdpbi5jOgoJICBnYXVkaWVmZmVjdHM6IEluY2x1ZGUgZ3N0Y29udHJvbGxlciBoZWFkZXIgYW5kIGFkZCB0aGUgcmVxdWlyZWQgQ0ZMQUdTCgoyMDEwLTEwLTI3IDE0OjU3OjM2ICswMjAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHBsdWdpbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuaDoKCSAgZ2F1ZGllZmZlY3RzOiBtYWRlIGZpbHRlciBwYXJhbWV0ZXJzIGR5bmFtaWMgYW5kIGNvbnRyb2xsYWJsZQoKMjAxMC0wNy0wMSAxNTowNzo0MSArMDIwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkgIHdpbmtzOiB3b3JrIGFyb3VuZCBzaHV0ZG93biBkZWFkbG9jawoJICBHZXRPdmVybGFwcGVkUmVzdWx0KCkgbWlnaHQgbmV2ZXIgcmV0dXJuIHdpdGggc29tZSBkcml2ZXJzLiBUaW1lIG91dAoJICBhZnRlciAxMDAwIG1zLiBXZSBjYW5ub3QgcmVhbGx5IGZpeCB0aGlzIHdpdGhvdXQgZWl0aGVyOgoJICAxKSBDb250cm9sbGluZyB0aGUgc3RyZWFtaW5nIHRocmVhZCBzbyB3ZSBjYW4gZG8gQ2FuY2VsSW8oKSBmcm9tIHRoYXQKCSAgdGhyZWFkLgoJICAyKSBTd2l0Y2ggdG8gdXNpbmcgSU8gY29tcGxldGlvbiBwb3J0cy4KCjIwMTAtMDYtMTEgMTg6MDQ6NTggKzAyMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJICB3aW5rczogcmVtb3ZlIEpQRUcgdmFsaWRhdGlvbiBoYWNrCgkgIFRoaXMgc2hvdWxkIGNsZWFybHkgbm90IGJlIGRvbmUgaW4gYSB2aWRlbyBzb3VyY2UuCgoyMDEwLTA0LTIwIDEyOjA1OjQ1ICswMjAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkgIHdpbmtzOiBzZXQgUHJpb3JpdHlTdWJDbGFzcyB0byBLU1BSSU9SSVRZX05PUk1BTCBpbnN0ZWFkIG9mIDEKCSAgSW4gb3JkZXIgdG8gbWF0Y2ggdGhlIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbi4KCjIwMTAtMDQtMjAgMTE6NTk6MjMgKzAyMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJICB3aW5rczogcmV0cnkgd2hlbiBLc0NyZWF0ZVBpbiBmYWlscyB3aXRoIEVSUk9SX05PVF9SRUFEWQoJICBUdXJucyBvdXQgdGhhdCB0aGUgcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uIGRvZXMgdGhpcywgaGVuY2Ugd2UgbmVlZCB0bwoJICBtaXJyb3IgdGhpcyBiZWhhdmlvdXIuIFRoaXMgdHlwaWNhbGx5IGhhcHBlbnMgd2l0aCBoYXJkd2FyZSB0aGF0IHRha2VzCgkgIHNvbWUgdGltZSB0byBpbml0aWFsaXplLgoKMjAwOS0xMC0yNiAxNjowOTowMCArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJICB3aW5rczogaW1wcm92ZSBmcmFtZXJhdGUgZnJhY3Rpb24gY29udmVyc2lvbnMKCSAgKiBGb3IgaW5zdGFuY2UgNy41IGZwcyBzaG91bGQgYmUgcmVwcmVzZW50ZWQgYXMgMTUvMiBpbnN0ZWFkIG9mIDcvMS4KCSAgKiBDbGFtcCBBdmdUaW1lUGVyRnJhbWUgYW5kIGR3Qml0UmF0ZSB0byBhY2NvdW50IGZvciByb3VuZGluZyBlcnJvcnMuCgoyMDA5LTEwLTEyIDE3OjI2OjE1ICswMjAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzY2xvY2suYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuaDoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5jOgoJKiBzeXMvd2lua3Mva3NoZWxwZXJzLmg6CgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJICB3aW5rczogaW1wcm92ZSBlcnJvci1oYW5kbGluZwoJICBNb3N0IGltcG9ydGFudCBwYXJ0IGhlcmUgaXMgc3BlY2lhbC1jYXNpbmcgImRldmljZSBidXN5IiBzbyB0aGUgYXBwbGljYXRpb24KCSAgaXMgYWJsZSB0byBwcm92aWRlIGJldHRlciBmZWVkYmFjayB3aGVuIGFub3RoZXIgYXBwbGljYXRpb24gaXMgdXNpbmcgdGhlCgkgIGRldmljZS4KCjIwMDktMDktMDcgMTY6NDU6NTcgKzAyMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5oOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJICB3aW5rczogcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnRzCgkgICogTWFrZSB0aGUgZHJpdmVyIHdyaXRlIGRpcmVjdGx5IGludG8gZWFjaCBHc3RCdWZmZXIgdG8gYXZvaWQgbWVtY3B5KCkuCgkgICogRG9uJ3QgbWVtc2V0KCkgdGhlIGJ1ZmZlciBiZWZvcmUgcmV1c2luZyBpdC4KCSAgKiBSZWN5Y2xlIG1lbW9yeSBieSBrZWVwaW5nIHR3byBzcGFyZSBidWZmZXJzLiBUd28gYmVjYXVzZSB0aGUgc2luawoJICBkb3duc3RyZWFtIG1heSBrZWVwIGEgcmVmIHRvIHRoZSBwcmV2aW91cyBidWZmZXIuCgkgIE5vdGUgdGhhdCB3ZSBhbGlnbiBidWZmZXJzIG9uIGhpZ2hlc3QgcG9zc2libGUgYnl0ZSBib3VuZGFyeSAoNDA5Nikgc28gd2UKCSAgZG9uJ3QgaGF2ZSB0byB0YWtlIGludG8gYWNjb3VudCB3aGF0IGtpbmQgb2YgYWxpZ25tZW50IHRoZSBkcml2ZXIgcmVxdWlyZXMuCgoyMDA5LTA5LTA3IDE2OjA5OjM0ICswMjAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzY2xvY2suYzoKCSogc3lzL3dpbmtzL2dzdGtzY2xvY2suaDoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuaDoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuaDoKCSAgd2lua3M6IHN0b3JlIHByaXYgcG9pbnRlciBpbnN0ZWFkIG9mIGxvb2tpbmcgaXQgdXAKCjIwMDktMDgtMzEgMTk6MzM6MzAgKzAyMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJICB3aW5rczogcG9zdCBlcnJvciBtZXNzYWdlIG9uIGZsb3ctdW5leHBlY3RlZAoKMjAwOS0wOC0zMSAxOToyODo1MCArMDIwMCAgQW5kcmVzIENvbHVicmkgPGFuZHJlcy5jb2x1YnJpQGdtYWlsLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmg6CgkgIHdpbmtzOiBhZGQgcHJvcGVydHkgcHJvYmluZyBzdXBwb3J0CgoyMDA5LTA4LTMxIDE5OjI2OjM2ICswMjAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5oOgoJICB3aW5rczogc29ydCBkZXZpY2VzIHRoYXQgbG9vayBsaWtlIGNhbWVyYXMgZmlyc3QKCjIwMDktMDgtMzEgMTk6MjU6MDIgKzAyMDAgIEtudXQgSW5nZSBIdmlkc3RlbiA8a251dC5pbmdlLmh2aWRzdGVuQHRhbmRiZXJnLmNvbT4KCgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJICB3aW5rczogcHJvdmlkZSBndWVzc2VkIHBpeGVsLWFzcGVjdC1yYXRpbyBpbiBjYXBzCgoyMDA5LTA4LTMxIDE5OjIzOjQwICswMjAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzY2xvY2suYzoKCSAgd2lua3M6IG9ubHkgdHJ5IHRvIGNoYW5nZSBzdGF0ZSB3aGVuIGFjdHVhbGx5IG9wZW4KCjIwMDktMDgtMzEgMTk6MjI6NDAgKzAyMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvd2lua3Mva3NoZWxwZXJzLmM6CgkqIHN5cy93aW5rcy9rc2hlbHBlcnMuaDoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkgIHdpbmtzOiBpZ25vcmUgdW5zdXBwb3J0ZWQgZm9ybWF0cwoKMjAxMC0xMC0yOCAxNjoxNDozNCArMDIwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkgIHdpbmtzOiBhZGp1c3QgYSBjb3VwbGUgb2YgbG9nZ2luZyBzZXZlcml0aWVzCgkgIFNob3VsZCBjbGVhcmx5IG5vdCBiZSBjb25zaWRlcmVkIHdhcm5pbmdzLCBhcyB0aGV5J3JlIHF1aXRlIGNvbW1vbi4KCjIwMTAtMTAtMjcgMTg6MzA6MTEgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2NlbGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWxhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFjdHguYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhY3R4Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLWludGVybmFsLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvaXBob25lY2FtZXJhc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2lwaG9uZWNhbWVyYXNyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW9hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvZGV2aWNlLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL210YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL210YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZGVjYmluLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGRlY2Jpbi5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRlbmNiaW4uYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZW5jYmluLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0dXRpbC5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dHV0aWwuaDoKCSAgYXBwbGVtZWRpYTogTmV3IHBsdWdpbiBmb3IgQXBwbGUgbXVsdGltZWRpYSBBUElzCgkgIFByb3ZpZGVzIHRoZSBmb2xsb3dpbmcgZWxlbWVudHM6CgkgIHF0a2l0dmlkZW9zcmM6IE9TIFggdmlkZW8gc291cmNlIHJlbHlpbmcgb24gdGhlIFFUS2l0IEFQSS4gQ29tZXMgd2l0aAoJICBoYXJkLWNvZGVkIGNhcHMgYXMgdGhlIEFQSSBkb2VzIG5vdCBwcm92aWRlIGFueSB3YXkgb2YgcXVlcnlpbmcgZm9yCgkgIGZvcm1hdHMgc3VwcG9ydGVkIGJ5IHRoZSBoYXJkd2FyZS4gSGFzbid0IGJlZW4gdGVzdGVkIGEgbG90LCBidXQgc2VlbXMKCSAgdG8gd29yay4KCSAgbWlvdmlkZW9zcmM6IE9TIFggdmlkZW8gc291cmNlIHdoaWNoIHVzZXMgdGhlIHVuZG9jdW1lbnRlZC9wcml2YXRlCgkgIENvcmVNZWRpYUlPU2VydmljZXMgQVBJLCB3aGljaCBpcyBhbHNvIHRoZSBvbmUgdXNlZCBieSBpQ2hhdC4KCSAgUHJlc2VudCBvbiBsYXRlc3QgdmVyc2lvbiBvZiBMZW9wYXJkIGFuZCBhbGwgdmVyc2lvbnMgb2YgU25vdyBMZW9wYXJkLgoJICBIYXMgYmVlbiB0ZXN0ZWQgZXh0ZW5zaXZlbHkgd2l0aCBidWlsdC1pbiBjYW1lcmFzIGFuZCBUQU5EQkVSRydzCgkgIFByZWNpc2lvbkhEIFVTQiBjYW1lcmEuCgkgIHZ0ZW5jLCB2dGRlYzogR2VuZXJpYyBjb2RlYyB3cmFwcGVycyB3aGljaCBtYWtlIHVzZSBvZiB0aGUgdW5kb2N1bWVudGVkLwoJICBwcml2YXRlIFZpZGVvVG9vbGJveCBBUEkgb24gT1MgWCBhbmQgaU9TLiBMaXN0IG9mIGNvZGVjcyBhcmUgY3VycmVudGx5CgkgIGhhcmQtY29kZWQgdG8gSC4yNjQgZm9yIHZ0ZW5jLCBhbmQgSC4yNjQgKyBKUEVHIGZvciB2dGRlYy4gQ2FuIGVhc2lseSBiZQoJICBleHBhbmRlZCBieSBhZGRpbmcgbmV3IGVudHJpZXMgdG8gdGhlIGxpc3RzLCBidXQgaGF2ZW4ndCB5ZXQgaGFkIHRpbWUgdG8KCSAgZG8gdGhhdC4gU2hvdWxkIHByb2JhYmx5IGFsc28gaW1wbGVtZW50IHByb2JpbmcgYXMgYXZhaWxhYmxlIGNvZGVjcyBkZXBlbmQKCSAgb24gdGhlIE9TIGFuZCBpdHMgdmVyc2lvbiwgYW5kIHRoZXJlIGRvZXNuJ3Qgc2VlbSB0byBiZSBhbnkgd2F5IHRvCgkgIGVudW1lcmF0ZSB0aGUgYXZhaWxhYmxlIGNvZGVjcy4KCSAgdnRoMjY0ZGVjYmluLCB2dGgyNjRlbmNiaW46IFdyYXBwZXIgYmlucyB0byBtYWtlIGl0IGVhc2llciB0byB1c2UKCSAgdnRkZWNfaDI2NC92dGVuY19oMjY0IGluIGxpdmUgc2NlbmFyaW9zLgoJICBpcGhvbmVjYW1lcmFzcmM6IGlQaG9uZSBjYW1lcmEgc291cmNlIHJlbHlpbmcgb24gdGhlIHVuZG9jdW1lbnRlZC9wcml2YXRlCgkgIENlbGVzdGlhbCBBUEkuIFRlc3RlZCBvbiBpT1MgMy4xIHJ1bm5pbmcgb24gYW4gaVBob25lIDNHUy4gU3RvcHMgd29ya2luZwoJICBhZnRlciBhIGZldyBtaW51dGVzLCBwcmVzdW1hYmx5IGJlY2F1c2Ugb2YgYSByZXNvdXJjZSBsZWFrLiBOZWVkcyBzb21lCgkgIGxvdmUuCgkgIE5vdGUgdGhhdCB0aGUgaU9TIHBhcnRzIGhhdmVuJ3QgeWV0IGJlZW4gcG9ydGVkIHRvIGlPUyA0LnguCgoyMDEwLTEwLTI4IDExOjQzOjM0ICswMTAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwQGstZC13Lm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IEFkZCB0YWcgZXZlbnQgZW1pc3Npb24uIEZpeGVzICM2MjcyNTMKCjIwMTAtMTAtMjcgMTM6MTc6MTAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gN2JiZDcwOCB0byAwMTFiY2M4CgoyMDEwLTEwLTIxIDE2OjA2OjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogQ2hlY2sgdGhlIHNvdXJjZSBzY2VuZSBtb2RlIHdoZW4gY3JlYXRpbmcgaXQKCSAgQXMgY2FtZXJhYmluIG9ubHkgZ2V0cyBub3RpZmllZCBvZiB0aGUgY2hhbmdlcyBmcm9tIHRoZQoJICB2aWRlbyBzb3VyY2UgZWxlbWVudCwgaXQgc2hvdWxkIHF1ZXJ5IHRoZSBpbml0aWFsIHZhbHVlCgkgIG9uY2UgdGhlIHNvdXJjZSBpcyBjcmVhdGVkIHNvIGl0IGluaXRpYWxpemVzIGl0c2VsZgoJICBjb3JyZWN0bHkuCgoyMDEwLTEwLTIwIDAwOjA3OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZml4IGRpc3RjaGVjayBhIGJpdCBtb3JlCgkgIERpc3QgZWxlbWVudHMvcGFyc2VyLmggaGVhZGVyIGZpbGUsIHdoaWNoIGZpeGVzIHRoZSAnbWFrZSBjaGVjaycgYnVpbGQuCgoyMDEwLTEwLTE5IDIzOjQwOjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZhbHZlLmM6CgkgIHRlc3RzOiBmaXggdmFsdmUgdW5pdCB0ZXN0CgkgIGdzdF9idWZmZXJfcGFkX2FsbG9jKCkgbmVlZHMgc2ltcGxlIGNhcHMgb3IgTlVMTCBjYXBzLAoJICBBTlkgY2FwcyBhcmUgbm90IGFsbG93ZWQuCgoyMDEwLTEwLTE5IDIzOjI1OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSAgZGNhcGFyc2U6IGluaXQgdmFyaWFibGUgdG8gbWFrZSBvc3ggYnVpbGQgYm90IGhhcHB5CgkgIGdzdGRjYXBhcnNlLmM6IEluIGZ1bmN0aW9uICdnc3RfZGNhX3BhcnNlX2NoZWNrX3ZhbGlkX2ZyYW1lJzoKCSAgZ3N0ZGNhcGFyc2UuYzoyNDY6IHdhcm5pbmc6ICdiZXN0X3N5bmMnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbgoKMjAxMC0xMC0xOSAwMDoxNToyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiBhZGQgdmVyeSBiYXNpYyBkdHMvZGNhIHBhcnNlcgoJICBTdGlsbCBzb21lIGlzc3VlcywgZS5nLiB3aXRoIHNlZWthYmxlIHF1ZXJpZXMgaW4gdG90ZW0sIGJ1dCBhbHNvCgkgIHByb2Nlc3NpbmcgYWxyZWFkeS1jaHVua2VkIGlucHV0IChjcmVhdGVkIHdpdGggbWF0cm9za2FkZW11eCAhIGdkcHBheSkuCgoyMDEwLTEwLTE5IDE2OjIzOjIzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvYW1yd2JlbmMvZ3N0YW1yd2JlbmMuYzoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29wdGlvbnMuY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleGpvYi5jYzoKCSogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBleHQvbmFzL25hc3NpbmsuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L29mYS9nc3RvZmEuYzoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJICB2YXJpb3VzIChleHQpOiBhZGQgbWlzc2luZyBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGZsYWdzCgkgIENhbm9uaWNhbGl6ZSBwcm9wZXJ0eSBuYW1lcyBhcyBuZWVkZWQuCgoyMDEwLTEwLTE5IDE2OjI0OjEyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkgIHZpZGVvYW5hbHlzZTogZml4IGNvcHknbidwYXN0ZSBvZmYgYnkgb25lIGZvciBwYXJhbSBzcGVjIGZsYWdzIGNoYW5nZQoKMjAxMC0xMC0xOSAxMzo0MzoxNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZmlsdGVyL2dzdGlpci5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcGF0aW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10aW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10c3RyZWFtaW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L212ZS9nc3RtdmVtdXguYzoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9xdG11eC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzoKCSogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJICB2YXJpb3VzIChnc3QpOiBhZGQgbWlzc2luZyBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGZsYWdzCgkgIENhbm9uaWNhbGl6ZSBwcm9wZXJ0eSBuYW1lcyBhcyBuZWVkZWQuCgoyMDEwLTEwLTE5IDE1OjMwOjAyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJICB2YXJpb3VzOiB3cmFwIHByb3BlcnR5IHJlZ2lzdHJhdGlvbiBhbmQgYWRkIGEgc2luZ2xlIGZpeG1lIGZvciBsb25nIGRlc2MuCgoyMDEwLTEwLTE5IDE1OjA2OjM2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBwbm1lbmM6IHJlbW92ZSBzdHJheSAiIGluIGRvYyBjb21tZW50CgoyMDEwLTEwLTE5IDEzOjQ0OjI1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IHJlbW92ZSBERUJVR19GVU5DUFRSIGZyb20gZ29iamVjdCB2bWV0aG9kcwoKMjAxMC0xMC0wOCAxOTozMzoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgdGVzdHM6IGppZm11eDogQWRkcyB0ZXN0cyBmb3IgdGhlIG5ldyB0YWdzCgkgIEFkZHMgdGVzdHMgZm9yIHRoZSBuZXcgZXhpZiB0YWdzIGluIC1iYXNlCgoyMDEwLTEwLTA5IDE3OjM2OjA3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlbzogTW92ZSBjb21tb24gZmllbGRzL2Z1bmN0aW9ucyB0byBiYXNlY29kZWMKCjIwMTAtMDktMjggMTg6MjE6NTcgKzAzMDAgIEthai1NaWNoYWVsIExhbmcgPG1pbGFuZ0B0YWwub3JnPgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBleHQvemJhci9nc3R6YmFyLmg6CgkgIHpiYXI6IE1ha2Ugc2Nhbm5lciBjYWNoZSBvcHRpb25hbAoKMjAxMC0xMC0xNCAyMzowNDoxNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgcGhvdG9ncmFwaHk6IGFjdHVhbHkgdXNlIHRoZSBlbnVtIGluIHRoZSB2bWV0aG9kcwoJICBJZiB3ZSBpbnRyb2R1Y2UgYSBuZXcgR3N0UGhvdG9ncmFwaHlOb2lzZVJlZHVjdGlvbiwgbGV0cyBhbHNvIHVzZSBpdAoJICBpbiB0aGUgdm1ldGhvZHMKCjIwMTAtMTAtMTQgMjM6MDM6MTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIHBob3RvZ3JhcGh5OiByZXRhYiBpbnRlcmZhY2Ugc3RydWN0IGZpZWxkcwoKMjAxMC0xMC0xNCAxMjozMjowNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDVhNjY4YmYgdG8gN2JiZDcwOAoKMjAxMC0xMC0xNCAxNDowNzo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkgIGNhbWVyYWJpbjogUmVtb3ZlIHVudXNlZCBlbnRyeQoJICBSZW1vdmUgY2FtZXJhYmluIHVudXNlZCBlbnVtIGVudHJ5CgoyMDEwLTEwLTE0IDEzOjQxOjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIHBob3RvZ3JhcGh5OiBBdm9pZCBicmVha2luZyBBQkkKCSAgTW92ZSB0aGUgbmV3bHkgYWRkZWQgZnVuY3Rpb25zL2ZpZWxkcyB0byB0aGUgZW5kIG9mIHRoZSBzdHJ1Y3RzCgoyMDEwLTEwLTE0IDExOjQ1OjU1ICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBhY2NlbGVyYXRlIHNlYXJjaCBmb3Igc3RhcnQgY29kZQoJICBBcyB0aGUgc3RhcnRjb2RlIGFsd2F5cyBzdGFydHMgd2l0aCAweDAwMDAwMSBzb21lIGl0ZXJhdGlvbnMKCSAgY2FuIGJlIHNraXBwZWQgaWYgdmFsdWVzID4gMSBhcmUgZGV0ZWN0ZWQuCgkgIH4gNzAlIGZhc3RlciBvbiBIRCB2aWRlbyBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzIxMzAKCjIwMTAtMTAtMTQgMTY6NDg6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogcHJvcGVybHkgcGFyc2UgZS1hYzMgZnJhbWUgaGVhZGVyCgkgIEFsc28gYWRkIGEgZmV3IGRlYnVnIHN0YXRlbWVudHMuCgoyMDEwLTEwLTE0IDExOjI0OjQyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogcmVmbG93IG9wZW5pbmcgYW5kIGNsb3NpbmcgZGVjb2RlcgoJICBJbiBwYXJ0aWN1bGFyLCB0aGlzIHJlY29uZmlndXJlcyBxdWl0ZSBmb3JjZWZ1bGx5IHdoZW4gcmVuZWdvdGlhdGlvbiBpcyBuZWVkZWQuCgkgIEZpeGVzICM2MzE1MDEuCgoyMDEwLTEwLTEzIDE3OjQ3OjI5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogcHJldmVudCBpbmZpbml0ZSBsb29wIHdoZW4gYWRqdXN0aW5nIGZyYW1lcmF0ZQoJICBGaXhlcyAjNjMyMDcwLgoKMjAxMC0xMC0xMiAyMTo0NjozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgdGVzdHM6IGppZm11eDogdXBkYXRlIHRlc3RzIHRvIHRoZSBuZXcgZGF0ZXRpbWUgYXBpCgkgIFVwZGF0ZSBqaWZtdXggdGVzdHMgdG8gdXNlIG5ldyBnc3RkYXRldGltZSBBUEkgaW4gY29yZQoKMjAxMC0xMC0xMiAwOTozNzo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IEFkZHMgcm90YXRlIGVsZW1lbnQKCSAgQWRkcyBhIG5ldyByb3RhdGUgZWxlbWVudCB0byBnZW9tZXRyaWN0cmFuc2Zvcm0uIEl0IHN0aWxsCgkgIG5lZWRzIHNvbWUgd29yay4gQnV0IHRoaXMgaXMgYSBnb29kIHN0YXJ0aW5nIHBvaW50LgoJICBCYXNlZCBvbiBwYXRjaCBmcm9tIEJlcnQgRG91Z2xhcyA8YmVydGQgdHBsb2dpYyBjb20+CgoyMDEwLTEwLTEzIDExOjAwOjAxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogdHdlYWsgc2V0dGluZyBidWZmZXIgbWV0YWRhdGE7IGF2b2lkIHRpbWVzdGFtcCBqaXR0ZXIKCSAgRml4ZXMgIzYzMTk5My4KCjIwMTAtMTAtMTIgMTg6MTc6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIGZhYWQ6IGNhdGVyIGZvciByZW5lZ290aWF0aW9uCgkgIEF0IGxlYXN0LCB3aGVuZXZlciBlaXRoZXIgc3RyZWFtIChlLmcuIEFEVFMpIG9yIHVwc3RyZWFtIHByb3ZpZGVzIG5lY2Vzc2FyeQoJICBpbmZvIGZvciBkb2luZyBzby4KCSAgRml4ZXMgIzYzMTUwMS4KCjIwMTAtMTAtMTIgMTg6MDc6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkgIGFhY3BhcnNlOiBzdHJlYW1saW5lIHNyYyBjYXBzIHNldHRpbmcKCSAgSW4gcGFydGljdWxhciwgYWxzbyBzZXQgc3JjIGNhcHMgd2hlbmV2ZXIgY2hhbmdlcyBpbiBzdHJlYW0gd2FycmFudCBkb2luZyBzby4KCjIwMTAtMTAtMTIgMTY6MTM6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgZGlyZWN0ZHJhd3Npbms6IHBvcnQgR3N0WE92ZXJsYXkgYml0cyB0byBuZXcgQVBJCgkgIERvbid0IHVzZSBkZXByZWNhdGVkIEFQSS4KCjIwMTAtMTAtMTIgMTY6MzU6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhYy5jOgoJICBmYWFjOiBhZGp1c3QgdW5pdCB0ZXN0IHRvIGZhYWMgbW9kaWZpZWQgb3V0cHV0CgoyMDEwLTEwLTEwIDEyOjMyOjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjaGVja3M6IHJlbW92ZSB2YXJpYWJsZXMgZnJvbSBNYWtlZmlsZS5hbSB0aGF0IGFyZW4ndCBzZXQKCSAgUmVtb3ZlIHNvbWUgc3R1ZmYgdGhhdCB3YXMgY29weSduJ3Bhc3RlZCBmcm9tIGNvcmUgYnV0CgkgIGRvZXNuJ3QgYXBwbHkgaGVyZS4gVGhlIGZvbGxvd2luZyB2YXJzIGFyZW4ndCBzZXQ6CgkgIENIRUNLX0NGTEFHUywgQ0hFQ0tfTElCUywgR1NUX09CSl9DRkxBR1MsIEdTVF9PQkpfTElCUywKCSAgc28gd2UgbWF5IGp1c3QgYXMgd2VsbCByZW1vdmUgdGhlbS4KCjIwMTAtMTAtMTIgMTI6MTE6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSAgZXhhbXBsZXM6IEZpeCBjb21waWxhdGlvbiB3aXRoIEdUSysgMy4wCgoyMDEwLTEwLTEyIDEwOjI4OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEFkanVzdCB1bml0IHRlc3RzIHRvIG5ldyBmbGFjcGFyc2UgYmVoYXZpb3VyCgkgIEdhcmJhZ2UgYWZ0ZXIgZnJhbWVzIGlzIG5vdyBpbmNsdWRlZCBpbiB0aGUgZnJhbWVzIGJlY2F1c2UgZmxhY3BhcnNlCgkgIGhhcyBubyBlYXN5IHdheSB0byBkZXRlY3QgdGhlIHJlYWwgZW5kIG9mIGEgZnJhbWUuIERlY29kZXJzIGFyZQoJICBleHBlY3RlZCB0byBldmVyeXRoaW5nIGFmdGVyIHRoZSBmcmFtZSBiZWNhdXNlIG9ubHkgZGVjb2RpbmcgdGhlCgkgIGJpdHN0cmVhbSB3aWxsIHJldmVhbCB0aGUgcmVhbCBlbmQgb2YgdGhlIGZyYW1lLgoJICBGaXhlcyBidWcgIzYzMTgxNC4KCjIwMTAtMTAtMTIgMTA6Mjc6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBEb24ndCBkcm9wIHRoZSBsYXN0IGZyYW1lIGlmIGl0IGlzIGZvbGxvd2VkIGJ5IGdhcmJhZ2UKCSAgU2VlIGJ1ZyAjNjMxODE0LgoKMjAxMC0xMC0xMSAxNzo0OTo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHBlcmZvcm0gYml0cmF0ZSBoYW5kbGluZyBhbmQgcG9zdGluZyBhZnRlciBuZXdzZWdtZW50IHNlbmRpbmcKCjIwMTAtMTAtMTEgMTc6MzY6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBpbW1lZGlhdGVseSBwb3N0IHN1YmNsYXNzIHByb3ZpZGVkIGJpdHJhdGUKCjIwMTAtMTAtMTEgMTc6MDY6NDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmaXggcGFyc2luZyB3aXRoIHVua25vd24gZnJhbWVzaXplcwoJICBGaXhlcyAjNjMxODE0IChtb3N0bHkpLgoKMjAxMC0xMC0xMSAxNzowNToyOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSAgZmFhYzogaGFuZGxlIHRyYWlsaW5nIGVuY29kZXIgb3V0cHV0CgoyMDEwLTEwLTExIDE0OjI1OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nc2V0dGluZ3MvZ3N0c3dpdGNoc3JjLmM6CgkgIHN3aXRjaHNyYzogU2V0IHRoZSBHU1RfRUxFTUVOVF9JU19TT1VSQ0UgZmxhZwoKMjAxMC0wOS0xMyAxOTowNzo1NSArMDEwMCAgRGFtaWVuIExlc3BpYXUgPGRhbWllbi5sZXNwaWF1QGludGVsLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogRml4IGV4YW1wbGUgdXNhZ2UsIGJhbmR3aWR0aD04IG5vdCA4TUh6CgkgIFRoZSBiYW5kd2lkdGggcHJvcGVydHkgaXMgZW51bSB0aGF0IHRha2VzIHRoZSB2YWx1ZXMgOCwgNywgNiwgQVVUTyBub3QKCSAgOE1Iei4KCjIwMTAtMTAtMDggMTc6MDE6MjkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htYWxsb2MuaDoKCSAgc2htOiBBZGQgQysrIHByb3RlY3Rpb24KCSAgQWRkIGMrKyBwcm90ZWN0aW9uIGluIHRoZSByZWxldmFudCBwbGFjZXMKCjIwMTAtMTAtMDggMTI6NDQ6NDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjNGE4YWRjIHRvIDVhNjY4YmYKCjIwMTAtMTAtMDggMTI6NTU6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1ZTNjOWJmIHRvIGM0YThhZGMKCjIwMTAtMTAtMDcgMjM6Mzc6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBTaW1wbGlmeSBmcmFtZSBoZWFkZXIgcGFyc2luZyBieSB1c2luZyBsb29rdXAgdGFibGVzCgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnkgRmVsaXBlIENvbnRyZXJhcy4KCSAgU2VlIGJ1ZyAjNjMxMjAwLgoKMjAxMC0xMC0wNyAyMzoyODowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IERvbid0IHBhcnNlIHRoZSBjb21wbGV0ZSBGTEFDIGZyYW1lcyBidXQgb25seSBsb29rIGZvciB2YWxpZCBmcmFtZSBoZWFkZXJzCgkgIFRoYW5rcyB0byBGZWxpcGUgQ29udHJlcmFzIGZvciB0aGUgc3VnZ2VzdGlvbi4gVGhpcyBpcyBwYXJ0aWFsbHkKCSAgYmFzZWQgb24gaGlzIHBhdGNoZXMgYW5kIG1ha2VzIGZsYWNwYXJzZSBtb3JlIHRoYW4gMy41IHRpbWVzIGZhc3Rlci4KCSAgTG9va2luZyBmb3IgdmFsaWQgZnJhbWUgaGVhZGVycyBpcyB1bmxpa2VseSB0byBnaXZlIGZhbHNlIHBvc2l0aXZlcwoJICBiZWNhdXNlIGV2ZXJ5IGZyYW1lIGhlYWRlciBpcyBhdCBsZWFzdCA5IGJ5dGVzIGxvbmcsIGNvbnRhaW5zIGEKCSAgMTQgYml0IHN5bmMgY29kZSBhbmQgYSA4IGJpdCBjaGVja3N1bSBvdmVyIHRoZSBmaXJzdCA4IGJ5dGVzLgoJICBGaXhlcyBidWcgIzYzMTIwMC4KCjIwMTAtMTAtMDcgMTE6NTk6MzAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogd29ya2Fyb3VuZCBpbnRlcm5hbCBydHNwc3JjIGZhaWxpbmcgc3RhdGUgY2hhbmdlCgkgIEZpeGVzICM2MzAwNDYuCgoyMDEwLTEwLTA3IDEwOjM0OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuaDoKCSAgYXVkaW9wYXJzZTogQWRkIHN1cHBvcnQgZm9yIHNldHRpbmcgdGhlIGNoYW5uZWwtcG9zaXRpb25zCgoyMDEwLTEwLTA2IDE4OjMyOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogUmVhbGx5IHBvc3QgdGFncyBvbmx5IGFmdGVyIHRoZSBpbml0aWFsIG5ld3NlZ21lbnQgZXZlbnQKCSAgVGhlIGZpcnN0IG5ld3NlZ21lbnQgZXZlbnQgd2lsbCBiZSBzZW5kIGJ5IHRoZSBmaXJzdCBjYWxsIHRvCgkgIGdzdF9iYXNlX3BhcnNlX3B1c2hfYnVmZmVyKCkgaWYgbmVjZXNzYXJ5LCBwb3N0aW5nIHRoZSB0YWdzCgkgIGJlZm9yZSB0aGF0IGlzIG5vdCBhIGdvb2QgaWRlYS4gSW5zdGVhZCBkbyBpdCBmcm9tIHRoZQoJICBHc3RCYXNlUGFyc2U6OnByZV9wdXNoX2J1ZmZlciB2ZnVuYy4KCjIwMTAtMTAtMDYgMTY6NTQ6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkgIGNocm9tYWhvbGQ6IEZpeCBodWUgY2FsY3VsYXRpb24gZm9yIHJlZCBjb2xvcnMKCSAgQWxzbyBtYWtlIHRoZSBjYWxjdWxhdGlvbiBtdWNoIG1vcmUgYWNjdXJhdGUuLi4KCjIwMTAtMTAtMDYgMTU6MjE6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkgIGNocm9tYWhvbGQ6IE1ha2UgZXZlcnl0aGluZyBncmV5c2NhbGUgaWYgdGhlIHRhcmdldCBjb2xvciBpcyBncmV5CgoyMDEwLTEwLTA2IDExOjU1OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcmVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuaDoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RwbHVnaW4uYzoKCSAgY2hyb21haG9sZDogQWRkIGNocm9tYWhvbGQgY29sb3IgZWZmZWN0CgkgIFRoaXMgZWZmZWN0IGNvbnZlcnRzIGFsbCBjb2xvcnMgZXhjZXB0IGEgc2luZ2xlIG9uZSB0bwoJICBncmV5LiBUaGUgY29sb3IgaXMgc2VsZWN0ZWQgYnkgYW4gUkdCIHRyaXBsZSBhbmQgYQoJICB0b2xlcmFuY2UgZm9yIHRoZSBjb2xvciBtYXRjaGluZyBpbiBodWUgZGVncmVlIGNhbiBiZSBzcGVjaWZpZWQuCgoyMDEwLTEwLTA1IDE3OjA0OjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IGZpeCBhbmQgcmVmbG93IHNvbWUgZXhpdHMKCjIwMTAtMTAtMDUgMTY6NTY6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogZXJyb3Igb3V0IGlmIG5vIHN0cmVhbXMgZm91bmQgaW4gc2RwIG1lc3NhZ2UKCjIwMTAtMTAtMDUgMTY6NDc6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogdW5icmVhayBzdGFuZGFyZCBtYW5hZ2VyIHNldHVwCgoyMDEwLTEwLTA1IDExOjQ0OjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGlnbm9yZSBtb3JlIHVuaXQgdGVzdCBiaW5hcmllcwoKMjAxMC0xMC0wNSAxMTo0Mjo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvYWxzYXNwZGlmL01ha2VmaWxlLmFtOgoJKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzoKCSogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBtNC9NYWtlZmlsZS5hbToKCSogbTQvZ3N0LWFsc2EubTQ6CgkgIGFsc2FzcGRpZjogcmVtb3ZlIGFsc2FzcGRpZnNpbmsgZWxlbWVudAoJICBSZW1vdmUgYWxzYXNwZGlmc2luaywgaXQncyBub3QgbmVlZGVkIGFueSBsb25nZXIuIGFsc2FzaW5rIGluIC1iYXNlCgkgIGhhcyBiZWVuIGFibGUgdG8gaGFuZGxlIFNQRElGIGZvciBhIHdoaWxlIG5vdy4KCjIwMTAtMTAtMDUgMTE6MTc6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgUmV2ZXJ0ICJiYXNlcGFyc2U6IGFkZCBza2lwIHByb3BlcnR5IgoJICBUaGlzIHJldmVydHMgY29tbWl0IGI1YTNkNjAzNjNkODM3YTEwZjA1MzNjMTQxZWM5M2QxMGI3NDIzMTIuCgkgIFJldmVydGluZyB0aGlzIGZvciBub3csIHNpbmNlIG5vIG9uZSByZWFsbHkgc2VlbXMgdG8gcmVtZW1iZXIgd2h5IHRoaXMKCSAgcHJvcGVydHkgZXhpc3RzIG9yIHdoYXQgaXQgY291bGQgcG9zc2libHkgYmUgZ29vZCBmb3IuIEl0IHNlZW1zIHRvIGhhdmUKCSAgYmVlbiBpbiB0aGUgb3JpZ2luYWwgbXAzcGFyc2Ugc2luY2UgdGhlIGJlZ2lubmluZyBvZiB0aW1lIGFuZCB3YXMgYmFjay0KCSAgcG9ydGVkIGZyb20gdGhlcmUuCgoyMDEwLTEwLTA0IDEwOjQxOjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZ3MKCSAgVGhlc2Ugd2FybmluZ3MgYXJlIHdyb25nLCB0aGUgdmFyaWFibGVzIGFyZSBvbmx5IHVzZWQgaWYgdGhleSB3ZXJlCgkgIGluaXRpYWxpemVkIGJ5IHRoZSBiaXQgcmVhZGVyLgoKMjAxMC0wOS0xNCAwMjo0ODo1OCArMDMwMCAgRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0BnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGZpeCBwaWN0dXJlIHBhcnNpbmcKCSAgU2lnbmVkLW9mZi1ieTogRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0BnbWFpbC5jb20+CgoyMDEwLTEwLTAzIDIzOjU0OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogUHVzaCB0YWdzIGJlZm9yZSB0aGUgaGVhZGVyIGJ1ZmZlcnMgYXJlIHB1c2hlZAoKMjAxMC0wOC0wMiAyMDo1MDoyMSArMDMwMCAgRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0BnbWFpbC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHRyaXZpYWwgY2FwcyBmaXgKCSAgU2lnbmVkLW9mZi1ieTogRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0BnbWFpbC5jb20+CgoyMDEwLTEwLTAzIDIzOjQ1OjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogQWRkIEdfUEFSQU1fU1RBVElDX1NUUklOR1MKCSAgQWRkIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgdG8gcXRtdXggcHJvcGVydGllcwoKMjAxMC0xMC0wMyAyMzoxNDo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IHZhbHZlOiBGaXggdGVzdHMgYnVpbGQKCSAgQWRkcyBtaXNzaW5nIGNmbGFncy9saWJzIHRvIHZhbHZlIGNoZWNrIHRlc3QgdG8KCSAgZml4IGJ1aWxkCgoyMDEwLTEwLTAzIDIzOjUwOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyOiBMZXQgdGhlIGZvcm1hdCBzdHJpbmcgYWdyZWUgd2l0aCB0aGUgcGFyYW1ldGVycyB0byBmaXggY29tcGlsZXIgd2FybmluZwoKMjAxMC0xMC0wMyAxNTo1NToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1OiBDaGVjayByZXR1cm4gdmFsdWVzIG9mIHRoZSBiaXRyZWFkZXIgZnVuY3Rpb25zCgoyMDEwLTEwLTAzIDE1OjQxOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IFVzZSB1bmNoZWNrZWQgdmVyc2lvbnMgb2YgdGhlIGJpdHJlYWRlciBnZXQgZnVuY3Rpb25zCgkgIFdlIGRpZG4ndCBjaGVjayB0aGUgcmV0dXJuIHZhbHVlcyBhbnl3YXkuLi4KCjIwMTAtMDktMjggMTM6NTI6MjkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICB2YWx2ZTogbm8gbmVlZCB0byByZWYgdGhlIG9iamVjdCBpbiBfY2hhaW4KCSAgRG9uJ3QgcmVmIHRoZSBwYWQgaW4gY2hhaW4sIGxpa2UgZWxzZXdoZXJlCgoyMDEwLTA5LTIyIDE1OjQ0OjQzICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogRml4IGRlYnVnIG91dHB1dAoJICBXZSBsb3NlIHRoZSByZWZlcmVuY2UgdG8gdGhlIGJ1ZmZlciBhZnRlciBnc3RfcGFkX3B1c2goKSwgc28gdGhlIGRlYnVnCgkgIHByaW50IHNob3VsZCBoYXBwZW4gYmVmb3JlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIyMjc2CgoyMDEwLTEwLTAxIDEyOjM0OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbGFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5oOgoJICBhdWRpb3BhcnNlcnM6IGFkZCBmbGFjcGFyc2UgdW5pdCB0ZXN0CgkgIC4uLiBhbmQgdHdlYWsgcGFyc2VyIHRlc3QgaGVscGVyIGluIHRoZSBwcm9jZXNzLgoKMjAxMC0wOS0yOSAxNjoxMjo0MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHN1cHBvcnQgcmV2ZXJzZSBwbGF5YmFjawoJICAuLi4gaW4gcHVsbCBtb2RlIG9yIHVwc3RyZWFtIGRyaXZlbi4KCjIwMTAtMDktMjcgMTI6MTY6NDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZW1vdmUgZG9uZSBUT0RPcyBhbmQgdXBkYXRlIGRvY3VtZW50YXRpb24KCjIwMTAtMDktMjUgMTQ6NDA6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2UgZGV0ZXJtaW5lZCBzZWVrYWJpbGl0eSBpbiBhbnN3ZXJpbmcgU0VFS0lORyBxdWVyeQoKMjAxMC0wOS0yNSAxNDozMjowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGFkZCBza2lwIHByb3BlcnR5CgoyMDEwLTA5LTI1IDEzOjU5OjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYzNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnYXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IGFkZCBhYzNwYXJzZSBhbmQgbXBlZ2F1ZGlvcGFyc2UgdW5pdCB0ZXN0CgoyMDEwLTA5LTI1IDEzOjU5OjE4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBtcGVnYXVkaW9wYXJzZTogaW5pdGlhbCB2ZXJzaW9uCgkgIC4uLiBhZGVxdWF0ZWx5IGVxdWl2YWxlbnQgdG8gbXAzcGFyc2UsIHNvIGxldHMgYm9sZGx5IHNldCBpdAoJICB0byBoaWdoZXIgcmFuay4KCjIwMTAtMDktMjUgMTQ6MDE6MDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogc2V0IG1pbmltdW0gZnJhbWUgc2l6ZSBhdCBfc3RhcnQKCSAgLi4uIHJhdGhlciB0aGFuIG9uZSB0aW1lIGF0IF9pbml0LgoKMjAxMC0wOS0yNSAxMzo1MDo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2VfZGF0YS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZV9kYXRhLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuaDoKCSAgYXVkaW9wYXJzZXJzOiByZWZhY3RvciBleGlzdGluZyB1bml0IHRlc3RzIHVzaW5nIGNvbW1vbiBoZWxwZXIKCjIwMTAtMDktMjIgMTU6MDc6MDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiB1c2UgX3NldF9mcmFtZV9wcm9wcyB0byBjb25maWd1cmUgZnJhbWUgbGVhZF9pbiBhbmQgbGVhZF9vdXQKCSAgLi4uIHByb3ZpZGVkIGEgY29ycmVzcG9uZGluZyBkZWNvZGVyIHdpdGggc3VmZmljaWVudCBsZWFkaW5nIGFuZCBmb2xsb3dpbmcKCSAgZnJhbWVzIHRvIGNhcnJ5IG91dCBmdWxsIGRlY29kaW5nIGZvciBhIHBhcnRpY3VsYXIgc2VnbWVudC4KCjIwMTAtMDktMjIgMTQ6MTM6MTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB1c2UgX3NldF9kdXJhdGlvbiB0byBjb25maWd1cmUgZHVyYXRpb24gdXBkYXRlIGludGVydmFsCgkgIC4uLiBhcyBpdCBsb2dpY2FsbHkgYmVsb25ncyB0aGVyZSBhcyBvbmUgb3IgdGhlIG90aGVyOyBlaXRoZXIgc3ViY2xhc3MKCSAgY2FuIHByb3ZpZGUgYSBkdXJhdGlvbiwgb3IgYW4gZXN0aW1hdGUgbXVzdCBiZSBtYWRlIChyZWd1YXJseSB1cGRhdGVkKS4KCjIwMTAtMDktMjIgMTM6NTU6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBsb2NhbGl6ZSB1c2Ugb2YgcHJvdmlkZWQgZnBzIGluZm9ybWF0aW9uCgoyMDEwLTA5LTIyIDEyOjEzOjEyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogc2VlayB0YWJsZSBhbmQgYWNjdXJhdGUgc2VlayBzdXBwb3J0CgoyMDEwLTA5LTIxIDEzOjU3OjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJvcGVyIGFuZCBtb3JlIGV4dGVuZGVkIHNlZ21lbnQgYW5kIHNlZWsgaGFuZGxpbmcKCSAgVGhhdCBpcywgbG9vcCBwYXVzZSBoYW5kbGluZywgc2VnbWVudCBzZWVrIHN1cHBvcnQsIG5ld3NlZ21lbnQgZm9yIGdhcHMsIGV0YwoKMjAxMC0wOS0yMSAxMDo1NzowNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGFkZCBpbmRleCBzdXBwb3J0CgoyMDEwLTA5LTIxIDA5OjU5OjU2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVmYWN0b3Igc3RhdGUgcmVzZXQKCjIwMTAtMDktMjAgMTY6Mzk6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcmV2ZW50IGluZGVmaW5pdGUgcmVzeW5jaW5nCgoyMDEwLTA5LTIwIDEzOjU3OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogc3BlY2lmaWMgRU9TIGhhbmRsaW5nIGlmIG5vIG91dHB1dCBzbyBmYXIKCjIwMTAtMDktMjAgMTM6MzE6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhZGp1c3QgX3NldF9mcmFtZV9wcm9wIGRvY3VtZW50YXRpb24gYW5kIHNldCBkZWZhdWx0IGFzIGNsYWltZWQKCjIwMTAtMDktMjAgMTM6MzA6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggYml0cmF0ZSBjb3B5LWFuZC1wYXN0ZSBhbmQgdXBkYXRlIGhldXJpc3RpYwoKMjAxMC0wOS0xNyAxODozMzoyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHBvc3QgZHVyYXRpb24gbWVzc2FnZSBpZiBhdmVyYWdlIGJpdHJhdGVzIGlzIHVwZGF0ZWQKCjIwMTAtMDktMTcgMTg6MjQ6MjIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IHJlbW92ZSBpc19zZWVrYWJsZSB2bWV0aG9kIGFuZCB1c2UgYSBzZXRfc2VlayBpbnN0ZWFkCgkgIFNlZWthYmlsaXR5LCBsaWtlIGR1cmF0aW9uLCBldGMgaXMgdW5saWtlbHkgdG8gY2hhbmdlIChmcmVxdWVudGx5KSwgYW5kCgkgIHRoZSBkZWZhdWx0IGFzc3VtcHRpb24gY292ZXJzIG1vc3QgY2FzZXMsIHNvIGxldCBzdWJjbGFzcyBzZXQgd2hlbiBuZWVkZWQuCgkgIEF0IHRoZSBzYW1lIHRpbWUsIGFsbG93IHN1YmNsYXNzIHRvIGluZGljYXRlIGlmIGl0IGhhcyBzZWVrLW1ldGFkYXRhICh0YWJsZSkKCSAgYXZhaWxhYmxlLCBhbmQgcG9zc2libHkgaGF2ZSBpdCBwcm92aWRlIGFuIGF2ZXJhZ2UgYml0cmF0ZS4KCjIwMTAtMDktMTcgMTc6MzU6NDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogcmVtb3ZlIHJlZHVuZGFudCBkZWZhdWx0IGlzX3NlZWthYmxlCgoyMDEwLTA5LTE3IDE3OjIxOjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogYWRkIGFub3RoZXIgaG9vayBmb3Igc3ViY2xhc3MgcHJpb3IgdG8gcHVzaGluZyBidWZmZXIKCSAgLi4uIGFuZCBhbGxvdyBzdWJjbGFzcyB0byBwZXJmb3JtIGN1c3RvbSBzZWdtZW50IGNsaXBwaW5nLCBvciB0bwoJICBlbWl0IHRhZ3Mgb3IgbWVzc2FnZXMgYXQgdGhpcyB0aW1lLgoKMjAxMC0wOS0xNyAxNzoxOTozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IDAgY29udmVydHMgdG8gMCBieSBkZWZhdWx0CgoyMDEwLTA5LTE2IDE4OjU2OjQ2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXNlOiByZWZhY3RvciBjb252ZXJzaW9uIHVzaW5nIGhlbHBlciBmdW5jdGlvbiBhbmQgZXhwb3J0IGRlZmF1bHQgY29udmVydAoKMjAxMC0wOS0xNiAxODozNTo0NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHN0cmVhbWxpbmUgcXVlcnkgaGFuZGxpbmcKCjIwMTAtMDktMTYgMTE6NTE6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBjbGVhbnVwIHN0cnVjdCBhbmQgcmVtb3ZlIHVudXNlZCBtZW1iZXIKCjIwMTAtMDgtMTYgMTE6MDQ6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiBpbmNyZWFzZSByYW5rcyB0byBlbmFibGUgYXV0by1wbHVnZ2luZwoJICBCZWNhdXNlIHdlIGNhbiwgYW5kIHNob3VsZCwgaGF2ZSBzb21lIHNoYWtlZG93biB0ZXN0aW5nIGJlZm9yZSBoYXZpbmcKCSAgdGhlc2UgbWFrZSBpdCBpbnRvIC1nb29kIGxhdGVyIG9uIC4uLgoKMjAxMC0wOS0yMiAxNjowNzoyNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IEFsbG93IGNoYWluaW5nIG9mIHN1YmNsYXNzIGV2ZW50IGhhbmRsZXJzCgkgIFRoaXMgYWxsb3dzIHRoZSBjaGlsZCBjbGFzcyB0byBjaGFpbiBpdHMgZXZlbnQgaGFuZGxlciB3aXRoCgkgIEdzdEJhc2VQYXJzZSwgc28gdGhhdCBzdWJjbGFzc2VzIGRvbid0IGhhdmUgdG8gZHVwbGljYXRlIGFsbCB0aGUgZGVmYXVsdAoJICBldmVudCBoYW5kbGluZyBsb2dpYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjI3NgoKMjAxMC0wOS0zMCAxNzo0ODozNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmFsdmUuYzoKCSAgdGVzdHM6IEZpeCBjYXBzIGxlYWsgaW4gdGhlIHZhbHZlIHRlc3QKCjIwMTAtMDktMzAgMTc6MjQ6MjkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92YWx2ZS5jOgoJICB2YWx2ZTogQWRkIHVuaXQgdGVzdHMKCSAgQWRkIGEgdW5pdCB0ZXN0IGZvciB0aGUgdmFsdmUgZWxlbWVudC4KCjIwMTAtMDktMzAgMTY6MjY6MTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuaDoKCSAgdmFsdmU6IE1ha2UgdGhlIGRyb3AgdmFyaWFibGUgaW50byBhbiBhdG9taWMuCgkgIFVzaW5nIGFuIGF0b21pYyBhbGxvd3MgdXMgdG8gYXZvaWQgbG9ja2luZyB0aGUgd2hvbGUgb2JqZWN0IGFsbCB0aW1lIHRpbWUuCgkgIEFzIHN1Z2dlc3RlZCBieSBTdGVmYW4gS29zdC4KCjIwMTAtMDktMzAgMTY6MjI6MDQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICB2YWx2ZTogQ29ycmVjdGx5IHNldCB0aGUgRElTQ09OVCBmbGFnIGFmdGVyIGRyb3BwaW5nIGJ1ZmZlcnMKCjIwMTAtMDktMzAgMTY6MTY6NDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICB2YWx2ZTogUmVtb3ZlIHN1cGVyZmxvdXMgY2hlY2tpbmcgY2FzdHMKCjIwMTAtMDktMzAgMTY6MTM6MjMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICB2YWx2ZTogRml4IHN0eWxlLCBpbXByb3ZlIGNvbW1lbnRzCgkgIE1pbm9yIGltcHJvdmVtZW50cyB0byB0aGUgY29tbWVudHMgYW5kIGJyZWFrIGEgZmV3IG92ZXJseSBsb25nIGxpbmVzCgoyMDEwLTA5LTMwIDE2OjA3OjI5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBJbXByb3ZlIGRvY3VtZW50YXRpb24KCSAgQWRkIGFuIGV4YW1wbGUgcGlwZWxpbmUsIGFuZCB0cnkgdG8gZXhwbGFpbiBhIGJpdCBtb3JlIHdoYXQgaXQgZG9lcy4KCjIwMTAtMDktMjkgMTc6MzQ6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBEbyBub3Qgd3JvbmdseSBmYWlsIHdoZW4gc3RhcnRpbmcgYSBjYXB0dXJlCgkgIElmIHRoZSBlbGVtZW50cyBhcmUgaW4gTlVMTC9SRUFEWSBhbmQgY2hhbmdpbmcgc3RhdGUgdG8KCSAgUEFVU0VEL1BMQVlJTkcgd2hpbGUgYSBjYXB0dXJlIGlzIHN0YXJ0ZWQKCSAgY2FtZXJhYmluIG1pZ2h0IG5vdCBzZXQgdGhlIGFjdGl2ZV9iaW4gcHJvcGVybHkgY2F1c2luZyB0aGUKCSAgY2FwdHVyZSBzdGFydCB0byBmYWlsLgoJICBUaGlzIHBhdGNoIGZpeGVzIGl0IGJ5IGNoZWNraW5nIHRoZSBjdXJyZW50IGFuZCBwZW5kaW5nIHN0YXRlCgkgIG9mIHRoZSBicmFuY2hlcyBpbnN0ZWFkIG9mIG9ubHkgdGhlIGN1cnJlbnQgb25lCgoyMDEwLTA5LTI5IDEwOjEzOjA2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogcmV2ZXJzZSBwbGF5YmFjazsgY2F0ZXIgZm9yIGRlY29kZXIgZGVsYXkKCSAgLi4uIHRoZXJlYnkgYWN0dWFsbHkgdXNpbmcgdGhlIGdhdGhlciBhbmQgZGVjb2RlIHF1ZXVlcy4KCjIwMTAtMDktMjkgMTA6MDg6MTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiB0d2VhayBvdXRwdXQgYnVmZmVyIHRpbWVzdGFtcGluZwoJICBJbiBwYXJ0aWN1bGFyLCBhdm9pZCBwYWNrZXRpc2VkIGlucHV0IGxlYWRpbmcgdG8gaW5pdGlhbCB0byBub24tMCBvdXRwdXQgdHMuCgoyMDEwLTA5LTI4IDE2OjIwOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogVXNlIHN0YXRpYyBjYXBzIGluc3RlYWQgb2YgY29udmVydGluZyBzdHJpbmdzIHRvIGNhcHMgYWxsIHRoZSB0aW1lCgoyMDEwLTA5LTI4IDE2OjE0OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogRml4IGNyYXNoZXMgaWYgcGx1Z2lucyBkb24ndCBwcm92aWRlIGNvcnJlY3QgcHJvcGVydHkgaW5mb3JtYXRpb24KCSAgVGhlIHZlcnRpZ28gcGx1Z2luIGZvciBleGFtcGxlIGNsYWltcyB0byBoYXZlIDMgcHJvcGVydGllcyBidXQKCSAgdGhlIDNyZCBwcm9wZXJ0eSBkb2VzIG5vdGhpbmcgYW5kIGhhcyBhIE5VTEwgbmFtZS4KCSAgRml4ZXMgYnVnICM2MzA3ODMuCgkgIFRoYW5rcyB0byBNYXJ0dGkgS8O8aG5lIGZvciBkZWJ1Z2dpbmcgdGhpcy4KCjIwMTAtMDktMjggMTQ6MjY6MTEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICB2YWx2ZTogbW92ZSBkZWZhdWx0OiBwYXJzdCBpbiB0aGUgc3dpdGNoIHN0YXRlbWVudCB0byB0aGUgZW5kCgkgIE5vdyBzdXJlIGlmIGl0IG1hdHRlcnMsIGJ1dCB0aGUgcHJldmlvdXMgZm9ybSBsb29rcyB3ZWlyZWQuCgoyMDEwLTA5LTI4IDE0OjIzOjAxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgdmFsdmU6IG1vdmUgZGVidWctY2F0ZWdvcnkgcmVnaXN0cmF0aW9uIHRvIHR5cGUgaW5pdAoKMjAxMC0wOS0yOCAxNDoyMjoxOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiBtb3ZlIGRlYnVnLWNhdGVnb3J5IHJlZ2lzdHJhdGlvbiB0byB0eXBlIGluaXQKCjIwMTAtMDktMjggMTQ6MTc6NDUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogR1NUX0JPSUxFUlBMQVRFIGFscmVhZHkgc2V0cyBwYXJlbnRfY2xhc3MKCjIwMTAtMDktMjggMTQ6MTY6NTggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogdXNlIGJhc2VfaW5pdCBmb3IgcGFkX3RlbXBsYXRlcyBhbmQgZWxlbWVudF9kZXRhaWxzCgoyMDEwLTA5LTI4IDE0OjE1OjU3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IHVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIG9uIHByb3BlcnRpZXMKCjIwMTAtMDktMjggMTQ6MTU6MTMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICB2YWx2ZTogdXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1Mgb24gcHJvcGVydGllcwoKMjAxMC0wOS0yOCAxNDowNzozOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIHZhbHZlOiBHU1RfQk9JTEVSUExBVEUgYWxyZWFkeSBzZXRzIHBhcmVudF9jbGFzcwoKMjAxMC0wOS0yOCAxNDowODoyOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmM6CgkgIHZpZGVvbWVhc3N1cmU6IEdTVF9CT0lMRVJQTEFURSBhbHJlYWR5IHNldHMgcGFyZW50X2NsYXNzCgoyMDEwLTA5LTI4IDExOjM1OjUzICswMzAwICBIdSBHYW5nIDxnYW5nLmEuaHVAaW50ZWwuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJICBwaG90b2dyYXBoeTogZXh0ZW5kIHBob3RvZ3JhcGh5IGlmYWNlCgkgIEFkZCBtb3JlIGNvbG9yIHRvbmUgbW9kZXMgYW5kIGFkZCBOb3NlUmVkdWN0aW9uIHNldHRpbmdzLgoJICBGaXhlcyAjNjE2ODE0LgoKMjAxMC0wOS0yNiAyMDo0MToyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmRzcmM6IGltcHJvdmUgZXJyb3IgbWVzc2FnZXMgb24gcmVhZCBlcnJvcwoJICBQcm92aWRlIGkxOG4tZWQgZXJyb3IgbWVzc2FnZXMgd2hlbiBhIHJlYWQgZXJyb3IgaGFwcGVucywKCSAgYW5kIHBvaW50IG91dCB0aGF0IHRoZSBlcnJvciBjb3VsZCBiZSBoYXBwZW5pbmcgYmVjYXVzZSB0aGUKCSAgRFZEIGlzIHNjcmFtYmxlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMzYzMwoKMjAxMC0wOS0yNCAwMDowNToxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogc2V0IHBsdWdpbiByZWxlYXNlIGRhdGV0aW1lCgoyMDEwLTA5LTI1IDEyOjMzOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vZmEvZ3N0b2ZhLmM6CgkgIG9mYTogQ2FsbCBnX29iamVjdF9ub3RpZnkoKSBhZnRlciB0aGUgZmluZ2VycHJpbnQgd2FzIGNyZWF0ZWQKCjIwMTAtMDktMjUgMTA6NDY6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuaDoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmg6CgkgIGZyZWkwcjogRml4IHNjYW5uaW5nIG9mIHBsdWdpbiBzdWJkaXJlY3RvcmllcyBhbmQgc3VwcG9ydCBkaWZmZXJlbnQgdmVuZG9ycwoJICBUaGUgZnJlaTByIHNwZWMgc3BlY2lmaWVzLCB0aGF0IHBsdWdpbnMgY2FuIGJlIGluIHN1YmRpcmVjdG9yaWVzIGluc2lkZQoJICB0aGUgbWFpbiBwbHVnaW4gZGlyZWN0b3JpZXMgdG8gaW50cm9kdWNlIG5ldyBuYW1lc3BhY2VzIGNhbGxlZCB2ZW5kb3JzLgoKMjAxMC0wOS0yNCAyMjo0NzowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2ZyZWkwci5oOgoJICBmcmVpMHI6IFVwZGF0ZSBmcmVpMHIgaW50ZXJmYWNlIHNwZWNpZmljYXRpb24gdG8gMS4yCgoyMDEwLTA5LTI0IDIyOjQzOjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogQWRkIHN1cHBvcnQgZm9yIHRoZSBGUkVJMFJfUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZQoJICBUaGlzIHdhcyBhZGRlZCBpbiB2ZXJzaW9uIDEuMiBvZiB0aGUgc3BlYyBhbmQgcmVwbGFjZXMgdGhlIGRlZmF1bHQKCSAgbGlzdCBvZiBkaXJlY3Rvcmllcy4KCjIwMTAtMDktMjMgMTQ6MTU6MDggKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBpbml0aWFsaXplIGludGVydmFsX3RzIGFuZCBsYXN0X2ZyYW1lc18qIGNvdW50ZXJzCgkgIEluaXRpYWxpemUgaW50ZXJ2YWxfdHMgdG8gZmlyc3QgUU9TIGV2ZW50IHRpbWVzdGFtcCwgb3RoZXJ3aXNlIHRoZQoJICBmcHMgc3RhdGlzdGljcyBhcmUgcHJpbnRlZCBhbHdheXMgYWZ0ZXIgb25lIHJlbmRlcmVkIGZyYW1lLgoJICBBbHNvLCBpbml0aWFsaXplIGxhc3RfZnJhbWVzXyogY291bnRlcnMsIHRoZSB2YWx1ZXMgYXJlIGJvZ3VzIGUuZy4gYWZ0ZXIKCSAgUExBWUlORy1OVUxMLVBMQVlJTkcgc3RhdGUgY2hhbmdlLgoKMjAxMC0wOS0yNCAxMzoyOTo1NSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTAtMDktMjQgMTM6MjU6MjIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiByZW1vdmUgdW51c2VkIHNpZ25hbCBib2lsZXJwbGF0ZQoKMjAxMC0wOS0yNCAxMzoyNDo0OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBubyBuZWVkIHRvIHJlZiBwYWQgaW4gX2NoYWluKCkKCjIwMTAtMDktMjIgMjM6NDE6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSAgY2FtZXJhYmluOiBleGFtcGxlOiBtYWtlIGdzdC1jYW1lcmEgdXNlIGZsYWdzCgkgIEVuYWJsZSBhbGwgY29udmVydGlvbiBmbGFncyBpbiBnc3QtY2FtZXJhIGV4YW1wbGUgYXBwCgkgIGZvciBzYWZldHkuCgkgIEZpeGVzICM2MDMwNjMKCjIwMTAtMDktMjIgMjM6Mzk6MDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSAgY2FtZXJhYmluOiBBZGRzIG5ldyB2aWRlby1jb2xvcnNwYWNlLWZsYWcgdG8gZmxhZ3MKCSAgQWRkcyBhIG5ldyBmbGFnIHRvIGFsbG93IGEgY29sb3JzcGFjZSBjb252ZXJ0aW9uIGJlZm9yZQoJICB0aGUgdmlkZW8gZW5jb2RlciBlbGVtZW50LgoJICBGaXhlcyAjNjAzMDYzCgoyMDEwLTA5LTIyIDIyOjM5OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFVzZSBsaW5rX2Z1bGwgdmVyc2lvbiBmb3IgZGlzYWJsaW5nIGhpZXJhcmNoeSBjaGVjawoJICBEaXNhYmxlIGhpZXJhcmNoeSBjaGVja3Mgd2hlbiBsaW5raW5nIGJlY2F1c2Ugd2UgYXJlIGFscmVhZHkKCSAgaGFuZGxpbmcgdGhlIGVsZW1lbnQgYWRkaW5nIHRvIGJpbnMgYW5kIGl0IHNob3VsZCBiZSBkb25lCgkgIGNvcnJlY3RseS4KCjIwMTAtMDktMjIgMjE6MDM6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFNldCBxdWV1ZXMgdG8gc2lsZW50CgkgIFdlIGN1cnJlbnRseSBkb24ndCB1c2UgcXVldWVzJyBzaWduYWxzLCBzbyBzZXQgdGhlbQoJICB0byBzaWxlbnQuCgoyMDEwLTA5LTIyIDExOjU3OjI4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSAgc2Nocm9kZWM6IEZpeCBjbGFzcyBkZWZpbml0aW9uCgkgIENsYXNzIHN0cnVjdHVyZXMgc2hvdWxkIGluY2x1ZGUgcGFyZW50IGNsYXNzLCBub3QgdGhlIHBhcmVudAoJICBpbnN0YW5jZSBzdHJ1Y3R1cmUuCgoyMDEwLTA5LTIyIDE2OjQxOjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuaDoKCSAgcGNhcHBhcnNlOiBmaXggd2VpcmQgY2FwcyBjb2RlCgkgIFJlbW92ZSB0aGUgd2VpcmQgKGZhaWxpbmcpIGNvZGUgdG8gZmlndXJlIG91dCBjYXBzIG9uIHRoZSBzcmNwYWQuCgkgIEFkZCBhIGNhcHMgcHJvcGVydHkgdG8gZGVjaWRlIHdoYXQgY2FwcyB0byBwdXQgb24gdGhlIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIEZpeCBhbiBldmVudCBsZWFrLgoKMjAxMC0wOS0yMSAxODoxMzozNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IHF1aWV0IGEgR1NUX0VSUk9SCgoyMDEwLTA5LTIxIDE5OjA3OjA1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4Lmg6CgkgIHNkcGRlbXV4OiBhZGQgcHJvcGVydHkgdG8gZGlzYWJsZSByZWRpcmVjdAoJICBBZGQgYSBwcm9wZXJ0eSB0byBhdm9pZCByZWRpcmVjdGlvbiB0byB0aGUgcnRzcC1zZHA6Ly8gdXJsIGJ1dCBpbnN0ZWFkIGVtYmVkcyBhbgoJICBydHNwc3JjIGVsZW1lbnQgaW5zaWRlIHNkcGRlbXV4IGFzIHRoZSBzZXNzaW9uIG1hbmFnZXIuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hcmNvIEJhbGxlc2lvLgoJICBGaXhlcyAjNjMwMDQ2CgoyMDEwLTA5LTIxIDE4OjQ1OjAzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgc2RsdmlkZW9zaW5rOiBGaXggZnVuY3Rpb24gcHJvdG90eXBlIGZvciB0b3VjaHkgY29tcGlsZXJzCgoyMDEwLTA5LTIxIDE4OjM0OjE5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwODBlMDI1IHRvIDVlM2M5YmYKCjIwMTAtMDktMjEgMTY6MzE6MDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICBzZGw6IFBvcnQgdG8gbmV3IFhPdmVybGF5IEFQSQoJICBGaXhlcyAjNjMwMjUzCgoyMDEwLTA5LTIxIDE2OjI2OjM0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSAgdmRwYXU6IFVzZSB0aGUgbmV3IFhPdmVybGF5IEFQSQoJICBGaXhlcyAjNjMwMjU0CgoyMDEwLTA5LTIxIDEwOjU5OjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgY2FtZXJhYmluOiBleGFtcGxlczogZG8gbm90IHVzZSBkZXByZWNhdGVkIEdzdFhPdmVybGF5IGZ1bmN0aW9ucwoJICBSZXBsYWNlIHRoZSBkZXByZWNhdGVkIGdzdF94X292ZXJsYXlfc2V0X3h3aW5kb3dfaWQgd2l0aAoJICBnc3RfeF9vdmVybGF5X3NldF93aW5kb3dfaGFuZGxlCgkgIEZpeGVzICM2MzAyNTUKCjIwMTAtMDktMjEgMTI6MzM6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVzZSAtREdTVF9ESVNBQkxFX0RFUFJFQ0FURUQgYWdhaW4gZm9yIEdJVCB2ZXJzaW9ucwoKMjAxMC0wOS0yMSAxMjoyOTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJICBkc2hvd2RlY3dyYXBwZXI6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgkgIEFuZCBkb24ndCBlcnJvciBvdXQgb24gVU5FWFBFQ1RFRAoKMjAxMC0wOS0yMSAxMjoyNzo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJICBzcGM6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA5LTIxIDEyOjI3OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSAgbXBsZXg6IERvbid0IHVzZSBHU1RfRkxPV19JU19TVUNDRVNTKCkKCjIwMTAtMDgtMjcgMTk6MTc6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvcGl0Y2gtdGVzdC5jOgoJICBwaXRjaC10ZXN0OiBEb24ndCB1c2UgZGVwcmVjYXRlZCBHc3RDb250cm9sbGVyIEFQSQoKMjAxMC0wOC0yNyAxOTowMDozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSAgdGltaWRpdHk6IERvbid0IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGZvciBVTkVYUEVDVEVECgkgIEFsc28gZG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTk6MDA6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxODo1ODoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IFBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGZvciBmYXRhbCBlcnJvcnMKCSAgQWxzbyBkb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKS4KCjIwMTAtMDgtMjcgMTg6NTY6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzaW5rLmM6CgkgIHNmc2luazogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTg6NTI6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJICB0dGFwYXJzZTogRG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIFVORVhQRUNURUQKCSAgQWxzbyBkb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxODo1MTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfU1VDQ0VTUygpCgoyMDEwLTA4LTI3IDE4OjUxOjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICByYXdwYXJzZTogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTg6NTA6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgIG51dmRlbXV4OiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoJICBBbmQgZG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIGZvciBXUk9OR19TVEFURSBvciBVTkVYUEVDVEVELgoKMjAxMC0wOC0yNyAxODo0OToxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJKiBnc3QvbnNmL25lc19hcHUuYzoKCSAgbnNmOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxODo0ODoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxODo0NzowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlZGVtdXguaDoKCSAgbXZlZGVtdXg6IEFkZCBwcm9wZXIgZmxvdyByZXR1cm4gYWdncmVnYXRpb24KCSAgTk9UX0xJTktFRCBzaG91bGQgb25seSBiZSByZXR1cm5lZCBpZiBhbGwgc3RyZWFtcyByZXR1cm5lZCBOT1RfTElOS0VELgoKMjAxMC0wOC0yNyAxODo0MTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ2RlbXV4OiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoJICBBbmQgZml4IHNvbWUgbWlub3IgaXNzdWVzIHJlbGF0ZWQgdG8gaXRzIHVzYWdlLgoKMjAxMC0wOC0yNyAxODozNjoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE4OjM1OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCSAgQWxzbyBkb24ndCBwb3N0IGFuIGVycm9yIG1lc3NhZ2UgZm9yIFVORVhQRUNURUQgYW5kIGRvIGl0CgkgIGZvciBOT1RfTElOS0VELgoKMjAxMC0wOC0yNyAxODozMzo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkgIGFzZnBhcnNlOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoJICBBbHNvIGRvbid0IHB1c2ggRU9TIGRvd25zdHJlYW0gb24gV1JPTkdfU1RBVEUsIGl0IHdpbGwgYmUgZHJvcHBlZCBhbnl3YXkuCgoyMDEwLTA4LTI3IDE4OjMyOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IERvbid0IHVzZSBHU1RfRkxPV19JU19TVUNDRVNTKCkKCjIwMTAtMDgtMjcgMTg6MzI6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDktMjAgMjE6NDY6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBNZW50aW9uIHBob3RvZ3JhcGh5IGludGVyZmFjZSBpbiBkb2NzCgkgIEFkZCBhIG5vdGUgdG8gZG9jcyBhYm91dCBnZXR0aW5nIHRoZSB2aWRlb3NvdXJjZSBhbmQgYWNjZXNzaW5nCgkgIGl0cyBwaG90b2dyYXBoeSBpbnRlcmZhY2UgKGluIGNhc2UgaXQgaGFzIGl0KQoJICBGaXhlcyAjNjE2OTIzCgoyMDEwLTA4LTI1IDE0OjA0OjU5ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEFkZHMgbWlzc2luZyB2YXJpYWJsZSBpbml0aWFsaXphdGlvbgoJICBBZGRzIG1pc3NpbmcgYXBwX3NyY192aWQgaW5pdGlhbGl6YXRpb24KCjIwMTAtMDgtMjYgMTU6MzM6NTkgKzAzMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGNoZWNrIHN0YXRlIGNoYW5nZSB0byBwbGF5aW5nIGZvciBpbWFnZWJpbiBhbmQgdmlkZW9iaW4KCSAgUHJvcGVybHkgY2hlY2sgYW5kIGhhbmRsZSBlcnJvciBjYXNlcyByZWxhdGVkIHRvIGltYWdlYmluIGFuZAoJICB2aWRlb2JpbiBzdGF0ZSBjaGFuZ2VzLgoKMjAxMC0wNi0yOCAyMTo0ODoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkgIGNhbWVyYWJpbjogUmVtb3ZlIHVzZWxlc3Mgc3JjIHRlbXBsYXRlIHBhZAoJICBjYW1lcmFiaW4gaW1hZ2ViaW4gZG9lc24ndCBuZWVkIGEgc3JjIHRlbXBsYXRlIHBhZC4KCjIwMTAtMDYtMjEgMDk6MzQ6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEZvcndhcmQgdGFnIGV2ZW50cyB0byBwcmV2aWV3IHBpcGVsaW5lCgkgIEZvcndhcmQgdGFnIGV2ZW50cyBmcm9tIGltYWdlIHBpcGVsaW5lIHRvIHByZXZpZXcgcGlwZWxpbmUgc28KCSAgdGhhdCBwcmV2aWV3IGVsZW1lbnRzIGNhbiB1c2UgY2FwdHVyZSB0YWdzIGluZm9ybWF0aW9uCgoyMDEwLTA2LTIxIDE2OjE3OjI0ICswMzAwICBIb3Nlb2sgQ2hhbmcgPGhvc2Vvay5jaGFuZ0Bub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3Lmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiBhZGQgInByZXZpZXctc291cmNlLWZpbHRlciIgcHJvcGVydHkKCSAgQWRkcyAncHJldmlldy1zb3VyY2UtZmlsdGVyJyBmb3IgYWRkaW5nIGFuIGVsZW1lbnQgdG8gcHJvY2Nlc3MKCSAgdGhlIHByZXZpZXcgaW1hZ2VzIGJlZm9yZSBwb3N0aW5nIHRoZW0gdG8gdGhlIGJ1cy4KCjIwMTAtMDUtMjUgMTU6Mzk6NDMgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgY2FtZXJhYmluOiB1cGRhdGUgdGFnIG5hbWVzIGluIHRlc3QgYXBwbGljYXRpb24gdG8gbGF0ZXN0IGdzdCBkZWZpbml0aW9ucwoKMjAxMC0wNS0xNyAxMzo0NDozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IE1ha2UgYmxvY2stYWZ0ZXItY2FwdHVyZSByZXNldHRpbmcgbW9yZSBjb25zaXN0ZW50CgkgIEFkZHMgYW5vdGhlciBib29sZWFuIHRvIGhlbHAgY29udHJvbGxpbmcgdmlld2ZpbmRlciBibG9ja2luZywKCSAgbWFraW5nIGl0IHBvc3NpYmxlIGZvciB0aGUgYXBwbGljYXRpb25zIHRvIHJlc2V0IHRoZSB2aWV3ZmluZGVyCgkgIGJsb2NraW5nIGFmdGVyIGNhcHR1cmUgd2FzIHN0YXJ0ZWQgYnV0IGJlZm9yZSB0aGUgYmxvY2tpbmcKCSAgYWN0dWFsbHkgaGFwcGVucy4KCjIwMTAtMDUtMTIgMjE6MTE6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBVbmJsb2NrIHRoZSB2aWV3ZmluZGVyIHdoZW4gZ29pbmcgdG8gUkVBRFkKCSAgVW5ibG9jayB0aGUgdmlld2ZpbmRlciB3aGVuIGdvaW5nIHRvIHJlYWR5IHRvIGF2b2lkCgkgIGJsb2NraW5nIHdoZW4gc2V0dGluZyBjYW1lcmFiaW4gdG8gcGxheWluZyBhZ2FpbiBhbmQKCSAgYXR0ZW1waW5nIHRvIGNhcHR1cmUuIEtlZXAgdGhlIHByb3BlcnR5IGFzIGlzLgoKMjAxMC0wOS0yMCAxNzoxOTozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGFkZCBtb25pdG9yaW5nIGFuZCBzdXBwb3J0IGZvciBwaG90b2lmYWNlIHpvb20gZm9yIHZpZGVvLXNvdXJjZQoJICBNYWtlcyBjYW1lcmFiaW4gYXdhcmUgb2YgY2hhbmdlcyBpbiBpdHMgdmlkZW9zb3VyY2Ugem9vbSBwcm9wZXJ0eS4KCjIwMTAtMDktMjAgMTY6MjI6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgY2FtZXJhYmluOiBDaGFuZ2Ugem9vbSBwcm9wZXJ0eSBmcm9tIGludCB0byBmbG9hdAoJICBVcGRhdGVzIHpvb20gcHJvcGVydHkgZm9yIGEgbW9yZSBuYXR1cmFsIHR5cGUgYW5kCgkgIG1ha2VzIGl0IGNvbnNpc3RlbnQgd2l0aCB0aGUgcGhvdG9ncmFwaHkgQVBJCgoyMDEwLTA5LTE5IDE4OjUxOjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIHBob3RvZ3JhcGh5OiBBZGQgem9vbSBwcm9wZXJ0eQoJICBBZGRzIGEgcHJvcGVydHkgdG8gc2V0L2dldCB0aGUgem9vbSBhcyBhIGZsb2F0CgoyMDEwLTA2LTA4IDEwOjA0OjUyICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IHJlbW92ZSBjYWNoaW5nIHBob3RvZ3JhcGh5IGludGVyZmFjZSBzZXR0aW5ncwoJICBDYW1lcmFiaW4gZG9lc24ndCBpbXBsZW1lbnQgcGhvdG9ncmFwaHkgaW50ZXJmYWNlLCBzbyB3ZQoJICBkb24ndCBuZWVkIGNhY2hpbmcgdGhlIHZpZGVvIHNvdXJjZSBwcm9wZXJ0aWVzIGFueW1vcmUuCgoyMDEwLTA0LTIyIDE3OjQ2OjU5ICswMzAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW46IHVzZSBwaG90b2lmYWNlIHByb3BlcnRpZXMgdGhyb3VnaCB2aWRlby1zb3VyY2UKCSAgRml4ZXMgIzYxNjkyMwoKMjAxMC0wNC0yMiAxNDowMzozNCArMDMwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogY2FtZXJhYmluOiByZW1vdmUgcGhvdG9pZmFjZSBwcm9wZXJ0eS9zZXR0aW5ncyB0ZXN0cwoJICBGaXhlcyAjNjE2OTIzCgoyMDEwLTA4LTMxIDE4OjA2OjE1IC0wMzAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5Lmg6CgkgIGNhbWVyYWJpbjogcmVtb3ZlIHBob3RvZ3JhcGh5IGludGVyZmFjZSBpbXBsZW1lbnRhdGlvbiBmcm9tIGNhbWVyYWJpbgoJICBSZW1vdmUgbm90aWZ5IHNpZ25hbCBwcm94eSBmb3IgdmlkZW8tc291cmNlLiBBcHBsaWNhdGlvbiBjYW4gdXNlCgkgIHZpZGVvLXNvdXJjZSBkaXJlY3RseSBmcm9tIG5vdyBvbiB0byBnZXQgbm90aWZpZWQgb2YgcHJvcGVydHkgY2hhbmdlcy4KCSAgQWRkIG1vbml0b3Jpbmcgc2NlbmUtbW9kZSBwcm9wZXJ0eSBjaGFuZ2UgdG8gc2VsZWN0IGxvd2VzdCBwb3NzaWJsZQoJICBmcmFtZXJhdGUgZm9yIHZpZGVvIGNhcHR1cmUgd2hlbiBuaWdodCBtb2RlIGlzIHNlbGVjdGVkLgoJICBGaXhlcyAjNjE2OTIzCgoyMDEwLTA0LTI5IDEyOjQ0OjI5ICswMzAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluOiBhZGQgLS1uby14d2luZG93IG9wdGlvbiBhbmQgZml4IG9wdGlvbiBoYW5kbGluZwoJICBBZGQgLS1uby14d2luZG93IG9wdGlvbiB0byBub3QgdG8gY3JlYXRlIHh3aW5kb3cuIEFsc28gZml4IHpvb20gYW5kCgkgIG11dGUgb3B0aW9uIHR5cGVzIGFuZCBmaWxlbmFtZSBzdHJpbmcgaGFuZGxpbmcuCgoyMDEwLTA0LTI5IDEzOjI0OjE4ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90b2dyYXBoeTogQWRkIGltYWdlLXByZXZpZXctc3VwcG9ydGVkLWNhcHMgaW50ZXJmYWNlIHByb3BlcnR5CgkgIEFkZHMgYSByZWFkYWJsZSBwcm9wZXJ0eSB0byBnc3RwaG90b2dyYXBoeSBpbnRlcmZhY2UgdG8gcXVlcnkKCSAgd2hhdCBhcmUgdGhlIGFsbG93ZWQgcHJldmlldyBjYXBzIHN1cHBvcnRlZC4KCSAgUGF0Y2ggYnkgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKMjAxMC0wOS0yMCAxMjozNDowNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJICBiYXNldmlkZW86IFJlbW92ZSB1bnVzZWQgY29kZQoKMjAxMC0wOS0yMCAxMToyNjo1OSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW86IFJlbW92ZSBjaGVjayBmb3Igb2xkIC1iYXNlCgoyMDEwLTA5LTE5IDE5OjMzOjQwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJICBiYXNldmlkZW86IEFkZCBoYW5kbGluZyBvZiBHc3RGb3JjZUtleVVuaXQgZXZlbnRzCgoyMDEwLTA5LTE4IDE5OjI1OjQ5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJICBpbnZ0ZWxlY2luZTogRml4IG5hbWUgb2YgMzBwLzYwaSBwYXR0ZXJuCgoyMDEwLTA5LTE4IDE5OjIxOjQ3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogYWRkIGNhcHR1cmUgcGF0dGVybiBoYW5kbGluZwoJICBNb3ZlIHR5cGljYWwgc2Nhbl9mb3Jfc3luYygpIHVzYWdlIGludG8gYmFzZSBjbGFzcywgd2hpY2gganVzdAoJICBjYWxscyBnc3RfYWRhcHRlcl9tYXNrZWRfc2Nhbl91aW50MzIoKS4KCjIwMTAtMDktMTggMTk6MTQ6MzYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogRG9uJ3QgYmxvdyBhd2F5IGZpZWxkIGluZm9ybWF0aW9uCgkgIEFsc28sIHNldCBmaWVsZCBmbGFncyBjb3JyZWN0bHkuCgoyMDEwLTA5LTE4IDE3OjI4OjQ4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkgIGJhc2V2aWRlbzogTW92ZSBkZWFkbGluZSB0byBmcmFtZSBzdHJ1Y3R1cmUKCjIwMTAtMDktMTggMTQ6NTc6MzIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBBZGQgYWxsb3ctcmZmIHByb3BlcnR5LiAgRml4IHRpbWVzdGFtcGluZwoKMjAxMC0wOS0xOCAxMzozMjowNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IG1lcmdlIHRlbGVjaW5lIGludG8gbm9ybWFsIG9wZXJhdGlvbgoKMjAxMC0wOS0wOCAxNTowODo1MCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBBZGQgdGVsZWNpbmUgc3VwcG9ydAoKMjAxMC0wOS0xNyAwODo0Mzo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvZ3N0Y29nLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkgIGNvZzogQWxsb3cgY29tcGlsYXRpb24gd2l0aG91dCBvcmMKCSAgQWxzbyBkb24ndCBpZ25vcmUgLS1kaXNhYmxlLW9yYy4gRml4ZXMgYnVnICM2Mjk4OTcuCgoyMDEwLTA5LTE0IDE2OjE3OjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEFkZHMgYSBuZXcgdGVzdCB0byBjaGVjayBzZXF1ZW50aWFsIGNhcHR1cmUgb2YgaW1hZ2VzCgkgIEFkZHMgYSBuZXcgdGVzdCBjYXNlIHRoYXQgc2hvb3RzIGEgc2VxdWVuY2Ugb2YgaW1hZ2UgY2FwdHVyZQoJICBhbmQgY2hlY2sgdGhhdCB0aGUgZmlsZXMgYXJlIHZhbGlkLgoJICBBbHNvIGFkZHMgdGFnbGlzdCBjaGVja2luZyBjYXBhYmlsaXRpZXMgdG8gdGVzdHMuCgoyMDEwLTA5LTE1IDE3OjU0OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBGb2xsb3cgeG1wIHNlcmlhbGl6YXRpb24gZ3VpZGVsaW5lcyBjbG9zZXIKCSAgcXQgYW5kIGlzb20gdmFyaWFudHMgaGF2ZSBkaWZmZXJlbnQgd2F5cyBvZiBzZXJpYWxpemluZwoJICB4bXAsIGZvbGxvdyB0aGVzZSBndWlkZWxpbmVzLgoJICBUaG9zZSBjYW4gYmUgZm91bmQgaW4gQWRvYmUncyB4bXAgZG9jcy4KCjIwMTAtMDktMTUgMjE6NDc6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy1kaXN0LmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMtZGlzdC5oOgoJICBjb2xvcnNwYWNlOiBhZGQgb3JjLWRpc3QgZmlsZXMKCSAgU2hvdWxkIGZpeCBidWlsZCB3aXRob3V0IG9yYyBvciB0b28gb2xkIG9yYy4KCjIwMTAtMDktMTUgMTc6NTE6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hlY2tzdW1zaW5rLmg6CgkgIGNoZWNrc3Vtc2luazogZml4IHVwIGNvcHlyaWdodCBpbiBoZWFkZXIgZmlsZQoKMjAxMC0wOS0xMiAxNDo1OTo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWxpYnMtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItbGlicy5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMucGMuaW46CgkgIHBrZ2NvbmZpZzogcmVtb3ZlIHNvbWUgb2xkIHVudXNlZCBmaWxlcyBmcm9tIDAuOCBkYXlzCgoyMDEwLTA5LTE1IDE4OjM4OjAzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBNYWtlZmlsZS5hbToKCSAgbWV0YWRhdGE6IGFkZCByZW1vdmVkIGZpbGVzIHRvIGNydWZ0IHZhcnMKCjIwMTAtMDktMTUgMTg6MTM6NTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICB0ZXN0czogYWRkIG1pc3Npbmcgc3RkaW8gaW5jbHVkZQoKMjAxMC0wOS0xNSAxODoxMDozMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhLy5naXRpZ25vcmU6CgkqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL1JFQURNRToKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YV9tYXBwaW5nLmh0bToKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXR5cGVzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXR5cGVzLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbWV0YWRhdGEuYzoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIG1ldGFkYXRhOiByZW1vdmUgbWV0YWRhdGEgcGx1Z2luCgkgIFRoaXMgcGx1Z2lucyBmdW5jdGlvbmFsaXR5IGlzIHJlcGxhY2VkIGJ5IHV0aWxpdHkgbGlicmFyaWVzIGluIGJhc2UgZm9yIGV4aWYKCSAgYW5kIHhtcC4gSnBlZyBpbWFnZXMgY2FuIHVzZSB0aGlzIHZpYSBqcGVnZm9ybWF0IHBsdWdpbi4KCSAgRml4ZXMgIzQ4NjY1OQoKMjAxMC0wOS0xNCAxMToyODo1NiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgIGJheWVyMnJnYjogQWRkIGZvcm1hdD1iZ2dyL2V0Yy4gdG8gY2FwcwoKMjAxMC0wOS0xMyAxODo0OTo0MyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmg6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5oOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLm9yYzoKCSAgY29sb3JzcGFjZTogQWRkIGNvbnZlcnNpb24gY29kZQoJICBXb3JrIGluIHByb2dyZXNzLiAgQ29sb3JzcGFjZSBoYW5kbGVzIG1vc3QgZm9ybWF0IGNvbnZlcnNpb24gdXNpbmcKCSAgMy1zdGFnZSBnZXRsaW5lL21hdHJpeC9wdXRsaW5lIHByb2Nlc3MgdXNpbmcgYW4gQVlVViBvciBBUkdCCgkgIGludGVybWVkaWF0ZSwgd2l0aCBtb3N0IGZ1bmN0aW9ucyBoYW5kbGVkIGJ5IE9yYy4gIFRoZXJlIGlzIGFsc28KCSAgYSB0YWJsZSBvZiBzaW5nbGUtcGFzcyBjb252ZXJzaW9ucywgYWxsIGhhbmRsZWQgYnkgT3JjLiAgVGhlIHBsYW4KCSAgaXMgdG8gYWRkIG9wdGlvbmFsIHN0YWdlcyBmb3IgdmFyaW91cyBjaHJvbWEgdXBzYW1wbGluZy9kb3duc2FtcGxpbmcKCSAgYWxnb3JpdGhtcywgZGl0aGVyaW5nLCBhbmQgZmxvYXQvaW50MTYgaW50ZXJtZWRpYXRlcywgYW5kIHRoZW4gaGF2ZQoJICBPcmMgY3JlYXRlIG11bHRpLXN0YWdlIGZ1bmN0aW9ucyBhdCBydW50aW1lLgoKMjAxMC0wOS0xMyAxMjo0ODo1MCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jb2xvcnNwYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuaDoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy5vcmM6CgkqIGdzdC9jb2xvcnNwYWNlL3l1djJyZ2IuYzoKCSogZ3N0L2NvbG9yc3BhY2UveXV2MnJnYi5oOgoJICBjb2xvcnNwYWNlOiBSZXZpdmUgZWxlbWVudAoJICBOb3cgYmFzZWQgb24gT3JjLgoKMjAxMC0wOS0wOSAxNDo0OTowNiAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8bGUuYnVzaW5lc3NtYW5AZ21haWwuY29tPgoKCSogZXh0L2phY2svTWFrZWZpbGUuYW06CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGFkZGVkIHRyYW5zbGF0YWJsZSB0ZXh0IGZvciBzZXJ2ZXIgbm90IGZvdW5kIGVycm9yCgoyMDEwLTA4LTA5IDE0OjMyOjU3ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRlbmM6IENoYW5nZSBiaXRyYXRlIHRvIGJpdHMvc2VjCgoyMDEwLTA5LTEwIDEzOjM2OjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqaWZtdXg6IFJlc2V0IHRhZ3Mgd2hlbiBnb2luZyB0byBSRUFEWQoJICBSZXNldCB0aGUgdGFnc2V0dGVyIHRhZ3Mgd2hlbiBnb2luZyB0byBSRUFEWSBzdGF0ZQoKMjAxMC0wOS0xMCAxMzozMzoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdmb3JtYXQ6IEZpeCBlbGVtZW50IGRlc2NyaXB0aW9uCgkgIFVzZSBzYW5lciBjYXRlZ29yaWVzIGZvciBqaWZtdXgvanBlZ3BhcnNlIGVsZW1lbnRzCgoyMDEwLTA5LTEwIDExOjMxOjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogU2V0IHRhZ3MgdG8gbW9yZSBlbGVtZW50cwoJICBSZW1vdmUgY2hlY2sgZm9yICdNdXhlcicgY2F0ZWdvcnkgd2hlbiBzZXR0aW5nIHRhZ3MKCSAgZm9yIHRhZ3NldHRlcnMuIFNldCB0aGVtIHRvIGFsbCB0YWdzZXR0ZXJzIGluIHRoZQoJICBwaXBlbGluZXMuCgoyMDEwLTA5LTEwIDE4OjM1OjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IHJlZGlyZWN0IFNEUCB3aXRoIGFuIHJ0c3AgY29udHJvbCBVUkwKCSAgV2hlbiB3ZSBmaW5kIGFuIFNEUCB3aXRoIGFuIHJ0c3A6Ly8gdXJsIGFzIHRoZSBnbG9iYWwgY29udHJvbCBhdHRyaWJ1dGUgb3Igd2hlbgoJICBhbGwgc3RyZWFtcyBoYXZlIGFuIHJ0c3A6Ly8gY29udHJvbCBhdHRyaWJ1dGUsIHBvc3QgYW4gcmVkaXJlY3QgbWVzc2FnZSB3aXRoIGFuCgkgIHJ0c3Atc2RwOi8vIHVybCBjb250YWluaW5nIHRoZSBTRFAuCgkgIEZpeGVzICM2MjgyMTQKCjIwMTAtMDktMTAgMTA6Mjk6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RmaXNoZXllLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHVubmVsLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogRml4IGJ1aWxkIHdpdGggZGVidWdnaW5nIGRpc2FibGVkCgkgIEFkZCBzb21lIGlmZGVmcyB0byBwcmV2ZW50IGJ1aWxkIGZhaWx1cmVzIGR1ZSB0byB1bnVzZWQKCSAgdmFyaWFibGVzCgoyMDEwLTA5LTA5IDIzOjU5OjE3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSAgdGVzdHM6IGFsbG93IHJ1bm5pbmcgc3RhdGUgdGVzdHMgZm9yIGFsbCBlbGVtZW50cwoJICBOb3cgb25lIGNhbiB1c2UgR1NUX05PX1NUQVRFX0lHTk9SRV9FTEVNRU5UUz0xIG1ha2UgZ2VuZXJpYy9zdGF0ZXMuY2hlY2sKCSAgdG8gdHJ5IGVsZW1lbnRzIHRoYXQgd291bGQgbm9ybWFseSBiZSBza2lwcGVkLgoKMjAxMC0wOS0wOSAxNzoxODowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBSZW1vdmUgZGVwZW5kZW5jeSBvbiBsaWJzd3NjYWxlCgkgIEl0J3Mgbm90IHVzZWQgaW4gdGhlIGdzdCBvcGVuY3YgcGx1Z2luLgoKMjAxMC0wOS0wOSAxNTowMzoyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkgIG9wZW5jdjogZGVmaW5lIENWX05PX0JBQ0tXQVJEX0NPTVBBVElCSUxJVFkgdG8gc3VwcHJlc3Mgd2FybmluZ3MgY2F1c2VkIGJ5IGNvbXBhdCBoZWFkZXIKCSAgQ29tcGlsZSB3aXRoIC1EQ1ZfTk9fQkFDS1dBUkRfQ09NUEFUSUJJTElUWSBmb3Igbm93LCBzbyB0aGF0IHRoZSBjb21wYXQgaGVhZGVyCgkgIGRvZXNuJ3QgZ2V0IGluY2x1ZGVkLCB3aGljaCBjYXVzZXMgY29tcGlsZXIgd2FybmluZ3MgdGhhdCAoaXQgc2VlbXMpIGNhbid0IGJlCgkgIHN3aXRjaGVkIG9mZiBlYXNpbHkuIEFzIGEgcmVzdWx0LCB3ZSBhbHNvIHNwZWNpZnkgYSBtYXguIHZlcnNpb24gaW4gY29uZmlndXJlLAoJICBzbyB0aGUgYnVpbGQgZG9lc24ndCBicmVhayBpZiBvdXIgY29kZSBkb2Vzbid0IGNvbXBpbGUgYWdhaW5zdCBuZXdlciBvcGVuY3YKCSAgdmVyc2lvbnMgYW55IG1vcmUgd2l0aCB0aGF0IGZsYWcuCgoyMDEwLTA5LTA5IDExOjA3OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkgIG9wZW5jdjogYXZvaWQgJ3VudXNlZCcgY29tcGlsZXIgd2FybmluZ3Mgd2l0aCBpbmxpbmUgZnVuY3Rpb25zIGluIG9wZW5jdiBoZWFkZXJzCgkgIE92ZXJyaWRlIENWX0lOTElORSB0byBhdm9pZCAndW51c2VkJyBnY2Mgd2FybmluZ3MuIEdMaWIgd2lsbCB0YWtlIGNhcmUgb2YgZGVmaW5pbmcKCSAgJ2lubGluZScgc3VmZmljaWVudGx5IGFuZCBPcGVuQ1YncyBkZWZpbmUgaXNuJ3QgZ29vZCBlbm91Z2ggdG8gYXZvaWQgJ3VudXNlZCcKCSAgY29tcGlsZXIgd2FybmluZ3MgKGF0IGxlYXN0IGluIHZlcnNpb24gMi4xLjApLgoKMjAxMC0wOS0wOSAxMDoyNzo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJICBvcGVuY3Y6IHVwZGF0ZSBwbHVnaW4gc291cmNlIHBhY2thZ2UgbmFtZSBhbmQgb3JpZ2luCgoyMDEwLTA5LTA4IDIzOjU5OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuaDoKCSAgZmFjZWRldGVjdDogQWRkIG1vcmUgcGFyYW1ldGVycwoJICBFeHBvc2UgdGhlIHBhcmFtZXRlcnMgb2YgY3ZIYWFyRGV0ZWN0T2JqZWN0cyBpbiBmYWNlZGV0ZWN0CgkgIGVsZW1lbnQuCgoyMDEwLTA5LTA4IDE0OjU5OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmRpbGF0ZS5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmRpbGF0ZS5oOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmRpbGF0ZWVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZGlsYXRlZXJvZGUuaDoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZlcXVhbGl6ZWhpc3QuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZlcXVhbGl6ZWhpc3QuaDoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3Zlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmVyb2RlLmg6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmxhcGxhY2UuaDoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZzbW9vdGguaDoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNvYmVsLmg6CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9mYWNlYmx1ci9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9mYWNlYmx1ci9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2ZhY2VibHVyL2dzdGZhY2VibHVyLmg6CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGVlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlZXJvZGUuaDoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXJvZGUuaDoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuYzoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuaDoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuaDoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuaDoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5oOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmg6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dHdyaXRlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dHdyaXRlLmg6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9nc3RweXJhbWlkc2VnbWVudC5oOgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvdGVtcGxhdGVtYXRjaC9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvdGVtcGxhdGVtYXRjaC9nc3R0ZW1wbGF0ZW1hdGNoLmg6CgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuYzoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmg6CgkgIG9wZW5jdjogUmVmYWN0b3IgZmlsZXMgc3RydWN0dXJlCgkgIFJlbW92ZSBpbnRlcm5hbCBmb2xkZXJzIGFuZCBwdXQgYWxsIGNvZGUgaW5zaWRlIHRoZSBtYWluIHBsdWdpbgoJICBmb2xkZXIuIEFsc28gZml4ZXMgc29tZSBidWlsZGluZyB3YXJuaW5ncy4KCjIwMTAtMDktMDggMDA6MDg6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkgIG9wZW5jdjogQWRkcyBuZXcgcGx1Z2luIG9wZW5jdgoJICBNb3ZlcyBvcGVuY3YgcGx1Z2luIGZyb20gaHR0cDovL2dpdGh1Yi5jb20vRWxsZW8vZ3N0LW9wZW5jdgoJICBpbnRvIC1iYWQgbW9kdWxlLgoKMjAxMC0wOS0wNSAyMzowOToyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5jOgoJICBmYWNlZGV0ZWN0OiBQb3N0IGFuIHVzZWZ1bCBtZXNzYWdlCgkgIEFkZCBhIG1lc3NhZ2UgdG8gYmUgcG9zdCB3aGVuIGZhY2VzIGFyZSBmb3VuZCBvbiBhIGZyYW1lIHRoYXQKCSAgY29udGFpbnMgYWxsIGZhY2VzIG9uIGEgc2luZ2xlIG1lc3NhZ2UgYW5kIGFsc28gaGFzCgkgIHRpbWVzdGFtcC9ydW5uaW5nL3NlZ21lbnQgdGltZXMgZm9yIHRoYXQgYnVmZmVyIHNvIGl0CgkgIGNhbiBiZSBpZGVudGlmaWVkLgoJICBUaGlzIG1lc3NhZ2UgaXMgY2FsbGVkICdmYWNlZGV0ZWN0JyBhbmQgaGFzIGEgJ2ZhY2VzJyBsaXN0CgkgIG9mIHN0cnVjdHVyZXMgd2l0aCBhbGwgZmFjZXMuCgkgIFRoZSBvbGQgJ2ZhY2UnIG1lc3NhZ2UgaXMgc3RpbGwgcG9zdGVkIGZvciBlYWNoIGZhY2UgZm91bmQsIGJ1dAoJICBpdCBpcyBub3QgcmVhbGx5IHVzZWZ1bCBhcyBpdCBkb2Vzbid0IGhhdmUgYW55IHJlZmVyZW5jZSB0byB0aGUKCSAgYnVmZmVyIHRoYXQgZ2VuZXJhdGVkIGl0LgoKMjAxMC0wOS0wNSAxNzo1MzoyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0Lmg6CgkgIGZhY2VkZXRlY3Q6IFVzZSBHc3RPcGVuY3ZWaWRlb0ZpbHRlciBhcyB0aGUgYmFzZSBjbGFzcwoJICBQb3J0IGZhY2VkZXRlY3QgdG8gdXNlIEdzdE9wZW5jdlZpZGVvRmlsdGVyIGFzIHRoZSBiYXNlIGNsYXNzCgkgIHRvIGluaGVyaXQgYWxsIHRoZSBnb29kbmVzcyB0aGF0IEdzdEJhc2VUcmFuc2Zvcm0vR3N0VmlkZW9GaWx0ZXIKCSAgYWxyZWFkeSBoYW5kbGVzLgoKMjAxMC0wOS0wMyAyMDoyNzozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZkaWxhdGUuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZkaWxhdGVlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmRpbGF0ZWVyb2RlLmg6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZXF1YWxpemVoaXN0LmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZXF1YWxpemVoaXN0Lmg6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZXJvZGUuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZsYXBsYWNlLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2bGFwbGFjZS5oOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNtb290aC5oOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNvYmVsLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2c29iZWwuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3ZiYXNldHJhbnMuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3ZiYXNldHJhbnMuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z2aWRlb2ZpbHRlci5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnZpZGVvZmlsdGVyLmg6CgkgIG9wZW5jdmJhc2V0cmFuczogVXNlIEdzdFZpZGVvRmlsdGVyIGFzIHRoZSBiYXNlIGNsYXNzCgkgIFBvcnQgZnJvbSBHc3RCYXNlVHJhbnNmb3JtIHRvIEdzdFZpZGVvRmlsdGVyIGFzIHRoZSBiYXNlIGNsYXNzLgoKMjAxMC0wNS0yNCAxOToyODo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZsYXBsYWNlLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2bGFwbGFjZS5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdmJhc2V0cmFucy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdmJhc2V0cmFucy5oOgoJICBjdmxhcGxhY2U6IGFkZHMgbmV3IGN2bGFwbGFjZSBlbGVtZW50CgkgIEFkZHMgbmV3IGN2bGFwbGFjZSBlbGVtZW50LgoJICBBbHNvIGFkZHMgYSBuZXcgb3BlbmN2YmFzZXRyYW5zZm9ybSBmdW5jdGlvbiB0byBiZSBvdmVycmlkZW4KCSAgYnkgY2hpbGRyZW4gY2xhc3NlczogdGhlIGN2X3NldF9jYXBzLCBpdCBhbGxvd3MgY2hpbGRyZW4gY2xhc3NlcwoJICB0byBrbm93IHdoYXQgYXJlIHRoZXkgZ29pbmcgdG8gaGFuZGxlIGFuZCBwcmVwYXJlIHByb3Blcmx5LgoKMjAxMC0wNS0xOSAyMDoxMTozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNvYmVsLmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuYzoKCSAgQWRkcyBuZXcgZWxlbWVudCBjdnNvYmVsCgoyMDEwLTA1LTE3IDE5OjA0OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmVxdWFsaXplaGlzdC5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmVxdWFsaXplaGlzdC5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJICBBZGRzIG5ldyBlbGVtZW50IGN2ZXF1YWxpemVoaXN0CgoyMDEwLTA1LTE2IDE5OjE0OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmRpbGF0ZS5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmRpbGF0ZS5oOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmRpbGF0ZWVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZGlsYXRlZXJvZGUuaDoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3Zlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmVyb2RlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkgIEFkZHMgbmV3IGVsZW1lbnRzIGN2ZGlsYXRlIGFuZCBjdmVyb2RlCgkgIEFkZHMgMiBzaW1pbGFyIGVsZW1lbnRzIChzbyBzaW1pbGFyIHRoZXkgaGF2ZSB0aGVpciBvd24gYmFzZWNsYXNzKSwKCSAgY3ZkaWxhdGUgYW5kIGN2ZXJvZGUuCgoyMDEwLTA1LTE2IDE3OjAzOjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2YmFzZXRyYW5zLmM6CgkgIGN2c21vb3RoOiBJbXByb3ZlIHBhcmFtZXRlcnMgZG9jcwoKMjAxMC0wNS0xNiAxNjozNzoxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNtb290aC5jOgoJICBjdnNtb290aDogRGVhY3RpdmF0aW5nIGJsdXItbm8tc2NhbGUKCSAgRGVhY3RpdmF0ZSBibHVyLW5vLXNjYWxlIGJlY2F1c2UgYmFzZXRyYW5zZm9ybSBkb2Vzbid0IHByb3ZpZGUgYSB3YXkKCSAgdG8gb3ZlcnJpZGUgZ2V0Y2FwcyBmb3IgcGFkcywgYWx3YXlzIHVzaW5nIHRlbXBsYXRlY2FwcyBpbmRlcGVuZGVudAoJICBvZiBwcm9wZXJ0aWVzLgoKMjAxMC0wNS0xNiAxMTo0MjowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdmJhc2V0cmFucy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuaDoKCSAgY3ZzbW9vdGg6IEFkZCBzdXBwb3J0IGZvciB2aWRlby94LXJhdy1ncmF5CgoyMDEwLTA1LTE2IDAwOjQ2OjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2YmFzZXRyYW5zLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5oOgoJICBBZGRpbmcgZ3N0b3BlbmN2dXRpbHMKCSAgQWRkcyBhIGZpbGUgdG8ga2VlcCB1dGlsaXRhcnkgZnVuY3Rpb25zIHRvZ2V0aGVyCgoyMDEwLTA1LTExIDIwOjExOjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2c21vb3RoLmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkgIGN2c21vb3RoOiBBZGRzIG5ldyBlbGVtZW50IGN2c21vb3RoCgkgIEFkZHMgbmV3IGN2c21vb3RoIGVsZW1lbnQKCjIwMTAtMDUtMDUgMDE6MjQ6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2YmFzZXRyYW5zLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2YmFzZXRyYW5zLmg6CgkgIGdzdG9wZW5jdmJhc2V0cmFuczogQWRkcyB0aGlzIG5ldyBiYXNlIGNsYXNzCgkgIEFkZHMgR3N0T3BlbmN2QmFzZVRyYW5zZm9ybSBhcyBiYXNlIGNsYXNzIGZvciBzaW1wbGUgMToxCgkgIG9wZW5jdiBmaWx0ZXJzCgoyMDEwLTA0LTI2IDE3OjE4OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSAgcHlyYW1pZHNlZ21lbnQ6IEFsbG9jYXRlIGEgbmV3IGJ1ZmZlciBmb3Igb3V0cHV0CgkgIFVzZSBhIG5ld2x5IGFsbG9jYXRlZCBidWZmZXIgZm9yIG91dHB1dCwgYW5kIHJlbGVhc2UgdGhlIGludGVybWVkaWFyeQoJICBpbWFnZSB1c2VkLgoJICBBbHNvIGFkZCBhIFRPRE8gZm9yIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50CgoyMDEwLTA0LTI2IDE3OjM0OjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZmFjZWJsdXIvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi90ZW1wbGF0ZW1hdGNoL2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmM6CgkgIGZhY2VibHVyOiBmYWNlZGV0ZWN0OiB0ZW1wbGF0ZW1hdGNoOiB0ZXh0d3JpdGU6IFNldCBidWZmZXIgdG8gd3JpdGFibGUKCSAgVGhlc2UgZWxlbWVudHMgb3BlcmF0ZXMgaW4gcGxhY2UsIHNldCBidWZmZXIgdG8gd3JpdGFibGUgYmVmb3JlCgkgIG9wZXJhdGluZy4KCjIwMTAtMDQtMjYgMTY6MTc6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuYzoKCSAgZWRnZWRldGVjdDogRml4IGNoYWluIGJ1ZmZlciBoYW5kbGluZwoJICBBbGxvY2F0ZSBhIG5ldyBvdXRwdXQgYnVmZmVyIGluc3RlYWQgb2YgdXNpbmcgdGhlIGlucHV0IGJ1ZmZlcgoJICBwb2ludGluZyB0byB0aGUgaW50ZXJuYWwgY3ZDRWRnZSBvcGVuY3YncyBJcGxJbWFnZSBkYXRhLCB3aGljaAoJICBtaWdodCBjaGFuZ2UsIGNvbnNlcXVlbnRseSBjaGFuZ2luZyB0aGUgYnVmZmVyLgoKMjAxMC0wNC0yNSAxNjoyNzowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2ZhY2VibHVyL2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi90ZW1wbGF0ZW1hdGNoL2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmM6CgkgIGNvbmZpZ3VyZTogZW5hYmxlIC1XZXJyb3IgdG8gaW1wcm92ZSBjb2RlCgkgIC1XZXJyb3Igb24gZ2l0IHZlcnNpb24gaXMgdXNlZnVsIHRvIGtlZXAgY29kZSBjbGVhbi4KCjIwMTAtMDMtMDIgMTM6NTU6MDUgKzA1MzAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8YnNyZWVyZW5qQGdtYWlsY29tPgoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmM6CgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5oOgoJICBBZGRlZCB0aGUgcHJvcGVydHkgZm9yIHNldHRpbmcgdGhlIFJHQiBjb2xvdXJzLiAJbW9kaWZpZWQ6ICAgZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmMgCW1vZGlmaWVkOiAgIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5oCgoyMDEwLTAzLTAyIDEzOjE4OjE5ICswNTMwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPGJzcmVlcmVuakBnbWFpbGNvbT4KCgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5jOgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuaDoKCSAgQWRkZWQgdGhlIHByb3BlcnR5IGZvciBzZXR0aW5nIHRoZSAidGhpY2tuZXNzIiBvZiBmb250IAltb2RpZmllZDogICBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuYyAJbW9kaWZpZWQ6ICAgZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmgKCjIwMTAtMDMtMDIgMTI6NDU6NTggKzA1MzAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8YnNyZWVyZW5qQGdtYWlsY29tPgoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmM6CgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5oOgoJICBBZGRlZCB0aGUgcHJvcGVydHkgZm9yIHNldHRpbmcgeCBhbmQgeSBjby1vcmRpbmF0ZXMgCW1vZGlmaWVkOiAgIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5jIAltb2RpZmllZDogICBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuaAoKMjAxMC0wMy0wMiAxMjo0MToyNSArMDUzMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxic3JlZXJlbmpAZ21haWxjb20+CgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuYzoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmg6CgkgIGFkZGVkIHRoZSBwcm9wZXJ5IGZvciBzZXR0aW5nIHggYW5kIHkgY28tb3JkaW5hdGVzIAltb2RpZmllZDogICBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuYyAJbW9kaWZpZWQ6ICAgZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmgKCjIwMTAtMDItMjggMTQ6MzY6MzUgKzAwMDAgIE1pa2UgU2hlbGRvbiA8bWlrZUBtaWtlYXNvZnQuY29tPgoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuYzoKCSAgQXBwbHkgU3RlZmFuJ3MgZmFjZWJsdXIgZml4ZXMgdG8gZmFjZWRldGVjdAoKMjAxMC0wMi0yOCAxNDozMjowMCArMDAwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxic3JlZXJlbmpAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5jOgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuaDoKCSAgQWRkIHNpbXBsZSB0ZXh0IG92ZXJsYXkgcGx1Z2luCgoyMDEwLTAyLTE5IDIyOjUwOjE4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2ZhY2VibHVyL2dzdGZhY2VibHVyLmM6CgkgIGZhY2VibHVyOiBmaXggaGFuZGxpbmcgb2YgcHJvZmlsZSBwcm9wZXJ0eS4KCSAgRHVwIGFuZCBmcmVlIHRoZSBzdHJpbmcuIEZpeGVzIGxlYWtpbmcgbmV3IHZhbHVlcyBhbmQgYXZvaWRzIGNyYXNoaW5nCgkgIGdzdC1pbnNwZWN0LgoKMjAwOS0xMi0xOCAxMToyMzo1OSArMDAwMCAgTWlrZSBTaGVsZG9uIDxtaWtlQG1pa2Vhc29mdC5jb20+CgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJICBGaXggaW5jbHVkZXMgaW4gdGVtcGxhdGUgbWF0Y2hpbmcgZWxlbWVudAoKMjAwOS0wNS0yNiAxMjo1OTowNCArMDEwMCAgTWlrZSBTaGVsZG9uIDxtaWtlQG1pa2Vhc29mdC5jb20+CgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvZ3N0ZWRnZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2ZhY2VibHVyL2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZmFjZWJsdXIvZ3N0ZmFjZWJsdXIuaDoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L2dzdHB5cmFtaWRzZWdtZW50Lmg6CgkqIGV4dC9vcGVuY3YvdGVtcGxhdGVtYXRjaC9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvdGVtcGxhdGVtYXRjaC9nc3R0ZW1wbGF0ZW1hdGNoLmg6CgkgIEJyaW5nIGNvZGUgaW4gdG8gbGluZSB3aXRoIGdlbmVyYWwgR3N0cmVhbWVyIHN0YW5kYXJkcwoKMjAwOS0wNS0yNSAxMjo1NzoxMSArMDEwMCAgTWlrZSBTaGVsZG9uIDxtaWtlQG1pa2Vhc29mdC5jb20+CgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJICBGaXggc2VnZmF1bHQgaW4gdGVtcGxhdGUgbWF0Y2ggZWxlbWVudCBpZiBubyB0ZW1wbGF0ZSBoYXMgYmVlbiBzZXQgQWRkIHRlbXBsYXRlIG1hdGNoaW5nIHB5dGhvbiBleGFtcGxlIEFkZCBhdXRvdG9vbCwgbGlidG9vbCBhbmQgcGtnY29uZmlnIGRlcGVuZGVuY2llcyB0byBkZWJpYW4gY29udHJvbCBmaWxlCgoyMDA5LTA1LTI1IDExOjI2OjI4ICswMTAwICBNaWtlIFNoZWxkb24gPG1pa2VAbWlrZWFzb2Z0LmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZmFjZWJsdXIvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZmFjZWJsdXIvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9mYWNlYmx1ci9nc3RmYWNlYmx1ci5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJICBBZGQgYSBwbHVnaW4gZm9yIGF1dG9tYXRpY2FsbHkgYmx1cnJpbmcgZmFjZXMgaW4gdmlkZW9zIGFuZCBpbWFnZXMKCjIwMDktMDUtMTMgMTI6MTk6NDMgKzAzMDAgIE5vYW0gPG5vYW1AZHVhcG92Lihub25lKT4KCgkqIGV4dC9vcGVuY3YvdGVtcGxhdGVtYXRjaC9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvdGVtcGxhdGVtYXRjaC9nc3R0ZW1wbGF0ZW1hdGNoLmg6CgkgIEFkZGVkIGNvbnRyb2wgZm9yIGNoYW5naW5nIG1ldGhvZAoKMjAwOS0wNS0xMyAxMTo1NTozMSArMDMwMCAgTm9hbSA8bm9hbUBkdWFwb3YuKG5vbmUpPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi90ZW1wbGF0ZW1hdGNoL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJICBBZGRlZCB0ZW1wbGF0ZW1hdGNoIGVsZW1lbnQKCjIwMDktMDUtMDggMTE6NTU6MjAgKzA1MzAgIGthcGlsIDxrYXBpbEBrYXBpbC1sYXB0b3AuKG5vbmUpPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvZ3N0ZWRnZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9nc3RweXJhbWlkc2VnbWVudC5oOgoJICBSZWdpc3RlcmluZyBhbGwgZWxlbWVudHMgdW5kZXIgb3BlbmN2IHBsdWdpbgoKMjAwOS0wNS0wNiAxNTo0OTo0MiArMDEwMCAgTWlrZSBTaGVsZG9uIDxtaWtlQG1pa2Vhc29mdC5jb20+CgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5jOgoJICBGaXggdGhlIHByb2ZpbGUgcGFyYW1ldGVyIGluIHRoZSBmYWNlZGV0ZWN0IGVsZW1lbnQgdG8gYWNjZXB0IGEgc3RyaW5nIGNvcnJlY3RseQoKMjAwOS0wNS0wNiAxNTozMzo0OCArMDEwMCAgTWlrZSBTaGVsZG9uIDxtaWtlQG1pa2Vhc29mdC5jb20+CgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkgIFJlbGVhc2UgT3BlbkNWIGltYWdlcyB3aGVuIGZpbmFsaXppbmcgZWxlbWVudHMKCjIwMDktMDUtMDYgMTY6Mzg6MTUgKzA1MzAgIGthcGlsIDxrYXBpbEBrYXBpbC1sYXB0b3AuKG5vbmUpPgoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9nc3RweXJhbWlkc2VnbWVudC5oOgoJICBGaXhlZCBjb21waWxlIGVycm9ycwoKMjAwOS0wNC0yMCAxODo0MDoxMyArMDMwMCAgTWlrZSBTaGVsZG9uIDxtaWtlQG1pa2Vhc29mdC5jb20+CgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5jOgoJICBNYWtlIGZhY2UgZGV0ZWN0IHNlbmQgYSBidXMgbWVzc2FnZSB3aGVuIGEgZmFjZSBpcyBkZXRlY3RlZCBXcml0ZSBhIHNpbXBsZSBweXRob24gZXhhbXBsZSBmb3IgZmFjZSBkZXRlY3Rpb24KCjIwMDktMDQtMTggMjM6NDM6MzcgKzAzMDAgIE1pa2UgU2hlbGRvbiA8bWlrZUBtaWtlYXNvZnQuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSAgQWRkIGZhY2UgZGV0ZWN0aW9uIGVsZW1lbnQgQ2xlYW4gdXAgc29tZSBnZW5lcmF0ZWQgZmlsZXMgVXBkYXRlIGEgZmV3IG9sZCBjb21tZW50cwoKMjAwOC0xMi0xOCAyMzo0ODo0MCArMDAwMCAgTWlrZSBTaGVsZG9uIDxtaWtlQG1pa2Vhc29mdC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlOgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmluOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvTWFrZWZpbGU6CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9NYWtlZmlsZS5pbjoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9NYWtlZmlsZToKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9NYWtlZmlsZS5pbjoKCSAgKiBSZW1vdmUgc29tZSBhdXRvdG9vbHMgZ2VuZXJhdGVkIGZpbGVzCgoyMDA4LTEyLTE4IDIzOjQzOjM2ICswMDAwICBNaWtlIFNoZWxkb24gPG1pa2VAbWlrZWFzb2Z0LmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGU6CgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuaW46CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9NYWtlZmlsZToKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvTWFrZWZpbGUuaW46CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9nc3RlZGdlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvTWFrZWZpbGU6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvTWFrZWZpbGUuaW46CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9nc3RweXJhbWlkc2VnbWVudC5oOgoJICAqIE1ha2UgaXQgcG9zc2libGUgdG8gc2V0IHRocmVzaG9sZDIgYXQgcnVudGltZSAqIEltcGxlbWVudCBweXJhbWlkIHNlZ21lbnRhdGlvbiBlbGVtZW50ICogTWFrZSBtYXNraW5nIG9wdGlvbmFsIG9uIGVkZ2VkZXRlY3QgKiBDbGVhbiB1cCBlZGdlZGV0ZWN0LCBhZGQgZWxlbWVudCBkZXRhaWxzICogSW1wbGVtZW50ZWQgZWRnZSBkZXRlY3QgZWxlbWVudAoKMjAxMC0wOS0wOCAxNjo1Nzo1NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDNtdXg6IE1hcCBHU1RfVEFHX0FMQlVNX0FSVElTVAoJICBNYXAgR1NUX1RBR19BTEJVTV9BUlRJU1QgdG8gVFBFMiBhcyBpdCBpcyBkb25lIGluCgkgIC1iYXNlIGlkM3RhZyBtYXBwaW5ncy4KCjIwMTAtMDgtMDkgMDA6MTU6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBVc2UgQUdfR1NUX0NIRUNLX0dTVF9QTFVHSU5TX3tHT09ELFVHTFksQkFELEZGTVBFR30gbWFjcm9zIGZyb20gY29tbW9uCgkgIHRvIGZpbmQgcGx1Z2luIGRpcmVjdG9yaWVzIGZvciB0aGUgdmFyaW91cyBtb2R1bGVzIG91ciB1bml0IHRlc3RzIGRlcGVuZAoJICBvbiBpbiBhbiB1bmluc3RhbGxlZCBlbnZpcm9ubWVudC4gVGhpcyBtYWtlcyBzdXJlIHRoZXNlIHBsdWdpbnMgYXJlIGZvdW5kCgkgIGV2ZW4gd2hlbiBkaXN0Y2hlY2tpbmcgKHdoaWNoIGhhcHBlbnMgZnJvbSBhIHN1YmRpcmVjdG9yeSwgd2hpY2ggbWVhbnMKCSAgdGhhdCB0aGUgY3VycmVudGx5IHVzZWQgdHJpY2sgdG8gZmluZCB0aGUgdW5pbnN0YWxsZWQgZGlyZWN0b3JpZXMgb2YKCSAgdGhlc2UgbW9kdWxlcyBkb2Vzbid0IHdvcmsgaW4gdGhhdCBjYXNlKS4KCjIwMTAtMDktMDcgMTk6MTY6MjQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgZG9jczogdXBkYXRlIHBsdWdpbiBkb2NzIHNnbWwgZmlsZSBhIGJpdAoKMjAxMC0wOS0wNyAxNToyMjoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvLmdpdGlnbm9yZToKCSAgZG9jczogYWRkIDIgbmV3IGZpbGVzIHRvIGdpdGlnbm9yZQoJICBBZGRzIGdzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3MubmV3IGFuZAoJICBnc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzLm5ldyB0byAuZ2l0aWdub3JlCgoyMDEwLTA5LTA3IDE0OjQ1OjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqaWZtdXg6IE1ha2UgaXQgbW9yZSBjb2xvcnNwYWNlIHNtYXJ0CgkgIFRoaXMgbWFrZXMgaXQgYWJsZSB0byByZWNvbWJpbmUgcmdiIGltYWdlcywgbWFraW5nIGl0IHBvc3NpYmxlCgkgIHRvIGFkZCB0YWdzIHRvIHJnYiBqcGVncyBhcyB3ZWxsLgoJICBVc2VzIGEgc2ltcGxlIHN0cmF0ZWd5IHRvIGNoZWNrIHdoYXQgYXJlIHRoZSBwb3NzaWJsZSBjb2xvcnNwYWNlcwoJICBhbmQgYXZvaWQgYWRkaW5nIGpmaWYgdG8gb25lcyB0aGF0IGFyZW4ndCBZVVYvR3JheS4KCjIwMTAtMDktMDcgMTA6MjY6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIHRlc3RzOiBqaWZtdXg6IEFkZHMgdGVzdHMgZm9yIG5ldyBwcGkgdGFncwoJICBBZGRzIHRlc3RzIHRvIGNoZWNrIGlmIGxpYmV4aWYgY2FuIHJlYWQgb3VyCgkgIEVYSUZfVEFHX1gvWV9SRVNPTFVUSU9OIHRhZ3MuCgoyMDEwLTA5LTA3IDEzOjI4OjIwICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IEZpeCBlbGVtZW50IGRldGFpbHMKCjIwMTAtMDktMDcgMTE6NDI6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjMmUxMGJmIHRvIGFhMGQxZDAKCjIwMTAtMDktMDcgMTE6MzQ6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgIGRvY3M6IHVwZGF0ZSBwbHVnaW4gaW50cm9zcGVjdGlvbiBkYXRhIGZvciByZWNlbnQgY2hhbmdlcwoKMjAxMC0wOS0wNyAxMToyODo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSAgZG9jczogcmVtb3ZlIGludHJvc3BlY3Rpb24gZmlsZXMgZm9yIHBsdWdpbnMgdGhhdCBoYXZlIGJlZW4gbWVyZ2VkLCBtb3ZlZCBvciByZW5hbWVkCgkgIFRoZSBhYWNwYXJzZSwgYW1ycGFyc2UsIGZsYWNwYXJzZSBwbHVnaW5zIGhhdmUgYmVlbiBtZXJnZWQgaW50byB0aGUgYXVkaW9wYXJzZXJzYmFkCgkgIHBsdWdpbi4gVGhlIGFpZmZwYXJzZSBwbHVnaW4gaGFzIGJlZW4gcmVuYW1lZCB0byBhaWZmIHNpbmNlIGl0IGFsc28gY29udGFpbnMgYW4KCSAgYWlmZiBtdXhlciBub3cuIFRoZSBhbXJ3YiBwbHVnaW4gaGFzIGJlZW4gcmVuYW1lZCB0byBhbXJ3YmVuYy4gVGhlIGR2YnNyYyBwbHVnaW4KCSAgaGFzIGJlZW4gcmVuYW1lZCB0byBkdmIuIFRoZSBnc3RydHBtYW5hZ2VyIHBsdWdpbiBoYXMgbW92ZWQgdG8gLWdvb2QuIFRoZSB4MjY0CgkgIHBsdWdpbiBoYXMgbW92ZWQgdG8gLXVnbHkuIEFuZCB0aGUgbXBlZ3RzcGFyc2UgcGx1Z2luIGhhcyBiZWVuIG1lcmdlZCBpbnRvIHRoZQoJICBtcGVnZGVtdXgyIHBsdWdpbi4KCjIwMTAtMDktMDcgMDA6MTY6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBmaXggZGlzdGNoZWNrIGJ5IGRpc3RpbmcgbmV3IGphY2sgZXhhbXBsZSBkaXJlY3RvcnkKCSAgQWxzbyBhZGQgdGVzdCBiaW5hcnkgdG8gaWdub3Jlcy4KCjIwMTAtMDktMDYgMTc6MTc6NTQgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPGxlLmJ1c2luZXNzbWFuQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2phY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2phY2svamFja19jbGllbnQuYzoKCSAgZXhhbXBsZXM6IGFkZCB0ZXN0IHRvIGRlbW9uc3RyYXRlIGphY2tfY2xpZW50X3QgdXNhZ2UKCjIwMTAtMDktMDYgMTY6MTE6MzEgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPGxlLmJ1c2luZXNzbWFuQGdtYWlsLmNvbT4KCgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFjay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50Lmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkgIGphY2s6IGFkZGVkIGNsaWVudCBwcm9wZXJ0eQoKMjAxMC0wNi0xNyAxNjoyNjowNyAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIGphY2s6IHJlbW92ZWQgdW51c2VkIGZpbGUgZ3N0amFja2Jpbi5jCgkgIFRoaXMgaXMgYSAwLjggbGVmdG92ZXIuCgoyMDEwLTA5LTA2IDE0OjEyOjAwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbm9uLVRJTUUgc2VlayBldmVudCBpcyBzaW1wbHkgbm90IGhhbmRsZWQKCjIwMTAtMDktMDYgMDk6Mjg6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEJ1bXAgLWNvcmUvLWJhc2UgcmVxdWlyZW1lbnRzIHRvIDAuMTAuMzAuMQoJICBXZSBuZWVkIDAuMTAuMzAuMSB0byBoYXZlIGxhdGVzdCB0YWdzIGluIGNvcmUvYmFzZSBmb3IgamlmbXV4CgkgIHRlc3RzLgoKMjAxMC0wOC0yNiAwMjo1NDo1NSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgZHRtZnNyYzogTWFrZSB0aGUgZHRtZnNyYyBhY2NlcHQgZXZlbnRzIHNlbnQgd2l0aCBnc3RfZWxlbWVudF9zZW5kX2V2ZW50CgkgIFRoZSBkb2Mgc2F5cyB0byB1c2UgZ3N0X2VsZW1lbnRfc2VuZF9ldmVudCBvbiB0aGUgcGlwZWxpbmUsIGJ1dCBpZgoJICB3ZSBhcmUgdG8gY2FsbCBpdCBvbiB0aGUgZWxlbWVudCBpdHNlbGYsIGl0J3MgYSBub29wLiBUaGlzIHNob3VsZCBtYWtlIGl0CgkgIGhhbmRsZSB0aGUgZXZlbnQgcHJvcGVybHkgYmVmb3JlIGRlbGVnYXRpbmcgaXQgdG8gYmFzZXNyYy4KCjIwMTAtMDktMDUgMTY6MzA6MDUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IHNldCBuZXcgZnJhbWVyYXRlIG9uIG91dHB1dCBjYXBzIGluc3RlYWQgb2YgaW5wdXQgY2FwcwoJICBJdCdzIG5vdCBhbGxvd2VkIHRvIGNoYW5nZSB0aGUgY2FwcyBwcm92aWRlZCBieSB0aGUgc2V0Y2FwcyBmdW5jdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyODMyNgoKMjAxMC0wOS0wNiAwMzoyMzoyNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBUYWtlIHBhcmFtZXRlcnMgb24gY29tbWFuZCBsaW5lCgkgIE5vdyBpdCdzIGFjdHVhbGx5IHVzZWZ1bC4KCjIwMTAtMDktMDYgMDM6MDQ6MTMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBBZGQgZG9jdW1lbnRhdGlvbgoKMjAxMC0wOS0wNiAxMDoyOToyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5OiBVc2UgR19HVUlOVDY0X0ZPUk1BVCBpbnN0ZWFkIG9mICVsbHUKCSAgRml4ZXMgY29tcGlsZXIgd2FybmluZ3Mgb24gNjQgYml0IGFyY2hpdGVjdHVyZXMuCgoyMDEwLTA5LTA2IDExOjAzOjA3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBzeW5jIHdpdGggY29weSBpbiAtYmFzZQoJICBVc2UgX2dldF9jYXBzX3JlZmZlZCB0byBhdm9pZCBjb3BpZXMuCgoyMDEwLTA4LTI0IDExOjUwOjQ3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgb3V0cHV0c2VsZWN0b3I6IG1vdmUgdGhlIGRlYnVnIGluaXQgdG8gdGhlIGJvaWxlcnBsYXRlIG1hY3JvCgoyMDEwLTA4LTI0IDExOjUwOjA5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiB1c2UgR1NUX0JPSUxFUlBMQVRFIG1hY3JvCgoyMDEwLTA4LTI0IDExOjI2OjUyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5oOgoJICBmcHNkaXNwbGF5c2luazogZG9uJ3QgYWRkIGEgZ19tYWlubG9vcCBkZXBlbmRlbmN5CgkgIEp1c3QgdXBkYXRlIHRoZSBmcHMtbWVzc2FnZSBmcm9tIHRoZSBwcm9iZSBoYW5kbGVyLgoKMjAxMC0wOC0xOCAxMTozNTo0NCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IHNtYWxsIGNsZWFudXAKCSAgQWRkIG9uZSBvbmUgZXhhbXBsZSBhbmQgbG93ZXIgdGhlIGZvbid0IHNpemUgZm9yIHRoZSBvdmVybGF5LgoKMjAxMC0wOC0yMyAwOTo1MToyNSAtMDUwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSAgZnBzZGlzcGxheXNpbms6IG1lYXN1cmUgZnBzIGluIHRlcm1zIG9mIHdhbGwgY2xvY2sgdGltZQoJICBNZWFzdXJlIGZwcyBpbiB0ZXJtcyBvZiBzeXN0ZW0gY2xvY2ssIHJhdGhlciB0aGFuIHBpcGVsaW5lIGNsb2NrLCB0byBnZXQKCSAgYW4gYWNjdXJhdGUgbWVhdXJlIG9mIGZwcy4KCjIwMTAtMDktMDUgMjI6NDE6MjQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHNiYWQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hlY2tzdW1zaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNoZWNrc3Vtc2luay5oOgoJICBjaGVja3N1bXNpbms6IEFkZCBuZXcgZWxlbWVudAoKMjAxMC0wOS0wNSAyMjozMDo1NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkgIHNzaW06IEFkZCBJNDIwIHN1cHBvcnQKCjIwMTAtMDktMDUgMjE6MzQ6MzAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBBZGQgbW9yZSBmb3JtYXRzCgoyMDEwLTA5LTA1IDE4OjU4OjM2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZDNkOWFjZiB0byBjMmUxMGJmCgoyMDEwLTA5LTA1IDIzOjQwOjA4ICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJncy5uZXc6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzLm5ldzoKCSAgUmVtb3ZlIC5uZXcgZG9jcyBmaWxlcyBmcm9tIHRoZSByZXBvc2l0b3J5CgoyMDEwLTA5LTA1IDE1OjM0OjEzIC0wNzAwICBKb25hdGhhbiBSb3NzZXIgPGpvbmF0aGFuLnJvc3NlckByZC5iYmMuY28udWs+CgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJICBjb2c6IEZpeCBjb2dfdmlydF9mcmFtZV9uZXdfY29udmVydF91OCgpCgkgIENvbnZlcnNpb24gd2FzIHVzaW5nIHVuaW5pdGlhbGl6ZWQgZGF0YSBpbnN0ZWFkIG9mIHNvdXJjZSBmcmFtZS4KCSAgRml4ZXMgIzYyNjQyNS4KCjIwMTAtMDktMDUgMTI6MDY6MzEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkgIGNvZzogRml4IGdlbmVyYXRlZCBPcmMgY29kZQoJICBBbHNvIGRyb3AgcmVxdWlyZWQgT3JjIGJhY2sgZG93biB0byAwLjQuNy4KCjIwMTAtMDgtMzAgMjE6MjI6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFVzZSBqaWZtdXggaW5zdGVhZCBvZiBtZXRhZGF0YW11eAoJICBVc2UgamlmbXV4IGVsZW1lbnQgdG8gd3JpdGUgZXhpZi94bXAgdGFncyBpbnN0ZWFkIG9mIG1ldGFkYXRhbXV4CgoyMDEwLTA4LTMwIDIxOjIxOjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogVXNlIG5ldyB0YWdzIGZyb20gLWJhc2UKCSAgUmVwbGFjZSBwcml2YXRlIHRhZ3MgZnJvbSBtZXRhZGF0YSBwbHVnaW4gd2l0aCB0aGUgbmV3IGdlbmVyaWMgdGFncwoJICBmcm9tIC1iYXNlLgoKMjAxMC0wOS0wMyAxNDoxMjoyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBSZWZhY3RvciB0ZXN0cwoJICBUaGUgdGVzdHMgd2VyZSBkb25lIGluIDIgc3RlcHMsIGZpcnN0IHRoZXJlIHdhcyBhIHN1aXRlCgkgIHRoYXQgZ2VuZXJhdGVkIHRoZSBmaWxlcyAod2hpbGUgY2hlY2tpbmcgdGhhdCBjYW1lcmFiaW4KCSAgd2FzIG9wZXJhdGluZyBjb3JyZWN0bHkpLiBUaGVuIHRoZXJlIHdhcyBhIHNlY29uZCBzdWl0ZQoJICB0aGF0IHdhcyBydW4gdG8gY2hlY2sgdGhhdCBhbGwgZmlsZXMgd2VyZSBwbGF5YWJsZSB3aXRoCgkgIHBsYXliaW4yLiBUaG9zZSBzZWNvbmQgdGVzdHMgd2VyZSBub3QgYmVpbmcgcnVuIGJlY2F1c2UKCSAgdGhleSB3ZXJlIGNoZWNraW5nIGlmIGNhbWVyYWJpbiB3YXMgaW5pdGlhbGl6ZWQsIGFuZCBpdAoJICBuZXZlciB3YXMgYXMgdGhvc2UgdGVzdHMgZGlkbid0IHVzZSBhICdzZXR1cCcgZnVuY3Rpb24uCgkgIFRoaXMgY29tbWl0IHJlZmFjdG9ycyB0aGUgdGVzdHMgYnkgcmVtb3ZpbmcgdGhpcyBzZWNvbmQKCSAgc3VpdGUgYW5kIG1lcmdpbmcgaXRzIHZhbGlkYXRpb24gd2l0aCB0aGUgZmlyc3Qgc3VpdGUncwoJICBmdW5jdGlvbnMuCgoyMDEwLTA4LTI0IDE0OjQzOjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICB0ZXN0czogamlmbXV4OiBBZGRzIGdlbyBsb2NhdGlvbiB0YWdzIHRlc3RzCgkgIEFkZHMgc29tZSBtb3JlIHRlc3RzIGZvciBnZW8gbG9jYXRpb24gdGFncy4KCSAgQWxzbyB1c2UgbGliZXhpZiBjb25zdGFudHMgZm9yIHRoZSBleGlmIHRhZ3MnIGlkcy4KCjIwMTAtMDgtMjQgMDk6MDI6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIHRlc3RzOiBqaWZtdXg6IFJlZmFjdG9yIHRlc3RpbmcgY29kZSBhIGxpdHRsZQoJICBSZWZhY3RvciB0ZXN0aW5nIGNvZGUgdG8gYWxsb3cgdGVzdGluZyBmb3IgY2FzZXMgd2hlcmUgdGhlCgkgIHNhbWUgZ3N0cmVhbWVyIHRhZyBpcyBtYXBwZWQgdG8gbXVsdGlwbGUgZXhpZiB0YWdzLgoKMjAxMC0wOC0yMyAxMTo1NzozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIGppZm11eDogTW9yZSB0ZXN0cyBmb3IgZXhpZiB0YWdzCgkgIFJlZmFjdG9ycyBzb21lIGNvZGUgYW5kIGFkZCBzb21lIG1vcmUgdGVzdHMgZm9yIGV4aWYgdGFncwoKMjAxMC0wOS0wMiAxMToxODoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBEbyBub3QgbGltaXQgdGhlIHNpemUgb2YgdGhlIGltYWdlIG9uIDE2Yml0cwoJICBVc2UgZ3VpbnQgaW5zdGVhZCBvZiBndWludDE2IHRvIHJlcHJlc2VudCB0aGUgc2l6ZSBvZiB0aGUgZW5jb2RlZCBpbWFnZSwKCSAgdGhpcyB3b3VsZCBtYWtlIHNvbWUgcmVjb21iaW5lZCBpbWFnZXMgbG9zZSBtb3N0IG9mIHRoZWlyIGRhdGEgYW5kCgkgIHNob3cgbGlrZSBhIGJpZyBibGFjayBpbWFnZSB3aXRoIGEgc21hbGwgbGluZSBvZiBjb250ZW50IG9uIHRvcC4KCSAgQWxzbyBhZGRzIGEgbWlub3IgbG9nIG1lc3NhZ2UuCgoyMDEwLTA4LTIxIDE3OjAxOjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguaDoKCSAgamlmbXV4OiBTZXQgb3V0cHV0IHBhZCBjYXBzCgkgIFNldCBvdXRwdXQgcGFkIGNhcHMgdG8gZ3VhcmFudGVlIGNhcHMgb24gdGhlIGJ1ZmZlcnMgYmVpbmcKCSAgcHVzaGVkIGRvd25zdHJlYW0uCgoyMDEwLTA4LTIwIDA4OjM0OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqaWZtdXg6IERldGVjdCBFT0kgY29ycmVjdGx5CgkgIEVPSSBhcmUgbm90IGFsd2F5cyBhdCB0aGUgbGFzdCA0IGJ5dGVzLiBXZSBuZWVkIHRvIHNlYXJjaAoJICB0aGUgbGFzdCA1IGJ5dGVzIHRvIGZpbmQgdGhlIDB4RkZEOSBzZXF1ZW5jZSBhcyBqcGVnZW5jIHNlZW1zCgkgIHRvIHJvdW5kIHRoZSBidWZmZXIgc2l6ZSB0byB0aGUgbmV4dCA0IG11bHRpcGxlLgoKMjAxMC0wOC0xOSAyMjo0Mzo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBQdXQgQVBQMCBmaXJzdCBhbHdheXMKCSAgRml4ZXMgdGhlIG9yZGVyIG9mIHRoZSBBUFAwL0FQUDEgbWFya2Vycy4gQVBQMCBzaG91bGQKCSAgYmUgZmlyc3QuCgoyMDEwLTA5LTAyIDAxOjMyOjEwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJICB2ZHBhdWgyNjRkZWM6IHBhcnNlICJwaXhlbC1hc3BlY3QtcmF0aW8iIGZyb20gc3RyZWFtCgoyMDEwLTA5LTAyIDAxOjA0OjE1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIHZkcGF1OiByZW1vdmUgbm9uIHdvcmtpbmcgdW51c2VkIGNvZGUgZnJvbSBHc3RCYXNlVmlkZW9EZWNvZGVyCgoyMDEwLTA5LTAyIDAwOjE3OjQ5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICB2ZHBhdTogR3N0QmFzZVZpZGVvRGVjb2RlciBzZXQgZGVmYXVsdCBwYXIgdG8gMS8xCgoyMDEwLTA5LTAxIDIzOjQ3OjIxICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2ZyYW1lLmg6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3RtcGVnNGZyYW1lLmg6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3R2ZHBtcGVnNGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuaDoKCSogc3lzL3ZkcGF1L21wZWc0L21wZWc0dXRpbC5jOgoJICB2ZHBhdTogcmVtb3ZlIGdzdF9iYXNlX3ZpZGVvX2RlY29kZXJfZ2V0X2N1cnJlbnRfZnJhbWUKCSAgd2Ugbm93IHBhc3MgdGhlIGN1cnJlbnQgZnJhbWUgdG8gR3N0QmFzZVZpZGVvRGVjb2Rlcjo6cGFyc2VfZGF0YQoJICBhbHNvIGZpeHVwIHNvbWUgZXJyb3JzIGluIHZkcGF1bXBlZzRkZWMgc28gdGhhdCBpdCBub3cgZ2l2ZXMgY29ycmVjdCBvdXRwdXQKCjIwMTAtMDktMDEgMjI6MDM6MDUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0dmlkZW9mcmFtZS5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3R2aWRlb2ZyYW1lLmg6CgkgIHZkcGF1OiByZXdvcmsgR3N0QmFzZVZpZGVvRGVjb2RlciB0aW1lc3RhbXBpbmcKCSAgdGltZXN0YW1wcyBhcmUgbm93IGNob3NlbiBpbiB0aGUgZm9sbG93aW5nIG9yZGVyOgoJICB1cHN0cmVhbSAtPiBwYXJzZWQgYnkgZGVjb2RlciAtPiBjYWxjdWxhdGVkIGZyb20gdGltZXN0YW1wIG9mZnNldAoJICB3ZSBhbHNvIGNoZWNrIHRoZSB0aW1lc3RhbXBzIHN1cHBsaWVkIGZyb20gdXBzdHJlYW0vZGVjb2RlciB0byBzZWUgaWYgdGhleQoJICBhdGxlYXN0IGlzIGluY3JlYXNpbmcuCgoyMDEwLTA5LTAxIDE3OjQ1OjE5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmM6CgkgIHZkcGF1OiBmaXggaW52YWxpZCB1bnJlZgoKMjAxMC0wOS0wNSAxMjoxOTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGVjNjAyMTcgdG8gZDNkOWFjZgoKMjAxMC0wOS0wNSAxMTo0NTozNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBCdW1wIG9yYyByZXF1aXJlbWVudCB0byAwLjQuOC4xCgkgIDAuNC43IGNyZWF0ZXMgY29kZSB3aXRoIHVuYXZhaWxhYmxlIHN5bWJvbHMKCSAgMC40LjggY3JlYXRlcyBidWdneSBjb2RlCgkgIExldCdzIHVzZSBnaXQgaGVhZCBvZiBvcmMgKHdoaWNoIHN0aWxsIHdvbid0IHdvcmsgYmVjYXVzZSBnaXQgaGVhZAoJICBvZiBvcmMgc3RpbGwgY2xhaW1zIHRvIGJlIDAuNC44KQoJICBUaGlzIGFsbG93cyBhbGwgdGhlIHJlc3Qgb2YgLWJhZCB0byBidWlsZCBwcm9wZXJseS4KCjIwMTAtMDctMTQgMjE6MDA6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSAgdGltaWRpdHk6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZXMgKGdjYyA0LjQuNCkKCjIwMTAtMDktMDQgMTE6MzU6MTYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0Lmg6CgkgIGNvZzogdXBkYXRlIGRpc3RlZCBPcmMgZmlsZXMKCjIwMTAtMDgtMjYgMjI6MDM6MjAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgc2RsdmlkZW9zaW5rOiBSZS1lbmFibGUgWVZZVSBhbmQgVVlWWQoJICBZVllVIG9uIG15IG1hY2hpbmUgYXBwZWFycyB0byBiZSBkb2luZyBzb2Z0d2FyZSBjb252ZXJzaW9uCgkgIChhbmQgZG9pbmcgaXQgaW5jb3JyZWN0bHkpLgoKMjAxMC0wOC0yNiAyMDoxNTo0MyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9iYXNlLmM6CgkqIHRvb2xzL2VsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IGNvbnN0cnVjdCBlbGVtZW50IG5hbWVzCgoyMDEwLTA4LTIyIDIxOjQzOjIwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBuZXcgZWxlbWVudAoKMjAxMC0wOC0yMCAxNzoyNDoyMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMub3JjOgoJICBjb2c6IEFkZCBmYXN0IHBhdGhzIGZvciBjb2xvcnNwYWNlIGNvbnZlcnNpb24KCjIwMTAtMDgtMjAgMTc6MjM6MTcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlcXVpcmUgT3JjIDAuNC43CgoyMDEwLTA4LTEzIDIxOjU4OjAxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtbWFrZXI6CgkqIHRvb2xzL2dzdGVsZW1lbnQuYzoKCSAgZWxlbWVudC1tYWtlcjogRml4IHVwIEdzdEVsZW1lbnQKCjIwMTAtMDgtMTMgMjE6NTQ6NTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLm9yYzoKCSAgY29nOiBJbXByb3ZlbWVudHMgaW4gY29sb3JzcGFjZSBhbmQgc2NhbGVyCgkgIEFkZCBmYXN0IHBhdGhzIGZvciBZVVYtPllVViBjb252ZXJzaW9ucyBhbmQgT3JjIGNvZGUgZm9yIGFsbC4KCSAgVXNlIE9yYyBmb3IgaG9yaXpvbnRhbCByZXNhbXBsaW5nLgoKMjAxMC0wNi0xMSAxNDozOTozMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY29nL2dzdGNvZy5jOgoJKiBleHQvY29nL2dzdGNvZ2Rvd25zYW1wbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2dmaWx0ZXIuYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJKiBleHQvY29nL2dzdGNvbG9yY29udmVydC5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgY29nOiBtaW5vciBjbGVhbnVwcwoJICBJbXByb3ZlIGVsZW1lbnQgZGVzY3JpcHRpb25zLCByZW1vdmUgdW51c2VkIGZpbGVzLCBjb2RlIGNsZWFudXAuCgoyMDEwLTA5LTAzIDEwOjAzOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzLm5ldzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHMubmV3OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoJICBUZW1wb3JhcmlseSBkaXNhYmxlIC1ER1NUX0RJU0FCTEVfREVQUkVDQVRFRCBmb3IgZ2l0IGJ1aWxkcyB1bnRpbAoJICB0aGUgY29kZSBpcyB1cGRhdGVkIGZvciB0aGUgR1NUX0ZMT1dfSVNfKiBtYWNybyBkZXByZWNhdGlvbnMuCgoyMDEwLTA5LTAxIDIyOjA1OjQzICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uaDoKCSAgbXBlZ3RzbXV4OiBJbml0aWFsaXplIFBFUyBwYWNrZXQgYmVmb3JlIGdldHRpbmcgdGhlIGhlYWRlciBzaXplLgoJICBUaGUgUEVTIGhlYWRlciBsZW5ndGggaXMgY2FsY3VsYXRlZCBiZWZvcmUgc2V0dGluZyB0aGUgZHluYW1pYyBmbGFncywgcmV0dXJuaW5nCgkgIGEgd3JvbmcgdmFsdWUuIFNtYWxsIGZyYW1lcyB0aGF0IHNob3VsZCBiZSBzZW50IGluIGEgc2luZ2xlIFRTIHBhY2tldCBhcmUKCSAgc3Bhd25lZCB0byBhIG5ldyBwYWNrZXQgYmVjYXVzZSBvZiB0aGF0IGVycm9yLiBGb3IgYXVkaW8gc3RyZWFtcyB3aGVyZSBhIHNpbmdsZQoJICBmcmFtZSBjYW4gY29wZSBpbiBvbmUgVFMgcGFja2V0IGl0IGludHJvZHVjZXMgYSBodWdlIG92ZXJoZWFkLgoJICBGb3IgYSAxMDBCIHBhY2tldCwgd2UgcHJlcGFyZSBhIFRTIHBhY2tldCB3aXRoIGEgcGF5bG9hZCBvZigxMDArOSlCLiBUaGVuLCB3ZQoJICB3cml0ZSB0aGUgVFMgaGVhZGVyIHVzaW5nIHRoaXMgdmFsdWUgaW4gdHNtdXhfd3JpdGVfdHNfaGVhZGVyLCBhbmQgY2FsbAoJICB0c211eF9zdHJlYW1fZ2V0X2RhdGEoKS4gVGhlIGR5bmFtaWMgZmxhZ3Mgd2hlcmUgbm90IHNldCB5ZXQgYW5kIG5vdwoJICB0c211eF9zdHJlYW1fcGVzX2hlYWRlcl9sZW5ndGgoKSByZXR1cm5zIDE0QiBpbnN0ZWFkIG9mIDlCLiBUaGUgcGF5bG9hZCBvZiB0aGUKCSAgVFMgcGFja2V0IGlzIDExNEIsIDVCIG1vcmUgdGhhbiB3aGF0IHdhcyBjYWxjdWxhdGVkLiAxMDlCIGFyZSBzZW50IGluIGEgZmlyc3QKCSAgcGFja2V0IGFuZCB0aGUgcmVtYWluaW5nIDVCIGFyZSBzZW50IGluIGFub3RoZXIgb25lLgoJICBGaXhlcyBidWcgIzYyODU0OC4KCjIwMTAtMDktMDIgMTA6MjM6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkgIGNvZ2NvbG9yc3BhY2U6IENsYXNzaWZ5IGFzIEZpbHRlci9Db252ZXJ0ZXIvVmlkZW8gaW5zdGVhZCBvZiBlZmZlY3QKCSAgRml4ZXMgYnVnICM2Mjg1NzAuCgoyMDEwLTA5LTAxIDE4OjMwOjE3ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkgIHZpZGVvYW5hbHlzZTogVXNlIGNvcnJlY3QgZWxlbWVudCBjbGFzc2lmaWNhdGlvbgoJICBUaGlzIGlzIG5vIGVmZmVjdCBidXQgYW4gYW5hbHl6ZXIuIEZpeGVzIGJ1ZyAjNjI4NTI3LgoKPT09IHJlbGVhc2UgMC4xMC4yMCA9PT0KCjIwMTAtMDktMDMgMDA6MjM6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMjAKCjIwMTAtMDktMDMgMDA6MjE6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc2V0dGluZ3MueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJICBkb2NzOiB1cGRhdGUgZm9yIHJlbGVhc2UKCjIwMTAtMDktMDMgMDA6MTk6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vTElOR1VBUzoKCSogcG8vZWwucG86CgkqIHBvL2dsLnBvOgoJKiBwby9yby5wbzoKCSogcG8vc2wucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEwLTA5LTAzIDAwOjAxOjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJICBkb2FwOiByZWZlcmVuY2UgZ2l0IHJlcG9zaXRvcnkgaW5zdGVhZCBvZiBDVlMgcmVwb3NpdG9yeQoKMjAxMC0wOS0wMiAyMjozOTozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IGZpeCB3cm9uZyB1c2Ugb2YgR1NUX0VMRU1FTlRfRVJST1IKCjIwMTAtMDgtMzAgMTY6MDE6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE5LjUgcHJlLXJlbGVhc2UKCjIwMTAtMDgtMzAgMTU6MjA6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJICBjYW1lcmFiaW46IERvbid0IGluc3RhbGwgZ3N0LWNhbWVyYS51aQoJICBUaGUgZXhhbXBsZXMgYXJlIG5vdCBtZWFudCB0byBiZSBpbnN0YWxsZWQgYW5kIHRoZSBleGVjdXRhYmxlcyBvZgoJICB0aGVtIGFyZSBub3QgaW5zdGFsbGVkIGFueXdheS4KCSAgRml4ZXMgYnVnICM2Mjc5MTguCgoyMDEwLTA4LTI1IDIyOjU2OjAzIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBVbmxvY2sgdGhlIHJpZ2h0IG11dGV4CgkgIFRoZSBtdXRleCBsb2NrZWQgaXMgZm9yIHRoZSAnbXV4JyBvYmplY3QsIGJ1dCB3ZSB1bmxvY2sgdGhlCgkgIHBhZCwgd2hpY2ggbWVhbnMgdGhhdCBpZiB0aGUgcnRwbXV4IGdldHMgYSBmbHVzaCwgdGhlbiB0aGUKCSAgb2JqZWN0IGxvY2sgd2lsbCBzdGF5IGxvY2tlZCBmb3JldmVyLCBjYXVzaW5nIGl0IHRvIGZyZWV6ZQoJICB0aGUgbmV4dCB0aW1lIGl0IHRyaWVzIHRvIHRha2UgaXQuCgkgIEZpeGVzIGJ1ZyAjNjI3OTkxCgoyMDEwLTA4LTI3IDE1OjQ5OjM5ICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQnVtcCBuZW9uIHJlcXVpcmVtZW50IHRvIDAuMjcuMAoJICBOZWVkZWQgaW4gb3JkZXIgdG8gaGF2ZSBuZV9zZXRfY29ubmVjdF90aW1lb3V0CgkgIEZpeGVzIGJ1ZyAjNjI1MDc2CgoyMDEwLTA4LTIxIDIxOjQyOjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0Lmg6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTkuNCBwcmUtcmVsZWFzZQoKMjAxMC0wOC0xNiAxMjozNjoyNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGF1dG9kZXRlY3Qgb3V0LW9mLW9yZGVyIGlucHV0IHRpbWVzdGFtcHMgYW5kIGRldGVybWluZSBEVFMgYWNjb3JkaW5nbHkKCSAgRmF2b3VyIHVzaW5nIGlucHV0IGJ1ZmZlciB0aW1lc3RhbXBzIGZvciBEVFMsIGJ1dCBmYWxsYmFjayB0byB1c2luZyBidWZmZXIKCSAgZHVyYXRpb24gKGFjY3VtdWxhdGlvbikgaWYgaW5wdXQgdHMgZGV0ZWN0ZWQgb3V0LW9mLW9yZGVyLgoJICBGaXhlcyAjNjI0MjEyLgoKMjAxMC0wOC0yMCAxMTowOToxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBBdm9pZCByZWNvbWJpbmluZyBSR0IganBlZ3MKCSAgSkZJRiBvbmx5IGFsbG93cyBZVVYgYXMgY29sb3JzcGFjZSwgd2hlbiB3ZSByZWNlaXZlIGFuIFJHQiBqcGVnLAoJICB3ZSBzaG91bGQganVzdCBwdXNoIGl0IGZvcndhcmQgd2l0aG91dCBhZGRpbmcgdGhlIEpGSUYgbWFya2VyLgoJICBGaXhlcyAjNjI3NDEzCgoyMDEwLTA4LTEzIDE0OjM0OjIxICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBTZXQgR3N0QmFzZVZpZGVvRGVjb2Rlcjo6cGFja2V0aXplZCB0byBUUlVFIGFzIHNvb24gYXMgcG9zc2libGUKCSAgVGhpcyBmaXhlcyBhbiBpbmZpbml0ZSBsb29wIGlmIGFuIEVPUyBldmVudCBpcyByZWNlaXZlZCBiZWZvcmUKCSAgR3N0QmFzZVZpZGVvRGVjb2Rlcjo6c3RhcnQoKSBpcyBjYWxsZWQsIGUuZy4gaW1tZWRpYXRlbHkgd2hlbiB0aGUKCSAgcGFkcyBhcmUgYWN0aXZhdGVkLgoJICBGaXhlcyBidWcgIzYyNjgxNS4KCjIwMTAtMDgtMTMgMTc6MjQ6MjUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gM2U4ZGIxZCB0byBlYzYwMjE3CgoyMDEwLTA4LTExIDIyOjAzOjA3ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkgIGdhdWRpZWZmZWN0czogTWFyayBpbmxpbmUgZnVuY3Rpb25zIGFzIHN0YXRpYyBpbmxpbmUKCSAgT3RoZXJ3aXNlIGl0IGZhaWxzIHRvIGNvcnJlY3RseSBsaW5rIHRoZW0gaW4gc29tZSBjYXNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNjY3MAoKMjAxMC0wOC0xMSAxNzoxOTowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiAuZ2l0aWdub3JlOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE5LjMgcHJlLXJlbGVhc2UKCjIwMTAtMDgtMTEgMTc6MTk6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dzZXR0aW5ncy9NYWtlZmlsZS5hbToKCSAgZ3NldHRpbmdzOiBmaXggbWFrZSBkaXN0Y2hlY2sKCSAgQ2xlYW4gdXAgZmlsZSB3ZSBnZW5lcmF0ZWQgYXQgYnVpbGQgdGltZS4KCjIwMTAtMDgtMTEgMTI6MDk6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrczogYmxhY2tsaXN0IGdzZXR0aW5ncyogZWxlbWVudHMgZm9yIGdlbmVyaWMvc3RhdGVzIHRlc3QKCSAgV2hlbiB0aGUgdGVzdCBpcyBydW4sIHRoZSBzY2hlbWEgZmlsZSB3b24ndCBiZSBpbnN0YWxsZWQgeWV0LAoJICBhbmQgdGhlcmUgZG9lc24ndCBzZWVtIHRvIGJlIGFuIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIHNldAoJICB0byBmb3JjZSBHU2V0dGluZ3MgdG8gbG9vayBpbiBhIGRpZmZlcmVudCBkaXJlY3RvcnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjY2MDMKCjIwMTAtMDgtMTEgMDA6MjM6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE5LjIgcHJlLXJlbGVhc2UKCSAgVGhpcyBjb21taXQgaXMgb3V0IG9mIHNlcXVlbmNlLCBpdCByZWFsbHkgYmVsb25ncyBiZXR3ZWVuIGNvbW1pdHMKCSAgMTUwOTgzMzE0MTJjZWI5ODJjMjRiODliYjQzNDYzNTRmYjU2NDMzYyAoQXV0b21hdGljIHVwZGF0ZSBvZgoJICBjb21tb24gc3VibW9kdWxlKSBhbmQgZGQyNmYzNzhiMDFkNjc5ODM0ZjEyOTM1ZWZjNzA5M2ZiNTgwNzk1NgoJICAoY29uZmlndXJlOiBGaXggdGhlIENFTFQgY2hlY2tzIHRvIC4uLikKCjIwMTAtMDgtMDkgMDA6NDI6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50IHRvIHJlbGVhc2VkIHZlcnNpb25zCgkgIFRoaXMgY29tbWl0IGlzIG91dCBvZiBzZXF1ZW5jZSwgaXQgcmVhbGx5IGJlbG9uZ3MgYmV0d2VlbiBjb21taXRzCgkgIDE1MDk4MzMxNDEyY2ViOTgyYzI0Yjg5YmI0MzQ2MzU0ZmI1NjQzM2MgKEF1dG9tYXRpYyB1cGRhdGUgb2YKCSAgY29tbW9uIHN1Ym1vZHVsZSkgYW5kIGRkMjZmMzc4YjAxZDY3OTgzNGYxMjkzNWVmYzcwOTNmYjU4MDc5NTYKCSAgKGNvbmZpZ3VyZTogRml4IHRoZSBDRUxUIGNoZWNrcyB0byAuLi4pCgoyMDEwLTA4LTA5IDAwOjQyOjI1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggLS1kaXNhYmxlLWV4dGVybmFsCgkgIFRoaXMgY29tbWl0IGlzIG91dCBvZiBzZXF1ZW5jZSwgaXQgcmVhbGx5IGJlbG9uZ3MgYmV0d2VlbiBjb21taXRzCgkgIDE1MDk4MzMxNDEyY2ViOTgyYzI0Yjg5YmI0MzQ2MzU0ZmI1NjQzM2MgKEF1dG9tYXRpYyB1cGRhdGUgb2YKCSAgY29tbW9uIHN1Ym1vZHVsZSkgYW5kIGRkMjZmMzc4YjAxZDY3OTgzNGYxMjkzNWVmYzcwOTNmYjU4MDc5NTYKCSAgKGNvbmZpZ3VyZTogRml4IHRoZSBDRUxUIGNoZWNrcyB0byAuLi4pCgoyMDEwLTA4LTA4IDE3OjA5OjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICBjaGVja3M6IHNraXAgamlmbXV4IHRlc3RzIGlmIHJlcXVpcmVkIGVsZW1lbnRzIGFyZW4ndCBhdmFpbGFibGUKCSAgVGhpcyBjb21taXQgaXMgb3V0IG9mIHNlcXVlbmNlLCBpdCByZWFsbHkgYmVsb25ncyBiZXR3ZWVuIGNvbW1pdHMKCSAgMTUwOTgzMzE0MTJjZWI5ODJjMjRiODliYjQzNDYzNTRmYjU2NDMzYyAoQXV0b21hdGljIHVwZGF0ZSBvZgoJICBjb21tb24gc3VibW9kdWxlKSBhbmQgZGQyNmYzNzhiMDFkNjc5ODM0ZjEyOTM1ZWZjNzA5M2ZiNTgwNzk1NgoJICAoY29uZmlndXJlOiBGaXggdGhlIENFTFQgY2hlY2tzIHRvIC4uLikKCjIwMTAtMDgtMTEgMTE6NTI6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL01ha2VmaWxlLmFtOgoJICBsZWdhY3lyZXNhbXBsZTogTGluayBhZ2FpbnN0ICQoTElCTSkgZm9yIHJpbnQoKSBhbmQgZnJpZW5kcwoKMjAxMC0wOC0xMSAxMTo1MToxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBtNC9nc2V0dGluZ3MubTQ6CgkgIGdzZXR0aW5nczogQWRkIGdzZXR0aW5ncy5tNCBmb3IgdGhlIGdzZXR0aW5ncyBtYWNyb3MKCjIwMTAtMDgtMTEgMTE6NTA6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludnRlbGVjaW5lL01ha2VmaWxlLmFtOgoJICBpbnZ0ZWxlY2luZTogTGluayBhZ2FpbnN0ICQoTElCTSkgZm9yIHNxcnQoKSBhbmQgZnJpZW5kcwoKMjAxMC0wOC0xMSAxMTozOTozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IHRoZSBDRUxUIGNoZWNrIHRvIGFjdHVhbGx5IHN1Y2NlZWQgaWYgQ0VMVCA+PSAwLjUgaXMgYXZhaWxhYmxlCgkgIEFsc28gcmVtb3ZlIHRoZSBBQ19NU0dfUkVTVUxUUyhbbm9dKSwgcGtnLWNvbmZpZyBkb2VzIHRoaXMgZm9yIHVzIGFscmVhZHkuCgoyMDEwLTA4LTEwIDEwOjU4OjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYmQyMDU0YiB0byAzZThkYjFkCgoyMDEwLTA4LTA5IDE3OjIwOjExICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmg6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogYWRkIGEgInpvb20iIHBhcmFtZXRlciB0byBzcXVhcmUgZmlsdGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU5MDgKCjIwMTAtMDgtMDkgMTY6NTU6NDMgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuaDoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBtYWtlIHNxdWFyZSAid2lkdGgiIGFuZCAiaGVpZ2h0IiBjdXN0b21pemFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTkwOAoKMjAxMC0wOC0wOSAxMDowMzoyMCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5oOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IGFkZCBhICJtb2RlIiBwcm9wZXJ0eSB0byBtaXJyb3IgZmlsdGVyCgkgIEFkZCBhICJtb2RlIiBlbnVtIHByb3BlcnR5IHRvIG1pcnJvciB0aGF0IGRlZmluZXMgaG93IHRvIHNwbGl0IHRoZSBmcmFtZQoJICBhbmQgd2l0aCBzaWRlIHJlZmxlY3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU5MDgKCjIwMTAtMDgtMDkgMDg6NTI6NTEgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGJ1bGdlLmg6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogYWRkIGEgInpvb20iIHBhcmFtZXRlciB0byBidWxnZSBmaWx0ZXIKCSAgUmV3b3JrIGJ1bGdlIG1hcHBpbmcgZnVuY3Rpb24gdG8gZ2l2ZSBtb3JlIHByZWRpY3RhYmxlIHJlc3VsdHMuCgkgIE5vdyB0aGUgYnVsZ2UgaXMgZG9uZSBkaXZpZGluZyBieSBhIHNjYWxlIGZhY3RvciB0aGF0IHNtb290aHN0ZXBzIGZyb20KCSAgInpvb20iIGF0IHRoZSBjZW50ZXIgdG8gMS4wIGF0ICJyYWRpdXMiLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1OTA4CgoyMDEwLTA4LTA1IDE2OjE2OjM3ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3RyZXRjaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guaDoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBhZGQgYW4gImludGVuc2l0eSIgcGFyYW1ldGVyIHRvIHN0cmV0Y2ggZmlsdGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU5MDgKCjIwMTAtMDgtMDUgMTI6NDM6MTUgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0dW5uZWwuYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBtYWtlIHR1bm5lbCAicmFkaXVzIiBjdXN0b21pemFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTkwOAoKMjAxMC0wOC0wNSAxMjoyOToxNiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGJ1bGdlLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogbWFrZSBidWxnZSAicmFkaXVzIiBjdXN0b21pemFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTkwOAoKMjAxMC0wOC0wNSAxMjoyNTowNCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBtYWtlIHN0cmV0Y2ggInJhZGl1cyIgY3VzdG9taXphYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU5MDgKCjIwMTAtMDgtMDggMjM6NTY6NDMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvbXBlZzQvbXBlZzR1dGlsLmM6CgkgIHZkcGF1bXBlZzRkZWM6IGZpeCB0eXBvIGluIGRlZmF1bHRfbm9uX2ludHJhX3F1YW50X21hdHJpeAoKMjAxMC0wNy0xNCAxMTowMzozNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGF1LmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3RtcGVnNGZyYW1lLmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3RtcGVnNGZyYW1lLmg6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3R2ZHBtcGVnNGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuaDoKCSogc3lzL3ZkcGF1L21wZWc0L21wZWc0dXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvbXBlZzR1dGlsLmg6CgkgIHZkcGF1OiBhZGQgbXBlZzQgcGFydDIgZGVjb2RlcgoKMjAxMC0wOC0wOCAxMjo0NjowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNtdXguYzoKCSAgY2hlY2tzOiBza2lwIGlkM211eCB1bml0IHRlc3RzIHRoYXQgbmVlZCBpZDNkZW11eCBpZiBpZDNkZW11eCBpcyBub3QgYXZhaWxhYmxlCgoyMDEwLTA4LTA4IDEyOjI2OjU1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBidWlsZCBhbmQgZGlzdCBuZXcgY29sb3JlZmZlY3RzIHBsdWdpbgoJICBGaXhlcyBtYWtlIGRpc3RjaGVjay4KCjIwMTAtMDgtMDggMTI6MDE6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBPbmx5IGNoZWNrIHRoZSBwbHVnaW4gZmlsZW5hbWVzLCBub3QgdGhlIGRpcmVjdG9yeSBuYW1lcwoKMjAxMC0wOC0wOCAxMTo1Njo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IERvbid0IHRyeSB0byByZWdpc3Rlci9sb2FkIHRoZSBzYW1lIGZyZWkwciBwbHVnaW4gYXQgZGlmZmVyZW50IGxvY2F0aW9ucyB0d2ljZQoJICBUaGlzIGNvdWxkIGhhcHBlbiBiZWNhdXNlIGZvciBleGFtcGxlIC91c3IvbGliIGlzIGxpbmtlZAoJICB0byAvdXNyL2xpYjY0IGFuZCBib3RoIGFyZSBsb2FkZWQuIFRoZSBmcmVpMHIgc3BlY2lmaWNhdGlvbgoJICBzYXlzIHRoYXQgdGhlIHBsdWdpbiBpbml0IGZ1bmN0aW9uIG11c3Qgb25seSBiZSBjYWxsZWQgb25jZQoJICBhbmQgZm9yIHNvbWUgcGx1Z2luIHdlaXJkIHRoaW5ncyAoaW5jbHVkaW5nIGNyYXNoZXMpIGFyZQoJICBoYXBwZW5pbmcuCgkgIEZpeGVzIGJ1ZyAjNjIzNzEwLgoKMjAxMC0wOC0wNiAwMTo1NjoyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBkdmJzcmM6IGFsaWduIGFjdHVhbCBkZWZhdWx0IHZhbHVlcyBmb3IgcHJvcGVydGllcyB3aXRoIGRlZmF1bHRzIGluIHBhcmFtIHNwZWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMTQwNAoKMjAxMC0wOC0wNiAxMjoxNDowNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGV2aWNlLmg6CgkgIHZkcGF1OiBmaXggZGVzdHJ1Y3Rpb24gb2YgR3N0VmRwRGV2aWNlIHdoZW4gaXQgZmFpbGVkIHRvIG9wZW4KCSAgb25seSBjbG9zZSBkaXNwbGF5IGluIGZpbmFsaXplIGFuZCBjaGVjayBpZiB2ZHBfZGVjb2Rlcl9kZXN0cm95IGlzIGF2YWlsYWJsZQoJICBiZWZvcmUgd2UgdXNlIGl0CgoyMDEwLTA4LTA1IDIzOjU1OjAwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuaDoKCSAgdmRwYXVzaW5rOiB1c2Ugc2VwYXJhdGUgbXV0ZXggZm9yIGRldmljZSBsb2NraW5nCgkgIHdlIGNhbid0IHVzZSBHU1RfT0JKRUNUX0xPQ0sgc2luY2UgdGhhdCBjYXVzZSBwcm9ibGVtcyB3aGVuIHdlIHRyeSB0byBwb3N0CgkgIGVycm9ycywgZHVlIHRvIGdzdF9lbGVtZW50X3Bvc3RfbWVzc2FnZSBhbHNvIHRha2luZyB0aGUgR1NUX09CSkVDVF9MT0NLCgoyMDEwLTA4LTA2IDExOjA0OjU3ICswMTAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIG5lb25odHRwc3JjOiBhZGQgY29ubmVjdC10aW1lb3V0IGFuZCByZWFkLXRpbWVvdXQgcHJvcGVydGllcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1MDc2CgoyMDEwLTA4LTA2IDEwOjQ0OjI0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL25lb25odHRwc3JjLmM6CgkgIG5lb25odHRwc3JjOiBhZGQgImNvb2tpZXMiIHByb3BlcnR5CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBTYW1lZXIgTmFpawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1MTc0CgoyMDEwLTA3LTI1IDE3OjA0OjEyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSAgZHNob3d2aWRlb3Npbms6IGNsb3NlIG91ciBvd24gd2luZG93IHdoZW4gY2hhbmdpbmcgdGhlIHdpbmRvdyBpZAoJICBJZiB3ZSBjcmVhdGVkIHRoZSB3aW5kb3csIGl0IG5lZWRzIHRvIGJlIGNsb3NlZCBhZnRlciBzZXR0aW5nIGEgbmV3CgkgIHdpbmRvdyBpZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU3NDI5MAoKMjAxMC0wNy0yNSAxNzowMToxOSArMDIwMCAgUmFpbW8gSmFydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgIGRzaG93dmlkZW9zaW5rOiBhbGxvdyBjaGFuZ2luZyB3aW5kb3cgSUQgd2hpbHN0IGluIFBMQVlJTkcgc3RhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU3NDI5MAoKMjAxMC0wOC0wNiAwMzoxOToxNiArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBMb2FkIHBsdWdpbnMgaW4gL3Vzci97bG9jYWwvLH1saWJ7MzIsNjR9L2ZyZWkwci0xIHRvbwoJICBMb2FkcyB0aGUgcGx1Z2lucyBpbiBtb3JlIHBhdGhzIHdoZXJlIHRoZXkgY291bGQgYmUgaW5zdGFsbGVkIGJ5CgkgIG11bHRpbGliIGRpc3RyaWJ1dGlvbnMuCgkgIEZpeGVzICM2MjM3MTAKCjIwMTAtMDgtMDUgMTM6NTc6MTEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYTUxOTU3MSB0byBiZDIwNTRiCgoyMDEwLTA4LTAzIDEwOjA4OjM0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlZ2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlZ2VvbWV0cmljdHJhbnNmb3JtLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IG1ha2UgY2ljbGVndCAicmFkaXVzIiBwcm9wZXJ0eSByZWxhdGl2ZQoJICBNYWtlIHRoZSAicmFkaXVzIiBwcm9wZXJ0eSBvZiBDaXJjbGVHZW9tZXRyaWNUcmFuc2Zvcm0gcmVsYXRpdmUuCgkgIFRoaXMgaXMgbW9yZSBjb2hlcmVudCB3aXRoIHRoZSB3YXkgW3gseV0tY2VudGVyIHByb3BlcnRpZXMgYXJlIGhhbmRsZWQKCSAgYW5kIGFsbG93IHRvIHNldCBhIHJhZGl1cyB3aXRob3V0IGtub3dpbmcgdGhlIHZpZGVvIHNpemUuCgkgIFJhZGl1cyBpcyBkZWZpbmVkIHdpdGggcmVzcGVjdCB0byB0aGUgY2lyY2xlIGNpcmN1bXNjcmliZWQgYWJvdXQgdGhlCgkgIHZpZGVvIHJlY3RhbmdsZSBzbyB0aGF0IGEgcG9pbnQgaW4gdGhlIGNlbnRlciBoYXMgcmFkaXVzIDAuMCBhbmQgb25lIGluCgkgIGEgdmVydGV4IGhhcyByYWRpdXMgMS4wLgoJICBOb3RlIHRoYXQgdGhpcyBpcyBub3QgYSByZWdyZXNzaW9uIGZyb20gdGhlIHByZXZpb3VzIGFic29sdXRlIHdheSBvZgoJICBkZWZpbmluZyB0aGUgcmFkaXVzIGFzIGEgdXNlciB3aG8ga25vd3MgdGhlIHZpZGVvIHNpemUgY2FuIGVhc2lseQoJICBjYWxjdWxhdGUgdGhlIHJlbGF0aXZlIHJhZGl1cyBhbmQgc2V0IHRoYXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU5NTkKCjIwMTAtMDgtMDQgMjM6NTA6NTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzbXV4OiBtaW5vciBjb2RlIGNsZWFuLXVwCgkgIEFkZCBoZWxwZXIgZnVuY3Rpb24gdG8gd3JpdGUgdGV4dCBmcmFtZXMgd2l0aCBqdXN0IG9uZSBzdHJpbmcuCgoyMDEwLTA4LTA0IDIzOjQ0OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGlnbm9yZSBtb3JlIHVuaXQgdGVzdCBiaW5hcmllcwoKMjAxMC0wNi0xNCAyMDowNzozMyArMTAwMCAgSm9uYXRoYW4gTWF0dGhldyA8am9uYXRoYW5AZDE0bi5vcmc+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzbXV4LmM6CgkgIGlkM211eDogYWRkIHN1cHBvcnQgZm9yIGJlYXRzLXBlci1taW51dGUgdGFnCgkgIFdyaXRlIGJlYXRzIHBlciBtaW51dGUgaW50byB0aGUgVEJQTSBmcmFtZSwgYW5kIGFkZCB1bml0CgkgIHRlc3QgZm9yIGlkM211eCwgYmFzZWQgb24gaWQzdjJtdXggdW5pdCB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIxNTIzCgoyMDEwLTA4LTA0IDE5OjI2OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJICBjb25maWd1cmU6IENoZWNrIGlmIHRoZSBjb21waWxlciBzdXBwb3J0cyBJU08gQzg5IG9yIEM5OSBhbmQgd2hpY2ggcGFyYW1ldGVycyBhcmUgcmVxdWlyZWQKCSAgVGhpcyBmaXJzdCBjaGVja3Mgd2hhdCBpcyByZXF1aXJlZCBmb3IgSVNPIEM5OSBzdXBwb3J0IGFuZCBzZXRzIHRoZSByZWxldmFudAoJICBjb21waWxlciBwYXJhbWV0ZXJzIGFuZCBpZiBubyBDOTkgY29tcGlsZXIgaXMgZm91bmQsIGl0IGNoZWNrcyBmb3IgYQoJICBDODkgY29tcGlsZXIuIFRoaXMgZW5hYmxlcyB1cyB0byBjaGVjayBmb3IgYW5kIHVzZSBDODkvQzk5IGZ1bmN0aW9ucwoJICB0aGF0IGdjYyBoaWRlcyBmcm9tIHVzIHdpdGhvdXQgdGhlIGNvcnJlY3QgY29tcGlsZXIgcGFyYW1ldGVycy4KCjIwMTAtMDgtMDQgMTA6MTU6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkgIGNvbG9yZWZmZWN0czogQWRkIHRvIHRoZSBkb2N1bWVudGF0aW9uCgoyMDEwLTA4LTA0IDEwOjExOjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0cGx1Z2luLmM6CgkgIGNvbG9yZWZmZWN0czogTWlub3IgY2xlYW51cAoKMjAxMC0wOC0wNCAxMDowOTo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJICBjb2xvcmVmZmVjdHM6IEltcHJvdmUgcHJvcGVydHkgZGVzY3JpcHRpb24gYSBiaXQKCjIwMTAtMDgtMDQgMTA6MDg6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSAgY29sb3JlZmZlY3RzOiBEb24ndCB1c2UgdGhlIGZpeGVkX2NhcHMgZnVuYyBvbiB0aGUgcGFkcwoJICBjb2xvcmVmZmVjdHMgY2FuIHJlbmVnb3RpYXRlIGR1cmluZyBwbGF5YmFjayB3aXRob3V0IGFueSBwcm9ibGVtcy4KCjIwMTAtMDgtMDMgMTQ6Mzk6MjIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuaDoKCSAgY29sb3JlZmZlY3RzOiBhZGQgYXl1diBzdXBwb3J0CgkgIEN1cnJlbnRseSBpbXBsZW1lbnRlZCBzd2l0Y2hpbmcgZnJvbSB5dXYgdG8gcmdiLCBsb29raW5nIHVwIHJnYiBmcm9tIHRoZQoJICB0YWJsZSBpbiB0aGUgdXN1YWwgd2F5LCBnZXR0aW5nIGJhY2sgdG8geXV2LiBXaXRoIGx1bWEgbG9va3VwIHByZXNldHMKCSAgKHNlcGlhLCBoZWF0LCB4cmF5KSBhIGNvbG9yIHNwYWNlIGNvbnZlcnNpb24gaXMgc2F2ZWQgZGlyZWN0bHkgbG9va2luZwoJICB1cCByZ2IgZm9yIGEgZ2l2ZW4gWSBhbmQgY29udmVydGluZyB0byB5dXYuCgkgIFByb2JhYmx5IHRoaXMgbGF0dGVyIHN0ZXAgY2FuIGV2ZW4gYmUgbWFkZSBmYXN0ZXIgcHJlY2FsY3VsYXRpbmcgYSBsdW1hCgkgIHRvIHl1diB0YWJsZSBpbiBhbiBvdXRlciBsb29wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1ODE3CgoyMDEwLTA4LTAxIDIzOjAzOjI0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuaDoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RwbHVnaW4uYzoKCSAgY29sb3JlZmZlY3RzOiBuZXcgcGx1Z2luIGZvciBsb29rdXAgdGFibGUgY29sb3IgbWFwcGluZwoJICBJbXBsZW1lbnRzIGEgY29sb3IgbG9va3VwIHRhYmxlIGZpbHRlciB3aXRoIDQgcHJlc2V0czoKCSAgLSBoZWF0OiBmYWtlIGhlYXQgY2FtZXJhIGVmZmVjdAoJICAtIHNlcGlhOiBzZXBpYSB0b25pbmcKCSAgLSB4cmF5OiBpbnZlcnQgKyBzaGFkZSB0byBibHVlCgkgIC0geHBybzogY3Jvc3MgcHJvY2VzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1ODE3CgoyMDEwLTA4LTAzIDEwOjI5OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICBkb2NzOiBBZGQgbG90cyBvZiBnYXVkaWVmZmVjdHMvZ2VvbWV0cmljdHJhbnNmb3JtIHN5bWJvbHMgdG8gdGhlIGRvY3MKCjIwMTAtMDgtMDIgMTE6MzA6NTAgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RmaXNoZXllLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IG5ldyBmaWx0ZXIgImZpc2hleWUiCgkgIFBvcnRzIGdsZWZmZWN0cyAiZmlzaGV5ZSIgZmlsdGVyIHRvIGdlb21ldHJpY3RyYW5zZm9ybS4KCSAgRmFrZSBmaXNoZXllIGxlbnMgZmlsdGVyLiBTb21ld2hhdCBlbXBpcmljIGltcGxlbWVudGF0aW9uIGJlY2F1c2UgSQoJICBkaWRuJ3QgZmluZCBhbnkgZ29vZCBhbGdvcml0aG0gdGhhdCBkb2VzIGl0IHdpdGggbmljZSByZXN1bHRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1NzIyCgoyMDEwLTA4LTAyIDExOjEyOjQyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogbmV3IGZpbHRlciAibWlycm9yIgoJICBQb3J0cyBnbGVmZmVjdHMgIm1pcnJvciIgZmlsdGVyIHRvIGdlb21ldHJpY3RyYW5zZm9ybS4KCSAgU2ltcGxlIHlldCBlZmZlY3RpdmUgbWlycm9yIGVmZmVjdCwgc3BsaXRzIHRoZSBpbWFnZSBpbnRvIGhhbHZlcyBhbmQKCSAgcmVmbGVjdCB0aGUgZmlyc3QgaW50byB0aGUgc2Vjb25kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1NzIyCgoyMDEwLTA4LTAyIDExOjAxOjMxICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogbmV3IGZpbHRlciAic3F1YXJlIgoJICBQb3J0cyBnbGVmZmVjdHMgInNxdWFyZSIgZmlsdGVyIHRvIGdlb21ldHJpY3RyYW5zZm9ybS4KCSAgTWFwcyBhIHJlZ2lvbiBhcm91bmQgdGhlIGNlbnRlciBpbnRvIGEgem9vbWVkIHNxdWFyZSBhbmQgc21vb3RobHkgZ2V0CgkgIGJhY2sgdG8gbm9ybWFsIHpvb20uIFdpdGggZmFjZXMgaXQgbWFrZXMgYSBmdW5ueSAiY3ViZS1mYWNlIiBlZmZlY3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU3MjIKCjIwMTAtMDgtMDIgMTA6NDY6NDQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0dW5uZWwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0dW5uZWwuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBuZXcgZmlsdGVyICJ0dW5uZWwiCgkgIFBvcnRzIGdsZWZmZWN0cyAidHVubmVsIiBmaWx0ZXIgdG8gZ2VvbWV0cmljdHJhbnNmb3JtLgoJICBEbyBub3RoaW5nIGluIGEgY2lyY2xlIGFyb3VuZCB0aGUgY2VudGVyIGFuZCB6b29tIG91dHNpZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU3MjIKCjIwMTAtMDgtMDIgMDk6Mzk6NTEgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGJ1bGdlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogbmV3IGZpbHRlciAiYnVsZ2UiCgkgIFBvcnRzIGdsZWZmZWN0cyAiYnVsZ2UiIGZpbHRlciB0byBnZW9tZXRyaWN0cmFuc2Zvcm0uCgkgIEFkZHMgYSBwcm90dWJlcmFuY2UgYXJvdW5kIHRoZSBjZW50ZXIgcG9pbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU3MjIKCjIwMTAtMDgtMDIgMDk6MTc6MDMgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ2VvbWV0cmljbWF0aC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogbmV3IGZpbHRlciAic3RyZXRjaCIKCSAgUG9ydHMgZ2xlZmZlY3RzICJzdHJldGNoIiBmaWx0ZXIgdG8gZ2VvbWV0cmljdHJhbnNmb3JtLgoJICBTaHJpbmtzIHRoZSBpbWFnZSBhcm91bmQgdGhlIGNlbnRlciBhbmQgZ3JhZHVhbGx5IHJldHVybiB0byBub3JtYWwgem9vbQoJICBjcmVhdGluZyBmdW5ueSBjYXJpY2F0dXJlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTcyMgoKMjAxMC0wOC0wMiAxODozMzo0NiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdS5jOgoJICB2ZHBhdTogc2V0IGJhY2sgcGx1Z2luIHJhbmtzIHRvIEdTVF9SQU5LX05PTkUKCSAgdGhlIHByZXZpb3VzIGNoYW5nZSB3YXMgbm90IG1lYW50IHRvIHNsaXAgaW4KCjIwMTAtMDgtMDIgMTg6MjM6MTEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1OiBzbGlnaHRseSBmaXggR3N0QmFzZVZpZGVvRGVjb2RlciB0aW1lc3RhbXBpbmcKCSAgY2xlYXIgdGltZXN0YW1wcyBvbiBmbHVzaCBhbmQgcHJvcGVybHkgY2FsY3VsYXRlIHRoZSBmcmFtZSdzIGVuZCBvZmZzZXQKCjIwMTAtMDgtMDEgMTI6MzI6MzEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkgIHZkcGF1OiBpbml0IGRlYnVnIGNhdGVnb3J5IGluIGdzdF92ZHBfdmlkZW9fYnVmZmVyX2dldF90eXBlCgoyMDEwLTA4LTAyIDIwOjQxOjEyICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2dhdWRpZWZmZWN0cy9ibHVyLWV4YW1wbGUucHk6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0cGx1Z2luLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0cGx1Z2luLmg6CgkgIGdhdWRpZWZmZWN0czogQWRkIEdhdXNzaWFuIEJsdXIgZWZmZWN0LCBhbmQgYnJpZWYgZXhhbXBsZS4KCjIwMTAtMDctMzAgMjM6NTk6MTAgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBmaXggd2FybmluZyBvbiBvc3guCgoyMDEwLTA3LTMwIDIyOjI3OjQ5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdTogYWRkIGVycm9yIHJlcG9ydGluZyB0byBkZXZpY2UgY3JlYXRpb24KCjIwMTAtMDctMzAgMTY6NTQ6NDAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIHZkcGF1OiBmaXggc21hbGwgdHlwbyBpbiBHc3RCYXNlVmlkZW9EZWNvZGVyCgoyMDEwLTA3LTMwIDE0OjQ3OjQzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJICB2ZHBhdTogdXNlIGdzdF92ZHBfeXV2X3RvX3ZpZGVvX2NhcHMgaW4gR3N0VmRwVmlkZW9TcmNQYWQgdG8gdHJhbnNmb3JtIHNldCBjYXBzCgkgIHRoaXMgd2F5IHdlJ2xsIGtlZXAgb3RoZXIgYWxsIG90aGVyIGZpZWxkcyBpbiB0aGUgY2FwcyB3aGljaCB3ZSBkaWRuJ3QgdGFrZSBpbgoJICBhY2NvdW50IHdoZW4gd2UgbWFudWFsbHkgY3JlYXRlZCB0aGUgInZpZGVvL3gtdmRwYXUtdmlkZW8iIGNhcHMKCjIwMTAtMDctMzAgMTQ6NDQ6MDkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1OiByZW5hbWUgZ3N0X3ZkcF92aWRlb19idWZmZXJfcGFyc2VfeXV2X2NhcHMgYW5kIG1vdmUgaXQgdG8gZ3N0dmRwdXRpbHMuaAoKMjAxMC0wNy0zMCAxNDowNzoyMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmM6CgkgIHZkcGF1OiBHc3RWZHBPdXRwdXRTcmNQYWQgdXNlIGdzdF9wYWRfYWxsb2Mgd2hlbiBvdXRwdXR0aW5nIHZpZGVvL3gtcmF3LXJnYgoJICB3ZSBpbXBsZW1lbnQgImFjY2VwdGNhcHMiIHRvIHByZXZlbnQgdXMgZnJvbSBnZXR0aW5nIGEgYnVmZmVyIHdpdGggZGlmZmVyZW50CgkgIHdpZHRoIGFuZCBoZWlnaHQgZnJvbSB3aGF0IHdlIHJlcXVlc3RlZC4KCjIwMTAtMDctMzAgMTE6Mjk6MTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHV0aWxzLmM6CgkgIHZkcGF1OiBwcm9wZXJseSByZW1vdmUgImNocm9tYS10eXBlIiBmaWVsZCBmcm9tIHRyYW5zZm9ybWVkIGNhcHMKCjIwMTAtMDctMzAgMTE6Mjc6MjcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IHVzZSBHc3RWZHBbVmlkZW98T3V0cHV0XUJ1ZmZlclBvb2wgdG8gY2FjaGUgb3VyIGJ1ZmZlcnMKCSAgVGhpcyB3YXkgd2UnbGwgcmV1c2UgdGhlIEdzdFZkcFtWaWRlb3xPdXRwdXRdQnVmZmVycyBpZiB0aGV5J3JlIG9mIHRoZSBzYW1lCgkgIHNpemUgYW5kIGNocm9tYS10eXBlL3JnYmEtZm9ybWF0LgoJICBBbHNvIHJlbW92ZSBnc3RfdmRwX291dHB1dF9zcmNfcGFkX25lZ290aWF0ZSBhbmQgc2V0IGEgInNldGNhcHMiIGZ1bmN0aW9uIG9uCgkgIEdzdFZkcE91dHB1dFNyY1BhZCBpbnN0ZWFkLCBsZWF2aW5nIG5lZ290aWF0aW9uIHRvIEdzdFZkcFZpZGVvUG9zdFByb2Nlc3MuCgoyMDEwLTA3LTMwIDExOjIwOjM1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuaDoKCSAgdmRwYXVzaW5rOiB1c2UgR3N0VmRwT3V0cHV0QnVmZmVyUG9vbCB0byBhbGxvYyBvdXIgYnVmZmVycwoJICBUaGlzIHdheSB3ZSdsbCByZXVzZSBvdXIgR3N0VmRwT3V0cHV0QnVmZmVycyBpZiB0aGV5J3JlIG9mIHRoZSBzYW1lIHNpemUgYW5kCgkgIHJnYmEtZm9ybWF0CgoyMDEwLTA3LTMwIDExOjE2OjA5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJICB2ZHBhdTogdXNlIEdzdFZkcFZpZGVvQnVmZmVyUG9vbCBpbiBHc3RWZHBWaWRlb1NyY1BhZAoJICBXZSBhbHNvIGRvbid0IHBhZF9hbGxvYyBvdXIgR3N0VmRwVmlkZW9CdWZmZXJzIGFueW1vcmUgc2luY2Ugd2UgZG9uJ3Qgc3VwcG9ydAoJICBkb3duc3RyZWFtIG5lZ290YXRpb24gYW55d2F5LgoKMjAxMC0wNy0zMCAxMTowNjoxNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlcnBvb2wuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSAgdmRwYXU6IGFkZCBHc3RWZHBPdXRwdXRCdWZmZXJQb29sCgkgIEdzdFZkcFZpZGVvT3V0cHV0UG9vbCBpcyBhIHN1YmNsYXNzIG9mIEdzdFZkcEJ1ZmZlclBvb2wgdGhhdCBjYWNoZXMKCSAgR3N0VmRwT3V0cHV0QnVmZmVycwoKMjAxMC0wNy0zMCAxMTowMToxNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVycG9vbC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1OiBhZGQgR3N0VmRwVmlkZW9CdWZmZXJQb29sCgkgIEdzdFZkcFZpZGVvQnVmZmVyUG9vbCBpcyBhIHN1YmNsYXNzIG9mIEdzdFZkcEJ1ZmZlciB0aGF0IGNhY2hlcwoJICBHc3RWZHBWaWRlb0J1ZmZlcnMKCjIwMTAtMDctMzAgMTA6NTU6NTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGJ1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGJ1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGJ1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXJwb29sLmg6CgkgIHZkcGF1OiBhZGQgR3N0VmRwQnVmZmVyUG9vbCBiYXNlIGNsYXNzCgkgIEdzdFZkcEJ1ZmZlclBvb2wgd2lsbCBiZSB1c2VkIHRvIGNhY2hlIEdzdFZkcFtWaWRlb3xPdXRwdXRdQnVmZmVycyBzaW5jZQoJICBjcmVhdGluZyB0aGVzZSBjYW4gYmUgYSBjb3N0bHkgb3BlcmF0aW9uIG9uIHNvbWUgaGFyZHdhcmUuCgoyMDEwLTA3LTI4IDIxOjM5OjEyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdTogcmVtb3ZlIEdzdFZkcE91dHB1dFNyY1BhZCAidGVtcGxhdGUtY2FwcyIgcHJvcGVydHkKCSAgaW5zdGVhZCB3ZSBkbyBhcyBHc3RWZHBWaWRlb1NyY1BhZCBhbmQgdXNlIHRoZSAidGVtcGwiIHByb3BlcnR5IG9mIEdzdFBhZCwKCSAgd2hpY2ggZW5hYmxlIHVzIHRvIGNoYW5nZSB0aGUgc2lnbmF0dXJlIG9mIGdzdF92ZHBfb3V0cHV0X3NyY19wYWRfbmV3IHRvIG1hdGNoCgkgIGdzdF9wYWRfbmV3X2Zyb21fdGVtcGxhdGUKCjIwMTAtMDctMjggMjE6MTU6NDYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdTogcmVtb3ZlIEdzdFZkcE91dHB1dFNyY1BhZCBjb2RlIHRvIHJldHJpZXZlIHRoZSBkZXZpY2UgZnJvbSBkb3duc3RyZWFtCgkgIHdlIG5vdyBubyBsb25nZXIgdHJ5IHRvIGdldCB0aGUgR3N0VmRwRGV2aWNlIGZyb20gZG93bnN0cmVhbSBzaW5jZSBpdCBpbgoJICBwcmFjdGljZSBkaWRuJ3QgZ2l2ZSB1cyBhbnl0aGluZyBhbmQgY29tcGxpY2F0ZXMgdGhlIGNvZGUgYWxvdC4gTmV2ZXJ0aGVsZXNzIGlmIGRldmljZQoJICBkaXN0cmlidXRpb24gc2hvdWxkIGJlIGRvbmUgdGhlcmUncyBwcm9iYWJseSBhIGxvdCBiZXR0ZXIgd2F5cyB0byBkbyBpdC4KCSAgSW5zdGVhZCB3ZSBub3cgc2ltcGx5IGFxdWlyZSB0aGUgZGV2aWNlIGluIHZkcGF1dmlkZW9wb3N0cHJvY2VzcyB3aGVuIHdlJ3JlCgkgIGdvaW5nIGludG8gUEFVU0VELgoKMjAxMC0wNy0yNyAyMzoyNDo0MyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdTogY2xlYW51cCBHc3RWZHBEZWNvZGVyIG9wZW5pbmcgb2YgaXQncyBHc3RWZHBEZXZpY2UKCSAgd2Ugbm93IG5vIGxvbmdlciB0cnkgdG8gZ2V0IHRoZSBHc3RWZHBEZXZpY2UgZnJvbSBkb3duc3RyZWFtIHNpbmNlIGl0IGluCgkgIHByYWN0aWNlIGRpZG4ndCBnaXZlIHVzIGFueXRoaW5nIGFuZCBjb21wbGljYXRlcyB0aGUgY29kZSBhbG90LiBOZXZlcnRoZWxlc3MgaWYgZGV2aWNlCgkgIGRpc3RyaWJ1dGlvbiBzaG91bGQgYmUgZG9uZSB0aGVyZSdzIHByb2JhYmx5IGEgbG90IGJldHRlciB3YXlzIHRvIGRvIGl0LgoKMjAxMC0wNy0yNyAyMzoxNzowOSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgdmRwYXU6IGZpeCBHc3RCYXNlVmlkZW9EZWNvZGVyIHJldHVybmluZyB3cm9uZyBHc3RTdGF0ZUNoYW5nZVJldHVybgoJICB3aGVuIGdzdF9iYXNlX3ZpZGVvX2RlY29kZXJfW3N0YXJ0fHN0b3BdIGZhaWxzIHdlIG5vdyByZXR1cm4KCSAgR1NUX1NUQVRFX0NIQU5HRV9GQUlMVVJFIGluc3RlYWQgb2YgcmV0dXJuaW5nIHdoYXQgdGhlIHBhcmVudCBjbGFzcyByZXR1cm5zCgoyMDEwLTA3LTI3IDE1OjMzOjAwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdW1wZWdkZWM6IHJlbW92ZSB1bm5lZWRlZCBzZXR0aW5nIG9mIGJ1ZmZlciBmbGFncwoJICBHc3RCYXNlVmlkZW9EZWNvZGVyIHNldHMgR1NUX1ZJREVPX0JVRkZFUl9URkYgZm9yIHVzIGFuZAoJICBHU1RfQlVGRkVSX0ZMQUdfREVMVEFfVU5JVCBkb2Vzbid0IG1ha2Ugc2Vuc2UgZm9yIGRlY29kZWQgZnJhbWVzLgoKMjAxMC0wNy0yOSAxNjowODowMyArMDIwMCAgQW5kb25pIE1vcmFsZXMgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkgIGRzaG93dmlkZW9zcmM6IGRvbid0IG1ha2UgYSByYW5nZSBpZiBtaW49PW1heAoJICBGaXhlcyBidWcgIzYyNTEzOAoKMjAxMC0wNy0yOSAxMDozODo1OCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogYWN0dWFsbHkgd29yayB3aGVuIHdlIGhhdmUgc21hbGwgYnVmZmVycyBjb21pbmcgaW4KCSAgYXZhaWxhYmxlX2Zhc3QgaXMgbm90IHdoYXQgd2Ugd2FudCBhbmQgaXQgd2lsbCBuZXZlciBnZXQgdG8gZGlzY292ZXIgcGFja2V0CgkgIHNpemUgaWYgMTg4IGJ5dGUgYnVmZmVycyBhcmUgYmVpbmcgcGlja2VkIHVwLgoKMjAxMC0wNy0yOCAxODozNjo1MyArMDIwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBpZ25vcmUgZ3NldHRpbmdzIHhtbCBzY2hlbWEgZmlsZQoKMjAxMC0wNy0yOCAxODozNDoxNSArMDIwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJICBkb2NzOiBhZGQgbW9yZSBwbHVnaW5zIGFuZCBlbGVtZW50cyB0byB0aGUgZG9jcwoKMjAxMC0wNy0yOCAxNzo0Njo1MyArMDIwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmg6CgkgIGl2ZnBhcnNlOiBmaXggdXAgbWFjcm9zIGFuZCBmdW5jdGlvbiBuYW1lcyB0byBtYXRjaCBndWlkZWxpbmVzCgoyMDEwLTA3LTI4IDE3OjM0OjAyICswMjAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuaDoKCSAgZ2F1ZGllZmZlY3RzOiBmaXggc3RydWN0dXJlIG5hbWVzIHRvIGNvbXBseSB3aXRoIHRoZSBwbHVnaW4gbW92aW5nIGd1aWRlbGluZXMKCjIwMTAtMDctMjggMTY6MTU6NTMgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2UgY2FwcyBiaXRyYXRlIGF0IGxhc3QgY2hhbmNlCgkgIElmIHdlIGRpZG4ndCBnZXQgdGhlIHN0cmVhbSdzIGJpdHJhdGUgZnJvbSBvbmUgb2YgdGhlIGF0b21zLAoJICB0cnkgZ2V0dGluZyBpdCBmcm9tIHRoZSBjYXBzIGFzIGEgbGFzdCByZXNvcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU0OTYKCjIwMTAtMDctMjggMTY6MTI6MTEgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkgIHF0bXV4OiBidHJ0IC0gbWF4IGJpdHJhdGUgYmVmb3JlIGF2ZXJhZ2UKCSAgQWNjb3JkaW5nIHRvIGlzbyBiYXNlIG1lZGlhIGZpbGUgZm9ybWF0LCB0aGUgbWF4IGJpdHJhdGUKCSAgaXMgYmVmb3JlIHRoZSBhdmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTQ5NgoKMjAxMC0wNy0yNyAxODoyMzozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBSZXNldCB0aGUgc2VnbWVudCBvbiBGTFVTSF9TVE9QIGFuZCB3aGVuIGdvaW5nIGJhY2sgdG8gUkVBRFkKCjIwMTAtMDctMjcgMTg6MDc6MDAgKzAyMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9NYWtlZmlsZS5hbToKCSAgdmRwYXU6IGRpc3QgbmV3IGhlYWRlciBmaWxlCgkgIEZpeCBtYWtlIGRpc3RjaGVjay4KCjIwMTAtMDctMjMgMTk6NDE6MjkgKzAyMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvZmFrZXNyYy5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5oOgoJICBkc2hvd3ZpZGVvc2luazogSW1wcm92ZW1lbnRzIGNvbnRyaWJ1dGVkIGZyb20gdGhlIE1vb3ZpZGEgcHJvamV0LgoJICAqIEluaGVyaXQgZnJvbSBHc3RWaWRlb1NpbmsKCSAgKiBJbXBsZW1lbnQgR3N0TmF2aWdhdGlvbiBpbnRlcmZhY2UKCSAgKiBQcm9wZXIgQ09NIGluaXRpYWxpemF0aW9uIGZvciB0aHJlYWRlZCBlbnZpcm9ubWVudHMKCSAgKiBGaXggV2luZG93IHJlc291cmNlIGxlYWsKCSAgKiBBZGQgRVZSIHN1cHBvcnQgZm9yIGJldHRlciB2aWRlbyBzY2FsaW5nIG9uIFdpbmRvd3MgVmlzdGEgYW5kIGFib3ZlCgkgICogT25seSBhcHBseSBQQVIgc2NhbGluZyB3aGVuIHRoZSBrZWVwX2FzcGVjdF9yYXRpbyBwcm9wZXJ0eSBpcyBzZXQgdG8gc3RheQoJICBjb25zaXN0ZW50IHdpdGggdGhlIG90aGVyIExpbnV4IHNpbmtzCgkgICogUHJldmVudCBhbiBpbmZpbml0ZSBsb29wIHdpdGggdGhlIHduZHByb2MgY2hhaW4KCSAgKiBGaXggZGVidWdnaW5nIG1lc3NhZ2VzIHRvIHVzZSB0aGUgb2JqZWN0IGluc3RhbmNlCgoyMDEwLTA3LTIzIDAwOjI4OjQ5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXU6IGFkZCBnc3RfdmRwX2RlY29kZXJfcmVuZGVyIGFuZCBnc3RfdmRwX2RlY29kZXJfaW5pdF9kZWNvZGVyCgoyMDEwLTA3LTIyIDA5OjIxOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBleGFtcGxlczogVXNlIGNhaXJvIGluc3RlYWQgb2YgZ2RrX2RyYXdfKiBBUEkKCSAgRml4ZXMgYnVnICM2MjUwMDMuCgoyMDEwLTA3LTEyIDIyOjM3OjQ3IC0wMzAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RwbHVnaW4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RwbHVnaW4uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmg6CgkgIGdhdWRpZWZmZWN0czogQWRkcyBuZXcgcGx1Z2luICdnYXVkaWVmZmVjdHMnCgkgIEFkZHMgdGhlIG5ldyAnZ2F1ZGllZmZlY3RzJyBwbHVnaW4sIG9yaWdpbmFsbHkgZm91bmQKCSAgaGVyZTogaHR0cDovL2dpdGh1Yi5jb20vbHVpc2JnL2dhdWRpX2VmZmVjdHMKCSAgQ29udGFpbnMgdGhlIGZvbGxvd2luZyB2aWRlbyBlZmZlY3QgZWxlbWVudHM6IGJ1cm4sIGNocm9taXVtLCBkaWxhdGUsCgkgIGRvZGdlLCBleGNsdXNpb24gYW5kIHNvbGFyaXplLgoJICBUaGFua3MgdG8gSmFuIFNjaG1pZHQgZm9yIHRoZSByZXZpZXdpbmcgYW5kIHJlZmFjdG9yaW5nCgoyMDEwLTA3LTE5IDIxOjUzOjMwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkgIHZkcGF1aDI2NGRlYzogdHJ5IHRvIGNhbGN1bGF0ZSBmcmFtZXJhdGUgaWYgd2UgZG9uJ3QgZ2V0IG9uZSBmcm9tIHVwc3RyZWFtCgoyMDEwLTA3LTE5IDExOjM0OjM5ICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZXZpY2UuYzoKCSAgdmRwYXU6IGZpeCBzZWdmYXVsdCB3aGVuIHZkcGF1IGRldmljZSBjb3VsZCBub3QgYmUgY3JlYXRlZAoKMjAxMC0wNy0xOCAyMToxNTozNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSAgdmRwYXVoMjY0ZGVjOiBmaXggcHJvYmxlbSB3aGVuIGVuY291bnRlcmluZyBHU1RfTkFMX0FVX0RFTElNSVRFUgoKMjAxMC0wNy0wOCAwOTo1Njo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJICB3YXNhcGlzcmM6IFVzZSBuZXcgZ3N0X2F1ZGlvX2Nsb2NrX25ld19mdWxsKCkKCjIwMTAtMDctMDggMDk6NTU6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6CgkgIGFsc2FzcGRpZnNpbms6IFVzZSBuZXcgZ3N0X2F1ZGlvX2Nsb2NrX25ld19mdWxsKCkKCjIwMTAtMDctMTUgMTM6MjM6NTIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkgIHZkcGF1aDI2NGRlYzogY2FsY3VsYXRlIHdpZHRoIGFuZCBoZWlnaHQgZnJvbSBiaXRzdHJlYW0gaW5mbwoKMjAxMC0wNy0xNSAxMToxMDowMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSAgdmRwYXVoMjY0ZGVjOiBmaXggdXNhZ2Ugb2YgZ19iaXRfc3RvcmFnZQoKMjAxMC0wNy0xNCAxMToxOTowNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9tcGVnL21wZWd1dGlsLmM6CgkgIHZkcGF1bXBlZ2RlYzogcmVuYW1lIHppZ3phZyBtYXRyaXgKCjIwMTAtMDctMTQgMTE6MTc6NDkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSAgdmRwYXVoMjY0ZGVjOiB1c2UgZ19iaXRfc3RvcmFnZSBpbnN0ZWFkIG9mIGxvZzIKCSAgbG9nMiBjYXVzZWQgY29tcGlsZSBpc3N1ZXMgb24gY2VydGFpbiBwbGF0Zm9ybXMKCjIwMTAtMDctMTMgMDA6NDA6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dzZXR0aW5ncy9NYWtlZmlsZS5hbToKCSAgZ3NldHRpbmdzOiBGaXggbWFpbnRhaW5lci1jbGVhbiB3aGVuIGl0IGlzIG5vdCBhdmFpbGFibGUKCSAgRG8gbm90IHVzZSBAR1NFVFRJTkdTX1JVTEVTQCBpZiBnc2V0dGluZ3MgaXMgbm90IGF2YWlsYWJsZQoJICB0byBhdm9pZCBtYWludGFpbmVyLWNsZWFuIGZhaWxpbmcuCgoyMDEwLTA3LTExIDEwOjQ3OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5oOgoJICBmcmVpMHI6IFVzZSBjb3JyZWN0IG9yZGVyIG9mIGRpcmVjdG9yaWVzIHRvIHNlYXJjaCBmb3IgcGx1Z2lucwoJICBBbmQgZG9uJ3QgZmFpbCBpZiBhIHBsdWdpbiB3YXMgYWxyZWFkeSByZWdpc3RlcmVkLiBGcmVpMHIgYWxsb3dzCgkgIHBsdWdpbnMgaW4gZGlyZWN0b3JpZXMgd2l0aCBoaWdoZXIgaW1wb3J0YW5jZSB0byBvdmVycmlkZSBwbHVnaW5zCgkgIGZyb20gZGlyZWN0b3JpZXMgd2l0aCBsb3dlciBpbXBvcnRhbmNlLgoKMjAxMC0wNy0xMCAxNjo1MjoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICB2cDhlbmM6IEFkZCBzdXBwb3J0IGZvciBlbmFibGluZyBhdXRvbWF0aWMgaW5zZXJ0aW9uIG9mIGFsdC1yZWYgZnJhbWVzIGJ5IHRoZSBlbmNvZGVyCgoyMDEwLTA3LTEwIDE2OjUxOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRml4IGhhbmRsaW5nIG9mIGludmlzaWJsZS9hbHQgcmVmIGZyYW1lcwoKMjAxMC0wNy0xMCAxNTo1MDo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBGaXggbWVtb3J5IGxlYWsKCSAgVGhlIHRpbWVzdGFtcHMgYXJlIG9ubHkgdXNlZCBpZiB0aGUgb3V0cHV0IGFkYXB0ZXIgaXMgdXNlZCwgbm90CgkgIGlmIGNvbXBsZXRlIGZyYW1lcyBhcmUgcHJvdmlkZWQgYnkgdGhlIGRlY29kZXIgYW5kIGZpbmlzaF9mcmFtZSgpIGlzCgkgIGNhbGxlZCBhbmQgZXZlbiBpbiB0aGUgY2FzZSB3aGVyZSB0aGUgb3V0cHV0IGFkYXB0ZXIgaXMgdXNlZCB0aGV5CgkgIG1pZ2h0IG5vdCBiZSB1c2VkIGFuZCBhcmUgbGVha2VkLgoKMjAxMC0wNy0xMCAxNTo0Njo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZGVjLmM6CgkgIHZwOGRlYzogQWRkIHNpbXBsZSB1bml0IHRlc3QgZm9yIHZwOGRlYwoKMjAxMC0wNy0xMCAxNTo0Njo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSAgdnA4ZW5jOiBJbXByb3ZlIHVuaXQgdGVzdCBhIGJpdAoKMjAxMC0wNy0xMCAxNTozMjoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSAgdnA4ZW5jOiBBbHNvIGNoZWNrIHRoZSBvdXRwdXQgY2FwcyBpbiB0aGUgdW5pdCB0ZXN0CgoyMDEwLTA3LTEwIDE1OjI5OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92cDhlbmMuYzoKCSAgdnA4ZW5jOiBBZGQgc2ltcGxlIHVuaXQgdGVzdAoKMjAxMC0wNy0wOSAxNzo0NDo1NiArMDMwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkgIGFpZm1tdXg6IHVzZSBhbHRlcm5hdGl2ZSB3YXkgdG8gY2hlY2sgZm9yIGluZgoJICBNU1ZDIGVtaXRzIGEgZGl2aWRlLWJ5LXplcm8gZXJyb3Igd2hlbiBjb21waWxpbmcgYWlmZm11eC5jIG9uIGxpbmUgMjA1LgoJICBGaXhlcyAjNjIzODgxLgoKMjAxMC0wNy0wOCAyMTo1MzozNSArMDEwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJICB3aW5rczogZml4IGNvbXBpbGF0aW9uIGJ5IHVzaW5nIHRoZSByaWdodCBmdW5jdGlvbgoJICBGaXhlcyAjNjIzODgzLgoKMjAxMC0wNy0wOCAxNzo1ODoxNiArMDIwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBmaXggZXhpZiBmcmFtZSBzaXplCgkgIFNraXAgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGJ5dGVzIHdoZW4gcmVhZGluZyBleGlmCgkgIGRhdGEKCSAgRml4ZXMgIzYyMzg1NAoKMjAxMC0wNy0wOCAxNTowNzoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IENvcnJlY3RseSBpbml0aWFsaXplIHByb3BlcnRpZXMgd2l0aCB0aGUgZGVmYXVsdCB2YWx1ZXMgYWdhaW4KCjIwMTAtMDctMDggMDc6NTc6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiBVc2UgUFJPUF8gaW5zdGVhZCBvZiBBUkdfIGZvciBwcm9wZXJ0eSBlbnVtcyBhbmQgdXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1MKCSAgQWxzbyBkb24ndCB1c2UgR19QQVJBTV9DT05TVFJVQ1QsIGl0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgZm9yIGVsZW1lbnRzLgoKMjAxMC0wNy0wNyAyMzowNjo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEZpeCB2aWV3ZmluZXItc2luayBwcm9wZXJ0eSBmb3IgYmlucwoJICBDb3JyZWN0bHkgaXRlcmF0ZSB2aWV3ZmluZGVyLXNpbmsgY2hpbGRyZW4gd2hlbgoJICBpdCBpcyBhIGJpbi4KCSAgRml4ZXMgIzYyMzgwMgoKMjAxMC0wNy0wNiAxNDo0ODowOCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogV3JpdGUgJ2J0cnQnIGF0b20gZm9yIEguMjY0IG1lZGlhIGlmIHBvc3NpYmxlCgkgIFRoaXMgd3JpdGVzIG91dCB0aGUgb3B0aW9uYWwgJ2J0cnQnIGF0b20gKE1QRUc0Qml0cmF0ZUJveCkgZm9yIEguMjY0CgkgIG1lZGlhIGlmIGVpdGhlciBvciBib3RoIG9mIGF2ZXJhZ2UgYW5kIG1heGltdW0gYml0cmF0ZSBhcmUgYXZhaWxhYmxlIGZvcgoJICB0aGUgc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzNjc4CgoyMDEwLTA3LTA1IDE0OjA5OjUwICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBxdG11eDogV3JpdGUgYXZnL21heCBiaXRyYXRlIHRvIEVTRFMgaWYgYXZhaWxhYmxlCgkgIFRoaXMgY29sbGVjdHMgdGhlICdiaXRyYXRlJyBhbmQgJ21heGltdW0tYml0cmF0ZScgdGFncyBvbiB0aGUKCSAgY29ycmVzcG9uZGluZyBwYWQgYW5kIHVzZXMgdGhlc2UgdG8gcG9wdWxhdGUgdGhlc2UgZmllbGRzIGluIHRoZSBFU0RTCgkgIHdoZXJlIGFwcGxpY2FibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjM2NzgKCjIwMTAtMDctMDcgMTA6MzM6MTggLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSAgZHNob3dkZWN3cmFwcGVyOiByZXNldCBmbG93IHJldHVybiBzdGF0ZSB0cmFja2VyIGFmdGVyIGZsdXNoIHRvIGF2b2lkIHNwdXJpb3VzIGVycm9ycyBhZnRlciBmbHVzaGluZyBpbiBzb21lIGNhc2VzLgoKMjAxMC0wNy0wNyAwODozNzoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogQWRkIHN1cHBvcnQgZm9yIHdpbGRtaWRpIDAuMi4zCgkgIEZpeGVzIGJ1ZyAjNjIzNzIyLgoKMjAxMC0wNy0wMSAxMDo1NjoxOSArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5oOgoJICBkc2hvd3ZpZGVvc2luazogVXBkYXRlIHJlbmRlcmVyIGFzcGVjdCByYXRpbyBhZnRlciBmb3JjZS1hc3BlY3QtcmF0aW8gcHJvcGVydHkgdXBkYXRlLgoJICBBIG5ldyB2aXJ0dWFsIG1ldGhvZCBoYXMgYmVlbiBhZGRlZCB0byB0aGUgUmVuZGVyZXJTdXBwb3J0IGNsYXNzLiBJdAoJICBpcyBjYWxsZWQgZHVyaW5nIHRoZSBpbml0aWFsIHJlbmRlcmVyIGNvbmZpZ3VyYXRpb24gYW5kIGVhY2ggdGltZSB0aGUKCSAgZm9yY2UtYXNwZWN0LXJhdGlvIHByb3BlcnR5IG9mIHRoZSBzaW5rIGlzIHVwZGF0ZWQuCgkgIEZpeGVzIGJ1ZyAjNjIzMjcyLgoKMjAxMC0wNy0wNyAwMDoxNToyMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkgIGRzaG93YXVkaW9kZWM6IEZpeCBjb21waWxhdGlvbiBlcnJvcgoJICBDbG9zZXMgIzYyMzcxMwoKMjAxMC0wNy0wNiAxMzoxNToyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IG9ubHkgdXNlIGdfd2FybmluZygpIHdoZW4gc2V0dGluZyB0aGUgb2xkIGlzLWxpdmUgcHJvcGVydHksIG5vdCB3aGVuIHJlYWRpbmcgaXQKCSAgRG9uJ3Qgd2FudCB3YXJuaW5ncyBpbiBlLmcuIGdzdC1pbnNwZWN0LgoKMjAxMC0wNy0wNiAxMDo1MzowNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogVXNlIHByb3BlciBnc2V0dGluZ3Mgc2NoZW1hIGZpbGUKCjIwMTAtMDctMDUgMTE6NTI6NTYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkgIHRlc3RzOiBmaXggY2FwcyBsZWFrIGluIGpwZWdwYXJzZSB1bml0IHRlc3QKCjIwMTAtMDctMDUgMTE6NDg6MDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogZml4IHNraXBwaW5nIGV4dHJhIDB4ZmYgbWFya2VycwoJICBJbiBwYXJ0aWN1bGFyLCB0aGlzIG1ha2VzIHRoZSBqcGVncGFyc2UgdW5pdCB0ZXN0IHBhc3MgYWdhaW4uCgkgIEFsc28gYWRkIGEgZGVidWcgc3RhdGVtZW50LgoJICBGaXhlcyAjNjIyNjkwLgoKMjAxMC0wNy0wNSAxMDowOTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdDogSW1wcm92ZSBkZWJ1Z2dpbmcKCjIwMTAtMDctMDUgMTA6MDg6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmg6CgkgIGNlbHRlbmM6IEFkZCBzdXBwb3J0IGZvciBzZXR0aW5nIHRoZSBwcmVkaWN0aW9uIG1vZGUgYW5kIHRoZSBzdGFydCBiYW5kCgoyMDEwLTA3LTA1IDA5OjUzOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY2VsdDogQWRkIGNoZWNrIGZvciBjZWx0IDAuOAoKMjAxMC0wNy0wNSAwOTo1MjoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdDogUmVtb3ZlIHN1cHBvcnQgZm9yIGNlbHQgPCAwLjUKCSAgY2VsdCAwLjUgd2FzIHJlbGVhc2VkIG1vcmUgdGhhbiBhIHllYXIgYWdvIGFuZCB0aGUgYml0c3RyZWFtIGlzCgkgIGluY29tcGF0aWJsZSB3aXRoIHRoZSBjdXJyZW50IG9uZSBhbnl3YXkuCgoyMDEwLTA3LTA1IDA5OjQ3OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0OiBGaXggY29tcGlsYXRpb24gd2l0aCBjZWx0IDAuOAoJICBGaXhlcyBidWcgIzYyMzU1MC4KCjIwMTAtMDctMDUgMDk6MzI6MzAgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc3JjLmM6CgkgIGdzZXR0aW5nczogZml4IHNvbWUgbW9yZSB3YXJuaW5ncwoKMjAxMC0wNy0wNSAwOToyODo0OSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc2luay5jOgoJICBnc2V0dGluZ3M6IGZpeCBhIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTAtMDctMDMgMTY6MTU6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9nc2V0dGluZ3MvTWFrZWZpbGUuYW06CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zaW5rLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zcmMuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NyYy5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc2luay5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc3JjLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zcmMuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0c3dpdGNoc2luay5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNyYy5oOgoJKiBleHQvZ3NldHRpbmdzL29yZy5mcmVlZGVza3RvcC5nc3RyZWFtZXIuZGVmYXVsdC1lbGVtZW50cy5nc2NoZW1hLnhtbC5pbjoKCSogZXh0L2dzZXR0aW5ncy9wbHVnaW4uYzoKCSogcG8vUE9URklMRVMuaW46CgkgIGdzZXR0aW5nczogSW5pdGlhbCB2ZXJzaW9uIG9mIEdTZXR0aW5ncyBwbHVnaW4KCSAgVGhpcyBwcm92aWRlcyBhdWRpby92aWRlbyBzb3VyY2VzIGFuZCBzaW5rcy4KCSAgRml4ZXMgYnVnICM2MTYyNjUuCgoyMDEwLTA3LTAzIDE3OjQ4OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbHYyLnhtbDoKCSAgZG9jczogSW50ZWdyYXRlIFZQOCBkb2N1bWVudGF0aW9uCgoyMDEwLTA3LTAzIDE3OjQ3OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmg6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIHZwODogQWRkIGluaXRpYWwgZG9jdW1lbnRhdGlvbiwgYmFzZWQgb24gdGhlIHRoZW9yYWRlYy90aGVvcmFlbmMgZG9jdW1lbnRhdGlvbgoKMjAxMC0wNy0wMyAxNzozNDo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJKiBleHQvdnA4L3BsdWdpbi5jOgoJICB2cDg6IE1vdmUgc3RydWN0dXJlIGRlZmluaXRpb25zLCBldGMgdG8gcHVibGljIGhlYWRlciBmaWxlcyBmb3IgZ3RrLWRvYwoKMjAxMC0wNy0wMiAxMjo0NToyMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogRG9uJ3QgdXNlIGJvZ3VzIGNvZGVjL2Zvcm1hdCB0YWdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjMzNjUKCjIwMTAtMDctMDEgMTU6MTk6MTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBydHBtdXg6IEFkZCBzdXBwb3J0IGZvciBHc3RCdWZmZXJMaXN0CgkgIEZhY3RvciBvdXQgbW9zdCBvZiB0aGUgYnVmZmVyIGhhbmRsaW5nIGFuZCBpbXBsZW1lbnQgYSBjaGFpbl9saXN0CgkgIGZ1bmN0aW9uLiBBbHNvLCB0aGUgRFRNRiBtdXhlciBoYXMgYmVlbiBtb2RpZmllZCB0byBqdXN0IGhhdmUgYQoJICBmdW5jdGlvbiB0byBhY2NlcHQgb3IgcmVqZWN0IGEgYnVmZmVyIGluc3RlYWQgb2YgaGF2aW5nIHRvIHN1YmNsYXNzCgkgIGJvdGggY2hhaW4gYW5kIGNoYWluX2xpc3QuCgoyMDEwLTA3LTAxIDE1OjE1OjQ5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IERvbid0IGxlYWsgaW52YWxpZCBidWZmZXJzCgoyMDEwLTA2LTE0IDE1OjE1OjA5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmM6CgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmg6CgkgIHZpZGVvbWF4cmF0ZTogQWRkIHRvIGRvY3MKCjIwMTAtMDYtMTEgMTg6MzE6MDUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmM6CgkgIHZpZGVvbWF4cmF0ZTogQWRkIGZpeGF0ZXNfY2FwcwoKMjAxMC0wNi0xMCAyMDozNjoyOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuYzoKCSAgdmlkZW9tYXhyYXRlOiBBY2NlcHQgd2lkZXIgY2FwcwoKMjAxMC0wNi0xMCAyMDoyNTowMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuYzoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuaDoKCSAgdmlkZW9tYXhyYXRlOiBNYWtlIHBlcmlvZCBvdmVyIHdoaWNoIHRvIGF2ZXJhZ2UgY29uZmlndXJhYmxlCgoyMDEwLTA2LTEwIDIwOjQzOjE2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5jOgoJICB2aWRlb21heHJhdGU6IFNpbXBsaWZ5IHRyYW5zZm9ybV9jYXBzCgoyMDEwLTA2LTEwIDIwOjE0OjAxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5jOgoJICB2aWRlb21heHJhdGU6IFVzZSBiYXNldHJhbnNmb3JtIGNvcnJlY3RseQoKMjAxMC0wNi0xMCAyMDowODoxNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuYzoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuaDoKCSAgdmlkZW9tYXhyYXRlOiBNYWtlIHBsdWdpbiBhY3R1YWxseSB3b3JrIGJ5IHVzaW5nIGFuIGF2ZXJhZ2UKCjIwMTAtMDYtMTAgMTk6MTc6MDAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuYzoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuaDoKCSAgdmlkZW9tYXhyYXRlOiBJbXBvcnQgcGx1Z2luCgkgIEltcG9ydCBwbHVnaW4gZnJvbSBQc2lNZWRpYSwgYmFzZWQgb24gbXkgd29yawoKMjAxMC0wNy0wMSAxNjoyODo1NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogc2lnbmFsLWZwcy1tZWFzdXJlbWVudHMgaXMgd3JpdGFibGUKCSAgc2lnbmFsLWZwcy1tZWFzdXJlbWVudHMgaXMgYSByZWFkd3JpdGUgcHJvcGVydHksIG5vdCByZWFkLW9ubHkuCgkgIEFsc28gYWRkcyBzb21lIG1vcmUgZGVidWdnaW5nIGxvZ3MuCgoyMDEwLTA2LTMwIDE4OjU5OjIzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogYWRkIGdzdC1mZm1wZWcgdG8gd2hpdGVsaXN0IGFzIHdlbGwKCSAgVGhlIG14ZiB0ZXN0cyB1c2Ugc29tZSBmZm1wZWcgZWxlbWVudHMgaWYgdGhleSdyZSBhdmFpbGFibGUuCgoyMDEwLTA2LTMwIDE4OjUyOjEyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogYWRkIHBsdWdpbiBsb2FkaW5nIHdoaXRlbGlzdCB0byB0ZXN0IGVudmlyb25tZW50CgkgIE9ubHkgd2FudCB0byBsb2FkIGNvcmUvLWJhc2UvLWdvb2QvLXVnbHkvLWJhZCBwbHVnaW5zIGhlcmUuCgoyMDEwLTA2LTMwIDE4OjIwOjEzICswMTAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwQGstZC13Lm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IGRvbid0IGZyZWUgUEFUIHN0cnVjdHVyZSB3aGljaCBtYXkgc3RpbGwgYmUgbmVlZGVkIGxhdGVyCgkgIFRoaXMgaXMgYSBwcm9ibGVtIGlmIHlvdSB0dW5lIHRvIGEgY2hhbm5lbCB3aGljaCB1c2VzIHBpZCBYIGFuZCBsYXRlciB0dW5lIHRvCgkgIGFub3RoZXIgY2hhbm5lbCB3aGVyZSBYIGlzIHVzZWQgZm9yIGFub3RoZXIgdGFibGUgKGUuZy4gUE1UKS4KCSAgVGhlIGNvZGUgdGhhdCBkb2VzIHRoYXQgd2FzIGFjdHVhbGx5IGFscmVhZHkgdGhlcmUgYnV0IG5ldmVyIHVzZWQgYmVjYXVzZSB0aGUKCSAgcGF0IHN0cnVjdHVyZSB3YXMgZnJlZWQgYmVmb3JlLiBUaGUgY29tbWl0IHRoYXQgaW50cm9kdWNlZCB0aG9zZSBsaW5lcyBpbnRlbmRlZAoJICB0byBmaXggYSBtZW1vcnkgbGVhaywgYnV0IHdlIGNsZWFuIHRoaW5ncyB1cCBlbHNld2hlcmUuCgkgIEZpeGVzICM2MjI3MjUuCgoyMDEwLTA2LTMwIDE4OjE5OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJICBkb2NzOiB1cGRhdGUgaW5zcGVjdCBpbmZvLCBub3cgc29ydGVkIGFuZCBlc2NhcGVkCgoyMDEwLTA2LTMwIDE3OjU0OjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIC5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGlnbm9yZSB0ZW1wb3Jhcnkgb3JjIGZpbGVzCgoyMDEwLTA2LTI5IDExOjIxOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJICB2ZHBhdTogQ2hlY2sgZm9yIGxvZzIgYW5kIG9ubHkgdXNlIGl0IGlmIGl0J3MgYXZhaWxhYmxlCgoyMDEwLTA2LTI4IDE2OjIwOjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBhdXRvbWFrZSByZXF1aXJlbWVudCB0byAxLjEwIGFuZCBhdXRvY29uZiB0byAyLjYwCgkgIEZvciBtYWludGFpbmFiaWxpdHkgcmVhc29ucywgJChidWlsZGRpcikgYW5kIG90aGVyIHRoaW5ncy4KCSAgU2VlICM2MjI5NDQgYW5kICM1NzA0MjguCgoyMDEwLTA2LTI4IDEyOjAwOjU1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGZyYW1lLmM6CgkgIHZkcGF1aDI2NGRlYzogZG9uJ3QgdXNlIGRlcHJlY2F0ZWQgZ19wdHJfYXJyYXlfZnJlZSBpbmNhc2UgZ2xpYiA+PSAyLjIyCgoyMDEwLTA2LTI4IDExOjE5OjI3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBmaXggcmVzaXppbmcgb2Ygb3V0cHV0CgoyMDEwLTA2LTI4IDExOjA4OjU2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGZyYW1lLmM6CgkgIHZkcGF1aDI2NGRlYzogZG9uJ3QgdXNlIGdsaWIgMi4yMiBmdW5jdGlvbnMKCjIwMTAtMDYtMjcgMjA6Mjk6MDYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1OiBjaGFuZ2UgR3N0QmFzZVZpZGVvRGVjb2RlciBzdGF0ZSBhcGkKCjIwMTAtMDYtMjcgMTA6NTI6MzMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmM6CgkgIHZkcGF1aDI2NGRlYzogZnJlZSBmcmFtZXMgb24gZmluYWxpemUgaW4gR3N0SDI2NERQQgoKMjAxMC0wNi0yNyAwOTo1NToyMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdTogYWRkIGRpc3BsYXkgcHJvcGVydHkgdG8gR3N0VmRwRGVjb2RlcgoKMjAxMC0wNi0yNyAwMToyNzoyOCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRmcmFtZS5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZnJhbWUuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGZyYW1lLmg6CgkgIHZkcGF1aDI2NGRlYzogcmVuYW1lIEdzdFZkcEgyNjRGcmFtZSB0byBHc3RIMjY0RnJhbWUKCjIwMTAtMDYtMjcgMDA6MzY6MjUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdTogZml4IGVycm9yIGhhbmRsaW5nIHdoZW4gcGx1Z2dpbmcgInZkcGF1dmlkZW9wb3N0cHJvY2VzcyAhIGZha2VzaW5rIgoKMjAxMC0wNi0yNyAwMDozNToxMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdTogYWRkIGVycm9yIHBhcmFtZXRlciB0byBnc3RfdmRwX3ZpZGVvX3NyY19wYWRfZ2V0X2RldmljZQoKMjAxMC0wNi0yOCAxMDo0Nzo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkgIHZkcGF1OiBMaW5rIHRvICQoTElCTSkgZm9yIGxvZzIgYW5kIGZyaWVuZHMKCjIwMTAtMDYtMjcgMTk6MjI6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlX2Z1bmN0YWJsZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGVfcmVmLmM6CgkgIGxlZ2FjeXJlc2FtcGxlOiBJbmNsdWRlIF9zdGRpbnQuaCBmb3IgaW50MTZfdCBhbmQgZnJpZW5kcwoKMjAxMC0wNi0yNyAxNzo0Njo0NCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9jb2dmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJICBjb2c6IFVzZSBnX21hbGxvYygpIGluc3RlYWQgb2YgbWFsbG9jKCkKCSAgbWFsbG9jKCkgbmVlZHMgc3RkbGliLmgsIHdoaWNoIGlzbid0IGluY2x1ZGVkIGhlcmUgYW5kIHRoZQoJICBtZW1vcnkgaXMgZnJlZWQgbGF0ZXIgd2l0aCBnX2ZyZWUoKSBhbnl3YXkuCgoyMDEwLTA2LTI3IDExOjI0OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgYXNzcmVuZGVyLCBpdmZwYXJzZSwganBlZ2Zvcm1hdDogZml4IGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggZGVidWdnaW5nIGRpc2FibGVkIGluIGNvcmUKCjIwMTAtMDYtMjcgMTA6NDE6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIHRlc3RzOiBGaXggYnVpbGQgd2l0aCBHVEsrIDwgMi4xNy43CgkgIGd0a193aWRnZXRfZ2V0X2FsbG9jYXRpb24oKSB3YXMgYWRkZWQgaW4gdGhhdCB2ZXJzaW9uLgoKMjAxMC0wNi0yNyAxMDozNjo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzoKCSAgY29uZmlndXJlOiBSZXF1aXJlIEdUSysgPj0gMi4xNCBmb3IgdGhlIGV4YW1wbGUKCjIwMTAtMDYtMjcgMDc6NDA6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIHRlc3RzOiBEb24ndCB1c2UgZGVwcmVjYXRlZCBHVEsgQVBJIHRvIGZpeCB0aGUgYnVpbGQgd2l0aCBHVEsrIDMuMAoKMjAxMC0wNi0yNiAyMTowMjo1MyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcC9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuaDoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmg6CgkgIHZkcGF1OiBhZGQgR3N0VmRwRGVjb2RlciBiYXNlIGNsYXNzCgoyMDEwLTA2LTI2IDE5OjAyOjAwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSAgdmRwYXVoMjY0ZGVjOiBhZGQgZ3N0X2gyNjRfZHBiX3NldF9vdXRwdXRfZnVuYyBmdW5jdGlvbgoKMjAxMC0wNi0yNSAyMDoxOToyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFdyaXRlIHVpbnQgdGFncyB0aGF0IGRvbid0IGhhdmUgYSBjb21wbGVtZW50CgkgIFdyaXRlIHVpbnQgdGFncyB0aGF0IGhhdmUgY29tcGxlbWVudHMgKGUuZy4gdHJhY2stbnVtYmVyLwoJICB0cmFjay1jb3VudCkgZXZlbiB3aGVuIHdlIG9ubHkgaGF2ZSBvbmUgb2YgdGhlbSBhdmFpbGFibGUKCSAgYW5kIHNldCB0aGUgb3RoZXIgb25lIHRvIDAuCgkgIEZpeGVzICM2MjI0ODQKCjIwMTAtMDYtMjUgMTE6MDI6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgbWV0YWRhdGE6IEluY2x1ZGUgY29uZmlnLmggaW4gbWV0YWRhdGEqLmMgZmlsZXMKCSAgSW5jbHVkZSBjb25maWcuaCBpbiBtZXRhZGF0YWV4aWYuYyBpbiBtZXRhZGF0YSBwbHVnaW4gc28KCSAgdGhhdCBIQVZFX0VYSUYgZ2V0cyBkZWZpbmVkIGFuZCBleGlmIG1ldGFkYXRhIGlzIHByb3Blcmx5CgkgIGdlbmVyYXRlZC4KCSAgQWxzbyBhZGRzIGNvbmZpZy5oIHRvIGFsbCAuYyBmaWxlcyBtaXNzaW5nIGl0IGluIG1ldGFkYXRhIHBsdWdpbgoJICBGaXhlcyAjNjIyNjkyCgoyMDEwLTA2LTI0IDIwOjIxOjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogV2FybiBpZiBwcmVyb2xsIHZhbHVlIGlzIHRvbyBiaWcKCSAgUG9zdCBhIHdhcm5pbmcgd2hlbiB0aGUgcHJlcm9sbCB2YWx1ZSBpcyBncmVhdGVyIHRoYW4KCSAgdGhlIHN0cmVhbXMgZHVyYXRpb24KCjIwMTAtMDYtMjQgMjM6NTc6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvTWFrZWZpbGUuYW06CgkgIHZkcGF5OiBmaXggYnVpbGQgaW4gdW5pbnN0YWxsZWQgc2V0dXAKCSAgQWRkIEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTIHRvIENGTEFHUyBzbyBpdCBmaW5kcyB0aGUgZ3N0L3ZpZGVvL3ZpZGVvLmgKCSAgaGVhZGVycyBpbiBhbiB1bmluc3RhbGxlZCBzZXR1cC4gQWxzbyByZXNodWZmbGUgb3JkZXIuCgoyMDEwLTA2LTI0IDE4OjMyOjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJICBhc2ZtdXg6IE1ha2UgbWV0YWRhdGEgd3JpdGFibGUgYmVmb3JlIHNldHRpbmcgaXQKCSAgQmVmb3JlIGNvcHlpbmcgbWV0YWRhdGEgZnJvbSBvbmUgYnVmZmVyIHRvIGFub3RoZXIsIG1ha2Ugc3VyZQoJICB0aGUgZGVzdGluYXRpb24gaXMgbWV0YWRhdGEtd3JpdGFibGUuCgoyMDEwLTA2LTI0IDIyOjE0OjM4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJICB2ZHBhdWgyNjRkZWM6IGZpeCB1bml0aWFsaXplZCB2YXJpYWJsZQoKMjAxMC0wNi0yNCAyMjowNjo1NiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdG5hbHJlYWRlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RuYWxyZWFkZXIuaDoKCSAgdmRwYXVoMjY0ZGVjOiBmaXggaW5pdGFsaXphdGlvbiBvZiBHc3ROYWxSZWFkZXIgY2FjaGUKCjIwMTAtMDYtMjQgMTI6Mzc6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvLmdpdGlnbm9yZToKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHMtbWFyc2hhbC5saXN0OgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5oOgoJICBmcHNkaXNwbGF5c2luazogQWRkcyBhIHNpZ25hbCB0byBpbmZvcm0gbWVhc3VyZW1lbnRzIHRvIGFwcHMKCSAgQWRkcyBhIHNpZ25hbCBmb3IgYXBwbGljYXRpb25zIHRvIHJlY2VpdmUgdGhlIGZwcyBtZWFzdXJlbWVudHMgbWFkZQoJICBpbnN0ZWFkIG9mIG9ubHkgcHJpbnRpbmcgdGhlbSB0byB0aGUgZnJhbWUvc3Rkb3V0LgoJICBUaGlzIHNpZ25hbCBpcyBvbmx5IGVtaXRlZCBpZiB0aGUgc2lnbmFsLWZwcy1tZWFzdXJlbWVudHMgcHJvcGVydHkKCSAgaXMgc2V0IHRvIFRSVUUKCjIwMTAtMDYtMjQgMTA6NTk6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSAgZnBzZGlzcGxheXNpbms6IEFkZHMgbWF4LWZwcyBhbmQgbWluLWZwcyBwcm9wZXJ0eQoJICBBZGRzIDIgcHJvcGVydGllcyBmb3IgZ2V0dGluZyB0aGUgbWF4aW11bSBhbmQgbWluaW11bSBmcHMKCSAgdmFsdWVzIG1lYXN1cmVkCgoyMDEwLTA2LTI0IDEwOjI0OjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBVc2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBpbiBhbGwgcHJvcGVydGllcwoJICBBZGQgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyB0byB0aGUgcHJvcGVydGllcyB0aGF0IGFyZQoJICBtaXNzaW5nIGl0CgoyMDEwLTA2LTI0IDEwOjIzOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmg6CgkgIGZwc2Rpc3BsYXlzaW5rOiBBZGQgZnBzLXVwZGF0ZS1pbnRlcnZhbCBwcm9wZXJ0eQoJICBVc2UgYSBwcm9wZXJ0eSB0byBzZXQvZ2V0IHRoZSBmcHMgdXBkYXRlIGludGVydmFsIGluc3RlYWQKCSAgb2YgaGF2aW5nIGEgaGFyZGNvZGVkIHZhbHVlLgoKMjAxMC0wNi0yNCAxNjoyMDoyMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL01ha2VmaWxlLmFtOgoJICB2ZHBhdTogcmVuYW1lIEdzdEJhc2VWaWRlb0RlY29kZXIgdG8gU2F0QmFzZVZpZGVvRGVjb2RlciB1c2luZyBDRkxBR1MKCjIwMTAtMDYtMjQgMTU6MjM6MzMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0dmlkZW9mcmFtZS5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3R2aWRlb2ZyYW1lLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL3NhdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvc2F0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9zYXRiYXNldmlkZW91dGlscy5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9zYXR2aWRlb2ZyYW1lLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL3NhdHZpZGVvZnJhbWUuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGZyYW1lLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRmcmFtZS5oOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuaDoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2ZyYW1lLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdmcmFtZS5oOgoJICBSZXZlcnQgInZkcGF1OiByZW5hbWUgR3N0QmFzZVZpZGVvRGVjb2RlciB0byBTYXRCYXNlVmlkZW9EZWNvZGVyIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGFhMDQ0NGYyMDQxNTdjMjJjMTFhNzQyNTQ3YzllNjhhOWVhZWNjODAuCgoyMDEwLTA2LTI0IDE1OjA5OjMzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDM1NjE3YzIgdG8gYTUxOTU3MQoKMjAxMC0wNi0yNCAxMzoxODo1NSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW91dGlscy5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3R2aWRlb2ZyYW1lLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdHZpZGVvZnJhbWUuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvc2F0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9zYXRiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL3NhdGJhc2V2aWRlb3V0aWxzLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL3NhdHZpZGVvZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvc2F0dmlkZW9mcmFtZS5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGZyYW1lLmg6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5oOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2ZyYW1lLmg6CgkgIHZkcGF1OiByZW5hbWUgR3N0QmFzZVZpZGVvRGVjb2RlciB0byBTYXRCYXNlVmlkZW9EZWNvZGVyCgoyMDEwLTA2LTIzIDIyOjMzOjA1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJICB2ZHBhdWgyNjRkZWM6IHVzZSBiaXRzaGlmdHMgaW5zdGVhZCBvZiBwb3cKCjIwMTAtMDYtMjMgMjI6MjE6MTggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkgIHZkcGF1aDI2NGRlYzogYWRkIGludGVybGFjZWQgPSBmYWxzZSB0byBzaW5rIGNhcHMKCSAgd2UgZG9uJ3Qgc3VwcG9ydCBpbnRlcmxhY2VkIGNvbnRlbnQgeWV0CgoyMDEwLTA2LTIzIDIyOjE4OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcDogQWxsIHJlYWQgcmV0dXJuIHZhbHVlcyBzbWFsbGVyIHRoYW4gemVybyBhcmUgZmFpbHVyZXMKCjIwMTAtMDYtMjMgMjE6MTA6MDMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkgIHZkcGF1aDI2NGRlYzogZml4IHBhcnNpbmcgb2Ygc2NhbGluZyBsaXN0cwoKMjAxMC0wNi0yMyAyMTowOTo0MiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdG5hbHJlYWRlci5jOgoJICB2ZHBhdWgyNjRkZWM6IGZpeCByZWFkaW5nIG9mIHNpZ25lZCBleHAgZ29sb21iCgoyMDEwLTA2LTIyIDE1OjQ5OjE1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdTogZml4dXAgZGVjb2RlciB0aW1lc3RhbXBpbmcKCjIwMTAtMDYtMjIgMTQ6NTI6MDAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgdmRwYXU6IHJlbW92ZSBwYXJzZV9jb2RlY19kYXRhIGZyb20gR3N0QmFzZVZpZGVvRGVjb2RlcgoKMjAxMC0wNi0yMiAxNDoyNToxNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSAgdmRwYXVoMjY0ZGVjOiBmaXggaW5pdGlhbGl6YXRpb24gb2YgZmFsbGJhY2sgc2NhbGluZyBtYXRyaXgKCjIwMTAtMDYtMjIgMTQ6MTc6MjggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGZyYW1lLmg6CgkgIHZkcGF1aDI2NGRlYzogaW1wcm92ZSBmdXJ0aGVyCgoyMDEwLTA2LTE3IDE1OjIwOjUxICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSAgdmRwYXVoMjY0ZGVjOiBub3cgd29ya3MgZm9yIHNpbXBsZSBzdHJlYW1zCgoyMDEwLTA2LTE3IDE1OjIwOjAzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXU6IGNoYW5nZSBnc3RfdmRwX3ZpZGVvX3NyY19wYWRfZ2V0X2RldmljZSBiZWhhdmlvdXIKCSAgaXQgbm93IGNyZWF0ZXMgdGhlIGRldmljZSBpZiBpdCdzIG5vdCBhdmFpbGFibGUKCjIwMTAtMDYtMTYgMjM6MTI6NDMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZnJhbWUuaDoKCSAgdmRwYXU6IG1vcmUgd29yayBvbiBoMjY0IGRlY29kZXIKCjIwMTAtMDYtMTAgMTI6MTM6NTAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdHZpZGVvZnJhbWUuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdG5hbHJlYWRlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RuYWxyZWFkZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRmcmFtZS5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZnJhbWUuaDoKCSAgdmRwYXU6IGFkZCBiZWdpbm5pbmcgb2YgaDI2NCBkZWNvZGVyCgoyMDEwLTA2LTA5IDE1OjQzOjQzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0dmlkZW9mcmFtZS5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3R2aWRlb2ZyYW1lLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXUuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRidWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0c3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRzcmNwYWQuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmg6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdmcmFtZS5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuaDoKCSogc3lzL3ZkcGF1L21wZWcvbXBlZ3V0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWcvbXBlZ3V0aWwuaDoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5oOgoJICB2ZHBhdTogYmFzZSB2ZHBhdW1wZWdkZWMgb24gR3N0QmFzZVZpZGVvRGVjb2RlcgoKMjAxMC0wNi0wOCAxMzozNjo1MyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogZml4IHNtYWxsIGJ1ZwoKMjAxMC0wNS0xNSAyMjo0Nzo0MSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJICB2ZHBhdW1wZWdkZWM6IHVzZSBSRUFEX1VJTlRbOHwxNnwzMl0gbWFjcm9zCgoyMDEwLTA2LTA0IDEyOjI0OjE2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJICB2ZHBhdTogcmVtb3ZlIGdzdF92ZHBfdmlkZW9fc3JjX3BhZF9zZXRfY2FwcwoKMjAxMC0wNi0yMyAyMTo0Njo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IERvIHNvbWUgc2FuaXR5IGNoZWNrcyBiZWZvcmUgYWNjZXB0aW5nIGFuIFVSSQoJICBGaXhlcyBidWcgIzYyMjM2OS4KCjIwMTAtMDYtMTcgMTA6NTg6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIGppZm11eDogQWRkcyBpbWFnZSBvcmllbnRhdGlvbiB0YWdzIHRlc3RzCgkgIEFkZHMgdGVzdHMgZm9yIGltYWdlIG9yaWVudGF0aW9uIHRhZ3MgdG8gamlmbXV4CgoyMDEwLTA2LTIzIDEwOjM4OjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogb2J0YWluIGNvcnJlY3QgdXBzdHJlYW0gdGltZXN0YW1wCgkgIC4uLiBmb3Igb3B0aW9uYWwgZG93bnN0cmVhbSB1c2UuCgoyMDEwLTA2LTIyIDEyOjI4OjM4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYWRkIG5ldyBoMjY0IGNhcHMgYXR0cmlidXRlIGFsaWdubWVudAoJICBTZWUgIzYwNjY2Mi4KCjIwMTAtMDYtMjEgMjM6NDg6NTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogZml4IHByZXZpb3VzIGNvbW1pdAoJICBXZSB3ZXJlIGxlYWtpbmcgdGhlIGVsZW1lbnQgcmVmY291bnQgYW5kIG5vdCB0aGUgcGFkIG9uZS4KCjIwMTAtMDYtMjEgMjI6MzM6NTQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogZG9uJ3QgbGVhayB0aGUgZWxlbWVudCByZWZjb3VudAoKMjAxMC0wNi0yMSAxOTozOTo1NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogUmVtb3ZlIHRoZSBwYWQgZnJvbSBvdXIgaW50ZXJuYWwgbGlzdCBiZWZvcmUgY2FsbGluZyBjb2xsZWN0cGFkcwoJICBQcmV2aW91c2x5IHdlIHdvdWxkIGVuZCB1cCB3aXRoIHRoZSBjb2xsZWN0cGFkZGF0YSBzdHJ1Y3R1cmUgYWxyZWFkeSBmcmVlZC4KCSAgVGhpcyB3b3VsZCByZXN1bHQgaW4gYSBib2d1cyBpdGVyYXRpb24gb2YgbXV4LT5zaW5rcGFkcyAoYWxsIHRoZQoJICBHc3RRVFBhZCBiZWluZyBmcmVlZCkgYW5kIGl0IHdvdWxkbid0IGJlIHJlbW92ZWQgZnJvbSB0aGF0IGxpc3QuCgkgIEZpbmFsbHksIGR1ZSB0byBpdCBub3QgYmVpbmcgcmVtb3ZlZCBmcm9tIHRoYXQgbGlzdCwgd2Ugd291bGQgZW5kIHVwCgkgIGNhbGxpbmcgYSBib2d1cyBnc3RfcXRfbXV4X3BhZF9yZXNldCBvbiB0aG9zZSBzdHJ1Y3R1cmVzID0+IFNFR0ZBVUxUCgoyMDEwLTA2LTIxIDEwOjIxOjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZGVidWcuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBNb3ZlIGRlYnVnIGNhdGVnb3J5IGRlY2xhcmF0aW9uIHRvIGEgc2VwYXJhdGUgZmlsZQoJICBIYXZpbmcgR1NUX0RFQlVHX0NBVEVHT1JZIGFuZCBHU1RfREVCVUdfQ0FURUdPUllfRVhURVJOIHRvZ2V0aGVyCgkgIG1pZ2h0IGxlYWQgdG8gJ3VuZGVmaW5lZCBzeW1ib2wnIHByb2JsZW1zLiBUaGlzIGNvbW1pdCBtb3ZlcwoJICB0aGUgX0VYVEVSTiB0byBhIHNlcGFyYXRlIG5ldyBmaWxlLgoKMjAxMC0wNi0yMSAxMToxMzoyMCArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIFJldmVydCAiaDI2NHBhcnNlOiBhZGQgcGFyc2VkIGZpZWxkIHRvIHNyYyBjYXBzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDU0ZWRhZTRmMWYyMTE5Y2Y0OTJmZmU0NGY5MzZmOTllMTMzYWY3ZGMuCgkgIFNlZSB0aGlzIGJ1ZyBmb3IgbW9yZSBpbmZvcm1hdGlvbjoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjY2MgoKMjAxMC0wNi0xNyAwODo0Mjo1MyArMTAwMCAgQXVzdGluIEx1bmQgPGF1c3Rpbi5sdW5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJICBtcGVndmlkZW9wYXJzZTogUmVtb3ZlIHJlZHVuZGFudCBsb2cgbWVzc2FnZQoKMjAxMC0wNi0yMCAxMDozOTozOSArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYWRkIHBhcnNlZCBmaWVsZCB0byBzcmMgY2FwcwoKMjAxMC0wNi0xOCAxNDozNzowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDN0YWc6IFVzZSBnc3RfdGFnX2xpc3RfcGVla19zdHJpbmdfaW5kZXgKCSAgUmVwbGFjZSBfZ2V0X3N0cmluZ19pbmRleCB3aXRoIF9wZWVrX3N0cmluZ19pbmRleCB0byBhdm9pZAoJICBhIHN0cmluZyBjb3B5CgoyMDEwLTA2LTE4IDE4OjQxOjU5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYWxzbyBoYW5kbGUgMy1ieXRlIGJ5dGVzdHJlYW0gc3luYyBjb2RlCgoyMDEwLTA2LTE3IDEwOjUyOjMxICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RzZWN0aW9uZmlsdGVyLmM6CgkgIG1wZWdkZW11eDogaW1wcm92ZSBkZWJ1ZyBvdXRwdXQKCjIwMTAtMDYtMTYgMTA6MzE6MTkgKzAyMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkgIHBubWRlYzogRG9uJ3QgY3Jhc2ggaWYgbm8gdmFsaWQgaW5wdXQgd2FzIHBhcnNlZCB5ZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD02MDM3NzEKCjIwMTAtMDYtMTEgMTA6NTM6MjYgKzEwMDAgIEF1c3RpbiBMdW5kIDxhdXN0aW4ubHVuZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBBZGRlZCBkZWJ1Z2dpbmcgb3V0cHV0IGZvciBtcGVncGFja2V0aXNlcgoKMjAxMC0wNi0xNSAxNjo1MDowNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOTMzOWNjYyB0byAzNTYxN2MyCgoyMDEwLTA2LTE1IDE2OjU0OjI4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDVhZGIxY2EgdG8gOTMzOWNjYwoKMjAxMC0wNi0xNSAxNTozNDowNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCBzZWVrIGV2ZW50IHJlZiBoYW5kbGluZwoKMjAxMC0wNi0xNSAxNTozMzozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByZXZlbnQgYXJpdGhtZXRpYyBvdmVyZmxvd3MgaW4gcHVsbCBtb2RlIGJ1ZmZlciBjYWNoZSBoYW5kbGluZwoKMjAxMC0wNi0xNSAxNTozMjozNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCBzZWVrIGhhbmRsaW5nCgkgIEFsbG93IGEgZmV3IG1vcmUgc2VlayBldmVudCB0eXBlIGNvbWJpbmF0aW9ucywgYW5kIHJlYWxseSB1c2UgdGhlIHJlc3VsdAoJICBvZiBnc3Rfc2VnbWVudF9zZXRfc2VlayB0byBwZXJmb3JtIHRoZSBzZWVrLiAgQWxzbyBhZGQgc29tZSBkZWJ1Zy4KCjIwMTAtMDYtMTUgMTY6MzU6MzUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNTdjODliNyB0byA1YWRiMWNhCgoyMDEwLTA2LTE1IDE1OjQ5OjI2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGM4MDQ5ODggdG8gNTdjODliNwoKMjAxMC0wNi0xMiAwOTowMjoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEltcGxlbWVudCBtdWx0aXBhc3MgZW5jb2RpbmcKCSAgRml4ZXMgYnVnICM2MjEzNDguCgoyMDEwLTA2LTE1IDExOjIwOjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogc3ByaW5rbGUgc29tZSBicmFuY2ggcHJlZGljdGlvbgoKMjAxMC0wNi0xNSAxMToxNjo0NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGhhbmRsZSBGTFVTSF9TVE9QIGV2ZW50CgoyMDEwLTA2LTE1IDExOjE2OjM0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogYWRkIGNvbmZpZy1pbnRlcnZhbCBwYXJhbWV0ZXIgdG8gcmUtaW5zZXJ0IGNvbmZpZyBpbiBzdHJlYW0KCSAgQWRkIGEgbmV3IGNvbmZpZy1pbnRlcnZhbCBwcm9wZXJ0eSB0byBpbnN0cnVjdCB0aGUgcGFyc2VyIHRvIGluc2VydAoJICBjb25maWcgKFZPU0gsIFZPUywgZXRjKSBhdCBwZXJpb2RpYyBpbnRlcnZhbHMgaW4gdGhlIHN0cmVhbQoJICAod2hlbiBhIEdPUCBvciBWT1AtSSBpcyBlbmNvdW50ZXJlZCkuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IDxtYXJjLmxlZW1hbiBhdCBnbWFpbC5jb20+CgkgIEZpeGVzICM2MjEyMDUuCgoyMDEwLTA2LTE1IDE3OjE2OjEyICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IEFwcGx5IHByZXZpb3VzIHRpbWVzdGFtcCB3aGVuIHRoZXJlIGlzbid0IGFueSBuZXdlci4KCSAgSWYgdGhlIGN1cnJlbnQgaW5jb21pbmcgcGFja2V0IGRpZG4ndCBjYXJyeSBhIHRpbWVzdGFtcCwgYnV0IGEKCSAgcHJldmlvdXMgcGFja2V0IGhhZCBvbmUgd2UgZGlkbid0IHlldCB1c2UsIHRoZW4gYXBwbHkgdGhhdCB0aW1lc3RhbXAKCSAgdG8gdGhlIG5leHQgcGljdHVyZS4KCSAgRml4ZXM6ICM2MTgzMzYKCjIwMTAtMDYtMTQgMTc6MDE6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkgIGNvbmZpZ3VyZTogUmVxdWlyZSBHTGliIDIuMjAKCjIwMTAtMDYtMTQgMTU6NTY6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBTZXQgVlA4RV9TRVRfQ1BVVVNFRCB0byAwCgkgIFRoaXMgc2V0dGluZyBjb250cm9scyBob3cgbXVjaCBDUFUgY2FuIGJlIHVzZWQgYnkgdGhlIGVuY29kZXIsIHNwZWNpZmllZAoJICBpbiBmcmFjdGlvbnMgb2YgMTYuIE5lZ2F0aXZlIHZhbHVlcyBtZWFuIHN0cmljdCBlbmZvcmNlbWVudCBvZiB0aGlzCgkgIHdoaWxlIHBvc2l0aXZlIHZhbHVlcyBhcmUgYWRhcHRpdmUuCgkgIFRoZSBkZWZhdWx0IHZhbHVlIGlzIC00LCB3aGljaCBtZWFucyB0aGF0IHdlJ3JlIG5vdCBydW5uaW5nIGFzIGZhc3QKCSAgYXMgcG9zc2libGUgYW5kIHByb2JhYmx5IGFyZSB3YXN0aW5nIHNvbWUgcXVhbGl0eS4gMCBpcyB0aGUgcmVjb21tZW5kZWQKCSAgZGVmYXVsdCBieSBsaWJ2cHggdXBzdHJlYW0uCgoyMDEwLTA2LTE0IDE1OjUxOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogVXNlIFZQWCBkZWZpbmVzIGZvciBSRUFMVElNRSwgR09PRC9CRVNUIHF1YWxpdHkgZGVhZGxpbmVzIGluc3RlYWQgb2Ygb3VyIG93bgoJICBUaGVzZSBhcmUgdGhlIHZhbHVlcyB1c2VkIGZvciB0aGUgc3BlZWQgcHJvcGVydHkuCgoyMDEwLTA2LTE0IDE1OjQ2OjU4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0c2RlYzogcHJldmVudCBjb21waWxlciB3YXJuaW5nIGlmIG9yYyBub3QgcHJlc2VudAoKMjAxMC0wNS0zMSAxODozMDozNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBoYW5kbGUgRkxVU0hfU1RPUCBzaW5rIGV2ZW50CgoyMDEwLTA1LTMxIDE4OjMwOjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IG9wdGltaXplIGltYWdlIHBhcnNpbmcKCSAgVXNlIGFkYXB0ZXIgQVBJIGZvciBzY2FubmluZyBhbmQgcGVla2luZyB0byByZWR1Y2UgYnVmZmVyIGNvcHlpbmcuCgkgIFNlZSAjNTgzMDQ3LgoKMjAxMC0wNi0xNCAxNTozMjoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBkdHNkZWM6IENhbGwgb3JjX2luaXQoKSBiZWZvcmUgdHJ5aW5nIHRvIGdldCB0YXJnZXQgZmxhZ3MKCjIwMTAtMDYtMTQgMTQ6NTM6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IENoZWNrIGZvciBvcmMgaW5zdGVhZCBvZiBsaWJvaWwKCjIwMTAtMDYtMTQgMTQ6NTE6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgZHRzZGVjOiBVc2Ugb3JjIGZvciBDUFUgZmVhdHVyZSBkZXRlY3Rpb24KCjIwMTAtMDYtMTQgMTQ6NDg6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogRG9uJ3QgdXNlIGxpYm9pbCBmdW5jdGlvbnMKCSAgZ2xpYmMgbWVtY3B5KCkgd2lsbCBiZSBmYXN0ZXIgdGhhbiBsaWJvaWwncy9vcmMncyBmb3Igbm93IGFueXdheQoJICBhbmQgd2UgY2FuIHVzZSBvcmMncyBsYXRlciwgYWZ0ZXIgb3JjIGhhcyBzdXBwb3J0IGZvciBsb29wIHVucm9sbGluZy4KCjIwMTAtMDYtMTQgMTQ6NDc6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL01ha2VmaWxlLmFtOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlX2Z1bmN0YWJsZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGVfcmVmLmM6CgkgIGxlZ2FjeXJlc2FtcGxlOiBEb24ndCBpbmNsdWRlIGxpYm9pbCBoZWFkZXJzLCB0aGV5J3JlIG5vdCB1c2VkIGFueXdheQoKMjAxMC0wNi0xNCAxMzoyNjo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXNlIEdMSUJfRVhUUkFfQ0ZMQUdTCgoyMDEwLTA2LTE0IDEzOjA0OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gN2EwZmRmNSB0byBjODA0OTg4CgoyMDEwLTA2LTE0IDEyOjQ5OjQwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogYWRkIG9wdGlvbiB0byBpbnNlcnQgU1BTL1BQUyBpbiBzdHJlYW0KCSAgQWRkIGEgbmV3IGNvbmZpZy1pbnRlcnZhbCBwcm9wZXJ0eSB0byBpbnNlcnQgU1BTIGFuZCBQUFMgYXQgcGVyaW9kaWMgaW50ZXJ2YWxzCgkgIGluIHRoZSBzdHJlYW0gKHdoZW4gYW4gSURSIGlzIGVuY291bnRlcmVkKS4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgPG1hcmMubGVlbWFuIGF0IGdtYWlsLmNvbT4KCSAgRml4ZXMgIzYyMDk3OC4KCjIwMTAtMDYtMDkgMTU6MzI6MTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBhbHNvIGNvbGxlY3QgU1BTIGFuZCBQUFMgbmFsdSBpbiBjb2RlY19kYXRhCgoyMDEwLTA2LTE0IDExOjM0OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmRhM2JhYiB0byA3YTBmZGY1CgoyMDEwLTA2LTEzIDA4OjI4OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94dmlkL2dzdHh2aWQuYzoKCSAgeHZpZDogRG9uJ3QgdXNlIGRlcHJlY2F0ZWQgMTUvMTYgYml0IFJHQiBtYXNrcwoKMjAxMC0wNi0xMiAwODoyODo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDczM2ZjYTkgdG8gNmRhM2JhYgoKMjAxMC0wNS0yMiAxMDozNTozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmNkL3ZjZHNyYy5jOgoJICB2Y2RzcmM6IG1pbm9yIGNsZWFuLXVwCgkgIFVzZSBnc3RfdXJpX2hhc19wcm90b2NvbCgpLgoKMjAxMC0wNi0xMSAxNToyOTo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgamlmbXV4OiBGaXggdGVzdHMgYnVpbGRpbmcKCSAgT25seSBidWlsZCBqaWZtdXggdGVzdHMgaWYgbGliZXhpZiBoZWFkZXJzIGFyZSBwcmVzZW50CgoyMDEwLTA2LTA5IDE5OjE2OjAzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5oOgoJKiBleHQvY29nL2dzdGNvZ29yYy5vcmM6CgkgIGNvZzogdXNlIGdsaWIgaW5zdGVhZCBvZiBzdGRpbnQgdHlwZXMKCjIwMTAtMDYtMDkgMTg6Mzk6MzggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHVzZSBtNCBtYWNybyBmb3IgT3JjIGNoZWNrCgoyMDEwLTA2LTA1IDE2OjAyOjQxICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogcmVtb3ZlIHNwdXJpb3VzIHdhcm5pbmcKCjIwMTAtMDYtMTAgMTQ6MTc6MjQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlcXVpcmUgY29yZS9iYXNlIGdpdCBmb3IgdGhlIG5ldyBpbWFnZSB0YWdzIGFuZCBoZWxwZXIgZnVuY3Rpb25zCgoyMDEwLTA1LTEwIDEwOjQ3OjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgdGVzdHM6IGppZm11eDogQWRkcyBqaWZtdXggZXhpZiB0YWdzIHRlc3RzCgkgIEFkZHMgYSBiYXNpYyB1bml0IHRlc3QgZm9yIGppZm11eCB0byB0ZXN0IHRoYXQgZXhpZiB0YWdzCgkgIGFyZSB3cml0ZW4gcHJvcGVybHkuCgkgIFRoaXMgdGVzdCB1c2VzIGxpYmV4aWYuCgkgIEZpeGVzICM2MTQ4NzIKCjIwMTAtMDQtMjggMjM6NTI6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVnZm9ybWF0OiBBZGQgZXhpZiBzdXBwb3J0CgkgIEFkZHMgZXhpZiB3cml0aW5nIHN1cHBvcnQgdG8gamlmbXV4LgoJICBBZGRzIHBhcnNpbmcgc3VwcG9ydCB0byBqcGVncGFyc2UuCgkgIEZpeGVzICM2MTQ4NzIKCjIwMTAtMDYtMDkgMTI6NDA6MjEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmYWQxNDViIHRvIDczM2ZjYTkKCjIwMTAtMDYtMDkgMTI6MzQ6MTAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0NzY4M2MxIHRvIGZhZDE0NWIKCjIwMTAtMDYtMDkgMjA6NDk6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBGaXggdGltZXN0YW1wcyBhZnRlciBhIHNlZWsKCjIwMTAtMDYtMDggMTQ6MzM6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguaDoKCSAgYXNmbXV4OiBEZXByZWNhdGUgJ2lzLWxpdmUnIGFuZCBhZGQgJ3N0cmVhbWFibGUnIHByb3BlcnR5CgkgIEZvbGxvd2luZyB0aGUgc2ltaWxhciBjaGFuZ2UgaW4gZmx2bXV4LCB0aGlzIGNvbW1pdCBhZGRzCgkgICdzdHJlYW1hYmxlJyBwcm9wZXJ0eSBhbmQgZGVwcmVjYXRlZCAnaXMtbGl2ZScgZm9yIGEgYmV0dGVyL2xlc3Mgd3JvbmcKCSAgbmFtZS4KCjIwMTAtMDUtMTMgMTI6MTU6MjcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogZG9uJ3Qgc2V0IHRoZSAnc2Vla2FibGUnIGZsYWcgaWYgd2UgYXJlIHN0cmVhbWluZwoJICBGaXhlcyAjNjE4NTIyCgoyMDEwLTA0LTI5IDEwOjQ2OjQ5ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IHdyaXRlIHByZXJvbGwgaW5mbyBpbiB0aGUgaGVhZGVyIGF0IGluaXRpYWxpemF0aW9uCgkgIFRoaXMgdmFsdWUgZG9lc24ndCBuZWVkIHRvIGJlIHVwZGF0ZWQgYW5kIGlzIHVzZWZ1bGwgaW4gYSBzdHJlYW1pbmcgY29udGV4dAoJICBGaXhlcyAjNjE4NTIyCgoyMDEwLTA0LTI2IDEzOjMzOjQ4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IHB1dCBoZWFkZXJzIGluIHN0cmVhbWhlYWRlciBmb3Igc3RyZWFtaW5nCgkgIEZpeGVzICM2MTg1MjIKCjIwMTAtMDYtMDggMTM6NTk6NDUgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJICBtcGVndHNtdXg6IHN0YXJ0IHBtdCBhdCAweDAyMCBhcyBzdWdnZXN0ZWQgYnkgWmFoZWVyCgoyMDEwLTA2LTA4IDEzOjU5OjA4ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJICBtcGVndHNtdXg6IHRha2UgYWxsIHRoZSBwbXQgaW4gdGhlIHN0cmVhbWhlYWRlcnMKCjIwMTAtMDYtMDggMDk6MTQ6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBEbyBub3QgYXNzZXJ0IG9uIHNldF9wcm9wZXJ0eSB0byBOVUxMIGZvciBlbGVtZW50cwoJICBDaGVjayBpZiB0aGUgdmFsdWUgaXMgTlVMTCBiZWZvcmUgcmVmZmluZyB0aGVtIGluIHNldF9wcm9wZXJ0eQoJICBmb3IgJ0dzdEVsZW1lbnQnIHByb3BlcnRpZXMKCjIwMTAtMDYtMDggMDg6NDE6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBEbyBub3QgYXNzZXJ0IG9uIG51bGwgY2FwcyBwcm9wZXJ0eQoJICBJZiBjYW1lcmFiaW4gcmVjZWl2ZXMgYSBudWxsIGNhcHMgYXMgJ2ZpbHRlci1jYXBzJyBhcmd1bWVudCwKCSAgdXNlIHRoZSBkZWZhdWx0IHZhbHVlCgoyMDEwLTA2LTA3IDIyOjU2OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogVXNlIF9DQVNUIG1hY3JvCgkgIFJlcGxhY2UgZGVmYXVsdCB0eXBlIGNhc3RpbmcgbWFjcm8gd2l0aCB0aGUgZmFzdGVyIGRpcmVjdCBfQ0FTVCBtYWNybwoKMjAxMC0wNi0wNyAyMjoyMToxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZWdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGRpZmZ1c2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtYXJibGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNwaGVyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBNYWtlIHByb3BlcnRpZXMgY29udHJvbGxhYmxlCgkgIE1ha2VzIHRoZSBlbGVtZW50J3MgcHJvcGVydGllcyBjb250cm9sbGFibGUgYW5kIHRocmVhZHNhZmUuCgkgIEZpeGVzICM2MjA4MjUKCjIwMTAtMDYtMDcgMTc6Mzk6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBSZW1vdmUgcGFnZS11cmwgYW5kIHN3Zi11cmwgcHJvcGVydGllcwoJICBJdCdzIHBvc3NpYmxlIHRvIGluY2x1ZGUgYWxsIHRob3NlIG9wdGlvbnMgaW4gdGhlIFVSTCBhbHJlYWR5CgkgIGJ5IGFwcGVuZGluZyB0aGUgb3B0aW9ucyBhbmQgc2VwYXJhdGluZyB0aGVtIGJ5IHNwYWNlcywgZS5nLgoJICBydG1wOi8vc29tZXdoZXJlL3NvbWV0aGluZyBvcHQxPXZhbDEgb3B0Mj12YWwyCgoyMDEwLTA2LTA3IDE3OjMwOjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogRml4IG1lbW9yeSBsZWFrcwoKMjAxMC0wNi0wNyAxMToxNToyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuaDoKCSAgZHRtZmRldGVjdDogT25seSB3b3JrcyB3aXRoIHJhdGU9ODAwMCwgZml4IGluIGNhcHMKCjIwMTAtMDYtMDcgMDc6NTg6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBGaXggY3Jhc2ggaW4gJ2ZpbGVuYW1lJyBwcm9wZXJ0eQoJICBEbyBub3QgY3Jhc2ggd2hlbiBmaWxlbmFtZSBwcm9wZXJ0eSBpcyBzZXQgdG8gTlVMTCwgdXNlIGFuCgkgIGVtcHR5IHN0cmluZyBpbnN0ZWFkLgoKMjAxMC0wNi0wNyAwNzozODozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSAga2F0ZTogUnVuIGdzdC1pbmRlbnQgb24gLmMgZmlsZXMKCSAga2F0ZSBwbHVnaW4gaGFzIHNvbWUgaW5kZW50YXRpb24gcHJvYmxlbXMsIHJ1biBnc3QtaW5kZW50IG9uIHRoZW0KCSAgYW5kIGZpeCBpdAoKMjAxMC0wNi0wNiAyMjozNDo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWFyYmxlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWFyYmxlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIG1hcmJsZTogQWRkcyAnbWFyYmxlJyBlbGVtZW50IHRvIGdlb21ldHJpY3RyYW5zZm9ybQoJICBBZGRzIGEgbmV3IGVsZW1lbnQgdGhhdCBkb2VzIGEgbWFyYmxpbmcgZWZmZWN0IHRvCgkgIGdlb21ldHJpY3RyYW5zZm9ybSBwbHVnaW4KCjIwMTAtMDYtMDYgMTQ6MzU6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBVc2UgZXhwbGljaXQgZm9ybWF0cyBmcm9tIGdzdHZpZGVvCgkgIFVzZSBleHBsaWNpdCBmb3JtYXQgbWFjcm9zIGZyb20gZ3N0dmlkZW8gdG8gYXZvaWQgZXhwb3NpbmcKCSAgdW5zdXBwb3J0ZWQgZm9ybWF0cyBvbiB0ZW1wbGF0ZSBwYWRzLiBVc2luZyB0aGUgbWFjcm9zCgkgIGFsc28gZ2l2ZSB1cyBjb21wbGV0ZSBjYXBzICh3aWR0aC9oZWlnaHQvZnJhbWVyYXRlKS4KCSAgQW5kIGFkZCBzdXBwb3J0IGZvciBBWVVWLgoJICBGaXhlcyAjNjIwNzE3CgoyMDEwLTA2LTA1IDE5OjM4OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZGlmZnVzZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGRpZmZ1c2UuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgZGlmZnVzZTogQWRkcyBkaWZmdXNlIGVsZW1lbnQgdG8gZ2VvbWV0cmljdHJhbnNmb3JtCgkgIEFkZHMgdGhlICdkaWZmdXNlJyBlbGVtZW50IHRvIGdlb21ldHJpY3RyYW5zZm9ybS4gSXQgbW92ZXMKCSAgdGhlIHBpeGVscyBvZiB0aGUgaW1hZ2UgaW4gcmFuZG9tIGRpcmVjdGlvbnMKCjIwMTAtMDYtMDUgMTk6MjA6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uaDoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBNYWtlIG1hcCBwcmVjYWxjdWxhdGlvbiBvcHRpb25hbAoJICBBZGRzIGEgdmFyaWFibGUgdG8gYmUgc2V0IHRvIGFsbG93IHN1YmNsYXNzZXMgdG8gZW5hYmxlCgkgIG9yIGRpc2FibGUgcHJlY2FsY3VsYXRpb24gb2YgdGhlIHBpeGVscyBtYXBwaW5nCgoyMDEwLTA2LTA2IDE1OjMyOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogQWRkIHNvbWUgYnJhY2VzIHRvIGltcHJvdmUgcmVhZGFiaWxpdHkKCjIwMTAtMDYtMDYgMTU6Mjk6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBJbXByb3ZlIHRpbWVzdGFtcCBoYW5kbGluZyBhIGJpdAoKMjAxMC0wNi0wNiAxNToyNDoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuaDoKCSAgcnRtcHNyYzogQWRkIHN1cHBvcnQgZm9yIHNlZWtpbmcKCjIwMTAtMDYtMDYgMTM6NTc6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmg6CgkgIHJ0bXBzcmM6IEhhbmRsZSB0aW1lc3RhbXBzIGFuZCB0aGUgcG9zaXRpb24gcXVlcnkKCSAgVGhpcyBpcyBub3QgdmVyeSBhY2N1cmF0ZSBidXQgYmV0dGVyIHRoYW4gbm90aGluZy4gVGhlIGRlbXV4ZXIKCSAgYWZ0ZXIgdGhlIHNvdXJjZSBrbm93cyBtb3JlIGFjY3VyYXRlIHRpbWVzdGFtcHMuCgoyMDEwLTA2LTA2IDA4OjMwOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogQWxsb2NhdGUgYW5kIGZyZWUgdGhlIFJUTVAgaW5zdGFuY2UgaW4gc3RhcnQvc3RvcAoKMjAxMC0wNi0wNCAyMjozNjoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuaDoKCSAgcnRtcHNyYzogQWRkIHByb3BlcnRpZXMgZm9yIHNldHRpbmcgdGhlIHN3ZlVybCBhbmQgcGFnZVVybCBwcm9wZXJ0aWVzCgkgIFRoZXNlIGFyZSByZXF1aXJlZCBmb3Igc29tZSBzdHJlYW1zIHVuZm9ydHVuYXRlbHkuCgoyMDEwLTA2LTA0IDIyOjA0OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5oOgoJICBydG1wc3JjOiBNYWpvciBjbGVhbnVwIGFuZCByZW9yZ2FuaXphdGlvbgoKMjAxMC0wNi0wNCAwODoxNDo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3J0bXAvTWFrZWZpbGUuYW06CgkqIGV4dC9ydG1wL1JFQURNRToKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmg6CgkqIGdzdC9ydG1wL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRtcC9hbWYuYzoKCSogZ3N0L3J0bXAvYW1mLmg6CgkqIGdzdC9ydG1wL2J5dGVzLmg6CgkqIGdzdC9ydG1wL2RoLmg6CgkqIGdzdC9ydG1wL2RoZ3JvdXBzLmg6CgkqIGdzdC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZ3N0L3J0bXAvZ3N0cnRtcHNyYy5oOgoJKiBnc3QvcnRtcC9oYW5kc2hha2UuaDoKCSogZ3N0L3J0bXAvaGFzaHN3Zi5jOgoJKiBnc3QvcnRtcC9odHRwLmg6CgkqIGdzdC9ydG1wL2xvZy5jOgoJKiBnc3QvcnRtcC9sb2cuaDoKCSogZ3N0L3J0bXAvcGFyc2V1cmwuYzoKCSogZ3N0L3J0bXAvcnRtcC5jOgoJKiBnc3QvcnRtcC9ydG1wLmg6CgkqIGdzdC9ydG1wL3J0bXBfc3lzLmg6CgkgIHJ0bXA6IE1vdmUgdG8gZXh0IGFuZCBkcm9wIGludGVybmFsIGxpYnJ0bXAgY29weQoJICBXZSByZWFsbHkgZG9uJ3Qgd2FudCB0aGlzIGluIGdzdC1wbHVnaW5zLWJhZCBiZWNhdXNlIG9mCgkgIGxlZ2FsIGNvbXBsZXhpdGllcyBhcm91bmQgUlRNUCBhbmQgcG9zc2libGUgcHJvYmxlbXMKCSAgZm9yIGRpc3RyaWJ1dGlvbnMuCgkgIEFkZCBSRUFETUUgdGhhdCBleHBsYWlucyBob3cgdG8gYnVpbGQgbGlicnRtcCB0byBiZSBzdWl0YWJsZQoJICBmb3IgbGlua2luZyB0byB0aGUgR1N0cmVhbWVyIHBsdWdpbi4KCjIwMTAtMDYtMDIgMDA6NDU6MDYgKzAxMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3J0bXAvTWFrZWZpbGUuYW06CgkqIGdzdC9ydG1wL2FtZi5jOgoJKiBnc3QvcnRtcC9hbWYuaDoKCSogZ3N0L3J0bXAvYnl0ZXMuaDoKCSogZ3N0L3J0bXAvZGguaDoKCSogZ3N0L3J0bXAvZGhncm91cHMuaDoKCSogZ3N0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBnc3QvcnRtcC9nc3RydG1wc3JjLmg6CgkqIGdzdC9ydG1wL2hhbmRzaGFrZS5oOgoJKiBnc3QvcnRtcC9oYXNoc3dmLmM6CgkqIGdzdC9ydG1wL2h0dHAuaDoKCSogZ3N0L3J0bXAvbG9nLmM6CgkqIGdzdC9ydG1wL2xvZy5oOgoJKiBnc3QvcnRtcC9wYXJzZXVybC5jOgoJKiBnc3QvcnRtcC9ydG1wLmM6CgkqIGdzdC9ydG1wL3J0bXAuaDoKCSogZ3N0L3J0bXAvcnRtcF9zeXMuaDoKCSAgcnRtcDogQWRkIFJUTVAgc291cmNlIHBsdWdpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY2NjA0CgoyMDEwLTA2LTA1IDExOjA0OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogU2V0IG91dHB1dCBidWZmZXIgZGF0YSB0byAwCgkgIEluaXRpYWxpemUgb3V0cHV0IGJ1ZmZlciBkYXRhIHRvIDAgYmVmb3JlIGRvaW5nIHRoZQoJICB0cmFuc2Zvcm0uCgoyMDEwLTA2LTA1IDEwOjU4OjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcGhlcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogRGVzY3JpcHRpb25zIGFuZCBkZWZhdWx0IHZhbHVlcwoJICBJbXByb3ZlIHNvbWUgcHJvcGVydGllcyBhbmQgZWxlbWVudCBkZXNjcmlwdGlvbnMgYW5kIGNoYW5nZXMKCSAgc29tZSBkZWZhdWx0IHByb3BlcnRpZXMgdmFsdWVzLgoKMjAxMC0wNi0wNCAxNjoxNDowMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IFZlcmlmeSB0aGF0IHBpcGUgZXhpc3RzIGJlZm9yZSByZXNpemluZyBpdAoKMjAxMC0wNi0wNCAxNTo1NDozMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1hbGxvYy5jOgoJKiBzeXMvc2htL3NobWFsbG9jLmg6CgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJKiBzeXMvc2htL3NobXBpcGUuaDoKCSAgc2htOiBBZGQgY29weXJpZ2h0IG5vdGljZXMgdG8gc2htYWxsb2MuW2NoXSBhbmQgc2htcGlwZS5bY2hdCgoyMDEwLTA2LTA0IDE1OjUzOjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ2VvbWV0cmljbWF0aC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGVnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGVnZW9tZXRyaWN0cmFuc2Zvcm0uaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuaDoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBSZW1vdmUgdHJhaWxpbmcgd2hpdGVzcGFjZQoJICBSZW1vdmUgdHJhaWxpbmcgd2hpdGVzcGFjZSBmcm9tIGdlb21ldHJpY3RyYW5zZm9ybSBmaWxlcwoKMjAxMC0wNi0wMyAwMDoyNDo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgd2F0ZXJyaXBwbGU6IEFkZHMgbmV3IHdhdGVycmlwcGxlIGVsZW1lbnQgdG8gZ2VvbWV0cmljdHJhbnNvZm1yCgkgIEFkZHMgYW4gd2F0ZXIgcmlwcGxlIGRpc3RvcnRpb24gZWxlbWVudCB0byBnZW9tZXRyaWN0cmFuc2Zvcm0KCjIwMTAtMDYtMDIgMjM6NTU6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcGhlcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcGhlcmUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgc3BoZXJlOiBBZGRzIG5ldyAnc3BoZXJlJyBlbGVtZW50IHRvIGdlb21ldHJpY3RyYW5zZm9ybQoJICBBZGRzIGEgbmV3IGVsZW1lbnQgdG8gZG8gJ3NwaGVyZScgZWZmZWN0IGludG8gZ2VvbWV0cmljdHJhbnNmb3JtCgkgIHBsdWdpbgoKMjAxMC0wNi0wMiAyMjowMTozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBhZGRzIHNvbWUgcHJvcGVydGllcyB0byBiYXNlIGNsYXNzCgkgIEFkZHMgYSBwcm9wZXJ0eSB0byBzZWxlY3Qgd2hhdCB0byBkbyB3aXRoIHBpeGVscyB0aGF0IGFyZSBtYXBwZWQgb3V0IG9mCgkgIGVkZ2VzOiBpZ25vcmUsIGNsYW1wIG9yIHdyYXAuCgoyMDEwLTA2LTAyIDE4OjU4OjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ2VvbWV0cmljbWF0aC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgY2lyY2xlOiBBZGRzIGNpcmNsZSBlbGVtZW50IHRvIGdlb21ldHJpY3RyYW5zZm9ybSBwbHVnaW4KCSAgQWRkcyB0aGUgbmV3ICdjaXJjbGUnIGVsZW1lbnQgdG8gZ2VvbWV0cmljdHJhbnNmb3JtIHBsdWdpbgoKMjAxMC0wNi0wMiAwMToyMToyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIGthbGVpZG9zY29wZTogQWRkcyBuZXcgZWxlbWVudCAna2FsZWlkb3Njb3BlJwoJICBBZGRzIG5ldyBrYWxlaWRvc2NvcGUgZWxlbWVudCB0byBnZW9tZXRyaWN0cmFuc2Zvcm0gcGx1Z2luCgoyMDEwLTA2LTAyIDAwOjQ4OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBnc3R0d2lybDogQWRkcyBuZXcgZWxlbWVudCB0d2lybAoJICBBZGRzIGEgbmV3IGVsZW1lbnQgdG8gZ2VvbWV0cmljdHJhbnNmb3JtIHBsdWdpbjogdHdpcmwKCjIwMTAtMDYtMDIgMDA6MzQ6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGVnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGVnZW9tZXRyaWN0cmFuc2Zvcm0uaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmg6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogQWRkcyBhIGludGVybWVkaWFyeSBiYXNlY2xhc3MgY2lyY2xlZ2VvbWV0cmljdHJhbnNmb3JtCgkgIEFkZHMgYW4gaW50ZXJtZWRpYXJ5IGJhc2VjbGFzcyBuYW1lZCBnc3RjaXJjbGVnZW9tZXRyaWN0cmFuc2Zvcm0KCSAgdG8ga2VlcCBjb21tb24gcHJvcGVydGllcyBjb2RlIGZvciBmaWx0ZXJzIHRoYXQgb3BlcmF0ZSBvbgoJICBhIGNpcmN1bGFyIGFyZWEuCgoyMDEwLTA1LTMwIDEyOjUwOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5oOgoJICBwaW5jaDogU29tZSBvcHRpbWl6YXRpb24gdXNpbmcgdGhlIHByZXBhcmUgZnVuYwoJICBTbWFsbCBvcHRpbWl6YXRpb24gYnkgcHJlY2FsY3VsYXRpbmcgdGhlIGNlbnRlciBvZiB0aGUgZWZmZWN0LAoJICBhbHNvIHVzZSBuZXdseSBhZGRlZCBfQ0FTVCBtYWNyby4KCjIwMTAtMDUtMzAgMTI6MzY6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uaDoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBBZGRzIHByZXBhcmUgZnVuY3Rpb24gYW5kIGNsZWFudXAKCSAgQWRkcyBhIHByZXBhcmUgZnVuY3Rpb24gdG8gbWFrZSBzdWJjbGFzc2VzIHByZWNhbGN1bGF0ZSB2YWx1ZXMKCSAgdGhhdCB3aWxsIGJlIHVzZWQgdGhyb3VnaG91dCB0aGUgbWFwcGluZyBmdW5jdGlvbnMuCgkgIEFsc28gYWRkcyBhIG1pc3NpbmcgY2xlYW51cCB0byBmaXggYSBtZW1sZWFrCgoyMDEwLTA1LTI2IDIxOjM5OjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmg6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogUHJlY2FsY3VsYXRlIG1hcHBpbmcgYXJyYXkKCSAgUHJlY2FsY3VsYXRlIHdoZW4gc2V0dGluZyBjYXBzIHRoZSB3YXJwaW5nIG1hcCB0byBhdm9pZAoJICByZWNhbGN1bGF0aW5nIGl0IGV2ZXJ5IGJ1ZmZlcgoKMjAxMC0wNS0yNiAxODoyOToxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IEFjY2VwdCBhbnkgcmdiIG9yIGdyYXkKCSAgVXNpbmcgZ3N0dmlkZW8gZnVuY3Rpb25zIGdlb21ldHJpY3RyYW5zZm9ybSBjYW4gaGFuZGxlCgkgIHJnYiBvciBncmF5LCBwdXQgdGhhdCBvbiB0ZW1wbGF0ZSBjYXBzCgoyMDEwLTA1LTI2IDE4OjIyOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBSZW5hbWUgc29tZSB2YXJpYWJsZXMgZm9yIGNsYXJpdHkKCSAgUmVuYW1lcyBzb21lIHZhcmlhYmxlcyBhbmQgYWRkcyBhIG1pbmltdW0gZG9jIHRvIHRoZQoJICBtYXBwaW5nIGZ1bmN0aW9uIGZvciBhIGxpdHRsZSBjbGFyaXR5LgoJICBBbHNvIHVzZXMgZ3N0dmlkZW8gZnVuY3Rpb25zIGZvciB0aGUgcm93IGFuZCBwaXhlbCBzdHJpZGVzCgkgIGluc3RlYWQgb2YgaGFyZGNvZGVkIHZhbHVlcwoKMjAxMC0wNS0yNCAyMzo1NzowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IE5ldyBwbHVnaW4gZm9yIGdlb21ldHJpYyB0cmFuc2Zvcm1zCgkgIEFkZHMgYSBuZXcgcGx1Z2luIHRoYXQgaGFzIGVsZW1lbnRzIHRoYXQgcGVyZm9ybSBnZW9tZXRyaWMKCSAgdHJhbnNmb3JtYXRpb25zIHRvIGltYWdlcy4gQnkgZ2VvbWV0cmljIHRyYW5zZm9ybWF0aW9ucyBJIG1lYW4KCSAgdGhhdCB0aGUgb3BlcmF0aW9ucyBhcmUgZnVuY3Rpb25zIHRoYXQgZ2l2ZW4gdGhlIG91dHB1dCBwaXhlbAoJICBwb3NpdGlvbiwgZ2V0IHRoZSBwaXhlbCBwb3NpdGlvbiBpbiB0aGUgaW5wdXQgaW1hZ2UuIFRoaXMgcGl4ZWwKCSAgaXMgdGhlbiBjb3BpZWQgZnJvbSBpbnB1dCB0byBvdXRwdXQuCgkgIFRoZSBnc3RnZW9tZXRyaWN0cmFuc2Zvcm0gYmFzZWNsYXNzIG1ha2VzIGl0IGVhc3kgdG8gd3JpdGUKCSAgc3VjaCBlbGVtZW50cy4gSXQgYm9pbHMgZG93biB0byB3cml0ZSB0aGUgbWFwcGluZyBmdW5jdGlvbgoJICBhbmQgZXhwb3NpbmcgcHJvcGVydGllcwoJICBBbHJlYWR5IGFkZGVkIHRoZSBmaXJzdCBvZiB0aGUgZWxlbWVudHMsICdwaW5jaCcuIEl0J3MgYSBjb21tb24KCSAgZWZmZWN0IGluIGltYWdlIGVkaXRvcnMsIGxpa2UgZ2ltcCAoZGlzdG9ydCAtPiBwaW5jaCkKCjIwMTAtMDYtMDMgMjM6MTk6MzUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC1tYWtlcjoKCSogdG9vbHMvZ29iamVjdC5jOgoJKiB0b29scy9nc3RiYXNlc2luay5jOgoJKiB0b29scy9nc3RiYXNlc3JjLmM6CgkgIHRvb2xzOiBmbGVzaCBvdXQgZWxlbWVudC1tYWtlciB0ZW1wbGF0ZXMKCjIwMTAtMDYtMDMgMTg6MTQ6MDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICBiYXllcjJyZ2I6IGhhbmRsZSBvdGhlciBiYXllciBmb3JtYXRzCgoyMDEwLTA2LTAzIDE4OjE0OjU3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5oOgoJICByZ2IyYmF5ZXI6IGhhbmRsZSBtdWx0aXBsZSBiYXllciBmb3JtYXRzCgoyMDEwLTA2LTAzIDE1OjUzOjA0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSogZ3N0L2JheWVyL2dzdGJheWVyLmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5oOgoJICBiYXllcjogQWRkIHJnYjJiYXllciBlbGVtZW50CgkgIE1vc3RseSBmb3IgdGVzdGluZy9jb21wbGV0ZW5lc3MuCgoyMDEwLTA2LTAzIDIwOjUxOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJICBzaG06IGZpeCBkZWJ1ZyBtZXNzYWdlcwoJICBNaXNjLiBwcmludGYgZm9ybWF0IGZpeGVzIGFuZCBtaXNzaW5nIGFyZ3VtZW50cy4KCjIwMTAtMDYtMDMgMTU6Mjc6MDMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiBNYWtlIHN0YXRpYyBmdW5jdGlvbiBzdGF0aWMKCjIwMTAtMDYtMDMgMTU6MjY6NTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJICBzaG06IFVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUKCjIwMTAtMDYtMDMgMTQ6NDI6MDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3NobS9NYWtlZmlsZS5hbToKCSogZ3N0L3NobS9nc3RzaG0uYzoKCSogZ3N0L3NobS9nc3RzaG1zaW5rLmM6CgkqIGdzdC9zaG0vZ3N0c2htc2luay5oOgoJKiBnc3Qvc2htL2dzdHNobXNyYy5jOgoJKiBnc3Qvc2htL2dzdHNobXNyYy5oOgoJKiBnc3Qvc2htL3NobWFsbG9jLmM6CgkqIGdzdC9zaG0vc2htYWxsb2MuaDoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkqIGdzdC9zaG0vc2htcGlwZS5oOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9zaG0vTWFrZWZpbGUuYW06CgkqIHN5cy9zaG0vZ3N0c2htLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuaDoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuaDoKCSogc3lzL3NobS9zaG1hbGxvYy5jOgoJKiBzeXMvc2htL3NobWFsbG9jLmg6CgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJKiBzeXMvc2htL3NobXBpcGUuaDoKCSAgc2htOiBNb3ZlIHRvIHN5cy8gc2luY2UgaXQgZG9lc24ndCBleGlzdCBvbiB3aW5kb3dzCgoyMDEwLTA2LTAzIDE0OjQxOjU1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobXNyYy5jOgoJICBzaG1zcmM6IEZpeCBpbmRlbnRhdGlvbgoKMjAxMC0wNi0wMyAxNDoyMjozNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9nc3RzaG1zaW5rLmM6CgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJKiBnc3Qvc2htL3NobXBpcGUuaDoKCSAgc2htc2luazogUHJpbnQgZXJyb3JzIGlmIGZjaG1vZCBmYWlscwoKMjAxMC0wNC0wNyAxOTowNTozNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkgIHNobXBpcGU6IEZpeCBjcmFzaCB3aGVuIHNwX2Nsb3NlX3NobSBpcyBjYWxsZWQgd2l0aCBzZWxmID09IE5VTEwuCgkgIElmIHNwX29wZW5fc2htIGVycm9ycyBvdXQgdHJ5aW5nIHRvIG9wZW4gYSBzaG0gYXJlYSwgaXQgd291bGQgY3Jhc2gKCSAgd2hlbiB0cnlpbmcgdG8gZnJlZSB0aGUgYXJlYS4gVGhlIFJFVFVSTl9FUlJPUiBtYWNybyBjYWxscwoJICBzcF9zaG1fYXJlYV9kZWMgd2l0aCBzZWxmID09IE5VTEwuIHNwX3NobV9hcmVhX2RlYyBjYWxscwoJICBzcF9zaG1fY2xvc2UsIHdpdGggc2VsZiA9PSBOVUxMLCB3aGljaCBpdCB0aGVuIHRyaWVzIHRvIGFjY2VzcyBhCgkgIHBhcmFtZXRlciBvZiB3aXRob3V0IGNoZWNraW5nLiBUaGlzIHBhdGNoIGNoZWNrcyB0byBtYWtlIHN1cmUKCSAgc2VsZiAhPSBOVUxMIGJlZm9yZSBhY2Nlc3NpbmcgdGhhdCBwYXJhbWV0ZXIuCgoyMDEwLTA0LTA3IDE5OjA1OjE1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSAgc2htcGlwZTogVXBkYXRlIGNvZGUgc3RhbmRhcmQKCjIwMTAtMDItMDMgMTM6NTA6MTMgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobXNyYzogQWRkIHNvY2tldCBwYXRoIHRvIGVycm9yIG1lc3NhZ2UKCjIwMTAtMDItMDIgMTc6NDA6MDkgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG1waXBlOiBSZW1vdmUgd3JvbmcgdGVzdCBpbnZlcnNpb24KCjIwMTAtMDItMDIgMTc6MzU6MjYgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG1waXBlOiBWZXJpZnkgdGhhdCBhY2NlcHQgc3VjY2VlZHMKCjIwMTAtMDItMDIgMTc6MzU6MTUgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG1waXBlOiBGaXggb25lIGJ5dGUgb3ZlcmZsb3cKCjIwMTAtMDItMDIgMTE6MTE6MDYgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vZ3N0c2htc2luay5jOgoJKiBnc3Qvc2htL2dzdHNobXNyYy5jOgoJICBzaG1zcmM6IEltcHJvdmUgZGVidWcgcHJpbnRzCgoyMDEwLTAxLTI2IDEyOjM0OjM0ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogR2V0IHBvdGVudGlhbGx5IG1vZGlmaWVkIGFmdGVyIG9wZW5pbmcgc2htcGlwZQoKMjAxMC0wMS0yNiAxMjozMjo1NiArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkqIGdzdC9zaG0vc2htcGlwZS5oOgoJICBzaG06IFRyeSBhbHRlcm5hdGUgcGF0aHMgZm9yIHRoZSBzb2NrZXQKCjIwMTAtMDEtMjkgMTE6MDY6NDQgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG1waXBlOiBEb24ndCBwcmV0ZW5kIHRoZSBwYXRoIGlzIHJhbmRvbQoKMjAxMC0wMS0yOSAxMDo1NzoyNyArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkgIHNobXBpcGU6IENyZWF0ZSBzaG0gYXJlYSBleGNsdXNpdmVseQoKMjAxMC0wMS0yOCAxNTozNDo0NCArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1hbGxvYy5oOgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSogZ3N0L3NobS9zaG1waXBlLmg6CgkgIHNobWFsbG9jOiBNYWtlIGl0IGJ1aWxkIGluIG5vbi1nbGliIHdvcmxkCgoyMDEwLTAxLTI4IDEyOjE5OjA3ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobXNyYy5jOgoJKiBnc3Qvc2htL2dzdHNobXNyYy5oOgoJICBzaG1zcmM6IE1ha2UgdGhlIHNobXBpcGUgbGlmZSBpbmRlcGVuZGFudCBvZiB0aGUgZWxlbWVudCBzdGF0ZXMKCjIwMTAtMDEtMjggMTE6NTc6MzQgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG1waXBlOiBTaW1wbGlmeSBoYW5kbGluZyBvZiByYW5kb20gcGF0aHMKCjIwMTAtMDEtMjggMTE6MzY6MDEgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobXBpcGU6IFJlbW92ZSB1c2VsZXNzIGF0dHJpYgoKMjAxMC0wMS0yOCAxMTozMToxMSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkgIHNobXBpcGU6IFJlZiBjbGllbnQgc2htYXJlYSB3aGVuIGEgYnVmZmVyIGlzIHJlY2VpdmVkIGluIGl0CgoyMDEwLTAxLTI4IDExOjMwOjExICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSAgc2htcGlwZTogRG9uJ3QgZGVjIG9sZCBzaG0gYXJlYSB3aGVuIG5ldyBvbmUgaXMgYWRkZWQKCSAgSXRzIHJlZiB3aWxsIGJlIGRyb3BwZWQgd2hlbiB0aGUgImNsb3NlIiBtZXNzYWdlIGFycml2ZXMKCjIwMTAtMDEtMjcgMTE6NDk6MzQgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobXNyYzogTG9jayB1c2VzIG9mIHNobXBpcGUKCjIwMTAtMDEtMjYgMTQ6MjA6MzUgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobXNyYzogQWRkIGlzLWxpdmUgcHJvcGVydHkKCjIwMDktMTEtMDMgMjA6MDM6MjQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG06IFByaW50IGRldGFpbHMgb24gZXJyb3JzCgoyMDA5LTExLTAzIDE4OjMzOjM1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobXNpbmsuYzoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkgIHNobTogTWFrZSB2YWxncmluZCBoYXBweQoKMjAwOS0xMS0wMyAxNjozMTozNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IERvbid0IGJsb2NrIG9uIEVPUyBpbiBub24tYmxvY2tpbmcgbW9kZQoKMjAwOS0xMS0wMyAxNjowOTozNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkgIHNobTogQmxvY2sgaWYgcmVxdWlyZWQKCjIwMDktMTAtMzAgMTg6MjQ6NTggKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vZ3N0c2htLmg6CgkqIGdzdC9zaG0vZ3N0c2htc2luay5jOgoJKiBnc3Qvc2htL2dzdHNobXNpbmsuaDoKCSAgc2htc2luazogUG9ydCB0byBTaG1QaXBlCgoyMDA5LTEwLTMwIDEyOjM3OjUwICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobXNyYy5jOgoJKiBnc3Qvc2htL2dzdHNobXNyYy5oOgoJICBzaG1zcmM6IFBvcnQgdG8gU2htUGlwZQoKMjAwOS0xMC0yOSAxOToxODoyNSArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9NYWtlZmlsZS5hbToKCSogZ3N0L3NobS9zaG1hbGxvYy5jOgoJKiBnc3Qvc2htL3NobWFsbG9jLmg6CgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJKiBnc3Qvc2htL3NobXBpcGUuaDoKCSAgc2htOiBBZGQgc2htcGlwZSBpbXBsZW1lbnRhdGlvbgoKMjAwOS0wNC0yOSAxNjozMzo0NiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc2htL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2htL2dzdHNobS5jOgoJKiBnc3Qvc2htL2dzdHNobS5oOgoJKiBnc3Qvc2htL2dzdHNobXNpbmsuYzoKCSogZ3N0L3NobS9nc3RzaG1zaW5rLmg6CgkqIGdzdC9zaG0vZ3N0c2htc3JjLmM6CgkqIGdzdC9zaG0vZ3N0c2htc3JjLmg6CgkgIHNobTogQWRkIHNobSBiYXNlZCBzaW5rIGFuZCBzcmMKCSAgVGhlc2UgdHdvIGVsZW1lbnRzIChzaG1zaW5rIGFuZCBzaG1zcmMpIGNvbW11bmljYXRlIGJ1ZmZlcnMgdXNpbmcgUE9TSVgKCSAgc2hhcmVkIG1lbW9yeS4gVGhleSBhbHNvIGNvbW11bmljYXRlIHRoZSBjYXBzLiBUaGUgc291cmNlIGN1cnJlbnRseSBhY3RzIGFzCgkgIGEgbGl2ZSBzb3VyY2UgYW5kIGlnbm9yZXMgdGhlIHRpbWVzdGFtcHMgY29taW5nIGZyb20gdGhlIHNpbmsuIEl0IGFsc28gZG9lcwoJICBub3QgdHJhbnNmZXIgdGhlIHRhZ3MuCgoyMDEwLTA2LTAzIDE1OjUxOjE4ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IFNvbWUgY2hlY2tzIHRvIGF2b2lkIGFzc2VydHMKCSAgZ3N0X21wZWdfZGVzY3JpcHRvcl9maW5kKCkgZXhwZWN0cyB0aGUgZGVzY3JpcHRpb24gZmllbGQgdG8gYmUgbm9uLU5VTEwuCgkgIFRoaXMgZml4ZXMgYSBjb3VwbGUgb2YgY2FsbHMgd2hlcmUgdGhlIHZhbHVlIGJlaW5nIHBhc3NlZCBpcyBub3QKCSAgdmVyaWZpZWQgdG8gYmUgbm9uLU5VTEwgZmlyc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjA0NTYKCjIwMTAtMDYtMDMgMTA6NDk6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBmaXggcHJpbnRmIGZvcm1hdCB3YXJuaW5nIGluIGxvZyBtZXNzYWdlCgkgIGdzdHZwOGVuYy5jOjU2NDogZXJyb3I6IGZvcm1hdCDigJglZOKAmSBleHBlY3RzIHR5cGUg4oCYaW504oCZLCBidXQgYXJndW1lbnQgOCBoYXMgdHlwZSDigJhzaXplX3TigJkKCSAgZ3N0dnA4ZW5jLmM6NzQ0OiBlcnJvcjogZm9ybWF0IOKAmCVk4oCZIGV4cGVjdHMgdHlwZSDigJhpbnTigJksIGJ1dCBhcmd1bWVudCA4IGhhcyB0eXBlIOKAmHNpemVfdOKAmQoKMjAxMC0wNi0wMyAxMDo0MzoyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwbXV4OiBmaXggbWlzc2luZyBkZWJ1ZyBsb2cgbWVzc2FnZSBhcmd1bWVudAoKMjAxMC0wNi0wMiAyMjowNzozMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSAgaW52dGVsZWNpbmU6IGFkZCBhbiBhc3NlcnQgdG8gcGxhY2F0ZSBnY2MtNC41CgoyMDEwLTA2LTAyIDE5OjQ2OjUwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5jOgoJICBiYXNldmlkZW9wYXJzZTogZml4IHdhcm5pbmcKCjIwMTAtMDYtMDIgMTk6Mzg6MzUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmM6CgkgIGJhc2V2aWRlb3BhcnNlOiByZW1vdmUgYm9ndXMgYXBpCgoyMDEwLTA2LTAyIDE3OjU0OjQyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSAgYmFzZXZpZGVvOiByZW1vdmUgZ3N0X2Jhc2VfdmlkZW9fc3RhdGVfZnJvbV9jYXBzCgoyMDEwLTA2LTAyIDE3OjQwOjE3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJICBiYXNldmlkZW86IHJlbW92ZSBjb21wYXRpYmlsaXR5IGNvZGUKCjIwMTAtMDYtMDIgMTY6MDY6MjAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IE9yYyBpcyBub3QgcmVxdWlyZWQKCjIwMTAtMDYtMDIgMTY6MDE6MjggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSAgYmFzZXZpZGVvOiB1c2UgZGVidWcgY2F0ZWdvcnkgZm9yIGVhY2ggY2xhc3MKCjIwMDktMTAtMDUgMTU6NDc6NTggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJICBiYXNldmlkZW86IEZhaWwgaWYgY2FwcyBkb24ndCBjb250YWluIGEgZnJhbWVyYXRlIGZpZWxkCgkgIFJldHVybiBmYWxzZSBmcm9tIHRoZSBjYXBzIHBhcnNpbmcgZnVuY3Rpb24gaWYgdGhlcmUgaXMgbm8gZnJhbWVyYXRlCgkgIGZpZWxkIGluIHRoZSBwcm92aWRlZCBjYXBzCgkgIE1lcmdpbmcgcHJldmlvdXMgY29tbWl0IGludG8gY3VycmVudCBjb2RlYmFzZS4KCjIwMTAtMDYtMDIgMTM6MzE6NDYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogY3JlYXRlIG5ldyBzZWdtZW50cyBpZiBtaXNzaW5nCgoyMDA5LTA5LTE3IDEwOjUwOjQwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlbzogQWRkIGEgd2FybmluZwoJICBNZXJnaW5nIHByZXZpb3VzIGNvbW1pdCBpbnRvIGN1cnJlbnQgY29kZWJhc2UuCgoyMDA5LTA3LTAzIDE2OjA4OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSAgYmFzZXZpZGVvLCB2cDg6IGd1YXJkIHVuc3RhYmxlIEFQSSB3aXRoIEdTVF9VU0VfVU5TVEFCTEVfQVBJCgkgIEFkZCBzb21lIGd1YXJkcyBhbmQgZmF0IHdhcm5pbmdzIHRvIHRoZSBoZWFkZXIgZmlsZXMgd2l0aCBzdGlsbCB1bnN0YWJsZQoJICBBUEksIHNvIHBlb3BsZSB3aG8ganVzdCBsb29rIGF0IHRoZSBpbnN0YWxsZWQgaGVhZGVycyBrbm93IHRoYXQgaXQKCSAgYWN0dWFsbHkgaXMgdW5zdGFibGUgQVBJLgoJICBNZXJnaW5nIHByZXZpb3VzIGNvbW1pdCBpbnRvIGN1cnJlbnQgY29kZWJhc2UuCgoyMDEwLTA2LTAyIDE5OjUyOjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogQ2xlYXIgYWRhcHRlciB3aGVuIGZsdXNoaW5nCgoyMDEwLTA2LTAyIDE5OjQ1OjI5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogU3RvcCBkZWNvZGluZyBpZiBjYW4ndCBwdXNoCgoyMDEwLTA2LTAyIDE5OjQ0OjMxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogRmx1c2ggYWRhcHRlciByaWdodCBhdGVyIHVzaW5nIGl0CgoyMDA5LTExLTE4IDExOjE0OjI4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogTm8gbmVlZCB0byBkbyBhIHRyeSBhbGxvY2F0aW9uCgoyMDA5LTExLTE4IDExOjA4OjI1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogRG9jdW1lbnQgcGF1c2VkLW1vZGUgcHJvcGVydHkKCjIwMDktMTAtMTIgMjA6MTk6MzggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1pYzogVXNlIGxvZyBsb2dsZXZlbCBmb3IgbWVzc2FnZXMgdGhhdCBhcmUgc2hvd24gb24gZXZlcnkgZnJhbWUKCjIwMDktMTAtMTIgMjA6MDk6MzQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJICBtaW1kZWM6IFJlbW92ZSBvYmplY3QgbG9jayB1c2FnZSwgc3RyZWFtIGxvY2sgaXMgZW5vdWdoCgoyMDA5LTEwLTEyIDIwOjA4OjEyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogT3V0cHV0IGZyYW1lcmF0ZSBpcyB1bmtub3duCgoyMDA5LTEwLTEyIDIwOjA2OjEzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSAgbWltZGVjOiBSZW1vdmUgbG9jYWwgc3RhdGUgdmFyaWFibGUgZnJvbSBpbnN0YW5jZQoKMjAwOS0xMC0xMiAxOTo1Nzo1MCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IFJlbW92ZSB1c2VsZXNzIHZhcmlhYmxlCgoyMDA5LTEwLTEyIDE5OjU2OjU0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogTWFrZSBjYXBzIGEgbG90IHN0cmljdGVyCgoyMDA5LTEwLTEyIDE5OjUyOjM1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogU2V0IGRlbHRhX3VuaXQgZmxhZyBvbiBpbnRyYSBmcmFtZXMKCjIwMDktMTAtMTIgMTk6NTA6NTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1pYzogSW5pdGlhbGl6ZSBlbmNvZGVyL2RlY29kZXJzIGluIHN0YXRlIGNoYW5nZSBhbmQgc2V0Y2FwcyB3aGVyZSBwb3NzaWJsZQoKMjAwOS0xMC0xMiAxOTozNjoyOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWljOiBGaXggZWxlbWVudCBkZXRhaWxzCgoyMDA5LTEwLTEyIDE5OjMxOjM4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWljOiBIb2xkIGVsZW1lbnQgbG9jayB3aGlsZSBhY2Nlc3NpbmcgdGhlIGNsb2NrCgoyMDA5LTEwLTEyIDE5OjI5OjE3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWljOiBSZWZhY3RvciB0Y3AgaGVhZGVyIGNyZWF0aW9uIHRvIG5vdCBtYWtlIGEgc2VwYXJhdGUgYnVmZmVyCgoyMDA5LTEwLTEyIDE5OjE4OjIwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWljOiBGdW5jdGlvbiBjYW4ndCBmYWlsCgoyMDA5LTEwLTEyIDE5OjE3OjMwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltaWM6IFJlbW92ZSBDKysgc3R5bGUgY29tbWVudHMKCjIwMDktMTAtMTIgMTk6MTY6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1pYzogVXNlIEdTVF9FTEVNRU5UX0VSUk9SIHdoZW4gcmV0dXJuaW5nIGEgZmxvdyBlcnJvcgoKMjAwOS0xMC0xMiAxODo1NDo1OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkgIG1pbWljOiBGaXggR1NUX01JTV8qX0NMQVNTIG1hY3JvcwoKMjAwOS0xMC0xMiAxODo0NzozNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1pYzogV2FybiBpZiBwYXVzZWQtbW9kZSBpcyB0b2dnbGVkIHdoaWxlIHBsYXlpbmcKCjIwMDktMTAtMTIgMTg6Mzk6MDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1pYzogQWRkIEdTVF9ERUJVR19GVU5DUFRSIHdoZXJlIGFwcHJvcHJpYXRlCgoyMDA5LTEwLTEyIDE4OjM2OjU4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1pYy5jOgoJICBtaW1pYzogUmVuYW1lIGZ1bmN0aW9ucy9tYWNyb3MgdG8gbWF0Y2ggY2xhc3MgbmFtZXMKCjIwMTAtMDUtMTAgMTg6Mzc6NTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBBZGQgc29tZSBkZWJ1ZyBtZXNzYWdlcwoKMjAxMC0wNS0wNyAxODo1Njo1NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5oOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBydHBkdG1mbXV4OiBSZW1vdmUgc3RyZWFtLWxvY2sgZXZlbnQgaGFuZGxpbmcKCjIwMTAtMDUtMDcgMTg6NTQ6NDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBVcGRhdGUgZG9jIGZvciBzaW1wbGlmaWNhdGlvbgoKMjAxMC0wNS0wNyAxODo0MjowNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IFJlbW92ZSBydHBkdG1mbXV4IHN0cmVhbS1sb2NrIGNvZGUKCjIwMTAtMDUtMDcgMTg6NDA6MzAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICB0ZXN0czogQ2hhbmdlIHRlc3RzIHRvIG5vdCB1c2UgdGhlIHByaW9yaXR5IHBhZHMgaW5zdGVhZCBvZiB0aGUgZXZlbnRzCgoyMDEwLTA1LTA2IDE5OjUxOjU5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4Lmg6CgkgIHJ0cGR0bWZtdXg6IERyb3AgYnVmZmVycyBvbiBub24tcHJpb3JpdHkgc2lua3Mgd2hlbiBzb21ldGhpbmcgaXMgaW5jb21pbmcgb24gdGhlIHByaW9yaXR5IHNpbmsKCjIwMTAtMDUtMDYgMTg6MTE6NDAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBydHBkdG1mbXV4OiBBZGQgcHJpb3JpdHkgc2luayBwYWRzCgoyMDEwLTA1LTA3IDE3OjE1OjQ3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogQ2xlYW51cCBldmVudCBmdW5jdGlvbgoKMjAxMC0wNS0wNyAxNjo0MjoyMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHJ0cG11eDogQWdncmVnYXRlIGluY29taW5nIHNlZ21lbnRzCgoyMDEwLTA1LTA2IDE5OjA5OjQ4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogVXBkYXRlIGRvY3VtZW50YXRpb24KCjIwMTAtMDUtMDYgMTg6MTA6NDUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogU2ltcGxpZnkgcmVxdWVzdCBwYWQgY3JlYXRpb24KCjIwMTAtMDYtMDIgMTI6MTY6NTYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5jOgoJICBiYXNldmlkZW86IG1ha2UgcHJpbnRmIGZvcm1hdHMgcG9ydGFibGUKCjIwMTAtMDYtMDIgMTE6NDE6MjUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBVcGRhdGUgT3JjIHJlcXVpcmVtZW50IHRvIDAuNC40LjEKCjIwMTAtMDYtMDIgMTE6MzE6MjYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgTWVyZ2UgYnJhbmNoICdoYWNraW5nJwoKMjAxMC0wNS0yMiAxODoxNDowOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSAgaW52dGVsZWNpbmU6IEFkZCB2ZXJpZnktZmllbGQtZmxhZ3MgcHJvcGVydHkKCSAgV2hlbiBlbmFibGVkLCBjaGVjayB0aGF0IHRoZSB2aWRlbyBtYXRjaGVzIHRoZSBmaWVsZCBmbGFncyBvbiB0aGUKCSAgaW5jb21pbmcgYnVmZmVycy4KCjIwMTAtMDUtMjIgMTE6MzY6MzcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiByZW1vdmUgb2xkIGNvZGUKCjIwMTAtMDUtMjIgMTE6MzA6NTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiBBZGQgNDoyOjIgZm9ybWF0cwoKMjAxMC0wNS0yMiAwMDo0NDo0MCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSAgaW52dGVsZWNpbmU6IENoYW5nZSBmb3JtYXQgdGFibGUKCSAgQWRkIGZvcm1hdCBuYW1lLCBwaGFzZSB0YWJsZS4KCjIwMTAtMDMtMDkgMTI6MzI6NDIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiBBZGQgbXVsdGlwbGUgcHVsbGRvd24gZm9ybWF0cwoKMjAxMC0wNS0yMSAyMzozOTowNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW52dGVsZWNpbmUvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJICBpbnZ0ZWxlY2luZTogaGFuZGxlIGRpZmZlcmVudCBmcmFtZSBzaXplcwoKMjAxMC0wNS0yNCAxMjo1NToxNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiAoaW4gdnA4KSBNYXJrIGRpc2NvbnQgYnVmZmVycwoKMjAxMC0wNi0wMiAwNTo1MTo0MSArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSAgaXZmcGFyc2U6IEZpeCBmb3JtYXQgc3RyaW5nIHdhcm5pbmcKCSAgRml4ZXMgIzYyMDMyNAoKMjAxMC0wNi0wMSAyMzo1MDowMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgY29nOiByZW1vdmUgb2xkIHRlc3RzCgoyMDEwLTA2LTAxIDIzOjM0OjA1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogQWRkIG9yYyB0ZXN0cyB0byBjaGVjayBNYWtlZmlsZQoKMjAxMC0wNi0wMSAxNjo1NToxNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvY29nLm9yYzoKCSogZXh0L2NvZy9jb2dmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuaDoKCSogZXh0L2NvZy9nc3Rjb2dvcmMub3JjOgoJICBjb2c6IHVzZSBjb21tb24vb3JjLm1hawoKMjAxMC0wNS0xNiAxMDoyNDoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvOiBGaXggc2VnZmF1bHQgb24gRU9TCgoyMDEwLTA1LTE0IDAxOjIxOjA4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvcGFyc2UuYzoKCSAgc2Nocm86IGZpeCBmb3IgYmFzZSB2aWRlbyB1cGRhdGVzCgoyMDEwLTA1LTE2IDEwOjE1OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWM6IEZpeGVzIGZvciBiYXNlIHZpZGVvIGVuY29kZXIgY2hhbmdlcwoKMjAxMC0wNi0wMSAxNTo1NDo1MSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdHZpZGVvY29tcGF0LmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdHZpZGVvY29tcGF0Lmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkgIGJhc2V2aWRlbzogTW92ZSBiYXNlIHZpZGVvIGZyb20gdnA4IHRvIGdzdC1saWJzCgoyMDEwLTA2LTAxIDIzOjQ5OjMxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMTdmODllNSB0byA0NzY4M2MxCgoyMDEwLTA2LTAxIDIyOjU1OjExIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmQ3Y2EwNCB0byAxN2Y4OWU1CgoyMDEwLTA1LTI2IDA2OjUyOjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4dXRpbHMuaDoKCSAgdnA4OiBVc2UgVlBYX1BMQU5FXyogaW5zdGVhZCBvZiBQTEFORV8qCgoyMDEwLTA1LTI0IDExOjA0OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4dXRpbHMuaDoKCSAgdnA4OiBBZGQgY29tcGF0aWxpYml0eSBkZWZpbmVzIHRvIHdvcmsgd2l0aCBvbGRlciB2ZXJzaW9ucyBvZiBsaWJ2cHggdG9vCgoyMDEwLTA1LTIzIDA5OjI4OjEzICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZGVjOiBzL0lNR19GTVRfSTQyMC9WUFhfSU1HX0ZNVF9JNDIwLwoJICBUaGlzIGNvcnJlc3BvbmRzIHRvIHVwc3RyZWFtIGxpYnZweCBjb21taXQgNmNkNGExMGUxNjcyMDNkMWRlYjc5YWJmNjBlZTcyNTk5ZTk3ODkxYgoKMjAxMC0wNS0yMiAxMjo1NTo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEFsbG93IGEgbWF4aW11bSBrZXlmcmFtZSBkaXN0YW5jZSBvZiAwLCBpLmUuIGFsbCBmcmFtZXMgYXJlIGtleWZyYW1lcwoKMjAxMC0wNS0yMiAwOTowODo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSAgaXZmcGFyc2U6IFNlbmQgYW4gaW5pdGlhbCBORVdTRUdNRU5UIGV2ZW50CgoyMDEwLTA1LTIyIDA5OjAyOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2l2ZnBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSAgaXZmcGFyc2U6IEludGVncmF0ZSBpbnRvIHRoZSBidWlsZCBzeXN0ZW0KCjIwMTAtMDUtMjIgMDg6NTY6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5oOgoJICBpdmZwYXJzZTogQWRkIHNpbXBsZSBJVkYgcGFyc2VyCgkgIFRoaXMgb25seSBzdXBwb3J0cyBWUDggc28gZmFyLgoJICBGaXhlcyBidWcgIzYxOTE1OC4KCjIwMTAtMDUtMjIgMDg6NDU6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBTZXQgZGVjb2RlciBkZWFkbGluZSBmcm9tIHRoZSBRb1MgaW5mb3JtYXRpb24KCjIwMTAtMDYtMDEgMTA6MTg6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMC4xOSA9PT0KCjIwMTAtMDUtMzEgMDI6MTA6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjE5CgoyMDEwLTA1LTMxIDAyOjEwOjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEwLTA1LTMxIDAxOjUyOjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZG9jczogYWRkIHNvbWUgZGlzdGNsZWFuIHJ1bGVzIHRvIGZpeCBkaXN0Y2hlY2sKCSAgU3RvbGVuIGZyb20gZ3RrLWRvYy5tNCBhbmQgbm90IGZvdW5kIGluIGd0ay1kb2MtcGx1Z2luLm00LiBXZSBuZWVkCgkgIHRoZW0gYmVjYXVzZSB3ZSBkbyBoYXZlIGxpYnMvaW50ZXJmYWNlcyBzdHVmZiBhcyB3ZWxsIG5vdyAobmFtZWx5CgkgIEdzdFBob3RvZ3JhcGh5KS4KCjIwMTAtMDUtMzEgMDA6MzM6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBmaXggYnVpbGQgb2YgZ3RrLWRvYyBzY2FubmVyCgoyMDEwLTA1LTI4IDE2OjM1OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogTW92ZSBkZWJ1ZyBvdXRwdXQgb25lIGxpbmUgYWJvdmUgd2hlcmUgdGhlIHBhY2tldCBpcyBzdGlsbCB2YWxpZAoKMjAxMC0wNS0yOCAxNTo1MzozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IENvcnJlY3RseSBpZ25vcmUgbm9uLWZyYW1lIHBhY2tldHMgZnJvbSB0aGUgZW5jb2RlcgoJICBGaXhlcyBidWcgIzYxOTkxNi4KCjIwMTAtMDUtMjEgMTQ6MDE6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBjaGFuZ2UgcHJvZmlsZSBhbmQgbGV2ZWwgc3RyaW5ncyB0byBzb21ldGhpbmcgbmljZXItbG9va2luZwoJICBUaGlzIGlzIG1vcmUgaW4gbGluZSB3aXRoIHdoYXQgd2UgZG8gZWxzZXdoZXJlLCBldmVuIGlmIGl0IGRvZXNuJ3QKCSAgcmVzZW1ibGUgdGhlIG9mZmljYWwgYWJicmV2aWF0aW9ucyBleGFjdGx5LgoJICBTZWUgIzYxNjA3OC4KCjIwMTAtMDUtMjUgMTY6Mzc6NTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBwbHVnIGEgZmV3IG1lbW9yeSBsZWFrcwoJICBGaXhlcyAjNjE5NjE3LgoKMjAxMC0wNS0yNiAxNDoxMToxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xOC4zIHByZS1yZWxlYXNlCgoyMDEwLTA1LTI2IDE0OjAzOjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvY2FtZXJhYmluLmRvdDoKCSogZG9jcy9wbHVnaW5zL2NhbWVyYWJpbi5wbmc6CgkqIGRvY3MvcGx1Z2lucy9maWd1cmVzL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZmlndXJlcy9jYW1lcmFiaW4uZG90OgoJKiBkb2NzL3BsdWdpbnMvZmlndXJlcy9jYW1lcmFiaW4ucG5nOgoJICBkb2NzOiBmaXggZGlzdC9kaXN0Y2hlY2sgaXNzdWVzIHdpdGggY2FtZXJhYmluIGZpZ3VyZXMKCSAgTW92ZSBmaWd1cmVzIGludG8gZG9jcy9wbHVnaW5zIGFzIHdlbGwsIHRvIGF2b2lkIGlzc3VlcyB3aXRoCgkgIG1ha2UgZGlzdCBhbmQgbWFrZSBkaXN0Y2hlY2sgKG1ha2UgZGlzdGRpciB3aWxsIG5vdCBmaXJzdCBkZXNjZW5kCgkgIGludG8gY2hpbGQgZGlyZWN0b3JpZXMpLiBPdXQtb2Ytc291cmNlIGJ1aWxkIHNlZW1zIHRvIHN0aWxsIHdvcmsKCSAgYXMgd2VsbC4KCjIwMTAtMDUtMjYgMTI6MzY6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiB1cGRhdGUgdHJhbnNsYXRpb25zCgoyMDEwLTA1LTI2IDExOjU1OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMzU3YjBkYiB0byBmZDdjYTA0CgoyMDEwLTA1LTA3IDE2OjQyOjEyICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJICBtcGxleDogYWRkIE1QTEVYX0xERkxBR1MgdmFyaWFibGUKCSAgU28gbWluZ3czMiB1c2VycyBjYW4gaGFjayBhcm91bmQgYSBjb21waWxlci9saW5rZXIgYnVnLgoJICBGaXhlcyAjNjE3MTQ1CgoyMDEwLTA1LTI1IDAwOjI3OjE3ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogZml4IGNyYXNoIGlmIGRvd25zdHJlYW0gaXMgdW5saWtlZAoJICBtcGVnX3BhY2tldGl6ZXJfZ2V0X2Jsb2NrKCkgaW4gc29tZSBjaXJjdW1zdGFuY2VzIChoZXJlOiBpZgoJICBkb3duc3RyZWFtIHdhcyB1bmxpbmtlZCkgcmV0dXJucyBhIGJsb2NrIGJ1dCBkb2VzIG5vdCBzZXQgdGhlCgkgIGJ1ZmZlciBjYXVzaW5nIG1wZWd2aWRlb3BhcnNlX2RyYWluX2F2YWlsKCkgdG8gY2F1c2UgaW52YWxpZCBtZW1vcnkKCSAgYWNjZXNzLgoJICBGaXhlcyAjNjE5NTAyLgoKMjAxMC0wNS0yNCAxNzo0MTo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkqIGdzdC1saWJzL2dzdC9hcHAvLmdpdGlnbm9yZToKCSogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHAtbWFyc2hhbC5saXN0OgoJKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmg6CgkqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmg6CgkqIGdzdC9hcHAvTWFrZWZpbGUuYW06CgkqIGdzdC9hcHAvZ3N0YXBwLmM6CgkgIFJlbW92aW5nIHJlbWFpbmluZyBnc3RhcHAqCgkgIFRoZXJlIGFyZSBzb21lIHJlbWFpbmluZyBnc3RhcHAqIGxpdmluZyB1bmxpbmtlZCBmcm9tIHRoZSBidWlsZCBzY3JpcHRzLgoJICBSZW1vdmUgdGhlbS4KCjIwMTAtMDUtMjQgMTk6MjE6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNhbWVyYWJpbjogRml4IHRlc3QgYnVpbGQKCSAgQWRkcyBtaXNzaW5nIC1iYWQgY2ZsYWdzIHRvIGNhbWVyYWJpbiB0ZXN0cy4KCjIwMTAtMDUtMjMgMTk6MTc6NDEgKzAxMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnBAay1kLXcub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IGZpeCBtaW5vciBtZW1vcnkgbGVhawoJICBEb24ndCBsZWFrIGxhbmd1YWdlIGNvZGUuCgkgIEZpeGVzICM2MTk0NDQuCgoyMDEwLTA1LTIxIDIwOjQ4OjM0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJICBjb2djb2xvcnNwYWNlOiByZXNhbXBsZSBZVVYtPllVViBjb252ZXJzaW9ucwoJICBGaXhlcyBhIHNlZ2ZhdWx0IChidWcgIzYxODA0NCkuCgoyMDEwLTA0LTA4IDE2OjA1OjExICswMTAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJKiBzeXMvdmNkL3ZjZHNyYy5jOgoJICB2Y2RzcmM6IGNoYW5nZSBWQ0QgVVJJIGhhbmRsZXIgdG8gdGhlIERWRCBzY2hlbWUKCSAgVGhlIGN1cnJlbnQgVVJJIHBhcnNpbmcgY29kZSBkb2Vzbid0IGFsbG93IHNldHRpbmcgdGhlICJkZXZpY2UiCgkgIGZyb20gd2hpY2ggdGhlIFZDRCBzaG91bGQgYmUgcmVhZC4KCSAgVXNlIHRoZSBzYW1lIHN0cnVjdHVyZSBhcyB0aGUgRFZEIFVSSSBoYW5kbGluZyBpbnN0ZWFkLCBzbyB0aGF0CgkgIGRldmljZXMgY2FuIGJlIHBhc3NlZCBpbiB0aGUgVVJJLCBhcyB3ZWxsIGFzIHRyYWNrIG51bWJlci4KCSAgVXAgdGhlIHJhbmsgb2YgdGhlIFZDRCBwbHVnaW4gc28gdGhhdCBpdCBjYW4gYmUgYXV0by1wbHVnZ2VkIGFuZAoJICB1c2VkIGJ5IFRvdGVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzQwOTg2CgoyMDEwLTA1LTIyIDA3OjQ0OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogVGFrZSB0aGUgZnJhbWUgZHVyYXRpb24gaW50byBhY2NvdW50IHdoZW4gY2FsY3VsYXRpbmcgdGhlIGVhcmxpZXN0IHRpbWUKCSAgVGhpcyBmb3JtdWxhIGlzIHVzZWQgaW4gbWFueSBvdGhlciBlbGVtZW50cyB0b28uCgkgIEZpeGVzIGJ1ZyAjNjE5MzE4LgoKMjAxMC0wNS0yMiAwNzozNTowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IFJlc2V0IFFvUyB2YWx1ZXMgd2hlbiBuZWNlc3NhcnkKCjIwMTAtMDUtMjIgMDk6MzU6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBVc2UgR1NUX1ZJREVPX0NBUFNfWVVWKEk0MjApIGluc3RlYWQgb2YgaGFuZHdyaXR0ZW4gSTQyMCBjYXBzIGZvciB0aGUgcGFkIHRlbXBsYXRlCgkgIEZpeGVzIGJ1ZyAjNjE5MzQ0LgoKMjAxMC0wNS0yMSAyMDo1MzozNiArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IGRyb3AgbGF0ZSBmcmFtZXMgYWZ0ZXIgZGVjb2RpbmcgdGhlbQoJICBUaGlzIHNhdmVzIGEgbWVtY3B5LCB3aGljaCBpcyBhbHdheXMgc29tZXRoaW5nLgoKMjAxMC0wNS0yMSAyMToyODoyOSArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogdGhyZWFkcyBwcm9wZXJ0eQoJICBJbmNyZWFzaW5nIGZyb20gMSB0byAyIHRocmVhZHMgb24gYW4gVGhpbmtwYWQgWDYwcyBkZWNyZWFzZWQgZW5jb2RlIHRpbWUKCSAgaW4gYSB0ZXN0IGZyb20gfjI0IHMgdG8gfjE5IHMsIHNvIHRoaXMgaXMgcXVpdGUgdXNlZnVsLgoJICBJZGVhbGx5IHdlIHNob3VsZCBsZXQgMCBiZSB0aGUgZGVmYXVsdCBhbmQgYXV0b21hdGljYWxseSBtYXRjaCB0aGUgbnVtYmVyCgkgIG9mIENQVSBjb3JlcyAob3Igc29tZXRoaW5nKS4KCjIwMTAtMDUtMjEgMTU6MTc6NDYgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IGFkZCBtb2RlIHByb3BlcnR5IHRvIHN3aXRjaCBiZXR3ZWVuIENCUi9WQlIKCSAgQWx3YXlzIHVzaW5nIENCUiB3aGVuIGJpdHJhdGUgaXMgdXNlZCBpc24ndCB0aGF0IGdyZWF0LCBWQlIgbW9kZQoJICBjYW4gcHJvZHVjZSBtZWFuaW5nZnVsIHJlc3VsdHMgdG9vLgoKMjAxMC0wNS0yMSAxMDo1NDo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IE9ubHkgZW5hYmxlIHBvc3Rwcm9jZXNzaW5nIGlmIHRoZSBkZWNvZGVyIHN1cHBvcnRzIGl0CgoyMDEwLTA1LTIxIDA4OjIzOjU4ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSAgdnA4OiB0eXBvOiBzL0hBVkVfVlA4X0RFQ09ERVIvSEFWRV9WUDhfRU5DT0RFUi8KCSAgRml4dXAgZm9yIGJ1ZyAjNjE5MTcyLgoKMjAxMC0wNS0yMSAwODoxMzowNiArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwODogbW92ZSAjaWZkZWYgSEFWRV9WUDhfRU5DT0RFUi9ERUNPREVSCgkgIE90aGVyd2lzZSB3ZSdsbCB0cnkgaW5jbHVkaW5nIGUuZy4gPHZweC92cDhjeC5oPiB3aGljaCBkb2Vzbid0IGV4aXN0LgoKMjAxMC0wNS0yMCAxNjo0OTowMyArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgdnA4OiBsaW5rIHdpdGggLWxtIC1scHRocmVhZCB3aGVuIHRlc3RpbmcgZm9yIHZwOCBlbmNvZGVyL2RlY29kZXIKCSAgRml4dXAgZm9yIGJ1ZyAjNjE5MTcyLgoKMjAxMC0wNS0yMCAyMDowNjowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFdyaXRlIEdTdHJlYW1lciBlbGVtZW50IGFuZCB2ZXJzaW9uIGluIHRoZSB2b3JiaXNjb21tZW50IHZlbmRvciBzdHJpbmcKCjIwMTAtMDUtMjAgMTY6NDk6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L3BsdWdpbi5jOgoJICB2cDg6IE9ubHkgZW5hYmxlIHRoZSBlbmNvZGVyIG9yIGRlY29kZXIgaWYgaXQncyBhdmFpbGFibGUgaW4gbGlidnB4CgkgIEZpeGVzIGJ1ZyAjNjE5MTcyLgoKMjAxMC0wNS0yMCAxMDoxOTo1NCArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvcGx1Z2luLmM6CgkgIHZwODogZXhsY3VkZSBkZWMvZW5jIGJhc2VkIG9uIENPTkZJR19WUDhfREVDT0RFUi9FTkNPREVSCgkgIFRoaXMgbWF5IG5vdCBiZSB2ZXJ5IGF1dG90b29saXNoLCBidXQgd29ya3Mgd2l0aCBsaWJ2cHggaW4gdGhlIHN0YXRlCgkgIHRoYXQgbGlidnB4IGlzIGFjdHVhbGx5IGluLiBNb3ZlZCB0aGUgZGVidWcgaW5pdCB0byB0aGUgZWxlbWVudHMKCSAgdGhlbXNlbHZlcyB0byBtaW5pbWl6ZSBhbW91bnQgb2YgI2lmZGVmcwoKMjAxMC0wNS0yMCAxNTo1OTo1NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IGZpeCBodG1sIGltYWdlIGxvY2F0aW9uIGZvciBvdXQtb2Ytc291cmNlIGJ1aWxkCgoyMDEwLTA1LTIwIDA5OjI0OjUzICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBMaW1pdCBtYXgtbGF0ZW5jeSB0byAyNSB0byBtYXRjaCBsaWJ2cHgKCSAgRnJvbSBsaWJ2cHgvdnA4L2VuY29kZXIvb255eF9pbnQuaDoKCSAgI2RlZmluZSBNQVhfTEFHX0JVRkZFUlMgKENPTkZJR19SRUFMVElNRV9PTkxZPyAxIDogMjUpCgkgIFdoaWxlIHdlIGRvbid0IG5lZWQgdG8gYmUgdGllZCB0byB3aGF0IGxpYnZweCBkb2VzIGludGVybmFsbHksIGl0CgkgIGRvZXNuJ3QgbWFrZSBzZW5zZSB0byBwcmV0ZW5kIHRvIHN1cHBvcnQgbG9uZ2VyIGZyYW1lIGxhZ3MgdGhhbiBhcmUKCSAgYWN0dWFsbHkgcG9zc2libGUuCgoyMDEwLTA1LTIwIDA5OjU2OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4dXRpbHMuYzoKCSAgdnA4OiBVbmRlZiBIQVZFX0NPTkZJR19IIGJlZm9yZSBpbmNsdWRpbmcgbGlidnB4IGhlYWRlcnMKCSAgQSBwdWJsaWMgbGlidnB4IGhlYWRlciBpbmNsdWRlcyBwcml2YXRlIGhlYWRlcnMgaWYgdGhpcyBpcwoJICBkZWZpbmVkLCBjYXVzaW5nIGNvbXBpbGF0aW9uIGZhaWx1cmVzIGJlY2F1c2UgdGhlIHByaXZhdGUgaGVhZGVycwoJICBhcmUgbm90IGluc3RhbGxlZCBvZiBjb3Vyc2UuCgoyMDEwLTA1LTIwIDA4OjUzOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogU29tZSBtb3JlIG1pbm9yIGFkanVzdG1lbnRzIGZvciB0aGUgT2dnIG1hcHBpbmcKCjIwMTAtMDUtMTkgMTc6MTI6NTUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYXVkaW9maWxlL01ha2VmaWxlLmFtOgoJKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZXh0L3NjaHJvZWRpbmdlci9NYWtlZmlsZS5hbToKCSogZXh0L3NuZGZpbGUvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmL01ha2VmaWxlLmFtOgoJKiBnc3QvYXNmbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9idWZmZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkqIGdzdC9udXZkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWVhc3VyZS9NYWtlZmlsZS5hbToKCSogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSogc3lzL2R4cjMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSAgU3BsaXQgb3V0IEdTVF9QTFVHSU5TX0JBRF9DRkxBR1MgZnJvbSBHU1RfQ0ZMQUdTCgkgIE1vdmUgaW5jbHVkZSBkaXJlY3RpdmVzIGZvciBnc3QtbGlicyBpbnRvIEdTVF9QTFVHSU5TX0JBRF9DRkxBR1MsCgkgIGFuZCBmaXggYWxsIHRoZSBNYWtlZmlsZXMgdGhhdCB1c2UgaXQuICBUaGlzIGlzIHNvIHRoYXQgYWxsIHRoZQoJICBpbmNsdWRlIGRpcmVjdG9yaWVzIGFyZSBhZGRlZCBpbiB0aGUgcHJvcGVyIG9yZGVyOiBmaXJzdCB0aGUKCSAgZGlyZWN0b3JpZXMgaW4gc3JjZGlyL2J1aWxkZGlyLCB0aGVuIGdzdC1wbHVnaW5zLWJhc2UgZGlycywgdGhlbgoJICBnc3RyZWFtZXIgZGlycy4gIElmIHRoZSBvcmRlciBpcyB3cm9uZywgaW5zdGFsbGVkIGhlYWRlcnMgbWF5IGJlCgkgIHVzZWQgaW5zdGVhZCBvZiBsb2NhbCBoZWFkZXJzIGFuZC9vciB1bmluc3RhbGxlZCBoZWFkZXJzIGZyb20gLWJhc2UuCgoyMDEwLTA1LTE5IDIzOjAyOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogRml4IG1lbW9yeSBsZWFrCgoyMDEwLTA1LTE5IDIxOjM0OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogQWRqdXN0IE9nZyBtYXBwaW5nIGZvciB0aGUgY2hhbmdlcwoKMjAxMC0wNS0xMiAxODo1MDozNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IEFkZCBWUDgKCjIwMTAtMDUtMTkgMTg6MTI6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBBZGQgcHJvcGVydGllcyB0byBjb250cm9sIHRoZSBWUDggZGVjb2RlciBwb3N0IHByb2Nlc3NpbmcgZmVhdHVyZQoJICBUaGlzIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgZm9yIG5vdy4KCjIwMTAtMDUtMTkgMTc6MTY6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBSZW5hbWUga2V5ZnJhbWUtaW50ZXJ2YWwgdG8gbWF4LWtleWZyYW1lLWRpc3RhbmNlCgkgIEFuZCB1c2UgZGVmYXVsdCBzZXR0aW5ncyBmb3IgYnVmZmVyIHNpemVzIHVudGlsIHdlIGV4cG9zZSB0aGlzCgkgIHNvbWVob3cuCgoyMDEwLTA1LTE5IDE3OjEzOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4dXRpbHMuYzoKCSogZXh0L3ZwOC9nc3R2cDh1dGlscy5oOgoJICB2cDg6IEltcHJvdmUgZXJyb3IgaGFuZGxpbmcgYW5kIGRlYnVnIG91dHB1dAoKMjAxMC0wNS0xOSAxNDo0Njo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDg6IFVzZSBjb3JyZWN0IHN0cmlkZXMgYW5kIHBsYW5lIG9mZnNldHMgZm9yIEdTdHJlYW1lcgoKMjAxMC0wNS0xOCAxNDo0Nzo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEltcGxlbWVudCBHc3RUYWdTZXR0ZXIgaW50ZXJmYWNlCgoyMDEwLTA1LTE4IDE0OjMzOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRml4IHNldHRpbmcgb2YgdGhlIGtleWZyYW1lIGZsYWcgb24gZW5jb2RlZCBmcmFtZXMKCjIwMTAtMDUtMTggMTQ6MzA6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBQb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBpZiBlbmNvZGVyIGluaXRpYWxpemF0aW9uIGZhaWxzCgoyMDEwLTA1LTE4IDE0OjI4OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogRml4IG1lbW9yeSBsZWFrcyBhbmQgZmFpbCBpZiBpbml0aWFsaXppbmcgdGhlIGRlY29kZXIgZmFpbHMKCjIwMTAtMDUtMTggMDI6NDQ6NTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBTZXQgdGltZWJhc2UKCSAgQWxzbyBtaXNjIGNsZWFudXAuCgoyMDEwLTA1LTE2IDEwOjM2OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogRml4IGRlY29kaW5nIG9mIGludmlzaWJsZSBmcmFtZXMKCjIwMTAtMDUtMTQgMTQ6MjY6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBVcGRhdGUgdGhlIGxhdGVuY3kgd2hlbiBpbml0aWFsaXppbmcgdGhlIGVuY29kZXIKCjIwMTAtMDUtMTQgMTQ6MDI6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBDb3JyZWN0bHkgaW5pdGlhbGl6ZSBzdHJlYW0gaW5mbyBiZWZvcmUgcGVla2luZyBhdCB0aGUgc3RyZWFtCgkgIE90aGVyd2lzZSBwZWVraW5nIHdpbGwgZmFpbCBhbmQgd2UnbGwgZ2V0IGludmFsaWQgdmFsdWVzCgoyMDEwLTA1LTE0IDExOjAxOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogTWFrZSBzdXJlIHRvIHBhc3MgYSBrZXlmcmFtZSBhcyBmaXJzdCBmcmFtZSB0byB0aGUgZGVjb2RlciwgY29weSBvdXRwdXQgZnJhbWVzIG9ubHkgb25jZSBhbmQgcmVxdWlyZSB3aWR0aC9oZWlnaHQvZXRjIG9uIHRoZSBpbnB1dCBjYXBzCgoyMDEwLTA1LTE0IDEwOjMwOjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogQWRkIHN1cHBvcnQgZm9yIGludmlzaWJsZSBmcmFtZXMgYW5kIHRoZSBPZ2cgbWFwcGluZwoKMjAxMC0wNS0xNCAwMToxNDo0NiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IEZpeCByZXNldCBhZnRlciBzZWVraW5nCgkgIEFsc28gcmVtb3ZlIHNvbWUgdW51c2VkIGNvZGUuCgoyMDEwLTA1LTEzIDIxOjE5OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogU2V0IGZyYW1lIG51bWJlcnMgYXMgYnVmZmVyIG9mZnNldHMKCjIwMTAtMDUtMTMgMjE6MTg6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBBbHdheXMgZ2V0IGFzIG1hbnkgZnJhbWVzIGFzIHBvc3NpYmxlIGZyb20gdGhlIGVuY29kZXIKCjIwMTAtMDUtMTMgMjE6MDg6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBGaWxsIHRoZSBvbGRlc3QgcGVuZGluZyBmcmFtZSBpbnN0ZWFkIG9mIHRoZSBuZXdlc3QKCjIwMTAtMDUtMTMgMjA6MjA6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBDb3JyZWN0bHkgc2V0IGRlbHRhIHVuaXQgZmxhZyBmb3Igbm9uLWtleWZyYW1lcwoKMjAxMC0wNS0xMyAwMTowNDowNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3R2aWRlb2NvbXBhdC5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3R2aWRlb2NvbXBhdC5oOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L3BsdWdpbi5jOgoJICB2cDg6IEFkZCBlbmNvZGVyL2RlY29kZXIKCjIwMTAtMDUtMTggMjE6MzI6MjIgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggd3JvbmcgdGltZXN0YW1wcyBpbiBzb21lIGNhc2VzIGFmdGVyIHNlZWtpbmcuCgkgIFJlc2V0IC0+bGFzdF9vdXRidWZfZHRzIG9uIGZsdXNoLXN0b3AuIEZpeGVzICM2MTkwNjQuCgoyMDEwLTA1LTE3IDE2OjI2OjAzICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZml4IG1lbW9yeSBjb3JydXB0aW9uIHdoZW4gcGFyc2luZyBhZGFwdGF0aW9uIGZpZWxkCgoyMDEwLTA1LTE3IDExOjUyOjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3BvbHlwL01ha2VmaWxlLmFtOgoJKiBleHQvcG9seXAvcGx1Z2luLmM6CgkqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzoKCSogZXh0L3BvbHlwL3BvbHlwc2luay5oOgoJICBSZW1vdmUgdW51c2VkIHBvbHlwIGF1ZGlvIHBsdWdpbiBjb2RlCgkgIHBvbHlwYXVkaW8gd2FzIHJlbmFtZWQgdG8gcHVsc2VhdWRpbyBhZ2VzIGFnby4KCSAgRml4ZXMgIzYxODg2Ny4KCjIwMTAtMDUtMTUgMTU6Mzc6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIHJlc2luZHZkOiBDaGVjayBmb3IgZHZkbmF2IGFuZCBkdmRyZWFkIGxpYnJhcmllcwoKMjAxMC0wNS0xNSAwMToxODo1MiArMDIwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogRG9uJ3QgaW5zdGFsbCBjYW1lcmFiaW4gZXhhbXBsZXMKCjIwMTAtMDUtMTUgMDA6MTk6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTguMiBwcmUtcmVsZWFzZQoKMjAxMC0wNS0xNCAxODozMTo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgIGRvY3M6IHJlbW92ZSBtb3JlIGNydWZ0IHJlbGF0ZWQgdG8gcGx1Z2lucyB0aGF0IGhhdmUgYmVlbiBtb3ZlZCB0byAtZ29vZAoKMjAxMC0wNS0xNCAxODoyNToxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDRkNjdiZDYgdG8gMzU3YjBkYgoKMjAxMC0wNS0xNCAxNjo1MzoyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IC0tZGlzYWJsZS1leHRlcm5hbAoKMjAxMC0wNS0xNCAwMTo1NTo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGFkZCBvbGQgc2hhdmUgZmlsZXMgaW4gY29tbW9uIHRvICdjcnVmdCcgZmlsZXMKCjIwMTAtMDUtMTMgMTQ6NDI6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgIGZlc3RpdmFsOiBPbmx5IGNsb3NlIHRoZSBjb25uZWN0aW9uIGlmIGl0J3Mgb3BlbmVkCgoyMDEwLTA1LTEzIDE0OjQxOjA4ICswMjAwICBJdmFuIFpkZXJhZGlja2EgPGl2YW4uemRlcmFkaWNrYUBnbWFpbC5jb20+CgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgZmVzdGl2YWw6IERvbid0IG9wZW4gYW4gaW5maW5pdGUgbnVtYmVyIG9mIGNvbm5lY3Rpb25zIHRvIHRoZSBzZXJ2ZXIgYW5kIGNsb3NlIGNvbm5lY3Rpb25zCgkgIEZpeGVzIGJ1ZyAjNjE4NTI3LgoKMjAxMC0wNS0xMyAxMjo1NToyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrc3JjOiBtYWtlIHN1cmUgd2UgYWx3YXlzIHJlYWQgbmZyYW1lcwoJICBFcnJvciBvdXQgd2hlbiB3ZSBhcmUgYXNrZWQgdG8gcmVhZCBhIGRpZmZlcmVudCBzaXplIHRoYXQgd2hhdCB3YXMgY29uZmlndXJlZCBhcwoJICB0aGUgamFjayBwZXJpb2Qgc2l6ZSBiZWNhdXNlIHRoYXQgd291bGQgbWVhbiBzb21ldGhpbmcgZWxzZSBpcyB3cm9uZy4KCSAgRml4ZXMgIzYxODQwOQoKMjAxMC0wNS0xMSAxNzo1NjozMSAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkgIGphY2s6IGltcHJvdmUgcHJvY2Vzc19jYgoKMjAxMC0wNS0xMSAxMzo1Mjo1MSAtMDQwMCAgSm9zaHVhIE0uIERvZSA8am9zaHVhLmRvZUB1cy5hcm15Lm1pbD4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmg6CgkgIGZyZWkwcjogRml4IHNldHRpbmcgb2YgYm9vbGVhbiB2YWx1ZXMKCSAgU2V0dGluZyBib29sZWFuIHR5cGUgcGFyYW1ldGVycyBmcm9tIGdzdC1sYXVuY2ggZmFpbGVkIGJlY2F1c2Ugb2YgaW1wcm9wZXIgaGFuZGxpbmcgb2YgdHlwZSBjb252ZXJzaW9ucy4KCSAgRml4ZXMgYnVnICM2MTgzODguCgoyMDEwLTA1LTEyIDEzOjAwOjE2ICswMjAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBwYXJzZSBURFQgdGFibGUgaW4gbXBlZ3RzLgoJICBTb21lIHRhYmxlcyBpbiBNUEVHLVRTIGRvIG5vdCBoYXZlIGEgY3JjIGluIHRoZSBzcGVjLCBzbyBhbHNvIG1wZWd0c3BhcnNlCgkgIGlzIG5vdCBjYWxjdWxhdGluZyBjcmMgZm9yIHNlY3Rpb25zIHdpdGggdGFibGVfaWQgMHg3MCAtIDB4NzIgYmVjYXVzZSB0aGV5CgkgIGRvIG5vdCBoYXZlIGEgQ1JDIGluIHRoZSBzcGVjLiBTZWUgRU4zMDA0NjguIFBhcnNlIFRpbWUgYW5kIERhdGUgdGFibGUgYW5kCgkgIG91dHB1dCBidXMgbWVzc2FnZS4KCjIwMTAtMDUtMTEgMTY6MDM6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiByZW1vdmUgb3NzNCBzdHJpbmdzCgoyMDEwLTA1LTExIDE1OjMzOjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHBvL1BPVEZJTEVTLmluOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9vc3M0L01ha2VmaWxlLmFtOgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkqIHN5cy9vc3M0L29zczQtYXVkaW8uaDoKCSogc3lzL29zczQvb3NzNC1taXhlci1lbnVtLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItZW51bS5oOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5oOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXN3aXRjaC5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXN3aXRjaC5oOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuaDoKCSogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5jOgoJKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmg6CgkqIHN5cy9vc3M0L29zczQtc2luay5jOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuaDoKCSogc3lzL29zczQvb3NzNC1zb3VuZGNhcmQuaDoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSogc3lzL29zczQvb3NzNC1zb3VyY2UuaDoKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOgoJICBSZW1vdmUgb3NzNCBwbHVnaW4KCSAgSXQgaGFzIGJlZW4gbW92ZWQgdG8gZ3N0LXBsdWdpbnMtZ29vZC4KCSAgU2VlICM2MTQzMDUuCgoyMDEwLTA1LTExIDE0OjAyOjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSogZ3N0L2ltYWdlZnJlZXplL01ha2VmaWxlLmFtOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWZyZWV6ZS5jOgoJICBSZW1vdmUgaW1hZ2VmcmVlemUgcGx1Z2luL2VsZW1lbnQuCgkgIEl0IGhhcyBiZWVuIG1vdmVkIHRvIGdzdC1wbHVnaW5zLWdvb2QuCgkgIFNlZSAjNjEzNzg2LgoKMjAxMC0wNS0xMSAxMzoxNTozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRlc3RzOiBkb24ndCBmYWlsIHRhZ3NjaGVja2luZyB0ZXN0IGlmIHF0ZGVtdXggaXMgbm90IGF2YWlsYWJsZSBvciB0b28gb2xkCgoyMDEwLTA1LTExIDEzOjA4OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHNiYWQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYXBzc2V0dGVyLmM6CgkgIFJlbW92ZSBjYXBzc2V0dGVyIGVsZW1lbnQKCSAgSXQgaGFzIGJlZW4gbW92ZWQgdG8gZ3N0LXBsdWdpbnMtZ29vZC4KCSAgU2VlICM2MTc3MzkuCgoyMDEwLTA1LTExIDEwOjA0OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBDaGVjayBmb3IgR1RLKyAzLjAgYW5kIGlmIGl0J3Mgbm90IGF2YWlsYWJsZSBmb3IgR1RLKyAyLjAKCjIwMTAtMDUtMTEgMTA6MDE6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5jOgoJICBzY2FsZXRlbXBvOiBEb24ndCB1c2UgZGVwcmVjYXRlZCBHVEsgc3ltYm9scyBpbiB0aGUgZGVtbwoKMjAxMC0wNS0wNyAxOToxNTozMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IERvbid0IHRyeSB0byByZS1zZW5kIHRoZSBzYW1lIGV2ZW50IG1vcmUgdGhhbiBvbmNlCgoyMDEwLTA1LTA3IDIyOjUzOjE3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdmb3JtYXQ6IG1ha2UgdGhlIGludGVudGlvbiBvZiB0aGUgZWxlbWVudHMgbW9yZSBjbGVhcgoKMjAxMC0wNS0wNyAxMzo1NzoxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgUmV2ZXJ0ICJqaWZtdXg6IE1lcmdlIHhtcCBhbmQgdGFnc2V0dGVyIHRhZ3MuIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDRlNWM0MTIyMzQ5MDMxMjY0YmY0N2U2YWY5MzM4ZjhhZTAyMzZkNWYuCgkgIGppZm11eCBzaG91bGRuJ3QgYmUgYWJsZSB0byBoYW5kbGUgamlmIGFuZCBzaG91bGRuJ3QgZXhwZWN0CgkgIGFueSB4bXAgb24gaXRzIGRhdGEuIFNvLCBubyBuZWVkIHRvIGhhbmRsZSB0aGVtLgoKMjAxMC0wNS0wNyAxMjo0MjoyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBNZXJnZSB4bXAgYW5kIHRhZ3NldHRlciB0YWdzLgoJICBXaGVuIHRoZSBjdXJyZW50IGZpbGUgYWxyZWFkeSBoYXMgdGFncywgdGhleSBzaG91bGRuJ3QgYmUgaWdub3JlZCwKCSAgcGFyc2UgdGhlbSBhbmQgbWVyZ2Ugd2l0aCB0aGUgdGFnc2V0dGVyIG9uZXMuCgoyMDEwLTA1LTA3IDExOjA3OjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqaWZtdXg6IFJlamVjdCBidWZmZXJzIHdpdGhvdXQgY2FwcwoJICBqaWZtdXggZXhwZWN0cyB3aG9sZSBqcGVnIHBpY3R1cmVzIGluIGJ1ZmZlcnMsIHNvIGl0IHNob3VsZAoJICByZWplY3QgYnVmZmVycyB3aXRob3V0IGNhcHMuCgoyMDEwLTA1LTA3IDEwOjU5OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqaWZtdXg6IEJlIHNhZmUgYW5kIGNoZWNrIGJ5dGV3cml0ZXIgcmV0dXJucwoJICBDaGVjayBHc3RCeXRlV3JpdGVyIHJldHVybnMgdG8ga25vdyB3aGVuIHJlY29tYmluaW5nIHRoZSBpbWFnZQoJICBmYWlsZWQgYW5kIGxvZyBhIHdhcm5pbmcuCgoyMDEwLTA1LTA3IDEwOjEzOjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqaWZtdXg6IEF2b2lkIGFkZGluZyAyIHhtcCBwYWNrZXRzCgkgIGppZm11eCB3YXMgb25seSBhcHBlbmRpbmcgYSBuZXcgeG1wIHBhY2tldCB0byB0aGUgc3RyZWFtLAoJICBpdCBzaG91bGQgcmVwbGFjZSBpZiB0aGVyZSBpcyBhbHJlYWR5IG9uZS4KCjIwMTAtMDUtMDcgMTA6NTg6NDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogYWRkIGZyZWV6ZSB0byBwbHVnaW4gZG9jcwoKMjAxMC0wNS0wNyAwODoxMjo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleGFtcGxlcy9tcHRzX3Rlc3QyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0c211eC9tcHRzX3Rlc3QyLmM6CgkgIG1wZWd0c211eDogTW92ZSBtdWx0aS1wcm9ncmFtIG11eGluZyBleGFtcGxlIGF0IGxlYXN0IHRvIHRoZSBjb3JyZWN0IGRpcmVjdG9yeQoJICBCdXQgaXQgZG9lc24ndCB3b3JrIG91dCBvZiB0aGUgYm94IGJlY2F1c2Ugb2YgaGFyZGNvZGVkIHBhdGhzLgoKMjAxMC0wNS0wNiAxMzo1MToyMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1pYzogUHVzaCBvdXQgbmV3c2VnbWVudCBmcm9tIGN1cnJlbnQgdGltZXN0YW1wIGlmIHRoZSBpbmNvbWluZyB0cyBpcyB2YWxpZAoJICBQdXNoIG91dCBuZXdzZWdtZW50IGV2ZW50IHdpdGggdGhlIHRpbWVzdGFtcCBmcm9tIHRoZSBpbmNvbWluZyBidWZmZXIgaWYKCSAgdGhlIGluY29taW5nIGJ1ZmZlcnMgaGF2ZSBhIHZhbGlkIHRpbWVzdGFtcCBidXQgbm8gdmFsaWQgbmV3c2VnbWVudCBldmVudAoJICBoYXMgYmVlbiB0aHJvdWdoLgoKMjAxMC0wNS0wNiAyMjozODoyMiArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBBcHBseSBjYXBzIHRvIGdlbmVyYXRlZCBidWZmZXJzCgkgIEF2b2lkIHRoZSBuZXcgd2FybmluZyBmcm9tIHRoZSBjb3JlIGFib3V0IG5vdCBiZWluZyBhYmxlIHRvIGFwcGx5IGNhcHMKCSAgdG8gTkFWIHBhY2tldCBidWZmZXJzLCB3aGVyZSByZXNpbmR2ZHNyYyBob2xkcyBhIHJlZi4KCjIwMTAtMDUtMDYgMTM6MTI6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmg6CgkgIGNhcHNzZXR0ZXI6IFNvbWUgbWlub3IgY2xlYW51cAoKMjAxMC0wNS0wNiAwOTo1MToxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBtbXNzcmM6IFVzZSB0aGUgZXNjYXBlZCBsb2NhdGlvbiBmb3IgdGhlIFJUU1AgcmVkaXJlY3QgbWVzc2FnZQoJICBnc3RfdXJpX2dldF9sb2NhdGlvbigpIHVuZXNjYXBlcyB0aGUgbG9jYXRpb24sIHdoaWNoIGNvdWxkIHJlc3VsdCBpbgoJICBhbiBpbnZhbGlkIFJUU1AgVVJJLgoKMjAxMC0wNS0wNiAwOTo0ODowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBtbXNzcmM6IENoZWNrIFVSSSBmb3IgdmFsaWRpdHkgYW5kIHdvcmsgYXJvdW5kIFVSSSBwYXJzaW5nIGJ1Z3MgaW4gbGlibW1zCgkgIEZpeGVzIGJ1ZyAjNjE3NjUwLgoKMjAxMC0wNS0wNiAwODowODowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBtbXNzcmM6IFNvbWUgcmFuZG9tIGNsZWFudXAKCjIwMTAtMDUtMDUgMTI6MjM6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBTZXQgZml4ZWQgY2FwcyBvbiB0aGUgY29ycmVjdCBwYWQKCSAgVGhpcyBtYWtlcyB0aGUgc2luayBnZXRjYXBzIGZ1bmN0aW9uIGFjdHVhbGx5IHVzZWQgaW5zdGVhZCBvZiB1c2luZwoJICB0aGUgZml4ZWQgY2FwcyBmdW5jdGlvbiBmb3IgaXQuCgoyMDEwLTA1LTAxIDEyOjMxOjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi8uZ2l0aWdub3JlOgoJICBBZGQgbmV3IGNhbWVyYWJpbiB0ZXN0IGJpbmFyeSB0byAuZ2l0aWdub3JlCgoyMDEwLTA1LTAxIDE1OjAwOjI3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC5oOgoJICB2ZHBhdTogZml4IHNtYWxsIHR5cG8KCjIwMTAtMDUtMDEgMTQ6NTg6MzAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAuaDoKCSAgdmRwYXU6IGFkZCBsZWZ0b3ZlciBnc3R2ZHAuaAoKMjAxMC0wNS0wMSAxNDo0NTowNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogZml4IGNyYXNoZXIgb24gc2V0dGluZyBwcm9wZXJ0aWVzIGJlZm9yZSB3ZSdyZSBpbiBSRUFEWQoKMjAxMC0wNC0yOSAyMjo0Mzo1OSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSAgdmRwYXU6IHJlbW92ZSBkZWJ1ZyBjb2RlCgoyMDEwLTA0LTI5IDIyOjI0OjM1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSAgdmRwYXU6IHNtYWxsIGFwaSBjbGVhbnVwCgkgIG1lcmdlIGdzdF92ZHBfdmlkZW9fYnVmZmVyX2dldF9hbGxvd2VkX1t2aWRlb3x5dXZdX2NhcHMgaW50bwoJICBnc3RfdmRwX3ZpZGVvX2J1ZmZlcl9nZXRfYWxsb3dlZF9jYXBzCgoyMDEwLTA0LTIyIDEyOjU3OjMwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0c3JjcGFkLmg6CgkgIHZkcGF1OiBzbWFsbCBmaXhlcwoKMjAxMC0wNC0yMiAxMjo1Mjo0MiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdS5jOgoJICB2ZHBhdTogYWRkIGJhY2sgZ3N0dmRwYXUuYwoKMjAxMC0wMy0xNyAyMTowMjowNyArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkgIHZkcGF1OiBhZGQgZ3N0X3ZkcF9pbml0IGZ1bmN0aW9uIHdoZXJlIHdlIHJlZ2lzdGVyIHR5cGVzCgoyMDEwLTAzLTE3IDIwOjU5OjA4ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0YnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRidWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dHNyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0c3JjcGFkLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkgIHZkcGF1OiBhZGQgYmV0dGVyIGVycm9yIGhhbmRsaW5nIHRvIEdzdFZkcE91dHB1dFNyY1BhZAoJICBnc3RfdmRwX291dHB1dF9zcmNfcGFkX3B1c2gsIGdzdF92ZHBfb3V0cHV0X3NyY19wYWRfYWxsb2NfYnVmZmVyIGFuZAoJICBnc3RfdmRwX291dHB1dF9zcmNfcGFkX2dldF9kZXZpY2Ugbm93IHRha2UgYSBHRXJyb3IgcGFyYW1ldGVyIHRvIGJlIGFibGUgdG8KCSAgc2lnbmFsIGVycm9ycyB0byB0aGUgY2FsbGVyCgoyMDA5LTExLTI4IDIzOjU4OjU3ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJICB2ZHBhdTogbWFrZSBHc3RWZHBWaWRlb1NyY1BhZChDbGFzcyk/IHByaXZhdGUKCjIwMDktMTEtMjggMjM6NTU6MDkgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdW1wZWdkZWM6IGZvbGxvdyBHc3RWZHBWaWRlb1NyY1BhZCBjaGFuZ2VzCgoyMDA5LTExLTI4IDIzOjUyOjE1ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJICB2ZHBhdTogcmVtb3ZlIHRlbXBsYXRlLWNhcHMgcHJvcGVyeSBmb3JtIEdzdFZkcFZpZGVvU3JjUGFkCgkgIEdzdFZkcFZpZGVvU3JjUGFkIG5vdyB1c2UgdGhlIHRlbXBsYXRlIHByb3BlcnR5IG9mIEdzdFBhZCBpbnN0ZWFkLiBBbHNvIGNoYW5nZWQKCSAgdGhlIF9uZXcgZnVuY3Rpb24gdG8gYmUgbGlrZSBnc3RfcGFkX25ld19mcm9tX3RlbXBsYXRlLgoKMjAxMC0wNS0wMSAwMToxNjo1MCArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSAgRml4IHdhcm5pbmdzIGluIGRpcmVjdGRyYXdzaW5rIGFuZCBkaXJlY3Rzb3VuZHNyYwoJICBGaXhlcyAjNjE3MzMxCgoyMDEwLTA0LTMwIDE5OjAzOjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnRzIHRvIHJlbGVhc2VkIHZlcnNpb25zCgoyMDEwLTA0LTI5IDE2OjMzOjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGltcHJvdmUgYnVmZmVyIHNjYW5uaW5nCgkgIFNwZWNpZmljYWxseSwgd2hlbiBzY2FubmluZyBmb3IgZW50cm9weSBkYXRhIHNlZ21lbnQgbGVuZ3RoIGFuZCBuZWVkaW5nCgkgIG1vcmUgZGF0YSwgZG8gbm90IHJlc2NhbiBmcm9tIHN0YXJ0IG5leHQgdGltZSBhcm91bmQsIGJ1dCByZXN1bWUgYXQKCSAgbGFzdCBwb3NpdGlvbi4KCSAgU2VlIGFsc28gIzU4MzA0Ny4KCjIwMTAtMDQtMjcgMTA6NDg6MzIgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5AdHJpc3Rhbi1sYXB0b3AuKG5vbmUpPgoKCSogZXh0L2phY2svTWFrZWZpbGUuYW06CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrdXRpbC5jOgoJKiBleHQvamFjay9nc3RqYWNrdXRpbC5oOgoJICBqYWNrOiBpbXBsZW1lbnQgbXVsdGljaGFubmVsIHN1cHBvcnQgY29ycmVjdGx5IGZvciBqYWNrYXVkaW9zcmMKCSAgRml4ZXMgcGFydHMgb2YgYnVnICM2MTY1NDEuCgoyMDEwLTA0LTI5IDEzOjE4OjU4ICswMTAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQG9yYWNsZS5jb20+CgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSogc3lzL29zczQvb3NzNC1zaW5rLmg6CgkgIG9zczRzaW5rOiBpbXBsZW1lbnQgR3N0U3RyZWFtVm9sdW1lIGludGVyZmFjZSBhbmQgYWRkIG11dGUgYW5kIHZvbHVtZSBwcm9wZXJ0aWVzCgkgIE9TUzQgc3VwcG9ydHMgcGVyLXN0cmVhbSB2b2x1bWUgY29udHJvbCwgc28gZXhwb3NlIHRoaXMgdXNpbmcgdGhlIHJpZ2h0CgkgIEFQSSwgc28gdGhhdCBwbGF5YmluMiBhbmQgYXBwbGljYXRpb25zIGxpa2UgdG90ZW0gY2FuIG1ha2UgdXNlIG9mIGl0CgkgIChpbnN0ZWFkIG9mIHVzaW5nIGEgdm9sdW1lIGVsZW1lbnQgZm9yIHZvbHVtZSBjb250cm9sKS4KCSAgRml4ZXMgIzYxNDMwNS4KCjIwMTAtMDQtMjkgMDQ6NDI6MjEgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29wdGlvbnMuY2M6CgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkqIHN5cy9hY21tcDNkZWMvYWNtbXAzZGVjLmM6CgkqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuYzoKCSAgRml4IHByaW50ZiBmb3JtYXQgc3RyaW5ncyBmb3IgZ2NjIDQuNQoJICBEb25lIG9uIFdpbmRvd3MvTWluR1cuCgkgIEZpeGVzICM2MTcxNDYKCjIwMTAtMDQtMjcgMTE6MjE6MTYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2tyaW5nYnVmZmVyLmg6CgkgIGphY2s6IHJlbW92ZSBlbXB0eSBkaXNwb3NlIGFuZCBmaW5hbGl6ZSBtZXRob2RzCgoyMDEwLTA0LTI3IDEwOjU5OjAwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBkb24ndCBsZWFrIGNhcHMKCSAgQWRkIGRpc3Bvc2UgbWV0aG9kcyB0byBjbGVhciBjYXBzLgoKMjAxMC0wNC0yNyAxMDozNDoyNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogZG9uJ3QgdXNlIEdTVF9ERUJVR19GVU5DUFRSIGZvciBnb2JqZWN0IHZtZXRob2RzCgoyMDEwLTA0LTI2IDE1OjA2OjA5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsYWRzcGEsbHYyOiBkb24ndCBmYWlsIGluIHBsdWdpbl9pbml0IHdoZW4gaGF2aW5nIDAgZWxlbWVudHMKCSAgSWYgd2UgZmFpbCwgdGhlIHBsdWdpbiBzY2FubmVyIHdpbGwgYmxhY2tsaXN0IHVzLgoKMjAxMC0wNC0yMyAxNDo0MToxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZjODU4NjcgdG8gNGQ2N2JkNgoKMjAxMC0wNC0yMCAxNjo1ODozMyArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGFkZCBtZWFuaW5nZnVsIG5hbWVzIGZvciBxdWV1ZSBlbGVtZW50cyBpbnNpZGUgY2FtZXJhYmluCgoyMDEwLTA0LTIwIDE1OjM3OjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogYWxzbyBzZXQgc2hvcnQgY29uZmlndXJhdGlvbiBkYXRhIGluIGNvZGVjX2RhdGEKCSAgVGhhdCBpcywgaGVhZGVyIGNvbmZpZ3VyYXRpb24gbWF5IHN0YXJ0IGF0IFZpZGVvIE9iamVjdCAoc3RhcnRjb2RlKSwKCSAgcmF0aGVyIHRoYW4gYXQgVmlzdWFsIE9iamVjdCBTZXF1ZW5jZSwgd2hpY2ggaXMgY2F0ZXJlZCBmb3IgYW5kIHBhcnNlZCwKCSAgc28gbGV0J3MgYWxzbyB0YWtlIGl0IGFzIGNvZGVjX2RhdGEgaWYgbm8gbW9yZSBhdmFpbGFibGUuCgkgIEZpeGVzIChyZW1haW5kZXIgb2YpICM1NzI1NTEuCgoyMDEwLTA0LTE5IDE5OjA0OjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogQXZvaWQgY3Jhc2hpbmcgd2hlbiBzZXR0aW5nIHpvb20gaW4gTlVMTAoJICBBdm9pZCBzZXR0aW5nIHpvb20gaW4gTlVMTCBzdGF0ZSBiZWNhdXNlIHRoZSBzb3VyY2UgaXMgbm90CgkgIHNldCB5ZXQgYW5kIHRoaXMgbGVhZHMgdG8gYSBjcmFzaC4gSXQgaXMgc2V0IG9uIFJFQURZID4gUEFVU0VECgkgIGFueXdheS4KCjIwMTAtMDQtMTggMTQ6NTE6MzUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5oOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IEV4cG9ydCBwcm9maWxlIGFuZCBsZXZlbCBpbiBjYXBzCgkgIFRoaXMgZXhwb3J0cyBwcm9maWxlIGFuZCBsZXZlbCBpbiBjYXBzIGZvciBNUEVHIDIgc3RyZWFtcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxNjA3OAoKMjAxMC0wNC0xNiAxOTo0NToxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlZnMuaDoKCSAgcmVzaW5kdmRiaW46IFVzZSBHU1RfRkxPV19DVVNUT01fU1VDQ0VTUyBpbnN0ZWFkIG9mIHNvbWUgaW50ZWdlcgoJICBGaXhlcyBjb21waWxlciB3YXJuaW5ncyB3aXRoIGdjYyA0LjUuCgkgIFRoaXMgaXMgdGhlIHNhbWUgYXMgY29tbWl0IDVhNTFkYmQuCgoyMDEwLTA0LTE2IDE5OjQzOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSAgbXBlZ2RlbXV4OiBVc2UgR1NUX0ZMT1dfQ1VTVE9NX1NVQ0NFU1MgaW5zdGVhZCBvZiBzb21lIGludGVnZXIKCSAgRml4ZXMgY29tcGlsZXIgd2FybmluZyB3aXRoIGdjYyA0LjUuCgoyMDEwLTA0LTE2IDE5OjQyOjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIFJldmVydCAibXBlZ3BzZGVtdXg6IFdvcmthcm91bmQgbmV3IGdjYyA0LjUgY29tcGlsZXIgd2FybmluZyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBhMzMxMjI4ZWNjZmI4YzY2NDkzZmEzYzhjNDkzMzhjNzljZjQ2NDJjLgoKMjAxMC0wNC0xNiAxOTo0MTo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIFJldmVydCAicmVzaW5kdmRiaW46IEFwcGx5IGdjYyA0LjUgY29tcGlsZXIgd2FybmluZyB3b3JrYXJvdW5kIHRvIHRoZSBtcGVncHNkZW11eCBjb3B5IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDY1YjBmNzVkMWIzMTE5MzE2YjJkY2FmNWJmZjRkZmQyYmQ4MjRjYzEuCgoyMDEwLTA0LTE1IDIxOjQ0OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgbWV0YWRhdGE6IEFub3RoZXIgd29ya2Fyb3VuZCBmb3IgZW51bSB2YWx1ZXMgdGhhdCBhcmUgbm90IGFjdHVhbGx5IG1lbWJlciBvZiB0aGUgZW51bQoKMjAxMC0wNC0xNSAyMTo0MDoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkYmluOiBBcHBseSBnY2MgNC41IGNvbXBpbGVyIHdhcm5pbmcgd29ya2Fyb3VuZCB0byB0aGUgbXBlZ3BzZGVtdXggY29weQoJICBTYW1lIGFzIGEzMzEyMjhlY2NmYjhjNjY0OTNmYTNjOGM0OTMzOGM3OWNmNDY0MmMuCgoyMDEwLTA0LTE1IDIxOjM4OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1OiBJbml0aWFsaXplIHBvc3NpYmx5IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUKCjIwMTAtMDQtMTUgMjE6MzU6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBBY3R1YWxseSBjb21wYXJlIHRoZSBzdGF0ZSBhbmQgbm90IHRoZSBzdGF0ZSBjaGFuZ2UgcmV0dXJuIGZyb20gX2dldF9zdGF0ZSgpCgoyMDEwLTA0LTE1IDIxOjI2OjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiBXb3JrYXJvdW5kIG5ldyBnY2MgNC41IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ2NjIDQuNSB3YXJucyB3aGVuIGNvbXBhcmluZyBzb21lIGludGVnZXIgd2l0aCBhbiBlbnVtIHZhbHVlLCBpbgoJICB0aGUgY2FzZSBvZiBHc3RGbG93UmV0dXJuIHRoaXMgaXMgdmFsaWQgdGhvdWdoLiBXZSBzaG91bGQgbGF0ZXIKCSAgYWRkIEdTVF9GTE9XX0NVU1RPTV9PSzEsIEdTVF9GTE9XX0NVU1RPTV9PSzIsIGV0Yy4gYWZ0ZXIgbmV3IGNvcmUKCSAgaXMgcmVsZWFzZWQuCgoyMDEwLTA0LTE1IDIwOjUwOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkgIGNkeGFwYXJzZTogQ29tcGFyZSB0aGUgY29ycmVjdCB2YXJpYWJsZSB0byBHU1RfU0VFS19UWVBFX1NFVAoKMjAxMC0wNC0xNSAwNzoyNDoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRHJvcCAtV2Nhc3QtYWxpZ24KCSAgQ29tbWl0IG1lc3NhZ2UgY29waWVkIGZyb20gY29yZSdzIGNvbW1pdCBmcm9tIEJlbmphbWluIE90dGU6CgkgIDI0NmY1ZGJhOTZhNWI1MGJiNzQ2MjFhZjY3YjMwOTQyY2NhNzJhZjUKCSAgQXBwYXJlbnRseSBnY2Mgd2FybnMgdGhhdCBHc3RNaW5pT2JqZWN0IGlzIG5vdCBjYXN0YWJsZSB0bwoJICBHc3RFdmVudC9NZXNzYWdlL0J1ZmZlciBkdWUgdG8gdGhlbSBjb250YWluaW5nIDY0Yml0IHZhcmlhYmxlcywgZXZlbgoJICB0aG91Z2ggQVJNIGhhY2tlcnMgY2xhaW0gdGhhdCB0aG9zZSBvbmx5IG5lZWQgNGJ5dGUgYWxpZ25tZW50LiBBbmQgYXMKCSAgbG9uZyBhcyBnY2MgYmVoYXZlcyB0aGF0IHdheSwgdGhpcyB3YXJuaW5nIGlzIG5vdCB2ZXJ5IHVzZWZ1bC4KCSAgU28gd2UnbGwgcmVtb3ZlIHRoZSB3YXJuaW5nIHVudGlsIHRoaXMgcHJvYmxlbSBpcyBmaXhlZC4KCSAgRml4ZXMgIzYxNTY5OAoKMjAxMC0wNC0xNSAxMzoyMDo0MiArMDMwMCAgQWRhbSBFbmRyb2RpIDxhZGFtLmVuZHJvZGlAYmx1bXNvZnQuZXU+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHJlc2V0IHNvZnR3YXJlIHpvb21pbmcgaWYgbm90IHNldCBieSB0aGUgcGhvdG8gaW50ZXJmYWNlCgkgIE90aGVyd2lzZSBib3RoIHNvZnR3YXJlICh2aWRlb3NjYWwrdmlkZW9jcm9wKSBhbmQgaGFyZHdhcmUgem9vbWluZyB3b3VsZCBiZSB1c2VkLgoKMjAxMC0wNC0xNCAxNjo0Mjo1NyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSAgaW52dGVsZWNpbmU6IEZpeCB1cCBlbGVtZW50IGRldGFpbHMKCjIwMTAtMDQtMTQgMTY6MzI6MzQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogdG9vbHMvTWFrZWZpbGUuYW06CgkqIHRvb2xzL2Jhc2UuYzoKCSogdG9vbHMvZWxlbWVudC1tYWtlcjoKCSogdG9vbHMvZ29iamVjdC5jOgoJKiB0b29scy9nc3RhdWRpb2ZpbHRlci5jOgoJKiB0b29scy9nc3RhdWRpb3NpbmsuYzoKCSogdG9vbHMvZ3N0YXVkaW9zcmMuYzoKCSogdG9vbHMvZ3N0YmFzZWF1ZGlvc2luay5jOgoJKiB0b29scy9nc3RiYXNlYXVkaW9zcmMuYzoKCSogdG9vbHMvZ3N0YmFzZXJ0cGRlcGF5bG9hZC5jOgoJKiB0b29scy9nc3RiYXNlcnRwcGF5bG9hZC5jOgoJKiB0b29scy9nc3RiYXNlc2luay5jOgoJKiB0b29scy9nc3RiYXNlc3JjLmM6CgkqIHRvb2xzL2dzdGJhc2V0cmFuc2Zvcm0uYzoKCSogdG9vbHMvZ3N0Y2RkYWJhc2VzcmMuYzoKCSogdG9vbHMvZ3N0ZWxlbWVudC5jOgoJKiB0b29scy9nc3RwdXNoc3JjLmM6CgkqIHRvb2xzL2dzdHRhZ2RlbXV4LmM6CgkqIHRvb2xzL2dzdHZpZGVvc2luay5jOgoJICB0b29sczogQWRkIGVsZW1lbnQtbWFrZXIKCSAgQWRkIGEgc2NyaXB0IHRoYXQgY3JlYXRlcyBlbGVtZW50cyBiYXNlZCBvbiBhbnkgb2YgdGhlIEdTdHJlYW1lcgoJICBiYXNlIGNsYXNzZXMuICBJdCBpc24ndCB2ZXJ5IHVzZXIgZnJpZW5kbHkgYXQgdGhlIG1vbWVudCwgb25lCgkgIG5lZWRzIHRvIGVkaXQgdGhlIHNjcmlwdCB0byBtYWtlIGl0IHdvcmsgcHJvcGVybHkuICBFYWNoIGJhc2UgY2xhc3MKCSAgaGFzIGEgdGVtcGxhdGUgZmlsZSBkZXNjcmliaW5nIHdoYXQgdG8gcHV0IGludG8gdGhlIGNvbnN0cnVjdGVkCgkgIGVsZW1lbnQuICBFdmVudHVhbGx5LCB0aGVzZSB0ZW1wbGF0ZXMgc2hvdWxkIGJlIG1vdmVkIHRvIHJlc2lkZQoJICB3aXRoIHRoZSBiYXNlIGNsYXNzIHNvdXJjZSBhbmQgaW5zdGFsbGVkIHRvIGEgd2VsbC1rbm93biBkaXJlY3RvcnksCgkgIHdoZXJlIGFuIGluc3RhbGxlZCBzY3JpcHQgY291bGQgZmluZCB0aGVtLgoJICBUaGUgdGVtcGxhdGUgZmlsZXMgdXNlIHRoZSAuYyBlbmRpbmcgc28gZWRpdG9ycyBrbm93IHRoZXkgYXJlIEMKCSAgc291cmNlLCBidXQgZ3N0LWluZGVudCBkb2Vzbid0IGhhbmRsZSB0aGVtIGNvcnJlY3RseS4gIFNvIHRoZXkKCSAgbmVlZCB0byBiZSBjb21taXR0ZWQgd2l0aCAtbi4gIFVnaC4gIEknbGwgdHJ5IHRvIGZpZ3VyZSBvdXQgYSBmaXgKCSAgZm9yIHRoYXQgc29vbi4KCjIwMTAtMDQtMTMgMjA6MzI6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5LmM6CgkgIGNhbWVyYWJpbjogQWRkIHZpZGVvLWNhcHR1cmUtd2lkdGgvaGVpZ2h0L2ZyYW1lcmF0ZSBwcm9wZXJ0aWVzCgkgIEFkZHMgdmlkZW8tY2FwdHVyZS13aWR0aCwgdmlkZW8tY2FwdHVyZS1oZWlnaHQgYW5kCgkgIHZpZGVvLWNhcHR1cmUtZnJhbWVyYXRlIHByb3BlcnRpZXMgdG8gYWxsb3cgYXBwbGljYXRpb25zIHRvCgkgIGdldC9zZXQgdGhvc2UgdmFsdWVzLiBHZXR0aW5nIHdhcyBub3QgcG9zc2libGUgYmVmb3JlIHRoaXMgcGF0Y2gsCgkgIGFuZCBzZXR0aW5nIHdhcyBkb25lIHRocm91Z2ggdGhlIHNldC12aWRlby1yZXNvbHV0aW9uLWZwcwoJICBhY3Rpb24sIHdoaWNoIHNldHMgdGhlIHByb3BlcnRpZXMgYW5kIHByb21wdGx5IHJlc2V0cyB0aGUKCSAgdmlkZW8gc291cmNlIHRvIHVzZSB0aGVtLgoJICBGaXhlcyAjNjE0OTU4CgoyMDEwLTA0LTEzIDE4OjMzOjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiBBZGRzIGltYWdlLWNhcHR1cmUtd2lkdGgvaGVpZ2h0IHByb3BlcnRpZXMKCSAgQWRkcyBpbWFnZS1jYXB0dXJlLXdpZHRoIGFuZCBpbWFnZS1jYXB0dXJlLWhlaWdodCBwcm9wZXJ0aWVzCgkgIHRvIGNhbWVyYWJpbiwgYWxsb3dpbmcgdGhlIHVzZXIgdG8gZ2V0L3NldCB0aGVtLiBHZXR0aW5nIHdhcwoJICBub3QgcG9zc2libGUgYmVmb3JlIGFuZCBzZXR0aW5nIHdhcyBkb25lIHRocm91Z2ggdGhlCgkgIHNldC1pbWFnZS1yZXNvbHV0aW9uIGFjdGlvbiwgd2hpY2ggc2hvdWxkbid0IG5vdyBqdXN0IHNldAoJICB0aGUgcHJvcGVydGllcy4KCSAgRml4ZXMgIzYxNDk1OAoKMjAxMC0wNC0xMyAxNTo1OTowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHBob3RvZ3JhcGh5OiBTcHJpbmcgR19QQVJBTV9TVEFUSUNfU1RSSU5HUwoJICBTcHJpbmtsZSBzb21lIEdfUEFSQU1fU1RBVElDX1NUUklOR1Mgb3ZlciB0aGUgcHJvcGVydGllcwoJICBpbiBHc3RQaG90b2dyYXBoeSBpbnRlcmZhY2UgYW5kIGluIGNhbWVyYWJpbgoKMjAxMC0wMy0wMiAxNDowNDo0NCArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBhZGQgYmxvY2stYWZ0ZXItY2FwdHVyZSBwcm9wZXJ0eSBmb3Igdmlld2ZpbmRlciBibG9ja2luZwoJICBBZGRzIGJsb2NrLWFmdGVyLWNhcHR1cmUgcHJvcGVydHkgdG8gYmxvY2sgcnVubmluZyB2aWV3ZmluZGVyIGFmdGVyIGNhcHR1cmluZy4KCSAgVGhpcyBwcm9wZXJ0eSBpcyB1c2VmdWwgaWYgYXBwbGljYXRpb24gd2FudHMgdG8gZGlzcGxheSBjYXB0dXJlIHByZXZpZXcgYW5kIGF2b2lkCgkgIHJ1bm5pbmcgdmlld2ZpbmRlciBvbiBiYWNrZ3JvdW5kLgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5IFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCjIwMTAtMDItMDkgMTQ6NTI6NDkgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjogYWRkIHZpZXdmaW5kZXItZmlsdGVyIGFuZCBmaWx0ZXIgY2FwcyBwcm9wZXJ0aWVzCgkgIEFkZHMgc3VwcG9ydCBmb3Igc2V0dGluZyBmaWx0ZXItY2FwcyBhbmQgdmlld2ZpbmRlci1maWx0ZXIKCSAgcHJvcGVydGllcyBpbiB0aGUgZ3N0LWNhbWVyYWJpbi10ZXN0IGFwcGxpY2F0aW9uCgoyMDEwLTAxLTI2IDE1OjE4OjI0ICswMjAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIEdzdFBob3RvZ3JhcGh5OiBBZGQgZmxpY2tlciBhbmQgZm9jdXMgbW9kZSBzZXR0aW5ncyB0byBwaG90b2dyYXBoeSBBUEkKCSAgQWRkcyBmbGlja2VyIGFuZCBmb2N1cyBtb2RlIHNldHRpbmdzIHRvIHBob3RvZ3JhcGh5IEFQSSBhbmQgYWxzbwoJICBpbXBsZW1lbnQgaXQgaW4gY2FtZXJhYmluLgoKMjAwOS0xMS0yNiAxMjoxMjowNiArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBjYW1lcmFiaW46IGFkZCBnc3QtY2FtZXJhYmluLXRlc3QgY29tbWFuZCBsaW5lIHRlc3QgdG9vbAoJICBnc3QtY2FtZXJhYmluLXRlc3QgdG9vbCBjYW4gYmUgdXNlZCB0byBjYXB0dXJlIHN0aWxsIGltYWdlcyBhbmQKCSAgdmlkZW8gY2xpcHMgdXNpbmcgY2FtZXJhYmluIGVsZW1lbnQuCgoyMDA5LTExLTE2IDE1OjAyOjAzICswMjAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJICBjYW1lcmFiaW46IGRvIG5vdCBzZXQgaW1hZ2ViaW4gc2lua3BhZCB0d2ljZQoJICBJZiB3ZSBhbHJlYWR5IGhhdmUgYSBzaW5rcGFkLCBkbyBub3QgZ2V0IGEgbmV3IG9uZQoKMjAwOS0xMS0xNiAxNToxMzozMSArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHVwZGF0ZSB1bml0IHRlc3RzCgkgIEFkZCB0ZXN0aW5nIG9mIHNldHRpbmcgYW5kIGdldHRpbmcgb2YgY2FtZXJhYmluIHByb3BlcnR5IGVsZW1lbnRzIGFuZAoJICBhZGQgcG9zdC1wcm9jZXNzaW5nIGVsZW1lbnRzIHRvIHBpcGVsaW5lLgoKMjAwOS0xMS0xMyAxNjo0Mjo0NCArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGFkZCB1bml0IHRlc3RzIGZvciBzZXR0aW5nIGRpZmZlcmVudCBmbGFncyB3aGVuIGNhcHR1cmluZwoJICBBZGRzIHNvbWUgdGVzdHMgdGhhdCB1c2UgZmxhZ3MgZm9yIGNhcHR1cmluZyB0byBhc3VyZSBpdCB3b3JrcwoJICB3aXRoIGZsYWdzIHNldCBvciBub3QuCgoyMDA5LTEwLTI4IDE3OjM3OjU2ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogYWRkIHBhdXNlZCB2aWRlbyBjYXB0dXJlIGZpbGUgdmFsaWRpdHkgY2hlY2sgaW4gdW5pdCB0ZXN0CgkgIEFsc28gY2hlY2sgdGhhdCB0aGUgZmlsZSBjYXB0dXJlZCBpbiB0aGUgcGF1c2VkIGNhcHR1cmUgdW5pdCB0ZXN0IGlzCgkgIHBsYXlhYmxlLgoKMjAwOS0xMC0xOSAxNDozMTo1NCArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBhZGQgdmlld2ZpbmRlci1maWx0ZXIgcHJvcGVydHkKCSAgQWRkcyBhIG5ldyBwcm9wZXJ0eSBjYWxsZWQgdmlld2ZpbmRlci1maWx0ZXIgdG8gY2FtZXJhYmluLgoJICBUaGlzIHByb3BlcnR5IGlzIHVzZWQgdG8gYWRkIGEgZmlsdGVyIHRvIHByb2Nlc3MgdGhlIHZpZGVvCgkgIGZsb3cgcmlnaHQgYmVmb3JlIHRoZSB2aWV3ZmluZGVyIHNpbmsuCgkgIEFsc28gdXBkYXRlcyB0ZXN0IHRvIGNoZWNrIHByb3BlcnR5IGV4aXN0cy4KCjIwMDktMTAtMjEgMTg6MDI6MjcgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHNldCB2aWRlb3Rlc3RzcmMgcGF0dGVybiB0byB3aGl0ZSBpbiB1bml0IHRlc3QKCSAgTG93ZXIgY29tcGxleGl0eSBvZiBlbmNvZGluZyBhbmQgdmlkZW90ZXN0c3JjIHJlZHJhd2luZyBpbiBvcmRlcgoJICB0byBwcmV2ZW50IHVuaXQgdGVzdCB0aW1lb3V0cy4KCjIwMDktMTAtMTQgMTQ6MDE6MzQgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogcHJveHkgdmlkZW8gc291cmNlIHBob3RvZ3JhcGh5IGludGVyZmFjZSBwcm9wZXJ0eSBub3RpZnkgc2lnbmFscwoJICBJZiBwaG90b2dyYXBoeSBpbnRlcmZhY2UgcHJvcGVydGllcyBjaGFuZ2UgaW4gdmlkZW8gc291cmNlLCBub3RpZnkgdGhlCgkgIGFwcGxpY2F0aW9uIGJ5IGVtaXR0aW5nIG5vdGlmeSBmb3IgcmVzcGVjdGl2ZSBjYW1lcmFiaW4gcHJvcGVydGllcy4KCjIwMDktMTAtMTQgMTQ6NDI6MDEgKzAzMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBOZXcgdW5pdCB0ZXN0cwoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgY2FtZXJhYmluIHByb3BlcnRpZXMgc2V0dGluZyBhbmQgZ2V0dGluZywKCSAgYWRkcyBvbmUgZm9yIHZpZGVvIGNhcHR1cmluZyB3aXRoIHBhdXNlLgoJICBBbHNvIGRvZXMgc29tZSBjOTkgdmFyaWFibGUgZGVjbGFyYXRpb24gZml4ZXMuCgoyMDA5LTEwLTE0IDE0OjAxOjA1ICswMzAwICBTaGVuZ2h1YSBMaXUgPEVYVC1MaXUuc2hlbmdodWFAbm9raWEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogdXBkYXRlIHVuaXQgdGVzdCB0byBoYXZlIHRlc3Qgb24gcmVjb3JkaW5nIHNuYXBzaG90IHByZXZpZXcKCSAgQWRkcyBhIHNtYWxsIGNoZWNrIHRvIHZlcmlmeSB0aGF0IHRoZSBwcmV2aWV3IGltYWdlIG1lc3NhZ2UgaXMKCSAgYmVpbmcgc2VudCBvbiB2aWRlbyByZWNvcmRpbmcuCgoyMDA5LTA5LTIxIDE3OjQ3OjIwICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuYzoKCSAgY2FtZXJhYmluOiBhZGQgYXBpIHRvIHF1ZXJ5IHN1cHBvcnRlZCBpbWFnZSBjYXB0dXJlIHJlc29sdXRpb24KCSAgQWRkcyBuZXcgcHJvcGVydHkgJ2ltYWdlLWNhcHR1cmUtc3VwcG9ydGVkLWNhcHMnIHRvIEdzdFBob3RvZ3JhcGh5CgkgIHRvIHF1ZXJ5IHRoZSBzdXBwb3J0ZWQgaW1hZ2UgY2FwdHVyZSBjYXBzLgoJICBBbHNvIGltcGxlbWVudCBpdCBpbiBjYW1lcmFiaW4uCgoyMDA5LTA3LTAyIDE4OjAzOjU3ICswMzAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAbm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IHJlbmFtZSBmdW5jdGlvbiBhbmQgdmFyaWFibGUgbmFtZXMsIHVwZGF0ZSBkb2N1bWVudGF0aW9uCgkgIEdldCByaWQgb2YgdXNlcl8qIHByZWZpeCBpbnRlcm5hbGx5LCB1c2UgYXBwXyogaW5zdGVhZC4KCjIwMDktMDktMTYgMTU6MTE6NDkgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiBhZGQgdmlkZW8tc291cmNlLWZpbHRlciBwcm9wZXJ0eQoJICBBZGQgdmlkZW8tc291cmNlLWZpbHRlciBwcm9wZXJ0eSB0aGF0IGNhbiBiZSB1c2VkIHRvIGluamVjdCBhcHBsaWNhdGlvbgoJICBzcGVjaWZpYyBnc3RyZWFtZXIgZWxlbWVudCB0byBjYW1lcmFiaW4gcGlwZWxpbmUuIFRoZSB2aWRlby1zb3VyY2UtZmlsdGVyCgkgIGVsZW1lbnQgd2lsbCBwcm9jZXNzIGFsbCBmcmFtZXMgY29taW5nIGZyb20gdmlkZW8gc291cmNlLgoJICBPbmUgY291bGQgYWRkIGltYWdlIGFuYWx5emVycyB0byBjb2xsZWN0IGluZm9ybWF0aW9uIGFib3V0IHRoZSBzdHJlYW0sCgkgIG9yIGFkZCBpbWFnZSBlbmhhbmNlcnMgdG8gaW1wcm92ZSBjYXB0dXJlIHF1YWxpdHksIGZvciBleGFtcGxlLgoKMjAxMC0wNC0xMiAxODowNzoyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlLmM6CgkgIGNoZWNrOiBEb24ndCByZS1kZWNsYXJlICdHTGlzdCAqYnVmZmVycycgaW4gdGhlIHRlc3RzCgkgIEl0J3MgYW4gZXh0ZXJuYWwgd2hpY2ggbGl2ZXMgaW4gZ3N0Y2hlY2suYy4gUmVkZWNsYXJpbmcgaXQgbWFrZXMgc29tZQoJICBjb21waWxlcnMvYXJjaGl0ZWN0dXJlcyB0aGluayB0aGUgJ2J1ZmZlcnMnIGluIHRoZSBpbmRpdmlkdWFsIHRlc3RzIGFyZQoJICBhIGRpZmZlcmVudCBzeW1ib2wuLi4gYW5kIHRoZXJlZm9yZSB3ZSBlbmQgdXAgY29tcGFyaW5nIGhvbG9kZWNrcyB3aXRoCgkgIG9yYW5nZXMuCgoyMDEwLTAyLTE4IDE4OjE5OjUwICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGRvbid0IHRyeSBhZGFwdGluZyBpbWFnZSBjYXB0dXJlIHJlc29sdXRpb24gaWYgbm8gc291cmNlLXJlc2l6ZSBmbGFnCgkgIElmIHNvdXJjZS1yZXNpemUgZmxhZyBpcyBkaXNhYmxlZCB0aGVuIHNldCByZXNvbHV0aW9uIHRvIGltYWdlIGNhcHR1cmUgY2FwcwoJICBhY2NvcmRpbmcgdG8gY2FwdHVyZSByZXNvbHV0aW9uIHZpZGVvIHNvdXJjZSBlbGVtZW50IHByb2R1Y2VzLiBPdGhlcndpc2Ugd2UKCSAgd3JpdGUgd3JvbmcgcmVzb2x1dGlvbiB0byBpbWFnZSBtZXRhZGF0YS4KCjIwMTAtMDEtMDUgMTU6MTM6MDIgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRml4IGNhcHR1cmluZyBmbGFnIGhhbmRsaW5nIGFmdGVyIGltYWdlIGhhcyBiZWVuIGNhcHR1cmVkCgkgIE1ha2Ugc3VyZSBjYXB0dXJpbmcgZmxhZyBpcyB1bnNldCBhbmQgaW1hZ2UtY2FwdHVyZWQgbWVzc2FnZSBpcyBzZW50CgkgIGJlZm9yZSBzZW5kaW5nIGVvcyBldmVudCB0byBpbWFnZSBiaW4gYW5kIHNhdmluZyB0aGUgaW1hZ2UgdG8gYSBmaWxlLgoKMjAwOS0xMS0wNCAxMzoyNDoxMyArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBmaXggc2V0dGluZyBmaWx0ZXItY2FwcyBwcm9wZXJ0eSBpbiBOVUxMIHN0YXRlCgkgIFNwbGl0IF9zZXRfY2Fwc2ZpbHRlcl9jYXBzKCkgaW50byB0d28gcGFydHMgc28gdGhhdCB3ZSBjYW4gY2FsbCBvbmUgcGFydAoJICByZWdhcmRsZXNzIG9mIHRoZSBlbGVtZW50IHN0YXRlLgoKMjAwOS0wOS0xMSAwOTozODo1MSArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBpbXByb3ZlIGltYWdlIGRvbmUgc2lnbmFsIGVtaXNzaW9uCgkgIFVzZSBnX2lkbGVfYWRkX2Z1bGwoKSB3aXRoIEdfUFJJT1JJVFlfSElHSCB0byBlbWl0IGltYWdlIGRvbmUgc2lnbmFsLAoJICBnX2lkbGVfYWRkKCkgaXMgbW9yZSBsaWtlbHkgdG8gc3RhcnZlIHdpdGggaGlnaGVyIHByaW9yaXR5IGV2ZW50cy4KCjIwMTAtMDQtMTIgMTI6NDI6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogUmVtb3ZlIC1XdW5kZWYgZmxhZwoJICBTYW1lIGZpeCBhcyBmb3IgIzYxNTE2MQoKMjAxMC0wNC0xMiAwOToxNjoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkgIHZkcGF1OiBDb3JyZWN0bHkgbGluayB0byB0aGUgbG9jYWwgbGliZ3N0dmRwLTAuMTAgYnkgdXNpbmcgdGhlIGxpYnRvb2wgYXJjaGl2ZQoKMjAxMC0wNC0wOSAwOToxNDowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGNhbWVyYWJpbjogZW5hYmxlIGNhbWVyYWJpbiB0ZXN0cwoJICBSZS1lbmFibGluZyBjYW1lcmFiaW4gdGVzdHMsIHRoZXkgYXJlIHBhc3NpbmcuCgoyMDEwLTA0LTA5IDExOjIyOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmRmMDIzZCB0byBmYzg1ODY3CgoyMDEwLTA0LTA4IDEyOjAwOjEwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkgIHRlc3RzOiBGaXggY29tcGlsYXRpb24gZXJyb3Igb24gbWFjb3N4CgoyMDEwLTA0LTA4IDEwOjQ1OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSAgb3NzNDogOC1iaXQgUENNIGF1ZGlvIGNhcHMgZG9uJ3QgbmVlZCBhbiBlbmRpYW5uZXNzIGZpZWxkCgoyMDEwLTA0LTA4IDEwOjQwOjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSAgb3NzNDogZG9uJ3QgaXRlcmF0ZSB0aGUgZm9ybWF0cyB0YWJsZSB0d2ljZSBmb3IgZWFjaCBlbnRyeQoJICBXaGVuIGl0ZXJhdGluZyB0aGUgZm9ybWF0cyB0YWJsZSwgd2UgY2FuIGp1c3QgcGFzcyB0aGUgd2hvbGUKCSAgZW50cnkgdG8gb3VyIGhlbHBlciBmdW5jdGlvbiwgd2hpY2ggYXZvaWRzIGl0ZXJhdGluZyB0aGUgdGFibGUKCSAgYWdhaW4gdG8gZmluZCB0aGUgZW50cnkgc3RydWN0dXJlIGZyb20gdGhlIHBhc3NlZCBmb3JtYXQgaWQuCgoyMDEwLTAzLTMwIDExOjQzOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSAgb3NzNDogYWxzbyBhY2NlcHQgZm9ybWF0cyBub3QgbmF0aXZlbHkgc3VwcG9ydGVkCgkgIEFsc28gYWNjZXB0IGZvcm1hdHMgdGhhdCBhcmUgbm90IG5hdGl2ZWx5IHN1cHBvcnRlZCBieSB0aGUKCSAgaGFyZHdhcmUsIE9TUzQgY2FuIGNvbnZlcnQgdGhlbSBpbnRlcm5hbGx5LiBMaXN0IHRoZSBuYXRpdmUKCSAgZm9ybWF0cyBmaXJzdCBpbiB0aGUgY2FwcyB0aG91Z2gsIHRvIGV4cHJlc3Mgb3VyIHByZWZlcmVuY2UKCSAgZm9yIHRoZSBuYXRpdmUgZm9ybWF0cy4gV2UgbmVlZCB0aGlzIGluIG9yZGVyIHRvIHN1cHBvcnQgdGhlCgkgIGNhc2UgcHJvcGVybHkgd2hlcmUgdGhlIGF1ZGlvIGhhcmR3YXJlIHN1cHBvcnRzIG9ubHkgZS5nLgoJICBsaXR0bGUgZW5kaWFuIFBDTSwgYnV0IHRoZSBob3N0IGlzIGJpZyBlbmRpYW4sIHNpbmNlIG1hbnkKCSAgYXVkaW8gZWxlbWVudHMgb25seSBzdXBwb3J0IG5hdGl2ZSBlbmRpYW5uZXNzIGFuZCBtYWtlIHRoZQoJICByZWFzb25hYmxlIGFzc3VtcHRpb24gdGhhdCBhbnkgYXVkaW9zaW5rIHdpbGwgYmUgYWJsZSB0bwoJICBoYW5kbGUgYXVkaW8gaW4gbmF0aXZlIGVuZGlhbm5lc3MuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IEplcnJ5IFRhbiA8amVycnkudGFuQHN1bi5jb20+CgkgIEZpeGVzICM2MTQzMTcuCgoyMDEwLTA0LTA4IDA4OjQ4OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJICBzb3VuZHRvdWNoOiB1c2UgJChMSUJNKSBpbiBNYWtlZmlsZS5hbSBpbnN0ZWFkIG9mIC1sbQoKMjAxMC0wNC0wOCAwMTo0MjoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSAgaW52dGVsZWNpbmU6IGZpeCBwcmludCBmb3JtYXQgaW4gZGVidWcgbWVzc2FnZQoKMjAxMC0wNC0wOCAwMTo0MTozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IHBhc3MgY29uc3RhbnQgc3RyaW5nIGFzIGZvcm1hdCBzdHJpbmcgdG8gcHJpbnRmCgkgIEZpeCBjb21waWxlciB3YXJuaW5nIGFib3V0IG5vbi1zdHJpbmcgbGl0ZXJhbCBiZWluZyBwYXNzZWQgYXMKCSAgZmlyc3QgYXJndW1lbnQgdG8gcHJpbnQuCgoyMDEwLTAzLTI2IDE4OjU2OjQ5ICswMDAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogRG9uJ3QgZW1pdCBiaXRyYXRlIHRhZ3MgdG9vIGVhcmx5CgkgIFdlIHdhaXQgdG8gcGFyc2UgYSBtaW5pbXVtIG51bWJlciBvZiBmcmFtZXMgKDEwLCBhcmJpdHJhcmlseSkgYmVmb3JlCgkgIGVtaXRpbmcgYml0cmF0ZSB0YWdzIHNvIHRoYXQgb3VyIGVhcmx5IGVzdGltYXRlcyBhcmUgbm90IHdpbGRseQoJICBpbmFjY3VyYXRlIGZvciBzdHJlYW1zIHRoYXQgc3RhcnQgd2l0aCBhIHNpbGVuY2UuIElmIHRoZSBzdHJlYW0gZW5kcwoJICBiZWZvcmUgdGhhdCwgd2UganVzdCBlbWl0IHRoZSB0YWdzIGFueXdheS4KCSAgV2hpbGUgaXQgX3dvdWxkXyBiZSBuaWNlciB0byBiZSBzcGVjaWZ5IHRoZSB0aHJlc2hvbGQgdG8gc3RhcnQgcHVzaGluZwoJICB0aGUgdGFncyBpbiB0ZXJtcyBvZiBkdXJhdGlvbiwgdGhpcyB3b3VsZCBpbnRyb2R1Y2UgbW9yZSBjb21wbGV4aXR5IHRoYW4KCSAgdGhpcyBtZXJpdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTQ5OTEKCjIwMTAtMDQtMDcgMTE6MjI6NDMgKzAyMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgbWV0YWRhdGE6IGZpeCBjcmFzaCB3aGVuIGNvbnZlcnRpbmcgdW5pdHMKCSAgeC95LXJlc29sdXRpb24gYXJlIGZyYWN0aW9ucywgc28gc2V0dGluZyB0aGVtIHVzaW5nIGZsb2F0IHZhbHVlcyBpcyBub3QKCSAgYSBnb29kIGlkZWEuCgkgIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9NTc3NjU1CgoyMDEwLTA0LTA1IDEwOjMzOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBCbHVlUmF5IHN0eWxlIERUUwoJICBGaXhlcyBidWcgIzYxNDI1OS4KCjIwMTAtMDQtMDQgMjA6MjM6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgdGhlIHR3byBEVFMgSEQgc3RyZWFtIHR5cGVzCgkgIEZpeGVzIGJ1ZyAjNjE0MjU5LgoKMjAxMC0wNC0wMiAxOTo1MjoyNSArMDIwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicEBrLWQtdy5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEFkZGl0aW9uYWxseSB1c2UgdGhlIENSQyB0byBjaGVjayBpZiB0YWJsZXMgYXJlIGR1cGxpY2F0ZXMKCSAgVGhlIGN1cnJlbnQgY29kZSBqdXN0IHVzZXMgdGFibGUgaWQsIHN1YnRhYmxlIGV4dGVuc2lvbiBhbmQgdmVyc2lvbiBudW1iZXIgdG8KCSAgY2hlY2sgaWYgdGhlIHNlY3Rpb24gaGFzIGJlZW4gc2VlbiBiZWZvcmUuIEhvd2V2ZXIsIHRoaXMgY29tcGFyaXNvbiBpcyBub3QKCSAgc3VmZmljaWVudCwgY2F1c2luZyBhY3R1YWxseSBuZXcgdGFibGVzIGJlaW5nIGRpc21pc3NlZC4KCSAgRml4ZXMgYnVnICM2MTQ0NzkuCgoyMDEwLTA0LTAyIDE5OjQ4OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogQ29ycmVjdGx5IGNsZWFuIHVwIGludGVybmFsIHN0YXRlIGZvciByZXVzZQoJICBGaXhlcyBidWcgIzYxNDU5MS4KCjIwMTAtMDQtMDIgMTk6MTk6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogTWFrZSBzdXJlIHRoYXQgdGhlIGJ1ZmZlciBtZXRhZGF0YSBpcyB3cml0YWJsZSBiZWZvcmUgc2V0dGluZyBjYXBzCgkgIEZpeGVzIGJ1ZyAjNjE0MzQ5LgoKMjAxMC0wNC0wMiAxOTowOTo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IFVzZSB1aW50IGluc3RlYWQgb2YgaW50IGZvciBmcmVxdWVuY3kgYW5kIHN5bWJvbC1yYXRlIHByb3BlcnRpZXMKCSAgVGhlIGtlcm5lbCBBUEkgc3BlY2lmaWVzIHRoZW0gYXMgdWludDMyIGFuZCBmcmVxdWVuY2llcy9zeW1ib2wtcmF0ZXMgZ3JlYXRlcgoJICB0aGFuIDJeMzEgYXJlIGFjdHVhbGx5IG5lZWRlZCBzb21ldGltZXMuCgkgIEZpeGVzIGJ1ZyAjNjE0NDc1LgoKMjAxMC0wMy0zMCAwMToxNzoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZ3N0L01ha2VmaWxlLmFtOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBidWlsZCBwbHVnaW5zIGFuZCBleGFtcGxlcyBpbiBwYXJhbGxlbCB3aGVyZSBwb3NzaWJsZSwgaWYgbWFrZSAtak4gaXMgdXNlZAoKMjAxMC0wMy0zMCAwMToxNjozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IHVwZGF0ZSBmb3Igc3RyaW5nIGNoYW5nZXMgYW5kIG5ldyBjb21tZW50CgoyMDEwLTAzLTMwIDAxOjE0OjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgb3NzNDogYWRkIGNvbW1lbnQgZm9yIHRyYW5zbGF0b3JzCgkgIE5vdCB0aGF0IHRoYXQgd2lsbCBtYWtlIHRoZXNlIHN0cmluZ3MgbXVjaCBiZXR0ZXIuIEFsc28gcmVtb3ZlIGkxOG4KCSAgbWFya2VyIHdoZXJlIGl0IGRvZXNuJ3QgbWFrZSBzZW5zZS4KCjIwMTAtMDMtMjcgMDk6NDY6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4cGx1Z2luLmM6CgkgIHF0bXV4OiB1c2UgR1N0cmVhbWVyIHBhY2thZ2UgbmFtZSBhbmQgb3JpZ2luIGluIHRoZSBwbHVnaW4gaW5mbwoKMjAxMC0wMy0yOSAxNDo0OTowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCB3cml0aW5nIE5BTFUgcHJlZml4IGZvciBieXRlLXN0cmVhbSBvdXRwdXQgZm9ybWF0CgkgIFNwZWNpZmljYWxseSwgaW5wdXQgbWF5IGFscmVhZHkgYmUgaW4gYnl0ZS1zdHJlYW0gZm9ybWF0LCBzbyBzeW5jCgkgIGJ5dGVzIHNob3VsZCBub3QgYmUgbWlzaW50ZXJwcmV0ZWQgYXMgTkFMVSBzaXplLgoKMjAxMC0wMy0yOSAxMDowMDo1NyArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3NwYy9nc3RzcGMuaDoKCSAgb3BlbnNwYzogRml4IGJ1aWxkIHdhcm5pbmcKCSAgQWRkIGEgcHJvdG90eXBlIGZvciBnc3Rfc3BjX2RlY19nZXRfdHlwZQoKMjAxMC0wMy0yNiAxODo1ODozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IE9wdGlvbmFsbHkgY2hlY2sgdGhlIG92ZXJhbGwgZnJhbWUgY2hlY2tzdW1zIHRvbyBiZWZvcmUgYWNjZXB0aW5nIGEgZnJhbWUgYXMgdmFsaWQKCSAgVGhpcyBpcyBvcHRpb25hbCBiZWNhdXNlIGl0J3MgYSBxdWl0ZSBleHBlbnNpdmUgb3BlcmF0aW9uIGFuZCBpdCdzIHZlcnkKCSAgdW5saWtlbHkgdGhhdCBhIG5vbi1mcmFtZSBpcyBkZXRlY3RlZCBhcyBmcmFtZSBhZnRlciB0aGUgaGVhZGVyIENSQyBjaGVjawoJICBhbmQgY2hlY2tpbmcgYWxsIGJpdHMgZm9yIHZhbGlkIHZhbHVlcy4gVGhlIG92ZXJhbGwgZnJhbWUgY2hlY2tzdW1zIGFyZQoJICBtYWlubHkgdXNlZnVsIHRvIGRldGVjdCBpbmNvbnNpc3RlbmNpZXMgaW4gdGhlIGVuY29kZWQgcGF5bG9hZC4KCjIwMTAtMDMtMjYgMTg6NDI6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBDaGVjayB0aGUgQ1JDLTggb2YgdGhlIGhlYWRlcnMgYmVmb3JlIGFjY2VwdGluZyBhIGZyYW1lIGFzIHZhbGlkCgkgIFRoaXMgbWFrZXMgZmFsc2UtcG9zaXRpdmVzIGR1cmluZyBzZWVraW5nIG11Y2ggbGVzcyBsaWtlbHkgYW5kIGRldGVjdGlvbiBvZgoJICB0aGVtIG11Y2ggZmFzdGVyLgoKMjAxMC0wMy0yNiAxODoyMDoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IFNldCB0aGUgbGFzdCBzdG9wIHRvIHRoZSBidWZmZXIgc3RhcnR0aW1lIGlmIHRoZSBkdXJhdGlvbiBpcyBpbnZhbGlkCgkgIC4uLmluc3RlYWQgb2Ygbm90IHNldHRpbmcgaXQgYXQgYWxsLgoKMjAxMC0wMy0yNiAxODoxOTowMCArMDEwMCAgSm9zaHVhIE0uIERvZSA8am9zaEBqb3NoZG9lLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogU2VuZCBORVdTRUdNRU5UIGV2ZW50IHdpdGggY29ycmVjdCBzdGFydCBhbmQgcG9zaXRpb24KCSAgSW5zdGVhZCBvZiB0YWtpbmcgdGhlIGxhc3Qgc3RvcCAod2hpY2ggY291bGQgYmUgYnVmZmVyIGVuZHRpbWUgaW5zdGVhZAoJICBvZiBzdGFydHRpbWUpIGFsd2F5cyB0YWtlIHRoZSBidWZmZXIgc3RhcnR0aW1lLgoJICBGaXhlcyBidWcgIzYxNDAxNi4KCjIwMTAtMDMtMjYgMTY6NDk6MDEgKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBGaXggYnVmZmVyIHJlZmNvdW50IGlzc3VlCgkgIFdoZW4gY2FsbGVkIGZyb20gdGhlIEdTVF9GTEFDX1BBUlNFX1NUQVRFX0hFQURFUlMgY2FzZSwKCSAgZ3N0X2ZsYWNfcGFyc2VfaGFuZF9oZWFkZXJzKCkgZG9lcyBhIGdzdF9idWZmZXJfc2V0X2NhcHMoKSBvbiBhIGJ1ZmZlcgoJICB3aXRoIHJlZmNvdW50ID4gMS4gVGhpcyBjaGFuZ2UgaGFuZGxlcyB0aGlzIGNhc2UgYnkgbWFraW5nIHRoZSBidWZmZXIKCSAgbWV0YWRhdGFfV3JpdGFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTQwMzcKCjIwMTAtMDMtMjYgMTI6MDQ6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogYWRkIG1pc3Npbmcgc3BhY2UgdG8gZGVidWcgbWVzc2FnZQoKMjAxMC0wMy0yNiAwODo0MTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IGRvbid0IHVzZSBmdW5jdGlvbiB0aGF0IGRvZXNuJ3QgZXhpc3QKCSAgRml4ZXMgdGhlIGJ1aWxkLgoKMjAxMC0wMy0yNSAyMzo0ODowOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkgIGRpdng6IGFkZCBjb25zdCB0byBmaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTAtMDMtMjUgMjM6MzA6MjkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogYWRkIGJvb2xlYW4gcmV0dXJuIHRvIF9wcm9jZXNzCgkgIEF2b2lkIHRyeWluZyB0byBwdXNoIHJlc3VsdHMgaWYgcHJvY2Vzc2luZyBmYWlsZWQgYW55d2F5LgoKMjAxMC0wMy0yNSAyMzoyODoyNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiByZW1vdmUgdXNlbGVzcyBnX2Fzc2VydAoJICBnX21hbGxvYyBhbmQgY28gd291bGQgdGVybWluYXRlIHdoZW4gb3V0IG9mIG1lbW9yeS4gTm8gbmVlZCB0byBjaGVjayBhZnRlciBpdC4KCjIwMTAtMDMtMjUgMjM6MjQ6MzYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogYWRkIG1vcmUgbG9nZ2luZwoKMjAxMC0wMy0yNSAyMzoxMjozNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiByZWdpc3RlciBmdW5jdGlvbiBwb2ludGVycyBqdXN0IG9uY2UKCSAgQXZvaWQgcmUtcmVnaXN0ZXJpbmcgdGhvc2UgZm9yIGVhY2ggd3JhcHBlZCBsYWRwc2EvbHYyIGVsZW1lbnQuCgoyMDEwLTAzLTI1IDIzOjA3OjQ2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IGFkZCByYXRlIHRvIGNhcHMKCjIwMTAtMDMtMjUgMjM6MDQ6NDEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogcmVuYW1lIGxvZyBjYXRlZ29yeSB0byBiZSBsZXNzIGFtYmlnb3VzCgoyMDEwLTAzLTI1IDIyOjU5OjE4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL1JFQURNRToKCSAgbHYyOiBhZGQgbW9yZSBleGFtcGxlcwoKMjAxMC0wMy0yNSAyMjo1ODo0NyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJICBkdG1mZGV0ZWN0OiBpZiB3ZSB0ZWxsIHRoYXQgd2UgaGFuZGxlIGdhcCBmbGFncywgdGhlbiBkbyBzbwoKMjAxMC0wMy0yNSAyMjo1NTozMiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJICBkdG1mZGV0ZWN0OiB1c2UgZ2xpYiB0eXBlcwoKMjAxMC0wMy0yNSAyMjo1NDo0OSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJICBkdG1mZGV0ZWN0OiBmaXggY2xhc3NpZmljYXRpb24KCjIwMTAtMDMtMjUgMjI6NTM6MjAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSAgZHRtZmRldGVjdDogcmVmb3JtYXQgbWVzc2FnZSBkb2NzCgkgIFVzZSBhIGxpc3QgbGlrZSBpbiBvdGhlciBlbGVtZW50IGRvY3MgYXMgYW4gdW50d2Vha2VkIGRvY2Jvb2sgdGFibGUgbG9vayB1Z2x5LgoKMjAxMC0wMy0yNSAxNzowOToxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBhdWRpb3BhcnNlcnM6IHJlbW92ZSB1bnVzZWQgR3N0QmFzZVBhcnNlQ2xhc3NQcml2YXRlIHN0cnVjdHVyZQoKMjAxMC0wMy0yNSAxMjo1NTowMiArMDAwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IE1ha2UgYml0cmF0ZSBlc3RpbWF0aW9uIG1vcmUgYWNjdXJhdGUKCSAgVGhpcyBpbXBsZW1lbnRzIHRoZSBnZXRfZnJhbWVfb3ZlcmhlYWQoKSB2ZnVuYyBzbyB0aGF0IGJhc2VwYXJzZSBjYW4KCSAgbWFrZSBtb3JlIGFjY3VyYXRlIGJpdHJhdGUgZXN0aW1hdGVzLgoKMjAxMC0wMy0yNSAxMTo0ODo0NiArMDAwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBGaXggYml0cmF0ZSBjYWxjdWxhdGlvbgoJICBUaGlzIHBhdGNoIGFkZHMgdGhlIGdldF9mcmFtZV9vdmVyaGVhZCgpIHZmdW5jIHNvIHRoYXQgYmFzZXBhcnNlIGNhbgoJICBhY2N1cmF0ZWx5IGNhbGN1bGF0ZSB0aGUgbWluL2F2Zy9tYXggYml0cmF0ZXMgZm9yIGFhY3BhcnNlLgoJICBOb3RlOiBUaGUgYml0cmF0ZSB3YXMgYmVpbmcgaW5jb3JyZWN0bHkgY2FsY3VsYXRlZCBmb3IgQURUUyBzdHJlYW1zCgkgIChpdCdzIG5vdCBpbiB0aGUgaGVhZGVyIGFzIHRoZSBjb2RlIHN1Z2dlc3RzKS4KCjIwMTAtMDMtMjUgMTE6MjI6NTggKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYXVkaW9wYXJzZXJzOiBBZGQgYml0cmF0ZSBjYWxjdWxhdGlvbiB0byBiYXNlcGFyc2UKCSAgVGhpcyBtYWtlcyBiYXNlcGFyc2Uga2VlcCBhIHJ1bm5pbmcgYXZlcmFnZSBvZiB0aGUgc3RyZWFtIGJpdHJhdGUsIGFzCgkgIHdlbGwgYXMgdGhlIG1pbmltdW0gYW5kIG1heGltdW0gYml0cmF0ZXMuIFN1YmNsYXNzZXMgY2FuIG92ZXJyaWRlIGEKCSAgdmZ1bmMgdG8gbWFrZSBzdXJlIHRoYXQgcGVyLWZyYW1lIG92ZXJoZWFkIGZyb20gdGhlIGNvbnRhaW5lciBpcyBub3QKCSAgYWNjb3VudGVkIGZvciBpbiB0aGUgYml0cmF0ZSBjYWxjdWxhdGlvbi4KCSAgV2UgdGFrZSBjYXJlIG5vdCB0byBvdmVycmlkZSB0aGUgYml0cmF0ZSwgbWluaW11bS1iaXRyYXRlLCBhbmQKCSAgbWF4aW11bS1iaXRyYXRlIHRhZ3MgaWYgdGhleSBoYXZlIGJlZW4gcG9zdGVkIHVwc3RyZWFtLiBXZSBhbHNvCgkgIHJhdGUtbGltaXQgdGhlIGVtaXNzaW9uIG9mIGJpdHJhdGUgc28gdGhhdCBpdCBpcyBvbmx5IHRyaWdnZXJlZCBieSBhCgkgIGNoYW5nZSBvZiA+MTAga2Jwcy4KCjIwMTAtMDMtMjMgMTc6MzQ6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0ZXN0czogdGFnc2NoZWNraW5nOiBOZXcgdGFncyB0ZXN0cwoJICBBZGRzIG5ldyB0YWdzIGNoZWNraW5nIHRlc3RzLgoKMjAxMC0wMy0yNSAwMDoyMDo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGluaXQgZGVidWcgY2F0ZWdvcnkgYmVmb3JlIHVzaW5nIGl0CgoyMDEwLTAzLTI0IDE4OjU0OjU3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1NWNkNTE0IHRvIGMxZDA3ZGQKCjIwMTAtMDMtMjQgMTc6MDU6MTQgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBkc2hvd3ZpZGVvc3JjOiBBZGQgc3VwcG9ydCBmb3IgWVVZMiBpbnB1dCBmb3JtYXQKCSAgRml4IGJ1ZyAjNjEzNzA4CgoyMDEwLTAzLTI0IDE2OjE1OjM3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy50eXBlczoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSAgZG9jczogYWRkIHBob3RvZ3JhcGh5IGlmYWNlIHRvIGRvY3MKCSAgV2Ugbm9ybWFseSBoYXZlIHNlcGFyYXRlIGxpYnMgZG9jcywgbm90IGRvbmUgYmVjYXN1ZSBvZiBsYXp5bmVzcyBoZXJlIHlldC4KCjIwMTAtMDMtMjQgMTY6MDU6MjAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVnZm9ybWF0OiBhZGQgYmxhbmsgbGluZSB0byBmaXggZ2VuZXJhdGVkIHhtbAoKMjAxMC0wMy0yNCAxNTo1OTo1MyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGZpeCBlbGVtZW50IG5hbWUgaW4gc2VjdGlvbiBkb2MgYmxvYgoKMjAxMC0wMy0yNCAxNTowNTo1MCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgbW9kcGx1ZzogRGVmaW5lIFdPUkRTX0JJR0VORElBTiB0byBhdm9pZCB1bmRlZmluZWQgd2FybmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEzNzk1CgoyMDEwLTAzLTI0IDEyOjE2OjA3ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIFVzZSBwa2djb25maWcgdG8gZGV0ZWN0IGR2ZG5hdgoJICBUaGUgcHJldmlvdXNseSB1c2VkIGR2ZG5hdi1jb25maWcgc2NyaXB0IHdhcyBicm9rZW4gaW4gYSBsb3Qgb2YgZGlzdHJvcy4KCjIwMTAtMDMtMjQgMDA6Mjc6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIGthdGU6IGZpeCB5ZXQgYW5vdGhlciBjb21waWxlciB3YXJuaW5nCgoyMDEwLTAzLTIzIDE5OjU2OjQ4IC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NyYy5jOgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSogc3lzL3F0d3JhcHBlci9jb2RlY21hcHBpbmcuYzoKCSogc3lzL3F0d3JhcHBlci9xdHV0aWxzLmM6CgkqIHN5cy9xdHdyYXBwZXIvcXR1dGlscy5oOgoJICBvc3g6IG1vcmUgY29tcGlsZXIgd2FybmluZyBmaXhlcwoJICBBdm9pZCBuZXcgd2FybmluZ3MuCgkgIEZpeGVzICM2MTM3NTguCgoyMDEwLTAzLTIzIDE0OjE1OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWMuYzoKCSAgdGVzdHM6IGZhYWM6IEZpeCBidWlsZAoJICBGaXhlcyBidWlsZCBvZiBmYWFjIGR1ZSB0byBmdW5jdGlvbnMgbm90IGJlaW5nIHN0YXRpYyBub3IKCSAgaGF2aW5nIGJlaW5nIGRlY2xhcmVkIGluIGhlYWRlcnMuIChObyBwcmV2aW91cyBwcm90b3R5cGUgZXJyb3IpCgkgIFByb2JhYmx5IGR1ZSB0byBhZGRlZCAtV21pc3NpbmctcHJvdG90eXBlcwoKMjAxMC0wMy0yMyAxMToxMDowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW1yd2JlbmMvZ3N0YW1yd2JlbmMuYzoKCSAgYW1yd2JlbmM6IEZpeCBjb21waWxlciB3YXJuaW5nCgoyMDEwLTAzLTIzIDA5OjE0OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvY29nLm9yYzoKCSAgY29nOiB0b3VjaCBjb2cub3JjIHRvIGZvcmNlIHJlZ2VuZXJhdGlvbiBvZiBjb2dvcmMuW2NoXQoJICAuLiB3aXRoIG5ldyBNYWtlZmlsZS5hbSBydWxlcywgd2hpY2ggc2hvdWxkIGZpeCB0aGUgYnVpbGQKCSAgd2l0aG91dCB0aGUgbmVlZCB0byBkbyBhICdtYW51YWwnIG1ha2UgY2xlYW4gYWZ0ZXIgdXBkYXRpbmcuCgoyMDEwLTAzLTIzIDAxOjQxOjMxICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkgIHdpbmluZXQ6IEZpeCB3YXJuaW5ncwoKMjAxMC0wMy0yMyAwMTozMDo1NCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgZGlyZWN0ZHJhdzogRml4IHdhcm5pbmdzCgoyMDEwLTAzLTIzIDAxOjE1OjI3ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIFJlbW92ZSAtV3VuZGVmIGZvciBXaW5kb3dzCgkgIFdpbmRvd3MgaGVhZGVycyB0ZW5kIHRvIGNoZWNrIF9NU0NfVkVSIHVuY29uZHRpb25hbGx5IGluIHNvbWUgcGxhY2VzLAoJICBidXQgdXNlICNpZmRlZiBfTVNDX1ZFUiBpbiBvdGhlciBwbGFjZXMuCgoyMDEwLTAzLTIzIDAxOjE0OjMzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEFkZCBhIGJ1bmNoIG9mIHdhcm5pbmcgZmxhZ3MKCSAgTm9uZSBvZiB0aGVtIHRyaWdnZXIgYW55IHdhcm5pbmcKCjIwMTAtMDMtMjMgMDE6MTE6NDIgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5oOgoJKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkgIEZpeGVzIGZvciAtV2FnZ3JlZ2F0ZS1yZXR1cm4KCSAgVGhlIGZsYWcgd2Fzbid0IGFkZGVkIGR1ZSB0byBsaWJleGlmIHVzaW5nIGFnZ3JlZ2F0ZSByZXR1cm4gdmFsdWVzLgoKMjAxMC0wMy0yMiAxODowMjozOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dldHRleHQuaDoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmUuYzoKCSAgaTE4bjogYnVpbGQgZml4ZXM6ICNpZiAtPiAjaWZkZWYgZm9yIEVOQUJMRV9OTFMKCjIwMTAtMDMtMjIgMTg6MDE6MjcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9nc3QtaTE4bi1wbHVnaW4uaDoKCSAgaTE4bjogZml4IHRoZSBidWlsZAoJICBEb24ndCBpbmNsdWRlIGxvY2FsZS5oIHdoaWNoIHdlIGluY2x1ZGUgaW4gZ2V0dGV4dC5oIGlmIG5lZWRlZC4gR3VhcmQgdGhlCgkgIGluY2x1ZGUgbGlrZSB3ZSBkbyBpbiB0aGUgc2ltaWxsYXIgaGVhZGVycyBpbiBjb3JlLgoKMjAxMC0wMy0yMiAxNjo1NjowMyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGdzdC9saWJyZmIvZDNkZXMuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdwc211eC9wc211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYXBzc2V0dGVyLmM6CgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2RpcmVjdGZiL2dzdGRmYi5jOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgQWRkIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24KCSAgYW5kIGZpeCB0aGUgd2FybmluZ3MKCjIwMTAtMDMtMjIgMTY6MjE6MzEgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgQWRkIC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkgZmxhZ3MKCSAgYW5kIGZpeCB0aGUgd2FybmluZ3MKCjIwMTAtMDMtMjIgMTY6MTM6MTIgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgb3NzNDogUmVmYWN0b3IgY29kZSB0byBtYWtlIGl0IGxvb2sgbW9yZSBtb2Rlcm4KCSAgQSBzaWRlIGVmZmVjdCBpcyB0aGF0IGl0IHBhc3NlcyAtV2Zvcm1hdC1ub25saXRlcmFsIGFuZCBkb2Vzbid0IHJlYWQKCSAgaW52YWxpZCBtZW1vcnkgaW4gc29tZSBjYXNlcywgbGlrZSB3aGVuIHRoZSBtaXhlciB0cmFjayBjb250YWlucwoJICBhICUgc2lnbiBvciB0aGVyZSBpcyBhIG51bWJlciBidXQgbm90IGEga25vd24gbWl4ZXIgbmFtZS4KCjIwMTAtMDMtMjIgMTQ6MDk6MjQgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgb3NzNDogQXZvaWQgZ19xdWFya190b19zdHJpbmcgKGdfcXVhcmtfZnJvbV9zdHJpbmcgKCkpIG1hZG5lc3MKCSAgV2UgdG8gdGhlIHN0cmR1cCBpbnNpZGUgZ3N0X29zczRfbWl4ZXJfY29udHJvbF9nZXRfdHJhbnNsYXRlZF9uYW1lKCkKCSAgaW5zdGVhZCBvZiBpbiB0aGUgb25seSBjYWxsZXIuCgoyMDEwLTAzLTIyIDEzOjUwOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIGxhZHNwYTogRml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEwLTAyLTAyIDE1OjQ5OjI5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuaDoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBQYXJzZSBiaXRyYXRlIGFuZCBlbWl0IGFzIHRhZwoJICBUaGlzIHBhdGNoIHBpY2tzIHVwIHRoZSBiaXRyYXRlIGZvciB0aGUgc3RyZWFtIGZyb20gdGhlIE1QRUcgc2VxdWVuY2UKCSAgaGVhZGVyIGFuZCBlbWl0cyBpdCBhcyBhIHRhZyBvbiB0aGUgc291cmNlIHBhZC4KCSAgRml4ZXMgIzU5OTI5OC4KCjIwMTAtMDMtMjIgMTI6Mzg6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJICBzb3VuZHRvdWNoOiBidWlsZCBmaXhlczogI2lmIC0+ICNpZmRlZgoKMjAxMC0wMy0yMiAxMzoxNjozMyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC94dmlkL2dzdHh2aWQuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZC5oOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuaDoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5oOgoJKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJKiBzeXMvdmNkL3ZjZHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc2ZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBsZXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2VsZWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuaDoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tbWFpbi5jOgoJICBBZGQgLVd3cml0ZS1zdHJpbmdzCgkgIGFuZCBmaXggaXRzIHdhcm5pbmdzCgoyMDEwLTAzLTIyIDEyOjMwOjAxICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29wdGlvbnMuY2M6CgkqIGdzdC9uc2YvZm1vcGwuaDoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL21ldGFkYXRhLmM6CgkgIEFkZCAtV3VuZGVmCgkgIGFuZCBmaXggdGhlIHdhcm5pbmdzCgoyMDEwLTAzLTIyIDEyOjAzOjU2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmdpdGlnbm9yZToKCSAgVXBkYXRlIC5naXRpZ25vcmUKCjIwMTAtMDMtMjIgMTI6MDI6MTYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuaDoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzoKCSAgQWRkIC1XcmVkdW5kYW50LWRlY2xzIGZsYWcKCSAgYW5kIGZpeCB3YXJuaW5ncyBmcm9tIGl0CgoyMDEwLTAzLTIyIDA4OjQ3OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvZ3N0Z21lLmg6CgkgIGdtZTogRml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTAtMDMtMjIgMDg6NDU6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0YnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRidWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dHNyY3BhZC5oOgoJICB2ZHBhdTogRml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEwLTAzLTIxIDIzOjEwOjA4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2dlbmVyYXRlX3RhYmxlcy5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY29nL2dzdGNvZ3V0aWxzLmM6CgkgIG9yYzogRml4IHdhcm5pbmdzCgoyMDEwLTAzLTIxIDIzOjAwOjQ4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6CgkgIGV4YW1wbGVzOiBGaXggd2FybmluZ3MKCjIwMTAtMDMtMjEgMjI6NDg6MTMgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIGRpcmVjdGRyYXc6IEZpeCB3YXJuaW5ncwoKMjAxMC0wMy0yMSAyMjo0NjowMCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5oOgoJICBnc3QtY2FtZXJhOiBBZGQgYSBoZWFkZXIgZGVjbGFyaW5nIHRoZSBmdW5jdGlvbnMgZnJvbSB0aGUgdWkgZmlsZQoKMjAxMC0wMy0yMSAyMjoxMDo0NyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5oOgoJICB0ZXN0czogQWRkIGZpbGUgSSBmb3Jnb3QgdG8gY2hlY2sgaW4KCjIwMTAtMDMtMjEgMjI6MDk6MjAgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHN5cy9hY21tcDNkZWMvYWNtbXAzZGVjLmM6CgkgIGFjbW1wM2RlYzogZml4IHdhcm5pbmdzCgoyMDEwLTAzLTIxIDIxOjUzOjQ0ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJICBGaXggYWNtZW5jIGZvciB3YXJuaW5nIGZsYWdzCgoyMDEwLTAzLTIxIDIxOjM5OjE4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5oOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9wYXJzZS5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0Lmg6CgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGUuaDoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmg6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuaDoKCSogZ3N0L212ZS9nc3RtdmVkZW11eC5jOgoJKiBnc3QvbXZlL2dzdG12ZWRlbXV4Lmg6CgkqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlbXV4Lmg6CgkqIGdzdC9tdmUvbXZlYXVkaW9kZWMuYzoKCSogZ3N0L212ZS9tdmVhdWRpb2VuYy5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbnNmL25lc19hcHUuYzoKCSogZ3N0L25zZi9uc2YuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc2lyZW4vY29tbW9uLmM6CgkqIGdzdC9zaXJlbi9jb21tb24uaDoKCSogZ3N0L3NpcmVuL2RjdDQuYzoKCSogZ3N0L3NpcmVuL2RjdDQuaDoKCSogZ3N0L3NpcmVuL2h1ZmZtYW4uYzoKCSogZ3N0L3NpcmVuL2h1ZmZtYW4uaDoKCSogZ3N0L3NpcmVuL3JtbHQuYzoKCSogZ3N0L3NpcmVuL3JtbHQuaDoKCSogZ3N0L3R0YS9nc3R0dGFkZWMuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkqIHN5cy9kdmIvY2FtLmM6CgkqIHN5cy9kdmIvY2FtLmg6CgkqIHN5cy9kdmIvY2FtYXBwbGljYXRpb25pbmZvLmM6CgkqIHN5cy9kdmIvY2FtYXBwbGljYXRpb25pbmZvLmg6CgkqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuYzoKCSogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5oOgoJKiBzeXMvZHZiL2NhbWRldmljZS5jOgoJKiBzeXMvZHZiL2NhbWRldmljZS5oOgoJKiBzeXMvZHZiL2NhbXJlc291cmNlbWFuYWdlci5jOgoJKiBzeXMvZHZiL2NhbXJlc291cmNlbWFuYWdlci5oOgoJKiBzeXMvZHZiL2NhbXNlc3Npb24uYzoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50Lmg6CgkqIHN5cy9kdmIvY2FtdHJhbnNwb3J0LmM6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5oOgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJKiBzeXMvdmNkL3ZjZHNyYy5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc2ZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNzcmVuZGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFkLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlZnJlZXplLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGxleC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NlbGVjdG9yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RpbWlkaXR5LmM6CgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9tZXRhZGF0YS5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBBZGQgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyB0byBjb25maWd1cmUgZmxhZ3MKCSAgQW5kIGZpeCBhbGwgd2FybmluZ3MKCjIwMTAtMDMtMjEgMjE6Mzc6MzcgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9zaXJlbi9jb21tb24uYzoKCSogZ3N0L3NpcmVuL2RjdDQuYzoKCSogZ3N0L3NpcmVuL2RlY29kZXIuYzoKCSogZ3N0L3NpcmVuL2VuY29kZXIuYzoKCSogZ3N0L3NpcmVuL2h1ZmZtYW4uYzoKCSogZ3N0L3NpcmVuL3JtbHQuYzoKCSAgc2lyZW46IFJ1biBnc3QtaW5kZW50IHNjcmlwdAoJICBJbmNsdWRlcyBydW5uaW5nIGRvczJ1bml4IG9uIGRlY29kZXIuYwoKMjAxMC0wMy0yMSAyMToyOTo0NyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJICB0ZXN0czogRml4IGthdGUgdGVzdAoJICBJdCB3YXMgZmFpbGluZyBkdWUgdG8gdGhlIG5ldyBidWZmZXJfbWV0YWRhdGFfd3JpdGFibGUgY2hlY2tzIGFkZGVkIHRvCgkgIHRoZSBjb3JlIHJlY2VudGx5LgoKMjAxMC0wMy0yMSAxODo1OTozMCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL01ha2VmaWxlLmFtOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGVfY2h1bmsuYzoKCSAgbGVnYWN5cmVzYW1wbGU6IHJlbW92ZSB1bnVzZWQgZmlsZQoKMjAxMC0wMy0yMSAxNzo1NDoyNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHMvR1NUX0NWUy9HU1RfR0lULwoKMjAxMC0wMy0xOSAxNjo0NzoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dlbmVyYXRlX3RhYmxlcy5jOgoJICBjb2c6IEdlbmVyYXRlIGNvcnJlY3QgWVVWLT5SR0IgdGFibGVzCgkgIEZpeGVzOiAjNjEzMzMyLgoKMjAxMC0wMy0xOSAxMToxMDo0MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IGRpc2FibGUgbG9vcCBhbmQgYXV0byBtdWx0aWNhc3Qgam9pbgoJICBEaXNhYmxlIGxvb3BiYWNrIG9mIHBhY2tldHMuCgkgIERpc2FibGUgYXV0b2pvaW4gb2YgbXVsdGljYXN0IGdyb3VwcyBpbiB0aGUgc2luayBiZWNhdXNlIHRoZSBzb3VyY2UgYWxyZWFkeQoJICBkb2VzIHRoYXQgb24gdGhlIHNoYXJlZCBzb2NrZXQuCgoyMDEwLTAzLTE4IDE3OjMwOjI2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzoKCSogZXh0L2FtcndiZW5jL2dzdGFtcndiZW5jLmM6CgkqIGV4dC9hcnRzL2dzdF9hcnRzLmM6CgkqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5oOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5oOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuaDoKCSogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZG93bnNhbXBsZS5jOgoJKiBleHQvY29nL2dzdGNvZ2ZpbHRlci5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY29nL2dzdGNvZ3NjYWxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29sb3Jjb252ZXJ0LmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuY2M6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L25hcy9uYXNzaW5rLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvcGFyc2UuYzoKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNpbmsuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuYzoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzoKCSogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkqIGdzdC9hdWRpb2J1ZmZlci9nc3RhdWRpb3JpbmdidWZmZXIuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSogZ3N0L2ZpbHRlci9nc3RpaXIuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9nc3RsZWdhY3lyZXNhbXBsZS5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6CgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkqIGdzdC90dGEvZ3N0dHRhZGVjLmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSogc3lzL2FjbW1wM2RlYy9hY21tcDNkZWMuYzoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOgoJKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOgoJKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6CgkqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc3JjLmM6CgkqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkqIHN5cy9xdHdyYXBwZXIvdmlkZW9kZWNvZGVycy5jOgoJKiBzeXMvdmNkL3ZjZHNyYy5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuYzoKCSAgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHMgPT4gZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlCgoyMDEwLTAzLTE4IDE3OjExOjU5ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvdmlydHVhbGR1Yi9MSUNFTlNFOgoJKiBnc3QvdmlydHVhbGR1Yi9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpcnR1YWxkdWIvZ3N0dmlydHVhbGR1Yi5jOgoJKiBnc3QvdmlydHVhbGR1Yi9nc3R2aXJ0dWFsZHViLmg6CgkqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6CgkqIGdzdC92aXJ0dWFsZHViL3ZpcnR1YWxkdWIudmNwcm9qOgoJICB2aXJ0dWFsZHViOiBSZW1vdmUKCSAgVEhlIHBsdWdpbiBpcyBzbyBob3BlbGVzc2x5IG91dGRhdGVkLCBpdCdzIGp1c3Qgbm90IHdvcnRoIGtlZXBpbmcuCgoyMDEwLTAzLTE4IDE3OjA0OjU5ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBleHQveGluZS9NYWtlZmlsZS5hbToKCSogZXh0L3hpbmUvZ3N0eGluZS5oOgoJKiBleHQveGluZS94aW5lLmM6CgkqIGV4dC94aW5lL3hpbmVhdWRpb2RlYy5jOgoJKiBleHQveGluZS94aW5lYXVkaW9zaW5rLmM6CgkqIGV4dC94aW5lL3hpbmVjYXBzLmM6CgkqIGV4dC94aW5lL3hpbmVpbnB1dC5jOgoJICBSZW1vdmUgeGluZSBwbHVnaW4gY29kZQoJICBUaGUgcGx1Z2luIGlzIHVubWFpbnRhaW5lZCAoZXZlbiB3b3JzZSB0aGFuIFhpbmUgOykpCgoyMDEwLTAzLTE4IDE2OjE3OjEwICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nb2IvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dvYi9nc3QtaWRlbnRpdHkyLmdvYjoKCSAgUmVtb3ZlIGdvYiBleGFtcGxlcwoJICBUaGV5IHdlcmUgb3V0ZGF0ZWQgYW5kIHdvdWxkbid0IGhhdmUgY29tcGlsZWQgYW55bW9yZS4KCjIwMTAtMDMtMTcgMTE6MzA6MzQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSAgY29nOiBGaXggb2ZmLWJ5LW9uZSBpbiA0NDQtPjQyMCBjb252ZXJzaW9uCgkgIEZpeGVzICM2MTMxNjAuCgoyMDEwLTAzLTE3IDE0OjI5OjMxICswMzAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IFVzZSAiKHBuZ19pbmZvcHApIE5VTEwiIGluc3RlYWQgb2YgcG5nX2luZm9wcF9OVUxMCgoyMDEwLTAzLTE3IDE0OjIzOjQxICswMzAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IFVzZSBwbmdfZ2V0X2lvX3B0cigpIGluc3RlYWQgb2YgYWNjZXNzaW5nIGlvX3B0ciBkaXJlY3RseQoKMjAxMC0wMy0xNyAxNDoyMTo1MyArMDMwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvZzogQ2hlY2sgZm9yIGxpYnBuZyA+PSAxLjIgaW5zdGVhZCBvZiBsaWJwbmcxMgoKMjAxMC0wMy0xNiAyMzo0NjowNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJICBkb2NzOiB0aGUgeGRnbWltZSBwbHVnaW4gd2FzIG1lcmdlZCBpbnRvIHR5cGVmaW5kZXJzCgoyMDEwLTAzLTE2IDIzOjQzOjAyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICBuZW9uLGR2ZDogYWxzbyB1c2UgZ192YWx1ZV9zZXRfc3RhdGljX3N0cmluZygpIGhlcmUgZm9yIHN0YXRpYyBzdHJpbmdzCgoyMDEwLTAzLTE1IDEwOjEzOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBtaW5vciBtZW1vcnkgbGVhayBpbiBwcm9wZXJ0eSBnZXR0ZXIKCSAgRG9uJ3QgbGVhayB0aGUgc3RyaW5nIHJldHVybmVkIGJ5IGdfc3Ryam9pbnYoKS4gV2hpbGUgd2UncmUgYXQgaXQsCgkgIHVzZSBHU3RyaW5nIHRvIGFzc2VtYmxlIHRoZSBzdHJpbmcgdG8gYmUgcmV0dXJuZWQuCgoyMDEwLTAzLTE1IDA5OjI0OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogdXNlIGdfdmFsdWVfc2V0X3N0YXRpY19zdHJpbmcoKSB3aGVyZSBwb3NzaWJsZQoKMjAxMC0wMy0xNSAxMjoxNzozNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZy5vcmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkgIGNvZzogZGlzYWJsZSBjb2RlIHRoYXQgY2F1c2VzIGFuIG9yY2MgY3Jhc2gKCSAgUmV2ZXJ0IHRoaXMgYWZ0ZXIgb3JjIHJlbGVhc2UgYW5kIHZlcnNpb24gYnVtcC4KCjIwMTAtMDMtMTUgMTE6NTQ6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBPbmx5IHN0YXJ0IHRoZSB0YXNrIGFmdGVyIGEgc2VlayBpZiBhIGJ1ZmZlciB3YXMgcmVjZWl2ZWQgYWxyZWFkeQoKMjAxMC0wMy0xNSAwMTo0Njo0NSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgY29nOiBjb21tZW50IG9uIHByZXZpb3VzIGJhZCBjb21taXQgbWVzc2FnZQoJICBUaGUgcmVjZW50IGNvbW1pdCAibG9nb2luc2VydCBjaGVja3BvaW50IEZJWE1FIiBzaG91bGQKCSAgYWN0dWFsbHkgcmVhZDogIEZpeCBsb2dvaW5zZXJ0IHZhcmlhYmxlIG5hbWVzLgoKMjAxMC0wMy0xNSAwMToyNjoyNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZy5vcmM6CgkqIGV4dC9jb2cvY29nZnJhbWUuYzoKCSogZXh0L2NvZy9jb2dmcmFtZS5oOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5oOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rjb2xvcmNvbnZlcnQuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGNvZzogaW1wbGVtZW50IGNocm9tYS1zaXRlCgkgIERldGVybWluZSBjaHJvbWEgc2l0ZSBwb3NpdGlvbiBmcm9tIHRoZSBjYXBzIGFuZCB1c2UgaXQgd2hlbgoJICB1cHNhbXBsaW5nL2Rvd25zYW1wbGluZyBjaHJvbWEuCgoyMDEwLTAzLTE0IDE4OjU2OjA2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29nLm9yYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuaDoKCSogZXh0L2NvZy9nZW5lcmF0ZV90YWJsZXMuYzoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkgIGNvZ2NvbG9yc3BhY2U6IGltcGxlbWVudCBjb2xvci1tYXRyaXggaGFuZGxpbmcKCjIwMDktMTAtMDggMTU6MTg6NDEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGNvZzogbG9nb2luc2VydCBjaGVja3BvaW50IEZJWE1FCgoyMDA5LTEwLTMwIDE1OjM1OjM2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29nZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuaDoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29sb3Jjb252ZXJ0LmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IEFkZCBuX3RhcHMgdG8gY2hyb21hIHVwc2FtcGxpbmcKCjIwMTAtMDMtMTMgMTg6NTQ6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBmaXggdHlwbyBpbiBwcm9wZXJ0eSBkZXNjcmlwdGlvbgoKMjAxMC0wMy0xMyAwNjowMzozMiArMDEwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IFVwZGF0ZSBjYXBzIHdoZW4gdGhlIHNlcXVlbmNlIGhlYWRlciBjaGFuZ2VzCgkgIEZpeGVzIGJ1ZyAjNjEyNjg3LgoKMjAxMC0wMy0xMiAxOTozMDo0OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGFjdGl2YXRlIHZpZGVvIGJpbiBiZWZvcmUgZmVlZGluZyBkYXRhIHRvIGl0CgkgIEZpeGVzICM2MTI2MTUuCgoyMDEwLTAzLTEyIDExOjI4OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgdGVzdHM6IHRhZ3NjaGVja2luZzogSW1wcm92ZW1lbnRzIGFuZCBuZXcgZ2VvLWxvY2F0aW9uIHRlc3RzCgkgIE1ha2VzIHNvbWUgaW1wcm92ZW1lbnRzIHRvIHRhZ3NjaGVja2luZy5jLCBtYWtpbmcgaXQgdXNlCgkgIGZha2VzcmMgaW5zdGVhZCBvZiB2aWRlb3Rlc3RzcmMgYW5kIGFsbG93aW5nIHRvIHNldCBpbnB1dAoJICBjYXBzIHNvIHRoYXQgbW9yZSBtdXhlcnMgY2FuIGJlIHVzZWQuIFByZXZpb3VzbHkgd2UgY291bGQKCSAgb25seSB1c2UgdGhvc2UgdGhhdCBhY2NlcHRlZCByYXcgdmlkZW8gY2Fwcy4KCSAgQWxzbyBhZGRzIHNvbWUgdGVzdHMgZm9yIGdlby1sb2NhdGlvbiB0YWdzCgoyMDEwLTAzLTEyIDEwOjUzOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogVXNlIHhtcCBvbiBtcDRtdXggYW5kIGdwcG11eCB0b28KCSAgRG8gbm90IHJlc3RyaWN0IHhtcCB0byBxdG11eCwgYnV0IHVzZSBpdCB0b28KCSAgb24gbXA0bXV4IGFuZCBncHBtdXgKCjIwMTAtMDMtMTIgMTM6NTk6MTIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGUyNzJmNzEgdG8gNTVjZDUxNAoKMjAxMC0wMy0xMiAwOTo1Mjo1NyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSBvbiBtYWNvc3ggMTAuNQoKMjAxMC0wMy0xMSAyMTozMjoyOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvanBlZ2Zvcm1hdC9NYWtlZmlsZS5hbToKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVnZm9ybWF0OiBhZGQgeG1wIHJlYWRpbmcgYW5kIHdyaXRpbmcgc3VwcG9ydAoJICBCdW1wIG5lZWRlZCBiYXNlIHZlcnNpb24gZm9yIG5ldyB4bXAgaGVscGVyIGxpYnJhcnkuIFVzZSB4bXAgaGVscGVycyBpbgoJICBqcGVncGFyc2UgYW5kIGppZm11eC4KCjIwMTAtMDMtMTIgMDg6MjM6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEZpeCBtZXJnZSBtaXN0YWtlCgoyMDEwLTAyLTI4IDE5OjQxOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3NlZ21lbnRjbGlwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0YXVkaW9zZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0YXVkaW9zZWdtZW50Y2xpcC5oOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0c2VnbWVudGNsaXAuYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHNlZ21lbnRjbGlwLmg6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3R2aWRlb3NlZ21lbnRjbGlwLmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3R2aWRlb3NlZ21lbnRjbGlwLmg6CgkqIGdzdC9zZWdtZW50Y2xpcC9wbHVnaW4uYzoKCSAgc2VnbWVudGNsaXA6IEFkZCBhdWRpby92aWRlbyBidWZmZXIgc2VnbWVudCBjbGlwIGVsZW1lbnRzCgkgIFRoZXNlIGVsZW1lbnRzIGNsaXAgdGhlIGF1ZGlvL3ZpZGVvIGJ1ZmZlcnMgdG8gdGhlIGNvbmZpZ3VyZWQgc2VnbWVudAoJICBmb3IgdGhlIGNhc2Ugd2hlbiB0aGUgdXBzdHJlYW0gZWxlbWVudHMgZG9uJ3QgZG8gdGhpcyBjb3JyZWN0bHkuCgoyMDEwLTAyLTI4IDE2OjA4OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogQWRkIHNvbWUgdW5pdCB0ZXN0cwoKMjAxMC0wMi0yOCAxNjowNDozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IFNldCB1bmRlZmluZWQgZnJhbWVyYXRlIGluIHNpbmsgZ2V0Y2FwcyBmdW5jdGlvbgoKMjAxMC0wMi0yOCAxNTowMjowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IEltcGxlbWVudCByZXZlcnNlIHBsYXliYWNrIGFuZCBzZXQgYnVmZmVyIG9mZnNldHMKCjIwMTAtMDItMjcgMTc6Mzc6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW1hZ2VmcmVlemUueG1sOgoJICBpbWFnZWZyZWV6ZTogQWRkIHRvIHRoZSBkb2NzCgoyMDEwLTAyLTI3IDE3OjMzOjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ltYWdlZnJlZXplL01ha2VmaWxlLmFtOgoJKiBnc3QvaW1hZ2VmcmVlemUvZ3N0aW1hZ2VmcmVlemUuYzoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmg6CgkgIGltYWdlZnJlZXplOiBBZGQgc3RpbGwgZnJhbWUgc3RyZWFtIGdlbmVyYXRvciBlbGVtZW50CgoyMDEwLTAzLTA1IDEzOjMzOjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIGNoZWNrOiB0YWdzY2hlY2tpbmc6IHRlc3RzIGZvciB0YWdzIHNlcmlhbGl6YXRpb24gaW4gbXV4ZXJzCgkgIEFkZHMgYSBjaGVjayB1bml0IHRlc3QgdGhhdCBhaW1zIHRvIHRlc3QgdGFncyBzZXJpYWxpemF0aW9uCgkgIGFuZCBkZXNlcmlhbGl6YXRpb24gY29uc2lzdGVuY3kgKGluIG11eGVycykuIEl0IHByb3ZpZGVzIGEKCSAgYmFzaWMgZnVuY3Rpb24gdGhhdCBhbGxvd3Mgb25lIHRvIGVhc2lseSBzcGVjaWZ5IHRhZ3MsIGEKCSAgbXV4ZXIgYW5kIGEgZGVtdXhlciBhbmQgYSB0ZXN0IHdpbGwgYmUgZG9uZSB0byBjaGVjayBpZgoJICB0aGUgdGFncyBoYXZlIGJlZW4gY29uc2lzdGVudGx5IG11eGVkIGFuZCBkZW11eGVkCgoyMDEwLTAyLTIyIDE2OjQ1OjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogYWRkIHhtcCBzdXBwb3J0CgkgIEFkZHMgeG1wIG1ldGF0YWdzIGFkZGluZyB0byBxdG11eC4KCSAgRml4ZXMgIzYwOTUzOQoKMjAxMC0wMy0xMSAwOToyOTo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgbWV0YWRhdGE6IFJlbW92ZSBfWE1QX0dFT18qIHRhZ3MKCSAgUmVtb3ZlcyBHU1RfVEFHX1hNUF9HRU9fTE9DQVRJT05fQ09VTlRSWSwKCSAgR1NUX1RBR19YTVBfR0VPX0xPQ0FUSU9OX0NJVFkgYW5kCgkgIEdTVF9UQUdfWE1QX0dFT19MT0NBVElPTl9TVUJMT0NBVElPTiBmcm9tIG1ldGFkYXRhJ3MKCSAgcHJpdmF0ZSB0YWdzIGFzIHRob3NlIGFyZSBub3cgcHJlc2VudCBhdCAtY29yZSB0YWdzLgoJICBGaXhlcyAjNjEyNDEwCgoyMDEwLTAzLTExIDE3OjE3OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkgIHF0bXV4OiBmaXggR1NUX0VMRU1FTlRfRVJST1IgdXNhZ2UKCSAgV2UgbmVlZCB0byBwYXNzIChOVUxMKSByYXRoZXIgdGhhbiBOVUxMIGZvciBlbXB0eSBhcmd1bWVudHMuCgoyMDEwLTAzLTExIDE3OjU4OjI1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVnZm9ybWF0OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGVzCgoyMDEwLTAzLTEwIDExOjUwOjQ3IC0wNjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkgIGZpeCBjb21waWxlIGVycm9yIHdpdGggdHJhY2UgbWFjcm8KCSAgTm90ZSB0aGF0IHRoaXMgb25lIGlzbid0IGEgcHJvYmxlbSB3aXRoIG5vcm1hbCB0cmFjZSBtYWNyb3MsIGJ1dCBjYXVzZXMgcHJvYmxlbXMgd2l0aAoJICBzb21lIHJlcGxhY2VtZW50IHRyYWNlIG1hY3JvcyB0aGF0IEkgdXNlLCB3aGljaCBleHBlY3QgdGhlIGZvcm1hdCBzdHJpbmcgdG8gYmUKCSAgYXBwZW5kYWJsZSAoaWUgImZvbyAiZm10IGluIHRoZSBtYWNybykKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMjQ1NAoKMjAxMC0wMy0xMCAxMTo0OToyMiAtMDYwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6CgkgIGZpeCB0cmFjZSBtYWNybyB0eXBvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTI0NTQKCjIwMTAtMDMtMTAgMTA6MjY6MjcgLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogZml4IGNvbXBpbGUgZXJyb3IKCSAgZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzo2ODk6IHdhcm5pbmc6IGNvbXBhcmlzb24gaXMgYWx3YXlzIHRydWUgZHVlIHRvIGxpbWl0ZWQgcmFuZ2Ugb2YgZGF0YSB0eXBlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTI0NTQKCjIwMTAtMDMtMTAgMTA6MjM6MjMgLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkgIHF0bXV4OiBmaXggY29tcGlsZSBlcnJvcgoJICBnc3QvcXRtdXgvZ3N0cXRtb292cmVjb3Zlci5jOjI2ODogd2FybmluZzogZm9ybWF0IG5vdCBhIHN0cmluZyBsaXRlcmFsIGFuZCBubyBmb3JtYXQgYXJndW1lbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTI0NTQKCjIwMTAtMDMtMTEgMTE6MjE6MTAgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZGY4YTdjOCB0byBlMjcyZjcxCgoyMDEwLTAzLTExIDExOjI5OjE2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgIG1ldGFkYXRhOiBkb24ndCBjaGVjayBmb3IgTlVMTCB3aGVuIGNhbGxpbmcgZ19mcmVlLgoJICBnX2ZyZWUgZG9lcyB0aGUgY2hlY2sgYWxyZWFkeS4gQWxzbyBzbWFsbCBjb2RlIGxvZ2ljIGNsZWFudXAgYW5kIHdoaXRlc3BhY2UgZml4LgoKMjAxMC0wMy0xMSAxMToyODoxNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkgIG1ldGFkYXRhOiByZW1vdmUgZW1wdHkgc2V0dGVyL2dldHRlciB2bWV0aG9kIGltcGxlbWVudGF0aW9ucwoKMjAxMC0wMy0xMSAxMToxNDo1MyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiBpbmxjdWRlIHN0ZGxpYi5oIGZvciBhYnMoKQoKMjAxMC0wMi0xNyAxMzoxMToxOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkgIG1ldGFkYXRhOiB1cGRhdGUgYnVnIHN0YXR1cwoKMjAwOS0wOS0wOCAwOToxMzowNyArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiByZWZhY3RvciBjcm9wcGluZyBhbmQgYWRhcHRpbmcgY2FwdHVyZWQgaW1hZ2VzCgoyMDA5LTA5LTEwIDEzOjQxOjQwICswMzAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZml4IE5VTEwgLT4gUkVBRFkgc3RhdGUgY2hhbmdlIGZhaWx1cmUgaGFuZGxpbmcuCgkgIEluIHNvbWUgZXJyb3Igc2l0dWF0aW9ucyB0aGUgTlVMTCAtPiBSRUFEWSBzdGF0ZSBjaGFuZ2UgZmFpbGVkCgkgIGFuZCBjYW1lcmFiaW4gZWxlbWVudHMgd2VyZSBub3QgZGVzdHJveWVkLgoKMjAxMC0wMi0xNyAxMTo1MToyNiArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGNhbWVyYWJpbjogZG9uJ3QgdXNlIGdzdF9idXNfcG9sbCgpIHdoZW4gY3JlYXRpbmcgcHJldmlldyBpbWFnZQoJICBBdm9pZCB1c2luZyBnc3RfYnVzX3BvbGwoKSBhcyB0aGUgZG9jcyByZWNvbW1lbmQuIFVzZQoJICBnc3RfYnVzX3RpbWVkX3BvcF9maWx0ZXJlZCgpIGluc3RlYWQuCgoyMDEwLTAzLTEwIDIxOjAxOjIwICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIFVwZGF0ZSBmb3IgcmVjZW50IGNoYW5nZXMgdG8gY29tbW9uIHN1Ym1vZHVsZQoJICBUaGlzIGp1c3QgcmVwbGFjZXMgZXZlcnkgIiRFUlJPUl9DRkxBR1MiIHVzYWdlIHdpdGggYSB1c2FnZSBvZgoJICAiJFdBUk5JTkdfQ0ZMQUdTICRFUlJPUl9DRkxBR1MiIHRvIGdldCB0aGUgc2FtZSBmdW5jdGlvbmFsaXR5IGFzCgkgIHByZXZpb3VzbHkuCgkgIEFjdHVhbGx5IHVzaW5nIHRoYXQgc2VwYXJhdGlvbiB3aWxsIGhhcHBlbiBsYXRlci4KCjIwMTAtMDMtMTAgMjE6NTI6MjAgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOTcyMGE3ZCB0byBkZjhhN2M4CgoyMDEwLTAzLTEwIDIwOjQ0OjA3ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDBiNmUwNzIgdG8gOTcyMGE3ZAoKMjAxMC0wMy0xMCAxNjoxMDowNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3Y2M1ZWI0IHRvIDBiNmUwNzIKCjIwMTAtMDMtMTAgMTE6MzM6MTAgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSAgZG9jczogVXBkYXRlIHRvIG1hdGNoIHJlY2VudCBjb21taXRzCgoyMDEwLTAzLTEwIDAxOjEwOjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gN2FhNjViNSB0byA3Y2M1ZWI0CgoyMDA5LTEyLTA4IDE2OjM2OjE2IC0wNTAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkgIGRjMTM5NDogbGlzdCB2YWxpZCBpc28tc3BlZWRzIGluIGhlbHAgYW5kIHZhbGlkYXRlIHNwZWVkcyBpbiBzZXRfcHJvcGVydHkuCgoyMDA5LTEyLTA4IDE2OjA1OjE0IC0wNTAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkgIGRjMTM5NDogY2hlY2sgaXNvLXNwZWVkIHZhbHVlcyBpbiBzZXRfcHJvcGVydHksIGlnbm9yZSBpZiBpbnZhbGlkCgoyMDA5LTEyLTA4IDE1OjM3OjAzIC0wNTAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0Lmg6CgkgIGRjMTM5NDogYWRkIGlzby1zcGVlZCBwcm9wZXJ0eQoJICBBZGQgaXNvLXNwZWVkIHByb3BlcnR5IHdoaWNoIGFsbG93cyBmb3IgaGlnaGVyIGJhbmR3aWR0aCBkYyB2aWRlby4KCSAgQXV0b21hdGljYWxseSBzZXQgdG8gYi1tb2RlIGFzIG5lZWRlZC4KCSAgRml4ZXMgIzYwMzc0NS4KCjIwMTAtMDMtMDkgMTk6NDg6NDQgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L3NlbGVjdG9yL01ha2VmaWxlLmFtOgoJICBpbnB1dHNlbGVjdG9yOiBmaXggdGhlIExERkxBR1MKCjIwMTAtMDMtMDkgMjE6Mzg6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0NGVjY2U3IHRvIDdhYTY1YjUKCjIwMTAtMDMtMDkgMjE6MjY6MTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogT25seSBlbmFibGUgZnJhbWVzdGF0cyBjb2RlIHdpdGggc2Nocm8gPj0gMS4wLjkKCjIwMTAtMDItMjggMTA6NDI6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJICBmcmVpMHI6IFN5bmMgcHJvcGVydGllcyB0byB0aGUgY29udHJvbGxlciBpZiBvbmUgd2FzIHNldAoKMjAxMC0wMi0yNyAxOTowODo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkgIGZyZWkwcjogUHJvdGVjdCBzZXQvZ2V0IHByb3BlcnR5IGFuZCBwcm9jZXNzaW5nIGZ1bmN0aW9ucyBmcm9tIGNvbmN1cnJlbnQgYWNjZXNzCgkgIFRoZSBmcmVpMHIgZG9jdW1lbnRhdGlvbiBzYXlzIHRoYXQgdGhlc2UgZnVuY3Rpb25zIG11c3Qgbm90IGJlIGNhbGxlZAoJICBvbiB0aGUgc2FtZSBpbnN0YW5jZSBmcm9tIGRpZmZlcmVudCB0aHJlYWRzIGF0IHRoZSBzYW1lIHRpbWUuIEFsbAoJICBvdGhlciBmdW5jdGlvbnMgYXJlIGd1YXJhbnRlZWQgdG8gYmUgdGhyZWFkc2FmZS4KCjIwMTAtMDItMjYgMTY6NDA6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IE1ha2Ugc29tZSBtb3JlIHJ1bGVzIHNpbGVudCBpZiByZXF1ZXN0ZWQKCjIwMTAtMDItMjYgMTU6NDU6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVzZSBhdXRvbWFrZSAxLjExIHNpbGVudCBydWxlcyBpbnN0ZWFkIG9mIHNoYXZlIGlmIGF2YWlsYWJsZQoJICBUaGlzIG1ha2VzIHN1cmUgdGhhdCB3ZSB1c2Ugc29tZXRoaW5nIHRoYXQgaXMgc3RpbGwgbWFpbnRhaW5lZCBhbmQKCSAgYWxzbyBicmluZ3MgYmFjayBsaWJ0b29sIDEuNSBzdXBwb3J0LgoKMjAxMC0wMi0yNiAxNToyNTo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBBZGQgdGVzdCBmb3IgY29ycmVjdCBJNDIwIHJlbmRlcmluZwoKMjAxMC0wMy0wOSAxMjozMzozNyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBBZGQgZnJhbWUtc3RhdHMgbWVzc2FnZQoKMjAxMC0wMy0wOCAyMTowMDoyMSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pbnZ0ZWxlY2luZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiBBZGQgaW52dGVsZWNpbmUgZWxlbWVudAoJICBBdXRvbWF0aWMgaW52ZXJzZSB0ZWxlY2luZSBlbGVtZW50LiAgUmlnaHQgbm93LCBpdCBjbHVtc2lseSBhdHRlbXB0cwoJICB0byByZWFycmFuZ2UgdmlkZW8gZmllbGRzIGludG8gZnJhbWVzIHRoYXQgZG9uJ3QgaGF2ZSBjb21iaW5nIGVmZmVjdHMsCgkgIGFuZCBvbmx5IHdvcmtzIHdpdGggNjBpLzI0cCBjb250ZW50IGF0IDcyMHg0ODAuICBMYXRlciwgaXQgd2lsbCBoYW5kbGUKCSAgb3RoZXIgcHVsbGRvd24gdmFyaWF0aW9ucywgY2hhbmdlIGNhcHMgYW5kIHNtb290aCB0aW1lc3RhbXBzCgkgIGFwcHJvcHJpYXRlbHkuCgoyMDEwLTAzLTAxIDEzOjQ5OjM5ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHBsdWdpbi5jOgoJICBhcGV4c2luazogVXNlICJhcGV4c2luayIgZm9yIHBsdWdpbiBuYW1lCgoyMDEwLTAzLTAxIDEzOjQ3OjMyICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkgIHdtbmM6IFVwZGF0ZSBkZXNjcmlwdGlvbgoKMjAxMC0wMy0wMSAxMzoyMjowNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgIG51dmRlbXV4OiBVcGRhdGUgcGx1Z2luIGRlc2NyaXB0aW9uCgoyMDEwLTAzLTAxIDEzOjE4OjU5ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJICBuc2Y6IE5hbWUgdGhlIHBsdWdpbiBuc2YsIG5vdCBuc2ZkZWMKCSAgVGhlIHBsdWdpbiBpbiBnc3Ruc2Yuc28gc2hvdWxkIGJlIG5hbWVkIG5zZiwgbm90IG5zZmRlYy4KCjIwMTAtMDMtMDggMTI6MjM6NDggLTAzMDAgIFRpYWdvIEthdGNpcGlzIDx0aWFnb2thdGNpcGlzQGdtYWlsLmNvbT4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBzb3VuZHRvdWNoOiByZW1vdmluZyB2ZXJ5IGFubm95aW5nIGdfcHJpbnQoKSBpbiBwaXRjaCBlbGVtZW50CgkgIEZpeGVzICM2MTIyMDguCgoyMDEwLTAzLTA5IDE3OjUwOjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjEwLjE4ID09PQoKMjAxMC0wMy0wNiAwMTo0OToyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjE4CgoyMDEwLTAzLTA2IDAxOjM5OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEwLTAzLTAzIDIzOjQyOjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE3LjQgcHJlLXJlbGVhc2UKCjIwMTAtMDItMjIgMTk6Mzg6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBSZW5hbWUgJ2F2Yy1zYW1wbGUnIHRvICdhdmMnIGluIGNhcHMKCSAgRml4ZXMgIzYwNjY2MgoKMjAxMC0wMi0yMiAxOToyNDowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IFJlcGxhY2UgJ2F2Yy1zYW1wbGUnIHdpdGggJ2F2YycgaW4gY2FwcwoJICBGaXhlcyAjNjA2NjYyCgoyMDEwLTAyLTI4IDIzOjE0OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICBkb2NzOiByZW1vdmUgYml0cyB0aGF0IHJlZmVyIHRvIHBsdWdpbnMgdGhhdCBoYXZlIGJlZW4gbW92ZWQKCjIwMTAtMDItMjYgMTg6MDY6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBEcm9wIHRleHQgYnVmZmVycyBiZWZvcmUgdGhlIHNlZ21lbnQgc3RhcnQgYW5kIGNsaXAgcnVubmluZyB0aW1lIGVuZCB0byB0aGUgc2VnbWVudCBzdG9wCgoyMDEwLTAyLTI3IDExOjIzOjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogQ29uc3VtZSB0ZXh0IGJ1ZmZlcnMgaWYgdGhleSdyZSB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIG5leHQgNTAwbXMKCSAgSW5zdGVhZCBvZiBvbmx5IGNvbnN1bWluZyB0aGVtIGlmIHRoZXkncmUgdG8gYmUgZGlzcGxheSBub3cuIENvbnN1bWluZwoJICB0aGVtIHRoZW4gbWlnaHQgbWFrZSBmb2xsb3dpbmcgYnVmZmVycyB3aXRoIHRoZSBzYW1lIHRpbWVzdGFtcCB0bwoJICBiZSB0b28gbGF0ZS4KCjIwMTAtMDItMjYgMTE6NTA6MjUgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBUYWtlIGxvY2sgYXJvdW5kIHVzZSBvZiAobm9uLXRocmVhZHNhZmUpIHRhZ3NldHRlciBpbnRlcmZhY2UuCgoyMDEwLTAyLTI0IDAyOjAzOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE3LjMgcHJlLXJlbGVhc2UKCjIwMTAtMDItMjMgMTg6MTY6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBQcm90ZWN0IGxpYmFzcyBzdHJ1Y3R1cmVzIGZyb20gY29uY3VycmVudCBhY2Nlc3MgZnJvbSBtdWx0aXBsZSB0aHJlYWRzCgkgIEZpeGVzIGJ1ZyAjNjA4NzUxLgoKMjAxMC0wMi0yMyAxNzoyODowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQ2FsbCAkUEtHX0NPTkZJRyBpbnN0ZWFkIG9mIHBrZy1jb25maWcgdG8gZml4IGNyb3NzIGNvbXBpbGF0aW9uCgoyMDEwLTAyLTIyIDE2OjUxOjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJICBxdG11eDogd3JpdGUgYWxsIHVkdGEgY2hpbGRyZW4gYXRvbXMKCSAgVURUQSBtaWdodCBoYXZlIE1FVEEgYW5kIG90aGVyIGNoaWxkcmVuIGF0b21zCgkgIHRvZ2V0aGVyLCB3cml0ZSB0aGVtIGFsbC4KCjIwMTAtMDItMjIgMTA6NDg6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBxdG11eDogVXNlIGludGVybmFsIHNpbmsgcGFkcyBsaXN0CgkgIER1ZSB0byBHc3RDb2xsZWN0UGFkcyBzaW5rIHBhZHMgbGlzdCBiZWluZyBub3QgcmVsaWFibHkKCSAgaXRlcmF0YWJsZSAod2hlbiBub3QgaW5zaWRlIHRoZSBjb2xsZWN0ZWQgZnVuY3Rpb24pIHRoaXMKCSAgcGF0Y2ggYWRkcyBhIHNpbmsgcGFkcyBsaXN0IHRvIHF0bXV4IHRvIGJlIHVzZWQgd2hlbiBpdGVyYXRpbmcKCSAgc2luayBwYWRzIG9uIHJlc2V0IGZ1bmN0aW9uLgoJICBGaXhlcyAjNjA5MDU1CgoyMDEwLTAyLTIxIDE5OjU3OjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL01ha2VmaWxlLmFtOgoJICBmYWFkOiBmaXggTWFrZWZpbGUuYW0gc29tZSBtb3JlCgkgIEZBQURfQ0ZMQUdTIGFuZCBfTElCUyBzaG91bGQgYmUgYXQgdGhlIGVuZCwgYW5kIC1sZ3N0YXVkaW8tMC4xMAoJICBzaG91bGQgZ28gcmlnaHQgYWZ0ZXIgR1NUX1BMVUdJTlNfQkFTRV9MSUJTLgoKMjAxMC0wMi0xOSAxNToxNzoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSAgZmFhZDogTGluayB3aXRoIGxpYmdzdGJhc2UgZm9yIEdzdEFkYXB0ZXIKCSAgQWxzbyBmaXggb3JkZXIgb2YgQ0ZMQUdTIGFuZCBMSUJTCgoyMDEwLTAyLTE5IDA4OjU4OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTcuMiBwcmUtcmVsZWFzZQoKMjAxMC0wMi0xOSAwODo1ODowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBpZ25vcmUgZ2VuZXJhdGVkIGNvZyBmaWxlcwoKMjAxMC0wMi0xOSAxMDozMjozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogZml4IE5VTEwgcmVmIGFuZCBlcnJvciBoYW5kbGluZyBpZiBubyB2aWRlbyBzaW5rIGlzIGZvdW5kCgkgIElmIG5vIHZpZGVvIHNpbmsgaXMgc2V0IGFuZCBhdXRvdmlkZW9zaW5rIGlzIG5vdCBhdmFpbGFibGUgZm9yIHNvbWUKCSAgcmVhc29uLCBwb3N0IGEgcHJvcGVyIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyB3aGVuIGZhaWxpbmcgdG8KCSAgY2hhbmdlIHN0YXRlLCBhbmQgZG9uJ3QgdHJ5IHRvIGdzdF9vYmplY3RfcmVmKCkgTlVMTCBwb2ludGVycy4gRml4ZXMKCSAgZ2VuZXJpYy9zdGF0ZXMgdW5pdCB0ZXN0IHdoZW4gZGlzdGNoZWNraW5nLgoKMjAwOS0xMi0xMCAxNjozMDoyNiAtMDUwMCAgU3RlcGhlbiBEZXBvb3RlciA8c3RlcGhlbmRAeGFuZHJvcy5jb20+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHQ6IGZpeCBjb21waWxlIGFnYWluc3QgZWFybGllciBDRUxUIHZlcnNpb25zCgkgIENoZWNrIHRoZSBleGlzdGVuY2Ugb2YgdGhlIENFTFRfU0VUX0NPTVBMRVhJVFkgc3ltYm9sCgkgIGJlZm9yZSB0cnlpbmcgdG8gdXNlIGl0LiBGaXhlcyBjb21waWxhdGlvbiBhZ2FpbnN0CgkgIGxpYmNlbHQgMC40LjAuCgkgIEZpeGVzICM2MDQzMTEuCgoyMDEwLTAyLTE3IDEyOjM0OjM4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiByZXR1cm4gb2Zmc2V0K2xlbmd0aCBmcm9tIF9nZXRfaW1hZ2VfbGVuZ3RoKCkuCgkgIF9maW5kX2VuZF9tYXJrZXIoKSBmaW5kIHRoZSBwb3NpdGlvbiBvZiB0aGUgbWFya2VyLiBFT0kgaGFzIGEgZml4ZWQgbGVuZ3RoIG9mIDIKCSAgYnl0ZXMgdGhhdCB3aGVyZSBtaXNzaW5nLiBGaXhlcyAjNjA4OTk4CgoyMDEwLTAyLTE3IDAxOjM0OjQ1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGlnbm9yZSBuZXcgZmFhZCB1bml0IHRlc3QKCjIwMTAtMDItMTcgMDE6Mjk6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogZml4IGludmFsaWQgbWVtb3J5IGFjY2VzcwoJICBTZWUgYnVnICM2MDg5OTguCgoyMDEwLTAyLTE2IDIyOjIzOjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Fzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEZpeCB1bml0IHRlc3QgdG8gYWN0dWFsbHkgY2hlY2sgZm9yIGV2ZXJ5dGhpbmcgdG8gd29yayBjb3JyZWN0bHkKCjIwMTAtMDItMTYgMjI6MjI6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBJZiBubyBjb2RlYyBkYXRhIGlzIHNldCwgc3RpbGwgaW5pdGlhbGl6ZSB0aGUgYXNzIHRyYWNrCgoyMDEwLTAyLTE2IDIxOjQxOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBBZGQgc2ltcGxlIHVuaXQgdGVzdAoJICBUaGlzIHJlbmRlcnMgYSB0ZXN0IHN0cmluZyBvbiB0b3Agb2YgYSByZWQgdmlkZW8gc3RyZWFtIGFuZCBjaGVja3MKCSAgaWYgdGhlIHRleHQgaXMgb25seSByZW5kZXJlZCBhdCB0aGUgY29ycmVjdCB0aW1lc3RhbXBzLgoKMjAxMC0wMi0xNiAyMDozODozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzoKCSAgb2ZhOiBGaXggd2FybmluZyBtZXNzYWdlIHBhcnNpbmcKCjIwMTAtMDItMTYgMTY6NDk6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBndWFyZCBhZ2FpbnN0IGNvZGVjX2RhdGEgZmllbGQgd2l0aCBhIE5VTEwgYnVmZmVyIGluIGNhcHMKCSAgRml4ZXMgIzYwOTQ3OC4KCjIwMTAtMDItMTYgMTc6MTM6MDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkgIHF0bXV4OiBwcmV2ZW50IGxlYWtpbmcgaGRsciBuYW1lCgoyMDEwLTAyLTE2IDE2OjI0OjEyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogc3VwcG9ydCBmb3IgQUxBQwoJICBGaXhlcyAjNTgwNzMxLgoKMjAxMC0wMi0xNiAxNDoxOTowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgcXRtdXg6IHJlZmFjdG9yIGJ1aWxkaW5nIHN0c2QgZW50cnkgJ3dhdmUnIGV4dGVuc2lvbgoKMjAxMC0wMi0xNiAxMDowMDo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIC5zcGVjIGZpbGU6IHNoYXBld2lwZSBhbmQgaXZvcmJpc2RlYyBoYXZlIGJlZW4gbW92ZWQgZWxzZXdoZXJlCgoyMDEwLTAyLTE2IDA5OjQ5OjA1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZG9jczogdW5pZnkgZG9jIHN0eWxlCgkgIFVzZSBndGtkb2Mgc3ludGF4IGFuZCBhZGQgc2hvcnQgZGVzYyBmb3IgdGhlIGV4YW1wbGVzLgoKMjAxMC0wMi0xNSAyMzo0MzowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IHVwIEdTVF9DWFhGTEFHUyBwcm9wZXJseQoJICBXZSBkb24ndCB3YW50IEMgc3BlY2lmaWMgZmxhZ3MgaW4gR1NUX0NYWEZMQUdTLCBzbyBiYXNlIGl0IG9uIHRoZQoJICBHU1RfQ0ZMQUdTIHRoYXQgb25seSBjb250YWlucyB0aGUgcGtnLWNvbmZpZyBDRkxBR1MgYnV0IG5vbmUgb2YKCSAgdGhlIEdTVF9PUFRJT05fQ0ZMQUdTLiBBbHNvLCB3ZSBvbmx5IG5lZWQgdGhlIGxvY2FsIGluY2x1ZGVzIG9uY2UuCgoyMDEwLTAyLTE1IDIzOjE3OjU3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYmFzZSBHU1RfQ1hYRkxBR1Mgb24gLS1jZmxhZ3MgZnJvbSBwa2ctY29uZmlnCgkgIHBrZy1jb25maWcgc2V0cyBHU1RfQ0ZMQUdTIGFuZCBHU1RfTElCUy4gV2UgbmVlZCB0byB1c2UgQ0ZMQUdTIGFzIGEgc3RhcnRpbmcKCSAgcG9pbnQgZm9yIGZvciBib3RoIEMgYW5kIENYWCBzZXR0aW5ncy4KCjIwMTAtMDItMTUgMTI6NTc6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSAgY29nbXNlOiBmaXggcHJpbnRmIGZvcm1hdCBhbmQgYSBmZXcgcmVmIGxlYWtzCgoyMDEwLTAyLTE1IDEyOjQ2OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSogbTQvTWFrZWZpbGUuYW06CgkqIG00L2dzdC1pdm9yYmlzLm00OgoJICBidWlsZDogcmVtb3ZlIHNvbWVtIG1vcmUgaXZvcmJpcyBjcnVmdAoKMjAxMC0wMi0xNSAxMTo1NTowNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10cmVtb3IueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJKiBleHQvaXZvcmJpcy92b3JiaXMuYzoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5oOgoJKiBleHQvaXZvcmJpcy92b3JiaXNlbmMuaDoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJICBNb3ZlZCAnaXZvcmJpcyhkZWMpJyBmcm9tIC1iYWQgdG8gLWJhc2UuCgkgIEZpeGVzICM2MDkwNjMuCgoyMDEwLTAyLTE1IDA5OjM2OjA1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkgIGhkdnBhcnNlOiBGaXggZmllbGQgZXJyb3IuCgkgIFNwb3R0ZWQgYnkgQnVya2hhcmQgUGxhdW0KCjIwMTAtMDItMTUgMDE6MjY6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkgIHRlc3RzOiBmaXggY2FwcyBsZWFrIGluIGpwZWdwYXJzZSB1bml0IHRlc3QKCjIwMTAtMDItMTMgMTU6Mjg6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGF0YXVyaXNyYy5jOgoJICB0ZXN0czogYWRkIHVuaXQgdGVzdCBmb3IgZGF0YXVyaXNyYwoJICBSZXF1aXJlcyBmaXhlcyBmcm9tIGNvcmUgZ2l0LCBzbyBidW1wIGNvcmUgcmVxdWlyZW1lbnQgdG8gZ2l0IGFzIHdlbGwuCgoyMDEwLTAyLTE0IDIzOjE4OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOTZkYzc5MyB0byA0NGVjY2U3CgoyMDEwLTAyLTE0IDE1OjIyOjA1ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS51aToKCSAgZXhhbXBsZXM6IENhbGwgZ3N0X2Vuc3VyZV9uYXRpdmVfd2luZG93KCkgZm9yIGdzdC1jYW1lcmEKCSAgRml4ZXMgc3B1cmlvdXMgU0VHVnMgZHVlIHRvIG11bHRpdGhyZWFkaW5nIGNvbmZsaWN0cyBpbgoJICBjbGllbnQtc2lkZS13aW5kb3cgR3RrIHZlcnNpb25zLgoKMjAxMC0wMi0xNCAxMzo0MzowNCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSAgZXhhbXBsZXM6IFVzZSBndGsgZnVuY3Rpb25zIGluc3RlYWQgb2YgbGliWDExIGZ1bmN0aW9ucyBpbiBjYW1lcmFiaW4KCSAgR2V0cyBhcm91bmQgdGhlIG5lZWQgdG8gbGluayB0byBsaWJYMTEgZGlyZWN0bHkgYW5kIHByb3ZpZGVzIHRoZSBzYW1lCgkgIGZ1bmN0aW9uYWxpdHkuCgkgIFRvIGJvb3N0LCBpdCdzIG1vcmUgcG9ydGFibGUsIHRvbyEKCjIwMTAtMDItMTQgMTM6NDE6NTcgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogUHJvcGVybHkgbGluayB0byBsaWJtCgoyMDEwLTAyLTEzIDExOjAwOjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJICBBZGQgc2hhcGV3aXBlIGV4YW1wbGVzIGRpcmVjdG9yeSB0byBDUlVGVF9ESVJTCgoyMDEwLTAyLTEyIDExOjM1OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWx2Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkgIGRvY3M6IFVwZGF0ZSBkb2N1bWVudGF0aW9uCgoyMDEwLTAyLTEyIDExOjIxOjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGdzdC9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkgIE1vdmVkICdzaGFwZXdpcGUnIGZyb20gLWJhZCB0byAtZ29vZAoJICBGaXhlcyBidWcgIzU4NDUzNi4KCjIwMTAtMDItMTEgMjE6NTc6NDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGFkZCBkb2N1bWVudGF0aW9uCgoyMDEwLTAyLTExIDIwOjM3OjU1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFkLmM6CgkgIGZhYWQ6IGFkZCB1bml0IHRlc3QKCjIwMTAtMDItMTEgMjA6MjE6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBmaXggZG9jdW1lbnRhdGlvbiB0eXBvCgoyMDEwLTAyLTExIDIwOjIxOjE3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogcmVtb3ZlIHNvbWUgcmVkdW5kYW50IGNvZGUKCSAgLi4uIGFuZCBtb3ZlIGFuZCBtb2RpZnkgc29tZSBkZWJ1ZyBsb2dnaW5nLgoKMjAxMC0wMi0xMCAyMzoyOToyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGRyYWluIHN5bmMgcGVuZGluZyBmcmFtZXMgd2hlbiBhcHByb3ByaWF0ZQoKMjAxMC0wMi0xMCAyMzoxNDo0OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHNlbmQgdGFncyBleGFjdGx5IG9uY2Ugd2hlbiBpbml0J2VkCgoyMDEwLTAyLTEwIDIzOjE0OjIxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogcmVmYWN0b3Igc29tZSBwYXJ0aWFsIHN0cmVhbSByZXNldAoKMjAxMC0wMi0xMCAyMjoxNDowNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGNvcnJlY3RseSBlc3RpbWF0ZSBhdmVyYWdlIGJwcwoJICBDb3VudCBjb25zdW1lZCBieXRlcyBhbmQgY29ycmVzcG9uZGluZyBkdXJhdGlvbiBhdG9taWNhbGx5LAoJICByYXRoZXIgdGhhbiBsZXR0aW5nIGJ5dGVjb3VudCBydW4gYWhlYWQgb2Ygd2hhdCBoYXMgYmVlbiBkZWNvZGVkLgoJICBGaXhlcyAjNDQwNDc2LgoKMjAxMC0wMi0xMCAyMTo0OTowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGdpdmUgdXAgYWZ0ZXIgc29tZSBudW1iZXIgb2YgZGVjb2RpbmcgZmFpbHVyZXMKCjIwMTAtMDItMTAgMjE6Mzc6MTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIGZhYWQ6IGRvIG5vdCBhdHRlbXB0IHRvIHN5bmMgaW5kZWZpbml0ZWx5CgoyMDEwLTAyLTEwIDIxOjEyOjA3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBmYWFkOiB1c2UgYWRhcHRlciByYXRoZXIgdGhhbiB0ZW1wb3JhcnkgYnVmZmVyCgoyMDEwLTAyLTEwIDE5OjE0OjE5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogb2JqZWN0aWZ5IGRlYnVnIHN0YXRlbWVudHMgYW5kIGFkanVzdCBzb21lIGxldmVscwoKMjAxMC0wMi0xMCAxODo0NjoxNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHJlZmFjdG9yIHNyYyBjYXBzIChyZSluZWdvdGlhdGlvbiBhbmQgcmVmbG93IHNvbWUgZXJyb3IgZXhpdHMKCjIwMTAtMDItMDkgMjM6MzU6MjAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIGZhYWQ6IHJlbW92ZSBkZWZ1bmN0IGFuZCBvdGhlcndpc2Ugb2Jzb2xldGUgY29kZQoKMjAxMC0wMi0wOSAyMzoyNToxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHJlZmFjdG9yIHJlc2V0CgoyMDEwLTAyLTA5IDIyOjQ2OjMyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBmYWFkOiB1c2UgYW4gaW4gc3RydWN0IHNlZ21lbnQgcmF0aGVyIHRoYW4gYSBzZXBhcmF0ZWx5IGFsbG9jYXRlZCBvbmUKCjIwMTAtMDItMTAgMTA6NTI6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBQcmVzZXJ2ZSB0aGUgaW5wdXQgY29sb3IgdmFsdWVzIGluIGFsbCBjYXNlcwoKMjAxMC0wMi0xMCAxMDo1MDo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IFNjYWxlIG1hc2sgYWxwaGEgdmFsdWVzIGJ5IHRoZSBzb3VyY2UgYWxwaGEgdmFsdWVzCgoyMDEwLTAyLTEwIDEwOjQyOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogRml4IEFSR0IgcHJvY2Vzc2luZwoKMjAxMC0wMi0xMCAxMDozNDoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSAgc2hhcGV3aXBlOiBQcmludCBzb21lIG1vcmUgZGV0YWlscyBvbiBlcnJvci93YXJuaW5nIG1lc3NhZ2VzCgoyMDEwLTAyLTA5IDE1OjIwOjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IE5ldmVyIGZsdXNoIG1vcmUgYnl0ZXMgdGhhbiBhdmFpbGFibGUKCSAgVGhpcyBjb3VsZCBoYXBwZW4gaWYgdGhlIGlucHV0IGRvZXNuJ3QgY29udGFpbiBhbnkgTVBFRyBUUwoJICBkYXRhIGFuZCB0aGUgY29tcGxldGUgYWRhcHRlciBjb250ZW50IHNob3VsZCBiZSBza2lwcGVkLgoKMjAxMC0wMi0wOCAxMTo1MTo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXNyZWNvdmVyeS5jOgoJICBxdG11eDogYXRvbXNyZWNvdmVyeTogRml4IGNvbXBpbGF0aW9uIHByb2JsZW0KCSAgRml4ZXMgYSBjb21waWxhdGlvbiBlcnJvciBkdWUgdG8gdW51c2VkIGZ1bmN0aW9uIHJlc3VsdC4KCjIwMTAtMDItMDggMDg6MjY6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBJbXByb3ZlL2FkZCBkZWJ1ZyBvdXRwdXQKCjIwMTAtMDItMDggMDg6MjA6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBBbHdheXMgaG9sZCB0aGUgbWFzayBtdXRleCBiZWZvcmUgc2lnbmFsbGluZyB0aGUgR0NvbmQKCjIwMTAtMDItMDggMDg6MTk6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBNb3ZlIGNoYWluIGZ1bmN0aW9uIGVycm9yIGNhc2VzIGF0IHRoZSBlbmQgb2YgdGhlIGZ1bmN0aW9uIGFuZCBhZGQgdXNlZnVsIGRlYnVnIG91dHB1dAoKMjAxMC0wMi0wOCAwODoxMjoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJICBzaGFwZXdpcGU6IEZpeCByYWNlIGNvbmRpdGlvbiBkdXJpbmcgc2h1dGRvd24gdGhhdCBjYW4gbGVhZCB0byBhIGRlYWRsb2NrCgoyMDEwLTAyLTA4IDA4OjExOjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogRHJvcCBtYXNrIGJ1ZmZlciBvbiBGTFVTSCBldmVudHMKCjIwMTAtMDItMDggMDg6MDk6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSAgc2hhcGV3aXBlOiBVcGRhdGUgY29weXJpZ2h0IHllYXIKCjIwMTAtMDItMDggMDg6MDg6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBEb24ndCByZXNldCBwcm9wZXJ0aWVzIHdoZW4gZ29pbmcgUEFVU0VELT5SRUFEWQoJICBBbHNvIHVzZSBkZWZpbmVzIGZvciB0aGUgZGVmYXVsdCB2YWx1ZXMgb2YgdGhlIHByb3BlcnRpZXMuCgoyMDEwLTAyLTA3IDExOjA5OjQ1ICswMTAwICBEYXZpZCBIb3l0IDxkaG95dEBsbG5sLmdvdj4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSAgcnN2Z2RlYzogZml4IGNvbXBpbGF0aW9uIHdpdGggTVNWQwoJICBNU1ZDIGRvZXNuJ3QgbGlrZSAjaWYgI2Vsc2Ugd2l0aGluIHN0YXRlbWVudHMuCgkgIEZpeGVzICM2MDkyMTUuCgoyMDEwLTAxLTI2IDE3OjA4OjA0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJICBrYXRlZGVjOiBkb24ndCBlc2NhcGUgc3BlY2lhbCBjaGFyYWN0ZXJzCgkgIERvbid0IGVzY2FwZSBzcGVjaWFsIGNoYXJhY3RlcnMsIGFzIHdlJ2xsIHNlbmQgdGhlIGJ1ZmZlciBhcwoJICB0ZXh0L3BsYWluIHJhdGhlciB0aGFuIHRleHQveC1wYW5nby1tYXJrdXA7IHRoaXMgYXZvaWRzIGUuZy4KCSAgcXVvdGVzIGZyb20gYXBwZWFyaW5nIGFzICZxdW90OyBpbiB0aGUgcmVuZGVyZWQgc3VidGl0bGVzLgoJICBTZWUgYnVnICM2MDA5MjkuCgoyMDEwLTAxLTI0IDExOjE0OjE1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIGthdGU6IHJlbmFtZSB0aGUgdGlnZXIgb3ZlcmxheSBlbGVtZW50J3Mgc2luayBwYWQgdG8gJ3N1YnRpdGxlX3NpbmsnCgkgIEFzIHRoaXMgaXMgd2hhdCBwbGF5YmluMiBleHBlY3RzLiBTZWUgYnVnICM2MDA5MjkuCgoyMDEwLTAyLTA3IDEwOjE5OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdmb3JtYXQuYzoKCSAganBlZ3BhcnNlOiBsb3dlciByYW5rIHRvIE5PTkUgc28gaXQgaXMgbm90IGF1dG9wbHVnZ2VkIGZvciBkZWNvZGluZwoJICBUaGlzIGVsZW1lbnQgaXMgdG9vIG5ldyBhbmQgdG9vIHVudGVzdGVkIHRvIGhhdmUgaXQgYXV0b3BsdWdnZWQuCgoyMDEwLTAyLTA1IDE3OjI1OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IEZpeCB1bml0IHRlc3QKCSAgVGhlIHBhcnNlZCBidWZmZXJzIGhhdmUgYSBmcmFtZXJhdGUgb2YgMS8xLgoJICBGaXhlcyBidWcgIzYwODk5OC4KCjIwMTAtMDItMDUgMTA6MTg6MzkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuYzoKCSAgbWV0YWRhdGE6IGFwcGVuZF9zb3J0ZWQgc2hvdWxkIHJlYWxseSBhcHBlbmQgc29ydGVkCgkgIC4uLiB3aGljaCBtZWFucyB0aGF0IGlkZW50aWNhbCBvZmZzZXRfb3JpZyBzaG91bGQgcHJlc2VydmUgdGhlIG9yZGVyCgkgIGluIHdoaWNoIHRoZXkgYXJlIGFwcGVuZGVkLgoKMjAxMC0wMi0wNSAxMDoxNjoyNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5jOgoJICBtZXRhZGF0YTogdXNlIGEgbm9uLURFRkFVTFQgcHJvcGVyIGRlYnVnIGNhdGVnb3J5IGluIGhlbHBlciBmaWxlcwoKMjAxMC0wMi0wNCAxOTo0NTo0MiArMDEwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGZsdWVuZG8uY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfaDI2NC5jOgoJICBtcGVndHNtdXg6IEZpeCBhIHBvdGVudGlhbCB1bnJlZiBvZiBhIE5VTEwgcG9pbnRlci4KCSAgQXQgZmlyc3QgaXRlcmF0aW9uIHdlIGRvbid0IGhhdmUgYW55IGNhY2hlZCBTUFMvUFBTIGJ1ZmZlciB0byBmcmVlLgoKMjAxMC0wMi0wMiAxMTo0MzoyMiAtMDUwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IGFkZCBQQVQvUE1UIGluIHN0cmVhbWhlYWRlcgoJICBUaGUgY2hlY2sgZm9yIFBBVC9QTVQgYnVmZmVycyB3YXMgc3VnZ2VzdGVkIGJ5CgkgIFphaGVlciBBYmJhcyBNZXJhbGkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDg4OTYKCjIwMTAtMDItMDMgMTM6MzE6MjIgKzAxMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Y29tbW9uLmg6CgkgIG1wZWd0c211eDogYWRkIHBhdC1pbnRlcnZhbCBhbmQgcG10LWludGVydmFsIHByb3BlcnRpZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwODg5NgoKMjAxMC0wMi0wMyAxMzo0MToyNyArMDEwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBmaXggUEFUL1BNVCBpbnNlcnRpb24gZnJlcXVlbmN5CgkgIFRoZSBjdXJyZW50IGNvZGUgaXMgY29tcGFyaW5nIHRpbWVzdGFtcHMgd2l0aCBkaWZmZXJlbnQgY2xvY2suCgkgIExldCdzIHVzZSBvbmx5IHRoZSBjbG9jayBmb3IgUFRTIHZhbHVlcy4KCSAgQWxzbyByZW5hbWUgZnJlcXVlbmN5IHRvIGludGVydmFsLCB0byBhdm9pZCBjb25mdXNpb24uIEFuZCByZW1vdmUKCSAgZG9jdW1lbnRhdGlvbiBhYm91dCB2YWx1ZSAwLCB3aGljaCB3b24ndCB3b3JrIGxpa2UgZG9jdW1lbnRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwODg5NgoKMjAxMC0wMS0yNyAxNjoyOTowMCArMDEwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBtYXJraW5nIG5vbi1kZWx0YSB1bml0LCBpbmNsdWRpbmcgcHJlLXNlY3Rpb25zCgkgIFRoaXMgcGF0Y2ggYWRkcmVzcyB0aGUgaXNzdWUgb2JzZXJ2ZWQgd2l0aCBLRiB0aW1lc3RhbXBzCgkgIGFuZCBkZWx0YSBmbGFnLiBXaGVuIGEgc2VjdGlvbiBpcyBhcHBlbmRlZCBiZWZvcmUgdGhlIGtleWZyYW1lLAoJICBpdCBpcyBub3QgbWFya2VkIGFzIG5vbi1kZWx0YS4gSXQncyBwcmVmZXJhYmxlIHRvIG1hcmsgdGhlCgkgIGZpcnN0IGJ1ZmZlciBub24tZGVsdGEuCgkgIFRoaXMgcGF0Y2ggYWxzbyBzaW1wbGlmeSB0aGUgaW5pdGlhbCBwYXRjaCB3cml0dGVuIGJ5IHRob21hcywKCSAgc2luY2UgaXQgZG9lcyBub3QgY2x1dHRlciB0c211eC8gd2l0aCBhIGRlbHRhIGZsYWcgcGFzc2VkCgkgIGFyb3VuZCBvbmx5IGZvciBHU3RyZWFtZXIgY29udmVuaWVuY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDQ5MDgKCjIwMTAtMDItMDMgMTU6MDc6MDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9qcGVnZm9ybWF0L01ha2VmaWxlLmFtOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4Lmg6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdmb3JtYXQuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ2Zvcm1hdC5oOgoJICBqcGVnZm9ybWF0OiBhZGQgYSBiYXNpYyBqaWZtdXhlcgoJICBUaGUgbmV3IGVsZW1lbnQgY2FuIGNob3AgYW5kIHJlYXNzZW1ibGUgdGhlIG1hcmtlcnMuIEkgaW1wbGVtZW50cyB0aGUgdGFnc2V0dGVyCgkgIGFuZCBmb3Igbm93IGNhbiBzZXJpYWxpemUgc29tZSB0YWdzIHRvIGpwZWcgY29tbWVudHMuCgoyMDA5LTEyLTEyIDE2OjA3OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvcXRtdXgvYXRvbXNyZWNvdmVyeS5oOgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG1vb3ZyZWNvdmVyLmM6CgkqIGdzdC9xdG11eC9nc3RxdG1vb3ZyZWNvdmVyLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4cGx1Z2luLmM6CgkgIHF0bXV4OiBBZGRzIG1vb3YgcmVjb3ZlcnkgZmVhdHVyZQoJICBBZGRzIGEgbmV3IHByb3BlcnR5IHRvIHF0bXV4IHRoYXQgc2V0cyBhIHBhdGggdG8gYSBmaWxlIHRvIHdyaXRlCgkgIGFuZCB1cGRhdGUgZGF0YSBhYm91dCB0aGUgbW9vdiBhdG9tICh0aGF0IGlzIG5vdCB3cml0ZW4gdGlsbCB0aGUKCSAgZW5kIG9mIHRoZSBmaWxlKS4gSWYgdGhlIHBpcGVsaW5lL2FwcCBjcmFzaGVzIGR1cmluZyBleGVjdXRpb24gaXQKCSAgbWlnaHQgYmUgcG9zc2libGUgdG8gcmVjb3ZlciB0aGUgbW92aWUgdXNpbmcgdGhlIHF0bW9vdnJlY292ZXIgZWxlbWVudC4KCSAgcXRtb292cmVjb3ZlciBpcyBhbiBlbGVtZW50IHRoYXQgaXMgYWxzbyBhIHBpcGVsaW5lLiBJdCBpcyBub3QKCSAgbWVhbnQgdG8gYmUgdXNlZCB3aXRoIG90aGVyIGVsZW1lbnRzIChpdCBoYXMgbm8gcGFkcykuIEl0IGlzIG1lcmVseQoJICBhIHRvb2wvdXRpbGl0YXJ5IHRvIHJlY292ZXIgdW5maW5pc2hlZCBxdG11eCBmaWxlcy4KCSAgRml4ZXMgIzYwMTU3NgoKMjAxMC0wMi0wMiAxMToyMjowNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ2Zvcm1hdC5oOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBpbXByb3ZlIHBhcnNpbmcKCSAgSGFuZGxlIG1vcmUgYXBwIG1ha2VyLiBQcmludCBhcHAgbWFya2VyIG5hbWVzIHRvIGRlYnVnIGxvZy4gUmVtZW1iZXIgbGFzdF9tYXJrZXIKCSAgd2hlbiBwYXJzaW5nIHRvIGF2b2lkIHJlcGFyc2luZyBmcm9tIHRoZSB2ZXJ5IGJlZ2luLgoKMjAxMC0wMi0wMiAxMjoyMzoyNCArMDEwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGZsdWVuZG8uY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfaDI2NC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9oMjY0Lmg6CgkgIG1wZWd0c211eDogZ2VuZXJhdGUgU1BTL1BQUyBoZWFkZXIgb25jZSBhbmQgZml4IG92ZXJmbG93CgkgIFNvbWUgSDI2NCBwYWNrZXRzIGNhbiBiZSBhcyBzbWFsbCBhcyA1IGJ5dGVzIGZvciByZXBlYXRlZCBmcmFtZXMuCgkgIEluIHN1Y2ggYSBzaXR1YXRpb24gdGhlIG91dHB1dCBidWZmZXIgc2l6ZSB3YXMgbm90IGJpZyBlbm91Z2ggKDUqMikgdG8gZml0IHRoZQoJICBTUFMvUFBTIGhlYWRlciBhbmQgdGhlIHN0YXJ0IGNvZGVzLiBUaGlzIGNvcnJ1cHRzIHRoZSBFUyBzdHJlYW0uCgkgIFdlIG5vdyBnZW5lcmF0ZSB0aGUgU1BTL1BQUyBvbmx5IG9uY2Ugd2hpY2ggaXMgbXVjaCBtb3JlIG9wdGltYWwgYW5kIHdlIG5vdwoJICBrbm93IHRoZSBzaXplIG9mIHRoZSBoZWFkZXIgdG8gY2FsY3VsYXRlIHRoZSBvdXRwdXQgYnVmZmVyIHNpemUgbW9yZSBzYWZlbHkuCgoyMDEwLTAyLTAyIDAxOjQ0OjIwICswMTAwICBHcmlnb3JpIEdvcm9uenkgPGdyZWdAYmxhY2tib3g+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IGluc3RydWN0IGxpYmFzcyB0byB1c2UgbGlnaHQgYXV0b2hpbnRpbmcKCSAgRml4ZXMgYnVnICM2MDg3NTMuCgoyMDEwLTAyLTAyIDA4OjUzOjUzICswMTAwICBFcmljIEFwcGxlbWFuIDxlcmFwcGxlbWFuQGdtYWlsLmNvbT4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRG9uJ3Qgc2NhbiBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IHJlY3Vyc2l2ZWx5IGZvciBmb250cwoJICBUaGlzIGNhbiB0YWtlIGEgdmVyeSBsb25nIHRpbWUgYW5kIGFsc28gbGliYXNzIHdpbGwgb3ZlcndyaXRlIGZpbGVzCgkgIGlmIHRoZXJlJ3MgYW4gZW1iZWRkZWQgZm9udCB3aXRoIHRoZSBzYW1lIGZpbGVuYW1lIGFzIGFuIGV4aXN0aW5nIGZpbGUuCgkgIEZpeGVzIGJ1ZyAjNTc1ODc4IGFuZCAjNjA4NzA2LgoKMjAxMC0wMi0wMSAxNjoyNjozNiAtMDgwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICBkc2hvd3ZpZGVvc2luazogZG9uJ3QgY3Jhc2ggb24gaW52YWxpZCBBTV9NRURJQV9UWVBFCgoyMDEwLTAxLTI3IDE5OjA2OjUzIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJICBxdG11eDogZm9yIGZpeGVkLXNhbXBsZSBzaXplIHN0cmVhbXMgKFBDTSBhdWRpbywgZXRjKSBkb24ndCBhbGxvY2F0ZSBhbiBlbm9ybW91cyBidWZmZXIgdGhhdCB3ZSB0aGVuIHdvbid0IHVzZSBhdCBhbGwuCgoyMDEwLTAxLTI3IDE1OjM3OjM3IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogaGFuZGxlIG11eGluZyBhZHBjbSBjb3JyZWN0bHkuCgoyMDEwLTAxLTIyIDEzOjM2OjA0IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJICBxdG11eDogU2V0IHRoZSBtZGlhIGhkbHIgbmFtZSBmaWVsZCB0byB3aGF0IHF1aWNrdGltZSB1c2VzLiBGaXggd3JpdGluZyBpdCBzaW5jZSBpdCdzIG5vdCBudWxsLXRlcm1pbmF0ZWQuIEltcHJvdmVzIGNvbXBhdGliaWxpdHkgd2l0aCBzb21lIGhhcmR3YXJlIHBsYXllcnMuCgoyMDEwLTAxLTIyIDEzOjMwOjA3IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZW5kaWFubmVzcyBpbiBnc3RyZWFtZXIgaXMgYW4gaW50LCBub3QgYm9vbGVhbi4KCjIwMTAtMDEtMTYgMTM6MTc6MDggLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBwYXJzZSBtb3JlIGZvcm1zIG9mIGNvZGVjX2RhdGEKCjIwMTAtMDItMDEgMjI6Mzc6MzkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2MjogY29kZSBjbGVhbnVwcwoJICBNb3JlIGxvZ2dpbmcgYW5kIGNvbW1lbnRzLiBSZW5hbWUgc29tZSB2YXJzIGZvciBjb25zaXN0ZW5jeS4gRnVsbHkgaW5pdCBwb3J0CgkgIHN0cnVjdC4KCjIwMTAtMDItMDEgMjI6MzI6MzIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkgIHNpZ25hbHByb2Nlc3NvcixsdjIsbGFkc3BhOiBtb3ZlIHNhbXBsZS1yYXRlIHRvIGJhc2VjbGFzcwoJICBXZSBuZWVkIHRoZSBzYW1wbGUtcmF0ZSBpbiBiYXNlY2xhc3MgZm9yIHVwY29tbWluZyB0aW1lc3RhbXAgY2hhbmdlcy4KCjIwMTAtMDItMDEgMjI6MjQ6NTIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvUkVBRE1FOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IHNob3J0ZXIgZWxlbWVudCBuYW1lcwoJICBDdXQgb2ZmIHRoZSBwcm90b2NvbCBwYXJ0IGZyb20gdGhlIHVyaS4gQWxzbyBqdXN0IGdfU3RyZHVwLCBpbnN0ZWFkIG9mIHByaW50ZgoJICB0aGUgbmFtZS4KCjIwMTAtMDItMDEgMTc6NDY6MjkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IHByb3ZpZGUgYSBnZXRjYXBzIGZ1bmN0aW9uIGZvciBzcmMgcGFkIGFuZCBpbXByb3ZlIHNldGNhcHMKCSAgUHJldmlvdXNseSBqcGVncGFyc2Ugd2FzIGZhaWxpbmcgaW4gZGVjb2RlYmluIGFzIHRoZSBjYXBzIHdlIHdlcmUgc2V0dGluZyB3aGVyZSBub3QKCSAgc2V0dGluZyBhbGwgY2FwcyBmaWVsZHMuIFdlIG5lZWQgdGhlIG93biBnZXRjYXBzIGZ1bmN0aW9uIHRvIHJlcG9ydCB3aGF0IHdlIGFjdHVhbHkKCSAgYWNjZXB0LgoKMjAxMC0wMi0wMSAxNzoxNjoxNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogZXh0cmFjdCBjb21tZW50IGFuZCBwb3N0IGFzIG1ldGFkYXRhCgoyMDEwLTAyLTAxIDE1OjA0OjI4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvanBlZ2Zvcm1hdC9NYWtlZmlsZS5hbToKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ2Zvcm1hdC5oOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmg6CgkgIGpwZWdmb3JtYXQ6IGNvZGUgY2xlYW51cHMKCSAgTW92ZSB0aGUganBlZyBtYXJrZXIgZGVmaW5lcyB0byBhIGhlYWRlciAodG8gYmUgdXNlZCBmb3IgamlmbXV4KS4gUmV3cml0ZSBzb21lCgkgIGNvbW1lbnRzLiBVc2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCkuIEFkZCBtb3JlIGxvZ2dpbmcuCgoyMDEwLTAxLTMxIDIyOjIxOjQyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IHNpbXBpZnkgcHJvcGVydHkgcmVnaXN0cmF0aW9uCgkgIEF2b2lkIHR5cGUgY2hla2luZyBjYXN0cyBmb3IgZWFjaCBwcm9wZXJ0eS4gVXNlIGEgcnVubmluZyBpbmRleC4KCjIwMTAtMDEtMzEgMjI6MTY6MTggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogdXNlIHRoZSBnc3QtY29udHJvbGxlciwgYWRkIHNvbWUgYmFzaWMgdGltZXN0YW1waW5nCgkgIEF0bGVhc3QgZm9yIEZYIHdlIG5vdyBoYXZlIHRpbWVzdGFtcHMgYW5kIGNhbiBzeW5jIHRoZSBjb250cm9sbGVyLiBTdGlsbCBuZWVkCgkgIHRpbWVzdGFtcHMgZm9yIHNvdXJjZXMuCgoyMDEwLTAxLTMxIDIyOjE0OjA0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IHNpbXBsaWZ5IHByb3BlcnR5IHJlZ2lzdHJhdGlvbgoJICBEb24ndCBkbyBjaGVja2luZyBjYXN0IGZvciBlYWNoIHBhcmFtZXRlci4gVXNlIGEgcnVubmluZyBpbmRleC4KCjIwMTAtMDEtMzEgMjI6MTM6MDYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2MjogdXNlIHBsdWdpbiBkZXBlbmRlbmN5IHJlZ2lzdHJ5IGFwaQoKMjAxMC0wMS0zMSAyMjoxMTo0MCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbHYyOiBsb29rdXAgR1F1YXJrIGp1c3Qgb25jZSBpbnN0ZWFkIGZvciBlYWNoIHBsdWdpbisxCgoyMDEwLTAxLTMxIDIyOjA4OjMzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IGxvb2t1cCBHUXVhcmsganVzdCBvbmNlIGFuZCBub3QgZm9yIGVhY2ggcGx1Z2luKzEKCjIwMTAtMDEtMzEgMjI6MDc6MDkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogdGhlc2UgYXJlIG5vdCBndGstZG9jIGNvbW1lbnRzCgoyMDEwLTAxLTMxIDIyOjA1OjMwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbHYyL01ha2VmaWxlLmFtOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsYWRzcGEvbHYyOiBsaW5rIGFuZCBpbml0IHRvIGdzdC1jb250cm9sbGVyCgoyMDEwLTAxLTMxIDE1OjUzOjI3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IG5ldyBpcyBhIGMrKyBrZXl3b3JkLCBiZXR0ZXIgbG9nZ2luZwoJICBVc2UgcGFkIGluc3RlYWQgb2YgbmV3IGZvciB0aGUgcGFkIHZhci4gQWxzbyB1c2UgcGFkIGFzIG9iamVjdCBpbiB0byBkZWJ1ZwoJICBsb2dnaW5nLgoKMjAxMC0wMS0zMCAxNToxOTozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDE1ZDQ3YTYgdG8gOTZkYzc5MwoKMjAxMC0wMS0yOSAxMjoyNTowOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2pwZWdmb3JtYXQvTWFrZWZpbGUuYW06CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdmb3JtYXQuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdmb3JtYXQ6IG1vdmUgcGx1Z2luIHBhcnQgdG8gc3BlcGFyYXRlIGZpbGUsIHNvIHRoYXQgd2UgY2FuIGFkZCB0aGUgamlmbXV4CgoyMDEwLTAxLTI5IDExOjM5OjUwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkgIGRvY3M6IHVwZGF0ZSBvZiB0aGUgcGx1Z2luIGRvY3MsIGFkZGluZyBuZXcgaW50cm9zcGVjdCBkYXRhCgoyMDA5LTA4LTE5IDEyOjIyOjMwICswMjAwICBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0QG1pbmQuYmU+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2pwZWdmb3JtYXQvTWFrZWZpbGUuYW06CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IG5ldyBqcGVnIHBhcnNlciBlbGVtZW50LiBGSXhlcyAjNTgzMDk4CgkgIFBhcnNlIEpQRUcgaW1hZ2VzLCBleHRyYWN0cyBpdHMgbWV0YWRhdGEsIHNldCBjYXBzIGFuZAoJICBwYWNrZXRpemUgYW4gaW1hZ2UgcGVyIGJ1ZmZlci4KCjIwMTAtMDEtMjggMTU6MDA6MzIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkgIGNhbWVyYWJpbi1leGFtcGxlOiBjbGVhbnVwcyBmb3IgbWFpbmxvb3AgYW5kIHN0YXRlLWNoYW5nZXMuIEZpeGVzICM2MDgwNDIKCSAgU3RhcnQgY2FtZXJhYmluIHZpYSBpZGxlIGhhbmRsZXIgdG8gaGF2ZSB0aGUgbWFpbmxvb3AgYWxyZWFkeSBydW5uaW5nLiBBdm9pZAoJICBzb21lIHVubmVjZXNzYXJ5IHN0YXRlIGNoYW5nZXMuIENsZWFudXAgdGhlIGJ1cyB1c2FnZSB3aGVuIHJlc3RhcnRpbmcuCgoyMDEwLTAxLTI4IDE0OjU3OjA2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGRvbid0IGxvZyBOVUxMIGNhcHMsIGFsc28gZG93bmdyYWRlIHRvIERFQlVHIGFzIGl0IGlzIHZlcnkgdmVyYm9zZQoJICBUaGlzIGRlYnVnIGxvZyBlbnRyeSB3YXMgYWxzbyBub3QgbWVudCB0byBiZSB1c2VkIGluIHRoZSBmYWlsdXJlIGNhc2UuCgoyMDEwLTAxLTI4IDAwOjA3OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSAgZGF0YXVyaXNyYzogYWRkIHN0YXJ0IGZ1bmN0aW9uIHNvIHdlIGNhbiBlcnJvciBvdXQgcHJvcGVybHkgaWYgbm8gdXJpIGlzIHNldAoJICBBbHNvIHNhdmUgYSBzZXQgVVJJIGFmdGVyIGl0IGhhcyBiZWVuIHBhcnNlZCBzdWNjZXNzZnVsbHksIHNvIHRoYXQgX2dldF91cmkoKQoJICBhY3R1YWxseSB3b3Jrcy4KCjIwMTAtMDEtMjcgMjM6NDY6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJICBkYXRhdXJpc3JjOiBkb24ndCBwb3N0IGVycm9yIG1lc3NhZ2Ugd2hlbiBzZXR0aW5nIHRoZSBVUkkgZmFpbGVkCgkgIFRoZXJlJ3MgYSBnYm9vbGVhbiByZXR1cm4gZm9yIHRoYXQsIGFuZCB0aGUgbWVzc2FnZXMgZG9uJ3QgcmVhbGx5CgkgIGFkZCBhbnl0aGluZyB1c2VmdWwuCgoyMDEwLTAxLTI3IDIzOjM5OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSAgZGF0YXVyaXNyYzogbXVzdCByZWxlYXNlIHRoZSBvYmplY3QgbG9jayBiZWZvcmUgdXNpbmcgR1NUX0VMRU1FTlRfRVJST1IKCjIwMTAtMDEtMjcgMjM6MzQ6MzQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2MjogYWRkIG1vcmUgZGVidWcgYW5kIHJlbW92ZSAiXG4iIGZyb20gZGVidWcgbG9nZ2luZwoKMjAxMC0wMS0yNyAyMzoyOTo0NCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbHYyOiBiZXR0ZXIgZ29iamVjdCBwcm9wZXJ0aWVzCgkgIFVzZSBsdjI6c3ltYm9sIGFzIGEgYmFzZSBmb3IgdGhlIHByb3BlcnR5IG5hbWUgYW5kIGx2MjpuYW1lIGZvciBuaWNrIGFuZCBibHVyYi4KCjIwMTAtMDEtMjYgMTc6NTQ6MjggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJICBxdG11eDogc3RyZWFtbGluZSBtb292IGRhdGEgbWVtb3J5IHN0b3JhZ2UKCSAgSW4gcGFydGljdWxhciwgdXNlIGFycmF5cyByYXRoZXIgdGhhbiAoZG91YmxlKSBsaW5rZWQgbGlzdHMuCgoyMDEwLTAxLTE0IDExOjUwOjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogcmVuYW1lIGJhc2VwYXJzZSBHVHlwZSBuYW1lIHRvIGF2b2lkIHBvc3NpYmxlIGNvbmZsaWN0cwoKMjAxMC0wMS0xNCAxMjowNjowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHVzZSBjb3JyZWN0IGgyNjRfcGFyc2UgcHJlZml4IGluIGZ1bmN0aW9uIG5hbWUKCjIwMTAtMDEtMjcgMTI6MDg6NDggKzAxMDAgIFZpbmNlbnQgR0VOSUVVWCA8dmdlbmlldXggYXQgZnJlZS5mcj4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGR2YnNyYzogZml4IGVsZW1lbnQgc2h1dGRvd24gb24gYmFkIHJlY2VwdGlvbgoJICBXaGVuIHdlIGhhdmUgYSBiYWQgcmVjZXB0aW9uLCBhdm9pZCBnb2luZyBpbnRvIGFuIGluZmluaXRlIGxvb3AgYnkgc2V0dGluZyBhCgkgIHNodXRkb3duIGZsYWcgd2hlbiBzaHV0dGluZyBkb3duLgoJICBGaXhlcyAjNjA3NzQ3CgoyMDEwLTAxLTI2IDEzOjQ0OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZ19mcmVlIGlzIE5VTEwgc2FmZQoKMjAxMC0wMS0yNSAxOTowNjo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuYzoKCSAgcnRwYXNmcGF5OiBGaXggcGFja2V0IGxlbmd0aCBzZW1hbnRpY3MKCSAgRm9sbG93aW5nIHRoZSBlZDRkMDgxODllYTZlMTlhNTBlMDI5ZTYwZGE1MmQzNTgzYzM5ZmJiCgkgIGNvbW1pdCwgdGhpcyBvbmUgZml4ZXMgcnRwYXNmcGF5IHRvIHVzZSBwYWNrZXQgbGVuZ3RoCgkgIGFzIHRoZSBwYXlsb2FkZWQgZGF0YSBsZW5ndGgsIGJ1dCBhbHNvIGFjY2VwdGluZyBpdAoJICBhcyB0aGUgZnVsbCBwYWNrZXQgc2l6ZSBmb3IgY29tcGF0aWJpbGl0eSB3aXRoCgkgIG90aGVyIGltcGxlbWVudGF0aW9ucyBkdWUgdG8gdGhlIGxhY2sgb2YgY2xhcml0eSBvZiB0aGUKCSAgc3BlYyBpbiB0aGlzIHBhcnQuCgoyMDEwLTAxLTIxIDEwOjUxOjE2IC0wMzAwICBIw6Vrb24gU2tqZWx0ZW4gPHNramVsdGVuQHB2di5vcmc+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuaDoKCSAgYXNmbXV4OiBDb21wYXRpYmlsaXR5IHdpdGggV01TUCBpbiBXTVAKCSAgTWFrZXMgdGhlIGFzZm11eCBjb250ZW50IGNvbXBhdGlibGUgd2l0aCBXTVNQIGFuZCBkb2VzCgkgIHNvbWUgaGFja3MgdG8gbWFrZSBpdCBwbGF5YWJsZSBpbiBXTVAsIGl0IGRvZXNuJ3QgYWNjZXB0CgkgIGRhdGEgb2JqZWN0cyB3aXRoIDAgc2l6ZSBpbmRpY2F0aW5nIHRoYXQgd2UgZG9uJ3Qga25vdwoJICBpdHMgc2l6ZSwgdGhvdWdoIHRoZSBzcGVjIHNheXMgaXQgc2hvdWxkIGJlIHBvc3NpYmxlLgoJICBGaXhlcyAjNjA3NTU1CgoyMDEwLTAxLTI1IDIzOjA2OjU5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJICBjYW1lcmFiaW4tZXhhbXBsZTogcmVtb3ZlIG1hZW1vIGNvbW1lbnQgYW5kIGxvZyBmaWxlbmFtZQoJICBUaGUgbWFlbW8gZml4bWUgaXMgbm90IG5lZWRlZCBhbnltb3JlLiBMb2cgdGhlIGNob29zZW4gZmlsZW5hbWUgdG8gaGVscAoJICBwZW9wbGUgZmluZGluZyB0aGUgZmlsZXMuCgoyMDEwLTAxLTI1IDIzOjA0OjM4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSAgY2FtZXJhYmluOiByZWYgZWxlbWVudCBiZWZvcmUgcmVtb3ZpbmcgZnJvbSB0aGUgYmluIHRvIHJlc3VycmVjdAoJICBUaGlzIGZ1bmN0aW9uIGlzIG5vdCBzdXBwb3NlZCB0byBkaXNwb3NlIHRoZSBlbGVtZW50IGluIHRoZSBjYXNlIG9mIGZhaWx1cmUKCSAgYXMgdGhlIGNhbGxlciBpcyB1c2luZyB0aGUgZWxlbWVudHMgbmFtZSBpbiB0aGUgZXJyb3IgbWVzc2FnZS4gQWxzbyBhZGQKCSAgc29tZSBtb3JlIGlucHV0IHBhcmFtZXRlciBjaGVja3MgaW4gdGhlIGZvcm0gb2YgZ19yZXR1cm5fdmFsX2lmX2ZhaWwKCjIwMTAtMDEtMjUgMTI6MjE6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgUmV2ZXJ0ICJpbnB1dHNlbGVjdG9yOiBQcm90ZWN0IGdfb2JqZWN0X25vdGlmeSgpIHdpdGggdGhlIG9iamVjdCdzIG11dGV4IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDdlMDY3NjE1ZmZiNTYxNGYwNjhmNzc1M2MxMGRkZTk5YWZlNDljM2MsIGl0J3MgY2F1c2luZwoJICBkZWFkbG9ja3Mgd2l0aCBwbGF5YmluMi4KCjIwMTAtMDEtMjUgMTI6MTI6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJICBkYXRhdXJpc3JjOiBSZW1vdmUgcm9sZSBhdHRyaWJ1dGUgZnJvbSBsaW5rcwoKMjAxMC0wMS0yNSAxMTo1NjozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkgIGRhdGF1cmlzcmM6IEFkZCBkb2NzIGFuZCBpbnRlZ3JhdGUgaW50byBidWlsZCBzeXN0ZW0KCSAgRml4ZXMgYWdhaW4gYnVnICM1OTY4ODUuCgoyMDEwLTAxLTI1IDExOjEyOjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kYXRhdXJpc3JjL01ha2VmaWxlLmFtOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuaDoKCSAgZGF0YXVyaXNyYzogQWRkIGRhdGE6IFVSSSBzb3VyY2UgZWxlbWVudAoJICBUaGlzIGlzIHNsaWdodGx5IGJhc2VkIG9uIHRoZSBXZWJLaXQgZGF0YTogVVJJIHNvdXJjZQoJICBidXQgc3VwcG9ydHMgbW9yZSBwYXJ0cyBvZiBSRkMgMjM5Ny4KCSAgRml4ZXMgYnVnICM1OTY4ODUuCgoyMDEwLTAxLTI1IDA3OjQyOjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2RhdGF1cmlzcmMvTWFrZWZpbGUuYW06CgkgIGRhdGF1cmlzcmM6IEFkZCBkaXJlY3RvcnkgZm9yIGRhdGE6IFVSSSBzb3VyY2UKCjIwMTAtMDEtMjUgMTE6MzY6NDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2MjogY3JlYXRlIHZhbGlkIGdvYmplY3QgcHJvcGVydHkgbmFtZXMuIEZpeGVzICM2MDI1MjgKCSAgV2UgY2Fubm90IHVzZSB0aGUgbmFtZXMgYXMgd2UgZ2V0IHRoZW0gZnJvbSBsdjIgZm9yIHRoZSBncGFyYW1zcGVjIG5hbWUsIG9ubHkKCSAgZm9yIG5pY2svYmx1cmIuIEFwcGx5IHNhbWUgYWxnb3JpdGhtcyBsaWtlIGVsc2V3aGVyZSAobGFkc3BhKSBmb3IgbmFtZS4KCjIwMTAtMDEtMjUgMTE6NDk6NDYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9teGYvbXhmdXAuYzoKCSAgbXhmOiBhZGQgYSByZXR1cm4gdG8gZml4IHRoZSBidWlsZCB3aGVuIHR1cm5pbmcgYXNzZXJ0IG9mZgoKMjAxMC0wMS0yNSAxMTo0ODoyOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkqIGdzdC9teGYvbXhmdXAuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZXZlcnQgIm14ZjogYWRkIGEgcmV0dXJuIHRvIGZpeCB0aGUgYnVpbGQgd2hlbiB0dXJuaW5nIGFzc2VydCBvZmYiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNjhjYTYyYjM2OWZjMWI3N2FkYWU4NWQ5ZDgwNTQ1N2ZlNGUzYjU2Mi4KCjIwMTAtMDEtMjIgMTc6NDU6MjAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJKiBnc3QvbXhmL214ZnVwLmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgbXhmOiBhZGQgYSByZXR1cm4gdG8gZml4IHRoZSBidWlsZCB3aGVuIHR1cm5pbmcgYXNzZXJ0IG9mZgoKMjAxMC0wMS0yNCAyMDo1MzowMCArMDEwMCAgS2lwcCBDYW5ub24gPGtjYW5ub25AbGlnby5jYWx0ZWNoLmVkdT4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IFByb3RlY3QgZ19vYmplY3Rfbm90aWZ5KCkgd2l0aCB0aGUgb2JqZWN0J3MgbXV0ZXgKCSAgVGhpcyB3b3JrcyBhcm91bmQgdGhlIHRocmVhZCB1bnNhZmV0eSBvZiBnX29iamVjdF9ub3RpZnkoKQoJICBGaXhlcyBidWcgIzYwNzUxMy4KCjIwMTAtMDEtMjIgMTA6NDg6MjYgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBmaXggd2FybmluZ3MgdW5kZXIgT1MgWC4uCgoyMDEwLTAxLTIyIDEwOjQ2OjUxICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgRG9uJ3QgYnVpbGQgb3N4dmlkZW9zcmMgYW5kIHF0d3JhcHBlciBpbiBTbm93IExlb3BhcmQuCgkgIFF1aWNrVGltZSBpc24ndCBhdmFpbGFibGUgYW55bW9yZSBpbiBPUyBYIFNub3cgTGVvcGFyZC4KCjIwMTAtMDEtMjIgMDI6MjM6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BubS9nc3Rwbm11dGlscy5oOgoJICBwbm06IHVzZSBzYW1lIG1lZGlhIHR5cGUgYXMgb3RoZXIgZWxlbWVudHMKCSAgZ2RrcGl4YnVmIGFuZCBvdXIgbmV3IHR5cGVmaW5kZXIgaW4gLWJhc2UgdXNlIGltYWdlL3gtcG9ydGFibGUtKi4KCjIwMTAtMDEtMjIgMDI6MjI6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgcG5tOiBtYWtlIGVsZW1lbnQgZGV0YWlscyBhIGJpdCBtb3JlIGRlc2NyaXB0aXZlCgoyMDEwLTAxLTIyIDAyOjE5OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wbm0vZ3N0cG5tLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmg6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmg6CgkqIGdzdC9wbm0vZ3N0cG5tdXRpbHMuYzoKCSogZ3N0L3BubS9nc3Rwbm11dGlscy5oOgoJICBwbm06IGFkZCBjb3B5cmlnaHQgbm90aWNlCgoyMDEwLTAxLTIyIDAyOjEwOjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wbm0vZ3N0cG5tLmM6CgkgIHBubTogbW92ZSB0eXBlZmluZGluZyBpbnRvIC1iYXNlCgoyMDEwLTAxLTExIDAxOjE4OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkgIHRlc3RzOiByZWZhY3RvciB3ZWlyZCBidXMgc3luYyBoYW5kbGVyIGNvZGUgaW4gY2FtZXJhYmluIGV4YW1wbGUKCjIwMTAtMDEtMjEgMTg6MTE6MzQgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIGZsaXRlOiBidWlsZCBhbmQgZGlzdCBmbGl0ZSBwbHVnaW4KCSAgZml4aW5nICJtYWtlIGRpc3QiCgoyMDEwLTAxLTIxIDE1OjU4OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSAgbXhmOiBDb3JyZWN0bHkgaW5pdGlhbGl6ZSBtZW1vcnkKCjIwMTAtMDEtMjAgMTM6MzA6NDggKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmg6CgkqIGV4dC96YmFyL2dzdHpiYXIuaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5oOgoJKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuYzoKCSogZ3N0L3F0bXV4L2Rlc2NyaXB0b3JzLmg6CgkqIGdzdC9xdG11eC9wcm9wZXJ0aWVzLmM6CgkgIFtjbGVhbnVwXSBWYXJpb3VzIHN0eWxlIGFuZCBjbGVhbnVwcwoJICBWYXJpb3VzIGZpeGVzIGZvciBndGstZG9jIHdhcm5pbmdzIGFuZCBtYWtpbmcgZnVuY3Rpb25zIHdpdGhvdXQKCSAgYXJndW1lbnRzIHRha2Ugdm9pZCBhcyBwYXJhbWV0ZXIuCgoyMDEwLTAxLTIwIDEzOjI5OjUyICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIFtvc3M0XSBGaXggY29tcGlsZXIgd2FybmluZyBhYm91dCB1bnVzZWQgcmV0dXJuIHZhbHVlCgoyMDEwLTAxLTIwIDAwOjU0OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMzU4Y2Y1YyB0byAxNWQ0N2E2CgoyMDEwLTAxLTE4IDEwOjU3OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkgIGNkeGFwYXJzZTogRml4IGJ1ZmZlciBsZWFrCgkgIEZpeGVzIGJ1ZyAjNjA3Mjg1LgoKMjAxMC0wMS0xNiAxNTozMjo0NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IEZpeCBjaGFubmVsIGxheW91dAoJICBBZGp1c3RlZCB0aGUgY2hhbm5lbCBtYXBwaW5ncyB0byBhZ3JlZSB3aXRoIHRoZSBkZWZhdWx0IGNoYW5uZWwgbWFwcGluZ3MKCSAgaW4gdGhlIHNwZWMsIHdoaWNoIGlzIHByZXN1bWFibHkgd2hhdCBmYWFjIGlzIHVzaW5nLiAgRml4ZXMgIzYwNzEwNS4KCjIwMTAtMDEtMTYgMTU6MzI6MDIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJICBmbGl0ZTogaGFuZGxlIHNhbXBsZXNwZXJidWZmZXIKCjIwMTAtMDEtMTYgMTI6NDM6NDMgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9mbGl0ZS9NYWtlZmlsZS5hbToKCSogZXh0L2ZsaXRlL2dzdGZsaXRlLmM6CgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSAgZmxpdGU6IEFkZCBmbGl0ZXRlc3RzcmMKCSAgRmxpdGUgaXMgYSBzcGVlY2ggc3ludGhlc2l6ZXIgbGlicmFyeSAoQlNELWlzaCBsaWNlbnNlKS4gIFRoaXMgZWxlbWVudAoJICBuZWdvdGlhdGVzIGEgKHBvc3NpYmx5KSBtdWx0aWNoYW5uZWwgYXVkaW8gc3RyZWFtLCBhbmQgdGhlbiBjb250aW51YWxseQoJICBvdXRwdXRzIGJ1ZmZlcnMgbmFtaW5nIHRoZSBudW1iZXIgYW5kIHBvc2l0aW9uIG9mIHRoZSBjaGFubmVsLiAgSXQncwoJICBraW5kYSBjcmFwcHksIGJ1dCBJIG5lZWRlZCBpdCBmb3IgdGVzdGluZyBwdXJwb3Nlcy4KCjIwMTAtMDEtMTYgMTc6MDI6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBNYWtlIHN1cmUgdGhhdCBwcm9wZXJ0eSBuYW1lcyBhbHdheXMgc3RhcnQgd2l0aCBhIGxldHRlcgoJICBPdGhlcndpc2UgR0xpYiB0aHJvd3MgYXNzZXJ0aW9ucwoKMjAxMC0wMS0xNiAxNjo1MjoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IFJlcGxhY2UgZmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyBpbiB0aGUgaW5uZXIgcHJvY2Vzc2luZyBsb29wcyBieSBpbnRlZ2VyIGFyaXRobWV0aWMKCjIwMTAtMDEtMTYgMTM6MDU6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBPbmx5IGFjY2VwdCBzcGVjaWZpYyBjaGFubmVsIGxheW91dHMgYXMgcmVxdWlyZWQgYnkgQUFDCgkgIEZpeGVzIGJ1ZyAjNjA3MTA1LgoKMjAxMC0wMS0xNiAxMTo0MToyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogRml4IGJ1aWxkIGFuZCBzaWduYWwgY29ubmVjdGlvbiBmb3IgR3RrQnVpbGRlciBzdHVmZgoKMjAxMC0wMS0xNiAxMToyNjoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQ2hlY2sgZm9yIGdtb2R1bGUtZXhwb3J0LTIuMCBmb3IgR3RrQnVpbGRlcgoKMjAxMC0wMS0xNiAxMToyMzowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIGljbGVzOiBMaW5rIHdpdGggR1RLKwoKMjAxMC0wMS0xNiAxMToxNjowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogUmVxdWlyZSBHVEsrID49IDIuMTIgZm9yIEd0a0J1aWxkZXIKCSAgR1RLKyAyLjEyIGlzIGFscmVhZHkgb2xkZXIgdGhhbiAyIHllYXJzIHNvIHRoaXMgc2hvdWxkbid0CgkgIGJlIGEgcHJvYmxlbSBmb3IgYW55Ym9keS4gQWxzbyBpdCdzIG9ubHkgdXNlZCBpbiBleGFtcGxlcy4KCjIwMTAtMDEtMTYgMDY6NTc6MjYgKzAxMDAgIEphdmllciBKYXJkw7NuIDxqamFyZG9uQGdub21lLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHBvL1BPVEZJTEVTLnNraXA6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5nbGFkZToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi51aToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuZ2xhZGU6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLnVpOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5nbGFkZToKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLnVpOgoJICB0ZXN0czogUG9ydCBmcm9tIGxpYmdsYWRlIHRvIEd0a0J1aWxkZXIKCSAgRml4ZXMgYnVnICM2MDExMDguCgoyMDEwLTAxLTE1IDIxOjM0OjAyICswMTAwICBKdWxpZW4gTW91dHRlIDxkb2xwaHlAaW1hYy4obm9uZSk+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGRvbid0IHNldCBhbiBpbnZhbGlkIGZyYW1lcmF0ZS4KCSAgV2hlbiBmaXhlZF92b3BfcmF0ZSBpcyBub3Qgc2V0IHdlIGNhbiBub3Qgc2V0IGEgZnJhbWVyYXRlIGJhc2VkIG9uCgkgIHZvcF90aW1lX2luY3JlbWVudF9yZXNvbHV0aW9uIGFzIGl0IHdvdWxkIG1vc3QgbGlrZWx5IGJlIHdyb25nLgoJICBEb24ndCBzZXQgYW55IGZyYW1lcmF0ZSBvbiB0aGUgY2FwcyBpbiB0aGF0IGNhc2UuCgoyMDEwLTAxLTE0IDA4OjA5OjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFjdHVhbGx5IHVzZSBuZXcgY2FwcyBpbmZvIG9uIHJlbmVnb3RpYXRpb24KCSAgRm9sbG93aW5nIHRoZSBwcmV2aW91cyBxdG11eCBjb21taXQsIHRoaXMgcGF0Y2ggdHJpZXMKCSAgdG8gdXNlIHRoZSBuZXcgaW5mbyBhZGRlZCB0byB0aGUgY2FwcyB0byBmaWxsIHRoZSAndHJhaycKCSAgYXRvbSdzIGZpZWxkcyBhbmQgY2hpbGRyZW4gYXRvbXMuIFRoaXMgd2F5IHF0bXV4IHdpbGwKCSAgdXNlIHRoZSBsYXRlIGFkZGVkICdjb2RlY19kYXRhJyB3aGVuIGgyNjRwYXJzZSBhZGRzCgkgIGl0IGluIHRoZSBmb2xsb3dpbmcgcGlwZWxpbmU6CgkgIHZpZGVvdGVzdHNyYyBudW0tYnVmZmVycz0yMDAgISB4MjY0ZW5jIGJ5dGUtc3RyZWFtPXRydWUgISBcCgkgIGgyNjRwYXJzZSBvdXRwdXQtZm9ybWF0PTAgISBxdG11eCAhIFwKCSAgZmlsZXNpbmsgbG9jYXRpb249dGVzdC5tb3YKCjIwMTAtMDEtMTMgMjM6MzM6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogRG8gY2FwcyByZW5lZ290aWF0aW9uIHdoZW4gaXQgb25seSBhZGRzIGZpZWxkcwoJICBRdG11eCBjYW4gYWNjZXB0IGNhcHMgcmVuZWdvdGlhdGlvbiBpZiB0aGUgbmV3IGNhcHMgaXMgYQoJICBzdXBlcnNldCBvZiB0aGUgb2xkIG9uZSwgbWVhbmluZyB1cHN0cmVhbSBhZGRlZCBuZXcgaW5mbyB0bwoJICB0aGUgY2Fwcy4gVGhpcyBwYXRjaCBzdGlsbCBkb2Vzbid0IG1ha2UgcXRtdXggdXBkYXRlIGFueQoJICBhdG9tcyBpbmZvIGZyb20gdGhlIG5ldyBpbmZvLCBidXQgYXQgbGVhc3QgaXQgZG9lc24ndAoJICByZWplY3QgdGhlIG5ldyBjYXBzIGFueW1vcmUuCgkgIEEgcGlwZWxpbmUgdGhhdCByZXByb2R1Y2VzIHRoaXMgdXNlIGNhc2UgaXM6CgkgIHZpZGVvdGVzdHNyYyBudW0tYnVmZmVycz0yMDAgISB4MjY0ZW5jIGJ5dGUtc3RyZWFtPXRydWUgISBcCgkgIGgyNjRwYXJzZSBvdXRwdXQtZm9ybWF0PTAgISBxdG11eCAhIFwKCSAgZmlsZXNpbmsgbG9jYXRpb249dGVzdC5tb3YKCjIwMTAtMDEtMTQgMTI6NTk6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBJbXByb3ZlIGRlYnVnIG91dHB1dCBhIGJpdCBhbmQgc2ltcGxpZnkgY29kZQoKMjAxMC0wMS0xNCAxMjo1NjoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IE1ha2Ugc3VyZSB0aGF0IHRoZSB2aWRlbyBidWZmZXIgaXMgd3JpdGFibGUgYmVmb3JlIHdyaXRpbmcgdG8gaXQKCjIwMTAtMDEtMTQgMTI6NDc6MTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSAgYXBleHNpbms6IGNoYW5nZSB2b2x1bWUgcHJvcGVydHkgdG8gYSBkb3VibGUKCSAgQ2hhbmdlIHRoZSB2b2x1bWUgcHJvcGVydHkgZnJvbSBpbnQgdG8gYSBkb3VibGUgc28gdGhhdCBwbGF5YmluMiBjYW4gdXNlIGl0LgoJICBLZWVwIHRoZSB2b2x1bWUgaW50ZXJuYWxseSBhcyBhIHBlcmNlbnQgZm9yIG5vdyB3aXRoIHRoZSBkZWZhdWx0IDc1JSBtYXBwZWQgdG8KCSAgYSB2b2x1bWUgb2YgMS4wLgoJICBzb21lIGNsZWFudXBzLCBhZGQgc29tZSBGSVhNRSBhbmQgY29tbWVudHMuCgkgIEZpeGVzICM2MDY4NzgKCjIwMTAtMDEtMTMgMTk6MzA6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBwcm92aWRlIHJlcXVlc3QgcGFkcyB1bmRlciB3aWRlciBjb25kaXRpb25zCgkgIEZpeGVzICM2MDY4NTkuCgoyMDEwLTAxLTEzIDEwOjM1OjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogT25seSBhY2NlcHQgYXZjLXNhbXBsZSBoMjY0CgkgIHF0bXV4IGFuZCBtcDRtdXggc2hvdWxkIG9ubHkgYWNjZXB0IGgyNjQgaW4gYXZjLXNhbXBsZQoJICBmb3JtYXQKCjIwMTAtMDEtMTMgMDk6NDI6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBBZGQgc3RyZWFtLWZvcm1hdCB0byBjYXBzCgkgIEFkZHMgdGhlIG5ldyBzdHJlYW0tZm9ybWF0IGZpZWxkIHRvIGgyNjRwYXJzZSBjYXBzCgkgIEZpeGVzICM2MDY2NjIKCjIwMTAtMDEtMTMgMDA6Mzg6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbW1vbjoKCSAgYnVpbGQ6IGluY2x1ZGUgY3J1ZnQubWFrIGFuZCBhZGQgcmVjZW50bHktbWVyZ2VkIHBsdWdpbnMgdG8gY3J1ZnQgbGlzdAoKMjAxMC0wMS0xMiAyMzo1MzoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBtbXNzcmM6IHBvc3QgZXJyb3IgbWVzc2FnZSBpbiBhZGRpdGlvbiB0byByZWRpcmVjdCB3aGVuIGNvbm5lY3QgZmFpbHMKCSAgV2hlbiB3ZSBjYW4ndCBjb25uZWN0IHRvIHRoZSBzZXJ2ZXIsIHdlIHNob3VsZCBzdGlsbCBwb3N0IGEgcHJvcGVyCgkgIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cywgc28gdGhhdCBhcHBsaWNhdGlvbnMgdGhhdCBkb24ndCBoYW5kbGUgdGhlCgkgIHJlZGlyZWN0IG1lc3NzYWdlIGdldCBhIHByb3BlciBlcnJvciBtZXNzYWdlIChhbmQgYSBoaW50IHRvIGxvb2sgZm9yCgkgIHRoZSByZWRpcmVjdCkuCgkgIEZpeGVzICM2MDY2MzYuCgoyMDEwLTAxLTEyIDE1OjQ1OjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogQ29ycmVjdGx5IHJld3JpdGUgYWxsIG5hbCBwcmVmaXhlcwoJICBXaGVuIGNvbnZlcnRpbmcgdG8gYnl0ZS1zdHJlYW0gZG8gbm90IGZvcmdldCB0byByZXdyaXRlCgkgIGFsbCBuYWwgcHJlZml4ZXMgaW5zdGVhZCBvZiBvbmx5IHRoZSBmaXJzdCBvbmUuCgoyMDEwLTAxLTEyIDE5OjMzOjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogaW1wcm92ZSBmYWFjIGNvbmZpZ3VyYXRpb24KCSAgSW4gcGFydGljdWxhciwgYWxpZ24gY29uZmlndXJhdGlvbiBzb21lIG1vcmUgd2l0aCByZWZlcmVuY2UgYmluYXJ5IGZhYWMuCgkgIEZpeGVzICM2MDY3MjYuCgoyMDEwLTAxLTEyIDE0OjUxOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2gyNjQuYzoKCSAgbXBlZ3RzbXV4OiBGaXggbWlzdGFrZSBvbiBwcmV2aW91cyBjb21taXQKCSAgVXNlIHRoZSBjb3JyZWN0IHZhcmlhYmxlcyBhbmQgdmFyaWFibGUgZm9ybWF0IGluIHRoZSB3YXJuaW5nCgkgIG1lc3NhZ2UKCjIwMTAtMDEtMTIgMTg6NTU6NTMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEluaXRpYWxpemUgdmFyaWFibGVzLgoJICBGaXhlcyBidWlsZCBvbiAkI0AqKCBtYWNvc3gKCjIwMTAtMDEtMTIgMTc6MDU6MTMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IEFkZCBuZW9uaHR0cHNyYyB0byB0aGUgbGlzdCBvZiBlbGVtZW50cyBpZ25vcmVkIGZvciBzdGF0ZS1jaGFuZ2UKCSAgU2V0dGluZyBuZW9uaHR0cHNyYyB0byBQQVVTRUQvUExBWUlORyByZXF1aXJlcyBhIHJ1bm5pbmcgaHR0cCBzZXJ2ZXIgb24KCSAgbG9jYWxob3N0LgoKMjAxMC0wMS0xMiAwOTo1ODo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHJlbW92ZSBjb2RlY19kYXRhIGlmIG91dHB1dCBpcyBieXRlc3RyZWFtCgkgIGNvZGVjX2RhdGEgc2hvdWxkIGJlIHJlbW92ZWQgZnJvbSB0aGUgc3JjIHBhZCBjYXBzIGlmIHRoZQoJICBvdXRwdXQgaXMgaW4gYnl0ZXN0cmVhbSBmb3JtYXQKCSAgRml4ZXMgIzYwNjY1NwoKMjAxMC0wMS0xMiAwOTozNToyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9oMjY0LmM6CgkgIG1wZWd0c211eDogRG8gbm90IGNyYXNoIG9uIG1pc2ludGVycHJldGVkIGgyNjQKCSAgQXZvaWQgY3Jhc2hpbmcgd2hlbiBieXRlc3RyZWFtIGgyNjQgaXMgaW50ZXJwcmV0ZWQgYXMgYXZjIGZvcm1hdAoJICBoMjY0CgkgIEZpeGVzICM2MDY2NTcKCjIwMTAtMDEtMTEgMjI6NDE6NTcgKzAzMDAgINDz8evg7SDI5uHz6+Dy7uIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkgIHdpbjMyOiBJbmNsdWRlIGNvbmZpZy5oIGJlZm9yZSBhbnl0aGluZyBlbHNlLiBGaXggbXBlZ2RlbXV4IExJQkFERAoJICBCZWNhdXNlIGNvbmZpZy5oIGRlZmluZXMgX19NU1ZDUlRfVkVSU0lPTl9fLCB3aGljaCBzaG91bGQgYmUgZGVmaW5lZAoJICBiZWZvcmUgaW5jbHVzaW9uIG9mIGFueSBzeXN0ZW0gaGVhZGVyLgoJICBBbHNvIGZpeGVzIG1wZWdkZW11eCBNYWtlZmlsZS5hbSBMSUJBREQgdHlwby4KCSAgRml4ZXMgIzYwNjY2NQoKMjAxMC0wMS0xMiAwMDo0NjoyNyArMDMwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJKiBnc3QvbGlicmZiL3ZuY2F1dGguYzoKCSAgbGlicmZiOiBwb3J0IHJmYnNyYyB0byBNaW5HVwoJICBGaXhlcyAjNjA2Njc3CgoyMDEwLTAxLTExIDEzOjIwOjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEFsc28gYWRkIHN0cmVhbS1mb3JtYXQgdG8gdGVtcGxhdGUgY2FwcwoJICBEbyBub3QgZm9yZ2V0IHRvIGFkZCBzdHJlYW0tZm9ybWF0IHRvIHRlbXBsYXRlIGNhcHMKCSAgb2ZmIGFhY3BhcnNlCgoyMDEwLTAxLTExIDEzOjEzOjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkgIFJlbmFtZSBhYWMncyBzdHJlYW0tZm9ybWF0ICdub25lJyB0byAncmF3JwoJICBSZW5hbWVzIGFhYydzIHN0cmVhbS1mb3JtYXQgZnJvbSBwcmV2aW91cyBjb21taXRzIGZyb20gbm9uZSB0bwoJICByYXcKCjIwMTAtMDEtMTEgMTY6MDk6MzggKzAxMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGluY2x1ZGUgPHdpbmRvd3MuaD4gaW50byBtc2FjbS5oIGNvbmZ0ZXN0CgoyMDEwLTAxLTExIDEyOjEwOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiB1cGRhdGUgdGVzdHMgdG8gc3RyZWFtLWZvcm1hdCBjaGFuZ2VzCgkgIFVwZGF0ZXMgYWFjcGFyc2UgdW5pdCB0ZXN0cyB0byBjaGVjayBmb3Igc3RyZWFtLWZvcm1hdAoJICBjb3JyZWN0bmVzcyBhcyB3ZWxsLgoKMjAxMC0wMS0xMSAxMDo1MToxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBBZGQgc3RyZWFtLWZvcm1hdCB0byBvdXRwdXQgY2FwcwoJICBBZGRzIHN0cmVhbS1mb3JtYXQgZmllbGQgdG8gb3V0cHV0IGNhcHMKCjIwMTAtMDEtMTEgMTA6MzQ6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogT25seSBhY2NlcHQgc3RyZWFtLWZvcm1hdD0nbm9uZScgYWFjCgkgIE9ubHkgYWNjZXB0IHJhdyBhYWMgc3RyZWFtcyAoc3RyZWFtLWZvcm1hdD1ub25lKSB0byBhdm9pZAoJICBnZW5lcmF0aW5nIGludmFsaWQgZmlsZXMuCgkgIEZpeGVzICM2MDQ5MjUKCjIwMTAtMDEtMTEgMDk6NDg6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBBZGQgZm9ybWF0IHRvIG91dHB1dCBjYXBzCgkgIEFkZHMgJ3N0cmVhbS1mb3JtYXQnIHRvIG91dHB1dCBjYXBzIHRvIGluZm9ybSBpZiB0aGUgc3RyZWFtIGlzCgkgIGFkdHMgb3IgcmF3LiBUaGlzIG1ha2VzIGl0IHBvc3NpYmxlIGZvciBtdXhlcnMgdG8gcmVqZWN0CgkgIGlucHV0IHN0cmVhbXMgb24gY2FwcyBpZiB0aGV5IGRvbid0IHN1cHBvcnQgYWR0cyBpbnN0ZWFkIG9mCgkgIGdlbmVyYXRpbmcgYSBpbnZhbGlkIGZpbGUuCgkgIEZpeGVzICM2MDQ5MjUKCjIwMTAtMDEtMTEgMDE6MDI6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZDogZml4IHVuYWxpZ25lZCBhY2Nlc3MgaW4gdGhpcyBjb3B5IG9mIG1wZWdkZW11eCBhcyB3ZWxsCgkgIFNlZSAjNjA2MzcxLgoKMjAxMC0wMS0xMSAwMDo1OTozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkgIHZtbmM6IHVzZSBleGlzdGluZyBtYWNyb3MgdG8gYXZvaWQgYWxpZ25tZW50IGlzc3VlcwoKMjAxMC0wMS0xMSAwMDo1Nzo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgcmZic3JjOiB1c2UgZXhpc3RpbmcgbWFjcm9zIHRvIGF2b2lkIGFsaWdubWVudCBpc3N1ZXMKCjIwMTAtMDEtMTEgMDA6MjQ6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkgIGFzZm11eDogZml4IGFsaWdubWVudCBhbmQgZW5kaWFubmVzcyBpc3N1ZQoKMjAxMC0wMS0xMSAwMDoxNjoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkgIHpiYXI6IHVzZSBHU1RfTUFLRV9GT1VSQ0MgdG8gY3JlYXRlIEZPVVJDQwoKMjAxMC0wMS0xMCAxMDowNjo1NSAtMDMwMCAgTGlucWlhbmcgUHUgPHB1bHEudXN0Y0BnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGZpeCBhbGxpZ25tZW50IGlzc3VlCgkgIFVzZSBHU1RfUkVBRF9VSU5UMzJfQkUgaW5zdGVhZCBvZiBHVUlOVDMyX0ZST01fQkUgdG8KCSAgZml4IGludCBhbGxpZ25tZW50IGlzc3VlcyBvbiBBUk0KCSAgRml4ZXMgIzYwNjM3MQoKMjAxMC0wMS0wOCAxNjowNjozOCArMDAwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IG9ubHkgdmlkZW8gY2FuIGhhdmUgbm9uLWRlbHRhLXVuaXQKCjIwMDktMTItMTggMTQ6MTQ6MTcgKzAxMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkgIG1wZWd0c211eDogbWFyayBkZWx0YS11bml0IG9uIG91dGdvaW5nIGJ1ZmZlcnMKCSAgU2lnbmVkLW9mZi1ieTogTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoyMDEwLTAxLTA3IDE3OjU0OjI4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogb3B0aW1pemUgc3JjIGNhcHMgdXBkYXRpbmcKCjIwMTAtMDEtMDcgMTc6NDc6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggZnJhbWVyYXRlIGNhbGN1bGF0aW9uCgkgIC4uLiBhbmQgYWxzbyByZW1vdmUgYSBzdXBlcmZsdW91cyBkdXBsaWNhdGUgZGVidWcgc3RhdGVtZW50LgoKMjAxMC0wMS0wNyAxNzo0MjoyNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCByZWdyZXNzaW9uIGluIG91dHB1dCBidWZmZXIgdGltZXN0YW1waW5nCgkgIFNwZWNpZmljYWxseSwgcHJvcGVybHkgbWFyayBhIGJ1ZmZlciAoTkFMVSBvciBBVSkgdG8gc3RhcnQgYSBmcmFtZSBvciBub3QuCgoyMDEwLTAxLTA2IDExOjIwOjA2IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogYXZvaWQgY3Jhc2ggaWYgdm9zIDwgNSBieXRlcy4KCjIwMDktMTItMTMgMTM6NTM6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IGZpeCB0eXBvIGluIHByb3BlcnR5IGRlc2NyaXB0aW9uCgoyMDA5LTEyLTEzIDEzOjQ5OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBsYW5ndWFnZSBleHRyYWN0aW9uCgkgIFRoZSBkZXNjcmlwdG9yIGNvbnRhaW5zIElTTyA2MzktMiBsYW5ndWFnZSBjb2RlcywgYnV0IHdlIHdhbnQKCSAgdHdvLWxldHRlciBJU08gNjM5LTEgY29kZXMgaW4gR1NUX1RBR19MQU5HVUFHRS4KCjIwMDktMTItMDUgMTg6MTY6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSAgZXhhbXBsZXM6IG1ha2UgY2FtZXJhYmluIHRlc3QgYXBwbGljYXRpb24gaGFuZGxlIGVycm9ycyB3aGVuIHN0YXJ0aW5nIHVwCgkgIEluc3RlYWQgb2YgaGFuZ2luZyBmb3JldmVyIGluIGEgX2dldF9zdGF0ZSgpIGluIGNhc2UgYW4gZXJyb3Igb2NjdXJzIHdoZW4KCSAgc3RhcnRpbmcgdXAgY2FtZXJhYmluLCBiYWlsIG91dCBhbmQgcHJpbnQgYW4gZXJyb3IgbWVzc2FnZS4gQWxzbyByZW1vdmUKCSAgdW5uZWNlc3NhcnkgX2dldF9zdGF0ZSgpIHdoZW4gc2h1dHRpbmcgZG93biB0aGUgcGlwZWxpbmUuCgoyMDEwLTAxLTA1IDE4OjQ0OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJICBhdWRpb3BhcnNlcnM6IGFkZCBzb21lIG1pc3NpbmcgZG9jdW1lbnRhdGlvbiBwaWVjZXMKCjIwMTAtMDEtMDUgMTY6MTA6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkgIGZhYWM6IGRvY3VtZW50YXRpb24gZml4CgoyMDEwLTAxLTA1IDE1OjA1OjA1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IGRvY3VtZW50YXRpb24gZml4ZXMKCjIwMTAtMDEtMDUgMTU6MDQ6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBhZGQgZG9jdW1lbnRhdGlvbgoKMjAxMC0wMS0wNSAxNDo0ODo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogYWRkIGRvY3VtZW50YXRpb24KCjIwMDktMTItMjEgMTg6Mjk6NDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBwZXJmb3JtIGFkZGl0aW9uYWwgZnJhbWUgY2hlY2tzIHdoZW4gcmVzeW5jaW5nCgoyMDEwLTAxLTA1IDE2OjM1OjUyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZml4IChtdWx0aXBsZSBjaGFubmVsKSBmcmFtZSBwYXJzaW5nCgoyMDEwLTAxLTA1IDE2OjM1OjQ0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZGVjbGFyZSB1bnBhcnNlZCBpbnB1dCBhbmQgcGFyc2VkIG91dHB1dAoKMjAwOS0xMi0yMSAxODoxOToyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBmaXggc2Nhbm5pbmcgZm9yIG5leHQgc3luY3dvcmQKCjIwMDktMTItMjEgMTg6MTg6MzkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhZGp1c3Qgc2VlayBoYW5kbGluZyBhbmQgbmV3c2VnbWVudCBzZW5kaW5nCgkgIFBlcmZvcm0gc2FuaXR5IGNoZWNrIG9uIHR5cGUgb2Ygc2VlaywgYW5kIG9ubHkgcGVyZm9ybSBvbmUgdGhhdCBpcwoJICBhcHByb3ByaWF0ZWx5IHN1cHBvcnRlZC4gIEFkanVzdCBkb3duc3RyZWFtIG5ld3NlZ21lbnQgZXZlbnQKCSAgdG8gZmlyc3QgYnVmZmVyIHRpbWVzdGFtcCB0aGF0IGlzIHNlbnQgZG93bnN0cmVhbS4KCjIwMDktMTItMjEgMTE6NTk6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBtaW5vciByZWZhY3RvciBjbGVhbnVwCgkgIEFsc28gYWRkIHNvbWUgZGVidWcgbG9nZ2luZy4KCjIwMDktMTItMTggMjE6MDU6MTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBsb2NhdGUgbmV4dCBzeW5jIGNvZGUgbW9yZSBlZmZpY2llbnRseQoKMjAwOS0xMi0xOCAyMTowNDoxMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGJhc2VwYXJzZSB0YWtlcyBjYXJlIG9mIGhhbmRsaW5nIGxlZnRvdmVyIHBpZWNlcwoKMjAwOS0xMi0xOCAyMTowMjo0MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGltcGxlbWVudCBsZWZ0b3ZlciBkcmFpbmluZyBpbiBwdWxsIG1vZGUKCjIwMDktMTItMTcgMTI6NDU6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBzZXQgX09GRlNFVCBhbmQgX09GRlNFVF9FTkQgb24gb3V0Z29pbmcgYnVmZmVycwoKMjAwOS0xMi0xNyAxMjo0NDoyMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJKiBnc3QvZmxhY3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGZsYWMuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RmbGFjcGFyc2UuaDoKCSAgYXVkaW9wYXJzZXJzOiBtb3ZlICdmbGFjcGFyc2UnIGludG8gaXQKCjIwMDktMTItMTYgMTg6Mzg6MzMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcm92aWRlIGRlZmF1bHQgY29udmVyc2lvbiB1c2luZyBicHMgaWYgbm8gZnBzIGF2YWlsYWJsZQoJICBBbHNvIHN0b3JlIGVzdGltYXRlZCBkdXJhdGlvbiBhcyBzdWNoLCByYXRoZXIgdGhhbiBwcmV0ZW5kaW5nIG90aGVyd2lzZQoJICAoZS5nLiBzZXQgYnkgc3ViY2xhc3MpLgoKMjAxMC0wMS0wNCAxMDoyMzozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiBGaXggaW5kZW50aW9uCgoyMDA5LTEyLTI5IDE3OjI4OjA2ICswMjAwICBLYWotTWljaGFlbCBMYW5nIDxtaWxhbmdAdGFsLm9yZz4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IEFsbG93IDEtMiBjaGFubmVscyBmb3IgMTYgYW5kIDMyIGJpdCBkZXB0aHMsIG5vdCBvbmx5IGZvciA4IGJpdHMuCgkgIEZpeGVzIGJ1ZyAjNjA1NzIxLgoKMjAwOS0xMi0yOSAxNjowNzo1OSArMDIwMCAgS2FqLU1pY2hhZWwgTGFuZyA8bWlsYW5nQHRhbC5vcmc+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmg6CgkgIG1vZHBsdWc6IEFsbG93IDMyIGJpdCBkZXB0aCwgbW9kcGx1Z3MgbmF0aXZlIGZvcm1hdC4KCSAgRml4ZXMgYnVnICM2MDU3MjAuCgoyMDEwLTAxLTAyIDE3OjMzOjU3ICswMTAwICBBcm5hdWQgUGF0YXJkIDxhcm5hdWQucGF0YXJkQHJ0cC1uZXQub3JnPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogSGFuZGxlIGVhYzMgaW4gUE1UCgkgIFdoZW4gdGhlIHN0cmVhbSB0eXBlIGlzIHNldCB0byBwcml2YXRlIGRhdGEsIGdzdC1tcGVndHNkZW11eCBpcyB0cnlpbmcgdG8gZmluZAoJICBhdWRpbyBkZXNjcmlwdG9ycyBpbiBQTVQgYW5kIGxvb2sgZm9yIEFDMyAodGFnIDB4NmEpIGJ1dCBkb2Vzbid0IGxvb2sgZm9yIEVBQzMKCSAgKHRhZyAweDdhKS4gSGFuZGxlIHRoaXMgY2FzZSB0b28uCgkgIEZpeGVzIGJ1ZyAjNjA1OTA0LgoKMjAwOS0xMi0zMCAyMTo1MDozMiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCBjYXBzIGhhbmRsaW5nIGluIF91cGRhdGVfc3JjX2NhcHMuCgoyMDA5LTEyLTI4IDExOjM0OjM1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGFsc28gYWRkIC5oIGZpbGUgY2hhbmdlcyB0byB1bmJyZWFrIHRoZSBidWlsZAoKMjAwOS0xMi0yNyAyMzo1MTo1MCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2UgY29ycmVjdCBuYW1lcyBmcm9tIHRlbXBsYXRlIGZvciByZXF1ZXN0IHBhZHMKCSAgVGhlIHBhZHMgd2hlcmUgbmFtZXMgcGFkMCwgcGFkMSwgLi4uCgoyMDA5LTEyLTI3IDIzOjMyOjU4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IG1vdmUgZXJyb3JzIF9uZXdfcGFkIHRvIHRoZSBlbmQKCjIwMDktMTItMjEgMTk6MTI6NDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0N2NiMjNhIHRvIDE0Y2VjODkKCjIwMDktMTItMjEgMTM6NTg6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBY2NlcHQgbm9uLXBhaXJlZCB1aW50IHRhZ3MKCSAgQWRkcyBzdXBwb3J0IGZvciB1bnBhaXJlZCB1bnNpZ25lZCBpbnRlcmdlciB0YWdzCgoyMDA5LTEyLTIxIDEyOjA1OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBZGRzIG5ldyB0YWdzCgkgIE1hcHMgbW9yZSB0YWdzIHRoYXQgYXJlIGFscmVhZHkgcG9zdGVkIGJ5IHF0ZGVtdXgKCSAgRml4ZXMgIzU5OTc1OQoKMjAwOS0xMi0xOCAxNjoxNjo0NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IG9ubHkgcmF3IG91dHB1dCBuZWVkcyBjb2RlY19kYXRhIGluIGNhcHMKCjIwMDktMTItMTggMTM6MzA6MjkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBjaGVjayBmb3IgcmVtYWluaW5nIGRhdGEgd2hlbiBkcmFpbmluZyBpbiBwdXNoIG1vZGUKCjIwMDktMTItMTggMTM6MzA6MDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggcHVsbCBtb2RlIGNhY2hlIHNpemUgY29tcGFyaXNvbgoKMjAwOS0xMi0xOCAxMzowMToxNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZS4KCjIwMDktMTItMTcgMTE6MDQ6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IEludGVybmFsIHNpbmsgaW1wcm92ZW1lbnRzCgkgIERvZXMgc29tZSBnZW5lcmFsIGltcHJvdmVtZW50cyB3aXRoIHRoZSBpbnRlcm5hbCBzaW5rIGhhbmRsaW5nLgoJICAxKSBEbyBub3QgcmVtb3ZlIGFuZCByZS1hZGQgdGhlIGdob3N0cGFkIHdoZW4gY2hhbmdpbmcKCSAgaW50ZXJuYWwgc2luawoJICAyKSBPbmx5IGluc3RhbnRpYXRlIHRoZSBkZWZhdWx0IHNpbmsgd2hlbiBjaGFuZ2luZyBmcm9tIE5VTEwKCSAgdG8gUkVBRFkgaWYgdGhlcmUgaXMgbm8gb3RoZXIgYXZhaWxhYmxlCgkgIDMpIEF2b2lkIGNoYW5naW5nIHRoZSBpbnRlcm5hbCBzaW5rIGlmIG5vdCBvbiBOVUxMIHN0YXRlCgkgIEZpeGVzICM1OTg2ODIKCjIwMDktMTItMTcgMDc6NTQ6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IE1pbm9yIGZpeGVzCgkgIERvd25ncmFkZSBhIHdhcm5pbmcgbWVzc2FnZSB0byBkZWJ1Zy4gUmVtb3ZlIGFuCgkgIGFscmVhZHkgZml4ZWQgRklYTUUgYW5kIGFkZCBhIG5vdGUgYWJvdXQgKG5vdC0pdXNpbmcKCSAgZnBzZGlzcGxheXNpbmsgaW4gYXV0b3ZpZGVvc2luay4gQ2hhbmdlIHRoZSBjcmVhdGVkCgkgIGdob3N0cGFkIHRvIHVzZSB0aGUgbmFtZSAic2luayIgYXMgaXQgaXMgYWR2ZXJ0aXNlZCBpbgoJICB0aGUgcGFkIHRlbXBsYXRlLgoKMjAwOS0xMi0xNyAxNDo0NjowMSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkgIFVwZGF0ZSBzcGVjIGZpbGUgYW5kIGZpeCBhYzNwYXJzZXIgaGVhZGVyIGxpc3RpbmcgaW4gTWFrZWZpbGUuYW0KCjIwMDktMTItMTcgMDE6MDU6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIHRlc3RzOiB0cnkgdG8gZml4ICdtYWtlIGRpc3QnIHdoZW4gY29nIGlzIG5vdCBpbnN0YWxsZWQKCjIwMDktMTItMTYgMTg6MzI6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IGZpeCBzZXR0aW5nIHN5bmMgb24gY2hpbGQgYmluCgkgIFVzZSBHU1RfSVNfQklOIGluc3RlYWQgb2YgR19PQkpFQ1RfVFlQRSB0byBjaGVjayBpZiB0aGUKCSAgaW50ZXJuYWwgc2luayBpcyBhIGJpbi4gVXNpbmcgdGhlIGxhdGVyIHdvbid0IHdvcmsgd2hlbgoJICB0aGUgc2luayBpcyBub3QgYSBiaW4gZGlyZWN0bHkgKGJ1dCBpbmhlcml0cyBmcm9tIG9uZSwgbGlrZQoJICBhdXRvdmlkZW9zaW5rKS4KCSAgRml4ZXMgIzYwNDI4MAoKMjAwOS0xMi0xNSAxMzowODowOCArMDEwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbEBiYXNlLWFydC5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogY2hlY2sgdGhlIHN5bmMgcHJvcGVydHkgZXhpc3RzIG9uIGVtYmVkZGVkIHNpbmsocykKCSAgRm9sbG93LXVwIG9uIDQxMTFkNjMyMWYxNDBlYjc3OTA2MjBhYjQyZTVjZjFkOTQxM2I1NmEsIHRoZSB2aWRlbwoJICBzaW5rKHMpIHVzZWQgYnkgZnBzZGlzcGxheXNpbmsgbWlnaHQgbm90IGhhdmUgdGhlIHN5bmMgcHJvcGVydHkuIFNvIHdlCgkgIGNoZWNrIGl0cyBleGlzdGVuY2UgdG8gYXZvaWQgd2FybmluZyBmcm9tIGdfb2JqZWN0X3NldCgpIGF0IHJ1bnRpbWUuCgkgIEZpeGVzICM2MDQyODAKCjIwMDktMTItMTAgMjI6MjA6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBzdXBwb3J0IG1vcmUgb2YgajJrCgkgIFJlYWRzIHRoZSBuZXcgY2FwcyBhZGRlZCB0byBxdGRlbXV4IGJ5IGNvbW1pdAoJICBjOTE3ZDY1ZTZkZjBiNWQ1ODVmOTA1YzdhZDc4YThhMGE0NGIyY2IwCgkgIGFuZCBhZGRzIGl0cyBjb3JyZXNwb25kaW5nIGF0b21zLgoJICBBbHNvIGFkZHMgc3VwcG9ydCBmb3IgaW1hZ2UveC1qcGMgYXMgaXQgaXMgdGhlIHNhbWUKCSAgYXMgaW1hZ2UveC1qcDIsIGV4Y2VwdCB0aGF0IHRoZSBidWZmZXJzIG5lZWQgdG8gYmUKCSAgYm94ZWQgaW5zaWRlIGEganAyYyBpc29tIGJveCBiZWZvcmUgbXV4aW5nLiBUbyBzb2x2ZQoJICB0aGlzIHRoZSBRVFBhZHMgbm93IGhhdmUgYSBmdW5jdGlvbiB0aGF0IChpZgoJICBub3QgTlVMTCkgaXMgY2FsbGVkIHdoZW4gYSBidWZmZXIgaXMgY29sbGVjdGVkLiBUaGlzCgkgIGZ1bmN0aW9uIHJldHVybnMgYSByZXBsYWNlbWVudCB0byB0aGUgY3VycmVudCBjb2xsZWN0ZWQKCSAgYnVmZmVyLgoJICBGaXhlcyAjNTk4OTE2CgoyMDA5LTEyLTE0IDE2OjE2OjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkgIGNvZzogVGFibGUgZ2VuZXJhdGlvbiB1dGlsaXR5IG5lZWRzIHRvIGxpbmsgdG8gLWxtIHRvbwoKMjAwOS0xMi0xNCAxNjowODowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jb2cvY29nLm9yYzoKCSAgY29nOiBEb24ndCBidWlsZCBvcmNfbWVtY3B5KCkgYW5kIGRlcGVuZCBvbiBvcmMgPj0gMC40LjMgZm9yIG9yY19tZW1jcHkoKQoJICBJbiB0aGUgbGF0ZXN0IHJlbGVhc2UgdGhpcyBmdW5jdGlvbiBpcyBhbHJlYWR5IGRlZmluZWQuCgoyMDA5LTEyLTEwIDE2OjUzOjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBxdG11eDogTWFwcyAnY2xhc3NpZmljYXRpb24nIHRhZyBmb3IgM2dwcCBmaWxlcwoJICBBZGRzIHRoZSBtYXBwaW5nIG9mICdjbGFzc2lmaWNhdGlvbicgdGFncyB0byB3cml0aW5nIG9mCgkgICdjbHNmJyBhdG9tcyBmb3IgZ3BwbXV4LgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OiBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoyMDA5LTEyLTEwIDIyOjQ5OjEzIC0wMzAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsQGJhc2UtYXJ0Lm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmg6CgkgIGZwc2Rpc3BsYXlzaW5rOiBleHBvc2UgdmlkZW8gc2luayB1c2luZyBhIHByb3BlcnR5CgkgIEV4cG9zZXMgdGhlIGludGVybmFsbHkgdXNlZCBzaW5rIGFzIHZpZGVvLXNpbmsgcHJvcGVydHkgYW5kCgkgIG1ha2VzIHRoZSBkZWZhdWx0IG9uZSB0byBiZSBhdXRvdmlkZW9zaW5rIGluc3RlYWQgb2YKCSAgdGhlIGhhcmRjb2RlZCB4dmltYWdlc2luawoJICBGaXhlcyAjNjA0MjgwCgoyMDA5LTEyLTExIDE2OjMyOjQ4IC0wODAwICBQZXRlciB2YW4gSGFyZGVuYmVyZyA8cHZoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvYWRwY21lbmMvTWFrZWZpbGUuYW06CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJICBhZHBjbWVuYzogYWRkIG5ldyBhZHBjbSBlbmNvZGVyIGVsZW1lbnQuCgoyMDA5LTEyLTExIDEwOjI1OjE2IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2U6IGZpeCBhIGZvcm1hdCBzdHJpbmcgYXMgcmVwb3J0ZWQgb24gaXJjLgoKMjAwOS0xMi0xMCAxMDoxMDoxNSAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSAgYWRwY21kZWM6IG1ha2UgcG93ZXIgb2YgMiBtb3JlIGFjY3VyYXRlLgoKMjAwOS0xMi0xMCAxMjo1Njo0NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCBjYXBzIHBhcmFtZXRlcnMgc2V0dGluZwoJICBBbHNvIGNvbnNpZGVyIFBQUyB3aGVuIHNlbGVjdGluZyBTUFMgdG8gcGljayBwYXJhbWV0ZXJzIGZyb20uCgkgIE9ubHkgdXBkYXRlIGNhcHMgd2hlbiBzZXR0aW5ncyBhY3R1YWxseSBjaGFuZ2VkLCBhbmQgd2hlbiB0aGVzZSBhcmUgdmFsaWQuCgoyMDA5LTEyLTA4IDE4OjU3OjQ5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuaDoKCSAgaXZvcmJpczogYWxzbyBjYXRlciBmb3IgdHJhZGl0aW9uYWwgMTYtYml0IHdpZHRoIHNhbXBsZSBvdXRwdXQKCjIwMDktMTItMTAgMTA6NDA6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBEb24ndCBkbyBwb2ludGVyIGRlcmVmZXJlbmNlcyBpbiB0aGUgcHJvY2Vzc2luZyBsb29wCgkgIExvd2VycyB0aGUgdGltZSB0YWtlbiB0aGVyZSBpbiBteSB0ZXN0Y2FzZSBmcm9tIDYuOTElIHRvIDYuMjAlCgkgIGFzIG1lYXN1cmVkIGJ5IGNhbGxncmluZC4KCjIwMDktMTEtMTggMTY6Mzg6MzMgKzAxMDAgIHVua25vd24gPGhhdmFyZC5ncmFmZkAuZXUudGFuZGJlcmcuaW50PgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiB1cGRhdGUgdGhlIGN1cnJlbnRfc3NyYyBmcm9tIHRoZSBjYXBzCgkgIEZpeGVzICM2MDQxMDEKCjIwMDktMTItMDkgMTQ6NDI6MjEgKzAxMDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IHJlbGVhc2UgcGFkcyB3aGVuIGRpc3Bvc2luZwoJICBCZWNhdXNlIG9mIGFuIGFsbG9jYXRlZCBwcml2IChHc3RSVFBNdXhQYWRQcml2YXRlKSwgdGhlIGVsZW1lbnQgd2lsbAoJICBsZWFrIG1lbW9yeSBpZiBub3QgZ3N0X3J0cF9tdXhfcmVsZWFzZV9wYWQoKSBpcyBjYWxsZWQuIFRoaXMgd291bGQKCSAgcHJldmlvdXNseSBvbmx5IGhhcHBlbiBpZiByZWxlYXNlX3JlcXVlc3RfcGFkKCkgd2FzIGNhbGxlZCBleHBsaWNpdGx5LAoJICBzb210aGluZyB0aGF0IHNob3VsZCBub3QgYmUgbmVjY2VzYXJ5LgoJICBGaXhlcyAjNjA0MDk5CgoyMDA5LTEyLTA5IDEzOjQwOjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIGR0bWZtdXg6IG1ldGhvZCBuYW1lIGNsZWFudXBzCgoyMDA5LTEyLTA5IDA5OjU3OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogSW1wbGVtZW50IHNyY3BhZCBxdWVyeSBmdW5jdGlvbiB0byBhbHdheXMgZm9yd2FyZCB0byB0aGUgdmlkZW8gc2lua3BhZAoKMjAwOS0xMi0wOSAwOTo1NTozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IFByb3h5IGJ1ZmZlciBhbGxvY2F0aW9uIG9uIHZpZGVvIHNpbmtwYWQgdG8gdGhlIHNyY3BhZAoJICAuLi5hbmQgYWRkIGdldGNhcHMgZnVuY3Rpb24gdG8gdGhlIHZpZGVvIHNpbmtwYWQuCgoyMDA5LTEyLTA5IDA5OjUxOjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogSW1wbGVtZW50IHNyY3BhZCBldmVudCBmdW5jdGlvbnMgZm9yIHNlZWtpbmcgYW5kIGNvcnJlY3QgZXZlbnQgZm9yd2FyZGluZwoJICBDb3BpZWQgZnJvbSB0ZXh0b3ZlcmxheS4KCjIwMDktMTItMDggMTc6NTk6MDQgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVtb3ZlIGMrKyBjb21tZW50cyBhbmQgYWRkIHNvbWUgbW9yZSBjb21tZW50cy4KCjIwMDktMTItMDggMTc6NTU6NTYgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IGFkZCBpbWEgYWRwY20gc3VwcG9ydAoKMjAwOS0xMi0wOCAxNzo1NToxMyAtMDgwMCAgU3RlcGhlbiBNY05hbWFyYSA8c3RldmUubWNuYW1hcmFAdWx0cmEtc21sLmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgIGRzaG93dmlkZW9zaW5rOiBkb24ndCBsZWFrIGZpbHRlcl9tZWRpYV9ldmVudAoKMjAwOS0xMS0yMyAxNjozNDo1MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBlbnN1cmUgc3VmZmljaWVudCBkYXRhIGF2YWlsYWJsZSBmb3IgcGFyc2luZwoKMjAwOS0xMC0yOSAxNToxOTowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBleHRyYWN0IGFuZCB1c2Ugc29tZSBtb3JlIGRldGFpbHMgZm9yIEVuaGFuY2VkIEFjLTMgc3RyZWFtcwoKMjAwOS0xMC0yOSAxNToxODozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGN1c3RvbSBidWZmZXJmbGFnIGluZGljYXRlcyBub3QgdG8gY291bnQgZnJhbWUgaW4gc3RhdHMKCjIwMDktMTAtMjggMTQ6MDg6NDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogcGVyZm9ybSBhZGRpdGlvbmFsIGZyYW1lIGNoZWNrcyB3aGVuIHJlc3luY2luZwoKMjAwOS0xMC0yOCAxNDowNzoxNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBpbmZvcm0gYmFzZSBwYXJzZXIgb2YgZnJhbWUgZHVyYXRpb24KCjIwMDktMTAtMjcgMTY6MTY6NTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogaW1wcm92ZSBzcmMgY2FwcyBzZXR0aW5ncwoKMjAwOS0xMS0yNyAxNzo1OTowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYWMzcGFyc2U6IGluaXRpYWwgdmVyc2lvbgoJICBNQVJHSU5BTCByYW5rIGZvciBub3c7IG1pZ2h0IHRha2Ugc29tZSB0aW1lIGZvciBzb21lICh1c2VmdWwpCgkgIGZyYW1lZD10cnVlL2ZhbHNlIHRvIGFwcGVhciBoZXJlIGFuZCB0aGVyZS4KCjIwMDktMTEtMjYgMTg6MzQ6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmg6CgkgIGFtcnBhcnNlOiB1c2UgKGRlZmF1bHQpIHRpbWUgaGFuZGxpbmcgb2YgYmFzZXBhcnNlciBjbGFzcwoKMjAwOS0xMS0yNiAxODoxNToyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZ3N0L2FtcnBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGFtcnBhcnNlLmg6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiBtb3ZlICdhbXJwYXJzZScgaW50byBpdAoKMjAwOS0xMS0yNyAxNzoyNzozMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IHJlZmVyZW5jZSBHc3RCYXNlUGFyc2Ugbm93IGxpdmVzIGhlcmUKCjIwMDktMTEtMjggMTg6MTM6MzEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGdzdC9hYWNwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5oOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2FhY3BhcnNlL3BsdWdpbi5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiByZW5hbWUgJ2FhY3BhcnNlJyBwbHVnaW4gdG8gZ2VuZXJpYyAnYXVkaW9wYXJzZXJzJyBwbHVnaW4KCjIwMDktMTEtMjYgMTc6MDQ6NDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL3BsdWdpbi5jOgoJICBhYWNwYXJzZTogc2VwYXJhdGUgcGx1Z2luIHJlZ2lzdHJhdGlvbiBhbmQgcmVuYW1lIHBsdWdpbgoKMjAwOS0xMS0yNiAxNzowNDozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGVuc3VyZSBzdWZmaWNpZW50IGRhdGEgYXZhaWxhYmxlIGJlZm9yZSBhY2Nlc3NpbmcKCjIwMDktMTEtMDUgMTQ6MzE6NDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5oOgoJICBhYWNwYXJzZTogdXNlIChkZWZhdWx0KSB0aW1lIGhhbmRsaW5nIG9mIGJhc2VwYXJzZXIgY2xhc3MKCjIwMDktMTAtMjkgMTU6MTk6MzUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXh1cCBjb21tZW50cyB0byBDLXN0eWxlCgoyMDA5LTEwLTI5IDE2OjA1OjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZXNldCBwYXNzdGhyb3VnaCBtb2RlIHRvIGRlZmF1bHQgKGRpc2FibGVkKSBvbiBhY3RpdmF0aW9uCgoyMDA5LTEwLTI5IDE1OjE2OjU5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBlbnN1cmUgYnVmZmVyIG1ldGFkYXRhIGlzIHdyaXRhYmxlCgoyMDA5LTEwLTI4IDE0OjA2OjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGZpeC9lbmhhbmNlIERJU0NPTlQgbWFya2luZwoJICBJbiBwYXJ0aWN1bGFyLCBjb25zaWRlciBESVNDT05UID09ICFzeW5jLCBhbmQgYWxsb3cgc3ViY2xhc3MgdG8gcXVlcnkKCSAgc3luYyBzdGF0ZSwgYXMgaXQgbWF5IHdhbnQgdG8gcGVyZm9ybSBhZGRpdGlvbmFsIGNoZWNrcyBkZXBlbmRpbmcKCSAgb24gd2hldGhlciBzeW5jIHdhcyBhY2hpZXZlZCBlYXJsaWVyIG9uLgoJICBBbHNvIGFycmFuZ2UgZm9yIHN1YmNsYXNzIHRvIHF1ZXJ5IHdoZXRoZXIgbGVmdG92ZXIgZGF0YSBpcyBiZWluZyBkcmFpbmVkLgoKMjAwOS0xMS0yMyAxNTo0ODoyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBhZGQgdGltZXN0YW1wIGhhbmRsaW5nLCBhbmQgZGVmYXVsdCBjb252ZXJzaW9uCgkgIEluIHBhcnRpY3VsYXIsIChvcHRpb25hbGx5KSBwcm92aWRlIGJhc2VwYXJzZSB3aXRoIGEgbm90aW9uIG9mIGZyYW1lcyBwZXIgc2Vjb25kCgkgIChhbmQgdGhlcmVmb3JlIGFsc28gZnJhbWUgZHVyYXRpb24pIGFuZCBoYXZlIGl0IHRyYWNrIGZyYW1lIGFuZCBieXRlIGNvdW50cy4KCSAgVGhpcyB3YXksIHN1YmNsYXNzIGNhbiBwcm92aWRlIGJhc2VwYXJzZSB3aXRoIGZwcyBhbmQgaGF2ZSBpdCBwcm92aWRlIGRlZmF1bHQKCSAgYnVmZmVyIHRpbWUgbWV0YWRhdGEgYW5kIGNvbnZlcnNpb25zLCB0aG91Z2ggc3ViY2xhc3MgY2FuIHN0aWxsIGluc3RhbGwKCSAgY2FsbGJhY2tzIHRvIGhhbmRsZSBzdWNoIGl0c2VsZi4KCjIwMDktMTAtMjggMTI6MDI6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGRvY3VtZW50YXRpb24gZml4ZXMKCjIwMDktMTAtMjggMTI6MDA6MDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHVzZV9maXhlZF9jYXBzIGZvciBzcmMgcGFkCgkgIEFmdGVyIGFsbCwgc3RyZWFtIGlzIGFzLWlzLCBhbmQgdGhlcmUgaXMgbGl0dGxlIG1vbGRpbmcgdG8gZG93bnN0cmVhbSdzCgkgIHRhc3RlIHRoYXQgY2FuIGJlIGRvbmUuICBJZiBzdWJjbGFzcyBjYW4gYW5kIHdhbnRzIHRvIGRvIHNvLCBpdCBjYW4KCSAgc3RpbGwgb3ZlcnJpZGUgYXMgc3VjaC4KCjIwMDktMTItMDggMTQ6NDY6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbHYyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IEFkZCBkb2NzIGFuZCBpbnRlZ3JhdGUgaW50byB0aGUgZG9jcyBidWlsZCBzeXN0ZW0KCjIwMDktMTItMDggMTQ6MDY6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBGb3Igc3luY2hyb25pemluZyB0aGUgdGV4dCwgdGFrZSB0aGUgdmlkZW8gcnVubmluZyB0aW1lIG9mIHRoZSBuZXh0IGZyYW1lCgkgIFRoaXMgbWFrZXMgc3VyZSB0aGF0IGxpYmFzcyBhbHJlYWR5IGhhcyBhbGwgdGV4dCBidWZmZXJzIGZvciB0aGUgbmV4dCBmcmFtZQoJICBhdCB0aGUgdGltZSB3aGVuIHRoZSBuZXh0IGZyYW1lIGlzIHByb2Nlc3NlZC4gV2l0aG91dCB0aGlzIHRleHQgYnVmZmVycwoJICBtaWdodCBiZSBvbmUgZnJhbWUgbGF0ZSBvciBub3Qgc2hvd24gYXQgYWxsIGlmIHRoZXkncmUgb25seSBzaG93biBmb3IgYQoJICBzaW5nbGUgZnJhbWUuCgoyMDA5LTEyLTA4IDExOjI2OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRml4IEk0MjAgbW9kZSBhbmQgZW5hYmxlIGl0CgoyMDA5LTEyLTA4IDExOjI1OjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRml4IGNvbXBpbGF0aW9uIHdpdGggb2xkZXIgbGliYXNzIHZlcnNpb25zCgoyMDA5LTEyLTA3IDEwOjIxOjMyIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5oOgoJICBkc2hvd3ZpZGVvc2luazogc3BlbGwgdGhpbmdzIG1vcmUgYmV0dGVyZXIuCgoyMDA5LTEyLTA3IDEwOjA5OjE5IC0wODAwICBTdGVwaGVuIE1jTmFtYXJhIDxzdGV2ZS5tY25hbWFyYUB1bHRyYS1zbWwuY29tPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmg6CgkgIGRzaG93dmlkZW9zaW5rOiBhZGQgdmlydHVhbCBkZXN0cnVjdG9yIGZvciBpbnRlcm5hbCBoZWxwZXIgY2xhc3MuCgoyMDA5LTEyLTA3IDE4OjM1OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRG9uJ3QgdW5yZWYgYnVmZmVycyB0d2ljZQoKMjAwOS0xMi0wNyAxODozMDowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEltcHJvdmUgZW1iZWRkZWQgZm9udCB1c2FnZQoJICBGb3IgdGhpcyBhZGQgc29tZSBuZXcgbWltZXR5cGVzIGFuZCBhbHNvIGNoZWNrIHRoZSBmaWxlbmFtZSBleHRlbnNpb24uCgkgIEZpeGVzIGJ1ZyAjNjAzOTM4LgoKMjAwOS0xMi0wNyAxODowMzoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IERpc2FibGUgSTQyMCBzdXBwb3J0IGZvciBub3csIGl0IGRvZXNuJ3Qgd29yayByZWxpYWJsZSB5ZXQKCjIwMDktMTItMDcgMTc6MDQ6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBBZGQgc3VwcG9ydCBmb3IgSTQyMAoKMjAwOS0xMi0wNyAxNTozMTo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IE9wdGltaXplIGJsaXQgZnVuY3Rpb24gYW5kIGFkZCBzdXBwb3J0IGZvciBhbGwgb3RoZXIgbm9uLWFscGhhIFJHQiBmb3JtYXRzCgkgIEFsc28gbWFrZSBzdXJlIHRvIG5vdCB3cml0ZSBiZWhpbmQgYXJyYXkgYm91bmRzLgoKMjAwOS0xMi0wNyAxNDozNTo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEZpeCBhdHRhY2htZW50IHRhZyBoYW5kbGluZyBhbmQgbW92ZSBpdCBpbnRvIGEgc2VwYXJhdGUgZnVuY3Rpb24KCSAgLi4udG8gcHJldmVudCBjb2RlIGR1cGxpY2F0aW9uLgoKMjAwOS0xMi0wNyAxNDoyNjo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IFVwZGF0ZSB0ZXh0IGxhc3Qgc3RvcCBhZnRlciBjaGVja2luZyBpZiB0aW1lc3RhbXAvZHVyYXRpb24gaXMgdmFsaWQKCjIwMDktMTItMDcgMTQ6MjM6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBJZiBhbiBBU1MgdHJhY2sgd2FzIGFsbG9jYXRlZCBhbHJlYWR5IG9ubHkgZmVlZCBuZXcgY29kZWNfZGF0YSB0byBpdCBpbnN0ZWFkIG9mIHJlY3JlYXRpbmcKCjIwMDktMTItMDcgMTQ6MDU6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBMb3RzIG9mIHJhbmRvbSBjbGVhbnVwIGFuZCBzb21lIG1pbm9yIG1lbWxlYWsgZml4ZXMKCjIwMDktMTItMDcgMTM6NDA6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBFeHRyYWN0IGVtYmVkZGVkIGZvbnRzIGZyb20gdGhlIHN1YnRpdGxlIHN0cmVhbXMgaWYgcmVxdWVzdGVkCgoyMDA5LTEyLTA3IDEzOjI2OjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRG9uJ3QgbGV0IGxpYmFzcyBwcmludCBzdHVmZiBvbiBzdGRlcnIgYnV0IHByb3h5IHRoZSBtZXNzYWdlcyB0byB0aGUgR1N0cmVhbWVyIGRlYnVnZ2luZyBzeXN0ZW0KCjIwMDktMTItMDUgMTE6MjU6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06CgkgIGFwZXhzaW5rOiBjbGVhbiB1cCBhbmQgZml4IGNvbmZpZ3VyZSBsb2dpYyBhbmQgTWFrZWZpbGUuYW0KCSAgQ2hlY2sgZm9yIG9wZW5zc2wgYW5kIGxpYmNyeXB0byB1c2luZyBwa2ctY29uZmlnIGFuZCBkb24ndCBidWlsZCB0aGUKCSAgcGx1Z2luIGlmIHRob3NlIGFyZSBub3QgYXZhaWxhYmxlLiBBbHNvLCBmaXggdGhlIENGTEFHUy9MSUJTIG9yZGVyCgkgIGluIE1ha2VmaWxlLmFtIGFuZCB1c2UgdGhlIGRldGVjdGVkIExJQlMgaW5zdGVhZCBvZiBoYXJkLWNvZGluZwoJICAtbGNyeXB0byBpbiB0aGUgTWFrZWZpbGUuYW0uIFNob3VsZCBmaXggIzYwMTQxNy4KCjIwMDktMTItMDEgMTU6MDc6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA4N2JmNDI4IHRvIDQ3Y2IyM2EKCjIwMDktMTItMDEgMTQ6MDk6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IENhbGwgQUdfR1NUX1BMQVRGT1JNIGZvciBHU1RfRVhUUkFfTU9EVUxFX1NVRkZJWAoJICBUaGlzIGlzIHVzZWQgaW4gdGhlIGZyZWkwciBwbHVnaW4gYWxyZWFkeSBidXQgbmV2ZXIgZGVmaW5lZCBhbnl3aGVyZS4KCSAgRml4ZXMgYnVnICM2MDI1MjQuCgoyMDA5LTEyLTAxIDE0OjE3OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZGE0Yzc1YyB0byA4N2JmNDI4CgoyMDA5LTExLTI3IDE4OjU1OjU4ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1M2EyNDg1IHRvIGRhNGM3NWMKCjIwMDktMTEtMjcgMTQ6Mzg6MDQgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5oOgoJICBjYW1lcmFiaW46IHBob3RvZ3JhcGh5IGludGVyZmFjZSBwcm9wZXJ0aWVzLiBGaXhlcyAjNTczMzcwIChwYXJ0aWFsbHkpCgkgIEFkZGVkIEdPYmplY3QgcHJvcGVydGllcyB0byBwaG90b2dyYXBoeSBpbnRlcmZhY2UgYW5kIGltcGxlbWVudGVkCgkgIHRoZW0gaW4gY2FtZXJhYmluLiBDaGFuZ2VkIHpvb21pbmcgdG8gY2hlY2sgaWYgdmlkZW8tc291cmNlIGhhcwoJICB6b29tIHByb3BlcnR5LgoKMjAwOS0wMi0yMyAyMzoxODozMyArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQG5va2lhLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC5wYy5pbjoKCSAgQWRkIHBrZ2NvbmZpZyBmaWxlcyBmb3IgcGhvdG9ncmFwaHkgaW50ZXJmYWNlIGxpYnJhcnkuCgoyMDA5LTEwLTI4IDEyOjQ3OjE5ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiBhZGQgZmxhZ3MgcHJvcGVydHkuIEZpeGVzICM1NzMzNzAgKHBhcnRpYWxseSkKCSAgQWRkcyBmbGFncyBwcm9wZXJ0eSB0byBlbmFibGUgcnVudGltZSBjb25maWd1cmF0aW9uIG9mCgkgIGNvbnZlcnNpb24gYW5kIHNjYWxpbmcgZWxlbWVudHMuIEFsc28gYWRkcyBmbGFnIGZvciBkaXNhYmxpbmcKCSAgYXVkaW8gY29tcGxldGVseS4KCjIwMDktMTAtMjcgMTY6Mjg6MjUgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uaDoKCSAgY2FtZXJhYmluOiByZW1vdmUgdGltZW92ZXJsYXkgYnVpbGQtdGltZSBkZWZpbml0aW9uCgoyMDA5LTExLTI2IDE1OjMzOjMyIC0wNjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJICB2ZHBhdTogZml4IGJ1aWxkCgoyMDA5LTExLTI1IDIxOjQxOjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVwbGFjZSBfc2NhbGUgd2l0aCBfc2NhbGVfcm91bmQKCSAgVXNlIHRoZSByb3VuZGluZyB2ZXJzaW9uIGZvciBpbXByb3ZlZCBzeW5jIGJldHdlZW4gc3RyZWFtcy4KCSAgU21hbGwgdmFyaWF0aW9ucyBpbiB0aGUgZHVyYXRpb24gd2hlbiBtdXhpbmcgbWlnaHQgbGVhZCB0bwoJICBjdW11bGxhdGl2ZSB3cm9uZyB0aW1lc3RhbXBpbmcgd2hlbiBkZW11eGluZy4KCSAgRml4ZXMgIzYwMjkzNgoKMjAwOS0xMS0yNCAxNjoxNjo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSB0aW1lc3RhbXBzIGZvciBtdXhpbmcKCSAgVHJ5IHRvIHVzZSB0aW1lc3RhbXBzIGV2ZW4gd2hlbiB0aGUgc3RyZWFtIGhhcyBvdXQgb2Ygb3JkZXIKCSAgdGltZXN0YW1wcywgb25seSBmYWxsIGJhY2sgdG8gZHVyYXRpb25zIHdoZW4gd2UgZGV0ZWN0IGFuCgkgIG91dCBvZiBvcmRlciBidWZmZXIuIEltcHJvdmVzIHN5bmMgYmV0d2VlbiBzdHJlYW1zLgoKMjAwOS0xMS0yNCAxNDozNDo1MSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkgIG1ldGFkYXRhOiBmaXggY2xhc3NpZmljYXRpb24KCjIwMDktMTEtMTggMTE6Mzg6NTAgKzAxMDAgIFhhdmllciBRdWVyYWx0IE1hdGV1IDx4cXVlcmFsdEBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIEV4cG9zZSBsYW5nIGNvZGVzIGluIHBtdAoKMjAwOS0xMS0yMiAxOTozMDo0MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IG9wdGlvbmFsIHRyYW5zZm9ybWluZyBmcm9tIGJ5dGVzdHJlYW0gdG8gc2FtcGxlIGZvcm1hdCAob3IgdmljZSB2ZXJzYSkKCjIwMDktMTEtMjAgMTg6MzE6MzkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiByZWZhY3RvciBhIGJpdCBpbnRvIGEgcmVzZXQgZnVuY3Rpb24KCjIwMDktMTEtMjAgMTg6NDk6NTYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBwcm92aWRlIHcvaCBmcm9tIHN0cmVhbSBpbiBzcmMgY2FwcyBpZiBub3QgaW4gc2luayBjYXBzCgoyMDA5LTExLTA2IDEyOjU4OjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcGFyc2UgU1BTIHNvbWUgbW9yZSAoZS5nLiBmb3Igd2lkdGgvaGVpZ2h0KQoKMjAwOS0xMS0yMiAxOTozNDoyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IG9wdGlvbmFsbHkgb3V0cHV0IEFVcyByYXRoZXIgdGhhbiBOQUxVcwoJICBUaGF0IGlzLCBBY2Nlc3MgVW5pdHMgKGZyYW1lcy9maWVsZHMpIGluc3RlYWQgb2YgKHBvc3NpYmx5KSBwYXJ0cyB0aGVyZW9mLgoKMjAwOS0xMS0yMyAxMDozMjo0MSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IHJlbW92ZSBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5jCgoyMDA5LTExLTIzIDA5OjM1OjMwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogcHJlLXJlbGVhc2U9PmdpdAoKMjAwOS0xMS0yMyAwOToxNzozOSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuaDoKCSAgdmRwYXU6IEZpeCBpbmNsdWRlcwoKMjAwOS0xMS0yMiAyMjo1NDoyNyArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGNvbnZlcnQgdG8gMS8xIHBpeGVsLWFzcGVjdC1yYXRpbyBmb3IgcmdiIHRvbwoKMjAwOS0xMS0yMiAyMjozNDoxOSArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkgIHZkcGF1c2luazogaW50ZXJzZWN0IGFsbG93ZWQgY2FwcyB3aXRoIG91ciB0ZW1wbGF0ZSBjYXBzCgoyMDA5LTExLTIyIDIyOjMxOjM4ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkgIHZkcGF1OiBmaXggZ3N0X3ZkcF9bdmlkZW98eXV2XV90b19vdXRwdXRfY2FwcyB0byBhbHNvIGFkZCByZ2IgY2FwcwoKMjAwOS0xMS0yMiAyMjozMDoxOSArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogdXNlIEdzdFZkcFZpZGVvU3JjUGFkCgoyMDA5LTExLTIyIDIyOjI5OjU4ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0YnVmZmVyLmg6CgkgIHZkcGF1OiBhZGQgZnVuY3Rpb25zIHRvIEdzdFZkcE91dHB1dEJ1ZmZlciBuZWVkZWQgZm9yIHJnYiBkb3dubG9hZAoKMjAwOS0xMS0yMiAyMjoyODoxOCArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dHNyY3BhZC5oOgoJICB2ZHBhdTogYWRkIEdzdFBhZCBzdWJjbGFzcyBHc3RWZHBPdXRwdXRTcmNQYWQKCSAgR3N0VmRwT3V0cHV0U3JjUGFkIGlzIGEgc3ViY2xhc3Mgb2YgR3N0UGFkIHRoYXQgaXMgdXNlZCBmb3IgcHVzaGluZyBvdXQKCSAgR3N0VmRwT3V0cHV0QnVmZmVycy4gSXQgdGFrZXMgY2FyZSBvZiBjYXBzIG5lZ290aWF0aW9uIGFuZCBjb252ZXJzaW9uIHRvCgkgIHZpZGVvL3gtcmF3LXJnYi4KCjIwMDktMTEtMjIgMjI6MjQ6MTIgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkgIGdzdHZkcHZpZGVvc3JjcGFkOiBhZGQgInRlbXBsYXRlLWNhcHMiIHByb3BlcnR5CgkgIFRoZSBwcm9wZXJ0eSBsaW1pdHMgdGhlIGF2YWlsYWJsZSBvdXRwdXQgY2FwcwoKMjAwOS0xMS0yMiAyMjoxODo1NSArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJICBnc3R2ZHB2aWRlb2J1ZmZlcjogZml4IHR5cG8KCjIwMDktMTEtMjEgMDI6NTE6MzkgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkgIGdzdHZkcHZpZGVvc3JjcGFkOiByZXBsYWNlIGdldF9wYWRfdGVtcGxhdGUoKSB3aXRoIGdldF90ZW1wbGF0ZV9jYXBzKCkKCjIwMDktMTEtMjEgMDE6MTA6NTAgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkgIGdzdHZkcHZpZGVvc3JjcGFkOiBkb24ndCByZWNyZWF0ZSBjYXBzIGluIGdldGNhcHMKCjIwMDktMTEtMjEgMDA6MTM6NDYgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJICB2ZHBhdTogYWRkIEdzdFBhZCBzdWJjbGFzcyBHc3RWZHBWaWRlb1NyY1BhZAoJICBHc3RWZHBWaWRlb1NyY1BhZCB0YWtlcyBjYXJlIG9mIGNhcHMgbmVnb3RpYXRpb24gYW5kIGNvbnZlcnNpb24gb2YKCSAgR3N0VmRwVmlkZW9CdWZmZXJzIHRvIHRoZSBuZWdvdGlhdGVkIG91dHB1dCBmb3JtYXQuCgoyMDA5LTEwLTI3IDIyOjA0OjEwICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkgIHZkcGF1c2luazogcmV3b3JrIHByZXNlbnRhdGlvbiBibG9ja2luZyBhIGJpdAoJICBpbnN0ZWFkIG9mIGJsb2NraW5nIHVudGlsIHRoZSBwcmV2aW91cyBzdXJmYWNlIGhhcyBiZWVuIGRpc3BsYXllZCwgd2UgbmV3IG9ubHkKCSAgYWRkIHN1cmZhY2VzIHRvIHRoZSBxdWV1ZSBpZiBpdCdzIGlkbGUuCgoyMDA5LTEwLTI3IDIxOjE4OjA0ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBzcGxpdCB1cCBjaGFpbiBmdW5jdGlvbgoKMjAwOS0xMC0yNyAyMDo1NzowNSArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogaW1wbGVtZW50IGJhc2ljIHFvcyBoYW5kbGluZwoKMjAwOS0xMC0xNiAwMDoxNjoyNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmg6CgkgIHZkcGF1bXBlZ2RlYzogYWRkIGRpc3BsYXkgcHJvcGVydHkKCjIwMDktMTAtMDggMjM6Mzg6MjQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmg6CgkgIHZkcGF1OiByZW1vdmUgdW51c2VkIGZ1bmN0aW9ucwoKMjAwOS0xMC0wOCAyMDoyNTo0MCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkgIHZkcGF1OiB1c2UgbG9jYWwgbGliZ3N0dmRwIGhlYWRlcnMKCjIwMDktMTAtMDggMjA6MjM6MzMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmg6CgkgIHZkcGF1OiByZW1vdmUgbm93IHVubmVlZGVkIHZkcGF1dmlkZW95dXYgYW5kIHZkcGF1eXV2dmlkZW8gZWxlbWVudHMKCjIwMDktMTAtMDggMjA6MTk6NTcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGFkZCBkaXNwbGF5IHByb3BlcnR5CgoyMDA5LTEwLTA4IDIwOjEzOjI0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSAgdmRwYXVzaW5rOiBhZGQgZGVidWcgb3V0cHV0CgoyMDA5LTEwLTA4IDIwOjEzOjA0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBhZGQgc3VwcG9ydCBmb3IgdmlkZW8veC1yYXcteXV2IGlucHV0CgoyMDA5LTEwLTA3IDEwOjI1OjQ2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiBhZGQgc3JjX2dldGNhcHMgZnVuYwoJICB0aGlzIHdheSB3ZSBjYW4gcmV0dXJuIG9ubHkgdGhlIGNhcHMgd2UgcmVhbGx5IHN1cHBvcnQsIHNpbmNlIHdlJ3JlIGFibGUgdG8gcXVlcnkgdmRwYXUKCSAgYWJvdXQgaXQKCjIwMDktMTAtMDcgMDA6MTM6MDAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkgIHZkcGF1bXBlZ2RlYzogYWRkIHN1cHBvcnQgZm9yIG5lZ290YXRpb24gb2YgeC1yYXcteXV2IG91dHB1dAoKMjAwOS0xMC0wNCAxOToyNzo1NiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2Lmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uaDoKCSAgdmRwYXU6IGNyZWF0ZSBhIGxpYmdzdHZkcCBsaWJyYXJ5LgoJICBUaGUgbGlicmFyeSBjb250YWlucyBHc3RWZHBEZXZpY2UgR3N0VmRwVmlkZW9CdWZmZXIgYW5kIEdzdFZkcE91dHB1dEJ1ZmZlci4gVGhlCgkgIGxpYnJhcnkgd2lsbCAoYXBhcnQgZnJvbSB0aGUgcGx1Z2lucyBoZXJlKSBiZSB1c2VkIGJ5IHRoZSB1cGNvbWluZyBnc3QtZmZtcGVnCgkgIHZkcGF1IHN1cHBvcnQuCgoyMDA5LTEwLTAzIDE0OjMwOjQxICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiBjaGVjayBmb3Igc2luayBlbGVtZW50IHJldHVybmluZyB3cm9uZyBidWZmZXIgdHlwZQoKMjAwOS0xMC0wMiAwMTowNDowMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSAgdmRwYXU6IHJlbW92ZSB1bm5lZWRlZCBnc3RfdmRwX3ZpZGVvX2J1ZmZlcl9hZGRfcmVmZXJlbmNlIGZ1bmN0aW9uCgoyMDA5LTA5LTI0IDIyOjI2OjU4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBmaXggbG9uZ25hbWUKCjIwMDktMTEtMjIgMTk6MzA6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL01ha2VmaWxlLmFtOgoJKiBnc3QvYXV0b2NvbnZlcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvbGl2ZWFkZGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbXV4L01ha2VmaWxlLmFtOgoJKiBnc3Qvc2lyZW4vTWFrZWZpbGUuYW06CgkqIGdzdC92YWx2ZS9NYWtlZmlsZS5hbToKCSAgQ2xlYW4gdXAgTERGTEFHUywgTElCUywgQ0ZMQUdTCgkgIEZpeCBvcmRlciwgZml4IHZhcmlhYmxlcyB0aGF0IGRvbid0IGV4aXN0LCBsaWtlIEdTVF9MSUJTX0xJQlMsCgkgIHVzZSAkKExJQk0pIGluc3RlYWQgb2YgLWxtLCBhbmQgbW92ZSBfTElCUyBmcm9tIExERkxBR1MgdG8gTElCQURELgoJICBTcG90dGVkIGJ5IEhhdmFyZCBHcmFmZi4KCjIwMDktMTEtMjIgMTk6MDI6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9jb2d1dGlscy5oOgoJICBjb2c6IGluY2x1ZGUgb3VyIG93biBfc3RkaW50LmggaW5zdGVhZCBvZiA8c3RkaW50Lmg+CgoyMDA5LTExLTIwIDExOjEzOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saWJyZmIvZDNkZXMuYzoKCSogZ3N0L2xpYnJmYi92bmNhdXRoLmM6CgkgIGxpYnJmYjogaW5jbHVkZSBvdXIgb3duIF9zdGRpbnQuaCBub3Qgc3RkaW50LmgKCjIwMDktMTEtMjEgMTc6MzE6NTMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5oOgoJICByZXNpbmR2ZDogUmVtb3ZlIGxvY2FsIGJhc2VzcmMgY29weQoJICBVc2UgdGhlIHJlYWwgdmVyc2lvbiBvZiBiYXNlc3JjIGluc3RlYWQgb2YgYSBsb2NhbCBjb3B5IG5vdyB0aGF0IGl0CgkgIHN1cHBvcnRzIHRoZSBzZWFtbGVzcyBzZWdtZW50IGZlYXR1cmUgdGhhdCByZXNpbiBuZWVkcy4KCjIwMDktMTEtMjAgMTM6NDE6MjcgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIHRlc3RzL2ljbGVzOiBtYWtlIGNvZyB0ZXN0IHByb2dyYW0gZGVwZW5kIG9uIFVTRV9DT0cuIEZpeGVzIGJ1aWxkIHdpdGhvdXQgb3JjLgoKMjAwOS0xMS0yMCAyMDo1NToxNSArMDEwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZy5vcmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkgIGNvZzogY29udmVydCBzb21lIHBhcmFtcyB0byBjb25zdHMgaW4gb3JjIGNvZGUKCjIwMDktMTEtMjAgMTc6MzM6MjEgKzAxMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSAgZnJlaTByOiBGaXggY29tcGlsYXRpb24gd2FybmluZ3MuCgoyMDA5LTExLTIwIDE3OjMyOjQ0ICswMTAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGFtcnBhcnNlOiBGaXggY29tcGlsYXRpb24gd2FybmluZ3MKCjIwMDktMTEtMjAgMTc6MzI6MTMgKzAxMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEZpeCBjb21waWxhdGlvbiB3YXJuaW5ncwoKMjAwOS0xMS0yMCAxMDozMTo0NyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5oOgoJICBkdG1mOiBVc2UgX3N0ZGludC5oIGZyb20gY29uZmlndXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDI0NjUKCjIwMDktMTEtMjAgMTM6MTM6MzYgKzAxMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIGNvZzogQWRkIG9yYyB0ZXN0IGNvZGUgZm9yIGNvZwoJICBBbHNvIGxvb2sgZm9yIGNvZy5vcmMgc291cmNlIGZpbGUgaW4gdGhlIHJpZ2h0IHBsYWNlLgoKMjAwOS0xMS0xOSAyMDozMzowNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuYzoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuaDoKCSAgZHRtZjogVXBkYXRlIGR0bWZkZXRlY3QgdG8gbWFrZSBpdCBNU1ZDIGZyaWVuZGx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDI0NjUKCjIwMDktMTEtMTkgMTg6Mjg6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaXggbWlzc2luZyBkZWJ1ZyBhcmd1bWVudAoJICBBZGRzIGEgbWlzc2luZyBkZWJ1ZyBhcmd1bWVudAoKMjAwOS0xMS0xOSAyMzowMToyOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbHYyOiBzZXQgdGhlIGF1ZGlvLWNoYW5uZWwgcG9zaXRpb25zIGFnYWluLCBidXQgbm93IGluIF9zZXR1cAoJICBSZWFkZCB0aGUgY29kZSB0aGF0IHdhcyByZXZlcnRlZCBmb3IgdGhlIHJlbGVhc2UuIFdlIG5vdyBzZXQgYXVkaW8tY2hhbm5lbAoJICBwb3NpdGlvbnMgaWYgYW55IG9uIHRoZSBwYWQgY2FwcyBhbmQgbm90IG9uIHRoZSB0ZW1wbGF0ZXMuCgoyMDA5LTExLTE5IDIyOjU5OjE3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IHJlbW92ZSBjb21tZW50ZWQgb3V0IGNvZGUgdGhhdCB3ZSBkb24ndCBuZWVkIGFueW1vcmUKCjIwMDktMTEtMTcgMDA6Mzk6NTAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkgIHRlc3RzOiBtYWtlIHN0YXRlLWNoYW5nZSB0ZXN0IHRpbWVvdXQgbG9uZ2VyIGlmIHdyYXBwZXJzIGFyZSBlbmFibGVkCgkgIFdoZW4gbGFkc3BhIHx8IGx2MiBhcmUgZW5hYmxlZCBvbmUgY291bGQgcXVpY2tseSBnZXQgdG8gNTAwIGVsZW1lbnRzLgoKMjAwOS0xMS0xNyAwMDozNzoyOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6CgkgIHJlYWxhdWRpb2RlYzogcmVpbmRlbnQgYW5kIG1ha2UgdmFsZ3JpbmQgaGFwcHkKCSAgVGhlIHN0YXRlLWNoYW5nZSB0ZXN0cyByZXBvcnRlZCBhY2Nlc3MgdG8gdW5pbml0aWFsaXplZCBtZW1vcnkuCgoyMDA5LTExLTE2IDIyOjA3OjMxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IG9ubHkgdXNlIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIGZvciBjaGVja2luZyBwcmUtY29uZGl0aW9ucwoJICBnX3JldHVybl8qIGNhbiBiZSBkaXNhYmxlZC4gU3RpbGwgd2Ugd2FudCB0byBjaGVjayBmb3IgZmFpbGVkIGluc3RhbmNlIGNyZWF0aW9uLgoKMjAwOS0xMS0xNiAyMjowNToxNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbHYyOiBvbmx5IHVzZSBnX3JldHVybl92YWxfaWZfZmFpbCBmb3IgY2hlY2tpbmcgcHJlLWNvbmRpdGlvbnMKCSAgZ19yZXR1cm5fKiBjYW4gYmUgZGlzYWJsZWQuIFN0aWxsIHdlIHdhbnQgdG8gY2hlY2sgZm9yIGZhaWxlZCBpbnN0YW5jZSBjcmVhdGlvbi4KCjIwMDktMTEtMTYgMjE6NTI6MzIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIGxhZHNwYTogcmVtb3ZlIGxlZnQtb3ZlciBjb21tZW50CgoyMDA5LTExLTE2IDIxOjUwOjIwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJICBzaWduYWxwcm9jZXNzb3I6IGNoYW5nZSBfc2V0dXAgdG8gcGFzcyB3aG9sZSBjYXBzIGFuZCBub3QganVzdCBzYW1wbGluZ19yYXRlCgkgIFRoaXMgYWxsb3dzIHRvIGdldCByaWQgb2YgdGhlIHNhbXBsaW5nX3JhdGUgdmFyaWFibGUgaW4gdGhlIGJhc2UtY2xhc3MuIEFsc28gbm93CgkgIHN1YmNsYXNzZXMgY2FuIG1vZGlmeSB0aGUgY2FwcyB0byBhY3R1YWx5IG5lZ290aWF0ZS4gVGhpcyBpcyBuZWVkZWQgdG8gZS5nLiBzZXQKCSAgYXVkaW8tY2hhbm5lbCBwb3NpdGlvbnMuCgoyMDA5LTExLTE5IDExOjM2OjE0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZml4IG1pc2luZm9ybWluZyBkZWJ1ZyBzdGF0ZW1lbnQKCjIwMDktMTEtMTkgMTE6MTQ6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBlbnN1cmUgd3JpdGFibGUgYnVmZmVyIG1ldGFkYXRhIGJlZm9yZSBzZXR0aW5nIGNhcHMKCjIwMDktMTEtMTkgMTA6MzE6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwNzAyZmUxIHRvIDUzYTI0ODUKCjIwMDktMTEtMTggMjA6MDY6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBpbXByb3ZpbmcgZGVidWcgbWVzc2FnZXMKCSAgSW1wcm92ZXMgZGVidWcgbWVzc2FnZXMgZm9yIGFzZm11eAoKMjAwOS0xMC0yOSAwODozNjowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogc3VwcG9ydCBmb3IgU1ZRMwoJICBBZGRzIHN1cHBvcnQgZm9yIG11eGluZyBTVlEzIGNvbnRlbnQuIFVzdWFsbHkgdGhpcyBmb3JtYXQKCSAgaGFzIGRlY29kZXIgaW5mbyB0aGF0IG11c3QgYmUgcGFzc2VkIGluIHRoZSAnc2VxaCcgZmllbGQKCSAgaW4gdGhlIGNhcHMuIEl0IGlzIGFsc28gZ29vZCB0byBhZGQgdGhlIGdhbWEgYXRvbSB0byBtYWtlCgkgIHF1aWNrdGltZSBub3QgY3Jhc2guCgkgIEZpeGVzICM1ODc5MjIKCjIwMDktMTEtMTggMTg6MDA6MzcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvanAyay9nc3RqcDJrLmM6CgkgIGpwMms6IFJhaXNlIHJhbmsgb2YgZW5jb2RlciB0byBNQVJHSU5BTAoKMjAwOS0xMS0xOCAxODowMDoyMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9nc20vZ3N0Z3NtLmM6CgkgIGdzbTogUmFpc2UgcmFuayBvZiBlbmNvZGVyIHRvIFBSSU1BUlkKCjIwMDktMTEtMTggMTg6MDA6MDAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvYW1yd2JlbmMvZ3N0YW1yd2IuYzoKCSAgYW1yd2JlbmM6IFJhaXNlIHJhbmsgdG8gU0VDT05EQVJZCgoyMDA5LTExLTE4IDE3OjU5OjIxICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjLmNjOgoJICBkaXJhYzogUmFpc2UgcmFuayBvZiBlbmNvZGVyIHRvIE1BUkdJTkFMCgkgIFdlJ2xsIHByZWZlciB0byB1c2Ugc2Nocm9lZGluZ2VyIGlmIGF2YWlsYWJsZSwgYnV0IGluIGNhc2UgaXQncyBub3QgYXZhaWxhYmxlCgkgIHdlIHN0aWxsIGhhdmUgdGhlIGxpYmRpcmFjIG9wdGlvbgoKMjAwOS0xMS0xOCAxNzo1ODo1MyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC94dmlkL2dzdHh2aWQuYzoKCSAgeHZpZDogUmFpc2UgcmFuayBvZiBlbmNvZGVyIHRvIFNFQ09OREFSWQoKMjAwOS0xMS0xOCAxNzo1ODozOSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9haWZmL2FpZmYuYzoKCSAgYWlmZjogUmFpc2UgcmFuayBvZiBtdXhlciB0byBQUklNQVJZCgoyMDA5LTExLTE4IDE3OjU3OjU5ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L212ZS9nc3RtdmUuYzoKCSAgbXZlOiBSYWlzZSByYW5rIG9mIG11eGVyIHRvIFBSSU1BUlkKCjIwMDktMTEtMTggMTc6NTc6MjUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IFJhaXNlIHJhbmsgdG8gUFJJTUFSWQoKMjAwOS0xMS0xOCAxMzo0MTozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVtcCBjb3JlIHJlcXVpcmVtZW50cyB0byAwLjEwLjI1LjEgYXMgd2VsbAoJICBNYWtlIGltcGxpY2l0IHJlcXVpcmVtZW50IGV4cGxpY2l0LgoKMjAwOS0xMS0xNyAxNjozMTowOSArMDEwMCAgWWFha292IFNlbGtvd2l0eiA8eXNlbGtvd2l0ekB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbHYyL01ha2VmaWxlLmFtOgoJICBzaWduYWxwcm9jZXNzb3I6IFVzZSBjb3JyZWN0IENGTEFHUyBmb3IgdGhlIHNpZ25hbHByb2Nlc3NvciBoZWFkZXJzIGluIExWMi9MQURTUEEKCSAgVGhpcyBtYWtlcyBzdXJlIHRoYXQgdGhlIGhlYWRlcnMgZnJvbSB0aGUgc291cmNlIHRyZWUgYXJlIHRha2VuIGFuZCBub3QKCSAgYWNjaWRlbnRpYWxseSBpbnN0YWxsZWQgc3lzdGVtIGhlYWRlcnMgaW4gdGhlIGNhc2Ugb2YgYnVpbGRkaXIhPXNyY2Rpci4KCSAgRml4ZXMgYnVnICM2MDIxNjEuCgoyMDA5LTExLTE4IDAzOjA5OjE4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgcmVzaW5kdmQsIGR2ZHNwdTogVXNlIG5ldyBzdGlsbC1mcmFtZSBBUEkgZnJvbSBnc3QtcGx1Z2lucy1iYXNlCgkgIFJlcGxhY2UgdGhlIGN1cnJlbnQgY3VzdG9tIERWRCBzdGlsbC1mcmFtZSBldmVudHMgd2l0aCBuZXcgZXZlbnQKCSAgY3JlYXRpb24vcGFyc2luZyBBUEkgZnJvbSBsaWJnc3R2aWRlby4KCjIwMDktMTEtMTggMDI6MTY6MDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYnVtcCBnc3QtcGx1Z2lucy1iYXNlIHJlcXVpcmVtZW50IHRvIDAuMTAuMjUuMQoKMjAwOS0xMS0xOCAwMjowNDoxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2FpZmYvTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmL2FpZmYuYzoKCSAgUmV2ZXJ0ICJhaWZmOiBEaXNhYmxlIGFpZmYgbXV4ZXIgZm9yIHRoaXMgcmVsZWFzZS4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNzQyNmJlNzBmZmIxMTNmMDJlMzc0MDdlYTk4OWU2MGI2MzhiMmYwMC4KCSAgUmUtZW5hYmxlIHRoZSBhaWZmIG11eGVyIG5vdyB0aGF0IGdzdC1wbHVnaW5zLWJhZCAwLjEwLjE3IGlzIG91dAoJICBhbmQgd2UgY2FuIHJlbHkgb24gZ3N0LXBsdWdpbnMtYmFzZSBmcm9tIGdpdC4KCjIwMDktMTEtMTcgMTc6MjU6MTQgLTAzMDAgIFRoaWFnbyBTb3VzYSBTYW50b3MgPHRoaWFnb3NzQHJlZG1vb24uKG5vbmUpPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguaDoKCSAgYXNmbXV4OiBoYW5kbGUgc3RyZWFtcyB3aXRoIGRpZmZlcmVudCBzdGFydCB0aW1lcwoJICBQcmV2ZW50cyBsb3Npbmcgc3luYyB3aGVuIHJlbXV4aW5nIHN0cmVhbXMgd2l0aCBkaWZmZXJlbnQKCSAgc3RhcnQgdGltZXMuIFRoZSBzbWFsbGVzdCBzdGFydCB0aW1lIGlzIHNlbGVjdGVkIGFzCgkgIHRoZSBiYXNlIHRpbWUgYW5kIGFsbCB0aW1lc3RhbXBzIGFyZSBzdWJ0cmFjdGVkCgkgIGZyb20gaXQgdG8gZ2V0IHRoZSBhY3R1YWwgdGltZSB0byBiZSB1c2VkIHdoZW4KCSAgbXV4aW5nIGFuZCBidWlsZGluZyBpbmRleGVzCgkgIEZpeGVzICM1ODY4NDgKCjIwMDktMTEtMTcgMDk6MjY6MDUgLTAzMDAgIFRoaWFnbyBTb3VzYSBTYW50b3MgPHRoaWFnb3NzQHJlZG1vb24uKG5vbmUpPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBkbyBub3QgbGVhayBhIHN0cmluZwoJICBGcmVlcyBhIHN0cmluZyBhZnRlciB1c2UuIEFsc28gZG9lcyBzb21lIGNvZGUgb3JnYW5pemF0aW9uCgoyMDA5LTExLTE2IDE0OjU3OjUzIC0wMzAwICBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc0ByZWRtb29uLihub25lKT4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJICBxdG11eDogZG8gbm90IGFkZCBzaXplIHRvIHRoZSBwb2ludGVyIHZhcmlhYmxlCgkgIERvIG5vdCB3cm9uZ2x5IGFkZCB0aGUgcmVzdWx0IG9mIHRoZSBmdW5jdGlvbiB0byB0aGUKCSAgcG9pbnRlciB0byB0aGUgYnVmZmVyIHNpemUuIEluc3RlYWQsIGNoZWNrIHRoZSByZXN1bHQKCSAgdG8gc2VlIGlmIHRoZSBzZXJpYWxpemF0aW9uIHdhcyBvay4KCSAgQmFzZWQgb24gYSBwYXRjaCBieTogIkNhcnN0ZW4gS3JvbGwgPGNhckB4aW1pZGkuY29tPiIKCSAgRml4ZXMgIzYwMjEwNgoKMjAwOS0xMS0wNiAxMDozNDozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGhhbmRsZSAnbGF0ZScgc3RyZWFtcwoJICBXaGVuIG11eGluZyBzdHJlYW1zLCBzb21lIGNhbiBzdGFydCBsYXRlciB0aGFuIG90aGVycy4gcXRtdXgKCSAgbm93IGhhbmRsZSB0aGlzIGJ5IGFkZGluZyBhbiBlbXB0eSBlZHRzIGVudHJ5IHdpdGggdGhlCgkgIGR1cmF0aW9uIG9mIHRoZSAnbGF0ZW5lc3MnIHRvIHRoZSBzdHJlYW0ncyB0cmFrLgoJICBJdCB0b2xlcmF0ZXMgYSBzdHJlYW0gdG8gYmUgdXAgdG8gMC4xcyBsYXRlLgoJICBGaXhlcyAjNTg2ODQ4CgoyMDA5LTExLTA1IDIxOjM1OjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSAgcXRtdXg6IGFkZHMgdGhlIEVEVFMgYW5kIEVMVFMgYXRvbXMgdG8gYXRvbXMuYwoJICBUaGVzZSBhdG9tcyB3aWxsIGJlIHVzZWZ1bCBmb3Igc2lnbmFsaW5nIHN0cmVhbXMKCSAgdGhhdCBzdGFydCBsYXRlciBpbiB0aGUgZmlsZS4gQXMgd2VsbCBmb3IgYWRkaW5nCgkgIGVkaXQgbGlzdHMgaWYgbmVlZGVkIHNvbWV0aW1lIGxhdGVyLgoKMjAwOS0xMS0xNyAxNzo1OTo1NiAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSAgYWRwY21kZWM6IGRlY29kZSBhZHBjbSB3aXRob3V0IGV4cGxpY2l0IGxlbmd0aCwgYXMgZm91bmQgaW4gcXQuCgoyMDA5LTExLTE1IDAzOjIxOjU2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IEZvcndhcmQgdGhlIHN0aWxsIGZyYW1lIGV2ZW50IGRvd25zdHJlYW0KCSAgRm9yd2FyZCBzdGlsbC1mcmFtZSBldmVudHMgZG93bnN0cmVhbSBzbyBlbGVtZW50cyBsaWtlIGRlaW50ZXJsYWNlCgkgIGNhbiB1c2UgdGhlbS4KCjIwMDktMTEtMTQgMDA6MzE6MjkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogR3VhcmQgYWdhaW5zdCBhIGRpdmlkZS1ieS16ZXJvIGVycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjAwMjYzCgoyMDA5LTExLTE4IDAxOjQ2OjM4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjE3LjEKCjIwMDktMTEtMTcgMDE6NTM6NTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJICBBZGQgMC4xMC4xNyByZWxlYXNlIHRvIHRoZSBkb2FwIGZpbGUKCj09PSByZWxlYXNlIDAuMTAuMTcgPT09CgoyMDA5LTExLTE3IDAxOjI1OjQ3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTcKCjIwMDktMTEtMTcgMDE6MTM6MzYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA5LTExLTE1IDIxOjQ2OjAxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJICBzaWduYWxwcm9jZXNzb3I6IGRvbid0IHNldCBjaGFubmVsIHBvc2l0aW9ucyBpbiB0ZW1wbGF0ZS1jYXBzLCBGaXhlcyAjNjAxNzc1CgkgIFJldmVydCB0aGUgY2hhbmdlcyB0aGF0IGFkZGVkIGF1ZGlvIHBvc2l0aW9ucyB0byB0ZW1wbGF0ZSBjYXBzLiBXZSBoYXZlIGFuIHVuLQoJICBmb3J0dW5hdGUgbGltaXRhdGlvbiBpbiBjb3JlIHRoYXQgZG9lcyBub3QgYWxsb3cgdG8gZG8gaXQuIEtlZXAgYSBmZXcgdGhpbmdzCgkgIGNvbW1lbnRlZCBvdXQsIHNvIHRoYXQgdGhlIGNoYW5uZWwgcG9zaXRpb24gY2FuIGxhdGVyIG9uIGJlIHNldCBpbiBzZXRjYXBzLgoKMjAwOS0xMS0xMyAwMjoxODozMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBwby9reS5wbzoKCSogcG8vbHYucG86CgkqIHBvL3N2LnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTYuMyBwcmUtcmVsZWFzZQoKMjAwOS0xMS0xMSAxMDo1ODoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdDogUG9ydCB0byAwLjcgQVBJCgkgIEZpeGVzIGJ1ZyAjNjAwNzI0LgoKMjAwOS0xMS0xMSAxMDo1NDoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdDogTWFrZSBjZWx0IHZlcnNpb24gY2hlY2tzIGJldHRlciBleHRlbnNpYmxlCgoyMDA5LTExLTA5IDE5OjIwOjIxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNi4yIHByZS1yZWxlYXNlCgoyMDA5LTExLTA5IDE5OjA4OjQ5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYWlmZi9NYWtlZmlsZS5hbToKCSogZ3N0L2FpZmYvYWlmZi5jOgoJICBhaWZmOiBEaXNhYmxlIGFpZmYgbXV4ZXIgZm9yIHRoaXMgcmVsZWFzZS4KCSAgVGhlIGFpZmYgbXV4ZXIgcmVsaWVzIG9uIEdzdEJ5dGVXcml0ZXIgQVBJIGFkZGVkIGFmdGVyIDAuMTAuMjUuIERpc2FibGUKCSAgaXQgZm9yIHRoaXMgcmVsZWFzZS4KCSAgUmV2ZXJ0IHRoaXMgY29tbWl0IGFmdGVyIGdzdC1wbHVnaW5zLWJhZCAwLjEwLjE3CgoyMDA5LTExLTA5IDE0OjEwOjIwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYXNmbXV4L01ha2VmaWxlLmFtOgoJICBhc2ZtdXg6IFVuY29tbWVudCAtLWRpc2FibGUtc3RhdGljIGZsYWcKCSAgRm9yIHNvbWUgcmVhc29uIHRoYXQgbGlidG9vbCBmbGFncyBsaW5lIHRoYXQgcHJldmVudHMgYnVpbGRpbmcKCSAgdGhlIHN0YXRpYyBsaWIgd2FzIGNvbW1lbnRlZCBvdXQuIFJlcG9ydGVkIGJ5IE1hcnQgUmF1ZHNlcHAgb24gSVJDLgoKMjAwOS0xMS0wOSAxMTo0OToxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBSZW1vdmUgdXNlbGVzcyB2YXJpYWJsZXMgYW5kIGZpeCBhIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZ3MKCSAgTWVyZ2VkIGZyb20gZ3N0LXBsdWdpbnMtYmFzZSwgZGZkNTFhYTgyYTllMWM5OTI0Mzc1MTgzNzk2ZWFiNzBlNTc0YTIzMS4KCjIwMDktMTEtMDkgMTE6NDg6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogTWFrZSBzdXJlIHRoYXQgcnVubmluZ190aW1lLT50aW1lc3RhbXAgY2FsY3VsYXRpb24gbmV2ZXIgYmVjb21lcyBuZWdhdGl2ZQoJICBNZXJnZWQgZnJvbSBnc3QtcGx1Z2lucy1iYXNlLCBmMzY1Mzg1NDU4NTg2NGEwOWQzNWUwMzc4NTM0MDczMzJlYTY5MDFmLgoKMjAwOS0xMS0wOSAxMTo0ODowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBVc2UgdGhlIHN0YXJ0IHRpbWUgKGkuZS4gdGltZXN0YW1wKSBhcyB0aGUgbGFzdCBzdG9wCgkgIFVzaW5nIHRoZSBlbmQgdGltZSBtYWtlcyBpdCBpbXBvc3NpYmxlIHRvIHJlcGxhY2UgYnVmZmVycywgd2hpY2ggaXMKCSAgYSBiaWcgcHJvYmxlbSBmb3Igc3VidGl0bGVzIHRoYXQgY291bGQgaGF2ZSB2ZXJ5IGxvbmcgZHVyYXRpb25zLgoJICBNZXJnZWQgZnJvbSBnc3QtcGx1Z2lucy1iYXNlLCAyNzAzNGJlNDYxMTIzMWNjNTVmYTNkM2UyNTNiYWE0MGM2YmZmNDFkLgoKMjAwOS0xMS0wOSAxMTo0NzoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBJbXByb3ZlIGRlYnVnZ2luZwoJICBNZXJnZWQgZnJvbSBnc3QtcGx1Z2lucy1iYXNlLgoKMjAwOS0xMS0wNyAxMjoyOToxNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOgoJICBqcDJrZW5jOiBGaXgga2xhc3MgKHMvRGVjb2Rlci9FbmNvZGVyLykKCjIwMDktMTEtMDYgMTU6MzE6MjYgKzAxMDAgIENocmlzIEhpbGxzIDxjaGF6QGNoYXo2LmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogQWRkIHN1cHBvcnQgZm9yIERWQi1UL0RWQi1DIHdpdGggRFZCIEFQSSAzLjMKCjIwMDktMTEtMDYgMTE6NDQ6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBUaGUgdGV4dCBhbmQgdmlkZW8gZHVyYXRpb24gc2hvdWxkIG9ubHkgY29tcGFyZWQgYXMgcnVubmluZyB0aW1lIHRvbwoJICBUaGUgZW5kIHRpbWVzIG9mIHRoZSB0ZXh0IGFuZCB2aWRlbyBidWZmZXJzIGNvdWxkIGJlIGRpZmZlcmVudCB0aGFuCgkgIHRoZWlyIHN0YXJ0IHJ1bm5pbmcgdGltZSArIGR1cmF0aW9uIGJlY2F1c2Ugb2YgZGlmZmVyZW50IHJhdGVzLgoKMjAwOS0xMS0wNiAwOToxNjoxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlLmM6CgkgIGthdGU6IExvd2VyIHRpZ2VyJ3MgcmFuayB0byBOT05FIGFnYWluCgkgIEl0J3Mgbm90IHdlbGwgdGVzdGVkIHlldCBhbmQgZG9lc24ndCBoYW5kbGUgc2VnbWVudHMgYW5kIHRleHQvdmlkZW8KCSAgc3luY2hyb25pemF0aW9uIHByb3Blcmx5IHlldC4gQXV0b3BsdWdnaW5nIGl0IHdpbGwgY2F1c2UgZmFpbHVyZXMuCgoyMDA5LTExLTA2IDA3OjEyOjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogUmVzZXQgc2VnbWVudHMgb24gRkxVU0hfU1RPUCBldmVudHMKCjIwMDktMTEtMDUgMTc6NDE6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBJbXByb3ZlIGRlYnVnZ2luZwoKMjAwOS0xMS0wNiAwMDo0NjoxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBZGRpbmcgc29tZSBpZnMgZm9yIHByb3RlY3Rpb24KCSAgQWRkaW5nIHNvbWVzIGlmcyB0byBwcm90ZWN0IGFnYWluc3Qgd2FybmluZyBjb25kaXRpb25zCgkgIHRoYXQgbWlnaHQgaGFwcGVuIHdoZW4gdXBzdHJlYW0gZWxlbWVudCBpcyBub3Qgc2FuZQoJICBGaXhlcyAjNjAwODk1CgoyMDA5LTExLTA1IDEzOjQwOjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogcHJvcGVybHkgdXBkYXRlIG5ldyBzZWdtZW50cwoJICBTY2FsZXRlbXBvIHdhcyBtaXNzaW5nIGFuIHVwZGF0ZSBvZiAnc3RvcCcgaW4KCSAgbmV3IHNlZ21lbnQgcGFyYW1ldGVycyB3aGVuIHB1c2hpbmcgaXQgZG93bnN0cmVhbSwKCSAgd2hpY2ggY2F1c2VkIGZpbGVzIHRvIGVuZCBlYXJsaWVyIHdoZW4gcmF0ZSA8IDEuCgkgIEZpeGVzICM1OTk5MDMKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IEJhc3RpYW4gSGVjaHQgPGhlY2h0YkBnbWFpbC5jb20+CgoyMDA5LTExLTA1IDIzOjE3OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB0aW1pZGl0eTogcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAwOS0xMS0wNSAyMjowMzo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJICBteXRodHY6IHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMDktMTEtMDUgMjE6NTg6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgbW1zOiBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDA5LTExLTA1IDIxOjUxOjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJICBrYXRlOiBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDA5LTExLTA1IDIxOjQ3OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmQ6IHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMDktMTEtMDUgMjE6NDU6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YmJhc2ViaW46IHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMDktMTEtMDUgMjE6NDQ6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICBkaXJlY3RmYjogcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAwOS0xMS0wNSAyMTo0NDozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzoKCSAgYWxzYXNwZGlmc2luazogcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAwOS0xMS0wNSAxNzoxMzozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IFVwZGF0ZSBsYXN0IHN0b3AgZm9yIHRoZSBzdWJ0aXRsZXMKCjIwMDktMTEtMDUgMTc6MDY6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBTeW5jaHJvbml6ZSB0ZXh0IGFuZCB2aWRlbyBieSB0YWtpbmcgdGhlIHJ1bm5pbmcgdGltZSBpbnN0ZWFkIG9mIHRoZSBzdHJlYW0gdGltZQoKMjAwOS0xMS0wNSAxNjo0NDowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IEtlZXAgdHJhY2sgb2YgdGhlIHN1YnRpdGxlIHNlZ21lbnRzCgoyMDA5LTExLTA1IDE2OjQxOjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogSWYgdGhlIHZpZGVvIHNlZ21lbnQgaXMgbm90IGluIFRJTUUgZm9ybWF0IGRvbid0IGFjY2VwdCBpdAoKMjAwOS0xMS0wNCAyMjo1MjoxOSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkdG1mZGV0ZWN0OiBBZGQgZHRtZmRldGVjdHMgdG8gcGx1Z2lucyBkb2NzCgoyMDA5LTExLTA0IDIyOjE5OjU4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuaDoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuYzoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuaDoKCSAgZHRtZmRldGVjdDogQWRkIERUTUYgdG9uZSBkZXRlY3RvcgoJICBJdCBsb29rcyBhdCByYXcgYXVkaW8gZGF0YSBhbmQgZW1pdHMgbWVzc2FnZXMgd2hlbiBEVE1GIGlzIGRldGVjdGVkLgoJICBUaGUgZHRtZiBkZXRlY3RvciBpcyB0aGUgc2FtZSBHb2VydHplbCBpbXBsZW1lbnRhdGlvbiB1c2VkIGluIEZyZWVTd2l0Y2gKCSAgYW5kIEFzdGVyaXNrLiBJdCBpcyBpbiB0aGUgcHVibGljIGRvbWFpbi4KCjIwMDktMTEtMDUgMTM6NTM6NDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBSZXZlcnQgImlucHV0c2VsZWN0b3I6IHVzZSBnZXRfY2Fwc19yZWZmZWQoKSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA0OWVjNGY3OTZhMGUzZjg4YTg1MTcwODc4MmM4NTNiYWY0YjA1NzI0LgoJICBXZSBjYW4ndCB1c2UgdGhpcyBuZXcgZnVuY3Rpb24geWV0LgoKMjAwOS0xMS0wNSAxMzoyOTo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IHVzZSBnZXRfY2Fwc19yZWZmZWQoKQoKMjAwOS0xMS0wNSAxMzoxNzoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IERyb3AgdG9vIGxhdGUgdGV4dCBidWZmZXIgaW1tZWRpYXRlbHkKCSAgQWxzbyBpbXByb3ZlIGRlYnVnZ2luZyBhIGJpdCBhbmQgZHJvcCBidWZmZXJzIHdpdGhvdXQgdmFsaWQKCSAgdGltZXN0YW1wIG9yIGR1cmF0aW9uIGJlY2F1c2Ugd2UgY2FuJ3QgaGFuZGxlIHRoZW0uCgoyMDA5LTExLTA1IDEyOjI1OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRml4IHJhY2UgY29uZGl0aW9uIHRoYXQgcmVzdWx0cyBpbiBhIGRlYWRsb2NrIG9uIHNodXRkb3duCgoyMDA5LTExLTA0IDIyOjIxOjM1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IFJlamVjdCBlbXB0eSBjYXBzCgoyMDA5LTExLTA0IDIyOjIxOjIyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IFVzZSBsb2cgbGV2ZWwgZm9yIHJlcGVhdGVkIGRlYnVnIG1lc3NhZ2VzCgoyMDA5LTExLTA0IDIwOjA1OjE3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IEFsbG93IGZvciBhbnkgc2FtcGxlcmF0ZQoKMjAwOS0xMS0wNCAyMzozMjowNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBGaXggcHJldmlvdXMgY29tbWl0OiBlbnN1cmUgd2UgdGFrZSBhIHJlZiBvbiB0aGUgZmVhdHVyZXMKCjIwMDktMTEtMDQgMTU6MjE6NTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICByZXNpbmR2ZCxhdXRvY29udmVydDogQXZvaWQgZGVwZW5kaW5nIG9uIDAuMTAuMjYgQVBJCgkgIFdhaXQgdW50aWwgYWZ0ZXIgdGhlIG5leHQgcmVsZWFzZSB0byBidW1wIHRoZSBjb3JlIHJlcXVpcmVtZW50LgoJICBVbnRpbCB0aGVuLCBkb24ndCB1c2UgZ3N0X3BsdWdpbl9mZWF0dXJlX2xpc3RfY29weSBhbmQKCSAgZ3N0X3BhZF9wZWVyX2dldF9jYXBzX3JlZmVkLgoKMjAwOS0xMS0wMiAxNzowNjo1MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogUmVtb3ZlIG9sZCBjb2RlIGFuZCBvYnNvbGV0ZSBjb21tZW50cwoJICBSZW1vdmUgc29tZSBkaXNhYmxlZCBjb2RlIHBhdGhzIGFuZCBvYnNvbGV0ZSBGSVhNRSBjb21tZW50cwoKMjAwOS0xMC0xNCAxNTo0NzoyNyAtMDQwMCAgR2FicmllbCBNaWxsYWlyZSA8Z2FicmllbC5taWxsYWlyZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGRlYyA6IGNoYWluX3BhcnNlX2RhdGEgOiBjaGVjayB2YWxpZGl0eSBvZiB0aW1lc3RhbXAsIGNyZWF0ZSBhIG5ldyBvbmUgaWYgbmVlZGVkIGNlbHRlbmMgOiBkZWZhdWx0IGZyYW1lc2l6ZSBpcyA0ODAgICAgICAgICAgIHNldGNhcHMgOiBnZXRzIGZyYW1lc2l6ZSBhbmQgc2V0IGNhcHMgICAgICAgICAgIGVuY19jaGFpbiA6IHNldHMgZnJhbWVzaXplIGluIGNhcHMgICAgICAgICAgIEFkZGVkIGZyYW1lLXNpemUgdG8gc3RhdGljIGNhcHMgb2YgYXVkaW8veC1jZWx0ICAgICAgICAgICBSZXBsYWNlZCBHU1RfREVCVUdfT0JKRUNUIGJ5IEdTVF9MT0dfT0JKRUNUIGluIGVuY19jaGFpbiAgICAgICAgICAgc2V0Y2FwczogZ2V0IGZyYW1lLXNpemUgZnJvbSBpbnQgaW5zdGVhZCBvZiBzdHJpbmcgICAgICAgICAgIHNldGNhcHM6IHVzZSBkZWZhdWx0IHZhbHVlIGZvciBmcmFtZS1zaXplCgoyMDA5LTExLTA0IDE3OjEzOjM0ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWdkZW11eDogRml4IHBvaW50ZXItZGlmZmVyZW5jZXMgcHJpbnRvdXQKCSAgVGhlcmUgaXMgdW5mb3J0dW5hdGVseSBubyBHXypfRk9STUFUIGNvbnZlcnNpb24gc3BlY2lmaWVyIGZvciBkaWZmZXJlbmNlcyBvZgoJICBwb2ludGVycyBpbiBnbGliLCBhbmQgd2UgY2FuJ3QgcmVseSBlaXRoZXIgb24gYWxsIHBsYXRmb3JtcyBiZWluZyA2NGJpdC4KCSAgU28gbGV0J3MganVzdCBjYXN0IHRoZSBkaWZmZXJlbmNlIHRvIGEgZ2ludCBhbmQgYmUgZG9uZSB3aXRoIGl0LgoKMjAwOS0xMS0wNCAxMzo1NTowNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vTWFrZXZhcnM6CgkgIHBvOiBEb24ndCBjcmVhdGUgYmFja3VwIC5wbyBmaWxlcwoJICBBcyB3ZWxsIGFzIHByZXZlbnRpbmcgY3JlYXRpb24gb2YgdXNlbGVzcyBiYWNrdXAgZmlsZXMsIGl0IHdvcmtzCgkgIGFyb3VuZCBhIGJ1ZyBpbiBnZXR0ZXh0IDAuMTcgb24gT1MvWAoKMjAwOS0xMS0wNCAxNTo1Nzo0MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSAgY2RhdWRpbzogZml4IHByb3BlcnRpZXMKCSAgRml4IHByb3BlcnRpZXMgYW5kIGFsbG93IHNldHRpbmcgdGhlIGRldmljZSBwcm9wZXJ0eS4KCjIwMDktMTEtMDQgMTM6MTE6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBSZXR1cm4gV1JPTkdfU1RBVEUgZnJvbSB0aGUgc3VidGl0bGUgY2hhaW4gd2hlbiBmbHVzaGluZwoKMjAwOS0xMS0wNCAxMzowNzoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IFVubG9jayBhbmQgZnJlZSBhbnkgcGVuZGluZyBzdWJ0aXRsZSBidWZmZXJzIG9uIEZMVVNIX1NUQVJUCgoyMDA5LTExLTA0IDEyOjUwOjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogU3luY2hyb25pemUgc3VidGl0bGUgYnVmZmVycyB3aXRoIHRoZSB2aWRlbwoJICBGaXhlcyBidWcgIzYwMDY2Mi4KCjIwMDktMTEtMDQgMDA6MjE6MTkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IGFsc28gYWRkIGlubGluZSB0byB0aGUgcHJvdG8gdG8gZml4IHRoZSBidWlsZAoKMjAwOS0xMS0wNCAwMDoxOToyMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJICB6YmFyOiBpbmNsdWRlIHF1YWxpdHkgYW5kIGNoZWNrIGNvdW50LCBmaXhlcyAjNjAwNDYxCgkgIFdlIHJlcG9ydCB0aGUgcmVsYXRpdmUgcXVhbGl0eSBpbiB0aGUgbWVzc2FnZSBhbmQgd2UgYWxzbyB1c2UgdGhlIGNhY2hlIHRvIHNraXAKCSAgZWFybHkgZGV0ZWN0cyBhbmQgZG91Ymxlcy4KCjIwMDktMTEtMDMgMTg6MTQ6MTIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBnc3Q6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzIGFuZCByZXN1bHRpbmcgdW51c2VkIHZhcmlhYmxlcwoJICBNZXJnZWQgZnJvbSBnc3QtcGx1Z2lucy1iYXNlLCA4Y2QxYjUyMDliNjg5NDRlMWJlNTZjYThiYjY5ZTQ2ZDRhYmI3YTM0LgoKMjAwOS0xMS0wMyAxODoxMjoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBVc2UgdGhlIHNhbWUgaXRlcmF0ZSBpbnRlcm5hbCBsaW5rcyBmdW5jdGlvbiBhcyBpbiBnc3QtcGx1Z2lucy1iYXNlCgoyMDA5LTExLTAzIDE4OjExOjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIFJlbW92ZSBHU1RfREVCVUdfRlVOQ1BUUiB3aGVyZSB0aGV5J3JlIHBvaW50bGVzcwoJICBUaGVyZSdzIG5vdCBtdWNoIHBvaW50IGluIHVzaW5nIEdTVF9ERUJVR19GVU5DUFRSIHdpdGggR09iamVjdAoJICB2aXJ0dWFsIGZ1bmN0aW9ucyBzdWNoIGFzIGdldF9wcm9wZXJ0eSwgc2V0X3Byb3BlcnksIGZpbmFsaXplIGFuZAoJICBkaXNwb3NlLCBzaW5jZSB0aGV5J2xsIG5ldmVyIGJlIHVzZWQgYnkgYW55b25lIGFueXdheS4gU2F2ZXMgYQoJICBmZXcgYnl0ZXMgYW5kIHBvc3NpYmx5IGEgc2l4dGVlbnRoIG9mIGEgcG9sYXIgYmVhci4KCSAgTWVyZ2VkIGZyb20gZ3N0LXBsdWdpbnMtYmFzZSwgNmY0YzFhYzU4MzQxZWUxODkyMjVkMzEzZGRmZTlhZTI0YTY1Yzg4Yy4KCjIwMDktMTEtMDMgMTg6MDk6NTUgKzAxMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgUmVtb3ZlIFJvbmFsZCBCdWx0amUgZnJvbSBBdXRob3JzIGZpZWxkCgkgIFJlcGxhY2VkIHdpdGggIkdTdHJlYW1lciBtYWludGFpbmVycwoJICA8Z3N0cmVhbWVyLWRldmVsQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD4iIG9yIGp1c3QgcmVtb3ZlZCwKCSAgZGVwZW5kaW5nIG9uIHRoZSBudW1iZXIgb2Ygb3RoZXIgYXV0aG9ycy4KCSAgTWVyZ2VkIGZyb20gZ3N0LXBsdWdpbnMtYmFzZSwgMGU5YmM1MTI1YWNhNTQ2ZDc3M2VkMTAwMmRmNTczZGQ4ZTJkYzEzNi4KCjIwMDktMTEtMDMgMTg6MDg6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBzZXQgb3V0cHV0IGNhcHMgYmVmb3JlIHB1c2hpbmcKCSAgU2V0IHRoZSBvdXRwdXQgY2FwcyBvbiB0aGUgc3JjcGFkIGJlZm9yZSBwdXNoaW5nIHRoZSBidWZmZXIgYmVjYXVzZSBlbHNlIGNvcmUKCSAgd2lsbCBkbyBhIHJhdGhlciBleHBlbnNpdmUgY2hlY2sgdG8gc2VlIGlmIHdlIGNhbiBhY3R1YWxseSBhY2NlcHQgdGhvc2UgY2FwcyBvbgoJICB0aGUgc3JjcGFkLgoJICBNZXJnZWQgZnJvbSBnc3QtcGx1Z2lucy1iYXNlLCBiZGZiNGI0NmQ3NDZlZjI5OGZjZjQ0MjYwODc5YzM0MmFmNGNhZmEzLgoKMjAwOS0xMS0wMyAxODowNjoxMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IGluc3RhbGwgYW4gYWNjZXB0Y2FwcyBmdW5jdGlvbgoJICBJbnN0YWxsIGEgY3VzdG9tIGFjY2VwdGNhcHMgZnVuY3Rpb24gaW5zdGVhZCBvZiB1c2luZyB0aGUgZGVmYXVsdCBleHBlbnNpdmUKCSAgY2hlY2suIFdlIGFjY2VwdCB3aGF0ZXZlciBkb3duc3RyZWFtIGFjY2VwdHMgc28gd2UgcGFzcyBhbG9uZyB0aGUgYWNjZXB0Y2FwcwoJICBjYWxsIHRvIHRoZSBkb3duc3RyZWFtIHBlZXIuCgkgIE1lcmdlZCBmcm9tIGdzdC1wbHVnaW5zLWJhc2UsIDViNzJmMmFkZjk5NjczOTAzNmU4ZDliNWY5MTAwNTQ1NWQxZmZhY2UuCgoyMDA5LTExLTAzIDE1OjA4OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICB0aWdlcjogTWFrZSBzdXJlIHRoYXQgdGlnZXIgaXMgbm90IGF1dG9wbHVnZ2VkIGJ5IGRlY29kZWJpbjIKCSAgSXQncyBub3QgcmVhbGx5IGEgZGVjb2Rlci4uLgoKMjAwOS0xMS0wMyAxNDo1MDoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlLmM6CgkgIGthdGU6IENoYW5nZSByYW5rcyBvZiBrYXRlZGVjIGFuZCB0aWdlciB0byBQUklNQVJZIHRvIGJlIGF1dG9wbHVnZ2VkCgoyMDA5LTExLTAzIDE0OjQ5OjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICB0aWdlcjogQ2hhbmdlIG5hbWUgb2YgdGhlIHN1YnRpdGxlIHNpbmsgdGVtcGxhdGUgYW5kIGNsYXNzaWZpY2F0aW9uCgkgIFRoaXMgd2lsbCBtYWtlIHN1cmUgdGhhdCBzdWJ0aXRsZW92ZXJsYXkgY2FuIHdvcmsgd2l0aCB0aWdlci4KCjIwMDktMTEtMDIgMTE6MzM6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICByZXNpbmR2ZDogVGFrZSBhIGNvcHkgb2YgdGhlIHBhc3NlZCBwbHVnaW4gZmVhdHVyZXMKCSAgQ2xhcmlmeSB0aGUgb3duZXJzaGlwIG9mIHRoZSBpbnRlcm5hbCBwbHVnaW4gZmVhdHVyZSBsaXN0IGJ5IG1ha2luZwoJICBhIGNvcHkgb2YgYW55IHBhc3NlZCBsaXN0LiBBdm9pZHMgY3Jhc2hlcyB3aGVuIGZyZWVpbmcgYSBwYXNzZWQgbGlzdCwKCSAgb3IgbGVha3MgY2F1c2VkIGJ5IG5vdCBmcmVlaW5nIGFueSBpbnRlcm5hbGx5IGJ1aWx0IGxpc3QuCgoyMDA5LTExLTAyIDEwOjIwOjQwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5jOgoJICByZXNpbmR2ZDogRml4IGFuIG92ZXJzaWdodCBmcm9tIHVwZGF0aW5nIHRoZSBjb3B5IG9mIGJhc2VzcmMKCSAgUGx1Z2lucyBuZWVkIGdzdC1pMThuLXBsdWdpbi5oLCBub3QgZ3N0LWkxOG4tbGliLmgKCjIwMDktMTEtMDEgMTU6NTY6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIHBpdGNoOiByZW1vdmUgcG9pbnRsZXNzIGdzdF9lbGVtZW50X25vX21vcmVfcGFkcygpCgoyMDA5LTExLTAxIDIzOjE3OjAyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IFVzZSBnc3RfYmFzZV9zcmNfbmV3X3NlYW1sZXNzX3NlZ21lbnQoKQoJICBXaGVuIHN3aXRjaGluZyB0byBhIG5ldyBzZWFtbGVzcyBzZWdtZW50LCB1c2UgdGhlIG5ldwoJICBnc3RfYmFzZV9zcmNfbmV3X3NlYW1sZXNzX3NlZ21lbnQoKSBmdW5jdGlvbiwgYmVjYXVzZSBlbGVtZW50cyBjYW4ndAoJICBzZW5kIHRoZW1zZWx2ZXMgc2VlayBldmVudHMgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZC4KCjIwMDktMTEtMDEgMjM6MTY6MTggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmg6CgkgIHJlc2luZHZkOiBBZGQgZ3N0X2Jhc2Vfc3JjX25ld19zZWFtbGVzc19zZWdtZW50KCkgdG8gR3N0QmFzZVNyYyBjb3B5CgkgIEFkZCBhIG5ldyBmdW5jdGlvbiB0byB0aGUgaW50ZXJuYWwgY29weSBvZiBHc3RCYXNlU3JjIGZvciBzdGFydGluZyBhIG5ldwoJICBzZWFtbGVzcyBzZWdtZW50LgoKMjAwOS0xMS0wMSAxOToyMTozOCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmg6CgkqIGV4dC9yZXNpbmR2ZC9yc25wdXNoc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25wdXNoc3JjLmg6CgkgIHJlc2luZHZkOiBVcGRhdGUgdGhlIGJhc2Ugc291cmNlIGNvcHkKCSAgVGhpcyBicmVha3Mgc2VhbWxlc3Mgc2VnbWVudCB1cGRhdGVzLCBjYXVzaW5nIGRlYWRsb2NrcywKCSAgdG8gYmUgZml4ZWQgaW4gc3Vic2VxdWVudCBjb21taXRzLgoKMjAwOS0xMS0wMiAwMjo0ODoxOCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkgIGR2ZHNwdTogRml4IFBHUyB3aW5kb3cgcGFyc2luZwoJICBGaXggYSBwcm9ibGVtIGludHJvZHVjZWQgaW4gdGhlIGxhc3QgUEdTIHBhcnNpbmcgcGF0Y2ggYnkgc2tpcHBpbmcKCSAgdGhlIHdpbmRvdyBjb3VudCBieXRlIGFmdGVyIHJlYWRpbmcgaXQuCgoyMDA5LTExLTAxIDIwOjQyOjQ0ICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmY6IGZpeCBhaWZmcGFyc2UgZGVidWcgY2F0ZWdvcnkgdmFyaWFibGUgbmFtZQoJICBGaXhlcyBtaXNzaW5nIHN5bWJvbCB3aGVuIGNvbXBpbGluZyB3aXRoIGRlYnVnZ2luZywgc2luY2UgdGhpcyBpcyBub3cgaW4gc3luYwoJICB3aXRoIHRoZSBwbHVnaW5faW5pdCBpbiBhaWZmLmMuCgoyMDA5LTExLTAxIDIwOjQxOjAzICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2FpZmYvYWlmZi5jOgoJICBhaWZmOiBpbml0IHBsdWdpbiBkZWJ1ZyBjYXRlZ29yeQoJICBGaXhlcyBhc3NlcnRpb24gKG9yIHVudXNlZCB2YXJpYWJsZSB3YXJuaW5nIHdpdGggRElTQUJMRV9OTFMpLgoKMjAwOS0xMC0zMSAxOTo0Mjo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZ3N0L2FpZmYvYWlmZm11eC5oOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuaDoKCSAgYWlmZjogYWRkIGFpZmYgZWxlbWVudHMgdG8gZG9jcwoKMjAwOS0xMC0zMSAxOTozNzowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9haWZmLmM6CgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5oOgoJICBhaWZmOiBncmF0dWl0aW91cyBjbGVhbi11cHM6IGNhbm9uaWNhbGlzZSBmdW5jdGlvbiBuYW1lcywgc3RydWN0cyBhbmQgZGVmaW5lcwoKMjAwOS0xMC0zMSAxNzo1MDo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9NYWtlZmlsZS5hbToKCSogZ3N0L2FpZmYvYWlmZi5jOgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuaDoKCSAgYWlmZjogZW5hYmxlIG5ldyBhaWZmIG11eGVyCgkgIEZpeGVzICM1OTg3NjMgZXZlbiBtb3JlLgoKMjAwOS0xMC0xNyAyMjo1ODowMyArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AZ21haWwuY29tPgoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJKiBnc3QvYWlmZi9haWZmbXV4Lmg6CgkgIGFpZmY6IGFkZCBiYXNpYyBBSUZGIG11eGVyCgkgIEZpeGVzICM1OTg3NjMuCgoyMDA5LTEwLTMxIDE3OjI1OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL01ha2VmaWxlLmFtOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmg6CgkgIGFpZmY6IHJlbW92ZSB1bnVzZWQgaW5jbHVkZXMgYW5kIGZpeCBmbGFncyBvcmRlciBpbiBNYWtlZmlsZS5hbQoJICBBbHNvIHJlbW92ZSBHU1RfUExVR0lOU19CQVNFX0xJQlMgZnJvbSBMSUJBREQgc2luY2Ugd2UgZG9uJ3QKCSAgbmVlZCB0byBsaW5rIGFnYWluc3QgYW55IG9mIHRoZSAtYmFzZSBsaWJzICh3ZSBqdXN0IHVzZSBhIGRlZmluZQoJICBmcm9tIHRoZSBnc3RhdWRpbyBoZWFkZXJzKS4KCjIwMDktMTAtMzEgMTc6MjA6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L2FpZmYvTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuaDoKCSogZ3N0L2FpZmZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuYzoKCSogZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuaDoKCSogcG8vUE9URklMRVMuaW46CgkgIGFpZmY6IHJlbmFtZSAnYWlmZnBhcnNlJyBwbHVnaW4gdG8gJ2FpZmYnCgoyMDA5LTEwLTA4IDE5OjA2OjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgdGVzdHM6IEFkZCB0ZXN0IGZvciBydHBkdG1mbXV4IGxvY2tpbmcKCjIwMDktMDktMjggMTk6NTQ6NTMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgdGVzdHM6IEFkZCB1bml0IHRlc3QgZm9yIHJ0cG11eAoKMjAwOS0wOS0yOCAxMzozNjo0NCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBEb24ndCBpZ25vcmUgcmVxdWVzdGVkIHBhZCBuYW1lCgoyMDA5LTEwLTI5IDE2OjQyOjM0IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogVXNlIEdTVF9QTFVHSU5TX0JBU0Vfe0NGTEFHUyxMSUJTfSBmb3IgY2FtZXJhYmluIHRlc3RzLgoKMjAwOS0xMC0yOSAxNjozNDoyMyAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3BsdWdpbi5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9wbHVnaW4ubToKCSAgb3N4dmlkZW9zcmM6IGNoYW5nZSBhIC5tIGZpbGUgY29udGFpbmluZyBvbmx5IEMgY29kZSB0byBhIC5jIGZpbGUuIE1ha2VzIGJ1aWxkaW5nIHRoaXMgZWFzaWVyLgoKMjAwOS0xMC0yNyAyMjowODo0MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogRG9uJ3Qgc2VuZCBuZXctc2VnbWVudCB3aXRoIHN0YXJ0IHRpbWUgPT0gLTEKCSAgV2hlbiBzZW5kaW5nIG5ldy1zZWdtZW50IHRvIGEgc3RyZWFtLCBlbnN1cmUgdGhhdCB0aGVyZSBpcyBlaXRoZXIgYSB2YWxpZAoJICBQQ1IsIG9yIGVsc2Ugd2FpdCB1bnRpbCB0aGVyZSdzIGEgUFRTIG9uIHRoZSBzdHJlYW0gKGRyb3BwaW5nIHBhY2tldHMgaWYKCSAgbmVlZGVkKSBpbiBvcmRlciB0byBhdm9pZCBnZW5lcmF0aW5nIGFuIGludmxhaWQgbmV3LXNlZ21lbnRzIGV2ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk1MTYxCgoyMDA5LTEwLTI4IDE2OjIyOjEzICswMjAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogdXNlIHJhdyBhdWRpby92aWRlbyBpbiB1bml0IHRlc3RzCgkgIFJlbW92ZXMgZGVwZW5kZW5jeSB0byBvZ2cvdm9yYmlzL3RoZW9yYSB3aGVuIHJ1bm5pbmcgY2FtZXJhYmluCgkgIHVuaXQgdGVzdHMuCgoyMDA5LTEwLTI4IDE3OjM3OjQ0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBkc2hvd3NyY3dyYXBwZXI6IGNsZWFudXAgcHVzaCBidWZmZXIgY2FsbGJhY2sKCjIwMDktMTAtMjcgMTQ6MzE6MzkgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzbXV4OiBnbGliIGRvZXNuJ3QgcmVsaWFibHkgbnVsbC10ZXJtaW5hdGUgd2lkZS1jaGFyYWN0ZXIgZW5jb2RpbmdzIGluIGdfY29udmVydCwgc28gd3JpdGUgdGhlIG51bGwtdGVybWluYXRvciBzZXBhcmF0ZWx5IGFuZCBleHBsaWNpdGx5LgoKMjAwOS0xMC0xOCAxNDoyMDowNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbHYyOiBmaXggcGFkIGRpcmVjdGlvbiBmb3IgdW5ncm91cGVkIHBvcnRzCgkgIENsYXNzaWMgY29weSduJ3Bhc3RlIGJ1Zy4KCjIwMDktMTAtMjcgMTY6Mzc6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBmaXggdGFnIHdyaXRpbmcgYnVnCgkgIGdfY29udmVydCBzZWVtcyB0byBhZGQgYSBzaW5nbGUgbnVsbCB0ZXJtaW5hdGluZyBieXRlIHRvCgkgIHRoZSBlbmQgb2YgdGhlIHN0cmluZywgZXZlbiB3aGVuIHRoZSBvdXRwdXQgaXMgVVRGMTYsIHdlCgkgIGZvcmNlIHRoZSBzZWNvbmQgMCBieXRlIHdoZW4gY29weWluZyB0byB0aGUgb3V0cHV0IGJ1ZmZlci4KCSAgVGhpcyBpc3N1ZSB3YXMgY2F1c2luZyByYW5kb20gY3Jhc2hlcyBiZWNhdXNlIGl0IHdhcwoJICBhc3N1bWVkIHRoYXQgdGhlIHN0cmluZyByZXN1bHRpbmcgZnJvbSBnX2NvbnZlcnQgaGFkCgkgIDIgZXh0cmEgYnl0ZXMsIGJ1dCBpdCBoYXMgb25seSBvbmUuCgoyMDA5LTEwLTI3IDExOjUxOjA1IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJKiB0ZXN0cy9pY2xlcy9vdXRwdXQtc2VsZWN0b3ItdGVzdC5jOgoJKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSogd2luMzIvdnM4L2dzdC1wbHVnaW5zLWJhZC5zbG46CgkqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3RkcmF3LnZjcHJvajoKCSAgUmVtb3ZlIGV4ZWN1dGFibGUgYml0cyBmcm9tIG5vbi1leGVjdXRhYmxlIGZpbGVzLgoKMjAwOS0xMC0yNyAwMDoyMjo0MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5oOgoJICByZXNpbmR2ZDogUmVtb3ZlIGV4dHJhIG5ldy1zZWdtZW50IGluIHJzbnN0cmVhbXNlbGVjdG9yLiBTZW5kIGRpc2NvbnQuCgkgIEFsbCB0aGUgaW5wdXQgcGFkcyBmb3IgdGhlIHJlc2luIHN0cmVhbSBzZWxlY3RvcnMgaGF2ZSB0aGUgc2FtZSBzb3VyY2UsCgkgIGFuZCByZWNlaXZlL3NlbmQgdGhlIHNhbWUgc2VnbWVudCBpbmZvLCBzbyB0aGVyZSdzIG5vIG5lZWQgdG8gc2VuZCBhCgkgIHNlZ21lbnQgd2hlbiBzd2l0Y2hpbmcgYW5kIGFjdGl2YXRpbmcgYSBkaWZmZXJlbnQgcGFkLiBSZW1vdmluZyBpdCBtYWtlcwoJICBvbi10aGUtZmx5IGF1ZGlvIHRyYWNrIHN3aXRjaGluZyB3b3JrIHByb3Blcmx5LgoJICBBZnRlciBzd2l0Y2hpbmcgYXVkaW8gdHJhY2ssIG1hcmsgdGhlIG5leHQgYnVmZmVyIGRpc2NvbnQuCgoyMDA5LTEwLTI2IDIwOjU1OjE1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IEF2b2lkIGEgZGVhZGxvY2suIEltcHJvdmUgY2hhcHRlciBzZWVrLgoJICBBdm9pZCBhIHBvdGVudGlhbCBkZWFkbG9jayB0aGF0IGhhcHBlbnMgd2hlbiBhIGNhbGwgdG8KCSAgZ3N0X2Nsb2NrX2lkX3dhaXRfYXN5bmMoKSBpbW1lZGlhdGVseSBjYWxscyB0aGUgY2FsbGJhY2suCgkgIEltcHJvdmUgcHJldmlvdXMgY2hhcHRlciBzZWVraW5nIHNsaWdodGx5IGJ5IGF2b2lkaW5nICdzZWdtZW50CgkgIHN0YXJ0ICE9IC0xJyBhc3NlcnRpb25zIHdoZW4gdGhlcmUgaXMgbm8gcHJldmlvdXMgY2hhcHRlciBhbmQKCSAgdGhlIHNlZWsgdGhlcmVmb3JlIGZhaWxzLgoKMjAwOS0xMC0yNiAxMjoxOTozMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmM6CgkgIHJlc2luZHZkOiBsb3dlciBhIGRlYnVnIG1lc3NhZ2UgdG8gbG9nIGxldmVsLgoKMjAwOS0xMC0yNiAxMTowMDozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBBZGQgYSBrZXlwcmVzcyBtYXBwaW5nIGZvciBzd2l0Y2hpbmcgYXVkaW8gdHJhY2sKCSAgRm9yIGRlYnVnZ2luZyBwdXJwb3NlcywgbWFrZSBrZXlzIDEtOCBzd2l0Y2ggYXVkaW8gdHJhY2suCgoyMDA5LTEwLTI0IDEyOjU0OjE5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IEFkZCBhIHNpbXBsZSB1bml0IHRlc3QKCSAgU2V0IHVwIGFuIGF1dG9jb252ZXJ0IHdpdGggMiBmYWN0b3JpZXMsIGFuZCBjaGVjayB0aGF0IGl0IGNhbiBzd2l0Y2gKCSAgYmV0d2VlbiB0aGVtIHdoZW4gdGhlIGNhcHMgY2hhbmdlLgoKMjAwOS0xMC0yNCAxNDoyOTozMyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJICByZXNpbmR2ZDogU2V0IHRoZSBuZXcgaW5pdGlhbC1pZGVudGl0eSBwcm9wZXJ0eSBvbiBhdXRvY29udmVydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk5NDY5CgoyMDA5LTEwLTI0IDEyOjM4OjE0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0Lmg6CgkgIGF1dG9jb252ZXJ0OiBTdXBwb3J0IGluc3RhbGxpbmcgaWRlbnRpdHkgYXMgdGhlIGluaXRpYWwgY2hpbGQKCSAgQWRkIHRoZSAnaW5pdGlhbC1pZGVudGl0eScgcHJvcGVydHksIHdoaWNoIGluc2VydHMgaWRlbnRpdHkgZm9yCgkgIGF0IHN0YXJ0dXAgZm9yIGV2ZW50IHBhc3NpbmcsIGFuZCByZXBsYWNlcyBpdCB3aXRoIGEgbmV3IGNoaWxkCgkgIHdoZW4gdGhlIGZpcnN0IGJ1ZmZlciAoYW5kIGNhcHMpIGFjdHVhbGx5IGFycml2ZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTk0NjkKCjIwMDktMTAtMjQgMTE6MTg6NTkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuaDoKCSAgYXV0b2NvbnZlcnQ6IENhY2hlIGluY29taW5nIG5ldyBzZWdtZW50IGV2ZW50cyBhbmQgcHVzaCB0byBjaGlsZHJlbi4KCSAgQ2FjaGUgaW5jb21pbmcgbmV3LXNlZ21lbnQgaW5mby4KCSAgV2hlbiBpbnN0YWxsaW5nIGEgY2hpbGQgZWxlbWVudCwgaW5mb3JtIGl0IG9mIHRoZSBjdXJyZW50IHNlZ21lbnQgaW5mby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5OTQ2OQoKMjAwOS0xMC0yNiAwMDo0MTo1NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBBZGQgc29tZSBkZWJ1ZyBpbiBmYWN0b3J5IGNhcHMgaW50ZXJzZWN0aW9uCgoyMDA5LTEwLTI0IDExOjA1OjQ3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IFNpbXBsZSBmaXhlcy4KCSAgRnJlZSB0aGUgcGx1Z2luIGZlYXR1cmUgbGlzdCBvbiBkaXNwb3NlLgoJICBPdXRwdXQgYSBkZWJ1ZyBtZXNzYWdlIHdoZW4gZG93bnN0cmVhbSByZXR1cm5zIGEgZmF0YWwgZmxvdyByZXN1bHQKCSAgRml4IGF3a3dhcmQgd29yZGluZyBpbiBhIGRlYnVnIHdhcm5pbmcuCgoyMDA5LTEwLTI0IDEwOjI3OjAzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IEdyYXR1aXRvdXNseSBtb3ZlIEdTVF9PQkpFQ1RfTE9DSyBpbnRvIGEgbWFjcm8KCSAgQ3JlYXRlIEdTVF9BVVRPQ09OVkVSVF9MT0NLL1VOTE9DSyBtYWNyb3MgdGhhdCAoZm9yIG5vdykganVzdCBjYWxsCgkgIEdTVF9PQkpFQ1RfTE9DSy4KCjIwMDktMTAtMTUgMTM6MzI6MzIgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iQGZsdWZmeS4obm9uZSk+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IFVzZSBkZWZpbml0aW9ucyBmb3IgZGVmYXVsdCB2YWx1ZXMKCSAgTWFrZXMgY2hhbmdpbmcgdGhlIGRlZmF1bHRzIGVhc2llciBhbmQgbW9yZSBmb29sLXByb29mIGluIHRoZSBmdXR1cmUuCgkgIEZpeGVzICM1OTg1NTIKCjIwMDktMTAtMTUgMTM6MTc6NDYgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iQGZsdWZmeS4obm9uZSk+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IENoYW5nZSBkZWZhdWx0IEFBQyBQcm9maWxlIHRvIExvdyBDb21wbGV4aXR5IChMQykgYXMgdGhpcyBpcyBtb3JlIHdpZGVseSBzdXBwb3J0ZWQKCjIwMDktMTAtMTUgMTM6MTU6NDAgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iQGZsdWZmeS4obm9uZSk+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IENoYW5nZSB0aGUgcGFyYW1fc3BlYyBkZWZhdWx0IHZhbHVlIGZvciBhbGxvd2VkIGJsb2NrIHR5cGVzIHRvIG1hdGNoIHRoZSBnc3RfZmFhY19pbml0IHZhbHVlIG9mICdub3JtYWwnIGFzIHRoaXMgaXMgYmV0dGVyCgoyMDA5LTEwLTIwIDEwOjU3OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogY2hlY2sgd2lkdGgvaGVpZ2h0IHJhbmdlCgkgIENoZWNrcyBpZiB0aGUgd2lkdGgvaGVpZ2h0IHRoYXQgYXJlIHRvIGJlIHNldCBvbiBzcmMgcGFkIGNhcHMKCSAgYXJlIHdpdGhpbiB2YWxpZCByYW5nZSBvZiBbMTYsNDA5Nl0KCjIwMDktMTAtMTYgMTA6NDc6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F0bXV4L2Z0eXBjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuaDoKCSAgZ3BwbXV4OiBBZGQgc3VwcG9ydCBmb3IgM2dyNgoJICBLZWVwIHRyYWNrIG9mIHRoZSBjaHVuayBkdXJhdGlvbnMgdG8gYmUgYWJsZSB0byBhZGQgM2dyNgoJICBicmFuZCBpZiBpdCBpcyBhIGZhc3RzdGFydCBmaWxlIGFuZCB0aGUgbG9uZ2VzdCBjaHVuayBpcwoJICBzbWFsbGVyIHRoYW4gYSBzZWMuIEltcGxlbWVudGVkIGFjY29yZGluZyB0byAzZ3BwCgkgIFRTIDI2LjI0NCB2Ni40LjAgKDIwMDUtMDkpCgkgIEZpeGVzICM1ODQzNjEKCjIwMDktMTAtMTUgMjE6MTE6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBPbmx5IHB1c2ggZnR5cCBsYXRlciAoaW4gZmFzdHN0YXJ0IG1vZGUpCgkgIEluIGZhc3RzdGFydCBtb2RlLCB0aGVyZSBpcyBubyBuZWVkIHRvIHNlbmQgdGhlIGZ0eXAKCSAgcmlnaHQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgc3RyZWFtLiBXYWl0aW5nIGFuZCBzZW5kaW5nIGl0CgkgIG9ubHkgbGF0ZXIgKHdoZW4gdGhlIG1vb3YgYXRvbSBpcyByZWFkeSB0byBiZSBzZW50KSBwcm92aWRlcwoJICB1cyB3aXRoIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHN0cmVhbSBhbmQgd2UgY2FuIGJldHRlcgoJICBzZWxlY3QgdGhlIGNvbXBhdGlibGUgYnJhbmRzLgoKMjAwOS0xMC0xNSAxNzo1MTozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEltcHJvdmUgZXJyb3IgbWVzc2FnZQoJICBJbXByb3ZlIGVycm9yIG1lc3NhZ2Ugd2hlbiB3ZSBjYW4ndCBnZXQgb3IgZXN0aW1hdGUgdGhlCgkgIHRpbWVzdGFtcC9kdXJhdGlvbiBvZiBhIGJ1ZmZlcgoKMjAwOS0xMC0yNiAwMDo0MjoxNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogQ29tbWl0IGJ1bXBlZCB2ZXJzaW9uIG51bWJlcgoKMjAwOS0xMC0yNCAxNjozMToyNiAtMDQwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5jOgoJICBjYW1lcmFiaW46IGZpeCBidWlsZAoKMjAwOS0xMC0xOSAxNTo1NDoyOSArMDMwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGZpeCBmb3IgZ3N0cmVhbWVyIGNvcmUgdW5pdCB0ZXN0IGZyYW1ld29yayB1cGRhdGUKCSAgU2V0IGNhbWVyYWJpbiBzdGF0ZSB0byBOVUxMIGluIHRoZSBlYWNoIHRlc3QgY2FzZSBlbmQuCgoyMDA5LTEwLTE5IDE0OjU0OjU5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkgIGNhbWVyYWJpbjogcmVtb3ZlIGFiYnJldmlhdGlvbnMgZnJvbSB0aGUgcHJvcGVydHkgbmFtZXMuIEZpeGVzICM1NzMzNzAgKHBhcnRpYWx5KQoJICBBbHNvIHJlbmFtZSB0aGVpciB1c2UgaW4gdGVzdHMgYW5kIGV4YW1wbGVzLgoKMjAwOS0xMC0xNiAxMTo1MDoyMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9zZWxlY3Rvci9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IHVzZSBnc3QtZ2xpYi1nZW4ubWFrIHRvIGZpeCB0aGUgZ2xpYiBidWlsZCBydWxlcy4KCSAgVGhlIGJ1aWxkIHJ1bGVzIGluIGdsaWItZ2VuLm1hayB3ZXJlIHVzaW5nIHBhdHRlcm4gcnVsZXMgaW4gYSBub24gc2F2ZSB3YXkuCgoyMDA5LTEwLTE2IDExOjIxOjA1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvY29nLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi8uZ2l0aWdub3JlOgoJICBnaXRpZ25vcmU6IGlnbm9yZSBtb3JlCgoyMDA5LTEwLTE1IDE3OjQ1OjAwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkgIGNhbWVyYWJpbjogc2V0IGNhbWVyYWJpbiB0byBSRUFEWSBiZWZvcmUgYWNjZXNzaW5nIHRoZSBlbGVtZW50cwoKMjAwOS0xMC0xNCAxNzo0Mjo0MyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiB1c2UgR19ESVJfU0VQQVJBVE9SX1MgaW5zdGVhZCBvZiBoYXJkY29kZWQgc2xhc2hlcwoKMjAwOS0xMC0xNSAxNzoxNzo0MSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBjb2RlIGNsZWFudXBzCgkgIEFsaWduIGVsZW1lbnQgaW5pdGlhbGlzYXRpb24uIFRoaXMgc2hvdWxkIGJlIHJlLXRob3VnaHQsIGdfb2JqZWN0X25ldyB6ZXJvcyB0aGluZ3MgYWxyZWFkeS4KCSAgSGFybW9uaXplIHRoZSBlbGVtZW50IGdldHRlcnMgZm9yIHRoZSBzcmMvc2lua3MgdG8gcmV0dXJuIHdoYXQgd2UgYWN0dWFseSB1c2UuCgoyMDA5LTEwLTE1IDE2OjQxOjEyICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3Lmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogaW1wbGVtZW50IHZpZGVvIHByZXZpZXcgY3JlYXRpb24KCSAgQ29tcGxldGVzIHByZXZpZXcgY3JlYXRpb24gbWVjaGFuaXNtIHRvIGJlIGFibGUgdG8gcHJvdmlkZSBhIHByZXZpZXcKCSAgaW1hZ2UgZm9yIHZpZGVvIGNsaXBzIHRvby4KCjIwMDktMTAtMTUgMTY6MTU6MDMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogc2V0IGNhbWVyYWJpbiBkZWZhdWx0IHNvdXJjZXMvc2lua3MgbGlrZSBpbiBwbGF5YmluMi4gRml4ZXMgIzU3NDQzNAoJICBUaGlzIHVzZXMgc2FtZSBhcHByb2FjaCBsaWtlIGluIHBsYXliaW4sIG5hbWVseSBjaGVja2luZyBmb3IgdXNlciBkZWZpbmVkCgkgIGVsZW1lbnQsIGF1dG97YXVkaW8sdmlkZW99e3Npbmssc3JjfSBhbmQgZmluYWxseSBERUZBVUxUX3tBVURJTyxWSURFT317U1JDLFNJTkt9CgkgIGRlZmluZXMgZnJvbSBjb25maWcuaC4KCjIwMDktMTAtMTUgMTU6NTk6MjMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIGxhZHNwYTogZG9uJ3QgcmVmZXJlbmNlIGZyZWVkIHBvaW50ZXIgd2hlbiBidWlsZGluZyBwb3J0bmFtZXMKCjIwMDktMTAtMDggMTU6MTg6MDQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2cub3JjOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5oOgoJKiBleHQvY29nL2dlbmVyYXRlX3RhYmxlcy5jOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGNvZzogQWRkIGNvbG9yIG1hdHJpeCB0byBSR0ItPllDYkNyIGNvbnZlcnNpb24KCjIwMDktMTAtMDggMTQ6MzM6MjggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9jb2dmcmFtZS5oOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5oOgoJKiBleHQvY29nL2dlbmVyYXRlX3RhYmxlcy5jOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGNvZzogQWRkIGNvbG9yIG1hdHJpeCBzZWxlY3Rpb24gdG8gY29nY29sb3JzcGFjZQoJICBFdmVudHVhbGx5IGhvb2sgaXQgdXAgdG8gY2FwcyB2aWEgZ3N0dmlkZW8KCjIwMDktMTAtMDggMTM6MjQ6MzYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2cub3JjOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5oOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSAgY29nOiBJbXByb3ZlIFJHQjwtPllDYkNyIG1hdHJpeGluZwoJICBZQ2JDci0+UkdCIG5vdyBoYXMgYSAnYml0cycgc2V0dGluZywgd2hpY2ggY29udHJvbHMgdGhlIG51bWJlcgoJICBvZiBiaXRzIHVzZWQgZm9yIHRoZSBtYXRyaXggY29lZmZpY2llbnRzLiAgQ2hvaWNlcyBhcmUgNiBvciA4LgoJICA2IGlzIGxvdyBxdWFsaXR5LCBidXQgZmFzdGVyLgoJICBSR0ItPllDYkNyIG5vdyB3b3Jrcy4gIEFsd2F5cyB3b3JrcyBpbiA4IGJpdCwgc2luY2UgaXQncyB0aGUgc2FtZQoJICBzcGVlZCBhcyA2IGJpdC4KCjIwMDktMTAtMDggMTM6MjM6NTMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2cub3JjOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJICBjb2c6IEZpeCBBWVVWIHVucGFja2luZwoKMjAwOS0xMC0wNyAxNjozMDoyNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZy5vcmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkgIGNvZzogaGFja2luZyB0byBpbXByb3ZlIG1hdHJpeCBxdWFsaXR5CgoyMDA5LTEwLTI0IDIwOjMzOjI3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IEFuZCBiYWNrIHRvIGRldmVsb3BtZW50IHdlIGdvCgo9PT0gcmVsZWFzZSAwLjEwLjE2ID09PQoKMjAwOS0xMC0yMyAyMzoxNjo0NSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjE2CgoyMDA5LTEwLTIzIDIzOjE1OjMxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOS0xMC0yMyAxMTowMDo1MyArMDMwMCAgS2FqLU1pY2hhZWwgTGFuZyA8bWlsYW5nQHRhbC5vcmc+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkgIEZpeCBzdGFydC9zdG9wIHR5cG8KCjIwMDktMTAtMjMgMTA6NDg6MjUgKzAxMDAgIFRob21hcyBHcmVlbiA8dG9tNzg5OTlAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFsc28gYnVpbGQgbmVvbmh0dHBzcmMgd2l0aCBsaWJuZW9uLTI5LngKCSAgRml4ZXMgIzU5OTMzMi4KCjIwMDktMTAtMjMgMTA6MTg6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBVc2UgZ3VpbnQ2NCBpbnN0ZWFkIG9mIHVpbnQ2NF90LiBGaXhlcyAjNTk5MzU1CgoyMDA5LTEwLTIyIDE0OjAwOjEwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgUmV2ZXJ0ICJkc2hvd3NyY3dyYXBwZXI6IGNsZWFudXAgcHVzaCBidWZmZXIgY2FsbGJhY2siCgkgIGdzdC1wbHVnaW5zLWJhZCBpcyBzdGlsbCBmcm96ZW4gZm9yIGdlbmVyYWwgY29tbWl0cy4KCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAyZTQxMzE5MjZmMjcyNmZlOGZlZTVjMzlkZDkzNTdmMTQ3NjRkMGNiLgoKMjAwOS0xMC0yMiAxNDoyNjozMCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgZHNob3dzcmN3cmFwcGVyOiBjbGVhbnVwIHB1c2ggYnVmZmVyIGNhbGxiYWNrCgoyMDA5LTEwLTIyIDExOjQzOjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVncHNtdXgvTWFrZWZpbGUuYW06CgkgIG1wZWdwc211eDogc29tZSBtaW5vciBidWlsZCBmaXhlcwoJICBDTEZBR1MgLT4gQ0ZMQUdTLCBhbmQgZml4IG9yZGVyIG9mIHZhcmlhYmxlcyB3aGlsZSB3ZSdyZSBhdCBpdC4KCjIwMDktMTAtMjIgMDA6NTA6MzcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogVGFrZSB0aGUgb2JqZWN0IGxvY2sgZmV3ZXIgdGltZXMKCSAgV2hlbiBzdGFydGluZyB1cCBhbmQgY3JlYXRpbmcgdGhlIGxpc3Qgb2YgZWxlbWVudCBmYWN0b3JpZXMsIG9ubHkKCSAgdGFrZSB0aGUgb2JqZWN0IGxvY2sgdHdpY2UgaW5zdGVhZCBvZiAzIHRpbWVzLgoKMjAwOS0xMC0yMSAyMzowNjo1NiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBEb24ndCBob2xkIHRoZSBvYmplY3QgbG9jayB3aGVuIHB1c2hpbmcKCSAgV2hlbiBwdXNoaW5nIG91dCBjYWNoZWQgZXZlbnRzLCBkb24ndCBob2xkIHRoZSBvYmplY3QgbG9jay4gQXZvaWRzCgkgIGRlYWRsb2NrcyBzdGFydGluZyB1cCBEVkQgcGxheWJhY2suCgoyMDA5LTEwLTIyIDExOjEwOjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL01ha2VmaWxlLmFtOgoJICBmYWFjOiBMaW5rIHdpdGggbGliZ3N0YmFzZSBmb3IgR3N0QWRhcHRlcgoJICBGaXhlcyBidWcgIzU5OTI3Mi4KCj09PSByZWxlYXNlIDAuMTAuMTUgPT09CgoyMDA5LTEwLTIxIDE3OjE0OjM0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHJlbGVhc2UgMC4xMC4xNQoKMjAwOS0xMC0yMSAxNjo1MTowOSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDktMTAtMTYgMTQ6Mzc6MDIgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzdGFnOiBhY3R1YWxseSB3cml0ZSBpbWFnZSB0byBBUElDIHRhZy4KCjIwMDktMTAtMTYgMTI6MzA6NTkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE0LjQgcHJlLXJlbGVhc2UKCjIwMDktMTAtMTYgMTE6NTM6MTQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSAgZGlzdDogSW5jbHVkZSB2ZHBzaW5rLmggaW4gdGhlIHRhcmJhbGwgdG8gZml4IHRoZSBkaXN0LgoKMjAwOS0xMC0xNiAxMTowODowNSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgZHRzZGVjOiBVc2UgZ3N0X2J1ZmZlcl9yZWYvdW5yZWYsIG5vdCBnc3Rfb2JqZWN0X3JlZi91bnJlZgoJICBwcm9wZXJseSBmaXhlczogIzU5ODI3NAoKMjAwOS0xMC0xNiAwMToyNjoxMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBVc2UgZ3N0X3BhZF9wZWVyX2FjY2VwdF9jYXBzIGluc3RlYWQgb2YgZ3N0X3BhZF9zZXRfY2Fwcy4KCSAgZ3N0X3BhZF9zZXRfY2FwcyBvbiB0aGUgaW50ZXJuYWwgc291cmNlIHBhZCBhbHdheXMgc3VjY2VlZHMsIGJlY2F1c2UKCSAgY2FwcyBwcm9wYWdhdGUgdG8gdGhlIHBlZXIgd2l0aCBidWZmZXJzLCBub3QgaW1tZWRpYXRlbHkuIFVzaW5nCgkgIGdzdF9wYWRfcGVlcl9hY2NlcHRfY2FwcyBwcm9wZXJseSBjaGVja3Mgd2hldGhlciB0aGUgYWN0dWFsCgkgIHN1Yi1lbGVtZW50IGNhbiBhY2NlcHQgY2FwcyB3aGVuIHRoZXkgY2hhbmdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc1NTY4CgoyMDA5LTEwLTE2IDAxOjA5OjQ5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IFJlLXNlbmQgYXVkaW8gc3RyZWFtIHNlbGVjdCBvbiByZS1jb25maWd1cmF0aW9uCgkgIFdoZW4gdGhlIGxheW91dCBvZiB0aGUgYXVkaW8gc3RyZWFtcyBjaGFuZ2VzLCByZS1zZW5kIHRoZSBjdXJyZW50CgkgIGF1ZGlvIHN0cmVhbSBzZWxlY3Rpb24gZXZlbnQsIGluIG9yZGVyIHRvIHRyaWdnZXIgc3dpdGNoaW5nIHRvIHRoZQoJICBuZXcgc3RyZWFtIHByb3Blcmx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc1NTY4CgoyMDA5LTEwLTE2IDAwOjUwOjMxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IEZpeCBhIHNtYWxsIGZsYXcgLSBpZiBhbnkgYXVkaW8gc3RyZWFtIGV4aXN0cywgdXNlIGl0CgkgIERvbid0IGNyZWF0ZSBhIGR1bW15IGF1ZGlvIHN0cmVhbSBpZiBvbmx5IG5vbi1BQzMgdHJhY2tzIGV4aXN0LgoKMjAwOS0xMC0xNiAxMDoxNjozMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA4NWQxNTMwIHRvIDA3MDJmZTEKCjIwMDktMTAtMTUgMjM6NDg6NTMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE0LjMgcHJlLXJlbGVhc2UKCjIwMDktMTAtMTQgMTE6MDY6NDYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSAgcmVzaW5kdmQ6IEZpeCBkZWNvZGVyIHBhZCB0ZW1wbGF0ZSB0byBhbGxvdyBMUENNCgkgIFRoZSBwYWQgdGVtcGxhdGUgaW4gdGhlIG5ldyBzd2l0Y2hpbmcgZGVjb2RlciBpcyB0b28gcmVzdHJpY3RpdmUsCgkgIHByZXZlbnRpbmcgdGhlIExQQ00gZGVjb2RlciBmcm9tIGJlaW5nIHNlbGVjdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc1NTY4CgoyMDA5LTEwLTE0IDEwOjQxOjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhM2UzY2U0IHRvIDg1ZDE1MzAKCjIwMDktMTAtMTMgMTM6MDU6NTAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkgIHJlc2luZHZkOiBEb24ndCBsZWFrIGEgcmVmZXJlbmNlIHRvIHRoZSBwYXJlbnQgaW4gcnNuYXVkaW9tdW5nZQoJICBEb24ndCBsZWFrIGEgcmVmZXJlbmNlIHRvIHRoZSBwYWQgcGFyZW50IGluIHRoZSBzaW5rIHBhZCBldmVudCBoYW5kbGVyCgkgIGluIHJzbmF1ZGlvbXVuZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTgyNjMKCjIwMDktMTAtMTMgMTM6MDQ6NDcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0c2RlYzogRml4IHJlZmVyZW5jZSBsZWFrIG9uIGFsbCBpbnB1dCBidWZmZXJzIGluICdkdmQgbW9kZScKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5ODI3NAoKMjAwOS0xMC0xMyAxNjowMToyNiArMDIwMCAgUGV0ZXIgQ2hyaXN0b2ZmZXJzZW4gPGdub21lLWJ1Z3ppbGxhQHBseXQuZGs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQyOiBEb24ndCBsZWFrIGVsZW1lbnQgcmVmZXJlbmNlIGluIHRoZSBzZXRjYXBzIGZ1bmN0aW9uCgkgIEZpeGVzIGJ1ZyAjNTk4MTM5LgoKMjAwOS0xMC0xMiAxNDoyNzo1NyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL0xJTkdVQVM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTQuMiBwcmUtcmVsZWFzZQoKMjAwOS0xMC0xMiAxMjoyOTo0NCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBmaXhlcyB3YXJuaW5nIGluIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTIgMDk6MDY6MzcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGVuc3VyZSBzZWd0b3RhbCBpcyBhdCBsZWFzdCAyCgkgIE5vdCBvbmx5IGFkanVzdCBidWZmZXItdGltZSBhbmQgYXZvaWQgc2VndG90YWw9MCwgYnV0IGluc3RlYWQgZW5zdXJlIHNlZ3RvdGFsIGlzCgkgIGF0bGVhc3QgMi4gRG8gc2FtZSBjaGFuZ2Ugb24gamFja3NyYy4gV2UgY291bGQgYWxzbyBjaGVjayB0aGUgbGF0ZW5jeSBhbmQgYnVmZmVyCgkgIHRpbWUgY29uZmlndXJlZCBieSB0aGUgY2xpZW50IGFuZCBhZGp1c3QgYnVmZmVyLXRpbWUgc28gdGhhdCB3ZSBnZXQgdG8gdGhlIHNhbWUKCSAgbnVtYmVyIG9mIHNlZ21lbnRzLgoKMjAwOS0xMC0xMiAwMDo1MToyNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICBqYWNrOiBkb24ndCBjcmFzaCBpbiByaW5nYnVmZmVyIHdpdGggU0lHRlBFIG9uIHNtYWxsIGJ1ZmZlci10aW1lcwoJICBKYWNrIG92ZXJyaWRlcyB1c2VyLXNwZWNpZmllZCBsYXRlbmN5LXRpbWUgd2l0aCB0aGUgb25lIGl0IGdldHMgZnJvbSBqYWNrCgkgIGl0c2VsZi4gSXQgYWxzbyBuZWVkcyB0byBhZGp1c3QgYnVmZmVyLXRpbWUgc29tZXdoYXQgdG8gYXZvaWQgc2VndG90YWwgYmVpbmcgMAoKMjAwOS0xMC0xMSAyMjoxMDowNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJICBtZXRhZGF0YTogaW5pdCB2YXJpYWJsZXMKCSAgbWV0YWRhdGFtdXhfZXhpZl9nZXRfZXhpZl9mcm9tX3RhZygpIGRvZXMgbm90IG5lY2Nlc2FyaWx5IGluaXQgdGhlIHBhc3NlZAoJICB2YXJpYWJsZXMuCgoyMDA5LTEwLTAzIDIxOjM1OjAyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IHVzZSB0aGUgdHlwZSBkZWZpbmUgbGlrZSBldmVyeXdoZXJlIGVsc2UKCjIwMDktMTAtMDMgMjE6MzE6NTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcnQ6IHJlZ2lzdGVyIGRlYnVnIGNhdGVnb3J5IGp1c3Qgb25jZQoJICBQcmV2aW91c2x5IHdlIHdlcmUgdHJ5aW5nIHRvIHJlZ2lzdGVyIGl0IGZvciBldmVyeSBzdWJjbGFzcy4KCjIwMDktMTAtMTEgMTQ6MTA6NTkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIHNvdW5kdG91Y2g6IGZpeGVzIHdhcm5pbmdzIG9uIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTEgMTQ6MDI6MjYgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvcGFyc2UuYzoKCSAgc2Nocm9lZGluZ2VyOiBmaXggd2FybmluZ3Mgb24gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0xMSAxMzo1Njo0MyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuYzoKCSAgbWV0YWRhdGE6IGZpeCB3YXJuaW5ncyBpbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTExIDEzOjUxOjU4ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBtbXM6IGZpeGVzIHdhcm5pbmcgaW4gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0xMSAxMzo0NjowMCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhYzogZml4IHdhcm5pbmcgaW4gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0xMSAxMzoxMzo1NiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICBzcGVlZDogZml4IHdhcm5pbmdzIGluIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTEgMTM6MDc6MTkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogZml4IHdhcm5pbmcgaW4gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0xMSAxMjo1NjoyOSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWdkZW11eDogZml4IHdhcm5pbmdzIGluIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTEgMTE6MzU6MjMgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBkdG1mOiBmaXggd2FybmluZ3MgaW4gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0xMSAxMToyNzowOCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L2FtcnBhcnNlL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYW1ycGFyc2U6IGZpeCB3YXJuaW5ncyBpbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTExIDExOjIyOjExICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBhYWNwYXJzZTogZml4IHdhcm5pbmdzIGluIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTEgMTE6MTQ6MTYgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5jOgoJICBiYXNldmlkZW86IGZpeCB3YXJuaW5ncyBpbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTA5IDEzOjE4OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGFzc3JlbmRlci9kdmRzcHU6IEluY3JlYXNlIHJhbmtzIHRvIFBSSU1BUlkKCjIwMDktMTAtMDkgMDk6MTk6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBJbmNsdWRlIFN1YlBpY3R1cmUgaW4gdGhlIGNsYXNzaWZpY2F0aW9uCgoyMDA5LTEwLTA5IDA5OjE4OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogTWFrZSBjbGFzc2lmaWNhdGlvbiBhIGJpdCBtb3JlIGFjY3VyYXRlCgkgIENoYW5nZSBmcm9tICJGaWx0ZXIvRWZmZWN0L1ZpZGVvIiB0byAiTWl4ZXIvVmlkZW8vT3ZlcmxheS9TdWJ0aXRsZSIKCjIwMDktMTAtMDggMTk6NTE6MzEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhcHNzZXR0ZXIuYzoKCSAgY2Fwc3NldHRlcjogYWRkIHVuaXQgdGVzdAoKMjAwOS0xMC0wOCAxMTowMDo0OSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxOWZhNGYzIHRvIGEzZTNjZTQKCjIwMDktMTAtMDcgMTY6Mjk6MDggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3BhcnNlLmM6CgkgIHNjaHJvOiByZW1vdmUgdW51c2VkIGluY2x1ZGUgb2YgbGlib2lsLmgKCjIwMDktMTAtMDcgMTU6NDM6MjIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJICBtZXRhZGF0YTogZG9uJ3QgY29weSB0cmFpbGluZyBOVUxMIG9mIHN0cmluZ3MgaW4geG1wIG1ldGFkYXRhCgkgIEFsc28gdXNlaW5nIGdfc3RyZHVwLCBmaXhlcyB0aGUgbWFsbG9jIDwtPiBnX2ZyZWUgbWlzbWF0Y2guCgoyMDA5LTEwLTA3IDE1OjI2OjEyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvY29nL2dzdGNtcy5jOgoJKiBleHQvZGlyZWN0ZmIvZGZiLWV4YW1wbGUuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkgIGJ1aWxkOiBmcHJpbnRmLCBzcHJpbnRmLCBzc2NhbmYgbmVlZCBzdGRpby5oCgoyMDA5LTA5LTE4IDE4OjQ1OjA5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9taW1pYy5jOgoJICB0ZXN0czogQWRkIHRlc3QgZm9yIG1pbWljIGVsZW1lbnRzCgoyMDA5LTA5LTE4IDE3OjQ3OjU4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogUmVtb3ZlIGludmFsaWQgdG9kbwoKMjAwOS0xMC0wNiAxODozNjoxNSArMDIwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicEBrLWQtdy5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IElnbm9yZSBlbXBoYXNpcyBvbi9vZmYgYnl0ZXMsIGFuZCBkbyBmYWxsYmFjayBzdHJpbmcgZW5jb2RpbmcuCgkgIEZvciBmYWxsYmFjaywgdHJ5IElTTyA4ODU5LTkgZW5jb2RpbmcgaWYgSVNPIDY2MzcgZmFpbGVkLgoJICBBZGQgbW9yZSBkZWJ1ZyBjYWxscy4KCjIwMDktMTAtMDUgMTc6MDQ6MjggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhYzogdmFyaW91cyBmaXhlcwoJICAtIFdvcmsgYXJvdW5kIEJhc2VFbmNvZGVyIGJ1ZyBub3QgdHJhY2tpbmcgZnJhbWUgaW5kZXggZWFybHkuCgkgIC0gRml4IGNvbnZlcnNpb24gb2YgVVlWWSwgWVVZMiwgQVlVViB0byBpbnRlcm5hbCBmb3JtYXQuCgoyMDA5LTEwLTA1IDE2OjE2OjM0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlbzogUmV2ZXJ0ICJDYWxsIEdzdEJhc2VWaWRlb0VuY29kZXI6OnN0YXJ0L3N0b3AgZHVyaW5nIHBhZCBbZGVdYWN0aXZhdGlvbi4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNGMwODdiY2IwNzJkY2M5ODQ3YjExYzAwMTIzY2Y5M2M1ZTU0MWRjYi4KCSAgVGhlIHJldmVydGVkIGNvbW1pdCBjaGFuZ2VzIHRoZSBvcmRlciB0aGF0IHNldF9mb3JtYXQoKSBhbmQgc3RhcnQoKQoJICBhcmUgY2FsbGVkLCB3aGljaCBpcyBpbmNvcnJlY3QuICBUaGUgY29ycmVjdCBvcmRlciBpcyBzZXRfZm9ybWF0KCksCgkgIHN0YXJ0KCksIGhhbmRsZV9mcmFtZSgpLi4uLCBzdG9wKCkKCjIwMDktMTAtMDUgMTM6MzM6MjIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBGcmVlIGZyYW1lIHVzaW5nIHV0aWxpdHkgZnVuY3Rpb24KCjIwMDktMTAtMDUgMjE6MTE6MTggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWNlbmM6IEZpeCBjYXBzIHVubGlua2VkIG5lZ290aWF0aW9uCgkgIG1vdmUgY2FwcyByZWxhdGVkIGNvZGUgdG8gZ3N0X2RpcmFjX2VuY19zZXRfZm9ybWF0LCBhbmQKCSAgdXNlIHRoZSBzb3VyY2UgcGFkIHRlbXBsYXRlIHRvIGdldCBhbGxvd2VkIGNhcHMgd2hlbiB0aGVyZSBpcwoJICBubyBwZWVyIHBhZC4KCjIwMDktMTAtMDUgMTk6NDk6MDYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IFdoZW4gdGhlIHNvdXJjZSBwYWQgaXNuJ3QgbGlua2VkLCB1c2UgdGhlIHBhZCB0ZW1wbGF0ZQoJICBGb3IgbmVnb3RpYXRpb24sIHVzZSB0aGUgc291cmNlIHBhZCBwYWQgdGVtcGxhdGUgd2hlbiBpdCBkb2Vzbid0CgkgIGhhdmUgYSBwZWVyLgoKMjAwOS0xMC0wNSAxNTo0Nzo1OCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkgIGJhc2V2aWRlbzogRmFpbCBpZiBjYXBzIGRvbid0IGNvbnRhaW4gYSBmcmFtZXJhdGUgZmllbGQKCSAgUmV0dXJuIGZhbHNlIGZyb20gdGhlIGNhcHMgcGFyc2luZyBmdW5jdGlvbiBpZiB0aGVyZSBpcyBubyBmcmFtZXJhdGUKCSAgZmllbGQgaW4gdGhlIHByb3ZpZGVkIGNhcHMKCjIwMDktMTAtMDUgMTE6MTU6MDMgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzbXV4OiBXcml0ZSBVVEYtMTYgYnl0ZSBvcmRlciBtYXJrZXIgY29ycmVjdGx5LgoKMjAwOS0xMC0wNSAxNjozOTozNyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBtb3ZlIGNhcHMgcmVsYXRlZCBjb2RlIHRvIGdzdF9zY2hyb19lbmNfc2V0X2Zvcm1hdC4KCjIwMDktMTAtMDUgMTU6Mjg6NDcgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBEZXBlbmQgb24gZ3RrLXgxMSBleHBsaWNpdGx5LgoJICBGaXhlcyB0aGUgYnVpbGQgb24gT1NYIGlmIGd0aystcXVhcnR6IGlzIGluc3RhbGxlZC4KCjIwMDktMTAtMDUgMTU6MjY6MTUgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkgIEZpeCBjb21waWxhdGlvbiB3YXJuaW5nIHdpdGggZ2NjLTQuMi4KCjIwMDktMTAtMDUgMTE6NDc6NTYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIEFkZCBmYWFjIHRlc3QgYmluYXJ5IHRvIHRoZSBnaXQgaWdub3JlcwoKMjAwOS0xMC0wNSAxMTo0NzowMSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJKiBleHQvc2Nocm9lZGluZ2VyL01ha2VmaWxlLmFtOgoJICBVc2UgR1NUX0NYWEZMQUdTIGFuZCBHU1RfQ0ZMQUdTIHRvIHB1bGwgaW4gbG9jYWwgZ3N0LWxpYnMgaW5jbHVkZXMuCgkgIE1vdmUgdGhlIEdTVF9DWFhGTEFHUyBhbmQgR1NUX0NGTEFHUyB0byB0aGUgc3RhcnQgb2YgdGhlIGluY2x1ZGVzIHNldAoJICB0byBwdWxsIGluIHRoZSBsb2NhbCBnc3QtbGlicyBmcm9tIHRoZXJlIGZpcnN0LCBpbnN0ZWFkIG9mIGxpc3RpbmcKCSAgaXQgZXhwbGljaXRseS4KCjIwMDktMTAtMDUgMTE6MDI6MTYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSogZXh0L3NjaHJvZWRpbmdlci9NYWtlZmlsZS5hbToKCSAgRml4IENGTEFHUyBhbmQgTERGTEFHUyBmb3IgZGlyYWMvc2Nocm9kaW5nZXIKCSAgSW5jbHVkZSB0aGUgbG9jYWwgaGVhZGVycyBhbmQgbGlicyBiZWZvcmUgb25lcyBvdXRzaWRlIHRoaXMKCSAgbW9kdWxlLgoKMjAwOS0xMC0wMiAxNjozNTowOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgZGlyYWM6IGNvbnZlcnQgdG8gQmFzZVZpZGVvRW5jb2RlcgoKMjAwOS0wOS0yNyAxNDoyNTozOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5oOgoJKiBleHQvY29nL2dzdGNtcy5jOgoJKiBleHQvY29nL2dzdGNtcy5oOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJKiBleHQvY29nL2dzdGNvbG9yY29udmVydC5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgY29nOiBoYWNraW5nCgkgIEFkZCBSR0IgdG8gWUNiQ3IgbWF0cml4aW5nCgkgIEFkZCB0aW55IGNvbG9yIG1hbmFnZW1lbnQgc3lzdGVtIChDTVMpIGZvciB2aWRlbwoJICBBZGQgcXVhbGl0eSBsZXZlbCBmb3IgY29sb3JzcGFjZQoKMjAwOS0wOS0yNSAxODoxNDoyOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJICBjb2c6IHJlc2V0IGNhY2hlIGluc3RlYWQgb2YgcmV0dXJuaW5nIE5VTEwKCSAgUmV0dXJuaW5nIE5VTEwgbWFrZXMgdGhpbmdzIGNyYXNoLiAgUmVzZXR0aW5nIHRoZSBjYWNoZQoJICBtYWtlcyB0aGluZ3MgcnVuIHNsb3cuICBTdGlsbCBhbiB1bmRlcmx5aW5nIGJ1ZyBzb21ld2hlcmUsCgkgIGJ1dCBub3QgY3JpdGljYWwuCgoyMDA5LTA5LTIzIDEzOjE3OjU0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5oOgoJICBjZWx0ZGVjOiBIYW5kbGUgbG9va2FoZWFkLCBkaXNjb250CgoyMDA5LTEwLTAyIDE5OjA4OjIxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBidWlsZDogYWRkIG1pc3Npbmcgc3RkbGliIGluY2x1ZGUgdG8gZml4IHRoZSBidWlsZAoKMjAwOS0xMC0wMiAxNDoyNTo1MCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBBZGQgR3N0QmFzZVZpZGVvRGVjb2Rlcjo6c2V0X3NpbmtfY2FwcyB2ZnVuYy4KCjIwMDktMTAtMDIgMTI6NDA6MDIgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgQ2FsbCBHc3RCYXNlVmlkZW9EZWNvZGVyOjpzdGFydC9zdG9wIGR1cmluZyBwYWQgW2RlXWFjdGl2YXRpb24uCgoyMDA5LTEwLTAxIDE2OjA2OjAyICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIERvbid0IGlnbm9yZSB0aGUgdmFsdWUgcmV0dXJuZWQgZnJvbSBHc3RCYXNlVmlkZW9FbmNvZGVyOjpzZXRfZm9ybWF0LgoKMjAwOS0xMC0wMSAxNjoxMjoxNSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIEZpeCBzY2hyb2VuYyBmb3IgcmVmY291bnQgY2hhbmdlIGluIEdzdEJhc2VWaWRlb0VuY29kZXIuCgoyMDA5LTEwLTAxIDE1OjUwOjU1ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIFVucmVmIGZyYW1lLT5zaW5rX2J1ZmZlciBpbiBnc3RfYmFzZV92aWRlb19lbmNvZGVyX2ZpbmlzaF9mcmFtZQoKMjAwOS0xMC0wMSAxNjoxMTo0NiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIE1ha2UgZ3N0X3NjaHJvX2VuY19oYW5kbGVfZnJhbWUgcmV0dXJuIEdzdEZsb3dSZXR1cm4uCgoyMDA5LTEwLTAxIDE2OjI2OjIyICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIE1ha2UgR3N0QmFzZVZpZGVvRW5jb2Rlcjo6aGFuZGxlX2ZyYW1lIHJldHVybiBHc3RGbG93UmV0dXJuCgoyMDA5LTEwLTAxIDE2OjI0OjUwICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIENhbGwgR3N0QmFzZVZpZGVvRW5jb2Rlcjo6c3RhcnQvc3RvcCBkdXJpbmcgcGFkIFtkZV1hY3RpdmF0aW9uLgoKMjAwOS0xMC0wMiAxMjowNDoyOCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSAgRml4IGEgY29tcGlsZXIgd2FybmluZy4KCjIwMDktMTAtMDIgMTM6MDI6MzEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZXh0L3piYXIvZ3N0emJhci5oOgoJICB6YmFyOiBwb3N0IGEgbWVzc2FnZSBpbnN0ZWFkIG9mIHByaW50aW5nIHRoZSBjb2RlIHRvIHN0ZG91dAoJICBEb2NtZW50IHRoZSBtZXNzYWdlIGZvcm1hdCB0aGF0IHdlIHNlbnQuIEFkZCBhIHByb3BlcnR5IHRvIHR1cm4gbWVzc2FnZSBzZW5kaW5nIG9mZi4KCjIwMDktMTAtMDIgMTE6MjM6NDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbHYyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRpbWlkaXR5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgZG9jczogdXBkYXRlIHBsdWdpbiBkb2Mgc2NhbiBmaWxlcwoKMjAwOS0xMC0wMiAxMToyMjo0OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJICB6YmFyOiBjbGVhbnVwcwoJICBVc2Ugc3RhcnQvc3RvcCB0byBtYW5hZ2UgdGhlIGNhY2hlLiBGZXcgY29kZSBjbGVhbnVwcyBhbmQgY29tbWVudHMuCgoyMDA5LTEwLTAyIDExOjA5OjExICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGRnbWltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSAgZG9jczogYWRkIHpiYXIgcGx1Z2luCgoyMDA5LTEwLTAyIDEwOjM3OjQzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIHpiYXI6IGFkZCBuZXcgcGx1Z2luIHRvIHRoZSBidWlsZCBoZXJlIHRvbwoKMjAwOS0xMC0wMiAxMDozMjozNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczoga2VlcCBsaXN0IHNvcnRlZAoKMjAwOS0xMC0wMiAwNzo0NjoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogRml4IGJ1aWxkIHN5c3RlbSwgemJhciBpcyBubyBkZXBlbmRlbmN5LWxlc3MgcGx1Z2luCgoyMDA5LTEwLTAxIDIzOjUxOjA0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC96YmFyL01ha2VmaWxlLmFtOgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuaDoKCSAgemJhcjogd3JhcCB6YmFyIGxpYnJhcnkgYXMgYSBpbWFnZSBhbmFseXplcgoJICB6YmFyIGlzIGEgYmFyIGNvZGUgc2Nhbm5lciBsaWJyYXJ5LgoKMjAwOS0xMC0wMSAxNzoxOTo1NCArMDEwMCAgQ2hyaXN0aWFuIEYuSy4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogd2luMzIvTUFOSUZFU1Q6CgkgIHVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcyBhbmQgcmVtb3ZlIGZpbGUgZnJvbSBNQU5JRkVTVCB3aGljaCBpc24ndCB0aGVyZSBhbnkgbG9uZ2VyCgoyMDA5LTA5LTAyIDE1OjI2OjE1ICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgbWV0YWRhdGE6IGNoYW5nZSBYTVAgbG9jYXRpb24gdGFncyB0byBzdGFydCB3aXRoIGNhcGl0YWxzCgoyMDA5LTA4LTI1IDEwOjEwOjE1ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGZpeCBkZWFkbG9jayB3aGVuIGVycm9yIG9jY3VycyBhdCB2aWRlbyByZWNvcmRpbmcgc3RhcnR1cAoKMjAwOS0wOC0yNyAxNDozNToyNiArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBoYW5kbGUgcHJldmlldy1jYXBzIG9ubHkgaW4gaW1hZ2UgbW9kZSBhbmQgb25seSB3aGVuIHRoZXkgY2hhbmdlCgkgIFRoaXMgcHJldmVudHMgY2FtZXJhYmluIHRvIGNyZWF0ZSBwcmV2aWV3IHBpcGVsaW5lIGV2ZXJ5IHRpbWUgd2hlbgoJICBhcHBsaWNhdGlvbiByZS1zZXRzIHRoZSBzYW1lIGNhcHMgYWdhaW4uCgoyMDA5LTA4LTI1IDA5OjM1OjA3ICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IGRvbid0IHNlbmQgbXVsdGlwbGUgRU9TIGV2ZW50cyB0byB2aWRlbyBwaXBlbGluZQoKMjAwOS0wOC0yMiAxNzowOTozOSArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5jOgoJICBjYW1lcmFiaW46IGZpeCBzY2VuZSBtb2RlIHNldHRpbmcKCSAgQ2FtZXJhYmluIGNhY2hlcyBwaG90b2dyYXBoeSBzZXR0aW5ncywgYnV0IGl0IGRpZG4ndCB0YWtlIGludG8gYWNjb3VudAoJICB0aGF0IHNjZW5lIG1vZGUgc2V0dGluZyBtYXkgY2hhbmdlIG90aGVyIHNldHRpbmdzIGFzIHdlbGwuIFNvLCBjb25maWcKCSAgbmVlZHMgdG8gYmUgcmVhZCBiYWNrIGZyb20gZGV2aWNlIGFmdGVyIHNjZW5lIG1vZGUgaXMgc2V0LgoKMjAwOS0wOC0yMSAwOToxNDozMSArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBhbGxvdyBtb2RlIHBhcmFtZXRlciBzZXR0aW5nIGluIE5VTEwgc3RhdGUKCjIwMDktMDgtMjAgMTc6NTU6MjYgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogYWxsb3cgY2FwdHVyZSByZXNvbHV0aW9uIHRvIGJlIHNldCBpbiBOVUxMIHN0YXRlCgoyMDA5LTA5LTEwIDE1OjE2OjIzICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGZpeCBpbWFnZSBxdWV1ZSBwYXJhbWV0ZXIgc2V0dGluZwoJICBDYW1lcmFiaW4gaW5jb3JyZWN0bHkgdXNlZCBHX0dVSU5UNjRfQ09OU1RBTlQgbWFjcm8gZm9yIHNldHRpbmcKCSAgIm1heC1zaXplLWJ1ZmZlcnMiIGFuZCAibWF4LXNpemUtYnl0ZXMiIHByb3BlcnRpZXMgaW4gaW1hZ2UgcXVldWUsCgkgIGV2ZW4gd2hlbiB0aGV5IGFyZW4ndCA2NGJpdCBpbnRlZ2Vycy4KCjIwMDktMDgtMTIgMTE6MTA6NTUgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZml4IHdhcm5pbmcgd2l0aCBnX29iamVjdF9nZXQgYW5kIGpvaW4gc2VwYXJhdGUgZ19vYmplY3Rfc2V0cyBpbnRvIG9uZQoKMjAwOS0wNy0zMSAxMTo1NzoxMiArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiByZXNldCBhY3RpdmUtcGFkIGluIG91dHB1dC1zZWxlY3RvciBhZnRlciBSRUFEWSBzdGF0ZQoJICBDYW1lcmFiaW4gc2V0cyBpdHNlbGYgdG8gUkVBRFkgc3RhdGUgZHVyaW5nIHJlc29sdXRpb24gY2hhbmdlLiBUaGlzCgkgIG9wZXJhdGlvbiBtYWtlcyBvdXRwdXQtc2VsZWN0b3IgdG8gZm9yZ2V0IGl0cyBjdXJyZW50bHkgYWN0aXZlIHBhZCwKCSAgc28gaXQgbXVzdCBiZSBzZXQgYWdhaW4gYWZ0ZXIgc3RhdGUgY2hhbmdlLgoKMjAwOS0wNi0yOSAxNToyMzoyNSArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBkb24ndCByZXNldCBjYXBzZmlsdGVycyBvciB6b29tIGlmIGVycm9yIG9jY3VycwoJICBJZiBhbiBlcnJvciBvY2N1cnMsIGFwcGxpY2F0aW9uIHNob3VsZCBzZXQgcGlwZWxpbmUgdG8gTlVMTCwgYW5kIHVwZGF0aW5nCgkgIHpvb20gY2FuIGFjdHVhbGx5IGJsb2NrIG1lc3NhZ2UgaGFuZGxpbmcgaWYgdmlkZW8gZGV2aWNlIGRyaXZlciBoYXMgZmFpbGVkCgkgIGFuZCB2aWRlbyBzcmMgZWxlbWVudCBzdXBwb3J0cyB6b29taW5nIHVzaW5nIHBob3RvZ3JhcGh5IGludGVyZmFjZSBhbmQgU19DUk9QLgoKMjAwOS0xMC0wMSAxNzoxNzowMyArMDMwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQG5va2lhLmNvbT4KCgkqIGdzdC92aWRlb21lYXN1cmUvTWFrZWZpbGUuYW06CgkgIHZpZGVvbWVhc3VyZTogbGluayB3aXRoIGxpYm0KCjIwMDktMTAtMDEgMTU6MDk6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5oOgoJICByZXNpbmR2ZGJpbjogSWYgbm8gc3VpdGFibGUgYXVkaW8gZGVjb2RlciBpcyBmb3VuZCBwbGF5IHRoZSBEVkQgd2l0aG91dCBhdWRpbwoKMjAwOS0xMC0wMSAxNDo1NDo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgcmVzaW5kdmRiaW46IEFsc28gcG9zdCBtaXNzaW5nIGVsZW1lbnQgbWVzc2FnZXMgaWYgYW55IG90aGVyIGVsZW1lbnQgaXMgbWlzc2luZwoKMjAwOS0xMC0wMSAxNDo1MjowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICByZXNpbmR2ZGJpbjogUG9zdCBtaXNzaW5nIGRlY29kZXIgbWVzc2FnZXMgaWYgb25lIGlzIG1pc3NpbmcKCSAgRm9yIHZpZGVvIHRoaXMgaXMgYW4gZXJyb3IsIGZvciBhdWRpbyBvbmx5IGEgd2FybmluZy4KCjIwMDktMTAtMDEgMTQ6NDA6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgIHJlc2luZHZkYmluOiBVc2UgdGhlIG5ldyB2aWRlbyBkZWNvZGVyCgkgIFRoaXMgbWFrZXMgcmVzaW5kdmRiaW4gd29yayB3aXRoIG90aGVyIE1QRUcgdmlkZW8gZGVjb2RlcnMgdGhhbgoJICBtcGVnMmRlYywgZm9yIGV4YW1wbGUgdGhlIEZGTVBFRyBvciBGbHVlbmRvIE1QRUcgZGVjb2RlcnMuCgoyMDA5LTEwLTAxIDE0OjM3OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb2RlYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuaDoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmg6CgkgIHJlc2luZHZkYmluOiBSZW5hbWUgZmlsZXMKCjIwMDktMTAtMDEgMTQ6MzY6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvZGVjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb2RlYy5oOgoJICByZXNpbmR2ZGJpbjogUmVmYWN0b3IgYXVkaW8gZGVjb2RlciBhbmQgYWRkIGEgKE1QRUcpIHZpZGVvIGRlY29kZXIKCjIwMDktMTAtMDEgMTM6Mjk6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvZGVjLmM6CgkgIHJzbmF1ZGlvZGVjOiBHZXQgZGVzaXJlZCBzaW5rIGNhcHMgZnJvbSB0aGUgcGFkIHRlbXBsYXRlCgoyMDA5LTEwLTAxIDEwOjU0OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSAgcnN2ZzogVW5wcmVtdWx0aXBseSBDYWlybydzIEFSR0IgdG8gbWF0Y2ggR1N0cmVhbWVyJ3MKCjIwMDktMDktMjUgMTI6MjA6NTAgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmM6CgkgIFRha2Ugb2Zmc2V0IGdhcHMgaW50byBhY2NvdW50LgoJICBQcmV2ZW50cyBtZWFzdXJlY29sbGVjdG9yIGZyb20gY3Jhc2hpbmcgd2hlbiBmcmFtZSBudW1iZXJzIGFyZSBub3QgY29uc2VjdXRpdmUuCgkgIEZpeGVzIGJ1ZyAjNTk2Mjg1LgoKMjAwOS0wOS0yOSAxNTo0NzoxMyArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgcXRtdXg6IGZpeCBmbGFnc19hc191aW50IHRvIGZsYWdzW10KCjIwMDktMDktMzAgMTU6NDc6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgIHJlc2luZHZkYmluOiBDcmVhdGUgZXh0ZXJuYWwgc3JjcGFkcyBmcm9tIHRoZSBzdGF0aWMgcGFkIHRlbXBsYXRlcwoKMjAwOS0wOS0yMiAxMjoxNjozNyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkgIGR2ZHNwdTogSW1wcm92ZSBQR1MgcGFyc2luZwoJICBJbXByb3ZlIChzbGlnaHRseSkgdGhlIGludGVycHJldGF0aW9uIG9mIFBHUyBzZXQtd2luZG93IGJsb2NrcwoJICB0byBhdm9pZCBwcmludGluZyB3YXJuaW5ncyBhYm91dCB1bnVzZWQgYnl0ZXMgd2hlbiB0aGVyZSBhcmUgbXVsdGlwbGUKCSAgd2luZG93IGRlZmluaXRpb25zLgoKMjAwOS0wOS0yMiAwMToxNjo0NyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkgIGR2ZHNwdTogRml4IHJlbmRlcmluZyBhbmQgYWRkIGd1YXJkcwoJICBGaXggdGhlIHJlbmRlcmluZyB3aGVuIHdlIGhpdCB0aGUgcmlnaHQgaGFuZCBzaWRlIG9mIHRoZSBkaXNwbGF5CgkgIGFyZWEsIGJ5IHJlc2V0dGluZyB0byB0aGUgY29ycmVjdCBYIGNvb3JkaW5hdGUsIGFuZCBhZGQgc29tZSBtb3JlCgkgIGd1YXJkcyBhZ2FpbnN0IGJhZCBQR1MgZGF0YS4KCjIwMDktMDktMDggMDA6MDE6MjggKzAzMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmg6CgkgIHZpZGVvc2lnbmFsOiBjaGFuZ2UgcGF0dGVybiBkYXRhIHR5cGUgdG8gdWludDY0LCBhZGQgcHJvcGVydHkgYW5kIG1lc3NhZ2UgZmllbGQKCSAgS2VlcHMgdGhlIG9sZCB1aW50IHR5cGVkIHZhbHVlIHN1cHBvcnQgZm9yIGNvbXBhdGliaWxpdHkuCgoyMDA5LTA5LTA2IDA1OjM2OjQ2ICswMzAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSAgdmlkZW9zaWduYWw6IGFsbG93IHBhdHRlcm4tY291bnQgcHJvcGVydHkgdG8gYmUgMAoKMjAwOS0wOS0wNCAyMjo1MDozNCArMDMwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkgIHZpZGVvc2lnbmFsOiBhZGQgc3VwcG9ydCBmb3IgcGFja2VkIFlVViBmb3JtYXRzCgoyMDA5LTA5LTA0IDIyOjMwOjI3ICswMzAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5oOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuaDoKCSAgdmlkZW9zaWduYWw6IGFkZCBzdXBwb3J0IGZvciBhbGwgcGxhbmFyIFlVViBmb3JtYXRzLCB1c2luZyBnc3R2aWRlbwoKMjAwOS0wOS0wNiAwMjo0NDowNSArMDMwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkgIHZpZGVvc2lnbmFsOiBhZGQgYm91bmQgY2hlY2tzCgoyMDA5LTA5LTA0IDE2OjI1OjA1ICswMzAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSAgdmlkZW9zaWduYWw6IHJlbW92ZSB1bnVzZWQgbWFjcm9zCgoyMDA5LTA5LTI2IDE3OjIzOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICByZXNpbmR2ZGJpbjogVXNlIGdzdF9jYXBzX2Nhbl9pbnRlcnNlY3QoKSBiZWNhdXNlIGl0J3MgZmFzdGVyCgoyMDA5LTA5LTI2IDE3OjIxOjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb2RlYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuaDoKCSAgcnNuYXVkaW9kZWM6IFVzZSBnaG9zdCBwYWRzIGFuZCBhbHdheXMgZm9yd2FyZCBhcHBsaWNhdGlvbi94LWdzdC1kdmQgZXZlbnRzIGltbWVkaWF0ZWx5CgkgIEZpeGVzIGJ1ZyAjNTgyNzc5LgoKMjAwOS0wOS0yNiAxNzoxOTozMiArMDIwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb2RlYy5jOgoJICByZXNpbmR2ZGJpbjogVXNlIGF1dG9jb252ZXJ0IGluIHJzbmF1ZGlvZGVjIGFuZCBidWlsZCBhIGxpc3Qgb2YgcG9zc2libGUgZGVjb2RlcnMKCSAgUGFydGlhbGx5IGZpeGVzIGJ1ZyAjNTgyNzc5LgoKMjAwOS0wOS0yNSAxNjo1NDoxMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBzeW5jIGJhc2VwYXJzZSBjaGFuZ2UKCjIwMDktMDktMjUgMTc6MDI6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBhYWNwYXJzZTogZm9yZWdvIChib2d1cykgcGFyc2luZyBvZiBhbHJlYWR5IHBhcnNlZCAocmF3KSBpbnB1dAoKMjAwOS0wOS0yNSAxMTowNzowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBVc2UgbmV3IHNpbmdsZSBpdGVyYXRvciBmb3IgdGhlIGludGVybmFsbHkgbGlua2VkIHBhZHMKCSAgVGhpcyBmaXhlcyBhIGRlYWRsb2NrIGFuZCByZW1vdmVzIHNvbWUgdXNlbGVzcyBjb2RlLgoKMjAwOS0wOS0yNSAxMTowNDowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuYzoKCSAgcnNuc3RyZWFtc2VsZWN0b3I6IFVzZSBuZXcgc2luZ2xlIG9iamVjdCBpdGVyYXRvciBmb3IgdGhlIGludGVybmFsbHkgbGlua2VkIHBhZHMKCSAgVGhpcyBwcmV2ZW50cyBhbiB1Z2x5IGRlYWRsb2NrLgoKMjAwOS0wOS0yNSAxMDo1MDozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuYzoKCSAgcmVzaW5kdmRiaW46IERvbid0IGJsb2NrIHRoZSBleHRlcm5hbCBnaG9zdCBwYWRzIGJ1dCBvbmx5IHRoZWlyIHRhcmdldHMKCjIwMDktMDktMjQgMTE6MjY6MjkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSAgY29nOiB1c2UgQlVJTFRfU09VUkNFUyBpbnN0ZWFkIG9mIHRlbXAgbGlicmFyeQoKMjAwOS0wOS0yMyAxMjozMjo1NCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJICBGaXggd2FybmluZ3Mgd2l0aCBnY2MgNC4wLjEuCgoyMDA5LTA5LTIyIDEyOjI1OjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggLS1kaXNhYmxlLWV4dGVybmFsIGFnYWluCgoyMDA5LTA5LTIyIDEzOjQ0OjE0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbHYyL2dzdGx2Mi5oOgoJICBSZXZlcnQgIkxWMiBwcmVzZXQgc3VwcG9ydC4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYzk1ZjU5Y2QyZGMxMjk4OTliMzdmZWNhYTUyYzg5ZGIzZDhhNWVmOC4KCjIwMDktMDktMjIgMTM6NDM6NTcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIFJldmVydCAiRml4IHByb3BlcnR5IGluZGV4IHdoZW4gc2V0dGluZyBwcmVzZXQuIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDBhNmIyMmIxOTE3YWY4YTg5ZGIxOTgxYTBmNWRmM2RjZWU3OGIxZGQuCgoyMDA5LTA5LTIyIDEzOjIzOjI1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJICBjb2c6IGZpeCB0aGUgYnVpbGQKCSAgQWRkIGEgdW5pbnN0YWxsZWQgY29udmluaWVuY2UgbGlidG9vbCBsaWJyYXJ5IGNvbnRhaW5pbmcgdGhlIGdlbmVyYXRlZCBzb3VyY2VzLgoJICBBZGQgdGhhdCBhcyBhIGRlcGVuZGVuY3kgdG8gdGhlIHBsdWdpbi4KCjIwMDktMDgtMTcgMTc6MjE6NDEgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIEZpeCBwcm9wZXJ0eSBpbmRleCB3aGVuIHNldHRpbmcgcHJlc2V0LgoKMjAwOS0wOC0xNyAxNzowNjo0MCAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L2x2Mi9nc3RsdjIuaDoKCSAgTFYyIHByZXNldCBzdXBwb3J0LgoKMjAwOS0wOS0yMiAwODoxMTozNiArMDIwMCAgTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuaDoKCSogZ3N0L3BubS9nc3Rwbm11dGlscy5jOgoJICBwbm06IEhhbmRsZSBBU0NJSSBlbmNvZGVkIFBOTSBkYXRhIHRoYXQgaXMgc3BsaXQgb3ZlciBtdWx0aXBsZSBidWZmZXJzCgkgIEFsc286CgkgIC0gdW5yZWYgYnVmZmVycyBhZnRlciBnc3RfYnVmZmVyX3NwYW4KCSAgLSBmaXggc2Nhbm5pbmcgb2YgaGVhZGVyIGlmIGhlYWRlciBkYXRhIGlzIHNwbGl0IG92ZXIgc2V2ZXJhbCBidWZmZXJzCgkgIEZpeGVzIGJ1ZyAjNTk1NzAwLgoKMjAwOS0wOS0yMSAxMTozMzo1MCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZ3RhYmxlcy5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5oOgoJKiBleHQvY29nL2dlbmVyYXRlX3RhYmxlcy5jOgoJKiBleHQvY29nL2dzdGNvZ3NjYWxlLmM6CgkgIGNvZzogQWRkIHF1YWxpdHkgc2V0dGluZyB0byBjb2dzY2FsZQoKMjAwOS0wOS0yMSAwOTozNTozMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY29nL2NvZy5vcmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkgIGNvZzogKHJlLSlpbXBsZW1lbnQgMS8yLzQtdGFwIHNjYWxpbmcKCjIwMDktMDktMjEgMDk6MzA6NDQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2dmcmFtZS5oOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJICBjb2c6IEZpeCB0aGUgdmlydHVhbCBmcmFtZSBsaW5lIGNhY2hlCgoyMDA5LTA5LTIxIDA5OjQ5OjIzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogVkJSIHJlcXVpcmVzIGNlbHQtMC42LjAKCjIwMDktMDktMjEgMTI6MDY6NTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBTcGVjaWZ5IHRoYXQgcHNpIHRhYmxlIGlzIHN0YXRpYyBjb25zdC4KCSAgVGhpcyBhdm9pZHMgcmUtYWxsb2NhdGluZyBpdCBldmVyeSBzaW5nbGUgdGltZSB3ZSBnbyBpbnRvIGl0LgoJICBSb3VnaGx5IDEwJSBwZXJmb3JtYW5jZSBib29zdCBpbiBvdmVyYWxsIHRzcGFyc2UgcHJvY2Vzc2luZyB0aW1lLgoKMjAwOS0wOS0yMCAxNzo1MzoyNCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgUmV2ZXJ0ICJtcGVndHNwYXJzZTogdXNlIGZpeGVkIHNpemUgYXJyYXkgcmF0aGVyIHRoYW4gZHluYW1pY2FsbHkgYWxsb2NhdGluZyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBhZTc1YjZmMzY2NjUxMjg4N2FlNTI2ZjE2YTFhZDQxYmJmMjUxN2FjLgoKMjAwOS0wOS0yMCAxNTozMDo1OSArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFyc2U6IHVzZSBmaXhlZCBzaXplIGFycmF5IHJhdGhlciB0aGFuIGR5bmFtaWNhbGx5IGFsbG9jYXRpbmcKCjIwMDktMDktMjAgMTU6MTg6NDYgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IHJlcGxhY2Ugc3RyZWFtcyBoYXNodGFibGUgd2l0aCBhbiBhcnJheSBvZiBzdHJlYW1zCgoyMDA5LTA5LTIwIDE0OjA4OjUwICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiB1bnJlZiBjYXBzIG9uIGRpc3Bvc2UsIHJlc2V0IHBhY2tldCBzaXplIG9uIF9yZXNldAoKMjAwOS0wOS0yMCAxMzoxNToxNCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogbWFrZSBzdXJlIHBhY2tldHNpemUgaXMgc2V0IG9uIGNhcHMgb2YgYnVmZmVycwoKMjAwOS0wOS0yMCAxMjozODowMCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFyc2U6IGRldGVjdCBwYWNrZXRzaXplIGFuZCBkb24ndCBqdXN0IGFzc3VtZSAxODggYnl0ZXMuCgoyMDA5LTA5LTE5IDE0OjEwOjI4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOgoJICBjZWx0ZW5jOiBBZGQgY29tcGxleGl0eSwgY2JyLCBhbmQgbWF4LWJpdHJhdGUgcHJvcGVydGllcwoKMjAwOS0wOS0xOSAxMzozMjoxOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvY29nLm9yYzoKCSogZXh0L2NvZy9jb2dmcmFtZS5jOgoJKiBleHQvY29nL2NvZ29yYy5jOgoJKiBleHQvY29nL2NvZ29yYy5oOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSAgY29nOiBhdXRvZ2VuZXJhdGUgY29kZSwgY29sb3JzcGFjZSBpbXByb3ZlbWVudHMKCjIwMDktMDktMTggMjA6Mjc6NDQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2dmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2dzdGNvZy5jOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dkb3duc2FtcGxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZmlsdGVyLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29ndXRpbHMuYzoKCSogZXh0L2NvZy9nc3Rjb2xvcmNvbnZlcnQuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGNvZzogcmVtb3ZlIC8vIGNvbW1lbnRzCgoyMDA5LTA5LTE2IDIwOjM5OjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogRG9uJ3QgdXNlIEdzdEl0ZXJhdG9yLCBkbyBjaGFuZ2UgZGV0ZWN0aW9uIG91cnNlbHZlcy4KCSAgVXNpbmcgYSBHc3RJdGVyYXRvciBpcyBzbG93IGJlY2F1c2Ugd2UgaGF2ZSB0byBjcmVhdGUvZGVzdHJveSB0aGF0CgkgIGl0ZXJhdG9yIGV2ZXJ5IHNpbmdsZSB0aW1lLgoJICBXZSBqdXN0IGRvIHRoZSB0aHJlYWRzYWZlIGNvb2tpZSBjaGVjayBhbmQgbGlzdCBpdGVyYXRpb24gb3Vyc2VsdmVzLgoKMjAwOS0wOS0xNSAyMzoxODo0MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IEF2b2lkIHR5cGUtY2hlY2tpbmcgY2FzdHMgaW4gdGlnaHQgbG9vcHMKCjIwMDktMDktMTUgMjM6MTI6MzMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogTWFrZSBuZXh0X3BhY2tldCgpIHJldHVybiBhbiBlbnVtLgoJICBUaGlzIGF2b2lkcyBjYWxsaW5nIGFuIGV4dHJhIGdzdF9hZGFwdGVyX2F2YWlsYWJsZSgpIGluIGEgdGlnaHQgbG9vcC4KCjIwMDktMDktMTUgMjM6MTE6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBNb3JlIGJyYW5jaCBwcmVkaWN0aW9uIG1hY3JvcwoKMjAwOS0wOS0xNSAyMDo0OTozOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFNwcmVhZCBicmFuY2ggcHJlZGljdGlvbiBtYWNyb3MKCjIwMDktMDktMTUgMTk6MTY6MzYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyOiBSZWdpc3RlciBhbmQgdXNlIEdRdWFyayBmb3Igc3RydWN0dXJlcy4KCjIwMDktMDktMTUgMTg6NTc6MjUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogSW5pdGlhbGl6ZSBkZWJ1Z2dpbmcgaW4gX2dldF90eXBlCgkgIFRoZXJlJ3Mgbm8gbmVlZCBmb3IgYW4gZXh0cmEgZnVuY3Rpb24gc2luY2UgYWxsIGRlYnVnZ2luIHdpbGwgcmVxdWlyZQoJICBhIE1wZWdUU1BhY2tldGl6ZXIgd2hpY2ggbWVhbnMgdGhhdCB0aGUgR1R5cGUgd2lsbCBiZSBjcmVhdGVkLCB0aGVyZWZvcmUKCSAgbW92ZSB0aGUgZGVidWcgY2F0ZWdvcnkgaW5pdGlhbGl6YXRpb24gdGhlcmUuCgoyMDA5LTA5LTE1IDIzOjA5OjIxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IG1lbXNldCBzdHJ1Y3R1cmUgaW5zdGVhZCBvZiBpbmRpdmlkdWFsbHkgc2V0dGluZyBmaWVsZHMgdG8gMAoKMjAwOS0wOS0xNSAyMzowODoxMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBSZW1vdmUgZ19yZXR1cm5faWZfZmFpbAoJICBJdCdzIG92ZXJraWxsIGZvciBjb2RlIG9ubHkgdXNlZCBieSBvbmUgZWxlbWVudC4KCjIwMDktMDktMTUgMTk6NDQ6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYWNrZXRpemVyL3BhcnNlOiBEb24ndCB1c2UgZ3N0X3N0cnVjdHVyZV90b19zdHJpbmcoKSBmb3IgZGVidWdnaW5nLgoJICBUaGVyZSdzIEdTVF9QVFJfRk9STUFUIGZvciB0aGF0LCBhbmQgdG9vIGJhZCBmb3IgdGhlIHN5c3RlbXMgdGhhdCBkb24ndCBoYXZlCgkgIHN1cHBvcnQgZm9yIHRoYXQuIEl0IGp1c3QgY29zdHMgdG9vIG11Y2ggY3B1LgoKMjAwOS0wOS0xNSAxOTowMDozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNwYXJzZS8uZ2l0aWdub3JlOgoJKiBnc3QvbXBlZ3RzcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNwYXJzZS9nc3RtcGVnZGVzYy5jOgoJKiBnc3QvbXBlZ3RzcGFyc2UvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5oOgoJKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2VtYXJzaGFsLmxpc3Q6CgkgIGdzdDogUmVtb3ZlIGRlYWQgbXBlZ3RzcGFyc2UgZGlyZWN0b3J5LgoJICBUaGlzIHdhcyBzZXJpb3VzbHkgY29uZnVzaW5nLiBBbHNvLCB0aGUgY29kZSBpcyBpbiBnc3QvbXBlZ2RlbXV4LwoKMjAwOS0wOS0xOCAxNDoyNTo0OSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9jb2cuaDoKCSogZXh0L2NvZy9jb2dmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3V0aWxzLmg6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmg6CgkqIGV4dC9jb2cvZ3N0Y29nLmM6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiBleHQvY29nL2dzdGNvZ2Rvd25zYW1wbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2dmaWx0ZXIuYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJKiBleHQvY29nL2dzdGNvZ3V0aWxzLmM6CgkqIGV4dC9jb2cvZ3N0Y29ndXRpbHMuaDoKCSogZXh0L2NvZy9nc3Rjb2xvcmNvbnZlcnQuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGNvZzogZml4ZXMgdG8gbWFrZSBjb2cgd29yayBpbnNpZGUgLWJhZAoKMjAwOS0wOS0xOCAxNTowNjo1NyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9tZWFzdXJlL01ha2VmaWxlLmFtOgoJICB2aWRlb21lYXN1cmU6IGZpeCBsaW5lIGVuZGluZ3MKCjIwMDktMDktMTggMTU6MDY6MzYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9NYWtlZmlsZS5hbToKCSAgdmlkZW9tZWFzdXJlOiBmaXggZGlzdGNoZWNrCgoyMDA5LTA5LTE3IDE4OjE2OjM1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IHF1aWV0IGRlYnVnZ2luZyBtZXNzYWdlIGluIGxhc3QgY29tbWl0CgoyMDA5LTA5LTE3IDE4OjE1OjI4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IEtlZXAgdHJhY2sgb2YgZ3JhbnVsZSBvZmZzZXQKCjIwMDktMDgtMzEgMTA6MzY6NDYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY29nL2NvZ2ZyYW1lLmM6CgkqIGV4dC9jb2cvY29nZnJhbWUuaDoKCSogZXh0L2NvZy9jb2dvcmMuYzoKCSogZXh0L2NvZy9jb2dvcmMuaDoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuaDoKCSogZXh0L2NvZy9nc3Rjb2cuYzoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZG93bnNhbXBsZS5jOgoJKiBleHQvY29nL2dzdGNvZ2ZpbHRlci5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY29nL2dzdGNvZ3NjYWxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29ndXRpbHMuYzoKCSogZXh0L2NvZy9nc3Rjb2d1dGlscy5oOgoJKiBleHQvY29nL2dzdGNvbG9yY29udmVydC5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgQ29weSBjb2cgcGx1Z2luIGFuZCB2aWRlbyBsaWJyYXJ5IGZyb20gY29nIHByb2plY3QKCjIwMDktMDktMTcgMTY6NTQ6NTcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJICBzY2hyb2RlYzogRml4IHJlc3luYyBidWcgZHVlIHRvIGFkYXB0ZXIgQVBJIGNoYW5nZQoJICBnc3RfYWRhcHRlcl9tYXNrZWRfc2Nhbl91aW50MzIoKSBjaGFuZ2VkIHNsaWdodGx5IGZyb20gd2hlbgoJICB0aGlzIGVsZW1lbnQgd2FzIGluIFNjaHJvZWRpbmdlci4gIE9vcHMuCgoyMDA5LTA5LTE3IDE2OjU3OjE2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlbzogZGVidWcgYXQgbmV3IHNlZ21lbnQgZXZlbnRzCgoyMDA5LTA5LTE3IDE2OjU0OjE0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBtcGVndHNkZW11eDogU2V0IERJU0NPTlQgb24gYnVmZmVycwoKMjAwOS0wOS0xNyAxMDo1MDo0MCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW86IEFkZCBhIHdhcm5pbmcKCjIwMDktMDktMTcgMTA6NDk6MTMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBkb24ndCBsaW1pdCBiaXQgcmF0ZQoKMjAwOS0wOS0xNyAwOTozODowMiArMDIwMCAgTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgcG5tOiBBZGQgQVNDSUkgZGVjb2Rpbmcgc3VwcG9ydAoJICAuLi5hbmQgbWFrZSB0aGUgQVNDSUkgb3V0cHV0IG9mIHRoZSBlbmNvZGVyIGEgYml0IG1vcmUgcHJldHR5LgoJICBGaXhlcyBidWcgIzU5NTQwOS4KCjIwMDktMDktMTcgMDk6MzU6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBwbm06IFJlbW92ZSB0aGUgZXhwZXJpbWVudGFsIHN0YXR1cyBmcm9tIHRoZSBwbm0gcGx1Z2luCgoyMDA5LTA4LTE0IDE4OjA4OjU2IC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBNb3JlIHRvbGVyYXRlIHBvcnQgZ3JvdXAgc3VwcG9ydCwgcGx1Z2luIGNsZWFudXAuCgkgIEdyYWNlZnVsbHkgaGFuZGxlIHBsdWdpbnMgd2l0aCBpbGxlZ2FsIGdyb3VwcyB0aGF0IGNvbnRhaW4gbm8gc3ltYm9sIGJ5CgkgIHRyZWF0aW5nIHBvcnRzIGluIHRoYXQgZ3JvdXAgbm9ybWFsbHkgKGkuZS4gYXMgaWYgdGhleSB3ZXJlbid0IHBhcnQgb2YgYQoJICBncm91cCkuICBUaGUgcG9ydCBncm91cHMgc3BlYyBtYW5kYXRlcyB0aGF0IGdyb3VwcyBoYXZlIGEgdmFsaWQgdW5pcXVlCgkgIHN5bWJvbCwgYnV0IHBsdWdpbnMgYXJlbid0IHBlcmZlY3QuLi4KCSAgTWFrZSAoY29uY2VwdHVhbGx5KSBzdGF0aWMgcGx1Z2luIHZhcmlhYmxlcyBhY3R1YWxseSAoQykgc3RhdGljLAoJICBhbmQgY2xlYW4gdXAgU0xWMiByZWxhdGVkIHRoaW5ncyB3aXRoIGEgR0NDIHNoYXJlZCBsaWJyYXJ5IGRlc3RydWN0b3IsCgkgIGlmIEdDQyBpcyBpbiB1c2UuCgoyMDA5LTA4LTEyIDAxOjA3OjU3IC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBNYWtlIG1vbm8gd2FybmluZyB2aXNpYmxlIGluIHB1YmxpYyBkb2N1bWVudGF0aW9uLgoKMjAwOS0wOC0xMiAwMTowMzozMiAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L2x2Mi9nc3RsdjIuaDoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSAgTXVsdGktY2hhbm5lbCBzdXBwb3J0IHdpdGggY2hhbm5lbCBwb3NpdGlvbnMuCgkgIFRoaXMgcXVlcmllcyBwb3J0IHJvbGVzIGZyb20gdGhlIExWMiBkYXRhIGFuZCBjb252ZXJ0cyBpdCBpbnRvIEdTdHJlYW1lcgoJICBjaGFubmVsIHBvc2l0aW9ucy4gIFRoaXMgc2hvdWxkIGFsbG93IGFueSB0eXBlIG9mIG11bHRpLWNoYW5uZWwgcGx1Z2luCgkgIChpbmNsdWRpbmcgYmV5b25kIHN0ZXJlbywgZS5nLiBzdXJyb3VuZCkgdG8gd29yayBmaW5lIGluIEdTdHJlYW1lciwKCSAgYW5kIHdpdGggZWxlbWVudHMgdGhhdCByZXF1aXJlIGNoYW5uZWwgcG9zaXRpb25zIHRvIGJlIGV4cGxpY2l0bHkgc3RhdGVkLgoKMjAwOS0wOC0xMCAyMzoxMjoyNCAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIExWMiBlbGVtZW50LgoKMjAwOS0wOC0xMCAyMzowNDo0NyAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgRml4IHR5cG8gaW4gTEFEU1BBIGVsZW1lbnQgZG9jdW1lbnRhdGlvbi4KCjIwMDktMDctMjEgMTU6NDU6MDYgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBTTFYyIGRlcGVuZGVuY3kgdG8gMC42LjYuCgoyMDA5LTA3LTEwIDIxOjUyOjMwIC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2NhbGYtbHYyLXBvcnQtZ3JvdXBzLnBhdGNoOgoJKiBleHQvbHYyL3N3aC1sdjItcG9ydC1ncm91cHMucGF0Y2g6CgkgIEFkZCBzd2ggYW5kIGNhbGYgTFYyIHBvcnQgZ3JvdXAgcGF0Y2hlcy4KCjIwMDktMDctMDMgMjA6MDA6MTEgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmg6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkgIFdvcmtpbmcgbXVsdGktY2hhbm5lbCBwYWRzIGZvciBMVjIgcGx1Z2lucy4KCjIwMDktMDYtMjcgMDA6MjU6MzggLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIEFsbG9jYXRlIGEgc3RhdGljIHByZWRpY2F0ZSBmb3IgcGc6aW5Hcm91cC4KCjIwMDktMDYtMjUgMTc6MjU6NTIgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIE9ubHkgYWxsb2NhdGUgbHYyOmluUGxhY2VCcm9rZW4gcHJlZGljYXRlIG9uY2UuCgoyMDA5LTA2LTI1IDE1OjEwOjI0IC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBFbGltaW5hdGUgdXNlIG9mIHN0YXRpYyBtb25vIHBhZCB0ZW1wbGF0ZS4KCjIwMDktMDYtMjUgMTU6MDc6MDUgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIFNlcGFyYXRlIHBvcnQgZGlzY292ZXJ5IGZyb20gcGFkIHRlbXBsYXRlIGNyZWF0aW9uLgoJICBUaGlzIGZpcnN0IGNvdW50cyBwb3J0cyAodXNpbmcgdGhlIGJ1aWx0aW4gc2x2MiBmdW5jdGlvbnMgdG8gZG8gc28KCSAgcmF0aGVyIHRoYW4gbWFudWFsbHkgYXMgYmVmb3JlKSwgdGhlbiBjcmVhdGVzIGRlc2NyaXB0b3JzIGZvciBlYWNoIHBvcnQKCSAgYW5kIGZpbmRzIGFsbCBwb3J0IGdyb3Vwcy4gIE9ubHkgdGhlbiBhcmUgcGFkIHRlbXBsYXRlcyBjcmVhdGVkICh0b3dhcmRzCgkgIHVzaW5nIGdyb3VwIGluZm9ybWF0aW9uIGZvciBjcmVhdGluZyBtdWx0aS1jaGFubmVsIHBhZHMpLgoKMjAwOS0wNi0yNSAxMjozNDowMyAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgVXNlIHNpbGx5IGdsaWIgdHlwZXMgOikuCgoyMDA5LTA2LTIwIDE5OjUyOjI2IC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbHYyL2dzdGx2Mi5oOgoJICBRdWVyeSBhbmQgc3RvcmUgcG9ydCBncm91cCBpbmZvcm1hdGlvbi4KCSAgUmVwbGFjZSBwb3J0IGluZGV4IGFycmF5cyB3aXRoIGEgc3RydWN0IGZvciBob2xkaW5nIG1vcmUgaW5mb3JtYXRpb24KCSAgdGhhbiBqdXN0IGluZGljZXMgKGUuZy4gZ3JvdXBzKS4KCjIwMDktMDUtMjUgMjI6MTU6NTYgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmg6CgkgIFdvcmtpbmcgYmFzaWMgTFYyIHNpZ25hbCBwcm9jZXNzaW5nLgoJICBMVjIgcGx1Z2lucywgc2hvcnQgb2YgYW55IHN1cnByaXNlcywgc2hvdWxkIHdvcmsgd2l0aCB0aGUgc2FtZSBiYXNpYwoJICBmdW5jdGlvbmFsaXR5IGFzIExBRFNQQSBwbHVnaW5zLgoKMjAwOS0wNS0yNSAyMDo0MzoxMCAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgU2V0IGNsYXNzIGluUGxhY2VCcm9rZW4gcHJvcGVydHkuCgoyMDA5LTA5LTE3IDA5OjQzOjM3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuYzoKCSAgZG9jczogZml4IGV4YW1wbGUgYW5kIG1lbnRpb24gZGlmZmVyZW5jZSB0byB2b3JiaXNkZWMKCjIwMDktMDktMDIgMTE6MTE6MjAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1OiBGaXggYm9ndXMgY2hlY2sgYmVmb3JlIHVucmVmZmluZwoKMjAwOS0wOS0wMSAxOTo0ODo0MyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICB2ZHBhdTogRml4IHBrZy1jb25maWcgdGVzdAoJICBJZiB0aGUgcGtnLWNvbmZpZyBjaGVjayBkb2Vzbid0IHN1Y2NlZWQsIHRlc3Qgd2l0aCB0aGUgb2xkIG1ldGhvZAoJICBpbnN0ZWFkIG9mIGJhaWxpbmcgb3V0IG9mIGNvbmZpZ3VyZSB3aXRoIGFuIGVycm9yLgoKMjAwOS0wOC0yMCAwMDoxNjowMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGhhbmRsZSBwaXhlbC1hc3BlY3QtcmF0aW8gYmV0dGVyCgkgIHRoZSBpbXBsZW1lbnRhdGlvbiBpcyBub3QgZW50aXJlbHkgY29ycmVjdCBzaW5jZSB3ZSBhc3N1bWUgdGhhdCB0aGUgc2luawoJICBlbGVtZW50J3MgcGl4ZWwtYXNwZWN0LXJhdGlvIGlzIDEvMQoKMjAwOS0wOC0xOSAyMjo1MjozNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IHJlbW92ZSBwYXIgZnJvbSBjYXBzIHNpbmNlIHdlIGRvbid0IGhhbmRsZSBpdCB5ZXQKCjIwMDktMDgtMTkgMjI6NDA6NDggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBkb24ndCByZW1vdmUgaW50ZXJsYWNlZCBmbGFnIGluIHZpZGVvX3RvX291dHB1dF9jYXBzKCkKCjIwMDktMDgtMTkgMjI6MjM6MTcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGFkZCBpbnZlcnNlLXRlbGVjaW5lIHByb3BlcnR5CgoyMDA5LTA4LTE5IDIyOjAzOjExICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBmaXggbm9pc2UtcmVkdWN0aW9uIHByb3BlcnR5IGdldHRlcgoKMjAwOS0wOC0xOSAyMjowMjoxOSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogYWRkIHNoYXJwZW5pbmcgcHJvcGVydHkKCjIwMDktMDgtMTcgMjM6NDI6NTAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkgIHZkcGF1OiByZW1vdmUgZ3N0X3ZkcF9kZXZpY2VfbmV3IGZyb20gaGVhZGVyCgoyMDA5LTA4LTE3IDIzOjQyOjIxICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSAgdmRwYXVzaW5rOiBmaXggZXJyb3IgaGFuZGxpbmcgaWYgZ3N0X3ZkcF9nZXRfZGV2aWNlIHJldHVybnMgTlVMTAoKMjAwOS0wOC0xNyAyMzozOTo1MiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSAgdmRwYXU6IGFkZCBiYWNrIHZkcGF1c2luayBhbmQgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzCgoyMDA5LTA4LTE3IDIzOjM5OjE0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkgIHZkcGRldmljZTogZml4IGVycm9yIGhhbmRsaW5nIGFuZCB0aHJlYWRzYWZldHkKCSAgcmV0dXJuIE5VTEwgaW5jYXNlIG9mIGluaXRhbGl6YXRpb24gZXJyb3JzIGFuZCBndWFyZCBoYXNodGFibGUgYWNjZXNzIHdpdGggYSBtdXRleAoKMjAwOS0wNy0xNyAyMjo1MDoxOCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogZ2V0IGNvcnJlY3QgbnVtYmVyIG9mIG5lZWRlZCBmcmFtZXMgaWYgd2UncmUgZG9pbmcgbm9pc2UgcmVkdWN0aW9uCgoyMDA5LTA3LTE3IDIyOjQ4OjIzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiBzbWFsbCBpbmRlbnQgZml4CgoyMDA5LTA3LTE1IDIwOjE4OjMzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiBmaXggZ3N0X2J5dGVfcmVhZGVyX21hc2tlZF9zY2FuX3VpbnQzMiB1c2FnZQoKMjAwOS0wNy0wNCAxOTo0ODo0MiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkgIHZkcGF1dmlkZXBvc3Rwcm9jZXNzOiByZW1vdmUgYm9vbGVhbiBub2lzZS1yZWR1Y3Rpb24gcHJvcGVydHkKCSAgVXNlIHRoZSBmbG9hdCBvbmUgdG8gZGV0ZXJtaW5lIGlmIHdlIHNob3VsZCBlbmFibGUgbm9pc2UgcmVkdWN0aW9uIG9yIG5vdAoKMjAwOS0wNy0wNCAxNTo0NjowMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGFkZCBzdXBwb3J0IGZvciBub2lzZSByZWR1Y3Rpb24KCjIwMDktMDctMDQgMTM6NTk6MzYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogYWRkIHN1cHBvcnQgZm9yIGRlaW50ZXJsYWNpbmcKCSAgVGhlIGNvZGUgaXMgcm91Z2hseSBtb2RlbGVkIGFmdGVyIHRoZSBkZWludGVybGFjZSBwbHVnaW4KCjIwMDktMDctMDIgMTc6MTE6MTAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5oOgoJICB2ZHBhdXNpbms6IGFkZCBteXNlbGYgdG8gY29weXJpZ2h0CgoyMDA5LTA3LTAyIDE0OjAxOjE2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBzL2dzdF92ZHBfdnBwX3NldF9jYXBzL2dzdF92ZHBfdnBwX3Npbmtfc2V0Y2FwcwoKMjAwOS0wNy0wMSAyMzoxMjoyMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogdXNlIGdzdF9ieXRlX3JlYWRlcl9tYXNrZWRfc2Nhbl91aW50MzIgaW5zdGVhZCBvZiBvdXIgb3duIHZlcnNpb24KCjIwMDktMDctMDEgMDA6MjA6MzMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJICB2ZHBhdTogdXNlIEdfTl9FTEVNRU5UUyBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcgYXJyYXkgc2l6ZXMKCjIwMDktMDctMDEgMDA6MTM6MTQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkgIHZkcGF1OiB1c2UgR19OX0VMRU1FTlRTIGluc3RlYWQgb2YgTlVMTCB0ZXJtaW5hdGluZyBhcnJheQoKMjAwOS0wNi0zMCAyMzo1NToxMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0YnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmM6CgkgIHZkcGF1OiBhZGQgbmV3IHZkcGF1c2luayBhbmQgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzIGVsZW1lbnRzCgkgIHZkcGF1c2luayBpcyBhcyB0aGUgbmFtZSBpbXBsaWVzIGEgc2luayB3aGljaCB0YWtlcyB2aWRlL3gtdmRwYXUtb3V0cHV0IGJ1ZmZlcnMKCSAgYW5kIG91dHB1dHMgaXQgdG8gdGhlIHNjcmVlbi4KCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzIGlzIGFuIGVsZW1lbnQgd2hpY2ggdGFrZXMgdmlkZW8veC12ZHBhdS12aWRlbyBidWZmZXJzIGFuZAoJICBvdXRwdXRzIHZpZGVvL3gtdmRwYXUtb3V0cHV0IGJ1ZmZlcnMuIFRoZSBlbGVtZW50IGNhbiBhbHNvIGRvIHRoaW5ncyBsaWtlCgkgIGRlaW50ZXJsYWNpbmcgYW5kIG90aGVyIHBvc3Rwcm9jZXNzaW5nIGJ1dCB0aGlzIGlzIG5vdCBpbXBsZW1lbnRlZCB5ZXQuCgoyMDA5LTA2LTI5IDIyOjUwOjQyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICB2ZHBhdTogY2hlY2sgZm9yIHZkcGF1IHdpdGggcGtnLWNvbmZpZyBmaXJzdAoKMjAwOS0wNi0yNCAxNzo1MTo1OCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJICB2ZHBhdTogc3BsaXQgZ3N0X3ZkcF9tcGVnX2RlY19yZXNldCBpbnRvIHN0YXJ0IGFuZCBzdG9wCgoyMDA5LTA2LTI0IDExOjM2OjI4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5oOgoJICB2ZHBhdTogZG9uJ3QgcHV0IHRoZSBHc3RWZHBEZXZpY2UgaW4gdGhlIGNhcHMKCjIwMDktMDYtMjMgMjM6MDM6NTIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2Lmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uaDoKCSAgdmRwYXU6IG1ha2UgR3N0VmRwVmlkZW9ZVVYgaW1wbGVtZW50IHBhZF9hbGxvYwoJICBhbHNvIGNoYW5nZSBHc3RWZHBNcGVnRGVjIGFuZCBHc3RWZHBZVVZWaWRlbyB0byBtYWtlIHVzZSBvZiB0aGlzCgoyMDA5LTA2LTIzIDE3OjI2OjIyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uYzoKCSAgdmRwYXU6IGFkZCBzdXBwb3J0IGZvciBZVVkyCgoyMDA5LTA2LTIzIDE3OjE2OjI1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5jOgoJICB2ZHBhdTogYWRkIHN1cHBvcnQgZm9yIFVZVlkKCjIwMDktMDYtMjMgMTY6NTc6NDUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmg6CgkgIHZkcGF1OiBmYWN0b3Igb3V0IGNvbW1vbiBjYXBzIGNhbGN1bGF0aW9uIGFuZCBwdXQgaXQgaW4gZ3N0dmRwdXRpbHMuW2NoXQoKMjAwOS0wNi0yMiAyMzoyNTo1NSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uYzoKCSAgdmRwYXU6IHJlZmFjdG9yIEdzdFZkcFZpZGVvWVVWIGFuZCBHc3RWZHBZVVZWaWRlbwoKMjAwOS0wNi0yMiAyMjoxNzo0OCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uaDoKCSAgdmRwYXU6IG1ha2UgR3N0VmRwWVVWVmlkZW8gaW5oZXJpdCBmcm9tIEdzdEJhc2VUcmFuc2Zvcm0KCjIwMDktMDYtMjIgMTE6MDA6NDAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSAgdmRwYXU6IGZpeHVwIHNvbWUgZGVidWcgcHJpbnRzCgoyMDA5LTA2LTIyIDEwOjU3OjI1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5oOgoJICB2ZHBhdTogbWFrZSBHc3RWZHBWaWRlb1lVViBpbmhlcml0IGZyb20gR3N0QmFzZVRyYW5zZm9ybQoKMjAwOS0wOS0xNiAwODoyMjoxOSArMDIwMCAgTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoKCSogZ3N0L3BubS9nc3Rwbm0uYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3BubS9nc3Rwbm11dGlscy5jOgoJKiBnc3QvcG5tL2dzdHBubXV0aWxzLmg6CgkgIHBubTogU3VwcG9ydCBBU0NJSSBmb3JtYXQgZm9yIGVuY29kaW5nIGFuZCBoYW5kbGUgdW5zdXBwb3J0ZWQgZm9ybWF0cyBiZXR0ZXIgaW4gdGhlIGRlY29kZXIKCSAgRml4ZXMgYnVnICM1OTUyMTUuCgoyMDA5LTA5LTE1IDIzOjMyOjA2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IEhhbmRsZSBiYXNlX3RpbWUgd2hlbiBzZW5kaW5nIHNlZ21lbnQgdXBkYXRlcy4KCSAgRG9uJ3Qgc2VuZCBib2d1cyBuZXcgc2VnbWVudCB1cGRhdGUgZXZlbnRzIHdoZW4gdGhlIHN0cmVhbSBkb2Vzbid0CgkgIHN0YXJ0IGF0IDAuIEZpeGVzIGJyb2tlbiBzZWVraW5nIGluIHNvbWUgZmlsZXMuCgkgIEZpeGVzOiAjNTk0ODEyCgoyMDA5LTA4LTE4IDEzOjM1OjU5ICswMjAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9nc3RzZWN0aW9uZmlsdGVyLmM6CgkgIG1wZWd0c2RlbXV4LCBtcGVndHNwYXJzZTogbWF4IHNlY3Rpb24gbGVuZ3RoIGlzIDQwOTMgbm90IDEwMjEuCgoyMDA5LTA4LTE4IDAxOjA4OjAzICswMjAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogYWRkIHBhZCBmb3IgRFZCIFN1YnRpdGxpbmcgcGFkcwoKMjAwOS0wOS0xMyAxOTozOTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBwbm06IFVzZSBjb3JyZWN0IHJvd3N0cmlkZSBmb3IgOCBiaXQgZ3JheXNjYWxlIHRvbwoKMjAwOS0wOS0xMyAxOTozMzo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBwbm06IENvcnJlY3RseSBjb252ZXJ0IGZyb20vdG8gR1N0cmVhbWVyIHJvd3N0cmlkZQoKMjAwOS0wOS0xMyAxOToxNzoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBwbm06IEZpeCBjYXBzCgkgIDggYml0IGdyYXlzY2FsZSBjYXBzIGhhdmUgbm8gZW5kaWFubmVzcyBmaWVsZCBhbmQgdGhlIGNhcHMgbmFtZQoJICBvZiBHU1RfVklERU9fQ0FQU19SR0IgaXMgc3RpbGwgInZpZGVvL3gtcmF3LXJnYiIgYW5kIG5vdCBHU1RfVklERU9fQ0FQU19SR0IuCgoyMDA5LTA5LTEzIDE5OjEzOjI0ICswMjAwICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5oOgoJICBwbm06IExvdHMgb2YgYnVnZml4ZXMKCSAgKDEpIEZpeCBleGFtcGxlcy4KCSAgKDIpIEFkZCBzdXBwb3J0IGZvciBncmF5IGltYWdlcy4KCSAgKDMpIFJlbW92ZSAidXNlX2ZpeGVkX2NhcHMiIHdoaWNoIGRvZXNuJ3Qgc2VlbSB0byBiZSB1c2VmdWwuCgkgICg0KSBEbyBwcm9wZXIgbmVnb3RpYXRpb24gaW4gdGhlIGVuY29kZXIuCgkgICg1KSBGaXggbWVtbGVhayBpbiB0aGUgc2V0Y2FwcyBmdW5jdGlvbiBpbiB0aGUgZW5jb2Rlci4KCSAgKDYpIEtlZXAgYSBsaW5rIHRvIHRoZSBzcmMgcGFkIGluIHRoZSBlbmNvZGVyIG5vdyB0aGF0IHdlIG5lZWQgaXQgbW9yZSBvZnRlbi4KCSAgUGFydGlhbGx5IGZpeGVzIGJ1ZyAjMTY0ODcwLgoKMjAwOS0wOS0xMiAxODo1NzowNSArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgRml4IGZhY3RvcnkgaW5mb3JtYXRpb24gZm9yIGgyNjRwYXJzZSwgYWRkIG1pc3NpbmcgVmlkZW8KCjIwMDktMDktMTEgMTQ6Mzg6NDYgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBGaXggYW4gb2ZmLWJ5LTggYnVnIGluIHBhcnNpbmcgdGhlIEFJRkYgZGF0YSBzaXplLgoJICBUaGlzIGxlZCB0byBvdmVycmVhZGluZyBieSA4IGJ5dGVzLCBnaXZpbmcgYW4gYXVkaWJsZSBnbGl0Y2ggYXQgdGhlIGVuZCBvZgoJICBhIGZpbGUgKGV4Y2VwdCB3aGVuIHRoZSBmaWxlIGRpZG4ndCBoYXZlIGEgdHJhaWxpbmcgY2h1bmsgb2Ygc29tZSBzb3J0KS4KCjIwMDktMDktMDggMjA6NTI6MDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBVc2UgR1NUX1RJTUVfRk9STUFUIGluIGRlYnVnIHN0YXRlbWVudC4KCjIwMDktMDktMDggMDk6MjA6MDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBSZXNldCBzdHJlYW0tPmxhc3RfdGltZSB3aGVuIGZsdXNoaW5nLgoJICBUaGlzIGZpeGVzIG5haXZlIHNlZWtpbmcgYSB0aW55IGJpdCAoYnkgYmFzaWNhbGx5IGhpbnRpbmcgYXQgX2RhdGFfY2IKCSAgdGhhdCBpdCBzaG91bGRuJ3QgZXhwZWN0IHRoZSBpbmNvbWluZyBidWZmZXJzIHRvIGJlIHRoZSBvbmVzIGp1c3QgYWZ0ZXIKCSAgdGhlIHByZXZpb3VzIG9uZXMpLgoJICBXaXRob3V0IHRoaXMsIHNlZWtpbmcgYnkgbW9yZSB0aGFuIDEwbWlucyBmb3J3YXJkIHdvdWxkIGp1c3QgZW5kIHVwIGluIGFuCgkgIGVuZGxlc3MgbG9vcC4KCjIwMDktMDktMDggMDk6MTg6NDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBTcHJpbmtsZSBicmFuY2ggcHJlZGljdGlvbiBtYWNyb3MuCgoyMDA5LTA5LTEwIDEyOjEyOjI2IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM3RhZzogV2hlbiB3cml0aW5nIGlkM3YyLjMsIGRvIG5vdCB1c2UgVVRGLTguCgkgIFVURi04IGlzIG9ubHkgcGVybWl0dGVkIGluIHYyLjQuIFNvIGluc3RlYWQgdXNlIElTTy04ODU5LTEgZm9yIGFzY2lpLW9ubHkKCSAgc3RyaW5ncywgYW5kIFVURjE2IG90aGVyd2lzZS4gQWxzbywgZG8gbm90IG51bGwgdGVybWluYXRlIHN0cmluZ3MgaW4gdGV4dAoJICBmcmFtZXMsIGV4Y2VwdCB3aGVyZSByZXF1aXJlZC4gVGhlc2UgdHdvIGFsbG93IHdpbmRvd3MgbWVkaWEgcGxheWVyIHRvIHBsYXkKCSAgKGFuZCBjb3JyZWN0bHkgcmVhZCB0YWdzKSBmaWxlcyBjcmVhdGVkIGJ5IGlkM211eC4KCjIwMDktMDctMjMgMTY6MTM6MjggLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkgIGFkcGNtZGVjOiBjb21wbGV0ZSBpbWEgYWRwY20gc3VwcG9ydC4KCjIwMDktMDctMjMgMTE6NTk6MzkgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkgIGFkcGNtZGVjOiBjaGVja3BvaW50IGZvciBpbmNvbXBsZXRlIElNQSBBRFBDTSBzdXBwb3J0LgoKMjAwOS0wOS0xMCAxMjowMjoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZS5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJICB2aWRlb21lYXN1cmU6IEZpeCBmb3JtYXQgc3RyaW5ncyBhbmQgaW5jbHVkZSBjb3JyZWN0IGkxOG4gaGVhZGVyCgoyMDA5LTA5LTEwIDExOjU4OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlLmg6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuaDoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmg6CgkgIHZpZGVvbWVhc3VyZTogRml4IGluZGVudGlvbiwgbGluZSBlbmRpbmdzIGFuZCB1c2UgTFJOJ3MgcmVhbCBuYW1lCgoyMDA5LTA5LTA5IDE5OjE0OjI3ICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmUuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmUuaDoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5oOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uaDoKCSAgdmlkZW9tZWFzdXJlOiBJbml0aWFsIHZlcnNpb24gb2YgdmlkZW9tZWFzdXJlIHBsdWdpbgoJICBUaGlzIHBsdWdpbiBjb250YWlucyBlbGVtZW50cyBmb3IgY2FsY3VsYXRpbmcgbWV0cmljcyBvZiB2aWRlbyBzdHJlYW1zLCBpbnRlbmRlZCBmb3Igb2JqZWN0aXZlIHZpZGVvIGNvZGVjIGNvbXBhcmlzb24uCgkgIEF0IHRoZSBtb21lbnQgb25seSBTU0lNIG1ldHJpYyBpcyBpbXBsZW1lbnRlZCAod2h5IHdvdWxkIHlvdSBuZWVkIGFueXRoaW5nIGVsc2UgYW55d2F5PykuCgkgIEFsc28gY29udGFpbnMgYSBoZWxwZXIgdmlkZW9tZWFzdXJlX2NvbGxlY3RvciBlbGVtZW50IHRoYXQgY29sbGVjdHMgbWVhc3VyZW1lbnQgZXZlbnRzIGFuZCBvdXRwdXRzIHRoZW0gaW50byBhIGZpbGUgKHRvIGJlIHVzZWQgd2l0aCBnc3QtbGF1bmNoKS4KCSAgT3RoZXIgbWV0cmljcyBtYXkgYmUgaW1wbGVtZW50ZWQgaW4gdGhlIGZ1dHVyZSBhbG9uZyB3aXRoIGEgYmFzZSBjbGFzcyBmb3IgYWxsIG1lYXN1cmVycy4KCSAgRml4ZXMgYnVnICM1OTQzMjEuCgoyMDA5LTA5LTEwIDA4OjU0OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgcG5tOiBNYXJrIFBOTSBwbHVnaW4gYXMgZXhwZXJpbWVudGFsIGJlY2F1c2UgaXQgZG9lc24ndCB3b3JrIHdlbGwgeWV0CgoyMDA5LTA5LTEwIDA4OjUzOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkgIHBubWRlYzogUGFydGlhbGx5IGZpeCBuZWdvdGlhdGlvbiBpc3N1ZXMgYW5kIHJlZmNvdW50IGxlYWtzCgoyMDA5LTA5LTEwIDA4OjQ4OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wbm0vTWFrZWZpbGUuYW06CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkgIHBubWVuYzogRml4IG5lZ290aWF0aW9uIGlzc3VlcyBhbmQgcmVmY291bnQgbGVha3MKCjIwMDktMDktMTAgMDg6Mjk6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BubS9nc3Rwbm0uYzoKCSAgcG5tOiBGaXggdHlwZWZpbmRlciBjYXBzCgoyMDA5LTA5LTEwIDA4OjIzOjIyICswMjAwICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9wbm0vTWFrZWZpbGUuYW06CgkqIGdzdC9wbm0vZ3N0cG5tLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmg6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmg6CgkqIGdzdC9wbm0vZ3N0cG5tdXRpbHMuYzoKCSogZ3N0L3BubS9nc3Rwbm11dGlscy5oOgoJICBwbm06IEFkZCBQTk0gZW5jb2RlciBhbmQgZGVjb2RlciBlbGVtZW50cwoJICBGaXhlcyBidWcgIzE2NDg3MC4KCjIwMDktMDktMTAgMDc6NTY6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2x2Mi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9NYWtlZmlsZS5hbToKCSAgc2lnbmFscHJvY2Vzc29yOiBGaXggdmFyaW91cyBidWlsZC9kaXN0IGlzc3VlcwoJICBJbnN0YWxsIHRoZSBoZWFkZXJzLCB2ZXJzaW9uIHRoZSBsaWJyYXJ5IHdpdGggQEdTVF9NQUpPUk1JTk9SQCwKCSAgYWRkIGFsbCByZXF1aXJlZCBsaWJyYXJpZXMgdG8gX0xJQkFERCBpbnN0ZWFkIG9mIF9MREZMQUdTLAoJICBhbmQgYWRkIEdTVF8qX0xERkxBR1MgdG8gX0xERkxBR1MuCgkgIEZpeGVzIGJ1ZyAjNTk0NzE1LgoKMjAwOS0wOS0wOSAxNDozNDowMyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBkc2hvd3ZpZGVvc3JjOiBjYWNoZSBkZXZpY2UgY2FwcwoKMjAwOS0wOS0wOSAxMjo0MToxNyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiB3aW4zMi92czkvbGliZ3N0ZHNob3dzcmN3cmFwcGVyLnZjcHJvajoKCSAgZHNob3d2aWRlb3NyYzogdXNlIElFbnVtTWVkaWFUeXBlcyB3aGVuIElBTVN0cmVhbUNvbmZpZyBpcyBub3QgdXNhYmxlCgkgIEZvciBzb21lIGRldmljZSBkcml2ZXJzIElBTVN0cmVhbUNvbmZpZyBpcyBub3Qgc3VwcG9ydGVkLgoJICBCdXQgRW51bU1lZGlhdHlwZXMgZG9lcyBub3QgcHJvdmlkZSByYW5nZSBzaXplIGFuZCBmcmFtZXJhdGUuCgoyMDA5LTA5LTA2IDExOjUwOjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFjLmM6CgkgIGZhYWM6IGFkZCB1bml0IHRlc3QKCjIwMDktMDktMDggMjI6MjQ6MTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBhZGQgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzIGZvciBkaXNjcmVwYW5jeSBjYXNlcyBhbmQgcGx1ZyBtZW1sZWFrCgoyMDA5LTA5LTA2IDExOjQ5OjE3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogc3ByaW5rbGUgc29tZSBtb3JlIEdfKFVOKUxJS0VMWQoKMjAwOS0wOS0wNiAxMTo0NDoyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGVuZm9yY2Ugc3luYyBiZXR3ZWVuIHdyYXBwZXIgdmlldyBvZiBkYXRhIGFuZCBlbmNvZGVyIHJldHVybmVkIGRhdGEKCjIwMDktMDktMDUgMjE6MzU6MzUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBhZGQgZmFhYyB0byBkb2N1bWVudGF0aW9uCgoyMDA5LTA5LTA1IDIxOjM1OjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogYWRkIHNvbWUgZG9jdW1lbnRhdGlvbgoKMjAwOS0wOC0zMSAxOTozMTo1NyArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIG91dHB1dHNlbGVjdG9yOiBtYWtlIEdTVF9GT1JNQVRfVElNRSB0aGUgZGVmYXVsdCBzZWdtZW50IGZvcm1hdAoKMjAwOS0wOC0zMSAxOTozMzo1MCArMDIwMCAgSGF2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSAgZHNob3d2aWRlb3Npbms6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgRml4ZXMgYnVnICM1OTQyNzguCgoyMDA5LTA5LTA4IDE1OjE2OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEZpeCB1c2FnZSBvZiBfX2Fsd2F5c19pbmxpbmVfXyBhdHRyaWJ1dGUKCSAgVGhpcyBhdHRyaWJ1dGUgY2FuJ3QgYmUgdXNlZCBmb3IgZnVuY3Rpb24gZGVjbGFyYXRpb25zIGJlY2F1c2UKCSAgaXQgbmVlZHMgdGhlIGZ1bmN0aW9uIGJvZHkuIEluc3RlYWQgb2YgYSBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mCgkgIGZ1bmN0aW9ucywgbW92ZSB0aGUgZnVuY3Rpb24gaXRzZWxmIGFib3ZlIGl0J3MgZmlyc3QgdXNlLgoJICBGaXhlcyBidWcgIzU5NDQ4OSBhbmQgY29tcGlsYXRpb24gd2l0aCBnY2MgNC4zIGFuZCBlYXJsaWVyLgoKMjAwOS0wOS0wNyAxNzozMzoxNSArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEZpeCBjb21waWxhdGlvbiB3aXRoIGxpYmFzcyA9IDAuOS42CgkgIEZpeGVzIGJ1ZyAjNTk0MzgyLgoKMjAwOS0wOS0wNyAxOTowODowOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGZpeCBhc3BlY3QtcmF0aW8gcGFyc2luZyBpbiBWTwoKMjAwOS0wOS0wNyAxNjoyMDoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGFsc28gY29uc2lkZXIgdXNlcl9kYXRhIHBpZWNlcyB3aGVuIHBhcnNpbmcgVk8oUykKCjIwMDktMDktMDcgMTY6NDQ6NTIgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJKiB3aW4zMi92czkvZ3N0LXBsdWdpbnMtYmFkLnNsbjoKCSogd2luMzIvdnM5L2xpYmdzdGRzaG93c3Jjd3JhcHBlci52Y3Byb2o6CgkgIGRzaG93c3Jjd3JhcHBlcjogYWRkIHN1cHBvcnQgYm90aCBVbmljb2RlIGFuZCBNQkNTCgoyMDA5LTA5LTA3IDE1OjQ0OjE2ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHdpbjMyL3ZzOC9nc3QtcGx1Z2lucy1iYWQuc2xuOgoJKiB3aW4zMi92czgvbGliZHNob3dzcmN3cmFwcGVyLnZjcHJvajoKCSogd2luMzIvdnM5L2dzdC1wbHVnaW5zLWJhZC5zbG46CgkqIHdpbjMyL3ZzOS9saWJnc3Rkc2hvd3NyY3dyYXBwZXIudmNwcm9qOgoJICBkc2hvd3NyY3dyYXBwZXI6IHVwZ3JhZGUgZnJvemVuIGJ1aWxkIHRvIHZzOQoKMjAwOS0wOS0wNyAxNToyMToyOCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5jcHA6CgkgIGRzaG93c3Jjd3JhcHBlcjogaW5kZW50IGRzaG93c3Jjd3JhcHBlci5jcHAKCjIwMDktMDktMDcgMTU6MTI6NTUgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuY3BwOgoJICBSZXZlcnQgImRzaG93c3Jjd3JhcHBlcjogcmVtb3ZlIHVudXNlZCBleHRlcm4gQyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkM2M4OGQ2MzdkN2U3ZDYwZjE0MzdjY2QzZGZjMjNiMzdlMmEzMjBlLgoJICBSZXZlcnRpbmcgdGhpcyBzaW5jZSB0aGUgZW50cnkgcG9pbnQgaXNuJ3QgZm91bmQgYmVjYXVzZSBvZgoJICBDKysgYnVpbGQuCgoyMDA5LTA5LTA3IDEwOjU5OjUzICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkgIGRzaG93c3Jjd3JhcHBlcjogaW5kZW50CgoyMDA5LTA5LTA3IDEwOjUxOjI4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBkc2hvd3NyY3dyYXBwZXI6IGNvbnZlcnQgbGluZSBlbmRlZCBjaGFyYWN0ZXJzIHRvIExGCgoyMDA5LTA5LTA3IDEwOjM4OjM5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dzcmN3cmFwcGVyLmNwcDoKCSAgZHNob3dzcmN3cmFwcGVyOiByZW1vdmUgdW51c2VkIGV4dGVybiBDCgoyMDA5LTA5LTA3IDEwOjMxOjU0ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJICBkc2hvd3NyY3dyYXBwZXI6IGdvIGJhY2sgdG8gcHJldmlvdXMgbW9kZQoKMjAwOS0wOS0wNSAxMDoyMjo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDAwYTg1OWUgdG8gMTlmYTRmMwoKMjAwOS0wOS0wNCAxOToxNzowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpL3RpbWlkaXR5OiBBZGQgYXVkaW8vcmlmZi1taWRpIHRvIHRoZSBzcmMgcGFkIHRlbXBsYXRlIGNhcHMKCjIwMDktMDktMDQgMTc6MzI6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkgIHNpcmVuOiBmaXggc2V0dGluZyBjYXBzIG9uIHRoZSBvdXRwdXQgcGFkCgkgIEFsc28gc2V0IHRoZSBjYXBzIG9uIHRoZSBvdXRwdXQgcGFkIHdoZW4gdGhlIGlucHV0IGJ1ZmZlcnMgZG9uJ3QgaGF2ZSBjYXBzLgoKMjAwOS0wOS0wNCAxNzoyNzo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuaDoKCSAgd2lsZG1pZGk6IGNsZWFudXBzIGFuZCBmaXggc2Vla2luZwoJICBSZW1vdmUgdGltZV9wZXJfZnJhbWUsIGl0J3MgdG9vIGluYWNjdXJhdGUuCgkgIEZpeCBjb252ZXJ0IGZvciAtMSB2YWx1ZXMuCgkgIFVzZSBzY2FsaW5nIHRvIGNvbnZlcnQgc2FtcGxlcyB0byB0aW1lLgoJICBGaXggc2VnbWVudCBoYW5kbGluZy4KCSAgRml4IHNlZWtpbmcuCgkgIEZpeCBidWZmZXIgY2xpcHBpbmcgKG5vdCB5ZXQgZW5hYmxlZCkKCSAgUHJvdGVjdCB0aGUgV2lsZE1pZGkgbGlicmFyeSB3aXRoIHRoZSBvYmplY3QgbG9jayB0byBhdm9pZCByYWNlcyB3aGVuIGNoYW5naW5nCgkgIHByb3BlcnRpZXMuCgkgIEZpeCBvZmZzZXRzIG9uIG91dHB1dCBidWZmZXJzLCBmb3IgcmF3IGF1ZGlvIHRoZSBvZmZzZXQgY29udGFpbnMgdGhlIHNhbXBsZQoJICBwb3NpdGlvbiBub3QgYnl0ZSBwb3NpdGlvbi4KCSAgQWRkIGJldHRlciBESVNDT05UIGhhbmRsaW5nLgoJICBGaXhlcyAjNTE5MDAxCgoyMDA5LTA5LTA0IDE2OjI5OjUzICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkgIGRzaG93dmlkZW9zcmM6IG1vdmUgVklERU9fU1RSRUFNX0NPTkZJR19DQVBTIHRvIEdzdENhcHR1cmVQaW5NZWRpYVR5cGUKCjIwMDktMDktMDQgMTQ6MTE6MzMgKzAxMDAgIGNocmlzdGlhbiBzY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBvZiBzc2g6Ly91cmFldXNAZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWJhZAoKMjAwOS0wOS0wNCAxNDoxMDo1NSArMDEwMCAgY2hyaXN0aWFuIHNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUKCjIwMDktMDktMDQgMTM6MTM6MzkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgIG5lb25odHRwc3JjOiBoYW5kbGUgYWxsIHJlZGlyZWN0aW9uIGh0dHAgc3RhdHVzIGNvZGVzCgoyMDA5LTA5LTA0IDEyOjUzOjM2ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogaW4gc2Vla2luZyB1c2UgYSBmYWN0b3IgZm9yIFNDUiBpbnRlcnBvbGF0aW9uCgkgIEZpeGVzIHNlZWtpbmcgb24gY2xpcHMgd2hlcmUgUFRTIGFyZSB1bmFsaWduZGVkIHdpdGggU0NSLgoKMjAwOS0wOS0wNCAxMjo0MDo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuaDoKCSAgc2lyZW5kZWM6IHJld3JpdGUgc2lyZW5kZWMKCSAgQWRkIHNldGNhcHMgYW5kIGV2ZW50IGZ1bmN0aW9ucy4KCSAgQWRkIHN0YXRlIGNoYW5nZSBmdW5jdGlvbnMgdG8gY2xlYW4gdmFyaWFibGVzLgoJICBVc2UgYWRhcHRlci4KCSAgQWRkIHRpbWVzdGFtcHMgYW5kIGR1cmF0aW9uIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIEFkZCBESVNDT05UIGhhbmRsaW5nLgoKMjAwOS0wOS0wNCAxMjo0MDowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJICBzaXJlbmVuYzogY2xlYW51cHMKCjIwMDktMDktMDQgMTI6MzU6MzEgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IHNldCBzcGVjaWZpYyBjYXBzIGZvciBscGNtIGluIHByaXZhdGUgc3RyZWFtCgkgIEluIHRoZSBjbGlwcyB0aGF0IEkndmUgZm91bmQgdGhvc2Ugc3RyZWFtcywgdGhlIGxwY20gaGVhZGVyIGlzCgkgIGRpZmZlcmVudCB0aGFuIHRoZSBEVkQgY2FzZS4KCSAgVGhlbiB0aGUgZGVjb2RlciBuZWVkIHRvIGtub3cgdGhpcyBpbiBvcmRlciB0byBiZSBhYmxlIHBhcnNlIGl0LgoKMjAwOS0wOS0wNCAxMjozMDoxOCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIG1wZWd0c2RlbXV4OiBhZGRlZCBhdXRvZGV0ZWN0IG9mIHBhY2tldCBzaXplIGFuZCByZW1vdmVkIG0ydHMgbW9kZSBwcm9wZXJ0eQoKMjAwOS0wOS0wNCAxMjowODo0NSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJICBNZXJnZSBicmFuY2ggJ21hc3Rlcicgb2Ygc3NoOi8vY2FwQGdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy1iYWQKCjIwMDktMDktMDQgMTI6MDg6MDIgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkgIGRzaG93dmlkZW9zcmM6IG1vdmUgZGVmYXVsdCB2aWRlbyBjYXBzIGludG8gR3N0Q2FwdHVyZVBpbk1lZGlhVHlwZQoKMjAwOS0wOS0wNCAxMjowMjoxOCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IHNvbWUgbW9yZSBoYW5kbGluZyBvZiBWQzEgYW5kIEVBQzMKCSAgSWYgdGhlIFBNVCBoYXZlIHRoZSByZWdpc3RlciBkZXNjcmlwdG9yIEhETVYgYXNzdW1lIEVBQzMKCSAgRm9yIFZDMSBtYWtlIHRoZSBjb2RlIG1vcmUgYWxpZ25lZCB0byBSUDIyNy4KCjIwMDktMDctMTYgMTA6MDY6MzYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkgIFRyeSB0byBmaXQgc3VidGl0bGVzIHdpdGhpbiB0aGUgdmlkZW8gZnJhbWUgd2hlbiB0aGV5J3JlIHRvbyBsYXJnZQoKMjAwOS0wOS0wMSAyMTozMDozNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuaDoKCSAgcGNhcHBhcnNlOiBTZXQgdGhlIEdTdHJlYW1lciB0aW1lc3RhbXAgYWNjb3JkaW5nIHRvIHRoZSBwY2FwIHRpbWVzdGFtcHMKCjIwMDktMDktMDMgMTk6MDQ6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmg6CgkgIHNpcmVuZW5jOiBmaXggZXZlbnRzIGFuZCBjYXBzCgkgIEFkZCBhbiBldmVudCBmdW5jdGlvbiB0aGF0IGNsZWFycyB0aGUgYWRhcHRlci4KCSAgQWRkIGEgc2V0Y2FwcyBmdW5jdGlvbiB0byBjb25maWd1cmUgY2FwcyBvbiB0aGUgc3JjcGFkLiBSZW1vdmUgdGhlIGluc3RhbmNlCgkgIHZhcmlhYmxlIGZvciB0aGUgY2Fwcy4KCjIwMDktMDktMDMgMTg6NDM6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmg6CgkgIHNpcmVuZW5jOiBmaXggdGltZXN0YW1waW5nCgkgIEhhbmRsZSBESVNDT05UIGFuZCByZXNldCBhZGFwdGVyLgoJICBjb2RlIGNsZWFudXBzLgoJICBQdXQgdGltZXN0YW1wcyBhbmQgZGlzY29udCBmbGFncyBvbiBvdXRwdXQgYnVmZmVycy4KCSAgRml4IGVycm9yIGhhbmRsaW5nLgoJICBSZW1vdmUgYm9ndXMgb2JqZWN0IGxvY2tzLCBpdCdzIGFsbCBwcm90ZWN0ZWQgYnkgdGhlIFNUUkVBTV9MT0NLLgoKMjAwOS0wOS0wMyAxNzo0OTo0MSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgZHNob3d2aWRlb3NyYzogZmFjdG9yaXplIGRzaG93IGZvcm1hdCB0byBnc3QgY2FwcyBjb252ZXJzaW9uCgoyMDA5LTA5LTAzIDE3OjIwOjQ3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkgIGRzaG93c3Jjd3JhcHBlcjogcmVtb3ZlIGNwbHVzcGx1cyBjb25kaXRpb24KCjIwMDktMDktMDMgMTc6MTI6MjYgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkgIGRzaG93dmlkZW9zcmM6IGZhY3Rvcml6ZSBkc2hvdyB2aWRlbyBmb3JtYXQgcGFyc2luZwoKMjAwOS0wOS0wMyAxNTo0NTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBJZiBzdHJlYW0gdHlwZSBpcyBBQzMgYW5kIG5vIEVBQzMgZGVzY3JpcHRvciBpcyBmb3VuZCBhc3N1bWUgQUMzCgoyMDA5LTA5LTAzIDE1OjQwOjE0ICswMjAwICBKb3NlcCBUb3JyYSA8am9zZXBAZmx1ZW5kby5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEltcGxlbWVudCBFQUMzIGhhbmRsaW5nIGFjY29yZGluZyBzb21lIEFUU0Mgc3BlY3MuCgkgIEZpeGVzIGJ1ZyAjNTk0MDMwLgoKMjAwOS0wOS0wMyAwMDoyODoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14ZGdtaW1lLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC94ZGdtaW1lL01ha2VmaWxlLmFtOgoJKiBnc3QveGRnbWltZS9nc3R4ZGdtaW1lLmM6CgkgIHhkZ21pbWU6IG1vdmUgeGRnIHR5cGVmaW5kZXIgdG8gdGhlIG90aGVyIHR5cGVmaW5kZXJzIGluIC1iYXNlCgkgIFJlbW92ZSB0aGUgeGRnbWltZSBwbHVnaW4gd2hpY2ggbm93IGJhcmVseSBjb250YWlucyBhbnkgY29kZSBhdCBhbGwKCSAgYW5kIG1vdmUgdGhlIGZ1bmN0aW9uYWxpdHkgaW50byBnc3QtcGx1Z2lucy1iYXNlIG5leHQgdG8gdGhlIG90aGVyCgkgIHR5cGVmaW5kZXJzLgoKMjAwOS0wOS0wMiAxMzozNTowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVnc211eCwgbXBlZ3BzbXV4OiBmaXggdW51c2VkIHZhcmlhYmxlIHdhcm5pbmcgd2l0aCB0aGUgZGVidWdnaW5nIHN5c3RlbSBpbiBjb3JlIGRpc2FibGVkCgoyMDA5LTA5LTAxIDEyOjQxOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IFN0cmVhbSB0eXBlIDB4ODEgaXMgbm9ybWFsIEFDMywgbm90IEVBQzMKCSAgTm90IHN1cmUgd2hhdCB0aGUgc3RyZWFtIHR5cGUgZm9yIEVBQzMgaXMgdGhvdWdoLgoJICBGaXhlcyBidWcgIzU5MzA1OS4KCjIwMDktMDgtMzAgMjM6MDc6MzAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiByZWZhY3RvciBzbGlnaHRseSBhbmQgcmVtb3ZlIHN1cGVyZmx1b3VzIGNvZGUKCjIwMDktMDgtMzAgMjM6MDY6MjQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBmcmVzaGVuIHVwIGNhcHMgbmVnb3RpYXRpb24KCSAgUGVyZm9ybSBzaW5rIGFuZCBzcmMgY2FwcyBuZWdvdGlhdGlvbiBkdXJpbmcgY2FwcyBuZWdvdGF0aW9uLAoJICBhbmQgYWxzbyBjYXRlciBmb3IgcmUtbmVnb3RpYXRpb24uCgoyMDA5LTA4LTMwIDIzOjAwOjM1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJICBmYWFjOiByZXdyaXRlIGRhdGEgY2FjaGluZyBhbmQgdGltZXN0YW1wIGhhbmRsaW5nCgkgIEFsc28gZml4ZXMgIzU5MzM0OC4KCjIwMDktMDgtMzEgMTg6NTU6NTIgKzAyMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEEgbGl0dGxlIGNsZWFuIHVwLgoJICBSZW9yZGVyIHRoZSBsaXN0IG9mIEFNX0NPTkRJVElPTkFMKClzIHVzZWQgd2hlbiAtLWRpc2FibGUtZXh0ZXJuYWwgaXMKCSAgc3BlY2lmaWVkIHRvIG1hdGNoIHRoZSBhY3R1YWwgb3JkZXIgb2YgdGhlIHBsdWctaW5zIGVhcmxpZXIgaW4gdGhlIGZpbGUuCgoyMDA5LTA4LTMxIDE4OjQ5OjE2ICswMjAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBBbGxvdyAtLWRpc2FibGUtZXh0ZXJuYWwgdG8gYmUgc3BlY2lmaWVkIGFnYWluLgoKMjAwOS0wOC0zMSAxODo0Nzo0NCArMDIwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQWxsb3cgLS1kaXNhYmxlLWthdGUgdG8gYWN0dWFsbHkgYmUgc3BlY2lmaWVkLgoKMjAwOS0wOC0zMSAxODo0MTo1OSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogY2xlYW51cCBlcnJvciBoYW5kbGVyCgoyMDA5LTA4LTMxIDE4OjM0OjAzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiBmcmVlIHRoZSBhZGFwdGVyCgoyMDA5LTA4LTMxIDE4OjMyOjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiBjbGVhbnVwcwoKMjAwOS0wOC0zMSAxODoyMTozNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogYWxsb3cgZm9yIHB1c2ggbW9kZSBvcGVyYXRpb24KCSAgRml4ZXMgIzU4NjkyOQoKMjAwOS0wOC0zMSAxODoyMDowMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuaDoKCSAgd2lsZG1pZGk6IHVzZSBzdGF0ZSBtYWNoaW5lCgkgIFVzZSBhIHN0YXRlIG1hY2hpbmUgdG8ga2VlcCB0cmFjayBvZiB0aGUgY3VycmVudCBzdGF0ZS4KCSAgQWRkIGNoYWluIGZ1bmN0aW9uIGFuZCBldmVudCBmdW5jdGlvbiBvbiB0aGUgc2lua3BhZC4KCSAgUmVtb3ZlIHNvbWUgdW51c2VkIGNvZGUuCgoyMDA5LTA4LTMxIDE3OjM4OjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiByZW1vdmUgdXNlbGVzcyBmdW5jdGlvbiBjYWxscwoKMjAwOS0wOC0zMSAxNzozMzozMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuaDoKCSAgd2lsZG1pZGk6IHNldCBjYXBzIG9uIHBhZAoJICBTZXQgdGhlIGNhcHMgb24gdGhlIHBhZCBhbmQgdXNlIHRob3NlIGNhcHMgaW5zdGVhZCBvZiBrZWVwaW5nIGEgc2VwYXJhdGUgY2FwcwoJICBwb2ludGVyIGFyb3VuZC4KCSAgRml4IHNvbWUgd2hpdGVzcGFjZS4KCjIwMDktMDgtMzEgMTc6Mjc6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IGZpeCB3aGl0ZXNwYWNlCgoyMDA5LTA4LTMxIDE2OjA3OjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL01ha2VmaWxlLmFtOgoJICBrYXRlOiBmaXggdHlwbyBpbiBNYWtlZmlsZS5hbQoJICBHU1RfUExVR0lOX0JBU0VfTElCUyBzaG91bGQgYmUgR1NUX1BMVUdJTlNfQkFTRV9MSUJTLiBGaXhlcyAjNTkzNjgzLgoKMjAwOS0wOC0zMSAxMzozMToxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgIGRvY3M6IHVwZGF0ZSBwbHVnaW4gZG9jcyBmb3IgZ2l0IHZlcnNpb24KCjIwMDktMDgtMzEgMTM6MTQ6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSAgR3N0QWRhcHRlciBpcyBub3QgYSBHc3RPYmplY3QgYW5kIHNob3VsZCBiZSBmcmVlZCB3aXRoIGdfb2JqZWN0X3VucmVmKCkKCjIwMDktMDgtMzEgMTM6MDA6MDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiB1c2UgYW4gb2xkLWZhc2hpb25lZCBhcnJheSBpbnN0ZWFkIG9mIEdQdHJBcnJheSBmb3IgbXV4LT5wcm9ncmFtcwoJICBVc2luZyBHUHRyQXJyYXkgZm9yIGEgZml4ZWQtc2l6ZWQgYXJyYXkgaXMgYSBiaXQgcG9pbnRsZXNzIGFuZCBtYWtlcwoJICBmb3IgdWdseSBjb2RlLgoKMjAwOS0wOC0zMSAxMDo0ODozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eF9hYWMuYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXhfYWFjLmg6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4X2gyNjQuYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXhfaDI2NC5oOgoJICBtcGVncHNtdXg6IEFkZCBtaXNzaW5nIGZpbGVzIHRvIGZpeCBjb21waWxhdGlvbgoJICBGaXhlcyBidWcgIzU5MzYyNS4KCjIwMDktMDgtMTAgMDE6MTQ6MTkgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZXhhbXBsZXMvbXB0c190ZXN0Mi5jOgoJICBtcGVndHNtdXg6IFRlc3QgcHJvZ3JhbSBvZiBtcHRzIHN1cHBvcnQgaXMgYWRkZWQKCjIwMDktMDctMjIgMjA6Mjc6MzYgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBNaW5vciBmaXhlcwoKMjAwOS0wNy0yMiAyMDoyNTo0MiArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IG11eC0+cHJvZ3JhbXM6IHVzZSBHUHJ0QXJyYXkgaW5zdGVhZCBvZiBHQXJyYXkKCjIwMDktMDctMTEgMTk6Mjk6NTMgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBtcGVndHNtdXhfY29sbGVjdGVkKCk6IGNhbGN1bGF0ZSBQQ1IgZm9yIHByb2dyYW1zCgoyMDA5LTA3LTExIDE5OjE1OjEyICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogbXBlZ3RzbXV4X2NyZWF0ZV9zdHJlYW1zKCk6IGNyZWF0ZSBtdWx0aSBzdHJlYW1zCgoyMDA5LTA3LTExIDE5OjEzOjIzICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogTXBldFRzUGFkRGF0YTogYWRkIHByb2dfaWQgYW5kIHJlZiB0byBpdHMgcHJvZ3JhbQoKMjAwOS0wNy0xMSAxOTowOToxNyArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IEV4dGVuZCBtdXgtPnByb2dyYW0gdG8gYSBHQXJyYXkgcHJvZ3JhbXMKCjIwMDktMDctMTEgMTc6NDQ6NTQgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBBZGQgbmV3IHByb3BlcnR5IHByb2ctbWFwIHRvIHRoZSBtdXhlcgoKMjAwOS0wOC0xOCAxMjoxNDo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IEZyZWUgdGhlIFBQUyBidWZmZXJzIHRvbwoKMjAwOS0wOC0xNyAxODowMzowMCArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGNvbXB1dGUgdGltZXN0YW1wCgoyMDA5LTA4LTE3IDE3OjU4OjQ2ICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcmVjb2duaXplIG1vcmUgdHlwZXMgb2YgTkFMCgkgIEFsc28gcmVjb2duaXplcyBOQUxzIGNhcnJ5aW5nIFZDTCAoaS5lLiB2aXNpYmxlIHBpY3R1cmVzKS4gV2UKCSAgdHlwaWNhbGx5IG9ubHkgY29tcHV0ZSB0aW1lc3RhbXBzIGZvciBzdWNoIE5BTHMKCjIwMDktMDgtMTcgMTc6NTY6MjYgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBwYXJzZXIgaW5pdCAmIGZpbmFsaXplCgoyMDA5LTA4LTE3IDE3OjUzOjQzICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZGVjb2RlIHNsaWNlIGhlYWRlcgoKMjAwOS0wOC0xNyAxNzo1MzoxMSArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRlY29kZSBTRUkKCjIwMDktMDgtMTcgMTc6NTI6NDcgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkZWNvZGUgU0VJOiBwaWN0dXJlIHRpbWluZyBpbmZvCgoyMDA5LTA4LTE3IDE3OjUyOjEyICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZGVjb2RlIFNFSTogYnVmZmVyaW5nIHBlcmlvZAoKMjAwOS0wOC0xNyAxNzo1MTozNiArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRlY29kZSBQUFMKCjIwMDktMDgtMTcgMTc6NTE6MTAgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkZWNvZGUgU1BTCgoyMDA5LTA4LTE3IDE3OjUwOjMzICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogU1BTOiBkZWNvZGUgdnVpIHBhcmFtcwoKMjAwOS0wOC0xNyAxNzo1MDowMiArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IFNQUzogZGVjb2RlIGhyZCBwYXJhbXMKCjIwMDktMDgtMTcgMTc6NDQ6MzggKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBTdGFydCBzbGljZSBoZWFkZXIgcGFyc2luZyB3b3JrCgoyMDA5LTA4LTE3IDE3OjQzOjUxICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogU3RhcnQgU0VJIHBhcnNpbmcgd29yawoKMjAwOS0wOC0xNyAxNzo0MjowNiArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IFN0YXJ0IFBQUyBwYXJzaW5nIHdvcmsKCjIwMDktMDgtMTcgMTc6Mzg6NTkgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBTdGFydCBTUFMgcGFyc2luZyB3b3JrCgoyMDA5LTA4LTExIDEyOjAwOjEwICswMjAwICBMaW4gWWFuZyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21wZWdwc211eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdwc211eC9iaXRzLmg6CgkqIGdzdC9tcGVncHNtdXgvY3JjLmg6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4Lmg6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9wc211eC5oOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4Y29tbW9uLmg6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWdwc211eC9wc211eHN0cmVhbS5oOgoJICBtcGVncHNtdXg6IEFkZCBNUEVHIFBTIG11eGVyCgoyMDA5LTA4LTEzIDE2OjQ1OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvcnN2Zy9NYWtlZmlsZS5hbToKCSogZXh0L3JzdmcvZ3N0cnN2Zy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuaDoKCSAgcnN2ZzogQWRkIFJTVkcgU1ZHIGRlY29kZXIgcGx1Z2luCgkgIFRoaXMgc3VwcG9ydHMKCSAgLSBkZWNvZGluZyBzaW5nbGUgU1ZHIGltYWdlcyBhbmQgYSBzdHJlYW0gb2YgU1ZHIGltYWdlcyB3aXRoIGEgZ2l2ZW4gZnJhbWVyYXRlCgkgIC0gbG9zc2xlc3Mgc2NhbGluZyBvZiBTVkcgaW1hZ2VzCgkgIC0gQVJHQiBvdXRwdXQKCjIwMDktMDgtMzEgMDk6MTE6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IEZpeCBjb21waWxhdGlvbiB3aXRoIGxpYmFzcyA+PSAwLjkuNyBhbmQgZml4IGFzcGVjdCByYXRpbyBzZXR0aW5nCgkgIEZpeGVzIGJ1ZyAjNTc1MjYxLgoKMjAwOS0wOC0zMCAyMjoyMDo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJICBteGY6IFVuY29uZGl0aW9uYWxseSB1c2UgR0xpYiAyLjE2IEFQSQoKMjAwOS0wOC0zMCAyMjoxNzo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC94ZGdtaW1lL01ha2VmaWxlLmFtOgoJKiBnc3QveGRnbWltZS9nc3R4ZGdtaW1lLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZS5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWUuaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lYWxpYXMuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lYWxpYXMuaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lY2FjaGUuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lY2FjaGUuaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lZ2xvYi5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVnbG9iLmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWljb24uYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1laWNvbi5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVpbnQuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1laW50Lmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZW1hZ2ljLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZW1hZ2ljLmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZXBhcmVudC5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVwYXJlbnQuaDoKCSAgeGRnbWltZTogQWx3YXlzIHVzZSBHTGliIGluc3RlYWQgb2YgeGRnbWltZQoJICBOb3cgdGhhdCB3ZSBkZXBlbmQgb24gR0xpYiAyLjE2IHdlIGNhbiBhcyB3ZWxsIHVzZSBpdCdzCgkgIGludGVybmFsIGNvcHkgb2YgdGhlIHhkZ21pbWUgaW5zdGVhZCBvZiBvdXIgb3duLgoKMjAwOS0wOC0zMCAyMjoxMzoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDN0YWc6IFVuY29uZGl0aW9uYWxseSB1c2UgR0xpYiAyLjE2IEFQSQoKMjAwOS0wOC0xOSAxNzoxODoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuYzoKCSAgcnNuc3RyZWFtc2VsZWN0b3I6IFVzZSBpdGVyYXRlIGludGVybmFsIGxpbmtzIGluc3RlYWQgb2YgZGVwcmVjYXRlZCBnZXQgaW50ZXJuYWwgbGlua3MKCjIwMDktMDgtMTkgMTc6MDU6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogVXNlIGl0ZXJhdGUgaW50ZXJuYWwgbGlua3MgaW5zdGVhZCBvZiBkZXByZWNhdGVkIGdldCBpbnRlcm5hbCBsaW5rcwoKMjAwOS0wOC0zMCAyMzozODo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBoYWNraW5nIC0+IDAuMTAuMTQuMQoKPT09IHJlbGVhc2UgMC4xMC4xNCA9PT0KCjIwMDktMDgtMzAgMDA6MjQ6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBjb21tb246IHVwZGF0ZSBjb21tb24gdG8gYSB2ZXJzaW9uIHRoYXQgaW5jbHVkZXMgYSBmaXhlZCBtYW5nbGUtdG1wbC5weQoJICBXaGljaCBpcyBuZWVkZWQgdG8gYnVpbGQgdGhlIHBsdWdpbiBkb2NzIGZvciB0aGUgZnJlaTByIHBsdWdpbiAoYW5kCgkgIHdhcyBpbmNsdWRlZCBpbiB0aGUgMC4xMC4xNCByZWxlYXNlIHRhcmJhbGwpLgoKMjAwOS0wOC0yOSAxOTozNTozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14ZGdtaW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTQKCjIwMDktMDgtMjkgMTk6MDI6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOS0wOC0yNiAwMToyMToyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xMy41IHByZS1yZWxlYXNlCgoyMDA5LTA4LTI2IDAxOjE4OjAwICswMTAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkgIGRpcmVjdGRyYXcsIGRpcmVjdHNvdW5kOiB1bmlmeSBDRkxBR1MgYW5kIGZpeCBjb25maWd1cmUgY2hlY2tzIGZvciBEaXJlY3RYLWJhc2VkIHBsdWdpbnMKCSAgT25lIHNldCBvZiBDRkxBR1MgZm9yIGFsbCBEaXJlY3RYLWJhc2VkIHBsdWdpbnMuIENvcnJlY3QgaGVhZGVyL2xpYnJhcnkKCSAgY2hlY2tzIGZvciBEaXJlY3RYLWJhc2VkLXBsdWdpbnMuIFJlbW92ZSB1bnVzZWQgdmFyaWFibGUgYW5kIGxhYmVsIGluCgkgIGRpcmVjdHNvdW5kc3JjLgoJICBGaXhlcyAjNTkzMDY4LgoKMjAwOS0wOC0yNiAwMDoyNjo0MiArMDEwMCAgQXJlayBLb3JiaWsgPGFya2FkaW5pQGdtYWlsLmNvbT4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IHNldCByaWdodCBPRkZTRVQgYW5kIE9GRlNFVF9FTkQgb24gaGVhZGVyIGJ1ZmZlcnMgdG8gbWFrZSBvZ2dtdXggaGFwcHkKCSAgV2l0aG91dCB0aGlzIG9nZ211eCB3aWxsIGp1c3Qga2VlcCBidWZmZXJpbmcgb3V0cHV0IHBhZ2VzIGluIHNvbWUgY2FzZXMuCgkgIEZpeGVzICM1OTMwMjQuCgoyMDA5LTA4LTI1IDIzOjQ0OjUwICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJICByZXNpbmR2ZCwgcmF3cGFyc2U6IGZpeCBMREZMQUdTIGZvciBnc3QtcGx1Z2lucy1iYXNlIGxpYnMKCSAgRml4ZXMgIzU5MzA2My4KCjIwMDktMDgtMjQgMjA6MDY6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTMuNCBwcmUtcmVsZWFzZQoKMjAwOS0wOC0yNCAxODoxNjoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYW1yd2JlbmMvZ3N0YW1yd2JlbmMuYzoKCSAgYW1yd2JlbmM6IHVzZSBkaWZmZXJlbnQgZWxlbWVudCBHVHlwZSBuYW1lIHRvIGF2b2lkIGNvbmZsaWN0IHdpdGggcHJldmlvdXMgcGx1Z2luCgkgIFVzZSBhIGRpZmZlcmVudCBHVHlwZSBuYW1lIGZvciB0aGUgZWxlbWVudCB0byBhdm9pZCAnY2Fubm90IHJlZ2lzdGVyIGV4aXN0aW5nIHR5cGUnCgkgIHdhcm5pbmdzIHdoZW4gcnVubmluZyAnbWFrZSBjaGVjaycgaW4gdGhlIHVucGFja2VkIHRhcmJhbGwgd2l0aCB0aGUgb2xkIGFtcndiIHBsdWdpbgoJICBhbHNvIGluc3RhbGxlZCBhcyBzeXN0ZW0gcGx1Z2luIHVuZGVyIHRoZSBvbGQgbmFtZSAoaXQgdXNlZCB0byBiZSBjYWxsZWQgJ2FtcndyYicKCSAgYW5kIG5vdyBpdCdzICdhbXJ3YmVuYycpLgoKMjAwOS0wOC0yNCAxNDozNzoyOCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBkc2hvd3NyY3dyYXBwZXI6IHVzZSBvZiBkZWZhdWx0IGRlYnVnIGNhdGVnb3J5IGFuZCBiZXR0ZXIgZHNob3cgZXJyb3JzIHJlYWRhYmlsaXR5CgoyMDA5LTA4LTIxIDAxOjE3OjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOgoJICB0ZXN0czogZml4IHRlc3Qtb3NzNCB0byB0cmVhdCBhbiBlbXB0eSBkZXZpY2UgbmFtZSB0aGUgc2FtZSBhcyBhIE5VTEwgbmFtZQoKMjAwOS0wOC0xOCAxNTo0ODowOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IFdyaXRlIEZPVVJDQyBhcyAzMmJpdAoKMjAwOS0wOC0xNSAxNzo1NDo1MCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBSRVFVSVJFTUVOVFM6CgkgIHJlbW92ZSBhIGJ1bmNoIG9mIGp1bmsgZnJvbSBSRVFVSVJFTUVOVFMKCjIwMDktMDgtMTQgMjA6MjA6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTMuMyBwcmUtcmVsZWFzZQoKMjAwOS0wOC0xNCAxNDoxMDoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZGlzYWJsZSBhc3MgcGx1Z2luIGZvciBsaWJhc3MgPj0gMC45LjcgYmVjYXVzZSBvZiBBUEkgY2hhbmdlcwoJICBTZWUgIzU3NTI2MS4KCjIwMDktMDgtMTIgMTg6MzM6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguaDoKCSAgYXNmbXV4OiBEbyBub3QgbWVzcyB1cCBHc3RDb2xsZWN0RGF0YSBsaXN0CgkgIGFzZm11eCB3YXMgbWVzc2luZyB1cCB3aXRoIHRoZSBHc3RDb2xsZWN0RGF0YSBsaXN0IG9mIGl0cwoJICBHc3RDb2xsZWN0UGFkcyB3aGVuIHNvcnRpbmcgdGhlIGxpc3QgaW5wbGFjZS4gVGhpcyBwYXRjaCBtYWtlcwoJICBpdCBjb3B5IHRoZSBsaXN0IGJlZm9yZSBzb3J0aW5nIGl0LCBsZWF2aW5nIHRoZSBHc3RDb2xsZWN0UGFkcwoJICBsaXN0IGFzIGlzLiBGaXhlcyAjNTkxNjEwCgoyMDA5LTA4LTEyIDEyOjIzOjMwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBVU0UgR1NUX1dSSVRFXypfTEUgbWFjcm9zCgoyMDA5LTA4LTEyIDEyOjIxOjMzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBSZWZ1c2UgdG8gZ28gcGxheWluZyBpbiBwYXVzZWQtbW9kZSB3aXRob3V0IGNsb2NrCgkgIE9ubHkgdHJ5IHRvIHVzZSB0aGUgY2xvY2sgaW4gaWYgcGF1c2VkLW1vZGUgaXMgc2V0IGFuZCByZWZ1c2UgdG8gZ28gcGxheWluZwoJICBpbiBwYXVzZWQtbW9kZSB3aXRob3V0IGl0LgoJICBGaXhlcyBidWcgIzU5MTUzOAoKMjAwOS0wOC0xMSAxNjo0Mjo1MSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBkdG1mc3JjOiBFbXB0eSBldmVudCBxdWV1ZSBvbiBmaW5hbGl6ZQoKMjAwOS0wOC0xMSAxNjozOTo0MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IFVzZSBHU2xpY2UgZm9yIGludGVybmFsIGV2ZW50IHN0cnVjdHVyZXMKCjIwMDktMDgtMTEgMTY6MjM6MjAgLTA0MDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBDbGVhbnVwIGV2ZW50cyBvbiBmaW5hbGl6ZQoJICBQcm9ibGVtIGZvdW5kIGJ5IExhdXJlbnQgR2xheWFsCgkgIEZpeGVzIGJ1ZyAjNTkxNDQwCgoyMDA5LTA4LTExIDE2OjIzOjIwIC0wNDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogQ2xlYW51cCBldmVudHMgb24gZmluYWxpemUKCSAgUHJvYmxlbSBmb3VuZCBieSBMYXVyZW50IEdsYXlhbAoJICBGaXhlcyBidWcgIzU5MTQ0MAoKMjAwOS0wOC0xMiAxMDoyODozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHZkcGF1OiBibGFja2xpc3QgZm9yIGdlbmVyaWMgc3RhdGVzIHRlc3QsIGFuZCBkZW1vdGUgdG8gR1NUX1JBTktfTk9ORQoJICBUaGVzZSBlbGVtZW50cyBhcmUgbm90IGZpdCBmb3IgYXV0b3BsdWdnaW5nLCBzbyBkZW1vdGluZyB0byBSQU5LX05PTkUuCgkgIEFsc28gYmxhY2tsaXN0aW5nIGZvciBnZW5lcmljIHN0YXRlcyB0ZXN0LCBzaW5jZSBmaXhpbmcgdGhlc2UgZWxlbWVudHMKCSAgdXAgdG8gZG8gc29tZSBtaW5pbWFsIGVycm9yIGhhbmRsaW5nIHNlZW1zIHRvIGJlIGEgYml0IG1vcmUgd29yay4KCSAgUGFydGlhbGx5IGZpeGVzICM1OTE1MzguCgoyMDA5LTA4LTExIDE4OjAxOjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vTElOR1VBUzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjEzLjIgcHJlLXJlbGVhc2UuCgoyMDA5LTA4LTExIDE1OjI3OjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1BSU5UQUlORVJTOgoJICBBZGQgbXlzZWxmIHRvIE1BSU5UQUlORVJTIGZpbGUgYW5kIHVwZGF0ZSBXaW0ncyBlLW1haWwuCgoyMDA5LTA4LTExIDE0OjE3OjMyICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzCgoyMDA5LTA4LTExIDEyOjQyOjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJICBrYXRlZW5jOiBlcnJvciBvdXQgaWYgY2F0ZWdvcnkgaGFzIG5vdCBiZWVuIHNldCBhbmQgY2hlY2sgZm9yIG9idmlvdXNseSB3cm9uZyB2YWx1ZXMKCjIwMDktMDgtMTEgMDI6NDY6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L3J0cG1hbmFnZXIvLmdpdGlnbm9yZToKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluX2J1ZmZlcl9saXN0LmM6CgkgIE1vdmUgcnRwbWFuYWdlciBmcm9tIC1iYWQgdG8gLWdvb2QuCgoyMDA5LTA4LTExIDA5OjA1OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IGlnbm9yZSBhc2ZtdXggdW5pdCB0ZXN0IGJpbmFyeQoKMjAwOS0wOC0xMSAwOTowMDozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2tzOiBkaXNhYmxlIHVuaXQgdGVzdHMgdGhhdCBhcmUgZmxha3kgb3IgZG9uJ3Qgd29yayB3aXRoIGNvcmUgZ2l0CgkgIGNhbWVyYWJpbiB0ZXN0IHNlZW1zIHRvIHRpbWUgb3V0IHdpdGggY29yZSBnaXQsIHNvIGRpc2FibGluZyBiZWNhdXNlCgkgIGNoYW5jZXMgYXJlIHRoZSBwcm9ibGVtIGlzIGluIHRoZSB0ZXN0IGFuZCB0aGUgY29yZSBnaXQgc3R1ZmYgd2lsbAoJICBiZSByZWxlYXNlZCBiZWZvcmUgd2UgY2FuIGZpeCB0aGUgY29kZSBpbiB0aGUgdGVzdC4KCSAgbmVvbmh0dHBzcmMgdW5pdCB0ZXN0IGlzIGEgYml0IGZsYWt5LCBpdCB0ZW5kcyB0byBmYWlsIHRoZSBmaXJzdAoJICB0aW1lIHdoZW4gY2FsbGVkICh0aGUgaG9zdC91cmwgaXQgY2hlY2tzIGZvciBzZWVtcyB0byBiZSBkb3duIGFzCgkgIHdlbGwvYW55d2F5KS4KCjIwMDktMDgtMTAgMjI6MTY6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21peG1hdHJpeC9NYWtlZmlsZS5hbToKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9NYWtlZmlsZS5hbToKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJICBSZW1vdmUgZXhlY3V0ZSBmbGFncyBmcm9tIHNvdXJjZSBmaWxlcwoKMjAwOS0wOC0wOSAwMjowNDo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnRzIHRvIHJlbGVhc2VkIHZlcnNpb24KCSAgVG8gYXZvaWQgY29uZnVzaW9uLgoKMjAwOS0wOC0xMCAxNjozNTozNiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBkc2hvd3NyY3dyYXBwZXI6IGNhbiBsaXN0IG1vcmUgdGhhbiAxIGRldmljZQoJICBzb21ldGhpbmcgbGlrZSB0aGUgZm9sbG93aW5nIGNvZGUgbm93IHdvcmtzOgoJICB2ZWN0b3I8c3RyaW5nPiBnZXRWaWRlb0RldmljZU5hbWVzKCkKCSAgewoJICB2ZWN0b3I8c3RyaW5nPiBsX25hbWU7CgkgIHN0cmluZyBwcm9wZXJ0eTsKCSAgR3N0RWxlbWVudCogdmlkZW9kZXZpY2VzcmMgPSBjcmVhdGVfZWxlbWVudCgiZHNob3d2aWRlb3NyYyIsICJ2aWRlb2RldmljZXNyYyIpOwoJICBHc3RQcm9wZXJ0eVByb2JlKiBwcm9iZSA9IEdTVF9QUk9QRVJUWV9QUk9CRSAodmlkZW9kZXZpY2VzcmMpOwoJICBHVmFsdWVBcnJheSogdmEgPSBnc3RfcHJvcGVydHlfcHJvYmVfZ2V0X3ZhbHVlc19uYW1lIChwcm9iZSwgImRldmljZS1uYW1lIik7CgkgIGlmICh2YSkKCSAgewoJICBmb3Ioc2l6ZV90IGk9MDsgaSA8IHZhLT5uX3ZhbHVlczsgKytpKQoJICB7CgkgIEdWYWx1ZSogdiA9IGdfdmFsdWVfYXJyYXlfZ2V0X250aCh2YSwgaSk7CgkgIHN0cmluZyBuYW1lKGdfdmFsdWVfZ2V0X3N0cmluZyh2KSk7CgkgIGxfbmFtZS5wdXNoX2JhY2sobmFtZSk7CgkgIH0KCSAgfQoJICBpZiAodmlkZW9kZXZpY2VzcmMpCgkgIGdzdF9vYmplY3RfdW5yZWYoR1NUX09CSkVDVCAodmlkZW9kZXZpY2VzcmMpKTsKCSAgcmV0dXJuIGxfbmFtZTsKCSAgfQoKMjAwOS0wOC0xMCAxNjoxNzo0MSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJICBkc2hvd2F1ZGlvc3JjOiBoYW5kbGVzIGRldmljZS1uYW1lIHByb3BlcnR5CgoyMDA5LTA4LTEwIDE2OjAzOjE3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkgIGRzaG93c3Jjd3JhcHBlcjogYWRkIGEgaGVscGVyIGZ1bmN0aW9uIHRvIGNoZWNrIGEgbWVkaWEgdHlwZQoKMjAwOS0wOC0xMCAxNDozMjowMyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJICBNZXJnZSBicmFuY2ggJ21hc3Rlcicgb2Ygc3NoOi8vY2FwQGdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy1iYWQKCjIwMDktMDgtMTAgMTM6MjE6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBzcGM6IGZpeCB0eXBvIGluIE1ha2VmaWxlLmFtIGFuZCBidWlsZCB0aGUgcmlnaHQgcGx1Z2luIChzcGMgbm90IGdtZSkKCjIwMDktMDgtMTAgMTQ6MjM6MTQgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkgIGRzaG93dmlkZW9zcmM6IGNhbiB1c2Ugb3RoZXIgdmlkZW8gc2l6ZXMgYW5kIGZyYW1lcmF0ZXMgdGhhbiB0aGUgZGVmYXVsdHMKCSAgRXZlbiBpZiB0aGUgZGV2aWNlIGNvdWxkIGNhcHR1cmUgc2V2ZXJhbCB2aWRlbyBzaXplcyBhdCBzZXZlcmFsIGZyYW1lcmF0ZXMsCgkgIHdpdGhvdXQgdGhpcyBjb21taXQsIGl0IHdhcyBvbmx5IHBvc3NpYmxlIHRvIHVzZSBvbmUgdmlkZW8gc2l6ZSBhbmQKCSAgb25lIGZyYW1lcmF0ZTogdGhlIGRlZmF1bHQgZGlyZWN0c2hvdyB2YWx1ZXMuCgoyMDA5LTA4LTEwIDExOjQwOjEzICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHdpbjMyL3ZzOC9nc3QtcGx1Z2lucy1iYWQuc2xuOgoJKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0c291bmQudmNwcm9qOgoJICBkaXJlY3Rzb3VuZHNyYzogYWRkIHZzOCBwcm9qZWN0CgoyMDA5LTA4LTEwIDExOjM2OjQxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJICBkaXJlY3Rzb3VuZHNyYzogTEYgYW5kIGluZGVudAoKMjAwOS0wOC0wOSAxNToyMDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0Lmg6CgkgIGF1dG9jb252ZXJ0OiBDYWNoZSBldmVudHMgYW5kIHNlbmQgdGhlbSBkb3duc3RyZWFtIG9uY2UgYW4gZWxlbWVudCB3YXMgc2VsZWN0ZWQKCjIwMDktMDgtMDkgMTQ6NTU6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5oOgoJICBhdXRvY29udmVydDogU21hbGwgY2xlYW51cHMKCjIwMDktMDgtMDkgMTI6MjU6MDEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgZGlyZWN0ZHJhd3Npbms6IEZpeCBjcmFzaCB3aGVuIGV4cG9zaW5nIGluIEdTVF9TVEFURV9SRUFEWQoJICBGaXhlcyBidWcgIzU0MTk2Mi4KCjIwMDktMDgtMDggMjI6MTQ6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogRG9uJ3QgYW5zd2VyIHRoZSBTRUVLSU5HIHF1ZXJ5IGlmIHdlIGRvbid0IGtub3cgdGhlIGFuc3dlciB5ZXQKCSAgQSBiaXRyYXRlIT0tMSBpcyByZXF1aXJlZCBmb3Igc2Vla2luZyBidXQgdGhlIGJpdHJhdGUgaXMgb25seSBjYWxjdWxhdGVkCgkgIGFmdGVyIHRoZSBzZWNvbmQgUENSIHdhcyByZWFkLgoJICBGaXhlcyBidWcgIzU5MDQ0Ni4KCjIwMDktMDgtMDggMjE6MjA6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSAgc3BjOiBMb3dlciByYW5rIHRvIFNFQ09OREFSWSB0byBtYWtlIHRoZSBnbWUgcGx1Z2luIHRoZSBkZWZhdWx0CgoyMDA5LTA4LTA4IDIxOjE3OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJKiBleHQvc3BjL2dzdHNwYy5oOgoJKiBleHQvc3BjL3RhZy5jOgoJKiBleHQvc3BjL3RhZy5oOgoJICBzcGM6IEFkZCB0aGUgT3BlblNQQyBzcGMgcGx1Z2luIGFnYWluCgkgIFRoZSBnbWUgcGx1Z2luIG9ic29sZXRlcyBpdCBidXQgaXQgbWlnaHQgc3RpbGwgYmUgdXNlZnVsCgkgIGZvciB1c2VycyB0aGF0IGRvbid0IGhhdmUgZ21lIHlldCBvciBwcmVmZXIgb3BlbnNwYyBmb3Igc29tZSByZWFzb24uCgoyMDA5LTA4LTA4IDEyOjIwOjU1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkgIGthdGU6IHNvbWUgbWlub3IgY2xlYW4tdXBzCgkgIFByaW50IGZsb3cgcmV0dXJuIGFzIHN0cmluZyBpbiBsb2cgbWVzc2FnZTsgaWYgd2UgY2hlY2sgdGhlIHJldHVybgoJICB2YWx1ZSBvZiBnc3RfYnVmZmVyX25ld19hbmRfYWxsb2MoKSB3ZSBzaG91bGQgdXNlIHRoZSBfdHJ5KCkgZnVuY3Rpb24KCSAgdGhhdCBtaWdodCBhY3R1YWxseSByZXR1cm4gTlVMTC4gUG9zdCBlcnJvciBtZXNzYWdlIHdoZW4gcmV0dXJuaW5nCgkgIEdTVF9GTE9XX0VSUk9SLiBVc2UgcG9ydGFibGUgR0xpYiBtYWNyb3MgdG8gcHJpbnQgNjQtYml0IGludGVnZXJzLgoJICBEb24ndCB1c2UgMExMLCB0aGF0J3MgYWxzbyBub3QgcG9ydGFibGUgKGFuZCB1bm5lZWRlZCBoZXJlKS4KCjIwMDktMDgtMDggMTA6MzA6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZTogT25seSBwcm92aWRlIHZlcnkgZnVuZGFtZW50YWwgY2FwcyBpbiB0aGUgcGFkIHRlbXBsYXRlCgkgIFdlIGNhbid0IGVhc2lseSBrbm93IHdoaWNoIGNhcHMgd2lsbCBjYW4gYmUgdXNlZCBiZWNhdXNlIHdlIHJlbHkgb24KCSAgbGliZ3N0dmlkZW8ncyBzdXBwb3J0IGZvciB2aWRlbyBmb3JtYXRzLgoKMjAwOS0wOC0wOCAxMDoyNzo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmg6CgkgIHJhd3BhcnNlOiBTbWFsbCBjbGVhbnVwcyBhbmQgaW1wbGVtZW50IFNFRUtJTkcgcXVlcnkKCjIwMDktMDgtMDggMDg6Mjc6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSAgYXVkaW9wYXJzZTogU21hbGwgY2xlYW51cHMKCjIwMDktMDgtMDggMDc6NTk6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuaDoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuaDoKCSAgdmlkZW9wYXJzZTogVXNlIGxpYmdzdHZpZGVvIGZvciBldmVyeXRoaW5nIGluc3RlYWQgb2Ygb3VyIG93biBjYWxjdWxhdGlvbnMKCSAgQWxzbyBtYWtlIFJHQiB1c2FnZSBlYXNpZXIgYnkgcHJvdmlkaW5nIHhSR0IsIFJHQngsIGV0Yy4gZm9ybWF0cwoJICBpbnN0ZWFkIG9mIHJlcXVpcmluZyB0byBzZXQgcmVkX21hc2sgYW5kIGZyaWVuZHMuCgoyMDA5LTA4LTA3IDE5OjEyOjI2ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggYSBtZW1vcnkgbGVhawoKMjAwOS0wOC0wNyAxOTowMDoyMyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBhZGRlZCBWQzEsIEVBQzMgYW5kIExQQ00gcmVsYXRlZCB0byBibHVlcmF5L2hkbXYKCjIwMDktMDgtMDcgMTg6MzU6NDIgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiBhZGRlZCBjYXBzIGZvciBBQUMgYW5kIGZpeGVkIHBsYXliYWNrIG9mIGEgY2xpcCB3aXRoIExQQ00KCjIwMDktMDgtMDcgMTg6MTc6MjggKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdwc2RlbXV4OiBpbXByb3ZlZCBkZW11eGVyIHBlcmZvcm1hbmNlCgkgIEluY3JlYXNlZCBwZXJmb3JtYW5jZSBkb2luZyBwdWxsX3JhbmdlIGluIGJsb2NrcyBvZiAzMktiIGluc3RlYWQgb2YgNEtiLgoJICBDYWNoaW5nIHRoZSB2YWx1ZSBvZiBnc3RfYWRhcHRlcl9hdmFpbGFibGUgaW5zdGVhZCBvZiBjYWxsaW5nIGl0IDMgdGltZXMuCgkgIEFkZGVkIHNvbWUgY29tbWVudHMgd2l0aCB0aGUgaGVhZGVyIGRlc2NyaXB0aW9ucy4KCSAgUGVlayBlbm91Z2ggZGF0YSB0byBhdm9pZCBhIGNvcm5lciBjYXNlIHdoZXJlIGNvdWxkIGJlIHJlYWRlZCBkYXRhIG91dHNpZGUKCSAgdGhlIGJ1ZmZlci4KCSAgU3BlZWQgdXAgc29tZSBtb3JlIGlubGluaW5nIHNvbWUgZnVuY3Rpb25zIGFuZCBrZWVwaW5nIGFub3RoZXIgc3RyZWFtIHBvaW50ZXIKCSAgbGlzdCB0byBiZSB1c2VkIGFzIGl0ZXJhdG9yLgoJICBTcHJpbmtsZSBicmFuY2ggcHJlZGljdGlvbiBtYWNyb3MgYWNjcm9zcyB0aGUgY29kZS4KCSAgSGFuZGxpbmcgdGhlIHNlZWtpbmcgd2l0aCBmbHVzaCBpbiBwdWxsIG1vZGUgaW4gdGhlIHByb3BlciB3YXkuCgoyMDA5LTA4LTA3IDE0OjQxOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvTWFrZWZpbGUuYW06CgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9nbWUvZ3N0Z21lLmg6CgkgIGdtZWRlYzogVXNlIEdzdEFkYXB0ZXIgaW5zdGVhZCBvZiBtYW55IGJ1ZmZlciBqb2lucwoJICBUaGlzIHJlZHVjZXMgdGhlIG51bWJlciBvZiByZWFsbG9jYXRpb25zIGFuZCBtZW1jcHlzIGRyYXN0aWNhbGx5LgoJICBBbHNvIGZyZWUgdGhlIGlucHV0IGRhdGEgYXMgc29vbiBhcyBpdCdzIGNvbXBsZXRlIGFuZCBwYXNzZWQgdG8gR01FCgkgIGFzIGl0J3Mgbm90IG5lZWRlZCBhbnltb3JlLgoKMjAwOS0wOC0wNyAxMzowNzoxNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcmV2ZW50IGluZmluaXRlIGxvb3Agd2hlbiBkcmFpbmluZwoKMjAwOS0wOC0wNyAxMzowNjoyOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggbWlub3IgbWVtb3J5IGxlYWsKCjIwMDktMDgtMDcgMTM6MDQ6MTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBzeW5jIGJhc2VwYXJzZSAoc29tZSBtb3JlKQoKMjAwOS0wOC0wNyAwOToyMTowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWVkZWM6IEFkZCBjYXBzIGZvciBhbGwgc3VwcG9ydGVkIGZpbGUgZm9ybWF0cyB0byB0aGUgc3JjcGFkIHRlbXBsYXRlCgoyMDA5LTA4LTA3IDA3OjIzOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZTogRG9uJ3QgYWRkIGVtcHR5IHN0cmluZyB0YWdzCgoyMDA5LTA4LTA3IDA3OjAxOjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZTogRml4IGNhcHMgbmFtZSBhZ2FpbgoKMjAwOS0wOC0wNyAwNjo1OTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvZ21lL2dzdGdtZS5oOgoJICBnbWU6IFJlbmFtZSBldmVyeXRoaW5nIGZyb20gU1BDIHRvIEdNRQoKMjAwOS0wOC0wNyAwNjo1OTo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJKiBleHQvc3BjL2dzdHNwYy5oOgoJKiBleHQvc3BjL3RhZy5jOgoJKiBleHQvc3BjL3RhZy5oOgoJICBzcGM6IFJlYWxseSByZW1vdmUgb2xkIFNQQyBjb2RlCgoyMDA5LTA4LTA3IDA2OjU2OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvTWFrZWZpbGUuYW06CgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9nbWUvZ3N0Z21lLmg6CgkqIGV4dC9nbWUvdGFnLmM6CgkqIGV4dC9nbWUvdGFnLmg6CgkgIGdtZTogVXNlIGdtZSBmb3IgdGFncyBhbmQgZHVyYXRpb24gcGFyc2luZwoKMjAwOS0wOC0wNyAwNjo0MTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2dtZS9NYWtlZmlsZS5hbToKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L2dtZS9nc3RnbWUuaDoKCSogZXh0L2dtZS90YWcuYzoKCSogZXh0L2dtZS90YWcuaDoKCSAgc3BjOiBSZW5hbWUgU1BDIHBsdWdpbiB0byBHTUUKCSAgYXMgcHJlcGFyYXRpb24gZm9yIGVuYWJsaW5nIHN1cHBvcnQgZm9yIG5vbi1TUEMgZ2FtaW5nIGNvbnNvbGUgc291bmQgZmlsZXMuCgoyMDA5LTA4LTA2IDIxOjQyOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkgIHNwY2RlYzogRm9yd2FyZCBhbGwgdW5rbm93biBzcmMgZXZlbnRzIHVwc3RyZWFtIGFuZCBkb24ndCByZXN0cmljdCB0byBTUEMKCjIwMDktMDgtMDYgMTk6MjY6MjEgKzAyMDAgIHJpYyA8Y3N4bmp1IGF0IHNvZ291LmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IGF2b2lkIGJ1ZmZlciBsZWFrIG9uIGJhZCBzZXFudW0KCSAgRml4ZXMgIzU5MDc5NwoKMjAwOS0wOC0wNSAwOTozNjowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWdbcHRdc2RlbXV4OiBGaXggU0VFS0lORyBxdWVyeQoJICBTZW5kIHRoZSBCWVRFUyBiYXNlZCBxdWVyeSBkb3duc3RyZWFtLCBub3QgdGhlIG9yaWduYWwgb25lLgoKMjAwOS0wOC0wNCAxMjo1ODozNSArMDIwMCAgSmFuIFVyYmFuc2tpIDx3dWxjemVyQHd1bGN6ZXIub3JnPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBEb24ndCByZXF1aXJlIGVuZGlhbm5lc3MgZmllbGQgZm9yIDggYml0IHJhdyBhdWRpbwoJICBGaXhlcyBidWcgIzU5MDM2MC4KCjIwMDktMDgtMDQgMTA6MTg6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJICBzcGM6IE1ha2UgdGhlIFNQQyBwbHVnaW4gd29yayB3aXRoIHRoZSBsYXRlc3QgbGliZ21lIHJlbGVhc2UKCSAgZ21lX2VuYWJsZV9hY2N1cmFjeSgpIHdhcyBhZGRlZCBpbiBTVk4gdHJ1bmsgYW5kIGlzIG5vdCB5ZXQKCSAgaW4gYW55IHJlbGVhc2UuCgoyMDA5LTA4LTA0IDEwOjA2OjU0ICswMjAwICBNaWNoYWVsIFB5bmUgPG1weW5lQGtkZS5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkqIGV4dC9zcGMvZ3N0c3BjLmg6CgkgIHNwYzogVXNlIHRoZSBwb3J0YWJsZSBsaWJnbWUgaW5zdGVhZCBvZiB4ODYtb25seSBPcGVuU1BDIGxpYnJhcnkKCSAgVGhpcyB3aWxsIGxhdGVyIGFsbG93IHVzIHRvIHBsYXkgb3RoZXIgZ2FtaW5nIGNvbnNvbGUgZmlsZXMKCSAgdGhhdCBhcmUgc3VwcG9ydGVkIGJ5IGxpYmdtZS4KCSAgRml4ZXMgYnVnICM1NzY4MDAuCgoyMDA5LTA2LTEyIDE3OjIyOjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbGFjcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9mbGFjcGFyc2UvZ3N0Yml0cmVhZGVyLmM6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0Yml0cmVhZGVyLmg6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0Ynl0ZXJlYWRlci5jOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJ5dGVyZWFkZXIuaDoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiByZW1vdmUgaW50ZXJuYWwgYml0cmVhZGVyIGFuZCBieXRlcmVhZGVyIG5vdyB0aGF0IHRoZXNlIGFyZSBpbiBsaWJnc3RiYXNlCgoyMDA5LTA3LTMxIDExOjI3OjAzICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgb3V0cHV0c2VsZWN0b3I6IGNoZWNrIGZvciBwZW5kaW5nIHNyY3BhZCBpbiBfZ2V0X3Byb3BlcnR5KCkKCSAgSWYgdGhlcmUgaXMgYSBwZW5kaW5nIHNyY3BhZCwgcmV0dXJuIGl0IGluc3RlYWQgb2YgYWN0aXZlIHNyY3BhZAoJICBpbiBnc3Rfb3V0cHV0X3NlbGVjdG9yX2dldF9wcm9wZXJ0eSgpIGZ1bmN0aW9uLgoKMjAwOS0wNy0zMCAxNDoxNzo1OSArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBTZXQgY2FtZXJhc3JjIHRvIFJFQURZIHN0YXRlIGluc3RlYWQgb2YgUEFVU0VEIHdoZW4gYWNxdWlyaW5nIGFsbG93ZWQgY2FwcwoKMjAwOS0wNy0zMSAwNzoxNjowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBkaXJlY3RkcmF3OiBGaXggaW5kZW50aW9uCgoyMDA5LTA3LTMxIDAyOjA1OjQxICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIGRpcmVjdGRyYXc6IEltcGxlbWVudCBHc3ROYXZpZ2F0aW9uIGludGVyZmFjZQoJICBGaXhlcyBidWcgIzU5MDIwOC4KCjIwMDktMDctMzEgMDA6MTk6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5oOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJICBydHBhc2ZwYXk6IHNldCBwYWRkaW5nIGZpZWxkIHRvIDAgb24gcnRwIGFzZiBwYWNrZXRzCgkgIFRoZSBBU0YgUlRQIHNwZWMgZGVtYW5kcyB0aGF0IHBhY2tldHMgaGF2ZSB0aGVpciBwYWRkaW5nIHJlbW92ZWQKCSAgYW5kIHRoZSBwYWRkaW5nIHNpemUgZmllbGQgc2V0IHRvIDAgZm9yIHBhY2tldHMgd2hlbiBwdXRpbmcgdGhlbQoJICBpbnNpZGUgdGhlIFJUUCBwYWNrZXRzCgoyMDA5LTA3LTMwIDAwOjE5OjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogU2V0IHZpZGVvIHN0cmVhbSBzZWVrYWJsZSBwcm9wZXJ0eSB0byB0cnVlCgkgIFZpZGVvIHN0cmVhbSBhbHdheXMgaGF2ZSBpbmRleGVzLCBzbyB0aGV5IGFyZSBhbGwgc2Vla2FibGUKCjIwMDktMDctMzAgMDA6MTI6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBSZW1vdmluZyB1c2VsZXNzIFRPRE9zCgkgIEFmdGVyIHRlc3RpbmcgaW4gd2luZG93cyBhbmQgbGludXgsIHRoaXMgYXVkaW8gY29ycmVjdGlvbiBmaWVsZAoJICBtYWRlIG5vIGRpZmZlcmVuY2Ugc28gZmFyLiBBbGwgZXhhbXBsZSBmaWxlcyBJIGdvdCBvbmx5IGhhZAoJICB6ZXJvZXMgaW4gdGhpcyBmaWVsZAoKMjAwOS0wNy0zMCAwMDowNDo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IEZpeGVzIHZpZGVvIHN0cmVhbSBwcm9wZXJ0aWVzIG9iamVjdAoJICBGaXhlcyBzdHJlYW0gcHJvcGVydGllcyBvYmplY3QgY3JlYXRpb24gZm9yIHZpZGVvIGNvbnRlbnQKCjIwMDktMDctMjkgMTk6MDc6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguaDoKCSAgYXNmbXV4OiBhY2NlcHQgcGFkIHJlcXVlc3RzIGEgbGl0dGxlIGxvbmdlcgoJICBhc2ZtdXggbm93IHN0YXJ0IHJlamVjdGluZyBwYWQgcmVxdWVzdHMgYWZ0ZXIgaXQgcHVzaGVzIHRoZSBmaXJzdAoJICBidWZmZXIsIGJlZm9yZSB0aGlzLCBpdCB3YXMgcmVqZWN0aW5nIGFmdGVyIGdvaW5nIHRvIHBhdXNlZAoKMjAwOS0wNy0yOSAxODo0NDoxMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IGFkZHMgc3VwcG9ydCB0byB2Yy0xIHN0cmVhbXMKCjIwMDktMDctMjkgMTc6MjM6MzEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUmVtb3ZlIGVtcHR5IGZpbmFsaXplCgoyMDA5LTA3LTI5IDE2OjAyOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBGaXggbWFjcm8gbmFtZQoKMjAwOS0wNy0yOSAxNTozNTowMyArMDIwMCAgSm9uaSBWYWx0YW5lbiA8am9uaS52YWx0YW5lbkBtb3ZpYWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuaDoKCSAgZGlyZWN0c291bmRzcmM6IEFkZCBEaXJlY3RTb3VuZCBzb3VyY2UgcGx1Z2luCgkgIEZpeGVzIGJ1ZyAjMzQ0MTI5LgoKMjAwOS0wNy0yOCAyMjo1MTozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNmbXV4LmM6CgkgIGFzZm11eDogRmlyc3QgYmFzaWMgY2hlY2sgdW5pdCB0ZXN0cwoJICBBZGRzIHNpbXBsZSBhc2ZtdXggdW5pdCB0ZXN0cywgdGhhdCB0ZXN0IHBhZCBjcmVhdGlvbiBhbmQgcHVzaGluZyBhCgkgIHNpbmdsZSBidWZmZXIgdGhyb3VnaCB0aGVtCgoyMDA5LTA3LTI4IDIxOjM3OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogRm9yY2luZyBwYWQgbmFtZXMgdG8gYmUgdmlkZW9fJTAyZCBhbmQgYXVkaW9fJTAyZCBsaWtlCgoyMDA5LTA3LTI4IDE4OjE4OjIwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdXJjZTogYWxsb3cgZm9yIE5VTEwgY2FwcyBvbiBidWZmZXJzCgkgIEFkZCB0aGUgTlVMTCBjYXBzIGNoZWNrIHdoZXJlIGl0IG1hdHRlcnMgYW5kIGFsc28gY292ZXIgYW5vdGhlciBjYXNlIG9mCgkgIHBvdGVudGlhbCBOVUxMIGNhcHMuCgkgIEZpeGVzICM1OTAwMzAKCjIwMDktMDctMjggMTE6NTk6NTYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IEluY29taW5nIGJ1ZmZlcnMgZG8gbm90IGFsd2F5cyBoYXZlIGNhcHMKCjIwMDktMDctMjcgMTQ6MDM6NTkgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuYzoKCSAgY2FtZXJhYmluOiBwaG90byBpZmFjZSBzZXR0ZXIgZnVuY3Rpb25zIHJldHVybiBUUlVFIHdoZW4gdXNlZCBpbiBOVUxMIHN0YXRlCgkgIFdlIGNhY2hlIHRoZSB2YWx1ZXMgYW5kIGFwcGx5IHRoZW4gd2hlbiBwb3NzaWJsZS4KCjIwMDktMDctMjcgMDg6MjU6MzcgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGRvIG5vdCBwdXQgdmlkZW8gcGlwZWxpbmUgaW50byBSRUFEWSB3aGVuIHN0YXJ0IHJlY29yZGluZyBjYW1lcmFiaW46IHJlbWVtYmVyIHByb2JlIElEcyBhbmQgZGlzY29ubmVjdCB0aGVtIHdoZW4gZGVzdHJveWluZyBwaXBlbGluZXMKCjIwMDktMDctMjcgMTk6NTk6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FtcndiZW5jL2dzdGFtcndiZW5jLmM6CgkgIGFtcndiZW5jOiBGaXggY29tcGlsYXRpb24KCjIwMDktMDctMjcgMTk6NTU6MjcgKzAyMDAgIElhZ28gVG9yYWwgPGl0b3JhbEBpZ2FsaWEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2FtcndiL01ha2VmaWxlLmFtOgoJKiBleHQvYW1yd2IvUkVBRE1FOgoJKiBleHQvYW1yd2IvZ3N0YW1yd2IuYzoKCSogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6CgkqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5oOgoJKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSogZXh0L2FtcndiL2dzdGFtcndiZW5jLmg6CgkqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmg6CgkqIGV4dC9hbXJ3YmVuYy9Hc3RBbXJ3YkVuYy5wcnM6CgkqIGV4dC9hbXJ3YmVuYy9NYWtlZmlsZS5hbToKCSogZXh0L2FtcndiZW5jL1JFQURNRToKCSogZXh0L2FtcndiZW5jL2dzdGFtcndiLmM6CgkqIGV4dC9hbXJ3YmVuYy9nc3RhbXJ3YmVuYy5jOgoJKiBleHQvYW1yd2JlbmMvZ3N0YW1yd2JlbmMuaDoKCSAgYW1yd2I6IFJlbW92ZSBBTVItV0IgcGFyc2VyIGFuZCBkZWNvZGVyIGFuZCByZW5hbWUgZW5jb2RlciBwbHVnaW4gZnJvbSBhbXJ3YiB0byBhbXJ3YmVuYwoJICBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1ODQ4OTAuCgoyMDA5LTA3LTI3IDE1OjQ2OjIzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBhdm9pZCBkb2luZyBsaXAtc3luYyBpbiBCWUUKCSAgV2hlbiB3ZSBnZXQgYSBCWUUgcGFja2V0LCBkb24ndCBkbyBsaXAtc3luYyB3aXRoIHRoZSBTUiBpbnNpZGUgYmVjYXVzZSBzb21lCgkgIHNlbmRlcnMgaGF2ZSB0cm91YmxlIGNvbnN0cnVjdGluZyB2YWxpZCBTUiBwYWNrZXRzIGFmdGVyIEJZRS4KCjIwMDktMDctMjcgMTU6MzM6MDQgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogd2luMzIvTUFOSUZFU1Q6CgkqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJKiB3aW4zMi92czcvZ3N0LXBsdWdpbnMtYmFkLnNsbjoKCSogd2luMzIvdnM3L2xpYmdzdGRpcmVjdGRyYXcudmNwcm9qOgoJKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0ZHJhdy52Y3Byb2o6CgkgIGRpcmVjdGRyYXdzaW5rOiB1cGRhdGUgdnM4IGJ1aWxkCgkgIGFsc28gcmVtb3ZlIGRpcmVjdGRyYXdzaW5rIGZyb20gdnM2IGFuZCB2czcgYnVpbGQKCjIwMDktMDctMjcgMTQ6NTI6NTcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9NYWtlZmlsZS5hbToKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93aW50ZXJmYWNlLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dzcmN3cmFwcGVyLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvbGliZ3N0ZHNob3cuZGVmOgoJKiB3aW4zMi92czgvbGliZHNob3dzcmN3cmFwcGVyLnZjcHJvajoKCSAgZHNob3dzcmN3cmFwcGVyOiByZW1vdmUgdXNlIG9mIElHc3REc2hvd0ludGVyZmFjZQoKMjAwOS0wNy0yNyAxMzoxNzoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwYmluOiBkb24ndCBkbyBsaXAtc3luYyBhZnRlciBhIEJZRQoJICBBZnRlciBhIEJZRSBwYWNrZXQgZnJvbSBhIHNvdXJjZSwgc3RvcCBmb3J3YXJkaW5nIHRoZSBTUiBwYWNrZXRzIGZvciBsaXAtc3luYwoJICB0byBydHBiaW4uIFNvbWUgc2VuZGVycyBkb24ndCB1cGRhdGUgdGhlaXIgU1IgcGFja2V0cyBjb3JyZWN0bHkgYWZ0ZXIgc2VuZGluZyBhCgkgIEJZRSBhbmQgdGhlbiB3ZSBicmVhayBsaXAtc3luYy4gV2UgcHJlZmVyIHRvIGxldCB0aGUgaml0dGVyYnVmZmVycyBkcmFpbiB3aXRoCgkgIHRoZSBjdXJyZW50IGxpcC1zeW5jIGluc3RlYWQuCgoyMDA5LTA3LTI3IDEyOjQzOjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBiaW46IG9ubHkgcmVjb25zaWRlciBvbmNlIGZvciBCWUUKCSAgV2hlbiBpdGVyYXRpbmcgdGhlIHNvdXJjZXMgb2YgYSBCWUUgcGFja2V0LCBkb24ndCBzaWduYWwgYSByZWNvbnNpZGVyYXRpb24gZm9yCgkgIGVhY2ggb2YgdGhlbSBidXQgc2lnbmFsIGFmdGVyIHdlIGhhbmRsZWQgYWxsIHNvdXJjZXMuCgoyMDA5LTA3LTI1IDEyOjE5OjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSAga2F0ZTogYnJlYWsgdXAgbWFjcm9zIGludG8gbXVsdGlwbGUgbGluZXMKCjIwMDktMDctMjQgMjE6NTQ6NTkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogdXNlIEdTVF9FTEVNRU5UX0VSUk9SIGZvciBlcnJvciByZXBvcnRpbmcKCSAgU2VlICM1MjU3NDMuCgoyMDA5LTA3LTI0IDE0OjUyOjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2FzZm11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2FzZm11eC9nc3Rhc2YuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuaDoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuYzoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuaDoKCSAgYXNmbXV4OiBBZGRzIG5ldyBwbHVnaW4gYXNmbXV4CgkgIEFkZHMgdGhlIGJyYW5kIG5ldyBhc2ZtdXggcGx1Z2luLCBjb250YWluaW5nIDMgZWxlbWVudHM6CgkgIGFzZm11eCwgcnRwYXNmcGF5IGFuZCBhc2ZwYXJzZS4gVGhpcyBwbHVnaW4gd2FzIGRldmVsb3BlZAoJICBhcyBhIEdTb0MgMjAwOSBwcm9qZWN0LCB3aXRoIERhdmlkIFNjaGxlZWYgYXMgdGhlIG1lbnRvciBhbmQKCSAgVGhpYWdvIFNhbnRvcyBhcyB0aGUgc3R1ZGVudC4KCjIwMDktMDctMjQgMDg6MjU6MDMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHdpbjMyL01BTklGRVNUOgoJICB3aW4zMjogRml4IHRoZSBkaXN0Y2hlY2sgYWZ0ZXIgZHNob3dzcmN3cmFwcGVyIHJlYXJyYW5nZW1lbnRzCgkgIFJlbW92ZSBvbGQgZmlsZXMgZnJvbSB0aGUgd2luMzIgbWFuaWZlc3QsIGFuZCBhZGQgdGhlIG5ldyBvbmUuCgoyMDA5LTA3LTI0IDA3OjQwOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJICBtdXNlcGFja2RlYzogSW1wbGVtZW50IFNFRUtJTkcgcXVlcnkKCjIwMDktMDctMjQgMDE6MDA6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgUmV2ZXJ0ICJkb2NzOiBmaXggZG9jcyBidWlsZCBhZ2FpbiIKCSAgSXQncyBub3QgbmVlZGVkIGFueSBsb25nZXIgYWZ0ZXIgU3RlZmFuJ3MgdXBkYXRlcyBpbiB0aGUgY29tbW9uIG1vZHVsZS4KCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAwOWM1NTBhMTcyYTJjOGE3NmYwYjQ4ZjJmOGNlMTEwNzA1OThmNjZjLgoKMjAwOS0wNy0yNCAwMDo0Mjo1MyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmZWRhYWVlIHRvIDk0Zjk1ZTMKCjIwMDktMDctMjMgMTc6NTc6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogZml4IGRvY3MgYnVpbGQgYWdhaW4KCSAgVGhlcmUgaXMgbm8gZWxlbWVudCBjYWxsZWQgJ2xhZHNwYScsIHNvIHRoZXJlIHdvbid0IGJlIGEgLWRldGFpbHMKCSAgZmlsZSBmb3IgaXQuCgoyMDA5LTA3LTIzIDA5OjU4OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBSZW1vdmUgc29tZSBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGNvZGUKCSAgQWxzbyB3ZSBhbHdheXMgcmVxdWlyZSBsaWJvaWwgc28gdXNlIGl0IHVuY29uZGl0aW9uYWxseS4KCjIwMDktMDctMjMgMDk6NTI6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVnZGVtdXg6IEltcGxlbWVudCBxdWVyeSB0eXBlIGZ1bmN0aW9uIGZvciB0aGUgc3JjIHBhZHMKCjIwMDktMDctMjAgMjI6MTM6MTEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBMb2NrIGVsZW1lbnQgYmVmb3JlIHVubG9ja2luZwoKMjAwOS0wNy0yMCAyMjowODo1MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IEZpeCBsZWFrcwoJICBVc2UgZ3N0X3BhZF9uZXdfZnJvbV9zdGF0aWNfdGVtcGxhdGUoKSB0byBub3QgbGVhayB0aGUgcGFkIHRlbXBsYXRlCgkgIEFsc28gcHJvcGVybHkgY2hhaW4gdXAgdGhlIGZpbmFsaXplIHRvIHRoZSBwYXJlbnQKCjIwMDktMDctMjAgMjI6MDg6MjQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBVc2UgZ3N0X3BhZF9uZXdfZnJvbV9zdGF0aWNfdGVtcGxhdGUKCSAgUHJldmVudHMgbGVhayBmb3VuZCBieSB2YWxncmluZAoKMjAwOS0wNy0yMCAyMTo1Mjo1OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IFVucmVmIGNsb2NraWQKCjIwMDktMDctMjAgMTQ6MDA6MTcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBEb24ndCBvdmVyd3JpdGUgdmFsaWQgdGltZXN0YW1wcwoKMjAwOS0wNy0yMCAxMzo0NTo1NCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkgIFJldmVydCAibWltZGVjOiBJZ25vcmUgdGhlIHRpbWVzdGFtcHMgaW5zaWRlIHRoZSBidWZmZXJzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDVlMDUxZmE5OGFlZWJkY2UyZWNhNmIzMjFlYzE5MjllNmY4ZmRmNjEuCgoyMDA5LTA3LTIxIDE1OjMzOjQxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IEZyZWUgY29uZmxpY3RpbmcgYWRkcmVzc2VzIG9uIGZpbmFsaXplCgoyMDA5LTA3LTIxIDE1OjMxOjMzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEZyZWUgdGhlIHBhZCBwcml2YXRlIGRhdGEgb24gcGFkIHJlbGVhc2UKCSAgRnJlZSB0aGUgcGFkIHByaXZhdGUgZGF0YSBvbiBwYWQgcmVsZWFzZSBpbnN0ZWFkIG9mIHVzaW5nIGEgd2VhayByZWYsCgkgIHdoaWNoIGlzIG5vdCB0aHJlYWQgc2FmZS4gQWxzbywgbG9jayB0aGUgY29udGVudCBvZiB0aGUgcGFkIHByaXZhdGUgdXNpbmcgdGhlIGVsZW1lbnQncwoJICBvYmplY3QgbG9jay4KCjIwMDktMDctMjIgMTQ6MTk6MTggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBJZ25vcmUgZXJyb3JzIHB1c2hpbmcgb3V0IG5ldyBzZWdtZW50cwoJICBUaGUgZm9sbG93aW5nIGJ1ZmZlciBwdXNoIHdpbGwgcmV0dXJuIG1vcmUgdmFsdWFibGUgaW5mb3JtYXRpb24uCgoyMDA5LTA3LTIyIDE4OjAxOjEyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWx2Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aW1pZGl0eS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGRnbWltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgZG9jczogYWRkIGRvY3MgZm9yIGxhZHNwYSBhbmQgdXBkYXRlIHBsdWdpbiBkb2NzCgkgIEFkZCBhbHNvIGluc3BlY3QgZmlsZXMgZm9yIGx2MiBhbmQgZnJlaTByIChubyBkb2NzIHlldCkuCgoyMDA5LTA3LTIyIDE3OjA1OjI5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkgIGNhbWVyYWJpbjogbW9yZSBwZXJmLXRlc3QgY2xlYW51cHMKCSAgUmVtb3ZlIHNvbWUgb2Jzb2xldGUgZXhtYXBsZXMuIEFkZCB2aWRlby13aWR0aC9oZWlnaHQuIFVzZSBwcm9wZXIgYXBpIGZvcgoJICBzZXR0aW5nIHN0aWxsIGltYWdlIHJlc29sdXRpb24uIEZpeCBzdG9wcGluZyByYW5kb20gdGVzdHMgb24gYmluLXN0YXRlLWNoYW5nZXMuCgkgIFJlbW92ZSB0aGUgbWVtZHVwIGluIHNuYXBzaG90IGFnYWluLCBhcyBpdHMgbm90IG5lZWRlZCAocGl4YnVmIGdvZXMgb3V0IG9mCgkgIHNjb3BlIHdpdGggdGhlIGJ1ZmZlcikuCgoyMDA5LTA3LTIyIDExOjQ1OjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgIGRzaG93c3Jjd3JhcHBlcjogdXBkYXRlIE1ha2VmaWxlLmFtIGZvciBzb3VyY2UgZmlsZSByZW5hbWVzIGFzIHdlbGwKCjIwMDktMDctMjEgMTM6Mzc6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5oOgoJICBkb2NzOiBhZGQgcGNhcHBhcnNlIHRvIGRvY3MKCjIwMDktMDctMjIgMTI6MzQ6MzYgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSAgZHNob3dhdWRpb3NyYzogZG8gbm90IHJlbW92ZSBhIHJhbmdlIG9mIGxlbmd0aCAwCgoyMDA5LTA3LTIyIDEyOjI0OjQ2ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiB3aW4zMi92czgvbGliZHNob3dzcmN3cmFwcGVyLnZjcHJvajoKCSAgZHNob3dhdWRpb3NyYzogY29udmVydHMgY29kZSB0byBDKysKCjIwMDktMDctMjIgMTE6MDE6NDkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmM6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHdpbjMyL3ZzOC9saWJkc2hvd3NyY3dyYXBwZXIudmNwcm9qOgoJICBkc2hvd3ZpZGVvc3JjOiBjb252ZXJ0cyBjb2RlIHRvIEMrKwoKMjAwOS0wNy0yMiAwMDozMzoyMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBkb24ndCBhZGQgYSBiYXNlX3RpbWU9PS0xIHRvIHNlZ21lbnQgcG9zaXRpb25zCgkgIEZpeGVzIGFzc2VydGlvbiBhYm91dCBuZXdzZWdtZW50IHdpdGggc3RhcnQ9LTEuCgoyMDA5LTA3LTIxIDE3OjQ4OjMzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHNtYWxsIHNwZWVkdXAgaW4gc29mdHdhcmUgem9vbQoJICBGb3JjZSBjcm9wIG9uIGV2ZW4gcGl4ZWwgcG9zaXRpb24gdG8gYXZvaWQgc2xvd3BhdGggaW4gY3JvcCAmIHNjYWxlLgoKMjAwOS0wNy0yMSAxNjo0ODoyNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBjYW1lcmFiaW46IHdlIG5lZWQgdG8gY29weSB0aGUgZGF0YSBpbiB0aGUgZXhhbXBsZQoJICBnZGtfcGl4YnVmX25ld19mcm9tX2RhdGEgZG9lcyBub3QgY29weSB0aGUgZGF0YS4KCjIwMDktMDctMjEgMTE6Mjg6MjAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvTWFrZWZpbGUuYW06CgkgIG1ha2U6IHJlbW92ZSB3aGl0ZXNwYWNlIGFmdGVyIHRyYWlsaW5nIGJhY2tzbGFzaAoKMjAwOS0wNy0yMSAxMjo0MjozMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuaDoKCSAga2F0ZTogZml4IHRpbWUgY29udmVyc2lvbiBmcm9tIERWRCBzdHlsZSB0aW1lc3RhbXBzLgoKMjAwOS0wNy0yMSAxMzo1MToyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBJbXBsZW1lbnQgU0VFS0lORyBxdWVyeQoKMjAwOS0wNy0yMSAxMzozOToyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogSW1wbGVtZW50IFNFRUtJTkcgcXVlcnkKCSAgRml4ZXMgYnVnICM1ODg5NDQuCgoyMDA5LTA3LTIxIDEzOjMzOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEltcGxlbWVudCBTRUVLSU5HIHF1ZXJ5CgkgIFBhcnRpYWxseSBmaXhlcyBidWcgIzU4ODk0NC4KCjIwMDktMDctMjEgMTM6MTc6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogRnJlZSB0aGUgUE1UIGJlZm9yZSBzZXR0aW5nIGEgbmV3IG9uZQoKMjAwOS0wNy0yMSAxMzoxNDowMCArMDIwMCAgTWlrYWVsIE1hZ251c3NvbiA8bWlrbWFAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogUmVtb3ZlIG9sZCBQRVMgUElEcyB3aGVuIHJlY2VpdmluZyBQQVQgdGFibGVzCgkgIEZpeGVzIGJ1ZyAjNTgzNDcwLgoKMjAwOS0wNy0yMSAxMToxMDo0OSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB3aW4zMi92czgvbGliZHNob3dzcmN3cmFwcGVyLnZjcHJvajoKCSAgZHNob3dzcmN3cmFwcGVyOiBmaXggcmVsYXRpdmUgcGF0aAoKMjAwOS0wNy0yMSAxMDo0OTozNyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2RzaG93L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3cuY3BwOgoJKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc2luay5oOgoJKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc3JjLmNwcDoKCSogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNyYy5oOgoJKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dpbnRlcmZhY2UuY3BwOgoJKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dpbnRlcmZhY2UuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9NYWtlZmlsZS5hbToKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmM6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2ludGVyZmFjZS5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5jOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dzcmN3cmFwcGVyLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9saWJnc3Rkc2hvdy5kZWY6CgkqIHdpbjMyL2NvbW1vbi9saWJnc3Rkc2hvdy5kZWY6CgkqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJKiB3aW4zMi92czYvbGliZHNob3dzcmN3cmFwcGVyLmRzcDoKCSogd2luMzIvdnM4L2dzdC1wbHVnaW5zLWJhZC5zbG46CgkqIHdpbjMyL3ZzOC9saWJkc2hvd3NyY3dyYXBwZXIudmNwcm9qOgoJICBzdGFydCByZWZhY3RvcmluZyBvZiBkc2hvd3NyY3dyYXBwZXIKCSAgLXJlbW92ZSBnc3QtbGlicy9nc3QvZHNob3cKCSAgLWZha2Vzb3VyY2UgaXMgbW92ZWQgZnJvbSBnc3QtbGlicy9nc3QvZHNob3cgdG8gc3lzL2RzaG93c3Jjd3JhcHBlcgoJICAtc29tZSBtaW5vciBjaGFuZ2VzIChDL0MrKyBjaGVjayBhbmQgaW5jbHVkZXMpIHRvIG1ha2UgdGhlIHBsdWdpbgoJICBjb21waWxlIGFnYWluLgoKMjAwOS0wNy0yMSAwMTowNjoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlOiB1c2UgbmV3IEdTVF9UQUdfU1VCSVRMRV9DT0RFQyB0YWcgaW5zdGVhZCBvZiBHU1RfVEFHX0NPREVDCgoyMDA5LTA3LTIxIDAwOjU0OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJICBrYXRlZGVjOiBvbmx5IHB1dCBwcmltYXJ5IGxhbmd1YWdlIHRhZyBpbiBHU1RfVEFHX0xBTkdVQUdFCgkgIE9ubHkgcHV0IHByaW1hcnkgbGFuZ3VhZ2UgaW50byBHU1RfVEFHX0xBTkdVQUdFLCBhbmQgY29udmVydCB0byBsb3dlciBjYXNlLAoJICBpZS4gb25seSB1c2UgImVuIiBvZiAiZW5fR0IiLiBUaGlzIGlzIHBlciBvdXIgdGFnIGRvY3VtZW50YXRpb24gYW5kIGhlbmNlCgkgIHdoYXQgYXBwcyBleHBlY3QuIEFsc28gYWRkIGV4YW1wbGUgdG8ga2F0ZWVuYyBwcm9wZXJ0eSBkZXNjcmlwdGlvbiBzbyBwZW9wbGUKCSAga25vdyBhIGxhbmd1YWdlIGNvZGUgaXMgd2FudGVkIGhlcmUuCgoyMDA5LTA3LTIxIDAwOjA0OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSAga2F0ZWRlYzogYWRkIGNvbW1lbnQgd2h5IHdlIGRvbnQnIHN1cHBvcnQgYXBwbGljYXRpb24veC1rYXRlIGhlcmUgZm9yIG5vdwoKMjAwOS0wNy0yMCAxMzo1NDo0OSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL01ha2VmaWxlLmFtOgoJKiBleHQva2F0ZS9SRUFETUU6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuaDoKCSAga2F0ZWRlYzogY3JlYXRlIFNQVSBmb3JtYXQgaW1hZ2VzIGZyb20gc3VpdGFibGUgYmFja2dyb3VuZCBpbWFnZXMKCSAgTWFrZSBrYXRlZGVjIGZhYnJpY2F0ZSBkdmQtc3R5bGUgc3VicGljdHVyZXMgZm9yIHN1YnRpdGxlIG92ZXJsYXkKCSAgYml0bWFwcywgZm9yIGVhc2llciBwbGF5YmluMiBpbnRlZ3JhdGlvbiAoIzU4ODYzOCkuCgoyMDA5LTA3LTIwIDE2OjI0OjIzICswMTAwICBvZ2cuay5vZ2cuayA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9rYXRlLmM6CgkgIGthdGU6IGZpeCBzb21lIG1pbm9yIG1lbW9yeSBsZWFrcwoJICBNYWtlcyAnbWFrZSBjaGVjay12YWxncmluZCcgd29yayBmb3IgdGhlIGthdGUgdW5pdCB0ZXN0ICgjNTI1NzQzKQoKMjAwOS0wNy0yMCAxNjozOTo0MiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBjYW1lcmFiaW46IGFkZCBjb2RlIGluIHRlc3QgdG8gc3RvcmUgc25hcHNob3RzIGZvciBtYW51YWwgdmVyaWZpY2F0aW9uCgkgIFVzZSBnZGtfcGl4YnVmIHRvIHNhdmUgdGhlIGltYWdlIGluIHBlcmYtdGVzdC4gQWxzbyByZW1vdmUgc29tZSBvYnNvbHV0ZQoJICBjb21tZW50ZWQgb3V0IGNvZGUuCgoyMDA5LTA3LTIwIDE2OjI0OjA1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSAgY2FtZXJhYmluOiBsb2cgZm9ybWF0cyBpbiBwcmV2aWV3IGltYWdlIGNvbnZlcnNpb24KCjIwMDktMDctMjAgMTY6MjE6MDYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSAgY2FtZXJhYmluOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlIGFzc2lnbm1lbnQKCSAgUmVzdWx0IGlzIG5vdCBuZWVkZWQgaGVyZSwgYnV0IHZhcmlhYmxlIGlzIHVzZWQgbGF0ZXIgb24uIEFsc28gcmVtb3ZlIGRvdWJsZSBuZXcKCSAgbGluZXMgaW4gZnVuY3Rpb24uCgoyMDA5LTA3LTIwIDE2OjIwOjE1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogY2hlY2sgcXVlcnkgcmV0dXJuIHJlc3VsdCBiZWZvcmUgdXNpbmcgaXQKCjIwMDktMDctMjAgMTY6MTk6NDAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgbWV0YWRhdGE6IGRvbid0IGRlcmVmZXJlbmNlIHRoZSBwb2ludGVyIGJlZm9yZSB0aGUgdmFsaWRpdHkgY2hlY2sKCjIwMDktMDctMjAgMTA6MTc6MDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSAgY2FtZXJhYmluOiBpbXByb3ZlIHBlcmYgdGVzdCByb2J1c3RuZXNzIGFuZCBhZGQgY29tbWVudHMKCjIwMDktMDctMjAgMTI6MjU6MTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkgIGthdGVlbmM6IGFsc28gcmVjb2duaXNlIHRoZSBuZXcgcmVjb21tZW5kZWQgJ1NVQicgY2F0ZWdvcnkKCSAgTW92ZSB0aGUgY2hlY2sgZm9yICdzaW1wbGUnIHN1YnRpdGxlcyBjYXRlZ29yeSB0byBhIHNlcGFyYXRlIHJvdXRpbmUKCSAgYW5kIGFkZCBpbiB0aGUgbmV3IHJlY29tbWVuZGVkIFNVQiBjYXRlZ29yeSAoIzUyNTc0MykuCgoyMDA5LTA3LTIwIDExOjQxOjQwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmg6CgkgIGthdGVlbmM6IGtlZXAgYml0bWFwL3BhbGV0dGUvcmVnaW9uIGFyb3VuZCB3aGVuIG9uIHRoZSBzcG90IGVuY29kaW5nIGlzIG5vdCBwb3NzaWJsZSBkdWUgdG8gYW4gdW5rbm93biBlbmQgdGltZQoJICBGaXhlcyB2YWxncmluZCB1bml0aWFsaXplZCB2YWx1ZSByZXBvcnQuIFNlZSAjNTI1NzQzLgoKMjAwOS0wNy0xOSAyMzo0NTowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkgIGRvY3M6IGFkZCBpbnNwZWN0IGluZm8gZm9yIGthdGUgcGx1Z2luCgkgIFNob3VsZCBmaXggdGhlIGRvY3MgYnVpbGQuCgoyMDA5LTA3LTE5IDIzOjM1OjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogYWRkIHNvbWUgRklYTUVzCgoyMDA5LTA3LTE5IDIzOjMyOjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGUuYzoKCSAga2F0ZWRlYzogZGVtb3RlIHRvIEdTVF9SQU5LX05PTkUgZm9yIG5vdwoJICBUaGVyZSBhcmUgc3RpbGwgc29tZSBhdXRvcGx1Z2dpbmcgaXNzdWVzIHRvIHNvcnQgb3V0LCBhbmQgaXQgbmVlZHMKCSAgc29tZSB0ZXN0aW5nLgoKMjAwOS0wNy0xOSAyMzoyOToxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgY2hlY2tzOiBhZGQga2F0ZSB1bml0IHRlc3RzIHRvIHZhbGdyaW5kIGJsYWNrbGlzdCBmb3Igbm93CgkgIEFuZCBhZGQgY2hlY2sgYmluYXJ5IHRvIGlnbm9yZSBsaXN0LgoKMjAwOS0wNy0xOSAyMzoxNjowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogbWFrZSBzdXJlIHRvIGZyZWUgc29tZSBtb3JlIHN0dWZmCgoyMDA5LTA3LTE5IDIyOjI5OjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGUuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJICBrYXRlOiBmaXggdXAgZm9yIGFkZGl0aW9uYWwgc3VidGl0bGUveC1rYXRlIG1lZGlhIHR5cGUKCjIwMDktMDctMTMgMjI6Mzg6NDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZS5jOgoJICBrYXRlOiByZW1vdmUgbG9jYWwga2F0ZSB0eXBlZmluZGVyLCB1c2UgdGhlIG9uZSBpbiAtYmFzZQoKMjAwOS0wNy0xMCAxODo0NToyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGUuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAga2F0ZTogY2hhbmdlIG1lZGlhIHR5cGUgdG8gc3VidGl0bGUveC1rYXRlIGFuZCB1cGRhdGUgZGVmaW5lIGFjY29yZGluZ2x5CgoyMDA5LTAyLTE1IDE4OjM1OjA0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogTElDRU5TRV9yZWFkbWU6CgkqIFJFUVVJUkVNRU5UUzoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2thdGUvTWFrZWZpbGUuYW06CgkqIGV4dC9rYXRlL1JFQURNRToKCSogZXh0L2thdGUvZ3N0a2F0ZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlLmg6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5oOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5oOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5oOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSAgYWRkIG5ldyBLYXRlIHBsdWdpbiwgZm9yIEthdGUgb3ZlcmxheSBzdHJlYW1zCgkgIGthdGVkZWM6IEthdGUgZGVjb2RlciAodGV4dCBvbmx5KQoJICBrYXRlZW5jOiBLYXRlIGVuY29kZXIgKHRleHQgYW5kIERWRCBTUFUgb25seSkKCSAga2F0ZXRhZzogS2F0ZSB0YWdnZXIKCSAga2F0ZXBhcnNlOiBLYXRlIHBhcnNlcgoJICB0aWdlcjogS2F0ZSByZW5kZXJlciB1c2luZyB0aGUgVGlnZXIgcmVuZGVyaW5nIGxpYnJhcnkKCSAgRml4ZXMgIzUyNTc0My4KCjIwMDktMDctMTkgMTU6Mzc6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOgoJICByZWFsOiBkaWZmZXJlbnRpYXRlIGJldHdlZW4gJ21vZHVsZSBkb2VzIG5vdCBleGlzdCcgYW5kIGdlbnVpbmUgbW9kdWxlIG9wZW5pbmcgZXJyb3JzCgkgIERvbid0IGxvZyBhIEdTVF9FUlJPUiBpZiBvbmUgb2YgdGhlIGNvZGVjIG1vZHVsZXMgd2Ugd2VyZSBsb29raW5nIGZvcgoJICBkb2Vzbid0IGV4aXN0LiBUaGF0J3Mgbm90IGEgZ2VudWluZSBlcnJvciwgYnV0IHNvbWV3aGF0IGV4cGVjdGVkLgoKMjAwOS0wNy0xOCAwODo0MzozNyArMDIwMCAgTWF0aWpzIHZhbiBadWlqbGVuIDxNYXRpanMudmFuLlp1aWpsZW5AeHM0YWxsLm5sPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBGaXggaW50ZWdlciBvdmVyZmxvdwoJICBUaGlzIGJyZWFrcyBwbGF5YmFjayBvZiBmaWxlcyA+NCBHQiBhcyB0aGUgb2Zmc2V0IHdhcwoJICBhIGd1aW50IGJlZm9yZS4gQ2hhbmdpbmcgaXQgdG8gYSBndWludDY0IGZpeGVzIHRoaXMuCgoyMDA5LTA3LTE3IDE1OjQ3OjEwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkgIG1ldGFkYXRhOiByZXNldCBzdGF0ZSBpZiB0aGVyZSBpcyBzb21ldGhpbmcgdG8gcmVzZXQKCSAgVGhlIGNvbmRpdGlvbiB3YXMgd3JvbmcgYW5kIGFzIHN1Y2ggdGhlIGVsZW1lbnQgd2FzIHdyaXRpbmcgdGhlIHNhbWUgdGFncyBvbiBzdWJzZXF1ZW50CgkgIGltYWdlcyBpZiByZXVzZWQuCgoyMDA5LTA3LTE3IDE1OjQ1OjMyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHVzZSBnc3RfY2Fwc19yZXBsYWNlIGluc3RlYWQgb2Ygc2VwYXJhdGUgY2FsbHMKCSAgVGhpcyBmaXhlcyBzZXR0aW5nIHNuYXBzaG90IGNhcHMgYmFjayB0byBOVUxMIGFsc28uCgoyMDA5LTA3LTE3IDE1OjM4OjA2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkgIGNhbWVyYWJpbjogaW1wbGVtbmV0IHR3byBtb3JlIHRlc3RzCgkgIEFkZCB0ZXN0cyBmb3IgdmlkZW9yZWNvcmRpbmcgc3RhcnR1cCBhbmQgY2FwdHVyZSBzdGFydHVwIGRlbGF5LgoKMjAwOS0wNy0xNyAwOTozNjoxNSArMDEwMCAgWmFoZWVyIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogYWRkIGNvbXBvbmVudCB0YWcgdG8gdGhlIHZpZGVvIGNvbXBvbmVudCBzdHJ1Y3R1cmUgaW4gZWl0CgoyMDA5LTA3LTE2IDE3OjI3OjA5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogRG9uJ3QgcHJldGVuZCB0byBiZSBNTDIwIGlmIHBhdXNlZAoKMjAwOS0wNy0xNiAxNjowNjoyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkgIG1pbWRlYzogSWdub3JlIHRoZSB0aW1lc3RhbXBzIGluc2lkZSB0aGUgYnVmZmVycwoKMjAwOS0wNy0xNiAxNTo0Mzo0NiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IERvbid0IHRyeSB0byBwYXJzZSB0aGUgaGVhZGVyIGJlZm9yZSBkcm9wcGluZyB0aGUgcGF1c2VkIGZyYW1lcwoKMjAwOS0wNy0xNiAxNTo0MzoxNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IFByaW50IHRoZSBpbmNvbWluZyBmb3VyY2Mgb24gZXJyb3JzCgoyMDA5LTA2LTE5IDIwOjEzOjUzICsxMDAwICBBdXN0aW4gTHVuZCA8YXVzdGluLmx1bmRAZ21haWwuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgSW5jcmVhc2VkIHRoZSBsZW5ndGggb2YgdGltZSBmb3IgdHVuaW5nIGluIGdzdGR2YnNyYy5jLgoJICBTb21lIGRldmljZXMgdGFrZSBhIHdoaWxlIHRvIHR1bmUgYW5kIDUwMG1zIHdhcyB0b28gc2hvcnQgdG8gZGV0ZWN0CgkgIHN1Y2Nlc3NmdWwgdHVuaW5nLiAgQXMgd2VsbCBhcyB3YWl0aW5nIGZvciA1IHNlY29uZHMgZWFjaCAxMDBtcyB0aGUKCSAgc3RhdHVzIGlzIGNoZWNrZWQgYW5kIHRoZSBsb29wIGlzIGJyb2tlbiBvdXQgb2Ygd2hlbiB0dW5pbmcgaGFzIHN1Y2VlZGVkLgoKMjAwOS0wNy0xNiAxOTo0OToyNiArMDIwMCAgQWxla3NleSBZdWxpbiA8dWxpbkB0dXQuYnk+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBEb24ndCB1c2UgUElEcyA+IE1QRUdUU19NQVhfUElECgkgIFRoZSBtcGVndHNkZW11eCBzdHJlYW1zIGFycmF5IG9ubHkgaGFzIE1QRUdUU19NQVhfUElEIGVudHJpZXMKCSAgYW5kIGFjY2Vzc2luZyBvbmUgYWZ0ZXJ3YXJkcyB3aWxsIHJlc3VsdCBpbiBjcmFzaGVzLgoJICBGaXhlcyBidWcgIzU3NTY3Mi4KCjIwMDktMDctMTYgMTg6MTQ6MTggKzAzMDAgIFplZXNoYW4gQWxpIChLaGF0dGFrKSA8emVlc2hhbmFrQGdub21lLm9yZz4KCgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJICBBZGQgbW9yZSBkZWJ1ZyBvdXRwdXQgdG8gbWV0YWRhdGFtdXgKCjIwMDktMDctMTYgMTI6MDM6MzIgKzAyMDAgIEpvc2VwIFRvcnJhIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkgIHBlc2ZpbHRlcjogUGVybWl0IHVuYm91bmRlZCBwYWNrZXRzIGZvciAweGZkIChleHRlbmRlZCBzdHJlYW0gaWQpLgoJICBBZGRlZCBwYXJzaW5nIG9mIFBFUyBleHRlbnNpb24gcmVsYXRlZCBkYXRhLgoJICBGaXhlcyBzb21lIFZDMSByZWxhdGVkIGlzc3Vlcy4KCjIwMDktMDctMTYgMTM6NTU6MTQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgb3NzNDogQXR0ZW1wdCB0byBmaXggYSBjb21waWxlciB3YXJuaW5nCgkgIERvbid0IHN0b3JlIGEgY29uc3QgZ2NoYXIgKiBpbiBhIG5vbi1jb25zdCBnY2hhciAqIGxvY2FsIHZhci4KCSAgQWxzbywgbWFrZSB0aGUgdHJhbnNsYXRpb24gc3RyaW5nIGZ1bmN0aW9uIHN0YXRpYyBzaW5jZSBpdCdzIG9ubHkKCSAgdXNlZCBpbiB0aGUgb25lIGZpbGUuCgoyMDA5LTA3LTE1IDE4OjEwOjA0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgIG1ldGFkYXRhOiBGaXggc29tZSBjb21waWxlciB3YXJuaW5ncwoJICBDYXN0IHNvbWUgZGVidWcgc3RyaW5nIHBhcmFtZXRlcnMgc28gdGhhdCB0aGV5IGRvbid0IGNhdXNlIG1pc21hdGNoZWQKCSAgdHlwZSB3YXJuaW5ncy4KCjIwMDktMDctMTUgMTY6MTc6MzUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1OiBGaXggYSBjb21waWxlciB3YXJuaW5nIGFib3V0IHVuaW5pdGlhbGlzZWQgdmFyaWFibGUgdXNlLgoKMjAwOS0wNi0xMCAxOToyMToyMSArMDEwMCAgR2FycmV0dCBEJ0Ftb3JlIDxnYXJyZXR0LmRhbW9yZUBzdW4uY29tPgoKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLXN3aXRjaC5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIG9zczQ6IEVuaGFuY2VtZW50cyB0byB0aGUgbWl4ZXIgYW5kIGF1ZGlvIG91dHB1dAoJICBDb2RlIGNsZWFudXBzLCBnZW5lcmFsIGltcHJvdmVtZW50cywgc3VwcG9ydCBmb3IgdGhlCgkgIG5ldyBtaXhlciBmbGFncyBpbiBsYXRlc3QgZ3N0LXBsdWdpbnMtYmFzZS4KCSAgRml4ZXM6ICM1ODQyNTIKCSAgUGF0Y2ggQnk6IEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCSAgUGF0Y2ggQnk6IEdhcnJldHQgRCdBbW9yZSA8Z2FycmV0dC5kYW1vcmVAc3VuLmNvbT4KCjIwMDktMDctMTUgMTg6Mjc6MzkgKzAxMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IGFkZCBjb21wb25lbnQgdGFnIHRvIHN0cnVjdHVyZSBmb3IgY29tcG9uZW50IG1lc3NhZ2UKCjIwMDktMDctMTUgMTc6NDQ6MTAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJICBjYW1lcmFiaW46IHVzZSBub25idWZmZXJlZCBpbyB0byBzYXZlIG1lbWNvcGllcwoJICBXZSB3cml0ZSBsYXJnZSBibG9ja3MgYW55d2F5LCBzbyBubyBleHRyYSBidWZmZXJpbmcgcGxlYXNlLiBBbHNvIHVzZSBvbmUKCSAgZ19vYmplY3Rfc2V0IHRvIHNldCBtdWx0aXBsZSBwcm9wZXJ0aWVzIG9uIHNhbWUgb2JqZWN0LgoKMjAwOS0wNy0xNSAxMjoyMDoxNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9UT0RPOgoJICBjYW1lcmFiaW46IHRyYWNrIHRvZG8gaXRlbXMKCjIwMDktMDctMTUgMTE6MTc6MzYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogbGVhdmUgaW1hZ2UvdmlkZW8gYmluIGluIHJlYWR5IHdoZW4gY2hhbmdpbmcgbW9kZQoKMjAwOS0wNy0xNCAxNDoxMDo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgYW1ycGFyc2U6IFN5bmMgYmFzZXBhcnNlIGNoYW5nZXMKCjIwMDktMDctMTQgMTQ6MDg6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIGFhY3BhcnNlOiBBZGQgZnVuY3Rpb24gZm9yIHRoZSBiYXNlcGFyc2Ugc3ViY2xhc3MgdG8gcHVzaCBidWZmZXJzIGRvd25zdHJlYW0KCSAgQWxzbyBoYW5kbGUgdGhlIGNhc2UgZ3JhY2VmdWxseSB3aGVyZSB0aGUgc3ViY2xhc3MgZGVjaWRlcyB0byBkcm9wCgkgIHRoZSBmaXJzdCBidWZmZXJzIGFuZCBoYXMgbm8gY2FwcyBzZXQgeWV0LiBJdCdzIHN0aWxsIHJlcXVpcmVkIHRvCgkgIGhhdmUgdmFsaWQgY2FwcyBzZXQgd2hlbiB0aGUgZmlyc3QgYnVmZmVyIHNob3VsZCBiZSBwYXNzZWQgZG93bnN0cmVhbS4KCjIwMDktMDctMTQgMTQ6MDc6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IEZpeCBzZWVrIGV2ZW50IGxlYWtpbmcKCjIwMDktMDctMTQgMTA6NDQ6NTggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSAgbWV0YWRhdGE6IGZpeCBjb3B5J24ncGFzdGUgaW4gdGFnIGRlc2NyaXB0aW9uCgoyMDA5LTA3LTEzIDE4OjA0OjE0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm86IEFkZCBlbnVtIHR5cGVzIGZvciBzY2hyb2VkaW5nZXIgc2V0dGluZ3MKCjIwMDktMDYtMzAgMTY6MzE6MTIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogRG9uJ3Qgc2VuZCBlbXB0eSBsYW5ndWFnZSBjb2RlIHN0cmluZ3MKCSAgSWdub3JlIGVtcHR5IGxhbmd1YWdlIGNvZGVzIG9uIHNvbWUgcG9vcmx5IGNvZGVkIERWRHMsIHJhdGhlciB0aGFuCgkgIHNldHRpbmcgZW1wdHkgc3RyaW5ncyBpbnRvIG91ciBvdXRnb2luZyB0YWdsaXN0LgoKMjAwOS0wNy0xMyAxMjoyNDowNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1ODQ1YjYzIHRvIGZlZGFhZWUKCjIwMDktMDctMTAgMjE6NDI6MTkgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBPbmx5IGVuYWJsZSBwYXVzZWQgbW9kZSBpZiB0aGUgcHJvcGVydHkgaXMgdHJ1ZQoKMjAwOS0wNy0xMCAxMzowMzo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbToKCSogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkgIGl2b3JiaXM6IGV4dHJhY3Qgdm9yYmlzIGNvbW1lbnRzCgkgIEZpeGVzICM1NzU4MTguCgoyMDA5LTA3LTA4IDE3OjU5OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogQWRkIEJHUkEgc3VwcG9ydCBmb3IgdmlkZW8gaW4vb3V0cHV0CgoyMDA5LTA3LTA4IDE1OjI2OjA3ICswMjAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwQGstZC13Lm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogRml4IGRvdWJsZSBmcmVlCgkgIFRoZSBoYXNoIHRhYmxlIGFscmVhZHkgbWFrZXMgc3VyZSB0aGF0IHRoZSBzdHJlYW0gaXMgY29ycmVjdGx5CgkgIGZyZWUnZCB3aGVuIGVsZW1lbnRzIGFyZSByZW1vdmVkLgoJICBGaXhlcyBidWcgIzU4NzgxOS4KCjIwMDktMDctMDggMTA6MTY6MTkgKzAxMDAgIE1pZ3VlbCDDgG5nZWwgRmFycsOpIDxtaXF1ZWwuZmFycmVAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBwYXJzZSBjb21wb25lbnQgdGFnCgoyMDA5LTA3LTA4IDEwOjExOjUyICswMTAwICBNaWd1ZWwgw4BuZ2VsIEZhcnLDqSA8bWlxdWVsLmZhcnJlQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBwYXJzZSBjYXJvdXNlbCBpZGVudGlmaWVyIGRlc2NyaXB0b3IKCjIwMDktMDctMDcgMTU6Mjg6MDQgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogYWRkIHBhcnNpbmcgb2YgZGF0YSBicm9hZGNhc3QgZGVzY3JpcHRvcnMKCjIwMDktMDctMDcgMjA6Mjg6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJICBiYXNldmlkZW86IExpbmsgd2l0aCBsaWJnc3R2aWRlbyBmb3Igc29tZSB1c2VkIGZ1bmN0aW9ucwoKMjAwOS0wNy0wNyAxOToxODoxNiArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkgIG1pbWVuYzogU2VuZCBwYXVzZSBmcmFtZXMgd2hlbiBwYXVzZWQKCjIwMDktMDctMDcgMTk6MTU6NDIgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBJZ25vcmUgcGF1c2UgZnJhbWVzCgoyMDA5LTA3LTA3IDE4OjI3OjM2ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogUHV0IGtleWZyYW1lL3BhdXNlZCBmbGFncyBpbiB0Y3AgaGVhZGVyCgoyMDA5LTA3LTA3IDE4OjE4OjA2ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogUHV0IHRpbWVzdGFtcCBvbiB0aGUgaGVhZGVyIGJ1ZmZlcgoKMjAwOS0wNy0wNyAxODoyMjo1NCArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkgIG1pbWVuYzogUmV0aW1lc3RhbXAgdG8gdGhlIHJ1bm5pbmcgdGltZQoKMjAwOS0wNy0wNiAxNzoxNzoyMiArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkgIG1pbWVuYzogU2F2ZSB0aGUgc2VnbWVudAoKMjAwOS0wNy0wNiAxNjoyNDo1OSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkgIG1pbWVuYzogQWRkIHByb3BlcnR5IGZvciB0aGUgcGF1c2VkIG1vZGUKCjIwMDktMDctMDMgMTY6MDg6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJICBiYXNldmlkZW8sIHNjaHJvZWRpbmdlcjogZ3VhcmQgdW5zdGFibGUgQVBJIHdpdGggR1NUX1VTRV9VTlNUQUJMRV9BUEkKCSAgQWRkIHNvbWUgZ3VhcmRzIGFuZCBmYXQgd2FybmluZ3MgdG8gdGhlIGhlYWRlciBmaWxlcyB3aXRoIHN0aWxsIHVuc3RhYmxlCgkgIEFQSSwgc28gcGVvcGxlIHdobyBqdXN0IGxvb2sgYXQgdGhlIGluc3RhbGxlZCBoZWFkZXJzIGtub3cgdGhhdCBpdAoJICBhY3R1YWxseSBpcyB1bnN0YWJsZSBBUEkuCgoyMDA5LTA3LTAyIDE1OjU4OjAwICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBmaXggc2R0IHBhcnNpbmcuCgkgIGZpeCBwYXJzaW5nIG9mIGV2ZXJ5dGhpbmcgZm9yIGVhY2ggc2VydmljZSBmcm9tIGVpdCBzY2hlZHVsZSBmbGFnIG9uIGFuZCBhbHNvCgkgIGFkZCBhIHJ1bm5pbmctc3RhdHVzIHBhcmFtZXRlciB0byB0aGUgYnVzIG1lc3NhZ2Ugc3RydWN0dXJlLgoKMjAwOS0wNy0wMiAxMToyNDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJICBzaGFwZXdpcGU6IEFkZCBzdXBwb3J0IGZvciBBUkdCIHZpZGVvIGlucHV0L291dHB1dAoKMjAwOS0wNy0wMSAxMDo1NToxMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3NjaHJvZWRpbmdlci9NYWtlZmlsZS5hbToKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyby5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3BhcnNlLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuaDoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkgIGJhc2V2aWRlbzogbW92ZSBmcm9tIC1iYXNlCgkgIEFsc28gbW92ZSBzY2hyb2VkaW5nZXIgcGx1Z2luLiAgVGhpcyBjcmVhdGVzIGEgbmV3IGxpYnJhcnksCgkgIGdzdGJhc2V2aWRlby0wLjEwLCB3aGljaCB3aWxsIHByb2JhYmx5IGJlIG1lcmdlZCBiYWNrIGludG8KCSAgZ3N0dmlkZW8tMC4xMCB3aGVuIHRoaXMgaXMgbW92ZWQgYmFjayB0byAtYmFzZS4KCjIwMDktMDctMDEgMTI6NTU6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwYmluOiB1c2UgbmV3IG1ldGhvZCBmb3IgbmV0YWRkcmVzcyB0byBzdHJpbmcKCjIwMDktMDYtMjkgMTc6MjQ6NTggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgZGlzdDogQWRkIGx2MiBwbHVnaW4gdG8gdGhlIGRpc3QKCjIwMDktMDYtMjkgMTY6Mzc6MDEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICBkaXN0OiBBZGQgdGhlIGNhbWVyYWJpbiBleGFtcGxlcyBzdWJkaXJlY3RvcnkgdG8gdGhlIGRpc3QKCjIwMDktMDYtMjkgMTg6NDg6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkgIHJ0cGJpbjogZG8gYmV0dGVyIGNsZWFudXAgb2YgdGhlIHNyYyBnaG9zdHBhZHMKCSAgQ29ubmVjdCB0byB0aGUgcGFkLXJlbW92ZWQgc2lnbmFsIG9mIHRoZSBwdGRlbXV4IGVsZW1lbnRzIHNvIHRoYXQgd2UgcmVtb3ZlIHRoZQoJICBnaG9zdHBhZHMgZm9yIHRoZW0uIEZpeGVzIGNsZWFudXAgd2hlbiBnb2luZyB0byBOVUxMIGFzIHdlbGwgYXMgd2hlbiByZWxlYXNpbmcKCSAgdGhlIHNpbmtwYWRzLgoJICBGaXhlcyAjNTYxNzUyCgoyMDA5LTA2LTI5IDE3OjQ4OjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgZG9jczogcmVtb3ZlIG9sZCBlbGVtZW50CgoyMDA5LTA1LTI4IDE5OjA4OjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBhZGQgYSBjb21tZW50CgoyMDA5LTA2LTI5IDE2OjM3OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cGJpbjogYWRkIFNERVMgcHJvcGVydHkKCSAgUmVtb3ZlIGFsbCBpbmRpdmlkdWFsIFNERVMgcHJvcGVydGllcyBhbmQgdXNlIG9uZSBzZGVzIHByb3BlcnR5IHRoYXQgdGFrZXMgYQoJICBHc3RTdHJ1Y3R1cmUgaW5zdGVhZC4gVGhpcyB3aWxsIGFsbG93IHVzIHRvIGFkZCBtb3JlIGN1c3RvbSBzdHVmZiB0byB0aGUgU0RFUwoJICBtZXNzYWdlcyBsYXRlci4KCjIwMDktMDYtMjkgMTY6MjE6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBydHBiaW46IGFkZCBTREVTIHByb3BlcnR5IHRoYXQgdGFrZXMgR3N0U3RydWN0dXJlCgkgIFJlbW92ZSBhbGwgaW5kaXZpZHVhbCBTREVTIHByb3BlcnRpZXMgYW5kIHVzZSBvbmUgc2RlcyBwcm9wZXJ0eSB0aGF0IHRha2VzIGEKCSAgR3N0U3RydWN0dXJlIGluc3RlYWQuIFRoaXMgd2lsbCBhbGxvdyB1cyB0byBhZGQgbW9yZSBjdXN0b20gc3R1ZmYgdG8gdGhlIFNERVMKCSAgbWVzc2FnZXMgbGF0ZXIuCgoyMDA5LTA2LTAyIDE3OjQ2OjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6CgkgIHJ0cGJpbjogcmVtb3ZlZCBvbGQgZ3N0cnRwY2xpZW50CgoyMDA5LTA2LTI5IDEyOjIzOjU5ICswMjAwICBBbmRvbmkgTW9yYWxlcyA8eWxhdHV5YSBhdCBnbWFpbC5jb20+CgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICBzZGw6IG9ubHkgaW5jbHVkZSBzeXMvdGltZS5oIHdoZW4gd2UgaGF2ZSBpdAoJICBGaXhlcyAjNTg2OTU2CgoyMDA5LTA2LTI5IDEyOjAyOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSAgZnJlaTByOiBDb3JyZWN0bHkgY2xlYW4gdXAgZWxlbWVudHMgdG8gYmUgcmV1c2FibGUgYW5kIG5vdCBsZWFrIG1lbW9yeQoKMjAwOS0wNi0yOSAxMTo1OToxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5oOgoJICBmcmVpMHI6IEluIHRoZSBmaWx0ZXIgcGx1Z2lucyBjcmVhdGUgdGhlIGZyZWkwciBpbnN0YW5jZXMgaW4gY3JlYXRlKCkgYmVmb3JlIHBsYXliYWNrIHN0YXJ0cwoKMjAwOS0wNi0yOSAxMTo1Njo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkgIGZyZWkwcjogSW4gdGhlIG1peGVyIHBsdWdpbnMgY3JlYXRlIHRoZSBmcmVpMHIgaW5zdGFuY2VzIGluIGNyZWF0ZSgpIGJlZm9yZSBwbGF5YmFjayBzdGFydHMKCjIwMDktMDYtMjkgMTE6NTQ6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSAgZnJlaTByOiBJbiB0aGUgc3JjIHBsdWdpbnMgY3JlYXRlIHRoZSBmcmVpMHIgaW5zdGFuY2VzIGluIGNyZWF0ZSgpIGJlZm9yZSBwbGF5YmFjayBzdGFydHMKCjIwMDktMDYtMjkgMTE6NTA6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSAgZnJlaTByOiBVc2UgZml4ZWQgY2FwcyBvbiB0aGUgZmlsdGVyIHBhZHMKCSAgVGhpcyBpcyByZXF1aXJlZCBiZWNhdXNlIHdlIGhhdmUgdG8gY3JlYXRlIGEgbmV3IGZyZWkwcgoJICBpbnN0YW5jZSBmb3IgYW55IGNhcHMgY2hhbmdlcyBhbmQgdGhlIGluc3RhbmNlcyBjYW4gaGF2ZSBoaXN0b3J5LgoJICBKdXN0IGNyZWF0aW5nIGEgbmV3IGluc3RhbmNlIGR1cmluZyBwbGF5YmFjayBjYW4gcmVzdWx0IGluIGJhZCBvdXRwdXQKCSAgcmlnaHQgYWZ0ZXIgdGhlIGNhcHMgY2hhbmdlLgoKMjAwOS0wNi0yNyAwOTo1MTowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IFNldCB0aGUgZGVmYXVsdCBwcm9wZXJ0eSB2YWx1ZXMgY29ycmVjdGx5CgoyMDA5LTA2LTI2IDE4OjM1OjA2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGNvZGUgY2xlYW51cHMKCSAgRG93bmdyYWRlIGEgV0FSTklORyB0byBJTkZPLiBVc2UgYSBiaXQgbW9yZSBjb21wYWN0IGNvZGUuIEFkZCBhIGZpeG1lIGNvbW1lbnQuCgoyMDA5LTA2LTI2IDE4OjM0OjM2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGp1c3QgcmVmIGNhcHMsIHdlIGRvbid0IG5lZWQgYSB3cml0YWJsZSBjb3B5CgoyMDA5LTA2LTI2IDE4OjMzOjQ3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IG5vIG5lZWQgdG8gcmVmIGFuZCB1bnJlZiB0aGlzIHRlbXBvcmFyaWx5CgoyMDA5LTA2LTI2IDE4OjMyOjQwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGRvbid0IGxlYWsgc2lua19jYXBzIGlmIHRoZXkgd291bGQgYmUgYW55LWNhcHMKCjIwMDktMDYtMjYgMTg6MzE6NTEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZG9uJ3QgbGVhayBwcmV2aWV3IGltYWdlcwoKMjAwOS0wNi0yNiAxODozMDowMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBkb24ndCBsZWFrIHZpZXdmaW5kZXItY2FwcwoKMjAwOS0wNi0yNiAxNjowNzo0MyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBjYW1lcmFiaW46IG1ha2Ugc2hvdDJzaG90IHRlc3QgbW9yZSByZWxpYWJsZQoJICBXZSBjYW4gb25seSB0cmlnZ2VyIG5leHQgc2hvdCAoaW4gdGhlIHRlc3QpIHdoZW4gY3VycmVudCBpcyBjYXB0dXJlZCBhbmQgc2F2ZWQuCgoyMDA5LTA2LTI2IDEzOjEwOjEyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkgIGNhbWVyYWJpbjogaW5zZXJ0IGEgZmV3IGJsYW5rIGxpbmVzIGZvciByZWFkYWJpbGl0eQoKMjAwOS0wNi0yNiAxMzowOToyNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGNhbWVyYWJpbjogZG9uJ3QgbGVhayBtZXNzYWdlcyBhbmQgZWxlbWVudCByZWZzIGluIHByZXZpZXcKCjIwMDktMDYtMjYgMTU6MTA6MDUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGF1dG9nZW4uc2g6CgkgIGF1dG9nZW4uc2g6IFVzZSBwcmludGYgaW5zdGVhZCBvZiAnZWNobyAtbicuIENoZWNrIGZvciBhdXRvbWFrZS0xLjFbMDFdCgkgIENoZWNrIGZvciBtb3JlIGF1dG9tYWtlIGNvbW1hbmQgdmFyaWFudHMuIFVzZSBwcmludGYgaW5zdGVhZCBvZiAnZWNobyAtbicKCSAgZm9yIHBvcnRhYmlsaXR5CgoyMDA5LTA2LTI2IDEzOjQyOjUxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGY4MTAwMzAgdG8gNTg0NWI2MwoKMjAwOS0wNi0yNiAwOTozMDoyMiArMDEwMCAgQ2hhbmd3b28gUnl1IDxjd3J5dUBkZWJpYW4ub3JnPgoKCSogZ3N0L2ZyZWV6ZS9NYWtlZmlsZS5hbToKCSAgZnJlZXplOiBkb24ndCBidWlsZCBwbHVnaW4gc3RhdGljIGxpYgoJICBQYXNzIC0tdGFnPWRpc2FibGUtc3RhdGljIHRvIGxpYnRvb2wgbGlrZSB3ZSBkbyBmb3Igb3RoZXIgcGx1Z2lucy4KCSAgRml4ZXMgIzU4NzAyMy4KCjIwMDktMDYtMjUgMTI6MzE6MzIgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIFVzZSBHU1RfV0FSTklORyBpbnN0ZWFkIG9mIGZwcmludGYuCgoyMDA5LTA1LTMwIDExOjE4OjIxIC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL1JFQURNRToKCSAgQWRkIExWMiBxdWljayBzdGFydCBSRUFETUUuCgoyMDA5LTA2LTI1IDE5OjIzOjE2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZG9uJ3QgbGVhayByZXF1ZXN0cGFkcwoJICBSZXF1ZXN0cGFkcyBuZWVkIHRvIGJlIHJlbGVhc2VkIGFuZCB1bnJlZmZlZC4gQWRkIGEgY29tbWVudCBpbiBvbmUgY2FzZSB3aGVyZQoJICB3ZSBpbnRlbnRpb25hbHkgZG9uJ3QgdW5yZWYuCgoyMDA5LTA2LTI1IDE5OjIxOjQ3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkgIGNhbWVyYWJpbjogc3luYyBmaXJzdCB0ZXN0IG1vcmUgc2FmZWx5CgkgIERvbid0IHVzZSBnc3RfZWxlbWVudF9nZXRfc3RhdGUoKSB0byB3YWl0IGZvciBQTEFZSU5HLCBVc2UgdGhlIGJ1cy1oYW5kbGVyCgkgIGluc3RlYWRlciBhbmQgYXN5bmNocm9ub3VzbHkgc2NoZWR1bGUgbmV4dCB0ZXN0LgoKMjAwOS0wNi0yNSAxNjo0MTo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5oOgoJICBjYXBzc2V0dGVyOiBpbXBvcnQgZWxlbWVudCBpbnRvIC1iYWQKCjIwMDktMDYtMjUgMDg6Mzg6MjEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgcXRtdXg6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUuCgoyMDA5LTA2LTI1IDA4OjM4OjEwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGaXggZGVidWcgc3RhdGVtZW50LgoKMjAwOS0wNi0yNCAxODo1NjoyOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBjYW1lcmFiaW46IGFkZCB0YXJnZXQtdGltZXMgb3B0aW9uIHRvIHNwZWNpZnkgdGVzdCB0aW1lcwoJICBIYXZlIHNvbWUgcmVhc29uYWJsZSBkZWZhdWx0IHRpbWVzLiBBZGQgYSBjb21tYW5kbGluZSBvcHRpb24gdG8gb3ZlcnJpZGUKCSAgZGVmYXVsdHMuIEludGVycHJldCB0YXJnZXQtdGltZT0wIGFzIHNraXAtdGVzdC4KCjIwMDktMDYtMjMgMTM6MDE6NTIgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogYnVmZmVyLWFsbG9jIHN1cHBvcnQgZml4ZXMgdG8gaW1hZ2UgYW5kIHZpZGVvIGJpbiBoYW5kbGluZwoJICBLZWVwIGltYWdlIGJpbiBpbiBQQVVTRUQgc3RhdGUgaW4gaW1hZ2UgbW9kZSBleGNlcHQgd2hlbiBwcm9jZXNzaW5nL3NhdmluZyAoUExBWUlORy9SRUFEWSkuCgkgIENoYW5nZSBvdXRwdXQtc2VsZWN0b3IgdG8gdmlldyBmaW5kZXIgYmVmb3JlIHNldHRpbmcgdmlkZW8gYmluIHRvIFJFQURZLgoJICBGaXggZmlsZW5hbWUgc2VudCB3aXRoIGltZy1kb25lIHNpZ25hbC4KCjIwMDktMDYtMjMgMTM6MDE6MTMgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5oOgoJICBjYW1lcmFiaW46IGZpeCBzZXR0aW5nIG11dGUgd2hlbiB2aWRlbyBiaW4gZWxlbWVudHMgaGF2ZW4ndCBiZWVuIGNyZWF0ZWQKCjIwMDktMDYtMTYgMTg6MTI6MjkgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogc2V0IGltYWdlIGJpbiB0byBQQVVTRUQgd2hlbiBzdGFydGluZyBjYXB0dXJlCgkgIFNldCBpbWFnZSBiaW4gdG8gUEFVU0VEIGFsc28gd2hlbiBzdGFydGluZyBjYXB0dXJlIHVzaW5nIHBob3RvZ3JhcGh5CgkgIGludGVyZmFjZS4KCjIwMDktMDQtMjEgMTA6NTU6MzYgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogbGVhdmUgdjRsMmNhbXNyYyAiY2FwdHVyZS1tb2RlIiBhcyB2aWRlbyBtb2RlIHdoZW4gcGF1c2luZwoKMjAwOS0wNi0yNCAxNToxNDozMyArMDEwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGYzYmI1MWIgdG8gZjgxMDAzMAoKMjAwOS0wNi0yMiAwMzo1NToyNyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSAgVkRQQVU6IE1vdmUgSTQyMC9ZVjEyIHRvIHRoZSBmcm9udCBvZiB0aGUgY2Fwcy4gQWRkIGRlYnVnLgoJICBNYWtlIEk0MjAvWVYxMiBjYXBzIGJlIHByZWZlcnJlZCB3aGVuIGRvd25sb2FkaW5nIHRvIFlVViBidWZmZXJzLAoJICB3aGVuIHBvc3NpYmxlLCBieSBsaXN0aW5nIHRoZW0gZmlyc3QgaW4gdGhlIHNldCBvZiBvdXRwdXQgY2Fwcy4KCSAgQWRkIHNvbWUgZGVidWcgaW4gdGhlIGNhcHMgc2VsZWN0aW9uIGNvZGUuCgoyMDA5LTA2LTIzIDE4OjAxOjE4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgeHZpZGVuYzogYWxzbyBhbGxvdyB2aWRlby9tcGVnIG9uIG91dHB1dCBjYXBzLiAgRml4ZXMgIzM3Nzc4NC4KCjIwMDktMDYtMjMgMTg6MjM6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBDb3JyZWN0bHkgaGFuZGxlIDAvMSBmcHMKCjIwMDktMDYtMjIgMjM6NTA6NDkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmg6CgkqIGV4dC9sdjIvTWFrZWZpbGUuYW06CgkqIGV4dC9sdjIvZ3N0bHYyLmg6CgkgIHNpZ25hbHByb2Nlc3NvcjogdXNlICQodG9wX2J1aWxkZGlyKSBpbnN0ZWFkIG9mIHJlbGF0aXZlIHBhdGhzCgoyMDA5LTA2LTIyIDIzOjQ5OjAzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJICBjYW1lcmFiaW46IGFkZCBsb2NhbCBpbmNsdWRlIGRpciB0byBDRkxBR1MKCjIwMDktMDQtMjggMjM6MjQ6NDUgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5oOgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJKiBleHQvbHYyL01ha2VmaWxlLmFtOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbHYyL2dzdGx2Mi5oOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvLmdpdGlnbm9yZToKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSAgV29ya2luZyBMVjIgcGx1Z2luIGRpc2NvdmVyeS4KCSAgLSBTZXBhcmF0ZSBnc3RzaWduYWxwcm9jZXNzb3IgaW50byBhIHNlcGFyYXRlIGxpYnJhcnkgKG5vdCBzdXJlIGlmIHRoaXMKCSAgaXMgaW4gdGhlIHJpZ2h0IHBsYWNlLCBidXQgaXQgd29ya3MgZm9yIG5vdyBhbnl3YXkpCgkgIC0gQ3JlYXRlIExWMiBlbGVtZW50IGJhc2VkIG9uIExBRFNQQSBlbGVtZW50LCBwb3J0IG1vc3QgZGlzY292ZXJ5CgkgIGZ1bmN0aW9uYWxpdHkKCjIwMDktMDMtMjkgMTM6MzE6MjEgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmg6CgkgIEZpeCBpbmNvbnNpc3RlbnQgc3R5bGUgKHRyaXZpYWwgdGVzdCBjb21taXQpLgoKMjAwOS0wMy0yOSAxMzoyMzowMiAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBBZGQgY29uZmlndXJlIGNoZWNrIGZvciBTTFYyLgoKMjAwOS0wNi0yMiAyMjowMToyMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZGVidWcgbG9nIG9ubHkgY2hhbmdlCgoyMDA5LTA2LTIyIDE4OjM1OjIxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgIG1ldGFkYXRhOiBtYXAgbW9yZSB0YWdzIGFuZCBmaXggcmVhZGluZyBvZiB4bXAgdGFncwoJICBSZWdpc3RlciB4bXAgc2NoZW1hcyBmb3IgcGhvdG9zaG9wIGFuZCBpcHRjLiBNYXAgYSBmZXcgbG9jYXRpb24gdGFncyB0aGVyZS4KCSAgQWRkIG1vcmUgZGMgdGFncy4gRml4IHJlYWRpbmcgeG1wIHRhZyBieSBpdGVyYXRpb24gb3ZlciBrbm93biBzY2hlbWFzLiBBZGQKCSAgc29tZSBtb3JlIGRlYnVnIGxvZ2dpbmcuCgoyMDA5LTA2LTE2IDE3OjEyOjI3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBtb3JlIGNsZWFudXAgaW4gdGVzdHMKCSAgQWRkIG1vcmUgZGVidWcgbG9nZ2luZy4gUmVtb3ZlIHVudXNlZCBtdXRleCBhbmQgY29uZC4KCjIwMDktMDYtMTIgMTQ6MjY6MjQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogY29kZSBjcnVmdCByZW1vdmFsIGFuZCBkZWJ1ZyBsb2dzCgkgIFJlbW92ZSB1bnVzZWQgY29kZS4gQWRkIGxvdHMgb2YgZGVidWcgbG9naW5nLiBDaGFuZ2UgY29tbWVudHMgZm9yIGxvY2FsCgkgIGZ1bmN0aW9ucyB0byBub3QgdXNlIC8qKiBndGstZG9jIHN0YXJ0IHN0eWxlLgoKMjAwOS0wNi0xMiAxMDo0MDo0OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmdsYWRlOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5nbGFkZToKCSAgY2FtZXJhYmluOiBhZGQgY2FtZXJhYmluIGV4YW1wbGVzCgkgIGdzdC1jYW1lcmEgaXMgYSBndGstdGVzdCBhcHAgdG8gcGxheSB3aXRoIHRoZSBpbWFnZWNhcHR1cmUgYW5kIHZpZGVvcmVjb3JkaW5nLgoJICBnc3QtY2FtZXJhLXBlcmYgaXMgYSB0b29sIHRvIHJ1biB2YXJpb3VzIHNjZW5hcmlvcyBhbmQgdGFrZSB0aW1lIG1lYXNzdXJlbWVudHMKCSAgKGUuZy4gc2hvdC10by1zaG90KS4gQWxzbyBzb3J0IHRoZSBvdXRwdXQgZmlsZXMgaW4gY29uZmlndXJlLmFjIGEgYml0IHRvIGJlCgkgIGluIGFscGhhYmV0aWNhbCBvcmRlci4KCjIwMDktMDYtMTAgMTE6MTU6MDEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgbWV0YWRhdGE6IGZpeCBjb252ZXJzaW9uIG9mIGdlbyBjb29yZGluYXRlcwoJICBDb29yZGluYXRlIGNvbnZlcnNpb24gaGFzIGJlZW4gdmVyaWZpZWQgd2l0aCBleGl2MiBhbmQgc29tZSB3ZWJwYWdlcy4KCSAgTWludXRlcyB3aGVyIHRvdGFsbHkgb2ZmIGFuZCBzZWNvbmRzIHdlcmUgbm90IHVzZWQgYXQgYWxsLgoKMjAwOS0wNi0yMiAxMToxOTowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZGV0ZWN0IGFuZCBmaXggZm9yIGJhZCBOQUxVIHNpemVzCgkgIHdoZW4gaW4gQVZDIG1vZGUgYSBuYWx1IHNpemUgc2VlbXMgaW52YWxpZCwgYXNzdW1lIHRoZSBOQUxVIGhhcyB0aGUgc2l6ZSBvZiB0aGUKCSAgYXZhaWxhYmxlIGRhdGEgaW5zdGVhZCBvZiBsb29waW5nIGZvcmV2ZXIuCgkgIEZpeGVzICM1ODYzNTQKCjIwMDktMDYtMTkgMjE6MjA6MjYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJICBWRFBBVTogQWRkIHNvbWUgZGVidWcgc3RhdGVtZW50cwoKMjAwOS0wNi0xOCAxNzowNjoyMyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJICBWRFBBVTogRml4IGJ1aWxkIGZsYWdzIHRvIHB1bGwgaW4gZ3N0LXBsdWdpbnMtYmFzZSBsaWJzCgoyMDA5LTA2LTE1IDE4OjMzOjA2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSAgVkRQQVU6IFJlZmFjdG9yIHRoZSBlcnJvciBwYXRoIHRvIGEgY29tbW9uIG91dHB1dCwgYW5kIGZpeCBhIGxlYWsuCgkgIERvbid0IGxlYWsgdGhlIGlucHV0IGJ1ZmZlciBvbiBlcnJvcnMuIEFkZCBzb21lIGRlYnVnIHN0YXRlbWVudHMuCgoyMDA5LTA2LTE1IDE4OjI5OjU2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICBWRFBBVTogRml4IHVwIGNhcHMgaW4gdmRwYXVtcGVnZGVjLiBSZW1vdmUgZXh0cmEgc2VtaWNvbG9uCgkgIEZpeCBhIHR5cG8gaW4gdGhlIGNhcHMgZm9yIHRoZSBWRFBBVSBtcGVnIGRlY29kZXIgKGNocm9tYV90eXBlLT5jaHJvbWEtdHlwZSkKCSAgYW5kIHVzZSB0aGUgR1NUX1ZEUF9WSURFT19DQVBTIGZvciB0aGUgcGFkIHRlbXBsYXRlLgoJICBSZW1vdmUgYSBzdHJheSBzZW1pY29sb24uCgoyMDA5LTA2LTEyIDE2OjM5OjM5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSAgVkRQQVU6IEVuaGFuY2UgdGhlIGNvbmZpZ3VyZSB0ZXN0cwoJICBDaGVjayBmb3IgdGhlIFZEUEFVIGhlYWRlcnMgaW4gL3Vzci9pbmNsdWRlL252aWRpYSBhcyB0aGV5IGFyZSBvbiBzb21lCgkgIHBsYXRmb3JtcyAoRmVkb3JhL3JwbWZ1c2lvbikuIEFsc28gY2hlY2sgdGhhdCB0aGUgbGlidmRwYXUgbGlicmFyeSBpcwoJICBhdmFpbGFibGUuCgoyMDA5LTA2LTA5IDIzOjE0OjI2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiB1c2UgZml4ZWQgc3JjIGNhcHMKCjIwMDktMDYtMDggMTQ6MzU6MjkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5oOgoJICB2ZHBhdW1wZWdkZWM6IGRyb3AgYWxsIGZyYW1lcyBiZWZvcmUgYSBHT1Agd2hlbiB3ZSBzZWVrCgoyMDA5LTA2LTA4IDE0OjE1OjAzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiBzbWFsbCBjbGVhbnVwCgoyMDA5LTA2LTA3IDIzOjQ2OjM4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2Lmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5oOgoJICB2ZHBhdTogcy9JU19WRFBBVS9JU19WRFAKCjIwMDktMDYtMDcgMDE6MjU6MDEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdW1wZWdkZWM6IHNlbmQgbmV3c2VnbWVudCBldmVudCBpZiBvbmx5IHRoZSByYXRlIGhhcyBiZWVuIHVwZGF0ZWQKCjIwMDktMDYtMDcgMDE6MTI6NTAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5oOgoJICB2ZHBhdW1wZWdkZWM6IHVzZSBtdXRleCB0byBwcm90ZWN0IG1wZWdfZGVjLT5zZWVraW5nIGZyb20gY29uY3VycmVudCBhY2Nlc3MKCjIwMDktMDYtMDcgMDA6NTU6NTUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdW1wZWdkZWM6IHVzZSBnc3RfcGFkX2dldF9wYXJlbnQgZm9yIHRocmVhZHNhZmV0eQoKMjAwOS0wNi0wNiAyMToyNzo1MiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogZnVydGhlciB3b3JrIG9uIHNlZWtpbmcKCjIwMDktMDYtMDUgMjM6MTE6MTggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSAgdmRwYXVtcGVnZGVjOiBzbWFsbCBjbGVhbnVwcwoKMjAwOS0wNi0wNSAyMjoyODowMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogc2V0IEdTVF9CVUZGRVJfRkxBR19ERUxUQV9VTklUIG9uIG5vbiBJX0ZSQU1FJ3MKCjIwMDktMDYtMDUgMjE6NDg6MjggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdW1wZWdkZWM6IHJlbmFtZSBnc3R2ZHBtcGVnZGVjb2Rlci5bY2hdIHRvIGdzdHZkcG1wZWdkZWMuW2NoXQoKMjAwOS0wNi0wNSAyMTo0NjowOCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdW1wZWdkZWM6IHJlbmFtZSBHc3RWZHBNcGVnRGVjb2RlciB0byBHc3RWZHBNcGVnRGVjCgoyMDA5LTA2LTA1IDIxOjQyOjMwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdW1wZWdkZWM6IHBhc3MgYnVmZmVyIHNpemUgZGlyZWN0bHkgdG8gZ3N0X3ZkcF9tcGVnX2RlY29kZXJfZGVjb2RlCgoyMDA5LTA2LTA1IDIxOjE4OjQ3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogc21hbGwgY2xlYW51cAoKMjAwOS0wNi0wNSAyMToxNjo0OCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSAgdmRwYXVtcGVnZGVjOiBjYWxjdWxhdGUgYnl0ZXJhdGUgZnJvbSB0aGUgc2l6ZSBvZiB0aGUgaW5jb21pbmcgZGF0YQoKMjAwOS0wNi0wNSAxOTowODoyNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IHByaW50IGZyYW1lX25yIGluIGRlYnVnIHByaW50CgoyMDA5LTA2LTA1IDE4OjI4OjE3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogaW50ZXJsYWNlZCBmaXhlcwoKMjAwOS0wNi0wNSAxODoxODozOCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IG9ubHkgc2V0IGJhc2UgZHVyYXRpb24gb25jZQoKMjAwOS0wNi0wNSAxNzo1MzoxNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGRvbid0IHNlbmQgdGhlIEVWRU5UX05FV1NFR01FTlQgZG93bnN0cmVhbSBpZiB3ZSdyZSBzZWVraW5nCgoyMDA5LTA2LTA1IDE3OjQzOjQ5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdW1wZWdkZWM6IGltcGxlbWVudCBzZWVraW5nCgoyMDA5LTA2LTA1IDExOjU0OjE3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogY2hhbmdlIGEgR1NUX0RFQlVHIHRvIEdTVF9XQVJOSU5HCgoyMDA5LTA2LTA1IDExOjUyOjMyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdW1wZWdkZWM6IHJlbW92ZSB1bnVzZWQgYnJva2VuX2dvcCBmaWVsZAoKMjAwOS0wNi0wNSAxMTo1MTo0MSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGFkZCBuZXcgZ3N0X3ZkcF9tcGVnX2RlY29kZXJfZmx1c2ggZm9yIGZsdXNoaW5nIHRoZSBkZWNvZGVyCgoyMDA5LTA2LTA1IDExOjI0OjM0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogdXNlIEdTRV9ERUJVR19GVU5DUFRSCgoyMDA5LTA2LTA1IDExOjIwOjU2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogZG9uJ3QgZHJvcCBkaXNjb250IGJ1ZmZlcnMKCjIwMDktMDYtMDUgMTE6MTc6MTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuaDoKCSAgdmRwYXVtcGVnZGVjOiBoYW5kbGUgR1NUX1FVRVJZX1BPU0lUSU9OIGFuZCBHU1RfUVVFUllfRFVSQVRJT04KCjIwMDktMDYtMDQgMjE6MTc6NDAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuaDoKCSAgdmRwYXVtcGVnZGVjOiBjYWxjdWxhdGUgY29ycmVjdCBkdXJhdGlvbiBmcm9tIGRhdGEgaW4gTVBFR19QQUNLRVRfRVhUX1BJQ1RVUkVfQ09ESU5HCgoyMDA5LTA2LTA0IDE5OjMwOjAyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdW1wZWdkZWM6IGZpeCBzbyB0aGF0IHRoZSBmaXJzdCBmcmFtZSBpbiBhIHJhdyBtcGVndmlkZW8gc3RyZWFtIGdldCB0aW1lc3RhbXAgMAoKMjAwOS0wNi0wNCAxOToxNzoxNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJICB2cGRhdW1wZWdkZWM6IHJlbW92ZSB1c2VsZXNzIEdzdFZkcERlY29kZXIgYmFzZWNsYXNzCgoyMDA5LTA2LTA0IDE4OjExOjA2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuaDoKCSAgdmRwYXVtcGVnZGVjOiB1c2UgR3N0Qml0UmVhZGVyIHRvIHBhcnNlIGJpdHN0cmVhbQoKMjAwOS0wNS0wNiAyMzowNzowMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkgIHZkcGF1OiBjaGFuZ2UgZWxlbWVudCByYW5rIGZvciB0ZXN0aW5nIHB1cnBvc2VzCgkgIHNldCBtcGVndmlkZW9wYXJzZSByYW5rIHRvIHByaW1hcnkgYW5kIHZkcGF1bXBlZ2RlYyB0byBwcmltYXJ5IC0gMSB0byBnZXQgdmRwYXVtcGVnZGVjCgkgIGNvcnJlY3RseSBwbHVnZ2VkIGludG8gcGxheWJpbgoKMjAwOS0wNS0wNSAyMzoxOTo1NiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1OiBhZGQgZGVidWcgb24gR3N0VmRwRGV2aWNlIGRlc3Ryb3kKCjIwMDktMDUtMDUgMjM6MTM6MjUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBzbWFsbCBjb2RlIGNsZWFudXAKCjIwMDktMDUtMDUgMjM6MDg6NTEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiByZW1vdmUgdW5udXNlZCBHc3RWZHBCRnJhbWUgc3RydWN0CgoyMDA5LTA1LTA1IDIzOjA3OjA2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBmaXggc21hbGwgdHlwbyBpbiBkZWJ1ZyBwcmludAoKMjAwOS0wNS0wNSAxODo1NDozMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmg6CgkgIHZkcGF1bXBlZ2RlYzogZml4dXAgdGltZXN0YW1waW5nIG9mIG91dGdvaW5nIGJ1ZmZlcnMKCjIwMDktMDUtMDUgMTg6NDU6MDcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBkb24ndCBhZGQgZm9yd2FyZF9yZWZlcmVuY2UgaWYgdGhlIGZyYW1lIGlzIGFuIElfRlJBTUUKCjIwMDktMDUtMDUgMTg6Mzc6NTAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBzZXQgY29ycmVjdCB0aW1lc3RhbXBzCgoyMDA5LTA1LTA1IDE3OjMwOjMzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdW1wZWdkZWM6IHJlbW92ZSB1bm5lZWRlZCBsb2NraW5nIHNpbmNlIHdlIGtub3cgZG8gU3RhdGVDaGFuZ2UgY29ycmVjdGx5CgoyMDA5LTA1LTA1IDE3OjI4OjE5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJICBzL0dTVF9UWVBFX1ZEUEFVL0dTVF9UWVBFX1ZEUC9nCgoyMDA5LTA1LTA1IDE3OjIwOjE2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmg6CgkgIHZkcGF1OiBzL0dTVF9UWVBFX1ZEUEFVL0dTVF9UWVBFX1ZEUC9nCgoyMDA5LTA1LTA1IDE3OjE1OjMzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogZml4dXAgc3RhdGUgY2hhbmdlCgoyMDA5LTA1LTA1IDE2OjI5OjI0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJICB2ZHBhdTogaW5pdCAidmRwYXVkZXZpY2UiIGRlYnVnIGNhdG9lZ29yeSBpbiBnc3RfdmRwX2dldF9kZXZpY2UKCjIwMDktMDUtMDUgMDg6MTE6MDMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBob2xkIHRoZSBsb2NrIGluIGNoYW5nZV9zdGF0ZQoKMjAwOS0wNS0wMyAyMTo1Mjo0OSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJICB2ZHBhdW1wZWdkZWM6IHRoZSBCX0ZSQU1FIGRlY29kaW5nIHdhcyBjb21wbGV0ZWx5IHdyb25nLCBmaXggaXQKCSAgdGhlIGJ1ZmZlcnMgZG9uJ3QgY29tZSBpbiBvdXRwdXQgb3JkZXIgc28gZml4IHRoZSBkZWNvZGVyIHRvIGhhbmRsZSB0aGlzCgkgIGFkZCBuZXcgZ3N0X3ZkcF92aWRlb19idWZmZXJfYWRkX3JlZmVyZW5jZSBtZXRob2QgdG8gR3N0VmRwVmlkZW9CdWZmZXIgdG8gYmUgYWJsZSB0byBrZWVwCgkgIGJ1ZmZlcnMgYWxpdmUuIEllLiBhIEJfRlJBTUUgbmVlZCB0byBoYXZlIGJvdGggdGhlIGZvcndhcmQgcmVmZXJlbmNlIGFuZCB0aGUgYmFja3dhcmQKCSAgcmVmZXJlbmNlIGFsaXZlIGR1cmluZyBpdCdzIGxpZmV0aW1lLgoJICBhZGQgbXV0ZXggdG8gcHJvdGVjdCBmb3IgdGhyZWFkc2FmZXR5IGlzc3VlcyB3aGVuIHdlIHJlc2V0IHRoZSBkZWNvZGVyIGluIEZMVVNIX1NUT1AKCjIwMDktMDQtMzAgMjE6NTg6MDEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSAgdmRwYXVtcGVnZGVjOiBzZXQgZnVsbF9wZWxfZm9yd2FyZF92ZWN0b3IgdG8gMCB3aGVuIHBpY190eXBlID09IFBfRlJBTUUKCjIwMDktMDQtMjcgMjE6MzA6NTkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBkcm9wIGZyYW1lcyBpZiB3ZSBoYXZlbid0IGdvdCBhbiBJX0ZSQU1FIHlldAoKMjAwOS0wNC0yNyAyMDo1NzoxMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSAgdmRwYXU6IHNldCB2ZHBhdXZpZGVveXV2IGFuZCB2ZHBhdXl1dnZpZGVvIHRvIEdTVF9SQU5LX1BSSU1BUlkKCjIwMDktMDQtMjcgMjA6NTA6MTEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBkZXN0cm95IHRoZSBWZHBEZWNvZGVyIGFuZCByZXNldCB0aGUgZGVjb2RlciBvbiBzdGF0ZSBjaGFuZ2UKCjIwMDktMDQtMjcgMjA6NDU6MTEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkgIHZkcGF1OiBmaXggZXJyb3Igd2hlcmUgd2UgZm9yZ290IHRvIHBhc3MgYSB0cmFpbGluZyBOVUxMIHRvIGdfb2JqZWN0X25ldwoKMjAwOS0wNC0yNyAyMDoyMTo0NCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSAgdmRwYXU6IGNsb3NlIGRpc3BsYXkgb24gZmluYWxpemUKCjIwMDktMDQtMjcgMjA6MTg6NTIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJICB2ZHBhdTogc21hbGwgZml4ZXMKCSAgaW5pdCBjcmVhdGUgR3N0VmRwRGV2aWNlIG9uIEdTVF9TVEFURV9DSEFOR0VfUkVBRFlfVE9fUEFVU0VEIGluc3RlYWQgb2Ygb24KCSAgR1NUX1NUQVRFX0NIQU5HRV9OVUxMX1RPIFJFQURZCgkgIGFkZCBiYWNrIGluY3JlbWVudGluZyBvZiBmcmFtZV9ucgoKMjAwOS0wNC0yNyAyMDoxNTowNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSAgdmRwYXU6IHVzZSBnX29uY2VfaW5pdF9lbnRlciBpbnN0ZWFkIG9mIGdfb25jZQoKMjAwOS0wNC0yNyAxODozNDo1MyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGlmIGF2YWlsYWJsZSB1c2UgaW5jb21pbmcgYnVmZmVyIHRpbWVzdGFtcCBhcyBvdXRwdXQgdGltZXN0YW1wCgoyMDA5LTA0LTI3IDE1OjEyOjI2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogY2xlYXIgdGhlIGFkYXB0ZXIgd2hlbiB3ZSByZXNldCB0aGUgZGVjb2RlcgoKMjAwOS0wNC0yNiAyMzoyNTozMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmg6CgkgIHZkcGF1OiBmaXh1cCByZW5hbWluZwoJICB0aGUgcmVuYW1lIHdvcmsgZG9uZSBpbiBjb21taXQgMjRjZjg0ZDA2YjJmNGIyZWRlYzMzODNiMTk4NDQxYTA3ODI5NjE4YiBkaWRuJ3QKCSAgaW5jbHVkZSB0eXBlY2FzdHMuIFRoaXMgY29tbWl0IGZpeGVzIHRoaXMuCgoyMDA5LTA0LTI2IDIzOjIwOjMwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogcmVzZXQgZGVjb2RlciBvbiBHU1RfRVZFTlRfRkxVU0hfU1RPUAoKMjAwOS0wNC0yNiAyMjowNToxMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IHJlc2V0IGRlY29kZXIgd2hlbiB3ZSBnZXQgYSBkaXNjb250IGJ1ZmZlcgoKMjAwOS0wNC0yNiAyMDo0MDo0NSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGFkZCAiTVBFR19QQUNLRVRfRVhUX1BJQ1RVUkVfQ09ESU5HIiBkZWJ1ZyBzdGF0ZW1lbnQKCjIwMDktMDQtMjIgMjM6MzU6MDcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuaDoKCSAgdmRwYXVtcGVnZGVjOiBoYW5kbGUgYnJva2VuX2dvcCBmaWVsZAoKMjAwOS0wNC0yMiAyMTowNDo1OCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJICB2ZHBhdW1wZWdkZWM6IGNvbnZlcnQgYWxsIG1hbnVhbCBwYXJzaW5nIHRvIHVzZSByZWFkX2JpdHMgaW5zdGVhZAoKMjAwOS0wNC0yMiAyMDoyODoxOSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IHJlbW92ZSB1bm5lZGVkIGdzdF9idWZmZXJfcmVmIGFuZCB0aGUgYWNjb21wYW55aW5nIGdzdF9idWZmZXJfdW5yZWYKCjIwMDktMDQtMjIgMjA6MjU6NTUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBmaXh1cCBlcnJvciB3aGVyZSB3ZSBzZXQgZm9yd2FyZF9yZWZlcmVuY2UgaW5zdGVhZCBvZiBiYWNrd2FyZF9yZWZlcmVuY2UKCjIwMDktMDQtMTYgMjM6NDM6MjQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJICB2ZHBhdW1wZWdkZWM6IGhhbmRsZSBtdWx0aXBsZSBCX0ZSQU1FcyBpbiBhIHJvdwoKMjAwOS0wNC0xNiAyMjozMDoyNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IG1vcmUgQl9GUkFNRSB3b3JrCgoyMDA5LTA0LTE2IDIyOjA2OjUwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdW1wZWdkZWM6IGluaXRhbCBzdXBwb3J0IGF0IGhhbmRsaW5nIEJfRlJBTUVTCgoyMDA5LTA0LTE1IDIzOjQ5OjA3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogZml4dXAgR3N0Rmxvd1JldHVybiBwcm9wYWdhdGlvbiBhIGJpdAoKMjAwOS0wNC0xNSAyMzozODo1MyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmg6CgkgIHZkcGF1bXBlZ2RlYzogcGFyc2UgUElDVFVSRV9DT0RJTkdfRVhURU5TSU9OIGFsdGVybmF0ZV9zY2FuIGJpdAoKMjAwOS0wNC0xNSAyMzozMTozMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSAgdmRwYXVtcGVnZGVjOiBmaXh1cCBxdWFudG1hdHJpeCBleHRlbnNpb24gcGFyc2luZwoKMjAwOS0wNC0xNSAxODoxNzo1NCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGNvcnJlY3Qgc29tZSBkZWZhdWx0IHZhbHVlcwoJICBtcGVnMSBub3cgZ2l2ZSBuZWFybHkgY29ycmVjdCBvdXRwdXQgOikKCjIwMDktMDQtMTUgMTc6NTI6MjcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSAgdmRwYXVtcGVnZGVjb2RlcjogcmVtb3ZlIHVudXNlZCBzbGljZSBmaWVsZAoKMjAwOS0wNC0xNCAyMzo0Nzo0MCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJICB2ZHBhdTogcmVuYW1lICJ2aWRlby92ZHBhdS12aWRlbyIgY2FwcyB0byAidmlkZW8veC12ZHBhdS12aWRlbyIKCjIwMDktMDQtMTQgMjE6MDc6MzIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5oOgoJICB2ZHBhdTogcmVtb3ZlICJzaWxlbnQiIHByb3BlcnR5IGZyb20gR3N0VmRwRGVjb2RlcgoKMjAwOS0wNC0xNCAyMTowNTo0NCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkgIHZkcGF1OiBkb24ndCBzZXQgZWxlbWVudCBkZXRhaWxzIGluIEdzdFZkcERlY29kZXIKCjIwMDktMDQtMTQgMjE6MDQ6NTkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWNvZGVyOiByZW5hbWUgdG8gInZkcGF1bXBlZ2RlYyIKCjIwMDktMDQtMTQgMTk6MDg6NTMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkgIHZkcGF1bXBlZ2RlY29kZXI6IHJlbW92ZSB1bm5lY2VzYXJ5IHdhbnRfc2xpY2UgZmllbGQKCjIwMDktMDQtMTMgMjI6MjE6MDMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkgIHZkcGF1OiBzbWFsbCBjb3NtZXRpY2FsIGZpeAoKMjAwOS0wNC0xMyAyMjoxOToyMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXUuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW95dXYuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1eXV2dmlkZW8uYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1eXV2dmlkZW8uaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2Lmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uaDoKCSAgdmRwYXU6IHJlbmFtZSBhbGwgZmlsZXMgYW5kIG9iamVjdHMgZnJvbSBWZHBhdSB0byBWZHAKCjIwMDktMDQtMTMgMjE6MjM6MzggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdTogZGVjb2RlIHNsaWNlcyB3aGVuIHdlIGdldCB0aGUgbmV4dCBwaWN0dXJlIGhlYWRlci4gTVBFRzIgbm93IGtpbmRvZiB3b3Jrcy4KCjIwMDktMDQtMTMgMjE6MTE6NTQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSAgdmRwYXU6IHNtYWxsIGltcHJvdmVtZW50IHRvIG1wZWcgZGVjb2RlcgoKMjAwOS0wNC0xMyAyMDowNDoyMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV2aWRlb3l1di5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV5dXZ2aWRlby5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV5dXZ2aWRlby5oOgoJICB2ZHBhdTogcmVtb3ZlIHVudXNlZCAic2lsZW50IiBwcm9wZXJ0aWVzCgoyMDA5LTA0LTEzIDE5OjM2OjUzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1eXV2dmlkZW8uYzoKCSAgdmRwYXU6IGltcGxlbWVudCBHc3RWZHBhdVZpZGVvQnVmZmVyIC0+IEk0MjAgY29udmVyc2lvbgoKMjAwOS0wNC0wOSAxNjo1NDoyNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV5dXZ2aWRlby5jOgoJICB2ZHBhdTogbW92ZSBkZWZpbml0aW9uIG9mIHRoZSBWZHBDaHJvbWFUeXBlIGFycmF5IGFuZCB0aGUgVmRwYXVGb3JtYXRzIHRvIGdzdGRldmljZS5oCgoyMDA5LTA0LTA3IDIxOjUxOjQ4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSAgdmRwYXU6IHNtYWxsIGZpeAoJICBzZXQgdmRwX2luZm8uZm9yd2FyZF9yZWZlcmVuY2UgdG8gVkRQX0lOVkFMSUQgaGFuZGxlIHdoZW4gdW5yZWZmaW5nIHRoZSBvbGQKCSAgYnVmZmVyCgoyMDA5LTA0LTA3IDIwOjQ2OjQ5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXUuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV5dXZ2aWRlby5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXV5dXZ2aWRlby5oOgoJICB2ZHBhdTogYWRkIG5ldyBHc3RWZHBhdVlVVlZpZGVvIGVsZW1lbnQKCSAgdGhlIEdzdFZkcGF1WVVWVmlkZW8gZWxlbWVudCB0YWtlcyByYXcgWVVWIHZpZGVvIGFuZCBvdXRwdXRzCgkgIEdzdFZkcGF1VmlkZW9CdWZmZXJzCgoyMDA5LTA0LTA0IDIyOjQ1OjA5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW95dXYuYzoKCSAgdmRwYXU6IFZpZGVvWVVWIHVucmVmIGJ1ZmZlciBpbiBjaGFpbiBzbyB0aGF0IHdlIGRvbid0IGxlYWsgdGhlbSBNcGVnRGVjb2RlciBwYXJzZSBzZXF1ZW5jZSBoZWFkZXJzCgoyMDA5LTA0LTA0IDIyOjA1OjExICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdTogcmVtb3ZlIHNvbWUgdW5uZWRlZCBpbmNsdWRlcwoKMjAwOS0wNC0wNCAyMjowMzoyMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGF1LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW95dXYuYzoKCSAgdmRwYXU6IG1vdmUgcGx1Z2luIGRlZmluaXRpb24gdG8gYSBuZXcgZ3N0dmRwYXUuYyBmaWxlIGZpeCB1cCBkZWJ1ZyBjYXRlZ29yaWVzCgoyMDA5LTA0LTA0IDIwOjUzOjM1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW95dXYuaDoKCSAgdmRwYXU6IGFkZCBuZXcgR3N0VmRwYXVWaWRlb1lVViBlbGVtZW50CgkgIEdzdFZkcGF1RGVjb2RlciBub3cgcHVzaGVzIEdzdFZkcGF1VmlkZW9CdWZmZXJzIGluc3RlYWQgb2YgZG9pbmcKCSAgVmRwU3VyZmFjZSAtPiBZVVYgY29udmVyc2lvbi4gVG8gZ2V0IFlVViBkYXRhIHlvdSBub3cgcHV0IGluIGEgR3N0VmRwYXVWaWRlb1lVVgoJICBlbGVtZW50IHdoaWNoIHRha2VzIEdzdFZkcGF1VmlkZW9CdWZmZXJzIGFuZCBvdXRwdXRzIFlVViBkYXRhLgoKMjAwOS0wNC0wMyAxNzo1OTowMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1OiBzbWFsbCBpbmRlbnQgZml4CgoyMDA5LTA0LTAzIDE3OjU4OjI1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGV2aWNlLmM6CgkgIHZkcGF1OiByZW1vdmUgb2Jvc29sZXRlIEZJWE1FIGFuZCBzb21lIGRlYnVnIHByaW50cyBmcm9tIGdzdHZkcGF1ZGV2aWNlLmMKCjIwMDktMDQtMDMgMTc6NTM6MjEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0LXZkcGF1LWRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZXZpY2UuaDoKCSAgdmRwYXU6IGNvbW1pdCByZW5hbWUgb2YgZ3N0LXZkcGF1LWRldmljZS5oIHRvIGdzdHZkcGF1ZGV2aWNlLmgKCjIwMDktMDQtMDMgMTc6NTI6MjAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0LXZkcGF1LWRldmljZS5jOgoJICB2ZHBhdTogcmVtb3ZlIGdzdC12ZHBhdS1kZXZpY2UuYwoKMjAwOS0wNC0wMyAxNzo1MToxNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZXZpY2UuYzoKCSAgdmRwYXU6IHJlbmFtZSBnc3QtdmRwYXUtZGV2aWNlLltjaF0gdG8gZ3N0dmRwYXVkZXZpY2UuW2NoXQoKMjAwOS0wNC0wMSAyMTo0Mjo1NiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJICB2ZHBhdTogY2hhbmdlIGFsbCByZWZlcmVuY2VzIG9mICJnc3RfdmRwYXVkZWNvZGVyKiIgdG8gImdzdF92ZHBhdV9kZWNvZGVyIgoKMjAwOS0wNC0wMSAyMTo0MDoxNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSAgdmRwYXU6IG1ha2UgdGhlIGRlY29kZXIgY2xlYW4gdXAgYWZ0ZXIgaXRzZWxmCgoyMDA5LTA0LTAxIDIxOjI2OjQ1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJICB2ZHBhdTogcmVtb3ZlIGV4dHJhIFwgZnJvbSBNYWtlZmlsZS5hbQoKMjAwOS0wNC0wMSAyMToxOToxOCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdC12ZHBhdS1kZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdC12ZHBhdS1kZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmg6CgkgIHZkcGF1OiBhZGQgZ3N0dmRwYXVkZXZpY2UgZm9yIGFic3RyYWN0aW5nIHZkcGF1IGluaXRhbGl6YXRpb24KCjIwMDktMDMtMzEgMjI6NTQ6MTQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdTogcmVtb3ZlIGNvbW1lbnQKCjIwMDktMDMtMzEgMjI6NTM6NDAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmg6CgkgIHZkcGF1OiBNUEVHMSBkZWNvZGluZyBrbm93IGdpdmVzIHJlY29nbml6YWJsZSBvdXRwdXQKCjIwMDktMDMtMjkgMTU6Mjg6MDYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5oOgoJICB2ZHBhdTogY3JlYXRlIFZkcERlY29kZXIgaW4gc2V0X2NhcHMgYWRkIG1vcmUgZnVuY3Rpb25zIGZvciBwYXJzaW5nIG1wZWcKCjIwMDktMDMtMjcgMTc6MTE6MDQgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvdmRwYXV2YXJpYWJsZXMuaDoKCSAgdmRwYXU6IHN0b3JlIHZkcGF1IGZ1bmN0aW9uIHBvaW50ZXJzIGluIGEgbG9jYWwgc3RydWN0dXJlCgoyMDA5LTAzLTI3IDE2OjU1OjE5ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuaDoKCSAgdmRwYXU6IGV4dHJhY3QgbXBlZzIgcHJvZmlsZSBmcm9tIGNvZGVjX2RhdGEKCjIwMDktMDMtMjYgMjE6MDQ6NDggKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuaDoKCSAgdmRwYXU6IGV4dHJhY3QgbXBlZyB2ZXJzaW9uCgoyMDA5LTAzLTI1IDIwOjQxOjQ2ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1aDI2NGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1aDI2NGRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSAgdmRwYXU6IGFkZCB2ZXJzaW9uIHNwZWNpZmljYXRpb24gdG8gbXBlZ2RlY29kZXIgY2FwcwoKMjAwOS0wMy0yNSAyMDozODoyNyArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuaDoKCSAgdmRwYXU6IGZvY3VzIG9uIG1wZWcgaW5zdGVhZCBvZiBoMjY0CgoyMDA5LTAzLTI1IDE5OjU5OjA2ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS92ZHBhdXZhcmlhYmxlcy5oOgoJICB2ZHBhdTogcm91Z2ggdHJ5IGF0IGltcGxlbWVudGluZyBwdXNoaW5mIG9mIFlWMTIgYnVmZmVycwoKMjAwOS0wMy0yNCAyMjoyNjo1NiArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSAgdmRwYXU6IHJlbW92ZSBvYnNvbGV0ZSBjb21tZW50CgoyMDA5LTAzLTIzIDIxOjM2OjU1ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS92ZHBhdXZhcmlhYmxlcy5oOgoJICB2ZHBhdTogaW5pdCB2ZHBhdSBpbiBHU1RfU1RBVEVfQ0hBTkdFX05VTExfVE9fUkVBRFkgYWRkIGdzdF92ZHBhdWRlY29kZXJfcHVzaF92aWRlb19zdXJmYWNlIHRvIHZkcGF1ZGVjb2Rlci5oCgoyMDA5LTAzLTIzIDIwOjQ3OjAwICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkgIHZkcGF1OiBhZGQgc3R1YnMgZm9yIHB1c2hpbmcgVmRwVmlkZW9TdXJmYWNlcyB0byB0aGUgc3JjIHBhZAoKMjAwOS0wMy0yMSAyMjowNjoxMiArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWgyNjRkZWNvZGVyLmM6CgkgIHZkcGF1OiB1cGRhdGUgVmRwYXVIMjY0RGVjb2RlciBlbGVtZW50IGRlc2NyaXB0aW9uCgoyMDA5LTAzLTIwIDIxOjI2OjExICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJICB2ZHBhdTogY2hhbmdsZSBnc3R2ZHBhdWRlY29kZXIuYyBjbGFzc2lmaWNhdGlvbgoKMjAwOS0wMy0yMCAyMToyNDo0MCArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWgyNjRkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWgyNjRkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS92ZHBhdXZhcmlhYmxlcy5oOgoJICB2ZHBhdTogaW1wbGVtZW50IGRvd25zdHJlYW0gY2FwcyBuZWdvdGlhdGlvbgoKMjAwOS0wMy0xNSAyMToyMzozNSArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSAgdmRwYXU6IHNtYWxsIGluZGVudGF0aW9uIGZpeAoKMjAwOS0wMy0xNSAyMToyMTo0OSArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkgIHZkcGF1OiBhZGQgYmFzaWMgYmFzZSBjbGFzcyBmb3IgdmRwYXUgZGVjb2RlcnMKCjIwMDktMDMtMTQgMTA6NDM6MjggKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJICBhZGQgbmV3IHZkcGF1IGRpcmVjdG9yeQoKMjAwOS0wNi0xOSAxOTowOToxOSArMDIwMCAgQnJhbmtvIFN1YmFzaWMgPGJyYW5rby5zdWJhc2ljIGF0IGF4aXMuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluX2J1ZmZlcl9saXN0LmM6CgkgIHJ0cGJpbjogYWRkIHN1cHBvcnQgZm9yIGJ1ZmZlci1saXN0CgkgIEFkZCBzdXBwb3J0IGZvciBzZW5kaW5nIGJ1ZmZlci1saXN0cy4KCSAgQWRkIHVuaXQgdGVzdCBmb3IgdGVzdGluZyB0aGF0IHRoZSBidWZmZXItbGlzdCBwYXNzZWQgdGhyb3VnaCBydHBiaW4uCgkgIGZpeGVzICM1ODU4MzkKCjIwMDktMDYtMTggMTI6MTM6MjggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBBRElGOiBkbyBub3Qgc2VuZCBib2d1cyB0aW1lc3RhbXBzLCBsZWF2ZSB0byBkb3duc3RyZWFtIChkZWNvZGVyKQoKMjAwOS0wNi0xMSAxNTo1NDo0MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBxdG11eDogb25seSB1c2UgKDY0LWJpdCkgZXh0ZW5kZWQgKG1kYXQpIGF0b20gc2l6ZSBpZiBuZWVkZWQuICBGaXhlcyAjNTg1MzE5LgoKMjAwOS0wNi0xMCAxNDo0NjoxNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHNldCBkZWZhdWx0IG1vdmllIHRpbWVzY2FsZSB0byBtaWNyb3NlY29uZCB1bml0cwoKMjAwOS0wNi0xMCAxMzoyNDoyMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgcXRtdXg6IGNvbXByZXNzL29wdGltaXplIHN0c2Mgd3JpdGluZwoKMjAwOS0wNi0xMCAxMjo0Mjo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogYWRkIDNHUCBzdHlsZSB0YWdnaW5nIChhbmQgcmVmYWN0b3IgYXBwcm9wcmlhdGVseSkKCjIwMDktMDYtMDEgMjM6MDA6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eCAoYW5kIHZhcmlhbnRzKTogaGFuZGxlIHBpeGVsLWFzcGVjdC1yYXRpby4gIEZpeGVzICM1ODQzNTguCgoyMDA5LTA2LTE5IDE3OjA0OjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIEZpeCBwcmV2aW91cyBjb21taXQgc28gdGhhdCB0aGluZ3Mgc3RpbGwgd29yayB3aXRoIGRlYnVnIGxvZ3MgZW5hYmxlZAoKMjAwOS0wNi0xOSAxNjoyMToyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgTWFrZSBidWlsZCB3aXRob3V0IHdhcm5pbmdzIHdpdGggZGVidWdnaW5nIGRpc2FibGVkCgoyMDA5LTA2LTE2IDIxOjM0OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSAgZnJlaTByOiBNYWtlIHBsdWdpbiBzY2FubmluZyBtb3JlIHJvYnVzdAoKMjAwOS0wNi0xNiAyMToyNzozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IE1ha2Ugc3VyZSB0byBvbmx5IHJlZ2lzdGVyIHBsdWdpbnMgdGhhdCBoYXZlIHZhbGlkIHByb3BlcnQgdHlwZXMKCjIwMDktMDYtMTYgMTk6NDI6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJICBmcmVpMHI6IFJlbW92ZSBjdXN0b20gZ2V0X3VuaXRfc2l6ZSBpbXBsZW1lbnRhdGlvbgoJICBUaGlzIGlzIGFscmVhZHkgaGFuZGxlZCBieSB0aGUgZGVmYXVsdCBvbmUgZnJvbSBHc3RWaWRlb0ZpbHRlcgoKMjAwOS0wNi0xNSAxNzowNTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJICBmcmVpMHI6IEZpeCB0aGUga2xhc3Mgb2YgdGhlIGZpbHRlciBlbGVtZW50cwoKMjAwOS0wNi0xNCAxOTo0MToyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkgIGZyZWkwcjogRnJlZSB0eXBlIG5hbWVzCgoyMDA5LTA2LTE0IDE5OjM1OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSAgZnJlaTByOiBVbnJlZiB0aGUgR3N0Q29sbGVjdFBhZHMgaW5zdGFuY2Ugb24gZmluYWxpemUKCjIwMDktMDYtMTQgMTk6Mjc6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSAgZnJlaTByOiBEb24ndCBhbGxvdyBjYXBzIGNoYW5nZXMgaW4gUExBWUlORy9QQVVTRUQKCSAgTW9zdCBmcmVpMHIgc291cmNlIHBsdWdpbnMgZ2VuZXJhdGUgb3V0cHV0IGJhc2VkIG9uCgkgIHByZXZpb3VzIG91dHB1dCBhbmQgY3JlYXRpbmcgYSBuZXcgaW5zdGFuY2Ugb24gY2FwcwoJICBjaGFuZ2VzIHdpbGwgbGV0IHRoZSBvdXRwdXQgc3RhcnQgYXQgMCBhZ2Fpbi4KCjIwMDktMDYtMTQgMTk6MjE6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmg6CgkgIGZyZWlyMDogQWRkIHN1cHBvcnQgZm9yIGZyZWkwciBtaXhlciBwbHVnaW5zCgoyMDA5LTA2LTEzIDEwOjA2OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkgIGZyZWkwcjogRGVzdHJveSB0aGUgZjByX2luc3RhbmNlX3QgaW4gc3RvcCgpCgoyMDA5LTA2LTEyIDIyOjA0OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkgIGZyZWkwcjogQWRkIHRoZSBmcmVpMHIgcGx1Z2luIHR5cGUgdG8gdGhlIGVsZW1lbnQgbmFtZQoJICBUaGlzIG1ha2VzIGl0IGVhc2llciB0byBkaXN0aW5ndWlzaCBnZW5lcmF0b3JzIGZyb20gZmlsdGVycywgZXRjCgoyMDA5LTA2LTEyIDIyOjAwOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmg6CgkgIGZyZWkwcjogQWRkIHN1cHBvcnQgZm9yIGZyZWkwciBzb3VyY2UvZ2VuZXJhdG9yIHBsdWdpbnMKCjIwMDktMDYtMTIgMTU6MTM6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBBbGxvdyB0aGUgY29tcGxldGUgZG91YmxlIHJhbmdlIGZvciBkb3VibGUgcHJvcGVydGllcwoJICBUaGUgc3BlYyByZXN0cmljdHMgaXQgdG8gWzAsMV0gYnV0IHNvbWUgcGx1Z2lucyBhcmUgdXNpbmcgdGhlCgkgIGNvbXBsZXRlIGRvdWJsZSByYW5nZS4KCjIwMDktMDYtMTIgMTU6MDc6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBVc2UgYmV0dGVyIHByb3BlcnR5IG5pY2tzCgoyMDA5LTA2LTEyIDE0OjU5OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ZyZWkwci9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWkwci9mcmVpMHIuaDoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuaDoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuaDoKCSAgZnJlaTByOiBGaXJzdCB2ZXJzaW9uIG9mIGEgZnJlaTByIHdyYXBwZXIgcGx1Z2luCgkgIEN1cnJlbnRseSB0aGlzIG9ubHkgc3VwcG9ydHMgZnJlaTByIGZpbHRlcnMuCgoyMDA5LTA2LTE0IDIwOjAwOjUxICswMjAwICBNYXhpbWlsaWFuIEjDtmduZXIgPHBibWF4aUBob2VnbmVycy5kZT4KCgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogRXhwbGljaXRlbHkgY2FzdCB0byBzaWduZWQgaW50ZWdlcnMgdG8gZml4IGEgc2VnZmF1bHQKCSAgRml4ZXMgYnVnICM1ODU2NjAuCgoyMDA5LTA2LTA5IDE5OjE0OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkgIHNoYXBld2lwZTogSW1wbGVtZW50IGJhc2ljIFFvUwoJICBUaGlzIGNoYW5nZSBpcyBiYXNlZCBvbiBUaW0ncyBRb1MgaW1wbGVtZW50YXRpb24KCSAgZm9yIGpwZWdkZWMuCgoyMDA5LTA2LTA5IDE4OjQ1OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogUHJveHkgcXVlcmllcyBvbiB0aGUgdmlkZW8gcGFkcyB0byB0aGUgY29ycmVjdCBwZWVycwoKMjAwOS0wNi0wOSAxODozNzo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IFByb3h5IGJ1ZmZlcmFsbG9jIG9uIHRoZSB2aWRlbyBzaW5rcGFkCgoyMDA5LTA2LTA5IDE4OjI1OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogVHJ5IHRvIHdvcmsgaW5wbGFjZSBpZiBwb3NzaWJsZQoJICBUaGlzIHNhdmVzIG9uZSBuZXcsIGxhcmdlIGFsbG9jYXRpb24gcGVyIGZyYW1lIGZvciB0aGUKCSAgbW9zdCBjYXNlcy4KCjIwMDktMDYtMTYgMTg6NDY6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogZml4IHN0cmF5IHNlbWljb2xvbnMgdGhhdCBtZXNzIHVwIGlmIHN0YXRlbWVudAoKMjAwOS0wNi0xMSAxMzo0MjoyMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IEJ1bXAgY29tbW9uIHRvIGNvcnJlY3QgdXBsb2FkLWRvYy5tYWssIGZpeCBhIGNvbW1lbnQgaW4gdGhlIGRvYyBNYWtlZmlsZQoKMjAwOS0wNi0xOCAyMDozMzowMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC4xMy4xCgoyMDA5LTA2LTE4IDA4OjUzOjEyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSAgQWRkIDAuMTAuMTMgcmVsZWFzZSBlbnRyeSB0byB0aGUgZG9hcCBmaWxlCgo9PT0gcmVsZWFzZSAwLjEwLjEzID09PQoKMjAwOS0wNi0xOCAwODoyOTo1NiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGRnbWltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTMKCjIwMDktMDYtMTcgMjE6NTY6NTYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOS0wNi0xNiAxNzowOToyNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJICBjYW1lcmFiaW46IHJlc2V0IGZpbGVuYW1lIGFmdGVyIGNhcHR1cmUgdG8gYXZvaWQgcmFjeSB3aGVuIGNhcHR1cmluZyBhZ2FpbgoJICBJZiB3ZSBkb24ndCByZXNldCB0aGUgZmlsZW5hbWUgd2UgY2Fubm90IGNoZWNrIGlmIHdlIHN0aWxsIGV4cGVjdCB0aGUgZmlsZW5hbWUKCSAgZm9yIGEgc3Vic2VxdWVudCBjYXB0dXJlIHBhc3MuIFRoZSBpbWFnZWJpbiB3b3VsZCBnb29kIHRvIHBhdXNlZCBhbmQgd2Ugc2V0IHRoZQoJICBmaWxlbmFtZSBpbiB0aGF0IHN0YXRlLiBUaGlzIHRyaWdlcnMgYW4gZXJyb3ItbWVzc2FnZSBhbmQgd291bGQgY2FwdHVyZSB0byB0aGUKCSAgb2xkIGZpbGVuYW1lLgoKMjAwOS0wNi0xMiAxMDoyOToyMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGNsZWFudXBzIGluIHRoZSB0ZXN0cwoJICBTcHJpbmtsZSBtb3JlIGxvZ2dpbmcgdG8gbWFrZSBpdCBlYXNpZXIgdG8gZm9sbG93LiBTcGVjaWZ5IGEgbG93IGZyYW1lcmF0ZSBhbmQKCSAgY2FwdHVyZSByZXNvbHV0aW9uIHRvIGF2b2lkIHRlc3RzIHRpbWluZyBvdXQuIE1ha2UgdGhlIHNpbmtzIHN5bmMgdG8gdGVzdCBjbG9zZXIKCSAgdG8gcmVhbGl0eS4gRml4IE1ha2VmaWxlIHRvIHVzZSB1bmluc3RhbGxlZCBpbnRlcmZhY2UuCgoyMDA5LTA2LTEyIDEwOjI2OjMwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogc2V0IGltYWdlYmluIHRvIFBBVVNFRCBvbiBjYXB0dXJlIGFuZCBkZWxheWVkIGZpbGVuYW1lIHNldHRpbmcKCSAgV2UgbmVlZCB0byBzZXQgaW1hZ2ViaW4gdG8gUEFVU0VEIHRvIG5vdCBmYWlsIHRoZSBidWZmZXJhbGxvYy4gV2UgYWxzbyBuZWVkIHRvCgkgIGtlZXAgdGhlIGZpbGVzaW5rcyBzdGF0ZSBsb2NrZWQgdW50aWwgd2UgaGF2ZSB0aGUgZmlsZW5hbWUgZm9yIHRoZSBydW4uCgoyMDA5LTA2LTEyIDEwOjE0OjI3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgb3V0cHV0c2VsZWN0b3I6IGRvIHRoZSBwYWRfYWxsb2MgZm9yIHRoZSBwYWQgdGhhdCBpcyBwZW5kaW5nIGFuZCBoYXZlIGEgZmFsbGJhY2sKCSAgV2Ugc2hvdWxkIGRvIHRoZSBwYWRfYWxsb2MgZm9yIHRoZSBwZW5kaW5nIHBhZCBpZiBhbnksIGFzIHdlIHdpbGwgc3dpdGNoIHRvIHRoYXQKCSAgcGFkIG9uIG5leHQgX2NoYWluKCkgY2FsbC4gQWxzbyBkbyBhIGZhbGxiYWNrIGFsbG9jLCBpZiB0aGVyZSBpcyBubyBvdXRwdXQgeWV0IHRvCgkgIG5vdCBmYWlsIHN0YXRlIHRyYW5zaXRpb25zIGluIGR5bmFtaWMgcGlwZWxpbmVzLgoKMjAwOS0wNi0xMSAxNjowMDozNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogQnVtcCB3aW4zMiBjb25maWcuaCB2ZXJzaW9uIG51bWJlciB0b28KCjIwMDktMDYtMDUgMjI6NDM6NTAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vTElOR1VBUzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTIuMyBwcmUtcmVsZWFzZQoKMjAwOS0wNi0wNiAyMToyODoyNyArMDQwMCAgTFJOIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJICBBZGRlZCBiYXNlIGxpYnMgdG8gZGVidWcgdXRpbHMgbWFrZWZpbGUKCSAgRml4ZXMgIzU4NTAxNQoKMjAwOS0wNi0wNyAxMDo1NTo1OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9tZXRhZGF0YS5jOgoJICB0ZXN0cy9tZXRhZGF0YTogRG9uJ3QgdHJ5IHRhZ3Mgd2UgY2FuJ3QgaGFuZGxlLiBGaXhlcyAjNTg0OTQ1CgoyMDA5LTA2LTA2IDE5OjI4OjA3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2hkdnBhcnNlL01ha2VmaWxlLmFtOgoJICBoZHZwYXJzZTogTGluayBhZ2FpbnN0IGxpYm0gYmVjYXVzZSB3ZSB1c2UgcG93KCkuCgoyMDA5LTA2LTA2IDEzOjUzOjA0ICswMTAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogRG9uJ3QgYnVpbGQgdGhlIG14ZiBleGFtcGxlIGlmIEdUSyBpc24ndCBwcmVzZW50LgoKMjAwOS0wNi0wNiAxMzoxNzo0OSArMDEwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHJhb3AuYzoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkgIGFwZXhzaW5rOiBGaXggY29tcGlsZXIgd2FybmluZ3MKCSAgRml4IGNvbXBpbGUgd2FybmluZ3Mgb24gc29sYXJpcyBmcm9tIGJ6ZXJvIG5vdCBiZWluZyBkZWNsYXJlZCAodXNlCgkgIG1lbXNldCBpbnN0ZWFkKSwgYW5kIHN0cmljdC1hbGlhc2luZyB3YXJuaW5ncyAodXNlIGEgdGVtcG9yYXJ5CgkgIHZhcmlhYmxlKS4KCjIwMDktMDYtMDYgMDI6MzU6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzbXV4OiBpbml0IGdlbnJlIGZpZWxkIGluIElEM3YxIHRhZyB0byBhbiBpbnZhbGlkIG51bWJlcgoJICBTbyB0aGF0IGl0IGlzIG5vdCBpbnRlcnByZXRlZCBhcyAnQmx1ZXMnIGlmIG5vIGdlbnJlIGlzIHRvIGJlIHdyaXR0ZW4uCgoyMDA5LTA2LTA2IDAxOjA1OjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkgIGlkM211eDogZG9uJ3Qgd3JpdGUgSUQzdjEgdGFnIHVudGlsIHNwZWNpZmljYWxseSBpbnN0cnVjdGVkIHRvIGRvIHNvCgkgIElEM3YxIHRhZ3MgYXJlIG9uZSBvZiB0aGUgbW9zdCBicm9rZW4gYW5kIGlsbC1kZXNpZ25lZCB0aGluZ3MgdGhhdAoJICBleGlzdCBvbiB0aGlzIHBsYW5ldC4gTGV0J3Mgbm90IHdyaXRlIHRoZW0gYnkgZGVmYXVsdC4KCjIwMDktMDYtMDYgMDA6NTg6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzbXV4OiBkb24ndCB3cml0ZSBlbXB0eSBJRDN2MSB0YWcKCjIwMDktMDYtMDYgMDA6Mzk6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGdzdC9pZDN0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4Lmg6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzdGFnLmM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzdGFnLmg6CgkqIGdzdC9pZDN0YWcvZ3N0dGFnbXV4LmM6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmg6CgkgIGlkM3RhZzogcmVuYW1lIG5ldyBpZDN0YWcgZWxlbWVudCB0byBpZDNtdXggcmVwbGFjaW5nIHRoZSBvbmUgcmVtb3ZlZCBmcm9tIC11Z2x5CgoyMDA5LTA2LTA1IDIzOjUyOjA1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbnNmL25lczY1MDIuYzoKCSAgbnNmOiBGaXggY29tcGlsZXIgd2FybmluZyBvbiBTb2xhcmlzLgoJICBBIFNFQygpIG1hY3JvIGFscmVhZHkgZXhpc3RzIG9uIFNvbGFyaXMsIGNhdXNpbmcgd2FybmluZ3MgYWJvdXQKCSAgcmVkZWZpbmluZyBpdC4KCjIwMDktMDYtMDUgMjI6MjA6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSAgaGR2cGFyc2U6IEZpeCB0aGUgYnVpbGQgb24gQ29tbWFuZGVyIFRoYXl0YW4ncyBTMTBTUAoKMjAwOS0wNi0wNSAxOTo1MzowOSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgZ2l0aWdub3JlOiBJZ25vcmUgc2hhcGV3aXBlIHVuaXQgdGVzdCBiaW5hcnkKCjIwMDktMDYtMDUgMTk6MzI6MjYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3gyNjQvR3N0WDI2NEVuYy5wcnM6CgkqIGV4dC94MjY0L01ha2VmaWxlLmFtOgoJKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkqIGV4dC94MjY0L2dzdHgyNjRlbmMuaDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBNb3ZlZCAneDI2NGVuYycgZnJvbSAtYmFkIHRvIC11Z2x5CgoyMDA5LTA2LTA1IDIxOjE3OjU1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2FtZXJhYmluOiBmaXggbGluayBvcmRlcgoJICBNb3ZlIGxvY2FsIHZlcnNpb24gdXAgaW4gdGhlIGxpbmsgb3JkZXIuCgoyMDA5LTA2LTA1IDIwOjIyOjE3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkgIGhkdnBhcnNlOiBFbWl0IGEgR1NUX01FU1NBR0VfRUxFTUVOVCB3aXRoIHNvbWUgZ29vZG5lc3MgaW4gaXQuCgoyMDA5LTA2LTA1IDEwOjQ5OjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBBZGQgbWV0aG9kcyB0byBnZXQgbmFtZXMgb2YgdmFyaW91cyB2YWx1ZXMuCgoyMDA5LTA2LTA1IDEwOjQ4OjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBGaXggSERWIHByaXZhdGUgc3RyZWFtIGRlZmluaXRpb24vY2Fwcy4KCjIwMDktMDYtMDUgMTA6NDc6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSAgaGR2cGFyc2U6IFJld3JpdGUgZnJvbSBzY3JhdGNoLiBIYW5kbGUgYm90aCBoZHYtYSBhbmQgaGR2LXYKCSAgVGhpcyB0aW1lIHdlIGFuYWx5emUgYSBsb3QgbW9yZSBpbmZvcm1hdGlvbi4KCSAgU3RpbGwgbmVlZCB0byByZS1hZGQgdGhlIG1lc3NhZ2UgZW1pc3Npb24uCgoyMDA5LTA2LTA1IDE2OjQ4OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBjb3JyZWN0IGZyYW1lc2l6ZSByYW5nZQoJICBBIENFTFQgZnJhbWVzaXplIGNhbiBiZSBiZXR3ZWVuIDY0IGFuZCA1MTIgc2FtcGxlcy4KCSAgRml4IGEgdHlwbyBpbiB0aGUgYml0cmF0ZSBwcm9wZXJ0eSBkZXNjcmlwdGlvbi4KCjIwMDktMDUtMjcgMTE6MzM6MDEgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3Lmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHByZXZpZXcgaW1hZ2Ugc2VuZGluZyBvcHRpbWl6YXRpb24KCSAgKiBkZWNvdXBsZSBpbWFnZSBjYXB0dXJpbmcgZnJvbSBpbWFnZSBwb3N0LXByb2Nlc3NpbmcgYW5kIGVuY29kaW5nCgkgICogcG9zdCBpbWFnZS1jYXB0dXJlZCBtZXNzYWdlIGFmdGVyIGltYWdlIGlzIGNhcHR1cmVkCgkgICogcG9zdCBwcmV2aWV3LWltYWdlIG1lc3NhZ2Ugd2l0aCBzbmFwc2hvdCBvZiBjYXB0dXJlZCBpbWFnZQoKMjAwOS0wNS0xOSAxNjo1ODozNiArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJICBjYW1lcmFiaW46IGRvbid0IGxvc2UgcG9zdCBwcm9jZXNzaW5nIGVsZW1lbnQgaW4gZmlyc3QgcmVzZXQKCjIwMDktMDUtMTIgMTI6NDk6MzMgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSAgY2FtZXJhYmluOiBhZGQgZGVidWcgaW5jbHVkaW5nIGRvdCBncmFwaCB3cml0aW5nCgoyMDA5LTA1LTA1IDE0OjE5OjQ2ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHVuYmxvY2sgaWYgZXJyb3Igb2NjdXJzIGR1cmluZyBjYXB0dXJlCgoyMDA5LTA1LTA0IDEwOjMzOjE4ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5LmM6CgkgIGNhbWVyYWJpbjogaWdub3JlIG5pZ2h0IG1vZGUgaGFuZGxpbmcgaWYgYWxyZWFkeSBpbiBuaWdodCBtb2RlCgoyMDA5LTA1LTA0IDEwOjMyOjEwICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHN0b3Agb25nb2luZyBjYXB0dXJlIGlmIGNoYW5naW5nIHJlc29sdXRpb24KCjIwMDktMDQtMjMgMTg6MTU6NDMgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSAgY2FtZXJhYmluOiBsaW1pdCB0aGUgc2l6ZSBvZiB2aWRlbyBiaW4gcXVldWUgbGVhZGluZyB0byB2aWV3IGZpbmRlcgoJICBXZSBkb24ndCB3YW50IHRvIHNob3cgb2xkIGJ1ZmZlcnMgaW4gdmlldyBmaW5kZXIuCgoyMDA5LTA0LTIyIDEyOjI5OjE0ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnhvdmVybGF5LmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlueG92ZXJsYXkuaDoKCSAgY2FtZXJhYmluOiBkb24ndCBwcm94eSBnc3QgeG92ZXJsYXkgaW50ZXJmYWNlCgkgIERlZmF1bHQgdmlldyBmaW5kZXIgc2luayBpbiBjYW1lcmFiaW4gaXMgYXV0b3ZpZGVvc2luayB3aGljaCBkb2Vzbid0CgkgIHN1cHBvcnQgeG92ZXJsYXkgaWZhY2UuIElmIGFwcGxpY2F0aW9uIGRlY2lkZXMgdG8gdXNlIGFub3RoZXIgc2luawoJICB0aGF0IHN1cHBvcnRzIHhvdmVybGF5LCB0aGVuIGl0IGNhbiB1c2UgdGhlIGludGVyZmFjZSBkaXJlY3RseS4KCjIwMDktMDQtMjAgMTc6MDY6MTQgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuYzoKCSAgY2FtZXJhYmluOiBhbGxvdyBjb25maWd1cmluZyBwaG90b2dyYXBoeSBzZXR0aW5ncyB3aGVuIGluIE5VTEwgc3RhdGUKCSAgQ2FjaGUgdGhlIHBob3RvZ3JhcGh5IHNldHRpbmdzIGlmIHNldCBpbiBOVUxMIHN0YXRlIGFuZCBhcHBseSB0aGVtIGxhdGVyCgoyMDA5LTA0LTIwIDE3OjA1OjQ5ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90b2dyYXBoeTogYWRkIGZ1bmN0aW9ucyB0byBzZXQvZ2V0IGFsbCBzZXR0aW5ncyB3aXRoIG9uZSBjYWxsCgoyMDA5LTAzLTA5IDE4OjAwOjQ1ICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGNyb3Agc3RpbGwgaW1hZ2UgY2FwdHVyZSBmcmFtZSBpZiBuZWNlc3NhcnkKCSAgSWYgaW5jb21pbmcgc3RpbGwgaW1hZ2UgY2FwdHVyZSBmcmFtZSBhc3BlY3QgcmF0aW8gZGlmZmVycyBmcm9tIGFzcGVjdAoJICByYXRpbyB0aGF0IGFwcGxpY2F0aW9uIHJlcXVlc3RlZCwgdGhlbiBhcHBseSBjcm9wIHRvIHRoZSBmcmFtZS4KCjIwMDktMDYtMDUgMTA6MjU6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkgIGRvY3M6IGFkZCBpbnNwZWN0IGZpbGVzIGZvciBuZXcgcGx1Z2lucwoKMjAwOS0wNi0wNSAxMDoxNjoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkgIGRvY3M6IGZpeCBidWlsZCBvZiBwbHVnaW4gZG9jcyBieSB1cGRhdGluZyBpbnNwZWN0IHRlbXBsYXRlcwoJICBUaGUgeG1sIGluc3BlY3QgZGF0YSBvZiB0aGUgZGVidWd1dGlsc2JhZCBwbHVnaW4gZGlkbid0IGNvbnRhaW4gdGhlCgkgIGRhdGEgZm9yIHRoZSBmcHNkaXNwbGF5c2luayBlbGVtZW50IChzb21lb25lIHByb2JhYmx5IHJhbiAnbWFrZSB1ZHBhdGUnCgkgIGluIGRvY3MvcGx1Z2lucyB3aXRoIHRoZSBvbGQgbGliZ3N0ZnBzZGlzcGxheXNpbmsuc28gZnJvbSBiZWZvcmUgdGhlCgkgIHJlbmFtZSBzdGlsbCBhcm91bmQpLgoKMjAwOS0wNi0wNSAxMDozNDozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMveG1sL2VsZW1lbnQtZnBzZGlzcGxheXNpbmstZGV0YWlscy54bWw6CgkgIFJldmVydCAiZG9jczogYWRkIGRvYyBmaWxlIGZybyBuZXcgcGx1Z2luIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDAzOWVmM2ViMDcyNTU1YjdjYTM4ZmMzNTFjYTM4NmJiNjgwY2NjY2MuCgkgIFdlIGRvbid0IHRyYWNrIHRoZSBzdHVmZiBpbiB4bWwvIGluIGdpdC4KCjIwMDktMDYtMDUgMTE6MTg6MzEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy94bWwvZWxlbWVudC1mcHNkaXNwbGF5c2luay1kZXRhaWxzLnhtbDoKCSAgZG9jczogYWRkIGRvYyBmaWxlIGZybyBuZXcgcGx1Z2luCgoyMDA5LTA2LTAxIDE2OjMxOjQyICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgb3V0cHV0LXNlbGVjdG9yOiBzZXJpYWxpemUgc2V0dGluZyBhbmQgYWN0dWFsIGNoYW5naW5nIG9mIG5ldyBhY3RpdmUgcGFkCgoyMDA5LTA1LTA0IDEyOjI5OjU0ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgb3V0cHV0LXNlbGVjdG9yOiB1bnJlZiBsYXRlc3QgYnVmZmVyIGFsc28gd2hlbiByZXNlbmRpbmcgaGFzIGJlZW4gZGlzYWJsZWQKCjIwMDktMDQtMTYgMTc6MzI6MDMgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBvdXRwdXQtc2VsZWN0b3I6IGtlZXAgcmVmIHRvIGJ1ZmZlciBmb3IgcmVzZW5kaW5nIG9ubHkgaWYgZXhwbGljaXRseSByZXF1ZXN0ZWQKCjIwMDktMDYtMDQgMTk6MDg6MTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBkb24ndCBsZWFrIHBhZHMgaW4gaXRlcmF0b3IKCjIwMDktMDYtMDQgMTY6Mjk6MzEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuYzoKCSAgbXBlZ2RlbXV4OiBBZGQgYSBHU1RfTUVNRFVNUCBsaW5lIGluIHRoZSBkZXNjcmlwdG9yIHBhcnNpbmcKCSAgTWFrZSBpdCBwb3NzaWJsZSB0byBzZWUgZGVzY3JpcHRvciBjb250ZW50cyBpbiB0aGUgZGVidWcgb3V0cHV0CgkgIChHU1RfREVCVUc9bXBlZ3RzZGVzYzo5KSwgYW5kIHJlbW92ZSBhIHN0cmF5IHNlbWktY29sb24uCgoyMDA5LTA2LTA0IDE2OjExOjE2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBBdm9pZCBwYXNzaW5nIHRoZSBjdXN0b20gR1NUX0ZMT1dfTkVFRF9NT1JFX0RBVEEgdXBzdHJlYW0KCSAgRG9uJ3QgcmV0dXJuIEdTVF9GTE9XX05FRURfTU9SRV9EQVRBIGZyb20gdGhlIGNoYWluIGZ1bmN0aW9uIGF0IHRoZSBlbmQKCSAgb2YgZmlsZXMuCgoyMDA5LTA2LTA0IDA4OjU2OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IE5vdGlmeSB3aGVuIHRoZSB0YWdzIHByb3BlcnR5IG9mIHRoZSBzZWxlY3RvciBzaW5rcGFkcyBjaGFuZ2VzCgkgIEZpcnN0IHBhcnQgb2YgYnVnICM1ODQ2ODYuCgoyMDA5LTA2LTA0IDA4OjU2OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEluY3JlYXNlIHRpbWVvdXQgb2YgdGhlIHVuaXQgdGVzdAoKMjAwOS0wNi0wMyAyMzozNTozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9ucwoKMjAwOS0wNi0wMiAxMTozNjowMSArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCB0d28gbmV3IHBsdWdpbnMgdG8gc3BlYyBmaWxlCgoyMDA5LTA2LTAyIDExOjIzOjM3ICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJICBkdmRzcHU6IGFkZCBtaXNzaW5nIGhlYWRlciB0byBNYWtlZmlsZS5hbTogZ3N0c3B1LWNvbW1vbi5oCgoyMDA5LTA2LTAyIDAxOjA5OjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSAgZGlyYWM6IHVzZSBHU1RfQ1hYRkxBR1MgaW5zdGVhZCBvZiBHU1RfQ0ZMQUdTIGZvciBjKysgY29tcGlsZXJzCgkgIEZpeGVzIGNvbXBpbGVyIG1lc3NhZ2UgYWJvdXQgcGFzc2luZyAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudAoJICB0byB0aGUgQysrIGNvbXBpbGVyLgoKMjAwOS0wNi0wMSAxNTo1MzoyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeCBzYW1wbGUgcmF0ZSBleHRyYWN0aW9uIGZyb20gY29kZWMgZGF0YQoJICBJbiBvbmUgY2FzZSB3ZSBleHRyYWN0ZWQgdGhlIHNhbXBsZSByYXRlIGluZGV4IGZyb20gdGhlIGNvZGVjIGRhdGEKCSAgYW5kIHNhdmVkIGl0IGFzIHNhbXBsZSByYXRlIHJhdGhlciB0aGFuIGdldHRpbmcgdGhlIHJlYWwgc2FtcGxlCgkgIHJhdGUgZnJvbSB0aGUgdGFibGUuIEZpeCB0aGF0LCBhbmQgYWxzbyBtYWtlIHN1cmUgd2UgZG9uJ3QgYWNjZXNzCgkgIG5vbi1leGlzdGFudCB0YWJsZSBlbnRyaWVzIGJ5IGFkZGluZyBhIHNtYWxsIGhlbHBlciBmdW5jdGlvbiB0aGF0CgkgIGd1YXJkcyBhZ2FpbnN0IG91dC1vZi1ib3VuZHMgYWNjZXNzIGluIGNhc2Ugb2YgaW52YWxpZCBpbnB1dCBkYXRhLgoKMjAwOS0wNi0wMSAxNDowMjozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGFtcnBhcnNlLmM6CgkgIGFhY3BhcnNlLCBhbXJwYXJzZTogcmVtb3ZlIGJvZ3VzIGdzdF9wYWRfZml4YXRlX2NhcHMoKSBjYWxscwoKMjAwOS0wNi0wMSAxMzo1NjoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcm9wYWdhdGUgcmV0dXJuIHZhbHVlIG9mIEdzdEJhc2VQYXJzZTo6c2V0X3NpbmtfY2FwcygpCgkgIGdzdF9iYXNlX3BhcnNlX3Npbmtfc2V0Y2FwcygpIHByZXN1bWFibHkgc2hvdWxkIGZhaWwgaWYgdGhlIHN1YmNsYXNzCgkgIHJldHVybnMgRkFMU0UgZnJvbSBpdHMgOjpzZXRfc2lua19jYXBzKCkgZnVuY3Rpb24uCgoyMDA5LTA2LTAxIDEzOjQ3OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGRvbid0IHRyeSB0byBHU1RfTE9HIGFuIGFscmVhZHktZnJlZWQgY2FwcyBzdHJpbmcKCSAgVGhlIHByb3BlciB3YXkgdG8gbG9nIGNhcHMgaXMgdmlhIEdTVF9QVFJfRk9STUFUIGFueXdheS4KCjIwMDktMDYtMDEgMTM6MDU6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBzZXQgY2hhbm5lbHMgYW5kIHJhdGUgb24gb3V0cHV0IGNhcHMsIGFuZCBrZWVwIGNvZGVjX2RhdGEKCSAgQ3JlYXRlIG91dHB1dCBjYXBzIGZyb20gaW5wdXQgY2Fwcywgc28gd2UgbWFpbnRhaW4gYW55IGZpZWxkcyB3ZQoJICBtaWdodCBnZXQgb24gdGhlIGlucHV0IGNhcHMsIHN1Y2ggYXMgY29kZWNfZGF0YSBvciByYXRlIGFuZCBjaGFubmVscy4KCSAgU2V0IGNoYW5uZWxzIGFuZCByYXRlIG9uIHRoZSBvdXRwdXQgY2FwcyBpZiB3ZSBkb24ndCBoYXZlIGlucHV0IGNhcHMKCSAgb3IgdGhleSBkb24ndCBjb250YWluIHN1Y2ggZmllbGRzLiBXZSBkbyB0aGlzIHBhcnRseSBiZWNhdXNlIHdlIGNhbiwKCSAgYnV0IGFsc28gYmVjYXVzZSBzb21lIG11eGVycyBuZWVkIHRoaXMgaW5mb3JtYXRpb24uIFRhZ3JlYWRiaW4gd2lsbAoJICBhbHNvIGJlIGhhcHB5IGFib3V0IHRoaXMuCgoyMDA5LTA2LTAxIDIyOjQyOjA4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2Z0eXBjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgZ3BwbXV4OiBlbmhhbmNlIGZ0eXAgYnJhbmQgaGV1cmlzdGljLiAgRml4ZXMgIzU4NDM2MC4KCjIwMDktMDYtMDEgMjE6MjQ6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBGaXggc29tZSBpc3N1ZXMgdGhhdCB3ZXJlIGV4cG9zZWQgYnkgdGhlIG5ldyB1bml0IHRlc3QKCjIwMDktMDYtMDEgMjE6MjQ6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEFkZCB1bml0IHRlc3QgZm9yIHNoYXBld2lwZQoKMjAwOS0wNS0zMSAyMTozMzowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogQWRkIGRvY3VtZW50YXRpb24gYW5kIGludGVncmF0ZSBpbnRvIHRoZSBidWlsZCBzeXN0ZW0KCjIwMDktMDUtMzEgMjA6MjQ6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogaW5jbHVkZSBnbGliLmggYmVmb3JlIGNoZWNraW5nIGlmIEdfT1NfV0lOMzIgaXMgZGVmaW5lZAoKMjAwOS0wNS0zMSAyMDoyMzoxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBpZ25vcmUgbmV3IHNoYXBld2lwZSBleGFtcGxlIGJpbmFyeQoKMjAwOS0wNS0zMSAxODoyMzo1MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5jOgoJICBoZHZwYXJzZTogU2V0dGluZyByYW5rIHRvIE5PTkUgc28gaXQgZG9lc24ndCBnZXQgcGlja2VkIHVwIGJ5IHBsYXliaW4yLgoKMjAwOS0wNS0zMSAxODoyMzowOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5jOgoJICBoZHZwYXJzZTogRW1pdCBhcHBsaWNhdGlvbiBtZXNzYWdlIHdpdGggdGhlIHBhcnNlZCBpbmZvcm1hdGlvbi4KCjIwMDktMDUtMzEgMTQ6MTU6MTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9oZHZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5oOgoJICBoZHZwYXJzZTogTmV3IGVsZW1lbnQgZm9yIHBhcnNpbmcgcHJpdmF0ZS9oZHYtYTEgc3RyZWFtcy4KCjIwMDktMDUtMjkgMjE6MDc6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBBZGp1c3QgYm9yZGVyIHRvIHN0aWxsIGhhdmUgZXZlcnl0aGluZyB0cmFuc3BhcmVudCBhdCAxLjAgYW5kIHRoZSBvdGhlciB3YXkgYXJvdW5kCgoyMDA5LTA1LTI5IDE2OjU1OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJICBzaGFwZXdpcGU6IERpdmlkZSB0aGUgYm9yZGVyIHZhbHVlIGJ5IHR3bywgb3RoZXJ3aXNlIHdlIHVzZSBhIHR3aWNlIGEgd2lkZSBib3JkZXIKCjIwMDktMDUtMjkgMTY6NTE6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkgIHNoYXBld2lwZTogQWRkIGJvcmRlciBwcm9wZXJ0eSB0byBhbGxvdyBzbW9vdGggYm9yZGVycwoJICAuLi5hbmQgdXNlIGEgYm9yZGVyIG9mIDAuMDEgaW4gdGhlIGV4YW1wbGUgYXBwbGljYXRpb24uCgoyMDA5LTA1LTI5IDE1OjQ0OjUxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBGaXggYm9ndXMgdW5pbml0aWFsaXNlZCB2YXJpYWJsZSBhY2Nlc3MKCSAgVHlwbyBpbiB0aGUgcHJldmlvdXMgY29tbWl0CgoyMDA5LTA1LTI5IDE1OjAxOjQyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBVc2UgdGhlIElTTyA2MzkgbGFuZ3VhZ2UgY29kZSBkZXNjcmlwdG9yIHRvIHNlbmQgdGFncy4KCSAgSWYgdGhlcmUgaXMgYW4gSVNPIDYzOSBsYW5ndWFnZSBkZXNjcmlwdG9yIGZvciBhIHN0cmVhbSwgc2VuZCBhIGxhbmd1YWdlCgkgIGNvZGUgdGFnIHNvIHRoYXQgcGxheWVycyBjYW4gc2hvdyBhIG1lYW5pbmdmdWwgbGFuZ3VhZ2UgZm9yIHRoZSBhdWRpbyBhbmQKCSAgc3VidGl0bGUgc3RyZWFtcy4KCjIwMDktMDUtMjkgMTY6MDA6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL01ha2VmaWxlLmFtOgoJICBzaGFwZXdpcGU6IEZpeCBNYWtlZmlsZSBvZiB0aGUgZXhhbXBsZSBhcHBsaWNhdGlvbgoKMjAwOS0wNS0yOSAxNTozMjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJICBzaGFwZXdpcGU6IEFkZCBhIHNpbXBsZSBzaGFwZXdpcGUgdHJhbnNpdGlvbiBmaWx0ZXIgJiBleGFtcGxlIGFwcGxpY2F0aW9uCgoyMDA5LTA1LTI4IDE3OjM3OjQ0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBUcmFuc2Zvcm0gdGhlIHJpZ2h0IHNlc3Npb24gc2RlcyBtZXNzYWdlCgkgIEZpeGVzICM1ODQxNjUKCjIwMDktMDUtMjggMTc6MzM6MTAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBBZGQgc3NyYyB0byBhcHBsaWNhdGlvbi94LXJ0cC1zb3VyY2Utc2RlcyBzdHJ1Y3R1cmUKCjIwMDktMDUtMjggMjM6MTI6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSAgYXVkaW9wYXJzZTogYWRkIHN1cHBvcnQgZm9yIEEtTGF3IGFuZCDCtS1MYXcKCjIwMDktMDUtMjggMjM6MDg6MTcgKzAxMDAgIFRyaXN0YW4gTWF0dGhld3MgPGxlLmJ1c2luZXNzbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJICBnc3RzcHU6IEZpeCBjb21waWxlciB3YXJuaW5ncyBvbiBPUy9YCgkgIEZpeCBzb21lIHdhcm5pbmdzIGZvciBmb3JtYXQgc3RyaW5nIGFyZ3MgYW5kIHVuaW5pdGlhbGl6ZWQgdmFycyBvbiBPUy9YCgkgIEZpeGVzOiAjNTg0MTY0CgkgIFNpZ25lZC1vZmYtYnk6IEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCjIwMDktMDUtMjggMTM6NTY6MTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSBkaWZmZXJlbnQgc3RzZCBhdG9tIHR5cGUgZm9yIEgyNjMgZm9yIElTTyBhbmQgUVQgdmFyaWFudHMKCSAgRml4ZXMgIzU4NDExNC4KCjIwMDktMDUtMjggMTM6MDc6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBzb3VuZHRvdWNoOiBmaXggZGV0ZWN0aW9uIG9mIGxpYnNvdW5kdG91Y2ggPj0gMS40CgoyMDA5LTA1LTI4IDEzOjA5OjI0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbXJwYXJzZS9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YW1ycGFyc2UuaDoKCSAgYW1ycGFyc2U6IGNvbnNpZGVyIGhlYWRlciBzaXplIGluIGJ5dGUgPC0+IHRpbWUgY29udmVyc2lvbnMKCjIwMDktMDUtMjYgMTk6NDM6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IGRlYnVnIGNhdGVnb3J5CgoyMDA5LTA1LTI4IDEwOjM4OjUwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuaDoKCSAgc2VsZWN0b3I6IHJlbW92ZSBub3QgbmVlZGVkIGluc3RhbmNlIHZhciAocHJldmlvdXMgY29tbWl0KS4KCjIwMDktMDUtMTEgMTY6MTI6NTQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgIGphY2s6IHdoZW4gc3RvcHBpbmcgcGxheWJhY2ssIGRvIG9uZSBtb3JlIGN5Y2xlIHRvIGZsdXNoIHRoZSBwb3J0LiBGaXhlcyAjNTgyMTY3CgkgIFRoZSBnc3RfamFja19hdWRpb19jbGllbnRfc2V0X2FjdGl2ZSgpIGZsYWdzIHRoZSBwb3J0IGFzIGRlYWN0aXZhdGluZyBhbmQgdXNlcwoJICBhIEdDb25kIHRvIHdhaXQgdW50aWwgdGhlIGphY2tfcHJvY2Vzc19jYigpIGhhcyBydW4gb25jZSBtb3JlIGFuZCBjbGVhcmVkIHRoZQoJICBmbGFnLiBUaGlzIHdheSB0aGUgY2xpZW50IHplcm8ncyB0aGUgYnVmZmVyLiBUaGlzIGhhcHBlbnMgaWYgb25lIG1hbnlhbGx5IGdvCgkgIHRvIFBBVVNFRCBhbmQgdGhlbiB0byBSRUFEWSwgd2hpbGUgbGV0aW5nIHRoZSBtYWlubG9vcCBydW4gaW5iZXR3ZWVuLgoKMjAwOS0wNS0yOCAxMDoxMjo1OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5oOgoJICBvdXRwdXRzZWxlY3RvcjogaW1wbGVtZW50IHBhZF9hbGxvYyBvbiBhY3RpdmUgcGFkLgoKMjAwOS0wNS0yNyAyMjo1NDo1MSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4Lmg6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJICByZXNpbmR2ZDogQ3JlYXRlIGFsbCB0aGUgYXVkaW8gc3RyZWFtcyBvZiBhbGwgZm9ybWF0cwoJICBFbmFibGUgY3JlYXRpb24gb2YgdGhlIGRlbXV4ZXIgcGFkcyBmb3IgYWxsIGF1ZGlvIHN0cmVhbXMsIGV2ZW4gdHlwZXMgd2UKCSAgZG9uJ3QgeWV0IHN1cHBvcnQuIFRoaXMgbWVhbnMgdGhhdCB1bnN1cHBvcnRlZCB0eXBlcyAoTFBDTSwgRFRTKSBhcmUgb3V0cHV0LAoJICBidXQgbm90IGxpbmtlZCB0byBhbnl0aGluZyB5ZXQuIElmIG9ubHkgdW5zdXBwb3J0ZWQgc3RyZWFtcyBhcmUgYXZhaWxhYmxlLAoJICB0aGUgdXNlciBoZWFycyBzaWxlbmNlIGluc3RlYWQgb2YgaGF2aW5nIHRoZSBwaXBlbGluZSBub3QgcHJlLXJvbGwgY29ycmVjdGx5LgoJICBUaGlzIGlzIGEgcHJlcmVxdWlzaXRlIGZvciBob29raW5nIHVwIHRoZSBhdXRvbWF0aWMgZGVjb2RlciBzd2l0Y2hpbmcuCgoyMDA5LTA1LTI3IDExOjAzOjE0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cHNvdWNlOiB0aGUgbmV0d29yayBhZGRyZXNzIGlzIGluIG5ldHdvcmsgb3JkZXIKCSAgQnJpbmcgdGhlIG5ldHdvcmsgYWRkcmVzcyBpbiBuZXRvd2tyIGJ5dGUgb3JkZXIgdG8gdGhlIGhvc3Qgb3JkZXIuCgoyMDA5LTA1LTI3IDAwOjUxOjQ1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSAgZ3N0c3B1OiBDb252ZXJ0IGdfd2FybmluZ3MgdG8gR1NUX0VSUk9SLCBhbmQgZml4IGZvcm1hdCBzcGVjaWZpZXJzCgkgIFVzZSBHX0dTU0laRV9GT1JNQVQgZm9yIHByaW50aW5nIHBvaW50ZXIgZGlmZmVyZW5jZXMsIHdoaWNoIHNob3VsZCB3b3JrIG9uCgkgIGJvdGggMzItYml0IGFuZCA2NC1iaXQgc3lzdGVtcy4KCSAgVXNlIEdTVF9FUlJPUiBpbnN0ZWFkIG9mIGdfd2FybmluZyBmb3IgcHJpbnRpbmcgbWVzc2FnZXMgYWJvdXQgdW5rbm93bgoJICBwYWNrZXQgY29udGVudHMuCgoyMDA5LTA1LTI3IDAwOjQ3OjA1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkgIGdzdHNwdTogRml4IGEgbmFzdHkgcmVncmVzc2lvbiwgd2l0aCBEVkRzIHJhbmRvbWx5IGNyYXNoaW5nCgkgIFVzZSB0aGUgbG9jYWwgd3JhcHBlciBmdW5jdGlvbiB3aGVuIGNsZWFyaW5nIHRoZSBjb21wb3NpdGluZyBidWZmZXJzIHRvCgkgIGVuc3VyZSB0aGUgY29ycmVjdCBwb3J0aW9uIGlzIGJlaW5nIGNsZWFyZWQuCgoyMDA5LTA1LTI2IDE5OjM4OjU0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiBMUENNIHN0cmVhbXMgYXJlIG9ubHkgZnJvbSAweGEwIHRvIDB4YWYuCgkgIEZpeCB0aGUgc2FtZSBidWcgYXMgdGhlIHByZXZpb3VzIGNvbW1pdCwgYnV0IGluIHJlc2luZHZkJ3MgY29weSBvZgoJICBtcGVnZGVtdXguCgoyMDA5LTA1LTI2IDE4OjQ3OjMyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IE9ubHkgdHJlYXQgc3RyZWFtcyBmcm9tIDB4YTAgdG8gMHhhZiBhcyBMUENNLCBub3QgMHhhMC4uMHhiZgoJICBEb24ndCB0cmVhdCBzb21lIHN0cmVhbXMgKFByaXZhdGUgU3RyZWFtIDIpIGFzIExQQ00gd2hlbiB0aGV5J3JlIG5vdC4gRml4ZXMKCSAgcGxheWJhY2sgb2YgZmlsZXMgdGhhdCBoYXZlIHByaXZhdGUgc3RyZWFtcyBpbiB0aGVtIG5vdyB0aGF0IHRoZSBQRVMgZmlsdGVyCgkgIGVtaXRzIHN1Y2ggcGFja2V0cy4KCjIwMDktMDUtMjYgMTg6NDM6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkgIGR2ZHNwdTogZml4IHByaW50ZiBmb3JtYXRzIHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDA5LTA1LTI2IDE3OjE5OjM1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZhYjExZDEgdG8gYzU3MjcyMQoKMjAwOS0wNS0yMyAyMzoxOTowNSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUtcmVuZGVyLmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LWNvbW1vbi5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5oOgoJICBnc3RzcHU6IEltcGxlbWVudCBQR1MgcmVuZGVyaW5nIGFuZCBhbHBoYSBibGVuZGluZwoJICBSZWZhY3RvciB0aGUgRFZEIHN1YnBpY3R1cmUgY29tcG9zaXRpbmcsIHN3aXRjaGluZyBpdCB0byA4LWJpdCBhbHBoYQoJICBjYWxjdWxhdGlvbnMuIFJldXNlIHNvbWUgb2YgdGhlIHJlc3VsdGluZyBjb2RlIHRvIGltcGxlbWVudCBQR1MKCSAgc3VicGljdHVyZSBibGVuZGluZy4KCSAgSW1wbGVtZW50IHBhcnNpbmcgYW5kIGNvbGxlY3Rpbmcgb2YgY29tcG9zaXRpb24gb2JqZWN0cyBwcm9wZXJseSwgYnV0CgkgIGFzc3VtaW5nIGEgc2luZ2xlIGFjdGl2ZSB3aW5kb3cgYW5kIGNvbG91ciBwYWxldHRlIGZvciBub3cuIEkgbmVlZCBtb3JlCgkgIFBHUyBzYW1wbGVzLgoKMjAwOS0wNS0yMiAxMToxMzo1OSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5oOgoJICBkdmRzcHU6IE1vdmUgYSBidW5jaCBvZiB2b2JzdWIgc3BlY2lmaWMgbG9naWMgdG8gYSBzZXBhcmF0ZSBmaWxlLgoJICBTdGFydCBzZXBhcmF0aW5nIG91dCB0aGUgdm9ic3ViIGxvZ2ljIGluIHByZXBhcmF0aW9uIGZvciBjcmVhdGluZwoJICBzZXBhcmF0ZSByZW5kZXJlciBvYmplY3RzIGZvciBlYWNoIHN1YnBpY3R1cmUgZm9ybWF0LgoKMjAwOS0wNS0yMiAxMToxMjo1MiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkgIGR2ZHNwdTogQWRkIGNvcHlyaWdodCBoZWFkZXIgYW5kIGluY2x1ZGVzIHRvIHRoZSBQR1MgaGFuZGxlcgoKMjAwOS0wNS0yMiAxMDoxNTo0NCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkgIGR2ZHNwdTogTWFrZSB0aGUgUEdTIGR1bXBpbmcgbGVzcyB2ZXJib3NlCgoyMDA5LTA1LTIxIDIzOjQ1OjQzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IENvbGxlY3QgZW50aXJlIFBHUyBwYWNrZXRzIGFuZCBxdWV1ZSBhcyBldmVudHMKCSAgQ29sbGVjdCBmcmFnbWVudGVkIFBHUyBwYWNrZXRzIGFuZCBzdWJtaXQgYXMgY29tcGxldGUgZXZlbnRzIGZvcgoJICBwcm9jZXNzaW5nIGF0IHRoZSBjb3JyZWN0IG1vbWVudC4KCjIwMDktMDUtMjAgMDg6NTU6NDAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuaDoKCSAgZHZkc3B1OiBBZGQgc2ltcGxlIFBHUyBoYW5kbGVyIHRoYXQgZHVtcHMgdGhlIHBhY2tldCBpbmZvCgkgIEFkZCBzZXRjYXBzIGxvZ2ljIG9uIHRoZSBzdWJwaWN0dXJlIHNpbmsgcGFkIGZvciBjb25maWd1cmluZwoJICB3aGljaCBzdWJwaWN0dXJlIGZvcm1hdCBpcyBhcnJpdmluZy4KCSAgQWRkIHRoZSBmaXJzdCBwaWVjZSBvZiBQR1Mgc3VicGljdHVyZSBoYW5kbGluZyBieSBkdW1waW5nIHRoZSBzdHJlYW0KCSAgY29udGVudHMgb3V0IHRvIHRoZSB0ZXJtaW5hbCBhcyB0aGUgcGFja2V0cyBhcnJpdmUuCgkgIEFkZCBzb21lIG1vcmUgZGVidWcuCgkgIERvbid0IGNhbGN1bGF0ZSB0aGUgcnVubmluZyB0aW1lIGZvciBvdXIgc3VicGljdHVyZSBwYWNrZXRzIHR3aWNlLAoJICBvbmNlIGlzIGVub3VnaC4KCjIwMDktMDUtMjEgMTU6MjI6NTggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogQWRkIGEgc2ltcGxlIGRlZmF1bHQgY29sb3VyIHRhYmxlLgoJICBXaGVuIHdlJ3JlIG5vdCBwcm92aWRlZCB3aXRoIGEgcGFsZXR0ZSBpbiBhZHZhbmNlLCBkcmF3IHdpdGggYSBncmV5CgkgIGNvbG91ciBvciB0d28sIGluc3RlYWQgb2YgWVVWIGdyZWVuLgoKMjAwOS0wNS0yMSAxMToxMzo1NCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiBBZGQgc3BhcnNlIHN0cmVhbSBmaWxsaW5nLgoJICBGaXJzdCBzdGFiIGF0IHNlbmRpbmcgbmV3LXNlZ21lbnQgZXZlbnRzIHRvIGVmZmVjdCBzcGFyc2Ugc3RyZWFtCgkgIHVwZGF0ZXMuCgoyMDA5LTA1LTIxIDAwOjQxOjQ3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBtcGVnZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBvdXRwdXR0aW5nIHN1Yi1waWN0dXJlIHN0cmVhbXMgZm91bmQgaW4gZmlsZXMuCgkgIE91dHB1dCBzdWJwaWN0dXJlIHN0cmVhbXMgd2hlbiB0aGV5IGFyZSBmb3VuZCBvbiB0aGUgcHJpdmF0ZSBzdHJlYW0gSUQuCgkgIERvbid0IHN0cmlwIG9mZiB0aGUgZmlyc3QgYnl0ZSBvZiBzdWNoIHBhY2tldHMgd2hlbiBwdXNoaW5nLgoKMjAwOS0wNS0yMCAwODo1MDozNyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuaDoKCSAgbXBlZ3RzZGVtdXg6IEFkZCBtYXBwaW5nIGZvciBEVkQgYW5kIEJsdXJheSBzdWJwaWN0dXJlIHN0cmVhbXMuCgkgIEFkZCBvdXRwdXQgc3VicGljdHVyZSBwYWRzIGZvciBEVkQgKHZpZGVvL3gtZHZkLXN1YnBpY3R1cmUpIGFuZCBCbHVyYXkgUEdTCgkgIChzdWJwaWN0dXJlL3gtcGdzKSBzdHJlYW1zLiBSZW1vdmUgYW4gdW51c2VkIHZhcmlhYmxlIGZyb20KCSAgdGhlIFBFUyBmaWx0ZXIuCgoyMDA5LTA1LTI1IDAwOjI1OjA3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiBGaXggc3VicGljdHVyZSB0aW1pbmcgaW4gc29tZSBjYXNlcwoJICBNYWtlIHN1cmUgd2Ugc2VuZCBldmVudHMgdG8gYWxsIHBhZHMuIFVubWFyayB0aGUgbm90bGlua2VkIGZsYWcgb24KCSAgZnJlc2hseSBzZWxlY3RlZCBwYWRzIHRvIGVuc3VyZSB0aGV5IGdldCBkYXRhLgoKMjAwOS0wNS0yMiAxNDowMjozOCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZDogVHJ5IGEgZGlmZmVyZW50IGFwcHJvYWNoIHRvIHNlZ21lbnQgZmlsbGluZy4KCSAgUmVzdG9yZSB0aGUgb2xkIHNlZ21lbnQgdXBkYXRlIGJlaGF2aW91ciwgYW5kIGluc3RlYWQgZXh0ZW5kIHRoZQoJICBjbG9zZSBzZWdtZW50IHN0b3AgdGltZSBpZiB0aGUgU0NSIChsYXN0X3N0b3ApIG92ZXJydW5zIHRoZSBjYWxjdWxhdGVkCgkgIHN0b3AgcG9zaXRpb24uCgoyMDA5LTA1LTIxIDExOjEwOjEzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiBNaW5vciBjaGFuZ2UgdG8gaW5saW5lIGEgZnVuY3Rpb24gaW4gdGhlIGRlbXV4ZXIKCjIwMDktMDUtMjAgMTk6MzE6MjQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBzdGF0ZXM6IElnbm9yZSB0aGUgY2FtZXJhYmluIGZvciB0aGUgc3RhdGVzIHRlc3QKCSAgSXQgYWNjZXNzZXMgdGhlIHZpZGVvIGRldmljZSwgd2hpY2ggaXNuJ3QgZ2VuZXJhbGx5IGRlc2lyYWJsZSBmb3IgdGhlCgkgIHN0YXRlIHRlc3QuCgoyMDA5LTA1LTIyIDEzOjA3OjM4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IERvbid0IGFjY2lkZW50YWxseSBsb3NlIHRoZSBjb2xvdXIgcGFsZXR0ZSB3aGVuIGZsdXNoaW5nIHRoZSBTUFUKCSAgRml4ZXMgcmFjeSBzdGFydHVwIG9uIERWRHMgd2hlcmUgaXQgc29tZXRpbWVzIGdldHMgZW50aXJlbHkgdGhlIHdyb25nIHNldAoJICBvZiBjb2xvdXJzIGluIHRoZSBtZW51cyBhbmQgc3VidGl0bGVzLgoKMjAwOS0wNS0yNiAxNTo0MDo1MiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IGJ5dGVzd2FwIHRoZSBwb3J0IGZyb20gR3N0TmV0QWRkcmVzcwoJICBTaW5jZSB0aGUgcG9ydCBpbiBHc3ROZXRBZGRyZXNzIGlzIGluIG5ldHdvcmsgb3JkZXIgd2UgbWlnaHQgbmVlZCB0byBieXRlc3dhcCBpdAoJICBiZWZvcmUgYWRkaW5nIGl0IHRvIHRoZSBzb3VyY2Ugc3RhdGlzdGljcy4KCjIwMDktMDUtMTEgMTk6MzA6MzQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJICBnc3RwZXNmaWx0ZXI6IERpcmVjdGx5IHVzZSBnc3RfYWRhcHRlcl90YWtlX2J1ZmZlcigpLgoKMjAwOS0wNS0yNSAxNjoyNzozNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkgIGdzdHBlc2ZpbHRlcjogRG9uJ3QgcGVlayB0aGUgYWRhcHRlciBpZiB3ZSBkb24ndCBoYXZlIGVub3VnaCBkYXRhLgoKMjAwOS0wNS0yNSAxNjoyNTo0MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkgIGdzdHBlc2ZpbHRlcjogRG9uJ3Qgc2tpcCBwcml2YXRlIHN0cmVhbXMgUEVTIGJ1dCBwdXNoIHRoZW0gb3V0LgoJICBUaGUgb25lIHRoaW5nIHdlICpETyogbmVlZCB0byBkbyBmb3IgdGhvc2Ugc3RyZWFtcyBpcyB0byBza2lwIGFsbAoJICB0aGUgUFRTL0RUUy9TY3JhbWJsaW5nL0RTTS9leHRlbnNpb24vLi4uIGhhbmRsaW5nLgoKMjAwOS0wNS0yNSAxNToyMTo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IElnbm9yZSBOVUxMIHBhY2tldHMgYXMgZWFybHkgYXMgcG9zc2libGUuCgkgIFRoaXMgYXZvaWRzOgoJICAqIGNyZWF0aW5nIGEgTXBlZ1RTU3RyZWFtIHN0cnVjdHVyZSBmb3Igbm90aGluZwoJICAqIHByb2Nlc3NpbmcgcGFja2V0IGRhdGEgZm9yIG5vdGhpbmcKCjIwMDktMDUtMjUgMTU6MjE6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEFkZCBtYXBwaW5nIGZvciBIRFYgcHJpdmF0ZSBzdHJlYW1zCgoyMDA5LTA1LTI1IDE3OjI0OjMyICswMjAwICBNYXRoaWFzIEhhc3NlbG1hbm4gPG1hdGhpYXMuaGFzc2VsbWFubiBhdCBnbXguZGU+CgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBuZW9uaHR0cDogYWRkIHByb3BlcnR5IHRvIHN1cHBvcnQgU1MgY2VyaWZpY2F0ZXMKCSAgQWRkIGEgcHJvcGVydHkgdG8gc3VwcG9ydCBzZWxmLXNpZ25lZCBjZXJ0aWZpY2F0ZXMgaW4gbmVvbmh0dHBzcmMuIFRoaXMgcHJvcGVydHkKCSAgaXMgRkFMU0UgYnkgZGVmYXVsdC4KCSAgRml4ZXMgIzUxMTA5NwoKMjAwOS0wNS0yNSAxMzo0NjoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHJlbW92ZSBwdGRlbXV4IGdob3N0cGFkcwoKMjAwOS0wNS0yNSAxMzozMzoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogYWRkIHJlY2VpdmUgcnRwYmluIHVuaXQgdGVzdAoKMjAwOS0wNS0yNSAxMToxODo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSogZXh0L3gyNjQvZ3N0eDI2NGVuYy5oOgoJICB4MjY0ZW5jOiBhZGQgbXVsdGlwYXNzLWNhY2hlLWZpbGUgcHJvcGVydHkKCSAgRml4ZXMgIzU4MzYyNwoKMjAwOS0wNS0yMyAxMzoxMToyOCArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUKCjIwMDktMDUtMjIgMTY6NTY6NTIgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hZHBjbWRlYy9NYWtlZmlsZS5hbToKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkgIGFkcGNtZGVjOiBBZGQgbmV3IHBsdWdpbiBmb3IgbXMtYWRwY20gZGVjb2RpbmcuCgoyMDA5LTA1LTIwIDE2OjQ2OjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5oOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IERldGVjdCBpbnRlcmxhY2VkIGNvbnRlbnQgYW5kIHNldCBpdCBvbiBvdXRnb2luZyBjYXBzLgoJICBJIGFsc28gYWRkZWQgdGhlIHBhcnNpbmcgb2YgYWxsIHRoZSBvdGhlciBiaXRzIGluIHRoZSBzZXF1ZW5jZSBleHRlbnNpb24KCSAgaGVhZGVyIGluIGNhc2Ugd2UgbmVlZCBpdCBsYXRlci4KCjIwMDktMDUtMjIgMTY6NDE6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBhZGQgdG8gbmV3IHNpZ25hbCB0byByZW1vdmUgU1NSQyBwYWRzCgoyMDA5LTA1LTIyIDE2OjM1OjIwICswMjAwICBBbGkgU2FiaWwgPGFsaS5zYWJpbCBhdCBnbWFpbC5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIHNzcmNkZW11eDogZW1pdCBzaWduYWwgd2hlbiBwYWRzIGFyZSByZW1vdmVkCgkgIEFkZCBhY3Rpb24gc2lnbmFsIHRvIGNsZWFyIGFuIFNTUkMgaW4gdGhlIHNzcmMgZGVtdXhlci4KCSAgQWRkIHNpZ25hbCB0byBub3RpZnkgb2YgcmVtb3ZlZCBzc3JjLgoJICBTZWUgIzU1NDgzOQoKMjAwOS0wNS0yMiAxNTo0NToxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHVzZSBvdXIgZ2hvc3RwYWRzIGluc3RlYWQgb2YgaXRzIHRhcmdldAoJICBTaW5jZSB3ZSBrZWVwIGEgcmVmZXJlbmNlIHRvIG91ciBnaG9zdHBhZHMsIHdlIGNhbiB1c2UgdGhlbSB0byB0cmFjayBzZXNzaW9ucy4KCSAgVGhpcyBhdm9pZCB1cyBoYXZpbmcgdG8gbWVzcyB3aXRoIHRoZSB0YXJnZXQgb2YgdGhlIGdob3N0cGFkLgoKMjAwOS0wNS0yMiAxNTozNzoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogbW9yZSBydHBiaW4gY2hlY2tzCgoyMDA5LTA1LTIyIDE1OjM2OjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogZG9uJ3Qgd2FybiB3aGVuIGdldHRpbmcgcmVxdWVzdCBwYWRzIHR3aWNlCgkgIEFsbG93IGdldHRpbmcgdGhlIHJlcXVlc3QgcGFkcyBtdWx0aXBsZSB0aW1lcywganVzdCByZXR1cm4gdGhlIHByZXZpb3VzbHkKCSAgY3JlYXRlZCBwYWRzLgoKMjAwOS0wNS0yMiAxMzo0NzozMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IGFkZCBSVFAgYW5kIFJUQ1Agc291cmNlIGFkZHJlc3MKCSAgQWRkIHRoZSBSVFAgYW5kIFJUQ1Agc2VuZGVyIGFkZHJlc3NlcyBpbiB0aGUgc3RhdHMgc3RydWN0dXJlLgoKMjAwOS0wNS0yMiAxMzo0NToxNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogcmV1c2Ugc291cmNlIGNvZGUgZm9yIFNERVMKCSAgUmV1c2UgdGhlIFJUUFNvdXJjZSBvYmplY3QgcHJvcGVydHkgaW5zdGVhZCBvZiBkdXBsaWNhdGluZyBjb2RlLgoKMjAwOS0wNS0yMiAxMzo0NDoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogYWRkIG1vcmUgcnRwYmluIHRlc3RzCgoyMDA5LTA1LTIyIDEyOjIzOjI3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICB0ZXN0czogYWRkIHJ0cGJpbiB1bml0IHRlc3QKCSAgQWRkIHRoZSBiZWdpbm5pbmdzIG9mIGFuIHJ0cGJpbiB1bml0IHRlc3QKCSAgQWRkIHNvbWUgbW9yZSBzdHVmZiB0byAuZ2l0aWdub3JlCgoyMDA5LTA1LTIyIDEyOjIwOjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogc2V0IHRhcmdldCBzdGF0ZSBvbiBuZXcgZWxlbWVudHMKCSAgU2V0IHRoZSBzdGF0ZSBvbiBuZXdseSBhZGRlZCBlbGVtZW50cyB0byB0aGUgc3RhdGUgb2YgdGhlIHBhcmVudC4KCSAgQWRkIHNvbWUgZGVidWcgaW5mbyBhbmQgZG8gc29tZSBjbGVhbnVwcwoKMjAwOS0wNS0yMiAxMTo1OToxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHVucmVmIHJlcXVlc3RzIHBhZHMgYWZ0ZXIgcmVsZWFzaW5nCgoyMDA5LTA1LTIxIDE2OjAwOjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZml4IG1lbWxlYWtzIGFuZCByZWZjb3VudHMKCSAgVXNlIGNvcnJlY3QgY29uc3RhbnRzIGZvciBQSURfdHlwZSBzbyB0aGF0IHdlIGNsZWFyIHRoZSByaWdodCBmaWx0ZXIuCgkgIHByb3ZpZGVfY2xvY2sgbXVzdCByZXR1cm4gYSByZWYgdG8gYSBjbG9jay4KCjIwMDktMDUtMjIgMDk6NTU6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogYXV0b2dlbi5zaDoKCSogY29uZmlndXJlLmFjOgoJICBhdXRvdG9vbHM6IG1vdmUgLVduby1wb3J0YWJpbGl0eSBmb3IgYXV0b21ha2UgdG8gY29uZmlndXJlLmFjCgoyMDA5LTA1LTIyIDA5OjU0OjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvZ3N0aWQzdGFnLmM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzdGFnLmg6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM3RhZzogY2Fub25pY2FsaXNlIGZ1bmN0aW9uIG5hbWVzCgoyMDA5LTA1LTIyIDA5OjUxOjI5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvZ3N0aWQzdGFnLmM6CgkqIGdzdC9pZDN0YWcvZ3N0aWQzdGFnLmg6CgkqIGdzdC9pZDN0YWcvZ3N0dGFnbXV4LmM6CgkgIGlkM3RhZzogY2hhbmdlIEdUeXBlIHRvIEdzdElkM1RhZyBzbyBpdCBkb2Vzbid0IGNvbmZsaWN0IHdpdGggdGhlIGlkM3RhZyBwbHVnaW4gaW4gLXVnbHkKCjIwMDktMDUtMjIgMDE6Mjk6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogdXBkYXRlIGNvbmZpZy5oCgoyMDA5LTA1LTIyIDAxOjI3OjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvZ3N0dGFnbXV4LmM6CgkgIGlkM3RhZzogcmVnaXN0ZXIgR1R5cGUgb2YgdGhlIGJhc2UgY2xhc3Mgd2l0aCBhIGxlc3MgZ2VuZXJpYyBuYW1lCgkgIC4uIHNvIHdlIGNhbiBlYXNpbHkgbW92ZSB0aGUgYmFzZSBjbGFzcyBpbnRvIC1iYXNlIGxhdGVyIHdpdGhvdXQKCSAgY2F1c2luZyBHVHlwZSBuYW1lIGNvbmZsaWN0cy4KCjIwMDktMDUtMjIgMDE6MDQ6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBtNC9nc3QtZmlvbnJlYWQubTQ6CgkgIG00OiBmaXggJ3N1c3BpY2lvdXMgY2FjaGUgdmFsdWUgaWQnIHdhcm5pbmdzIGluIGdzdC1maW9ucmVhZC5tNAoJICBBbmQgdXBkYXRlIGNvbW1vbiB0byBwdWxsIGluIGEgcmVsYXRlZCBmaXggZnJvbSB0aGVyZS4KCjIwMDktMDUtMjIgMDE6NDM6NTAgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEltcGxlbWVudCByZWxlYXNpbmcgdGhlIHN0cmVhbXMKCSAgU2VlICM1NjE3NTIKCjIwMDktMDUtMjIgMDE6MTY6MTEgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEtlZXAgamIgc2lnbmFscyBoYW5kbGVyCgkgIEtlZXAgdGhlIHNpZ25hbCBoYW5kbGVycyBzbyB0aGV5IGNhbiBiZSBkaXNjb25uZWN0ZWQgYXQgcmVsZWFzZSB0aW1lCgkgIFNlZSAjNTYxNzUyCgoyMDA5LTA1LTIyIDAxOjEyOjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogdXNlIHRoZSByaWdodCBsb2NrIGZvciB0aGUgc2Vzc2lvbnMKCSAgVXNlIHRoZSByaWdodCBsb2NrIHdoZW4gaXRlcmF0aW5nIHRoZSBzZXNzaW9ucy4KCjIwMDktMDUtMjIgMDE6MDM6NTUgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEZyZWUgc2Vzc2lvbiBpZiByZXF1ZXN0IHBhZHMgYXJlIHJlbGVhc2VkCgkgIEZyZWUgdGhlIHNlc3Npb24gd2hlbiBhbGwgdGhlIHJlcXVlc3QgcGFkcyBhcmUgcmVsZWFzZWQuCgkgIERvbid0IG1lc3Mgd2l0aCB0aGUgc2Vzc2lvbiBsaXN0IGluIGZyZWVfc2Vzc2lvbiBhcyBpdCBpcyBjYWxsZWQgZnJvbSBhIGZvcmVhY2gKCSAgb24gdGhhdCBsaXN0LgoJICBTZXQgdGhlIHN0YXRlIG9mIHRoZSB1cHN0cmVhbSBlbGVtZW50IHRvIE5VTEwgZmlyc3QuCgkgIFNlZSAjNTYxNzUyCgoyMDA5LTA1LTIyIDAwOjUxOjUzICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBJbXBsZW1lbnQgcmVsYXNpbmcgb2YgdGhlIHJ0cCByZWN2IHBhZAoKMjAwOS0wNS0yMiAwMDo0NDo1MSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogSW1wbGVtZW50IHJlbGVhc2luZyBvZiBydHAgc2VuZCBwYWRzCgoyMDA5LTA1LTIyIDAwOjM0OjM2ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBJbXBsZW1lbnQgcmVsZWFzZSBvZiB0aGUgcmVjdiBydGNwIHBhZAoJICBTZWUgIzU2MTc1MgoKMjAwOS0wNS0yMiAwMDoxNjoxOSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogSW1wbGVtZW50IHJlbGVhc2luZyBvZiBydGNwIHNyYyBwYWQKCSAgU2VlICM1NjE3NTIKCjIwMDktMDUtMTggMjM6Mzg6NTkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkgIGR0c2RlYzogUmVjb25jaWxlIGVsZW1lbnQgY29kZSB3aXRoIGE1MmRlYyBjaGFuZ2VzCgkgIFJlLXdvcmsgdGhlIGR0c2RlYyBlbGVtZW50IGNvZGUgdG8gdW5pZnkgaXQgd2l0aCBjaGFuZ2VzIG1hZGUgaXQgYTUyZGVjLAoJICBpbmNsdWRpbmcgc3VwcG9ydCBmb3IgcmV2ZXJzZSBwbGF5YmFjayBhbmQgZHluYW1pYyBjaGFubmVsIG5lZ290aWF0aW9uCgkgIG9uIHRoZSBzb3VyY2UgcGFkLgoKMjAwOS0wNS0yMSAyMTozNTozMiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogVXBkYXRlIHRoZSB3aW4zMiBjb25maWcuaAoKMjAwOS0wNS0xOCAyMzoyMTo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5oOgoJICBzZHBkZW11eDogcmV3b3JrIFJUQ1Agc2VuZGluZyBhbmQgUlRQIHJlY2VpdmluZwoJICBXaGVuIHdlIGFyZSBkZWFsaW5nIHdpdGggbXVsdGlhc3QsIGNyZWF0ZSB0aGUgdWRwIHNyYyBhbmQgc2luayBlbGVtZW50cyBwb2ludGluZwoJICB0byB0aGUgbXVsdGljYXN0IGFkZHJlc3Nlcy4gV2hlbiB3ZSBhcmUgZG9pbmcgdW5pY2FzdCwgcmVjZWl2ZSBkYXRhIG9uIHRoZSBsb2NhbAoJICBwb3J0cyBhbmQgZG9uJ3Qgc2VuZCBSVENQIGJlY2F1c2Ugd2UgZG9uJ3Qga25vdyB3aGVyZSB3ZSBoYXZlIHRvIHNlbmQgaXQuCgkgIEZpeGVzICM1ODMxODgKCjIwMDktMDUtMjEgMTM6MTU6NDYgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaWQzdGFnL01ha2VmaWxlLmFtOgoJKiBnc3QvaWQzdGFnL2dzdGlkM3RhZy5jOgoJKiBnc3QvaWQzdGFnL2dzdGlkM3RhZy5oOgoJKiBnc3QvaWQzdGFnL2dzdHRhZ211eC5jOgoJKiBnc3QvaWQzdGFnL2dzdHRhZ211eC5oOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5oOgoJICBpZDN0YWc6IEFkZCBuZXcgaWQzIHRhZ2dpbmcgcGx1Z2luLCBzdXBwb3J0cyB2MSwgdjIuMywgYW5kIHYyLjQuCgkgIEJ5IGRlZmF1bHQsIGRvZXMgdjEgYW5kIHYyLjMsIGJ1dCB0aGVyZSBhcmUgcHJvcGVydGllcyB0byBzZWxlY3QuCgkgIFdpbGwgaG9wZWZ1bGx5IHJlcGxhY2UgaWQzbXV4LCBpZDN2Mm11eCwgaW4gdGhlIG5vdC10b28tZGlzdGFudCBmdXR1cmUuCgoyMDA5LTA1LTIxIDIxOjAyOjU1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gaGFja2luZyAtPiAwLjEwLjEyLjEKCj09PSByZWxlYXNlIDAuMTAuMTIgPT09CgoyMDA5LTA1LTIwIDIyOjMxOjU0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xMgoKMjAwOS0wNS0yMCAyMDo0NDoxMiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDktMDUtMjAgMTc6MTA6NDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZjogRml4IGZyYW1lX2xheW91dCBmb3Igbm9uLWludGVybGFjZWQgZm9ybWF0cy4gRml4ZXMgIzU4MzMzNwoKMjAwOS0wNS0xNiAwMTo1ODozMyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTEuMyBwcmUtcmVsZWFzZQoKMjAwOS0wNS0xNiAwMTo1MzoxNSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogd2luMzIvTUFOSUZFU1Q6CgkgIHdpbjMyOiBBZGQgZGlyZWN0ZHJhdyBwcm9qZWN0IGZpbGVzIHRvIHRoZSB3aW4zMiBtYW5pZmVzdAoKMjAwOS0wNS0xNiAwMToxNDoyMyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJlY3RkcmF3LnhtbDoKCSogc3lzL01ha2VmaWxlLmFtOgoJICBNb3ZlZCAnZGlyZWN0ZHJhdycgZnJvbSAtZ29vZCB0byAtYmFkCgoyMDA3LTA2LTE1IDA5OjEzOjU1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHdpbjMyL3ZzNi86IE1hcmsgKi5kc3AgJiAqLmRzdyBhcyBiaW5hcnkgZmlsZXMgYW5kIGNvbnZlcnQgdG8gRE9TIGxpbmUgZW5kaW5ncywgYXMgdGhleSBkb24ndCBsb2FkIGludG8gVlM2IGNvcnJlY3RseS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi92czYvYXV0b2dlbi5kc3A6CgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2dvb2QuZHN3OgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhbGF3LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YWxwaGEuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhbHBoYWNvbG9yLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXBldGFnLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXVkaW9meC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGF1cGFyc2UuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdXRvZGV0ZWN0LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXZpLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0Y3V0dGVyLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZWZmZWN0di5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGZseC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGdvb20uZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RpY3lkZW11eC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGlkM2RlbXV4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0aW50ZXJsZWF2ZS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGpwZWcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RsZXZlbC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG1hdHJvc2thLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bWVkaWFuLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bW9ub3Njb3BlLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bXVsYXcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RtdWx0aXBhcnQuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RxdGRlbXV4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cnRzcC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHNtcHRlLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0c3BlZXguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R1ZHAuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2JhbGFuY2UuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2JveC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHZpZGVvY3JvcC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHZpZGVvZmxpcC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHZpZGVvbWl4ZXIuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R3YXZlZm9ybS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHdhdmVuYy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHdhdnBhcnNlLmRzcDoKCSAgTWFyayAqLmRzcCAmICouZHN3IGFzIGJpbmFyeSBmaWxlcyBhbmQgY29udmVydCB0byBET1MgbGluZQoJICBlbmRpbmdzLCBhcyB0aGV5IGRvbid0IGxvYWQgaW50byBWUzYgY29ycmVjdGx5IG90aGVyd2lzZS4KCjIwMDctMDItMTEgMTU6MjY6NDkgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIE1ha2VmaWxlLmFtOiBBZGQgd2luMzIgTUFOSUZFU1QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgIEFkZCB3aW4zMiBNQU5JRkVTVAoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgQ2xlYXIgdW51c2VkIGNvZGUgYW5kIGFkZCBjb21tZW50cy4KCSAgUmVtb3ZlIHl1diBmcm9tIHRlbXBsYXRlIGNhcHMsIGl0IG9ubHkgc3VwcG9ydHMgUkdCCgkgIGFjdHVhbGx5LgoJICBJbXBsZW1lbnQgWE92ZXJsYXkgaW50ZXJmYWNlIGFuZCByZW1vdmUgd2luZG93IGFuZCBmdWxsc2NyZWVuCgkgIHByb3BlcnRpZXMuCgkgIEFkZCBkZWJ1ZyBsb2dzLgoJICBUZXN0IGZvciBibGl0IGNhcGFiaWxpdGllcyB0byByZXR1cm4gb25seSB0aGUgY3VycmVudCBjb2xvcnNwYWNlIGlmCgkgIHRoZSBoYXJkd2FyZSBjYW4ndCBibGl0IGZvciBvbmUgY29sb3JzcGFjZSB0byBhbm90aGVyLgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgQWRkIHNvbWUgZGVidWdzLgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgVlM3IHByb2plY3QgZmlsZXMgYW5kIHNvbHV0aW9uLgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RxdGRlbXV4LmRzcDoKCSAgVXBkYXRlIHByb2plY3QgZmlsZXMuCgoyMDA2LTExLTAxIDEwOjE5OjE4ICswMDAwICBTZXJnZXkgU2NvYmljaCA8c2VyZ2V5LnNjb2JpY2hAZ21haWwuY29tPgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzLzogV2FpdCB1bnRpbCB0aGUgd2luZG93IGlzIGNyZWF0ZWQgYmVmb3JlIHVzaW5nIGl0OyBndWFyZCB1bmlzdGQuaCBpbmNsdWRlcyB3aXRoIEhBVkVfVU5JU1REX0guICgjMzY2NTIzKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlcmdleSBTY29iaWNoICA8c2VyZ2V5IGRvdCBzY29iaWNoIGF0IGdtYWlsIGNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX3dpbmRvd190aHJlYWQpLAoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX2NyZWF0ZV9kZWZhdWx0X3dpbmRvdyk6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIFdhaXQgdW50aWwgdGhlIHdpbmRvdyBpcyBjcmVhdGVkIGJlZm9yZSB1c2luZyBpdDsgZ3VhcmQgdW5pc3RkLmgKCSAgaW5jbHVkZXMgd2l0aCBIQVZFX1VOSVNURF9ILiAoIzM2NjUyMykKCSAgKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0ZHJhdy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGRpcmVjdHNvdW5kLnZjcHJvajoKCSAgVXBkYXRlIHByb2plY3QgZmlsZXMuCgoyMDA2LTA3LTI0IDIxOjQzOjA2ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLio6IEFkZCBhbiBhdHRlbnVhdGlvbiBwcm9wZXJ0eSB0aGF0IHdpbGwgZGlyZWN0bHkgYXR0ZW51YXRlIHRoZSBkaXJlY3Rzb3VuZCBidWZmZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIEFkZCBhbiBhdHRlbnVhdGlvbiBwcm9wZXJ0eSB0aGF0IHdpbGwgZGlyZWN0bHkgYXR0ZW51YXRlIHRoZQoJICBkaXJlY3Rzb3VuZCBidWZmZXIuCgkgIENoYW5nZSB0aGUgc2l6ZSBvZiB0aGUgZGlyZWN0c291bmQgc2Vjb25kYXJ5IGJ1ZmZlciB0byBhIGhhbGYgc2Vjb25kLgoJICBBZGQgbW9yZSBkZWJ1ZyBsb2dzLgoJICBBZGQgYSBsb2NrIHRvIHByb3RlY3QgZHNvdW5kIGJ1ZmZlciB3cml0ZSBhY2Nlc3MuCgkgIEZpeCBhIGJhZCBpbXBsZW1lbnRhdGlvbiBvZiByZXNldC4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgQWRkIGEga2VlcF9hc3BlY3RfcmF0aW8gcHJvcGVydHkuCgkgIERvIG5vdCB1c2Ugb3ZlcmxheSBpZiBub3Qgc3VwcG9ydGVkLgoJICBBZGQgbW9yZSBkZWJ1ZyBsb2dzLgoJICBSZW1vdmUgb3ZlcndyaXRlIG9mIFdNX0VSQVNFQktHTkQgbWVzc2FnZSBoYW5kbGluZy4gSXQgd2FzIG5vdAoJICByZWRyYXdpbmcgYm9yZGVyIHdoZW4ga2VlcF9hc3BlY3RfcmF0aW8gd2FzIGVuYWJsZWQuCgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB1cGRhdGUgdmVyc2lvbiB3YWl0aW5nIGFuIGF1dG8tZ2VuZXJhdGVkIGNvbmZpZy5oCgoyMDA2LTAzLTAzIDIzOjQ1OjIzICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvOiBzaW5rcyBhcmUgbm93IHVzaW5nIEdTVF9SQU5LX1BSSU1BUlkgdG8gYmUgdXNlZCB3aXRoIGF1dG9kZWN0ZWN0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3OgoJICAqIHN5cy9kaXJlY3Rzb3VuZDoKCSAgc2lua3MgYXJlIG5vdyB1c2luZyBHU1RfUkFOS19QUklNQVJZIHRvIGJlIHVzZWQgd2l0aCBhdXRvZGVjdGVjdGlvbgoJICAqIHdpbjMyL3ZzNjoKCSAgcHJvamVjdCBmaWxlcyB1cGRhdGVkIHRvIGZpeCBzb21lIGJ1Z3MKCSAgKiB3aW4zMi92czc6CgkgICogd2luMzIvdnM4OgoJICB2czcgYW5kIHZzOCBwcm9qZWN0IGZpbGVzIGFkZGVkCgoyMDA2LTAxLTA1IDIzOjE3OjQ0ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3A6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIGFkZGVkIHN5cy9kaXJlY3RkcmF3IGFkZGVkIHN5cy9kaXJlY3Rzb3VuZCBhZGRlZCB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdyBhZGRlZCB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMS0wNSAgU2ViYXN0aWVuIE1vdXR0ZSAgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoJICAqIGFkZGVkIHN5cy9kaXJlY3RkcmF3CgkgICogYWRkZWQgc3lzL2RpcmVjdHNvdW5kCgkgICogYWRkZWQgd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3cKCSAgKiBhZGRlZCB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwCgkgICogYWRkZWQgd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwCgkgICogYWRkZWQgd2luMzIvY29tbW9uL2NvbmZpZy5oCgoyMDA5LTAyLTI3IDIwOjQwOjMxICswMTAwICBMUk4gPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgW01PVkVEIEZST00gR09PRF0gZGlyZWN0ZHJhd3Npbms6IEZpeCB0eXBlIG1pc21hdGNoZXMKCSAgRml4ZXMgYnVnICM1NzMzNDMuCgoyMDA5LTAxLTI5IDExOjA3OjU5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBbTU9WRUQgRlJPTSBHT09EXSBSZW1vdmUgdmVyc2lvbiBudW1iZXJzIGZyb20gYSBmZXcgZ3N0LWxhdW5jaCBleGFtcGxlcy4KCSAgVGhlIG1ham9yaXR5IG9mIHRoZSBleGFtcGxlcyBkb2Ugbm90IHVzZSAtMC4xMCBhbmQgdGhpcyB3aWxsIGFsc28gaGVscCB1cyB0byBtYWludGFpbiB0aGUgZG9jcy4KCjIwMDktMDEtMjkgMTA6MTA6MDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIFVwZGF0ZSBhbmQgYWRkIGRvY3VtZW50YXRpb24gZm9yIHBsYXRmb3JtIHNwZWNpZmljIHBsdWdpbnMgKHN5cykuCgkgIExpbmsgdG8gcHJvcGVydGllcy4gQ29ycmVjdCB0aXRsZXMgZm9yIGV4YW1wbGVzLiBGaXggZXhhbXBsZXMuCgoyMDA4LTExLTA0IDEyOjI4OjM0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FhbGliL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbm5vZGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9jYWlyby9NYWtlZmlsZS5hbToKCSAgKiBleHQvZHYvTWFrZWZpbGUuYW06CgkgICogZXh0L2VzZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2NvbmYvTWFrZWZpbGUuYW06CgkgICogZXh0L2dka19waXhidWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2hhbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvanBlZy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJjYWNhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJtbmcvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYnBuZy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbWlrbW9kL01ha2VmaWxlLmFtOgoJICAqIGV4dC9wdWxzZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvcmF3MTM5NC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2hvdXQyL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGVleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hbHBoYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBldGFnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2Z4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdXBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdXRvZGV0ZWN0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdmkvTWFrZWZpbGUuYW06CgkgICogZ3N0L2N1dHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVidWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VmZmVjdHYvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmx4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9nb29tL01ha2VmaWxlLmFtOgoJICAqIGdzdC9nb29tMmsxL01ha2VmaWxlLmFtOgoJICAqIGdzdC9pY3lkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaWQzZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xhdy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGV2ZWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L21hdHJvc2thL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tZWRpYW4vTWFrZWZpbGUuYW06CgkgICogZ3N0L21vbm9zY29wZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aXBhcnQvTWFrZWZpbGUuYW06CgkgICogZ3N0L29sZGNvcmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlcGxheWdhaW4vTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRzcC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21wdGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICAqIGdzdC91ZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvYm94L01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb21peGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC93YXZlbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3dhdnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3hhdWRpby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkgICogc3lzL3N1bmF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJICAqIHN5cy93YXZlZm9ybS9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlL01ha2VmaWxlLmFtOgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtZ29vZC4KCjIwMDgtMDgtMjEgMjE6NTY6MTkgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYywgZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJwb29sX2NsZWFyKToKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MsCgkgIGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVycG9vbF9jbGVhcik6CgkgIEZpeCB0d28gbW9yZSBidWZmZXIgcmVmIGxlYWtzLgoKMjAwOC0wOC0yMSAxNToyODowOSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IEZpeCBidWZmZXIgcmVmIGxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzICA8b2xlLmFuZHJlLnJhdm5hcyBhdCB0YW5kYmVyZyBjb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSk6CgkgIEZpeCBidWZmZXIgcmVmIGxlYWsuCgoyMDA4LTA1LTA3IDE1OjMzOjUyICswMDAwICBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltQHRhbmRiZXJnLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0dXBfZGRyYXcpOiBEbyBJRGlyZWN0RHJhd0NsaXBwZXJfU2V0SFduZCgpIGlmIHRoZSB3aW5kb3cgSS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW0gYXQgdGFuZGJlcmcgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0dXBfZGRyYXcpOgoJICBEbyBJRGlyZWN0RHJhd0NsaXBwZXJfU2V0SFduZCgpIGlmIHRoZSB3aW5kb3cgSUQgaGFzIGFscmVhZHkgYmVlbgoJICBzZXQgYWZ0ZXIgY3JlYXRpbmcgdGhlIGNsaXBwZXIuCgoyMDA4LTA1LTA3IDE1OjI4OjA2ICswMDAwICBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltQHRhbmRiZXJnLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSk6IEFkZGVkIGNoZWNraW5nIG9mIHN1cmZhY2UgbG9zdCBjYXNlIGFmdGVyIGFuIHVucy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW0gYXQgdGFuZGJlcmcgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSk6CgkgIEFkZGVkIGNoZWNraW5nIG9mIHN1cmZhY2UgbG9zdCBjYXNlIGFmdGVyIGFuIHVuc3VjY2Vzc2Z1bAoJICBJRGlyZWN0RHJhd1N1cmZhY2U3X0xvY2soKSBjYWxsLgoJICBJZiBzdXJmYWNlIGlzIGxvc3QsIHJldHVybiBHU1RfRkxPV19PSy4KCjIwMDgtMDUtMDcgMTU6MTk6NDcgKzAwMDAgIEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW1AdGFuZGJlcmcuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lLAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW0gYXQgdGFuZGJlcmcgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSwKCSAgV25kUHJvYywgZ3N0X2RpcmVjdGRyYXdfc2lua193aW5kb3dfdGhyZWFkKToKCSAgSW1wcm92ZWQgV2luZG93cyBtZXNzYWdlIGxvb3AgYW5kIGZpeGVkIHdpbmRvdyBkZXN0cnVjdGlvbiBpc3N1ZS4KCSAgV2hlbiB0aGUgd2luZG93IHdoaWNoIERpcmVjdERyYXcgaXMgcmVuZGVyaW5nIHRvIGlzIGRlc3Ryb3llZCwgdGhlCgkgIHJlbmRlci9zaG93X2ZyYW1lIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIEdTVF9GTE9XX0VSUk9SLgoJICBQYXJ0aWFsbHkgZml4ZXMgIzUyMDg4NS4KCjIwMDgtMDUtMDcgMTU6MDk6MTAgKzAwMDAgIEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW1AdGFuZGJlcmcuY29tPgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zZXRfY2Fwcyk6IEZpeGVkIG1pZCBzdHJlYW0gcmVzb2x1dGlvbiBjaGFuZ2UgYnVnLCB0aGUgb2Zmc2NyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbSBhdCB0YW5kYmVyZyBjb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19zZXRfY2Fwcyk6CgkgIEZpeGVkIG1pZCBzdHJlYW0gcmVzb2x1dGlvbiBjaGFuZ2UgYnVnLCB0aGUgb2Zmc2NyZWVuIHN1cmZhY2UgaXMgbm93CgkgIHJlbGVhc2VkIHdoZW4gc2V0X2NhcHMgaXMgY2FsbGVkLgoJICBQYXJ0aWFsbHkgZml4ZXMgIzUyMDg4NS4KCjIwMDgtMDUtMDcgMTQ6NTY6MjIgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKToKCSAgTWFrZSBpdCBzbyB0aGF0IGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jIHVzZXMgdGhlIHJpZ2h0CgkgIHdpZHRoL2hlaWdodC4KCSAgRXNwZWNpYWxseSB3aGVuIGxvb2tpbmcgdGhyb3VnaCB0aGUgcG9vbCBvZiBidWZmZXJzLCBtYWtlIHN1cmUgdGhhdAoJICB0aGUgd2lkdGgvaGVpZ2h0IG9mIGNhcHMgaXMgdXNlZCBpbnN0ZWFkIG9mIHRoZSBhbHJlYWR5IG5lZ290aWF0ZWQKCSAgZGltZW5zaW9ucy4KCSAgRm9yIGV4YW1wbGUgaWYgYSBidWZmZXIgd2l0aCBkaWZmZXJlbnQgY2FwcyBpcyByZXF1ZXN0ZWQsIGkuZS4KCSAgaGlnaGVyIHJlc29sdXRpb24sIHRoZSBjYWxsZXIgd291bGQgZ2V0IGEgYnVmZmVyIHdpdGggdGhlIG9sZAoJICBkaW1lbnNpb25zIGFuZCB0aHVzIGNvcnJ1cHQgdGhlIGhlYXAuCgoyMDA4LTA1LTA3IDE0OjQzOjM5ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyk6CgkgIENsZWFyIHRoZSBmbGFncyBvbiByZWN5Y2xlZCBidWZmZXJzIGZyb20gYnVmZmVyX2FsbG9jLgoJICBQYXJ0aWFsbHkgZml4ZXMgIzUyMDg4NS4KCSAgVGhlIHJpZ2h0IGZpeCB0aGlzIHRpbWUuCgoyMDA4LTA1LTA3IDE0OjM5OjQ1ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyk6CgkgIFJldmVydGluZyBwcmV2aW91cyBjb21taXQsIGl0IGhhZCBpdCBhbGwgbWl4ZWQgdXAsIHdhcyBmb3IgYSBkaWZmZXJlbnQKCSAgcGF0Y2ggKG1ham9yIGF1dG9tYXRpb24gc2NyZXctdXApLiBTb3JyeSEKCjIwMDgtMDUtMDcgMTM6NDg6MjggKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKToKCSAgQ2xlYXIgdGhlIGZsYWdzIG9uIHJlY3ljbGVkIGJ1ZmZlcnMgZnJvbSBidWZmZXJfYWxsb2MuCgkgIFBhcnRpYWxseSBmaXhlcyAjNTIwODg1LgoKMjAwOC0wMi0xMiAxMjoyMjo0OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogUHJvcGVybHkgY2hhaW4gdXAgZmluYWxpemUgZnVuY3Rpb25zLiBGaXhlcyBidWcgIzUxNTk4MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kZHJhd3N1cmZhY2VfY2xhc3NfaW5pdCksIChnc3RfZGRyYXdzdXJmYWNlX2ZpbmFsaXplKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfZmluYWxpemUpOgoJICBQcm9wZXJseSBjaGFpbiB1cCBmaW5hbGl6ZSBmdW5jdGlvbnMuIEZpeGVzIGJ1ZyAjNTE1OTgwLgoKMjAwOC0wMS0wNyAxNjo0MTowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IEZBTFNFIGlzIG5vdCBhIGdwb2ludGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua193aW5kb3dfdGhyZWFkKToKCSAgRkFMU0UgaXMgbm90IGEgZ3BvaW50ZXIuCgoyMDA4LTAxLTA1IDIxOjIwOjA4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IE1ha2Ugc3VyZSB3ZSBjcmVhdGUgb3VyIGludGVybmFsIHdpbmRvdyBvbmx5IHdoZW4gd2UgbmVlZCBpdC4gVGhhdCB3aWxsIGdpdmUgYSBjaC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wMS0wNSAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zZXRfd2luZG93X2lkKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0X2NhcHMpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19kcmF3X2JvcmRlcnMpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0dXBfZGRyYXcpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua193aW5kb3dfdGhyZWFkKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfZ2V0X2RkcmF3Y2FwcyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3N1cmZhY2VfY3JlYXRlKTogTWFrZSBzdXJlIHdlIGNyZWF0ZSBvdXIKCSAgaW50ZXJuYWwgd2luZG93IG9ubHkgd2hlbiB3ZSBuZWVkIGl0LiBUaGF0IHdpbGwgZ2l2ZSBhIGNoYW5jZSB0bwoJICB0aGUgYXBwbGljYXRpb24gdG8gZ2V0IHRoZSBwcmVwYXJlLXh3aW5kb3ctaWQgYnVzIG1lc3NhZ2UuIERyYXcKCSAgYmxhY2sgYm9yZGVycyB3aGVuIGtlZXBpbmcgYXNwZWN0IHJhdGlvLiBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUKCSAgb3VyCgkgIHJlbmRlcmluZyB3aW5kb3cgZGlzYXBwZWFycyAoY2xvc2VkIG9yIGVycm9ycykgbGlrZSBvdGhlciBzaW5rcwoJICBkby4gVmFyaW91cyA4MCBjb2x1bW5zIGZpeGVzLCBpbXByb3ZlIHN0YXRlIGNoYW5nZSBvcmRlci4gVGhhdAoJICBlbGVtZW50IGNvdWxkIG5lZWQgc29tZSBtb3JlIGxvdmUuCgoyMDA3LTA5LTIyIDA4OjEyOjU3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIGZpeCBoZWFkZXIgYW5kIGNvbW1lbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggaGVhZGVyIGFuZCBjb21tZW50cwoKMjAwNy0wNi0xNCAxMjoxNDoyNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBNYWtlIHN1cmUgdG8gZGlzdCBldmVyeXRoaW5nIG5lZWRlZCBmb3Igd2luMzIgYnVpbGRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2F2ZWZvcm0vTWFrZWZpbGUuYW06CgkgIE1ha2Ugc3VyZSB0byBkaXN0IGV2ZXJ5dGhpbmcgbmVlZGVkIGZvciB3aW4zMiBidWlsZHMuCgoyMDA3LTA2LTA4IDE2OjMxOjE1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIFJlbmFtZSB0aGUga2VlcC1hc3BlY3QtcmF0aW8gcHJvcGVydHkgdG8gZm9yY2UtYXNwZWN0LXJhdGlvIHRvIG1ha2UgaXQgY29uc2lzdGVudCB3aXRoIHh2aW1hZ2VzaW5rIGFuZCB4aW1hZ2VzaW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19jbGFzc19pbml0KToKCSAgUmVuYW1lIHRoZSBrZWVwLWFzcGVjdC1yYXRpbyBwcm9wZXJ0eSB0byBmb3JjZS1hc3BlY3QtcmF0aW8gdG8gbWFrZQoJICBpdCBjb25zaXN0ZW50IHdpdGggeHZpbWFnZXNpbmsgYW5kIHhpbWFnZXNpbmsuCgoyMDA3LTA1LTI0IDA4OjM1OjIzICswMDAwICBWaW5jZW50IFRvcnJpIDx2dG9ycmlAdW5pdi1ldnJ5LmZyPgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuKjogRml4IG1vcmUgd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCBNaW5nVyAoIzQzOTkxNCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmluY2VudCBUb3JyaSAgPHZ0b3JyaSBhdCB1bml2LWV2cnkgZnI+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2NoZWNrX3ByaW1hcnlfc3VyZmFjZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2NoZWNrX29mZnNjcmVlbl9zdXJmYWNlKSwKCSAgKEVudW1Nb2Rlc0NhbGxiYWNrMiksIChnc3RfZGlyZWN0ZHJhd19zaW5rX2dldF9kZHJhd2NhcHMpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zdXJmYWNlX2NyZWF0ZSk6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgRml4IG1vcmUgd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCBNaW5nVyAoIzQzOTkxNCkuCgoyMDA3LTA1LTIwIDE0OjU5OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogQnVuY2ggb2Ygc21hbGwgZml4ZXM6IHJlbW92ZSBzdGF0aWMgZnVuY3Rpb24gdGhhdCBkb2Vzbid0IGV4aXN0OyBkZWNsYXJlIGFub3RoZXIgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IChnc3RfZGRyYXdzdXJmYWNlX2ZpbmFsaXplKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfZ2V0X2RkcmF3Y2FwcyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3N1cmZhY2VfY3JlYXRlKToKCSAgQnVuY2ggb2Ygc21hbGwgZml4ZXM6IHJlbW92ZSBzdGF0aWMgZnVuY3Rpb24gdGhhdCBkb2Vzbid0IGV4aXN0OwoJICBkZWNsYXJlIGFub3RoZXIgb25lIHRoYXQgZG9lczsgcHJpbnRmIGZvcm1hdCBmaXg7IHVzZSByaWdodCBtYWNybwoJICB3aGVuIHNwZWNpZnlpbmcgZGVidWcgY2F0ZWdvcnk7IHJlbW92ZSBhIGJ1bmNoIG9mIHVudXNlZCB2YXJpYWJsZXM7CgkgICNpZiAwIG91dCBhbiB1bnVzZWQgY2h1bmsgb2YgY29kZSAocGFydGlhbGx5IGZpeGVzICM0Mzk5MTQpLgoKMjAwNy0wNS0xNSAxNzoyMjo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIEFkZCBESVJFQ1REUkFXX0NGTEFHUyBhbmQgRElSRUNUU09VTkRfQ0ZMQUdTIHRvIE1ha2VmaWxlLmFtOyBzYXZlIGFuZCByZXN0b3JlIHRoZSB2YXJpb3VzIGZsYWdzIGluIHRoZSBkaXJlY3RkcmF3L2Rpci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJICBBZGQgRElSRUNURFJBV19DRkxBR1MgYW5kIERJUkVDVFNPVU5EX0NGTEFHUyB0byBNYWtlZmlsZS5hbTsgc2F2ZQoJICBhbmQgcmVzdG9yZSB0aGUgdmFyaW91cyBmbGFncyBpbiB0aGUgZGlyZWN0ZHJhdy9kaXJlY3Rzb3VuZAoJICBkZXRlY3Rpb24gc2VjdGlvbi4gQXBwYXJlbnRseSBpbXByb3ZlcyBjcm9zcy1jb21waWxpbmcgZm9yIHdpbjMyCgkgIHdpdGggbWluZ3czMiB1bmRlciBzb21lIGNpcmN1bXN0YW5jZXMgKCM0Mzc1MzkpLgoKMjAwNy0wNC0yOSAxMzo1NjoxOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBbTU9WRUQgRlJPTSBHT09EXSA4MCBjaGFyIHBvbGljZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgODAgY2hhciBwb2xpY2UKCjIwMDctMDMtMTEgMjI6MjM6MDQgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLio6IEhhbmRsZSBkaXNwbGF5IG1vZGUgY2hhbmdlcyBkdXJpbmcgcGxheWJhY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgSGFuZGxlIGRpc3BsYXkgbW9kZSBjaGFuZ2VzIGR1cmluZyBwbGF5YmFjay4KCjIwMDctMDItMjcgMTI6MDI6MDMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgW01PVkVEIEZST00gR09PRF0gdXBkYXRlIGNvcHlyaWdodCBzdGF0ZW1lbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgY29weXJpZ2h0IHN0YXRlbWVudHMKCjIwMDctMDItMTggMTg6MDA6NTEgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3LzogUHJlcGFyZSB0aGUgcGx1Z2luIHRvIG1vdmUgdG8gZ29vZDoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgUHJlcGFyZSB0aGUgcGx1Z2luIHRvIG1vdmUgdG8gZ29vZDoKCSAgUmVtb3ZlIHVudXNlZC91bnRlc3RlZCBjb2RlIChyZW5kZXJpbmcgdG8gYW4gZXh0ZXJuIHN1cmZhY2UsCgkgIHl1diBmb3JtYXQgcmVuZGVyaW5nKS5Vc2UgR1NUXyhERUJVRy8qKV9PQkpFQ1QgbWFjcm9zCgkgIFJlbmFtZSBhbGwgZnVuY3Rpb25zIGZyb20gZ3N0X2RpcmVjdGRyYXdzaW5rIHRvIGdzdF9kaXJlY3RkcmF3X3NpbmsuCgkgIEFkZCBndGsgZG9jIHNlY3Rpb24KCSAgRml4IGEgYnVnIGluIGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSwgbWVtY3B5IGxpbmUgYnkgbGluZQoJICByZXNwZWN0aW5nIGRlc3RpbmF0aW9uIHN1cmZhY2Ugc3RyaWRlLgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgIFByZXBhcmUgdGhlIHBsdWdpbiB0byBtb3ZlIHRvIGdvb2Q6CgkgIFJlbmFtZSBhbGwgZnVuY3Rpb25zIGZyb20gZ3N0X2RpcmVjdHNvdW5kc2luayB0byBnc3RfZGlyZWN0c291bmRfc2luay4KCSAgQWRkIGd0ayBkb2Mgc2VjdGlvbgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaC5pbjoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIGNvbmZpZy5oLmluCgoyMDA3LTAyLTExIDE1OjI2OjQ5ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBNYWtlZmlsZS5hbTogQWRkIHdpbjMyIE1BTklGRVNUCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICBBZGQgd2luMzIgTUFOSUZFU1QKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIENsZWFyIHVudXNlZCBjb2RlIGFuZCBhZGQgY29tbWVudHMuCgkgIFJlbW92ZSB5dXYgZnJvbSB0ZW1wbGF0ZSBjYXBzLCBpdCBvbmx5IHN1cHBvcnRzIFJHQgoJICBhY3R1YWxseS4KCSAgSW1wbGVtZW50IFhPdmVybGF5IGludGVyZmFjZSBhbmQgcmVtb3ZlIHdpbmRvdyBhbmQgZnVsbHNjcmVlbgoJICBwcm9wZXJ0aWVzLgoJICBBZGQgZGVidWcgbG9ncy4KCSAgVGVzdCBmb3IgYmxpdCBjYXBhYmlsaXRpZXMgdG8gcmV0dXJuIG9ubHkgdGhlIGN1cnJlbnQgY29sb3JzcGFjZSBpZgoJICB0aGUgaGFyZHdhcmUgY2FuJ3QgYmxpdCBmb3Igb25lIGNvbG9yc3BhY2UgdG8gYW5vdGhlci4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIEFkZCBzb21lIGRlYnVncy4KCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIFZTNyBwcm9qZWN0IGZpbGVzIGFuZCBzb2x1dGlvbi4KCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cXRkZW11eC5kc3A6CgkgIFVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoKMjAwNy0wMS0wMyAxOTo1NDozMyArMDAwMCAgVmluY2VudCBUb3JyaSA8dnRvcnJpQHVuaXYtZXZyeS5mcj4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIEFkZCBkaXJlY3RkcmF3c2luayB0byBidWlsZCBhbmQgZGlzdCBpdCwgc28gaXQgZ2V0cyBidWlsdCB3aGVuIGNvbXBpbGluZyB3aXRoIE1pbmdXIG9uIHdpbjMyIGFuZCB0aGUgcmVxdWlyZWQgaGVhZGVycy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpbmNlbnQgVG9ycmkgIDx2dG9ycmkgYXQgdW5pdi1ldnJ5IGZyPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkgIEFkZCBkaXJlY3RkcmF3c2luayB0byBidWlsZCBhbmQgZGlzdCBpdCwgc28gaXQgZ2V0cyBidWlsdCB3aGVuCgkgIGNvbXBpbGluZyB3aXRoIE1pbmdXIG9uIHdpbjMyIGFuZCB0aGUgcmVxdWlyZWQgaGVhZGVycyBhbmQgbGlicmFyaWVzCgkgIGFyZSBhdmFpbGFibGUgKGZpeGVzOiAjMzkyMzEzKS4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX2NlbnRlcl9yZWN0KSwgKGdzdF9kaXJlY3RkcmF3c2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9kaXJlY3RkcmF3c2lua19zZXR1cF9kZHJhdyksCgkgIChnc3RfZGlyZWN0ZHJhd3Npbmtfc3VyZmFjZV9jcmVhdGUpOgoJICBDb21tZW50IG91dCBzb21lIHVudXNlZCB0aGluZ3MgYW5kIGZpeCBzb21lIHByaW50ZiBmb3JtYXQgaXNzdWVzIGluCgkgIG9yZGVyIHRvIGF2b2lkIHdhcm5pbmdzIHdoZW4gYnVpbGRsaW5nIHdpdGggTWluZ1cgKCMzOTIzMTMpLgoKMjAwNi0xMS0wMSAxMDoxOToxOCArMDAwMCAgU2VyZ2V5IFNjb2JpY2ggPHNlcmdleS5zY29iaWNoQGdtYWlsLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy86IFdhaXQgdW50aWwgdGhlIHdpbmRvdyBpcyBjcmVhdGVkIGJlZm9yZSB1c2luZyBpdDsgZ3VhcmQgdW5pc3RkLmggaW5jbHVkZXMgd2l0aCBIQVZFX1VOSVNURF9ILiAoIzM2NjUyMykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZXJnZXkgU2NvYmljaCAgPHNlcmdleSBkb3Qgc2NvYmljaCBhdCBnbWFpbCBjb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3c2lua193aW5kb3dfdGhyZWFkKSwKCSAgKGdzdF9kaXJlY3RkcmF3c2lua19jcmVhdGVfZGVmYXVsdF93aW5kb3cpOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBXYWl0IHVudGlsIHRoZSB3aW5kb3cgaXMgY3JlYXRlZCBiZWZvcmUgdXNpbmcgaXQ7IGd1YXJkIHVuaXN0ZC5oCgkgIGluY2x1ZGVzIHdpdGggSEFWRV9VTklTVERfSC4gKCMzNjY1MjMpCgkgICogd2luMzIvdnM4L2xpYmdzdGRpcmVjdGRyYXcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3Rzb3VuZC52Y3Byb2o6CgkgIFVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoKMjAwNi0wNy0yNCAyMTo0MzowNiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay4qOiBBZGQgYW4gYXR0ZW51YXRpb24gcHJvcGVydHkgdGhhdCB3aWxsIGRpcmVjdGx5IGF0dGVudWF0ZSB0aGUgZGlyZWN0c291bmQgYnVmZmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBBZGQgYW4gYXR0ZW51YXRpb24gcHJvcGVydHkgdGhhdCB3aWxsIGRpcmVjdGx5IGF0dGVudWF0ZSB0aGUKCSAgZGlyZWN0c291bmQgYnVmZmVyLgoJICBDaGFuZ2UgdGhlIHNpemUgb2YgdGhlIGRpcmVjdHNvdW5kIHNlY29uZGFyeSBidWZmZXIgdG8gYSBoYWxmIHNlY29uZC4KCSAgQWRkIG1vcmUgZGVidWcgbG9ncy4KCSAgQWRkIGEgbG9jayB0byBwcm90ZWN0IGRzb3VuZCBidWZmZXIgd3JpdGUgYWNjZXNzLgoJICBGaXggYSBiYWQgaW1wbGVtZW50YXRpb24gb2YgcmVzZXQuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIEFkZCBhIGtlZXBfYXNwZWN0X3JhdGlvIHByb3BlcnR5LgoJICBEbyBub3QgdXNlIG92ZXJsYXkgaWYgbm90IHN1cHBvcnRlZC4KCSAgQWRkIG1vcmUgZGVidWcgbG9ncy4KCSAgUmVtb3ZlIG92ZXJ3cml0ZSBvZiBXTV9FUkFTRUJLR05EIG1lc3NhZ2UgaGFuZGxpbmcuIEl0IHdhcyBub3QKCSAgcmVkcmF3aW5nIGJvcmRlciB3aGVuIGtlZXBfYXNwZWN0X3JhdGlvIHdhcyBlbmFibGVkLgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgdXBkYXRlIHZlcnNpb24gd2FpdGluZyBhbiBhdXRvLWdlbmVyYXRlZCBjb25maWcuaAoKMjAwNi0wNi0xMiAxMDo1MzoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIGV4dC9saWJtbXMvZ3N0bW1zLmM6IFNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2NyZWF0ZSk6CgkgIFNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogKGdzdF9kaXJlY3RkcmF3c2lua19pbml0KToKCSAgQ29tbWVudCBvdXQgdW51c2VkIGdsb2JhbCBpbnN0YW5jZSB2YXJpYWJsZS4KCjIwMDYtMDYtMDEgMjI6MDA6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIEZpeCBtb3JlIGdvYmplY3QgbWFjcm9zOiBvYmo8LT5rbGFzcywgR3N0WFhYPC0+R3N0WFhYQ2xhc3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuaDoKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5oOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuaDoKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmg6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuaDoKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5oOgoJICAqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5oOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmg6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5oOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmg6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuaDoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNlbmMuaDoKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmg6CgkgICogZXh0L25hcy9uYXNzaW5rLmg6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmg6CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuaDoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5oOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5oOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmg6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuaDoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5oOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmg6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgICogZXh0L3hpbmUvZ3N0eGluZS5oOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuaDoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmg6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuaDoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5oOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuaDoKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuaDoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuaDoKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuaDoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuaDoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0Lmg6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5oOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuaDoKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5oOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmg6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguaDoKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmg6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmg6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uaDoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmg6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5oOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmg6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5oOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5oOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuaDoKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmg6CgkgICogc3lzL3ZjZC92Y2RzcmMuaDoKCSAgRml4IG1vcmUgZ29iamVjdCBtYWNyb3M6IG9iajwtPmtsYXNzLCBHc3RYWFg8LT5Hc3RYWFhDbGFzcwoKMjAwNi0wNC0yNSAyMTo1NjozOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gRGVmaW5lIEdzdEVsZW1lbnREZXRhaWxzIGFzIGNvbnN0IGFuZCBhbHNvIHN0YXRpYyAod2hlbiBkZWZpbmVkIGFzIGdsb2JhbCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2Jhc2VfaW5pdCk6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfYmFzZV9pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfYmFzZV9pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6IChnc3RfY2R4YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6IChnc3RfcHV6emxlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzoKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuYzogKGdzdF90dGFfZGVjX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJICAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiAoZ3N0X3hpbmdfbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgKiBzeXMvdmNkL3ZjZHNyYy5jOiAoZ3N0X3ZjZHNyY19iYXNlX2luaXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6CgkgIERlZmluZSBHc3RFbGVtZW50RGV0YWlscyBhcyBjb25zdCBhbmQgYWxzbyBzdGF0aWMgKHdoZW4gZGVmaW5lZCBhcwoJICBnbG9iYWwpCgoyMDA2LTA0LTAxIDEwOjA5OjExICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSAgW01PVkVEIEZST00gR09PRF0gcmV3b3JrIGJ1aWxkOyBhZGQgdHJhbnNsYXRpb25zIGZvciB2NGwyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXdvcmsgYnVpbGQ7IGFkZCB0cmFuc2xhdGlvbnMgZm9yIHY0bDIKCjIwMDYtMDMtMDMgMjM6NDU6MjMgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy86IHNpbmtzIGFyZSBub3cgdXNpbmcgR1NUX1JBTktfUFJJTUFSWSB0byBiZSB1c2VkIHdpdGggYXV0b2RlY3RlY3Rpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXc6CgkgICogc3lzL2RpcmVjdHNvdW5kOgoJICBzaW5rcyBhcmUgbm93IHVzaW5nIEdTVF9SQU5LX1BSSU1BUlkgdG8gYmUgdXNlZCB3aXRoIGF1dG9kZWN0ZWN0aW9uCgkgICogd2luMzIvdnM2OgoJICBwcm9qZWN0IGZpbGVzIHVwZGF0ZWQgdG8gZml4IHNvbWUgYnVncwoJICAqIHdpbjMyL3ZzNzoKCSAgKiB3aW4zMi92czg6CgkgIHZzNyBhbmQgdnM4IHByb2plY3QgZmlsZXMgYWRkZWQKCjIwMDYtMDEtMDUgMjM6MTc6NDQgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgW01PVkVEIEZST00gR09PRF0gYWRkZWQgc3lzL2RpcmVjdGRyYXcgYWRkZWQgc3lzL2RpcmVjdHNvdW5kIGFkZGVkIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3IGFkZGVkIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3AgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAxLTA1ICBTZWJhc3RpZW4gTW91dHRlICA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgkgICogYWRkZWQgc3lzL2RpcmVjdGRyYXcKCSAgKiBhZGRlZCBzeXMvZGlyZWN0c291bmQKCSAgKiBhZGRlZCB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdwoJICAqIGFkZGVkIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3AKCSAgKiBhZGRlZCB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3AKCSAgKiBhZGRlZCB3aW4zMi9jb21tb24vY29uZmlnLmgKCjIwMDktMDUtMTUgMTA6NDU6NDUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBGaXggcmVzZXR0aW5nIG9mIHRoZSBzaW5rIGluIE5VTEwKCSAgUmVzZXQgdGhlIGZwc2Rpc3BsYXlzaW5rIGluIE5VTEwgYnkgcmVtb3ZpbmcgdGhlIHRleHRvdmVybGF5IGlmIHdlCgkgIGNyZWF0ZWQgaXQuCgkgIEZpeGVzOiAjNTgyNjMzCgoyMDA5LTA1LTE2IDAwOjE3OjAwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkqIGdzdC95NG0veTRtZW5jLnZjcHJvajoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOgoJICBNb3ZlZCAneTRtZW5jJyBmcm9tIC1iYWQgdG8gLWdvb2QKCjIwMDktMDUtMTUgMTg6MjQ6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vTWFrZXZhcnM6CgkgIHBvOiBhZGQgTWFrZXZhcnMgbWFnaWMgc28gd2UgZG9uJ3QgZ2V0IGxpbmUgbnVtYmVycyBpbiAqLnBvIGZpbGVzCgkgIFRoaXMgYXZvaWRzIHRoZSBudW1iZXIgb25lIHJlYXNvbiBmb3IgbG9jYWwgbW9kaWZpY2F0aW9ucyBpbiAqLnBvCgkgIGZpbGVzIGFuZCBhbmQgbWFrZXMgdGhpbmdzIGxlc3MgYW5ub3lpbmcgd2hlbiB3b3JraW5nIHdpdGggZ2l0IChvcgoJICBhbnkgb3RoZXIgVkNTIGZvciB0aGF0IG1hdHRlcikuCgoyMDA5LTA1LTE1IDAxOjU0OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJICBbcXRtdXhdIEZpeGVzIHNlZ2ZhdWx0IHdoZW4gYWRkaW5nIGEgYmxvYiBhcyBmaXJzdCB0YWcuCgkgIE1vdmVzIHRhZ3MgZGF0YSBpbml0aWFsaXphdGlvbiB0byB0aGUgZnVuY3Rpb24gdGhhdCBhY3R1YWxseSBhcHBlbmRzCgkgIHRoZSB0YWdzIHRvIHRoZSBsaXN0LiBGaXhlcyAjNTgyNzAyCgkgIEFsc28gZml4ZXMgc29tZSBzdHlsZSBjYXVnaHQgYnkgdGhlIHByZS1jb21taXQgaG9vay4KCjIwMDktMDUtMTQgMjE6MjA6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIG14ZmRlbXV4OiBVc2UgYSBSVyBsb2NrIHRvIHByb3RlY3QgbWV0YWRhdGEgYW5kIGFkZCBhbGwgcGFkcyBhdCBvbmNlIHdpdGhvdXQgYSBsb2NrIGhlbGQKCSAgVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSwgYW1vbmcgb3RoZXIgdGhpbmdzLCB0byBkbyBhIHF1ZXJ5IGluIHRoZQoJICBwYWQtYWRkZWQgY2FsbGJhY2suCgkgIEZpeGVzIGJ1ZyAjNTgyNjU2LgoKMjAwOS0wNS0xNCAxMDozNDowOCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBGaXggdGhlIGFyZ3VtZW50IG9yZGVyIGluIGEgZGVidWcgc3RhdGVtZW50CgkgIE1ha2UgdGhlIGRlYnVnIHN0YXRlbWVudCBjb3JyZWN0bHkgc2hvdyB0aGUgJ29sZCcgYW5kICduZXcnIGJ1dHRvbgoJICBjb29yZGluYXRlcywgaW5zdGVhZCBvZiB0aGUgd3Jvbmcgd2F5IGFyb3VuZC4KCjIwMDktMDUtMTQgMDk6NTM6MjUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5oOgoJICByZXNpbmR2ZDogTWFrZSBzZWdtZW50IHVwZGF0ZXMgbGVzcyBhZ2dyZXNzaXZlLgoJICBXaGVuIHVwZGF0aW5nIGEgcGFkLCBzZW5kIHRoZSB1cGRhdGUgdG8gaGFsZiBhIHNlY29uZCBiZWhpbmQgdGhlIFNDUiwKCSAgd2hpY2ggYXZvaWRzIGV2ZXIgdXBkYXRpbmcgdGhlIHN0YXJ0IHRpbWUgZm9yIGEgcGFkIHRvIGJleW9uZCB0aGUgZW5kIG9mCgkgIHRoZSBjZWxsLiBBbHNvLCByZW1lbWJlciB0aGUgbGFzdCBhY3R1YWwgbmV3LXNlZ21lbnQgc3RhcnQgdGltZSBmb3IgZWFjaAoJICBwYWQsIGFuZCB1c2UgaXQgd2hlbiBjbG9zaW5nIHRoZSBzZWdtZW50LgoKMjAwOS0wNS0xMyAxMjo0Nzo0MyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBSZXdvcmsgYnV0dG9uIGhpZ2hsaWdodCBjYWxjdWxhdGlvbiBzbGlnaHRseQoJICBXaGVuIHRoZSBjdXJyZW50IGJ1dHRvbiBudW1iZXIgaXMgaGlnaGVyIHRoYW4gdGhlIG51bWJlciBvZiBhdmFpbGFibGUKCSAgYnV0dG9ucywgc3dpdGNoIHRvIHRoZSBoaWdoZXN0IG51bWJlcmVkIGJ1dHRvbiByYXRoZXIgdGhhbiB0aGUgbG93ZXN0LgoJICBBbHNvLCBkb24ndCB0aHJvdyBlcnJvcnMgd2hlbiB3ZSBmYWlsIHRvIHJldHJpZXZlIHNvbWUgYnV0dG9uIGluZm8KCSAgZnJvbSBsaWJkdmRuYXYsIGp1c3QgcmVzZXQgdGhlIGhpZ2hsaWdodC4KCjIwMDktMDUtMTIgMjM6NDI6MDAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgcmVzaW5kdmQ6IFNlbmQgY29tbWFuZHMtY2hhbmdlZCBvbiBidXR0b24gY2hhbmdlIGFuZCBoYW5kbGUgY29tbWFuZHMgcXVlcnkKCSAgU2VuZCB0aGUgY29tbWFuZHMtY2hhbmdlZCBuYXZpZ2F0aW9uIG1lc3NhZ2Ugd2hlbiB0aGUgc2V0IG9mIGF2YWlsYWJsZQoJICBEVkQgbWVudSBidXR0b24gYWN0aW9ucyBjaGFuZ2VzLCBhbmQgaGFuZGxlIHRoZSBjb21tYW5kcyBuYXZpZ2F0aW9uCgkgIHF1ZXJ5IHNvIHRoYXQgKGUuZy4pIFRvdGVtIGNhbiBrbm93IGFib3V0IHRoZSBhdmFpbGFibGUgbmF2aWdhdGlvbgoJICBjb21tYW5kcy4KCjIwMDktMDUtMTQgMDg6NDI6MjQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogRml4IGEgbGVhayBvZiB0aGUgRFZEIHRpdGxlIHN0cmluZwoKMjAwOS0wNS0xNCAxMDo1NTozOCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBQdXNoIHVwZGF0ZSBmcmFtZSwgaWYgYW55LCB3aGVuIGVudGVyaW5nIHN0aWxscy4KCSAgV2hlbiBlbnRlcmluZyBhIHN0aWxsIGZyYW1lIGdlbmVyYXRlcyBhbiB1cGRhdGVkIGJ1ZmZlciwgbWFrZSBzdXJlCgkgIHRvIHB1c2ggaXQgb3V0LCBvdGhlcndpc2Ugd2UgbWF5IG5vdCBwdXQgYSBmcmFtZSBvbnNjcmVlbiB3aXRoIGEKCSAgcmVuZGVyZWQgYnV0dG9uLCBjYXVzaW5nIHJhY2luZXNzIGFzIHRvIHdoZXRoZXIgYnV0dG9ucyBnZXQgZHJhd24KCSAgb3Igbm90IHdoZW4ganVtcGluZyBiYWNrIHRvIHRoZSBtZW51IG9uIHNvbWUgZGlzY3MuCgoyMDA5LTA1LTEzIDEwOjI5OjM2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmg6CgkgIHJlc2luZHZkOiBGaXggcmFjaW5lc3MgaW4gcnNuZHZkYmluIHdoZW4gaW5pdGlhbGx5IGNyZWF0aW5nIHBhZHMKCSAgUHJvdGVjdCBwYWQgZXhwb3N1cmUgd2l0aCBhIHByZXJvbGwgbG9jayB0byBhdm9pZCBzaXR1YXRpb25zCgkgIHdoZXJlIG5vLW1vcmUtcGFkcyBpcyBmaXJlZCBtb3JlIHRoYW4gb25jZSwgb3IgZmlyZWQganVzdCBiZWZvcmUKCSAgdGhlIGxhc3QgcGFkIGlzIGFjdHVhbGx5IGFkZGVkLgoKMjAwOS0wNS0xMyAxNzo1NTo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIHk0bWVuYzogY2hhbmdlIG15IGVtYWlsCgkgIGNoYW5nZSBteSBlbWFpbCB0byBzb21ldGhpbmcgbW9yZSBjdXJyZW50CgkgIFNlZSAjNTgwNzgzCgoyMDA5LTA1LTEzIDE3OjU0OjQ3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgeTRtZW5jOiBkb24ndCBzdHJpcCB0aW1lc3RhbXBzCgkgIEZpeGVzICM1ODI0ODMKCjIwMDktMDUtMTMgMTA6NDc6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZTIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSogZ3N0L2RlaW50ZXJsYWNlLy5naXRpZ25vcmU6CgkqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2RlaW50ZXJsYWNlL2RlaW50ZXJsYWNlLnZjcHJvajoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aG1hY3Jvcy5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9saW5lYXIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvbW14Lmg6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3BsdWdpbnMuaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NzZS5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcDBBLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUEuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BFZGdlQTguaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTIuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBNi5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEFILmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQUgyLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVG9wLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVkEuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BWQUguaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1N0cmFuZ2VCb2IuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9XaWVyZEJvYi5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZldGZmLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3g4Ni02NF9tYWNyb3MuaW5jOgoJICBNb3ZlZCAnZGVpbnRlcmxhY2UyJyBmcm9tIC1iYWQgdG8gLWdvb2QKCSAgQW5kIHJlbW92ZSBvbGQgZGVpbnRlcmxhY2UgcGx1Z2luIGFzIGRlaW50ZXJsYWNlMiB3aWxsCgkgIGJlIGNhbGxlZCBkZWludGVybGFjZSBpbiAtZ29vZC4KCjIwMDktMDUtMTIgMjE6NTA6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2ZGVtdXgueG1sOgoJKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6CgkgIE1vdmVkICdmbHYnIGZyb20gLWJhZCB0byAtZ29vZAoKMjAwOS0wNS0xMiAwMDo1MDowMSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTEuMiBwcmUtcmVsZWFzZQoKMjAwOS0wNS0xMSAxNzo1MDo0MSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4Lmg6CgkgIHJlc2luZHZkOiBNb2RpZnkgdGhlIHNlZ21lbnQgdXBkYXRlIGxvZ2ljCgkgIFNlbmQgc2VnbWVudCB1cGRhdGVzIHRvIHRoZSBhdWRpbyBhbmQgc3VicGljdHVyZSBwYWRzIG1vcmUgZnJlcXVlbnRseSwKCSAgYnV0IGxlc3Mgb2Z0ZW4gdG8gdGhlIHZpZGVvIHBhZCwgd2hlcmUgdGltZXN0YW1wcyBhcHBlYXIgbGVzcyBvZnRlbi4KCSAgVGhpcyBoZWxwcyB3aXRoIGdhcCBmaWxsaW5nIG9uIHNvbWUgRFZEcy4KCjIwMDktMDUtMTEgMTY6MDk6NTYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkgIHJlc2luZHZkOiBJbmNyZWFzZSB0aGUgYW1vdW50IG9mIGZpbGxlciBhdWRpbyBnZW5lcmF0ZWQKCSAgV2hlbiBjcmVhdGluZyBhIGZpbGxlciBhdWRpbyBidWZmZXIgaW4gcnNuYXVkaW9tdW5nZSwgZ2VuZXJhdGUKCSAgYSBiaXQgbW9yZSwgYXMgYXVkaW8gc2lua3MgZG9uJ3Qgc2VlbSB0byBwcmVyb2xsIG90aGVyd2lzZS4gVGhpcwoJICBuZWVkcyBhIGJldHRlciBhbGdvcml0aG0gaW4gZ2VuZXJhbCwgdG8gaW50ZWxsaWdlbnRseSBmaWxsIHRoZQoJICBnYXAsIHJhdGhlciB0aGFuIGhhcmQtY29kaW5nIGEgdmFsdWUuCgoyMDA5LTA1LTExIDE0OjE3OjQyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIHJlc2luZHZkOiBNYW5hZ2UgdGltZWQgc3RpbGwgc2VxdWVuY2VzIGJldHRlcgoJICBNYWtlIHRpbWVkIHN0aWxsIGZyYW1lcyB3b3JrIGJldHRlciBieSBleHRlbmRpbmcgdGhlIGN1cnJlbnQgc2VnbWVudAoJICB3aGVuIG5lZWRlZCwgYW5kIHJlc3RhcnRpbmcgdGhlIHN0aWxsIHNlcXVlbmNlIHdpdGggdGhlIGNvcnJlY3QKCSAgcmVtYWluaW5nIGR1cmF0aW9uIHdoZW4gdGhlIHdhaXQgaXQgaW50ZXJydXB0ZWQgYnkgYWN0aXZhdGlvbiBvZiBhCgkgIGhpZ2hsaWdodCBOQVYgcGFja2V0LgoKMjAwOS0wNS0xMSAxMTowNjowMyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSAgcmVzaW5kdmQ6IENoYW5nZSB0aGUgYXVkaW9tdW5nZSBkZWJ1ZyBvdXRwdXQuCgkgIE1ha2Ugc3VyZSB3ZSBhbHdheXMgc2hvdyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc2VnbWVudCBldmVudHMgcGFzc2luZyB0aHJvdWdoLAoJICBldmVuIHdoZW4gcHJlLXJvbGwgYXVkaW8gYnVmZmVycyBhcmVuJ3QgZ29pbmcgdG8gYmUgbmVlZGVkLgoKMjAwOS0wNS0xMSAxMTowNDoyNSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBNYWtlIHRoZSBkZWJ1Z2dpbmcgb3V0cHV0IGEgYml0IGNsZWFyZXIuCgkgIERpc3BsYXkgbW9yZSBpbmZvIGFib3V0IGN1c3RvbSBEVkQgZXZlbnRzIGluIHRoZSBkZWJ1ZyBtZXNzYWdlcy4KCjIwMDktMDUtMDggMTc6NDI6MTIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogQWx3YXlzIHB1c2ggYSBmcmFtZSBhdCB0aGUgc3RhcnQgb2YgYSBzdGlsbCBmcmFtZSwgYW5kIGZpeCBhIGxlYWsuCgkgIE1ha2Ugc3VyZSB0byBwdXNoIHRoZSBmcmFtZSBmb3IgYSBzdGlsbCBmcmFtZSwgd2l0aCBkaXNjb250ID0gdHJ1ZSBhbmQKCSAgdGltZXN0YW1wPW5vbmUsIHNvIHRoYXQgaXQgZ2V0cyBkaXNwbGF5ZWQgYnkgdGhlIHNpbmsuIEFsc28sIGRvbid0IGxlYWsKCSAgZWFjaCByZW5kZXJlZCB2aWRlbyBmcmFtZSBkdXJpbmcgc3RpbGwgbWVudXMuCgoyMDA5LTA1LTA4IDE3OjQwOjQ4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS1yZW5kZXIuYzoKCSAgZHZkc3B1OiBBZGQgYSBndWFyZCB3aGVuIHdlIGRvbid0IGhhdmUgYW55IHN1YnBpY3R1cmUgYnVmZmVyIHRvIHJlbmRlcgoKMjAwOS0wNS0wOCAxNjoyOToyMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSAgcmVzaW5kdmQ6IFJlbmFtZSB0aGUgYXVkaW8gbXVuZ2VyIGRlYnVnIGNhdGVnb3J5CgkgIFJlbmFtZSBhIGRlYnVnIGNhdGVnb3J5OiByc25fYXVkaW9tdW5nZSAtPiByc25hdWRpb211bmdlLgoKMjAwOS0wNS0wOCAxNjoyNzozMSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBFbnN1cmUgd2Ugc2VuZCBhIHRpdGxlIHRhZyBpbiB0aGUgZmlyc3QgcGxheSBzZWN0aW9uLgoKMjAwOS0wNS0wOCAxNjowNjowMSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBTaW1wbGlmeSBzb21lIHN0dWZmLiBSZW1vdmUgYW4gdW5uZWNlc3NhcnkgTE9HIG1lc3NhZ2UuCgkgIFNraXAgYXR0ZW1wdGluZyB0byBzY2hlZHVsZSBhIG5hdiBibG9jayB1bmxlc3Mgd2UncmUgaW4gUExBWUlORy4gVGFrZSBhIGxvY2sKCSAgc2xpZ2h0bHkgbGF0ZXIsIHdoZW4gd2UgYWN0dWFsbHkgbmVlZCBpdC4gUmVtb3ZlIGEgbm9pc3kgTE9HIG1lc3NhZ2UuCgoyMDA5LTA1LTA4IDE0OjIzOjQ4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IFJlbW92ZSBwZXItbWVudSBkZXNjcmlwdGlvbiBmcm9tIHRoZSBUSVRMRSB0YWcKCSAgVGhlIHBhcnQgbnVtYmVyIHJlcG9ydGVkIHdoaWxlIGluIGEgbWVudSBkb2Vzbid0IHJlZmxlY3QgdGhlIHNlbGVjdGVkCgkgIG1lbnUsIHNvIGl0J3MgcG9pbnRsZXNzIHRvIHVzZSBpdCB0byByZXBvcnQgd2hpY2ggbWVudSB3ZSdyZSBpbiAoQXVkaW8sCgkgIEFuZ2xlIGV0YykuIEp1c3QgcmVwb3J0ICJEVkQgTWVudSIgaW4gdGhlIHRpdGxlIHRhZyBpbnN0ZWFkLgoKMjAwOS0wNS0wOCAxNDoyMDozMiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICByZXNpbmR2ZDogU2VuZCB0aXRsZSBpbmZvIG1lc3NhZ2Ugd2hlbiBjdXJyZW50IGFuZ2xlIGlzIHN3aXRjaGVkLgoJICBNYWtlIHN1cmUgd2Ugc2VuZCBhbiB1cGRhdGUgdGl0bGUgdGFnIHdoZW4gdGhlIGN1cnJlbnQgYW5nbGUgb3IgYXZhaWxhYmxlCgkgIGFuZ2xlcyBjaGFuZ2VzLgoKMjAwOS0wNS0wOCAxMDo0MzoyNyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICByZXNpbmR2ZDogSW1wbGVtZW50IG5hdmlnYXRpb24gY29tbWFuZCBjaGFuZ2UgbWVzc2FnZSBhbmQgcXVlcnkKCSAgU2VuZCBtZXNzYWdlcyB3aGVuIHRoZSBhdmFpbGFibGUgRFZEIG5hdmlnYXRpb24gY29tbWFuZHMgY2hhbmdlcywgYW5kCgkgIGhhbmRsZSBuYXZpZ2F0aW9uIGNvbW1hbmRzIGFuZCBhbmdsZXMgcXVlcmllcy4KCjIwMDktMDUtMTEgMTY6NTk6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgbXBlZ3RzZGVtdXg6IFByb3RlY3QgYml0cmF0ZSBlc3RpbWF0aW9uIGFnYWluc3QgYm9ndXMgdmFsdWVzLgoJICBJZiB0aGUgZXN0aW1hdGVkIGJpdHJhdGUgaXMgbG93ZXIgdGhhbiAxODggYnl0ZXMsIHRoZXJlJ3MgbW9zdCBsaWtlbHkKCSAgc29tZXRoaW5nIGNvbXBsZXRlbHkgd3Jvbmcgd2l0aCB0aGUgdHdvIHNhbXBsZXMuIElmIHRoYXQgaGFwcGVucywKCSAgZm9yY2UgcmVjYWxjdWxhdGlvbi4KCSAgVXNlIGd1aW50NjQgZm9yIG9ic2VydmF0aW9uIFBDUiwgSSBzYXcgY2FzZXMgd2hlcmUgaXQgd291bGQgb3ZlcmZsb3cuCgoyMDA5LTA1LTExIDE2OjU4OjU4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogT25seSB0YWtlIFBDUiBmcm9tIHRoZSBhY3RpdmUgc3RyZWFtIGZvciBiaXRyYXRlIGVzdGltYXRpb24uCgoyMDA5LTA1LTExIDE2OjQwOjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogQ2hhbmdlIGRlYnVnZ2luZyBsZXZlbHMgZm9yIHZlcnkgZnJlcXVlbnQgbWVzc2FnZXMuCgkgIFRoaXMgYWxsb3dzIGRlYnVnZ2luZyB3aXRoIG1wZWd0c2RlbXV4OjQgd2hpbGUgYmVpbmcgYWJsZSB0byB0cmFjayB3aGF0J3MKCSAgZ29pbmcgb24gKGFuZCBhdm9pZCB0YWtpbmcgdXAgYXMgbXVjaCBjcHUgZm9yIGRlYnVnZ2luZyBhcyBmb3IgdGhlIGFjdHVhbAoJICBkZW11eGluZyBwcm9jZXNzKS4KCjIwMDktMDUtMDkgMDk6NTc6NDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIG1wZWd0c2RlbXV4OiBSZXZlcnQgaW5kZW50YXRpb24gYW5kIGNvbW1lbnQgaGVhZGVyIGZpbGUuCgkgIE9uZSBzaG91bGRuJ3QgcnVuIGdzdC1pbmRlbnQgb24gLmggZmlsZXMsIGluIHRoaXMgY2FzZSBpdCB3YXMgdW4tYmVhdXRpZnlpbmcKCSAgdGhlIGluZGVudGF0aW9uIDopCgoyMDA5LTA1LTEwIDIxOjIxOjM2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBncHBtdXg6IEFkZCBNUEVHLTQgcGFydCAyIHRvIHN1cHBvcnRlZCBmb3JtYXRzLiAgRml4ZXMgIzU4MTU5My4KCjIwMDktMDUtMTAgMTc6MTc6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBmYWFkOiBGaXggY29uZmlndXJlIGNoZWNrIGZvciB0aGUgRkFBRCB2ZXJzaW9uCgkgIFRoZSBwcmV2aW91cyB2ZXJzaW9uIG1hdGNoZWQgdGhpbmdzIGxpa2UgMjk3IGZvcgoJICB2ZXJzaW9uIDIuNywgZXRjIHdoaWNoIGNvdWxkIGJlIGFkZGVkIHRvIHRoZSBmaWxlCgkgIGJ5IG90aGVyIGhlYWRlcnMuCgkgIEZpeGVzIGJ1ZyAjNTgyMDc0LgoKMjAwOS0wNS0xMCAxMToxNzoxNyArMDIwMCAgTWFyYy1BbmRyZSBMdXJlYXUgPG1hcmNhbmRyZS5sdXJlYXVAZ21haWwuY29tPgoKCSogYXV0b2dlbi5zaDoKCSAgUnVuIGxpYnRvb2xpemUgYmVmb3JlIGFjbG9jYWwKCSAgVGhpcyB1bmJyZWFrcyB0aGUgYnVpbGQgaW4gc29tZSBjYXNlcy4gRml4ZXMgYnVnICM1ODIwMjEKCjIwMDktMDUtMTAgMTA6NDA6MzYgKzAyMDAgIFRyaXN0YW4gTWF0dGhld3MgPGxlLmJ1c2luZXNzbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogRml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoJICBUaGlzIHdpbGwgYWx3YXlzIGJlIHNldCB0byBzb21ldGhpbmcgYnV0IGdjYyBkaWRuJ3QgZGV0ZWN0CgkgIHRoaXMuIEZpeGVzIGJ1ZyAjNTgyMDEzLgoKMjAwOS0wNS0wOSAyMzo0NzozOSArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3gyNjQvR3N0WDI2NEVuYy5wcnM6CgkgIFJlbW92ZSB3cm9uZyBzdHVmZiBmcm9tIHByZXNldCBmaWxlCgoyMDA5LTA1LTA5IDE1OjQ4OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4Lmg6CgkgIG14Zm11eDogV3JpdGUgbWV0YWRhdGEgaXRlbXMgaW4gcmVmZXJlbmNlIG9yZGVyCgkgIFRoaXMgZW5zdXJlcyB0aGF0IHRoZSBtZXRhZGF0YSBpdGVtcyBhcmUgYWx3YXlzIHdyaXR0ZW4KCSAgaW4gdGhlIHNhbWUgb3JkZXIgYW5kIHRoYXQgZmlyc3QgY29tZXMgdGhlIHByZWZhY2UsCgkgIHRoZW4gdGhlIGlkZW50aWZpY2F0aW9uIGxpbmtlZCBmcm9tIHRoZSBwcmVmYWNlLCAuLi4KCSAgU29tZSBkZW11eGVycyBjYW4ndCBoYW5kbGUgZmlsZXMgd2hlcmUgdGhlIG1ldGFkYXRhCgkgIGl0ZW1zIGFyZSBpbiByYW5kb20gb3JkZXIuCgoyMDA5LTA1LTA5IDE1OjQ4OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogRml4IEVPUyBsb2dpYyBhZ2FpbgoKMjAwOS0wNS0wOSAxNTo0ODowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IERvbid0IHVucmVmIE5VTEwgYnVmZmVycyBpZiBwdXNoaW5nIGEgYnVmZmVyIGFmdGVyIHRoZSBmaXJzdCBmYWlsZWQKCjIwMDktMDUtMDkgMTI6NDI6MjUgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94MjY0L0dzdFgyNjRFbmMucHJzOgoJICBBZGQgYSBtb3JlIHJlcHJlc2VudGF0aXZlIGV4YW1wbGUgcHJlc2V0IGZpbGUgZm9yIHgyNjQKCjIwMDktMDUtMDggMTg6MjQ6MjggKzAxMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgbXBlZ3RzZGVtdXg6IEFkZCBpbml0aWFsIG5haXZlIHNlZWtpbmcgc3VwcG9ydCBhbmQgZml4IGR1cmF0aW9uIHF1ZXJ5LgoJICBTeW5jIGZyb20gZ3N0LWZsdWVuZG8tbXBlZ2RlbXV4IGFuZCBoYXZlIHNlZWtpbmcvZHVyYXRpb24gcXVlcnkKCSAgaW1wcm92ZW1lbnRzIGluLiBObyBzdXBwb3J0IGhvd2V2ZXIgZm9yIHdyYXBwZWQgYXJvdW5kIHBjcnMgZXRjLiBidXQgYQoJICBzdGFydCBub25ldGhlbGVzcy4KCSAgQWxzbyBmaXggaW5kZW50YXRpb24gaXNzdWVzLgoKMjAwOS0wNS0wOCAxNjozODoyNiArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIENvbW1lbnQgb3V0IHByZXNldCBub3QgaW4geWV0CgoyMDA5LTA1LTA4IDE1OjM5OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIGRlaW50ZXJsYWNlMjogQWRkIGEgZGlzYWJsZWQgbW9kZSBmb3IgcGFzc3Rocm91Z2ggb3BlcmF0aW9uCgkgIEFsc28gYWxsb3cgdG8gY2hhbmdlIHRoZSBtb2RlIGluIFBBVVNFRCBhbmQgUExBWUlORyBieSB1cGRhdGluZwoJICB0aGUgY2FwcyBpZiBuZWNlc3NhcnkuCgoyMDA5LTA1LTA3IDE3OjUzOjQyICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmLmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBBZGQgcmFua3MgdG8gdmFyaW91cyBtdXhlcnMgYW5kIGVuY29kZXJzIGluIC1iYWQKCjIwMDktMDUtMDcgMTc6MzQ6MzYgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlCgoyMDA5LTA1LTA3IDEzOjEyOjM0ICswMjAwICBSb3YgSnV2YW5vIDxyb3ZqdXZhbm9AdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLXBsYXllci5jOgoJICBzY2FsZXRlbXBvOiBEb24ndCByZXF1aXJlIGdjb25mYXVkaW9zaW5rIGluIHRoZSBkZW1vCgkgIEZpeGVzIGJ1ZyAjNTM3NzAwLgoKMjAwOS0wNS0wNiAyMTo0ODozMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBEb24ndCBvcGVuIGFsbCBWVFMgaWZvIGF0IHRoZSBzdGFydAoJICBMb2FkIGVhY2ggVlRTIGlmbyB0aGUgZmlyc3QgdGltZSB0aGUgZGlzYyBlbnRlcnMgdGhhdCBWVFMsCgkgIHJhdGhlciB0aGFuIHNjYW5uaW5nIHRoZW0gYWxsIGF0IHRoZSBzdGFydC4KCjIwMDktMDUtMDYgMjE6MTk6MTMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgcmVzaW5kdmQ6IFNlbmQgYSB0aXRsZSB0YWcgd2hlbiB3ZSBjaGFuZ2UgY2hhcHRlci9tZW51L2FuZ2xlCgkgIEFsbG93IGFwcHMgbGlrZSBUb3RlbSB0byBkaXNwbGF5IGEgbmljZXIgdGl0bGUgdGhhdCByZWZsZWN0cyB0aGUgY3VycmVudAoJICBwb3NpdGlvbiBvbiB0aGUgZGlzYy4KCjIwMDktMDUtMDUgMTM6MTg6MjAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogRG9uJ3Qgc2VuZCBoaWdobGlnaHQtcmVzZXQgbWVzc2FnZXMgd2hlbiBub3QgbmVlZGVkCgkgIEZpeCBhIHNtYWxsIGJ1ZyB0aGF0IHJlc3VsdHMgaW4gdGhlIFNQVSBoaWdobGlnaHQgYmVpbmcgcmVzZXQgbW9yZSBvZnRlbgoJICB0aGFuIGlzIG5lY2Vzc2FyeSAtIGllLCBjbGVhcmluZyBpdCB3aGVuIGl0J3MgYWxyZWFkeSBjbGVhcmVkLgoKMjAwOS0wNS0wNSAxMzoxNDo0NyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICByZXNpbmR2ZDogc2VuZCBhbmdsZXMtY2hhbmdlZCBtZXNzYWdlcyB3aGVuIGFwcHJvcHJpYXRlCgkgIFdoZW4gdGhlIGN1cnJlbnQgYW5nbGUgY2hhbmdlcywgb3IgdGhlIG51bWJlciBvZiBhdmFpbGFibGUgYW5nbGVzIGNoYW5nZXMsCgkgIHNlbmQgYW4gYW5nbGVzLWNoYW5nZWQgbWVzc2FnZSB0byBsZXQgdGhlIGFwcCBrbm93LgoKMjAwOS0wNS0wNSAxMTozNDoyNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBNYWtlIHRoZSBuZXh0L3ByZXYgYW5nbGUgc3dpdGNoaW5nIGN5Y2xlIGF0IHRoZSBlbmRzCgkgIFdoZW4gdGhlIGN1cnJlbnQgYW5nbGUgaXMgMSBhbmQgcHJldl9hbmdsZSBpcyByZXF1ZXN0ZWQsIGxvb3AgdG8gdGhlCgkgIG1heGltdW0gYW5nbGUgYW5kIHZpY2UgdmVyc2EgZm9yIG5leHRfYW5nbGUKCjIwMDktMDUtMDUgMTY6NTQ6MzkgKzAyMDAgIEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXRAbWluZC5iZT4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogZG9uJ3QgbGVhayB0aGUgY29uZmlnIGRhdGEKCSAgQ2xlYXIgdGhlIGNvbmZpZyBkYXRhIHdoZW4gZ29pbmcgdG8gUkVBRFkgb3Igd2hlbiBkaXNwb3NlZC4KCSAgRml4ZXMgIzU4MTQyNwoKMjAwOS0wNS0wNSAxNjo0ODozNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICBydHBzc3JjZGVtdXg6IGRyb3AgdW5leHBlY3RlZCBSVENQIHBhY2tldHMKCSAgV2UgdXN1YWxseSBvbmx5IGdldCBTUiBwYWNrZXRzIGluIG91ciBjaGFpbiBmdW5jdGlvbiBidXQgaWYgYW4gaW52YWxpZCBwYWNrZXQKCSAgY29udGFpbnMgdGhlIFNSIHBhY2tldCBhZnRlciB0aGUgUlIgcGFja2V0LCB3ZSBtdXN0IG5vdCBmYWlsIGJ1dCBzaW1wbHkgaWdub3JlCgkgIHRoZSBtYWxmb3JtZWQgcGFja2V0LgoJICBGaXhlcyAjNTgxMzc1CgoyMDA5LTA1LTA0IDIyOjA5OjA1ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJAbG9jYWxob3N0LmxvY2FsZG9tYWluPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmg6CgkgIG1wZWd0c3BhcnNlOiBSZW1lbWJlciBwaWRzIHRoYXQgYXJlIG1lYW50IHRvIGJlIHN0cmVhbSBwaWRzLgoJICBGaXhlcyAjNTY5NzgxCgoyMDA5LTA1LTA0IDEyOjM3OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdDogSW1wbGVtZW50IHByZXNldCBpbnRlcmZhY2UKCjIwMDktMDUtMDQgMTI6MzY6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhYzogSW1wbGVtZW50IHByZXNldCBpbnRlcmZhY2UKCjIwMDktMDUtMDQgMTI6MzQ6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6CgkgIGpwMmtlbmM6IEltcGxlbWVudCBwcmVzZXQgaW50ZXJmYWNlCgoyMDA5LTA1LTA0IDEyOjMzOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgbXBlZzJlbmM6IEltcGxlbWVudCBQcmVzZXQgaW50ZXJmYWNlCgoyMDA5LTA1LTA0IDEyOjMxOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgeHZpZDogSW1wbGVtZW50IFByZXNldCBpbnRlcmZhY2UKCjIwMDktMDUtMDQgMTI6MzA6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBJbXBsZW1lbnQgcHJlc2V0IGludGVyZmFjZQoKMjAwOS0wNS0wMyAxNzo0Mjo0NCArMDEwMCAgVmluY2VudCBHZW5pZXV4IDxtdXRleEBydW5ib3guY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBJZ25vcmUgc3VidGFibGUgZXh0ZW5zaW9uIHdoZW4gcGFyc2luZyBQQVQKCSAgRml4ZXMgIzU2OTY3My4KCjIwMDktMDUtMDMgMTc6MjE6MjIgKzAxMDAgIFZpbmNlbnQgR2VuaWV1eCA8bXV0ZXhAcnVuYm94LmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5oOgoJICBtcGVndHNwYXJzZTogbWFrZSBzYWZlIGNoYW5naW5nIHRoZSBwcm9ncmFtLW51bWJlcnMgcHJvcGVydHkgZHluYW1pY2FsbHkKCSAgRml4ZXMgIzU2OTQzNy4KCjIwMDktMDUtMDMgMTQ6Mjg6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgbW1zOiBleHRlbmQgQmFzZVNyYyBxdWVyeSBoYW5kbGluZyByYXRoZXIgdGhhbiBvdmVycmlkaW5nCgoyMDA5LTA0LTI3IDIyOjM5OjE1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCAocmVncmVzc2lvbiBpbikgbmV3c2VnbWVudCBoYW5kbGluZwoJICAoYWFjcGFyc2UsIGFtcnBhcnNlLCBmbGFjcGFyc2UpLiAgRml4ZXMgIzU4MDEzMy4KCjIwMDktMDUtMDIgMTI6MjM6MDMgKzAxMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGZpeCBwZXMgZmlsdGVyIHBpZCByZXNldHRpbmcKCjIwMDktMDUtMDEgMDI6MjY6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSAgZHRzZGVjOiBjb3NtZXRpYyBmaXggdG8gaGVhZGVyIHN0cnVjdHVyZSB0byBtYWtlIGd0ay1kb2MgaGFwcHkKCjIwMDktMDUtMDEgMTQ6MjU6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBkb2NzOiBtYWtlIGZwc2Rpc3BsYXlzaW5rIHNob3cgdXAgaW4gdGhlIGRvY3MKCjIwMDktMDUtMDEgMDI6MjE6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSAgZnBzZGlzcGxheXNpbms6IG1vdmUgcHJpdmF0ZSBzdHJ1Y3QgaW50byBwbHVnaW4gc3RydWN0IGFuZCB1c2UgR3N0IG5hbWVzcGFjZQoKMjAwOS0wNS0wMSAwMTo1OTo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcHNkaXNwbGF5c2luay54bWw6CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiByZW5hbWUgcGx1Z2luIChub3QgZWxlbWVudCkgdG8gZGVidWd1dGlsc2JhZAoJICBNYWtlcyBpdCBlYXNpZXIgdG8gYWRkIGZ1cnRoZXIgdXRpbHMgaGVyZSB3aXRob3V0IGNyZWF0aW5nIHlldCBhbm90aGVyIHBsdWdpbi4KCjIwMDktMDUtMDEgMTQ6Mjg6MjMgKzAxMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHVuc2V0IHBpZCBmaWx0ZXJzIGNvcnJlY3RseQoKMjAwOS0wNC0zMCAxNDo0MzozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IGNoYW5nZXMgY2FwcyBvZiBzcmMgcGFkcyB0byB2aWRlby9xdWlja3RpbWUsIHZhcmlhbnQ9c29tZXRoaW5nCgkgIFRha2UgYSBsb29rIGF0IGJ1ZyAjNTgwMDA1IGZvciBmdXJ0aGVyIGluZm8uCgoyMDA5LTA0LTMwIDE3OjI5OjM1ICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3Rlcicgb2Ygc3NoOi8vdXJhZXVzQGdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy1iYWQKCjIwMDktMDQtMzAgMTc6Mjg6NDcgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgZm9yIG5ldyBwcmVzZXRzIGZpbGUKCjIwMDktMDQtMzAgMTc6MDg6NTIgKzAxMDAgIFRyaXN0YW4gTWF0dGhld3MgPGxlLmJ1c2luZXNzbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBpbml0IHZhcmlhYmxlIHRvIE5VTEwgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZwoJICBGaXhlcyAjNTgwOTAxLgoKMjAwOS0wNC0zMCAxNDoyMDoxNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LXJlbmRlci5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJICBkdmRzcHU6IGRvIHNvbWUgYmFzaWMgY2xpcHBpbmcKCSAgQWRkIHNvbWUgYmFzaWMgY2xpcHBpbmcgb2YgdGhlIHN1YnRpdGxlIHJlZ2lvbiB3aGVuIHRoZSBzdWJ0aXRsZSBpcyBiaWdnZXIgdGhhbgoJICB0aGUgaW1hZ2Ugd2Ugc2hvdWxkIHB1dCBpdCBvbi4KCjIwMDktMDQtMzAgMTQ6MTg6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IGRvbid0IEVPUyB3aGVuIHRoZSBzdWJ0aXRsZSBnb3QgRU9TCgkgIERvbid0IGZvcndhcmQgdGhlIEVPUyBvbiB0aGUgc3VidGl0bGUgcGFkIGFzIHRoZSB2aWRlbyBtaWdodCBzdGlsbCBiZSBydW5uaW5nLgoKMjAwOS0wNC0zMCAxMzo0NTozMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheTogY29kZSBjbGVhbnVwIGFuZCBwbHVnIG92ZXJsYXkgYXMgbmVlZGVkCgkgIFBsdWdnaW4gdGhlIHRleHQtb3ZlbGF5IGNhdXNlcyBzb21lIHNsb3dkb3ducyBhbmQgbWlnaHQgbmVlZCBhIGNvbG9yc3BhY2UKCSAgY29udmVydGVyLiBXZSBub3cgb25seSBjaGVjayB0aGUgdGV4dC1vdmVybGF5IHByb3BlcnR5IHdobmUgZ29pbnQgdG8gcmVhZHkgYW5kCgkgIHBsdWcgb3IgdW5wbHVnIHRoZSB0ZXh0LW92ZXJsYXkgYXQgdGhhdCB0aW1lLiBJZiB0aGUgcHJvcGVydHkgY2hhbmdlcyBkdXJpbmcKCSAgcGxheWluZywgaXRzIG5vdCBzd2l0Y2hlZCBpbW1lZGlhdGVseS4KCjIwMDktMDQtMzAgMDA6MDY6MzYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC94MjY0L0dzdFgyNjRFbmMucHJzOgoJKiBleHQveDI2NC9NYWtlZmlsZS5hbToKCSogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOgoJICB4MjY0ZW5jOiBhZGQgcHJlc2V0IHN1cHBvcnQKCSAgQWRkIHByZXNldCBpZmFjZSBhbmQgYSAoZHVtbXkpIHByZXNldCBmaWxlIGFzIGEgc3RhcnRpbmcgcG9pbnQuCgoyMDA5LTA0LTI2IDIxOjI2OjAwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSAgcmVzaW5kdmQ6IENvbnZlcnQgc29tZSBnX3ByaW50IHRvIEdTVF9MT0dfT0JKRUNUIGFuZCBmcmllbmRzLCByZW1vdmUgc29tZSBvdGhlcnMKCSAgVHJpbSBkb3duIHRoZSBnX3ByaW50IHZlcmJvc2l0eS4KCjIwMDktMDQtMjYgMjE6Mjk6MjcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogQWRkIERWREZBU1RTVEFSVCBlbnYgdmFyIHRvIG1ha2luZyBzb21lIHRlc3RpbmcgZWFzaWVyCgoyMDA5LTA0LTI0IDE0OjA4OjU1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiBSZW1vdmUgcmVkdW5kYW50IG1vZHVsbyBvcGVyYXRpb24gaW4gdGhlIGRlbXV4ZXIKCjIwMDktMDQtMjQgMTQ6MDc6MzAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBNYXAgYXVkaW8gYW5kIHN1YnBpY3R1cmUgbG9naWNhbCBzdHJlYW1zIHRvIHBoeXNpY2FsLgoJICBUaGUgbG9naWNhbCBhdWRpbyBhbmQgc3VicGljdHVyZSBzdHJlYW0gbnVtYmVyIGRvZXNuJ3QgYWx3YXlzIGNvcnJlc3BvbmQKCSAgd2l0aCB0aGUgcGh5c2ljYWwgc3Vic3RyZWFtIGl0IGlzIGNvbWluZyBmcm9tLiBXaGVuIGNvbmZpZ3VyaW5nIHRoZSBkZW11eGVyCgkgIHBhZHMsIHVzZSB0aGUgbWFwcGluZyB0YWJsZSBwcm92aWRlZCBpbiBlYWNoIFBHQyB0byBnZXQgdGhlIGxheW91dCBhbmQKCSAgZW5zdXJlIHRoZSBkZW11eGVyIGNyZWF0ZXMgdGhlIGNvcnJlY3QgcGFkcy4KCjIwMDktMDQtMjkgMTg6NTI6MjAgKzAxMDAgIFRyaXN0YW4gTWF0dGhld3MgPGxlLmJ1c2luZXNzbWFuQGdtYWlsLmNvbT4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdm11eDogaW5pdCB2YXJpYWJsZSB0byBOVUxMIHRvIGZpeCBjb21waWxlciB3YXJuaW5nCgkgIEZpeGVzICM1ODA3ODYuCgoyMDA5LTA0LTI5IDE2OjU3OjM2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSAgeDI2NGVuYzogYWRkIHNvbWUgZG9jdW1lbnRhdGlvbiBvbiBwcm9maWxlCgoyMDA5LTA0LTI5IDEzOjU2OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2OiBTZXQvcmVxdWlyZSB0aGUgZnJhbWVkL3BhcnNlZCBmaWVsZHMgb2YgdGhlIGF1ZGlvL21wZWcgY2FwcyB0byBUUlVFCgoyMDA5LTA0LTI5IDEzOjE2OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkgIGZsdjogQWx3YXlzIHdyaXRlIGF0IGxlYXN0IHRoZSBtaW5pbWFsIHRhZ3MgYW5kIHdyaXRlIHRoZSBQQVIgYXMgdGFncwoKMjAwOS0wNC0yOSAxMzowMzo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHY6IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgc29tZSB0YWdzCgoyMDA5LTA0LTI5IDEzOjAzOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2OiBBZGQgc3VwcG9ydCBmb3IgdGl0bGUgdGFnCgoyMDA5LTA0LTI5IDA5OjQwOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgZmx2OiBGaXggcGFyc2luZyBvZiB0YWdzIGFuZCBhZGQgbmV3IG1hcHBpbmdzCgkgIFdlIHNob3VsZG4ndCByZWdpc3RlciBhIG5ldyBHc3RUYWcgZm9yIGV2ZXJ5IHVua25vd24gdGFnCgkgIHdlIGZpbmQgYXMgdGhpcyBtaWdodCBsZWFkIHRvIGNvbmZsaWN0cyBhbmQgYWxzbyB0aG9zZQoJICB0YWdzIGFyZSBlc3NlbnRpYWxseSB1bmtub3duLgoJICBBZGQgbWFwcGluZ3MgZm9yIHNvbWUga25vd24gdGFncyBhbmQgYWxzbyBjb252ZXJ0IHN0cmluZwoJICBkYXRlcyB0byBHRGF0ZSwgYXMgZm91bmQgaW4gbWFueSBGTFYgZmlsZXMuCgoyMDA5LTA0LTI4IDE2OjEwOjIxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJlamVjdCB3cm9uZyBjYXBzCgoyMDA5LTA0LTI4IDE2OjAzOjE5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEZpeCBsZWFrIEZpeGVkIGEgbGVhayBkaXNjb3ZlcmVkIGJ5IExhdXJlbnQgR2xheWFsIDxzcGVnbGVAeWFob28uZnI+CgoyMDA5LTA0LTI4IDE1OjU4OjQxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEZpeCBsZWFrCgkgIEZpeGVkIGEgbGVhayBkaXNjb3ZlcmVkIGJ5IExhdXJlbnQgR2xheWFsIDxzcGVnbGVAeWFob28uZnI+CgoyMDA5LTA0LTI3IDExOjA5OjA4ICswMjAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VjZTogbWFrZSBXQVJOSU5HIGludG8gTE9HCgkgIFNpbmNlIG5laXRoZXIgcnRwbWFuYWdlciBub3IgYW55IG9mIHRoZSBwYXlsb2FkZXJzIHByb3Blcmx5IGltcGxlbWVudAoJICBwYWQgYWxsb2NhdGlvbiwgdGhlcmUgaXMgbm8gd2F5IGZvciB0aGUgcnRwbWFuYWdlciB0byBpbmZvcm0gZG93bnN0cmVhbSBlbGVtZW50cwoJICBvZiB0aGUgbmV3IFNTUkMgaWYgdGhlcmUgaXMgYW4gU1NSQyBjb2xsaXNpb24uIFNvIHRoZSB3YXJuaW5nIGlzIGVtaXR0ZWQgYWxsIHRoZQoJICB0aW1lIGFuZCBpdCBpcyBjb25mdXNpbmcuCgkgIEZpeGVzICM1ODAxNDQKCjIwMDktMDQtMjcgMTE6MDY6MDEgKzAyMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBub3RpZnkgd2hlbiBTU1JDIGNoYW5nZXMKCSAgRW1pdCBhIGdfb2JqZWN0X25vdGlmeSB3aGVuIHRoZSBTU1JjIGNoYW5nZXMgYmVjYXVzZSBvZiBhIGNvbGxpc2lvbi4KCSAgRml4ZXMgIzU4MDE0NAoKMjAwOS0wNC0yNyAxMDowNDo1MSArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9kY2NwL01ha2VmaWxlLmFtOgoJICBBZGQgbmV3IHBsdWdpbiB0byBzcGVjIGZpbGUgYW5kIGFkZCBtaXNzaW5nIGhlYWRlciB0byBnc3QvZGNjcC9NYWtlZmlsZS5hbQoKMjAwOS0wNC0yNSAwMDo0NDoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IG1ha2UgZ2l0IGlnbm9yZSBuZXcgdW5pdCB0ZXN0cyBiaW5hcmllcwoKMjAwOS0wNC0yNSAwMDo0Mjo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB3aW4zMi9NQU5JRkVTVDoKCSAgd2luMzI6IGRpc3QgbGliZ3N0ZHNob3cuZGVmIGJ5IGFkZGluZyBpdCB0byB3aW4zMi9NQU5JRkVTVAoJICBGaXhlcyAjNTc4NTYzLgoKMjAwOS0wNC0yNCAxODo1MzozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgbXA0bXV4OiBDaGFuZ2VzIHNyYyBjYXBzIHRvIGFwcGxpY2F0aW9uL3gtaXNvLW1wNAoJICBGaXhlcyAjNTgwMDA1CgoyMDA5LTA0LTI0IDE2OjAxOjQ0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiBDb21taXQgdGhlIHdpbjMyIGNvbmZpZyB3aXRoIGJ1bXBlZCB2ZXJzaW9uIG51bWJlci4KCSAgU2hvdWxkIGhhdmUgY29tbWl0dGVkIHRoaXMgd2hlbiBJIHVuZnJvemUgdGhlIGJ1aWxkIGxhc3QgdGltZSwgc29ycnkuCgoyMDA5LTA0LTI0IDE0OjUxOjAwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2s6IGV4Y2x1ZGUgcnNuZHZkYmluIGZyb20gdGhlIHN0YXRlcyB0ZXN0CgoyMDA5LTA0LTI0IDE1OjQyOjI3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIHNvdW5kdG91Y2g6IGZpeCBjb25maWd1cmUgdG8gdXNlIHByb3BlciBzaGVsbCBzeW50YXguIGZpeGVzICM1ODAwOTEKCjIwMDktMDQtMjMgMTc6MzM6MjUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgc291bmR0b3VjaDogRml4IGNvbXBpbGF0aW9uIG9uIG5ld2VyIGxpYlNvdW5kVG91Y2gKCSAgTmV3ZXIgbGlic291bmR0b3VjaCByZXF1aXJlcyB0aGF0IHdlIGluY2x1ZGUgYW4gZXh0cmEgaGVhZGVyIHRoYXQgd2Fzbid0CgkgIHByZXZpb3VzbHkgcmVxdWlyZWQsIHNvIGRlZmluZSBIQVZFX1NPVU5EVE9VQ0hfMV80IGZvciBuZXdlciBidWlsZHMgc28gdGhhdCBpdAoJICBnZXRzIGluY2x1ZGVkLgoKMjAwOS0wNC0yMCAxMTozODowMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheTogbW9yZSBjbGVhbnVwcwoJICBVc2Ugbm9ybWFsIGdzdC1kZWZpbmVzIGluIFBMVUdJTl9ERUZJTkUuIFNob3J0ZW4gX3N0YXJ0L3N0b3AgbWV0aG9kIG5hbWVzLgoJICBNb3JlIGlkZWFzLiBNb3ZlIGRlYnVnIGNhdGVnb3J5LWluaXQgZG93biB0byBwbHVnaW4taW5pdC4KCjIwMDktMDQtMjAgMDk6NTE6NTAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXk6IHVzZSBhIG5pY2VyIGZvbnQgZmFtaWx5CgoyMDA5LTA0LTIwIDEwOjI0OjM3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5OiB2YXJpb3VzIGNsZWFudXBzLCBkb2NzIGFuZCBjb21tZW50cwoJICBSZW1vdmUgdW51c2VkIGJhc2VfaW5pdC4gQWRkIGJhc2ljIGRvYyBibG9iLiBSZXVzZSBxdWVyeSBvYmplY3QuIFJlbmFtZQoJICB2YXJpYWJsZXMgZm9yIGNsYXJpdHkuIEFkZCBjb21tZW50cyBhbmQgVG9Eb3MuCgoyMDA5LTA0LTIwIDA5OjQ5OjMyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5OiByZW1vdmUgaWZhY2UgcHJveHkKCSAgV2hlbiB3ZSBnZXQgYnVzIG1lc3NhZ2VzIGZvciBzZXR0aW5nIHRoZSB4aWQsIHdlIGhhdmUgdGhlIHJlYWwgc2luayBlbGVtZW50CgkgIGluc3RhbmNlIGFzIG1lc3NhZ2Vfc3JjLiBObyBuZWVkIHRvIHByb3h5IHRoZSB4b3ZlcmxheSBpZmFjZSB0aGVyZWZvcmUKCSAgKGF1dG92aWRlb3NpbmsgZG9lcyBub3QgZG8gaXQgZWl0aGVyKS4gQWxzbyB3ZSBkb24ndCBuZWVkIHRvIHJld3JpdGUgdGhlCgkgIG1lc3NhZ2Ugc3JjIG9mIGFsbCBtZXNzYWdlcyBmcm9tIHRoYXQgc2luay4KCjIwMDktMDQtMjMgMTE6MDQ6NDYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0LXNlbGVjdG9yOiBGb3J3YXJkIHNlZ21lbnQgZXZlbnRzIGZvciB0aGUgYWN0aXZlIHBhZCBpbW1lZGlhdGVseS4KCSAgV2hlbiBhIHNlZ21lbnQgZXZlbnQgaXMgcmVjZWl2ZWQgb24gdGhlIGFjdGl2ZSBwYWQsIGZvcndhcmQgaXQgZG93bnN0cmVhbQoJICBpbW1lZGlhdGVseSBpbnN0ZWFkIG9mIGRlZmVycmluZyBpdCB1bnRpbCB0aGUgbmV4dCBkYXRhIGJ1ZmZlciBhcnJpdmVzLiBUaGlzCgkgIGZpeGVzIHByb2JsZW1zIHdpdGggc2VnbWVudCB1cGRhdGVzIG5ldmVyIGJlaW5nIHNlbnQgZG93bnN0cmVhbSwgbGlrZSB0aG9zZQoJICBuZWVkZWQgZm9yIHNwYXJzZSBzdHJlYW1zLCBvciBmb3IgY2xvc2luZyBwcmV2aW91c2x5IG9wZW5lZCBzZWdtZW50cy4KCSAgVGhpcyBmaXhlcyBwbGF5YmFjayBvZiBEVkQgbWVudXMgd2l0aCBhIHN0aWxsIHZpZGVvIGZyYW1lIGFuZCBhbiBhdWRpbyB0cmFjaywKCSAgZm9yIGV4YW1wbGUuCgkgIEZpeGVzOiAjNTc3ODQzCgoyMDA5LTA0LTIyIDE4OjAxOjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEZpeCB3YXJuaW5nCgoyMDA5LTA0LTIwIDIwOjAwOjE1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFNldCBkaWZmZXJlbnQgY2FwcyBkZXBlbmRpbmcgb24gdGhlIGlucHV0CgoyMDA5LTA0LTIyIDE2OjI1OjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IE9ubHkgZnJlZSBwYWQgcHJpdmF0ZSB3aGVuIHBhZCBpcyBkaXNwb3NlZAoKMjAwOS0wNC0yMiAxOTo1MjowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBmbHY6IEFkZCBkb2N1bWVudGF0aW9uIHRvIGZsdm11eCBhbmQgZmx2ZGVtdXgKCSAgUGFydGlhbGx5IGZpeGVzIGJ1ZyAjNTczNzM3LgoKMjAwOS0wNC0yMiAxOTo0NTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm11eC5oOgoJICBteGY6IE1hcmsgbW9zdCBmaWVsZHMgb2YgdGhlIGluc3RhbmNlIHN0cnVjdCBhcyBwcml2YXRlCgoyMDA5LTA0LTIyIDE5OjQzOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgZGVpbnRlcmxhY2UyOiBBZGQgZG9jdW1lbnRhdGlvbiBhbmQgaW50ZWdyYXRlIGludG8gdGhlIGJ1aWxkIHN5c3RlbQoKMjAwOS0wNC0yMiAxOToyNDo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZwc2Rpc3BsYXlzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14ZGdtaW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmOiBBZGQgZG9jdW1lbnRhdGlvbiB0byBteGZtdXggYW5kIHVwZGF0ZSB0aGUgZG9jcwoKMjAwOS0wMy0xOSAxNTozNzoxNyAtMDcwMCAgTFJOIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IFVzZSBjb3JyZWN0IGhlYWRlciBmaWxlCgkgIG1vZHBsdWcncyBzbmRmaWxlLmggY29uZmxpY3RzIHdpdGggbGlic25kZmlsZSdzIHNuZGZpbGUuaCwgc28KCSAgd2UnbGwgYWNjZXNzIGl0IGRpcmVjdGx5IHVzaW5nIG1vZHBsdWcvc25kZmlsZS5oLiAgRml4ZXMgIzU3Mzg0OQoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMDktMDMtMTkgMTU6Mjk6MDQgLTA3MDAgIExSTiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBtNC9nc3Qtc2RsLm00OgoJICBzZGw6IFVzZSBTREwgc3RhdGljLWxpYnMgZm9yIGNvbmZ0ZXN0CgkgIEZpeGVzOiAjNTczODQ3LiAgVGhpcyBmaXhlcyBidWlsZGluZyB3aXRoIFNETCBvbiBXaW5kb3dzLgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMDktMDMtMTkgMTQ6NTU6MjYgLTA3MDAgIExSTiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLmNjOgoJICBtcGVnMmVuYzogR2V0IG51bWJlciBvZiBwcm9jZXNzb3JzIG9uIHdpbjMyCgkgIEZpeGVzICM1NzM4NDguCgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAwOS0wMy0xOSAxNDo0OToxMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIHNvdW5kdG91Y2g6IEFkZCBwa2djb25maWcgY2hlY2sgZm9yIHNvdW5kdG91Y2gtMS40CgkgIEZpeGVzICM1NzM4NDYuCgoyMDA5LTAyLTI2IDE0OjE4OjU0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuaDoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuaDoKCSAgQWRkIGludGVybGFjZWQgc3VwcG9ydCB0byB2aWRlb3BhcnNlCgkgIEFkZCBhIHZpcnR1YWwgbWV0aG9kIGluIHJhd3BhcnNlIHRvIHNldCBidWZmZXIgZmxhZ3MuICBUaGlzIGRvZXNuJ3QKCSAgdXNlIEFQSSBmcm9tIHVucmVsZWFzZWQgLWJhc2UsIHNpbmNlIGl0IGRlZmluZXMgR1NUX1ZJREVPX0JVRkZFUl9URkYKCSAgaWYgaXQncyBub3QgZGVmaW5lZCB5ZXQuCgoyMDA5LTA0LTIxIDIyOjEzOjEyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGIzOTQxZWEgdG8gNmFiMTFkMQoKMjAwOS0wNC0yMSAxMzoyNzoyOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdydHBtdXgtZml4ZXMnCgoyMDA5LTA0LTIxIDE2OjQ4OjM5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgbW1zc3JjOiBJZiB0aGUgY29ubmVjdGlvbiBmYWlscywgZW1pdCBhIHJlZGlyZWN0aW9uIG1zZyB0byB0aGUgcnRzcCBlcXVpdmFsZW50LgoJICBUaGlzIHNob3VsZCBoZWxwIGZpeCB0aGUgaXNzdWUgd2l0aCBXaW5kb3dzIE1lZGlhIFNlcnZlciB1c2luZyBydHNwLi4uIGJ1dAoJICBzdGlsbCBkZWNsYXJpbmcgdGhlIHN0cmVhbSB3aXRoIG1tczovLwoKMjAwOS0wNC0yMSAxNjowODo1NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogT25seSBlcnJvciBvdXQgYXQgRU9TIHB1c2ggZmFpbHVyZSBpZiB3ZSBkb24ndCBoYXZlIGFueSBzdHJlYW1zLgoJICBUaGlzIHNob3VsZCByZW1vdmUgdGhlIGJvZ3VzIGVycm9yIG1lc3NhZ2VzIHdoaWxlIHN0aWxsIGtlZXBpbmcgdGhlIG9yaWdpbmFsCgkgIGludGVudCBvZiB0aGlzLCB3aGljaCBpcyB0byBpbmZvcm0gdGhlIHBpcGVsaW5lL2FwcGxpY2F0aW9uL3VzZXIgdGhhdCB3ZQoJICBjb3VsZCBub3QgZmluZCBhbnkgdmFsaWQgc3RyZWFtcy4KCSAgVGhlcmUgYXJlIG1hbnkgcmVhc29ucyB3aHkgcHVzaGluZyBhbiBldmVudCBjYW4gZmFpbCwgYW5kIG5vdCBhbGwgb2YgdGhlbSBhcmUKCSAgYmVjYXVzZSB0aGVyZSdzIG5vIGxpbmsgZG93bnN0cmVhbSAoaXQgY291bGQgYmUgYmVjYXVzZSBpdCB3YXMgYmxvY2tlZCwgb3IKCSAgZmx1c2hpbmcpLgoKMjAwOS0wNC0xMCAxOToyNDoyNiArMDIwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyQGxvY2FsaG9zdC5sb2NhbGRvbWFpbj4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGFkZCBoYWNrIHNwZWNpZmljIGZvciBpdHZoZAoJICBpdHZoZCBtYXNrcyBpdHMgaDI2NCB2aWRlbyBzdHJlYW0gYXMgYSBwcml2YXRlIHN0cmVhbSBtYWtpbmcgaXQgaGFyZGVyIGZvcgoJICBvdGhlciBzZXQgdG9wIGJveGVzIHRvIGRlY29kZS4gdGhpcyBjaGVja3MgZm9yIHNwZWNpZmljIHByb2dyYW0gbnVtYmVyLCB2aWRlbwoJICBwaWQgYW5kIHN0cmVhbSB0eXBlIGNvbWJpbmF0aW9uIGJlZm9yZSBkZWNsYXJpbmcgaXQgYXMgaDI2NC4KCjIwMDktMDQtMTAgMTk6MDY6NTUgKzAyMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlckBsb2NhbGhvc3QubG9jYWxkb21haW4+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IGRldGVjdCBBQzMgc3RyZWFtcyBpbiBQTVQgdGFibGUKCSAgYWRkICdoYXMtYWMzJyBib29sZWFuIHRvIHBtdCBidXMgbWVzc2FnZQoKMjAwOS0wNC0xMCAwMToxNjozMCArMDIwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyQGxvY2FsaG9zdC5sb2NhbGRvbWFpbj4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgaXR2IGhkIGhhY2sKCjIwMDktMDQtMTAgMDE6MTE6MDEgKzAyMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlckBsb2NhbGhvc3QubG9jYWxkb21haW4+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIGhhY2sgZm9yIGl0dmhkIHNpZCB0byBkZXRlY3QgbXBlZzEgYXMgaDI2NAoKMjAwOS0wNC0yMCAxODo0MTozOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBSZW1vdmUgdXNlbGVzcyBjYXBzIG1hbmdsaW5nCgoyMDA5LTA0LTIwIDE4OjM2OjQyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJlbmFtZSB2YXJpYWJsZSBmb3IgbW9yZSBjbGFyaXR5CgoyMDA5LTA0LTIwIDE3OjQzOjM5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBVc2UgR1NUX0JPSUxFUlBMQVRFCgoyMDA5LTA0LTIwIDE3OjQyOjQwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4Lmg6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRG8gdGhlIGluY2x1ZGVzIGxvY2FsbHkKCjIwMDktMDQtMjAgMTY6MzQ6MzAgKzAyMDAgIEFuZHkgV2luZ28gPHdpbmdvQHdpbmdvbWFjLmJjbi5vYmxvbmcubmV0PgoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc3JjLmM6CgkgIHBhdGNoIG92ZXIgbG9naWMgZXJyb3JzIGluIG9zeHZpZGVvc3JjCgkgIGFwcGxlJ3MgY29tcGlsZXIgY2FycHMsIHdpdGggcmVhc29uLCBhYm91dCBzb21lIGNvbnN0cnVjdHMgaW4gb3N4dmlkZW9zcmMuYwoJICBmaXggdGhlbS4KCSAgYWxzbyBpdCBzZWVtcyB0aGF0IGZvciBzb21lIHJlYXNvbiB0aGlzIHJlcXVpcmVkIGEgZ3N0LWluZGVudCBydW4uIHdoZWUKCjIwMDktMDQtMjAgMTM6MDk6NDYgKzAyMDAgIEFuZHkgV2luZ28gPHdpbmdvQG9ibG9uZy5uZXQ+CgoJICBhZGQgb3N4dmlkZW9zcmMKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbTogQXV0b2NvbmZpc2NhdGlvbi4KCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9wbHVnaW4ubToKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zcmMuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zcmMuYzogQWRkIG9zeHZpZGVvc3JjLiBTaG91bGQgZml4ICMxNTM2ODQuCgkgIFBhdGNoLWJ5OiBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoJICBQYXRjaC1ieTogQWxpIFNhYmlsIDxhbGkuc2FiaWxAdGFuZGJlcmcuY29tPgoJICBQYXRjaC1ieTogQmFycmFjdWRhIE5ldHdvcmtzIDxqdXN0aW5AYWZmaW5peC5jb20+CgoyMDA5LTA0LTE5IDE3OjE4OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIGRlaW50ZXJsYWNlMjogTWFrZSBpdCBwb3NzaWJsZSB0byBzZWxlY3QgaW50ZXJsYWNpbmcgYXV0b2RldGVjdGlvbiBvciB0byBlbmZvcmUgZGVpbnRlcmxhY2luZwoJICBGb3IgdGhpcyBhZGQgYSAibW9kZSIgcHJvcGVydHkgdGhhdCBkZWZhdWx0cyB0byAiaW50ZXJsYWNlZCIgZm9yIG5vdyBhcwoJICBtb3N0IGRlY29kZXJzL2RlbXV4ZXJzIGRvbid0IHByb3Blcmx5IHNldCB0aGUgImludGVybGFjZWQiIGZpZWxkIG9uIHRoZQoJICBjYXBzIHlldC4KCSAgSWYgdGhpcyBwcm9wZXJ0eSBpcyBzZXQgdG8gImF1dG8iIHRoZSBlbGVtZW50IHdpbGwgd29yayBpbiBwYXNzdGhyb3VnaAoJICBtb2RlIHVubGVzcyB0aGUgY2FwcyBjb250YWluIHRoZSAiaW50ZXJsYWNlZCIgZmllbGQuCgoyMDA5LTA0LTE4IDIzOjQyOjU3ICswMTAwICBaYWhlZXIgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBmaXggbGVhayBvZiBHU1RfVFlQRV9MSVNUIGd2YWx1ZQoKMjAwOS0wNC0xOCAxMzowOToyMyArMDEwMCAgWmFoZWVyIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IGZpeCBsZWFrIGluIHNyY19wYWRfcXVlcnkKCjIwMDktMDQtMTcgMTY6MTY6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IGpvaW4gdGhlIFJUQ1AgdGhyZWFkCgkgIEF2b2lkIGEgY2FzZSB3aGVyZSBhIGpvaW5hYmxlIHRocmVhZCB3b3VsZCBiZSBsZWZ0IHVuam9pbmVkLCB3aGljaCBsZWFrZWQgdGhlCgkgIHRocmVhZCBzdHJ1Y3R1cmUuCgkgIEZpeGVzICM1NzczMTguCgoyMDA5LTA0LTE3IDE1OjM5OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIGRlaW50ZXJsYWNlMjogVXNlIEdTVF8oREVCVUd8V0FSTklOR3xFUlJPUilfT0JKRUNUIGluc3RlYWQgb2YgdGhlIG5vbi1PQkpFQ1Qgb25lcwoKMjAwOS0wNC0xNyAxNTozOTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICBkZWludGVybGFjZTI6IFJlc2V0IGhpc3RvcnkgaWYgRElTQ09OVCBpcyBzZXQgb24gdGhlIGluY29taW5nIGJ1ZmZlcgoKMjAwOS0wNC0xNyAxNTozOToxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICBkZWludGVybGFjZTI6IEZpeCB0aW1lc3RhbXBzIGZvciBidWZmZXJzIHdpdGggUkZGIGZsYWcgc2V0CgoyMDA5LTA0LTE2IDIyOjE0OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmOiBQcm9wZXJseSBoYW5kbGUgdGhlIG5ldyBpbnRlcmxhY2VkIHN1cHBvcnQgZnJvbSBsaWJnc3R2aWRlbyBmb3IgKGRlKW11eGluZwoKMjAwOS0wNC0xNiAxNzo0MTozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zY2FsZXJib2IuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmUuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmViZmYuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmV0ZmYuYzoKCSAgZGVpbnRlcmxhY2UyOiBSZW5hbWUgbGluZV9sZW5ndGggdG8gcm93X3N0cmlkZSBhbmQgcmVtb3ZlIG91dHB1dF9zdHJpZGUKCjIwMDktMDQtMTYgMTU6NTI6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgZGVpbnRlcmxhY2UyOiBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgUkZGIGFuZCBPTkVGSUVMRCBidWZmZXIgZmxhZ3MKCjIwMDktMDQtMTYgMTg6MzY6MTMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmg6CgkgIGZwc2Rpc3BsYXlzaW5rOiBhZGQgYSBpbml0aWFsIHBvcnQgb2YgYSBzaW5rIHdpdGggZnBzIGRpc3BsYXkKCSAgVGhpcyBub3cgd29ya3Mgd2l0aCBhIGV2ZW50IHByb2JlLiBOZWVkcyBzb21lIGV4dHJhIHdvcmsuCgoyMDA5LTAzLTA5IDE4OjIyOjI4ICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGNsZWFuIHVwIGFuZCBmaXggYXNzZXJ0aW9uIGZhaWwgd2hlbiBzZXR0aW5nIHpvb20gaW4gTlVMTCBzdGF0ZQoKMjAwOS0wMy0wOSAxODozMTowNyArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBmaXggZm9ybWF0IG1hdGNoaW5nIHdoZW4gZGV0ZWN0aW5nIGFsbG93ZWQgZnJhbWUgcmF0ZQoKMjAwOS0wMy0wOSAxODoyNTo0OCArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBkb24ndCBsb3NlIHBlbmRpbmcgc3RhdGUgd2hlbiBjaGFuZ2luZyByZXNvbHV0aW9uCgoyMDA5LTAyLTI3IDE3OjEyOjM4ICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGNoYW5nZSBpbWctZG9uZSBzaWduYWwgcGFyYW1ldGVyIGZyb20gR1N0cmluZyogdG8gY29uc3QgZ2NoYXIqCgkgIERvbid0IGFsbG93IHNldHRpbmcgZmlsZW5hbWUgdmlhIGltZy1kb25lIHNpZ25hbCBwYXJhbWV0ZXIgYnV0IGZvcmNlIGFwcAoJICB1c2UgZmlsZW5hbWUgcHJvcGVydHkuIERvbid0IHN0b3AgY2FwdHVyZSB3aGVuIHNldHRpbmcgZmlsZW5hbWUgcHJvcGVydHkuCgkgIFVwZGF0ZSBjaGVjayB1bml0IHRlc3QgYmFzZWQgb24gdGhlIGNoYW5nZS4KCjIwMDktMDQtMTUgMTM6MjM6MDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IEFkZCBHU1RfREVCVUdfRlVOQ1BUUnMKCjIwMDktMDQtMTUgMTM6MTU6NTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBSZWxlYXNlIGxvY2tlZCBwYWQgb24gcmVsZWFzZV9wYWQKCSAgUmVsZWFzZSB0aGUgc3BlY2lhbCBwYWQgaWYgdGhlIHBhZCBpcyByZW1vdmVkIGZyb20gdGhlIG11eGVyLgoKMjAwOS0wNC0xNSAxMzowOToyNyAtMDQwMCAgTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlQHlhaG9vLmZyPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIHJ0cGR0bWZtdXg6IFJlbGVhc2Ugc3BlY2lhbCBvbiBwYWQgZGlzcG9zZQoJICBGaXhlcyAjNTc3NjkwCgoyMDA5LTA0LTE1IDE4OjE0OjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcHJldmVudCBvdmVyZmxvdyBpbiBFT1MgZXN0aW1hdGlvbgoJICBVc2UgYSBndWludDY0IGluc3RlYWQgb2YgYSBndWludCB0byBob2xkIGEgNjRiaXQgdmFsdWUgdG8gcHJldmVudCBjb21wbGV0ZWx5CgkgIGJvZ3VlcyBFT1MgZXN0aW1hdGlvbiB2YWx1ZXMgZHVlIHRvIG92ZXJmbG93cy4KCjIwMDktMDQtMTUgMTc6NDQ6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIHJ0cGJpbjogd2Ugc2hvdWxkIG5vdCBwcm92aWRlIGEgY2xvY2sKCSAgVGhlcmUgaXMgbm8gbmVlZCB0byBwcm92aWRlIGEgY2xvY2suCgoyMDA5LTA0LTE1IDE3OjI4OjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogbW9yZSBlc3RpbWF0ZWQgRU9TIGZpeGVzCgkgIERvIG1vcmUgYWNjdXJhdGUgRU9TIGVzdGltYXRlIGFuZCBndWFyZCBhZ2FpbnN0IGJhY2t3YXJkIHRpbWVzdGFtcHMuCgoyMDA5LTA0LTE1IDE3OjI1OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIGppdHRlcmJ1ZmZlcjogcmVsZWFzZSBsb2NrIGJlZm9yZSBwdXNoaW5nIEVPUwoJICBNYWtlIHN1cmUgd2UgcmVsZWFzZSB0aGUgaml0dGVyYnVmZmVyIGxvY2sgYmVmb3JlIHdlIHN0YXJ0IHB1c2hpbmcgb3V0IGRhdGEKCSAgYmVjYXVzZSBlbHNlIHdlIG1pZ2h0IGRlYWRsb2NrLgoKMjAwOS0wNC0xNSAxNTo0Njo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICBkZWludGVybGFjZTI6IE1vdmUgb3V0cHV0IGJ1ZmZlciBmcm9tIHRoZSBpbnN0YW5jZSBzdHJ1Y3QgdG8gYSBmdW5jdGlvbiBwYXJhbWV0ZXIKCjIwMDktMDQtMTUgMTU6MzM6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgZGVpbnRlcmxhY2UyOiBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBhdXRvbWF0aWMgZGV0ZWN0aW9uIG9mIHRoZSBmaWVsZCBvcmRlcgoKMjAwOS0wNC0xNSAxNDo0Nzo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICBkZWludGVybGFjZTI6IEFkZCBzdXBwb3J0IGZvciBZVllVIGNvbG9yc3BhY2UKCSAgVGhpcyBpcyB0aGUgc2FtZSBhcyBZVVkyIHdpdGgganVzdCBDciBhbmQgQ2Igc3dhcHBlZC4gQXMKCSAgd2UgZG9uJ3QgbWFrZSBhIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGVtIHdoZW4gZGVpbnRlcmxhY2luZwoJICB0aGlzIHdvcmtzLgoKMjAwOS0wNC0xMyAxMzozMjozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IFNtYWxsIGNsZWFudXAKCjIwMDktMDQtMTAgMTg6MDA6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSAgZHNob3dkZWM6IGZpeCBjb21waWxhdGlvbiB3aXRoIHRoZSBkZWJ1Z2dpbmcgc3lzdGVtIGRpc2FibGVkCgkgIE9uZSBHU1RfREVCVUdfQ0FURUdPUllfSU5JVCBzaG91bGQgYmUgZW5vdWdoIGFueXdheS4KCSAgRml4ZXMgIzU3ODU2MiAoc3BvdHRlZCBieSBEYXZpZCBIb3l0KS4KCjIwMDktMDQtMDkgMjM6NTM6MzkgKzAyMDAgIEphbmluIEtvbGVuYyA8amFuaW4ua29sZW5jIGF0IG1hcmFuZC5zaT4KCgkqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSogZXh0L3gyNjQvZ3N0eDI2NGVuYy5oOgoJICB4MjY0ZW5jOiBhZGQgZm9yY2Uga2V5ZnJhbWUgZXZlbnQgaGFuZGxpbmcKCSAgVXNlIHRoZSBHc3RGb3JjZUtleVVuaXQgZXZlbnQgdG8gZm9yY2UgYSBrZXlmcmFtZS4KCSAgRml4ZXMgIzU3ODExMi4KCjIwMDktMDQtMDggMTE6NTI6NDYgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJKiBzeXMvYWNtbXAzZGVjL01ha2VmaWxlLmFtOgoJICBhY21lbmMsIGFjbW1wM2RlYywgc2RwOiBsaW5rIHRvIGFsbCByZXF1aXJlcyBsaWJyYXJpZXMgb24gd2luMzIuCgkgIEFkZCB3aW5zb2NrIGZvciB3aW5kb3dzIChmb3Igc2RwKS4gTGluayB0byBhbGwgdGhlIHBsdWdpbnMtYmFzZQoJICBsaWJzIHdlIGluZGlyZWN0bHkgdXNlIGZvciBhY21tZW5jIGFuZCBhY21tcDNkZWMuCgoyMDA5LTA0LTA3IDE1OjUwOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbXhmLmM6CgkgIG14ZjogQWRkIHVuaXQgdGVzdHMgZm9yIGNoZWNraW5nIGlmIG14Zm11eCAhIG14ZmRlbXV4IHBpcGVsaW5lcyBhcmUgd29ya2luZyB3aXRob3V0IGVycm9ycwoKMjAwOS0wNC0wNyAxNTo0OTowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBEb24ndCB1c2UgaW52YWxpZCBidWZmZXIgb2Zmc2V0cywgaW5zdGVhZCBhc3N1bWUgb2Zmc2V0ID09IDAKCjIwMDktMDQtMDcgMTU6NDU6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGY6IEZpeCBjb21wYXJpc29uCgoyMDA5LTA0LTA3IDE1OjE5OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZ1bC5jOgoJKiBnc3QvbXhmL214ZnVsLmg6CgkgIFVzZSBVTCBkYXRhYmFzZSBmb3IgYWxsIG1ldGFkYXRhIFVMcwoKMjAwOS0wNC0wNyAwNDo1MzowMiArMDMwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IEZpeCBzbGlnaHRseSBicm9rZW4gYnVmZmVyLWluLXNlZ21lbnQgY2hlY2sgKGFhY3BhcnNlLCBhbXJwYXJzZSwgZmxhY3BhcnNlKQoKMjAwOS0wNC0wNSAwMzo1MDoxOSArMDMwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IEZpeCBwdXNoIG1vZGUgc2Vla2luZyAoYWFjcGFyc2UsIGFtcnBhcnNlKQoJICBTZW5kaW5nIHRoZSBmbHVzaC1zdGFydCBldmVudCBmb3J3YXJkIGJlZm9yZSB0YWtpbmcgdGhlIHN0cmVhbSBsb2NrIGFjdHVhbGx5CgkgIHdvcmtzLCBpbiBjb250cmFzdCB0byBkZWFkbG9ja2luZyBpbiBkb3duc3RyZWFtIHByZXJvbGxfd2FpdCAoaHVuayAxKS4KCSAgQWZ0ZXIgdGhhdCB3ZSBnZXQgdGhlIGNoYWluIGZ1bmN0aW9uIGJlaW5nIHN0dWNrIGluIGEgYnVzeSBsb29wLiBUaGlzIGlzIGZpeGVkCgkgIGJ5IHVwZGF0aW5nIHRoZSBtaW5pbXVtIGZyYW1lIHNpemUgaW5zaWRlIHRoZSBzeW5jaHJvbml6YXRpb24gbG9vcCBiZWNhdXNlIHRoZQoJICBzdWJjbGFzcyBhc2tzIGZvciBtb3JlIGRhdGEgaW4gdGhpcyB3YXkgKGh1bmsgMikuCgkgIEZpbmFsbHksIHRoaXMgbGVhZHMgdG8gYSB2ZXJ5IHByb2JhYmxlIGNyYXNoIGJlY2F1c2UgdGhlIHN1YmNsYXNzIGNhbiBmaW5kIGEKCSAgdmFsaWQgZnJhbWUgd2l0aCBhIHNpemUgZ3JlYXRlciB0aGFuIHRoZSBjdXJyZW50bHkgYXZhaWxhYmxlIGRhdGEgaW4gdGhlCgkgIGFkYXB0ZXIuIFRoaXMgbWFrZXMgdGhlIHN1YnNlcXVlbnQgZ3N0X2FkYXB0ZXJfdGFrZV9idWZmZXIgY2FsbCByZXR1cm4gTlVMTCwKCSAgd2hpY2ggaXMgbm90IGV4cGVjdGVkIChodW5rIDMpLgoKMjAwOS0wNC0wNCAyMToxOToxMSArMDMwMCAgRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0BnbWFpbC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGQwZWE4OWUgdG8gYjM5NDFlYQoKMjAwOS0wNC0wNCAxNzo1MTozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYnoyL01ha2VmaWxlLmFtOgoJKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJICBiejI6IGZpeCBzb21lIHJlZmNvdW50IG1pc3Rha2VzIGFuZCBkbyBzb21lIGNsZWFuaW5nIHVwCgkgIE5vIG5lZWQgdG8gdW5yZWYgYnVmZmVycyBpZiBwYWRfcHVzaCByZXR1cm5zIHNvbWV0aGluZyBub24tRkxPV19PSy4KCSAgSW4gZmFjdCwgdGhpcyB3aWxsIGNhdXNlIGFzc2VydGlvbnMgb3IgY3Jhc2hlcy4gSG93ZXZlciwgd2UgZG8gbmVlZAoJICB0byB1bnJlZiB0aGUgaW5wdXQgYnVmZmVyIHdoZW5ldmVyIHdlIGRvbid0IHBhc3MgaXQgZG93bnN0cmVhbS4gQWxzbywKCSAgYSBub24tT0sgZmxvdyByZXR1cm4gaXMgbm90IGFuIGVycm9yLCBzbyBkb24ndCBwb3N0IGVycm9yIG1lc3NhZ2VzIG9uCgkgIHRoZSBidXMgLSB0aGUgcGlwZWxpbmUgbWF5IGp1c3QgYmUgc2h1dHRpbmcgZG93bi4gTWlzY2VsbGFuZW91cyBvdGhlcgoJICBjbGVhbi11cHMgYW5kIGNyYWNrIHJlbW92YWwuIFBsZW50eSBvZiB3b3JrIGxlZnQgZm9yIHRob3NlIHdobyBmZWVsCgkgIGxpa2UgaXQuCgoyMDA5LTA0LTA0IDE0OjU0OjI1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmOGIzZDkxIHRvIGQwZWE4OWUKCjIwMDktMDQtMDMgMjM6MTA6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGZpeCBkdmRuYXYgdmVyc2lvbiBjaGVjawoJICBGaXhlcyAjNTc3ODY0LiBUaGlzIHRpbWUgZm9yIHJlYWwuCgoyMDA5LTA0LTAzIDE3OjU1OjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIHJlc2luZHZkOiByZXF1aXJlIGxpYmR2ZG5hdiA+PSA0LjEuMiBmb3IgZHZkbmF2X2dldF9jdXJyZW50X3RpbWUoKQoJICBGaXhlcyAjNTc3ODY0LgoKMjAwOS0wNC0wMyAxMDoyOTo1MyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBtaXNjOiBCdW1wIHBsdWdpbnMtYmFzZSByZXF1aXJlbWVudCB0byAwLjEwLjIyLjEKCjIwMDktMDQtMDEgMTc6NDE6NDAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogU2VuZCBib3RoIHRoZSBsb2dpY2FsIGFuZCBwaHlzaWNhbCBzdWJzdHJlYW0gSUQgaW4gdGhlIHN0cmVhbSBjaGFuZ2UuCgkgIFdoZW4gc2VuZGluZyB0aGUgc3RyZWFtIGNoYW5nZSBtZXNzYWdlKHMpIHRvIHRoZSBkZW11eGVyLCBhbHNvIGluY2x1ZGUgdGhlCgkgIGxvZ2ljYWwgc3RyZWFtIGlkIGFsb25nIHdpdGggdGhlIHBoeXNpY2FsIElELCBzbyB0aGF0IHRoZSBkZW11eGVyIGNhbiByZW1hcAoJICBsb2dpY2FsLT5waHlzaWNhbCBNUEVHIHN0cmVhbSBJRC4KCjIwMDktMDQtMDEgMDI6MjM6MjAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICByZXNpbmR2ZDogVXNlIG5ldyBHc3ROYXZpZ2F0aW9uIGZ1bmN0aW9uYWxpdHkuCgkgIEhhbmRsZSB0aGUgbmV3IERWRCBjb21tYW5kcywgc28gdGhhdCB3ZSBjYW4gaGFuZGxlIGNvbW1hbmRzIGZyb20gYSBwbGF5ZXIKCSAgdG8gY2hhbmdlIGFuZ2xlLCBqdW1wIHRvIG1lbnVzIGV0Yy4gVXNlIHRoZSBuZXcgR3N0TmF2aWdhdGlvbiBldmVudCBwYXJzaW5nCgkgIGZ1bmN0aW9ucywgaW5zdGVhZCBvZiBoYW5kLXJvbGxlZCBzdHVmZi4KCSAgU2VuZCBHc3ROYXZpZ2F0aW9uIG5vdGlmaWNhdGlvbiBtZXNzYWdlcyB3aGVuIHRoZSBtb3VzZSBlbnRlcnMgYSBidXR0b24KCSAgb3IgbGVhdmVzIGl0LCBzbyBVSSBjYW4gdHVybiB0aGUgbW91c2UgY3Vyc29yIHRvIGEgaGFuZCBpY29uLgoKMjAwOS0wMy0zMCAwMTowNzo0OSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5oOgoJICByZXNpbmR2ZDogU3dpdGNoIHRvIHVzaW5nIGEgaGFyZC1jb2RlZCBtcGVnMmRlYywgYW5kIGNoYW5nZSBwYWQgYmxvY2tpbmcgYSBiaXQuCgkgIENoYW5nZSB0aGUgcGFkIGJsb2NraW5nIGJlaGF2aW91ciBkdXJpbmcgc3RhcnR1cCwgYW5kIHVzZSBhIGhhcmQtY29kZWQgbXBlZzJkZWMgKGZvciB0aGUgbW9tZW50KSwgaW4gb3JkZXIgdG8gbWFrZSB0aGluZ3Mgd29yayB3aXRoIHBsYXliaW4yLgoKMjAwOS0wMy0yNSAxMjozMToxMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBBZGQgbmV3bGluZSB0byBkZWJ1ZyBnX3ByaW50IHN0YXRlbWVudAoKMjAwOS0wMy0yNSAwMjoyMDoxMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBNYWtlIGhpZ2hsaWdodHMgd29yayB3aGVuIGp1bXBpbmcgaW50byBtZW51cwoJICBNYWtlIHRoZSBoaWdobGlnaHRzIHJlLWFwcGVhciBjb3JyZWN0bHkgd2hlbiBqdW1waW5nIGJhY2sgaW50byBtZW51cwoJICBieSBtYWtpbmcgc3VyZSB0byBzZXQgdGhlIGZsdXNoaW5nX3NlZWsgZmxhZyBmb3IgdXNlci1hY3Rpb24gaW5pdGlhdGVkCgkgIHNlZWtzLgoJICBGaWRkbGUgc29tZSBkZWJ1ZyByZWxhdGVkIHRvIHRyYWNraW5nIGRvd24gdGhlIGlzc3VlLgoKMjAwOS0wMy0yNSAwMToyMToyOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBTdXBwb3J0IG11bHRpYW5nbGUgdGl0bGVzLgoJICBBZGQgYSB3b3JrYXJvdW5kIGZvciBhbiBhcHBhcmVudCBsaWJkdmRuYXYgYnVnIHdoZXJlIGl0IGxvc2VzIG5hdiBwYWNrZXRzCgkgIGR1cmluZyBtdWx0aWFuZ2xlIHRpdGxlcywgYW5kIGFkZCBzb21lIGtleXByZXNzIGJpbmRpbmdzIHRvIHN3aXRjaCB0aGUgYW5nbGUuCgoyMDA5LTAzLTE4IDA5OjM1OjEyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgcmVzaW5kdmQ6IEFkZCBiYWNrIGluIHN1cHBvcnQgZm9yIHVzaW5nIGhhcmRjb2RlZCBhNTJkZWMKCjIwMDktMDMtMTYgMjA6MzE6NTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmQ6IEFkZCBzb21lIGRlYnVnIHdoZW4gY3JlYXRpbmcgdGhlIG91dHB1dCBwYWRzIGluIHRoZSBkZW11eGVyCgoyMDA5LTAzLTEwIDEwOjM5OjIyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuYzoKCSAgcmVzaW5kdmQ6IE1vcmUgaGFja2luZyBvbiB0aGUgYXVkaW8gZGVjb2Rlci4KCjIwMDktMDMtMDUgMDA6MDQ6MjQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogVHJpbSBiYWNrIHRoZSBnX3ByaW50IGRlYnVnIC0gY29udmVydCB0byBHU1RfREVCVUcgYW5kIEdTVF9MT0cKCjIwMDktMDMtMDQgMTY6MTY6NTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvZGVjLmg6CgkgIHJlc2luZHZkOiBFeHRlbmQgdGhlIFJlc2luIGF1ZGlvIGRlY29kZXIgZWxlbWVudCwgYW5kIHN3aXRjaCByc25kdmRiaW4gdG8gdXNlIGl0CgoyMDA5LTAyLTI3IDEwOjE4OjE0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb2RlYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuaDoKCSAgcmVzaW5kdmQ6IEZpcnN0IHBhcnQgb2YgdGhlIHJlLXBsdWdnaW5nIGF1ZGlvIGRlY29kZXIKCjIwMDktMDItMjcgMDk6NDI6MzUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICByZXNpbmR2ZDogcmVtb3ZlIHVudXNlZCBjb2RlIHBhdGggZnJvbSB0aGUgYmluCgoyMDA5LTAyLTI2IDAwOjI5OjI2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uaDoKCSAgcmVzaW5kdmQ6IEluZGVudCBzb21lIHRoaW5ncwoKMjAwOS0wMi0yNiAwMDoyNzo1NCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSogZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuYzoKCSAgcmVzaW5kdmQ6IFN3aXRjaCBHU1RfQk9JTEVSUExBVEUgdG8gR19ERUZJTkVfVFlQRSBmb3Igbm8gcmVhbCByZWFzb24uCgoyMDA5LTAzLTI0IDAxOjAyOjI4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIHJlc2luZHZkOiBBZGQgZmFzdHN0YXJ0LCBhbmQgd29yayBhcm91bmQgc29tZSBtdWx0aS1hbmdsZSBpc3N1ZXMKCSAgQWRkIGEgJ2Zhc3Qtc3RhcnQnIHByb3BlcnR5IHRvIHRoZSByc25kdmRzcmMgZWxlbWVudCwgdGhhdCBhdHRlbXB0cyB0bwoJICBqdW1wIGRpcmVjdGx5IHRvIHRoZSBEVkQgbWVudSB3aGVuIHN0YXJ0aW5nLiBEb2Vzbid0IHdvcmsgY29ycmVjdGx5IG9uIGFsbAoJICB0aXRsZXMgeWV0LgoJICBBZGQgd29ya2Fyb3VuZHMgZm9yIGlzc3VlcyB3aXRoIG11bHRpcGxlIGFuZ2xlcyBpbiBsaWJkdmRuYXY6IFVzZSBhIGhldXJpc3RpYwoJICB0byBhdm9pZCBkZXRlY3RpbmcgZGlzY29udGludWl0aWVzIGR1cmluZyBtdWx0aXBsZS1hbmdsZSB0aXRsZXMsIGl0IHNlZW1zCgkgIGNhdXNlZCBieSBsaWJkdmRuYXYgbG9zaW5nIHNvbWUgTkFWIHBhY2tldHMgaW4gbXVsdGlhbmdsZSB0aXRsZXMuIEZpeAoJICBzZWVraW5nIGluIG11bHRpLWFuZ2xlIHRpdGxlcyBieSBhbGlnbmluZyBvdXIgc2VjdG9yIGNhbGN1bGF0aW9uIGxvZ2ljCgkgIHdpdGggbGliZHZkbmF2J3MuIEFsc28sIHVzZSBsaWJkdmRuYXYncyBkdmRuYXZfZ2V0X2N1cnJlbnRfdGltZSgpIG1ldGhvZAoJICB0byBkZXRlcm1pbmUgdGhlIGxvZ2ljYWwgcG9zaXRpb24gb2YgdGhlIGN1cnJlbnQgY2VsbCB3aGVuIGl0IGNoYW5nZXMsIGFzIHRoZQoJICBjZWxsX3N0YXJ0IHZhbHVlIGluIHRoZSBjZWxsX2NoYW5nZSBldmVudCBwcm92aWRlcyBhIG51bWJlciB0aGF0IGRvZXNuJ3QKCSAgY29tcGVuc2F0ZSBmb3IgYW5nbGUgY2VsbCBibG9ja3MuCgoyMDA5LTAzLTIxIDE5OjA0OjA1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IFNtYWxsIGRlYnVnIG91dHB1dCBjaGFuZ2UgaW4gdGhlIHNvdXJjZSBlbGVtZW50CgoyMDA5LTA0LTAxIDAyOjI1OjQyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IEFkZCBzb21lIGRlYnVnCgkgIEFkZCBhIGxpdHRsZSBiaXQgb2YgZXh0cmEgZGVidWcuIFdyYXAgYSBoYXJkY29kZWQgI2lmIDAgaW50byBhIGRlZmluZSBpbnN0ZWFkLgoKMjAwOS0wNC0wMiAxMzowNToxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzoKCSAganAyZW5jOiBVbnJlZiBwZWVyIGNhcHMgYWZ0ZXIgdXNhZ2UgdG8gZml4IGEgbWVtb3J5IGxlYWsKCjIwMDktMDQtMDIgMTI6NDY6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214Zm11eC5jOgoJICBteGZtdXg6IEFkZCB1bml0IHRlc3RzCgoyMDA5LTA0LTAxIDE1OjQ1OjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9nc3RsZWdhY3lyZXNhbXBsZS5jOgoJICBsZWdhY3lyZXNhbXBsZTogZml4IG5lZ290aWF0aW9uIHNvIHRoYXQgdXBzdHJlYW0gY2FuIGFjdHVhbGx5IGZpeGF0ZSB0byBkb3duc3RyZWFtJ3MgcmF0ZQoJICBJZiBvbmUgc2lkZSBoYXMgYSBwcmVmZXJlbmNlIGZvciBhIHBhcnRpY3VsYXIgc2FtcGxlIHJhdGUgb3Igc2V0IG9mIHNhbXBsZSByYXRlcywgd2UKCSAgc2hvdWxkIGhvbm91ciB0aGlzIGluIHRoZSBjYXBzIHdlIGFkdmVydGlzZSBhbmQgdHJhbnNmb3JtIHRvIGFuZCBmcm9tLCBzbyB0aGF0IGVsZW1lbnRzCgkgIGFjdHVhbGx5IGtub3cgYWJvdXQgdGhlIG90aGVyIHNpZGUncyBzYW1wbGUgcmF0ZSBwcmVmZXJlbmNlIGFuZCBjYW4gbmVnb3RpYXRlIHRvIGl0CgkgIGlmIHN1cHBvcnRlZC4gQWxzbyBhZGQgdW5pdCB0ZXN0IGZvciB0aGlzLgoKMjAwOS0wMy0zMSAxNjowNzo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBEZWxheSBuZXdzZWdtZW50IGFzIGxvbmcgYXMgcG9zc2libGUuCgkgIElmIG5ld3NlZ21lbnQgaXMgc2VudCAodG9vKSBlYXJseSwgY2FwcyBtYXkgbm90IHlldCBiZSBmaXhlZC9zZXQsCgkgIGFuZCBkb3duc3RyZWFtIG1heSBub3QgaGF2ZSBiZWVuIGxpbmtlZC4KCjIwMDktMDMtMzAgMjE6NTc6MTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb3B0aW9ucy5jYzoKCSAgbXBlZzJlbmM6IGZpeCBiaXRyYXRlIHByb3BlcnR5IHNldHRpbmdzCgkgIEFsaWduIGJpdHJhdGUgcHJvcGVydHkgaW50ZXJwcmV0YXRpb24gd2l0aCB1c3VhbCBtcGVnMmVuYyBiZWhhdmlvdXIuCgkgIEZpeGVzICM1NzU3MzYuCgoyMDA5LTAzLTI3IDIxOjM5OjA1ICswMDAwICBBbGFuIEZhbGxvb24gPGFmYWxsb29uQGx1bWVuZXJhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBtYWtlIC0tZGlzYWJsZS1leHRlcm5hbCB3b3JrIGFnYWluCgoyMDA5LTAzLTI3IDE5OjM3OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvanAyay9nc3RqYXNwZXJkZWMuaDoKCSAganAya2RlYzogaW1wbGVtZW50IGJhc2ljIFFvUwoJICBEb24ndCB0cnkgdG8gZGVjb2RlIGZyYW1lcyB0aGF0IGFyZSBnb2luZyB0byBiZSBsYXRlIGFueXdheS4KCjIwMDktMDMtMjcgMTc6NDQ6NTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgcnRwYmluOiBhZGQgb25fbnB0X3N0b3Agc2lnbmFsCgkgIEFkZCB0aGUgb25fbnB0X3N0b3Agc2lnbmFsIHRvIHJ0cGJpbiBhbmQgcnRwaml0dGVyYnVmZmVyIHRvIG5vdGlmeSB0aGUKCSAgYXBwbGljYXRpb24gdGhhdCB0aGUgTlBUIHN0b3AgcG9zaXRpb24gaGFzIGJlZW4gcmVhY2hlZC4KCjIwMDktMDMtMjcgMTE6MjA6MDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgb3V0cHV0c2VsZWN0b3I6IHJlc2V0IHN0YXRlIHdoZW4gZ29pbmcgdG8gUkVBRFkKCSAgUmVzZXQgdGhlIGxhc3QtYnVmZmVyLCB0aGUgcGVuZGluZyBwYWQgYW5kIHRoZSBzZWdtZW50IHdoZW4gZ29pbmcgdG8gdGhlIFJFQURZCgkgIHN0YXRlLgoJICBGaXhlcyAjNTc2NzEyLgoKMjAwOS0wMy0yNSAyMToyNDo0NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCByZXVzaW5nIGVsZW1lbnQKCSAgU3RhdGUgY2hhbmdlIHRvIFJFQURZIGFuZCB0aGVuIGJhY2sgdG8gUEFVU0VEIHNob3VsZCBzdGlsbCBwcm92aWRlCgkgIHRoZSBwcm9wZXIgc3RydWN0dXJlcyBhcyBhcmUgb3RoZXJ3aXNlIGZyZXNobHkgYXZhaWxhYmxlIGZvbGxvd2luZwoJICBhIHJlcXVlc3RfbmV3X3BhZC4KCSAgUG9pbnRlZCBvdXQgYnkgVGhpYWdvIFNhbnRvcy4KCjIwMDktMDMtMjYgMjA6Mjg6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJICBteGY6IEZpeCBjb21waWxhdGlvbiBhbmQgY29tcGlsZXIgZXJyb3JzIHdpdGggR0xpYiA8IDIuMTYuMAoKMjAwOS0wMy0yNiAxNDoyNjozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkgIG14ZjogRml4ICJjYXN0IHRvIHBvaW50ZXIgdHlwZSBvZiBkaWZmZXJlbnQgc2l6ZSIgY29tcGlsZXIgd2FybmluZwoKMjAwOS0wMy0yNiAxMzoyNDo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkgIG14ZjogUmVuYW1lIGZvcmdvdHRlbiBmdW5jdGlvbiB0byBmaXggdW5yZXNvbHZlZCBzeW1ib2xzIGVycm9yCgoyMDA5LTAzLTI2IDEzOjIwOjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkqIGdzdC9teGYvbXhmdmMzLmM6CgkgIG14ZjogVXNlIG14Zl91e2wsdWlkfV9pc19lcXVhbCgpIGFuZCBmcmllbmRzIGluc3RlYWQgb2YgbWVtY21wKCkKCjIwMDktMDMtMjYgMTM6MTE6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkbXMxLmM6CgkqIGdzdC9teGYvbXhmZG1zMS5oOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBteGY6IERpZmZlcmVudGlhdGUgYmV0d2VlbiBVTCBhbmQgVVVJRAoKMjAwOS0wMy0yNiAxMjo0NjoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJKiBnc3QvbXhmL214Zi5jOgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZhZXMtYndmLmg6CgkqIGdzdC9teGYvbXhmYWxhdy5jOgoJKiBnc3QvbXhmL214ZmFsYXcuaDoKCSogZ3N0L214Zi9teGZkMTAuYzoKCSogZ3N0L214Zi9teGZkMTAuaDoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJKiBnc3QvbXhmL214ZmR2LWRpZi5jOgoJKiBnc3QvbXhmL214ZmR2LWRpZi5oOgoJKiBnc3QvbXhmL214ZmVzc2VuY2UuYzoKCSogZ3N0L214Zi9teGZlc3NlbmNlLmg6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5oOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbXhmL214Zm1wZWcuaDoKCSogZ3N0L214Zi9teGZtdXguaDoKCSogZ3N0L214Zi9teGZwYXJzZS5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJKiBnc3QvbXhmL214ZnVsLmM6CgkqIGdzdC9teGYvbXhmdWwuaDoKCSogZ3N0L214Zi9teGZ1cC5jOgoJKiBnc3QvbXhmL214ZnVwLmg6CgkqIGdzdC9teGYvbXhmdmMzLmM6CgkqIGdzdC9teGYvbXhmdmMzLmg6CgkqIGdzdC9teGYvbXhmd3JpdGUuYzoKCSogZ3N0L214Zi9teGZ3cml0ZS5oOgoJICBteGY6IFNvdXJjZSBmaWxlcyBhbmQgI2luY2x1ZGUgY2xlYW51cAoKMjAwOS0wMy0yNiAxMjoxMDowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC94ZGdtaW1lL01ha2VmaWxlLmFtOgoJKiBnc3QveGRnbWltZS9nc3R4ZGdtaW1lLmM6CgkgIHhkZ21pbWU6IFVzZSBHSU9zIGdfY29udGVudF90eXBlX2d1ZXNzKCkgaWYgcG9zc2libGUKCjIwMDktMDMtMjYgMTE6NTE6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ3cml0ZS5jOgoJICBteGY6IFVzZSB0aGUgVUwgZGF0YWJhc2UgZm9yIHNvbWUgbW9yZSBVTHMKCjIwMDktMDMtMjYgMTE6NDI6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGY6IFJlbW92ZSBzb21lIEdMaWIgPCAyLjE0IGNvbXBhdGliaWxpdHkgc3R1ZmYKCjIwMDktMDMtMjYgMTE6Mzc6MjggKzAxMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJKiBzeXMvYWNtbXAzZGVjL01ha2VmaWxlLmFtOgoJKiBzeXMvYWNtbXAzZGVjL2FjbW1wM2RlYy5jOgoJICBhY206IFBvcnQgdG8gTWluR1cKCSAgRml4ZXMgYnVnICM1NzM1OTUuCgoyMDA5LTAzLTI2IDExOjMzOjUwICswMTAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3hkZ21pbWUvTWFrZWZpbGUuYW06CgkgIHhkZ21pbWU6IExpbmsgd2l0aCB3aW5zb2NrIGxpYnJhcnkgdG8gZml4IGJ1aWxkIHdpdGggTWluR1cKCSAgUGFydGlhbGx5IGZpeGVzIGJ1ZyAjNTczNTk1LgoKMjAwOS0wMy0yNiAxMTozMjowOCArMDEwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9kY2NwL01ha2VmaWxlLmFtOgoJKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3AuaDoKCSogZ3N0L2RjY3AvZ3N0ZGNjcF9jb21tb24uaDoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuaDoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmg6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmg6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5oOgoJICBkY2NwOiBQb3J0IERDQ1AgcGx1Z2luIHRvIE1pbkdXCgkgIFBhcnRpYWxseSBmaXhlcyBidWcgIzU3MzU5NS4KCjIwMDktMDMtMjYgMTE6MjM6MzAgKzAxMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBkY2NwOiBEaXNhYmxlIHRoZSBkY2NwIHBsdWdpbiBpZiBubyBwdGhyZWFkIHN1cHBvcnQgaXMgYXZhaWxhYmxlCgkgIFBhcnRpYWxseSBmaXhlcyBidWcgIzU3MzU5NS4KCjIwMDktMDMtMjYgMDg6MTM6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdteGZtdXgnCgoyMDA5LTAzLTI2IDA4OjEyOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSogZ3N0L214Zi9teGZ2YzMuYzoKCSAgbXhmbXV4OiBDbGVhbnVwCgoyMDA5LTAzLTI2IDA4OjExOjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmFsYXcuYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L214Zi9teGZtdXguaDoKCSAgbXhmbXV4OiBGaXggaGFuZGxpbmcgb2YgYnVmZmVycyB3aXRoIG1vcmUgdGhhbiBvbmUgZWRpdCB1bml0IGFuZCBFT1MgaGFuZGxpbmcKCjIwMDktMDMtMjUgMjM6MDQ6MTMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkgIGxhZHNwYTogY29tbWVudCBzaWduYWxwcm9jZXNzb3IgY2xhc3MgbW9yZSBhbmQgZG8gbWlub3IgY29kZSBjbGVhbnVwcwoKMjAwOS0wMy0yNSAxMjo0MDozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgY29yZSA+PSAwLjEwLjIyLjEgZm9yICV1IHBhZCB0ZW1wbGF0ZSBzdXBwb3J0CgoyMDA5LTAzLTI0IDE1OjIzOjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgc2VsZWN0b3I6IG1lcmdlIHRoZSB0YWdzCgkgIE1lcmdlIHRoZSB0YWdzIHJlY2VpdmVkIG9uIHRoZSBpbnB1dC1zZWxlY3RvciBzaW5rcGFkcyBpbnN0ZWFkIG9mIG9ubHkga2VlcGluZwoJICB0aGUgbGFzdCBvbmUgd2Ugc2F3LgoKMjAwOS0wMy0yMyAxOTozMzozMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogTkVXUzoKCSAgRml4IHZlcnNpb24gbnVtYmVyIGluIHRoZSBORVdTIGZpbGUKCjIwMDktMDMtMTkgMDE6MTc6MjUgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEZpeCBidXN5bG9vcCB3aGVuIHNlZWtpbmcuIEZpeGVzICM1NzUzODgKCSAgVGhlIHByb2JsZW0gaXMgdGhhdCBhZnRlciBhIGRpc2NvbnQsIHNldF9taW5fZnJhbWVfc2l6ZSgxMDI0KSBpcyBjYWxsZWQgd2hlbgoJICBkZXRlY3Rfc3RyZWFtIHJldHVybnMgRkFMU0UuIEhvd2V2ZXIsIGRldGVjdF9zdHJlYW0gY2FsbHMgY2hlY2tfYWR0c19mcmFtZQoJICB3aGljaCBzZXRzIHRoZSBmcmFtZSBzaXplIG9uIGl0cyBvd24gdG8gc29tZXRoaW5nIGxhcmdlciB0aGFuIDEwMjQuIFRoaXMgaXMgdGhlCgkgIHNhbWUgc2l0dWF0aW9uIGFzIGluIHRoZSBiZWdpbm5pbmcsIHNvIHRoZSBiYXNlIGNsYXNzIGVuZHMgdXAgY2FsbGluZwoJICBjaGVja192YWxpZF9mcmFtZSBpbiBhbiBlbmRsZXNzIGxvb3AuCgoyMDA5LTAzLTE5IDAwOjMyOjQwICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBSZWZhY3RvciBjaGVja192YWxpZF9mcmFtZSB0byBleHBvc2UgYnJva2VuIGNvZGUKCSAgSnVzdCBtb3ZpbmcgY29kZSBhcm91bmQgYW5kIHJlbW92aW5nIGFuIHVuaGVscGZ1bC9taXNsZWFkaW5nIGNvbW1lbnQuCgoyMDA5LTAzLTIzIDExOjE3OjM5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaXggaW5jbHVkZXMgZm9yIGxzZWVrCgkgIC0tCgoyMDA5LTAzLTIwIDE0OjIwOjE2ICswMTAwICBMUk4gPGxybjE5ODYgYXQgZ21haWwgZG90IGNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICB3aW4zMjogZml4IHNlZWtpbmcgaW4gbGFyZ2UgZmlsZXMKCSAgVXNlIF9sc2Vla2k2NCgpIG9uIFdpbmRvd3MgdG8gc2VlayBpbiBsYXJnZSBmaWxlcy4KCSAgRml4ZXMgIzU3NjAyMS4KCjIwMDktMDMtMTYgMTE6MjE6MDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogQWRkIG5ldyBjb25uZWN0aW9uIG1vZGUKCSAgQWRkIGEgbmV3IGNvbm5lY3Rpb24gbW9kZSB0byBqYWNrc3JjIGFuZCBqYWNrc2luay4gSW4gdGhpcyBuZXcgYXV0by1mb3JjZQoJICBjb25uZWN0aW9uIG1vZGUgamFjayB3aWxsIGNyZWF0ZSBhcyBtYW55IHBvcnRzIGFzIHJlcXVlc3RlZC9uZWVkZWQgaW4gdGhlCgkgIHBpcGVsaW5lIGFuZCB3aWxsIHRoZW4gY29ubmVjdCBhcyBtYW55IHBoeXNpY2FsIHBvcnRzIGFzIHBvc3NpYmxlLCBwb3NzaWJseQoJICBsZWF2aW5nIHNvbWUgcG9ydHMgdW5jb25uZWN0ZWQuCgkgIEFsc28gZ2V0IHJpZCBvZiBzb21lIGxlZnRvdmVyIGdfcHJpbnQuCgkgIEZpeGVzICM1NzUyODQuCgoyMDA5LTAzLTIzIDE1OjA2OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSAgbXhmOiBNb3ZlIHNvbWUgc3RhdGljIGNvbnN0IHZhcmlhYmxlcyBpbnRvIGZ1bmN0aW9ucwoKMjAwOS0wMy0xMyAxOTo0MjoxOCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBidWlsZCB3aXRoIGNlbHQgMC41LgoKMjAwOS0wMy0yMiAyMDoxNDoyNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuMTEuMQoKMjAwOS0wMy0yMCAxNTo1NToxOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiByZWVuYWJsZSBtZXRhZGF0YSB0ZXN0CgoyMDA5LTAzLTIwIDE1OjMzOjMxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgbWV0YWRhdGE6IHJlZW5hYmxlIHRlc3QKCjIwMDktMDMtMjAgMTU6MTg6MDUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmg6CgkgIG1ldGRhdGE6IG1vcmUgbG9nZ2luZyBhbmQgY29kZSBjbGVhbnVwcwoJICBTcHJpbmtsZSBtb3JlIGRlYnVnIGxvZyBzdGF0ZW1lbnRzIGludG8gdGhlIGNvZGUuIE1vdmUgc29tZSByZXBlYWRlZCBzdHJpbmcKCSAgY29uc3RhbnQgaW50byBoZWFkZXIgZmlsZXMgYW5kIHVzZSBzaXplb2YgaW5zdGVhZCBvZiBtYW51YWxseSBjb3VudGVkIGJ5dGVzLiBBZGQKCSAgY29tbWVudHMuCgoyMDA5LTAzLTIwIDE1OjE0OjA3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkgIG1ldGFkYXRhOiBmaXggbXV4aW5nIGpmaWZsZXNzIGpwZWcuIEZpeGVzICM1NzQ0MDEKCSAgRG9uJ3QgZXJyb3Igb3V0IHdoZW4gdG8gYmUgbXV4ZWQganBlZyBoYXMgbm8gamZpZiwgYXMgd2UgY2FuIGVhc2lseQoJICBhZGQgaXQuCgoyMDA5LTAzLTIwIDE1OjEwOjIyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmg6CgkgIG1ldGFkYXRhOiBmaXggaW5jbHVkZSBndWFyZHMKCjIwMDktMDMtMjAgMTU6MDQ6MTYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOgoJICBtZXRhZGF0YTogcmV3b3JrIGRvYyBjb21tZW50CgoyMDA5LTAzLTA5IDIzOjQzOjU1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXV0b2NvbnZlcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvbGl2ZWFkZGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJKiBnc3QvbnV2ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9xdG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3NpcmVuL01ha2VmaWxlLmFtOgoJKiBnc3QvdmFsdmUvTWFrZWZpbGUuYW06CgkgIE1ha2VmaWxlLmFtOiBubyBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucwoKMjAwOS0wMy0yMiAxNTo1ODo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IEZpeCBlcnJvciBoYW5kbGluZwoKMjAwOS0wMy0yMiAxNTo1MTozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZhbGF3LmM6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbXhmL214ZnVwLmM6CgkqIGdzdC9teGYvbXhmdmMzLmM6CgkgIG14Zm11eDogRml4IHNvbWUgbWVtb3J5IGxlYWtzLCBpbXByb3ZlIGRlYnVnZ2luZyBhbmQgaGFuZGxlIGVycm9ycyBiZXR0ZXIKCjIwMDktMDMtMjIgMTU6MzU6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L214Zi9teGZtdXguaDoKCSAgbXhmbXV4OiBBZGQgYW4gZXJyb3Igc3RhdGUgZnJvbSB3aGljaCB3ZSByZXR1cm4gaW1tZWRpYXRlbHkKCSAgQWxzbyBpbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCjIwMDktMDMtMTkgMjA6NDE6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ1bC5jOgoJICBteGY6IE9wdGltaXplIG14Zl91bF9pc19zdWJjbGFzcygpIGEgYml0CgoyMDA5LTAzLTE5IDE0OjMwOjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5oOgoJKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkqIGdzdC9teGYvbXhmdWwuYzoKCSogZ3N0L214Zi9teGZ1bC5oOgoJICBteGY6IFN0YXJ0IGltcGxlbWVudGluZyBhIGNlbnRyYWwgVUwgZGF0YWJhc2UgYW5kIGFkZCBzb21lIGhlbHBlciBmdW5jdGlvbnMgYW5kIHVzZSB0aGVtCgoyMDA5LTAzLTE3IDE0OjI3OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBteGZtdXg6IE1ha2Ugc3VyZSB0byBpbmNsdWRlIGEgcGljdHVyZSBpbiB0aGUgZWRpdCB1bml0cyB3aGVuIG11eGluZyBNUEVHMi9NUEVHNAoKMjAwOS0wMy0xNyAxNDoyMzozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmZGVtdXg6IFJlbW92ZSBhY2NpZGVudGlhbGx5IGNvbW1pdHRlZCBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpCgoyMDA5LTAzLTE2IDE3OjQ5OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmdXAuYzoKCSAgbXhmOiBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nL2RlbXV4aW5nIHN1YnNhbXBsZWQgWVVWIGZvcm1hdHMKCjIwMDktMDMtMTYgMTc6MjI6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ1cC5jOgoJICBteGZkZW11eDogVXNlIGNvcnJlY3Qgd2lkdGgvaGVpZ2h0IGZvciBzdHJpZGUgY29udmVyc2lvbnMKCjIwMDktMDMtMTYgMTc6MTg6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ1cC5jOgoJICBteGY6IEltcGxlbWVudCBzdHJpZGUgdHJhbnNmb3JtYXRpb25zIGZvciByYXcgdmlkZW8gY29udGVudCBmb3IgbXV4aW5nIGFuZCBkZW11eGluZwoKMjAwOS0wMy0xNiAxNTozNzoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnVwLmM6CgkgIG14ZmRlbXV4OiBTaW1wbGlmeSBjYXBzIHNlbGVjdGlvbiBieSB1c2luZyBhIGxvb2t1cCB0YWJsZQoKMjAwOS0wMy0xNiAxMjo0ODozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnVwLmM6CgkgIG14Zm11eDogQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgbXV4aW5nIHJhdyBwaWN0dXJlIGVzc2VuY2UKCjIwMDktMDMtMTYgMTI6MTU6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBPbmx5IGFkZCBhbiBlc3NlbmNlIGNvbnRhaW5lciBVTCBvbmNlIHRvIHRoZSBwYXJ0aXRpb24gYW5kIHByZWZhY2UKCjIwMDktMDMtMTYgMTI6MDc6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ1cC5jOgoJICBteGZkZW11eDogQWRkIHN1cHBvcnQgZm9yIEFZVVYgYW5kIHYzMDggWVVWIGNvbG9yc3BhY2VzCgoyMDA5LTAzLTE2IDExOjAwOjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBteGZtdXg6IFVzZSB0aGUgY29ycmVjdCBlZGl0IHJhdGUgaW5zdGVhZCBvZiBlc3RpbWF0aW5nIGl0IGZyb20gdGhlIGZpcnN0IGJ1ZmZlciBkdXJhdGlvbgoKMjAwOS0wMy0xNSAxNToyNzo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBFcnJvciBvdXQgZGlyZWN0bHkgaWYgcHVzaGluZyBhIHBhY2tldCBkb3duc3RyZWFtIGZhaWxlZAoKMjAwOS0wMy0xNSAxNToyNzoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmR2LWRpZi5jOgoJICBteGZtdXg6IEFkZCBzdXBwb3J0IGZvciBEVi9ESUYgbXV4aW5nIGFuZCBhZGQgZnJhbWVyYXRlLCBldGMgdG8gdGhlIGNhcHMgd2hlbiBkZW11eGluZyBEVi9ESUYgY29udGVudAoKMjAwOS0wMy0xNSAxNToyNzowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IEFkZCBzb21lIGRlYnVnZ2luZyBhbmQgZXJyb3Igb3V0IG9uIGludmFsaWQgaW5wdXQgZGF0YQoKMjAwOS0wMy0xNCAxOTo1OTozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDA5LTAzLTExIDE5OjM4OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBteGZtdXg6IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgTVBFRyBhdWRpbyBhbmQgdmlkZW8KCjIwMDktMDMtMTEgMTk6Mzg6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIG14ZmRlbXV4OiBVc2UgY29ycmVjdCBjYXBzIHR5cGUgZm9yIEFDMyBhdWRpbyAoYXVkaW8veC1hYzMgaW5zdGVhZCBvZiBhdWRpby9hYzMpCgoyMDA5LTAzLTExIDE5OjM0OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSAgbXhmbXV4OiBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIEpQRUcyMDAwIGNvZGUgc3RyZWFtcwoKMjAwOS0wMy0xMSAxOTozMzo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJICBteGZtdXg6IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgVkMtMyAoYWthIEROeEhEKSB2aWRlbwoKMjAwOS0wMy0xMSAxOTozMzozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmFsYXcuYzoKCSAgbXhmbXV4OiBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIEEtTGF3IGF1ZGlvCgoyMDA5LTAzLTExIDE5OjMzOjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJICBteGZtdXg6IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgcmF3IGF1ZGlvCgoyMDA5LTAzLTExIDE5OjMyOjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSogZ3N0L214Zi9teGYuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4Lmg6CgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5oOgoJKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkqIGdzdC9teGYvbXhmd3JpdGUuYzoKCSogZ3N0L214Zi9teGZ3cml0ZS5oOgoJICBteGY6IEFkZCBNWEYgbXV4ZXIKCSAgVGhpcyBtdXhlciBjdXJyZW50bHkgb25seSBzdXBwb3J0cyBPUDFhIGFuZCBpcwoJICBwcm9iYWJseSBub3QgeWV0IDEwMCUgY29tcGx5aW5nIHRvIHRoZSBzdGFuZGFyZHMuCgoyMDA5LTAzLTExIDE5OjMwOjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOgoJICBqcDJrZW5jOiBBZGQgd2lkdGgvaGVpZ2h0L2ZvdXJjYyB0byB0aGUgcGFkIHRlbXBsYXRlIGNhcHMKCj09PSByZWxlYXNlIDAuMTAuMTEgPT09CgoyMDA5LTAzLTIxIDAxOjA5OjA4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlMi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGRnbWltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xMQoKMjAwOS0wMy0yMCAyMzozNzozOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDktMDMtMjAgMjM6MzE6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5oOgoJICBkc2hvd2RlYzogQWRkIHBhcl9uIGFuZCBwYXJfZCB0byB0aGUgb2JqZWN0IHN0cnVjdHVyZSB0byBmaXggY29tcGlsYXRpb24KCjIwMDktMDMtMTggMTI6MzI6MDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjYuNSBwcmUtcmVsZWFzZQoKMjAwOS0wMy0xOCAxMDozNTo0MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZmRlbXV4OiBGaXggYnVpbGQgb24gR0xpYiA8IDIuMTYgc29tZSBtb3JlCgoyMDA5LTAzLTE4IDAwOjAyOjQ4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuMTAuNCBwcmUtcmVsZWFzZQoKMjAwOS0wMy0xNiAxNzoyOToxNiArMDAwMCAgWmFoZWVyIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGY6IFJlcGxhY2UgZ19oYXNoX3RhYmxlX2dldF92YWx1ZXMgd2l0aCBjb2RlIHdvcmtpbmcgd2l0aCBnbGliIDIuNi4KCSAgRml4ZXMgIzU3NTU2NQoKMjAwOS0wMy0xMyAxNjozMTo1NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTAuMyBwcmUtcmVsZWFzZQoKMjAwOS0wMy0xMyAxNjoxNjoyMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vZmkucG86CgkqIHBvL2lkLnBvOgoJKiBwby9wdF9CUi5wbzoKCSAgcG86IFVwZGF0ZSBwbyBmaWxlcyBmcm9tIHVwc3RyZWFtCgoyMDA5LTAzLTEzIDE2OjA4OjAzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9MSU5HVUFTOgoJKiBwby90ci5wbzoKCSAgcG86IEFkZCBUdXJraXNoIHRyYW5zbGF0aW9uCgoyMDA5LTAzLTEyIDIzOjU0OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC94ZGdtaW1lL2dzdHhkZ21pbWUuYzoKCSAgeGRnbWltZTogbWFrZSB4ZGcgdHlwZWZpbmRlciBtb3JlIGNvbnNlcnZhdGl2ZQoJICBUaGUgd2hvbGUgcmFpc29uIGQnZXRyZSBvZiB0aGlzIHR5cGVmaW5kZXIgaXMgdG8gaGVscCBhdm9pZCBmYWxzZQoJICBwb3NpdGl2ZXMgd2hlbiB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggb3VyIG1haW4gdHlwZWZpbmRlciBpbgoJICAtYmFzZS4gSXRzIHRhc2sgaXMgbm90IHJlYWxseSB0byB0eXBlZmluZCBhdWRpby92aWRlbyBmaWxlcywgZXZlbgoJICBsZXNzIHNvIGdpdmVuIHRoYXQgaXQgZGV0ZWN0cyAqTUlNRSogdHlwZXMsIG5vdCBHU3RyZWFtZXIgbWVkaWEKCSAgdHlwZXMuIFRoZXJlZm9yZSwgaWYgdGhpcyB0eXBlZmluZGVyIGRldGVjdHMgYW4gYXVkaW8gb3IgdmlkZW8KCSAgdHlwZSwgZG9uJ3QgZXZlbiBzdWdnZXN0IGl0IC0gb3VyIG93biB0eXBlZmluZGVycyBhcmUgaG9wZWZ1bGx5CgkgIGJldHRlciBhdCB0aGlzIGFuZCBkZXRlY3QgdGhlIHJpZ2h0IHR5cGUgb2YgdHlwZSBvbiB0b3Agb2YgdGhhdCwKCSAgYW5kIGV2ZW4gaWYgdGhleSdyZSBub3Qgd2UgcmVhbGx5IHdhbnQgdG8ga25vdyBhYm91dCBpdCBhbmQgZml4CgkgIGl0LiBGaXhlcyAjNTc1MTU3LgoKMjAwOS0wMy0xMyAxNTo1OTozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwYmluOiBkb24ndCByZXR1cm4gRkFMU0Ugb24gc2VlayBldmVudHMKCSAgU2lsZW50bHkgaWdub3JlIHRoZSBzZWVrIGV2ZW50IGluc3RlYWQgb2YgcmV0dXJuaW5nIEZBTFNFLgoKMjAwOS0wMy0xMyAxMDowNzoxOCArMDAwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IHdvcmthcm91bmQgdG8gZml4IHBsYXliYWNrIG9mIGNlcnRhaW4gbWFsZm9ybWVkIGNsaXBzCgkgIEFkZGVkIGEgd29ya2Fycm91bmQgdG8gcGVybWl0IHBsYXkgY2VydGFpbiBtYWxmb3JtZWQgY2xpcHMgd2hlcmUgZmlyc3QKCSAgU0NSIGlzIGdyZWF0ZXIgdGhhbiBsYXN0IFNDUi4gRml4ZXMgYnVnICM0NTQyMjgKCjIwMDktMDMtMTIgMjA6MTM6MTEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2s6IERpc2FibGluZyBtZXRhZGF0YSB1bml0IHRlc3QgdW50aWwgIzU3NDQwMSBpcyBmaXhlZC4KCjIwMDktMDMtMTIgMTc6NTM6MzcgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgc29tZSBtb3JlIHBsdWdpbnMgdGhlIHNwZWMgZmlsZQoKMjAwOS0wMy0xMSAxMzowNDozNiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBuZXcgcGx1Z2lucwoKMjAwOS0wMy0xMCAxNToxMjoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIGRmYnZpZGVvc2luazogaW5jbHVkZSBzdGRsaWIuaCBmb3IgYWJzKCkKCjIwMDktMDMtMTAgMjE6MTg6MjAgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogRml4ZWQgYSBidWcgaW4gdGhlIFRTIHNjYW5uZXIuIEZpeGVzICM1NzQwMDkKCjIwMDktMDMtMTAgMDA6MjI6NTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xMC4yIHByZS1yZWxlYXNlCgoyMDA5LTAzLTEwIDAwOjEwOjA5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR3b2xhbWUueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC90d29sYW1lL01ha2VmaWxlLmFtOgoJKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lLmM6CgkqIGV4dC90d29sYW1lL2dzdHR3b2xhbWUuaDoKCSogcG8vUE9URklMRVMuaW46CgkgIE1vdmVkIHR3b2xhbWUgZnJvbSBCYWQgdG8gVWdseQoKMjAwOS0wMy0wOSAyMzoxMzowMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3MDMyMTYzIHRvIGY4YjNkOTEKCjIwMDktMDMtMDggMTI6MDU6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmZmE3MzhkIHRvIDcwMzIxNjMKCjIwMDktMDMtMDggMTE6MjE6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzZjEzZTRlIHRvIGZmYTczOGQKCjIwMDktMDMtMDcgMTE6NDY6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzYzc0NTZiIHRvIDNmMTNlNGUKCjIwMDktMDMtMDcgMTA6NDY6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1N2M4M2YyIHRvIDNjNzQ1NmIKCjIwMDktMDMtMDYgMjI6MzY6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IE1ha2UgdGhlIHRlc3RzIHBhc3Mgd2hlbiB0aGUgY2FtZXJhYmluIGNhbid0IGluaXRpYWxpc2UuCgkgIFRoZSBjYW1lcmFiaW4gdGVzdHMgd2VyZSB0aHJvd2luZyBnbGliIGVycm9ycyBhbmQgaGFuZ2luZyB3aGVuCgkgIGdzdC1wbHVnaW5zLWdvb2QgZWxlbWVudHMgKGpwZWdlbmMsIHZpZGVvY3JvcCkgY2FuJ3QgZm91bmQuCgoyMDA5LTAzLTA2IDIxOjE0OjQ4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBtaXNjOiBJZ25vcmUgdGhlIGNhbWVyYWJpbiBiaW5hcnkgaW4gdGhlIGNoZWNrL2VsZW1lbnRzIHN1YmRpcgoKMjAwOS0wMy0wNiAxOToyMjo1OCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSAgY2FtZXJhYmluOiBQYXJ0bHkgZml4IGRpc3RjaGVjawoJICBEb24ndCBkaXN0IHRoZSBnZW5lcmF0ZWQgbWFyc2hhbC5oIGhlYWRlciBieSBwdXR0aW5nIGl0IGluIHRoZSBoZWFkZXJzCgkgIGxpc3QuCgoyMDA5LTAzLTA3IDAwOjIwOjI4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbWV0YWRhdGEuYzoKCSAgbWV0YWRhdGE6IGNoYW5nZSAncScgYmFjayB0byAnanBlZ2VuYycgKG15IGtleWJvYXJkIGhhdGVzIG1lKQoKMjAwOS0wMy0wNiAyMzozNDo1NiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL21ldGFkYXRhLmM6CgkgIG1ldGFkYXRhOiBjbGVhbnVwLCBmaXggdGhlIHRlc3QsIGFkZCBjb21tZW50cwoJICBGaXJzdCBkbyBub3QgYnVpbGQgdGhlIHBsdWdpbiwgaWYgd2UgaGF2ZSBub25lIG9mIHRoZSBiYWNrZW5kLCBhcyBpdCB3b24ndCB3b3JrCgkgIHRoZW4uIEZpeCB0aGUgbWluaW9iamVjdF91bnJlZiBlcnJvciBpbiB0aGUgdGVzdC4gU3ByaW5rbGUgYSBmaXJzdCBoYW5kZnVsIG9mCgkgIGRlYnVnIGxvZ3MgaW50byB0aGUgZWxlbWVudCBjb2RlLgoKMjAwOS0wMy0wNiAyMDowMjoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZWdhY3lyZXNhbXBsZS5jOgoJICBsZWdhY3lyZXNhbXBsZTogRml4IG1lbW9yeSBsZWFrIGluIHRoZSB1bml0IHRlc3QgYnkgdW5yZWZmaW5nIHRoZSBjYXBzCgoyMDA5LTAzLTA2IDE3OjQ2OjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBteGZkZW11eDogU3RvcmUgYW5kIHVzZSB0aGUgc2VxbnVtIG9mIHRoZSBjdXJyZW50bHkgcnVubmluZyBzZWdtZW50IGV2ZXJ5d2hlcmUKCjIwMDktMDMtMDYgMTc6MjQ6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGY6IERvbid0IGV2ZW4gdHJ5IHRvIHNlcmlhbGl6ZSBETSBmcmFtZXdvcmtzIGFzIGl0IHdpbGwgY2F1c2UgYW4gYXNzZXJ0aW9uIHVudGlsIHRoaXMgaXMgZmluaXNoZWQKCjIwMDktMDMtMDYgMTI6NDI6NTAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IFVzZSB0aGUgcHVibGljIGhlYWRlcnMgaWYgZmFhZDIgPj0gMi43LiBGaXhlcyAjNTczMzY5CgkgIFNpbmNlIGZhYWQyLTIuNywgdGhlIHB1YmxpYyBmdW5jdGlvbiBwcm90b3R5cGVzIGFyZSBpbiBzeW5jIHdpdGggdGhlCgkgIGFjdHVhbCBmdW5jdGlvbiBwcm90b3R5cGVzIHVzZWQgaW50ZXJuYWxseSBpbiBsaWJmYWFkLgoKMjAwOS0wMy0wNiAxMTowODoxOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIGxhZHNwYTogZml4IGNvbXBpbGF0aW9uIHdoZW4gTFJERiBpcyBtaXNzaW5nCgkgIC0tCgoyMDA5LTAzLTA1IDIyOjU1OjE3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgIGxhZHNwYTogcmVtb3ZlIC1sZGwgYXMgd2Ugbm93IHVzZSBnbGlicyBnbW9kdWxlLgoKMjAwOS0wMy0wNSAyMjozNzo1MiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IGFkZCBpbml0aWFsIGxpYmxyZGYgc3VwcG9ydC4KCSAgR2V0IGNsYXNzaWZpY2F0aW9uIGZyb20gcmRmIG1ldGFkYXRhLgoKMjAwOS0wMy0wNSAyMjowNDo0OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJICBtcGxleDogZml4IHJlcXVpcmVkIHZlcnNpb24KCSAgV2l0aCB0aGlzIHZlcnNpb24gaXQgYnVpbGRzIG9uIG9wZW5zdXNlIDExLjEuCgoyMDA5LTAzLTA1IDE0OjQwOjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmOiBEb24ndCB1c2UgTlVMTCBHc3RTdHJ1Y3R1cmVzIHRvIHByZXZlbnQgd2FybmluZ3MKCSAgQ3VycmVudGx5IHNlcmlhbGl6aW5nIG9mIERNIEZyYW1ld29ya3MgaXMgbm90IHN1cHBvcnRlZAoJICB5ZXQgYnkgRE1TMSBhbmQgd2lsbCBnaXZlIHVzIE5VTEwuCgoyMDA5LTAzLTA0IDIxOjMwOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJICBwaG90b2dyYXBoeTogZGVjbGFyZSBpbnRlcmZhY2UgYXMgdW5zdGFibGUgQVBJIGJ5IG1lYW5zIG9mIGEgd2FybmluZwoJICBBcHBsaWNhdGlvbiBkZXZlbG9wZXJzIHdvbid0IGtub3cgcmlnaHQgYXdheSB3aGljaCBtb2R1bGUgYW4gaW50ZXJmYWNlIGNvbWVzIGZyb20sCgkgIGFuZCBtYXkgYXNzdW1lIHRoYXQgaXQgaXMgY292ZXJlZCBieSB0aGUgdXN1YWwgR1N0cmVhbWVyIEFQSSBndWFyYW50ZWVzLCBzbyBtYWtlCgkgIGl0IGFzIGNsZWFyIGFzIHBvc3NpYmxlIHRoYXQgdGhpcyBwYXJ0aWN1bGFyIEFQSSBpcyBzdGlsbCBzdWJqZWN0IHRvIGNoYW5nZQoJICAoc2hvdWxkIGhhdmUgZG9uZSB0aGF0IHdpdGggb3RoZXIgbGlicmFyaWVzIGluIC1iYWQgYmVmb3JlIHRvbyByZWFsbHkpLgoKMjAwOS0wMy0wNCAyMDozNzo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZGV0ZWN0IGZhYWQncyBtaW5vciB2ZXJzaW9uIGFuZCBkZWZpbmUgRkFBRDJfTUlOT1JfVkVSU0lPTiBpbiBjb25maWcuaAoKMjAwOS0wMy0wNCAxNjo0NjowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L3ZhbHZlL01ha2VmaWxlLmFtOgoJICB2YWx2ZTogcmVuYW1lIHBsdWdpbiBmaWxlIGZyb20gbGliZnN2YWx2ZS4qIHRvIGxpYmdzdHZhbHZlLioKCSAgSWYgeW91J3JlIHJ1bm5pbmcgdGhpbmdzIHVuaW5zdGFsbGVkLCB5b3UgbWlnaHQgbmVlZCB0byBtYW51YWxseQoJICByZW1vdmUgdGhlIHJlZ2lzdHJ5IHRvIGdldCB0aGUgcGx1Z2luJ3MgZmVhdHVyZXMgdG8gc2hvdyB1cAoJICBjb3JyZWN0bHkuIEFsc28sIHlvdSBwcm9iYWJseSB3YW50IHRvIGRvIGEgbWFrZSBjbGVhbiB0byBnZXQgcmlkCgkgIG9mIHRoZSBvbGQgcGx1Z2luIGZpbGUuCgoyMDA5LTAzLTA0IDE5OjUwOjEwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3JlYWwvZ3N0cmVhbC5jOgoJICBnc3JlYWw6IGJyaW5nIGRvd24gdGhlIHJhbmsgb2YgdGhlIHJlYWwgZGVjb2RlcnMgdG8gTUFSR0lOQUwuCgkgIEJhc2ljYWxseSwgYXQgdGhpcyBwb2ludCwgdGhlIGZmbXBlZyBlcXVpdmFsZW50IGRlY29kZXJzIHBlcmZvcm0gd2F5CgkgIGJldHRlciwgc28gd2UnbGwgbWFrZSB0aGUgZmZtcGVnIGVxdWl2YWxlbnRzIFBSSU1BUlkgYW5kIHRoZXNlCgkgIE1BUkdJTkFMLgoKMjAwOS0wMy0wNCAxODo0MjoxNSArMDAwMCAgWmFoZWVyIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogbWFrZSBzb21lIGRvY3MgdXAgdG8gZGF0ZQoKMjAwOS0wMy0wNCAxODoxNjozMSArMDAwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogcmVzZXQgc3luY19sdXRfbGVuIHRvIDAgb24gUkVBRFkgdG8gTlVMTAoKMjAwOS0wMy0wNCAxNTozMDowNCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjc2NoYWxsZUBjcmF6eWhvcnNlLmxvY2FsZG9tYWluPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIG9mIHNzaDovL3VyYWV1c0BnaXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtYmFkCgoyMDA5LTAzLTA0IDE1OjI4OjQ2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNzY2hhbGxlQGNyYXp5aG9yc2UubG9jYWxkb21haW4+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBhZGQgZmlndXJlcyBzdWJkaXJlY3RvcnkgdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06IGFkZCBteGYgc3ViZGlyZWN0b3J5IGdzdC1wbHVnaW5zLnNwZWMuaW46IGFkZCBuZXcgcGx1Z2lucwoKMjAwOS0wMy0wNCAxNjoxNTo1NyArMDEwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2s6IGdzdC1wbHVnaW5zLWJhZC5zdXBwIG5lZWRzIHRvIGJlIGRpc3RyaWJ1dGVkLgoKMjAwOS0wMy0wNCAxNTowNTo0OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IGFkZCBMSUJESVIvbGFkc3BhIHRvIHNlYXJjaCBwYXRoIGFuZCBtYWtlIHBhdGggbW9yZSBwb3J0YWJsZQoJICBVc2UgZ2xpYiBkZWZpbmVzIGZvciBzZWFyY2hwYXRoIHNlcGFyYXRvcnMuIEZpbHRlciBzZWFyY2hwYXRoIHRvIGF2b2lkIHNjYW5uaW5nCgkgIHBhdGggZW50cmllcyB0d2ljZS4gRml4IHRoZSByZXR1cm4gaW4gbGFkc3BhX3BsdWdpbl9kaXJlY3Rvcnlfc2VhcmNoIHRvIHJldHVybgoJICB3aGV0ZXIgd2UgZm91bmQgYSBwbHVnaW4uCgoyMDA5LTAzLTA0IDE0OjM0OjEyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL2xvYWQuYzoKCSogZXh0L2xhZHNwYS9zZWFyY2guYzoKCSogZXh0L2xhZHNwYS91dGlscy5oOgoJICBsYWRzcGE6IHJld3JpdGUgdGhlIGRpcmVjdG9yeSBzY2FubmluZywgZml4ZXMgZmlyc3QgcGFydCBvZiAjNTczMzcwCgkgIE1vdmUgdGhlIHR3byBmdW5jdGlvbiBmcm9tIHNlYXJjaC5jIGludG8gZ3N0bGFkc3BhLmMgYW5kIG1ha2UgdGhlbSBzdGF0aWMuCgkgIFJlbW92ZSBub24gbmVlZGVkIGFyZ3VtZW50cyBmcm9tIGZ1bmN0aW9uIHByb3RvdHlwZXMuIFVzZSBnbGliIGFwaSBmb3IKCSAgc2ltcGxpY2l0eSBhbmQgcG9ydGFiaWxpdHkuCgoyMDA5LTAzLTA0IDExOjE0OjE4ICswMTAwICBMUk4gPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiB1c2UgZ2ludDggaW5zdGVhZCBvZiBpbnQ4X3QKCSAgVXNlIGdpbnQ4IGluc3RlYWQgb2YgaW50OF90IHRvIGZpeCBjb21waWxhdGlvbi4KCSAgRml4ZXMgIzU3Mzg1MS4KCjIwMDktMDMtMDQgMTE6MDc6NTIgKzAxMDAgIExSTiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICBnc21kZWM6IFVzZSBHX0JZVEVfT1JERVIgdG8gZml4IFdpbmRvd3MgY29tcGlsZQoJICBnc3Rnc21kZWMgcmVsaWVzIG9uIEJZVEVfT1JERVIsIHdoaWNoIGlzIG5vdCBhdmFpbGFibGUgb24gV2luZG93cy4gVXNlCgkgIEdfQllURV9PUkRFUiBpbnN0ZWFkLgoJICBGaXhlcyAjNTczODUwLgoKMjAwOS0wMy0wMyAxNDozMDo1MyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgQWRkIERvYyBmb3IgbWltaWMgcGx1Z2luCgoyMDA5LTAzLTAzIDE0OjAzOjM0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L21pbWljL2dzdG1pbWljLmM6CgkgIE1vdmUgbWltaWMgdG8gLWJhZAoKMjAwOS0wMy0wMyAxNDoyMDozNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltaWMuYzoKCSAgUmUtaW5kZW50IHRvIEdTVCBzdHlsZQoKMjAwOC0wNy0yNSAyMjo0NzoyNiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE9ubHkgb3V0cHV0IGEgbmV3c2VnbWVudCBpZiB0aGUgaW5jb21pbmcgbmV3c2VnbWVudCBpc250IGEgdGltZSBzZWdtZW50CgkgIDIwMDgwNzI1MjI0NzI2LTNlMmRjLWY4MmI5OTNjMGZiZmU4YmQ0ODdkMmYxOTYyZmVjMWQwYjY1NjRlYmMuZ3oKCjIwMDgtMDctMjUgMjI6MjY6NDggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgdW51c2VkIG1lbWJlciB2YXJpYWJsZXMKCSAgMjAwODA3MjUyMjI2NDgtM2UyZGMtMjQ2NDk3ODJhMzk0NjJjN2MzZmVmOWQ2MjcwYjNkYjRjNGFjZTFiYi5negoKMjAwOC0wNy0yNSAyMjoyNDo0OCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTZW5kIG91dCB0aGUgcmlnaHQgc2VnbWVudCBhbmQgdXNlIHN0b3JlZCB0aW1lc3RhbXBzIGRpcmVjdGx5CgkgIDIwMDgwNzI1MjIyNDQ4LTNlMmRjLWUxMTliZjA5ZWRlMWNmMTg3NTgxZDU5MTc2YzhiMzViYWZiNzMxYWUuZ3oKCjIwMDgtMDctMjUgMTk6NDg6MzMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2tpcCBub24ta2V5ZnJhbWVzIGJlZm9yZSB3ZSBnZXQgYSBrZXlmcmFtZQoJICAyMDA4MDcyNTE5NDgzMy0zZTJkYy01ODNkZjU3YzhlYmNlNGIxNDlhMDE3NjhlZDdkMzczNzEzNmEyMDhmLmd6CgoyMDA4LTA3LTI1IDE5OjMzOjU4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIElnbm9yZSB1cHN0cmVhbSBuZXdzZWdtZW50IGV2ZW50cyBpbiBtaW1kZWMKCSAgMjAwODA3MjUxOTMzNTgtM2UyZGMtN2MwZjIyMzg2ZTAyMDhhNDVlYWU5YzFkN2ViNjJlODZmNjFkMTRiYS5negoKMjAwOC0wNy0yNSAxOToyNTozMCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBlbWl0IHRoZSByaWdodCB0aW1lc3RhbXAgaW4gdGhlIG5ld3NlZ21lbnQgZXZlbnQKCSAgMjAwODA3MjUxOTI1MzAtM2UyZGMtYTNjYzBjZTczZmNhMTgxY2FlZTMyM2Q2OTlkODU3NmRmOTE2ZThkMy5negoKMjAwOC0wNy0yNSAxOTowODo0OSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVzZSB2aWRlby94LW1pbWljIGFzIHRoZSBjYXBzIHR5cGUKCSAgMjAwODA3MjUxOTA4NDktM2UyZGMtMzhlNGFjYzlkNGFkODIzMWVkMjJmNmNjNGQ3ZDhjMmE4YjU2NjhlOS5negoKMjAwOC0wNy0wNCAyMjowNzoxMyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBwcm9wZXIgbG9ja2luZyB0byBtaW1lbmMKCSAgMjAwODA3MDQyMjA3MTMtM2UyZGMtNmEyMmQxYTQyMzcxNmU4Yjg0YmMzYmRhOTk4NmExYjRmZjBjMGQzNy5negoKMjAwOC0wNy0wNCAyMjowMzoxOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgdXNlbGVzcyBpbXBsZW1lbnRhdGlvbiBvZiBnZXRjYXBzIGZyb20gbWltZGVjCgkgIDIwMDgwNzA0MjIwMzE4LTNlMmRjLWQ4MWJjNTliMjMwOGM1YWQwZDMxNDQwMzBjNTY1MDI5NWU5OWYzYzYuZ3oKCjIwMDgtMDctMDQgMjI6MDI6NDMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgcHJvcGVyIGxvY2tpbmcgdG8gbWltZGVjCgkgIDIwMDgwNzA0MjIwMjQzLTNlMmRjLTcxYzE1N2Q4Mjk5OWRmYjQxYmQ2MmI0MDY0YjE4ODdhYjIyZTg0YzEuZ3oKCjIwMDgtMDctMDQgMjE6NTk6MzYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIGxlYWsKCSAgMjAwODA3MDQyMTU5MzYtM2UyZGMtMjJkOTkyZjk4Yzk5MzFmMDYyNjYyZmMwNWYxY2U2NWJjOTdmNjE5YS5negoKMjAwOC0wNy0wNCAyMTo1NTo1MCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZXNldCB0aGUgZ3N0IHRpbWVzdGFtcCBpZiB0aGUgdGltZSBkaWZmZXJlbnQgaXMgdG9vIGxhcmdlCgkgIDIwMDgwNzA0MjE1NTUwLTNlMmRjLTc2ZWIzZjYwMGYyYjk3N2U5MTZmN2UxZjY1NDUyOWRkYWZmMDZhYzkuZ3oKCjIwMDgtMDctMDQgMjE6NTI6MDggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVXNlIHRoZSB0aW1lc3RhbXAgZnJvbSB0aGUgZmlyc3QgYnVmZmVyIGFzIHRoZSBiYXNlCgkgIDIwMDgwNzA0MjE1MjA4LTNlMmRjLTU4MjI3NzFmMjY5NGRlZGE0YTdjZDVjZGQzYzM4YWI5ZWZmN2ZhMmQuZ3oKCjIwMDgtMDctMDQgMjE6NDk6MzUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU3RvcmUgdGhlIHRpbWVzdGFtcCBpbiB0aGUgaGVhZGVyCgkgIDIwMDgwNzA0MjE0OTM1LTNlMmRjLTkwZWM3M2RmMzIyNWI0MWJhYTY4MWFiNjkxZmI4YmQ0N2UxN2M3ODAuZ3oKCjIwMDgtMDctMDQgMjE6MTk6NDMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmUtaW5kZW50IG1pbWRlYwoJICAyMDA4MDcwNDIxMTk0My0zZTJkYy1kZWYxZTBkYWNjNGE0NWZlMmI0YWZkY2I5MDNhMTMyOGM5NTExN2FjLmd6CgoyMDA4LTA3LTA0IDIxOjE1OjExICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNpbXBsaWZ5IG5ld3NlZ21lbnQgY29kZQoJICAyMDA4MDcwNDIxMTUxMS0zZTJkYy1iOThkMWU1YjMxYzIzZWI3OTEyMTk3ZjkzNjRhMzE1NjBkMDkyYzYzLmd6CgoyMDA4LTA3LTA0IDIwOjUwOjEwICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFBvcnQgbWltaWMgcGx1Z2lucyB0byBHU1RfQk9JTEVSUExBVEUKCSAgMjAwODA3MDQyMDUwMTAtM2UyZGMtZGE0MWU1Njg1YWI5Y2ViNjc1NTVkNDk5MTI1NDMyY2QxMmQ1NTA1ZC5negoKMjAwOC0wNy0wNCAyMDo0MToxMiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1pYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIHRyYWlsaW5nIHdoaXRlc3BhY2UgaW4gbWltaWMgcGx1Z2luCgkgIDIwMDgwNzA0MjA0MTEyLTNlMmRjLTFhYjRiOTEzZDU4ZmFhMDU4NzQyYjAxZTA4M2Y3ZGViZDY4NzdiYjMuZ3oKCjIwMDgtMDctMDQgMjA6Mjk6NDEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggY29uZmxpY3RzCgkgIDIwMDgwNzA0MjAyOTQxLTNlMmRjLTdmNWEzODg0NWI3OTdlMTJkNjcyNTUxNDY2ZTYzNWQ0ODRjYjY3NjMuZ3oKCjIwMDctMTEtMTAgMDU6MTc6MTcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IG1pbWljIGVuYyBjaGFpbiBmdW5jdGlvbiwgcmV0dXJuIHJlcyBmb3IgY2hhaW4oKSwgZ2V0IHRoZSBwYXJlbnQgZWxlbWVudCB3aXRoIHRoZSBwcm9wZXIgYWNjZXNzb3IgZnVuY3Rpb24sIHVzZSB0aGUgX09CSkVDVCBkZWJ1Z2dpbmcgbWFjcm9zCgkgIDIwMDcxMTEwMDUxNzE3LTNlMmRjLTQ3MjZmY2QxOWNjM2QxMTIxYTRlMTMyNzZhNDFmNWY4NmRjMWM5YjEuZ3oKCjIwMDctMTEtMTAgMDU6MTQ6MjcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSB0aGUgX3NldF9jYXBzIGZ1bmN0aW9uIG9mIG1pbWljIGVuYyBtb3JlIHJvYnVzdAoJICAyMDA3MTExMDA1MTQyNy0zZTJkYy0zODFhNzFmMmNiZmRiZjUwOGU5NDFiNjcyZTkwNThjODJmYWJjZTI0Lmd6CgoyMDA3LTExLTEwIDA1OjE0OjAxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSB0aGUgZ3N0IDAuOS4xIGlmZGVmCgkgIDIwMDcxMTEwMDUxNDAxLTNlMmRjLTFmMDcxZDczMmQ2NDU3Mzg4OTk3NzQwNTk5NTY5MmQ5NGIxMGEwZDYuZ3oKCjIwMDctMTEtMTAgMDU6MTA6MzUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBjYXBzIGdzdCAwLjEwIGNvbXBsaWFudAoJICAyMDA3MTExMDA1MTAzNS0zZTJkYy1mNzAyNGJkM2VjZmI2Nzk0ZmU4ZDA5ZGNiMTAwYmEwYjQ3ODNkZjVkLmd6CgoyMDA3LTExLTEwIDA1OjA5OjUwICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVXNlIGdfdHlwZV9jbGFzc19wZWVrX3BhcmVudCBpbnN0ZWFkIG9mIHJlZmZpbmcgdGhlIHBhcmVudCBjbGFzcyBkaXJlY3RseQoJICAyMDA3MTExMDA1MDk1MC0zZTJkYy02ZDE0ZGRkNmFlM2NlZWVhYTRlNjQxYjdiMDk2MTNlNDQyOTI3ZjkyLmd6CgoyMDA3LTExLTEwIDA1OjA4OjUyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSBmcmFtZXNpemUgcHJvcGVydGllcyBvbiB0aGUgbWltaWMgZW5jb2RlcgoJICAyMDA3MTExMDA1MDg1Mi0zZTJkYy1jYjgxNjVjMDczYmZhOTgxNzkwZGM5MTY5M2ZkMWM0ODNlYTdiNmVhLmd6CgoyMDA3LTExLTEwIDA1OjA3OjUzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVzZSB0aGUgX09CSkVDVCBkZWJ1ZyBtYWNyb3MKCSAgMjAwNzExMTAwNTA3NTMtM2UyZGMtNTYwZDIyYTg2ZWVhMTEwOGYxNzQ2ZDAxMjM3NDRkMzM4MTJlOTRjOS5negoKMjAwNy0xMS0xMCAwNTowMzo1MSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVc2UgZ3N0X3BhZF9nZXRfcGFyZW50IGluc3RlYWQgb2YgbG9va2luZyBpbnRvIHRoZSBHc3RPYmplY3QgZGlyZWN0bHkKCSAgMjAwNzExMTAwNTAzNTEtM2UyZGMtNjM2ZjdkNzczNzQ5NGY4MTAwNDdhOGVlNjkyN2NkZTA2MGJiNGI0Yi5negoKMjAwNy0xMS0xMCAwNTowMjozMiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZXR1cm4gYmFjayByZXN1bHQgb2YgcGFkIHB1c2gKCSAgMjAwNzExMTAwNTAyMzItM2UyZGMtNGEwODBkOTc5NjNjZDhhYjZkNTI4YzQwMTJkMTQzNTNjMWNmZTk3Yi5negoKMjAwNy0xMS0xMCAwNDoxMToyNSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE9sZSdzIHBvcnQgdG8gZ3N0IDAuMTAKCSAgMjAwNzExMTAwNDExMjUtM2UyZGMtZTI5OTRjM2JiZTE1NzhkOThlNGY3MDdiZDEwZjI0ZmFiZjk0MmMyYi5negoKMjAwOC0xMi0xMSAxNzo1NDoxOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljLy5naXQtZGFyY3MtZGlyOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIC5naXQtZGFyY3MtZGlyIGZpbGVzCgoyMDA4LTAyLTExIDIyOjI0OjMxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTGltaXQgdGltZXN0YW1wIGRpZmYgaW4gY2FzZSBvZiBhIGp1bXAgaW4gdGhlIHRpbWVzdGFtcHMKCSAgMjAwODAyMTEyMjI0MzEtNGYwZjYtNzI2ZmM2NjQwMzA4MTUzMzM3MWY3NzU5NTRhYWI0YzdiOGZkYzY0My5negoKMjAwOC0wMi0wNiAwMzoxNjo1NCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgaXQgYmFjayB0byAzMCBmcHMgaW4gY2FwcwoJICAyMDA4MDIwNjAzMTY1NC00ZjBmNi1kODE5N2U1Mzg4ODkwNjgwNTA0MWU2NTUyYzBkZDc3NGM1NWU5ZTg5Lmd6CgoyMDA4LTAyLTA2IDAzOjA5OjQ3ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCB0aW1lc3RhbXBzIGluIGdzdCBidWZmZXJzIHNlbnQgYnkgZ3N0bWltaWMKCSAgMjAwODAyMDYwMzA5NDctNGYwZjYtOWRjN2Q5YjFhOTJhNzE3YzcxYjFlNDkwYTU1OTFmMGUyZmZlMGRhZC5negoKMjAwOC0wMi0wNiAwMjowMzozNSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBmcmFtZXJhdGUgdHlwZSBpbiBjYXBzIGZvciBnc3RtaW1pYyBlbGVtZW50CgkgIDIwMDgwMjA2MDIwMzM1LTRmMGY2LTBkOWUxMzYwMzlhZDZiN2I4NDk4MmJkYWMyNDJhMDU5ZDUwZmJiNjYuZ3oKCjIwMDYtMDMtMjQgMjA6MTY6MTkgKzAwMDAgIHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51ayA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4ZWQgY291cGxlIG9mIGNvbXBpbGF0aW9uIGlzc3VlcwoJICAyMDA2MDMyNDIwMTYxOS0yNDI1Yi1iZjMzOTkyNmY1MzNhYTRlZmVjZTg1NWZiYmU5NGU1OWM3YmI5NTVmLmd6CgoyMDA2LTAzLTI0IDE5OjU3OjIwICswMDAwICBwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWsgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENhbGxzIHRvIGdzdF9wYWRfZ2V0X3BhcmVudCByZWYgdGhlIG9iamVjdCBzbyBpdCBuZWVkcyB0byBiZSB1bnJlZmZlZCA8IGhleGEwMEBnbWFpbC5jb20KCSAgMjAwNjAzMjQxOTU3MjAtMjQyNWItMTc5MjhiZTM0ZWU2N2Y3MWVmYmFmNjJkZTc2ZGViYTlhZDEzZjBmMi5negoKMjAwNi0wMi0xNCAyMTowMDoyNyArMDAwMCAgcGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTZXBhcmF0ZWQgRVJST1JfQ0ZMQUdTIGZyb20gR1NUX0NGTEFHUwoJICAyMDA2MDIxNDIxMDAyNy0yNDI1Yi0xZjllNmVkNTkxYzA4ZTU5MDdkMDJlZjdlYTlhOGNmNjJiZjI5ODQwLmd6CgoyMDA1LTEwLTI0IDE1OjM3OjQ4ICswMDAwICBQaGlsaXBwZSBLaGFsYWYgPGJ1cmdlciBhdCBzcGVlZHkgZG90IG9yZz4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNob3VsZCBub3QgYmUgZG9uZSBpbiBkaXNwb3NlLCBtb3ZpbmcgdG8gZmluYWxpemUKCSAgMjAwNTEwMjQxNTM3NDgtMDU0NTktOTYyNWZlYzA1NTQ3YzUzNWJmNWYzYzY2YWViYmE4NDg2MWI1NDlhYS5negoKMjAwNS0wNy0xNiAxOTo1MDoyMSArMDAwMCAgUGhpbGlwZSBLYWxhZiA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljLy5naXQtZGFyY3MtZGlyOgoJKiBleHQvbWltaWMvTWFrZWZpbGUuYW06CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuaDoKCSogZXh0L21pbWljL2dzdG1pbWljLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBJbXBvcnQgZnJvbSBDVlMgdG8gZGFyY3MKCjIwMDktMDMtMDMgMTQ6MzI6MzggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIHJ0cG11eDogSWdub3JlIHJ0cG11eCBnZXRfdHlwZSBmdW5jdGlvbiBmb3IgZG9jcwoKMjAwOS0wMy0wMyAxOTowODoyOCArMDAwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8bWFyZHVrQGstZC13Lm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogZml4IG1lbWxlYWsKCSAgRml4IG1lbWxlYWsgaW4gbXBlZ3RzX3BhY2tldGl6ZXJfY2xlYXIgd2hlcmUgTXBlZ1RTUGFja2V0aXplclN0cmVhbSBpcwoJICBub3QgZnJlZWQgcHJvcGVybHkgd2hlbiB1c2luZyBmb3JlYWNoX3N0cmVhbV9jbGVhciBmdW5jdGlvbi4KCjIwMDktMDMtMDMgMTg6Mjg6MTAgKzAwMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBtcGVndHNkZW11eDogZHluYW1pY2FsbHkgYWRqdXN0IHRoZSBzeW5jIExVVCB0YWJsZQoJICBNYWtlIHRoZSBzeW5jIExVVCB0YWJsZSBhZGp1c3RlZCBkeW5hbWljYWxseSBhY2NvcmRpbmcgdG8gdGhlIHNpemUKCSAgb2Ygc2Nhbm5lZCBkYXRhLiBGaXhlcyBkZW11eGluZyBidWZmZXJzIG9mIGFueSBzaXplLgoKMjAwOS0wMi0yNSAyMTowNTo0MiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGdzdC9hdXRvY29udmVydC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5oOgoJICBhdXRvY29udmVydDogSW1wb3J0IGZzc2VsZWN0b3IgZnJvbSBnc3QtcGx1Z2lucy1mYXJzaWdodCBhcyBhdXRvY29udmVydAoJICBmc3NlbGVjdG9yIGlzIHRvbyBjbG9zZSB0byBzZWxlY3Rvciwgc28gaW1wb3J0IGlzIGFzIGF1dG9jb252ZXJ0LiBOb3QgaW1wb3J0aW5nCgkgIHRoZSBoaXN0b3J5IGJlY2F1c2UgdGhlIGRpcmVjdG9yeSBpcyBhbHNvIGNhbGxlZCBnc3Qvc2VsZWN0b3IgYW5kIGl0IGZhaWxzLgoKMjAwOS0wMy0wMiAxMDo1NzozNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogQmUgYSBiaXQgbW9yZSB2ZXJib3NlIGluIG91ciBkZWJ1ZyBtZXNzYWdlIHdoZW4gZmFpbGluZyB0byByZW5lZ290aWF0ZQoKMjAwOS0wMy0wMiAxNzowMDo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRtczEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkgIG14ZmRlbXV4OiBVc2UgYXJyYXlzIGluc3RlYWQgb2YgbGlzdHMgZm9yIHRoZSBtZXRhZGF0YSByZWdpc3RyaWVzCgoyMDA5LTAzLTAyIDE2OjI5OjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC94ZGdtaW1lL2dzdHhkZ21pbWUuYzoKCSAgeGRnbWltZTogUmVkdWNlIHByb2JhYmlsaXR5IHRvIFBPU1NJQkxFCgoyMDA5LTAzLTAyIDE2OjI3OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC94ZGdtaW1lL2dzdHhkZ21pbWUuYzoKCSAgeGRnbWltZTogQWRkIGxvY2tpbmcgdG8gdGhlIHhkZ19taW1lXyogY2FsbHMgYXMgaXQncyBub3QgdGhyZWFkLXNhZmUKCjIwMDktMDMtMDEgMjA6MTg6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lYWxpYXMuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lY2FjaGUuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lZ2xvYi5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVpY29uLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZXBhcmVudC5jOgoJICB4ZGdtaW1lOiBVc2UgZ19wYXR0ZXJuX21hdGNoX3NpbXBsZSgpIGluc3RlYWQgb2YgZm5tYXRjaCgpIGZvciBXaW4zMiBjb21wYXRpYmlsaXR5CgoyMDA5LTAzLTAxIDIwOjEzOjMxICswMTAwICBMUk4gPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lbWFnaWMuYzoKCSAgeGRnbWltZTogRml4IHVudXNlZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgoyMDA5LTAzLTAxIDIwOjEyOjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWNhY2hlLmM6CgkgIHhkZ21pbWU6IERvbid0IHdhcm4gaWYgd2UgaGF2ZSBubyBNTUFQIHN1cHBvcnQKCjIwMDktMDMtMDEgMjA6MTE6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lY2FjaGUuYzoKCSAgeGRnbWltZTogVXNlIGdfbnRvaFtsc10gaW5zdGVhZCBvZiB0aGUgbm9uLUdMaWIgZnVuY3Rpb25zIGZvciBXaW4zMiBjb21wYXRpYmlsaXR5CgoyMDA5LTAzLTAxIDIwOjA5OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZW1hZ2ljLmM6CgkgIHhkZ21pbWU6IFVzZSBHX0JZVEVfT1JERVIgaW5zdGVhZCBvZiByZWx5aW5nIG9uIExJVFRMRV9FTkRJQU4gdG8gYmUgZGVmaW5lZAoKMjAwOS0wMy0wMSAyMDowMjoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICBsYWRzcGE6IERvbid0IGNvbXBpbGUgdW51c2VkIGNvZGUgZnJvbSBsb2FkLmMKCjIwMDktMDItMjggMjM6NDc6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3JlYWwvZ3N0cmVhbC5jOgoJICByZWFsZGVjOiB1c2UgZ3N0X3BsdWdpbl9hZGRfZGVwZW5kZW5jeSgpCgoyMDA5LTAyLTI4IDE1OjIzOjA3IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc3luY3dvcmQuKG5vbmUpPgoKCSogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSAgYWNtZW5jOiBmaXggd2hpdGVzcGFjZQoJICBDb252ZXJ0IHRvIHVuaXggbmV3bGluZXMsIGFuZCByZWluZGVudCBpbiBzb21lIGJyb2tlbiBwbGFjZXMuCgoyMDA5LTAyLTI4IDIwOjQyOjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmOiBGaXggbWVtb3J5IGxlYWsKCSAgZ3N0X3N0cnVjdHVyZV9pZF9zZXQoKSB3aWxsIGNvcHkgR3N0U3RydWN0dXJlcyBpbnN0ZWFkIG9mIHRha2luZwoJICB0aGUgb3duZXJzaGlwLgoKMjAwOS0wMi0yOCAyMDozOTo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZkbXMxLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmOiBTdG9yZSB0aGUgbWV0YWRhdGEgdHlwZSBJRCBpbnNpZGUgdGhlIGNsYXNzIHN0cnVjdHVyZQoKMjAwOS0wMi0yOCAxOTo0MToxMCArMDEwMCAgdmFuaXN0YSA8dmFuaXN0YUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHNlY3Rpb25maWx0ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IEZpeCBtZW1vcnkgbGVha3Mgd2hlbiBQVVNJIGlzIG1pc3NlZCBkdWUgdG8gcGFja2V0IGxvc3MKCSAgRml4ZXMgYnVnICM1NzMyODguCgoyMDA5LTAyLTI4IDExOjQzOjU2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L25zZi9mbW9wbC5jOgoJICBuc2Y6IERvbid0IHdyaXRlIGZ1cnRoZXIgdGhhbiB0aGUgbGltaXRzIG9mIHRoZSB0YWJsZSAoc2l6ZSBpcyA3NSwgYXMgZGVmaW5lZCBpbiB0aGUgaGVhZGVyKQoJICBnY2MgNC4zLjMgZm91bmQgdGhpcyBvbmUsIEknbSBpbXByZXNzZWQuCgoyMDA5LTAyLTI4IDEwOjI5OjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSAgbXhmOiBEb24ndCB1c2UgR0xpYiAyLjE2IEFQSSB1bmNvbmRpdGlvbmFsbHkgaW4gdGhlIGV4YW1wbGUKCjIwMDktMDItMjcgMjA6NDM6MjUgKzAxMDAgIEFuZHJ6ZWogUG9sYXR5xYRza2kgPGFwb2xhdHluc2tpQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSAgdmlkZW9hbmFseXNlOiBGaXggYnJpZ2h0bmVzcyBjYWxjdWxhdGlvbiB0byBub3Qgb25seSB1c2UgdGhlIGZpcnN0IHJvd3N0cmlkZQoJICBGaXhlcyBidWcgIzU3MzM5MS4KCjIwMDktMDItMjcgMTE6MzY6NTggLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBVc2UgY29ycmVjdCB2YWx1ZXMgZm9yIGNoZWNraW5nIFZPIHN0YXJ0Y29kZS4KCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcgZHVlIHRvIGNvbmRpdGlvbiBhbHdheXMgYmVpbmcgdHJ1ZSAtIHNpbmNlIHdlJ3JlCgkgIG9ubHkgbG9va2luZyBhdCB0aGUgZmluYWwgYnl0ZSBvZiB0aGUgc3RhcnRjb2RlIChub3QgdGhlIGxlYWRpbmcKCSAgMHgwMDAwMDEpLCBvbmx5IGNoZWNrIGZvciA8IDB4MWYsIG5vdCA8IDB4MTFmCgoyMDA5LTAyLTI3IDIwOjIxOjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC94ZGdtaW1lL2dzdHhkZ21pbWUuYzoKCSAgeGRnbWltZTogVXNlIGVtcHR5IGNhcHMgZm9yIHJlZ2lzdGVyaW5nIHRoZSB0eXBlZmluZGVycyB3aXRoIG9sZCBjb3JlIHZlcnNpb25zCgkgIGNvcmUgYmVmb3JlIDAuMTAuMjIuMSBwcm9kdWNlZCBhc3NlcnRpb25zIHdoZW4gc3RvcmluZyB0eXBlZmluZCBmYWN0b3JpZXMKCSAgd2l0aCBOVUxMIGNhcHMgaW4gdGhlIHJlZ2lzdHJ5LgoKMjAwOS0wMi0yNiAxNTo0MDoyNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogaGFuZGxlIG1vcmUgZm9ybWF0cwoJICBXZSBvbmx5IG5lZWQgYSBWaWRlbyBPYmplY3QgU3RhcnQgY29kZSBiZWZvcmUgd2UgY2FuIHN0YXJ0IHB1c2hpbmcgb3V0IGRhdGEuCgkgIFNlYXJjaCBmb3IgdGhpcyBjb2RlIGFsc28gaW5zdGVhZCBvZiBvbmx5IGxvb2tpbmcgZm9yIFZPUyBhbmQgVk9QLgoJICBGaXhlcyAjNTcyNTUxLgoKMjAwOS0wMi0yNyAxMjowMzoyMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSAgTWVyZ2UgYnJhbmNoICd3b3JrJwoKMjAwOS0wMi0yNyAxMTo1Njo0NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZG9jcy9wbHVnaW5zLy5naXRpZ25vcmU6CgkgIGRvY3M6IElnbm9yZSBzb21lIG1vcmUgZ2VuZXJhdGVkIGZpbGVzCgoyMDA5LTAyLTI3IDExOjU1OjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuaDoKCSAgY2VsdGRlYzogTW92ZSBkZWZpbmUgaW50byB0aGUgQyBmaWxlIHNvIGl0IGRvZXNuJ3Qgc2hvdyB1cCBpbiB0aGUgZG9jcwoKMjAwOS0wMi0yNyAxMTo1NDo0MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSAgZG9jczogRW5yb2xsIGRpcmFjIHBsdWdpbiBpbnRvIHRoZSBkb2NzCgoyMDA5LTAyLTI3IDExOjM5OjU2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0c2RlYzogQWRkIHNvbWUgYmFzaWMgZG9jcyB0byB0aGUgcGx1Z2luCgoyMDA5LTAyLTI3IDEwOjE2OjU3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHJhb3AuYzoKCSAgYXBleHNpbms6IFVzZSBhIHVuaW9uIHRvIGF2b2lkIHR5cGUtcHVubmluZyBzdHJpY3QgYWxpYXNpbmcgY29tcGlsZXIgd2FybmluZy4KCjIwMDktMDItMjcgMTI6MzU6MTQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogcmV3b3JrIHNpZ25hbGluZyBhbmQgdGVzdHMKCSAgUmV2ZXJ0IHRoZSBHU3RyaW5nIGNoYW5nZS4gVGhlcmUgYXJlIG5vIG1hcnNoYWxsZXJzIGZvciBpdC4gQSBiZXR0ZXIgY2hhbmdlIGlzCgkgIG5vdyBkZXNjcmliZWQgaW4gaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTczMzcwLgoJICBUZXN0IHNob3VsZCB3b3JrIGFnYWluLgoKMjAwOS0wMi0yNyAxMToyNDozNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmV2ZXJ0IGxhc3QgY2hhbmdlIGFuZCBwcm9wZXJseSBmaXgKCSAgQmFzZXBhcnNlIGludGVybmFseSBicmVha3MgdGhlIHNlbWFudGljcyBvZiBhIF9jaGFpbiBmdW5jdGlvbiBieSBjYWxsaW5nIGl0IHdpdGgKCSAgYnVmZmVyPT1OVUxMLiBUaGUgcmVzb24gSSBiZWxpdmVkIGl0IHdhcyBva2F5IHRvIHJlbW92ZSBpdCB3YXMgdGhhdCB0aGVyZSBpcwoJICBhbHNvIGFuIHVuY2hlY2tlZCBhY2Nlc3MgdG8gYnVmZmVyIGxhdGVyIGluIF9jaGFpbi4gQWN0dWFsbHkgdGhhdCBjb2RlIGlzIHdyb25nLAoJICBhcyBpdCBtb3N0IHByb2JhYmx5IHdhbnRzIHRvIHNldCBkaXNjb250IG9uIHRoZSBvdXRnb2luZyBidWZmZXIuCgoyMDA5LTAyLTI3IDExOjA2OjA0ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL3F0d3JhcHBlci9xdHV0aWxzLmM6CgkgIHF0d3JhcHBlcjogT25seSB1c2UgX2R1bXBfbWVtKCkgaWYgcmVxdWVzdGVkLgoKMjAwOS0wMi0yNiAxMjo0ODoxNiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICBBZGQgdjIxMCBmb3JtYXQKCjIwMDktMDItMjYgMTI6NDc6MTYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgRml4IGluY29ycmVjdCAicGl4ZWxfYXNwZWN0X3JhdGlvIiBpbiBjYXBzCgkgIFNob3VsZCBiZSAicGl4ZWwtYXNwZWN0LXJhdGlvIi4KCjIwMDktMDItMjYgMTg6NDY6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvbXhmL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkgIG14ZjogQWRkIGV4YW1wbGUgYXBwbGljYXRpb24gdG8gb3V0cHV0IHRoZSBzdHJ1Y3R1cmFsIG1ldGFkYXRhIHRyZWUgaW50byBhIEd0a1RyZWVWaWV3CgoyMDA5LTAyLTI2IDEzOjEwOjI5ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIGdzdHJ0cGJpbjogRG9uJ3QgZm9yd2FyZCByZXZjIGV2ZW50cyB0byBzZW5kZXIKCSAgRG9uJ3Qgc2VuZCBldmVudHMgZnJvbSB0aGUgcmVjZWl2ZXIgdG8gdGhlIHNlbmRlciBzaWRlLgoJICBGaXhlcyAjNTcyOTAwLgoKMjAwOS0wMi0yNiAxMTowMjowNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVtb3ZlIGNoZWNrcyBmb3IgYnVmZmVyPT1OVUxMCgkgIEFjY29yZGlmbiB0byBkb2NzIGZvciBHc3RQYWRDaGFpbkZ1bmN0aW9uIGJ1ZmZlciBjYW5ub3QgYmUgTlVMTC4gSWYgd2Ugd291bGQKCSAgbGVhdmUgdGhlIGNoZWNrLCB3ZSB3b3VsZCBhbHNvIG5lZWQgbW9yZSBzdWNoIGNoZWNrIGJlbG93LgoKMjAwOS0wMi0yNSAxNTowNjowNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1aWxkOiBVcGRhdGUgc2hhdmUgaW5pdCBzdGF0ZW1lbnQgZm9yIGNoYW5nZXMgaW4gY29tbW9uLiBCdW1wIGNvbW1vbi4KCjIwMDktMDItMjUgMTU6MjQ6MTMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL25lb25odHRwc3JjLmM6CgkgIHRlc3RzOiBhZGQgYSB0aW1lb3V0IG9mIDUgc2xpZ2h0bHkgYWJvdmUgdGhlIGRlZmF1bHQKCjIwMDktMDItMjUgMTU6MTc6MTQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGluY3JlYXNlIHRpbWVvdXQgYW5kIGxvd2VyIHZpZGVvIHJlY29yZGluZyBsZW5ndGgKCSAgVGhlIHZpZGVvIHdhcyByZWNvcmRlZCBmb3IgdG9vIGxvbmcgZm9yIHRoZSB0ZXN0IHRpbWVvdXRzLiBBbHNvIHRoZSB2ZXJpZmljYXRpb24KCSAgc3VpdGUgZGlkIG5vdCBoYWQgY3VzdG9tIHRpbW91dHMgYXQgYWxsLiBBbHNvIHNwbGl0IHRoZSB2ZXJpZmljYXRpb24gZm9yIGltYWdlcwoJICBhbmQgdmlkZW8gdG8gZ2V0IGJldHRlciByZXBvcnRpbmcuCgoyMDA5LTAyLTI1IDExOjMyOjIyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDljZjhjOWIgdG8gYTZjZTVjNgoKMjAwOS0wMi0yNSAxMjozNDozMyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBibGFja2xpc3QgZGNjcCBwbHVnaW5zLgoJICBVbmxlc3Mgb25lIHJ1bnMgYSB2ZXJ5IHJlY2VudCBrZXJuZWwsIHRoZXkgY2FuIGVhc2lseSBsb2NrdXAgdGhlIHdob2xlIHN5c3RlbS4KCjIwMDktMDItMjUgMTE6NDU6MDUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgZG9jczogdmFyaW91cyBkb2MgZml4ZXMKCSAgTm8gc2hvcnQtZGVzYyBhcyB3ZSBoYXZlIHRoZW0gaW4gdGhlIGVsZW1lbnQgZGV0YWlscy4KCSAgQWxzbyBrZWVwIHRoaW5ncyAoTWFrZWZpbGUuYW0gYW5kIHNlY3Rpb25zLnR4dCkgc29ydGVkLgoJICBSZXdvcmQgYW1iaWdvdXMgcmV0dXJucy4gTm8gdGV4dCBhZnRlciBzaW5jZSBwbGVhc2UuCgoyMDA5LTAyLTI1IDExOjM0OjQ1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBkb24ndCBpZ25vcmUgR3N0Rmxvd1JldHVybiB2YWx1ZXMKCSAgZG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2YgcHVsbF9yYW5nZSBiZWNhdXNlIHdlIG9ubHkgZ2V0IGEgdmFsaWQgbm9uLU5VTEwKCSAgYnVmZmVyIHdoZW4gdGhlIHJldHVybiB2YWx1ZSBpcyBHU1RfRkxPV19PSy4gQXZvaWRzIGEgY3Jhc2ggd2hlbiB0aGUgcGlwZWxpbmUgaXMKCSAgc2h1dHRpbmcgZG93bi4KCjIwMDktMDItMjUgMTE6NDE6MzYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiB1cGRhdGUgc2lnbmFsIG1hcnNoYWxsZXIgYW5kIGRvY3MKCSAgVXNlIEdTdHJpbmcgaW5zdGVhZCBvZiBHUG9pbnRlciBmb3IgdGhlIG1hcnNoYWxsZXIgYXMgdGhpcyBpcyB3aGF0IHRoZSBjYWxsYmFjayB1c2VzLgoJICBTbGlnaHRseSByZWZvcm1hdCBkb2NzLgoKMjAwOS0wMi0yNSAxMTozODo1OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9maWd1cmVzL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZmlndXJlcy9jYW1lcmFiaW4uZG90OgoJKiBkb2NzL3BsdWdpbnMvZmlndXJlcy9jYW1lcmFiaW4ucG5nOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZTIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aW1pZGl0eS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHdvbGFtZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBkb2NzOiB1cGRhdGUgZG9jcyB0byBhZGQgY2FtZXJhYmluIGFuZCBpdHMgZmlndXJlCgoyMDA5LTAyLTI1IDExOjAwOjU1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBnZXQgcmlkIG9mIC8vIGNvbW1lbnQgYW5kIGV4cGxhaW4KCjIwMDktMDItMjUgMTA6NDY6MTAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHVwZGF0ZSBjaGVjayB1bml0IHRlc3QKCSAgVXNlIHBsYXliaW4yIGZvciB2YWxpZGF0aW9uLiBVc2UgdG1wX2RpciBmb3IgY2FwdHVyaW5nLiBXYWl0IHdpdGggZ19jb25kIGZvcgoJICBidXJzdCBjYXB0dXJlIGZpbmlzaC4gQ2xlYW51cCBzb21lIGdfb2JqZWN0X3NldC4gQWRkIHNvbWUgbG9nZ2luZyB0byBlYXNlCgkgIHRyYWNpbmcuCgoyMDA5LTAyLTI1IDEwOjQ1OjE5ICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHVuYmxvY2sgY29ycmVjdCBwYWQgaW4gcmVzZXQsIHN1cHBvcnQgZmFrZXNpbmsgYXMgdmlldyBmaW5kZXIKCjIwMDktMDItMjQgMTY6MzY6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvYXBwLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvYXBwL2FwcHNpbmstc3JjLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9hcHBzcmMtcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvYXBwL2FwcHNyYy1zZWVrYWJsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbTIuYzoKCSogdGVzdHMvZXhhbXBsZXMvYXBwL2FwcHNyY19leC5jOgoJICBSZW1vdmUgdGVzdHMvZXhhbXBsZXMvYXBwIGFzIGl0IHdhcyBtb3ZlZCB0byAtYmFzZSBhIGxvbmcgdGltZSBhZ28KCjIwMDktMDItMjQgMTY6MzM6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL2FwcC8uZ2l0aWdub3JlOgoJKiBleGFtcGxlcy9hcHAvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL2FwcC9hcHBzaW5rLXNyYy5jOgoJKiBleGFtcGxlcy9hcHAvYXBwc3JjLXJhLmM6CgkqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc2Vla2FibGUuYzoKCSogZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0uYzoKCSogZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0yLmM6CgkqIGV4YW1wbGVzL2FwcC9hcHBzcmNfZXguYzoKCSogZXhhbXBsZXMvY2Fwc2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvY2Fwc2ZpbHRlci9jYXBzZmlsdGVyMS5jOgoJKiBleGFtcGxlcy9kaXJlY3RmYi8uZ2l0aWdub3JlOgoJKiBleGFtcGxlcy9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvZGlyZWN0ZmIvZGVja2VyLnR0ZjoKCSogZXhhbXBsZXMvZGlyZWN0ZmIvZGZibG9nby5wbmc6CgkqIGV4YW1wbGVzL2RpcmVjdGZiL2dzdGRmYi5jOgoJKiBleGFtcGxlcy9nb2IvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL2dvYi9nc3QtaWRlbnRpdHkyLmdvYjoKCSogZXhhbXBsZXMvZ3N0cGxheS8uZ2l0aWdub3JlOgoJKiBleGFtcGxlcy9nc3RwbGF5L01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9nc3RwbGF5L3BsYXllci5jOgoJKiBleGFtcGxlcy9pbmRleGluZy8uZ2l0aWdub3JlOgoJKiBleGFtcGxlcy9pbmRleGluZy9NYWtlZmlsZS5hbToKCSogZXhhbXBsZXMvaW5kZXhpbmcvaW5kZXhtcGVnLmM6CgkqIGV4YW1wbGVzL2xldmVsL01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9sZXZlbC9SRUFETUU6CgkqIGV4YW1wbGVzL2xldmVsL2RlbW8uYzoKCSogZXhhbXBsZXMvbGV2ZWwvcGxvdC5jOgoJKiBleGFtcGxlcy9zY2FsZXRlbXBvLy5naXRpZ25vcmU6CgkqIGV4YW1wbGVzL3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzoKCSogZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5oOgoJKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tbWFpbi5jOgoJKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmM6CgkqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1wbGF5ZXIuaDoKCSogZXhhbXBsZXMvc3RhdHMvTWFrZWZpbGUuYW06CgkqIGV4YW1wbGVzL3N0YXRzL21wMm9nZy5jOgoJKiBleGFtcGxlcy9zd2l0Y2gvLmdpdGlnbm9yZToKCSogZXhhbXBsZXMvc3dpdGNoL01ha2VmaWxlLmFtOgoJKiBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYzoKCSogdGVzdHMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvYXBwL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvYXBwc2luay1zcmMuYzoKCSogdGVzdHMvZXhhbXBsZXMvYXBwL2FwcHNyYy1yYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvYXBwc3JjLXNlZWthYmxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvYXBwc3JjX2V4LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhcHNmaWx0ZXIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhcHNmaWx0ZXIvY2Fwc2ZpbHRlcjEuYzoKCSogdGVzdHMvZXhhbXBsZXMvZGlyZWN0ZmIvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2RpcmVjdGZiL2RlY2tlci50dGY6CgkqIHRlc3RzL2V4YW1wbGVzL2RpcmVjdGZiL2RmYmxvZ28ucG5nOgoJKiB0ZXN0cy9leGFtcGxlcy9kaXJlY3RmYi9nc3RkZmIuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ29iL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nb2IvZ3N0LWlkZW50aXR5Mi5nb2I6CgkqIHRlc3RzL2V4YW1wbGVzL2dzdHBsYXkvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ3N0cGxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ3N0cGxheS9wbGF5ZXIuYzoKCSogdGVzdHMvZXhhbXBsZXMvaW5kZXhpbmcvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvaW5kZXhpbmcvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2luZGV4aW5nL2luZGV4bXBlZy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvUkVBRE1FOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9kZW1vLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL3Bsb3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuaDoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLW1haW4uYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLXBsYXllci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmg6CgkqIHRlc3RzL2V4YW1wbGVzL3N0YXRzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zdGF0cy9tcDJvZ2cuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3dpdGNoLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL3N3aXRjaC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6CgkgIE1vdmUgZXhhbXBsZXMgZGlyZWN0b3J5IHRvIHRlc3RzL2V4YW1wbGVzIGFzIGluIGV2ZXJ5IG90aGVyIEdTdHJlYW1lciBtb2R1bGUKCjIwMDktMDItMjQgMTY6MjE6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5oOgoJICBkdHNkZWM6IFVzZSBuZXcgRENBIGZ1bmN0aW9ucy9jb25zdGFudHMgYXMgbm90IGFsbCBkaXN0cm9zIHBhY2thZ2UgdGhlIGNvbXBhdCBkdHMuaAoJICBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3ZSBkZWZpbmUgdGhlIERDQSBmdW5jdGlvbnMvY29uc3RhbnRzIHRvIHRoZQoJICBvbGQgRFRTIGZ1bmN0aW9ucy9jb25zdGFudHMgaWYgd2UncmUgYnVpbGRpbmcgYWdhaW5zdCBsaWJkdHMuCgoyMDA5LTAyLTI0IDE1OjI2OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3hkZ21pbWUvTWFrZWZpbGUuYW06CgkqIGdzdC94ZGdtaW1lL2dzdHhkZ21pbWUuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZS5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVhbGlhcy5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVhbGlhcy5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVjYWNoZS5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVjYWNoZS5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVnbG9iLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWdsb2IuaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1laWNvbi5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVpY29uLmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWludC5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVpbnQuaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lbWFnaWMuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lbWFnaWMuaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lcGFyZW50LmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZXBhcmVudC5oOgoJICB4ZGdtaW1lOiBBZGQgbmV3IHR5cGVmaW5kZXIgYmFzZWQgb24geGRnbWltZQoJICBUaGlzIHR5cGVmaW5kZXIgaXMgbW9zdGx5IHVzZWZ1bCB0byBmaWx0ZXIgb3V0IGFueSBmYWxzZSBwb3NpdGl2ZXMKCSAgYnkgdGhlIG90aGVyIHR5cGVmaW5kZXJzIGxpa2UgdGhlIHVzdWFsIFdvcmQgZG9jdW1lbnQgbWlzZGV0ZWN0ZWQgYXMKCSAgTVAzIGZpbGUuCgoyMDA5LTAyLTI0IDEzOjM3OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZHRzOiBQcmVmZXIgbGliZGNhIG92ZXIgbGliZHRzIGFzIGl0J3MgdGhlIHN1Y2Nlc3NvcgoKMjAwOS0wMi0yMyAxNjowMjowOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJICBxdHdyYXBwZXI6IEZpeCBidWlsZCBvbiBtYWNvc3gKCjIwMDktMDItMjMgMTU6MjU6MDMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IEZpeCBidWlsZCBvbiBtYWNvc3gKCjIwMDktMDItMjAgMTI6MDg6MDQgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogQWRkIGFzcGVjdCByYXRpbyBjYXBzZmlsdGVyIGZvciB2aWV3IGZpbmRlcgoJICBJZiBkZWFsaW5nIHdpdGggbGFyZ2VyIGZyYW1lIHNpemVzIHRoYW4gdmlldyBmaW5kZXIgc2luayBlbGVtZW50CgkgIGFjY2VwdHMgdGhlbiBtYWludGFpbiBhc3BlY3QgcmF0aW8gd2hlbiBzY2FsaW5nIGZyYW1lcyB0byBmaXQuCgoyMDA5LTAyLTIwIDEyOjA3OjMzICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFNjYWxlIGluY29taW5nIGZyYW1lcyBpZiB0aGVpciBzaXplIGRvZXMgbm90IG1hdGNoIHJlcXVlc3RlZCBzaXplCgkgIElmIGNhcHR1cmUgcHJlcGFyYXRpb24gaW4gdmlkZW9zcmMgcmVzdWx0cyBpbiBmcmFtZSBzaXplIGRpZmZlcmVudAoJICBmcm9tIHJlcXVlc3RlZCBzaXplLCB0aGVuIHdlIG5lZWQgdG8gc2NhbGUgdGhlbS4KCjIwMDktMDItMjAgMTI6MDM6MDMgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIHBob3RvIGlmYWNlOiBBZGQgY2FwcyBvYmplY3QgdG8gcHJlcGFyYXRpb24gQVBJIGZvciByZXF1ZXN0ZWQgYW5kIGFjdHVhbCBjYXB0dXJlIGZvcm1hdAoJICBBbGxvdyByZXF1ZXN0aW5nIG9mIGNlcnRhaW4gZm9ybWF0IHdpdGggcHJlcGFyZV9mb3JfY2FwdHVyZSgpIGFuZCByZXR1cm4KCSAgdGhlIGFjdHVhbCBmb3JtYXQgaW4gR3N0UGhvdG9DYXB0dXJlUHJlcGFyZWQgY2FsbGJhY2suCgoyMDA5LTAyLTIzIDExOjQ5OjA3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1aWxkOiBBZGQgc291bmR0b3VjaCdzIC1sQlBNIHRvIF9MSUJTLCBub3QgX0NGTEFHUwoKMjAwOS0wMi0yMiAyMjowMDo1OCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkgIGRjY3A6IEZpeCAibm9uLXZvaWQgd2l0aG91dCByZXR1cm4gdmFsdWUiIGNvbXBpbGF0aW9uIGlzc3VlLgoKMjAwOS0wMi0yMiAxOToxNzozMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJICBEZXRlY3QgbGlic291bmR0b3VjaCAxLjQgYW5kIGhpZ2hlci4KCSAgSW4gbGlic291bmR0b3VjaCAxLjQsIGxpYkJQTSBhcHBlYXJzIHRvIGhhdmUgYmVlbiBzdWJzdW1lZCBpbnRvCgkgIGxpYlNvdW5kVG91Y2gsIGFuZCBpbnRvIHRoZSBzb3VuZHRvdWNoIG5hbWVzcGFjZS4KCjIwMDktMDItMjIgMTg6MTI6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBVc2Ugc2hhdmUgZm9yIHRoZSBidWlsZCBvdXRwdXQKCjIwMDktMDItMjIgMTg6NDE6MDggKzAxMDAgIEFuZG9uaSBNb3JhbGVzIDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRml4IGNvbXBpbGF0aW9uIG9uIFdpbmRvd3Mgd2l0aCBWaXN1YWwgU3R1ZGlvCgkgIFdpbmRvd3MgZG9lc24ndCBoYXZlIHN0cmNhc2VjbXAgc28gd2Ugc2hvdWxkIHVzZQoJICBnX2FzY2lpX3N0cmNhc2VjbXAgaGVyZSBpbnN0ZWFkLgoJICBBbHNvIFdpbmRvd3MgZG9lc24ndCBoYXZlIHN5cy90aW1lLmggc28gd2UgZmlyc3QKCSAgbmVlZCB0byBjaGVjayBpZiBpdCBhY3R1YWxseSBleGlzdHMgYW5kIGlmIG5vdAoJICB3ZSBzaG91bGQgbm90IGluY2x1ZGUgaXQuCgkgIEZpeGVzIGJ1ZyAjNTcyMzE1LgoKMjAwOS0wMi0yMiAxNTo1ODowNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1ZDdjOWNjIHRvIDljZjhjOWIKCjIwMDktMDItMjIgMTQ6NTg6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICBkZmJ2aWRlb3Npbms6IERvbid0IHVzZSB2b2lkICogcG9pbnRlciBhcml0aG1ldGljCgoyMDA5LTAyLTIyIDEzOjE3OjU0ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3h2aWQvZ3N0eHZpZC5jOgoJICB4dmlkOiBGaXggY29tcGlsYXRpb24gd2FybmluZwoKMjAwOS0wMi0yMSAxMToxMzo1MCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDgwYzYyN2QgdG8gNWQ3YzljYwoKMjAwOS0wMi0xMCAxNzowMjoyNCArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGdzdC9ydHBtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eGVyLmM6CgkgIE1vdmVkIHJ0cG11eCBmcm9tIGdzdC1wLWZhcnNpZ2h0IHRvIC1iYWQKCjIwMDktMDItMjAgMTc6NDU6NTAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5oOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eGVyLmM6CgkgIFJlLWluZGVudCB0byBHc3Qgc3R5bGUKCjIwMDktMDItMTAgMTk6MTE6MTUgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBEb2N1bWVudCBydHAgbXV4ZXIgYSBiaXQKCjIwMDktMDItMjAgMTM6MzA6NDkgLTA1MDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZUB5YWhvby5mcj4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBzaWduYWxzIGJlZm9yZSBzdHJlYW0gbG9jayBhbmQgYWZ0ZXIgdW5sb2NraW5nCgoyMDA5LTAyLTE4IDIwOjE4OjQ2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTGV0IHNzcmMgdGhyb3VnaCBnZXRjYXBzCgoyMDA5LTAyLTE4IDE5OjU4OjU4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVuYW1lIGhhdmVfYmFzZSB0byBoYXZlX3RzX2Jhc2UKCjIwMDktMDItMTggMTg6MTQ6NTIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQcm90ZWN0IHRoZSBzZXFudW0gd2l0aCBvYmplY3QgbG9jayBpbiBydHBtdXgKCjIwMDktMDItMTggMTg6MDc6NDQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgdW51c2VkIHNpbmtfdHNfYmFzZQoKMjAwOS0wMi0xOCAxNToyMDo1OCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEhhdmUgZ2V0Y2FwcyB0byBmb3JjZSB0aGUgc2FtZSBjbG9ja3JhdGUgb24gYWxsIHBhZHMKCjIwMDktMDItMTggMTc6MDU6MTMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBWYWxpZGF0ZSBSVFAgZGF0YSBpbiBSVFAgTXV4CgoyMDA5LTAyLTE4IDE0OjE2OjAwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIHVudXNlZCBjbG9jay1yYXRlIHByb3BlcnR5CgoyMDA5LTAyLTE4IDEzOjU2OjM2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENsYXJpZnkgbG9ja2luZyBpbiBydHBkdG1mbXV4CgoyMDA5LTAyLTE4IDEzOjMyOjU2IC0wNTAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWlzc2luZyBmb3JtYXQgcGFyYW1ldGVyCgoyMDA4LTEyLTExIDE3OjU0OjE4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4Ly5naXQtZGFyY3MtZGlyOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIC5naXQtZGFyY3MtZGlyIGZpbGVzCgoyMDA4LTEyLTAxIDE3OjU1OjIyIC0wNTAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVwZGF0ZSBzZXFudW0gYmFzZSBpbiBydHAgbXV4ZXIKCSAgV2l0aCBoZWxwIGZyb20gV2ltCgoyMDA4LTEyLTAxIDE3OjU0OjU4IC0wNTAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggc29tZSBtb3JlIGxlYWtzCgoyMDA4LTEyLTAxIDE3OjQ4OjI5IC0wNTAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggbGVhawoKMjAwOC0wOS0yOSAxNTowMzowNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIERvbid0IHVucmVmIGNhcHMgd2UgZG9uJ3Qga25vdyAodGhhbmtzIFdpbSkKCjIwMDgtMDgtMTIgMTI6NDg6MDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQdXQgcGVyLWJ1ZmZlciBkZWJ1ZyBhdCBsZXZlbCBMT0cKCjIwMDgtMDgtMTIgMTI6NDc6MTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIGRlYnVnIHByaW50IGFjY3VyYXRlCgoyMDA4LTA4LTEyIDEyOjQ2OjIzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2V0IG91ciBjYXBzIG9uIHRoZSBidWZmZXJzCgoyMDA4LTA4LTEyIDEyOjQ2OjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVGFrZSB0aGUgY2xvY2stYmFzZSBzdG9yZWQgZnJvbSB0aGUgbGFzdCBzZXRjYXBzCgoyMDA4LTA4LTEyIDEyOjQxOjU5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU3RvcmUgdGhlIGNsb2NrLWJhc2Ugb24gc2V0Y2FwcwoKMjAwOC0wOC0xMiAxMjozMDo1MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBwYWRwcml2YXRlIHRvIHRoZSByZXF1ZXN0IHBhZHMKCjIwMDgtMDgtMTIgMTI6MjM6MzIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIHdoaXRlc3BhY2UgaW4gZ3N0cnRwbXV4CgoyMDA4LTA4LTExIDIxOjIwOjA2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBpbmRlbnRhdGlvbiBtb3JlIGNvcnJlY3QKCjIwMDgtMDgtMTEgMjE6MDU6MzQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggdHlwbwoKMjAwOC0wOC0xMSAyMTowMzoyMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNldCBzZXFudW0tYmFzZSBhbmQgY2xvY2stYmFzZSBpbiBjYXBzIGZyb20gcnRwbXV4ZXIKCjIwMDctMDgtMTUgMTM6NTA6MzggKzAwMDAgIFplZXNoYW4gQWxpIDxmaXJzdC5sYXN0QG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gbW9yZSBkZWJ1ZwoJICAyMDA3MDgxNTEzNTAzOC1mM2YxZS05YzdhNTQ5MGE1MjVjNmU4NzUzY2IxYjhjMDMzNTRkZjk5MTMyYjVjLmd6CgoyMDA3LTA4LTIzIDIxOjIyOjI1ICswMDAwICBwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWsgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTeW5jIGppdHRlcmJ1ZmZlciB3aXRoIENWUyAtYmFkCgkgIDIwMDcwODIzMjEyMjI1LTI0MjViLTBmZTY5YmY3MjUzOTY3OGRkYTQ1ZDYxNWEwOWYxY2JmNTAyY2M3MWEuZ3oKCjIwMDctMDgtMjAgMTg6NTA6MzIgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gbWlzc2luZyBjb21tZW50CgkgIDIwMDcwODIwMTg1MDMyLTRmMGY2LTBhYjY3YjZhYzQwZGQ0ZTM1YThmZTUzZjNjYjZkYWZmNjVjZTQzYjkuZ3oKCjIwMDctMDctMTIgMTk6NTM6MzYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgYnVmZmVyIHdyaXRhYmxlIGJlZm9yZSB3cml0aW5nIGludG8gaXQKCSAgMjAwNzA3MTIxOTUzMzYtM2UyZGMtOTFhNWZiNzk3Y2ZhNDkxOWQ0ZTJmOWE3MjhjNmQ2ZmJkM2I4M2Q5My5negoKMjAwNy0wNy0wNiAyMDoyNDo1OSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2V0IHBhZHMgYWN0aXZlIHdoZW4gYWRkaW5nIHRoZW0gdG8gYSBwb3RlbnRpYWxseSBydW5uaW5nIGVsZW1lbnQKCSAgMjAwNzA3MDYyMDI0NTktM2UyZGMtYTM3MzFmODg1NzI1NTk0ZGVmMGE3YmU5OTdmYzdiM2E3MzllZTk2Ny5negoKMjAwNy0wNi0wNyAxMjowMToyMSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IG11bHRpcGxlIHJlZiBsZWFrcyAocGF0Y2hlcyBieSBTUCBHTEUpCgkgIDIwMDcwNjA3MTIwMTIxLTNlMmRjLTA2MWU5ZWY3YTQ3YjFiODRmYThmODA5MmY0YjhiY2MwZTZkYjhjOGMuZ3oKCjIwMDctMDUtMjggMTU6MjU6MDUgKzAwMDAgIFplZXNoYW4gQWxpIDxmaXJzdC5sYXN0QG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBzZW5kIGV2ZW50IHRvIGFsbCBzcmMgcGFkcwoJICAyMDA3MDUyODE1MjUwNS1mM2YxZS0wMzkyMTZjNzNkYzkzZjY0YzQ5OTYyYzc3YTAyNTNjYjljZmVjNGQzLmd6CgoyMDA3LTA1LTI4IDEyOjM3OjQ5ICswMDAwICBaZWVzaGFuIEFsaSA8Zmlyc3QubGFzdEBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gcHJpbnQgYSB3YXJuaW5nIGlmIHJlY2VpdmUgYW4gZXJyb3IgaXRlcmF0aW5nIHNpbmtwYWRzCgkgIDIwMDcwNTI4MTIzNzQ5LWYzZjFlLTRjMWViM2Y1MTFiNTYxMDE0MzYxMGE2NWE5NGQxMTdmMmMzZDI1ODAuZ3oKCjIwMDctMDUtMjggMTI6Mjg6MDggKzAwMDAgIFplZXNoYW4gQWxpIDxmaXJzdC5sYXN0QG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBkZWFsIHdpdGggYWxsIHRoZSBnc3RfaXRlcmF0b3JfbmV4dCgpIHJldHVybiB2YWx1ZXMKCSAgMjAwNzA1MjgxMjI4MDgtZjNmMWUtZDMwMTY0NGMzYmU3NjMzZWM2ZGM1ZTI4NTk2ZTkzNDZkMmRhNmE1MC5negoKMjAwNy0wNS0yNSAxMjozMToxNiArMDAwMCAgWmVlc2hhbiBBbGkgPGZpcnN0Lmxhc3RAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJldHVybiBjb3JyZWN0IHZhbHVlIGZyb20gdGhlIGV2ZW50IGhhbmRsZXIKCSAgMjAwNzA1MjUxMjMxMTYtZjNmMWUtMTMxYjM3YjVmNDUyMTYxOGZlMmYxMzIwNDA5YTQ3ZTY1YjM1YWQyZC5negoKMjAwNy0wNS0yNSAxMDoyNzowOSArMDAwMCAgWmVlc2hhbiBBbGkgPGZpcnN0Lmxhc3RAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFZpbGxlJ3Mgb3JpZ2luYWwgcGF0Y2ggdG8gZml4IHRoZSB0cmF2ZXJzYWwgb2YgZHRtZiBldmVudAoJICAyMDA3MDUyNTEwMjcwOS1mM2YxZS02YzQxZDFlZjkzNDA2OGE0ZjRlODEwZTdlOTgxYjQyMDA3NWIwYzk4Lmd6CgoyMDA3LTAzLTI5IDEzOjUyOjUwICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTZXQgdGhlIGNvcnJlY3QgdHMtb2Zmc2V0IG9uIHRoZSBnZXRfcHJvcCB2YWx1ZQoJICAyMDA3MDMyOTEzNTI1MC02NTAzNS1hNDNlMjIyZDkxZDU3YzBhNjFjYjMyODc1ODZhYWEyOWFiZjc4Njc0Lmd6CgoyMDA3LTAzLTI5IDEzOjUyOjIzICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZWZhY3Rvcml6ZSBzdGF0ZV9jaGFuZ2UKCSAgMjAwNzAzMjkxMzUyMjMtNjUwMzUtMjNhMDEwN2IyZTM5NzcxMGYwMzVjNmU4OGNjMGU0OWI2NWJiNGQ1ZC5negoKMjAwNy0wMy0yOSAxMzozNjoyMiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gc2V0IFNTUkMgb24gdGhlIHBhY2tldHMKCSAgMjAwNzAzMjkxMzM2MjItNjUwMzUtMWJlNmUwYWE4NWE3MTM4OWY3ZDI1N2I5Y2QzZTEzYTczZDZiNzQ1Yi5negoKMjAwNy0wMy0yOSAxMzoxOTozNiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ29kZSBjbGVhbi11cCBhbmQgbW9yZSBkZWJ1ZyBvdXRwdXQKCSAgMjAwNzAzMjkxMzE5MzYtNjUwMzUtOWQ0OTllMjA5ZTBkN2E0MDljM2FhMGQxMDQwNzc4YmFiZjA3NjE3OS5negoKMjAwNy0wMy0yOCAxMToyMjoxOSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVXNlIG93biBjbG9jay1iYXNlCgkgIDIwMDcwMzI4MTEyMjE5LTY1MDM1LTFiYTVmZWZiYzY1MDU5ZTliMGM4NjA1MjhhMzEwNjJjZWI2YTczMzEuZ3oKCjIwMDctMDMtMjMgMTY6MzE6MzkgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE9ubHkgYWNjZXB0IFJUUCBzdHJlYW1zIHRoYXQgaGF2ZSB0aGUgc2FtZSBjbG9jay1yYXRlCgkgIDIwMDcwMzIzMTYzMTM5LTY1MDM1LWZjMGIxN2IwYjhhN2EwNDFmNDg5OTRjNGYyNmU5NjU2ODE2OGJmOTUuZ3oKCjIwMDctMDMtMjIgMTY6MTU6NTIgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTb21lIG1vcmUgY29kZS1jbGVhbnVwcwoJICAyMDA3MDMyMjE2MTU1Mi02NTAzNS1iZGE5NjE2NWUxNDZiNGYxZDVmZWExY2M5NTc2YTdhYjNhYmViYzllLmd6CgoyMDA3LTAzLTIyIDE1OjQyOjUxICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSByZXR1cm4gbmV3cGFkIGluc3RlYWQgb2YgTlVMTCBhbmQgd2FybiBpZiBmYWlsZWQgdG8gY3JlYXRlIGEgcGFkCgkgIDIwMDcwMzIyMTU0MjUxLTY1MDM1LWNkYjY2NTFlNjFjMmViMDIwNWNjOGMyNDY5M2I0M2Y5OGEyZGE3MTguZ3oKCjIwMDctMDMtMjIgMTI6NDE6MzIgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlZmFjdG9yaXplIHRoZSBSVFBNdXggY29kZQoJICAyMDA3MDMyMjEyNDEzMi02NTAzNS0wYTMyNzgxNDc1NDZlMzNmNjg3MDk3YTQzYjc3NWIzZjZhYTk5ZjkzLmd6CgoyMDA3LTAzLTIyIDEyOjE0OjUzICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU29tZSBtb3JlIGRvYyBmaXhpbmcKCSAgMjAwNzAzMjIxMjE0NTMtNjUwMzUtMTJkNjAyMjcyMjE3YjUxYmQ5N2RmNGU1NzkwMDI0YzM5OTYyMmRkMy5negoKMjAwNy0wMy0yMiAxMTozMjoyOCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1vcmUgUmVmYWN0b3JpbmcKCSAgMjAwNzAzMjIxMTMyMjgtNjUwMzUtYmFlMzRhNzk1OTllN2RlNTI5M2VkNzdiMDIyMzYxY2NmZjgyMmJiOS5negoKMjAwNy0wMy0yMiAxMTozMTo1NCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1vcmUgZG9jdW1lbnRhdGlvbgoJICAyMDA3MDMyMjExMzE1NC02NTAzNS02MjQ4NTA1NDFhNWI1ZmMzZGYyMzEyMDRiZTVhODNkMDcyMzlkYjI4Lmd6CgoyMDA3LTAzLTIxIDE2OjMzOjExICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVmYWN0b3IgdGhlIGV2ZW50IGhhbmRsZXIgZnVuY3Rpb24KCSAgMjAwNzAzMjExNjMzMTEtNjUwMzUtOTg3ZTdmMjVkMWFiNTMzNWI3OWY0NGIyNzdhYmYxNWU0ZTM3ZDMxNy5negoKMjAwNy0wMy0yMSAxNDo1Mjo0NCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4Lmg6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4ZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBSVFBEVE1GTXV4IGVsZW1lbnQKCSAgMjAwNzAzMjExNDUyNDQtNjUwMzUtOWEwMTM5MGIwZGVlMzM5OGU1MzE5OWExZmExZDkzNTIwMDRmMzM4ZS5negoKMjAwNy0wMy0yMSAxMjozMTo0OSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIERUTUYtc3BlY2lmaWMgY29kZSBmcm9tIFJUUCBtdXhlciBhbmQgbWFrZSBpdCBleHRlbmRhYmxlCgkgIDIwMDcwMzIxMTIzMTQ5LTY1MDM1LWI4YThmNTVmZjc4ZWVkOGNiYjAwNDJlODI3ODg1ZWRmYzU0MzgyNDIuZ3oKCjIwMDctMDMtMjAgMTI6MDU6MjQgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFB1dCBtb3JlIGhlbHBmdWwgZGVzY3JpcHRpb24KCSAgMjAwNzAzMjAxMjA1MjQtNjUwMzUtZGIyN2E3Y2Y2MzA3YjUxMWFlYjNkOTk2ZDI2ZTc5MGUzNjdhN2JhZC5negoKMjAwNy0wMy0xNiAxNToxNjo0MSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gcmVtb3ZlIHRoZSAoY29tbWVudGVkLW91dCkgY29kZSBmb3IgYmxvY2tpbmcgdGhlIHBhZHMKCSAgMjAwNzAzMTYxNTE2NDEtNjUwMzUtMDEyM2FmMzg3OTUxZjg4NTk0Nzk3YzcyMmU4ODJjZmU3MDI0MGFmZi5negoKMjAwNy0wMy0xNiAxMzoxNDo0NCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRHJvcCBidWZmZXJzIGluc3RlYWQgb2YgYmxvY2tpbmcgdGhlIHNpbmtwYWRzCgkgIDIwMDcwMzE2MTMxNDQ0LTY1MDM1LTljMTM0NWFkOTYxMDg4ODFmNDU1ZDRiNTVhN2Y2MjNjZDMwMmQwZWQuZ3oKCjIwMDctMDMtMTQgMTc6MTY6MTggKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEltcGxlbWVudCBzdHJlYW0gbG9ja2luZywgbmVlZGVkIGZvciBEVE1GCgkgIDIwMDcwMzE0MTcxNjE4LTY1MDM1LWU0ZDI0YjE2MDZjZTBhM2UyZTczOWYwMTgzM2Y2MWU0ZDc1NTVlYWMuZ3oKCjIwMDctMDMtMTQgMTA6MjA6NTggKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIHVzZSBHU1RfKl9PQkpFQ1QgaW5zdGVhZCBvZiBnXyoKCSAgMjAwNzAzMTQxMDIwNTgtNjUwMzUtZTI0NDI4ODhmMmUzZTVhM2E3NjU5YWQ3OTU0YTRmYmEzNDc0OWNlMi5negoKMjAwNy0wMy0xNCAxMDoxODo1NCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTm8gbmVlZCB0byBtYW5hZ2UgcGFkcywgcGFyZW50IGRvZXMgdGhhdCBmb3IgdXMKCSAgMjAwNzAzMTQxMDE4NTQtNjUwMzUtZWY1ZjRhYmRlMjI3MTAyYTExMjg4MzVhYjMyNTkwNWVhZTRjMzcyNi5negoKMjAwNy0wMy0xNCAwOTowMzo1OCArMDAwMCAgemVlbml4QGdtYWlsLmNvbSA8emVlbml4QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggY29weXJpZ2h0IGhlYWRlcgoJICAyMDA3MDMxNDA5MDM1OC1kMDE0YS0zYTZkM2VlZWFhZjVjYjhjYTNiY2E2YTMzZTk5YTU1MWY1OThiZDQ4Lmd6CgoyMDA3LTAzLTA3IDA4OjUzOjA3ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvLmdpdC1kYXJjcy1kaXI6CgkqIGdzdC9ydHBtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBUaGUgZmlyc3QgaW1wbGVtZW50YXRpb24gb2YgUlRQIG11eGVyCgkgIDIwMDcwMzA3MDg1MzA3LTY1MDM1LTgzMzQwMjQxM2Y5OWNiM2Y4YmU0ODgzZTkyYmFkNGM4NzIyNTEwYzkuZ3oKCjIwMDktMDItMjAgMTg6MTY6MDIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgRG9jdW1lbnQgcnRwZHRtZmRlcGF5IGEgYml0CgoyMDA5LTAyLTIwIDE3OjQxOjM3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkgIE1vdmVkIGR0bWYgZWxlbWVudHMgZnJvbSBnc3QtcGx1Z2lucy1mYXJzaWdodCB0byAtYmFkCgoyMDA5LTAyLTIwIDE3OjQwOjU3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBGaXggdXAgZG9jdW1lbnRhdGlvbiBibG9icyBTR01MCgoyMDA5LTAyLTIwIDE3OjM3OjQzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mY29tbW9uLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFJlLWluZGVudCB0byBHc3Qgc3R5bGUKCjIwMDktMDItMTggMTM6MzA6NDQgLTA1MDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZUB5YWhvby5mcj4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1pc3NpbmcgZm9ybWF0IGRpcmVjdGl2ZQoKMjAwOC0xMi0wNCAyMToyMTo0NCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWxsb3cgc2V0dGluZyBhIG1heGltdW0gZHVyYXRpb24gdG8gYSBSVFAgRFRNRiBldmVudAoKMjAwOC0xMi0wNCAyMToxMToxNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBJbXByb3ZlIHRoZSBtaW5pbXVtIHF1YW50YSB0byBtYWtlIGl0IGltcG9zc2libGUgZm9yIHRoZSBkdXJhdGlvbiB0byBmYWxsIGRvd24gdG8gMAoKMjAwOC0xMi0wMSAxODozMTo0OCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWxsb3cgc2V0dGluZyBhIG1pbmltdW0gc2l6ZSBvZiBhIHNvdW5kIHF1YW50YSBpbiB0aGUgZHRtZiBkZXBheWxvYWRlcgoKMjAwOC0xMi0xMSAxNzo1NDoxOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvLmdpdC1kYXJjcy1kaXI6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgLmdpdC1kYXJjcy1kaXIgZmlsZXMKCjIwMDgtMTItMDEgMTc6Mzc6MTAgLTA1MDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIERvIHdpZXJkIGNhc3Rpbmcgb2YgdGhlIHZvbHVtZSB0byBtYWtlIE1TVkMgaGFwcHkKCjIwMDgtMTAtMTUgMTY6MjE6NTAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2xhcmlmeSB0aGUgZG9jdW1lbnRhdGlvbiBvZiB0aGUgImV2ZW50LXR5cGUiIGZpZWxkIHdoZW4gc3BlY2lmeWluZyBkdG1mIGV2ZW50cwoKMjAwOC0wNy0yMiAyMTozOTozOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgZ19kZWJ1Z3MKCSAgMjAwODA3MjIyMTM5MzgtM2UyZGMtNDRhODJkMDE3ZmU2NmYzMTEyMzAxYzQxMGFhMGI1NDNkZTYxNTZhZC5negoKMjAwOC0wNi0xMyAyMzo1NzoyMyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBUYWtlIHJhdGUgZnJvbSB0aGUgcGVlcnMgY2FwcyBpZiBwb3NzaWJsZQoJICAyMDA4MDYxMzIzNTcyMy0zZTJkYy0xNTY5MGVlNDI3MDhjNTM5ZTFiZTEyZTIwZTA3NmE1NjEzZmFlYTk2Lmd6CgoyMDA4LTA2LTEzIDIzOjQxOjQ0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHV0IHRoZSBzYW1wbGUgcmF0ZSBpbiBkdG1mc3JjIGludG8gYSB2YXJpYWJsZQoJICAyMDA4MDYxMzIzNDE0NC0zZTJkYy1lNjAwNzA5NDNiZWM4MjliNzAzYjg4MjFjN2FhNDM1MWEwMmRlZWJlLmd6CgoyMDA4LTA2LTEzIDIzOjMwOjA2ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFRha2UgdGhlIGNsb2NrLXJhdGUgZnJvbSB0aGUgY2FwcyBpbiBydHBkdG1mc3JjCgkgIDIwMDgwNjEzMjMzMDA2LTNlMmRjLWE3ZDRlOTE4NjQzZjRmOGMxYmIyY2MyNjc4NTU4YzY1NDAyNTkyMGUuZ3oKCjIwMDgtMDQtMjggMjI6MjI6MzcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBMaW5rIG1vZHVsZXMgd2l0aCBsaWJtIHdoZXJlIHJlcXVpcmVkCgkgIDIwMDgwNDI4MjIyMjM3LTNlMmRjLWIxZTkxMjBjMWU5Y2ExYTUxMGJmZDdjMjdlMmQ0NWYwZDRhMTI1MDQuZ3oKCjIwMDgtMDQtMTIgMjM6NDQ6MTggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IGJ5dGUgb3JkZXJpbmcgaXNzdWVzIHdpdGggZHRtZnNyYyBhbmQgcnRwZHRtZmRlcGF5Li4gdXNlIG9mIEdfU1RSSU5HSUZZIHRvIGF2b2lkIGVycm9yIG9uIE1TVkMKCSAgMjAwODA0MTIyMzQ0MTgtNGYwZjYtNDgyOGQxNjEzZGZjZDU2NGFmZDIzNmRmYzhmYjU3YTI5OTA5MmY4My5negoKMjAwOC0wMy0yMCAxOToxNDozOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBjb3B5cmlnaHRzIGFnYWluLCBwZXIgc21jdidzIGFkdmljZS4uCgkgIDIwMDgwMzIwMTkxNDM4LTRmMGY2LTY3MWM5ZGI1ZDk5NmE0NjAxZGYwMTdjZWFiNGFmNmQxNjQ2OWM5NjYuZ3oKCjIwMDgtMDMtMTkgMjE6MTc6MzEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBpdCBjbGVhciB0aGF0IGR0bWZzcmMgYWxzbyB0YWtlcyBuYW1lZCBldmVudHMgYXMgaW5wdXQKCSAgMjAwODAzMTkyMTE3MzEtM2UyZGMtMjZjNzI5ZjZkYzhkYjI3ZTcxY2Y2YjIyNjQ2YTgxNTMwZGJmODYyZi5negoKMjAwOC0wMy0yMCAxODo0ODo0MSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gZGVidWcgbWVzc2FnZSBtYWRlIGludG8gZXJyb3JzIGJlY2F1c2UgdGhhdCdzIHdoYXQgdGhleSBhcmUuLi4KCSAgMjAwODAzMjAxODQ4NDEtNGYwZjYtOGEyZDI4MzI5N2IwMjcxM2RhZGUwYWU0YWNhYTVmNmUwZjY3ZWFjZS5negoKMjAwOC0wMy0yMCAxODozOTozNyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2xlYW4gdW51c2VkIHN0dWZmLi4uCgkgIDIwMDgwMzIwMTgzOTM3LTRmMGY2LWJjYjg0MWNkYzA3ZjllOTY3NzUxMmY0YjUwYjRiNjU5YTU4YzY3ODMuZ3oKCjIwMDgtMDMtMjAgMTg6Mzk6MTIgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggY29weXJpZ2h0cwoJICAyMDA4MDMyMDE4MzkxMi00ZjBmNi02ODkzNjVkNWE0MDY2MzJlM2QwODhmYWM3NGU0ZmI2ZjhhNGViMGVhLmd6CgoyMDA4LTAzLTIwIDAxOjEzOjAxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkaW5nIHN1cHBvcnQgZm9yIHJ0cGR0bWZkZXBheQoJICAyMDA4MDMyMDAxMTMwMS00ZjBmNi1kMzZhNWQyNGJlMjAzMzZlMzZjNDc5NmQ3NTQ3NmM5YjVlZTFhN2UxLmd6CgoyMDA4LTAzLTE5IDE5OjMyOjUxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGVuY29kaW5nIG5hbWUgaGFzIHRvIGJlIHVwcGVyLWNhc2UKCSAgMjAwODAzMTkxOTMyNTEtM2UyZGMtMTU4MWIzM2JlOWI0ODZlMzVlYzQ5NDgwMDk2NzdjY2Q1ZmZkYzA5OC5negoKMjAwOC0wMy0yMCAwMDo1MTo0NyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZjb21tb24uaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkaW5nIG5lY2Vzc2FyeSBmaWxlcyBmb3IgcnRwZHRtZmRlcGF5CgkgIDIwMDgwMzIwMDA1MTQ3LTRmMGY2LTU1MGZlMjJmNzAxNTJmM2FhYjNkY2Q3YTZiMDJjYmY4MWU4OTIzMmQuZ3oKCjIwMDgtMDMtMjAgMDA6NTA6NDEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggdHlwb3MKCSAgMjAwODAzMjAwMDUwNDEtNGYwZjYtOWQyMmZhNWQxNTVlMzViNjA1ZWE4NWIxZmQ5ZTcxOTdhODgyYTFmMC5negoKMjAwOC0wMi0xNiAxMzo0MTo0MCArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gZHRtZnNyYzogQ29ycmVjdGx5IHNldCB0aGUgZW5kaWFuZXNzIGluIHRoZSBjYXBzIHRvIHRoZSBtYWNoaW5lcyBlbmRpYW5lc3MKCSAgMjAwODAyMTYxMzQxNDAtOTNiOWEtNDBhM2E5ZDdhYzE2NzljNWUwZGZkMjRhNmI5MWU0YWJhNmNjNjQ5Ni5negoKMjAwNy0wOS0xNyAxNzo1MjozMyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTZWFyY2gmUmVwbGFjZSBvb3BzCgkgIDIwMDcwOTE3MTc1MjMzLTNlMmRjLTU3ZjU3OWM0Yjg5MDk5M2Y0OWZhOGU5ZTY0NzBhM2ViNzlkMmI5MjIuZ3oKCjIwMDctMDktMTcgMTc6NTE6MzMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gZXZlbnRzIGRvbnQgeWV0IGJlbG9uZyBpbiB0aGUgY2FwcwoJICAyMDA3MDkxNzE3NTEzMy0zZTJkYy1mZDFkODNiNzgyNmI4OTgxMTBmYzU3MWFlN2MzNDQwZjE4ODc0MzRkLmd6CgoyMDA3LTA5LTE3IDE2OjA4OjIwICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIHBhdGNoIHRvIG1ha2UgaXQgd29yayB3aXRoIG1hZW1vIGRzcCBzb3VyY2VzIHRoYXQgcGF5bG9hZCBpbmNvcnJlY3RseQoJICAyMDA3MDkxNzE2MDgyMC0zZTJkYy0wNmIxYjFkMWIwOTE4YjMwZGFiZWE1YTA3MTRjYjczMmIzYjhkOGRkLmd6CgoyMDA3LTA5LTE3IDA0OjI2OjQ5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gT29wcywgc2V0IHRvIG5vIHByZXJvbGwgd2hlbiBwbGF5aW5nLT5wYXVzZWQgdG9vCgkgIDIwMDcwOTE3MDQyNjQ5LTNlMmRjLTk0YWRiNmFhMDYxN2U4MTVhNmUyMzMyMzJkYWJiNGJiYzQ4ZGM4MmMuZ3oKCjIwMDctMDktMTcgMDA6MzY6NTQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDb21wbGV0ZSBwb3J0IHRvIGJhc2VzcmMKCSAgMjAwNzA5MTcwMDM2NTQtM2UyZGMtZGIwZjg0ZGFiZDlkZDFhYzkyOWEwNDYxODY1YjhhYWE4ZWY5MWE3Ny5negoKMjAwNy0wOS0xNyAwMDoyNDoxMiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBjYXBzIG5lZ290aWF0aW9uIGZ1bmN0aW9uCgkgIDIwMDcwOTE3MDAyNDEyLTNlMmRjLWNhMjY2ODE2ZTk2Mjk3NDZlOTA4M2M1YmI4YjdmNzNiOTRhOWIyYjAuZ3oKCjIwMDctMDktMTcgMDA6MTY6NTkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHJvcGVybHkgZnJlZSBub24tc3RhcnQgZXZlbnRzCgkgIDIwMDcwOTE3MDAxNjU5LTNlMmRjLWE1NzE3NzdlM2VjZmI5MDk4OWY4NzQxMmY1NTRhYTEwYTMxY2MyY2EuZ3oKCjIwMDctMDktMTcgMDA6MTU6NTIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIGludGVydmFsIGFuZCBwYWNrZXRfcmVkdW5kYW5jeSBpbnRvIHVpbnQKCSAgMjAwNzA5MTcwMDE1NTItM2UyZGMtNjAwMzJlNTQ3YjM2NjliODczMTdjOTgxZDk4NWMxNTZhYWI5MWI0MC5negoKMjAwNy0wOS0xNiAxOTo0NDowOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgdGhlIHJ0cCBkdG1mIHNyYyB1c2UgYmFzZXNyYwoJICAyMDA3MDkxNjE5NDQwOC0zZTJkYy03MzQwMDAxMzBkY2UyNDM0YTAxNGFjZjg0M2Q2NDFmZjBlNjBhYTVhLmd6CgoyMDA3LTA5LTE2IDE5OjQxOjAxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgZHRtZiBzcmMgY29kZSBuaWNlcgoJICAyMDA3MDkxNjE5NDEwMS0zZTJkYy1hOGJlOGM1MDljNjU0MDBkMWQzOTYyZGEwMmU2N2QxNWQyMDU0MzE2Lmd6CgoyMDA3LTA5LTE2IDE5OjQwOjUyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mLy5naXQtZGFyY3MtZGlyOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIHVudXNlZCBkaXJlY3RvcnkKCSAgMjAwNzA5MTYxOTQwNTItM2UyZGMtNDRkN2Y0Y2IyZjIyMDc2MWI2NWUyYjliNmNlYzRiM2M2ZjhiZTdjNS5negoKMjAwNy0wOS0xNCAwNDoyMDo0MiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEltcGxlbWVudCBzdG9wcGluZyBpbiBhIG5pY2UgdGhyZWFkIHNhZmUgd2F5CgkgIDIwMDcwOTE0MDQyMDQyLTNlMmRjLTFmZTI1N2ZmNGI3MmFjYTRiMGViNWYyODVhMTQ2NTBiOGRmMjY4YzMuZ3oKCjIwMDctMDktMTQgMDQ6MTg6MzQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIGdldF90aW1lcyAoV2ltIHNheXMgaXRzIG9ubHkgZ29vZCBmb3IgcmVhbGx5IGZha2Ugc291cmNlcykKCSAgMjAwNzA5MTQwNDE4MzQtM2UyZGMtZmZmNGQ1ZGEyYTE0NWYxOWU3YjYxMGExMDI3ZDJjNGQ0YmM1ZWFlMC5negoKMjAwNy0wOS0xMyAyMToyMTo0NSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIHVzaW5nIHRoZSB1bmxvY2sgbWV0aG9kIG9mIGJhc2VzcmMKCSAgMjAwNzA5MTMyMTIxNDUtNGYwZjYtMGU0MzhhNjgxYmYxNjUxYzBjYzBkOGZhMzI2OWFlZDNmMTY2OGI2Yi5negoKMjAwNy0wOS0xMyAyMToxMjoyNiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIG1vcmUgZGVidWcKCSAgMjAwNzA5MTMyMTEyMjYtNGYwZjYtYmMzMmI1ODI4ZmM4ZTAzMjNjOGE2ZWVlNzc5YTM4MTQ1YWFjZDU5My5negoKMjAwNy0wOS0xMyAyMDo0NjoxNCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGFkZGVkIGRlYnVncwoJICAyMDA3MDkxMzIwNDYxNC00ZjBmNi02OGMyYTY5YWU3YTFlZmNhNmUxM2MxMTZkYmFkN2Y5YjY4NmYwMjQyLmd6CgoyMDA3LTA5LTEzIDE5OjIwOjUzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBzdXJlIHRvIHVubG9jayB0aGUgdGhyZWFkIHdoZW4gZ29pbmcgdG8gcmVhZHkgYW5kIHRvIGZsdXNoIHRoZSBxdWV1ZSB3aGVuIG1vdmluZyB0byBwYXVzZWQgb3IgcGxheWluZwoJICAyMDA3MDkxMzE5MjA1My00ZjBmNi03NmMzOTI1MzgwZDFhMzA5ODgyODYxNzA1MzVhNjVkZWE2NGE1NTgzLmd6CgoyMDA3LTA5LTEzIDE3OjU1OjIwICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDaGFuZ2VkIGR0bWZzcmMgaW50byBhIHN1YmNsYXNzIG9mIEdzdEJhc2VTcmMKCSAgMjAwNzA5MTMxNzU1MjAtNGYwZjYtMTZjYTRiZjkzNjkwMDcyZjNlODM2ZDFjOGE1YjUyY2Y3YTQyMTkxNi5negoKMjAwNy0wOS0wNCAyMjo1Nzo1MyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBhbm90aGVyIGZpeCBmb3IgYSBwb3NzaWJsZSByYWNlIGNvbmRpdGlvbgoJICAyMDA3MDkwNDIyNTc1My00ZjBmNi01YmE4YzQyNjBjMDAyYmIyN2ViOThlOWZhYmEzYzE1Nzk5MzU3YjU3Lmd6CgoyMDA3LTA5LTA0IDIxOjUyOjI0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBjb21tZW50IHRvIGV4cGxhaW4gcHVzaCBiYWNrCgkgIDIwMDcwOTA0MjE1MjI0LTNlMmRjLWQ5MmFjMWY0MDNkY2Y1NzE1NDZhN2M1M2YxODgwOWY4NDBlZWE1MWQuZ3oKCjIwMDctMDktMDQgMjA6NTU6MDkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQcm9wZXJseSBkbyB0aGUgbG9ja2luZyB0byBhdm9pZCByYWNlIGNvbmRpdGlvbnMgd2l0aCBjbG9jayB1bnNjaGVkdWxpbmcKCSAgMjAwNzA5MDQyMDU1MDktM2UyZGMtZGExOTkwMGI1MWFmNmFlZGI2NTQ3ZjRmMzkyYmVmNGQxMDYxZGVjMi5negoKMjAwNy0wOS0wMSAwMDowMzoyNCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIG91cHMsIEkgZGlkIGl0IGFnYWluLi4uCgkgIDIwMDcwOTAxMDAwMzI0LTRmMGY2LTNkOGI0NjY5MWVlNTIwNTM3YjA2YzUxMWE1ZTczMmY1YjgxMmI4NDQuZ3oKCjIwMDctMDgtMzEgMjM6NTQ6MjggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBvdXBzLCBzb3JyeS4uIERUTUYsIG5vdCBSVFBfRFRNRiBmb3IgdGhpcyBmaWxlLi4uCgkgIDIwMDcwODMxMjM1NDI4LTRmMGY2LTAwYjYwNmJmYjQ4OTJlNGYyMTdjNDQwYjYxMWNjNzk0YWIwZGU1NWEuZ3oKCjIwMDctMDgtMzEgMjM6NDQ6MTMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXhlcyB0aGUgZGVhZGxvY2sgd2hlbiBwYXVzaW5nIHRoZSBkdG1mc3JjIGFuZCBydHBkdG1mc3JjLiBIYWQgdG8gcHVzaCBzb21ldGhpbmcgb24gdGhlIGFzeW5jIHF1ZXVlIHRvIHJlbGVhc2UgdGhlIGJsb2NraW5nIGFzeW5jX3F1ZXVlX3BvcCgpLiBUaGFua3MgdG8gT2xpdmllciBmb3IgdGhlIHNvbHV0aW9uLgoJICAyMDA3MDgzMTIzNDQxMy00ZjBmNi03OTNjZjM1ZmM0MzYzNmU3Mjc1MjU4Y2M3MDYzZmMwNjhmNWVmYTBhLmd6CgoyMDA3LTA4LTI4IDIyOjE1OjM0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2xvY2tJRCB3aGVuIHdhaXRpbmcgZm9yIGJ1ZmZlciBpcyBub3cgdW5zY2hlZHVsZWQgd2hlbiBzdG9wcGluZyB0aGUgdGFzay4gVmFyaW91cyBmaXhlcyB0byBhdm9pZCBidWdzICh0aGFua3MgdG8gLVdhbGwgLVdlcnJvcikuIEZpeGVzIHRvIGFsbG93IHRoZSBtZXJnZSBvZiB0aGUgYnJhbmNoLgoJICAyMDA3MDgyODIyMTUzNC00ZjBmNi1iMGQ2YTRmZTQ4YzRlMmExNmI5ZmY2OWNiMzEwMDg3Yzk3MGNlNDhlLmd6CgoyMDA3LTA4LTI4IDE3OjE1OjQ2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDbGVhbmVkIHVwIHRoZSBjb2RlIGEgYml0LCBubyB1c2Ugb2YgR1NUXyogYW5kIHJldHVybiB2YWx1ZSB2ZXJpZmljYXRpb24gZnJvbSBnc3RfKgoJICAyMDA3MDgyODE3MTU0Ni00ZjBmNi1iZGViNGIxYjdmOTlmOTQ2NGFhYmU1YzQzYmQ0YTRkMjAyNTI2MmI2Lmd6CgoyMDA3LTA4LTI3IDE5OjU2OjEwICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IG92ZXJseSBsb25nIGxpbmVzIGFuZCB0YWJzCgkgIDIwMDcwODI3MTk1NjEwLTNlMmRjLTM5NmEzZmEwMWUxNmYxODRlNDEwOWM3MWZlMmRlYjZlNTE2YmRmMGQuZ3oKCjIwMDctMDgtMjcgMTk6MjY6MTggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIHVudGFiYmlmaWVkIGR0bWZzcmMKCSAgMjAwNzA4MjcxOTI2MTgtNGYwZjYtNzdkNjgwNzA0NjRmMWI1ZjlhNDZjYjZlZWMyZDkyMjM0MDE0M2MwNC5negoKMjAwNy0wOC0yNyAxNzoyNDoyNCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBSVFAgdGltZXN0YW1wcyBieSBzZW5kaW5nIGEgbmV3X3NlZ21lbnQgZXZlbnQgdG8gdGhlIHBheWxvYWRlcgoJICAyMDA3MDgyNzE3MjQyNC00ZjBmNi1kMjA5MDdlM2Q0MzZkNTBiZmU3NGViNGZjM2QyZDZkN2I2YjZkYmM1Lmd6CgoyMDA3LTA4LTI3IDE3OjIzOjM5ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQmV0dGVyIGhhbmRsaW5nIG9mIHBhY2tldHMsIHdlIHNlbmQgdGhlIHNhbWUgZHVyYXRpb24gZm9yIGFsbCBwYWNrZXRzIHRvIGF2b2lkIGh1Z2UgcGFja2V0cyB3aGVuIG1pbiBkdXJhdGlvbiBkZWZpbmVzIGFyZSBtb2RpZmllZC4KCSAgMjAwNzA4MjcxNzIzMzktNGYwZjYtY2M5MzMwNDQzN2VhMzc2ZmZmNjQ1OGM3NGM0NmMxOWY2OTIwZDMyOS5negoKMjAwNy0wOC0yNyAxNzoyMzoyMiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENoYW5naW5nIG1pbmltdW0gdmFsdWVzIHRvIHdvcmsgYmV0dGVyIG9uIHNvbWUgZ2F0ZXdheXMKCSAgMjAwNzA4MjcxNzIzMjItNGYwZjYtNWJmMmJmZmE1OWE4MjQ0NTM4ZGNlZDc5NWZhN2Q3NjQ5NDUyY2E5MS5negoKMjAwNy0wOC0yMiAyMDoxNjo1MyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFRoZSBEVE1GIHRvbmUgZ2VuZXJhdG9yIG5vdyByZXNwZWN0cyB0aGUgdm9sdW1lIGFyZ3VtZW50IHBhc3NlZCBpbiB0aGUgZXZlbnQKCSAgMjAwNzA4MjIyMDE2NTMtNGYwZjYtOGI3ZmY4NzQwMDZlMTFmNWE3NGQwZmQ5MWU1YTlhNDNjZDA4MmFkYS5negoKMjAwNy0wOC0yMiAxODowMTozMyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGRvbid0IGtub3cgd2h5IEkgZGlkIHRoYXQuLi4KCSAgMjAwNzA4MjIxODAxMzMtNGYwZjYtNmE3MzgyZjZjN2QzNjMwZjkxZGEzODRlMTkwNDc2M2M3ZWE2ZmExYS5negoKMjAwNy0wOC0yMiAxNzo1NTozMyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUG9ydGVkIHRoZSBldmVudCBxdWV1ZSB3b3JrIGZyb20gZHRtZnNyYyB0byBydHBkdG1mc3JjCgkgIEFkZGVkIGEgcXVldWUgYmFzZWQgc3lzdGVtIGZvciB0aGUgcnRwZHRtZnNyYy4gTm93IGl0IHdhaXRzIGZvciBzdGFydC9zdG9wIG1lc3NhZ2VzIG9uIHRoZSBxdWV1ZSwgYW5kIG1ha2VzIHN1cmUgdGhhdCB0aGUgbWluaW11bSBkdXR5IGN5Y2xlICgxMjBtcykgaXMgcmVzcGVjdGVkIGJldHdlZW4gZWFjaAoJICB0b25lLCBpbmNsdWRpbmcgaW50ZXItZGlnaXQgc2lsZW5jZS4KCSAgMjAwNzA4MjIxNzU1MzMtNGYwZjYtZjI3NDE0YzQwNmYxZjdiMDBjOWE5MDg0YTk4OGNmM2E3OTMwZmU1Yy5negoKMjAwNy0wOC0yMiAxNzo1NDo0NCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIG91Y2gsIHByaW50aW5nIHdpdGggYXJndW1lbnRzIGJ1dCB3aXRob3V0ICVzLi4gdGhhdCBtYWRlIGl0IHNlZ2ZhdWx0IGEgZmV3IHRpbWVzLi4uCgkgIDIwMDcwODIyMTc1NDQ0LTRmMGY2LTQ0NWVhNmNlN2E5NjY4ZDA0Y2Y5OTlhZjc3MmE1MDRlYzc0ZmI2N2EuZ3oKCjIwMDctMDgtMjIgMTc6NTE6MjYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1vdmVkIHRoZSB0aW1lc3RhbXAgZnJvbSB0aGUgZXZlbnQgdG8gZHRtZnNyYyBzdHJ1Y3R1cmUgc2luY2Ugd2UgaGF2ZSBvbmx5IG9uZSBldmVudCBhdCBhIHRpbWUsIHNvIGxldCdzIGtlZXAgaXQgc3RvcmVkIGluIHRoZSBkdG1mc3JjIHN0cnVjdAoJICAyMDA3MDgyMjE3NTEyNi00ZjBmNi01M2JjZGEyYmQ4YWU4YzU2ZDI5ZTYyZTY5YWMxOWEzMGUwOGFkMzUwLmd6CgoyMDA3LTA4LTIwIDIwOjM4OjI2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGRlZCBhIHF1ZXVlIGJhc2VkIHN5c3RlbSBmb3IgdGhlIGR0bWZzcmMuIE5vdyBpdCB3YWl0cyBmb3Igc3RhcnQvc3RvcCBtZXNzYWdlcyBvbiB0aGUgcXVldWUsIGFuZCBtYWtlcyBzdXJlIHRoYXQgdGhlIG1pbmltdW0gZHV0eSBjeWNsZSAoMTIwbXMpIGlzIHJlc3BlY3RlZCBiZXR3ZWVuIGVhY2ggdG9uZSwgaW5jbHVkaW5nIGludGVyLWRpZ2l0IHNpbGVuY2UuCgkgIDIwMDcwODIwMjAzODI2LTRmMGY2LTc1MGEyMmI2MTJhNWU0OTVlNzY3NjY2OTM0NDY1YzM0ZmUzMjA3NGIuZ3oKCjIwMDctMDgtMjAgMTg6NDg6NTIgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGRlZCBkdG1mc3JjLCBhIERUTUYgVG9uZSBHZW5lcmF0b3IsIGFuZCBtYWRlIGl0IHBhcnQgb2YgdGhlICdkdG1mJyBwbHVnaW4uCgkgIDIwMDcwODIwMTg0ODUyLTRmMGY2LWEwZDg1ZTY3NzA4MjkwYWViYWZhODlhYjc5ZDNjZWRkNTgxNWI2MjAuZ3oKCjIwMDctMDgtMjAgMTg6NDg6MDAgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi8uZ2l0LWRhcmNzLWRpcjoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJKiBnc3QvcnRwZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNb3ZlZCBydHBkdG1mIHRvIGR0bWYgZGlyZWN0b3J5CgkgIDIwMDcwODIwMTg0ODAwLTRmMGY2LWZhMzNlYTk3NDUxMDE2MWRlOGM5OTUxYzM5MDg3YWYzNjEzYjY1YTQuZ3oKCjIwMDctMDctMTIgMTk6NTc6MTUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTZW5kIGFsbCBwYWNrZXQgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZCwgaW5jbHVkaW5nIHRoZSBsYXN0IG9uZQoJICAyMDA3MDcxMjE5NTcxNS0zZTJkYy02ODQ4YzcwYTdmMDEzN2M5MWZhODgyYThlZmI2ZGJmODM4OTFhZTEzLmd6CgoyMDA3LTA3LTEyIDE5OjU1OjI4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFB1dCBub24temVybyBkdXJhdGlvbiBpbiBmaXJzdCBwYWNrZXQgYW5kIHB1dCBhIG1pbmltdW0gZHVyYXRpb24gb2YgNTBtcwoJICAyMDA3MDcxMjE5NTUyOC0zZTJkYy1kNDZlZGVhYWI4NGZiNTVlNzQ4NDJiZGNmNGY4NzkyZGZjZGIwNDU3Lmd6CgoyMDA3LTA3LTEyIDE2OjIzOjI4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBSVFAgdGltZXN0YW1wIG9uIGR0bWYgcGFja2V0cwoJICAyMDA3MDcxMjE2MjMyOC0zZTJkYy05OGMxMzAzZjRhNTJiODkxY2U1OWJmODhlMDdkMjlmNGUyZGZjOTc0Lmd6CgoyMDA3LTA3LTExIDE1OjUyOjAyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE9ubHkgc2V0IG1hcmtlciBvbiB2ZXJ5IGZpcnN0IHBhY2tldCBvZiBhbiBldmVudAoJICAyMDA3MDcxMTE1NTIwMi0zZTJkYy1mN2VhM2FiZDJjYjBjYTI5MzdlYTQ1MDhlNmUzMDFiYWFhNmUyMTU0Lmd6CgoyMDA3LTA3LTExIDE1OjUxOjU3ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNlbmQgb24gcGFja2V0IHN0YXJ0IHRpbWUKCSAgMjAwNzA3MTExNTUxNTctM2UyZGMtZWUwZTlmYzEzZDM1Mjk2NTkzMDA1MjY3YTI0MTdkZDY1ZTc5MGQyOS5negoKMjAwNy0wNy0xMSAxNTo1MDo1NiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSVFAgdGltZXN0YW1wIGlzIHRoZSB0aW1lIG9mIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGR0bWYgZXZlbnQKCSAgMjAwNzA3MTExNTUwNTYtM2UyZGMtY2I1Y2RhNzNmYmY3ZGYxYzU0NWNiMDMyMWIwZTMzOTkxNGM1ODk3Zi5negoKMjAwNy0wNC0yNCAyMDowMjo1MiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSA4MCBjb2x1bW4gaXMgZW5vdWdoIGZvciBldmVyeW9uZQoJICAyMDA3MDQyNDIwMDI1Mi0zZTJkYy1kMWJjMTcyNjZhZmZmMjU5OTEyOWEyNWQ0NDMzODA2MjM3MmY3ZWEzLmd6CgoyMDA3LTA0LTI0IDE5OjMxOjU1ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIHJlZHVuZGFuY3kgYW5kIGludGVydmFsIHByb3BlcnRpZXMgdG8gcnRwZHRtZnNyYyAocGF0Y2ggYnkgU1AgR0xFIDxzcGdsZWdsZUB5YWhvby5mcj4pCgkgIDIwMDcwNDI0MTkzMTU1LTNlMmRjLTY2Njg4MDAxZTdiNTI5YzQ2ZjEwODYzM2NkOTUyMDM0N2MzYzhjM2UuZ3oKCjIwMDctMDUtMDQgMTk6NTI6NTEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gT25seSBzZW5kIGR0bWYgaWYgdGhlIG1ldGhvZCBpcyB1bnNwZWNpZmllZCBvciBpcyAxCgkgIDIwMDcwNTA0MTk1MjUxLTNlMmRjLWI5NWI0YjhlOGRhZDg3OTYyY2YzOWVjMmVlNjdiNmYxYjYxOWU5YmQuZ3oKCjIwMDctMDMtMDggMjI6MzU6NTkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBkb2N1bWVudGF0aW9uIGNvbnNpc3RlbnQgd2l0aCBpdHNlbGYKCSAgMjAwNzAzMDgyMjM1NTktM2UyZGMtY2MyMGZlNTcxMzcwYmM1MWJmOTYzY2MzZGYxYjhhYjRhM2RkYzIwYi5negoKMjAwNy0wNC0xMiAyMDowNDozNSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVzZSBzZWdtZW50IHRvIGNhbGN1bGF0ZSBkdG1mc3JjIHJ0cCB0aW1lc3RhbXAKCSAgMjAwNzA0MTIyMDA0MzUtM2UyZGMtYjVjYzI2YjEyYjZlOGI4OWYxMzFmZDI3ZjBlNDYyNzc0NmU4NTY5Ny5negoKMjAwNy0wNC0wMiAxMjo0NjozNSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDbGVhbi11cCBhbmQgcmVmYWN0b3JpemUgZHRtZnNyYyBjb2RlCgkgIDIwMDcwNDAyMTI0NjM1LTY1MDM1LTNkMTMyNDQ0NjFjMWRkMWZjYzk2Yjc0MTI0YWQ3YTc0ZDJmZjAxNDQuZ3oKCjIwMDctMDMtMzAgMTU6NDM6MDMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gT29vcHMsIGxpdHRsZSB0eXBvCgkgIDIwMDcwMzMwMTU0MzAzLTNlMmRjLTlmNmVkY2RlMjRkMzBjYWVhOGVhODc2YjI0YTNhNjgwZDQwYjJlYTEuZ3oKCjIwMDctMDMtMzAgMDA6MTc6MDAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIGl0IGdlbmVyYXRlIHRoZSBwcm9wZXIgcnRwIHRpbWVzdGFtcHMgaW4gc3luYyB3aXRoIHRoZSBsaXZlIHNvdXJjZQoJICAyMDA3MDMzMDAwMTcwMC0zZTJkYy1iYmY5NTRlNGVkZWMwNjE1YzRlZWU2MDNmYmM2YWI4YTdkODk0MzZmLmd6CgoyMDA3LTAzLTI5IDExOjQyOjU3ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEluY3JlbWVudCB0aGUgdHMgYWZ0ZXIgc2V0dGluZyB0aGUgYnVmZmVyJ3MgdHMKCSAgMjAwNzAzMjkxMTQyNTctNjUwMzUtYzg2ODZhYjRjZTIwYjFmMzZmM2RhYzEyMDQ4NWFkZTVjZDkwYWFjOS5negoKMjAwNy0wMy0yOSAxMDozOTo0NiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDYWxjdWxhdGUgdGhlIHJ0cCB0cyBiZWZvcmUgZ3N0IHRzIGdldCBpbmNyZW1lbnRlZAoJICAyMDA3MDMyOTEwMzk0Ni02NTAzNS1mNzRlM2EwMTQwYzU3ZTk0MTQ0NGJiODM3ZDYwNTNhZDFjM2NmNTY3Lmd6CgoyMDA3LTAzLTI5IDEwOjM5OjA0ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNvbWUgY29kZS1jbGVhbnVwCgkgIDIwMDcwMzI5MTAzOTA0LTY1MDM1LWRiMDhjYzdjMzA5OGI2MGE1NTZkMzgwOWRlOTEyY2QwZTFhNTQ1YzEuZ3oKCjIwMDctMDMtMjkgMTA6Mzg6MjQgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gSW5pdGlhbGl6ZSB0aGUgR3N0U2VnbWVudCBhdCB0aGUgcmlnaHQgdGltZQoJICAyMDA3MDMyOTEwMzgyNC02NTAzNS05YWIzYTBhMDNjNWY5MzI5Y2Q0NjI1YWU2NTY3YzJjMWZkNGE3M2Q4Lmd6CgoyMDA3LTAzLTI2IDEwOjU3OjEyICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENhbGwgc2V0X2NhcHMgd2hlbiB3ZSBoYXZlIGFsbCB0aGUgcGFyYW1zCgkgIDIwMDcwMzI2MTA1NzEyLTY1MDM1LTNlM2RmY2UwYjUwZDYxZWFmZGE4NDZiZWUwYTZkNjZjMzU0MWM2ZWQuZ3oKCjIwMDctMDMtMjMgMTY6Mjk6MjIgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2V0IGNhcHMgb24gdGhlIGJ1ZmZlciBiZWZvcmUgcHVzaGluZyBpdAoJICAyMDA3MDMyMzE2MjkyMi02NTAzNS05ZTRiZTU0NDljNzljMGE0NTk5NjVlZTA3YWRiNGE4MTQzYzRjMWQ1Lmd6CgoyMDA3LTAzLTE0IDE3OjE3OjU2ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlcXVlc3QgZm9yIHN0cmVhbSBsb2NrIHdoZW4gZ2VuZXJhdGluZyBEVE1GIHBhY2tldHMKCSAgMjAwNzAzMTQxNzE3NTYtNjUwMzUtMGI0OTdkZmFjMjAzZmY0ZjU3OTUyNTQ4NWQ1ODA0ZTVmNTA5M2IzZi5negoKMjAwNy0wMy0wNyAxMTo0MTowOSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDb3JyZWN0IGNhcHMgcHJpbnRvdXQKCSAgMjAwNzAzMDcxMTQxMDktNjUwMzUtMTI0MjAyODg0OTE4YTljOGE4MDMwODBkNjk2NzIzNDUzOWQyNGI5Ny5negoKMjAwNy0wMi0xNiAxMjowNjowNiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgZG9jLXNlY3Rpb24gY29tbWVudHMKCSAgMjAwNzAyMTYxMjA2MDYtNjUwMzUtNmU3ZDI4NzIxZGMwODcyZjNmNTViYTdjY2Q0ZmVkM2Q2NmY4MTc1Zi5negoKMjAwNy0wMi0xNSAxMzo0ODo1MyArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBjb3B5cmlnaHRzCgkgIDIwMDcwMjE1MTM0ODUzLTY1MDM1LTUwZmU1ZjhlOTk5YWU4NmExZTNiYTBkYmRlY2U0OTExZWI5ZGNjYTAuZ3oKCjIwMDctMDItMTUgMTM6MzU6MzYgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTm8gbmVlZCB0byBoYW5kbGUgZG93bnN0cmVhbSBldmVudHMKCSAgMjAwNzAyMTUxMzM1MzYtNjUwMzUtNjQ4Yjc5MWQ0MDRiZjA2OTAwYmQyNjk4ZDkyNTExN2M4OTc0M2RiOS5negoKMjAwNy0wMi0xNSAxMjoyNjo1NSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBdHRlbXB0IHRvIGNvcnJlY3QgZXZlbnQgaGFuZGxpbmcKCSAgMjAwNzAyMTUxMjI2NTUtNjUwMzUtNDcwNzBkOWEyOGMwOGQ5MzUzYjA0ZDJkOTMwMWUyOWI3ZWU3MmI4My5negoKMjAwNy0wMi0xNSAxMDoyNjoyOSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVc2UgcGF1c2VfdGFzayBpbnN0ZWFkIG9mIHN0b3BfdGFzayB0byBhdm9pZCBhbnkgcG9zc2libGUgZGVhZGxvY2tzCgkgIDIwMDcwMjE1MTAyNjI5LTY1MDM1LWE0OGM3NzM2NjFlMzg1YTkxZTAyMmUwYWMxZGEwODYyYzQyMDZmODUuZ3oKCjIwMDctMDItMTUgMTA6MTA6MzAgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQdXQgY29ycmVjdCBzZXEgYW5kIHRpbWVzdGFtcHMgb24gdGhlIHBhY2tldHMKCSAgMjAwNzAyMTUxMDEwMzAtNjUwMzUtNzE0NmEzYzRhOGQwZmVhYjUxM2QxM2EyMDdiMmNkYzVkZTMxMWYwMy5negoKMjAwNy0wMi0xNCAxMzo1NTowMSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCB0aGUgY29weXJpZ2h0IG5vdGljZQoJICAyMDA3MDIxNDEzNTUwMS02NTAzNS1lOTA3NTNiMWY2NTI1ZjdiOWMwYWMyZWI3ZTQwY2VmN2NhNjczZTY4Lmd6CgoyMDA3LTAyLTE0IDEzOjEzOjUyICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mLy5naXQtZGFyY3MtZGlyOgoJKiBnc3QvcnRwZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgUlRQIERUTUYgZXZlbnQgcGFja2V0IGdlbmVyYXRvciBlbGVtZW50IGFuZCB0ZXN0IGFwcCBmb3IgaXQKCSAgMjAwNzAyMTQxMzEzNTItNjUwMzUtM2MxNGExMDQ3YzNjZDY2OTZmM2E3MTZhNjJiMjFkM2Y0YjlkYTYyYi5negoKMjAwOS0wMS0zMCAwOTowMzo0MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkgIGF1dG9nZW4uc2g6IGFjdHVhbGx5IHNldHRpbmcgdXAgYSBzeW1ib2xpYyBsaW5rIGZvciB0aGUgcHJlLWNvbW1pdCBob29rCgoyMDA5LTAyLTIxIDE3OjQ1OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEFkZCByZWFkLW9ubHkgcHJvcGVydHkgdG8gZ2V0IHRoZSBzdHJ1Y3R1cmFsIG1ldGFkYXRhCgoyMDA5LTAyLTIxIDE3OjQwOjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBteGZkZW11eDogQWRkIE1QRUcgdmlkZW8gYml0cmF0ZSB0byB0aGUgdGFncyBpZiBhdmFpbGFibGUKCjIwMDktMDItMjEgMTc6Mzg6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSogZ3N0L214Zi9teGYuYzoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbXhmL214ZnF1YXJrLmM6CgkqIGdzdC9teGYvbXhmcXVhcmsuaDoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBteGZkZW11eDogUG9zdCBzdHJ1Y3R1cmFsIG1ldGFkYXRhIHRyZWUgYXMgdGFnIG9uIHRoZSBidXMKCSAgVGhpcyB3aWxsIGxhdGVyIGJlIHVzZWQgdG8ga2VlcCB0aGUgc3RydWN0dXJhbCBtZXRhZGF0YSB3aGVuCgkgIHJlbXV4aW5nIGFuIE1YRiBmaWxlIGFuZCBjYW4gYWxzbyBiZSB1c2VkIGluIFBpdGl2aSBmb3IgZXhhbXBsZQoJICB0byBrbm93IHRoZSBmaWxlIHN0cnVjdHVyZSBhbmQgdG8gc2VsZWN0IHdoYXQgc2hvdWxkIGJlIHVzZWQKCSAgYW5kIHBsYXllZC4KCjIwMDktMDItMjEgMTY6MDk6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkgIG14ZmRlbXV4OiBGaXggY2FsY3VsYXRpb24gb2YgQUVTMyBiaXRyYXRlIHRhZwoKMjAwOS0wMi0yMSAxNjowNTo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5oOgoJICBteGZkZW11eDogQWRkIGhlbHBlciBmdW5jdGlvbiB0byBjb252ZXJ0IE1YRnJhY3Rpb24gdG8gZ2RvdWJsZSBhbmQgdXNlIGl0CgoyMDA5LTAyLTIxIDE2OjAwOjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkgIG14ZmRlbXV4OiBPbmx5IHN0b3JlIHRoZSBtYWluIGRlc2NyaXB0b3IgaW4gc291cmNlIHBhY2thZ2VzCgkgIEZvciB0aGUgdHJhY2tzIHdlIHN0aWxsIHJlc29sdmUgdGhlIGRlc2NyaXB0b3JzIGJ1dCB0aGUKCSAgc291cmNlIHBhY2thZ2Ugb25seSBjb250YWlucyB0aGUgZGVzY3JpcHRvciBpdCByZWFsbHkgcmVmZXJlbmNlcwoJICBpbnN0ZWFkIG9mIGFsbCBzdWJkZXNjcmlwdG9ycyBvZiBtdWx0aXBsZSBkZXNjcmlwdG9ycy4KCSAgVGhpcyBtYWtlcyBpdCBlYXNpZXIgbGF0ZXIgdG8gc2VyaWFsaXplIHRoZSBzdHJ1Y3R1cmFsIG1ldGFkYXRhCgkgIGFnYWluLgoKMjAwOS0wMi0xNyAxNzozNzo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBTZXQgZnJlZSdkIG1lbW9yeSB0byBOVUxMIHRvIHByZXZlbnQgYSBkb3VibGUgZnJlZSBsYXRlciBpbiBzb21lIGNhc2VzCgoyMDA5LTAyLTE1IDA5OjUxOjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkbXMxLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmZGVtdXg6IERvbid0IHVzZSBnZW5lcmljIG1ldGFkYXRhIHBhcnNlcnMgZm9yIHVua25vd24gbWV0YWRhdGEsIHRoZSByZXN1bHRzIGFyZSB1c2VsZXNzIGFueXdheQoKMjAwOS0wMi0xOSAxMTozNjo0NSArMDAwMCAgWmFoZWVyIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZmx1bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwYXRpbmZvLmM6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwYXRpbmZvLmg6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRpbmZvLmM6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRpbmZvLmg6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRzdHJlYW1pbmZvLmM6CgkqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRzdHJlYW1pbmZvLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBtcGVndHNkZW11eDogcy9mbHV0cy9tcGVndHMKCSAgQ2hhbmdlIGFsbCBkZWZpbml0aW9ucyBmcm9tIGZsdXRzIHRvIG1wZWd0cy4KCjIwMDktMDItMTAgMTg6NTg6NDAgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQWRkIGRvYyBpbmZyYXN0cnVjdHVyZSB0byB2YWx2ZQoKMjAwOS0wMi0xMCAxODo1Mjo1NCArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5oOgoJICBEb2N1bWVudCB0aGUgR3N0VmFsdmUKCjIwMDktMDItMTAgMTg6MDM6MjYgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSAgTW92ZWQgdmFsdmUgZnJvbSBnc3QtcGx1Z2lucy1mYXJzaWdodCB0byAtYmFkCgoyMDA5LTAyLTEwIDE3OjU3OjE2ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgUmVuYW1lIGZzdmFsdmUgdG8gdmFsdmUKCjIwMDktMDItMTAgMTc6NTU6NDcgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuaDoKCSAgUmUtaW5kZW50IHZhbHZlIGluIGdzdCBzdHlsZQoKMjAwOC0xMi0xMyAwMDozMTo0NSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBJZ25vcmUgZXJyb3JzIGlmIGRyb3BwaW5nIGlzIHNldCB0byB0cnVlCgoyMDA4LTEyLTExIDE3OjU0OjE4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvLmdpdC1kYXJjcy1kaXI6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgLmdpdC1kYXJjcy1kaXIgZmlsZXMKCjIwMDgtMTItMTAgMTc6MDA6MzMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIGdldGNhcHMgcHJveHlpbmcgdG8gdGhlIHZhbHZlCgoyMDA4LTA4LTIwIDE0OjExOjAyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZWJhc2UgdmFsdmUgb250byBnc3RlbGVtZW50IGluc3RlYWQgb2YgYmFzZXRyYW5zZm9ybQoKMjAwOC0wOC0xOSAxODo0OTo1MSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZXZlcnQgIkZpeCByZWZjb3VudGluZyBpc3N1ZXMgaW4gcHJlcGFyZV9vdXRwdXRfYnVmZmVyIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDY1ZGQ0NjBmMGEzYTljNDg4MmU2MzhjODYyMDhmNzRlZjYyYzM0NjAuCgoyMDA4LTA4LTA1IDExOjMwOjU3ICswMDAwICBzam9lcmRAbHVvbi5uZXQgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IHJlZmNvdW50aW5nIGlzc3VlcyBpbiBwcmVwYXJlX291dHB1dF9idWZmZXIKCSAgMjAwODA4MDUxMTMwNTctYmUwZjItOWRjMjcwNzgxZjBhMGYyMWM2MTZlZDExZGJkMWYxOThmZDFiMzI2ZS5negoKMjAwOC0wNC0wOSAxNjozMjoyMSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSB1bnVzZWQgZGlzcG9zZSBtZXRob2QgaW4gdmFsdmUKCSAgMjAwODA0MDkxNjMyMjEtM2UyZGMtOTJjY2IyZGI4NzRlNDZlMGQ5MmMxNTUyMDU3N2MxYmUwZTJiYzYxNy5negoKMjAwNy0xMi0xOSAyMDozMjozMCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIERvbnQgaG9sZCB0aGUgb2JqZWN0IGxvY2sgd2hpbGUgY2FsbGluZyBiYXNlIGFsbG9jIGZ1bmN0aW9uCgkgIDIwMDcxMjE5MjAzMjMwLTNlMmRjLTY1MTkxNzVkOGQ4MTQ5NjUxNWIyZDkwNjBhYzMxNjY1MDU2MGY2OTEuZ3oKCjIwMDctMTItMTkgMjA6MzI6MTggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2V0IHRoZSBESVNDT05UIGZsYWcgYWZ0ZXIgZHJvcHBpbmcgYnVmZmVycwoJICAyMDA3MTIxOTIwMzIxOC0zZTJkYy1iYzVmMDNkODhmZjU4MzcwNDBiOTIxNGRlMDE2Y2MxNDI3NzZkZmMyLmd6CgoyMDA3LTEyLTE5IDAwOjU3OjM5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVzZSBkbyB0aGUgYWxsb2NfYnVmZmVyIGZ1bmN0aW9uIGluIHRoZSB2YWx2ZQoJICAyMDA3MTIxOTAwNTczOS0zZTJkYy0yYTBmZGZhMmYzOGYwM2FiNDc5MWZlNWM0YWI4NWU4NzkwMTEzNjgzLmd6CgoyMDA3LTExLTIxIDIwOjA4OjU4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gT25seSBzZXQgcGFzc3Rocm91Z2ggdG8gVFJVRSBvbiBuZXdlciB2ZXJzaW9ucyBvZiBnc3QKCSAgMjAwNzExMjEyMDA4NTgtM2UyZGMtYjE2Y2RlYWJiYzNjMDU2MmM2ZmM3YjExYjliOTc5MmM5MTBmNTY5ZS5negoKMjAwNy0xMS0yMSAxODoxNzoyOSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENvbXBhcmUgbWlub3IsIG5vdCBtYWpvcgoJICAyMDA3MTEyMTE4MTcyOS0zZTJkYy1hNTk5N2MzYjdmNWM4Njk2NjM3MDk2OTcxNGZhY2Y4ZWUyNDI2NTlkLmd6CgoyMDA3LTEwLTI2IDIyOjM3OjQ5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSB0aGUgdmFsdmUgZWxlbWVudCB3b3JrIHdpdGggZ3N0IDwgMC4xMC4xMwoJICAyMDA3MTAyNjIyMzc0OS0zZTJkYy0xOGY2ODVhNGU0NWZiZGNlNjc3YWM3Nzc1ODY4NzZmYzcxOWQ3MjIyLmd6CgoyMDA3LTEwLTI0IDIyOjQyOjQ2ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW5hbWUgdmFsdmUgdG8gZnN2YWx2ZQoJICAyMDA3MTAyNDIyNDI0Ni0zZTJkYy1jNTQyMTZhZjJlZjBlZjNmMWEyMjA2ZDcyM2U4N2JlMmEyM2FiOGVkLmd6CgoyMDA3LTEwLTI0IDIyOjQxOjQ3ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS8uZ2l0LWRhcmNzLWRpcjoKCSogZ3N0L3ZhbHZlL01ha2VmaWxlLmFtOgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgdmFsdmUgZWxlbWVudAoJICAyMDA3MTAyNDIyNDE0Ny0zZTJkYy1mMjhhYjBjMDczZTI4Mzg5NGI2NWMyMmM0ZjQ0Mzk3Yzg5N2RlYzAxLmd6CgoyMDA5LTAyLTEwIDE5OjIwOjI2ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkgIEFkZCBzb21lIGRvY3VtZW50YXRpb24gdG8gdGhlIHNpcmVuIGVuYy9kZWMgcGx1Z2lucwoKMjAwOS0wMi0xMCAxOToyMDoxOSArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuLmg6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuaDoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5oOgoJICBSZS1pbmRlbnQgdGhlIHNpcmVuIHN0dWZmIHRvIGJlIGdzdCBzdHlsZQoKMjAwOS0wMi0xMCAxNzoyOTowNSArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJICBNb3ZlZCBzaXJlbiBmcm9tIGdzdC1wLWZhcnNpZ2h0IHRvIC1iYWQKCjIwMDktMDItMTAgMTc6MjM6MzggKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9NYWtlZmlsZS5hbToKCSogZ3N0L3NpcmVuL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSogZ3N0L3NpcmVuL2dzdHJ0cHNpcmVuZGVwYXkuaDoKCSogZ3N0L3NpcmVuL2dzdHJ0cHNpcmVucGF5LmM6CgkqIGdzdC9zaXJlbi9nc3RydHBzaXJlbnBheS5oOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW4uYzoKCSAgTW92ZSBzaXJlbiBydHAgcGF5L2RlcGF5ICB0byBnb29kCgoyMDA4LTEyLTExIDE3OjU0OjE4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vLmdpdC1kYXJjcy1kaXI6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgLmdpdC1kYXJjcy1kaXIgZmlsZXMKCjIwMDgtMTAtMDUgMjI6MDM6MDUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIHVuZGVyc2NvcmUgdG8gbWFrZSB0aGUgZW5jb2RlciBsaWtlIHRoZSBkZWNvZGVyCgoyMDA4LTEwLTA1IDIyOjAxOjQ0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbmFtZSBvZmZzZXQgdG8gb3V0X29mZnNldCB0byBtYWtlIGl0cyBtZWFuaW5nIGNsZWFyZXIKCjIwMDgtMTAtMDUgMjI6MDA6MjcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2hlY2sgdGhlIHNpemUgb2YgdGhlIGlucHV0IGJ1ZmZlciwgbm90IHRoZSBvdXRwdXQgYnVmZmVyCgoyMDA4LTA5LTE2IDE1OjQwOjA0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFByZXNlcnZlIHRpbWVzdGFtcAoKMjAwOC0wNy0wNCAyMjoyMTowMyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgdXNlbGVzcyBjaGVja3MsIGRvY3VtZW50IGxvY2tpbmcKCSAgMjAwODA3MDQyMjIxMDMtM2UyZGMtNDdhN2Y0OWM0MTRmOThhMTg4ZmZjNDJiMDcxODlkYWY1MTQ3NDgzYi5negoKMjAwOC0wNy0wNCAyMjoxNzo0MyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBtYWtlIHNpcmVuZW5jIHRocmVhZCBzYWZlCgkgIDIwMDgwNzA0MjIxNzQzLTNlMmRjLWY5M2RhODY0MzhmNzUzZTE0YmUyNTE2NmFlZTQ1Zjg4MDJmN2QxMDAuZ3oKCjIwMDgtMDctMDQgMjA6MTg6MzAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVwbGFjZSB1c2UgR1NUX0RFQlVHX09CSkVDVCBpbiBzaXJlbmVuYwoJICAyMDA4MDcwNDIwMTgzMC0zZTJkYy04ZjNlNDAxYWFhNTk0YzhjYzU4NTNiNzNmNDFjYTVjYjA0N2VlMmQzLmd6CgoyMDA4LTA3LTA0IDIwOjE3OjQ0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuaDoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQb3J0IHNpcmVuZGVjIHRvIEdzdGVsZW1lbnQKCSAgMjAwODA3MDQyMDE3NDQtM2UyZGMtOTliZjdiODZlNDJkYTM2M2Q4YzgyNjQ0OWQ4NGI0Mzc1MTU3MmQ1ZS5negoKMjAwOC0wNy0wNCAyMDowNDo1NCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbGVhc2UgcmVmIGF0IHRoZSBlbmQgb2YgY2hhaW4KCSAgMjAwODA3MDQyMDA0NTQtM2UyZGMtMzg2ZjI2ODU4ODJhNzRkMDFjZTUwM2Y5MTM5NmVhMzc1MDZkYmU4My5negoKMjAwOC0wNy0wNCAyMDowMzoxNSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSB1c2VsZXNzIGNhbGwgdG8gcGVla19wYXJlbnQKCSAgMjAwODA3MDQyMDAzMTUtM2UyZGMtNmIzMGVmZDJkMzJiNmNhOTY2MDlmNGJkYzBjM2UyODZmNDQ0MTc0Ni5negoKMjAwOC0wNy0wNCAyMDowMDoyOSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgR3N0U2lyZW5FbmMgdXNlIEdTVF8qX09CSkVDVCBhcHByb3ByaWF0ZWx5CgkgIDIwMDgwNzA0MjAwMDI5LTNlMmRjLWY2OGZkYWFhODkyOTAzOWZkODQxM2ZmMGJmOGZmNTE0ZjZlNGZiZTEuZ3oKCjIwMDgtMDctMDQgMTk6NTE6MDIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUG9ydCBzaXJlbmVuYyB0byBnc3RlbGVtZW50CgkgIDIwMDgwNzA0MTk1MTAyLTNlMmRjLWNkNzY4NzUxMmFjNTYwZmFhZjE1ZjUzZTFlMjYyZDE4NzRhMzZjZGYuZ3oKCjIwMDgtMDQtMjggMjI6MjI6MzcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL01ha2VmaWxlLmFtOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTGluayBtb2R1bGVzIHdpdGggbGlibSB3aGVyZSByZXF1aXJlZAoJICAyMDA4MDQyODIyMjIzNy0zZTJkYy1iMWU5MTIwYzFlOWNhMWE1MTBiZmQ3YzI3ZTJkNDVmMGQ0YTEyNTA0Lmd6CgoyMDA4LTA0LTEyIDIzOjQzOjI1ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHJ0cHNpcmVuZGVwYXkuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZWQgZGVidWcgb3V0cHV0CgkgIDIwMDgwNDEyMjM0MzI1LTRmMGY2LTM2Yjk0NmE3Y2EzYWI0ZTU4MDI5MTdiODkzMGYwMzZjNTBhOTNhMjkuZ3oKCjIwMDgtMDQtMTAgMjM6NDM6MjggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vY29tbW9uLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBPdXBzLCB0eXBvCgkgIDIwMDgwNDEwMjM0MzI4LTRmMGY2LTk2MmUzNzVlNzhkYTA1ZWFiNTI4OTJhNTdkMzIyNmZkZDJmZmM4NmQuZ3oKCjIwMDgtMDQtMTAgMDc6MDE6MTYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vLmdpdC1kYXJjcy1kaXI6CgkqIGdzdC9zaXJlbi9NYWtlZmlsZS5hbToKCSogZ3N0L3NpcmVuL2NvbW1vbi5jOgoJKiBnc3Qvc2lyZW4vY29tbW9uLmg6CgkqIGdzdC9zaXJlbi9kY3Q0LmM6CgkqIGdzdC9zaXJlbi9kY3Q0Lmg6CgkqIGdzdC9zaXJlbi9kZWNvZGVyLmM6CgkqIGdzdC9zaXJlbi9kZWNvZGVyLmg6CgkqIGdzdC9zaXJlbi9lbmNvZGVyLmM6CgkqIGdzdC9zaXJlbi9lbmNvZGVyLmg6CgkqIGdzdC9zaXJlbi9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9zaXJlbi9nc3RydHBzaXJlbmRlcGF5Lmg6CgkqIGdzdC9zaXJlbi9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3Qvc2lyZW4vZ3N0cnRwc2lyZW5wYXkuaDoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbi5oOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmg6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuaDoKCSogZ3N0L3NpcmVuL2h1ZmZtYW4uYzoKCSogZ3N0L3NpcmVuL2h1ZmZtYW4uaDoKCSogZ3N0L3NpcmVuL2h1ZmZtYW5fY29uc3RzLmg6CgkqIGdzdC9zaXJlbi9ybWx0LmM6CgkqIGdzdC9zaXJlbi9ybWx0Lmg6CgkqIGdzdC9zaXJlbi9zaXJlbjcuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZGVkIFNpcmVuIGVuY29kZXIvZGVjb2Rlci9wYXlsb2FkZXIvZGVwYXlsb2FkZXIKCSAgMjAwODA0MTAwNzAxMTYtNGYwZjYtNzJmZmJkYmIyNjJmMDdiZmFiZDFlNDY5OTczYTAxYjMzNTliZWU0NS5negoKMjAwOS0wMi0xMCAxODo0NjowMyArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5oOgoJICBBZGQgbGl2ZWFkZGVyIHRvIHRoZSBkb2NzCgoyMDA5LTAyLTEwIDE4OjM4OjExICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBEb2N1bWVudCB0aGUgbGl2ZWFkZGVyCgoyMDA5LTAyLTEwIDE2OjE4OjMyICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5oOgoJICBNb3ZlZCBsaXZlYWRkZXIgZnJvbSBnc3QtcGx1Z2lucy1mYXJzaWdodCB0byAtYmFkCgkgIFJlLWluZGVudCBsaXZlYWRkZXIgaW4gZ3N0IHN0eWxlIGFuZCBhZGQgaXQgdG8gY29uZmlndXJlCgoyMDA4LTEyLTEzIDAwOjA5OjQ2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVXNlIGxvZyBmb3IgbWVzc2FnZSB0aGF0cyBvbiBldmVyeSBidWZmZXIKCjIwMDgtMTItMTEgMTc6NTQ6MTggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvLmdpdC1kYXJjcy1kaXI6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgLmdpdC1kYXJjcy1kaXIgZmlsZXMKCjIwMDgtMDgtMjcgMTc6MTY6MjcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gbGl2ZWFkZGVyIDogSGFuZGxlIGppdHRlciBpbiBpbmNvbWluZyBidWZmZXJzCgkgIEluY29taW5nIGJ1ZmZlcnMgKGVzcGVjaWFsbHkgdGhvc2UgZnJvbSBhbiBSVFAgY29ubmVjdGlvbikgbWlnaHQgaGF2ZSBzbGlnaHQgdGltZXN0YW1wIGppdHRlci4gVGhpcyBpcyBub3JtYWxseSBoYW5kbGVkIGJ5IGF1ZGlvc2luayAoYWNjZXB0aW5nIHVwIHRvIDUwMG1zIG9mIGppdHRlcikuCgkgIEhlcmUgd2UgYWNjZXB0IGEgbWF4aW11bSBqaXR0ZXIgb2YgMTBtcy4gSWYgYSBidWZmZXIgaXMgd2l0aGluIDEwbXMgb2YgdGhlIGV4cGVjdGVkIHRpbWUsIHdlIGNvcnJlY3QgaXRzIHRpbWVzdGFtcC4KCjIwMDgtMDctMDQgMTg6NTc6MjEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBoYW5kbGluZyBvZiBwb3NpdGlvbiBxdWVyeSB0byBsaXZlYWRkZXIKCSAgMjAwODA3MDQxODU3MjEtM2UyZGMtN2E2ODdlMzQ2ZTc0YjQ0ZmE4NDdjNWU1YjZlYjY0YzNlMDk0OTc2NC5negoKMjAwOC0wNS0yMSAxNzoyMDowNSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVwbGFjZSBDOTkgbGxhYnMgd2l0aCBDODkgY29kZQoJICAyMDA4MDUyMTE3MjAwNS0zZTJkYy04ZTYzN2QxZGFhMGUyN2NjMmVkYWUxZmRmZDBkYmYyMzg5NmZiNWJjLmd6CgoyMDA4LTA1LTE1IDAxOjIyOjU3ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZXNldCB2YXJzIGJlZm9yZSByZXN0YXJ0aW5nIHRocmVhZCBvbiBmbHVzaCBzdG9wCgkgIDIwMDgwNTE1MDEyMjU3LTNlMmRjLWUzNTIxNzUyY2YzZWFmMmI4NzY3ZjRjNjIwZWFkZmMyNGE4ZThlMzEuZ3oKCjIwMDgtMDUtMTUgMDE6MjI6MjcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEltcGxlbWVudCBmaXJzdCB2ZXJzaW9uIG9mIHNlZWtpbmcKCSAgMjAwODA1MTUwMTIyMjctM2UyZGMtN2Y1M2Y3OGQxYzNkZmRjZGI2ZTdhZDUzZTZjN2YxNmQ1ZTk5OGEwNS5negoKMjAwOC0wNS0xNSAwMToyMTo0MiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIGR1cmF0aW9uIHF1ZXJ5IGZyb20gYWRkZXIKCSAgMjAwODA1MTUwMTIxNDItM2UyZGMtMjc2ODE5OTE4M2JmYjlkNTY5YmUxMzg5ZTM4MmJlZGMwMmUzZTk1ZS5negoKMjAwOC0wNS0xNSAwMDowMjoxNCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTW92ZSBmbHVzaCBzdG9wIGluc2lkZSB3aGVyZSBpdCBiZWxvbmdzCgkgIDIwMDgwNTE1MDAwMjE0LTNlMmRjLWNkYTVjZGRkMWVhZDVjNDhhNTU0ZTllOWJjNzVhZTY4NDM3YmNkZmIuZ3oKCjIwMDgtMDUtMTQgMjM6NDk6NDggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEhhdmUgdGhlIGxpdmVhZGRlciByZW1lbWJlciBpZiBpdHMgcGxheWluZyBvciBub3QKCSAgMjAwODA1MTQyMzQ5NDgtM2UyZGMtOTA2NGEyN2E1NGFlZjU5ODQ0NGFhNmFkNjQ2MzM0NTk3OTEyMDgyOC5negoKMjAwOC0wNS0xNCAyMzo0OToxMCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHVzaCBvdXQgYnVmZmVyIGlmIHdlJ3JlIG5vdCBwbGF5aW5nIHdoaWxlIHRoZXJlIGlzIG5vIGNsb2NrCgkgIDIwMDgwNTE0MjM0OTEwLTNlMmRjLTEwOTZlYjdkYzNmYWRhMTlhZmM4MWRjZDUzNmQ5ZWRjODIxZDBkYTkuZ3oKCjIwMDgtMDUtMTQgMjM6MjY6NDMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEVtcHR5IHRoZSBxdWV1ZSBvbiBmbHVzaCBzdGFydAoJICAyMDA4MDUxNDIzMjY0My0zZTJkYy01YTNmNTJhM2ZkMzc3MTE2NGRlYTk1YmQxNDQxMGQ3NmI0ZmNlMmFhLmd6CgoyMDA4LTA1LTE0IDIzOjE3OjUyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZXNldCBwYWQgcHJpdmF0ZSBvbiBmbHVzaCBzdG9wCgkgIDIwMDgwNTE0MjMxNzUyLTNlMmRjLTExM2ZlYzJmYWFmYzJkYzExYzFlYWE4MThjYjQ4OGI3MWU2MDFmOWIuZ3oKCjIwMDgtMDUtMTQgMjM6MTY6NDMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFBhc3MgcGFkIGFzIHBhZCB0byByZXNldF9wYWRfcHJpdmF0ZQoJICAyMDA4MDUxNDIzMTY0My0zZTJkYy0wMDY5NjBiOWNkYzNjZThlMWY4OTBkYzZkMTk0Nzc4Y2JjN2M5NzM2Lmd6CgoyMDA4LTA1LTAyIDE5OjEwOjA0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQcmludCBkZWJ1ZyBtZXNzYWdlIGlmIHdlIHJldHVybiBub24tb2sgZnJvbSBjaGFpbgoJICAyMDA4MDUwMjE5MTAwNC0zZTJkYy1mMWY3MjM3YzA2YzExNThjZjI3ZTI5ZDMyYTY5ZGUwNmY3MTEyNTA2Lmd6CgoyMDA4LTA1LTAyIDE5OjA5OjU0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBEb24ndCByZXR1cm4gRU9TIGlmIHdlIGhhdmUgbm8gcGFkcwoJICAyMDA4MDUwMjE5MDk1NC0zZTJkYy00MTM1MTIyNWU5MDllNmQwODM3YTZhNjBlMTg3ZDMzYWIxODZhZDc2Lmd6CgoyMDA4LTA1LTAxIDIwOjMxOjU0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDaGVjayB0aGF0IHRoZSBmb3JtYXQgaXMgTk9UIHRpbWUKCSAgMjAwODA1MDEyMDMxNTQtM2UyZGMtNzgwZTQ2YjFmMGZlNzZhNjZlMmQ3OWEyZWI4NWQ3NjRmZjVmMTgyZi5negoKMjAwOC0wNC0yOCAyMjoxNzozNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRG9uJ3QgdXNlIGdfcXVldWVfY2xlYXIoKQoJICAyMDA4MDQyODIyMTczNy0zZTJkYy1iYjhlNDc0ODc1MWMyOWUwODU3MzEzYTA5Zjg1MDY3YWIxMmMzZmU0Lmd6CgoyMDA4LTA1LTAxIDIwOjA5OjQwICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQYWQgcHVzaCBldmVudCBhZnRlciB0aGUgbG9jayBoYXMgYmVlbiB1bmxvY2tlZAoJICAyMDA4MDUwMTIwMDk0MC0zZTJkYy1hZTVmZWM1Zjc5ZjMyNzc3YmJhNjQ5ZDBkNzAwZDQ5ZjdiZWRmZjQwLmd6CgoyMDA4LTA1LTAxIDE4OjI1OjU0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDcmVhdGUgZ2VuZXJpYyBzZWdtZW50IGlzIG5vbmUgcmVjZWl2ZWQgYW5kIHJlZnVzZSBub24tdGltZSBzZWdtZW50cwoJICAyMDA4MDUwMTE4MjU1NC0zZTJkYy1hY2U1Y2EwMDA0MTQ0MjhkNmQ5NDQ3OGFkYzU5MjdjOWY5MTk3NWRmLmd6CgoyMDA4LTA0LTI5IDE0OjA4OjAyICswMDAwICBTaW1vbiBNY1ZpdHRpZSA8c2ltb24ubWN2aXR0aWVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBtaXNzaW5nIHNlbWljb2xvbiAoZGlkIGFueW9uZSB0ZXN0IHRoaXM/ISkKCSAgMjAwODA0MjkxNDA4MDItNTNlZWUtNDFmZGI0MzkxZWRkYjEyNWI3ZTM0MDE5NDI3Y2ZhNWRjOGFmZDZjMC5negoKMjAwOC0wNC0yOSAwMDozNjowMCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSb2J1c3RuZXNzIGNoZWNrLCBtYWtlIHN1cmUgdGhlIHF1ZXVlIGlzIG5vdCBlbXB0eSBiZWZvcmUgdXNpbmcgdGhlIGhlYWQgZWxlbWVudAoJICAyMDA4MDQyOTAwMzYwMC00ZjBmNi03MDhjNjU0YjY1ODEyY2FlYjM2MTIyNDhkYmUwYjJlNjI1NjdjMjUwLmd6CgoyMDA4LTA0LTI5IDAwOjM0OjEyICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSB1c2VsZXNzIGNvbmRpdGlvbgoJICAyMDA4MDQyOTAwMzQxMi00ZjBmNi05ZTg5MGFkMGFjNDQyNzkxYThiMjI2NTBhNzVjYjc1NGQ3ZjJkNzIzLmd6CgoyMDA4LTA0LTI5IDAwOjAzOjM5ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGNoZWNrIGFnYWluc3QgYXVkaW9fYnVmZmVyX2NsaXAgd2hpY2ggY2FuIHJldHVybiBOVUxMIGlmIHRoZSBidWZmZXIgaXMgb3V0c2lkZSB0aGUgY2xpcHBpbmcgc2VnbWVudAoJICAyMDA4MDQyOTAwMDMzOS00ZjBmNi03ZTRlMzFmMDY2Yjg3ZTI5MjY1ZGRiMzk3ODkyOWU1MWVmYmZmNDdkLmd6CgoyMDA4LTA0LTI4IDIzOjQ5OjQ4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBvYmplY3QgbG9ja2luZyBpbiBzZXRjYXBzCgkgIDIwMDgwNDI4MjM0OTQ4LTRmMGY2LTQ1ODY0MzRiNDMwOGUxMTRmNDk1ZTkyNjk5NmZjMTk0ODNjMTA1NmYuZ3oKCjIwMDgtMDQtMjggMjM6NDk6MzUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVXNlIGdfY29uZF9icm9hZGNhc3QgaW5zdGVhZCBvZiBnX2NvbmRfc2lnbmFsCgkgIDIwMDgwNDI4MjM0OTM1LTRmMGY2LWU1MWZhYjMxNzcyYjMyZjJmYjA4MGFkNzBjNmJlZGVmYzVjMjZkYzYuZ3oKCjIwMDgtMDQtMjggMjM6Mjg6NTEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWF4IGxhdGVuY3kgc2hvdWxkIGFsc28gYmUgaW5jcmVhc2VkIGJ5IG91ciBvd24gbGF0ZW5jeQoJICAyMDA4MDQyODIzMjg1MS00ZjBmNi0wNWY5YTg5NDAzY2Q1NDIxMWYyZjRhNjU5NTcwNDI3MGVhYjk2MTZmLmd6CgoyMDA4LTA0LTI4IDIyOjM2OjA2ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggZGVhZGxvY2sgb24gaW52YWxpZCB0aW1lc3RhbXAgZXJyb3IKCSAgMjAwODA0MjgyMjM2MDYtM2UyZGMtOTYzZTQ4YjMzZWZhZjg0YzE2ZDRlYzRiNzg5YTZkZmIyZDkzNThhZC5negoKMjAwOC0wNC0yOCAxNjoxOTo1OCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGRlZCBjb21tZW50IGZvciBjbGFyaXR5CgkgIDIwMDgwNDI4MTYxOTU4LTRmMGY2LWNiYWExNjZmYmRlOTkwMTNiNTU1YzY5YWI0OGQ5NjRkNzU3NzNhN2YuZ3oKCjIwMDgtMDQtMjggMTY6MTI6MzUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gYWRkZWQgVE9ETyBjb21tZW50cwoJICAyMDA4MDQyODE2MTIzNS00ZjBmNi1mYmM3ODUzM2QyOWQzN2I2NWFkZDZmNjA0NmZlYzE3Y2U1ZTMwY2FlLmd6CgoyMDA4LTA0LTI4IDE1OjU5OjI3ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGNoZWNrX2VvcyB3aWxsIGFsd2F5cyByZXR1cm4gRkFMU0UgaGVyZS4uCgkgIDIwMDgwNDI4MTU1OTI3LTRmMGY2LTFhOTNlMjk1ZDNkZjY4YTk2MzY3Yjc1MDYwYTg5YTk0N2VmYTg5NDQuZ3oKCjIwMDgtMDQtMjggMTU6NDk6NTYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gYWRkZWQgY29tbWVudCBvbiB0aGUgbm8gY2xvY2sgZXJyb3IKCSAgMjAwODA0MjgxNTQ5NTYtNGYwZjYtN2UyNGVkMzFmOWM4MjJlNDMyM2I2ODFhNTRiYzIzZjAzYzFhMzI1ZS5negoKMjAwOC0wNC0yOCAxNTo0ODo1MCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBlcnJvciBpZiBubyBjbG9jayBpcyBhdmFpbGFibGUKCSAgMjAwODA0MjgxNTQ4NTAtNGYwZjYtMzhmZGM0MTM0ODM1YzQ1N2QwMDU0MzAxNTc5ZDhjZDRjYmQ0OTg5YS5negoKMjAwOC0wNC0yNSAyMTowNDo1NiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSByZW5hbWluZyB1bnVzZWQgYXJnCgkgIDIwMDgwNDI1MjEwNDU2LTRmMGY2LWFiMWNkYzk0NGM5YmNkNzc5NTA0MjkyYjIxZGMxNzg3ZDZjYjYyYTEuZ3oKCjIwMDgtMDQtMjUgMjA6Mzk6MzggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gcmVtb3ZlZCB1bnVzZWQgdXNlcl9kYXRhIGFuZCBjb21tZW50ZWQgbGluZQoJICAyMDA4MDQyNTIwMzkzOC00ZjBmNi03ODc3Nzg0NzViNjQ2NDYxZGE0MGYzZTAwMDBhMTBiYzk2ZTE0MmJjLmd6CgoyMDA4LTA0LTI1IDIwOjM3OjM1ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIHJlbW92ZSB1bnVzZWQgY2FzZXMgYW5kIGVtcHR5IHN3aXRjaAoJICAyMDA4MDQyNTIwMzczNS00ZjBmNi1jMDQ0MmZjZjU3ZTNmMDhiODFiYzFiZTNkNjlmNWNmYTAyNTdiNTJhLmd6CgoyMDA4LTA0LTI4IDE4OjM0OjA5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBFeHBsaWNpdCB0aGUgZGlzY29udCBmbGFnIG1hbmdsaW5nCgkgIDIwMDgwNDI4MTgzNDA5LTNlMmRjLTRkYjI1MDVlZWNhMDMzYTYzNDI1M2I2YzJkMmY0ZjEzOThlOWZjY2EuZ3oKCjIwMDgtMDQtMjggMTg6MDc6MTEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVucmVmIGV2ZW50cyB3aGVuIHRoZXkgYXJlIGRyb3BwZWQKCSAgMjAwODA0MjgxODA3MTEtM2UyZGMtZWI2NTk3ODdmMTc5NTYyZjE1NDAyYzgxOWYxODhkZTM5OGRlZWYyZC5negoKMjAwOC0wNC0yNCAyMjo0NjoyNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVXNlIEdsaWIgR197TUFYLE1JTn17VSx9SU5UezgsMTYsMzJ9IG1hY3JvcwoJICAyMDA4MDQyNDIyNDYyNy0zZTJkYy0xMDM2YmM1OGI2YjRkYjJmOWYxMjgzMWNkYmFlM2JjNjEzZmFjYmJmLmd6CgoyMDA4LTA0LTIxIDAzOjI2OjE0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVbmxvY2sgbGl2ZWFkZGVyIGVtcHR5IGJ1ZmZlciBnY29uZCBvbiBmbHVzaAoJICAyMDA4MDQyMTAzMjYxNC0zZTJkYy00ZWQyOWUxNTgzZmY2ODQzMzhiYTVkNzYxMWY2MGIxYTdlYWZmNTYzLmd6CgoyMDA4LTA0LTE4IDE5OjI5OjQxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVbnJlZiBldmVudCBpbnN0ZWFkIG9mIGxlYWtpbmcgaXQKCSAgMjAwODA0MTgxOTI5NDEtM2UyZGMtMzUyZTI1ZjZhYjI5MTYxMmJlMWRjMTM5NzkwMzAzYTEzMzNmNjVkNy5negoKMjAwOC0wNC0wMyAxNzowOTo1NiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gbm9uLXBlcmZlY3Qgc3RyZWFtIGlzbnQgYW4gZXJyb3IsIGxldHMganVzdCBsb2cgaXQKCSAgMjAwODA0MDMxNzA5NTYtM2UyZGMtNjYzZjZhZjhjZTA2N2Y0NGNhMjUxYTg5YWViZjI2MmQ0YjhhMjg2OS5negoKMjAwOC0wNC0wMyAxNjo1NDozMSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gV2UgcmV0aW1lc3RhbXAgdG8gdGhlIHJ1bm5pbmcgdGltZSwgc3RhcnRpbmcgdGhlIHNlZ21lbnRzIGZyb20gMCBzaG91bGQgdGhlcmVmb3JlIHdvcmsKCSAgMjAwODA0MDMxNjU0MzEtM2UyZGMtZDk4MWFjMmY5ZWE3ZmQzYzhkMmJlNGQyMmYxODE3Y2Y3OGM2MTRlNC5negoKMjAwOC0wNC0wMyAxNjo1NDoxNSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRG8gdGhlIG1pbi9tYXggb2YgdGhlIGxhdGVuY2llcyBjb3JyZWN0bHkKCSAgMjAwODA0MDMxNjU0MTUtM2UyZGMtYzExMjRiZDg0ZTY3Y2Y4YTkxMWExNGJiMTIzYjg3MzFkYTlmNGZjNC5negoKMjAwOC0wNC0wMyAwMjoxNDoyNSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IGluZGVudGF0aW9uCgkgIDIwMDgwNDAzMDIxNDI1LTNlMmRjLWVmZDczYTZlZWQwNjc2ZTE1OGFmNzA0ODRkNGU1YzQyZWE3NWRlNzQuZ3oKCjIwMDgtMDQtMDMgMDI6MDM6MTggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFjdGl2YXRlIHBhZHMgYmVmb3JlIGFkZGluZyB0aGVtIGluIGNhc2Ugd2UncmUgYWxyZWFkeSBwbGF5aW5nCgkgIDIwMDgwNDAzMDIwMzE4LTNlMmRjLWFmZDU4Zjk5MmMwYjMwNTcyMjFiOTEwMzRiMmZjZDkxZjI5NmU1MmQuZ3oKCjIwMDgtMDQtMDMgMDI6MDI6NTMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZvciBsYXRlbmNpZXMsIHVzZSB0aGUgbWluIG9mIHRoZSBtYXggYW5kIHRoZSBtYXggb2YgdGhlIG1pbiAoYW5kIHRoZSBtaW4gd2lucyBpZiB0aGV5IGNyb3NzKQoJICAyMDA4MDQwMzAyMDI1My0zZTJkYy1kZGE3ZTQ3MTA3M2VlNzVhNmY2MGU4NDVjM2M1NDZhZjliZTE5Njc1Lmd6CgoyMDA4LTA0LTAzIDAwOjU3OjI4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW5hbWUgbmV4dF90cyBpbnRvIGV4cGVjdGVkX3RzLCBtYWtlIHN1cmUgYWxsIGJ1ZmZlcnMgaGF2ZSBhIGR1cmF0aW9uCgkgIDIwMDgwNDAzMDA1NzI4LTNlMmRjLTgyNDVjZTFiZmVlYmViZmI4Zjc1MDczMjUzYjNjMGUzYzRiNWY1OTYuZ3oKCjIwMDgtMDQtMDMgMDA6NDA6MTIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIERvbid0IHRyeSB0byBzZXQgdGhlIGRpc2NvbnQgZmxhZyBpZiB0aGUgZHVyYXRpb24gb2YgdGhlIHByZXZpb3VzIGluY29taW5nIGJ1ZmZlciB3YXMgbm90IHZhbGlkCgkgIDIwMDgwNDAzMDA0MDEyLTNlMmRjLTZmOTU1MjBjOTI4YzM0NzUwOGJkZjYxODhjODczZWQ3MjRhZDJkZDcuZ3oKCjIwMDgtMDQtMDIgMjI6NDY6MjcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlc2V0IGJ1ZmZlcnMgb2Zmc2V0cyB0byBub25lCgkgIDIwMDgwNDAyMjI0NjI3LTNlMmRjLWQzZWU4YzdkMGMxNDEzMTAxNzg0MmQ4MTU5ZjdmNjg0ZDBjY2VmNmQuZ3oKCjIwMDgtMDQtMDIgMjI6NDY6MTIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEltcG9ydCBhZGRlciBzcmMgZXZlbnQgaGFuZGxpbmcKCSAgMjAwODA0MDIyMjQ2MTItM2UyZGMtMjFhNjgyYjE4ZmUxODc4MmJmN2ZhNDg5ODNjMTNjMWFkODZkYzVhMS5negoKMjAwOC0wMy0zMSAxODo0NDoyMSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHVzaCBvdXQgYSBzaW1wbGUgbmV3c2VnbWVudCBldmVudAoJICAyMDA4MDMzMTE4NDQyMS0zZTJkYy02OTU0NGI1YjAzYWUzYmI4YzFlM2Y5Njc5NzRmZDI1MGQwNDA1NmI1Lmd6CgoyMDA4LTAzLTMxIDE4OjQ0OjA0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBEb24ndCByZXR1cm4gRU9TIGlmIHRoZXJlIGlzIG5vIHNpbmsgcGFkCgkgIDIwMDgwMzMxMTg0NDA0LTNlMmRjLTQ4MmExMzRiNDdlYWRjZDlmMWY5ZDE0NGMwMmFiMTE0NTAyOGZhMDcuZ3oKCjIwMDgtMDMtMzEgMTc6MTE6MTYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlZHVjZSBsb2NraW5nIGEgYml0IGFuZCBjbGVhbnVwIGNvZGUgYSBiaXQKCSAgMjAwODAzMzExNzExMTYtM2UyZGMtNWRkZmIwZTQ1OTAwNDc4MGQzZjdhNjYwYzY0ZjU4MjQzOTM2YTg0NC5negoKMjAwOC0wMy0yOSAwMDo0NToxOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyLy5naXQtZGFyY3MtZGlyOgoJKiBnc3QvbGl2ZWFkZGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIGxpdmVhZGRlciBlbGVtZW50CgkgIDIwMDgwMzI5MDA0NTE4LTNlMmRjLTQwZTQ3NDZmZTgyYmJjNWE4NzFmMDNmZTZmZjYwNDhmNDM2YzlmODUuZ3oKCjIwMDktMDItMTYgMTY6MDg6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJICBicG1kZXRlY3Q6IEZpeCBhY2NpZGVudGFsbHkgaW50cm9kdWNlZCBzdGFjayBvdmVyd3JpdGluZyBpbnRyb2R1Y2VkIGluIGxhc3QgY29tbWl0CgoyMDA5LTAyLTE2IDE2OjA2OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSAgYnBtZGV0ZWN0OiBTYXZlIG9uZSBtZW1vcnkgYWxsb2NhdGlvbiBwZXIgc3RlcmVvIGJ1ZmZlcgoKMjAwOS0wMi0xMyAxMjoxODo0OCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IERvIG5vdCB1c2Ugdm9pZCBwb2ludGVyIGFyaXRobWV0aWMuCgoyMDA5LTAyLTEyIDE3OjMxOjUwIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgIGRzaG93dmlkZW9zaW5rOiBSZXR1cm4gQVNZTkMgYXBwcm9wcmlhdGVseSBmcm9tIGNoYW5nZV9zdGF0ZS4KCSAgTWFrZSBzdXJlIHdlIGRvbid0IGRvIHRoZSB3cm9uZyB0aGluZyB3aGVuIG91ciBiYXNlIGNsYXNzIGlzIHJldHVybmluZwoJICBBU1lOQyBpbiBzdGF0ZSBjaGFuZ2VzLgoKMjAwOS0wMi0xMiAxNTowMTo0OCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJICBkc2hvd2RlY3dyYXBwZXI6IGZpeCBjb21waWxhdGlvbi4KCSAgQWNjaWRlbnRseSBtZXJnZWQgcGFydCBvZiBvbmUgY2hhbmdlOyByZW1vdmUgaXQuCgoyMDA5LTAyLTEyIDIyOjQwOjQ4ICswMTAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBNYWtlIHRoZSBkZW11eGVyIHJldXNhYmxlIGluIFJFQURZLT5QTEFZSU5HLT5SRUFEWS0+UExBWUlORyBjeWNsZXMgYnkgZmx1c2hpbmcgYWRhcHRlcnMgY29ycmVjdGx5LgoKMjAwOS0wMi0xMiAxMDo1Mzo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBBbHNvIGluY2x1ZGUgdGhlIHBpY3R1cmUvc291bmQvZGF0YSBlc3NlbmNlIGNvZGluZyBpbiB0aGUgdW5rbm93biBjYXBzCgoyMDA5LTAyLTEyIDA5OjQ2OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IFVwZGF0ZSBUT0RPLCB3ZSBzaG91bGQgc3VwcG9ydCB0aGUgZHJvcC1mcmFtZSBwcm9wZXJ0eSBvZiB0aW1lY29kZSB0cmFja3MKCjIwMDktMDItMTIgMDg6NDY6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGZkZW11eDogRml4IHJlc29sdmFsIG9mIGlkZW50aWZpY2F0aW9ucyBmcm9tIHRoZSBwcmVmYWNlCgoyMDA5LTAyLTExIDE4OjQwOjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmRtczEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBteGZkZW11eDogUGFyc2UgTVhGVGltZXN0YW1wJ3MgbWlsbGlzZWNvbmRzIGFuZCBhZGQgX3RvX3N0cmluZygpIGZ1bmN0aW9uCgoyMDA5LTAyLTEwIDE0OjIzOjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IFVwZGF0ZSBUT0RPCgoyMDA5LTAyLTEyIDEwOjQ2OjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSAgbWV0YWRhdGE6IGFsc28gcG9zdCBlcnJvciBtZXNzYWdlIHdoZW4gcmV0dXJuaW5nIGVycm9yCgoyMDA5LTAyLTExIDE3OjIzOjAzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNzY2hhbGxlQGNyYXp5aG9yc2UubG9jYWxkb21haW4+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcywgYWxzbyBhZGQgc29tZSBtaXNzaW5nIGRpc3RpbmcgZGlyZWN0b3JpZXMgdG8gYSBjb3VwbGUgb2YgTWFrZWZpbGVzLmFtIGZpbGVzCgoyMDA5LTAyLTExIDE3OjIxOjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IEZpeCBjb21waWxhdGlvbiwgYWN0aXZhdGVfc2lua3BhZCgpIGhhcyBubyBub3RpZnkgcGFyYW1ldGVyCgoyMDA5LTAyLTEwIDE2OjIyOjU0IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0LXNlbGVjdG9yOiBBY3RpdmF0ZSBhbmQgbm90aWZ5IHBhZCBiZWZvcmUgcHJvY2Vzc2luZyBldmVudHMuCgkgIEV2ZW50cyBzaG91bGQgdHJpZ2dlciBwYWQgc2VsZWN0aW9uIGlmIHdlIGRvbid0IGFscmVhZHkgaGF2ZSBhbgoJICBleHBsaWNpdGx5IHNlbGVjdGVkIHBhZCwgc28gdGhhdCBldmVudHMgcHJpb3IgdG8gZmlyc3QgYnVmZmVyIGRvbid0IGdldAoJICBsb3N0LgoKMjAwOS0wMi0xMSAwMTo1NDowMyArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogU2FuaXRpemUgY29uc3RhbnRzIHVzZWQgZm9yIGVsZW1lbnQgZmFjdG9yeSBuYW1lcy4KCjIwMDktMDItMTEgMDE6MjQ6NTEgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFVzZSB2NGwyc3JjIGFzIGRlZmF1bHQgc291cmNlLgoKMjAwOS0wMi0xMSAwMTowNzowNCArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzLy5naXRpZ25vcmU6CgkgIHBob3RvZ3JhcGh5IGludGVyZmFjZTogLmdpdGlnbm9yZSBnZW5lcmF0ZWQgZmlsZXMuCgoyMDA5LTAyLTExIDAxOjAyOjQyICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHktZW51bXR5cGVzLmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LWVudW10eXBlcy5oOgoJKiB3aW4zMi9jb21tb24vcGhvdG9ncmFwaHktZW51bXR5cGVzLmM6CgkqIHdpbjMyL2NvbW1vbi9waG90b2dyYXBoeS1lbnVtdHlwZXMuaDoKCSAgcGhvdG9ncmFwaHkgaW50ZXJmYWNlOiBNb3ZlIGdlbmVyYXRlZCBmaWxlcyB0byB3aW4zMi9jb21tb24uCgoyMDA5LTAyLTExIDAwOjI4OjUzICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2NhbWVyYWJpbi8uZ2l0aWdub3JlOgoJICBjYW1lcmFiaW46IEFkZCAuZ2l0aWdub3JlIHRvIGhpZGUgZ2VuZXJhdGVkIHNpZ25hbCBtYXJzaGFsbGVyIGZpbGVzLgoKMjAwOS0wMi0xMSAwMDoxOToyMiArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRml4IHBsdWdpbiBkZXRhaWxzIHRvIHVzZSBHU1RfUEFDS0FHRV8qIHZhbHVlcy4KCjIwMDktMDItMTEgMDA6MTU6NDMgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEZpeCBsaWNlbnNlIHNwZWNpZmllZCBpbiBwbHVnaW4gZGV0YWlscy4KCjIwMDktMDItMTAgMTI6Mjg6NTggLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSAgZHNob3dkZWN3cmFwcGVyOiBQYXNzIHBpeGVsIGFzcGVjdCB0aHJvdWdoIGZyb20gZGVtdXhlcnMsIGlmIHN1cHBsaWVkLgoJICBJZiB0aGUgaW5jb21pbmcgY2FwcyBoYXZlIGEgcGl4ZWwtYXNwZWN0LXJhdGlvLCBlbnN1cmUgaXQncyBzZXQgb24gdGhlCgkgIG91dHB1dC4gQ29ycmVjdHMgUEFSIGZvciBtYW55IChidXQgcHJvYmFibHkgbm90IGFsbCkgZmlsZXMuCgoyMDA5LTAyLTEwIDEyOjI2OjI1IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkgIGRzaG93ZGVjd3JhcHBlcjogTWFrZSBhdWRpbyBkZWNvZGVycyBoYXZlIFNFQ09OREFSWSByYW5rLgoJICBUaGVzZSB3cmFwcGVycyBhcmUgbm90IGlkZWFsLCBhbmQgZm9yIG1hbnkgb2YgdGhlc2UgZm9ybWF0cyB0aGVyZSBhcmUKCSAgYmV0dGVyIGdzdHJlYW1lciBlbGVtZW50cyBhdmFpbGFibGUuIFNvLCBtYWtlIHRoZSByYW5rIFNFQ09OREFSWS4gSW4KCSAgcGFydGljdWxhciwgdGhlIG1wMyBkZWNvZGVyIG9uIHdpblhQIGRvZXNuJ3Qgd29yayB2ZXJ5IHdlbGwuCgoyMDA5LTAyLTEwIDEyOjEyOjAzIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZGVjd3JhcHBlci5jOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuYzoKCSAgZHNob3dkZWN3cmFwcGVyOiBEZWxldGUgb2xkIC5jIGZpbGVzIHRoYXQgYXJlIHVudXNlZAoJICBUaGVzZSBvbGQgZmlsZXMgYXJlIHN0YWxlOyB0aGUgcGx1Z2luIHdhcyByZXdyaXR0ZW4gaW4gYysrIGFnZXMKCSAgYWdvLiBOb3Qgc3VyZSB3aHkgdGhlc2UgYXJlIGhhbmdpbmcgYXJvdW5kLgoKMjAwOS0wMi0xMCAxMDoxNzo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkgIGJwbWRldGVjdDogUGFzcyBhdCBtb3N0IDIwNDggc2FtcGxlcyB0byBTb3VuZFRvdWNoJ3MgQlBNRGV0ZWN0CgkgIEludGVybmFsbHkgQlBNRGV0ZWN0IGFzc3VtZXMgdGhhdCBhdCBtb3N0IDIwNDggc2FtcGxlcyBhcmUgcGFzc2VkCgkgIHRvIGl0IGF0IG9uY2UgYW5kIHN0b3JlcyB0aG9zZSBpbiBhIHN0YWNrIGFsbG9jYXRlZCBzdGF0aWMgc2l6ZWQKCSAgYXJyYXkuIElmIHdlIHBhc3MgdG9vIG1hbnkgc2FtcGxlcyB0aGlzIHdpbGwgcmVzdWx0IGluIGEgYnVmZmVyIG92ZXJmbG93CgkgIHJlc3VsdGluZyBpbiBoZWF2eSBzdGFjayBjb3JydXB0aW9uIGFuZCBhIGNyYXNoLiBGaXhlcyBidWcgIzU3MDk5Ni4KCjIwMDktMDItMDkgMTc6NTg6NDIgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL2FjbW1wM2RlYy9hY21tcDNkZWMuYzoKCSAgYWNtbXAzZGVjOiBmaXggbWFqb3IgbWVtb3J5IGxlYWtzIGFuZCBjbGVhbiB1cCBjb2RlLgoJICBVbnJlZiBpbmNvbWluZyBidWZmZXJzIHdoZW4gd2UncmUgZG9uZS4KCSAgUmVpbmRlbnQsIGNsZWFuIHVwIHdoaXRlIHNwYWNlLiBGaXggY29tbWVudHMuCgoyMDA5LTAyLTA5IDE4OjE0OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEFmdGVyIHB1bGxpbmcgdGhlIGZvb3RlciBtZXRhZGF0YSByZXNldCBlc3NlbmNlIHRyYWNrIHBvc2l0aW9ucyB0byAwCgoyMDA5LTAyLTA5IDE3OjU1OjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IFdoZW4gdHJ5aW5nIHRvIGZpbmQgYW4gZXNzZW5jZSB0cmFjayBwb3NpdGlvbiB0cnkgdG8gZmluZCBwb3NpdGlvbisxIHRvbwoJICBCeSBzZWFyY2hpbmcgZm9yIHRoZSBmb2xsb3dpbmcgcG9zaXRpb24gd2Ugd2lsbCBhZGQgdGhlIGNvbXBsZXRlCgkgIGdlbmVyaWMgY29udGFpbmVyIChpLmUuIGFsbCB0cmFja3MpIGF0IHRoZSBzYW1lIHBvc2l0aW9uIHRvIHRoZQoJICBpbmRleCB3aGljaCBzaG91bGQgbWFrZSBmaW5kaW5nIHBvc2l0aW9ucyBmb3IgbW9yZSB0aGFuIG9uZSB0cmFjawoJICBhIGJpdCBmYXN0ZXIuCgoyMDA5LTAyLTA5IDE3OjQ4OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEZvciBuZXcgZXNzZW5jZSB0cmFja3Mgb25seSBzZXQgdGhlIHBvc2l0aW9uIHRvIDAgaWYgaXQgc3RhcnRzIGluIHRoZSBjdXJyZW50IHBhcnRpdGlvbgoKMjAwOS0wMi0wOSAxNzo0NDo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBDaGVjayBpZiB0aGUgbGVuZ3RoIG9mIHRoZSBzcmMvZXNzZW5jZSB0cmFjayBhcnJheXMgYXJlIDAsIG5vdCB0aGUgYXJyYXkgaXRzZWxmCgoyMDA5LTAyLTA5IDE3OjI1OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IE1ha2Ugc3VyZSB0aGF0IHRoZSBzcmNwYWQgYW5kIGVzc2VuY2UgdHJhY2sgYXJyYXlzIGFsd2F5cyBleGlzdAoKMjAwOS0wMi0wOSAxNjoxMjo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBDaGFuZ2Ugc29tZSBHU1RfRVJST1JzIHRvIHNvbWV0aGluZyBsZXNzIGNyaXRpY2FsCgoyMDA5LTAyLTA5IDE2OjA5OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IE9ubHkgZ28gaW50byBFT1MgYW5kIHNlbmQgc2VnbWVudC1kb25lIGFmdGVyIGFsbCB0cmFja3MgYXJlIGZpbmlzaGVkCgoyMDA5LTAyLTA5IDE2OjA5OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZ1cC5jOgoJICBteGZkZW11eDogVXBkYXRlIFRPRE8KCjIwMDktMDItMDkgMTU6NDg6MjAgKzAxMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkgIEZpeCBidWlsZCBmb3IgY2FtZXJhYmluLgoKMjAwOS0wMi0wOSAxMjowMjo1MCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQnVtcCByZXZpc2lvbiB0byB1c2UgZm9yIGNvbW1vbiBzdWJtb2R1bGUuCgoyMDA5LTAxLTMwIDE2OjA5OjMwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkgIE1vcmUgZmlsZXMgdG8gaWdub3JlCgoyMDA5LTAyLTA1IDIzOjA2OjIzICswMjAwICBOb2tpYSBDb3Jwb3JhdGlvbiA8bXVsdGltZWRpYUBtYWVtby5vcmc+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3RzOiBBZGQgY2FtZXJhYmluIHVuaXQgdGVzdHMuCgoyMDA5LTAyLTA1IDE1OjQ4OjMyICswMjAwICBOb2tpYSBDb3Jwb3JhdGlvbiA8bXVsdGltZWRpYUBtYWVtby5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluY29sb3JiYWxhbmNlLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluY29sb3JiYWxhbmNlLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnhvdmVybGF5LmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlueG92ZXJsYXkuaDoKCSAgQWRkIGNhbWVyYWJpbiBlbGVtZW50LgoKMjAwOS0wMi0wNiAxMjowNjoyMyArMDIwMCAgTm9raWEgQ29ycG9yYXRpb24gPG11bHRpbWVkaWFAbWFlbW8ub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS1lbnVtdHlwZXMuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHktZW51bXR5cGVzLmg6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIEFkZCBwaG90b2dyYXBoeSBpbnRlcmZhY2UuCgoyMDA5LTAyLTA5IDA3OjMzOjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEZpeCBzZWVraW5nIHRvIHRoZSBlbmQgb2YgZmlsZQoJICBXaGVuIHNlZWtpbmcgdG8gYSBwb3NpdGlvbiB3aGVyZSBubyBuZXcgb2Zmc2V0IGNhbiBiZQoJICBmb3VuZCBvciBhZnRlciB0aGUgZW5kIG9mIGEgdHJhY2sgZG9uJ3Qgc2V0IHRoZSBFT1MgZmxhZwoJICB0byBUUlVFIGFzIHdlIGRvbid0IChhbmQgY2FuJ3QpIHB1c2ggRU9TIGRvd25zdHJlYW0gdGhlbi4KCSAgSW5zdGVhZCBzZXQgdGhlIGN1cnJlbnQgZXNzZW5jZSB0cmFjayBwb3NpdGlvbiB0byB0aGVuCgkgIGVuZCBvZiB0aGUgZXNzZW5jZSB0cmFjayBhbmQgbGV0IHRoZSBsb29wIG9yIGNoYWluIGZ1bmN0aW9uCgkgIHNldCBldmVyeXRoaW5nIHRvIEVPUyBhbmQgcHVzaCBFT1MgZG93bnN0cmVhbS4KCSAgQWxzbyByZXN0YXJ0IHRoZSBwYWQncyB0YXNrIGlmIHJlc29sdmluZyBtZXRhZGF0YSBmYWlsZWQKCSAgKHBsYXliYWNrIHdpbGwgY29udGludWUgYXMgYmVmb3JlKSBhbmQgcmV0dXJuIEZBTFNFIGZyb20KCSAgdGhlIHNlZWsgaWYgbm8gbmV3IG9mZnNldCBjb3VsZCBiZSBmb3VuZC4KCjIwMDktMDItMDggMjE6NTI6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRml4IGxhc3Rfc3RvcCBjYWxjdWxhdGlvbiB3aGVuIHNlZWtpbmcKCjIwMDktMDItMDggMjE6MzE6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGZkZW11eDogUmVzb2x2ZSBzb3VyY2UgcGFja2FnZSBiZWZvcmUgYWNjZXNzaW5nIGl0J3MgbWVtYmVycwoKMjAwOS0wMi0wOCAyMToyMzowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgbXhmZGVtdXg6IENvcnJlY3RseSBpbXBsZW1lbnQgdGltZXN0YW1waW5nIGluIGFsbCBjYXNlcwoJICBXaGVuIHRoZSBtYXRlcmlhbCBwYWNrYWdlIHRyYWNrIGFuZCBzb3VyY2UgcGFja2FnZSB0cmFjawoJICBlZGl0IHJhdGUgYXJlIGRpZmZlcmVudCB0aGUgc291cmNlIHBhY2thZ2UgdHJhY2sgZWRpdAoJICByYXRlIGFwcGxpZXMgdG8gdGhlIHN0b3JlZCBlc3NlbmNlIGFuZCB0aGUgbWF0ZXJpYWwgdHJhY2sKCSAgZWRpdCByYXRlIG9ubHkgYXBwbGllcyB0byB0aGUgdmFsdWVzIGluIHRoZSB0cmFjaydzIHNlcXVlbmNlCgkgIGFuZCBjb21wb25lbnRzLgoKMjAwOS0wMi0wOCAyMToyMjoxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBDb3JyZWN0bHkgaGFuZGxlIERVUkFUSU9OIHF1ZXJpZXMgd2l0aCBhIG5lZ2F0aXZlIGR1cmF0aW9uCgoyMDA5LTAyLTA4IDIxOjE3OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IFdoZW4gY2hhbmdpbmcgdG8gdGhlIGNvbXBvbmVudCBhZnRlciB0aGUgbGFzdCBjb21wb25lbnQgdXBkYXRlIHRoZSBlc3NlbmNlIHRyYWNrIHBvc2l0aW9uCgoyMDA5LTAyLTA4IDIxOjEyOjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IFNtYWxsIGNsZWFudXAgYW5kIGFuIGFkZGl0aW9uYWwgY2hlY2sKCSAgVXBkYXRlIFRPRE8gbGlzdCwgcmVkdWNlIHNpemUgb2YgYSBzdGFjayBhbGxvY2F0ZWQgc3RyaW5nCgkgIGFuZCBkb24ndCBhbGxvdyBlc3NlbmNlIHRyYWNrcyB3aXRoIGFuIGludmFsaWQgZWRpdCByYXRlCgoyMDA5LTAyLTA4IDA3OjMwOjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmZGVtdXg6IEZvciBtYXRlcmlhbCBwYWNrYWdlcyBtYWtlIHN1cmUgdGhhdCB0cmFja3MgcmVzb2x2ZSB0byBzb3VyY2UgdHJhY2tzCgoyMDA5LTAyLTA3IDEwOjM4OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZwYXJzZS5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkqIGdzdC9teGYvbXhmdmMzLmM6CgkgIG14ZmRlbXV4OiBBZGQgc3VwcG9ydCBmb3Igbm9uLXN0YW5kYXJkIEF2aWQgTVhGIGZpbGVzIGNvbnRhaW5pbmcgRE54SEQgZXNzZW5jZQoJICBBdmlkIHVzZXMgYSBjdXN0b20gZXNzZW5jZSBjb250YWluZXIgVUwgYW5kIGN1c3RvbSBlc3NlbmNlIGVsZW1lbnQga2V5cwoJICB0aGF0IGFyZSBmb3J0dW5hdGVseSBjb21wYXRpYmxlIHdpdGggdGhlIGdlbmVyaWMgY29udGFpbmVyIGVzc2VuY2UKCSAgZWxlbWVudHMuIFBhcnRpYWxseSBmaXhlcyBidWcgIzU2MTkyMi4KCjIwMDktMDItMDcgMTA6MTM6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIG14ZmRlbXV4OiBNYWtlIGVzc2VuY2UgdHJhY2sgY3JlYXRpb24gYSBiaXQgbW9yZSByb2J1c3QgYWdhaW5zdCBicm9rZW4gZmlsZXMKCSAgU29tZSBmaWxlcyBjb250YWluIG11bHRpcGxlIHRyYWNrcyB3aXRoIHRoZSBzYW1lIHRyYWNrIG51bWJlciBidXQgZGlmZmVyZW50CgkgIHRyYWNrIGlkIGluc2lkZSB0aGUgc2FtZSBzb3VyY2UgcGFja2FnZS4gVGhpcyBpcyBpbnZhbGlkIGFuZCB3ZSBzaW1wbHkgaWdub3JlCgkgIHRoZSBzZWNvbmQgYW5kIGZvbGxvd2luZyBvZiBzdWNoIHRyYWFja3Mgbm93IGluc3RlYWQgb2Ygb3ZlcndyaXRpbmcgdGhlCgkgIGluZm9ybWF0aW9uIG9mIHRoZSBmaXJzdCBvbmUuCgoyMDA5LTAyLTA3IDEwOjAzOjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmZGVtdXg6IERvbid0IGluY2x1ZGUgbXVsdGlwbGUgZGVzY3JpcHRvcnMgaW4gdGhlIHRyYWNrJ3MgZGVzY3JpcHRvcnMKCjIwMDktMDItMDcgMDk6Mjc6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkdi1kaWYuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgIG14ZmRlbXV4OiBBZGQgc3VwcG9ydCBmb3Igbm9uLXN0YW5kYXJkIEF2aWQgTVhGIGZpbGVzIGNvbnRhaW5pbmcgRFYgZXNzZW5jZQoJICBBdmlkIHVzdWFsbHkgdXNlcyBhIGN1c3RvbSBlc3NlbmNlIGNvbnRhaW5lciBsYWJlbCBmb3IgdGhlIGVzc2VuY2UKCSAgZGVzY3JpcHRvcnMgYW5kIHN0b3JlcyB0aGUgYWN0dWFsIGNvZGVjIHRoYXQgaXMgdXNlZCBpbnNpZGUgdGhlCgkgIHBpY3R1cmUgZXNzZW5jZSBjb2RpbmcgZmllbGQgKGFuZCBmb3Igc291bmQgcHJvYmFibHkgaW4gdGhlIHNvdW5kCgkgIGVzc2VuY2UgY29kaW5nIGZpZWxkIGJ1dCBJIGhhdmUgbm8gc2FtcGxlIGZpbGVzIHdpdGggc291bmQpLgoJICBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1NjE5MjIuCgoyMDA5LTAyLTA2IDExOjU3OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmZGVtdXg6IEFkZCBkYXRhIGRlZmluaXRpb24gZm9yIEF2aWQgdmVuZG9yIHNwZWNpZmljIHBpY3R1cmUgZXNzZW5jZQoKMjAwOS0wMi0wNiAxMTo1NTo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBGb3IgdHJhY2tzIHdpdGggbm8ga25vd24gbWFwcGluZyB1c2UgZHVtbXkgY2FwcwoKMjAwOS0wMi0wNiAxMToyMTowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBEb24ndCByZW1vdmUgaW52YWxpZCBuZXcgZXNzZW5jZSB0cmFjayB0d2ljZSBmcm9tIHRoZSBHUHRyQXJyYXkKCjIwMDktMDItMDYgMTE6MDk6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIG14ZmRlbXV4OiBJbXBsZW1lbnQga2V5ZnJhbWUgZGV0ZWN0aW9uIGZvciBNUEVHNCB2aWRlbyBzdHJlYW1zCgoyMDA5LTAyLTA2IDEwOjQ2OjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEhhbmRsZSBzb21lIG1vcmUgc3BlY2lhbCBjYXNlcyB3aGVuIHNldHRpbmcgdGhlIHBvc2l0aW9uIHdoZW4gc2Vla2luZwoKMjAwOS0wMi0wNiAxMDo0NjowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBBZGp1c3QgbGFzdF9zdG9wIHRvIHRoZSBsYXN0IGtleWZyYW1lIHdoZW4gc2Vla2luZwoKMjAwOS0wMi0wNiAxMDowNjo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBGaXggbG9naWMgZm9yIGZpbmRpbmcgdGhlIHByZXZpb3VzIGtleWZyYW1lCgoyMDA5LTAyLTA2IDA5OjUzOjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZDEwLmM6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbXhmL214Zm1wZWcuaDoKCSAgbXhmZGVtdXg6IEFkZCBrZXlmcmFtZSBkZXRlY3Rpb24gZm9yIE1QRUcyIHZpZGVvIHN0cmVhbXMKCSAgVGhpcyBpcyB1c2VmdWwgZm9yIHNlZWtpbmcgYXMgd2UgdXN1YWxseSB3YW50IHRvIHNlZWsgdG8gdGhlIHByZXZpb3VzCgkgIGtleWZyYW1lLiBUaGUga2V5ZnJhbWUgZGV0ZWN0aW9uIGlzIGRvbmUgYnkgcGFyc2luZyB0aGUgTVBFRzIKCSAgZWxlbWVudGFyeSBzdHJlYW0gYW5kIGlmIGEgR09QIG9yIEktZnJhbWUgcGFja2V0IGlzIGZvdW5kIHdlCgkgIGFzc3VtZSBhIGtleWZyYW1lIGluIHRoaXMgZWRpdCB1bml0LgoKMjAwOS0wMi0wNSAyMToyOToyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgbXhmZGVtdXg6IFByb3RlY3QgdGhlIG1ldGFkYXRhIHdpdGggYSBsb2NrIGFnYWluc3QgY29uY3VycmVudCBhY2Nlc3MKCjIwMDktMDItMDUgMTc6NDI6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgUmFuZG9tIGNsZWFudXAgYW5kIHNtYWxsZXIgYnVnZml4ZXMKCSAgVXNlIGdzdF9lbGVtZW50X2tsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpLCBpbnN0YWxsIHByb3BlcnRpZXMKCSAgd2l0aCBzdGF0aWMgc3RyaW5ncywgY3JlYXRlIHBhZHMgZGlyZWN0bHkgZnJvbSB0aGUgc3RhdGljIHBhZAoJICB0ZW1wbGF0ZXMsIGRpcmVjdGx5IHB1dCB0aGUgc2VnbWVudCBpbnRvIHRoZSBpbnN0YW5jZSBzdHJ1Y3QsCgkgIHVzZSBHU1RfTVNFQ09ORCBpbnN0ZWFkIG9mIG51bWJlcnMuCgkgIFRoZSBQQVIgaXMgYSBHc3RGcmFjdGlvbiBhbmQgbm90IGEgZG91YmxlLCB1c2UgZ3N0X3N0cnVjdHVyZV9nZXRfZnJhY3Rpb24oKS4KCSAgU2ltcGxpZnkgc2V0Y2FwcygpIGZ1bmN0aW9ucy4KCjIwMDktMDItMDUgMTc6MDA6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9NYWtlZmlsZS5hbToKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgVXNlIEdTVF9WSURFT19DQVBTX1JHQiBmb3IgdGhlIHRlbXBsYXRlIGNhcHMKCjIwMDktMDItMDUgMTY6NTc6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDA5LTAyLTA1IDE2OjU0OjAxICswMTAwICBCZW5qYW1pbiBTY2htaXR6IDx2b3J0ZXhAd29scHpvbmUuZGU+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2Fzc3JlbmRlci9NYWtlZmlsZS5hbToKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgQWRkIGFzc3JlbmRlciBwbHVnaW4gZm9yIHJlbmRlcmluZyBBU1MvU1NBIHN1YnRpdGxlcwoJICBUaGlzIGVsZW1lbnQgaGFzIHRoZSBhZHZhbnRhZ2Ugb3ZlciBzdWJwYXJzZSdzIEFTUy9TU0EKCSAgc3VwcG9ydCB0aGF0IG1vcmUgZmVhdHVyZXMgYXJlIHN1cHBvcnRlZCwgbGlrZSBmYWRpbmcsCgkgIGJ5IHVzaW5nIGxpYmFzcy4gRml4ZXMgYnVnICM0ODEwNzUuCgoyMDA5LTAyLTA1IDEwOjUwOjI3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL21ldGFkYXRhLmM6CgkgIG1ldGFkYXRhIHRlc3Q6IEZpeCB3cm9uZyBsb29waW5nIHZhcmlhYmxlLiBUZXN0IGlzIG5vdyB2YWxpZCAoYnV0IGZhaWxzKS4KCSAgVGhlIGlubmVyIGxvb3Bpbmcgd2FzIHVzaW5nIHRoZSBvdXRlciBsb29waW5nIHZhcmlhYmxlLgoKMjAwOS0wMi0wNCAxODoxMTowMyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSAgRml4IHVwIHRoaW5ncyB0aGF0IHRoZSBpbmRlbnQgdGhpbmd5IGNvbXBsYWluZWQgYWJvdXQKCjIwMDktMDItMDQgMTg6MDk6NTggLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkgIEZpeCBtYWpvciBsZWFrcyBpbiBxdHdyYXBwZXIgYXVkaW8gZGVjb2RlcnMuCgkgIEZyZWUgdGhlIGRlY29kZXIgY29tcG9uZW50IGFuZCBhdWRpb2J1ZmZlcmxpc3Qgd2hlbiBjYXBzIGNoYW5nZSwgb3Igd2hlbgoJICBkaXNwb3NpbmcgZWxlbWVudC4KCjIwMDktMDItMDQgMTc6NTA6NTEgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9mYWtlc3JjLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9mYWtlc3JjLmg6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5oOgoJICBIYW5kbGUgbWFueSBtb3JlIGVkZ2UgY2FzZXMgaW4gZHNob3d2aWRlb3NpbmsuCgkgIEluc3RydW1lbnQgdmFyaW91cyBjb2RlcGF0aHMgd2l0aCBkZWJ1ZyBtZXNzYWdlcy4KCSAgSGFuZGxlIChhcyBiZXN0IGFzIEkgY291bGQgc2VlIGhvdyAtIGl0J3MgcHJldHR5IG5hc3R5KSBtb3ZpbmcgYSB2aWRlbwoJICB3aW5kb3cgdG8gYW5vdGhlciBtb25pdG9yLgoJICBBZGQgbGlzdGVuaW5nIGZvciBkaXJlY3RzaG93IGV2ZW50cy4KCjIwMDktMDItMDQgMjI6NTA6MzAgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdwc2RlbXV4OiBmaXhlcyBjbG9zc2luZyBzZWdtZW50IGdlbmVyYXRpb24uCgkgIEVuc3VyZSB0aGF0IHRoZSBjbG9zc2luZyBzZWdtZW50IGlzIGdlbmVyYXRlZCBjb3JyZWN0bHkgYW5kIGJlaW5nCgkgIHByb3Blcmx5IHB1c2hlZC4KCSAgQWRkZWQgc29tZSBHU1RfREVCVUcgdG8gY2hlY2sgaXQuCgkgIEVuc3VyZSB0aGF0IGxhc3Rfc3RvcCBpcyB1cGRhdGVkIGluIHN0cmVhbSB0aW1lLgoJICBDYWxjdWxhdGUgZHVyYXRpb24gYXMgZGVsdGEgb2YgUFRTIGFzIGl0IHNlZW1zIG1vcmUgY29ycmVjdCB0aGFuIGRlbHRhCgkgIG9mIFNDUiBpbiBzb21lIGNsaXBzIHRoYXQgSSB0ZXN0ZWQuCgoyMDA5LTAyLTA0IDIyOjE3OjM2ICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogc2V2ZXJhbCBmaXhlcyBvbiB0aGUgc2Vla2luZyBmdW5jdGlvbiBpbiBwdWwgbW9kZS4KCSAgUmVtb3ZlZCBhIGxpbmUgd3JvbmdseSBjb3B5IHBhc3RlZCBpbiBteSBwcmV2aW91cyBjb21taXQuCgkgIEF2b2lkIGFuIHVuc2lnbmVkIGludGVnZXIgb3ZlcmZsb3cuCgkgIFNlZWsgbGFzdF9zdG9wIGluIHN0cmVhbSB0aW1lLgoJICBDbGFtcCBsYXN0X3N0b3AgaW4gc3RyZWFtIHRpbWUgYmV0d2VlbiBmaXJzdCBhbmQgbGFzdCBTQ1IuCgkgIEZpeGVkIGEgdHlwbyBpbiB0aGUgR1NUX0RFQlVHIGxpbmUgYW5kIGFkZGVkIHNvbWUgbW9yZSBpbmZvLgoKMjAwOS0wMi0wNCAxNjoyMDo0MCArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgTW92ZWQgdmFyIGRlY2xhcmF0aW9ucyB0byB0aGUgYmVnaW4gb2YgZnVuY3Rpb24KCjIwMDktMDItMDQgMTY6MTg6MjcgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBvZiBzc2g6Ly9naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtYmFkCgoyMDA5LTAyLTA0IDE2OjExOjIzICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBJbXByb3ZlZCBzZWVraW5nIGluIHB1bGwgbW9kZS4gU29tZSByZWZhY3RvcmluZyBhbmQgc21hbGwgZml4ZXMKCjIwMDktMDItMDQgMTE6MTE6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBVcGRhdGUgVE9ETwoKMjAwOS0wMi0wNCAxMTowOToyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zi5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgUG9zdCBhbiBVTUlEIHRhZyB3aXRoIHRoZSBjdXJyZW50IHBhY2thZ2UncyBVTUlECgoyMDA5LTAyLTA0IDEwOjU5OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgUmVzZXQgdGhlIGN1cnJlbnQgcGFydGl0aW9uIGFmdGVyIHNlZWtpbmcgYW5kIE5FV1NFR01FTlQgZXZlbnRzCgoyMDA5LTAyLTA0IDEwOjUzOjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgSW4gcHVzaCBtb2RlIHBsYXkgYWxsIHJlbWFpbmluZyBwYXJ0cyBvZiB0aGUgZmlsZSBvbiBFT1MgaWYgdGhlcmUgYXJlIGFueQoKMjAwOS0wMi0wNCAxMDozNzoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgQWRkIHByb3BlcnR5IHRvIHNldCB0aGUgbWF4aW11bSBhbGxvd2VkIHRpbWUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRyYWNrcwoKMjAwOS0wMi0wNCAxMDoyNzowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEFsd2F5cyBzZXQgdGhlIGN1cnJlbnQgcGFja2FnZSwgbm90IG9ubHkgd2hlbiBpdCB3YXMgY2hhbmdlZAoJICBUaGlzIGlzIG5lY2Vzc2FyeSBhcyB0aGUgY3VycmVudCBwYWNrYWdlIGxpbmsgd2lsbCBiZSBzZXQgdG8gTlVMTAoJICB3aGVuIHVwZGF0ZWQgbWV0YWRhdGEgaXMgcGFyc2VkIGFuZCBzaG91bGQgYmUgc2V0IGhlcmUgYWdhaW4uCgoyMDA5LTAyLTA0IDEwOjE5OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgVHJ5IHRvIHJlc29sdmUgYWxsIHN5bmNocm9uaXphdGlvbiBpc3N1ZXMsIG5vdCBvbmx5IHRoZSBmaXJzdAoKMjAwOS0wMi0wMyAxNzo0NzoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIFJlbW92ZSBzb21lIGNoZWNrcyB0aGF0IHdpbGwgYWx3YXlzIGJlIFRSVUUKCjIwMDktMDItMDMgMjI6Mjc6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9ucwoKMjAwOS0wMi0wMiAyMzoyOToyNCArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIEFsc28gZmx1c2ggcGFyc2VyIHdoZW4gYSBuZXdzZWdtZW50IGlzIHJlY2VpdmVkLiBGaXhlcyBsb29wIGluIHJldmVyc2UgbW9kZS4KCjIwMDktMDItMDIgMjM6MTI6MDcgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSAgQWRkIHB1bGwgbW9kZSB0byBtcGVncHNkZW11eCBhbmQgcmVwb3J0IGR1cmF0aW9uIHJlYWRpbmcgZmlyc3QgYW5kIGxhc3QgUFRTLiBTb21lIHJhbmRvbSBjbGVhbnVwcy4KCjIwMDktMDItMDIgMTc6NDQ6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBDbGVhbnVwIHBsYXliYWNrIHBhY2thZ2Ugc2VsZWN0aW9uIGFuZCBub3RpZnkgYWJvdXQgdGhlIGN1cnJlbnQgcGFja2FnZQoKMjAwOS0wMi0wMiAxNjoyMzozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIFVwZGF0ZSB0YWdzIHByb3Blcmx5LCBlc3BlY2lhbGx5IG9uIGNvbXBvbmVudCBzd2l0Y2gKCjIwMDktMDItMDIgMTY6MDU6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBFcnJvciBvdXQgaWYgbm8gcGFkcyBjb3VsZCBiZSBjcmVhdGVkCgoyMDA5LTAyLTAyIDE1OjU0OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgUmVzb2x2ZSBtZXRhZGF0YSBhbmQgdXBkYXRlIHRyYWNrcyBpZiBuZWNlc3NhcnkgYmVmb3JlIHNlZWtpbmcKCjIwMDktMDItMDIgMTU6NTQ6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBEb24ndCBnbyBhZnRlciB0aGUgbGFzdCBjb21wb25lbnQgb2YgYSB0cmFjawoKMjAwOS0wMi0wMiAxNTo1MzozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIFJldHVybiBhbiBlcnJvciBpZiB1cGRhdGluZyBhbiBhbHJlYWR5IGV4aXN0aW5nIHBhZCBmYWlscwoKMjAwOS0wMi0wMiAwNzo0NDoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEZpeCBzZWVraW5nIGlmIHRoZSBzb3VyY2UgY2xpcCBkdXJhdGlvbiBpcyB1bmtub3duCgoyMDA5LTAyLTAxIDE2OjU5OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgQWRkIGluaXRpYWwgc3VwcG9ydCBmb3Igc2Vla2luZyBpbiBwdXNoIG1vZGUKCjIwMDktMDItMDEgMTY6NTg6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBGaXggZGVhZGxvY2tzIHdoZW4gc2Vla2luZyBpbiBwdWxsIG1vZGUgZmFpbGVkIGFuZCBjaGVjayBuZXcgb2Zmc2V0IGJlZm9yZSB1c2luZyBpdAoKMjAwOS0wMi0wMSAxNjo1ODowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIFVwZGF0ZSBvZmZzZXQgaW4gcHVzaCBtb2RlIGFuZCBoYW5kbGUgZXZlbnRzIHByb3Blcmx5CgoyMDA5LTAyLTAxIDE1OjA3OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBJbXBsZW1lbnQgaW5pdGlhbCBzZWVraW5nIHN1cHBvcnQgKHB1bGwgbW9kZSBvbmx5KQoKMjAwOS0wMS0zMSAxMToyOToyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgRG9uJ3QgdXNlIEdMaWIgMi4xNiBBUEkgdW5jb25kaXRpb25hbGx5CgoyMDA5LTAxLTMwIDE5OjUyOjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgQ2hlY2sgZm9yIEVPUyBvbiBhbGwgcGFkcyBhZnRlciBhZGp1c3RpbmcgdGhlIGVzc2VuY2UgdHJhY2sgZHVyYXRpb25zCgoyMDA5LTAxLTMwIDE5OjMzOjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgRml4IGR1cmF0aW9uIGNhbGN1bGF0aW9uIGZvciBlc3NlbmNlIHRyYWNrcwoKMjAwOS0wMS0zMCAxNTo1MDoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEltcGxlbWVudCBHc3RFbGVtZW50OjpxdWVyeS9nZXRfcXVlcnlfdHlwZXMgdmZ1bmNzCgoyMDA5LTAxLTMwIDE1OjM0OjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgUmVzZXQgYWxsIGludGVybmFsIHN0YXRlIGluIGZpbmFsaXplCgoyMDA5LTAxLTI5IDIwOjI3OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgSW1wcm92ZSBFT1MgZGV0ZWN0aW9uIGFuZCBmaXggcHVzaCBtb2RlIGZvciB0aGUgbGFzdCBwdXNoZWQgaW4gYnVmZmVyCgoyMDA5LTAxLTI5IDE5OjU4OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBLZWVwIHRyYWNrIG9mIGVzc2VuY2UgdHJhY2sgcG9zaXRpb24gd2hlbiBwbGF5aW5nIHNvdXJjZSBwYWNrYWdlcwoJICBUaGlzIGVuc3VyZXMgdGhhdCB0aGUgY29ycmVjdCBlc3NlbmNlIGVsZW1lbnRzIGFyZSBwbGF5ZWQgYW5kCgkgIHRoYXQgd2Ugc2VlayB0byB0aGUgY29ycmVjdCBlc3NlbmNlIGVsZW1lbnRzLgoKMjAwOS0wMS0yOSAxOTo0MjowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgQ29tcGVuc2F0ZSBmb3IgdGltZXN0YW1wL2R1cmF0aW9uIHJvdW5kaW5nIGVycm9ycwoKMjAwOS0wMS0yOSAxNTo1NjowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEltcHJvdmUgRU9TIGxvZ2ljIHRvIGNoZWNrIGFsbCBwYWRzIHdoZW4gcHVsbGluZyBhIHBhY2tldCByZXR1cm5lZCBFT1MKCSAgVGhpcyBtYWtlcyBzdXJlIHRoYXQgd2UgZmluaXNoIGFsbCBwYWRzIHRoYXQgYXJlIGF0IEVPUyBub3cgaW5zdGVhZCBvZgoJICBqdXN0IGZpbmlzaGluZyBvbmUgYW5kIHJldHVybmluZyB0byB0aGlzIHBvaW50IG92ZXIgYW5kIG92ZXIgYWdhaW4uCgoyMDA5LTAxLTI5IDE1OjU1OjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgT25seSBwdXNoIGJ1ZmZlcnMgZm9yIHBhZHMgdGhhdCBhcmUgbm90IG1vcmUgdGhhbiA1MDBtcyBiZWZvcmUgb3RoZXIgcGFkcwoKMjAwOS0wMS0yOSAxNTozOTo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEltcHJvdmUgRU9TIGxvZ2ljIHRvIG9ubHkgZ28gaW50byBFT1MgYWZ0ZXIgYWxsIHRyYWNrcyBhcmUgZmluaXNoZWQKCjIwMDktMDEtMjggMTc6MzQ6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBVcGRhdGUgVE9ETyBsaXN0CgoyMDA5LTAxLTI4IDE2OjM5OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgVHJ5IHRvIGtlZXAgdGhlIHRpbWVzdGFtcCBkaWZmZXJlbmNlIGJldHdlZW4gdHJhY2tzIGxvd2VyIHRoYW4gNTAwbXMKCjIwMDktMDEtMjcgMTU6MzY6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBGaXggcGxheWJhY2sgb2YgYXRvbSBmaWxlcwoKMjAwOS0wMS0yNyAxNToyNzo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEtlZXAgdHJhY2sgb2YgY3VycmVudCBwbGF5YmFjayBwb3NpdGlvbgoKMjAwOS0wMS0yNyAxNDozODozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIFNldCBlc3NlbmNlIHRyYWNrIHBvc2l0aW9ucyB0byAwIGlmIHdlJ3JlIGF0IHRoZSBzdGFydCBwYXJ0aXRpb24KCjIwMDktMDEtMjcgMTQ6MjU6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmYWxhdy5jOgoJKiBnc3QvbXhmL214ZmQxMC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSogZ3N0L214Zi9teGZkdi1kaWYuYzoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5jOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5oOgoJKiBnc3QvbXhmL214ZnVwLmM6CgkqIGdzdC9teGYvbXhmdmMzLmM6CgkgIEdlbmVyYXRlIGFuIGluZGV4IHRhYmxlIGZvciBlc3NlbmNlIHN0cmVhbXMKCSAgR2VuZXJhdGUgYW4gaW5kZXggdGFibGUgZm9yIGVzc2VuY2Ugc3RyZWFtcyBkdXJpbmcgcGxheWJhY2sKCSAgYW5kIG1ha2Ugc3VyZSB0aGF0IG9ubHkgdGhlIGNvcnJlY3QgZXNzZW5jZSBlbGVtZW50cyBhcmUKCSAgdXNlZCBmb3IgcGxheWVkIHRyYWNrcy4KCSAgTWFrZSBpdCBwb3NzaWJsZSB0byBoYXZlIG9uZSBlc3NlbmNlIHN0cmVhbSB1c2VkIGluIG11bHRpcGxlCgkgIHBsYXliYWNrIHRyYWNrcy4KCSAgRml4IHNvbWUgbWlub3IgYnVncy4KCjIwMDktMDEtMjcgMTQ6MjM6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBEb24ndCBjb21wbGFpbiBpZiB0aGUgcHJlZmFjZSBoYXMgbm8gcHJpbWFyeSBwYWNrYWdlIHNldAoKMjAwOS0wMS0yNiAxNjoyMzozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSAgQWxsb3cgaW5kZXggdGFibGUgc2VnbWVudHMgd2l0aG91dCBwcmltZXIgcGFjawoJICBXaGVuIHBhcnNpbmcgYW4gaW5kZXggdGFibGUgc2VnbWVudCB3aXRob3V0IGEgdmFsaWQKCSAgcHJpbWVyIHBhY2sgaW4gdGhpcyBwYXJ0aXRpb24gb25seSBwYXJzZSB0aGUgc3RhdGljCgkgIGxvY2FsIHRhZ3MgYW5kIGlnbm9yZSBhbGwgZHluYW1pYyBvbmVzLgoJICBUaGlzIGFsbG93cyB1cyB0byB1c2UgaW5kZXggdGFibGUgc2VnbWVudHMgaW4gc29tZQoJICBicm9rZW4gZmlsZXMuCgoyMDA5LTAxLTI2IDE2OjIwOjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBBZGQgZXNzZW5jZSB0cmFjayBhYnN0cmFjdGlvbgoJICBBZGQgYW4gYWJzdHJhY3Rpb24gdG8gcmVwcmVzZW50IGVzc2VuY2UgdHJhY2tzIGFuZAoJICB1c2UgdGhpcyBldmVyeXdoZXJlLiBUaGlzIHdpbGwgbGF0ZXIgYmUgdXNlZCB0byBrZWVwCgkgIHRyYWNrIG9mIHBvc2l0aW9ucyBhbmQgdG8gZ2VuZXJhdGUvaGFuZGxlIHNlZWsgdGFibGVzLgoJICBTb21lIHJhbmRvbSBjbGVhbnVwIGFuZCByZW5hbWluZy4KCjIwMDktMDEtMjYgMTQ6NDc6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZwYXJzZS5jOgoJICBGaXggcGFyc2luZyBvZiBpbmRleCB0YWJsZSBzZWdtZW50cwoJICBBbGxvY2F0ZSBtZW1vcnkgZm9yIHRoZSBwb3MgdGFibGVzIGFuZCBzbGljZSBvZmZzZXRzCgkgIG9mIHRoZSBpbmRleCBlbnRyaWVzIHNlcGFyYXRlbHkgdG8gYSkgZml4IGFsaWdubWVudCBpbgoJICB3ZWlyZCBjYXNlcyBhbmQgYikgdG8gYWN0dWFsbHkgaGF2ZSBzb21ldGhpbmcgdG8gZnJlZSgpCgkgIGluIHRoZSBpbmRleCB0YWJsZSBzZWdtZW50IHJlc2V0IGZ1bmN0aW9uLgoKMjAwOS0wMS0yNiAxNDozMzowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgSW1wcm92ZSBkZXRlY3Rpb24gb2YgdGhlIGVuZCBvZiB0aGUgaGVhZGVyIG1ldGFkYXRhCgkgIEhlYWRlciBtZXRhZGF0YSBpcyBmaW5pc2hlZCBhZnRlciBwYXJ0aXRpb24uaGVhZGVyX2J5dGVfY291bnQKCSAgYnl0ZXMgYWZ0ZXIgdGhlIGZpcnN0IGJ5dGUgb2YgdGhlIHByaW1lciBwYWNrIGFyZSBoYW5kbGVkLgoJICBBZnRlciB0aGlzIHRoZXJlIGNhbiBvbmx5IGJlIGluZGV4IHRhYmxlIHNlZ21lbnRzLCBmaWxsZXIgcGFja2V0cywKCSAgZXNzZW5jZSBvciB0aGUgc3RhcnQgb2YgdGhlIG5leHQgcGFydGl0aW9uLgoJICBUaGlzIGZpeGVzIHBsYXliYWNrIG9mIHNvbWUgZmlsZXMgdGhhdCBoYXZlIG5vbi1zdGFuZGFyZCBtZXRhZGF0YQoJICBwYWNrZXRzIGluIHRoZSBoZWFkZXIgbWV0YWRhdGEuCgoyMDA5LTAxLTMwIDE4OjI3OjAzIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIFVucmVmIGV2ZW50IGlmIHdlIGRvbid0IGZvcndhcmQgaXQsIHVucmVmIHBhZHMgd2hlbiBkb25lIHdpdGggdGhlbS4KCjIwMDktMDEtMzAgMjI6Mjg6MTEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIEFkZCByZWxlYXNlaW5mbyB3aXRoIG9ubGluZSB1cmwuCgoyMDA5LTAxLTMwIDE4OjIwOjE3ICswMDAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSAgRml4IGNvbXBpbGF0aW9uIG9uIEZvcnRlLgoJICBEZXJlZmVyZW5jZSB0aGUgcG9pbnRlciB0byB0aGUgcGFzc2VkIHNvY2tldCB0byBjaGVjayB0aGUgYWN0dWFsIGZkCgkgIHdoZW4gY2xvc2luZyB0aGVtLgoJICBDYXN0IGFuIGFzc2lnbm1lbnQgdG8ga2lsbCBhIHdhcm5pbmcuCgoyMDA5LTAxLTMwIDE4OjE4OjEwICswMDAwICBKYW4gU2NobWlkdCA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBGaXggdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgZGVmYXVsdCBwYXJzZV9mcmFtZSBmdW5jdGlvbi4KCSAgRml4IHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGRlZmF1bHQgcGFyc2VfZnJhbWUgZnVuY3Rpb24gaW4gYm90aAoJICBjb3BpZXMgb2YgR3N0QmFzZVBhcnNlCgoyMDA5LTAxLTMwIDE3OjMxOjMzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEJ1bXAgY29tbW9uCgoyMDA5LTAxLTMwIDA4OjU0OjQyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBVc2UgYSBzeW1ib2xpYyBsaW5rIGZvciB0aGUgcHJlLWNvbW1pdCBjbGllbnQtc2lkZSBob29rCgoyMDA5LTAxLTI5IDE3OjU5OjM1IC0wMjAwICBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJKiBzeXMvcXR3cmFwcGVyL2NvZGVjbWFwcGluZy5oOgoJKiBzeXMvcXR3cmFwcGVyL3F0dXRpbHMuaDoKCSogc3lzL3F0d3JhcHBlci9xdHdyYXBwZXIuaDoKCSAgcXR3cmFwcGVyOiBGaXhlcyBidWlsZCBhdCBjYXNlIHNlbnNpdGl2ZSBzeXN0ZW1zLgoKMjAwOS0wMS0yOCAxMjo0MTozNiArMDAwMCAgSm9zZXAgVG9ycmEgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSAgbXBlZ2RlbXV4OiBkbyBub3Qgc2tpcCBwZXMgcGFja2V0cyB0aGF0IHdlIHRoaW5rIGFyZSBlbmNyeXB0ZWQKCSAgcGVzIHBhY2tldHMgdGhhdCBjbGFpbSB0byBiZSBlbmNyeXB0ZWQgbWF5IG5vdCBiZSBzbywgc28gdHJlYXQgYXMgbm9ybWFsLgoJICBKdXN0IGxvZyB0aGUgZmxhZ3MuCgoyMDA5LTAxLTI4IDEzOjI1OjE0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBBZGRpdGlvbmFsIG1lZGlhIHR5cGUgc3VwcG9ydCBpbiBxdG11eCAoYW5kIGZyaWVuZHMpLgoJICBTdXBwb3J0IEFNUiBhbmQgSDI2MyBmb3IgYm90aCBxdG11eCBhbmQgZ3BwbXV4LAoJICBhbmQgYWRkIGV4dGVuc2lvbnMgaW4gc2FtcGxlIHRhYmxlIGRlc2NyaXB0aW9uLgoKMjAwOS0wMS0yOCAxMjoyNzo0MiArMDAwMCAgWmFoZWVyIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGNvbW1vbjoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSAgUmV2ZXJ0ICJtcGVnZGVtdXg6IGRvIG5vdCBza2lwIHBlcyBwYWNrZXRzIHRoYXQgd2UgdGhpbmsgYXJlIGVuY3J5cHRlZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkM2U0ZTU1OThmNmMzZGI0NDRkMDAxNDU5N2QzODNlZDM1YTAyOTk4LgoKMjAwOS0wMS0yOCAxMjowNjo0OSArMDAwMCAgSm9zZXAgVG9ycmEgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSogY29tbW9uOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJICBtcGVnZGVtdXg6IGRvIG5vdCBza2lwIHBlcyBwYWNrZXRzIHRoYXQgd2UgdGhpbmsgYXJlIGVuY3J5cHRlZAoJICBwZXMgcGFja2V0cyB0aGF0IGNsYWltIHRvIGJlIGVuY3J5cHRlZCBtYXkgbm90IGJlIHNvLCBzbyB0cmVhdCBhcyBub3JtYWwuCgkgIEp1c3QgbG9nIHRoZSBmbGFncy4KCjIwMDktMDEtMjQgMTg6MTM6MzkgKzAxMDAgIEhhbnMgZGUgR29lZGUgPGp3cmRlZ29lZGVAZmVkb3JhcHJvamVjdC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5oOgoJKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5oOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL01ha2VmaWxlLmFtOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL1JFQURNRToKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9jaGFuZ2VzLnR4dDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9mYXN0bWl4LmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9pdF9kZWZzLmg6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF82NjkuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfYW1mLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX2Ftcy5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9kYm0uY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfZG1mLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX2RzbS5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9mYXIuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfaXQuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfajJiLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX21kbC5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9tZWQuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfbW9kLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX210Mi5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9tdG0uY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfb2t0LmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX3BzbS5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9wdG0uY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfczNtLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX3N0bS5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF91bHQuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfdW14LmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX3dhdi5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF94bS5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbW1jbXAuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL21vZHBsdWcuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL21vZHBsdWcuaDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRfZHNwLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRfZmx0LmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRfZnguY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZGZpbGUuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZGZpbGUuaDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRtaXguY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3N0ZGFmeC5oOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3RhYmxlcy5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvdGFibGVzLmQ6CgkgIEJ1aWxkIHRoZSBtb2RwbHVnIHBsdWdpbiBhZ2FpbnN0IHRoZSBtb2RwbHVnIGxpYnJhcnkgYW5kIHJlbW92ZSBvdXIgY29weQoJICBBbHdheXMgYnVpbGQgdGhlIG1vZHBsdWcgcGx1Z2luIGFnYWluc3QgdGhlIHN5c3RlbSBtb2RwbHVnIGxpYnJhcnkKCSAgYW5kIHJlbW92ZSBvdXIgb3duIGNvcHkuIFVzaW5nIHRoZSBzeXN0ZW0gdmVyc2lvbiBoYXMgYWR2YW50YWdlcwoJICBpZiBzZWN1cml0eSBpc3N1ZXMgb3Igb3RoZXIgY3JpdGljYWwgYnVncyBhcmUgZm91bmQgaW4gbGlibW9kcGx1ZwoJICBhbmQgb3VyIG93biBjb3B5IHdhc24ndCByZWFsbHkgbWFpbnRhaW5lZCBhbnl3YXkuCgkgIEFsc28gb3VyIGNvcHkgb25seSBjb250YWluZWQgc29tZSBwYXRjaGVzIHRvIHVzZSBHTGliIHR5cGVzIGFuZCBmdW5jdGlvbnMuCgkgIEZpeGVzIGJ1ZyAjNTY4ODM3LgoKMjAwOS0wMS0yMyAyMzo0MjoyOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogLmdpdGlnbm9yZToKCSogcG8vLmdpdGlnbm9yZToKCSAgQWRkIG1vcmUgdG8gdGhlIGdpdGlnbm9yZXMKCjIwMDktMDEtMjMgMTQ6MDI6MjYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIE1ha2UgUkdCIG1hc2tzIHVuc2lnbmVkIGluIHJhd3ZpZGVvcGFyc2UKCSAgQWxsb3cgdGhlIGZ1bGwgcmFuZ2Ugb2YgMzIgYml0IG1hc2tzIGZvciBSR0JBL1JHQiBkYXRhIGJ5IG1ha2luZyBzdXJlCgkgIHRoZSBtYXNrIHByb3BlcnRpZXMgYXJlIHVuc2lnbmVkLgoKMjAwOS0wMS0yMyAxNjowOTo1MSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3RpbWlkaXR5L1JFQURNRToKCSAgQWRkIFJFQURNRSB3aXRoIG1pZGkgcmVsYXRlZCBsaW5rcy4KCjIwMDktMDEtMjMgMTY6MDA6MTAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIExvZyBhYWMgZGV0YWlscyBmb3VuZCBpbiBjb2RlY19kYXRhLgoKMjAwOS0wMS0yMyAxNDo0MzowMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuaDoKCSAgQ29uZmlndXJlIGJ5dGUgb3JkZXIgZm9yIEVYSUYuIEZpeGVzICM1Njg3MDQKCSAgRXhpZiBibG9ja3MgY2FuIGJlIGluIGRpZmZlcm50IGJ5dGUgb3JkZXJzLiBBZGQgYW4gZWxlbWVudCBwcm9wZXJ0eSB0byBzZWxlY3Qgd2ljaCBvbmUgc2hvdWxkIGJlIHdyaXR0ZW4uCgoyMDA5LTAxLTIzIDEyOjQ2OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlMi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10d29sYW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvYnVmZmVyLmM6CgkqIGdzdC9hdWRpb3Jlc2FtcGxlL2J1ZmZlci5oOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9kZWJ1Zy5jOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9kZWJ1Zy5oOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9mdW5jdGFibGUuYzoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvZnVuY3RhYmxlLmg6CgkqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5oOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5jOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5oOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZV9jaHVuay5jOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZV9mdW5jdGFibGUuYzoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGVfcmVmLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2J1ZmZlci5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvYnVmZmVyLmg6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9kZWJ1Zy5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZGVidWcuaDoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2Z1bmN0YWJsZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZnVuY3RhYmxlLmg6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9nc3RsZWdhY3lyZXNhbXBsZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZ3N0bGVnYWN5cmVzYW1wbGUuaDoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZS5oOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGVfY2h1bmsuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlX2Z1bmN0YWJsZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGVfcmVmLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xlZ2FjeXJlc2FtcGxlLmM6CgkgIFJlbmFtZSBhdWRpb3Jlc2FtcGxlIGZpbGVzIGFuZCB0eXBlcyB0byBsZWdhY3lyZXNhbXBsZQoJICBGaW5pc2ggdGhlIG1vdmUvcmVuYW1lIG9mIGF1ZGlvcmVzYW1wbGUgdG8gbGVnYWN5cmVzYW1wbGUKCSAgdG8gcHJldmVudCBhbnkgY29uZnVzaW9uLgoKMjAwOS0wMS0yMyAxMjozOToyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkqIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3BlZXhyZXNhbXBsZS9SRUFETUU6CgkqIGdzdC9zcGVleHJlc2FtcGxlL2FyY2guaDoKCSogZ3N0L3NwZWV4cmVzYW1wbGUvZml4ZWRfZ2VuZXJpYy5oOgoJKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuaDoKCSogZ3N0L3NwZWV4cmVzYW1wbGUvcmVzYW1wbGUuYzoKCSogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyLmg6CgkqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl9mbG9hdC5jOgoJKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfaW50LmM6CgkqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl93cmFwcGVyLmg6CgkgIFJlbW92ZSBzcGVleHJlc2FtcGxlIGZyb20gLWJhZCwgaXQncyBpbiAtYmFzZQoKMjAwOS0wMS0yMyAxMjoxMzowMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkgIFNlbmQgQllFIHBhY2tldHMgaW1tZWRpYXRseSBmb3Igc21hbGwgc2Vzc2lvbnMKCSAgV2hlbiB0aGUgbnVtYmVyIG9mIHBhcnRpY2lwYW50cyBpcyBsZXNzIHRoYW4gNTAsIHRoZSBSRkMgYWxsb3dzIGZvciBzZW5kaW5nIHRoZQoJICBCWUUgcGFja2V0IGltbWVkaWF0bHkgaW5zdGVhZCBvZiB1c2luZyB0aGUgcmVndWxhciBCWUUgdGltZW91dC4KCSAgRml4ZXMgIzU2NzgyOC4KCjIwMDktMDEtMjMgMTE6NTA6MjkgKzAxMDAgIEhhbnMgZGUgR29lZGUgPGp3cmRlZ29lZGVAZmVkb3JhcHJvamVjdC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmg6CgkgIEFkZCBzZWVraW5nIHN1cHBvcnQgdG8gbW1zc3JjLiBGaXhlcyBidWcgIzQ2OTkzMC4KCSAgQWRkIHByb3BlciBzZWVraW5nIHN1cHBvcnQgdG8gbW1zc3JjIGFuZCBjbGVhbgoJICB1cCBzb21lIGNvZGUuIFRoaXMgcmVxdWlyZXMgbGlibW1zID49IDAuNC4KCjIwMDktMDEtMjMgMTA6NDQ6MjAgKzAxMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJICBMaW5rIG1vZHBsdWcgcGx1Z2luIHdpdGggLWxtLiBGaXhlcyBidWcgIzU2ODQ4My4KCjIwMDktMDEtMjMgMTA6MTE6NTIgKzAxMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJICBGaXggYnVpbGQgb24gU29sYXJpcy4gRml4ZXMgYnVnICM1Njg0ODAuCgkgIEZpeCBsaW5raW5nIG9uIFNvbGFyaXMgYnkgY2hlY2tpbmcgZm9yIHRoZSBuc2wgYW5kIHNvY2tldAoJICBsaWJyYXJpZXMgd2hpY2ggYXJlIG5lZWRlZCBmb3Igc29ja2V0KCkgYW5kIGdldGhvc3RieW5hbWUoKS4KCSAgRG9uJ3QgaW5pdGlhbGl6ZSBzb21lIGZpZWxkcyBvZiBzdHJ1Y3QgbWggdG8gTlVMTC8wLCB0aGV5J3JlCgkgIGFscmVhZHkgc2V0IHRvIE5VTEwvMCBieSBhIG1lbXNldCgpLiBBbHNvIHRoaXMgZmllbGRzIGRvbid0CgkgIGV4aXN0IG9uIFNvbGFyaXMuCgoyMDA5LTAxLTIyIDE0OjM3OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSogZ3N0L214Zi9teGZwYXJzZS5jOgoJKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIFN0b3JlIGFsbCBwYXJ0aXRpb25zICYgcHJpbWVyIHBhY2tzIGluIG1lbW9yeSBmb3IgZmFzdGVyIGFjY2VzcwoJICBTdG9yZSBhbGwgcGFydGl0aW9ucyAmIHByaW1lciBwYWNrcyBpbiBtZW1vcnkgZm9yIGZhc3RlciBhY2Nlc3MuCgkgIFRoaXMgaXMgbGF0ZXIgbmVlZGVkIGZvciBmYXN0IHNlZWtpbmcuCgkgIFByZS1maWxsIHRoZSBsaXN0IG9mIHBhcnRpdGlvbnMgd2l0aCB0aGUgY29udGVudCBvZiB0aGUgcmFuZG9tCgkgIGluZGV4IHBhY2suCgkgIERvbid0IHBhcnNlIG1ldGFkYXRhIG9mIGFuIHBhcnRpdGlvbiB0d2ljZS4KCjIwMDktMDEtMjIgMTg6MjA6MDMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgVXBkYXRlIGNvbW1vbiBzbmFwc2hvdC4KCjIwMDktMDEtMjIgMTQ6MDA6NTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFVwZGF0ZSBjb25maWcuaCBmb3IgZGV2ZWxvcG1lbnQuCgoyMDA5LTAxLTIyIDEzOjQ2OjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb21tb246CgkgIEZpeCBwcmUtY29tbWl0IGhvb2sKCjIwMDktMDEtMjIgMTM6Mzk6MzQgKzAxMDAgIEphbiBVcmJhbnNraSA8ai51cmJhbnNraUBzdHVkZW50cy5taW11dy5lZHUucGw+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIEFkZCBzdXBwb3J0IGZvciBFQ01BIGFycmF5cyBpbiBzY3JpcHQgdGFncy4gRml4ZXMgYnVnICM1Njc5NjUuCgkgIEFkZCBzdXBwb3J0IGZvciBFQ01BIGFycmF5cyBpbiBzY3JpcHQgdGFncy4gVGhpcyBmaXhlcwoJICBzZWVraW5nIG9uIHNvbWUgZmlsZXMgdGhhdCBoYXZlIHRoZSBzZWVrIHRhYmxlIHN0b3JlZAoJICBpbnNpZGUgYW4gRUNNQSBhcnJheSBpbnN0ZWFkIG9mIHRoZSBub3JtYWwgYXJyYXkuCgoyMDA5LTAxLTIyIDEzOjMzOjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIFVubG9jayB0aGUgaml0dGVyYnVmZmVyIGJlZm9yZSBwdXNoaW5nIG91dCB0aGUgcGFja2V0LWxvc3QgZXZlbnRzLiBNb3ZlIHNvbWUgY29kZSBiZWZvcmUgd2UgZG8gdGhlIHVubG9jayB0byBtYWtlIHRoZSBqaXR0ZXJidWZmZXIgc3RhdGUgY29uc2lzdGVudCB3aGlsZSB3ZSBhcmUgdW5sb2NrZWQuCgoyMDA5LTAxLTIyIDExOjU0OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgRml4IFVMIGZvciBEVFMgYW5kIE1QRUcyIGxheWVyIDEKCjIwMDktMDEtMjIgMTE6NTQ6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBBZGQgc3VwcG9ydCBmb3IgQUFDIGF1ZGlvCgoyMDA5LTAxLTIyIDExOjQ3OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSogZ3N0L214Zi9teGZkbXMxLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgU3RvcmUgTVhGIG1ldGFkYXRhIGluIGEgaGFzaCB0YWJsZSwga2V5ZWQgYnkgVUlECgkgIFN0b3JlIHRoZSBNWEYgbWV0YWRhdGEgaW4gYSBoYXNoIHRhYmxlLCBrZXllZCBieSB0aGUKCSAgaW5zdGFuY2UgVUlELiBUaGlzIHNpbXBsaWZpZXMgcmVzb2x2YWwgb2YgdGhlIG1ldGFkYXRhCgkgIGFuZCBtYWtlcyBsb29waW5nIG92ZXIgYWxsIG1ldGFkYXRhIHNldHMgdW5uZWNlc3NhcnkKCSAgaW4gbW9zdCBjYXNlcy4KCSAgQWRkaXRpb25hbGx5IHBhcnNlIG1ldGFkYXRhIGFsd2F5cy4gSWYgd2UgYWxyZWFkeSBoYXZlCgkgIGEgbWV0YWRhdGEgc2V0IHdpdGggdGhlIHNhbWUgVUlEIHJlcGxhY2UgaXQgb25seSBpZgoJICB0aGUgbmV3IG1ldGFkYXRhIHNldCBpcyBmcm9tIGEgbGF0ZXIgb2Zmc2V0LiBUaGlzCgkgIGZpeGVzIG1ldGFkYXRhIHBhcnNpbmcgb2YgZmlsZXMgd2hlcmUgZm9sbG93aW5nIHBhcnRpdGlvbnMKCSAgZG9uJ3QgaGF2ZSBhIGNvbXBsZXRlIGNvcHkgb2YgdGhlIHByZXZpb3VzIG1ldGFkYXRhLgoKMjAwOS0wMS0yMiAxMTo0NDo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIEJ1aWxkIHRoZSByYW5kb20gaW5kZXggcGFjayB3aGlsZSBwYXJzaW5nCgkgIElmIHRoZSBmaWxlIGNvbnRhaW5zIG5vIHJhbmRvbSBpbmRleCBwYWNrIG9yIGp1c3QKCSAgYW4gaW52YWxpZCBvbmUgYnVpbGQgdGhlIHJhbmRvbSBpbmRleCBwYWNrIHdoaWxlCgkgIHBhcnNpbmcuCgoyMDA5LTAxLTIyIDExOjQzOjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZhZXMtYndmLmg6CgkqIGdzdC9teGYvbXhmYWxhdy5jOgoJKiBnc3QvbXhmL214ZmFsYXcuaDoKCSogZ3N0L214Zi9teGZkMTAuYzoKCSogZ3N0L214Zi9teGZkMTAuaDoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJKiBnc3QvbXhmL214ZmRtczEuaDoKCSogZ3N0L214Zi9teGZkdi1kaWYuYzoKCSogZ3N0L214Zi9teGZkdi1kaWYuaDoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5jOgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmg6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L214Zi9teGZtcGVnLmg6CgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5oOgoJKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkqIGdzdC9teGYvbXhmdXAuYzoKCSogZ3N0L214Zi9teGZ1cC5oOgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJKiBnc3QvbXhmL214ZnZjMy5oOgoJICBVcGRhdGUgY29weXJpZ2h0cyBmb3IgMjAwOQoKMjAwOS0wMS0yMiAxMTo0MjoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJKiBnc3QvbXhmL214ZmRtczEuaDoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgU2ltcGxpZnkgcGFyc2luZyBvZiBVTC9VVUlEIGFycmF5cwoJICBTaW1wbGlmeSBwYXJzaW5nIG9mIFVML1VVSUQgYXJyYXlzIGJ5IGFic3RyYWN0aW5nIGl0CgkgIGludG8gYSBzZXBhcmF0ZSBmdW5jdGlvbi4KCjIwMDktMDEtMjIgMTE6Mzc6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9teGYvbXhmLmM6CgkqIGdzdC9teGYvbXhmYWxhdy5jOgoJKiBnc3QvbXhmL214ZmQxMC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJKiBnc3QvbXhmL214ZmRtczEuaDoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9teGYvbXhmdXAuYzoKCSogZ3N0L214Zi9teGZ2YzMuYzoKCSAgSW1wbGVtZW50IHBhcnNpbmcgb2YgRE1TMSAoU01QVEUgUzM4ME0pCgoyMDA5LTAxLTIyIDExOjAwOjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIERpc2FibGUgdGhlIGZpbHRlciBwbHVnaW4gZnJvbSB0aGUgYnVpbGQKCSAgVGhlIGZpbHRlciBwbHVnaW4gb25seSBjb250YWlucyBhIGxpbWl0ZWQgSUlSIGZpbHRlciBlbGVtZW50CgkgIHdoaWNoIGlzIG5vdyBvYnNvbGV0ZWQgYnkgdGhlIGF1ZGlvaWlyZmlsdGVyIGVsZW1lbnQgZnJvbQoJICBnc3QtcGx1Z2lucy1nb29kL2F1ZGlvZnguCgoyMDA5LTAxLTIyIDExOjU2OjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWwgLT4gMC4xMC4xMC4xCgoyMDA5LTAxLTIyIDA2OjEyOjU1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBJbnN0YWxsIGFuZCB1c2UgcHJlLWNvbW1pdCBpbmRlbnRhdGlvbiBob29rIGZyb20gY29tbW9uCgoyMDA5LTAxLTIxIDEyOjIyOjU0ICswMTAwICBBbmR5IFdpbmdvIDx3aW5nb0BvYmxvbmcubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBSZXZlcnQgImFkZCBhdWRpb2J1ZmZlciB0byB0aGUgYnVpbGQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMWM2YWMxNzBiOWYyMThjNjczYzBkYWFmNWM1NjhjNjAwMGEzN2ZjMy4KCjIwMDktMDEtMjEgMTI6MTg6NDkgKzAxMDAgIEFuZHkgV2luZ28gPHdpbmdvQG9ibG9uZy5uZXQ+CgoJICBhZGQgYXVkaW9idWZmZXIgdG8gdGhlIGJ1aWxkCgkgICogY29uZmlndXJlLmFjOiBBZGQgYXVkaW9idWZmZXIgdG8gdGhlIGJ1aWxkLgoKMjAwOS0wMS0yMSAwNDozMjoxNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkgIGF1dG9nZW4uc2ggOiBVc2UgZ2l0IHN1Ym1vZHVsZQoKPT09IHJlbGVhc2UgMC4xMC4xMCA9PT0KCjIwMDktMDEtMTkgMjM6MTU6MzYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR3b2xhbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBwby9MSU5HVUFTOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xMAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjEwCgoyMDA5LTAxLTE5IDIyOjQxOjU4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDktMDEtMDkgMjM6NDQ6MzggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiAwLjEwLjkuMyBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuOS4zIHByZS1yZWxlYXNlCgoyMDA5LTAxLTA5IDIyOjA5OjA2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzogRG9uJ3QgZm9yd2FyZCBkdXJhdGlvbiByZXF1ZXN0cyBpbiBCWVRFUywgc2luY2UgdGhlIHJldHVybmVkIHZhbHVlIGRvZXNuJ3QgbWVhbiBhbnl0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIERvbid0IGZvcndhcmQgZHVyYXRpb24gcmVxdWVzdHMgaW4gQllURVMsIHNpbmNlIHRoZSByZXR1cm5lZAoJICB2YWx1ZSBkb2Vzbid0IG1lYW4gYW55dGhpbmcuICBGaXhlcyAjNTY2OTU5CgoyMDA5LTAxLTA5IDIxOjU5OjQ4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOiBBZGQgdmlkZW8veC1xdC1wYXJ0IGFuZCB2aWRlby94LW00LXBhcnQgdG8gY2FwcyBzbyBzY2hyb2VuYy9zY2hyb3BhcnNlIGNhbiB1c2UgaXQuICBGaXhlcyAjNS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzogQWRkIHZpZGVvL3gtcXQtcGFydCBhbmQgdmlkZW8veC1tNC1wYXJ0CgkgIHRvIGNhcHMgc28gc2Nocm9lbmMvc2Nocm9wYXJzZSBjYW4gdXNlIGl0LiAgRml4ZXMgIzU2Njk1OAoKMjAwOS0wMS0wOSAxNjo0OTo1NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzogQWRkaXRpb25hbCBwYXRjaCBmb3IgcmVzaW4gZml4ZXMgdGltZS1iYXNlZCBzZWVraW5nIGluIHRpdGxlcyB0aGF0IGRvbid0IHN0YXJ0IGF0IHNlY3RvciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIEFkZGl0aW9uYWwgcGF0Y2ggZm9yIHJlc2luIGZpeGVzIHRpbWUtYmFzZWQgc2Vla2luZyBpbiB0aXRsZXMKCSAgdGhhdCBkb24ndCBzdGFydCBhdCBzZWN0b3IgMCBpbiB0aGUgVlRTLCBhbmQgZml4ZXMgaW50ZXJwcmV0YXRpb24KCSAgb2YgdGhlIGNlbGwgZWxhcHNlZCB0aW1lLCBzbyB0aGF0IGl0IHJlcG9ydHMgdGhlIGNvcnJlY3QgdGltZSBhZnRlcgoJICB0aGUgc2VlayBjb21wbGV0ZXMuCgkgIFJlYWxseSBmaXhlcyAjNTY2OTU3LgoKMjAwOS0wMS0wOCAxNzo1NzoxOSArMDAwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBzdW4uY29tPgoKCSAgZXh0L2xhZHNwYS9zZWFyY2guYzogQXZvaWQgc2VhcmNoaW5nIChudWxsKSBwYXRocyBvciBjcmFzaGluZyBvbiBwbGF0Zm9ybXMgd2hlcmUgcHJpbnRpbmcgYQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gUGF0Y2ggYnk6IEJyaWFuIENhbWVyb24gPGJyaWFuIGRvdCBjYW1lcm9uIGF0IHN1biBkb3QgY29tPgoJICAqIGV4dC9sYWRzcGEvc2VhcmNoLmM6IChMQURTUEFQbHVnaW5TZWFyY2gpOgoJICBBdm9pZCBzZWFyY2hpbmcgKG51bGwpIHBhdGhzIG9yIGNyYXNoaW5nIG9uIHBsYXRmb3JtcyB3aGVyZSBwcmludGluZyBhCgkgIE5VTEwgc3RyaW5nIHNlZ2ZhdWx0cy4gRml4ZXMgIzU2NzAwNC4KCjIwMDktMDEtMDggMTI6NDI6MTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3Jlc2luZHZkLzogQWRkIHN1cHBvcnQgZm9yIHRpbWUgYmFzZWQgc2Vla2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgICogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSAgQWRkIHN1cHBvcnQgZm9yIHRpbWUgYmFzZWQgc2Vla2luZy4KCSAgTWFrZSBzZXR0aW5nIGR2ZDovLyByZXNldCB0byB0aGUgZGVmYXVsdCBkZXZpY2UuCgkgIE1ha2UgdGhlICdhdWRpb211bmdlJyBlbGVtZW50IHNlbmQgYW55IG5ldyBzZWdtZW50IHN0YXJ0IGJlZm9yZQoJICB0aGUgJ2dhcCBmaWxsZXInIGJ1ZmZlciBpdCBnZW5lcmF0ZXMsIGFuZCBhbnkgc2VnbWVudCBjbG9zZXMKCSAgYWZ0ZXIuCgkgIEZpeGVzOiAjNTY2OTU3CgoyMDA5LTAxLTA4IDA5OjQwOjIyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOiBBZGQgcGx1Z2luIGRlcGVuZGVuY3kgZm9yIHRoZSBMQURTUEEgcGx1Z2luIGRpcmVjdG9yaWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQgcGx1Z2luIGRlcGVuZGVuY3kgZm9yIHRoZSBMQURTUEEgcGx1Z2luIGRpcmVjdG9yaWVzLgoJICBGaXhlcyBidWcgIzU2Njg3OC4KCjIwMDktMDEtMDYgMjI6NTE6MzcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERpc3QgdGVzdCBoZWFkZXJzIGZvciBhbXIgYW5kIGFhYyBwYXJzZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRGlzdCB0ZXN0IGhlYWRlcnMgZm9yIGFtciBhbmQgYWFjIHBhcnNlcnMuCgkgIFJlbW92ZSBsZWZ0b3ZlciBsaW5lcyBtZW50aW9uZWQgc3BlZXhyZXNhbXBsZSB0ZXN0cy4KCjIwMDktMDEtMDYgMjI6MzU6NTAgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9hY21tcDNkZWMvTWFrZWZpbGUuYW06IEZpeCB0eXBvIGluIHRoZSBvcHBvc2l0ZSB3YXkgdG8gZ2l2ZSB0aGUgcGx1Z2luIGEgc2Vuc2libGUgbmFtZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2FjbW1wM2RlYy9NYWtlZmlsZS5hbToKCSAgRml4IHR5cG8gaW4gdGhlIG9wcG9zaXRlIHdheSB0byBnaXZlIHRoZSBwbHVnaW4gYSBzZW5zaWJsZSBuYW1lLgoKMjAwOS0wMS0wNiAyMjoxNjo1NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvYWNtbXAzZGVjL01ha2VmaWxlLmFtOiBGaXggdHlwbyBpbiB0aGUgbWFrZWZpbGUgdGFyZ2V0IHByZXZlbnRpbmcgZGlzdGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2FjbW1wM2RlYy9NYWtlZmlsZS5hbToKCSAgRml4IHR5cG8gaW4gdGhlIG1ha2VmaWxlIHRhcmdldCBwcmV2ZW50aW5nIGRpc3RpbmcuCgoyMDA5LTAxLTA1IDIzOjAzOjMxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSBBcHBTcmMvQXBwU2luayB0aGF0IGFyZSBtb3ZpbmcgdG8gLWJhc2UuIFBhcnRpYWxseSBmaXhlcyAjNTY0NDIxCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJICAqIGV4YW1wbGVzL01ha2VmaWxlLmFtOgoJICAqIGV4YW1wbGVzL2FwcC8uY3ZzaWdub3JlOgoJICAqIGV4YW1wbGVzL2FwcC9NYWtlZmlsZS5hbToKCSAgKiBleGFtcGxlcy9hcHAvYXBwc2luay1zcmMuYzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXJhLmM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zZWVrYWJsZS5jOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtLmM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0yLmM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyY19leC5jOgoJICAqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwLy5jdnNpZ25vcmU6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcC1tYXJzaGFsLmxpc3Q6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBidWZmZXIuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcGJ1ZmZlci5oOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5oOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuaDoKCSAgKiBnc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcHAvZ3N0YXBwLmM6CgkgIFJlbW92ZSBBcHBTcmMvQXBwU2luayB0aGF0IGFyZSBtb3ZpbmcgdG8gLWJhc2UuIFBhcnRpYWxseSBmaXhlcwoJICAjNTY0NDIxCgoyMDA5LTAxLTA1IDE3OjQxOjUxICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6IEd1YXJkIGludGVydmFsIGlzIDQgaWYgZGVzY3JpcHRvciBwYXJ0IHNob3dzIGJpbmFyeSAxMSAoMyBub3QgNCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBHdWFyZCBpbnRlcnZhbCBpcyA0IGlmIGRlc2NyaXB0b3IgcGFydCBzaG93cyBiaW5hcnkgMTEgKDMgbm90IDQpLgoKMjAwOS0wMS0wNSAxNzozMDo1NSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuaDogRml4IHVwIHNhdGVsbGl0ZSBkZWxpdmVyeSBzdWJzeXN0ZW0gZGVmcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5oOgoJICBGaXggdXAgc2F0ZWxsaXRlIGRlbGl2ZXJ5IHN1YnN5c3RlbSBkZWZzLgoKMjAwOS0wMS0wNSAxNzoyNjowMCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuaDogRml4IHVwIHRlcnJlc3RyaWFsIGRlbGl2ZXJ5IHN5c3RlbSBkZXNjcmlwdG9yIGRlZnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSAgRml4IHVwIHRlcnJlc3RyaWFsIGRlbGl2ZXJ5IHN5c3RlbSBkZXNjcmlwdG9yIGRlZnMuCgkgIFRoZXkgc2hvdWxkIGJlIHNoaWZ0ZWQgb3RoZXJ3aXNlIHdyb25nIHZhbHVlcyBhcmUgc2Vlbi4KCjIwMDktMDEtMDUgMTM6NDE6MDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiAiR2VuZXJhdGlvbiBVSUQiIGFuZCAiVGhpcyBHZW5lcmF0aW9uIFVJRCIgYXJlIGRpZmZlcmVudCBzbyBoYW5kbGUgdGhlbSBkaWZmZXJlbnQuIEFsc28gYm90aCBhcmUgbm90IHBhcnQgby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6IChteGZfbWV0YWRhdGFfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfcHJlZmFjZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9pZGVudGlmaWNhdGlvbl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZXNzZW5jZV9jb250YWluZXJfZGF0YV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BhY2thZ2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfdHJhY2tfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnRfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2xvY2F0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfbG9jYXRvcl9jbGFzc19pbml0KToKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkgICJHZW5lcmF0aW9uIFVJRCIgYW5kICJUaGlzIEdlbmVyYXRpb24gVUlEIiBhcmUgZGlmZmVyZW50IHNvIGhhbmRsZQoJICB0aGVtIGRpZmZlcmVudC4gQWxzbyBib3RoIGFyZSBub3QgcGFydCBvZiBldmVyeSBtZXRhZGF0YSB0eXBlLgoKMjAwOS0wMS0wNSAxMjozNDoxOCArMDAwMCAgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPgoKCSAgZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOiBGaXggY29sb3Igb2Zmc2V0IGNhbGN1bGF0aW9uIGZvciAyNGJwcC4gRml4ZXMgYnVnICM1NjY2MTMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2FzY2hhIEhhdWVyIDxzIGRvdCBoYXVlciBhdCBwZW5ndXRyb25peCBkb3QgZGU+CgkgIEx1b3RhbyBGdSA8bCBkb3QgZnUgYXQgcGVuZ3V0cm9uaXggZG90IGRlPgoJICAqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzogKGdldF9waXhfb2Zmc2V0KSwKCSAgKGdzdF9iYXllcjJyZ2Jfc2V0X2NhcHMpOgoJICBGaXggY29sb3Igb2Zmc2V0IGNhbGN1bGF0aW9uIGZvciAyNGJwcC4gRml4ZXMgYnVnICM1NjY2MTMuCgoyMDA5LTAxLTA1IDExOjI4OjQ5ICswMDAwICB2YW5pc3RhIDx2YW5pc3RhQGdtYWlsLmNvbT4KCgkgIGdzdC9tcGVndHNtdXgvOiBJbXByb3ZlIG11eGluZyBvZiBBQzMvaDI2NCBzdHJlYW1zIGEgYml0LiBGaXhlcyBidWcgIzU1MDYxMy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiB2YW5pc3RhIDx2YW5pc3RhIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzogKG1wZWd0c211eF9jcmVhdGVfc3RyZWFtKToKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6ICh0c211eF93cml0ZV9wbXQpOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzogKHRzbXV4X3N0cmVhbV9uZXcpLAoJICAodHNtdXhfc3RyZWFtX3dyaXRlX3Blc19oZWFkZXIpLCAodHNtdXhfc3RyZWFtX2dldF9lc19kZXNjcnMpOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uaDoKCSAgSW1wcm92ZSBtdXhpbmcgb2YgQUMzL2gyNjQgc3RyZWFtcyBhIGJpdC4gRml4ZXMgYnVnICM1NTA2MTMuCgoyMDA5LTAxLTA1IDEwOjM0OjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IERvbid0IGFsbG93IG5lZ2F0aXZlIG9yIHplcm8gZWRpdCByYXRlcyB0byBwcmV2ZW50IGRpdmlzaW9uIGJ5IHplcm8gYW5kIHdlIHN1cHBvcnQgbmVnYXRpdmUgZWRpdCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKSwKCSAgKGdzdF9teGZfZGVtdXhfcGFkX25leHRfY29tcG9uZW50KToKCSAgRG9uJ3QgYWxsb3cgbmVnYXRpdmUgb3IgemVybyBlZGl0IHJhdGVzIHRvIHByZXZlbnQgZGl2aXNpb24KCSAgYnkgemVybyBhbmQgd2Ugc3VwcG9ydCBuZWdhdGl2ZSBlZGl0IHJhdGVzIGFueXdheS4KCjIwMDktMDEtMDUgMTA6Mjg6NTggKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiBVc2UgaHlwaGVuIGluIHByb3BlcnR5IG5hbWUsIHBlcmZvcm0gc2FmZXR5IGJ1ZmZlciBzaXplIGNoZWNrIHByaW9yIHRvIG1lbSBhY2Nlc3MsIGFuZCBzb21lIG1vLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogKGdzdF94MjY0X2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF94MjY0X2VuY19oZWFkZXJfYnVmKSwgKGdzdF94MjY0X2VuY19lbmNvZGVfZnJhbWUpOgoJICBVc2UgaHlwaGVuIGluIHByb3BlcnR5IG5hbWUsIHBlcmZvcm0gc2FmZXR5IGJ1ZmZlciBzaXplIGNoZWNrCgkgIHByaW9yIHRvIG1lbSBhY2Nlc3MsIGFuZCBzb21lIG1vcmUgcGFyZW50aGVzZXMgaW4gbWFjcm8uCgoyMDA5LTAxLTA1IDEwOjIyOjI5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogRml4IGNvbXBpbGF0aW9uIHdpdGggZGVidWdnaW5nIGRpc2FibGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSAgKG14Zl9tZXRhZGF0YV93YXZlX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9id2ZfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfaGFuZGxlX2tsdl9wYWNrZXQpOgoJICAqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzogKG14Zl9tZXRhZGF0YV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9wcmVmYWNlX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2lkZW50aWZpY2F0aW9uX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9lc3NlbmNlX2NvbnRhaW5lcl9kYXRhX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9zb3VyY2VfcGFja2FnZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV90cmFja19oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9zZXF1ZW5jZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9zdHJ1Y3R1cmFsX2NvbXBvbmVudF9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9zb3VyY2VfY2xpcF9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9kbV9zZWdtZW50X2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9maWxlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2RhdGFfZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX3BhcnRpdGlvbl9wYWNrX3BhcnNlKSwKCSAgKG14Zl9pbmRleF90YWJsZV9zZWdtZW50X3BhcnNlKSwgKG14Zl9wcmltZXJfcGFja19wYXJzZSksCgkgIChteGZfbG9jYWxfdGFnX2FkZF90b19oYXNoX3RhYmxlKToKCSAgRml4IGNvbXBpbGF0aW9uIHdpdGggZGVidWdnaW5nIGRpc2FibGVkLgoKMjAwOS0wMS0wNSAxMDowMDoyMSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBjb25maWd1cmUuYWM6IEFsc28gbWVudGlvbiBqcDJrZW5jIGFzIGEganAyayBwbHVnaW4gZmVhdHVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBBbHNvIG1lbnRpb24ganAya2VuYyBhcyBhIGpwMmsgcGx1Z2luIGZlYXR1cmUuCgoyMDA5LTAxLTA0IDExOjExOjA2ICswMDAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwQGstZC13Lm9yZz4KCgkgIHN5cy9kdmIvZHZiYmFzZWJpbi5jOiBGaXggc29tZSBtZW1vcnkgbGVha3MuIEZpeGVzIGJ1ZyAjNTY2MzU2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnAgYXQgay1kLXcgZG90IG9yZz4KCSAgKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzogKGR2Yl9iYXNlX2Jpbl9pbml0KSwKCSAgKGR2Yl9iYXNlX2Jpbl9maW5hbGl6ZSksIChkdmJfYmFzZV9iaW5fYWN0aXZhdGVfcHJvZ3JhbSksCgkgIChkdmJfYmFzZV9iaW5fcG10X2luZm9fY2IpLCAoZHZiX2Jhc2VfYmluX3BhZF9hZGRlZF9jYiksCgkgIChkdmJfYmFzZV9iaW5fcHJvZ3JhbV9kZXN0cm95KToKCSAgRml4IHNvbWUgbWVtb3J5IGxlYWtzLiBGaXhlcyBidWcgIzU2NjM1Ni4KCjIwMDktMDEtMDIgMTc6NDA6MDYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci86IFdoZW4gYW4gU1NSQyBpcyBmb3VuZCBvbiB0aGUgY2FwcyBvZiB0aGUgc2VuZGVyIFJUUCwgdXNlIHRoaXMgYXMgdGhlIGludGVybmFsIFNTUkMuIEZpeGVzICM1NjU5MTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX3NldGNhcHNfc2VuZF9ydHApLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3NldF9pbnRlcm5hbF9zc3JjKToKCSAgV2hlbiBhbiBTU1JDIGlzIGZvdW5kIG9uIHRoZSBjYXBzIG9mIHRoZSBzZW5kZXIgUlRQLCB1c2UgdGhpcyBhcyB0aGUKCSAgaW50ZXJuYWwgU1NSQy4gRml4ZXMgIzU2NTkxMC4KCjIwMDktMDEtMDIgMTY6NTA6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFJlbmFtZSBhIG1ldGhvZCB0byBiZXR0ZXIgcmVmbGVjdCB3aGF0IGl0IHJlYWxseSBkb2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0Y2Fwc19zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoY2hlY2tfY29sbGlzaW9uKSwKCSAgKHJ0cF9zZXNzaW9uX3NjaGVkdWxlX2J5ZV9sb2NrZWQpLCAocnRwX3Nlc3Npb25fc2NoZWR1bGVfYnllKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFJlbmFtZSBhIG1ldGhvZCB0byBiZXR0ZXIgcmVmbGVjdCB3aGF0IGl0IHJlYWxseSBkb2VzLgoKMjAwOS0wMS0wMiAxMTowMDoxNyArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJICBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06IE1vdmUgLWxnY3J5cHRvIGZyb20gX0xERkxBR1MgdG8gX0xJQkFERC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOgoJICBNb3ZlIC1sZ2NyeXB0byBmcm9tIF9MREZMQUdTIHRvIF9MSUJBREQuCgoyMDA5LTAxLTAyIDAxOjQ0OjExICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkgIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbTogTGluayBhZ2FpbnN0IC1sZ2NycHl0byBmb3IgUlNBX25ldyBhbmQgUlNBX2ZyZWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbToKCSAgTGluayBhZ2FpbnN0IC1sZ2NycHl0byBmb3IgUlNBX25ldyBhbmQgUlNBX2ZyZWUuCgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzLgoKMjAwOS0wMS0wMiAwMToxMjozNSArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiBJbml0aWFsaXplIHNjcl9yYXRlX24gYW5kIHNjcl9yYXRlX2QgaW4gb3JkZXIgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBJbml0aWFsaXplIHNjcl9yYXRlX24gYW5kIHNjcl9yYXRlX2QgaW4gb3JkZXIgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmdzLgoKMjAwOC0xMi0zMSAwODo1MzowMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgSW1wbGVtZW50IHN1cHBvcnQgZm9yIE9QMmEvYi9jIGFuZCBPUDNhL2IvYywgaS5lLiB0cmFja3Mgd2l0aCBtb3JlIHRoYW4gYSBzaW5nbGUgY29tcG9uZW50LiBUaGlzIGN1cnJlbnRseSBvbmx5IHdvcmtzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOiAobXhmX2J3Zl9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl9hZXMzX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpOgoJICAqIGdzdC9teGYvbXhmYWxhdy5jOiAobXhmX2FsYXdfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCk6CgkgICogZ3N0L214Zi9teGZkMTAuYzogKG14Zl9kMTBfcGljdHVyZV9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl9kMTBfc291bmRfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCk6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9wYWRfaW5pdCksCgkgIChnc3RfbXhmX2RlbXV4X2Nob29zZV9wYWNrYWdlKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyksCgkgIChnc3RfbXhmX2RlbXV4X3BhZF9uZXh0X2NvbXBvbmVudCksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9nZW5lcmljX2NvbnRhaW5lcl9lc3NlbmNlX2VsZW1lbnQpLAoJICAoZ3N0X214Zl9kZW11eF9wYXJzZV9mb290ZXJfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfa2x2X3BhY2tldCksIChnc3RfbXhmX2RlbXV4X3NyY19xdWVyeSk6CgkgICogZ3N0L214Zi9teGZkdi1kaWYuYzogKG14Zl9kdl9kaWZfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCk6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5jOiAobXhmX2pwZWcyMDAwX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpOgoJICAqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzogKG14Zl9tZXRhZGF0YV9zZXF1ZW5jZV9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9zdHJ1Y3R1cmFsX2NvbXBvbmVudF9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2luaXQpOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOiAobXhmX21wZWdfdmlkZW9faGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfbXBlZ19hdWRpb19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgICogZ3N0L214Zi9teGZ1cC5jOiAobXhmX3VwX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpOgoJICAqIGdzdC9teGYvbXhmdmMzLmM6IChteGZfdmMzX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4LmM6IChfc2lua19jaGFpbik6CgkgIEltcGxlbWVudCBzdXBwb3J0IGZvciBPUDJhL2IvYyBhbmQgT1AzYS9iL2MsIGkuZS4gdHJhY2tzIHdpdGgKCSAgbW9yZSB0aGFuIGEgc2luZ2xlIGNvbXBvbmVudC4gVGhpcyBjdXJyZW50bHkgb25seSB3b3JrcyBmb3IKCSAgdGhlIGNhc2Ugd2hlcmUgdGhlIGNvbXBvbmVudHMgYXJlIHN0b3JlZCBpbiBwbGF5YmFjayBvcmRlcgoJICBpbiB0aGUgZmlsZS4KCSAgU2V0IHNvbWUgbW9yZSBkZWZhdWx0L2Rpc3Rpbmd1aXNoZWQgdmFsdWVzIGZvciB0aGUgc3RydWN0dXJhbAoJICBtZXRhZGF0YS4KCSAgTWFrZSBzb21lIHR5cGVzIG1vcmUgc3RyaWN0IGJ5IGNob29zaW5nIHRoZSBjb3JyZWN0IHN1YmNsYXNzZXMuCgkgIFNldCBESVNDT05UIGZsYWcgb24gYnVmZmVycyBhZnRlciBhIGNvbXBvbmVudCBzd2l0Y2guCgkgIFRha2UgdGhlIGxhc3QgcGFydGl0aW9uIGZyb20gdGhlIHJhbmRvbSBpbmRleCBwYWNrIGZvciB0aGUgZm9vdGVyCgkgIHBhcnRpdGlvbiBvZiB0aGUgaGVhZGVyIHBhcnRpdGlvbiBkb2Vzbid0IHJlZmVyZW5jZSB0aGUgZm9vdGVyCgkgIHBhcnRpdGlvbi4gVGhpcyBnaXZlcyB1cyB0aGUgZmluYWwgc3RydWN0dXJhbCBtZXRhZGF0YSBmb3IKCSAgc29tZSBtb3JlIGZpbGVzIGluIHRoZSBiZWdpbm5pbmcuCgoyMDA4LTEyLTI5IDE4OjIyOjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogVXNlIHRoZSBhZGp1c3RlZCBTQ1IgZm9yIGNhbGN1bGF0aW5nIHRoZSBtdXggcmF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogKGdzdF9mbHVwc19kZW11eF9zcmNfcXVlcnkpLAoJICAoZ3N0X2ZsdXBzX2RlbXV4X3BhcnNlX3BhY2tfc3RhcnQpOgoJICBVc2UgdGhlIGFkanVzdGVkIFNDUiBmb3IgY2FsY3VsYXRpbmcgdGhlIG11eCByYXRlLgoJICBEb24ndCB1cGRhdGUgdGhlIHJhdGUgZXN0aW1hdGlvbiBhZnRlciBhIGRpc2NvbnQuCgoyMDA4LTEyLTI5IDE3OjU1OjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguKjogVGhlIHBvc2l0aW9uIG1lbWJlciBpbiB0aGUgbmV3c2VnbWVudCBldmVudCBjb3JyZXNwb25kcyB0byB0aGUgc3RyZWFtX3RpbWUgb2YgdGhlIHNlZ21lLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IChnc3RfZmx1cHNfZGVtdXhfc2VuZF9kYXRhKToKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBUaGUgcG9zaXRpb24gbWVtYmVyIGluIHRoZSBuZXdzZWdtZW50IGV2ZW50IGNvcnJlc3BvbmRzIHRvIHRoZQoJICBzdHJlYW1fdGltZSBvZiB0aGUgc2VnbWVudCBzdGFydCBwb3NpdGlvbi4KCjIwMDgtMTItMjkgMTc6MzA6MDMgKzAwMDAgIFJvYmluIFN0b2NrZXIgPHJvYmluQG5pYm9yLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IENvbnZlcnRpbmcgZnJvbSB0aW1lIHRvIGJ5dGVzIG9wZXJhdGVzIG9uIHRoZSBzdHJlYW1fdGltZSwgbm90IHRoZSBTQ1IgdGltZWxpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUm9iaW4gU3RvY2tlciA8cm9iaW4gYXQgbmlib3IgZG90IG9yZz4KCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiAoZ3N0X2ZsdXBzX2RlbXV4X3NyY19xdWVyeSk6CgkgIENvbnZlcnRpbmcgZnJvbSB0aW1lIHRvIGJ5dGVzIG9wZXJhdGVzIG9uIHRoZSBzdHJlYW1fdGltZSwgbm90IHRoZSBTQ1IKCSAgdGltZWxpbmUuCgkgIFRoZSBwb3NpdGlvbiByZXBvcnRpbmcgc2hvdWxkIGhhcHBlbiBpbiBzdHJlYW1fdGltZSwgbm90IHRoZSBzZWdtZW50CgkgIHRpbWVzdGFtcCByYW5nZS4gU2VlICM1NTcxNjEuCgoyMDA4LTEyLTI5IDE2OjQ1OjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuKjogQWRkIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMgdG8gY29uZmlndXJlIGFuZCByZXRyaWV2ZSB0aGUgbWluIGFuZCBtYXggbGF0ZW5jaWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOiAoZ3N0X2FwcF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYXBwX3NyY19pbml0KSwgKGdzdF9hcHBfc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXBwX3NyY19nZXRfcHJvcGVydHkpLCAoZ3N0X2FwcF9zcmNfcXVlcnkpLAoJICAoZ3N0X2FwcF9zcmNfc2V0X2xhdGVuY2llcyksIChnc3RfYXBwX3NyY19zZXRfbGF0ZW5jeSksCgkgIChnc3RfYXBwX3NyY19nZXRfbGF0ZW5jeSksIChnc3RfYXBwX3NyY19wdXNoX2J1ZmZlcl9mdWxsKToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5oOgoJICBBZGQgcHJvcGVydGllcyBhbmQgbWV0aG9kcyB0byBjb25maWd1cmUgYW5kIHJldHJpZXZlIHRoZSBtaW4gYW5kIG1heAoJICBsYXRlbmNpZXMuCgoyMDA4LTEyLTI5IDE2OjI5OjA4ICswMDAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwQGstZC13Lm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOiBGaXggbWVtbGVhay4gRml4ZXMgIzU2NTYxNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwIGF0IGstZC13IGRvdCBvcmc+CgkgICogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6IChtcGVndHNfcGFja2V0aXplcl9wYXJzZV9laXQpOgoJICBGaXggbWVtbGVhay4gRml4ZXMgIzU2NTYxNC4KCjIwMDgtMTItMjkgMTY6MTg6NDcgKzAwMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnBAay1kLXcub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6IEFkZCBhIHNjcmFtYmxlZCBmaWVsZCB0byB0aGUgc2VydmljZSBzdHJ1Y3R1cmVzIHJldHJpZXZlZCBmcm9tIFNEVCB0byBkZXRlcm1pbmUgaWYgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicCBhdCBrLWQtdyBkb3Qgb3JnPgoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOiAobXBlZ3RzX3BhY2tldGl6ZXJfcGFyc2Vfc2R0KToKCSAgQWRkIGEgc2NyYW1ibGVkIGZpZWxkIHRvIHRoZSBzZXJ2aWNlIHN0cnVjdHVyZXMgcmV0cmlldmVkIGZyb20gU0RUIHRvCgkgIGRldGVybWluZSBpZiBhIGNoYW5uZWwgaXMgc2NyYW1ibGVkLiBGaXhlcyAjNTY1NjEzLgoKMjAwOC0xMi0yOSAxNTo1NDo0NCArMDAwMCAgRGFtaWVuIExlc3BpYXUgPGRhbWllbi5sZXNwaWF1QGdtYWlsLmNvbT4KCgkgIGdzdC9wY2FwcGFyc2UvOiBQYXRjaCB0byBtYWtlIGdzdHBjYXBwYXJzZSBjb21waWxlIHdpdGggbWluZ3czMiBnY2MuIEZpeGVzICM1NjU0MzkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRGFtaWVuIExlc3BpYXUgPGRhbWllbiBkb3QgbGVzcGlhdSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgUGF0Y2ggdG8gbWFrZSBnc3RwY2FwcGFyc2UgY29tcGlsZSB3aXRoIG1pbmd3MzIgZ2NjLiBGaXhlcyAjNTY1NDM5LgoKMjAwOC0xMi0yOSAxNTo0OTozNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogVXNlIG1ldGhvZCB0byBnZXQgdGhlIGludGVybmFsIFNTUkMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRjYXBzX3NlbmRfcnRwKToKCSAgVXNlIG1ldGhvZCB0byBnZXQgdGhlIGludGVybmFsIFNTUkMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLCAocnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KToKCSAgQWRkIHByb3BlcnR5IHRvIGNvbmdpdXJlIHRoZSBpbnRlcm5hbCBTU1JDIG9mIHRoZSBzZXNzaW9uLgoJICBGaXhlcyAjNTY1OTEwLgoKMjAwOC0xMi0yOSAxNToyMTo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogT25seSBjaGFuZ2UgdGhlIFNTUkMgb2YgdGhlIHNlc3Npb24gYW5kIHJlc2V0IHRoZSBpbnRlcm5hbCBzb3VyY2Ugd2hlbiB0aGUgU1NSQyBhY3R1YWxseS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9zZXRfaW50ZXJuYWxfc3NyYyk6CgkgIE9ubHkgY2hhbmdlIHRoZSBTU1JDIG9mIHRoZSBzZXNzaW9uIGFuZCByZXNldCB0aGUgaW50ZXJuYWwgc291cmNlIHdoZW4KCSAgdGhlIFNTUkMgYWN0dWFsbHkgY2hhbmdlZC4gU2VlICM1NjU5MTAuCgoyMDA4LTEyLTI5IDE0OjIxOjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLio6IFdoZW4gbm8gcGF5bG9hZCB3YXMgc3BlY2lmaWVkIG9uIHRoZSBjYXBzIGJ1dCB0aGVyZSB3YXMgYSBjbG9jay1yYXRlLCBhc3N1bWUgdGhlIGNsb2NrLXJhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9pbml0KSwKCSAgKHJ0cF9zb3VyY2VfdXBkYXRlX2NhcHMpLCAoZ2V0X2Nsb2NrX3JhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBXaGVuIG5vIHBheWxvYWQgd2FzIHNwZWNpZmllZCBvbiB0aGUgY2FwcyBidXQgdGhlcmUgd2FzIGEgY2xvY2stcmF0ZSwKCSAgYXNzdW1lIHRoZSBjbG9jay1yYXRlIGNvcnJlc3BvbmRzIHRvIHRoZSBmaXJzdCBwYXlsb2FkIHR5cGUgZm91bmQgaW4gdGhlCgkgIFJUUCBwYWNrZXRzLiBGaXhlcyAjNTY1NTA5LgoKMjAwOC0xMi0yMyAxNjozMjowNSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IFdpdGggY29uc3RhbnQgcmVhZCBmYWlsdXJlcywgbWFrZSBzdXJlIHdlIGV4aXQgdGhlIHJlYWRfZGV2aWNlIG1ldGhvZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgV2l0aCBjb25zdGFudCByZWFkIGZhaWx1cmVzLCBtYWtlIHN1cmUgd2UgZXhpdCB0aGUgcmVhZF9kZXZpY2UKCSAgbWV0aG9kLgoKMjAwOC0xMi0yMyAxNToyNjozMCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IFBvc3QgYnVzIG1lc3NhZ2Ugd2l0aCBkdmIgcmVhZCBmYWlsdXJlIHdoZW4gdW5hYmxlIHRvIHJlYWQgZnJvbSBkZXZpY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIFBvc3QgYnVzIG1lc3NhZ2Ugd2l0aCBkdmIgcmVhZCBmYWlsdXJlIHdoZW4gdW5hYmxlIHRvIHJlYWQgZnJvbQoJICBkZXZpY2UuCgoyMDA4LTEyLTIzIDEyOjI1OjQ3ICswMDAwICBMdW90YW8gRnUgPGwuZnVAcGVuZ3V0cm9uaXguZGU+CgoJICBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6IEZpeCB0aGUgRGVwdGggY2FsY3VsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTHVvdGFvIEZ1IDxsIGRvdCBmdSBhdCBwZW5ndXRyb25peCBkb3QgZGU+CgkgICogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOiAoZ3N0X2ZiZGV2c2lua19nZXRjYXBzKToKCSAgRml4IHRoZSBEZXB0aCBjYWxjdWxhdGlvbi4KCSAgRml4ZXMgIzU2NDExNC4KCjIwMDgtMTItMjMgMTE6Mzk6NTkgKzAwMDAgIEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXRAbWluZC5iZT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci4qOiBLZWVwIHRyYWNrIG9mIHRoZSBsYXN0IG91dGdvaW5nIHRpbWVzdGFtcCBhbmQgb2YgdGhlIGxhc3Qgc2VuZGVyLXNpZGUgdGltZS4gIFRpbWVzdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFybm91dCBWYW5kZWNhcHBlbGxlIDxhcm5vdXQgYXQgbWluZCBkb3QgYmU+CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwKCSAgKGNhbGN1bGF0ZV9za2V3KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgS2VlcCB0cmFjayBvZiB0aGUgbGFzdCBvdXRnb2luZyB0aW1lc3RhbXAgYW5kIG9mIHRoZSBsYXN0IHNlbmRlci1zaWRlCgkgIHRpbWUuICBUaW1lc3RhbXBzIGNhbiBvbmx5IGdvIGZvcndhcmQgaWYgdGhleSBkbyBhdCB0aGUgc2VuZGVyCgkgIHNpZGUsIGNhbiBvbmx5IGdvIGJhY2sgaWYgdGhleSBkbyBhdCB0aGUgc2VuZGVyIHNpZGUsIGFuZCByZW1haW4gdGhlCgkgIHNhbWUgaWYgdGhleSByZW1haW4gdGhlIHNhbWUgYXQgdGhlIHNlbmRlciBzaWRlLiBGaXhlcyAjNTY1MzE5LgoKMjAwOC0xMi0yMiAyMDo1NjoxMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZtcGVnLmM6IEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIGguMjY0IHZpZGVvIChTTVBURSBSUDIwMDgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9tcGVnX2VzX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9tcGVnX2NyZWF0ZV9jYXBzKToKCSAgQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgaC4yNjQgdmlkZW8gKFNNUFRFIFJQMjAwOCkuCgoyMDA4LTEyLTIyIDIwOjM3OjI0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214Zm1ldGFkYXRhLio6IElmIHJlc29sdmluZyBhIG1ldGFkYXRhIG9iamVjdCBmYWlsZWQgdGhlIGZpcnN0IHRpbWUgcmV0dXJuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzogKG14Zl9tZXRhZGF0YV9iYXNlX3Jlc29sdmUpOgoJICAqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSAgSWYgcmVzb2x2aW5nIGEgbWV0YWRhdGEgb2JqZWN0IGZhaWxlZCB0aGUgZmlyc3QgdGltZSByZXR1cm4KCSAgRkFMU0UgZm9yIGEgc2Vjb25kIG14Zl9tZXRhZGF0YV9iYXNlX3Jlc29sdmUoKSBjYWxsIGluc3RlYWQKCSAgb2YgVFJVRS4KCjIwMDgtMTItMjIgMTA6MTQ6MzUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBDbGVhbnVwIG9mIHRoZSBpbmNsdWRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGYuYzoKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuaDoKCSAgKiBnc3QvbXhmL214ZmQxMC5jOgoJICAqIGdzdC9teGYvbXhmZG1zMS5jOgoJICAqIGdzdC9teGYvbXhmZG1zMS5oOgoJICAqIGdzdC9teGYvbXhmbXBlZy5oOgoJICAqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgQ2xlYW51cCBvZiB0aGUgaW5jbHVkZXMuCgoyMDA4LTEyLTE5IDE4OjUzOjQ3ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdG11eC9nc3RxdG11eC5jOiBEbyBub3QgdGVtcHQgb3Igc3VnZ2VzdCB0byB2aW9sYXRlIGdzdF9jb2xsZWN0X3BhZHMgQVBJIHNwZWNpZmljYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5jOiAoZ3N0X3F0X211eF9jaGFuZ2Vfc3RhdGUpOgoJICBEbyBub3QgdGVtcHQgb3Igc3VnZ2VzdCB0byB2aW9sYXRlIGdzdF9jb2xsZWN0X3BhZHMgQVBJIHNwZWNpZmljYXRpb24uCgoyMDA4LTEyLTE5IDE4OjMzOjQ3ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdG11eC86IER1YWwgbGljZW5zZSBxdG11eCBMR1BML01JVC4gIEZpeGVzICM1NjQyMzIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdG11eC9hdG9tcy5jOgoJICAqIGdzdC9xdG11eC9hdG9tcy5oOgoJICAqIGdzdC9xdG11eC9kZXNjcmlwdG9ycy5jOgoJICAqIGdzdC9xdG11eC9kZXNjcmlwdG9ycy5oOgoJICAqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSAgKiBnc3QvcXRtdXgvZnR5cGNjLmg6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmg6CgkgICogZ3N0L3F0bXV4L3Byb3BlcnRpZXMuYzoKCSAgKiBnc3QvcXRtdXgvcHJvcGVydGllcy5oOgoJICBEdWFsIGxpY2Vuc2UgcXRtdXggTEdQTC9NSVQuICBGaXhlcyAjNTY0MjMyLgoKMjAwOC0xMi0xOSAxMDowNjoyNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEFkZCBteGZfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3Jfc2V0X2NhcHMoKSB0byBzZXQgcmF0ZSBhbmQgY2hhbm5lbHMgYW5kIHVzZSB0aGlzIGZvciBhbGwgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOiAobXhmX2J3Zl9jcmVhdGVfY2FwcyksCgkgIChteGZfYWVzM19jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZhbGF3LmM6IChteGZfYWxhd19jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZkMTAuYzogKG14Zl9kMTBfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6IChteGZfbWV0YWRhdGFfc291cmNlX3BhY2thZ2VfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9zZXRfY2FwcyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3Jfc2V0X2NhcHMpOgoJICAqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9tcGVnX2VzX2NyZWF0ZV9jYXBzKToKCSAgQWRkIG14Zl9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvcl9zZXRfY2FwcygpIHRvCgkgIHNldCByYXRlIGFuZCBjaGFubmVscyBhbmQgdXNlIHRoaXMgZm9yIGFsbCBzb3VuZCBlc3NlbmNlLgoJICBHaXZlIHNvbWUgZGVidWcgb3V0cHV0IHdoZW4gc2V0dGluZyBwaWN0dXJlIGVzc2VuY2UgY2FwcyB3aXRoCgkgIGludmFsaWQgZGVzY3JpcHRvciB2YWx1ZXMuCgkgIEZpeCBoZWlnaHQgY2FsY3VsYXRpb24gZnJvbSB0aGUgZnJhbWUgbGF5b3V0IGEgYml0IG1vcmUgYW5kCgkgIGFkZCBhIFRPRE8gdG8gY2hlY2sgaWYgaXQncyByZWFsbHkgY29ycmVjdCBub3cgb3IgaWYgaXQgbmVlZHMKCSAgbW9yZSBmaXhpbmcgKGVzcGVjaWFsbHksIGRvZXMgdGhlIGZyYW1lcmF0ZSBuZWVkIGFkanVzdG1lbnRzPykuCgoyMDA4LTEyLTE4IDE3OjQ5OjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQWRkIHN1cHBvcnQgZm9yIFZDLTMgKGFrYSBETnhIRCBlc3NlbmNlLCBzZWUgU01QVEUgMjAxOS00KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXhmL214Zi5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9teGYvbXhmdmMzLmM6IChteGZfaXNfdmMzX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX3ZjM19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl92YzNfY3JlYXRlX2NhcHMpLAoJICAobXhmX3ZjM19pbml0KToKCSAgKiBnc3QvbXhmL214ZnZjMy5oOgoJICBBZGQgc3VwcG9ydCBmb3IgVkMtMyAoYWthIEROeEhEIGVzc2VuY2UsIHNlZSBTTVBURSAyMDE5LTQpLgoJICBUaGlzIGlzIHVudGVzdGVkIGJlY2F1c2Ugb2YgbGFjayBvZiBzYW1wbGUgZmlsZXMgYnV0IHNob3VsZAoJICB3b3JrIGZpbmUuCgoyMDA4LTEyLTE3IDEzOjUxOjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQWRkIGFwcHNyYyBhbmQgYXBwc2luayBkb2N1bWVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6IChnc3RfYXBwX3NyY19jbGFzc19pbml0KToKCSAgQWRkIGFwcHNyYyBhbmQgYXBwc2luayBkb2N1bWVudGF0aW9uLgoKMjAwOC0xMi0xNyAxMjowNjo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBJbiBwdXNoIG1vZGUgc2tpcCB0aGUgcnVuIGluIGFnYWluIGlmIHdlIGdldCBidWZmZXJzIHdpdGggYW4gb2Zmc2V0IGJlZm9yZSB0aGUgcnVuIGluLiBUaGlzIGNhbiBoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfY2hhaW4pOgoJICBJbiBwdXNoIG1vZGUgc2tpcCB0aGUgcnVuIGluIGFnYWluIGlmIHdlIGdldCBidWZmZXJzIHdpdGgKCSAgYW4gb2Zmc2V0IGJlZm9yZSB0aGUgcnVuIGluLiBUaGlzIGNhbiBoYXBwZW4gb24gc2Vla3MgZm9yIGV4YW1wbGUuCgoyMDA4LTEyLTE2IDE2OjI2OjUyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBUb3RhbGx5IHJlbW92ZSB0aGUgaW50ZXJuYWwgdGFnbGlzdHMgYW5kIGZ1bGx5IHVzZSB0YWdzZXR0ZXIuIEZpeGVzIHZhcmlvdXMgdGFnIG11eGluZyBpc3N1ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmg6CgkgICogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIFRvdGFsbHkgcmVtb3ZlIHRoZSBpbnRlcm5hbCB0YWdsaXN0cyBhbmQgZnVsbHkgdXNlIHRhZ3NldHRlci4gRml4ZXMKCSAgdmFyaW91cyB0YWcgbXV4aW5nIGlzc3Vlcy4KCjIwMDgtMTItMTYgMTI6NDY6MzcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4LmM6IEluY3JlYXNlIHRoZSB0aW1lb3V0IHRvIDMgbWludXRlcyB0byBwcmV2ZW50IHRpbWVvdXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC5jOiAobXhmZGVtdXhfc3VpdGUpOgoJICBJbmNyZWFzZSB0aGUgdGltZW91dCB0byAzIG1pbnV0ZXMgdG8gcHJldmVudCB0aW1lb3V0cy4KCjIwMDgtMTItMTYgMTI6Mzc6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4Lio6IE1ha2Ugc3VyZSB0aGUgbWFpbiBsb29wIGlzIGFscmVhZHkgcnVubmluZyB3aGVuIGhhbmRsaW5nIHRoZSBFT1MgZXZlbnQgaW4gcHVsbCBtb2RlLi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC5jOiAoX3NpbmtfZXZlbnQpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4Lmg6CgkgIE1ha2Ugc3VyZSB0aGUgbWFpbiBsb29wIGlzIGFscmVhZHkgcnVubmluZyB3aGVuIGhhbmRsaW5nIHRoZSBFT1MKCSAgZXZlbnQgaW4gcHVsbCBtb2RlLiBUaGlzIHdvcmtzIGFyb3VuZCBhIHJhY2UgY29uZGl0aW9uIHRoYXQgY2FuCgkgIGhhcHBlbiBpZiB0aGUgZWxlbWVudCBnb2VzIGludG8gUExBWUlORywgaGFuZGxlcyBldmVyeXRoaW5nIGFuZAoJICBzZW5kcyBFT1MgYmVmb3JlIHRoZSBtYWluIGxvb3AgaXMgc3RhcnRlZC4KCjIwMDgtMTItMTYgMTI6MzA6MzQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBJbXBsZW1lbnQgYW4gZXNzZW5jZSBlbGVtZW50IGhhbmRsaW5nIHJlZ2lzdHJ5IGFuZCB1c2UgdGhpcyBpbnN0ZWFkIG9mIGFuIGhhcmRjb2RlZCwgbGFyZ2UgaWYtdGhlbi1lbHNlIGJsb2NrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzogKG14Zl9pc19hZXNfYndmX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX2J3Zl9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl9hZXMzX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX2J3Zl9jcmVhdGVfY2FwcyksCgkgIChteGZfYWVzM19jcmVhdGVfY2FwcyksIChteGZfYWVzX2J3Zl9jcmVhdGVfY2FwcyksCgkgIChteGZfYWVzX2J3Zl9pbml0KToKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuaDoKCSAgKiBnc3QvbXhmL214ZmFsYXcuYzogKG14Zl9pc19hbGF3X2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX2FsYXdfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfYWxhd19jcmVhdGVfY2FwcyksCgkgIChteGZfYWxhd19pbml0KToKCSAgKiBnc3QvbXhmL214ZmFsYXcuaDoKCSAgKiBnc3QvbXhmL214ZmQxMC5jOiAobXhmX2lzX2QxMF9lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9kMTBfcGljdHVyZV9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl9kMTBfc291bmRfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfZDEwX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9kMTBfaW5pdCk6CgkgICogZ3N0L214Zi9teGZkMTAuaDoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3Jlc2V0X21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9nZW5lcmljX2NvbnRhaW5lcl9lc3NlbmNlX2VsZW1lbnQpOgoJICAqIGdzdC9teGYvbXhmZHYtZGlmLmM6IChteGZfaXNfZHZfZGlmX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX2R2X2RpZl9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl9kdl9kaWZfY3JlYXRlX2NhcHMpLAoJICAobXhmX2R2X2RpZl9pbml0KToKCSAgKiBnc3QvbXhmL214ZmR2LWRpZi5oOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuYzogKG14Zl9pc19qcGVnMjAwMF9lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9qcGVnMjAwMF9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl9qcGVnMjAwMF9jcmVhdGVfY2FwcyksCgkgIChteGZfanBlZzIwMDBfaW5pdCk6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5oOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOiAobXhmX2lzX21wZWdfZXNzZW5jZV90cmFjayksCgkgIChteGZfbXBlZ192aWRlb19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl9tcGVnX2F1ZGlvX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX21wZWdfZXNfY3JlYXRlX2NhcHMpLAoJICAobXhmX21wZWdfY3JlYXRlX2NhcHMpLCAobXhmX21wZWdfaW5pdCk6CgkgICogZ3N0L214Zi9teGZtcGVnLmg6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX2Vzc2VuY2VfZWxlbWVudF9oYW5kbGVyX3JlZ2lzdGVyKSwKCSAgKG14Zl9lc3NlbmNlX2VsZW1lbnRfaGFuZGxlcl9maW5kKToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgICogZ3N0L214Zi9teGZ1cC5jOiAobXhmX2lzX3VwX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX3VwX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX3VwX3JnYmFfY3JlYXRlX2NhcHMpLAoJICAobXhmX3VwX2NyZWF0ZV9jYXBzKSwgKG14Zl91cF9pbml0KToKCSAgKiBnc3QvbXhmL214ZnVwLmg6CgkgIEltcGxlbWVudCBhbiBlc3NlbmNlIGVsZW1lbnQgaGFuZGxpbmcgcmVnaXN0cnkgYW5kIHVzZSB0aGlzIGluc3RlYWQKCSAgb2YgYW4gaGFyZGNvZGVkLCBsYXJnZSBpZi10aGVuLWVsc2UgYmxvY2suCgoyMDA4LTEyLTE2IDEwOjUwOjQwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IEJsYWNrbGlzdCByZmJzcmMgZnJvbSB0aGUgc3RhdGUgY2hhbmdlIHRlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBCbGFja2xpc3QgcmZic3JjIGZyb20gdGhlIHN0YXRlIGNoYW5nZSB0ZXN0LgoKMjAwOC0xMi0xNiAwOTo1OTozOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgcHVzaCBhbmQgcHVsbCBtb2RlIHVuaXQgdGVzdCBmb3IgbXhmZGVtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4LmM6IChfcGFkX2FkZGVkKSwgKF9zaW5rX2NoYWluKSwKCSAgKF9zaW5rX2V2ZW50KSwgKF9jcmVhdGVfc2lua19wYWQpLCAoX2NyZWF0ZV9zcmNfcGFkX3B1c2gpLAoJICAoX3NyY19nZXRyYW5nZSksIChfc3JjX3F1ZXJ5KSwgKF9jcmVhdGVfc3JjX3BhZF9wdWxsKSwKCSAgKEdTVF9TVEFSVF9URVNUKSwgKG14ZmRlbXV4X3N1aXRlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC5oOgoJICBBZGQgcHVzaCBhbmQgcHVsbCBtb2RlIHVuaXQgdGVzdCBmb3IgbXhmZGVtdXguCgoyMDA4LTEyLTE2IDA4OjM1OjA1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgaW5pdGlhbCBkb2N1bWVudGF0aW9uIGZvciB0aGUgTVhGIHBsdWdpbiBhbmQgbXhmZGVtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIEFkZCBpbml0aWFsIGRvY3VtZW50YXRpb24gZm9yIHRoZSBNWEYgcGx1Z2luIGFuZCBteGZkZW11eC4KCjIwMDgtMTItMTYgMDg6MjE6MjkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBSZW5hbWUgTVhGTWV0YWRhdGFCYXNlIG1ldGhvZHMgdG8gcmVmbGVjdCB0aGF0IHRoZXkgYmVsb25nIHRvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpOgoJICAqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzogKG14Zl9tZXRhZGF0YV9iYXNlX3Jlc29sdmVfZGVmYXVsdCksCgkgIChteGZfbWV0YWRhdGFfYmFzZV9jbGFzc19pbml0KSwgKG14Zl9tZXRhZGF0YV9iYXNlX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9iYXNlX3Jlc29sdmUpLCAobXhmX21ldGFkYXRhX25ldyksCgkgIChteGZfbWV0YWRhdGFfcHJlZmFjZV9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfZXNzZW5jZV9jb250YWluZXJfZGF0YV9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BhY2thZ2VfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfc291cmNlX3BhY2thZ2VfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfdHJhY2tfcmVzb2x2ZSksIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfZG1fc2VnbWVudF9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9yZXNvbHZlKToKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkgIFJlbmFtZSBNWEZNZXRhZGF0YUJhc2UgbWV0aG9kcyB0byByZWZsZWN0IHRoYXQgdGhleSBiZWxvbmcgdG8KCSAgTVhGTWV0YWRhdGFCYXNlIGFuZCBub3QgTVhGTWV0YWRhdGEuCgoyMDA4LTEyLTE1IDE4OjEyOjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogUmV0dXJuIEZBTFNFIHdoZW4gcGFyc2luZyBhIG1ldGFkYXRhIHRhZyBmYWlsZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJICAobXhmX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2FlczNfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpOgoJICAqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgKG14Zl9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpOgoJICBSZXR1cm4gRkFMU0Ugd2hlbiBwYXJzaW5nIGEgbWV0YWRhdGEgdGFnIGZhaWxlZC4KCSAgUmVtb3ZlIHNvbWUgdXNlbGVzcyByZXR1cm4gdmFsdWUgYXNzaWdubWVudHMuCgoyMDA4LTEyLTE1IDE3OjI3OjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQ29udmVydCB0aGUgc3RydWN0dXJhbCBtZXRhZGF0YSB0byBHc3RNaW5pT2JqZWN0cyB0byBtYWtlIGEgbG90IG9mIGNvZGUgZWFzaWVyIGFuZCB0byBtYWtlIGV2ZXJ5dGhpbmcgYmV0dGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXhmL214Zi5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJICAobXhmX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2FlczNfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV9hZXMzX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9hZXMzX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9hZXMzX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9jbGFzc19pbml0KSwKCSAgKG14Zl9pc19hZXNfYndmX2Vzc2VuY2VfdHJhY2spLCAobXhmX2J3Zl9jcmVhdGVfY2FwcyksCgkgIChteGZfYWVzM19jcmVhdGVfY2FwcyksIChteGZfYWVzX2J3Zl9jcmVhdGVfY2FwcyksCgkgIChteGZfYWVzX2J3Zl9pbml0KToKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuaDoKCSAgKiBnc3QvbXhmL214ZmFsYXcuYzogKG14Zl9pc19hbGF3X2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX2FsYXdfY3JlYXRlX2NhcHMpLCAobXhmX2FsYXdfaW5pdCk6CgkgICogZ3N0L214Zi9teGZhbGF3Lmg6CgkgICogZ3N0L214Zi9teGZkMTAuYzogKG14Zl9pc19kMTBfZXNzZW5jZV90cmFjayksCgkgIChteGZfZDEwX2NyZWF0ZV9jYXBzKSwgKG14Zl9kMTBfaW5pdCk6CgkgICogZ3N0L214Zi9teGZkMTAuaDoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3Jlc2V0X21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpLAoJICAoZ3N0X214Zl9kZW11eF9maW5kX3BhY2thZ2UpLCAoZ3N0X214Zl9kZW11eF9jaG9vc2VfcGFja2FnZSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfZ2VuZXJpY19jb250YWluZXJfZXNzZW5jZV9lbGVtZW50KSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2tsdl9wYWNrZXQpLCAoZ3N0X214Zl9kZW11eF9zcmNfcXVlcnkpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgKiBnc3QvbXhmL214ZmR2LWRpZi5jOiAobXhmX2lzX2R2X2RpZl9lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9kdl9kaWZfY3JlYXRlX2NhcHMpLCAobXhmX2R2X2RpZl9pbml0KToKCSAgKiBnc3QvbXhmL214ZmR2LWRpZi5oOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuYzogKG14Zl9pc19qcGVnMjAwMF9lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9qcGVnMjAwMF9jcmVhdGVfY2FwcyksIChteGZfanBlZzIwMDBfaW5pdCk6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5oOgoJICAqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzogKG14Zl9tZXRhZGF0YV9iYXNlX2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV9iYXNlX2hhbmRsZV90YWcpLCAobXhmX21ldGFkYXRhX2Jhc2VfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfYmFzZV9pbml0KSwgKG14Zl9tZXRhZGF0YV9iYXNlX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3BhcnNlKSwgKG14Zl9tZXRhZGF0YV9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9oYW5kbGVfdGFnKSwgKG14Zl9tZXRhZGF0YV9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9pbml0KSwgKG14Zl9tZXRhZGF0YV9pbml0X3R5cGVzKSwKCSAgKG14Zl9tZXRhZGF0YV9yZWdpc3RlciksIChteGZfbWV0YWRhdGFfbmV3KSwKCSAgKG14Zl9tZXRhZGF0YV9wcmVmYWNlX2ZpbmFsaXplKSwgKG14Zl9tZXRhZGF0YV9wcmVmYWNlX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3ByZWZhY2VfcmVzb2x2ZSksIChteGZfbWV0YWRhdGFfcHJlZmFjZV9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9wcmVmYWNlX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2lkZW50aWZpY2F0aW9uX2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV9pZGVudGlmaWNhdGlvbl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9pZGVudGlmaWNhdGlvbl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9pZGVudGlmaWNhdGlvbl9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZV9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9lc3NlbmNlX2NvbnRhaW5lcl9kYXRhX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2Vzc2VuY2VfY29udGFpbmVyX2RhdGFfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfZXNzZW5jZV9jb250YWluZXJfZGF0YV9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9lc3NlbmNlX2NvbnRhaW5lcl9kYXRhX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19wYWNrYWdlX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BhY2thZ2VfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19wYWNrYWdlX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX21hdGVyaWFsX3BhY2thZ2VfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfbWF0ZXJpYWxfcGFja2FnZV9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9tYXRlcmlhbF9wYWNrYWdlX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3NvdXJjZV9wYWNrYWdlX2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV9zb3VyY2VfcGFja2FnZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9zb3VyY2VfcGFja2FnZV9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9zb3VyY2VfcGFja2FnZV9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9zb3VyY2VfcGFja2FnZV9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV90cmFja19maW5hbGl6ZSksIChteGZfbWV0YWRhdGFfdHJhY2tfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfdHJhY2tfcmVzb2x2ZSksIChteGZfbWV0YWRhdGFfdHJhY2tfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfdHJhY2tfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfdHJhY2tfaWRlbnRpZmllcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfdGltZWxpbmVfdHJhY2tfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfdGltZWxpbmVfdHJhY2tfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfdGltZWxpbmVfdHJhY2tfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZXZlbnRfdHJhY2tfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZXZlbnRfdHJhY2tfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZXZlbnRfdHJhY2tfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfc3RhdGljX3RyYWNrX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3N0YXRpY190cmFja19jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9zZXF1ZW5jZV9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfcmVzb2x2ZSksIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnRfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnRfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnRfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfdGltZWNvZGVfY29tcG9uZW50X2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3RpbWVjb2RlX2NvbXBvbmVudF9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV90aW1lY29kZV9jb21wb25lbnRfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfc291cmNlX2NsaXBfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfc291cmNlX2NsaXBfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfc291cmNlX2NsaXBfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfc291cmNlX2NsaXBfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZG1fc291cmNlX2NsaXBfZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX2RtX3NvdXJjZV9jbGlwX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2RtX3NvdXJjZV9jbGlwX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2RtX3NvdXJjZV9jbGlwX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2RtX3NlZ21lbnRfZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX2RtX3NlZ21lbnRfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZG1fc2VnbWVudF9yZXNvbHZlKSwgKG14Zl9tZXRhZGF0YV9kbV9zZWdtZW50X2luaXQpLAoJICAobXhmX21ldGFkYXRhX2RtX3NlZ21lbnRfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZmlsZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2ZpbGVfZGVzY3JpcHRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9maWxlX2Rlc2NyaXB0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9zZXRfY2FwcyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3JfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfY2RjaV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9jZGNpX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2NkY2lfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfcmdiYV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfcmdiYV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9yZ2JhX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3JnYmFfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kYXRhX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2RhdGFfZXNzZW5jZV9kZXNjcmlwdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGF0YV9lc3NlbmNlX2Rlc2NyaXB0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9sb2NhdG9yX2luaXQpLCAobXhmX21ldGFkYXRhX2xvY2F0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfdGV4dF9sb2NhdG9yX2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV90ZXh0X2xvY2F0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfdGV4dF9sb2NhdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3RleHRfbG9jYXRvcl9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9uZXR3b3JrX2xvY2F0b3JfZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX25ldHdvcmtfbG9jYXRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9uZXR3b3JrX2xvY2F0b3JfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfbmV0d29ya19sb2NhdG9yX2NsYXNzX2luaXQpOgoJICAqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgKG14Zl9tZXRhZGF0YV9tcGVnX3ZpZGVvX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfbXBlZ192aWRlb19kZXNjcmlwdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX21wZWdfdmlkZW9fZGVzY3JpcHRvcl9jbGFzc19pbml0KSwKCSAgKG14Zl9pc19tcGVnX2Vzc2VuY2VfdHJhY2spLCAobXhmX21wZWdfZXNfY3JlYXRlX2NhcHMpLAoJICAobXhmX21wZWdfY3JlYXRlX2NhcHMpLCAobXhmX21wZWdfaW5pdCk6CgkgICogZ3N0L214Zi9teGZtcGVnLmg6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX2luZGV4X3RhYmxlX3NlZ21lbnRfcGFyc2UpLAoJICAobXhmX2xvY2FsX3RhZ19hZGRfdG9faGFzaF90YWJsZSk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICAqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgKiBnc3QvbXhmL214ZnVwLmM6IChteGZfaXNfdXBfZXNzZW5jZV90cmFjayksIChteGZfdXBfY3JlYXRlX2NhcHMpLAoJICAobXhmX3VwX2luaXQpOgoJICAqIGdzdC9teGYvbXhmdXAuaDoKCSAgQ29udmVydCB0aGUgc3RydWN0dXJhbCBtZXRhZGF0YSB0byBHc3RNaW5pT2JqZWN0cyB0byBtYWtlIGEgbG90IG9mCgkgIGNvZGUgZWFzaWVyIGFuZCB0byBtYWtlIGV2ZXJ5dGhpbmcgYmV0dGVyIGV4dGVuc2libGUuCgkgIEFkZCBhICJyZWdpc3RyeSIgZm9yIG1ldGFkYXRhIGhhbmRsZXJzIHRvIGltcHJvdmUgZXh0ZW5zaWJpbGl0eSBldmVuCgkgIG1vcmUgYW5kIHRvIHJlbW92ZSBtZXRhZGF0YSB0eXBlIHNwZWNpZmljcyBmcm9tIG14ZmRlbXV4LgoJICBDbGVhbiB1cCBhIGxvdCBvZiBwYXJ0cyBhbmQgYWRkIHNvbWUgbW9yZSBOVUxMIGNoZWNrcy4KCjIwMDgtMTItMTUgMTU6NTY6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9mYWFjL2dzdGZhYWMuYzogRml4IGRlZmF1bHQgZm9yIG91dHB1dGZvcm1hdCBwcm9wZXJ0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBGaXggZGVmYXVsdCBmb3Igb3V0cHV0Zm9ybWF0IHByb3BlcnR5LgoKMjAwOC0xMi0xNSAxMjowMjoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4YW1wbGVzL2FwcC86IEZpeCBleGFtcGxlIHRvIHVucmVmIGFmdGVyIGVtaXRpbmcgdGhlIHB1c2gtYnVmZmVyIGFjdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1yYS5jOiAoZmVlZF9kYXRhKToKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXNlZWthYmxlLmM6IChmZWVkX2RhdGEpOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtLmM6IChyZWFkX2RhdGEpOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtMi5jOiAoZmVlZF9kYXRhKToKCSAgRml4IGV4YW1wbGUgdG8gdW5yZWYgYWZ0ZXIgZW1pdGluZyB0aGUgcHVzaC1idWZmZXIgYWN0aW9uLgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6IChnc3RfYXBwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9hcHBfc3JjX3B1c2hfYnVmZmVyX2Z1bGwpLCAoZ3N0X2FwcF9zcmNfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2FwcF9zcmNfcHVzaF9idWZmZXJfYWN0aW9uKToKCSAgRG9uJ3QgdGFrZSB0aGUgcmVmIG9uIHRoZSBidWZmZXIgaW4gcHVzaC1idWZmZXIgYWN0aW9uIGJlY2F1c2UgaXQncyB0b28KCSAgYXdrd2FyZCBmb3IgYmluZGluZ3MuIEZpeGVzICM1NjQ0ODIuCgoyMDA4LTEyLTEzIDE2OjI2OjM5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgbTQvTWFrZWZpbGUuYW06IE1vcmUgLm00IHRoYXQgYXJlbid0IHNoaXBwZWQgd2l0aCBnZXR0ZXh0IDAuMTcgYW55bW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbTQvTWFrZWZpbGUuYW06CgkgIE1vcmUgLm00IHRoYXQgYXJlbid0IHNoaXBwZWQgd2l0aCBnZXR0ZXh0IDAuMTcgYW55bW9yZS4KCjIwMDgtMTItMTMgMTM6MDA6MTAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBtNC9NYWtlZmlsZS5hbTogaW50dHlwZXMubTQgaGFzbid0IGJlZW4gYXZhaWxhYmxlIHNpbmNlIGdldHRleHQtMC4xNSwgYW5kIHNpbmNlIHdlIG5vdyByZXF1aXJlIGdldHRleHQgPj0gMC4xNyAuLi4gd2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbTQvTWFrZWZpbGUuYW06CgkgIGludHR5cGVzLm00IGhhc24ndCBiZWVuIGF2YWlsYWJsZSBzaW5jZSBnZXR0ZXh0LTAuMTUsIGFuZCBzaW5jZSB3ZSBub3cKCSAgcmVxdWlyZSBnZXR0ZXh0ID49IDAuMTcgLi4uIHdlIGNhbiByZW1vdmUgaXQgZnJvbSB0aGUgbGlzdCBvZiBmaWxlcyB0bwoJICBkaXN0LgoKMjAwOC0xMi0xMyAwODowNjozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBBZGQgYSBnZW5lcmljIGhhbmRsZXIgZm9yIGRlc2NyaXB0aXZlIG1ldGFkYXRhIHNvIHdlIGNhbiBnZXQgc29tZSBkZWJ1ZyBvdXRwdXQgYW5kIGxldCB1c2VycyBmaWxlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfaGFuZGxlX2Rlc2NyaXB0aXZlX21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2tsdl9wYWNrZXQpOgoJICBBZGQgYSBnZW5lcmljIGhhbmRsZXIgZm9yIGRlc2NyaXB0aXZlIG1ldGFkYXRhIHNvIHdlIGNhbiBnZXQgc29tZQoJICBkZWJ1ZyBvdXRwdXQgYW5kIGxldCB1c2VycyBmaWxlIGJ1Z3MgZm9yIHVuc3VwcG9ydCBkZXNjcmlwdGl2ZQoJICBtZXRhZGF0YSBzY2hlbWVzLgoKMjAwOC0xMi0xMiAxMDoyOTozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IE1ham9yIHVwZGF0ZSBvZiB0aGUgVE9ETyBsaXN0cy4gVGhlcmUncyBzdGlsbCBtdWNoIHRvIGRvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSAgKiBnc3QvbXhmL214ZmFsYXcuYzogKG14Zl9hbGF3X2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgICogZ3N0L214Zi9teGZkdi1kaWYuYzogKG14Zl9kdl9kaWZfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgKiBnc3QvbXhmL214ZnVwLmM6CgkgIE1ham9yIHVwZGF0ZSBvZiB0aGUgVE9ETyBsaXN0cy4gVGhlcmUncyBzdGlsbCBtdWNoIHRvIGRvLgoKMjAwOC0xMi0xMSAxNDozNTowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEltcGxlbWVudCBwYXJzaW5nIG9mIEV2ZW50IFRyYWNrcywgU3RhdGljIFRyYWNrcywgRE0gU2VnbWVudHMgYW5kIERNIFNvdXJjZSBDbGlwcyBhcyBhIHByZXBhcmF0aW9uIGZvciBkZXNjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX3RyYWNrKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGEpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl9tZXRhZGF0YV90cmFja19wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnRfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3N0cnVjdHVyYWxfY29tcG9uZW50X3Jlc2V0KToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgICogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBJbXBsZW1lbnQgcGFyc2luZyBvZiBFdmVudCBUcmFja3MsIFN0YXRpYyBUcmFja3MsIERNIFNlZ21lbnRzCgkgIGFuZCBETSBTb3VyY2UgQ2xpcHMgYXMgYSBwcmVwYXJhdGlvbiBmb3IgZGVzY3JpcHRpdmUgbWV0YWRhdGEKCSAgc3VwcG9ydC4gTmV4dCBzdGVwIGlzIHRvIGltcGxlbWVudCBTTVBURSBTMzgwTSwgIkRlc2NyaXB0aXZlCgkgIE1ldGFkYXRhIFNjaGVtZS0xIi4KCjIwMDgtMTItMDkgMTM6NDQ6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmanBlZzIwMDAuYzogSW1wbGVtZW50IGRldGVjdGlvbiBvZiB0aGUgY29sb3JzcGFjZSB1c2VkIGJ5IHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6IChteGZfanBlZzIwMDBfY3JlYXRlX2NhcHMpOgoJICBJbXBsZW1lbnQgZGV0ZWN0aW9uIG9mIHRoZSBjb2xvcnNwYWNlIHVzZWQgYnkgdGhlCgkgIEpQRUcyMDAwIGNvZGVzdHJlYW0uIFhZWiBjb2xvcnNwYWNlIGlzbid0IHN1cHBvcnRlZCBieQoJICBvdXIgZGVjb2RlcnMgeWV0IHVuZm9ydHVuYXRlbHkuCgoyMDA4LTEyLTA4IDE1OjQ2OjEzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZnBhcnNlLmM6IEFsbCBmcmFtZSBsYXlvdXQgdmFsdWVzIGV4Y2VwdCAwIGFyZSBmb3IgaW50ZXJsYWNlZCB2aWRlbywgbm90IG9ubHkgMSBhbmQgMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOgoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3Jfc2V0X2NhcHMpOgoJICBBbGwgZnJhbWUgbGF5b3V0IHZhbHVlcyBleGNlcHQgMCBhcmUgZm9yIGludGVybGFjZWQgdmlkZW8sCgkgIG5vdCBvbmx5IDEgYW5kIDIuCgoyMDA4LTEyLTA4IDE1OjI4OjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogUmVtb3ZlIHRoZSBjb25jZXB0IG9mICJmaW5hbCIgbWV0YWRhdGEsIGJyb2tlbiBmaWxlcyBoYXZlIHVwZGF0ZWQgbWV0YWRhdGEgaW4gZm9sbG93aW5nIHBhcnRpdGlvbnMgZXZlbiBpZiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9yZXNldF9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9wcmltZXJfcGFjayksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9wcmVmYWNlKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpLAoJICAoZ3N0X214Zl9kZW11eF9jaG9vc2VfcGFja2FnZSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpLAoJICAoZ3N0X214Zl9kZW11eF9wYXJzZV9mb290ZXJfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfa2x2X3BhY2tldCk6CgkgICogZ3N0L214Zi9teGZkZW11eC5oOgoJICAqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgUmVtb3ZlIHRoZSBjb25jZXB0IG9mICJmaW5hbCIgbWV0YWRhdGEsIGJyb2tlbiBmaWxlcyBoYXZlIHVwZGF0ZWQKCSAgbWV0YWRhdGEgaW4gZm9sbG93aW5nIHBhcnRpdGlvbnMgZXZlbiBpZiB0aGUgY3VycmVudCBwYXJ0aXRpb24KCSAgaXMgY2xvc2VkIGFuZCBjb21wbGV0ZS4KCSAgSWYgdGhlcmUncyBhIHNlY29uZCBwcmltZXIgcGFjayBpbnNpZGUgYSBwYXJ0aXRpb24gaWdub3JlIHRoZSBzZWNvbmQKCSAgb25lIGluc3RlYWQgb2YgdGhyb3dpbmcgYW4gZXJyb3IuCgkgIFN0b3JlIHRoZSB0eXBlIG9mIGEgdHJhY2sgKGF1ZGlvLCB2aWRlbywgdGltZXN0YW1wLCAuLi4pIGluc2lkZSB0aGUKCSAgdHJhY2sgc3RydWN0LgoJICBQb3N0IG5vLW1vcmUtcGFkcyBvbmx5IG9uY2UgZm9yIGEgc3RyZWFtIGFuZCBub3QgYSBzZWNvbmQgdGltZQoJICB3aGVuIHN3aXRjaGluZyB0aGUgY3VycmVudGx5IHBsYXlpbmcgcGFja2FnZS4KCSAgV2hlbiB1cGRhdGluZyBhbGwgc3RyZWFtcyBtYWtlIHN1cmUgdGhhdCB3ZSBjb3VsZCBzZWxlY3QgYW5kIGZpbmQKCSAgYSBwYWNrYWdlIGluc3RlYWQgb2YgZGVyZWZlcmVuY2luZyBOVUxMLgoJICBBbGxvdyBkZXNjcmlwdGl2ZSBtZXRhZGF0YSBpbnNpZGUgbWV0YWRhdGEgcGFydHMgb2YgYSBmaWxlIHdoZW4KCSAgcHVsbGluZyB0aGUgZm9vdGVyIG1ldGFkYXRhIHRvby4KCSAgT25seSBzd2l0Y2ggdGhlIGN1cnJlbnRseSBwbGF5aW5nIHBhY2thZ2UgaWYgYSBuZXcgb25lIHdhcyBjaG9zZW4KCSAgYW5kIHRoZSBtZXRhZGF0YSBpcyBpbiBhIHJlc29sdmVkIHN0YXRlLiBJZiB0aGUgbGF0dGVyIGlzbid0IHRydWUKCSAgcG9zdHBvbmUgdGhlIHN3aXRjaCB1bnRpbCB0aGUgbWV0YWRhdGEgaXMgcmVzb2x2ZWQuCgkgIFB1bGwgdGhlIGZvb3RlciBtZXRhZGF0YSBkaXJlY3RseSBhZnRlciBwYXJzaW5nIHRoZSBoZWFkZXIgcGFydGl0aW9uCgkgIHBhY2sgaWYgaXQncyBub3QgY2xvc2VkIG9yIG5vdCBjb21wbGV0ZSBpbnN0ZWFkIG9mIHdhaXRpbmcgdW50aWwKCSAgdGhlIG5leHQgS0xWIHBhY2tldC4KCjIwMDgtMTItMDggMTM6NDg6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmdXAuYzogRG9uJ3QgY3JlYXRlIGEgc3ViYnVmZmVyLCBpbnN0ZWFkIGp1c3QgY2hhbmdlIHRoZSBidWZmZXIgbWV0YWRhdGEgb2YgdGhlIGlucHV0IGJ1ZmZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZ1cC5jOiAobXhmX3VwX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpOgoJICBEb24ndCBjcmVhdGUgYSBzdWJidWZmZXIsIGluc3RlYWQganVzdCBjaGFuZ2UgdGhlIGJ1ZmZlciBtZXRhZGF0YQoJICBvZiB0aGUgaW5wdXQgYnVmZmVyLgoKMjAwOC0xMi0wNyAyMDoxMjozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBSZW5hbWUgR3N0TVhGUGFkIHRvIEdzdE1YRkRlbXV4UGFkIHRvIHByZXZlbnQgbmFtZSBjbGFzaGVzIHdpdGggdGhlIEdzdE1YRk11eFBhZCBpbiB0aGUgbXV4ZXIgKGxhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcGFkX2ZpbmFsaXplKSwKCSAgKGdzdF9teGZfZGVtdXhfcGFkX2NsYXNzX2luaXQpLCAoZ3N0X214Zl9kZW11eF9wYWRfaW5pdCksCgkgIChnc3RfbXhmX2RlbXV4X3JlbW92ZV9wYWQpLCAoZ3N0X214Zl9kZW11eF9yZXNldF9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2NvbWJpbmVfZmxvd3MpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3Jlc29sdmVfcmVmZXJlbmNlcyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfZ2VuZXJpY19jb250YWluZXJfZXNzZW5jZV9lbGVtZW50KSwKCSAgKGdzdF9teGZfZGVtdXhfcHVsbF9yYW5kb21faW5kZXhfcGFjayksIChnc3RfbXhmX2RlbXV4X2xvb3ApLAoJICAoZ3N0X214Zl9kZW11eF9zcmNfcXVlcnkpOgoJICBSZW5hbWUgR3N0TVhGUGFkIHRvIEdzdE1YRkRlbXV4UGFkIHRvIHByZXZlbnQgbmFtZSBjbGFzaGVzCgkgIHdpdGggdGhlIEdzdE1YRk11eFBhZCBpbiB0aGUgbXV4ZXIgKGxhdGVyKS4KCSAgUHVsbCB0aGUgcmFuZG9tIGluZGV4IHBhY2sgb25seSBkaXJlY3RseSBhZnRlciBza2lwcGluZyB0aGUgcnVuCgkgIGluIGFuZCBkb24ndCBhbGxvY2F0ZSBhbiBhcnJheSBmb3IgaXQgaWYgcGFyc2luZyBpdCBmYWlsZWQuCgoyMDA4LTEyLTA3IDE4OjUyOjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmQxMC5jOiBVc2UgdGhlIG1hcHBpbmcgZGF0YSBmb3Igc3RvcmluZyB0aGUgY2hhbm5lbCBjb3VudCBhbmQgdGhlIHdpZHRoIGluc3RlYWQgb2YgcGFyc2luZyBjYXBzIGZvciBldmVyeSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkMTAuYzogKG14Zl9kMTBfc291bmRfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfZDEwX2NyZWF0ZV9jYXBzKToKCSAgVXNlIHRoZSBtYXBwaW5nIGRhdGEgZm9yIHN0b3JpbmcgdGhlIGNoYW5uZWwgY291bnQgYW5kIHRoZQoJICB3aWR0aCBpbnN0ZWFkIG9mIHBhcnNpbmcgY2FwcyBmb3IgZXZlcnkgYnVmZmVyLgoKMjAwOC0xMi0wNyAxODozOTo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZ1cC5jOiBIYW5kbGUgdGhlIGltYWdlIHN0YXJ0IGFuZCBlbmQgb2Zmc2V0cywgb3RoZXJ3aXNlIHdlIG91dHB1dCB0b28gbGFyZ2UgaW1hZ2UgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZ1cC5jOiAobXhmX3VwX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLAoJICAobXhmX3VwX3JnYmFfY3JlYXRlX2NhcHMpOgoJICBIYW5kbGUgdGhlIGltYWdlIHN0YXJ0IGFuZCBlbmQgb2Zmc2V0cywgb3RoZXJ3aXNlIHdlIG91dHB1dAoJICB0b28gbGFyZ2UgaW1hZ2UgYnVmZmVycy4KCjIwMDgtMTItMDcgMTc6NTc6MTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmbXBlZy5jOiBTZXQgY29kZWMgbmFtZSB0YWdzIGZvciB0aGUgTVBFRyBhdWRpbyBlc3NlbmNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9tcGVnX2VzX2NyZWF0ZV9jYXBzKToKCSAgU2V0IGNvZGVjIG5hbWUgdGFncyBmb3IgdGhlIE1QRUcgYXVkaW8gZXNzZW5jZS4KCjIwMDgtMTItMDcgMTc6MTY6MjkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciB1bmNvbXByZXNzZWQgdmlkZW8gZXNzZW5jZSAoU01QVEUgUzM4NE0pLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyk6CgkgICogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICAqIGdzdC9teGYvbXhmdXAuYzogKG14Zl9pc191cF9lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl91cF9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl91cF9yZ2JhX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl91cF9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZ1cC5oOgoJICBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciB1bmNvbXByZXNzZWQgdmlkZW8gZXNzZW5jZSAoU01QVEUgUzM4NE0pLgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSAgKG14Zl9tZXRhZGF0YV9yZ2JhX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3JnYmFfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfcmVzZXQpOgoJICBGaXggcGFyc2luZyBvZiB0aGUgUkdCQSBkZXNjcmlwdG9yIGFuZCBhZGQgc3VwcG9ydCBmb3IgcGFyc2luZwoJICB0aGUgcGl4ZWwgbGF5b3V0LgoKMjAwOC0xMi0wNiAyMDo0Njo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBUaGUgcHJldmlvdXMgcGFydGl0aW9uIGZpZWxkIG9mIHRoZSBwYXJ0aXRpb24gaXMgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgcGFydGl0aW9uIGFuZCBub3QgdG8gdGhlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcGFyc2VfZm9vdGVyX21ldGFkYXRhKToKCSAgVGhlIHByZXZpb3VzIHBhcnRpdGlvbiBmaWVsZCBvZiB0aGUgcGFydGl0aW9uIGlzIHJlbGF0aXZlCgkgIHRvIHRoZSBjdXJyZW50IHBhcnRpdGlvbiBhbmQgbm90IHRvIHRoZSBvZmZzZXQgb2YgdGhlIGhlYWRlcgoJICBwYXJ0aXRpb24uCgoyMDA4LTEyLTA2IDE5OjQ2OjA1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmQxMC5jOiBEb2N1bWVudCBkZWNvZGluZyBvZiB0aGUgQUVTMyBkYXRhIGFuZCBhbHNvIHNraXAgdGhlIDMyIGJpdCBoZWFkZXIgaW4gdGhlIGJlZ2lubmluZyBvZiBldmVyeSBidWZmZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkMTAuYzogKG14Zl9kMTBfc291bmRfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCk6CgkgIERvY3VtZW50IGRlY29kaW5nIG9mIHRoZSBBRVMzIGRhdGEgYW5kIGFsc28gc2tpcCB0aGUgMzIgYml0CgkgIGhlYWRlciBpbiB0aGUgYmVnaW5uaW5nIG9mIGV2ZXJ5IGJ1ZmZlciwgb3RoZXJ3aXNlIHdlIGdldAoJICBvbmUgYnJva2VuIGF1ZGlvIGNoYW5uZWwuCgoyMDA4LTEyLTA1IDEyOjI2OjAyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogSW1wbGVtZW50IHBhcnNpbmcgb2YgdGhlIGdlbmVyaWMgZGF0YSBlc3NlbmNlIGRlc2NyaXB0b3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcmVzZXRfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZ2VuZXJpY19kYXRhX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfcmVzb2x2ZV9yZWZlcmVuY2VzKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhKToKCSAgKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOgoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGF0YV9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kYXRhX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICAqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgSW1wbGVtZW50IHBhcnNpbmcgb2YgdGhlIGdlbmVyaWMgZGF0YSBlc3NlbmNlIGRlc2NyaXB0b3IuCgoyMDA4LTEyLTA1IDEwOjMyOjU1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IEdlbmVyYWxpemUgc29tZSBsaW5lcyBvZiBjb2RlcyB0aGF0IGFyZSBtb3JlIG9yIGxlc3MgdGhlIHNhbWUgYnkgYSBtYWNyby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3Jlc29sdmVfcmVmZXJlbmNlcyk6CgkgIEdlbmVyYWxpemUgc29tZSBsaW5lcyBvZiBjb2RlcyB0aGF0IGFyZSBtb3JlIG9yIGxlc3MgdGhlIHNhbWUKCSAgYnkgYSBtYWNyby4KCjIwMDgtMTItMDQgMjA6MTE6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQXBwYXJlbnRseSBBQ19DT05GSUdfTUFDUk9fRElSIGJyZWFrcyB3aGVuIHVzaW5nIG1vcmUgdGhhbiBvbmUgbWFjcm8gZGlyZWN0b3J5LCByZXZlcnRpbmcgbGFzdCBjaGFuZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQXBwYXJlbnRseSBBQ19DT05GSUdfTUFDUk9fRElSIGJyZWFrcyB3aGVuIHVzaW5nIG1vcmUKCSAgdGhhbiBvbmUgbWFjcm8gZGlyZWN0b3J5LCByZXZlcnRpbmcgbGFzdCBjaGFuZ2UuCgoyMDA4LTEyLTA0IDE5OjUwOjEwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IFNldCBBQ19DT05GSUdfTUFDUk9fRElSIHRvIGNvbW1vbi9tNCB0byBwb2ludCBhdXRvY29uZiB0byBvdXIgTTQgbWFjcm9zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFNldCBBQ19DT05GSUdfTUFDUk9fRElSIHRvIGNvbW1vbi9tNCB0byBwb2ludCBhdXRvY29uZiB0bwoJICBvdXIgTTQgbWFjcm9zLgoKMjAwOC0xMi0wNCAxNzo1MTozNyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogRW5zdXJlIHdlIGVtaXQgbm90aWZ5OjphY3RpdmUtcGFkIHdoZW4gYXV0by1zZWxlY3RpbmcgYSBwYWQgZHVlIHRvIGl0IGhhdmluZyBhY3Rpdml0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIEVuc3VyZSB3ZSBlbWl0IG5vdGlmeTo6YWN0aXZlLXBhZCB3aGVuIGF1dG8tc2VsZWN0aW5nIGEgcGFkCgkgIGR1ZSB0byBpdCBoYXZpbmcgYWN0aXZpdHkgYW5kIHVzIG5vdCBoYXZpbmcgYW4gZXhpc3RpbmcgYWN0aXZlCgkgIHBhZC4gRml4ZXMgIzU2MzE0NwoKMjAwOC0xMi0wNCAxMzoyODo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IENvZGluZyBzdHlsZSBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3Jlc29sdmVfcmVmZXJlbmNlcyk6CgkgICogZ3N0L214Zi9teGZkdi1kaWYuYzogKG14Zl9kdl9kaWZfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuYzogKG14Zl9qcGVnMjAwMF9jcmVhdGVfY2Fwcyk6CgkgIENvZGluZyBzdHlsZSBmaXhlcy4KCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9tcGVnX2F1ZGlvX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLAoJICAobXhmX21wZWdfZXNfY3JlYXRlX2NhcHMpLCAobXhmX21wZWdfY3JlYXRlX2NhcHMpOgoJICBBZGQgc3VwcG9ydCBmb3IgTVBFRywgQUMzLCBEVFMgYXVkaW8uCgoyMDA4LTEyLTA0IDA5OjI2OjI1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IElnbm9yZSB6ZXJvIHNpemVkIGVzc2VuY2UgZWxlbWVudHMuIFRoZXkncmUgb2Z0ZW4gaW5zZXJ0ZWQgdG8gZnVsZmlsbCB0aGUgc3RyZWFtaW5nIHJlcXVpcmVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfZ2VuZXJpY19jb250YWluZXJfZXNzZW5jZV9lbGVtZW50KToKCSAgSWdub3JlIHplcm8gc2l6ZWQgZXNzZW5jZSBlbGVtZW50cy4gVGhleSdyZSBvZnRlbiBpbnNlcnRlZAoJICB0byBmdWxmaWxsIHRoZSBzdHJlYW1pbmcgcmVxdWlyZW1lbnRzLgoKMjAwOC0xMi0wNCAwODo1MDo0OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZwYXJzZS5jOiBGaXggc2V0dGluZyBvZiB0aGUgaGVpZ2h0L3dpZHRoIGFuZCBQQVIgb2YgdmlkZW8gc3RyZWFtcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOgoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3Jfc2V0X2NhcHMpOgoJICBGaXggc2V0dGluZyBvZiB0aGUgaGVpZ2h0L3dpZHRoIGFuZCBQQVIgb2YgdmlkZW8gc3RyZWFtcy4KCjIwMDgtMTItMDQgMDg6Mzc6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBBZGQgc3VwcG9ydCBmb3IgU01QVEUgRDEwIGVzc2VuY2UgKFNNUFRFIDM4Nk0pLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9teGYvbXhmZDEwLmM6IChteGZfaXNfZDEwX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX2QxMF9waWN0dXJlX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLAoJICAobXhmX2QxMF9zb3VuZF9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl9kMTBfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmZDEwLmg6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKToKCSAgQWRkIHN1cHBvcnQgZm9yIFNNUFRFIEQxMCBlc3NlbmNlIChTTVBURSAzODZNKS4KCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9zZXRfY2Fwcyk6CgkgIERvbid0IHNldCB3aWR0aC9oZWlnaHQgYW5kIFBBUiBvbiB0aGUgY2FwcyBhcyB0aG9zZSB2YWx1ZXMgYXJlCgkgIHdyb25nIGZvciBtb3N0IGZpbGVzIChoZWlnaHQgaXMgc29tZXRpbWVzIHRoZSBoZWlnaHQgb2YgYSBmaWVsZAoJICBhbmQgYXNwZWN0IHJhdGlvIGlzIHNvbWUgcmFuZG9tIHZhbHVlKS4KCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzogKG14Zl9id2ZfY3JlYXRlX2NhcHMpLAoJICAobXhmX2FlczNfY3JlYXRlX2NhcHMpOgoJICBGaXggY2FsY3VsYXRpb24gb2YgYmxvY2sgYWxpZ24gaWYgaXQgaXNuJ3Qgc2V0IGluIHRoZSBkZXNjcmlwdG9yLgoKMjAwOC0xMi0wMyAxNjowODoyOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEFkZCBzdXBwb3J0IGZvciBBRVMzIGF1ZGlvIChTTVBURSAzODJNKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkgIChteGZfbWV0YWRhdGFfYWVzM19hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfYWVzM19hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX2FlczNfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfYndmX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9hZXMzX2NyZWF0ZV9jYXBzKSwgKG14Zl9hZXNfYndmX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuaDoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3Jlc2V0X21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2FlczNfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGEpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgQWRkIHN1cHBvcnQgZm9yIEFFUzMgYXVkaW8gKFNNUFRFIDM4Mk0pLgoJICAqIGdzdC9teGYvbXhmZHYtZGlmLmM6IChteGZfZHZfZGlmX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6IChteGZfanBlZzIwMDBfY3JlYXRlX2NhcHMpOgoJICBGaXggY29kaW5nIHN0eWxlLgoKMjAwOC0xMi0wMyAxMzoxNzo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfZ2VuZXJpY19jb250YWluZXJfZXNzZW5jZV9lbGVtZW50KToKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgoyMDA4LTEyLTAzIDExOjQzOjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IENoZWNrIGlmIHN0cmluZ3MgYXJlIHZhbGlkIFVURjggYmVmb3JlIHVzaW5nIHRoZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKEZMVl9HRVRfU1RSSU5HKToKCSAgQ2hlY2sgaWYgc3RyaW5ncyBhcmUgdmFsaWQgVVRGOCBiZWZvcmUgdXNpbmcgdGhlbS4KCjIwMDgtMTItMDMgMTA6MTU6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmcGFyc2UuYzogUmVtb3ZlIEZJWE1FLCB6ZXJvLVVMcyBhbmQgVU1JRHMgYXJlIHJlYWxseSBpbnZhbGlkIGFuZCB3ZSBjYW4gdXNlIHRoZW0gYXMgInVuc2V0IiB2YWx1ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOgoJICBSZW1vdmUgRklYTUUsIHplcm8tVUxzIGFuZCBVTUlEcyBhcmUgcmVhbGx5IGludmFsaWQgYW5kIHdlIGNhbgoJICB1c2UgdGhlbSBhcyAidW5zZXQiIHZhbHVlLgoKMjAwOC0xMi0wMyAwODowNDozOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBVc2UgYSBzaW5nbGUgInRyYWNrXyV1IiBzcmMgcGFkIHRlbXBsYXRlIGFuZCB1c2UgdGhlIHRyYWNrIElEIG9mIHRoZSBwbGF5YmFjayBwYWNrYWdlIGZvciB0aGUgcGFkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyksCgkgIChnc3RfbXhmX2RlbXV4X2Jhc2VfaW5pdCk6CgkgIFVzZSBhIHNpbmdsZSAidHJhY2tfJXUiIHNyYyBwYWQgdGVtcGxhdGUgYW5kIHVzZSB0aGUgdHJhY2sgSUQKCSAgb2YgdGhlIHBsYXliYWNrIHBhY2thZ2UgZm9yIHRoZSBwYWQgbmFtZSBpbnN0ZWFkIG9mIHRoZSB0cmFjayBJRAoJICBvZiB0aGUgc291cmNlIHBhY2thZ2UsIGFzIHRoZSBsYXR0ZXIgY291bGQgYmUgdGhlIHNhbWUgZm9yCgkgIG1vcmUgdGhhbiBvbmUgdHJhY2sgaWYgdGhleSdyZSBpbiBkaWZmZXJlbnQgcGFja2FnZXMuCgoyMDA4LTEyLTAyIDA2OjIxOjIxICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOiBTb21lIGNvbXBpbGVycyBjb21wbGFpbiBhYm91dCB1bmluaXRpYWxpemVkIHZhcmlhYmxlOyBhZGQgYSBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOiBTb21lIGNvbXBpbGVycyBjb21wbGFpbiBhYm91dAoJICB1bmluaXRpYWxpemVkIHZhcmlhYmxlOyBhZGQgYSBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpCgoyMDA4LTEyLTAxIDE5OjM2OjM1ICswMDAwICDsnbTrrLjtmJUgPGl3aW5nc0BnbWFpbC5jb20+CgoJICBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOiBEb24ndCBmb3JnZXQgdG8gcmVsZWFzZSB0aGUgbG9jayBhZ2FpbiBpZiB3ZSBiYWlsIG91dCBiZWNhdXNlIHNvbWUgcGFkIGlzIGZsdXNoaW5nIG9yIHcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiDsnbTrrLjtmJUgPGl3aW5ncyBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6IChnc3RfYXBwX3NyY19wdXNoX2J1ZmZlcik6CgkgIERvbid0IGZvcmdldCB0byByZWxlYXNlIHRoZSBsb2NrIGFnYWluIGlmIHdlIGJhaWwgb3V0IGJlY2F1c2Ugc29tZQoJICBwYWQgaXMgZmx1c2hpbmcgb3Igd2UndmUgcmVhY2hlZCBFT1MsIG90aGVyd2lzZSB0aGluZ3Mgd2lsbCBsb2NrIHVwCgkgIG5leHQgdGltZSBfcHVzaF9idWZmZXIoKSBpcyBjYWxsZWQgKCM1NjI4MDIpLgoKMjAwOC0xMi0wMSAxNjozNzo0NSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXRtdXgvYXRvbXMuYzogRml4IG1qMiBzYW1wbGUgZGVzY3JpcHRpb24gbWV0YWRhdGEgY29uc3RydWN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRtdXgvYXRvbXMuYzogKGJ1aWxkX2pwMmhfZXh0ZW5zaW9uKToKCSAgRml4IG1qMiBzYW1wbGUgZGVzY3JpcHRpb24gbWV0YWRhdGEgY29uc3RydWN0aW9uLgoKMjAwOC0xMi0wMSAxNTo1MDo0MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZqcGVnMjAwMC5jOiBVc2UgbmV3IGltYWdlL3gtanBjIGNhcHMgZm9yIHRoZSByYXcgSlBFRzIwMDAgY29kZXN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5jOiAobXhmX2pwZWcyMDAwX2NyZWF0ZV9jYXBzKToKCSAgVXNlIG5ldyBpbWFnZS94LWpwYyBjYXBzIGZvciB0aGUgcmF3IEpQRUcyMDAwIGNvZGVzdHJlYW0uCgkgIEZvciBub3cgYXNzdW1lIHNSR0IgYXMgY29sb3JzcGFjZSwgaGFzIHRvIGJlIHJlYWQgZnJvbSB0aGUgZGVzY3JpcHRvcgoJICBzb21laG93IGxhdGVyLgoKMjAwOC0xMi0wMSAxNTo0ODoxMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2pwMmsvOiBBZGQgaW1hZ2UveC1qcGMgY2FwcyBuYW1lIGZvciByZWFsLCByYXcgSlBFRzIwMDAgY29kZXN0cmVhbSBkYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzogKGdzdF9qYXNwZXJfZGVjX3Npbmtfc2V0Y2Fwcyk6CgkgICogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6IChnc3RfamFzcGVyX2VuY19yZXNldCksCgkgIChnc3RfamFzcGVyX2VuY19zZXRfc3JjX2NhcHMpLCAoZ3N0X2phc3Blcl9lbmNfaW5pdF9lbmNvZGVyKSwKCSAgKGdzdF9qYXNwZXJfZW5jX3Npbmtfc2V0Y2FwcyksIChnc3RfamFzcGVyX2VuY19nZXRfZGF0YSk6CgkgICogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmg6CgkgIEFkZCBpbWFnZS94LWpwYyBjYXBzIG5hbWUgZm9yIHJlYWwsIHJhdyBKUEVHMjAwMCBjb2Rlc3RyZWFtIGRhdGEuCgkgIEluIDAuMTEgd2Ugc2hvdWxkIG1lcmdlIGltYWdlL3gtajJjIGFuZCBpbWFnZS94LWpwYyBhbmQgc2ltcGx5IGRyb3AKCSAgdGhlIG5vbi1zdGFuZGFyZCBib3hpbmcgaW4gdGhlIGphc3BlciBlbGVtZW50cyBhbmQgaGFuZGxlIGl0IGluCgkgIHF0bXV4L3F0ZGVtdXguCgkgIGltYWdlL3gtanBjIHdpbGwgYmUgdXNlZCBieSBteGZkZW11eCBsYXRlci4KCSAgQWxzbyBhZGQgc3VwcG9ydCBmb3IgSlAyIG91dHB1dCBpbiBqcDJrZW5jLgoKMjAwOC0xMi0wMSAxNToyNDozNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEFkZCB0aGUgY29kZWMgbmFtZSwgYW5kIGlmIHBvc3NpYmxlIHRoZSBhdmcgYml0cmF0ZSwgdG8gdGhlIHBhZCdzIHRhZ2xpc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOiAobXhmX2J3Zl9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZhbGF3LmM6IChteGZfYWxhd19jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfZ2VuZXJpY19jb250YWluZXJfZXNzZW5jZV9lbGVtZW50KToKCSAgKiBnc3QvbXhmL214ZmR2LWRpZi5jOiAobXhmX2R2X2RpZl9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5jOiAobXhmX2pwZWcyMDAwX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9tcGVnX2VzX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9tcGVnX2NyZWF0ZV9jYXBzKToKCSAgQWRkIHRoZSBjb2RlYyBuYW1lLCBhbmQgaWYgcG9zc2libGUgdGhlIGF2ZyBiaXRyYXRlLCB0byB0aGUgcGFkJ3MgdGFnbGlzdC4KCjIwMDgtMTItMDEgMTQ6MjU6MTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogSWYgdGhlIHByZWZhY2UgcmVmZXJlbmNlcyBhIHByaW1hcnkgcGFja2FnZSB1c2UgdGhpcyBhcyB0aGUgZGVmYXVsdCBwbGF5YmFjayBwYWNrYWdlIHVubGVzcyBvbmUgdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X2Nob29zZV9wYWNrYWdlKToKCSAgSWYgdGhlIHByZWZhY2UgcmVmZXJlbmNlcyBhIHByaW1hcnkgcGFja2FnZSB1c2UgdGhpcyBhcyB0aGUgZGVmYXVsdAoJICBwbGF5YmFjayBwYWNrYWdlIHVubGVzcyBvbmUgd2FzIHNwZWNpZmllZCBieSB0aGUgInBhY2thZ2UiIHByb3BlcnR5LgoJICBJZiB0aGVyZSdzIG5vIHByZWZhY2UgcHJpbWFyeSBwYWNrYWdlIHN0aWxsIHRyeSB0byB1c2UgdGhlIGZpcnN0CgkgIG1hdGVyaWFsIHBhY2thZ2UuCgoyMDA4LTExLTMwIDE3OjU4OjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IElmIHRoZXJlJ3Mgbm8gZGVzY3JpcHRvciBmb3IgdGhlIHRyYWNrIGluIHRoZSB0cmFjaydzIHNvdXJjZSBwYWNrYWdlIGFuZCB0aGVyZSdzIGEgc2luZ2xlIGRlc2NyaXAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3Jlc29sdmVfcmVmZXJlbmNlcyk6CgkgIElmIHRoZXJlJ3Mgbm8gZGVzY3JpcHRvciBmb3IgdGhlIHRyYWNrIGluIHRoZSB0cmFjaydzIHNvdXJjZQoJICBwYWNrYWdlIGFuZCB0aGVyZSdzIGEgc2luZ2xlIGRlc2NyaXB0b3Igd2l0aG91dCBhIGxpbmtlZCB0cmFjawoJICBhc3N1bWUgdGhhdCBpdCBiZWxvbmdzIHRvIHRoaXMgdHJhY2suCgoyMDA4LTExLTMwIDE3OjQyOjMwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogU29tZSByYW5kb20gY2xlYW51cC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZhbGF3LmM6IChteGZfaXNfYWxhd19lc3NlbmNlX3RyYWNrKToKCSAgKiBnc3QvbXhmL214ZmFsYXcuaDoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuYzogKG14Zl9pc19qcGVnMjAwMF9lc3NlbmNlX3RyYWNrKToKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmg6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfaXNfbXBlZ19lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9tcGVnX2VzX2NyZWF0ZV9jYXBzKSwgKG14Zl9tcGVnX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214Zm1wZWcuaDoKCSAgU29tZSByYW5kb20gY2xlYW51cC4KCjIwMDgtMTEtMzAgMTc6MjY6NTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBBZGQgcHJvcGVydHkgdG8gc2VsZWN0IHRoZSB0b3AtbGV2ZWwgc291cmNlIHBhY2thZ2Ugb3IgbWF0ZXJpYWwgcGFja2FnZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciBwbGF5YmFjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9yZW1vdmVfcGFkcyksCgkgIChnc3RfbXhmX2RlbXV4X3Jlc2V0KSwgKGdzdF9teGZfZGVtdXhfZmluZF9wYWNrYWdlKSwKCSAgKGdzdF9teGZfZGVtdXhfY2hvb3NlX3BhY2thZ2UpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2tsdl9wYWNrZXQpLCAoZ3N0X214Zl9kZW11eF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X214Zl9kZW11eF9nZXRfcHJvcGVydHkpLCAoZ3N0X214Zl9kZW11eF9maW5hbGl6ZSksCgkgIChnc3RfbXhmX2RlbXV4X2NsYXNzX2luaXQpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfdW1pZF9mcm9tX3N0cmluZyk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICBBZGQgcHJvcGVydHkgdG8gc2VsZWN0IHRoZSB0b3AtbGV2ZWwgc291cmNlIHBhY2thZ2Ugb3IgbWF0ZXJpYWwKCSAgcGFja2FnZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciBwbGF5YmFjay4KCjIwMDgtMTEtMzAgMTY6MjE6NDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogTWFrZSBzdXJlIHRoYXQgZGVtdXgtPm9mZnNldCBoYXMgdGhlIGNvcnJlY3QgdmFsdWUgYmVmb3JlIGNhbGxpbmcgYW55IGdzdF9teGZfZGVtdXhfaGFuZGxlXyogZnVuYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3B1bGxfcmFuZG9tX2luZGV4X3BhY2spOgoJICBNYWtlIHN1cmUgdGhhdCBkZW11eC0+b2Zmc2V0IGhhcyB0aGUgY29ycmVjdCB2YWx1ZSBiZWZvcmUKCSAgY2FsbGluZyBhbnkgZ3N0X214Zl9kZW11eF9oYW5kbGVfKiBmdW5jdGlvbnMuCgoyMDA4LTExLTMwIDE0OjEyOjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogU2V0IHRoZSBjb3JyZWN0IE1QRUcgdmlkZW8gdmVyc2lvbiBpZiBwb3NzaWJsZSBhbmQgYWRkIHN1cHBvcnQgZm9yIE1QRUc0IHZpZGVvLCBpbmNsdWRpbmcgY29kZWNfZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5jOiAobXhmX2pwZWcyMDAwX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9tcGVnX3ZpZGVvX2NyZWF0ZV9jYXBzKToKCSAgU2V0IHRoZSBjb3JyZWN0IE1QRUcgdmlkZW8gdmVyc2lvbiBpZiBwb3NzaWJsZSBhbmQgYWRkIHN1cHBvcnQKCSAgZm9yIE1QRUc0IHZpZGVvLCBpbmNsdWRpbmcgY29kZWNfZGF0YS4KCjIwMDgtMTEtMjkgMjA6MjU6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBKUEVHMjAwMCBlbmNvZGVkIHZpZGVvIGVzc2VuY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKToKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6IChteGZfaXNfanBlZzIwMDBfdmlkZW9fZXNzZW5jZV90cmFjayksCgkgIChteGZfanBlZzIwMDBfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfanBlZzIwMDBfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuaDoKCSAgQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgSlBFRzIwMDAgZW5jb2RlZCB2aWRlbyBlc3NlbmNlLgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3NldF9jYXBzKToKCSAgU2V0IHRoZSBmcmFtZXJhdGUgaW4gdGhlIHZpZGVvIGNhcHMuCgoyMDA4LTExLTI5IDIwOjA3OjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvanAyay9nc3RqYXNwZXJkZWMuYzogRG9uJ3QgdW5yZWYgdGhlIGVsZW1lbnQgaW5zdGFuY2UgaWYgd2UgZG9uJ3Qgb3duIGEgcmVmZXJlbmNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzogKGdzdF9qYXNwZXJfZGVjX3Npbmtfc2V0Y2Fwcyk6CgkgIERvbid0IHVucmVmIHRoZSBlbGVtZW50IGluc3RhbmNlIGlmIHdlIGRvbid0IG93biBhIHJlZmVyZW5jZS4KCjIwMDgtMTEtMjkgMTM6MzM6MzAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFJlcXVpcmUgZ2V0dGV4dCAwLjE3IGJlY2F1c2Ugb2xkZXIgdmVyc2lvbnMgZG9uJ3QgbWl4IHdpdGggbGlidG9vbCAyLjIuIEF0IGJ1aWxkIHRpbWUgYW4gb2xkZXIgZ2V0dGV4dCB2ZXJzaW9uIHdpbGwgcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEN5Z3dpbiBQb3J0cyBtYWludGFpbmVyCgkgIDx5c2Vsa293aXR6IGF0IHVzZXJzIGRvdCBzb3VyY2Vmb3JnZSBkb3QgbmV0PgoJICAqIGF1dG9nZW4uc2g6CgkgICogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIGdldHRleHQgMC4xNyBiZWNhdXNlIG9sZGVyIHZlcnNpb25zIGRvbid0IG1peCB3aXRoIGxpYnRvb2wKCSAgMi4yLiBBdCBidWlsZCB0aW1lIGFuIG9sZGVyIGdldHRleHQgdmVyc2lvbiB3aWxsIHN0aWxsIHdvcmsuCgkgIEZpeGVzIGJ1ZyAjNTU2MDkxLgoKMjAwOC0xMS0yOCAxODo1NTowMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBPbmx5IHRyeSB0byBwdWxsIHRoZSByYW5kb20gaW5kZXggcGFjayBhdCB0aGUgZW5kIG9mIGZpbGUgb25lIHRpbWUgYW5kIG5vdCBmb3IgZXZlcnkgc2luZ2xlIHBhY2tlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcHVsbF9yYW5kb21faW5kZXhfcGFjayk6CgkgIE9ubHkgdHJ5IHRvIHB1bGwgdGhlIHJhbmRvbSBpbmRleCBwYWNrIGF0IHRoZSBlbmQgb2YgZmlsZSBvbmUgdGltZQoJICBhbmQgbm90IGZvciBldmVyeSBzaW5nbGUgcGFja2V0IGlmIGl0IGZhaWxzLgoKMjAwOC0xMS0yOCAxODoxMzozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEFkZCBzdXBwb3J0IGZvciBBLUxhdyBlbmNvZGVkIGF1ZGlvIGVzc2VuY2UgKFNNUFRFIDM4OE0gYW5kIDM4Mk0pLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOiAobXhmX2J3Zl9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZhbGF3LmM6IChteGZfaXNfYWxhd19hdWRpb19lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9hbGF3X2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX2FsYXdfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmYWxhdy5oOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyk6CgkgIEFkZCBzdXBwb3J0IGZvciBBLUxhdyBlbmNvZGVkIGF1ZGlvIGVzc2VuY2UgKFNNUFRFIDM4OE0gYW5kIDM4Mk0pLgoKMjAwOC0xMS0yOCAxNDoyMjo1MCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzCgoyMDA4LTExLTI4IDExOjI0OjI0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogSW1wbGVtZW50IHBhcnNpbmcgb2YgaW5kZXggdGFibGUgc2VnbWVudHMsIHdoaWNoIHdpbGwgbGF0ZXIgYmUgdXNlZCBmb3Igc2Vla2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9yZXNldCksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9pbmRleF90YWJsZV9zZWdtZW50KToKCSAgKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX2luZGV4X3RhYmxlX3NlZ21lbnRfcGFyc2UpLAoJICAobXhmX2luZGV4X3RhYmxlX3NlZ21lbnRfcmVzZXQpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIEltcGxlbWVudCBwYXJzaW5nIG9mIGluZGV4IHRhYmxlIHNlZ21lbnRzLCB3aGljaCB3aWxsIGxhdGVyIGJlCgkgIHVzZWQgZm9yIHNlZWtpbmcuCgoyMDA4LTExLTI4IDA5OjQ5OjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBVcGRhdGUgYXVkaW9yZXNhbXBsZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgbmV3IGVsZW1lbnQgbmFtZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgVXBkYXRlIGF1ZGlvcmVzYW1wbGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIG5ldyBlbGVtZW50IG5hbWUuCgoyMDA4LTExLTI4IDA4OjM3OjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IEFuZCBub3cgYWxzbyB1cGRhdGUgdGhlIGRlYnVnIGNhdGVnb3J5IGZyb20gYXVkaW9yZXNhbXBsZSB0byBsZWdhY3lyZXNhbXBsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICBBbmQgbm93IGFsc28gdXBkYXRlIHRoZSBkZWJ1ZyBjYXRlZ29yeSBmcm9tIGF1ZGlvcmVzYW1wbGUKCSAgdG8gbGVnYWN5cmVzYW1wbGUuCgoyMDA4LTExLTI3IDE5OjI3OjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IFJlbW92ZSBzcGVleHJlc2FtcGxlIGZyb20gdGhlIGJ1aWxkIHN5c3RlbSB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVtb3ZlIHNwZWV4cmVzYW1wbGUgZnJvbSB0aGUgYnVpbGQgc3lzdGVtIHRvby4KCjIwMDgtMTEtMjcgMTk6MjI6NDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFJlbW92ZSBvbGQgc3BlZXhyZXNhbXBsZSBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvUkVBRE1FOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2FyY2guaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9maXhlZF9hcm00Lmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZml4ZWRfYXJtNWUuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9maXhlZF9iZmluLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZml4ZWRfZGVidWcuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9maXhlZF9nZW5lcmljLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9yZXNhbXBsZS5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3Jlc2FtcGxlX3NzZS5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlci5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl9kb3VibGUuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfZmxvYXQuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfaW50LmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX3dyYXBwZXIuaDoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVleHJlc2FtcGxlLmM6CgkgIFJlbW92ZSBvbGQgc3BlZXhyZXNhbXBsZSBmaWxlcy4KCjIwMDgtMTEtMjcgMTc6MDc6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDogUmVtb3ZlIG9sZCBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkgIFJlbW92ZSBvbGQgZmlsZS4KCjIwMDgtMTEtMjcgMTc6MDY6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6IEFkZCBtaXNzaW5nIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkgIEFkZCBtaXNzaW5nIGZpbGUuCgoyMDA4LTExLTI3IDE2OjU4OjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBJbnRlZ3JhdGUgdGhlIG1vdmVkIGF1ZGlvcmVzYW1wbGUgaW50byB0aGUgYnVpbGQgc3lzdGVtIGFuZCByZW5hbWUgaXQgdG8gbGVnYWN5cmVzYW1wbGUuIEZpeGVzIGJ1ZyAjNTU4MTI0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR3b2xhbWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzogKHNldHVwX2F1ZGlvcmVzYW1wbGUpLAoJICAoR1NUX1NUQVJUX1RFU1QpOgoJICBJbnRlZ3JhdGUgdGhlIG1vdmVkIGF1ZGlvcmVzYW1wbGUgaW50byB0aGUgYnVpbGQgc3lzdGVtIGFuZAoJICByZW5hbWUgaXQgdG8gbGVnYWN5cmVzYW1wbGUuIEZpeGVzIGJ1ZyAjNTU4MTI0LgoKMjAwOC0xMS0yNyAxNjoyNjozOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEltcGxlbWVudCBwYXJzaW5nIG9mIHRoZSByYW5kb20gaW5kZXggcGFjaywgd2hpY2ggcHJvdmlkZXMgYSBzZWVrIHRhYmxlIChpbmNsdWRpbmcgYm9keSBzaWQpIHRvIHRoZSBzdGFydCBvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfcmFuZG9tX2luZGV4X3BhY2spLAoJICAoZ3N0X214Zl9kZW11eF9wdWxsX3JhbmRvbV9pbmRleF9wYWNrKSwgKGdzdF9teGZfZGVtdXhfbG9vcCk6CgkgICogZ3N0L214Zi9teGZkZW11eC5oOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl9yYW5kb21faW5kZXhfcGFja19wYXJzZSk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICAqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgSW1wbGVtZW50IHBhcnNpbmcgb2YgdGhlIHJhbmRvbSBpbmRleCBwYWNrLCB3aGljaCBwcm92aWRlcyBhIHNlZWsKCSAgdGFibGUgKGluY2x1ZGluZyBib2R5IHNpZCkgdG8gdGhlIHN0YXJ0IG9mIHBhcnRpdGlvbiBwYWNrcy4KCSAgTGF0ZXIgdGhpcyB3aWxsIGJlIHVzZWQgZm9yIHJlYWRpbmcgYWxsIGluZGV4IHRhYmxlIHNlZ21lbnRzIG9mCgkgIHRoZSBjb21wbGV0ZSBmaWxlIGVmZmljaWVudGx5LgoKMjAwOC0xMS0yNyAxMDowOTo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEFkZCBmdW5kYW1lbnRhbCBzdXBwb3J0IGZvciBEVi1ESUYgZXNzZW5jZSBzdHJlYW1zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9rbHZfcGFja2V0KToKCSAgKiBnc3QvbXhmL214ZmR2LWRpZi5jOiAobXhmX2lzX2R2X2RpZl9lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9kdl9kaWZfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfZHZfZGlmX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmR2LWRpZi5oOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl9pc19kZXNjcmlwdGl2ZV9tZXRhZGF0YSk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICBBZGQgZnVuZGFtZW50YWwgc3VwcG9ydCBmb3IgRFYtRElGIGVzc2VuY2Ugc3RyZWFtcy4KCSAgSGFuZGxlIGRlc2NyaXB0aXZlIG1ldGFkYXRhIHBhY2tldHMgYXMgbWV0YWRhdGEgcGFja2V0cy4KCjIwMDgtMTEtMjcgMDg6NDk6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguKjogT25seSB0cnkgdG8gcHVsbCB0aGUgZm9vdGVyIG1ldGFkYXRhIG9uY2UgYW5kIG5vdCBvbiBldmVyeSBLTFYgcGFja2V0IGlmIGl0IGZhaWxlZCBiZWZvcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfa2x2X3BhY2tldCk6CgkgICogZ3N0L214Zi9teGZkZW11eC5oOgoJICBPbmx5IHRyeSB0byBwdWxsIHRoZSBmb290ZXIgbWV0YWRhdGEgb25jZSBhbmQgbm90IG9uIGV2ZXJ5IEtMViBwYWNrZXQKCSAgaWYgaXQgZmFpbGVkIGJlZm9yZS4KCjIwMDgtMTEtMjYgMTI6NDA6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IE1ha2Ugb2J0YWluX3NvdXJjZSByZXR1cm4gYW4gYWRpdGlvbmFsIHJlZiBzbyB0aGF0IHdlIGRvbid0IGxvc2Ugb3VyIHJlZiB0byBpdCB3aGVuIGEgc2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAob2J0YWluX3NvdXJjZSksCgkgIChydHBfc2Vzc2lvbl9jcmVhdGVfc291cmNlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19yciksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUpOgoJICBNYWtlIG9idGFpbl9zb3VyY2UgcmV0dXJuIGFuIGFkaXRpb25hbCByZWYgc28gdGhhdCB3ZSBkb24ndCBsb3NlIG91ciByZWYKCSAgdG8gaXQgd2hlbiBhIHNlc3Npb24gY2xlYW51cCBvY2N1cnMgd2hlbiB3ZSBhcmUgZW1pdGluZyBhIHNpZ25hbC4KCSAgRW1pdCB0aGUgb25fbmV3X3NzcmMgc2lnbmFsIGZvciB0aGUgQ1NSQywgbm90IHRoZSBTU1JDLgoJICBGaXhlcyAjNTYyMzE5LgoKMjAwOC0xMS0yNiAxMjowMjoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZXNldCB0aGUgc3luYyBwYXJhbWV0ZXJzIHdoZW4gY2xlYXJpbmcgdGhlIHBheWxvYWQgdHlwZSBtYXAgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX3Jlc2V0X3N5bmMpLAoJICAoZ3N0X3J0cF9iaW5fY2xlYXJfcHRfbWFwKToKCSAgUmVzZXQgdGhlIHN5bmMgcGFyYW1ldGVycyB3aGVuIGNsZWFyaW5nIHRoZSBwYXlsb2FkIHR5cGUgbWFwIHRvby4KCSAgRml4ZXMgIzU2MjMxMi4KCjIwMDgtMTEtMjYgMTE6NDQ6MzcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uKjogUmVtb3ZlIGEgbG90IG9mIHBlciBzdHJlYW0gc3RhdGUgdGhhdCBpcyBub3QgbmVlZGVkIGFuZCBwYXNzIG5ldyBpbmZvIGluIHRoZSBtZXRob2QgY2FsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnZXRfY2xpZW50KSwKCSAgKGdzdF9ydHBfYmluX3Jlc2V0X3N5bmMpLCAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGdzdF9ydHBfYmluX2hhbmRsZV9zeW5jKSwgKGNyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBSZW1vdmUgYSBsb3Qgb2YgcGVyIHN0cmVhbSBzdGF0ZSB0aGF0IGlzIG5vdCBuZWVkZWQgYW5kIHBhc3MgbmV3IGluZm8gaW4KCSAgdGhlIG1ldGhvZCBjYWxsLgoJICBBZGQgc2lnbmFsIHRvIHJlc2V0IHN5bmMgcGFyYW1ldGVycy4KCSAgQXZvaWQgcGFyc2luZyB0aGUgY2FwcyB0byBnZXQgYSBjbG9ja19iYXNlLCB3ZSBnZXQgdGhpcyBmcm9tIHRoZSBzeW5jCgkgIHNpZ25hbCBub3cuCgoyMDA4LTExLTI2IDExOjMwOjI4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IFByb3Blcmx5IGNvbWJpbmUgZmxvdyByZXR1cm5zIG9mIHRoZSBzb3VyY2UgcGFkcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9wYWRfaW5pdCksCgkgIChnc3RfbXhmX2RlbXV4X3Jlc2V0X21ldGFkYXRhKSwgKGdzdF9teGZfZGVtdXhfY29tYmluZV9mbG93cyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9nZW5lcmljX2NvbnRhaW5lcl9lc3NlbmNlX2VsZW1lbnQpOgoJICBQcm9wZXJseSBjb21iaW5lIGZsb3cgcmV0dXJucyBvZiB0aGUgc291cmNlIHBhZHMuCgkgIEltcHJvdmUgZGVidWdnaW5nIGFuZCByZXNldCBwYWQgZmllbGRzIHRvZ2V0aGVyIHdpdGggdGhlCgkgIG1ldGFkYXRhIHRvIHByZXZlbnQgaW52YWxpZCBtZW1vcnkgcmVmZXJlbmNlcy4KCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfbWV0YWRhdGFfcHJlZmFjZV9wYXJzZSk6CgkgIEZpeCB0eXBvLgoKMjAwOC0xMS0yNiAxMDozNzozNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IFdoZW4gbWVtc2V0J2luZyB0aGUgZGVzY3JpcHRvcnMgdG8gemVyb2VzIG9ubHkgdG91Y2ggdGhlIHBhcnQgb2YgdGhpcyBkZXNjcmlwdG9yLCBub3QgaXQncyBwYXJlbnQgdHlwZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkgIChteGZfbWV0YWRhdGFfd2F2ZV9hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfcmVzZXQpOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOiAobXhmX21ldGFkYXRhX21wZWdfdmlkZW9fZGVzY3JpcHRvcl9yZXNldCk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX21ldGFkYXRhX2ZpbGVfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9maWxlX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9jZGNpX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9yZ2JhX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yX3Jlc2V0KToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgIFdoZW4gbWVtc2V0J2luZyB0aGUgZGVzY3JpcHRvcnMgdG8gemVyb2VzIG9ubHkgdG91Y2ggdGhlIHBhcnQKCSAgb2YgdGhpcyBkZXNjcmlwdG9yLCBub3QgaXQncyBwYXJlbnQgdHlwZS4KCSAgU2V0IGNvcnJlY3QgZGVmYXVsdCB2YWx1ZXMgZm9yIGFsbCBtZXRhZGF0YSBmaWVsZHMuCgoyMDA4LTExLTI2IDA0OjU3OjIyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguKjogRW5hYmxlIGxhdGVuY3kgY29kZSwgc2luY2Ugd2UncmUgZGVmaW5pdGVseSBhZnRlciAwLjEwLjEyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIEVuYWJsZSBsYXRlbmN5IGNvZGUsIHNpbmNlIHdlJ3JlIGRlZmluaXRlbHkgYWZ0ZXIgMC4xMC4xMgoKMjAwOC0xMS0yNSAxODoyODoxOCArMDAwMCAgSm9uYXRoYW4gTWF0dGhldyA8bm90dmVyeXNtYXJ0QGdtYWlsLmNvbT4KCgkgIGV4dC9zcGMvZ3N0c3BjLmM6IFBvc3QgYW4gZXJyb3IgYW5kIHB1c2ggRU9TIHdoZW4gd2UgY2FuJ3Qgc3RhcnQgcGxheWJhY2sgZm9yIHNvbWUgcmVhc29uLiBhbHNvIGF2b2lkIGEgY3Jhc2ggd2hlbiBmZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvbmF0aGFuIE1hdHRoZXcgPG5vdHZlcnlzbWFydCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGV4dC9zcGMvZ3N0c3BjLmM6IChnc3Rfc3BjX2RlY19zaW5rX2V2ZW50KSwgKHNwY19zZXR1cCk6CgkgIFBvc3QgYW4gZXJyb3IgYW5kIHB1c2ggRU9TIHdoZW4gd2UgY2FuJ3Qgc3RhcnQgcGxheWJhY2sgZm9yIHNvbWUgcmVhc29uLgoJICBhbHNvIGF2b2lkIGEgY3Jhc2ggd2hlbiBmZWQgYW4gZW1wdHkgZmlsZS4gRml4ZXMgIzQ4MDU0My4KCjIwMDgtMTEtMjUgMTY6Mzc6NTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWV4cmVzYW1wbGUuYzogTWFrZSB1bml0IHRlc3QgYWdhaW4gZmFzdGVyIHRvIHByZXZlbnQgdGltZW91dHMgd2l0aCB2YWxncmluZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlZXhyZXNhbXBsZS5jOiAodGVzdF9waXBlbGluZSk6CgkgIE1ha2UgdW5pdCB0ZXN0IGFnYWluIGZhc3RlciB0byBwcmV2ZW50IHRpbWVvdXRzIHdpdGggdmFsZ3JpbmQuCgoyMDA4LTExLTI1IDE1OjEyOjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBGaXggZXZlbnQgbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRjcF9zcmMpOgoJICBGaXggZXZlbnQgbGVhay4KCjIwMDgtMTEtMjUgMTQ6NDk6MzQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBTZXQgdmlkZW8gZGltZW5zaW9ucyBhbmQgcGl4ZWwgYXNwZWN0IHJhdGlvIG9uIHRoZSBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9tcGVnX3ZpZGVvX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9zZXRfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICBTZXQgdmlkZW8gZGltZW5zaW9ucyBhbmQgcGl4ZWwgYXNwZWN0IHJhdGlvIG9uIHRoZSBjYXBzLgoKMjAwOC0xMS0yNSAxMDoyNjoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEFkZCBpbml0aWFsIHBhcnNpbmcgb2YgUkdCQSBkZXNjcmlwdG9ycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9yZXNldF9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZmlsZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9jZGNpX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX3JnYmFfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfbXBlZ192aWRlb19kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGEpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkgIChteGZfbWV0YWRhdGFfcmdiYV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9yZ2JhX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3Jlc2V0KToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgICogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBBZGQgaW5pdGlhbCBwYXJzaW5nIG9mIFJHQkEgZGVzY3JpcHRvcnMuCgkgIERvbid0IGluaXRpYWxpemUgZGVzY3JpcHRvciBHQXJyYXkgd2l0aCB6ZXJvZXMuCgoyMDA4LTExLTI1IDA5OjM4OjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogUmV3cml0ZSBwYXJzaW5nIG9mIGRlc2NyaXB0b3JzIHRvIGdvIHRvcC1kb3duIGluc3RlYWQgb2YgYm90dG9tLXVwIHdoaWNoIG1ha2VzIGl0IHBvc3NpYmxlIHRvIGhhdmUgdGhlIGJ1ZmYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkgIChteGZfbWV0YWRhdGFfd2F2ZV9hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyk6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmg6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2ZpbGVfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfY2RjaV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9tcGVnX3ZpZGVvX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfd2F2ZV9hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3Jlc29sdmVfcmVmZXJlbmNlcyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YSk6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6CgkgIChteGZfbWV0YWRhdGFfbXBlZ192aWRlb19kZXNjcmlwdG9yX2hhbmRsZV90YWcpOgoJICAqIGdzdC9teGYvbXhmbXBlZy5oOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl9wYXJ0aXRpb25fcGFja19wYXJzZSksCgkgIChteGZfcHJpbWVyX3BhY2tfcGFyc2UpLCAobXhmX21ldGFkYXRhX3ByZWZhY2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2lkZW50aWZpY2F0aW9uX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2Vzc2VuY2VfY29udGFpbmVyX2RhdGFfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9wYXJzZSksIChteGZfbWV0YWRhdGFfdHJhY2tfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3NlcXVlbmNlX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9zdHJ1Y3R1cmFsX2NvbXBvbmVudF9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfZmlsZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfY2RjaV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2xvY2F0b3JfcGFyc2UpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgUmV3cml0ZSBwYXJzaW5nIG9mIGRlc2NyaXB0b3JzIHRvIGdvIHRvcC1kb3duIGluc3RlYWQgb2YgYm90dG9tLXVwCgkgIHdoaWNoIG1ha2VzIGl0IHBvc3NpYmxlIHRvIGhhdmUgdGhlIGJ1ZmZlciBkYXRhIG5vbi13cml0YWJsZS4KCSAgSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgoyMDA4LTExLTI1IDAwOjIwOjIyICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBBZGQgbmV3IGRpcmVjdG9yeSBmb3IgbmV3IGFjbW1wM2RlYyBwbHVnaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgQWRkIG5ldyBkaXJlY3RvcnkgZm9yIG5ldyBhY21tcDNkZWMgcGx1Z2luCgkgICogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvYWNtZW5jL2FjbW1wM2RlYy5jOgoJICBBZGQgbmV3IGFjbW1wM2RlYyBwbHVnaW4sIHdoaWNoIHVzZXMgQUNNIGZvciBkZWNvZGluZyBtcDMgb24gd2luZG93cy4KCjIwMDgtMTEtMjQgMTE6MzE6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogTWFrZSBzdXJlIHRvIG9ubHkgb3V0cHV0IGdlbmVyaWMgY29udGFpbmVyIGVzc2VuY2UgZWxlbWVudHMgZm9yIGEgdHJhY2sgaWYgdGhlIGJvZHkgU0lEIG9mIHRoZSBzdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9nZW5lcmljX2NvbnRhaW5lcl9lc3NlbmNlX2VsZW1lbnQpOgoJICBNYWtlIHN1cmUgdG8gb25seSBvdXRwdXQgZ2VuZXJpYyBjb250YWluZXIgZXNzZW5jZSBlbGVtZW50cwoJICBmb3IgYSB0cmFjayBpZiB0aGUgYm9keSBTSUQgb2YgdGhlIHN1cnJvdW5kaW5nIHBhcnRpdGlvbiBpcwoJICB0aGUgc2FtZSBhcyB0aGUgYm9keSBTSUQgb2YgdGhlIHRyYWNrJ3Mgc291cmNlIHBhY2thZ2UuCgoyMDA4LTExLTI0IDExOjE3OjE5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRml4IG5vbiBrZXkgdW5pdCBzZWVraW5nIGJ5IGFsd2F5cyBnb2luZyB0byB0aGUgcHJldmlvdXMga2V5ZnJhbWUuIE1hcmsgdGhlIGRpc2NvbnQgZmxhZyB3aGVuIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0xMS0yNCAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2ZpbmRfb2Zmc2V0KSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpOgoJICBGaXggbm9uIGtleSB1bml0IHNlZWtpbmcgYnkgYWx3YXlzIGdvaW5nIHRvIHRoZSBwcmV2aW91cwoJICBrZXlmcmFtZS4gTWFyawoJICB0aGUgZGlzY29udCBmbGFnIHdoZW4gd2UndmUgbW92ZWQgaW4gdGhlIGZpbGUuCgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9hdWRpb19uZWdvdGlhdGUpOiBNUDMKCSAgc3RyZWFtcwoJICBhcmUgcGFyc2VkIGFscmVhZHksIG1ha2VzIGF1dG9wbHVnZ2VkIHBpcGVsaW5lcyBzaG9ydGVyLgoKMjAwOC0xMS0yNCAxMDo0NjowMSArMDAwMCAgdmFuaXN0YSA8dmFuaXN0YUBnbWFpbC5jb20+CgoJICBnc3QvbXBlZ3RzbXV4LzogQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgbXV4aW5nIEFDMy9EVFMvTFBDTSBpbnRvIE1QRUcgVFMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogdmFuaXN0YSA8dmFuaXN0YSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6IChtcGVndHNtdXhfY3JlYXRlX3N0cmVhbSk6CgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOiAodHNtdXhfc3RyZWFtX25ldyk6CgkgIEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIG11eGluZyBBQzMvRFRTL0xQQ00gaW50byBNUEVHIFRTLgoJICBGaXhlcyBidWcgIzU1MDYxMy4KCjIwMDgtMTEtMjQgMTA6NDE6MTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBBbGxvdyBub24tTVhGIEtMViBwYWNrZXRzIGFuZCBqdXN0IGRyb3AgdGhlbSBpbnN0ZWFkIG9mIHRocm93aW5nIGFuIGVycm9yIGFuZCBoYW5kbGUgOSBieXRlIHByb2R1Y3QgdmVyc2lvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3B1bGxfa2x2X3BhY2tldCksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9rbHZfcGFja2V0KSwgKGdzdF9teGZfZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl9wcm9kdWN0X3ZlcnNpb25fcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2lkZW50aWZpY2F0aW9uX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfcGFyc2UpOgoJICBBbGxvdyBub24tTVhGIEtMViBwYWNrZXRzIGFuZCBqdXN0IGRyb3AgdGhlbSBpbnN0ZWFkIG9mIHRocm93aW5nCgkgIGFuIGVycm9yIGFuZCBoYW5kbGUgOSBieXRlIHByb2R1Y3QgdmVyc2lvbnMgYXMgd3JpdHRlbiBieSBBdmlkLgoJICBUaGlzIGRvZXNuJ3QgYWRkIHN1cHBvcnQgZm9yIHRoZSBub24tc3RhbmRhcmQgQXZpZCBNWEYgZmlsZXMKCSAgYnV0IGF0IGxlYXN0IG1ha2VzIGl0IHBvc3NpYmxlIHRvIHBhcnNlIHRoZWlyIGhlYWRlciBtZXRhZGF0YS4KCSAgRml4IGEgY29weSZwYXN0ZSBlcnJvciBpbiBkZWJ1ZyBvdXRwdXQuCgoyMDA4LTExLTIzIDE3OjUwOjA4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvamFjay86IFF1ZXJ5IHBvcnQgbGF0ZW5jaWVzIGZvciBzaW5rL3NyYyBkZWxheXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgUXVlcnkgcG9ydCBsYXRlbmNpZXMgZm9yIHNpbmsvc3JjIGRlbGF5cy4KCSAgKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkgIE5vIHByaW50ZiBwbGVhc2UuCgoyMDA4LTExLTIzIDExOjI1OjMwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IEFjdHVhbGx5IHdlIHN1cHBvcnQgYSBsZW5ndGggc3RvcmVkIGluc2lkZSA4IGJ5dGVzIGJ1dCBpdCBtdXN0IGJlIHNtYWxsZXIgdGhhbiBHX01BWFVJTlQgZm9yIEdzdEIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9wdWxsX2tsdl9wYWNrZXQpLAoJICAoZ3N0X214Zl9kZW11eF9jaGFpbik6CgkgIEFjdHVhbGx5IHdlIHN1cHBvcnQgYSBsZW5ndGggc3RvcmVkIGluc2lkZSA4IGJ5dGVzIGJ1dCBpdCBtdXN0CgkgIGJlIHNtYWxsZXIgdGhhbiBHX01BWFVJTlQgZm9yIEdzdEJ1ZmZlci4KCjIwMDgtMTEtMjMgMTE6MTY6MzYgKzAwMDAgIFRhbCBTaGFsaWYgPHRzaGFsaWZAbmFyZ2lsYS5vcmc+CgoJICBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzogRml4IGZvcm1hdCBzdHJpbmcuIEZpeGVzIGJ1ZyAjNTYxOTkyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRhbCBTaGFsaWYgPHRzaGFsaWYgYXQgbmFyZ2lsYSBkb3Qgb3JnPgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICAocnNuX2R2ZHNyY19wcmVwYXJlX3N0cmVhbXNpbmZvX2V2ZW50KToKCSAgRml4IGZvcm1hdCBzdHJpbmcuIEZpeGVzIGJ1ZyAjNTYxOTkyLgoKMjAwOC0xMS0yMiAxNTozMTozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogQWRkIHByb3BlcnR5IHRvIGNvbmZpZ3VyZSB0aGUgUlRDUCBNVFUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRwX3Nlc3Npb25faW5pdCksIChydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KToKCSAgQWRkIHByb3BlcnR5IHRvIGNvbmZpZ3VyZSB0aGUgUlRDUCBNVFUuCgoyMDA4LTExLTIyIDE1OjI0OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBBZGQgR19QQVJBTV9TVEFUSUNfU1RSSU5HUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChjb3B5X3NvdXJjZSksIChydHBfc2Vzc2lvbl9jcmVhdGVfc291cmNlcyksCgkgIChydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpOgoJICBBZGQgR19QQVJBTV9TVEFUSUNfU1RSSU5HUy4KCSAgQWRkIHByb3BlcnR5IHRvIHJldHVybiBhIEdWYWx1ZUFycmF5IG9mIGFsbCBrbm93biBSVFBTb3VyY2VzIGluIHRoZQoJICBzZXNzaW9uLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9jbGFzc19pbml0KSwKCSAgKHJ0cF9zb3VyY2VfY3JlYXRlX3NkZXMpLCAocnRwX3NvdXJjZV9zZXRfcHJvcGVydHkpLAoJICAocnRwX3NvdXJjZV9nZXRfcHJvcGVydHkpOgoJICBSZW1vdmUgcHJvcGVydGllcyB0byBzZXQgdGhlIHZhcmlvdXMgU0RFUyBpdGVtcywgYW4gYXBwbGljYXRpb24gaXMgbmV2ZXIKCSAgc3VwcG9zZWQgdG8gY2hhbmdlIHRoZSBSVFBTb3VyY2UgZGF0YS4KCSAgQ2hhbmdlIHRoZSBTREVTIGdldHRlciBwcm9wZXJ0aWVzIHRvIG9uZSBTREVTIHByb3BlcnR5IHRoYXQgcmV0dXJucyBhbGwKCSAgU0RFUyBpdGVtcyBpbiBhIEdzdFN0cnVjdHVyZS4KCjIwMDgtMTEtMjIgMTU6MDI6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWV4cmVzYW1wbGUuYzogTWFrZSB0aGUgdW5pdCB0ZXN0IGEgYml0IGZhc3RlciB0byBwcmV2ZW50IHRpbWVvdXRzLCBlc3BlY2lhbGx5IHdpdGggdmFsZ3JpbmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWV4cmVzYW1wbGUuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgTWFrZSB0aGUgdW5pdCB0ZXN0IGEgYml0IGZhc3RlciB0byBwcmV2ZW50IHRpbWVvdXRzLCBlc3BlY2lhbGx5CgkgIHdpdGggdmFsZ3JpbmQuCgoyMDA4LTExLTIyIDE0OjUxOjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogU29tZSBtb3JlIGZvcm1hdCBzdHJpbmcgZml4ZXMgYW5kIHVzYWdlIG9mIGd1aW50IGluc3RlYWQgb2YgZ2ludCB3aGVyZSBuZWdhdGl2ZSB2YWx1ZXMgZG9uJ3QgbWFrZSBzZW5zZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9wdXNoX3NyY19ldmVudCksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKGdzdF9teGZfdWxfaGFzaCksCgkgIChteGZfcGFydGl0aW9uX3BhY2tfcGFyc2UpLCAobXhmX3ByaW1lcl9wYWNrX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9wcmVmYWNlX3BhcnNlKSwgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9wYXJzZSk6CgkgIFNvbWUgbW9yZSBmb3JtYXQgc3RyaW5nIGZpeGVzIGFuZCB1c2FnZSBvZiBndWludCBpbnN0ZWFkIG9mIGdpbnQKCSAgd2hlcmUgbmVnYXRpdmUgdmFsdWVzIGRvbid0IG1ha2Ugc2Vuc2UuCgoyMDA4LTExLTIyIDE0OjQyOjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogVXNlIGd1aW50IGluc3RlYWQgb2YgZ3VpbnQ2NCBvciBnc2l6ZSBmb3IgYWxsIGJ1ZmZlciBzaXplcyBhbmQgdXNlIGNvcnJlY3QgZm9ybWF0IHN0cmluZ3MgZm9yIHRoZW0uIE9ubHkgbG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkgIChteGZfbWV0YWRhdGFfd2F2ZV9hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfcGFyc2UpOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5oOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcHVsbF9yYW5nZSksCgkgIChnc3RfbXhmX2RlbXV4X3B1bGxfa2x2X3BhY2tldCksCgkgIChnc3RfbXhmX2RlbXV4X3BhcnNlX2Zvb3Rlcl9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9rbHZfcGFja2V0KSwKCSAgKGdzdF9teGZfZGVtdXhfcHVsbF9hbmRfaGFuZGxlX2tsdl9wYWNrZXQpLCAoZ3N0X214Zl9kZW11eF9jaGFpbik6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfbWV0YWRhdGFfbXBlZ192aWRlb19kZXNjcmlwdG9yX3BhcnNlKToKCSAgKiBnc3QvbXhmL214Zm1wZWcuaDoKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfdGltZXN0YW1wX3BhcnNlKSwgKG14Zl9mcmFjdGlvbl9wYXJzZSksCgkgIChteGZfdXRmMTZfdG9fdXRmOCksIChteGZfcHJvZHVjdF92ZXJzaW9uX3BhcnNlKSwKCSAgKG14Zl9wYXJ0aXRpb25fcGFja19wYXJzZSksIChteGZfcHJpbWVyX3BhY2tfcGFyc2UpLAoJICAobXhmX2xvY2FsX3RhZ19wYXJzZSksIChteGZfbWV0YWRhdGFfcHJlZmFjZV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfaWRlbnRpZmljYXRpb25fcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZXNzZW5jZV9jb250YWluZXJfZGF0YV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19wYWNrYWdlX3BhcnNlKSwgKG14Zl9tZXRhZGF0YV90cmFja19wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3N0cnVjdHVyYWxfY29tcG9uZW50X3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2ZpbGVfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2NkY2lfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2xvY2F0b3JfcGFyc2UpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgVXNlIGd1aW50IGluc3RlYWQgb2YgZ3VpbnQ2NCBvciBnc2l6ZSBmb3IgYWxsIGJ1ZmZlciBzaXplcyBhbmQKCSAgdXNlIGNvcnJlY3QgZm9ybWF0IHN0cmluZ3MgZm9yIHRoZW0uIE9ubHkgbG9jYWwgdGFnIHNldCBzaXplcwoJICBhcmUgc3RpbGwgZ3VpbnQxNiBhcyB0aGV5IGNhbid0IGJlIGxhcmdlci4KCSAgT25seSBhbGxvdyBLTFYgcGFja2V0cyBvZiBzaXplcyBiZWxvdyAxPDwzMiBhcyBHU3RyZWFtZXIgb25seSB1c2VzCgkgIGd1aW50IGZvciBidWZmZXIgc2l6ZXMuIFRoZSBNWEYgc3RhbmRhcmQgYWxsb3dzIHBhY2tldCBzaXplcyB1cAoJICB0byAxPDw2NC4KCjIwMDgtMTEtMjIgMTM6MTc6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQWxzbyB1bnJlZiB0aGUgdGFyZ2V0IHBhZCBmb3IgdW5rbm93biBwYWRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX3JlbGVhc2VfcGFkKToKCSAgQWxzbyB1bnJlZiB0aGUgdGFyZ2V0IHBhZCBmb3IgdW5rbm93biBwYWRzLgoKMjAwOC0xMS0yMiAwODoyMzoxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RjY3AvZ3N0ZGNjcC5jOiBVc2UgR19HU0laRV9GT1JNQVQgaW5zdGVhZCBvZiAiJXUiIGZvciBhIHNpemVfdCB2YXJpYWJsZSBpbiB0aGUgZm9ybWF0IHN0cmluZyB0byBwcmV2ZW50IGEgY29tcGlsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kY2NwL2dzdGRjY3AuYzogKGdzdF9kY2NwX3NvY2tldF93cml0ZSk6CgkgIFVzZSBHX0dTSVpFX0ZPUk1BVCBpbnN0ZWFkIG9mICIldSIgZm9yIGEgc2l6ZV90IHZhcmlhYmxlIGluCgkgIHRoZSBmb3JtYXQgc3RyaW5nIHRvIHByZXZlbnQgYSBjb21waWxlciB3YXJuaW5nLgoKMjAwOC0xMS0yMSAxNjoxNzoyMiArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZWxlYXNlIHRoZSByaWdodCBwYWRzIG9uIHJ0cGJpbi4gRml4ZXMgIzU2MTc1Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX3JlbGVhc2VfcGFkKToKCSAgUmVsZWFzZSB0aGUgcmlnaHQgcGFkcyBvbiBydHBiaW4uIEZpeGVzICM1NjE3NTIuCgoyMDA4LTExLTIxIDE1OjQ1OjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6IEFkZCBhICJmaWx0ZXItbGVuZ3RoIiBwcm9wZXJ0eSB0aGF0IG1hcHMgdG8gdGhlIHF1YWxpdHkgdmFsdWVzIGZvciBjb21wYXRpYmlsdHkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2NsYXNzX2luaXQpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfZ2V0X3Byb3BlcnR5KToKCSAgQWRkIGEgImZpbHRlci1sZW5ndGgiIHByb3BlcnR5IHRoYXQgbWFwcyB0byB0aGUgcXVhbGl0eSB2YWx1ZXMKCSAgZm9yIGNvbXBhdGliaWx0eSB3aXRoIGF1ZGlvcmVzYW1wbGUuCgoyMDA4LTExLTIxIDEwOjM3OjEzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IFJlbW92ZSB0aGUgImV4cGVyaW1lbnRhbCIgZmxhZyBmcm9tIHRoZSBkZWludGVybGFjZTIgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlbW92ZSB0aGUgImV4cGVyaW1lbnRhbCIgZmxhZyBmcm9tIHRoZSBkZWludGVybGFjZTIgcGx1Z2luLgoKMjAwOC0xMS0yMSAxMDoyNzoxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIGZpcnN0IHZlcnNpb24gb2YgYW4gTVhGIGRlbXV4ZXIuIEN1cnJlbnRseSBpdCBzdXBwb3J0cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXhmL214Zi5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJICAobXhmX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV93YXZlX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfaXNfYWVzX2J3Zl9lc3NlbmNlX3RyYWNrKSwgKG14Zl9id2ZfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfYndmX2NyZWF0ZV9jYXBzKSwgKG14Zl9hZXNfYndmX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuaDoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX3BhZF9maW5hbGl6ZSksCgkgIChnc3RfbXhmX3BhZF9jbGFzc19pbml0KSwgKGdzdF9teGZfcGFkX2luaXQpLAoJICAoZ3N0X214Zl9kZW11eF9mbHVzaCksIChnc3RfbXhmX2RlbXV4X3JlbW92ZV9wYWQpLAoJICAoZ3N0X214Zl9kZW11eF9yZXNldF9teGZfc3RhdGUpLCAoZ3N0X214Zl9kZW11eF9yZXNldF9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X3Jlc2V0KSwgKGdzdF9teGZfZGVtdXhfcHVsbF9yYW5nZSksCgkgIChnc3RfbXhmX2RlbXV4X3B1c2hfc3JjX2V2ZW50KSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX3BhcnRpdGlvbl9wYWNrKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX3ByaW1lcl9wYWNrKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX3ByZWZhY2UpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfaWRlbnRpZmljYXRpb24pLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2Vzc2VuY2VfY29udGFpbmVyX2RhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfbWF0ZXJpYWxfcGFja2FnZSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9zb3VyY2VfcGFja2FnZSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV90cmFjayksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9zZXF1ZW5jZSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9zdHJ1Y3R1cmFsX2NvbXBvbmVudCksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZmlsZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9jZGNpX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX21wZWdfdmlkZW9fZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV93YXZlX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9sb2NhdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2dlbmVyaWNfY29udGFpbmVyX3N5c3RlbV9pdGVtKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2dlbmVyaWNfY29udGFpbmVyX2Vzc2VuY2VfZWxlbWVudCksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9yYW5kb21faW5kZXhfcGFjayksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9pbmRleF90YWJsZV9zZWdtZW50KSwKCSAgKGdzdF9teGZfZGVtdXhfcHVsbF9rbHZfcGFja2V0KSwKCSAgKGdzdF9teGZfZGVtdXhfcGFyc2VfZm9vdGVyX21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2tsdl9wYWNrZXQpLAoJICAoZ3N0X214Zl9kZW11eF9wdWxsX2FuZF9oYW5kbGVfa2x2X3BhY2tldCksIChnc3RfbXhmX2RlbXV4X2xvb3ApLAoJICAoZ3N0X214Zl9kZW11eF9jaGFpbiksIChnc3RfbXhmX2RlbXV4X3NyY19ldmVudCksCgkgIChnc3RfbXhmX2RlbXV4X3NyY19xdWVyeV90eXBlKSwgKGdzdF9teGZfZGVtdXhfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9teGZfZGVtdXhfc2lua19hY3RpdmF0ZSksIChnc3RfbXhmX2RlbXV4X3NpbmtfYWN0aXZhdGVfcHVzaCksCgkgIChnc3RfbXhmX2RlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCksIChnc3RfbXhmX2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X214Zl9kZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X214Zl9kZW11eF9maW5hbGl6ZSksCgkgIChnc3RfbXhmX2RlbXV4X2Jhc2VfaW5pdCksIChnc3RfbXhmX2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X214Zl9kZW11eF9pbml0KToKCSAgKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfbWV0YWRhdGFfbXBlZ192aWRlb19kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9tcGVnX3ZpZGVvX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX2lzX21wZWdfdmlkZW9fZXNzZW5jZV90cmFjayksCgkgIChteGZfbXBlZ192aWRlb19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl9tcGVnX3ZpZGVvX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214Zm1wZWcuaDoKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfaXNfbXhmX3BhY2tldCksIChteGZfaXNfcGFydGl0aW9uX3BhY2spLAoJICAobXhmX2lzX2hlYWRlcl9wYXJ0aXRpb25fcGFjayksIChteGZfaXNfYm9keV9wYXJ0aXRpb25fcGFjayksCgkgIChteGZfaXNfZm9vdGVyX3BhcnRpdGlvbl9wYWNrKSwgKG14Zl9pc19maWxsKSwKCSAgKG14Zl9pc19wcmltZXJfcGFjayksIChteGZfaXNfbWV0YWRhdGEpLAoJICAobXhmX2lzX3JhbmRvbV9pbmRleF9wYWNrKSwgKG14Zl9pc19pbmRleF90YWJsZV9zZWdtZW50KSwKCSAgKG14Zl9pc19nZW5lcmljX2NvbnRhaW5lcl9zeXN0ZW1faXRlbSksCgkgIChteGZfaXNfZ2VuZXJpY19jb250YWluZXJfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl9pc19nZW5lcmljX2NvbnRhaW5lcl9lc3NlbmNlX2NvbnRhaW5lcl9sYWJlbCksCgkgIChteGZfdWxfaXNfZXF1YWwpLCAobXhmX3VsX2lzX3plcm8pLCAobXhmX3VsX3RvX3N0cmluZyksCgkgIChteGZfdW1pZF9pc19lcXVhbCksIChteGZfdW1pZF9pc196ZXJvKSwgKG14Zl91bWlkX3RvX3N0cmluZyksCgkgIChnc3RfbXhmX3VsX2hhc2gpLCAoZ3N0X214Zl91bF9lcXVhbCksIChteGZfdGltZXN0YW1wX3BhcnNlKSwKCSAgKG14Zl90aW1lc3RhbXBfaXNfdW5rbm93biksIChteGZfdGltZXN0YW1wX2NvbXBhcmUpLAoJICAobXhmX2ZyYWN0aW9uX3BhcnNlKSwgKG14Zl91dGYxNl90b191dGY4KSwKCSAgKG14Zl9wcm9kdWN0X3ZlcnNpb25fcGFyc2UpLCAobXhmX3BhcnRpdGlvbl9wYWNrX3BhcnNlKSwKCSAgKG14Zl9wYXJ0aXRpb25fcGFja19yZXNldCksIChfbXhmX21hcHBpbmdfdWxfZnJlZSksCgkgIChteGZfcHJpbWVyX3BhY2tfcGFyc2UpLCAobXhmX3ByaW1lcl9wYWNrX3Jlc2V0KSwKCSAgKG14Zl9sb2NhbF90YWdfcGFyc2UpLCAoZ3N0X214Zl9sb2NhbF90YWdfZnJlZSksCgkgIChnc3RfbWV0YWRhdGFfYWRkX2N1c3RvbV90YWcpLCAobXhmX21ldGFkYXRhX3ByZWZhY2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3ByZWZhY2VfcmVzZXQpLCAobXhmX21ldGFkYXRhX2lkZW50aWZpY2F0aW9uX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9pZGVudGlmaWNhdGlvbl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2Vzc2VuY2VfY29udGFpbmVyX2RhdGFfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2Vzc2VuY2VfY29udGFpbmVyX2RhdGFfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19wYWNrYWdlX3Jlc2V0KSwgKG14Zl9tZXRhZGF0YV90cmFja19wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfdHJhY2tfcmVzZXQpLCAobXhmX21ldGFkYXRhX3RyYWNrX2lkZW50aWZpZXJfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3NlcXVlbmNlX3BhcnNlKSwgKG14Zl9tZXRhZGF0YV9zZXF1ZW5jZV9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnRfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3N0cnVjdHVyYWxfY29tcG9uZW50X3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfZmlsZV9kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9maWxlX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfY2RjaV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfY2RjaV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfbG9jYXRvcl9wYXJzZSksIChteGZfbWV0YWRhdGFfbG9jYXRvcl9yZXNldCk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICAqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgQWRkIGZpcnN0IHZlcnNpb24gb2YgYW4gTVhGIGRlbXV4ZXIuIEN1cnJlbnRseSBpdCBzdXBwb3J0cwoJICBNUEVHIHZpZGVvIGFuZCByYXcgYXVkaW8gYW5kIE9QIDFhL2IvYy4KCjIwMDgtMTEtMjEgMDA6NDc6MzcgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6IEZpeCBmbHVzaGluZy9zZWVraW5nIHByb2JsZW1zIHJldHVybmluZyBlcnJvciBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJICBGaXggZmx1c2hpbmcvc2Vla2luZyBwcm9ibGVtcyByZXR1cm5pbmcgZXJyb3IgY29kZS4KCSAgRml4IG1wMyBkZWNvZGluZyB3aXRoIHdpblhQIChjcmFzaGVkIHJhbmRvbWx5LCBvY2Nhc2lvbmFsbHkpLgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkgIEZpeCBwcm9ibGVtcyB3aGVuIGZyYW1lcmF0ZSBpcyBtaXNzaW5nIGZyb20gdmlkZW8uCgoyMDA4LTExLTIwIDE4OjQxOjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBQYXNzIHRoZSBydW5uaW5nIHRpbWUgdG8gdGhlIHNlc3Npb24gd2hlbiBwcm9jZXNzaW5nIFJUUCBwYWNrZXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnZXRfY3VycmVudF90aW1lcyksCgkgIChydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApOgoJICBQYXNzIHRoZSBydW5uaW5nIHRpbWUgdG8gdGhlIHNlc3Npb24gd2hlbiBwcm9jZXNzaW5nIFJUUCBwYWNrZXRzLgoJICBJbXByb3ZlIHRoZSB0aW1lIGZ1bmN0aW9uIHRvIHByb3ZpZGUgbW9yZSBpbmZvLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRwX3Nlc3Npb25faW5pdCksICh1cGRhdGVfYXJyaXZhbF9zdGF0cyksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKSwgKHNlc3Npb25fc3RhcnRfcnRjcCksCgkgIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIE1hcmsgdGhlIGludGVybmFsIHNvdXJjZSB3aXRoIGEgZmxhZy4KCSAgVXNlIHJ1bm5pbmdfdGltZSBpbnN0ZWFkIG9mIHRoZSBtb3JlIHVzZWxlc3MgdGltZXN0YW1wLgoJICBWYWxpZGF0ZSBhIHNvdXJjZSB3aGVuIGEgdmFsaWQgU0RFUyBoYXMgYmVlbiByZWNlaXZlZC4KCSAgUGFzcyB0aGUgY3VycmVudCBzeXN0ZW0gdGltZSB3aGVuIHByb2Nlc3NpbmcgU1IgcGFja2V0cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfY2xhc3NfaW5pdCksCgkgIChydHBfc291cmNlX2luaXQpLCAocnRwX3NvdXJjZV9jcmVhdGVfc3RhdHMpLAoJICAocnRwX3NvdXJjZV9nZXRfcHJvcGVydHkpLCAocnRwX3NvdXJjZV9zZW5kX3J0cCksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcmIpLCAocnRwX3NvdXJjZV9nZXRfbmV3X3JiKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X2xhc3RfcmIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBBZGQgcHJvcGVydHkgdG8gZ2V0IHNvdXJjZSBzdGF0cy4KCSAgTWFyayBwYXJhbXMgYXMgU1RBVElDX1NUUklOR1MuCgkgIENhbGN1bGF0ZSB0aGUgYml0cmF0ZSBhdCB0aGUgc2VuZGVyIFNTUkMuCgkgIEF2b2lkIG5lZ2F0aXZlIHZhbHVlcyBpbiB0aGUgcm91bmQgdHJpcCB0aW1lIGNhbGN1bGF0aW9ucy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBVcGRhdGUgc29tZSBkb2NzIGFuZCBjaGFuZ2Ugc29tZSB2YXJpYWJsZSBuYW1lIHRvIG1vcmUgY2xvc2VseSByZWZsZWN0CgkgIHdoYXQgaXQgY29udGFpbnMuCgoyMDA4LTExLTIwIDE2OjAxOjI3ICswMDAwICBMZWFuZHJvIE1lbG8gZGUgU2FsZXMgPGxlYW5kcm9hbEBnbWFpbC5jb20+CgoJICBnc3QvZGNjcC86IENvZGVTdHlsZSBpbXByb3ZlbWVudHMgYW5kIG1pbm9yIGZpeGVzIHRvIHRoZSBEQ0NQIHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBMZWFuZHJvIE1lbG8gZGUgU2FsZXMgPGxlYW5kcm9hbEBnbWFpbC5jb20+CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3AuaDoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmg6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuaDoKCSAgQ29kZVN0eWxlIGltcHJvdmVtZW50cyBhbmQgbWlub3IgZml4ZXMgdG8gdGhlIERDQ1AgcGx1Z2luLgoJICBGaXhlcyAjNTUzODIzLgoKMjAwOC0xMS0yMCAwODoxOToxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEluaXRpYWxpemUgcmV0dXJuIHZhbHVlIHRvIGZpeCBjb21waWxlciB3YXJuaW5nIGFib3V0IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluX3J0Y3ApOgoJICBJbml0aWFsaXplIHJldHVybiB2YWx1ZSB0byBmaXggY29tcGlsZXIgd2FybmluZyBhYm91dCB1bmluaXRpYWxpemVkCgkgIHZhcmlhYmxlLgoKMjAwOC0xMS0xOSAxNjo0ODozOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBNYXJrIHNpZ25hbCBhcmcgYXMgc3RhdGljIHNjb3BlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KToKCSAgTWFyayBzaWduYWwgYXJnIGFzIHN0YXRpYyBzY29wZS4KCjIwMDgtMTEtMTkgMDk6MDY6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUmVtb3ZlIGludGVybmFsIHN5bmMgcGFkLCB1c2Ugc2lnbmFscyBpbnN0ZWFkIHRvIGdldCBsaXAtc3luYyBub3RpZmljYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChnc3RfcnRwX2Jpbl9oYW5kbGVfc3luYyksIChjcmVhdGVfc3RyZWFtKSwgKGZyZWVfc3RyZWFtKSwKCSAgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIFJlbW92ZSBpbnRlcm5hbCBzeW5jIHBhZCwgdXNlIHNpZ25hbHMgaW5zdGVhZCB0byBnZXQgbGlwLXN5bmMKCSAgbm90aWZpY2F0aW9ucy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ludGVybmFsX2xpbmtzKSwgKGNyZWF0ZV9ydGNwX3NpbmspLAoJICAocmVtb3ZlX3J0Y3Bfc2luayksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcmVxdWVzdF9uZXdfcGFkKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9yZWxlYXNlX3BhZCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2lua19ydGNwX2V2ZW50KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbl9ydGNwKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICBNYWtlIGl0IHBvc3NpYmxlIHRvIHNlbmQgU1IgcGFja2V0cyB0byB0aGUgaml0dGVyYnVmZmVyLgoJICBDaGVjayBpZiB0aGUgU1IgdGltZXN0YW1wcyBhcmUgdmFsaWQgYnkgY29tcGFyaW5nIHRoZW0gdG8gdGhlIFJUUAoJICB0aW1lc3RhbXBzLgoJICBTaWduYWwgdGhlIFNSIHBhY2tldCBhbmQgdGhlIHRpbWluZyBpbmZvcm1hdGlvbiB0byBsaXN0ZW5lcnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChjcmVhdGVfZGVtdXhfcGFkX2Zvcl9zc3JjKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9ydGNwX2NoYWluKSwgKGdzdF9ydHBfc3NyY19kZW11eF9zcmNfcXVlcnkpOgoJICBSZW1vdmUgc29tZSB1bnVzZWQgY29kZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX3Jlc2V0X3NrZXcpLAoJICAoY2FsY3VsYXRlX3NrZXcpLCAocnRwX2ppdHRlcl9idWZmZXJfZ2V0X3N5bmMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBLZWVwIHRyYWNrIG9mIHRoZSBsYXN0IHNlZW4gUlRQIHRpbWVzdGFtcCBzbyB0aGF0IHdlIGNhbiBmaWx0ZXIgb3V0CgkgIGludmFsaWQgU1IgcGFja2V0cy4KCjIwMDgtMTEtMTggMTY6NTI6MTEgKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSAgZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOiBBdm9pZCBkZWFkbG9jayBkdXJpbmcgcGFkIGFjdGl2YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSAgQXZvaWQgZGVhZGxvY2sgZHVyaW5nIHBhZCBhY3RpdmF0aW9uLgoJICBGaXhlcyAjNTYxMjQxLgoKMjAwOC0xMS0xOCAwMTowOTowOSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvcXRtdXgvZ3N0cXRtdXguYzogUXVpZXQgYSBkZWJ1Z2dpbmcgbWVzc2FnZSB0aGF0IEkgcmVjZW50bHkgYWRkZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5jOiBRdWlldCBhIGRlYnVnZ2luZyBtZXNzYWdlIHRoYXQgSSByZWNlbnRseQoJICBhZGRlZC4KCjIwMDgtMTEtMTcgMTk6NDc6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiBGaXggR1NUX0RFQlVHIGNhbGwgdG8gb25seSBoYXZlIGFzIG1hbnkgYXJndW1lbnRzIGFzIHJlcXVpcmVkIGJ5IHRoZSBmb3JtYXQgc3RyaW5nLiBGaXhlcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKGdldF9jbG9ja19yYXRlKToKCSAgRml4IEdTVF9ERUJVRyBjYWxsIHRvIG9ubHkgaGF2ZSBhcyBtYW55IGFyZ3VtZW50cyBhcyByZXF1aXJlZAoJICBieSB0aGUgZm9ybWF0IHN0cmluZy4gRml4ZXMgYSBjb21waWxlciB3YXJuaW5nLgoKMjAwOC0xMS0xNyAxNToxNzo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBEbyBub3QgdHJ5IHRvIGtlZXAgdHJhY2sgb2YgdGhlIGNsb2NrLXJhdGUgb3Vyc2VsdmVzIGJ1dCBzaW1wbHkgZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSBqaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChnc3RfcnRwX2Jpbl9zeW5jX2NoYWluKSwgKGNyZWF0ZV9zdHJlYW0pLCAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgRG8gbm90IHRyeSB0byBrZWVwIHRyYWNrIG9mIHRoZSBjbG9jay1yYXRlIG91cnNlbHZlcyBidXQgc2ltcGx5IGdldCB0aGUKCSAgdmFsdWUgZnJvbSB0aGUgaml0dGVyYnVmZmVyLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3N5bmMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICBBZGQgc29tZSBkZWJ1ZyBpbmZvLgoJICBQYXNzIHRoZSBjbG9jay1yYXRlIHRvIHRoZSBqaXR0ZXJidWZmZXIuCgkgIEFsc28gcGFzcyB0aGUgY2xvY2stcmF0ZSBhbG9uZyB3aXRoIHRoZSBydHAgdGltZXN0YW1wIHdoZW4gZ2V0dGluZyB0aGUKCSAgc3luYyBwYXJhbWV0ZXJzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICBGaXggc29tZSBkZWJ1Zy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX3Jlc2V0X3NrZXcpLAoJICAoY2FsY3VsYXRlX3NrZXcpLCAocnRwX2ppdHRlcl9idWZmZXJfZ2V0X3N5bmMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBLZWVwIHRyYWNrIG9mIGNsb2NrLXJhdGUgY2hhbmdlcyBhbmQgcmV0dXJuIHRoZSBjbG9jay1yYXRlIHRvZ2V0aGVyIHdpdGgKCSAgdGhlIHJ0cCB0aW1lc3RhbXBzIHVzZWQgZm9yIHN5bmMuCgkgIERvbid0IHRyeSB0byBjb25zdHJ1Y3QgdGltZXN0YW1wcyB3aGVuIHdlIGhhdmUgbm8gYmFzZV90aW1lLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAoZ2V0X2Nsb2NrX3JhdGUpOgoJICBSZXF1ZXN0IGEgbmV3IGNsb2NrLXJhdGUgd2hlbiB0aGUgcGF5bG9hZCB0eXBlIGNoYW5nZXMuCgkgIFJlc2V0IHRoZSBqaXR0ZXIgY2FsY3VsYXRpb24gd2hlbiB0aGUgY2xvY2stcmF0ZSBjaGFuZ2VzLgoKMjAwOC0xMS0xNyAwOTozMzo1MCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBBZGQgbWlzc2luZyBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2VfZGF0YS5oOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlX2RhdGEuaDoKCSAgQWRkIG1pc3NpbmcgZmlsZXMuCgoyMDA4LTExLTE1IDAyOjU2OjMxICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9xdG11eC9nc3RxdG11eC4qOiBVc2UgZHRzIGZyb20gR1NUX0JVRkZFUl9PRkZTRVRfRU5EKCkgZm9yIHZpZGVvL3gtcXQtcGFydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIFVzZSBkdHMgZnJvbSBHU1RfQlVGRkVSX09GRlNFVF9FTkQoKSBmb3IgdmlkZW8veC1xdC1wYXJ0LgoKMjAwOC0xMS0xNCAyMzowMTo1NiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvcXR3cmFwcGVyL2NvZGVjbWFwcGluZy5jOiBBZGQgc29tZSBvZiBvdXIgZmF2b3JpdGUgY29kZWNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvcXR3cmFwcGVyL2NvZGVjbWFwcGluZy5jOiBBZGQgc29tZSBvZiBvdXIgZmF2b3JpdGUgY29kZWNzLgoKMjAwOC0xMS0xNCAyMTo0NDozMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IEd1YXJkIGFnYWluc3QgYSBOVUxMIGRlcmVmZXJlbmNlIEkgc29tZWhvdyBlbmNvdW50ZXJlZCAtIHdpdGggYSBGTFVTSF9TVE9QIGFycmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICBHdWFyZCBhZ2FpbnN0IGEgTlVMTCBkZXJlZmVyZW5jZSBJIHNvbWVob3cgZW5jb3VudGVyZWQgLQoJICB3aXRoIGEgRkxVU0hfU1RPUCBhcnJpdmluZyBlaXRoZXIgYmVmb3JlIGJhc2V0cmFuc2Zvcm0gX3N0YXJ0KCksCgkgIG9yIGFmdGVyIF9zdG9wKCkuCgkgICogZ3N0L3R5cGVmaW5kL2dzdHR5cGVmaW5kZnVuY3Rpb25zLmM6CgkgIE1ha2Ugc3VyZSB3ZSBuZXZlciBqdW1wIGJhY2t3YXJkcyB3aGVuIHR5cGVmaW5kaW5nIGNvcnJ1cHQgbW92IGZpbGVzLgoKMjAwOC0xMS0xNCAyMToyNDo1MSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXRtdXgvOiBSZXZlcnQgcHJldmlvdXMgY29tbWl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSAgKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuYzoKCSAgKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuaDoKCSAgKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkgICogZ3N0L3F0bXV4L2Z0eXBjYy5oOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5oOgoJICAqIGdzdC9xdG11eC9wcm9wZXJ0aWVzLmM6CgkgICogZ3N0L3F0bXV4L3Byb3BlcnRpZXMuaDoKCSAgUmV2ZXJ0IHByZXZpb3VzIGNvbW1pdC4KCjIwMDgtMTEtMTQgMjA6Mzg6MTggKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F0bXV4LzogRHVhbCBsaWNlbnNlIExHUEwvTUlULCBhcyBhcHBhcmVudGx5IHN1cHBvc2VkIHRvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSAgKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuYzoKCSAgKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuaDoKCSAgKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkgICogZ3N0L3F0bXV4L2Z0eXBjYy5oOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5oOgoJICAqIGdzdC9xdG11eC9wcm9wZXJ0aWVzLmM6CgkgICogZ3N0L3F0bXV4L3Byb3BlcnRpZXMuaDoKCSAgRHVhbCBsaWNlbnNlIExHUEwvTUlULCBhcyBhcHBhcmVudGx5IHN1cHBvc2VkIHRvLgoKMjAwOC0xMS0xNCAyMDoxNzoxMCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXRtdXgvOiBDdXQgZGV0b3VyIGluIHNhbXBsZSBkZXNjcmlwdGlvbiBleHRlbnNpb24gY29uc3RydWN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRtdXgvYXRvbXMuYzogKGJ1aWxkX2VzZHNfZXh0ZW5zaW9uKSwKCSAgKGJ1aWxkX21vdl9hYWNfZXh0ZW5zaW9uKSwgKGJ1aWxkX2pwMmhfZXh0ZW5zaW9uKSwKCSAgKGJ1aWxkX2NvZGVjX2RhdGFfZXh0ZW5zaW9uKToKCSAgKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSAgKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6IChnc3RfcXRfbXV4X2F1ZGlvX3Npbmtfc2V0X2NhcHMpLAoJICAoZ3N0X3F0X211eF92aWRlb19zaW5rX3NldF9jYXBzKToKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzogKGdzdF9xdF9tdXhfbWFwX2Zvcm1hdF90b19oZWFkZXIpOgoJICBDdXQgZGV0b3VyIGluIHNhbXBsZSBkZXNjcmlwdGlvbiBleHRlbnNpb24gY29uc3RydWN0aW9uLgoJICBBbHNvIGFjdHVhbGx5IGltcGxlbWVudCBJU08gSlBFRzIwMDAgbWoyIGZvcm1hdC4KCjIwMDgtMTEtMTQgMTk6NTI6MjQgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiBDb25zdHJ1Y3Qgc291cmNlIGNhcHMgaW4gbW9yZSBjb252ZW50aW9uYWwgKGFuZCBjb3JyZWN0KSBtYW5uZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogKGdzdF94MjY0X2VuY19zZXRfc3JjX2NhcHMpOgoJICBDb25zdHJ1Y3Qgc291cmNlIGNhcHMgaW4gbW9yZSBjb252ZW50aW9uYWwgKGFuZCBjb3JyZWN0KSBtYW5uZXIuCgoyMDA4LTExLTE0IDE2OjE1OjQzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIG5vIG1vcmUgZWdnaW5nIHRoZSBwdWRkaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBubyBtb3JlIGVnZ2luZyB0aGUgcHVkZGluZwoKMjAwOC0xMS0xNCAxNDoyMzowMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0LWxpYnMvZ3N0L3BsYXkvOiBSZW1vdmUgY3J1ZnQuIFRoaXMgaXMgbm90IGVudGVyZWQgYnkgbWFrZSBhbmQgaXRzIG5vdCBldmVuIGNvbXBpbGFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9wbGF5Ly5jdnNpZ25vcmU6CgkgICogZ3N0LWxpYnMvZ3N0L3BsYXkvcGxheS5oOgoJICAqIGdzdC1saWJzL2dzdC9wbGF5L3BsYXkudmNwcm9qOgoJICBSZW1vdmUgY3J1ZnQuIFRoaXMgaXMgbm90IGVudGVyZWQgYnkgbWFrZSBhbmQgaXRzIG5vdCBldmVuIGNvbXBpbGFibGUuCgoyMDA4LTExLTEzIDIyOjMwOjU0ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzogU2V0IHBpeGVsLWFzcGVjdC1yYXRpbyBjb3JyZWN0bHkgaW4gdGhlIGVuY29kZXIgQVBJLCBhcyB3ZWxsIGFzIHNvbWUgZGVmYXVsdCBnc3RyZWFtZXJpc2ggYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIFNldCBwaXhlbC1hc3BlY3QtcmF0aW8gY29ycmVjdGx5IGluIHRoZSBlbmNvZGVyIEFQSSwgYXMgd2VsbAoJICBhcyBzb21lIGRlZmF1bHQgZ3N0cmVhbWVyaXNoIGNvbG9yc3BhY2UgcHJvcGVydGllcy4gIEFsc28sCgkgIGFwcGFyZW50bHksIGNoYW5nZSBhIGJ1bmNoIG9mIGluZGVudGF0aW9uLgoKMjAwOC0xMS0xMyAyMTo0NDoxNSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQvanAyay86IEFkZCBqcDJrZW5jIHRvIGpwMmsgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanAyay9NYWtlZmlsZS5hbToKCSAgKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzogKGdzdF9qYXNwZXJfZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2phc3Blcl9kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzogKGdzdF9qYXNwZXJfZW5jX2Jhc2VfaW5pdCksCgkgIChnc3RfamFzcGVyX2VuY19jbGFzc19pbml0KSwgKGdzdF9qYXNwZXJfZW5jX2luaXQpLAoJICAoZ3N0X2phc3Blcl9lbmNfcmVzZXQpLCAoZ3N0X2phc3Blcl9lbmNfc2V0X3NyY19jYXBzKSwKCSAgKGdzdF9qYXNwZXJfZW5jX2luaXRfZW5jb2RlciksIChnc3RfamFzcGVyX2VuY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2phc3Blcl9lbmNfZ2V0X2RhdGEpLCAoZ3N0X2phc3Blcl9lbmNfY2hhaW4pLAoJICAoZ3N0X2phc3Blcl9lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9qYXNwZXJfZW5jX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfamFzcGVyX2VuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5oOgoJICAqIGV4dC9qcDJrL2dzdGpwMmsuYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIGpwMmtlbmMgdG8ganAyayBwbHVnaW4uCgoyMDA4LTExLTEzIDIxOjMxOjE0ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC9qcDJrL2dzdGphc3BlcmRlYy4qOiBNYWtlIHBhZCB0ZW1wbGF0ZSBjYXBzIHJlZmxlY3QgdGhlIHN1cHBvcnRlZCBmb3JtYXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzogKGdzdF9qYXNwZXJfZGVjX2luaXQpLAoJICAoZ3N0X2phc3Blcl9kZWNfcmVzZXQpLCAoZ3N0X2phc3Blcl9kZWNfbmVnb3RpYXRlKSwKCSAgKGdzdF9qYXNwZXJfZGVjX2dldF9waWN0dXJlKToKCSAgKiBleHQvanAyay9nc3RqYXNwZXJkZWMuaDoKCSAgTWFrZSBwYWQgdGVtcGxhdGUgY2FwcyByZWZsZWN0IHRoZSBzdXBwb3J0ZWQgZm9ybWF0cy4KCSAgQWRkIG9yIG1vZGlmeSBzb21lIGRlYnVnIHN0YXRlbWVudHMsIGFuZCBzbGlnaHRseSBzaW1wbGlmeSBpbWFnZQoJICBwYXNzaW5nIHRvIGVuY29kaW5nIGxpYnJhcnkuCgoyMDA4LTExLTEzIDE3OjI0OjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6IERvbid0IGF1dG9wbHVnIGFhY3BhcnNlIHVudGlsIGl0IHdvcmtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzogKHBsdWdpbl9pbml0KToKCSAgRG9uJ3QgYXV0b3BsdWcgYWFjcGFyc2UgdW50aWwgaXQgd29ya3MuCgoyMDA4LTExLTEzIDE1OjQ4OjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBTbWFsbCBjbGVhbnVwcyBhbmQgc29tZSBtb3JlIGRlYnVnIGluZm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwKCSAgKGNhbGN1bGF0ZV9za2V3KToKCSAgU21hbGwgY2xlYW51cHMgYW5kIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvLgoKMjAwOC0xMS0xMyAxNToyMDoxNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgdW5pdCB0ZXN0cyBmb3IgbmV3IHBhcnNlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2UuYzoKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIG5ldyBwYXJzZXJzLgoKMjAwOC0xMS0xMyAxNDozMTo0NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogVXBkYXRlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkgIFVwZGF0ZSBkb2NzLgoKMjAwOC0xMS0xMyAxNDoyMTozOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0LzogRml4IGJhc2VwYXJzZSB0eXBlIG5hbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIEZpeCBiYXNlcGFyc2UgdHlwZSBuYW1lLgoKMjAwOC0xMS0xMyAxMjo1OTozNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQWRkIHR3byBuZXcgYmFzZXBhcnNlIGJhc2VkIHBhcnNlcnMgKGFhYyBhbmQgYW1yKSBmcm9tIEJ1ZyAjNTE4ODU3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2FhY3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICAqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5oOgoJICAqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgICogZ3N0L2FtcnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hbXJwYXJzZS9nc3RhbXJwYXJzZS5jOgoJICAqIGdzdC9hbXJwYXJzZS9nc3RhbXJwYXJzZS5oOgoJICAqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIEFkZCB0d28gbmV3IGJhc2VwYXJzZSBiYXNlZCBwYXJzZXJzIChhYWMgYW5kIGFtcikgZnJvbSBCdWcgIzUxODg1Ny4KCjIwMDgtMTEtMTIgMTA6MzI6MjQgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzogRml4IHVuaW5pdGlhbGl6ZWQgd2FybmluZ3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIEZpeCB1bmluaXRpYWxpemVkIHdhcm5pbmdzCgoyMDA4LTExLTExIDE5OjMxOjM1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHVuaXQgdGVzdCBmb3IgcXRtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6IChzZXR1cF9zcmNfcGFkKSwKCSAgKHRlYXJkb3duX3NyY19wYWQpLCAoc2V0dXBfcXRtdXgpLCAoY2xlYW51cF9xdG11eCksCgkgIChjaGVja19xdG11eF9wYWQpLCAoR1NUX1NUQVJUX1RFU1QpLCAocXRtdXhfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3QgZm9yIHF0bXV4LgoKMjAwOC0xMS0xMSAxOToyNDoxMiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXRtdXgvZ3N0cXRtdXguYzogQWRkIHNvbWUgbW9yZSBzYWZldHkvc2FuaXR5IGNoZWNrcyBpbiB0YWcgbWFuaXB1bGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzogKGdzdF9xdF9tdXhfYWRkX21ldGFkYXRhX3RhZ3MpOgoJICBBZGQgc29tZSBtb3JlIHNhZmV0eS9zYW5pdHkgY2hlY2tzIGluIHRhZyBtYW5pcHVsYXRpb24uCgoyMDA4LTExLTEwIDE1OjI2OjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEFsc28gY29uZmlndXJlIHRoZSBuZXh0IGV4cGVjdGVkIG91dHB1dCBzZXFudW0gd2hlbiB3ZSBnZXQgYSBzZXFudW0tYmFzZSBvbiB0aGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgIEFsc28gY29uZmlndXJlIHRoZSBuZXh0IGV4cGVjdGVkIG91dHB1dCBzZXFudW0gd2hlbiB3ZSBnZXQgYSBzZXFudW0tYmFzZQoJICBvbiB0aGUgY2Fwcy4KCjIwMDgtMTEtMTAgMTQ6NTM6NDUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvOiBXaW0sIHlvdSdyZSBhIGJhZCBib3kuIFlvdSBkb24ndCB3YW50IHBlb3BsZSB0byBjb250YWN0IHlvdSBvciB3aGF0PwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIFdpbSwgeW91J3JlIGEgYmFkIGJveS4gWW91IGRvbid0IHdhbnQgcGVvcGxlIHRvIGNvbnRhY3QgeW91IG9yIHdoYXQ/CgoyMDA4LTExLTEwIDE0OjAxOjQyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0aWlyLmM6IEZpeCBuYW1lIHRhZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzoKCSAgRml4IG5hbWUgdGFnLgoKMjAwOC0xMS0wOCAwMjowMDo1OCArMDAwMCAgVGhpYWdvIFNvdXNhIFNhbnRvcyA8dGhpYWdvc3NhbnRvc0BnbWFpbC5jb20+CgoJICBDb3B5IHF0bXV4IGZyb20gcmV2aXNpb24gMTQ4IG9mIHRoZSBnc3QtcXRtdXggcmVwb3NpdG9yeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc2FudG9zQGdtYWlsLmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3F0bXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdG11eC9hdG9tcy5jOgoJICAqIGdzdC9xdG11eC9hdG9tcy5oOgoJICAqIGdzdC9xdG11eC9kZXNjcmlwdG9ycy5jOgoJICAqIGdzdC9xdG11eC9kZXNjcmlwdG9ycy5oOgoJICAqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSAgKiBnc3QvcXRtdXgvZnR5cGNjLmg6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmg6CgkgICogZ3N0L3F0bXV4L3Byb3BlcnRpZXMuYzoKCSAgKiBnc3QvcXRtdXgvcHJvcGVydGllcy5oOgoJICBDb3B5IHF0bXV4IGZyb20gcmV2aXNpb24gMTQ4IG9mIHRoZSBnc3QtcXRtdXggcmVwb3NpdG9yeS4KCSAgRml4ZXMgIzU1MDI4MC4KCjIwMDgtMTEtMDcgMTc6MzU6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy4qOiBBZGQgaXMtbGl2ZSBwcm9wZXJ0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzogKGdzdF9hcHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2FwcF9zcmNfaW5pdCksIChnc3RfYXBwX3NyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2FwcF9zcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9hcHBfc3JjX3B1c2hfYnVmZmVyKToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5oOgoJICBBZGQgaXMtbGl2ZSBwcm9wZXJ0eS4KCSAgQWRkIHNvbWUgbW9yZSBkb2NzLgoKMjAwOC0xMS0wNiAyMjo1NDozOSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIEZpeCBiYXNpYyBuYXZpZ2F0aW9uIGV2ZW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICBGaXggYmFzaWMgbmF2aWdhdGlvbiBldmVudHMKCjIwMDgtMTEtMDYgMTQ6MDU6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiBCcmluZyBwcm9wZXJ0aWVzIGludG8gdGhpcyBjZW50dXJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGFjZTJfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9wcm9wZXJ0eSksIChnc3RfZGVpbnRlcmxhY2UyX2dldF9wcm9wZXJ0eSk6CgkgIEJyaW5nIHByb3BlcnRpZXMgaW50byB0aGlzIGNlbnR1cnkuCgoyMDA4LTExLTA2IDEzOjAwOjU0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogU2V0IGZpbHRlcnMgaW4gUEFVU0VEIG9yIFBMQVlJTkcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIFNldCBmaWx0ZXJzIGluIFBBVVNFRCBvciBQTEFZSU5HLgoKMjAwOC0xMS0wNiAxMjoxNzowOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzogTWFrZSBwcml2YXRlIHNlY3Rpb24gcGFkcyBoYXZlIGEgY2FwcyBzZXQgc28gdGhleSBhcmUgbm90IHRyaWVkIHRvIGJlIGxpbmtlZCBpbiBwYXJzZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIE1ha2UgcHJpdmF0ZSBzZWN0aW9uIHBhZHMgaGF2ZSBhIGNhcHMgc2V0IHNvIHRoZXkgYXJlIG5vdCB0cmllZAoJICB0byBiZSBsaW5rZWQgaW4gcGFyc2VfbGF1bmNoIGZvciBleGFtcGxlLgoKMjAwOC0xMS0wNiAxMTozMTowMyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzogTm8gbmVlZCB0byByZWNsYWN1bGF0ZSBmbHVzaCBpbiB0aGlzIGNhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSm9zZXAgVG9ycmEKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIE5vIG5lZWQgdG8gcmVjbGFjdWxhdGUgZmx1c2ggaW4gdGhpcyBjYXNlLgoJICBGaXhlcyBzb21lIGJhZCBkZWNvZGUgZXJyb3JzIGludHJvZHVjZWQuCgoyMDA4LTExLTA2IDEwOjQyOjU5ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC4qOiBGaXggdHlwby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgRml4IHR5cG8uCgoyMDA4LTExLTA1IDIzOjMxOjQxICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogRml4IFJHQiBtYXNrIGluIGNhcHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgRml4IFJHQiBtYXNrIGluIGNhcHMKCjIwMDgtMTEtMDUgMjI6MjU6MjUgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiLzogQWRkIEhleHRpbGUgZW5jb2RpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgQWRkIEhleHRpbGUgZW5jb2RpbmcKCjIwMDgtMTEtMDUgMTg6NTI6MzggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6IEhldXJpc3RpYyBhcHByb2FjaCB3aGVuIHJlc3luY2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBKb3NlcCBUb3JyYQoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgSGV1cmlzdGljIGFwcHJvYWNoIHdoZW4gcmVzeW5jaW5nLgoKMjAwOC0xMS0wNSAxODoxMTo1NSArMDAwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8bWFyZHVrQGstZC13Lm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuYzogTGVuZ3RoIHNob3VsZCBiZSBhIGd1aW50OCBub3QgYSBnaW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFNlYmFzdGlhbiBQw7Zsc3RlcmwKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmM6CgkgIExlbmd0aCBzaG91bGQgYmUgYSBndWludDggbm90IGEgZ2ludC4KCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgQ29udmVydCB0ZXh0IHRvIHV0ZjggZm9yIGVhY2ggZGVzY3JpcHRvciBzZXBhcmF0ZWx5IGFuZCBub3QKCSAgY29uY2F0ZW5hdGUgdGhlbSBmaXJzdCBhbmQgY29udmVydCBhZnRlci4KCjIwMDgtMTEtMDQgMjA6MjY6MDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6IFNlbmQgdGFnIGV2ZW50LiBGaXhlcyAjNTU5Mjg2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBTZW5kIHRhZyBldmVudC4gRml4ZXMgIzU1OTI4Ni4KCjIwMDgtMTEtMDQgMTg6MDM6NTUgKzAwMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPG1hcmR1a0BrLWQtdy5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6IEZpeCBhbm90aGVyIG1lbWxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogU2ViYXN0aWFuIFDDtmxzdGVybAoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgRml4IGFub3RoZXIgbWVtbGVhay4KCjIwMDgtMTEtMDQgMTc6MjU6MDkgKzAwMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPG1hcmR1a0BrLWQtdy5vcmc+CgoJICBGaXggbWVtbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogU2ViYXN0aWFuIFDDtmxzdGVybAoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIEZpeCBtZW1sZWFrcy4KCjIwMDgtMTEtMDQgMTI6NDI6MzAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1iYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2FtcndiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXJ0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXJ0c2QvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYnoyL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZGF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZWx0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kYzEzOTQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGl2eC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZHRzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mYWFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mYWFkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nc20vTWFrZWZpbGUuYW06CgkgICogZXh0L2hlcm1lcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvanAyay9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sY3MvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYmZhbWUvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYm1tcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkgICogZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGxleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzZXBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOgoJICAqIGV4dC9teXRodHYvTWFrZWZpbGUuYW06CgkgICogZXh0L25hcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmVvbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvb2ZhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9wb2x5cC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2hvdXQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuYXBzaG90L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmRmaWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGMvTWFrZWZpbGUuYW06CgkgICogZXh0L3N3ZmRlYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFya2luL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aGVvcmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3RpbWlkaXR5L01ha2VmaWxlLmFtOgoJICAqIGV4dC90d29sYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC94MjY0L01ha2VmaWxlLmFtOgoJICAqIGV4dC94aW5lL01ha2VmaWxlLmFtOgoJICAqIGV4dC94dmlkL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L01ha2VmaWxlLmFtOgoJICAqIGdzdC9haWZmcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9idWZmZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jZHhhcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NoYXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9jb2xvcnNwYWNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kY2NwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zlc3RpdmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZsYWNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9nYW1lcy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaDI2NHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgICogZ3N0L21peG1hdHJpeC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzFzeXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnV2ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L292ZXJsYXkvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Bhc3N0aHJvdWdoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0anBlZy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZWxlY3Rvci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3RoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zbW9vdGh3YXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3RlcmVvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdWJlbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3R0YS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmJpZGVjL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Ryb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aXJ0dWFsZHViL01ha2VmaWxlLmFtOgoJICAqIGdzdC92bW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgICogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvY2Ryb20vTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R4cjMvTWFrZWZpbGUuYW06CgkgICogc3lzL2ZiZGV2L01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3M0L01ha2VmaWxlLmFtOgoJICAqIHN5cy9xY2FtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9xdHdyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL3ZjZC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2luaW5ldC9NYWtlZmlsZS5hbToKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIC1iYWQuCgoyMDA4LTExLTA0IDA4OjI0OjEwICswMDAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxtYXJkdWtAay1kLXcub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOiBGaXggbWVtbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBTZWJhc3RpYW4gUMO2bHN0ZXJsCgkgICogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBGaXggbWVtbGVhay4KCjIwMDgtMTEtMDMgMjI6MDA6MDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXhhbXBsZXMvc2NhbGV0ZW1wby8uY3ZzaWdub3JlOiBBZGQgZXhhbXBsZSB0byBjdnMgaWdub3Jlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvc2NhbGV0ZW1wby8uY3ZzaWdub3JlOgoJICBBZGQgZXhhbXBsZSB0byBjdnMgaWdub3Jlcy4KCjIwMDgtMTEtMDMgMjE6Mjc6MzEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6IEZpeCBtaXNtYXRjaGVkIHNpZ25lZG5lc3MgY29tcGlsZXIgd2FybmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkgIChvcGVuX2RlY29kZXIpOgoJICBGaXggbWlzbWF0Y2hlZCBzaWduZWRuZXNzIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA4LTExLTAzIDA4OjU1OjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6IEFkZCBUT0RPIGF0IHRoZSB0b3Agb2YgdGhlIGZpbGUgZm9yIGVuYWJsaW5nIFNTRS9BUk0gc3BlY2lmaWMgb3B0aW1pemF0aW9ucyBhbmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2NvbnZlcnRfYnVmZmVyKToKCSAgQWRkIFRPRE8gYXQgdGhlIHRvcCBvZiB0aGUgZmlsZSBmb3IgZW5hYmxpbmcgU1NFL0FSTSBzcGVjaWZpYwoJICBvcHRpbWl6YXRpb25zIGFuZCBjaG9vc2luZyB0aGUgZmFzdGVzdCBpbXBsZW1lbnRhdGlvbiBhdCBydW50aW1lLgoJICBBZGQgZ19hc3NlcnRfbm90X3JlYWNoZWQoKSBhdCB0d28gcGxhY2VzIHRoYXQgc2hvdWxkIHJlYWxseSBuZXZlcgoJICBiZSByZWFjaGVkLgoKMjAwOC0xMS0wMiAwOToxOToyNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiBGaXggZm9ybWF0IHN0cmluZyBhbmQgYXJndW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfY2hlY2tfZGlzY29udCk6CgkgIEZpeCBmb3JtYXQgc3RyaW5nIGFuZCBhcmd1bWVudHMuCgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvcmVzYW1wbGVfc3NlLmg6CgkgIEFkZCBtaXNzaW5nIGZpbGUuCgoyMDA4LTExLTAxIDIxOjM3OjA2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06IERpc3QgdGhlIHBsYXkgc2NyaXB0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJICBEaXN0IHRoZSBwbGF5IHNjcmlwdHMuCgoyMDA4LTExLTAxIDE5OjM4OjM2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS86IEFkZCBtaXNzaW5nIGhlYWRlcnMgdG8gTWFrZWZpbGUuYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9iYXNlX2luaXQpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2dldF9mdW5jcyksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfY29udmVydF9idWZmZXIpLCAoX2JlbmNobWFya19pbnRfZmxvYXQpLAoJICAoX2JlbmNobWFya19pbnRfaW50KSwgKF9iZW5jaG1hcmtfaW50ZWdlcl9yZXNhbXBsaW5nKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvcmVzYW1wbGUuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfZG91YmxlLmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX2Zsb2F0LmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX2ludC5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl93cmFwcGVyLmg6CgkgIEFkZCBtaXNzaW5nIGhlYWRlcnMgdG8gTWFrZWZpbGUuYW0uCgkgIFVwZGF0ZSBjb3B5cmlnaHQsIHllYXJzIGFuZCBteSBtYWlsIGFkZHJlc3MuCgkgIEJlbmNobWFyayB0aGUgaW50ZWdlciByZXNhbXBsaW5nIGltcGxlbWVudGF0aW9uIGFnYWluc3QgdGhlCgkgIGZsb2F0IGltcGxlbWVudGF0aW9uIGFuZCB1c2UgdGhlIGZhc3RlciBvbmUgZm9yIDgvMTYgYml0IGludGVnZXIKCSAgaW5wdXQuIE9uIG1vc3QgcmVjZW50IHN5c3RlbXMgdGhlIGZsb2F0aW5nIHBvaW50IHZlcnNpb24gaXMgZmFzdGVyLgoKMjAwOC0xMC0zMSAxODozOTozNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBVc2UgQUNfVFJZX0NPTVBJTEUgaW5zdGVhZCBvZiBBQ19UUllfUlVOIGFzIHRoZSByZXN1bHQgb2YgdGhlIGxpbmtpbmcgaXMgd2hhdCBpcyBpbnRlcmVzdGluZywgbm90IHRoYXQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXNlIEFDX1RSWV9DT01QSUxFIGluc3RlYWQgb2YgQUNfVFJZX1JVTiBhcyB0aGUgcmVzdWx0IG9mIHRoZSBsaW5raW5nCgkgIGlzIHdoYXQgaXMgaW50ZXJlc3RpbmcsIG5vdCB0aGF0IGl0IGFjdHVhbGx5IHJ1bnMuCgkgIEZpeGVzIGNyb3NzLWNvbXBpbGF0aW9uIGFuZCBmaXhlcyBidWcgIzU1ODYzOS4KCjIwMDgtMTAtMzAgMTk6NTQ6MzggKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOiBBZGQgQUxBQyBzdXBwb3J0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSAgQWRkIEFMQUMgc3VwcG9ydC4KCSAgRml4IGRlY29kZSBvZiBtb25vIEFBQyBmaWxlcyBjcmVhdGVkIGJ5IGl0dW5lcy4KCSAgU2V0IG91dHB1dCBmb3JtYXQgY29ycmVjdGx5IChkb24ndCBhc2sgcXVpY2t0aW1lIHRvCgkgIHJlc2FtcGxlIGZvciB1cykuCgkgIFVzZSBhIGxhcmdlciBkZWNvZGUgYnVmZmVyIHRvIGF2b2lkIHByb2JsZW1zIHdpdGggbGFyZ2UKCSAgQUxBQyBwYWNrZXRzLgoJICBGaXggZGVjb2RlIHRvIGxvb3AgdW50aWwgd2UgaGF2ZSBhbGwgb3V0cHV0IGRhdGEuCgkgICogc3lzL3F0d3JhcHBlci9xdHV0aWxzLmM6CgkgIEZpeCBpbmNsdWRlcyBzbyB3ZSBjb21waWxlIG9uIG1vcmUgT1Nlcy4KCjIwMDgtMTAtMzAgMTU6MzE6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFJlcXVpcmUgYXQgbGVhc3QgR3RrIDIuOC4wIGZvciB0aGUgZGVtb3MgKHRoYXQncyB0aGUgb2xkZXN0IEkgY2FuIHRlc3Qgd2l0aDsgSSdtIGZhaXJseSBjZXJ0YWluIEd0ayAyLjAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIGF0IGxlYXN0IEd0ayAyLjguMCBmb3IgdGhlIGRlbW9zICh0aGF0J3MgdGhlIG9sZGVzdCBJIGNhbgoJICB0ZXN0IHdpdGg7IEknbSBmYWlybHkgY2VydGFpbiBHdGsgMi4wLjAgaXMgbm90IGdvb2QgZW5vdWdoIGFueQoJICBsb25nZXIpOyBjbGVhbiB1cCBzb21lIHVudXNlZCBHdGstcmVsYXRlZCBjb25maWd1cmUgY3J1ZnQuCgkgICogZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5jOgoJICBEZWZpbmUgR3RrIDIuMTIgZnVuY3Rpb24gdG8gbm9vcCB3aGVuIGNvbXBpbGluZyBhZ2FpbnN0IG9sZGVyIEd0ay4KCjIwMDgtMTAtMzAgMTQ6NTU6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzogVGhlIGxlbmd0aCBmb3IgdGhlIGJ1ZmZlciBjb252ZXJzaW9uIGZ1bmN0aW9uIGlzIHRoZSBudW1iZXIgb2YgYXVkaW8gZnJhbWVzLCBpLi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfY29udmVydF9idWZmZXIpOgoJICBUaGUgbGVuZ3RoIGZvciB0aGUgYnVmZmVyIGNvbnZlcnNpb24gZnVuY3Rpb24gaXMgdGhlIG51bWJlciBvZgoJICBhdWRpbyBmcmFtZXMsIGkuZS4gd2UgbmVlZCB0byBtdWx0aXBseSBpdCBieSB0aGUgbnVtYmVyIG9mIGNoYW5uZWxzCgkgIHRvIGdldCB0aGUgbnVtYmVyIG9mIHZhbHVlcy4gQWxzbyBzcG90dGVkIGJ5IHRoZSB1bml0IHRlc3QgYWZ0ZXIKCSAgcnVubmluZyBpbiB2YWxncmluZC4KCjIwMDgtMTAtMzAgMTQ6NDY6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWV4cmVzYW1wbGUuYzogQWRkIHBpcGVsaW5lIHVuaXQgdGVzdHMgZm9yIHRlc3RpbmcgYWxsIHN1cHBvcnRlZCBmb3JtYXRzIHdpdGggdXAvZG93bnNhbXBsaW5nIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVleHJlc2FtcGxlLmM6IChlbGVtZW50X21lc3NhZ2VfY2IpLAoJICAoZW9zX21lc3NhZ2VfY2IpLCAodGVzdF9waXBlbGluZSksIChHU1RfU1RBUlRfVEVTVCksCgkgIChzcGVleHJlc2FtcGxlX3N1aXRlKToKCSAgQWRkIHBpcGVsaW5lIHVuaXQgdGVzdHMgZm9yIHRlc3RpbmcgYWxsIHN1cHBvcnRlZCBmb3JtYXRzIHdpdGgKCSAgdXAvZG93bnNhbXBsaW5nIGFuZCBkaWZmZXJlbnQgaW4vb3V0cmF0ZXMuCgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3B1c2hfZHJhaW4pLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3Byb2Nlc3MpOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl93cmFwcGVyLmg6CgkgIEZpeCBidWdzIGlkZW50aWZpZWQgYnkgdGhlIHRlc3RzdWl0ZS4KCjIwMDgtMTAtMzAgMTM6NDQ6NDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlLzogQWRkIHN1cHBvcnQgZm9yIGludDgsIGludDI0IGFuZCBpbnQzMiBpbnB1dCBieSBjb252ZXJ0aW5nIGludGVybmFsbHkgdG8vZnJvbSBpbnQxNiBvciBkb3VibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzogKGdzdF9zcGVleF9yZXNhbXBsZV9zdG9wKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9nZXRfZnVuY3MpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3RyYW5zZm9ybV9zaXplKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9jb252ZXJ0X2J1ZmZlciksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHVzaF9kcmFpbiksIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHJvY2Vzcyk6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl93cmFwcGVyLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBpbnQ4LCBpbnQyNCBhbmQgaW50MzIgaW5wdXQgYnkgY29udmVydGluZyBpbnRlcm5hbGx5CgkgIHRvL2Zyb20gaW50MTYgb3IgZG91YmxlLgoKMjAwOC0xMC0zMCAxMzozODoxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuKjogQmV0dGVyIGZpeCBmb3IgIzU0NjMxOSBhbmQgc2ltaWxhciBjYXNlcyBieSBleHBsaWNpdGx5IHJlZ2lzdGVyaW5nIHdoZW4gd2UncmUgaW4gcGxheWluZyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIEJldHRlciBmaXggZm9yICM1NDYzMTkgYW5kIHNpbWlsYXIgY2FzZXMgYnkgZXhwbGljaXRseQoJICByZWdpc3RlcmluZyB3aGVuIHdlJ3JlIGluIHBsYXlpbmcgc3RhdGUgb3Igbm90LgoKMjAwOC0xMC0zMCAxMzowMjoxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzogV2hpdGVzcGFjZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgV2hpdGVzcGFjZS4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBBZGQgYSBGSVhNRTouIG5vdCBzdXJlIGlmIHRoaXMgY29kZSBkb2VzIHRoZSBmb3J3YXJkaW5nIGNvcnJlY3RseS4KCjIwMDgtMTAtMzAgMTI6NDM6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBzdXBwb3J0IGZvciBkb3VibGUgc2FtcGxlcyBhcyBpbnB1dCBhbmQgcmVmYWN0b3IgdGhlIHVzYWdlIG9mIHRoZSBkaWZmZXJlbnQgY29tcGlsYXRpb24gZmxhdm9ycyBvZiB0aGUgc3BlZXggcmVzYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9hcmNoLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3N0b3ApLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2dldF91bml0X3NpemUpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2dldF9mdW5jcyksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfaW5pdF9zdGF0ZSksIChnc3Rfc3BlZXhfcmVzYW1wbGVfdXBkYXRlX3N0YXRlKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9yZXNldF9zdGF0ZSksIChnc3Rfc3BlZXhfcmVzYW1wbGVfcGFyc2VfY2FwcyksCgkgIChfZ2NkKSwgKGdzdF9zcGVleF9yZXNhbXBsZV90cmFuc2Zvcm1fc2l6ZSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfc2V0X2NhcHMpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3B1c2hfZHJhaW4pLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3Byb2Nlc3MpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3RyYW5zZm9ybSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcXVlcnkpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3Jlc2FtcGxlLmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX2RvdWJsZS5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl93cmFwcGVyLmg6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlZXhyZXNhbXBsZS5jOiAoc2V0dXBfc3BlZXhyZXNhbXBsZSksCgkgICh0ZXN0X3BlcmZlY3Rfc3RyZWFtX2luc3RhbmNlKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHRlc3RfZGlzY29udF9zdHJlYW1faW5zdGFuY2UpOgoJICBBZGQgc3VwcG9ydCBmb3IgZG91YmxlIHNhbXBsZXMgYXMgaW5wdXQgYW5kIHJlZmFjdG9yIHRoZSB1c2FnZQoJICBvZiB0aGUgZGlmZmVyZW50IGNvbXBpbGF0aW9uIGZsYXZvcnMgb2YgdGhlIHNwZWV4IHJlc2FtcGxlci4KCjIwMDgtMTAtMzAgMTI6MTM6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzogUmV0dXJuIHRoZSByZXN1bHQgb2YgcGFyZW50X2NsYXNzLT5ldmVudCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkgIFJldHVybiB0aGUgcmVzdWx0IG9mIHBhcmVudF9jbGFzcy0+ZXZlbnQoKS4KCjIwMDgtMTAtMzAgMTE6NTA6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXVkaW9idWZmZXIvOiBBZGQgZmlyc3QgdmVyc2lvbiBvZiBhbiBhdWRpb3JpbmdidWZmZXIgZWxlbWVudCB0aGF0IGNhbiBiZSBpbnNlcnRlZCBpbiB0aGUgcGlwZWxpbmUgdG8gY29udmVydCBwdXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2J1ZmZlci9nc3RhdWRpb3JpbmdidWZmZXIuYzoKCSAgKGdzdF9pbnRfcmluZ19idWZmZXJfYWNxdWlyZSksIChnc3RfaW50X3JpbmdfYnVmZmVyX3JlbGVhc2UpLAoJICAoZ3N0X2ludF9yaW5nX2J1ZmZlcl9zdGFydCksIChnc3RfaW50X3JpbmdfYnVmZmVyX2Jhc2VfaW5pdCksCgkgIChnc3RfaW50X3JpbmdfYnVmZmVyX2NsYXNzX2luaXQpLCAoZ3N0X2ludF9yaW5nX2J1ZmZlcl9pbml0KSwKCSAgKGdzdF9pbnRfcmluZ19idWZmZXJfbmV3KSwgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2dldF90eXBlKSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2NsYXNzX2luaXQpLCAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfaW5pdCksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9maW5hbGl6ZSksIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9nZXRjYXBzKSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX3NldGNhcHMpLCAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfYnVmZmVyYWxsb2MpLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfaGFuZGxlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfcmVuZGVyKSwgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfaGFuZGxlX3NyY19xdWVyeSksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9nZXRfcmFuZ2UpLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfc3JjX2NoZWNrZ2V0cmFuZ2VfZnVuY3Rpb24pLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfc2lua19hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX3NyY19hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX3NyY19hY3RpdmF0ZV9wdWxsKSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfZ2V0X3Byb3BlcnR5KSwgKHBsdWdpbl9pbml0KToKCSAgQWRkIGZpcnN0IHZlcnNpb24gb2YgYW4gYXVkaW9yaW5nYnVmZmVyIGVsZW1lbnQgdGhhdCBjYW4gYmUgaW5zZXJ0ZWQgaW4KCSAgdGhlIHBpcGVsaW5lIHRvIGNvbnZlcnQgcHVzaC1iYXNlZCB1cHN0cmVhbSBpbnRvIGEgcHVsbC1iYXNlZAoJICBkb3duc3RyZWFtLgoKMjAwOC0xMC0zMCAxMTo0MzoxMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBSZXR1cm4gdGhlIHJlc3VsdCBvZiBwYXJlbnRfY2xhc3MtPmV2ZW50KCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgUmV0dXJuIHRoZSByZXN1bHQgb2YgcGFyZW50X2NsYXNzLT5ldmVudCgpLgoKMjAwOC0xMC0zMCAwMDoxNzoxMiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuYzogQUlGRiBpcyBhbHdheXMgc2lnbmVkLCBldmVuIGZvciA4IGJpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuYzoKCSAgQUlGRiBpcyBhbHdheXMgc2lnbmVkLCBldmVuIGZvciA4IGJpdC4KCjIwMDgtMTAtMjkgMTc6MDI6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogRml4IHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogKGdzdF9hcHBfc2lua19jbGFzc19pbml0KToKCSAgRml4IHRoZSBkb2NzLgoKMjAwOC0xMC0yOSAxNjo1Mzo1NCArMDAwMCAgUm9iaW4gU3RvY2tlciA8cm9iaW5Abmlib3Iub3JnPgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IEEgUmVhbFZpZGVvIHZpZGVvIGluc2lkZSBhIGNvbnRhaW5lciAoZm9yIGV4YW1wbGUgTUtWKSBzaG91bGQgdXNlIHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJvYmluIFN0b2NrZXIgPHJvYmluIGF0IG5pYm9yIGRvdCBvcmc+CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChnc3RfcmVhbF92aWRlb19kZWNfc2V0Y2Fwcyk6CgkgIEEgUmVhbFZpZGVvIHZpZGVvIGluc2lkZSBhIGNvbnRhaW5lciAoZm9yIGV4YW1wbGUgTUtWKSBzaG91bGQgdXNlIHRoZQoJICBQQVIgd2hpY2ggaXMgc3BlY2lmaWVkIG9uIHRoZSBzaW5rcGFkIGNhcHMuIEZpeGVzICM1NTg0MTYuCgoyMDA4LTEwLTI5IDEyOjExOjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLio6IFJld3JpdGUgdGltZXN0YW1wIHRyYWNraW5nIHRvIG1ha2UgaXQgbW9yZSByb2J1c3QgYW5kIGd1YXJhbnRlZSBhIGNvbnRpbm91cyBzdHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3N0YXJ0KSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9nZXRfdW5pdF9zaXplKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9wdXNoX2RyYWluKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9ldmVudCksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfY2hlY2tfZGlzY29udCksIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHJvY2VzcyksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfdHJhbnNmb3JtKToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmg6CgkgIFJld3JpdGUgdGltZXN0YW1wIHRyYWNraW5nIHRvIG1ha2UgaXQgbW9yZSByb2J1c3QgYW5kIGd1YXJhbnRlZQoJICBhIGNvbnRpbm91cyBzdHJlYW0uCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlZXhyZXNhbXBsZS5jOiAoc2V0dXBfc3BlZXhyZXNhbXBsZSksCgkgIChjbGVhbnVwX3NwZWV4cmVzYW1wbGUpLCAoZmFpbF91bmxlc3NfcGVyZmVjdF9zdHJlYW0pLAoJICAodGVzdF9wZXJmZWN0X3N0cmVhbV9pbnN0YW5jZSksIChHU1RfU1RBUlRfVEVTVCksCgkgICh0ZXN0X2Rpc2NvbnRfc3RyZWFtX2luc3RhbmNlKSwgKGxpdmVfc3dpdGNoX2FsbG9jX29ubHlfNDgwMDApLAoJICAobGl2ZV9zd2l0Y2hfZ2V0X3NpbmtfY2FwcyksIChsaXZlX3N3aXRjaF9wdXNoKSwKCSAgKHNwZWV4cmVzYW1wbGVfc3VpdGUpOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3Igc3BlZXhyZXNhbXBsZSBiYXNlZCBvbiB0aGUgYXVkaW9yZXNhbXBsZSB1bml0IHRlc3RzLgoKMjAwOC0xMC0yOSAwMTowMDoyMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzogTWFrZSBzdXJlIHRvIHN0YXJ0IHRoZSBOQVYgcGFja2V0IHByb2Nlc3Npbmcgd2hlbiBjaGFuZ2luZyBzdGF0ZSB0byBQTEFZSU5HICBieSBwYXNzaW5nIGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIE1ha2Ugc3VyZSB0byBzdGFydCB0aGUgTkFWIHBhY2tldCBwcm9jZXNzaW5nIHdoZW4gY2hhbmdpbmcKCSAgc3RhdGUgdG8gUExBWUlORyAgYnkgcGFzc2luZyBhIGZsYWcgdGhhdCBpbmRpY2F0ZXMgdGhlIHN0YXRlCgkgIGNoYW5nZSBpcyBpbiBwcm9ncmVzcy4KCSAgRml4ZXM6ICM1NDYzMTkKCjIwMDgtMTAtMjggMjA6MDY6MjcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9yZXNpbmR2ZC9yZXNpbi1wbGF5OiBSZW1vdmUgJEAgdG8gZml4IHBhcnNlX2xhdW5jaCB3YXJuaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbi1wbGF5OgoJICBSZW1vdmUgJEAgdG8gZml4IHBhcnNlX2xhdW5jaCB3YXJuaW5nCgkgICogZXh0L3Jlc2luZHZkL3Jlc2luLXBsYXkyOgoJICBBZGQgYSB2ZXJzaW9uIHRoYXQgdXNlcyBkZWludGVybGFjZSBhbmQgeHZpbWFnZXNpbmsuCgoyMDA4LTEwLTI4IDE5OjMwOjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLio6IFNvbWUgcmFuZG9tIGNsZWFudXAsIGFkZCBHX0xJS0VMWSBhbmQgZnJpZW5kcywgdXNlIEdTVF9ERUJVR19PQkpFQ1QgaW5zdGVhZCBvZiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2dldF91bml0X3NpemUpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2ZpeGF0ZV9jYXBzKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9pbml0X3N0YXRlKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV91cGRhdGVfc3RhdGUpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3BhcnNlX2NhcHMpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3RyYW5zZm9ybV9zaXplKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9zZXRfY2FwcyksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHVzaF9kcmFpbiksIChnc3Rfc3BlZXhfcmVzYW1wbGVfZXZlbnQpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2NoZWNrX2Rpc2NvbnQpLCAoZ3N0X3NwZWV4X2ZpeF9vdXRwdXRfYnVmZmVyKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9wcm9jZXNzKSwgKGdzdF9zcGVleF9yZXNhbXBsZV90cmFuc2Zvcm0pLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3F1ZXJ5KSwgKGdzdF9zcGVleF9yZXNhbXBsZV9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuaDoKCSAgU29tZSByYW5kb20gY2xlYW51cCwgYWRkIEdfTElLRUxZIGFuZCBmcmllbmRzLCB1c2UgR1NUX0RFQlVHX09CSkVDVAoJICBpbnN0ZWFkIG9mIEdTVF9ERUJVRywgLi4uCgoyMDA4LTEwLTI4IDE4OjQ0OjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEltcGxlbWVudCBwb3NpdGlvbiBxdWVyeSBpbiB0aW1lIGZvcm1hdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9xdWVyeSk6CgkgIEltcGxlbWVudCBwb3NpdGlvbiBxdWVyeSBpbiB0aW1lIGZvcm1hdC4KCjIwMDgtMTAtMjggMTg6NDE6MTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvOiBQdXQgdGhlIEdzdFNlZ21lbnQgZGlyZWN0bHkgaW50byB0aGUgaW5zdGFuY2Ugc3RydWN0IGluc3RlYWQgb2YgYWxsb2NhdGluZyBhbmQgZnJlZSdpbmcgaXQgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksCgkgIChnc3RfZmx2X2RlbXV4X2xvb3ApLCAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCksIChnc3RfZmx2X2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKSwgKGdzdF9mbHZfZGVtdXhfaW5pdCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3RpbWVzdGFtcCk6CgkgIFB1dCB0aGUgR3N0U2VnbWVudCBkaXJlY3RseSBpbnRvIHRoZSBpbnN0YW5jZSBzdHJ1Y3QgaW5zdGVhZCBvZgoJICBhbGxvY2F0aW5nIGFuZCBmcmVlJ2luZyBpdCBhZ2Fpbi4KCSAgUHVzaCB0YWdzIGFscmVhZHkgaWYgb25seSBvbmUgcGFkIHdhcyBhZGRlZCwgbm8gbmVlZCB0byB3YWl0IGZvcgoJICB0aGUgc2Vjb25kIG9uZS4KCSAgV2hlbiBnZW5lcmF0aW5nIG91ciBpbmRleCBzZXQgaGFzX3ZpZGVvIGFuZCBoYXNfYXVkaW8gaWYgd2UgZmluZAoJICB2aWRlbyBvciBhdWRpbyBpbiBjYXNlIHRoZSBGTFYgaGVhZGVyIGhhcyBpbmNvcnJlY3QgZGF0YS4KCjIwMDgtMTAtMjggMTY6Mjg6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzogRml4YXRlIHRvIHRoZSBuZWFyZXN0IHN1cHBvcnRlZCByYXRlIGluc3RlYWQgb2YgdGhlIGZpcnN0IG9uZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2NsYXNzX2luaXQpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2ZpeGF0ZV9jYXBzKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9wcm9jZXNzKToKCSAgRml4YXRlIHRvIHRoZSBuZWFyZXN0IHN1cHBvcnRlZCByYXRlIGluc3RlYWQgb2YgdGhlIGZpcnN0IG9uZS4KCjIwMDgtMTAtMjggMTY6MjU6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogRml4YXRlIHRoZSByYXRlIHRvIHRoZSBuZWFyZXN0IHN1cHBvcnRlZCByYXRlIGluc3RlYWQgb2YgdGhlIGZpcnN0IG9uZS4gRml4ZXMgYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIChnc3RfYXVkaW9yZXNhbXBsZV9jbGFzc19pbml0KSwgKGF1ZGlvcmVzYW1wbGVfZml4YXRlX2NhcHMpOgoJICBGaXhhdGUgdGhlIHJhdGUgdG8gdGhlIG5lYXJlc3Qgc3VwcG9ydGVkIHJhdGUgaW5zdGVhZCBvZgoJICB0aGUgZmlyc3Qgb25lLiBGaXhlcyBidWcgIzU0OTUxMC4KCjIwMDgtMTAtMjggMTE6NDY6MjggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlLzogVXBkYXRlIFNwZWV4IHJlc2FtcGxlciB3aXRoIGxhdGVzdCB2ZXJzaW9uIGZyb20gU3BlZXggR0lULgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9SRUFETUU6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvYXJjaC5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2ZpeGVkX2FybTQuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9maXhlZF9hcm01ZS5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2ZpeGVkX2JmaW4uaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9maXhlZF9kZWJ1Zy5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2ZpeGVkX2dlbmVyaWMuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9yZXNhbXBsZS5jOiAoY29tcHV0ZV9mdW5jKSwgKG1haW4pLCAoc2luYyksCgkgIChjdWJpY19jb2VmKSwgKHJlc2FtcGxlcl9iYXNpY19kaXJlY3Rfc2luZ2xlKSwKCSAgKHJlc2FtcGxlcl9iYXNpY19kaXJlY3RfZG91YmxlKSwKCSAgKHJlc2FtcGxlcl9iYXNpY19pbnRlcnBvbGF0ZV9zaW5nbGUpLAoJICAocmVzYW1wbGVyX2Jhc2ljX2ludGVycG9sYXRlX2RvdWJsZSksICh1cGRhdGVfZmlsdGVyKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9pbml0X2ZyYWMpLCAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfbmF0aXZlKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9tYWdpYyksIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19mbG9hdCksCgkgIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19pbnQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfaW50ZXJsZWF2ZWRfZmxvYXQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfaW50ZXJsZWF2ZWRfaW50KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9zZXRfcmF0ZV9mcmFjKSwgKHNwZWV4X3Jlc2FtcGxlcl9za2lwX3plcm9zKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9yZXNldF9tZW0pOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlci5oOgoJICBVcGRhdGUgU3BlZXggcmVzYW1wbGVyIHdpdGggbGF0ZXN0IHZlcnNpb24gZnJvbSBTcGVleCBHSVQuCgoyMDA4LTEwLTI4IDAxOjUzOjQ5ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS4qOiBDYWxjdWxhdGUgd2lkdGggZnJvbSBkZXB0aCBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6CgkgICogZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuaDoKCSAgQ2FsY3VsYXRlIHdpZHRoIGZyb20gZGVwdGggY29ycmVjdGx5LgoJICBSZWFkIFNTTkQgaGVhZGVyIHByb3Blcmx5IChmaXhlcyAyNCBiaXQgQUlGRiByZWFkaW5nKS4KCjIwMDgtMTAtMjcgMTc6MDE6MjIgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiBBZGFwdCB0byBzbGlnaHRseSBtb2RpZmllZCB4MjY0IEFQSS4gIEZpeGVzICM1NTUyMzguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogKGdzdF94MjY0X2VuY19pbml0X2VuY29kZXIpOgoJICBBZGFwdCB0byBzbGlnaHRseSBtb2RpZmllZCB4MjY0IEFQSS4gIEZpeGVzICM1NTUyMzguCgoyMDA4LTEwLTI3IDE2OjMyOjQ5ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC9mYWFjL2dzdGZhYWMuYzogUHJldmVudCBlbmRsZXNzIGxvb3AgaWYgYnVmZmVyIGFsbG9jIGVycm9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19zaW5rX2V2ZW50KToKCSAgUHJldmVudCBlbmRsZXNzIGxvb3AgaWYgYnVmZmVyIGFsbG9jIGVycm9yLgoKMjAwOC0xMC0yNyAwOTo0NTowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi86IERvbid0IG1lbWNweSgpIGFsbCBkYXRhIHdlIHdhbnQgdG8gcHVzaCBkb3duc3RyZWFtLCBpbnN0ZWFkIGp1c3QgY3JlYXRlIHN1YmJ1ZmZlcnMgYW5kIHB1c2ggdGhlbSBkb3duc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NoYWluKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLCAoZ3N0X2Zsdl9kZW11eF9wdWxsX2hlYWRlciksCgkgIChnc3RfZmx2X2RlbXV4X2NyZWF0ZV9pbmRleCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3RpbWVzdGFtcCksIChnc3RfZmx2X3BhcnNlX3RhZ190eXBlKSwKCSAgKGdzdF9mbHZfcGFyc2VfaGVhZGVyKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6CgkgIERvbid0IG1lbWNweSgpIGFsbCBkYXRhIHdlIHdhbnQgdG8gcHVzaCBkb3duc3RyZWFtLCBpbnN0ZWFkIGp1c3QKCSAgY3JlYXRlIHN1YmJ1ZmZlcnMgYW5kIHB1c2ggdGhlbSBkb3duc3RyZWFtLgoJICBGaXggc29tZSBtaW5vciBtZW1vcnkgbGVha3MuCgoyMDA4LTEwLTI3IDA5OjQyOjU1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IFJlcXVpcmUgQ1ZTIG9mIGNvcmUgZm9yIHRoZSBsYXN0IGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIENWUyBvZiBjb3JlIGZvciB0aGUgbGFzdCBjaGFuZ2UuCgoyMDA4LTEwLTI3IDA5OjQxOjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L01ha2VmaWxlLmFtOiBGaXggKG5vbi1jcml0aWNhbCkgc3ludGF4IGVycm9yIGFuZCBhZGQgYWxsIHJlcXVpcmVkIENGTEFHUyBhbmQgTElCUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgRml4IChub24tY3JpdGljYWwpIHN5bnRheCBlcnJvciBhbmQgYWRkIGFsbCByZXF1aXJlZCBDRkxBR1MgYW5kIExJQlMuCgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoRkxWX0dFVF9TVFJJTkcpLAoJICAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ190aW1lc3RhbXApLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdHlwZSk6CgkgIFJld3JpdGUgdGhlIHNjcmlwdCB0YWcgcGFyc2luZyB0byBtYWtlIHN1cmUgd2UgZG9uJ3QgdHJ5IHRvIHJlYWQKCSAgbW9yZSBkYXRhIHRoYW4gd2UgaGF2ZS4gQWxzbyB1c2UgR1NUX1JFQURfVUlOVDI0X0JFIGRpcmVjdGx5IGFuZAoJICBmaXggc29tZSBtaW5vciBtZW1vcnkgbGVha3MuCgkgIFRoaXMgc2hvdWxkIG1ha2UgYWxsIGNyYXNoZXMgb24gZnV6emVkIEZMViBmaWxlcyBkaXNhcHBlYXIuCgoyMDA4LTEwLTI3IDA5OjM3OjIxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IFByb3Blcmx5IGNoZWNrIGV2ZXJ5d2hlcmUgdGhhdCB3ZSBoYXZlIGVub3VnaCBkYXRhIHRvIHBhcnNlIGFuZCBkb24ndCByZWFkIG91dHNpZGUgdGhlIGFsbG9jYXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoRkxWX0dFVF9TVFJJTkcpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdHlwZSksIChnc3RfZmx2X3BhcnNlX2hlYWRlcik6CgkgIFByb3Blcmx5IGNoZWNrIGV2ZXJ5d2hlcmUgdGhhdCB3ZSBoYXZlIGVub3VnaCBkYXRhIHRvIHBhcnNlIGFuZAoJICBkb24ndCByZWFkIG91dHNpZGUgdGhlIGFsbG9jYXRlZCBtZW1vcnkgcmVnaW9uLgoKMjAwOC0xMC0yNyAwOTozNTozNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBJZiB0aGUgY2FwcyBjaGFuZ2UgZHVyaW5nIHBsYXliYWNrIGFuZCBuZWdvdGlhdGlvbiBmYWlscyBlcnJvciBvdXQgaW5zdGVhZCBvZiB0cnlpbmcgdG8gY29udGludWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgSWYgdGhlIGNhcHMgY2hhbmdlIGR1cmluZyBwbGF5YmFjayBhbmQgbmVnb3RpYXRpb24gZmFpbHMgZXJyb3Igb3V0CgkgIGluc3RlYWQgb2YgdHJ5aW5nIHRvIGNvbnRpbnVlLgoKMjAwOC0xMC0yNyAwOTozMzo0MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi86IEFkZCBzdXBwb3J0IGZvciBTcGVleCBhdWRpbyBhbmQgYWxsb3cgYnVmZmVycyB3aXRob3V0IHZhbGlkIHRpbWVzdGFtcCBpbiB0aGUgbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6IChnc3RfZmx2X211eF9hdWRpb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfZmx2X211eF9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X2Zsdl9tdXhfd3JpdGVfYnVmZmVyKSwKCSAgKGdzdF9mbHZfbXV4X2NvbGxlY3RlZCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX2F1ZGlvX25lZ290aWF0ZSk6CgkgIEFkZCBzdXBwb3J0IGZvciBTcGVleCBhdWRpbyBhbmQgYWxsb3cgYnVmZmVycyB3aXRob3V0IHZhbGlkCgkgIHRpbWVzdGFtcCBpbiB0aGUgbXV4ZXIuCgoyMDA4LTEwLTI3IDA5OjMyOjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IERvbid0IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGlmIHNlbmRpbmcgRU9TIGRvd25zdHJlYW0gZGlkbid0IHdvcmsuIEZpeGVzIGJ1ZyAjNTUwNDU0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2xvb3ApLAoJICAoZ3N0X2Zsdl9kZW11eF9maW5kX29mZnNldCksIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKToKCSAgRG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgaWYgc2VuZGluZyBFT1MgZG93bnN0cmVhbQoJICBkaWRuJ3Qgd29yay4gRml4ZXMgYnVnICM1NTA0NTQuCgkgIEZpeCBzZWVrIGV2ZW50IGhhbmRsaW5nIHRvIGxvb2sgYXQgdGhlIGZsYWdzIG9mIHRoZSBzZWVrIGV2ZW50CgkgIGluc3RlYWQgb2YgYXNzdW1pbmcgc29tZSByYW5kb20gZmxhZ3MsIGRvbid0IHNlbmQgc2VnbWVudC1zdGFydAoJICBtZXNzYWdlcyB3aGVuIG9wZXJhdGluZyBpbiBwdXNoIG1vZGUgYW5kIHB1c2ggc2VlayBldmVudHMgdXBzdHJlYW0KCSAgaWYgd2UgY291bGRuJ3QgaGFuZGxlIHRoZW0uCgoyMDA4LTEwLTI3IDA5OjI3OjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEVycm9yIG91dCBlYXJseSBpZiBwdWxsaW5nIGEgdGFnIGZhaWxlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyk6CgkgIEVycm9yIG91dCBlYXJseSBpZiBwdWxsaW5nIGEgdGFnIGZhaWxlZC4KCjIwMDgtMTAtMjcgMDk6MjU6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvOiBJbiBwdWxsIG1vZGUgd2UgY3JlYXRlIG91ciBvd24gaW5kZXggYmVmb3JlIGRvaW5nIGFueXRoaW5nIGVsc2UgYW5kIGRvbid0IHVzZSB0aGUgaW5kZXggcHJvdmlkZWQgYnkgc29tZSBmaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NyZWF0ZV9pbmRleCksCgkgIChnc3RfZmx2X2RlbXV4X2xvb3ApOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ190aW1lc3RhbXApOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuaDoKCSAgSW4gcHVsbCBtb2RlIHdlIGNyZWF0ZSBvdXIgb3duIGluZGV4IGJlZm9yZSBkb2luZyBhbnl0aGluZyBlbHNlCgkgIGFuZCBkb24ndCB1c2UgdGhlIGluZGV4IHByb3ZpZGVkIGJ5IHNvbWUgZmlsZXMgKHdoaWNoIGFyZSBtb3JlIHRoYW4KCSAgb2Z0ZW4gaW5jb3JyZWN0IGFuZCBjYXVzZSBmYWlsZWQgc2Vla3MpLgoJICBGb3IgcHVzaCBtb2RlIHdlIHN0aWxsIHVzZSB0aGUgaW5kZXggcHJvdmlkZWQgYnkgdGhlIGZpbGUgYW5kIGV4dGVuZCBpdAoJICB3aGlsZSBkb2luZyB0aGUgcGxheWJhY2suCgoyMDA4LTEwLTI3IDA5OjIwOjAxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEluc3RlYWQgb2YgdXNpbmcgZ3N0X3BhZF9ldmVudF9kZWZhdWx0KCkgdXNlIGEgc21hbGwgZ3N0X3BhZF9wdXNoX2V2ZW50KCkgd3JhcHBlciB0aGF0IG9ubHkgZG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9wdXNoX3NyY19ldmVudCksCgkgIChnc3RfZmx2X2RlbXV4X2xvb3ApLCAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2lua19ldmVudCk6CgkgIEluc3RlYWQgb2YgdXNpbmcgZ3N0X3BhZF9ldmVudF9kZWZhdWx0KCkgdXNlIGEgc21hbGwKCSAgZ3N0X3BhZF9wdXNoX2V2ZW50KCkgd3JhcHBlciB0aGF0IG9ubHkgZG9lcyB3aGF0IHdlIHdhbnQgYW5kIGlzIG11Y2gKCSAgbW9yZSBzaW1wbGUuCgoyMDA4LTEwLTI3IDA5OjE0OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4Lio6IElmIG91ciBpbmRleCB3YXMgY3JlYXRlZCBieSB0aGUgZWxlbWVudCBhbmQgbm90IHByb3ZpZGVkIGZyb20gdGhlIG91dHNpZGUgd2Ugc2hvdWxkIGRlc3Ryb3kgaXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2Zsdl9kZW11eF9zZXRfaW5kZXgpLCAoZ3N0X2Zsdl9kZW11eF9pbml0KToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgIElmIG91ciBpbmRleCB3YXMgY3JlYXRlZCBieSB0aGUgZWxlbWVudCBhbmQgbm90IHByb3ZpZGVkIGZyb20gdGhlCgkgIG91dHNpZGUgd2Ugc2hvdWxkIGRlc3Ryb3kgaXQgd2hlbiBzdGFydGluZyBhIG5ldyBzdHJlYW0gdG8gZ2V0CgkgIGFsbCBvbGQgZW50cmllcyByZW1vdmVkLgoKMjAwOC0xMC0yNyAwOToxMjozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdCB3aGVuIHB1bGxpbmcgYSBidWZmZXIgZnJvbSB1cHN0cmVhbSBmYWlscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9wdWxsX3JhbmdlKToKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQgd2hlbiBwdWxsaW5nIGEgYnVmZmVyIGZyb20gdXBzdHJlYW0gZmFpbHMuCgoyMDA4LTEwLTI3IDA5OjEwOjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2LzogQ2xvc2UgdGhlIGN1cnJlbnRseSBwbGF5aW5nIHNlZ21lbnQgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZCBpbnN0ZWFkIG9mIHRoZSB0aHJlYWQgd2hlcmUgdGhlIHNlZWsgZXZlbnQgaXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCksIChnc3RfZmx2X2RlbXV4X2Rpc3Bvc2UpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6CgkgIENsb3NlIHRoZSBjdXJyZW50bHkgcGxheWluZyBzZWdtZW50IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQKCSAgaW5zdGVhZCBvZiB0aGUgdGhyZWFkIHdoZXJlIHRoZSBzZWVrIGV2ZW50IGlzIGhhbmRsZWQuCgoyMDA4LTEwLTI3IDA4OjU3OjI3ICswMDAwICBEYXZpZCBIw6RyZGVtYW4gPGRhdmlkQGhhcmRlbWFuLm51PgoKCSAgZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6IEFkZCBzdXBwb3J0IGZvciB0aGUgZnJlcXVlbmN5IGxpc3QgZGVzY3JpcHRvciwgd2hpY2ggcHJvdmlkZXMgYWRkaXRpb25hbCBmcmVxdWVuY2llLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRGF2aWQgSMOkcmRlbWFuIDxkYXZpZCBhdCBoYXJkZW1hbiBkb3QgbnU+CgkgICogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6IChtcGVndHNfcGFja2V0aXplcl9wYXJzZV9uaXQpOgoJICBBZGQgc3VwcG9ydCBmb3IgdGhlIGZyZXF1ZW5jeSBsaXN0IGRlc2NyaXB0b3IsIHdoaWNoIHByb3ZpZGVzCgkgIGFkZGl0aW9uYWwgZnJlcXVlbmNpZXMgdGhhdCBzaG91bGQgYmUgc2Nhbm5lZCBieSBhIERWQiBhcHBsaWNhdGlvbi4KCSAgRml4ZXMgYnVnICM1NTc4MTQuCgoyMDA4LTEwLTI3IDA4OjUyOjUwICswMDAwICB2YW5pc3RhIDx2YW5pc3RhQGdtYWlsLmNvbT4KCgkgIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6IEZpeCBFT1MgbG9naWMgYnkgY29ycmVjdGx5IHBvcHBpbmcgdGhlIGNvbGxlY3QgcGFkIGJ1ZmZlcnMgb25seSB3aGVuIHdlJ3ZlIGNob3NlbiB0byB1c2UgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IHZhbmlzdGEgPHZhbmlzdGEgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOiAobXBlZ3RzbXV4X2Nob29zZV9iZXN0X3N0cmVhbSk6CgkgIEZpeCBFT1MgbG9naWMgYnkgY29ycmVjdGx5IHBvcHBpbmcgdGhlIGNvbGxlY3QgcGFkIGJ1ZmZlcnMgb25seQoJICB3aGVuIHdlJ3ZlIGNob3NlbiB0byB1c2UgdGhlbSBpbnN0ZWFkIG9mIHBvcHBpbmcgdGhlbSBhbHdheXMgYW5kCgkgIHN0b3JpbmcgdGhlbSBpbiBhIHByaXZhdGUgcXVldWUuCgkgIEJlZm9yZSB0aGUgcGlwZWxpbmUgd291bGQgZGVhZGxvY2sgaWYgYWxsIHBhZHMgZ28gRU9TIGF0IHRoZSBzYW1lCgkgIHRpbWUuIEZpeGVzIGJ1ZyAjNTU3NzYzLgoKMjAwOC0xMC0yNiAyMDowNzo1MSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC45LjEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuOS4xCgo9PT0gcmVsZWFzZSAwLjEwLjkgPT09CgoyMDA4LTEwLTI0IDIyOjQ1OjExICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC45CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNlIDAuMTAuOQoKMjAwOC0xMC0yNCAyMTo0MzoxNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDgtMTAtMjQgMTY6NDE6MzMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBDb21taXQgMC4xMC44LjQgcHJlLXJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDb21taXQgMC4xMC44LjQgcHJlLXJlbGVhc2UKCjIwMDgtMTAtMjAgMTQ6MTk6MTcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiBGaXggcmV2ZXJzZSBwbGF5YmFjayByZWdyZXNzaW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiAoZ3N0X2ZsdXBzX2RlbXV4X3NlbmRfZGF0YSk6CgkgIEZpeCByZXZlcnNlIHBsYXliYWNrIHJlZ3Jlc3Npb24uCgkgIEZpeGVzICM1NTcwODAKCjIwMDgtMTAtMTkgMTI6Mzk6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvYXBleHNpbmsvZ3N0YXBleHBsdWdpbi5jOiBTZXQgYXBleHNpbmsncyByYW5rIHRvIE5PTkUgc28gaXQgZG9lc24ndCBnZXQgdXNlZCBieSBhdXRvYXVkaW9zaW5rICh0aGVyZSdzIG5vIHBvaW50IHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FwZXhzaW5rL2dzdGFwZXhwbHVnaW4uYzogKHBsdWdpbl9pbml0KToKCSAgU2V0IGFwZXhzaW5rJ3MgcmFuayB0byBOT05FIHNvIGl0IGRvZXNuJ3QgZ2V0IHVzZWQgYnkKCSAgYXV0b2F1ZGlvc2luayAodGhlcmUncyBubyBwb2ludCByZWFsbHkpLiAoIzU1NjU4OCkKCjIwMDgtMTAtMTYgMTc6MTI6MDQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiAwLjEwLjguMyBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuOC4zIHByZS1yZWxlYXNlCgoyMDA4LTEwLTE2IDE2OjM3OjMzICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC4qOiBQcm9wZXJseSBoYW5kbGUgc29tZSByZXN5bmMgY2FzZXMgaW4gdGhlIG9wdGltaXNlZCBidWZmZXJpbmcgc3RyYXRlZ3kuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9zZXAgVG9ycmEKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBQcm9wZXJseSBoYW5kbGUgc29tZSByZXN5bmMgY2FzZXMgaW4gdGhlIG9wdGltaXNlZAoJICBidWZmZXJpbmcgc3RyYXRlZ3kuCgoyMDA4LTEwLTE2IDE2OjE4OjMxICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOiBSZW1vdmUgaW5jb3JyZWN0IHVzZSBvZiBESVJFQ1RTT1VORF9MREZMQUdTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTEwLTE2ICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCSAgKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgaW5jb3JyZWN0IHVzZSBvZiBESVJFQ1RTT1VORF9MREZMQUdTCgoyMDA4LTEwLTE2IDE1OjIxOjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdm11eC5jOiBEb24ndCBzZXQgdmlkZW9fY29kZWMgdG8gdGhlIHZhbHVlIHRoYXQgYWN0dWFsbHkgc2hvdWxkIGdvIGludG8gYXVkaW8gY29kZWMsIG90aGVyd2lzZSB3ZSBjcmVhdGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZtdXguYzogKGdzdF9mbHZfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9mbHZfbXV4X3dyaXRlX2J1ZmZlcik6CgkgIERvbid0IHNldCB2aWRlb19jb2RlYyB0byB0aGUgdmFsdWUgdGhhdCBhY3R1YWxseSBzaG91bGQgZ28KCSAgaW50byBhdWRpbyBjb2RlYywgb3RoZXJ3aXNlIHdlIGNyZWF0ZSBpbnZhbGlkIGZpbGVzLgoJICBGaXhlcyBidWcgIzU1NjU2NC4KCjIwMDgtMTAtMTYgMTU6MDY6NTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIGJhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZHBhcmFub2lhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9naW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2dub21ldmZzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJ2aXN1YWwvTWFrZWZpbGUuYW06CgkgICogZXh0L29nZy9NYWtlZmlsZS5hbToKCSAgKiBleHQvcGFuZ28vTWFrZWZpbGUuYW06CgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdm9yYmlzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hZGRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb3JhdGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvdGVzdHNyYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmZtcGVnY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ2RwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wbGF5YmFjay9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3VicGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3RjcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdHlwZWZpbmQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvcmF0ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9zY2FsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW90ZXN0c3JjL01ha2VmaWxlLmFtOgoJICAqIGdzdC92b2x1bWUvTWFrZWZpbGUuYW06CgkgICogc3lzL3Y0bC9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlL01ha2VmaWxlLmFtOgoJICAqIHN5cy94dmltYWdlL01ha2VmaWxlLmFtOgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciBiYXNlLgoKMjAwOC0xMC0xNiAxNDo1NDozNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogTGVhdmUgYXBleHNpbmsgb3V0IG9mIHRoZSBzdGF0ZXMgdGVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIExlYXZlIGFwZXhzaW5rIG91dCBvZiB0aGUgc3RhdGVzIHRlc3QuCgoyMDA4LTEwLTE2IDEzOjA1OjM3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEZpeCBwcm9ibGVtIHdpdGggdXNpbmcgdGhlIG91dHB1dCBzZXFudW0gY291bnRlciB0byBjaGVjayBmb3IgaW5wdXQgc2VxbnVtIGRpc2NvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdGFydCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBGaXggcHJvYmxlbSB3aXRoIHVzaW5nIHRoZSBvdXRwdXQgc2VxbnVtIGNvdW50ZXIgdG8gY2hlY2sgZm9yIGlucHV0CgkgIHNlcW51bSBkaXNjb250aW51aXRpZXMuCgkgIEltcHJvdmUgZ2FwIGRldGVjdGlvbiBhbmQgcmVjb3ZlcnksIHJlc2V0IGFuZCBmbHVzaCB0aGUgaml0dGVyYnVmZmVyIG9uCgkgIHNlcW51bSByZXN0YXJ0LiBGaXhlcyAjNTU2NTIwLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KToKCSAgRml4IHdyb25nIEdfTElLRUxZLgoKMjAwOC0xMC0xNiAxMTo1NToxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IENvbW1pdCAwLjEwLjguMiBwcmUtcmVsZWFzZSBidW1wLCB0aGF0IGFjdHVhbGx5IHdlbnQgb3V0IGluIGEgdGFyYmFsbCBvbiAyMDA4LTEwLTExCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ29tbWl0IDAuMTAuOC4yIHByZS1yZWxlYXNlIGJ1bXAsIHRoYXQgYWN0dWFsbHkgd2VudCBvdXQgaW4gYQoJICB0YXJiYWxsIG9uIDIwMDgtMTAtMTEKCjIwMDgtMTAtMTYgMDk6NTE6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IEluc3RhbGwgZXZlbnQgaGFuZGxlciBvbiB0aGUgcnRjcF9zcmMgcGFkLCBtYWtlIExBVEVOQ1kgZXZlbnQgcmV0dXJuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0Y3Bfc3JjKSwgKGNyZWF0ZV9zZW5kX3J0Y3Bfc3JjKToKCSAgSW5zdGFsbCBldmVudCBoYW5kbGVyIG9uIHRoZSBydGNwX3NyYyBwYWQsIG1ha2UgTEFURU5DWSBldmVudCByZXR1cm4KCSAgVFJVRS4KCjIwMDgtMTAtMTYgMDk6MTg6MzEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiBNYWtlIHN1cmUgdGhlIG1wZWdwc2RlbXV4IGVsZW1lbnQgY3JlYXRlcyB2YWxpZCBuZXdzZWdtZW50IGV2ZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogKGdzdF9mbHVwc19kZW11eF9zZW5kX2RhdGEpOgoJICBNYWtlIHN1cmUgdGhlIG1wZWdwc2RlbXV4IGVsZW1lbnQgY3JlYXRlcyB2YWxpZCBuZXdzZWdtZW50IGV2ZW50cy4KCSAgRml4ZXMgIzU1NjQyOAoKMjAwOC0xMC0xNiAwODoxNzo1OSArMDAwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8bWFyZHVrQGstZC13Lm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOiBGaXhlcyBzZWdmYXVsdCBpbiBnZXRfZW5jb2RpbmdfYW5kX2NvbnZlcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogU2ViYXN0aWFuIFDDtmxzdGVybAoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBGaXhlcyBzZWdmYXVsdCBpbiBnZXRfZW5jb2RpbmdfYW5kX2NvbnZlcnQuCgkgIEZpeGVzICM1NTY0ODIKCjIwMDgtMTAtMTYgMDg6MTM6NDkgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6IEZpeGVzIGEgc2VnZmF1bHQgaW4gdGhlIGFkYXB0YXRpb24gYnVmZmVyIHNpemUgc3RyYXRlZ3kuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSm9zZXAgVG9ycmEKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIEZpeGVzIGEgc2VnZmF1bHQgaW4gdGhlIGFkYXB0YXRpb24gYnVmZmVyIHNpemUgc3RyYXRlZ3kuCgkgIEZpeGVzICM1NTY0NDAKCjIwMDgtMTAtMTUgMTc6NDU6MzcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiBHcmFjZWZ1bGx5IGhhbmRsZSB0aGUgY2FzZXMgd2hlbiB3ZSBkb250JyBoYXZlIG90aGVycGFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiAoZ3N0X2lucHV0X3NlbGVjdG9yX2V2ZW50KSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9xdWVyeSk6CgkgIEdyYWNlZnVsbHkgaGFuZGxlIHRoZSBjYXNlcyB3aGVuIHdlIGRvbnQnIGhhdmUgb3RoZXJwYWQuCgkgIEZpeGVzICM1NTY0MzAKCjIwMDgtMTAtMTQgMTU6MTM6MDUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOiBGaXggZGVidWdnaW5nIGNhdGVnb3J5IGluaXRpYWxpemF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOiAocGx1Z2luX2luaXQpOgoJICBGaXggZGVidWdnaW5nIGNhdGVnb3J5IGluaXRpYWxpemF0aW9uLgoJICBGaXhlcyAjNTU2Mjc0CgoyMDA4LTEwLTE0IDE0OjUzOjQxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOiBGaXggc29tZSBtb3JlIGZvcm1hdCBzdHJpbmcgY29tcGlsZXIgd2FybmluZ3MgKGZyb20gT1MvWCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkgIEZpeCBzb21lIG1vcmUgZm9ybWF0IHN0cmluZyBjb21waWxlciB3YXJuaW5ncyAoZnJvbSBPUy9YKQoKMjAwOC0xMC0xMyAxMjoyNzowNiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZvciBsYXRlc3QgcGx1Z2lucyBjaGFuZ2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmb3IgbGF0ZXN0IHBsdWdpbnMgY2hhbmdlcwoKMjAwOC0xMC0xMyAwNzozNToyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2FwZXhzaW5rL2dzdGFwZXhyYW9wLmM6IEZpeCBmb3JtYXQgc3RyaW5nIGNvbXBpbGVyIHdhcm5pbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYXBleHNpbmsvZ3N0YXBleHJhb3AuYzogKGdzdF9hcGV4cmFvcF9jb25uZWN0KSwKCSAgKGdzdF9hcGV4cmFvcF9zZXRfdm9sdW1lKToKCSAgRml4IGZvcm1hdCBzdHJpbmcgY29tcGlsZXIgd2FybmluZ3MuCgoyMDA4LTEwLTEyIDIxOjUyOjI3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy9vc3M0LzogQWRkIHNvbWUgc3BhY2VzIGluIHRyYW5zbGF0ZWFibGUgc3RyaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5jOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkgIEFkZCBzb21lIHNwYWNlcyBpbiB0cmFuc2xhdGVhYmxlIHN0cmluZ3MuCgkgIEZpeGVzOiAjNTU1OTY5ICM1NTU5NjggIzU1NTk2NQoKMjAwOC0xMC0xMiAxNzowODoxMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBGaXggcmVncmVzc2lvbiBvZiBoYW5kbGluZyBmbG93IHJldHVybnMgaW4gcHVsbCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF9oZWFkZXIpOgoJICBGaXggcmVncmVzc2lvbiBvZiBoYW5kbGluZyBmbG93IHJldHVybnMgaW4gcHVsbCBtb2RlLgoJICBGaXhlcyBidWcgIzU1NjAwMy4KCjIwMDgtMTAtMTIgMTc6MDQ6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9NYWtlZmlsZS5hbTogQWRkIGFwZXhzaW5rIHRvIFNVQkRJUlMuIEZpeGVzIGJ1ZyAjNTU1OTEyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIEFkZCBhcGV4c2luayB0byBTVUJESVJTLiBGaXhlcyBidWcgIzU1NTkxMi4KCjIwMDgtMTAtMTEgMTE6MDI6MTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svcGlwZWxpbmVzL21ldGFkYXRhLmM6IE1ha2UgdGhlIG1ldGFkYXRhIHRlc3Qgbm90IGZhaWwgd2hlbiBqcGVnZW5jIGlzbid0IGF2YWlsYWJsZS4uLi4gYXMgaXQgaXNuJ3QgaGVyZSwgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9tZXRhZGF0YS5jOgoJICBNYWtlIHRoZSBtZXRhZGF0YSB0ZXN0IG5vdCBmYWlsIHdoZW4ganBlZ2VuYyBpc24ndCBhdmFpbGFibGUuLi4uCgkgIGFzIGl0IGlzbid0IGhlcmUsIGJlY2F1c2UgaXQncyBub3QgaW4gdGhpcyBtb2R1bGUsIGFuZAoJICB0aGVyZWZvcmUgbm90IGluIHRoZSBwbHVnaW4gcGF0aCB3aGVuIHRoZSBjaGVjayBydW5zLgoKMjAwOC0xMC0xMCAxNjozMzozNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBVc2UgZ3N0X3BhZF9hbGxvY19idWZmZXJfYW5kX3NldF9jYXBzKCkgdG8gbWFrZSBzdXJlIHdlIGdldCBhIGJ1ZmZlciB3aXRoIGNhcHMgdGhhdCB3ZSBjYW4gd29yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgVXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyX2FuZF9zZXRfY2FwcygpIHRvIG1ha2Ugc3VyZSB3ZSBnZXQKCSAgYSBidWZmZXIgd2l0aCBjYXBzIHRoYXQgd2UgY2FuIHdvcmsgd2l0aCAoaS5lLiB0aGUgcGFkJ3MgY2FwcykuCgkgIEFkZCBub24ta2V5ZnJhbWUgdmlkZW8gZnJhbWVzIHRvIHRoZSBpbmRleCB0b28gYnV0IHdpdGhvdXQgdGhlCgkgIGtleWZyYW1lIGZsYWcuCgkgIEFkZCBhdWRpbyBmcmFtZXMgdG8gdGhlIGluZGV4IG9ubHkgaWYgd2UgaGF2ZSBubyB2aWRlbyBzdHJlYW0uCgoyMDA4LTEwLTEwIDE2OjE1OjA5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IENyZWF0ZSBwYWRzIGZyb20gdGhlIHBhZCB0ZW1wbGF0ZXMsIHVzZSBmaXhlZCBjYXBzIG9uIHRoZW0gYW5kIG9ubHkgYWN0aXZhdGUgdGhlbSBhZnRlciB0aGUgY2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBDcmVhdGUgcGFkcyBmcm9tIHRoZSBwYWQgdGVtcGxhdGVzLCB1c2UgZml4ZWQgY2FwcyBvbiB0aGVtCgkgIGFuZCBvbmx5IGFjdGl2YXRlIHRoZW0gYWZ0ZXIgdGhlIGNhcHMgYXJlIHNldC4KCjIwMDgtMTAtMTAgMTU6NTE6NDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogRGlzYWJsZSBmbGFjcGFyc2UgZm9yIHRoaXMgcmVsZWFzZSBhcyBpdCdzIHRvbyBidWdneS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEaXNhYmxlIGZsYWNwYXJzZSBmb3IgdGhpcyByZWxlYXNlIGFzIGl0J3MgdG9vIGJ1Z2d5LgoKMjAwOC0xMC0xMCAxMToxNzowOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZyBvbiBPUy9YIGFib3V0IHBhcmFtZXRlcnMgbm90IG1hdGNoaW5nIHRoZSBkZWJ1ZyBmb3JtYXQgc3RyaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0xMC0xMCAgSmFuIFNjaG1pZHQgIDxqYW4uc2NobWlkdEBzdW4uY29tPgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmMgKGdzdF9iYXNlX3BhcnNlX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9iYXNlX3BhcnNlX3VwZGF0ZV91cHN0cmVhbV9kdXJhdGlvbnMpOgoJICBGaXggY29tcGlsZXIgd2FybmluZyBvbiBPUy9YIGFib3V0IHBhcmFtZXRlcnMgbm90IG1hdGNoaW5nCgkgIHRoZSBkZWJ1ZyBmb3JtYXQgc3RyaW5nLgoKMjAwOC0xMC0xMCAxMTowMTozNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIEZpeCBjb21waWxlciB3YXJuaW5nIG9uIE9TL1ggYWJvdXQgcGFyYW1ldGVycyBub3QgbWF0Y2hpbmcgdGhlIGRlYnVnIGZvcm1hdCBzdHJpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmMgKGdzdF9iYXNlX3BhcnNlX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9iYXNlX3BhcnNlX3VwZGF0ZV91cHN0cmVhbV9kdXJhdGlvbnMpOgoJICBGaXggY29tcGlsZXIgd2FybmluZyBvbiBPUy9YIGFib3V0IHBhcmFtZXRlcnMgbm90IG1hdGNoaW5nCgkgIHRoZSBkZWJ1ZyBmb3JtYXQgc3RyaW5nLgoKMjAwOC0xMC0wOSAxOTozODo1MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOiBGaXggdW51c2VkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBub3QgYnVpbGRpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX2NsYXNzX2luaXQpOgoJICBGaXggdW51c2VkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBub3QgYnVpbGRpbmcKCSAgWDg2IGFzc2VtYmx5LgoKMjAwOC0xMC0wOSAxNjo1MTozNSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGZpeCB2YXJpb3VzIGJ1aWxkIGZpbGVzIHRvIGFsbG93IGZvciBkaXN0aW5nIGFuZCB1cGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggdmFyaW91cyBidWlsZCBmaWxlcyB0byBhbGxvdyBmb3IgZGlzdGluZyBhbmQgdXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzLgoKMjAwOC0xMC0wOSAxNjoyMDoyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi86IEdldCBhbiBhcHByb3hpbWF0ZSBkdXJhdGlvbiBvZiB0aGUgZmlsZSBieSBsb29raW5nIGF0IHRoZSB0aW1lc3RhbXAgb2YgdGhlIGxhc3QgdGFnIGluIHB1bGwgbW9kZS4gSWYgd2UgZ2V0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfbG9vcCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfdGltZXN0YW1wKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6CgkgIEdldCBhbiBhcHByb3hpbWF0ZSBkdXJhdGlvbiBvZiB0aGUgZmlsZSBieSBsb29raW5nIGF0IHRoZSB0aW1lc3RhbXAKCSAgb2YgdGhlIGxhc3QgdGFnIGluIHB1bGwgbW9kZS4gSWYgd2UgZ2V0IChtYXliZSBiZXR0ZXIpIGR1cmF0aW9uIGZyb20KCSAgbWV0YWRhdGEgbGF0ZXIgd2UnbGwgdXNlIHRoYXQgaW5zdGVhZC4KCjIwMDgtMTAtMDkgMTU6NDM6MDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogUmVmYWN0b3IgX3B1bGxfcmFuZ2UoKSBsb2dpYyB3aXRoIGNoZWNrcyBpbnRvIGEgc2VwZXJhdGUgZnVuY3Rpb24gdG8gbWFrZSB0aGluZ3MgYSBiaXQgbW9yZSByZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3B1bGxfcmFuZ2UpLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksIChnc3RfZmx2X2RlbXV4X3B1bGxfaGVhZGVyKToKCSAgUmVmYWN0b3IgX3B1bGxfcmFuZ2UoKSBsb2dpYyB3aXRoIGNoZWNrcyBpbnRvIGEgc2VwZXJhdGUgZnVuY3Rpb24KCSAgdG8gbWFrZSB0aGluZ3MgYSBiaXQgbW9yZSByZWFkYWJsZS4KCjIwMDgtMTAtMDkgMTU6MjY6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogVXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NoYWluKSwKCSAgKGdzdF9mbHZfZGVtdXhfYmFzZV9pbml0KToKCSAgVXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpLgoJICBJZiB3ZSBnZXQgR1NUX0ZMT1dfTk9UX0xJTktFRCBpbiB0aGUgcGFyc2UgbG9vcCBidXQgYXQgbGVhc3QKCSAgb25lIG9mIHRoZSBwYWRzIGlzIGxpbmtlZCBjb250aW51ZSB0aGUgbG9vcC4KCjIwMDgtMTAtMDkgMTA6MDE6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy4qOiBQYXNzIHRoZSBkaXNjb250IGZsYWcgZnJvbSB0aGUgaW5wdXQgYnVmZmVyIG9uIHRvIHRoZSBvdXRwdXQgYnVmZmVyIGluIHRoZSBBTVIgZW5jb2Rlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmg6CgkgIFBhc3MgdGhlIGRpc2NvbnQgZmxhZyBmcm9tIHRoZSBpbnB1dCBidWZmZXIgb24gdG8gdGhlIG91dHB1dCBidWZmZXIgaW4KCSAgdGhlIEFNUiBlbmNvZGVyLgoKMjAwOC0xMC0wOSAxMDowMDo1MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBDb3JyZWN0IGNhcHMgZm9yIHZpZGVvIGNvZGVjIGlkIDU6IEl0J3MgT24yIFZQNiB3aXRoIGFscGhhIGNoYW5uZWwgd2hpY2ggbmVlZHMgYSBkaWZmZXJlbnQgZGVjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfYXVkaW9fbmVnb3RpYXRlKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdmlkZW9fbmVnb3RpYXRlKToKCSAgQ29ycmVjdCBjYXBzIGZvciB2aWRlbyBjb2RlYyBpZCA1OiBJdCdzIE9uMiBWUDYgd2l0aCBhbHBoYSBjaGFubmVsCgkgIHdoaWNoIG5lZWRzIGEgZGlmZmVyZW50IGRlY29kZXIgYW5kIGhhcyBkaWZmZXJlbnQgY2Fwcy4KCSAgQWRkIHN1cHBvcnQgZm9yIGF1ZGlvIGNvZGVjIGlkIDE0LCB3aGljaCBpcyBNUDMgd2l0aCA4a0h6IHNhbXBsaW5nCgkgIHJhdGUuCgkgIEZpeCBlbmRpYW5uZXNzIGFuZCBzaWduZWRuZXNzIGZvciByYXcgYXVkaW8gY29kZWMgaWRzLgoJICBBZGQgc3VwcG9ydCBmb3IgYWxhdyBhbmQgbXVsYXcgYXVkaW8uCgoyMDA4LTEwLTA5IDA5OjQ4OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEdvIG91dCBvZiB0aGUgcGFyc2UgbG9vcCBhcyBzb29uIGFzIHdlIGdldCBhbiBlcnJvciBpbnN0ZWFkIG9mIHBhcnNpbmcgdW50aWwgdGhlIEdzdEFkYXB0ZXIgaXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jaGFpbik6CgkgIEdvIG91dCBvZiB0aGUgcGFyc2UgbG9vcCBhcyBzb29uIGFzIHdlIGdldCBhbiBlcnJvciBpbnN0ZWFkCgkgIG9mIHBhcnNpbmcgdW50aWwgdGhlIEdzdEFkYXB0ZXIgaXMgZW1wdHkuCgkgIEFkZCBzb21lIGV4cGxhbmF0aW9ucyBhYm91dCB0aGUgaGVhZGVyIGFuZCB0YWcgc2l6ZS4KCSAgRG9uJ3QgcHJpbnQgc3luY2hyb25pemluZyBtZXNzYWdlIGlmIGV2ZXJ5dGhpbmcgaXMgZmluZS4KCjIwMDgtMTAtMDkgMDk6MjY6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvOiBBZGQgZmlyc3QgdmVyc2lvbiBvZiBhIEZMViBtdXhlci4gVGhlIG9ubHkgbWlzc2luZyBmZWF0dXJlIGlzIHdyaXRpbmcgb2Ygc3RyZWFtIG1ldGFkYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZmx2L2dzdGZsdm11eC5jOiAoZ3N0X2Zsdl9tdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9mbHZfbXV4X2NsYXNzX2luaXQpLCAoZ3N0X2Zsdl9tdXhfaW5pdCksCgkgIChnc3RfZmx2X211eF9maW5hbGl6ZSksIChnc3RfZmx2X211eF9yZXNldCksCgkgIChnc3RfZmx2X211eF9oYW5kbGVfc3JjX2V2ZW50KSwgKGdzdF9mbHZfbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9mbHZfbXV4X3ZpZGVvX3BhZF9zZXRjYXBzKSwgKGdzdF9mbHZfbXV4X2F1ZGlvX3BhZF9zZXRjYXBzKSwKCSAgKGdzdF9mbHZfbXV4X3JlcXVlc3RfbmV3X3BhZCksIChnc3RfZmx2X211eF9yZWxlYXNlX3BhZCksCgkgIChnc3RfZmx2X211eF93cml0ZV9oZWFkZXIpLCAoZ3N0X2Zsdl9tdXhfd3JpdGVfYnVmZmVyKSwKCSAgKGdzdF9mbHZfbXV4X2NvbGxlY3RlZCksIChnc3RfZmx2X211eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgIEFkZCBmaXJzdCB2ZXJzaW9uIG9mIGEgRkxWIG11eGVyLiBUaGUgb25seSBtaXNzaW5nIGZlYXR1cmUgaXMgd3JpdGluZwoJICBvZiBzdHJlYW0gbWV0YWRhdGEuCgoyMDA4LTEwLTA5IDA5OjIxOjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS4qOiBBZGQgZmx1c2ggc2VlayBoYW5kbGVyLiBUYWtlbiBmcm9tIHJlY2VudCBhcm1uYnBhcnNlIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuaDoKCSAgQWRkIGZsdXNoIHNlZWsgaGFuZGxlci4gVGFrZW4gZnJvbSByZWNlbnQgYXJtbmJwYXJzZSBjaGFuZ2VzLgoJICBTeW5jIHRoZSBjb2RlIG1vcmUgYW5kIHVzZSAjZGVmaW5lcyBmb3IgSEVBREVSLgoKMjAwOC0xMC0wOSAwODo0Mzo0MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2FtcndiL2dzdGFtcndicGFyc2UuKjogRml4IHRoZSBkdXJhdGlvbiBxdWVyeS4gQWxzbyBzZXQgY2FwcyBvbiB0aGUgcGFkcyBhbmQgYnVmZmVycyBtb3JlIGNvcnJlY3RseS4gVGFrZW4gZnJvbSByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuaDoKCSAgRml4IHRoZSBkdXJhdGlvbiBxdWVyeS4gQWxzbyBzZXQgY2FwcyBvbiB0aGUgcGFkcyBhbmQgYnVmZmVycyBtb3JlCgkgIGNvcnJlY3RseS4gVGFrZW4gZnJvbSByZWNlbnQgYXJtbmJwYXJzZSBjaGFuZ2VzLgoKMjAwOC0xMC0wOCAxNjoyMDoyNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvOiBBZGQgRmx1ZW5kbyB0byB0aGUgTG9uZyBOYW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgQWRkIEZsdWVuZG8gdG8gdGhlIExvbmcgTmFtZS4KCjIwMDgtMTAtMDggMTU6MjU6MjQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBNb3ZlIG9mIG1wZWd0c3BhcnNlIHRvIG1wZWdkZW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICAqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWdkZW11eC9mbHVtcGVnZGVtdXguYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5oOgoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmg6CgkgIE1vdmUgb2YgbXBlZ3RzcGFyc2UgdG8gbXBlZ2RlbXV4LgoJICBGaXhlcyAjNTU1MTkzLgoKMjAwOC0xMC0wOCAxNToyMjoxMiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBNb3ZlIG9mIG1wZWd0c3BhcnNlIHRvIG1wZWdkZW11eAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTW92ZSBvZiBtcGVndHNwYXJzZSB0byBtcGVnZGVtdXgKCjIwMDgtMTAtMDggMTA6MjE6MjAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IFByZXZlbnQgYSBkaXZpc2lvbiBieSB6ZXJvIGlmIGxhc3QgbXV4IHJhdGUgd2FzIHplcm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IChnc3RfZmx1cHNfZGVtdXhfc2VuZF9kYXRhKSwKCSAgKGdzdF9mbHVwc19kZW11eF9wYXJzZV9wYWNrX3N0YXJ0KToKCSAgUHJldmVudCBhIGRpdmlzaW9uIGJ5IHplcm8gaWYgbGFzdCBtdXggcmF0ZSB3YXMgemVyby4KCSAgSWYgd2UncmUgZ29pbmcgdG8gc2VuZCBhIE5FV1NFR01FTlQgZXZlbnQgYnV0IHRoZSBzZWdtZW50IHN0YXJ0CgkgIGFuZCB0aGUgY3VycmVudCBidWZmZXIgdGltZXN0YW1wIGRpZmZlciBieSBtb3JlIHRoYW4gYSBzZWNvbmQgd2UKCSAgd2lsbCBzdGFydCB0aGUgTkVXU0VHTUVOVCBhdCB0aGUgYnVmZmVyIHRpbWVzdGFtcC4KCSAgVGhpcyBmaXhlcyBwbGF5YmFjayBvZiB0aGUgdHYyLTFfMjUubXBnIGZpbGUsIHdoaWNoIGhhcyAwIGFzIGZpcnN0IFNDUgoJICBidXQgdGhlIGZpcnN0IFBUUyBhcmUgYXJvdW5kIDEgaG91ciBhbmQgNDAgbWludXRlcy4KCSAgRml4ZXMgYnVnICM1NTM3NTUuCgoyMDA4LTEwLTA3IDIxOjI5OjI2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOiBGaXggbmV4dC9wcmV2IGNoYXB0ZXIgc2Vla2luZyBhdCB0aGUgYmVnaW5uaW5nIG9yIGVuZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIEZpeCBuZXh0L3ByZXYgY2hhcHRlciBzZWVraW5nIGF0IHRoZSBiZWdpbm5pbmcgb3IgZW5kLgoJICBVc2UgNjQtYml0IHNjYWxpbmcgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGNvbnZlcnRpbmcgTVBFRwoJICB0aW1lc3RhbXBzLgoKMjAwOC0xMC0wNyAxODo1NDo0MSArMDAwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6IEFkZCBtYXJzaGFsbGVyIGZvciBuZXcgYWN0aW9uIHNpZ25hbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBIw6V2YXJkIEdyYWZmIDxoYXZhcmQgZG90IGdyYWZmIGF0IHRhbmRiZXJnIGRvdCBjb20+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSAgQWRkIG1hcnNoYWxsZXIgZm9yIG5ldyBhY3Rpb24gc2lnbmFsLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fZ2V0X2ludGVybmFsX3Nlc3Npb24pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIEFkZCBhY3Rpb24gc2lnbmFsIHRvIHJldHJpZXZlIHRoZSBpbnRlcm5hbCBSVFBTZXNzaW9uIG9iamVjdC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfc2Vzc2lvbl9yZWxlYXNlX3BhZCk6CgkgIEFkZCBwcm9wZXJ0eSB0byBhY2Nlc3MgdGhlIGludGVybmFsIFJUUFNlc3Npb24gb2JqZWN0LgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoY2hlY2tfY29sbGlzaW9uKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEFkZCBhY3Rpb24gc2lnbmFsIHRvIHJldHJpZXZlIGFuIFJUUFNvdXJjZSBvYmplY3QgYnkgU1NSQy4KCSAgU2VlICM1NTUzOTYuCgoyMDA4LTEwLTA3IDEzOjE0OjQwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzogQ2hvb3NlIHJpZ2h0IHBhZCBmb3Igc2VuZGluZyBldmVudHMuIEZpeGVzICM1NTUyNDQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIENob29zZSByaWdodCBwYWQgZm9yIHNlbmRpbmcgZXZlbnRzLiBGaXhlcyAjNTU1MjQ0CgoyMDA4LTEwLTA3IDExOjMzOjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFJlbGVhc2UgcGFkcyBvZiB0aGUgc2Vzc2lvbiBtYW5hZ2VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGZpbmRfc2Vzc2lvbl9ieV9wYWQpLAoJICAoZnJlZV9zZXNzaW9uKSwgKGdzdF9ydHBfYmluX2Rpc3Bvc2UpLCAocmVtb3ZlX3JlY3ZfcnRwKSwKCSAgKHJlbW92ZV9yZWN2X3J0Y3ApLCAocmVtb3ZlX3NlbmRfcnRwKSwgKHJlbW92ZV9ydGNwKSwKCSAgKGdzdF9ydHBfYmluX3JlbGVhc2VfcGFkKToKCSAgUmVsZWFzZSBwYWRzIG9mIHRoZSBzZXNzaW9uIG1hbmFnZXIuCgkgIFN0YXJ0IGltcGxlbWVudGluZyByZWxlYXNpbmcgcGFkcyBvZiBnc3RydHBiaW4uCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAocmVtb3ZlX3JlY3ZfcnRwX3NpbmspLAoJICAocmVtb3ZlX3JlY3ZfcnRjcF9zaW5rKSwgKHJlbW92ZV9zZW5kX3J0cF9zaW5rKSwKCSAgKHJlbW92ZV9zZW5kX3J0Y3Bfc3JjKSwgKGdzdF9ydHBfc2Vzc2lvbl9yZWxlYXNlX3BhZCk6CgkgIEltcGxlbWVudCByZWxlYXNpbmcgcGFkcyBpbiBnc3RydHBzZXNzaW9uLgoKMjAwOC0xMC0wNyAxMDowMjoyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBPbmx5IHVwZGF0ZSB0aGUgc2VxbnVtLWJhc2Ugd2hlbiBpdCB3YXMgbm90IGFscmVhZHkgY29uZmlndXJlZCBmb3IgdGhlIHN0cmVhbXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKToKCSAgT25seSB1cGRhdGUgdGhlIHNlcW51bS1iYXNlIHdoZW4gaXQgd2FzIG5vdCBhbHJlYWR5IGNvbmZpZ3VyZWQgZm9yIHRoZQoJICBzdHJlYW1zLgoKMjAwOC0xMC0wNiAxNjowMTo0OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYwoJICAqIGV4dC9tZXRhZGF0YS9SRUFETUU6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkgIFN0YXJ0IHVzaW5nIGNvcmUgZ2VvIHRhZ3MgKGJ1bXAgcmVxKS4gRml4IGhhbmRsaW5nIG9mIGxvY2F0aW9uCgkgIHJlZmVyZW5jZXMuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIFNvcnQgYmxhY2tsaXN0ZWQgZWxlbWVudHMgYW5kIHJlbW92ZSBtb3ZlZCBvbmVzLiBBZGQgbmV3IHRlc3QuCgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL21ldGFkYXRhLmM6CgkgIEFkZCBmaXJzdCB0ZXN0cyBmb3IgbWV0YWRhdGEgZWxlbWVudC4KCSAgKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgTW92ZSBmcmVlIHRvIGNvcnJlY3QgcGxhY2UuCgoyMDA4LTEwLTA2IDE1OjUzOjAxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOiBTdG9wIHRlc3Qgb24gc3RhdGUtY2hhbmdlIGVycm9yLiBTaG91bGQgYmUgYXBwbGllZCBvbiBvdGhlciBtb2R1bGVzIGlmIHdlIGFncmVlIHRoYXQgaXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSAgU3RvcCB0ZXN0IG9uIHN0YXRlLWNoYW5nZSBlcnJvci4gU2hvdWxkIGJlIGFwcGxpZWQgb24gb3RoZXIgbW9kdWxlcyBpZgoJICB3ZSBhZ3JlZSB0aGF0IGl0IG1ha2VzIHNlbnNlLgoKMjAwOC0xMC0wNiAxMjowMToxNCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOiBBY3R1YWxseSBjb3B5IHRoZSBzdHJ1Y3R1cmUgcGFzc2VkIGluIHdoZW4gYXNzaWduaW5nIGl0IGJlY2F1c2UgaXQgZ2V0cyBmcmVlZCBzdHJhaWdodC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgQWN0dWFsbHkgY29weSB0aGUgc3RydWN0dXJlIHBhc3NlZCBpbiB3aGVuIGFzc2lnbmluZyBpdCBiZWNhdXNlCgkgIGl0IGdldHMgZnJlZWQgc3RyYWlnaHQgYWZ0ZXIgdGhlIGZ1bmN0aW9uIGNhbGwuCgkgIFJlOiBwYXRfaW5mbyBhbmQgcG10X2luZm8gR3N0U3RydWN0dXJlcy4KCjIwMDgtMTAtMDYgMDg6MzI6NDEgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6IEZpeCB3cm9uZyBmaXJpbmcgb2YgY3JpdGljYWwgaW50cm9kdWNlZCBieSBwcmV2aW91cyBvcHRpbWlzYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9zZXAgVG9ycmEKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIEZpeCB3cm9uZyBmaXJpbmcgb2YgY3JpdGljYWwgaW50cm9kdWNlZCBieSBwcmV2aW91cyBvcHRpbWlzYXRpb24uCgoyMDA4LTEwLTAzIDE3OjExOjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2ZhYWMvZ3N0ZmFhYy5jOiBXYXJuIGFuZCBjbGFtcCB0byBtYXggYml0cmF0ZSBmb3Igc2FtcGxlcmF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfY29uZmlndXJlX3NvdXJjZV9wYWQpOgoJICBXYXJuIGFuZCBjbGFtcCB0byBtYXggYml0cmF0ZSBmb3Igc2FtcGxlcmF0ZS4KCSAgRml4ZXMgIzU1MDQ4Ni4KCjIwMDgtMTAtMDMgMDk6MTE6MTYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzogRml4IHBvc3NpYmxlIGNyYXNoIHdoZXJlIHBhdCBpcyBwb2ludGluZyB0byBhIGZyZWVkIHN0cnVjdHVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIEZpeCBwb3NzaWJsZSBjcmFzaCB3aGVyZSBwYXQgaXMgcG9pbnRpbmcgdG8gYSBmcmVlZCBzdHJ1Y3R1cmUuCgoyMDA4LTEwLTAzIDA1OjU3OjU4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbWV0YWRhdGEvOiBBZGQgbWFwcGluZyBvZiBmb3JtYXQgYW5kIG1pbWUgdHlwZSB0byB4bXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YV9tYXBwaW5nLmh0bToKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkgIEFkZCBtYXBwaW5nIG9mIGZvcm1hdCBhbmQgbWltZSB0eXBlIHRvIHhtcC4KCjIwMDgtMTAtMDIgMTQ6NDI6MjUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9tZXRhZGF0YS86IFJldmVydGluZy4gV2lsbCBuZWVkIHRvIHdhaXQgZm9yIGNvcmUgMC4xMC4yMSByZWxlYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbWV0YWRhdGEvUkVBRE1FOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJICBSZXZlcnRpbmcuIFdpbGwgbmVlZCB0byB3YWl0IGZvciBjb3JlIDAuMTAuMjEgcmVsZWFzZS4KCjIwMDgtMTAtMDIgMTM6NTI6NTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9tZXRhZGF0YS86IFVzZSBjb3JlIGdzcCB0YWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbWV0YWRhdGEvUkVBRE1FOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJICBVc2UgY29yZSBnc3AgdGFncy4KCjIwMDgtMDktMzAgMTc6MDM6MTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6IEFkZCBzdXBwb3J0IGZvciBHc3RJbmRleC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzogKGdzdF9iYXNlX3BhcnNlX2ZpbmFsaXplKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X2Jhc2VfcGFyc2VfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfY2hhbmdlX3N0YXRlKSwgKGdzdF9iYXNlX3BhcnNlX3NldF9pbmRleCksCgkgIChnc3RfYmFzZV9wYXJzZV9nZXRfaW5kZXgpOgoJICBBZGQgc3VwcG9ydCBmb3IgR3N0SW5kZXguCgoyMDA4LTA5LTMwIDE2OjQxOjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS4qOiBQcm92aWRlIGEgdmZ1bmMgZm9yIHRoZSBzdWJjbGFzcyB0byBkZWNpZGUgd2hldGhlciBhIGZyYW1lIGlzIGluc2lkZSB0aGUgc2VnbWVudCBvciBub3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzogKGdzdF9iYXNlX3BhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfdXBkYXRlX3Vwc3RyZWFtX2R1cmF0aW9ucyksCgkgIChnc3RfYmFzZV9wYXJzZV9jb252ZXJ0KSwgKGdzdF9iYXNlX3BhcnNlX2ZyYW1lX2luX3NlZ21lbnQpOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIFByb3ZpZGUgYSB2ZnVuYyBmb3IgdGhlIHN1YmNsYXNzIHRvIGRlY2lkZSB3aGV0aGVyIGEgZnJhbWUgaXMgaW5zaWRlCgkgIHRoZSBzZWdtZW50IG9yIG5vdCBhbmQgYWRkIGEgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbi4KCSAgRml4IGFwcHJveGltYXRlIGJpdHJhdGUgY2FsY3VsYXRpb25zLgoKMjAwOC0wOS0zMCAxNjoyMjowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzogQXBwcm94aW1hdGUgdGhlIGF2ZXJhZ2UgYml0cmF0ZSwgZHVyYXRpb24gYW5kIHNpemUgaWYgcG9zc2libGUgYW5kIGFkZCBhIGRlZmF1bHQgY29udmVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6IChnc3RfYmFzZV9wYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF9iYXNlX3BhcnNlX2luaXQpLCAoZ3N0X2Jhc2VfcGFyc2VfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfdXBkYXRlX3Vwc3RyZWFtX2R1cmF0aW9ucyksIChnc3RfYmFzZV9wYXJzZV9jaGFpbiksCgkgIChnc3RfYmFzZV9wYXJzZV9sb29wKSwgKGdzdF9iYXNlX3BhcnNlX2FjdGl2YXRlKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2NvbnZlcnQpLCAoZ3N0X2Jhc2VfcGFyc2VfcXVlcnkpOgoJICBBcHByb3hpbWF0ZSB0aGUgYXZlcmFnZSBiaXRyYXRlLCBkdXJhdGlvbiBhbmQgc2l6ZSBpZiBwb3NzaWJsZQoJICBhbmQgYWRkIGEgZGVmYXVsdCBjb252ZXJzaW9uIGZ1bmN0aW9uIHdoaWNoIHVzZXMgdGhpcyBmb3IKCSAgdGltZTwtPmJ5dGUgY29udmVyc2lvbnMuCgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RmbGFjcGFyc2UuYzogKGdzdF9mbGFjX3BhcnNlX2dldF9mcmFtZV9zaXplKToKCSAgRml4IHBhcnNpbmcgaWYgdXBzdHJlYW0gZ2l2ZXMgLTEgYXMgZHVyYXRpb24uCgoyMDA4LTA5LTMwIDE1OjA4OjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBSZWYgdGhlIHJ0cHNvdXJjZSBvYmplY3QgYmVmb3JlIHdlIHJlbGVhc2UgdGhlIHNlc3Npb24gbG9jayB3aGVuIHdlIGVtaXQgdGhlIHNpZ25hbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKG9uX25ld19zc3JjKSwgKG9uX3NzcmNfY29sbGlzaW9uKSwKCSAgKG9uX3NzcmNfdmFsaWRhdGVkKSwgKG9uX3NzcmNfYWN0aXZlKSwgKG9uX3NzcmNfc2RlcyksCgkgIChvbl9ieWVfc3NyYyksIChvbl9ieWVfdGltZW91dCksIChvbl90aW1lb3V0KSwgKG9uX3NlbmRlcl90aW1lb3V0KToKCSAgUmVmIHRoZSBydHBzb3VyY2Ugb2JqZWN0IGJlZm9yZSB3ZSByZWxlYXNlIHRoZSBzZXNzaW9uIGxvY2sgd2hlbiB3ZSBlbWl0CgkgIHRoZSBzaWduYWxzLgoKMjAwOC0wOS0zMCAxMToxOToxMCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIHN5cy86IE5ldyBwbHVnaW4gZm9yIGF1ZGlvIGNhcHR1cmUgYW5kIHBsYXliYWNrIHVzaW5nIFdpbmRvd3MgQXVkaW8gU2Vzc2lvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL3dhc2FwaS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2FzYXBpL2dzdHdhc2FwaS5jOgoJICAqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJICAqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5oOgoJICAqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkgICogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuaDoKCSAgKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuYzoKCSAgKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuaDoKCSAgTmV3IHBsdWdpbiBmb3IgYXVkaW8gY2FwdHVyZSBhbmQgcGxheWJhY2sgdXNpbmcgV2luZG93cyBBdWRpbyBTZXNzaW9uCgkgIEFQSSAoV0FTQVBJKSBhdmFpbGFibGUgd2l0aCBWaXN0YSBhbmQgbmV3ZXIgKCM1MjA5MDEpLgoJICBDb21lcyB3aXRoIGhhcmRjb2RlZCBjYXBzIGFuZCBvYnZpb3VzbHkgbmVlZHMgbG90cyBvZiBsb3ZlLiBIYXZlbid0CgkgIGhhZCB0aW1lIHRvIHdvcmsgb24gdGhpcyBjb2RlIHNpbmNlIGl0IHdhcyB3cml0dGVuLCB3YXMgaW5pdGlhbGx5IGp1c3QKCSAgYSBxdWljayBleHBlcmltZW50IHRvIHBsYXkgYXJvdW5kIHdpdGggdGhpcyBuZXcgQVBJLgoKMjAwOC0wOS0zMCAxMDo0Mzo1NCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSAgc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwCgkgIChBdWRpb0Zha2VTaW5rLkRvUmVuZGVyU2FtcGxlKToKCSAgRml4IGEgY291cGxlIG9mIHNpZ25lZC91bnNpZ25lZCBjb21wYXJpc29uIHdhcm5pbmdzLgoKMjAwOC0wOS0zMCAxMDoyMjoxMCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIHN5cy9kc2hvd2RlY3dyYXBwZXIvOiBVc2UgdGhlIF9UKCkgbWFjcm8gdG8gc3VwcG9ydCBib3RoIFVuaWNvZGUgYW5kIE1CQ1MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5oIChBdWRpb0Zha2VTaW5rLkF1ZGlvRmFrZVNpbmspOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5oIChWaWRlb0Zha2VTaW5rLlZpZGVvRmFrZVNpbmspOgoJICBVc2UgdGhlIF9UKCkgbWFjcm8gdG8gc3VwcG9ydCBib3RoIFVuaWNvZGUgYW5kIE1CQ1MuCgoyMDA4LTA5LTMwIDEwOjE3OjQxICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgZXh0L2xpYm1tcy9nc3RtbXMuYyAocGx1Z2luX2luaXQpOiBGaXggcmV0dXJuIHR5cGUgb2YgdGhlIEdzdFVSSUhhbmRsZXI6OmdldF90eXBlKCkgaW1wbGVtZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmMgKHBsdWdpbl9pbml0KToKCSAgRml4IHJldHVybiB0eXBlIG9mIHRoZSBHc3RVUklIYW5kbGVyOjpnZXRfdHlwZSgpIGltcGxlbWVudGF0aW9uLgoKMjAwOC0wOS0yOSAwODoyNjo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIEZMQUMgcGFyc2VyLCBiYXNlZCBvbiBHc3RCYXNlUGFyc2UuIEFsc28gYWRkIHRoZSBiaXQgYW5kIGJ5dGUgcmVhZGVyIHRoYXQgd2lsbCBiZSBhZGRlZCB0byBsaWJnc3RiYXNlIGxhdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2ZsYWNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOiAoZ3N0X2Jhc2VfcGFyc2VfZ2V0X3R5cGUpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfYmFzZV9pbml0KSwgKGdzdF9iYXNlX3BhcnNlX2Jhc2VfZmluYWxpemUpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfZmluYWxpemUpLCAoZ3N0X2Jhc2VfcGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3RfYmFzZV9wYXJzZV9pbml0KSwgKGdzdF9iYXNlX3BhcnNlX2NoZWNrX2ZyYW1lKSwKCSAgKGdzdF9iYXNlX3BhcnNlX3BhcnNlX2ZyYW1lKSwgKGdzdF9iYXNlX3BhcnNlX2J5dGVwb3NfdG9fdGltZSksCgkgIChnc3RfYmFzZV9wYXJzZV9zaW5rX2V2ZW50KSwgKGdzdF9iYXNlX3BhcnNlX3NpbmtfZXZlbnRmdW5jKSwKCSAgKGdzdF9iYXNlX3BhcnNlX3NyY19ldmVudCksIChnc3RfYmFzZV9wYXJzZV9zcmNfZXZlbnRmdW5jKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2lzX3NlZWthYmxlKSwgKGdzdF9iYXNlX3BhcnNlX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2hhbmRsZV9hbmRfcHVzaF9idWZmZXIpLCAoZ3N0X2Jhc2VfcGFyc2VfZHJhaW4pLAoJICAoZ3N0X2Jhc2VfcGFyc2VfY2hhaW4pLCAoZ3N0X2Jhc2VfcGFyc2VfcHVsbF9yYW5nZSksCgkgIChnc3RfYmFzZV9wYXJzZV9sb29wKSwgKGdzdF9iYXNlX3BhcnNlX3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfYWN0aXZhdGUpLCAoZ3N0X2Jhc2VfcGFyc2Vfc2lua19hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9iYXNlX3BhcnNlX3NpbmtfYWN0aXZhdGVfcHVsbCksIChnc3RfYmFzZV9wYXJzZV9zZXRfZHVyYXRpb24pLAoJICAoZ3N0X2Jhc2VfcGFyc2Vfc2V0X21pbl9mcmFtZV9zaXplKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2dldF9xdWVyeXR5cGVzKSwgKGdzdF9iYXNlX3BhcnNlX3F1ZXJ5KSwKCSAgKGdzdF9iYXNlX3BhcnNlX2hhbmRsZV9zZWVrKSwgKGdzdF9iYXNlX3BhcnNlX3Npbmtfc2V0Y2Fwcyk6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGJpdHJlYWRlci5jOiAoZ3N0X2JpdF9yZWFkZXJfbmV3KSwKCSAgKGdzdF9iaXRfcmVhZGVyX25ld19mcm9tX2J1ZmZlciksIChnc3RfYml0X3JlYWRlcl9mcmVlKSwKCSAgKGdzdF9iaXRfcmVhZGVyX2luaXQpLCAoZ3N0X2JpdF9yZWFkZXJfaW5pdF9mcm9tX2J1ZmZlciksCgkgIChnc3RfYml0X3JlYWRlcl9zZXRfcG9zKSwgKGdzdF9iaXRfcmVhZGVyX2dldF9wb3MpLAoJICAoZ3N0X2JpdF9yZWFkZXJfZ2V0X3JlbWFpbmluZyksIChnc3RfYml0X3JlYWRlcl9za2lwKSwKCSAgKGdzdF9iaXRfcmVhZGVyX3NraXBfdG9fYnl0ZSk6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RiaXRyZWFkZXIuaDoKCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGJ5dGVyZWFkZXIuYzogKEdET1VCTEVfU1dBUF9MRV9CRSksCgkgIChHRkxPQVRfU1dBUF9MRV9CRSksIChnc3RfYnl0ZV9yZWFkZXJfbmV3KSwKCSAgKGdzdF9ieXRlX3JlYWRlcl9uZXdfZnJvbV9idWZmZXIpLCAoZ3N0X2J5dGVfcmVhZGVyX2ZyZWUpLAoJICAoZ3N0X2J5dGVfcmVhZGVyX2luaXQpLCAoZ3N0X2J5dGVfcmVhZGVyX2luaXRfZnJvbV9idWZmZXIpLAoJICAoZ3N0X2J5dGVfcmVhZGVyX3NldF9wb3MpLCAoZ3N0X2J5dGVfcmVhZGVyX2dldF9wb3MpLAoJICAoZ3N0X2J5dGVfcmVhZGVyX2dldF9yZW1haW5pbmcpLCAoZ3N0X2J5dGVfcmVhZGVyX3NraXApLAoJICAoZ3N0X2J5dGVfcmVhZGVyX2dldF91aW50OCksIChnc3RfYnl0ZV9yZWFkZXJfZ2V0X2ludDgpLAoJICAoZ3N0X2J5dGVfcmVhZGVyX3BlZWtfdWludDgpLCAoZ3N0X2J5dGVfcmVhZGVyX3BlZWtfaW50OCksCgkgIChnc3RfYnl0ZV9yZWFkZXJfZ2V0X3VpbnQyNF9sZSksIChnc3RfYnl0ZV9yZWFkZXJfZ2V0X3VpbnQyNF9iZSksCgkgIChnc3RfYnl0ZV9yZWFkZXJfZ2V0X2ludDI0X2xlKSwgKGdzdF9ieXRlX3JlYWRlcl9nZXRfaW50MjRfYmUpLAoJICAoZ3N0X2J5dGVfcmVhZGVyX3BlZWtfdWludDI0X2xlKSwgKGdzdF9ieXRlX3JlYWRlcl9wZWVrX3VpbnQyNF9iZSksCgkgIChnc3RfYnl0ZV9yZWFkZXJfcGVla19pbnQyNF9sZSksIChnc3RfYnl0ZV9yZWFkZXJfcGVla19pbnQyNF9iZSk6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RieXRlcmVhZGVyLmg6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RmbGFjLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RmbGFjcGFyc2UuYzogKGdzdF9mbGFjX3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3RfZmxhY19wYXJzZV9jbGFzc19pbml0KSwgKGdzdF9mbGFjX3BhcnNlX2luaXQpLAoJICAoZ3N0X2ZsYWNfcGFyc2VfZmluYWxpemUpLCAoZ3N0X2ZsYWNfcGFyc2Vfc3RhcnQpLAoJICAoZ3N0X2ZsYWNfcGFyc2Vfc3RvcCksIChnc3RfZmxhY19wYXJzZV9nZXRfZnJhbWVfc2l6ZSksCgkgIChnc3RfZmxhY19wYXJzZV9jaGVja192YWxpZF9mcmFtZSksCgkgIChnc3RfZmxhY19wYXJzZV9oYW5kbGVfc3RyZWFtaW5mbyksCgkgIChnc3RfZmxhY19wYXJzZV9oYW5kbGVfdm9yYmlzY29tbWVudCksCgkgIChnc3RfZmxhY19wYXJzZV9oYW5kbGVfcGljdHVyZSksIChfdmFsdWVfYXJyYXlfYXBwZW5kX2J1ZmZlciksCgkgIChnc3RfZmxhY19wYXJzZV9oYW5kbGVfaGVhZGVycyksIChnc3RfZmxhY19wYXJzZV9nZW5lcmF0ZV9oZWFkZXJzKSwKCSAgKGdzdF9mbGFjX3BhcnNlX3BhcnNlX2ZyYW1lKToKCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGZsYWNwYXJzZS5oOgoJICBBZGQgRkxBQyBwYXJzZXIsIGJhc2VkIG9uIEdzdEJhc2VQYXJzZS4gQWxzbyBhZGQgdGhlIGJpdCBhbmQgYnl0ZSByZWFkZXIKCSAgdGhhdCB3aWxsIGJlIGFkZGVkIHRvIGxpYmdzdGJhc2UgbGF0ZXIuCgkgIFRoZSBGTEFDIHBhcnNlciBpcyBjdXJyZW50bHkgbm90IDEwMCUgYnVnIGZyZWUgYW5kIGZhaWxzIHRvIGdldCB0aGUKCSAgY29ycmVjdCBmcmFtZSBzaXplIGZvciBzb21lIGZyYW1lcyBpbiBzb21lIHN0cmVhbXMuCgoyMDA4LTA5LTI3IDAxOjEyOjMwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9yZXNpbmR2ZC86IEFkZCBpbiBUaXRsZS9DaGFwdGVyIHNlZWtpbmcsIGFuZCBzaW1wbGUgYnV0IGJ1Z2d5IGF1ZGlvIGFuZCBzdWJ0aXRsZSBzdHJlYW0gc2VsZWN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgICogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5oOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5jOgoJICBBZGQgaW4gVGl0bGUvQ2hhcHRlciBzZWVraW5nLCBhbmQgc2ltcGxlIGJ1dCBidWdneSBhdWRpbwoJICBhbmQgc3VidGl0bGUgc3RyZWFtIHNlbGVjdGlvbi4KCjIwMDgtMDktMjQgMTc6MjE6NDEgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9kc2hvd2RlY3dyYXBwZXIvOiBQcmVmZXIga25vd24tZ29vZCBmaWx0ZXJzLCBjcmVhdGUgZGlyZWN0bHkgYnkgR1VJRCBpZiBwb3NzaWJsZSwgZmFsbCBiYWNrIHRvIGNyZWF0aW5nIGhpZ2hlc3QtbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5oOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc3JjLmNwcDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dXRpbC5jcHA6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3V0aWwuaDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5oOgoJICBQcmVmZXIga25vd24tZ29vZCBmaWx0ZXJzLCBjcmVhdGUgZGlyZWN0bHkgYnkgR1VJRCBpZiBwb3NzaWJsZSwKCSAgZmFsbCBiYWNrIHRvIGNyZWF0aW5nIGhpZ2hlc3QtbWVyaXQgZmlsdGVyIG90aGVyd2lzZS4KCSAgRml4ZXMgcGxheWJhY2sgd2l0aCByYW5kb20gZHNob3cgZmlsdGVycyBpbnN0YWxsZWQgaW4gc29tZQoJICBjYXNlcy4KCjIwMDgtMDktMjMgMTg6MTM6MzEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEZpeCBzb21lIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF9zeW5jKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChvbl9zZW5kZXJfdGltZW91dCksCgkgIChzZXNzaW9uX2NsZWFudXApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBGaXggc29tZSBkb2NzLgoKMjAwOC0wOS0yMyAxNzozNDo0NCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIFBhdGNoIGZyb206IEpvc2VwIFRvcnJhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBmcm9tOiBKb3NlcCBUb3JyYQoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIFVzZSBhIHByZWFsbG9jYXRlZCBidWZmZXIgcGVyIHN0cmVhbSBmb3IgUEVTIHBhY2tldHMgc2VudCBvbiBzcmMgcGFkcy4KCSAgQWRhcHRpdmVseSBhZGp1c3QgYnVmZmVyIHNpemUgYXBwcm9wcmlhdGVseS4KCjIwMDgtMDktMTcgMTQ6NDc6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiBDbGVhbiB1cCB0aGUgZGVidWcgbG9nZ2luZyBjb2RlIGFuZCAjaWZkZWYgbWVzcyBhIGJpdDogd2hldGhlciBvciBub3QgZ3N0cmVhbWVyIGRlYnVnIG1lc3MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfc3RhcnQpLAoJICAoZ3N0X25lb25odHRwX3NyY19zZW5kX3JlcXVlc3RfYW5kX3JlZGlyZWN0KToKCSAgQ2xlYW4gdXAgdGhlIGRlYnVnIGxvZ2dpbmcgY29kZSBhbmQgI2lmZGVmIG1lc3MgYSBiaXQ6IHdoZXRoZXIgb3Igbm90CgkgIGdzdHJlYW1lciBkZWJ1ZyBtZXNzYWdlcyBzaG91bGQgYmUgb3V0cHV0IHNob3VsZCBub3QgZGVwZW5kIG9uIGFuCgkgIGVsZW1lbnQgcHJvcGVydHk7IGFsc28sIEdTVF9FTEVNRU5UX0VSUk9SIHdpbGwgbGVhdmUgYSBsaW5lIGluIHRoZSBsb2cKCSAgYWxyZWFkeSwgc28gbWVyZ2UgdGhlIG1vcmUgdXNlZnVsIGRlYnVnIGxvZyBtZXNzYWdlcyB3aXRoIHRoZSBsZXNzIHVzZWZ1bAoJICBlcnJvciBkZWJ1ZyBzdHJpbmdzLgoKMjAwOC0wOS0xNyAxNDoyMjozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IERvbid0IHBvc3QgTElCUkFSWV9JTklUIGVycm9ycyB3aGVyZSB3ZSBzaG91bGQgYmUgcG9zdGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19zdGFydCk6CgkgIERvbid0IHBvc3QgTElCUkFSWV9JTklUIGVycm9ycyB3aGVyZSB3ZSBzaG91bGQgYmUgcG9zdGluZwoJICBSRVNPVVJDRSBPUEVOX1JFQUQgZXJyb3JzLiBGaXhlcyAjNTUyNTA2LgoKMjAwOC0wOS0xNyAxMzo1OToyMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBGaXggY29tcGlsZXIgd2FybmluZ3Mgb24gT1MvWAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChqYWNrX3Byb2Nlc3NfY2IpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAoY2FsY3VsYXRlX3NrZXcpOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3Mgb24gT1MvWAoKMjAwOC0wOS0xNyAwOTowNjo1NyArMDAwMCAgTWljaGFlbCBLcnVma3kgPG1rcnVma3lAbGludXh0di5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBBZGQgYWRhcHRlcl9uYW1lIGZvciBidXMgbWVzc2FnZSBpbiBBVFNDIGNhc2UuIEZpeGVzICM1NTI1MzYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogTWljaGFlbCBLcnVma3kKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBBZGQgYWRhcHRlcl9uYW1lIGZvciBidXMgbWVzc2FnZSBpbiBBVFNDIGNhc2UuIEZpeGVzICM1NTI1MzYuCgoyMDA4LTA5LTE1IDA5OjM5OjAwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvY2VsdC9nc3RjZWx0ZW5jLmg6IEhlbHAgZ3RrLWRvYyB0byBwYXJzZSB0aGlzIGNvcnJlY3RseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOgoJICBIZWxwIGd0ay1kb2MgdG8gcGFyc2UgdGhpcyBjb3JyZWN0bHkuCgkgICogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgQWRkIG1pc3NpbmcgaW5jbHVkZS4KCjIwMDgtMDktMTUgMDk6MzQ6MTQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4YW1wbGVzL01ha2VmaWxlLmFtOiBPbmx5IGJ1aWx0IHNjYWxldGVtcG8gZXhhbXBsZSBpZiB3ZSBoYXZlIGd0ay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgIE9ubHkgYnVpbHQgc2NhbGV0ZW1wbyBleGFtcGxlIGlmIHdlIGhhdmUgZ3RrLgoKMjAwOC0wOS0xMyAwMTozNzo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBEbyBub3QgdHJ5IHRvIGFkanVzdCB0aGUgb2Zmc2V0IG9mIHN0cmVhbXMgZm9yIHdoaWNoIHdlIGhhdmUgbm90IHlldCBzZWVuIGFuIFNSIHBhY2tldC4gQS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwKCSAgKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksIChnc3RfcnRwX2Jpbl9zeW5jX2NoYWluKToKCSAgRG8gbm90IHRyeSB0byBhZGp1c3QgdGhlIG9mZnNldCBvZiBzdHJlYW1zIGZvciB3aGljaCB3ZSBoYXZlIG5vdCB5ZXQKCSAgc2VlbiBhbiBTUiBwYWNrZXQuIEF2b2lkcyBsYXJnZSB0cy1vZmZzZXRzIGluIHNvbWUgY2FzZXMuCgoyMDA4LTA5LTEwIDIzOjE1OjExICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvZHNob3dkZWN3cmFwcGVyLzogTWFqb3IgcmV3cml0ZSBvZiBkc2hvd2RlY3dyYXBwZXIuIENvbnZlcnRzIGNvZGUgdG8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuYzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5oOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dkZWN3cmFwcGVyLmM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2RlY3dyYXBwZXIuY3BwOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dkZWN3cmFwcGVyLmg6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2Zha2VzcmMuY3BwOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc3JjLmg6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3V0aWwuY3BwOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d1dGlsLmg6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuaDoKCSAgTWFqb3IgcmV3cml0ZSBvZiBkc2hvd2RlY3dyYXBwZXIuIENvbnZlcnRzIGNvZGUgdG8KCSAgQysrLCBtb3ZlcyB0byBkaXJlY3QgdXNlIG9mIERpcmVjdFNob3cgYmFzZSBjbGFzc2VzLAoJICBtYWtlIGEgbG90IG9mIGNvZGUgY2xlYXJlciwgc2ltcGxpZnksIGV0Yy4KCSAgRml4IGRlY29kZSBvZiBNUDMgb24gVmlzdGEgYnkgd29ya2luZyBhcm91bmQgYW4gYXBwYXJlbnQKCSAgYnVnIGluIHRoZSBkZWNvZGVyLgoKMjAwOC0wOS0xMCAxMjowNTozOSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIHN5cy93aW5rcy9nc3Rrc2Nsb2NrLmMgKGdzdF9rc19jbG9ja193b3JrZXJfdGhyZWFkX2Z1bmMsIGdzdF9rc19jbG9ja19zdGFydCk6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy93aW5rcy9nc3Rrc2Nsb2NrLmMgKGdzdF9rc19jbG9ja193b3JrZXJfdGhyZWFkX2Z1bmMsCgkgIGdzdF9rc19jbG9ja19zdGFydCk6CgkgIFN5bmNocm9uaXplIEtTIGNsb2NrIGFzIGEgc2luZ2xlLXNob3Qgb3BlcmF0aW9uIGZvciBub3csIHRoZXJlJ3Mgbm90CgkgIG11Y2ggcG9pbnQgaW4gZG9pbmcgaXQgcGVyaW9kaWNhbGx5IHVudGlsIHdlJ3JlIGFjdHVhbGx5IHVzaW5nIHRoZQoJICBLUyB0aW1lc3RhbXBzIGZvciBhbnl0aGluZyBlbHNlIHRoYW4ganVzdCBkaXNjYXJkaW5nIG9sZCBmcmFtZXMuCgkgICogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYyAoZ3N0X2tzX3ZpZGVvX3NyY19vcGVuX2RldmljZSk6CgkgIFByb3ZpZGUgdGhlIEdzdENsb2NrIHdoZW4gb3BlbmluZyB0aGUgZGV2aWNlIGlmIHdlIGFscmVhZHkgaGF2ZSBvbmUuCgoyMDA4LTA5LTA5IDIzOjU4OjAyICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYyAoR1NUX0RFQlVHX0lTX0VOQUJMRUQsIGxhc3RfdGltZXN0YW1wLCBnc3Rfa3NfdmlkZW9fZGV2aWNlX3ByZXBhcmVfYnVmZmVycywgZ3N0X2tzX3ZpZGVvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmMgKEdTVF9ERUJVR19JU19FTkFCTEVELCBsYXN0X3RpbWVzdGFtcCwKCSAgZ3N0X2tzX3ZpZGVvX2RldmljZV9wcmVwYXJlX2J1ZmZlcnMsIGdzdF9rc192aWRlb19kZXZpY2VfY3JlYXRlX3BpbiwKCSAgZ3N0X2tzX3ZpZGVvX2RldmljZV9zZXRfc3RhdGUsIGdzdF9rc192aWRlb19kZXZpY2VfcmVxdWVzdF9mcmFtZSwKCSAgZ3N0X2tzX3ZpZGVvX2RldmljZV9yZWFkX2ZyYW1lKToKCSAgR3VhcmQgYWdhaW5zdCBjYXB0dXJpbmcgb2xkIGZyYW1lcyBieSBrZWVwaW5nIHRyYWNrIG9mIHRoZSBsYXN0CgkgIHRpbWVzdGFtcCBhbmQgYWxzbyB6ZXJvLWZpbGwgdGhlIGJ1ZmZlcnMgYmVmb3JlIGVhY2ggY2FwdHVyZS4KCSAgT25seSBhc3NpZ24gYSBtYXN0ZXIgY2xvY2sgaWYgdGhlIHBpbiBoYXNuJ3QgYWxyZWFkeSBnb3Qgb25lLgoJICBBY3R1YWxseSBmcmVlIGJ1ZmZlcnMgb24gdGhlIHdheSBkb3duIHRvIGF2b2lkIGEgaHVnZSBtZW1vcnkgbGVhaywKCSAgYXMgdGhpcyB3YXMgcHJldmlvdXNseSBkb25lIHdoZW4gY2hhbmdpbmcgc3RhdGUgdG8gQUNRVUlSRSBkb3dud2FyZHMKCSAgYW5kIHdlIG5vdyBza2lwIHRoYXQgc3RhdGUgb24gdGhlIHdheSBkb3duLgoJICBBZGQgc29tZSBkZWJ1Zy4KCSAgKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jIChERUZBVUxUX0RFVklDRV9QQVRILCBERUZBVUxUX0RFVklDRV9OQU1FLAoJICBERUZBVUxUX0RFVklDRV9JTkRFWCwgS1NfV09SS0VSX0xPQ0ssIEtTX1dPUktFUl9VTkxPQ0ssCgkgIEtTX1dPUktFUl9XQUlULCBLU19XT1JLRVJfTk9USUZZLCBLU19XT1JLRVJfV0FJVF9GT1JfUkVTVUxULAoJICBLU19XT1JLRVJfTk9USUZZX1JFU1VMVCwgS1NfV09SS0VSX1NUQVRFX1NUQVJUSU5HLAoJICBLU19XT1JLRVJfU1RBVEVfUkVBRFksIEtTX1dPUktFUl9TVEFURV9TVE9QUElORywKCSAgS1NfV09SS0VSX1NUQVRFX0VSUk9SLCBLc1dvcmtlclN0YXRlLCBkZXZpY2VfcGF0aCwgZGV2aWNlX25hbWUsCgkgIGRldmljZV9pbmRleCwgcnVubmluZywgd29ya2VyX3RocmVhZCwgd29ya2VyX2xvY2ssCgkgIHdvcmtlcl9ub3RpZnlfY29uZCwgd29ya2VyX3Jlc3VsdF9jb25kLCB3b3JrZXJfc3RhdGUsCgkgIHdvcmtlcl9wZW5kaW5nX2NhcHMsIHdvcmtlcl9zZXRjYXBzX3Jlc3VsdCwgd29ya2VyX3BlbmRpbmdfcnVuLAoJICB3b3JrZXJfcnVuX3Jlc3VsdCwgZ3N0X2tzX3ZpZGVvX3NyY19yZXNldCwKCSAgZ3N0X2tzX3ZpZGVvX3NyY19hcHBseV9kcml2ZXJfcXVpcmtzLCBnc3Rfa3NfdmlkZW9fc3JjX29wZW5fZGV2aWNlLAoJICBnc3Rfa3NfdmlkZW9fc3JjX2Nsb3NlX2RldmljZSwgZ3N0X2tzX3ZpZGVvX3NyY193b3JrZXJfZnVuYywKCSAgZ3N0X2tzX3ZpZGVvX3NyY19zdGFydF93b3JrZXIsIGdzdF9rc192aWRlb19zcmNfc3RvcF93b3JrZXIsCgkgIGdzdF9rc192aWRlb19zcmNfY2hhbmdlX3N0YXRlLCBnc3Rfa3NfdmlkZW9fc3JjX3NldF9jbG9jaywKCSAgZ3N0X2tzX3ZpZGVvX3NyY19zZXRfY2FwcywgZ3N0X2tzX3ZpZGVvX3NyY190aW1lc3RhbXBfYnVmZmVyLAoJICBnc3Rfa3NfdmlkZW9fc3JjX2NyZWF0ZSk6CgkgIFJlbW92ZSBFTkFCTEVfQ0xPQ0tfREVCVUcgZGVmaW5lLCBpdCdzIEdTVF9MRVZFTF9ERUJVRyBhZnRlciBhbGwuCgkgIEdldCByaWQgb2YgUFJPUF9FTlNMQVZFX0tTQ0xPQ0sgYW5kIGFsd2F5cyBzbGF2ZSB0aGUga3MgY2xvY2sgdG8gdGhlCgkgIEdTdHJlYW1lciBjbG9jaywgaXQgZG9lc24ndCBzZWVtIHRvIGh1cnQgYW5kIG1hdGNoZXMgRGlyZWN0U2hvdydzCgkgIGJlaGF2aW9yLiBBcyBhbiBhZGRlZCBib251cyB3ZSB1c3VhbGx5IGdldCBQcmVzZW50YXRpb25UaW1lIHNldCBmb3IKCSAgZWFjaCBmcmFtZSwgc28gd2UgY2FuIGV4cGFuZCBvbiB0aGlzIGxhdGVyIGZvciBzbWFydGVyIGxhdGVuY3kKCSAgcmVwb3J0aW5nIChieSBsb29raW5nIGF0IHRoZSBkaWZmIGJldHdlZW4gdGhlIHRpbWVzdGFtcCBmcm9tIHRoZQoJICBkcml2ZXIgYW5kIHRoZSB0aW1lIGFjY29yZGluZyB0byB0aGUgR1N0cmVhbWVyIGNsb2NrKS4KCSAgVXNlIGFuIGludGVybmFsIHdvcmtlciB0aHJlYWQgZm9yIG9wZW5pbmcgdGhlIGRldmljZSwgc2V0dGluZyBjYXBzLAoJICBjaGFuZ2luZyBpdHMgc3RhdGUgYW5kIGNsb3NpbmcgaXQuIFRoaXMgd2F5IHdlJ3JlIGEgbG90IG1vcmUKCSAgY29tcGF0aWJsZSB3aXRoIGRyaXZlcnMgdGhhdCByZWx5IG9uIGhhY2tzIHRvIGRvIHZpZGVvLWVmZmVjdHMKCSAgYmV0d2VlbiB0aGUgbG93LWxldmVsIE5UIEFQSSBhbmQgdGhlIGFwcGxpY2F0aW9uLiBJY2suCgkgIFN0YXJ0IHRoZSBrcyBjbG9jayBhbmQgc2V0IHRoZSBwaW4gdG8gS1NTVEFURV9SVU4gb24gdGhlIGZpcnN0CgkgIGNyZWF0ZSgpIHNvIHRoYXQgd2UnbGwgaG9wZWZ1bGx5IGdldCBob2xkIG9mIHRoZSBHU3RyZWFtZXIgY2xvY2sKCSAgZnJvbSB0aGUgdmVyeSBiZWdpbm5pbmcuIFRoaXMgd2F5IHRoZXJlJ3Mgbm8gY2hhbmNlIHRoYXQgdGhlCgkgIHRpbWVzdGFtcHMgd2lsbCBtYWtlIGEgc3VkZGVuIGp1bXAgaW4gdGhlIGJlZ2lubmluZyBvZiB0aGUgc3RyZWFtCgkgIHdoZW4gd2UncmUgcnVubmluZyB3aXRoIGEgY2xvY2suCgkgICogc3lzL3dpbmtzL2tzaGVscGVycy5jIChDSEVDS19PUFRJT05TX0ZMQUcsCgkgIGtzX29wdGlvbnNfZmxhZ3NfdG9fc3RyaW5nKToKCSAgUmVvcmRlciB0aGUgZmxhZ3MgdG8gbWF0Y2ggdGhlIGhlYWRlcmZpbGUgb3JkZXIsIGFuZCBtYWtlIHRoZSBzdHJpbmcKCSAgYSBiaXQgbW9yZSBjb21wYWN0LgoJICAqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jIChrc192aWRlb19wcm9iZV9maWx0ZXJfZm9yX2NhcHMpOgoJICBBdm9pZCBsZWFraW5nIEtTUFJPUEVSVFlfUElOX0RBVEFSQU5HRVMuCgoyMDA4LTA5LTA5IDE3OjU2OjEwICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIEFkZCBqcDJrIHBsdWdpbi4gIEZpeGVzICM1NTA2NTcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2pwMmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6IChnc3RfamFzcGVyX2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X2phc3Blcl9kZWNfY2xhc3NfaW5pdCksIChnc3RfamFzcGVyX2RlY19pbml0KSwKCSAgKGdzdF9qYXNwZXJfZGVjX3Jlc2V0KSwgKGdzdF9qYXNwZXJfZGVjX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfamFzcGVyX2RlY19uZWdvdGlhdGUpLCAoZ3N0X2phc3Blcl9kZWNfZ2V0X3BpY3R1cmUpLAoJICAoZ3N0X2phc3Blcl9kZWNfY2hhaW4pLCAoZ3N0X2phc3Blcl9kZWNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9qYXNwZXJfZGVjX2dldF9wcm9wZXJ0eSksIChnc3RfamFzcGVyX2RlY19jaGFuZ2Vfc3RhdGUpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5oOgoJICBBZGQganAyayBwbHVnaW4uICBGaXhlcyAjNTUwNjU3LgoKMjAwOC0wOS0wOSAxMTo0Nzo0MiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9tcGVnZGVtdXgvOiBGaXggY29uZmxpY3RpbmcgcHVibGljIG5hbWVzIGluIG5ldyBtcGVnIGRlbXV4ZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2ZsdW1wZWdkZW11eC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IChnc3RfZmx1cHNfZGVtdXhfc3luY19nZXRfdHlwZSksCgkgIChnc3RfZmx1cHNfZGVtdXhfZ2V0X3R5cGUpLCAoZ3N0X2ZsdXBzX2RlbXV4X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6IChnc3RfZmx1dHNfZGVtdXhfZ2V0X3R5cGUpLAoJICAoZ3N0X2ZsdXRzX2RlbXV4X3BsdWdpbl9pbml0KToKCSAgRml4IGNvbmZsaWN0aW5nIHB1YmxpYyBuYW1lcyBpbiBuZXcgbXBlZyBkZW11eGVycy4KCSAgRml4ZXMgIzU1MDQ2OAoKMjAwOC0wOS0wOSAwMToxNDoxMCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuYzogU3VwcG9ydCBjaHVua3MgaW4gQUlGRiBpbiBhbnkgb3JkZXIgaW4gcHVsbCBtb2RlLCBhbmQgYW55IG9yZGVyIHNvIGxvbmcgYXMgd2UgZ2V0IENPTU0gYmVmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6CgkgIFN1cHBvcnQgY2h1bmtzIGluIEFJRkYgaW4gYW55IG9yZGVyIGluIHB1bGwgbW9kZSwgYW5kIGFueSBvcmRlciBzbwoJICBsb25nIGFzIHdlIGdldCBDT01NIGJlZm9yZSB0aGUgYWN0dWFsIGRhdGEgKFNTTkQpIGluIHB1c2ggbW9kZS4KCSAgRml4ZXMgcGxheWJhY2sgb2YgQUlGQyBmaWxlcy4KCjIwMDgtMDktMDggMjA6Mjc6MjMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiBSZXNldCB0aGUgc2VsZWN0b3Igc3RhdGUgd2hlbiBnb2luZyB0byBSRUFEWS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogKGdzdF9zZWxlY3Rvcl9wYWRfcmVzZXQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3Jlc2V0KSwgKGdzdF9pbnB1dF9zZWxlY3Rvcl9jaGFuZ2Vfc3RhdGUpOgoJICBSZXNldCB0aGUgc2VsZWN0b3Igc3RhdGUgd2hlbiBnb2luZyB0byBSRUFEWS4KCjIwMDgtMDktMDUgMTM6NTI6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uKjogQWRkIHNpZ25hbCB0byBub3RpZnkgbGlzdGVuZXJzIHdoZW4gYSBzZW5kZXIgYmVjb21lcyBhIHJlY2VpdmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKG9uX3NlbmRlcl90aW1lb3V0KSwKCSAgKGNyZWF0ZV9zZXNzaW9uKSwgKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChnc3RfcnRwX2Jpbl9zeW5jX2NoYWluKSwgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5fcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgQWRkIHNpZ25hbCB0byBub3RpZnkgbGlzdGVuZXJzIHdoZW4gYSBzZW5kZXIgYmVjb21lcyBhIHJlY2VpdmVyLgoJICBUd2VhayBsaXAtc3luYyBjb2RlLCBkb24ndCBzdG9yZSBvdXIgb3duIGNvcHkgb2YgdGhlIHRzLW9mZnNldCBvZiB0aGUKCSAgaml0dGVyYnVmZmVyLCBkb24ndCBhZGp1c3Qgc3luYyBpZiB0aGUgY2hhbmdlIGlzIGxlc3MgdGhhbiA0bXNlYy4KCSAgR2V0IHRoZSBSVFAgdGltZXN0YW1wIDwtPiBHU3RyZWFtZXIgdGltZXN0YW1wIHJlbGF0aW9uIGRpcmVjdGx5IGZyb20KCSAgdGhlIGppdHRlcmJ1ZmZlciBpbnN0ZWFkIG9mIG91ciBpbmFjY3VyYXRlIHZlcnNpb24gZnJvbSB0aGUgc291cmNlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfc3luYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgIEFkZCBHX0xJS0VMWSBtYWNyb3MsIHVzZSBnbG9iYWwgZGVmaW5lcyBmb3IgbWF4IHBhY2tldCByZW9yZGVyIGFuZAoJICBkcm9wb3V0cy4KCSAgUmVzZXQgdGhlIGppdHRlcmJ1ZmZlciBjbG9jayBza2V3IGRldGVjdGlvbiB3aGVuIHBhY2tldHMgc2VxbnVtcyBhcmUKCSAgY2hhbmdlZCB1bmV4cGVjdGVkbHkuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAob25fc2VuZGVyX3RpbWVvdXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgQWRkIHNlbmRlciB0aW1lb3V0IHNpZ25hbC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX3Jlc2V0X3NrZXcpLAoJICAoY2FsY3VsYXRlX3NrZXcpLCAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF9zeW5jKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgQWRkIHNvbWUgR19MSUtFTFkgbWFjcm9zLgoJICBLZWVwIHRyYWNrIG9mIHRoZSBleHRlbmRlZCBSVFAgdGltZXN0YW1wIHNvIHRoYXQgd2UgY2FuIHJlcG9ydCB0aGUgUlRQCgkgIHRpbWVzdGFtcCA8LT4gR1N0cmVhbWVyIHRpbWVzdGFtcCByZWxhdGlvbiBmb3IgbGlwLXN5bmMuCgkgIFJlbW92ZSBzZXJ2ZXIgdGltZXN0YW1wIGdhcCBkZXRlY3Rpb24gY29kZSwgdGhlIHNlcnZlciBjYW4gc29tZXRpbWVzCgkgIG1ha2UgYSBodWdlIGdhcCBpbiB0aW1lc3RhbXBzICh0YWxrIHNwdXJ0cywuLi4pIHNlZSAjNTQ5Nzc0LgoJICBEZXRlY3QgdGltZXRhbXAgd2VpcmRuZXNzIGluc3RlYWQgYnkgb2JzZXJ2aW5nIHRoZSBzZW5kZXIvcmVjZWl2ZXIKCSAgdGltZXN0YW1wIHJlbGF0aW9uIGFuZCByZXN5bmMgaWYgaXQgY2hhbmdlcyBtb3JlIHRoYW4gMSBzZWNvbmQuCgkgIEFkZCBtZXRob2QgdG8gcmVwb3J0IGFib3V0IHRoZSBjdXJyZW50IHJ0cCA8LT4gZ3N0IHRpbWVzdGFtcCByZWxhdGlvbgoJICB3aGljaCBpcyBuZWVkZWQgZm9yIGxpcC1zeW5jLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAob25fc2VuZGVyX3RpbWVvdXQpLCAoY2hlY2tfY29sbGlzaW9uKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLAoJICAoc2Vzc2lvbl9jbGVhbnVwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEFkZCBzZW5kZXIgdGltZW91dCBzaWduYWwuCgkgIFJlbW92ZSBpbmFjY3VyYXRlIHJ0cCA8LT4gZ3N0IHRpbWVzdGFtcCByZWxhdGlvbiBjb2RlLCB0aGUKCSAgaml0dGVyYnVmZmVyIGNhbiBub3cgZG8gYW4gYWNjdXJhdGUgcmVwb3J0aW5nIGFib3V0IHRoaXMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLAoJICAocnRwX3NvdXJjZV91cGRhdGVfY2FwcyksIChjYWxjdWxhdGVfaml0dGVyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBSZW1vdmUgaW5hY2N1cmF0ZSBydHAgPC0+IGdzdCB0aW1lc3RhbXAgcmVsYXRpb24gY29kZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBEZWZpbmUgZ2xvYmFsIG1heC1yZW9yZGVyIGFuZCBtYXgtZHJvcG91dCBjb25zdGFudHMgZm9yIHVzZSBpbiB2YXJpb3VzCgkgIHN1YnN5c3RlbXMuCgoyMDA4LTA5LTA1IDExOjA3OjMyICswMDAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxtYXJkdWtAay1kLXcub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogQWRkIERWQiBBZGFwdGVyIG5hbWUgdG8gc3RydWN0dXJlIHNlbnQgb3ZlciBidXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogU2ViYXN0aWFuIFDDtmxzdGVybAoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIEFkZCBEVkIgQWRhcHRlciBuYW1lIHRvIHN0cnVjdHVyZSBzZW50IG92ZXIgYnVzLgoKMjAwOC0wOS0wMyAxNDowMjoyOSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCBtcGVnIGRlbXV4ZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBtcGVnIGRlbXV4ZXIKCjIwMDgtMDktMDIgMTc6NDM6NDIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbXBlZ2RlbXV4LzogRml4IGJ1aWxkIG9uIG1hY29zeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogKGdzdF9mbHVwc19kZW11eF9wYXJzZV9wYWNrX3N0YXJ0KToKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6IChnc3RfZmx1dHNfZGVtdXhfZGF0YV9jYik6CgkgIEZpeCBidWlsZCBvbiBtYWNvc3guCgoyMDA4LTA5LTAyIDEyOjA0OjMyICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgQWRkIEZsdWVuZG8gTVBFRyBQUyBhbmQgVFMgZGVtdXhlcnMgdG8gZ3N0LXBsdWdpbnMtYmFkLiBUaGlzIGlzIG5vdyBkdWFsIGxpY2Vuc2VkIE1QTCBhbmQgTEdQTC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWdkZW11eC9mbHVtcGVnZGVtdXguYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcGF0aW5mby5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZmx1dHNwYXRpbmZvLmg6CgkgICogZ3N0L21wZWdkZW11eC9mbHV0c3BtdGluZm8uYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10aW5mby5oOgoJICAqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRzdHJlYW1pbmZvLmM6CgkgICogZ3N0L21wZWdkZW11eC9mbHV0c3BtdHN0cmVhbWluZm8uaDoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmg6CgkgICogZ3N0L21wZWdkZW11eC9nc3RzZWN0aW9uZmlsdGVyLmM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RzZWN0aW9uZmlsdGVyLmg6CgkgIEFkZCBGbHVlbmRvIE1QRUcgUFMgYW5kIFRTIGRlbXV4ZXJzIHRvIGdzdC1wbHVnaW5zLWJhZC4gVGhpcwoJICBpcyBub3cgZHVhbCBsaWNlbnNlZCBNUEwgYW5kIExHUEwuCgoyMDA4LTA5LTAyIDExOjIzOjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzogU2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzogKG5ld19wYWNrZXRfY2IpOgoJICBTZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzLgoKMjAwOC0wOS0wMiAwOTo1Njo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEVuYWJsZS9maXggdXAgdHJhbnNsYXRpb25zIGZvciB0aGVzZSBwbHVnaW5zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvcGx1Z2luLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgICogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6IChwbHVnaW5faW5pdCk6CgkgIEVuYWJsZS9maXggdXAgdHJhbnNsYXRpb25zIGZvciB0aGVzZSBwbHVnaW5zLgoJICAqIHBvL0xJTkdVQVM6CgkgIEFkZCAnY2EnIHRvIExJTkdVQVMuCgkgICogcG8vUE9URklMRVMuaW46CgkgICogcG8vUE9URklMRVMuc2tpcDoKCSAgQWRkIG1vcmUgZmlsZXMgZm9yIHRyYW5zbGF0aW9uIGFuZCBtb3JlIGZpbGVzIHdoaWNoIHRvb2xzCgkgIHNob3VsZCBza2lwLgoKMjAwOC0wOS0wMiAwOTo0NjowNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzogRml4IGJ1aWxkIG9uIG1hY29zeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOiAodHNtdXhfd3JpdGVfdHNfaGVhZGVyKToKCSAgRml4IGJ1aWxkIG9uIG1hY29zeC4KCjIwMDgtMDktMDEgMTc6NTQ6MDAgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGV4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZSBhbmQgYWRkIG1pc3Npbmcgc3ViZGlycyBpbiBNYWtlZmlsZS5hbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZSBhbmQgYWRkIG1pc3Npbmcgc3ViZGlycyBpbiBNYWtlZmlsZS5hbQoKMjAwOC0wOS0wMSAxNzo0OTo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L21wZWd0c211eC9tcGVndHNtdXhfYWFjLmM6IEFsbG9jYXRlIGEgZml4ZWQgc2l6ZSBidWZmZXIgb24gdGhlIHN0YWNrIGluc3RlYWQgb2YgdXNpbmcgbWFsbG9jKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2FhYy5jOiAobXBlZ3RzbXV4X3ByZXBhcmVfYWFjKToKCSAgQWxsb2NhdGUgYSBmaXhlZCBzaXplIGJ1ZmZlciBvbiB0aGUgc3RhY2sgaW5zdGVhZCBvZiB1c2luZyBtYWxsb2MoKS4KCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6ICh0c211eF9uZXcpLCAodHNtdXhfZnJlZSksCgkgICh0c211eF9wcm9ncmFtX25ldyksICh0c211eF9wcm9ncmFtX2ZyZWUpOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzogKHRzbXV4X3N0cmVhbV9uZXcpLAoJICAodHNtdXhfc3RyZWFtX2ZyZWUpLCAodHNtdXhfc3RyZWFtX2NvbnN1bWUpLAoJICAodHNtdXhfc3RyZWFtX2FkZF9kYXRhKToKCSAgVXNlIEdTbGljZS4KCjIwMDgtMDktMDEgMTc6NDc6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgTVBFRzQgdmlkZW8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6IChtcGVndHNtdXhfY3JlYXRlX3N0cmVhbSk6CgkgIEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgTVBFRzQgdmlkZW8uCgoyMDA4LTA5LTAxIDE3OjQxOjM5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L21wZWd0c211eC90c211eC86IEZpeCBidWlsZCBvZiBtcGVndHNtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkgIEZpeCBidWlsZCBvZiBtcGVndHNtdXguCgoyMDA4LTA5LTAxIDE2OjM4OjQwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgRmx1ZW5kbyBNUEVHLVRTIG11eGVyIGFuZCBsaWJ0c211eCB0byBnc3QtcGx1Z2lucy1iYWQuIFRoaXMgaXMgcmVuYW1lZCB0byBtcGVndHNtdXggdG8gcHJldmVudCBjb25mbGljdHMuIEFsc28gYWwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzogKG1wZWd0c211eF9iYXNlX2luaXQpLAoJICAobXBlZ3RzbXV4X2NsYXNzX2luaXQpLCAobXBlZ3RzbXV4X2luaXQpLCAobXBlZ3RzbXV4X2Rpc3Bvc2UpLAoJICAoZ3N0X21wZWd0c211eF9zZXRfcHJvcGVydHkpLCAoZ3N0X21wZWd0c211eF9nZXRfcHJvcGVydHkpLAoJICAocmVsZWFzZV9idWZmZXJfY2IpLCAobXBlZ3RzbXV4X2NyZWF0ZV9zdHJlYW0pLAoJICAobXBlZ3RzbXV4X2NyZWF0ZV9zdHJlYW1zKSwgKG1wZWd0c211eF9jaG9vc2VfYmVzdF9zdHJlYW0pLAoJICAobXBlZ3RzbXV4X2NvbGxlY3RlZCksIChtcGVndHNtdXhfcmVxdWVzdF9uZXdfcGFkKSwKCSAgKG1wZWd0c211eF9yZWxlYXNlX3BhZCksIChuZXdfcGFja2V0X2NiKSwKCSAgKG1wZWd0c2RlbXV4X3ByZXBhcmVfc3JjcGFkKSwgKG1wZWd0c211eF9jaGFuZ2Vfc3RhdGUpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgICogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfYWFjLmM6IChtcGVndHNtdXhfcHJlcGFyZV9hYWMpOgoJICAqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2FhYy5oOgoJICAqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2gyNjQuYzogKG1wZWd0c211eF9wcmVwYXJlX2gyNjQpOgoJICAqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2gyNjQuaDoKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvY3JjLmg6CgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOiAodHNtdXhfbmV3KSwgKHRzbXV4X3NldF93cml0ZV9mdW5jKSwKCSAgKHRzbXV4X3NldF9wYXRfZnJlcXVlbmN5KSwgKHRzbXV4X2dldF9wYXRfZnJlcXVlbmN5KSwgKHRzbXV4X2ZyZWUpLAoJICAodHNtdXhfcHJvZ3JhbV9uZXcpLCAodHNtdXhfc2V0X3BtdF9mcmVxdWVuY3kpLAoJICAodHNtdXhfZ2V0X3BtdF9mcmVxdWVuY3kpLCAodHNtdXhfcHJvZ3JhbV9hZGRfc3RyZWFtKSwKCSAgKHRzbXV4X3Byb2dyYW1fc2V0X3Bjcl9zdHJlYW0pLCAodHNtdXhfZ2V0X25ld19waWQpLAoJICAodHNtdXhfY3JlYXRlX3N0cmVhbSksICh0c211eF9maW5kX3N0cmVhbSksICh0c211eF9wYWNrZXRfb3V0KSwKCSAgKHRzbXV4X3dyaXRlX2FkYXB0YXRpb25fZmllbGQpLCAodHNtdXhfd3JpdGVfdHNfaGVhZGVyKSwKCSAgKHRzbXV4X3dyaXRlX3N0cmVhbV9wYWNrZXQpLCAodHNtdXhfcHJvZ3JhbV9mcmVlKSwKCSAgKHRzbXV4X3dyaXRlX3NlY3Rpb24pLCAodHNtdXhfd3JpdGVfc2VjdGlvbl9oZHIpLAoJICAodHNtdXhfd3JpdGVfcGF0KSwgKHRzbXV4X3dyaXRlX3BtdCk6CgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhjb21tb24uaDoKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6ICh0c211eF9zdHJlYW1fbmV3KSwKCSAgKHRzbXV4X3N0cmVhbV9nZXRfcGlkKSwgKHRzbXV4X3N0cmVhbV9mcmVlKSwKCSAgKHRzbXV4X3N0cmVhbV9zZXRfYnVmZmVyX3JlbGVhc2VfZnVuYyksICh0c211eF9zdHJlYW1fY29uc3VtZSksCgkgICh0c211eF9zdHJlYW1fYXRfcGVzX3N0YXJ0KSwgKHRzbXV4X3N0cmVhbV9ieXRlc19hdmFpbCksCgkgICh0c211eF9zdHJlYW1fYnl0ZXNfaW5fYnVmZmVyKSwgKHRzbXV4X3N0cmVhbV9nZXRfZGF0YSksCgkgICh0c211eF9zdHJlYW1fcGVzX2hlYWRlcl9sZW5ndGgpLAoJICAodHNtdXhfc3RyZWFtX2ZpbmRfcHRzX2R0c193aXRoaW4pLAoJICAodHNtdXhfc3RyZWFtX3dyaXRlX3Blc19oZWFkZXIpLCAodHNtdXhfc3RyZWFtX2FkZF9kYXRhKSwKCSAgKHRzbXV4X3N0cmVhbV9nZXRfZXNfZGVzY3JzKSwgKHRzbXV4X3N0cmVhbV9wY3JfcmVmKSwKCSAgKHRzbXV4X3N0cmVhbV9wY3JfdW5yZWYpLCAodHNtdXhfc3RyZWFtX2lzX3BjciksCgkgICh0c211eF9zdHJlYW1fZ2V0X3B0cyk6CgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5oOgoJICBBZGQgRmx1ZW5kbyBNUEVHLVRTIG11eGVyIGFuZCBsaWJ0c211eCB0byBnc3QtcGx1Z2lucy1iYWQuIFRoaXMKCSAgaXMgcmVuYW1lZCB0byBtcGVndHNtdXggdG8gcHJldmVudCBjb25mbGljdHMuIEFsc28gYWxsIHJlbGV2YW50CgkgIGluZm9ybWF0aW9ucyBhYm91dCBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgYXJlIGFkZGVkIHRvIHRoZSB0b3Agb2YKCSAgZXZlcnkgZmlsZSBidXQgYXBhcnQgZnJvbSB0aGF0IG5vIGNoYW5nZXMgY29tcGFyZWQgdG8gdGhlIGxhdGVzdAoJICBTVk4gdmVyc2lvbnMgaGFwcGVuZWQuCgo9PT0gcmVsZWFzZSAwLjEwLjIxID09PQoKMjAwOC0wOS0wMSAxNjowNTo0NSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzogTm93IHRoYXQgR3N0QmFzZVRyYW5zZm9ybSBpcyAnZml4ZWQnIC4uLiByZW1vdmUgY3J1ZnQgZnJvbSB0ZXN0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOiAoc2V0dXBfYXVkaW9yZXNhbXBsZSksCgkgIChmYWlsX3VubGVzc19wZXJmZWN0X3N0cmVhbSksICh0ZXN0X3BlcmZlY3Rfc3RyZWFtX2luc3RhbmNlKSwKCSAgKHRlc3RfZGlzY29udF9zdHJlYW1faW5zdGFuY2UpOgoJICBOb3cgdGhhdCBHc3RCYXNlVHJhbnNmb3JtIGlzICdmaXhlZCcgLi4uIHJlbW92ZSBjcnVmdCBmcm9tIHRlc3RzLgoJICBBZGQgZGVidWdnaW5nIGZvciBjb2hlcmVuY2UuCgoyMDA4LTA5LTAxIDEzOjIzOjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogUmV1c2UgdGhlIGdldF9saW5rZWRfcGFkcyBmb3IgYm90aCBzb3VyY2UgYW5kIHNpbmtwYWRzIGJlY2F1c2UgdGhleSBhcmUgdGhlIHNhbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IChnc3RfaW5wdXRfc2VsZWN0b3JfaW5pdCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfZXZlbnQpLCAoZ3N0X2lucHV0X3NlbGVjdG9yX3F1ZXJ5KToKCSAgUmV1c2UgdGhlIGdldF9saW5rZWRfcGFkcyBmb3IgYm90aCBzb3VyY2UgYW5kIHNpbmtwYWRzIGJlY2F1c2UgdGhleSBhcmUKCSAgdGhlIHNhbWUuCgkgIEltcGxlbWVudCBhIGN1c3R1bSBldmVudCBoYW5kbGVyIGFuZCBnZXQgdGhlIGludGVybmFsbHkgbGlua2VkIHBhZAoJICBkaXJlY3RseSBpbnN0ZWFkIG9mIHJlbHlpbmcgb24gdGhlIGRlZmF1bHQgKHNsb3dlcikgaW1wbGVtZW50YXRpb24uCgoyMDA4LTA4LTMxIDE1OjAxOjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6IENvcnJlY3RseSB0YWtlIHRoZSBncmFudWxlcG9zIGZyb20gdXBzdHJlYW0gaWYgcG9zc2libGUgYW5kIGNvcnJlY3RseSBoYW5kbGUgdGhlIGdyYW51bGVwb3MgaW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOiAoY2VsdF9kZWNfY2hhaW5fcGFyc2VfZGF0YSk6CgkgIENvcnJlY3RseSB0YWtlIHRoZSBncmFudWxlcG9zIGZyb20gdXBzdHJlYW0gaWYgcG9zc2libGUgYW5kCgkgIGNvcnJlY3RseSBoYW5kbGUgdGhlIGdyYW51bGVwb3MgaW4gdmFyaW91cyBjYWxjdWxhdGlvbnM6IHRoZQoJICBncmFudWxlcG9zIGlzIHRoZSBzYW1wbGUgbnVtYmVyIG9mIHRoZSBfbGFzdF8gc2FtcGxlIGluIGEgZnJhbWUsIG5vdAoJICB0aGUgZmlyc3QuCgkgICogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOiAoZ3N0X2NlbHRfZW5jX3NpbmtldmVudCksCgkgIChnc3RfY2VsdF9lbmNfZW5jb2RlKSwgKGdzdF9jZWx0X2VuY19jaGFpbiksCgkgIChnc3RfY2VsdF9lbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmg6CgkgIEhhbmRsZSBub24temVybyBzdGFydCB0aW1lc3RhbXBzIGluIHRoZSBlbmNvZGVyIGFuZCBkZXRlY3QvaGFuZGxlCgkgIHN0cmVhbSBkaXNjb250aW51aXRpZXMuIEZpeGVzIGJ1ZyAjNTQ3MDc1LgoKMjAwOC0wOC0zMSAxMjoyMDozMyArMDAwMCAgUm92IEp1dmFubyA8cm92anV2YW5vQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEFkZCBzY2FsZXRlbXBvIHBsdWdpbiwgd2hpY2ggYWxsb3dzIHRvIHNjYWxlIHRoZSBzcGVlZCBvZiBhdWRpbyB3aXRob3V0IGNoYW5naW5nIHRoZSBwaXRjaCBieSBoYW5kbGluZyBzZWVrcyB3aXRoIGEgci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJvdiBKdXZhbm8gPHJvdmp1dmFubyBhdCB1c2VycyBkb3Qgc291cmNlZm9yZ2UgZG90IG5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkgICogZXhhbXBsZXMvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6IChwb3Bfc3RhdHVzX2JhciksCgkgIChzdGF0dXNfYmFyX3ByaW50ZiksIChkZW1vX2d1aV9zZWVrX2Jhcl9mb3JtYXQpLCAodXBkYXRlX3Bvc2l0aW9uKSwKCSAgKGRlbW9fZ3VpX3NlZWtfYmFyX2NoYW5nZSksIChkZW1vX2d1aV9kb19jaGFuZ2VfcmF0ZSksCgkgIChkZW1vX2d1aV9kb19zZXRfcmF0ZSksIChkZW1vX2d1aV9kb19yYXRlX2VudGVyZWQpLAoJICAoZGVtb19ndWlfZG9fdG9nZ2xlX2FkdmFuY2VkKSwgKGRlbW9fZ3VpX2RvX3RvZ2dsZV9kaXNhYmxlZCksCgkgIChkZW1vX2d1aV9kb19zZWVrKSwgKGRlbW9fZ3VpX2RvX3BsYXkpLCAoZGVtb19ndWlfZG9fcGF1c2UpLAoJICAoZGVtb19ndWlfZG9fcGxheV9wYXVzZSksIChkZW1vX2d1aV9kb19vcGVuX2ZpbGUpLAoJICAoZGVtb19ndWlfZG9fcGxheWxpc3RfcHJldiksIChkZW1vX2d1aV9kb19wbGF5bGlzdF9uZXh0KSwKCSAgKGRlbW9fZ3VpX2RvX2Fib3V0X2RpYWxvZyksIChkZW1vX2d1aV9kb19xdWl0KSwKCSAgKGRlbW9fZ3VpX3JlcXVlc3Rfc2V0X3N0cmlkZSksIChkZW1vX2d1aV9yZXF1ZXN0X3NldF9vdmVybGFwKSwKCSAgKGRlbW9fZ3VpX3JlcXVlc3Rfc2V0X3NlYXJjaCksIChkZW1vX2d1aV9yYXRlX2NoYW5nZWQpLAoJICAoZGVtb19ndWlfcGxheWluZ19zdGFydGVkKSwgKGRlbW9fZ3VpX3BsYXlpbmdfcGF1c2VkKSwKCSAgKGRlbW9fZ3VpX3BsYXlpbmdfZW5kZWQpLCAoZGVtb19ndWlfcGxheWVyX2Vycm9yZWQpLAoJICAoZGVtb19ndWlfc3RyaWRlX2NoYW5nZWQpLCAoZGVtb19ndWlfb3ZlcmxhcF9jaGFuZ2VkKSwKCSAgKGRlbW9fZ3VpX3NlYXJjaF9jaGFuZ2VkKSwgKGRlbW9fZ3VpX3NldF9wbGF5ZXJfZnVuYyksCgkgIChkZW1vX2d1aV9zZXRfcGxheWxpc3RfZnVuYyksIChidWlsZF9ndmFsdWVfYXJyYXkpLAoJICAoY3JlYXRlX2FjdGlvbiksIChkZW1vX2d1aV9zaG93X2Z1bmMpLCAoZGVtb19ndWlfc2V0X3BsYXllciksCgkgIChkZW1vX2d1aV9zZXRfcGxheWxpc3QpLCAoZGVtb19ndWlfc2hvdyksIChkZW1vX2d1aV9nZXRfcHJvcGVydHkpLAoJICAoZGVtb19ndWlfc2V0X3Byb3BlcnR5KSwgKGRlbW9fZ3VpX2luaXQpLCAoZGVtb19ndWlfY2xhc3NfaW5pdCksCgkgIChkZW1vX2d1aV9nZXRfdHlwZSk6CgkgICogZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5oOgoJICAqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1tYWluLmM6IChoYW5kbGVfZXJyb3JfbWVzc2FnZSksCgkgIChoYW5kbGVfcXVpdCksIChtYWluKToKCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmM6IChub19waXBlbGluZSksCgkgIChkZW1vX3BsYXllcl9ldmVudF9saXN0ZW5lciksIChkZW1vX3BsYXllcl9zdGF0ZV9jaGFuZ2VkX2NiKSwKCSAgKGRlbW9fcGxheWVyX2Vvc19jYiksIChkZW1vX3BsYXllcl9idWlsZF9waXBlbGluZSksIChfc2V0X3JhdGUpLAoJICAoZGVtb19wbGF5ZXJfc2NhbGVfcmF0ZV9mdW5jKSwgKGRlbW9fcGxheWVyX3NldF9yYXRlX2Z1bmMpLAoJICAoX3NldF9zdGF0ZV9hbmRfd2FpdCksIChkZW1vX3BsYXllcl9sb2FkX3VyaV9mdW5jKSwKCSAgKGRlbW9fcGxheWVyX3BsYXlfZnVuYyksIChkZW1vX3BsYXllcl9wYXVzZV9mdW5jKSwgKF9zZWVrX3RvKSwKCSAgKGRlbW9fcGxheWVyX3NlZWtfYnlfZnVuYyksIChkZW1vX3BsYXllcl9zZWVrX3RvX2Z1bmMpLAoJICAoZGVtb19wbGF5ZXJfZ2V0X3Bvc2l0aW9uX2Z1bmMpLCAoZGVtb19wbGF5ZXJfZ2V0X2R1cmF0aW9uX2Z1bmMpLAoJICAoZGVtb19wbGF5ZXJfc2NhbGVfcmF0ZSksIChkZW1vX3BsYXllcl9zZXRfcmF0ZSksCgkgIChkZW1vX3BsYXllcl9sb2FkX3VyaSksIChkZW1vX3BsYXllcl9wbGF5KSwgKGRlbW9fcGxheWVyX3BhdXNlKSwKCSAgKGRlbW9fcGxheWVyX3NlZWtfYnkpLCAoZGVtb19wbGF5ZXJfc2Vla190byksCgkgIChkZW1vX3BsYXllcl9nZXRfcG9zaXRpb24pLCAoZGVtb19wbGF5ZXJfZ2V0X2R1cmF0aW9uKSwKCSAgKGRlbW9fcGxheWVyX2dldF9wcm9wZXJ0eSksIChkZW1vX3BsYXllcl9zZXRfcHJvcGVydHkpLAoJICAoZGVtb19wbGF5ZXJfaW5pdCksIChkZW1vX3BsYXllcl9jbGFzc19pbml0KSwKCSAgKGRlbW9fcGxheWVyX2dldF90eXBlKToKCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmg6CgkgICogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOiAoYmVzdF9vdmVybGFwX29mZnNldF9mbG9hdCksCgkgIChiZXN0X292ZXJsYXBfb2Zmc2V0X3MxNiksIChvdXRwdXRfb3ZlcmxhcF9mbG9hdCksCgkgIChvdXRwdXRfb3ZlcmxhcF9zMTYpLCAoZmlsbF9xdWV1ZSksIChyZWluaXRfYnVmZmVycyksCgkgIChnc3Rfc2NhbGV0ZW1wb190cmFuc2Zvcm0pLCAoZ3N0X3NjYWxldGVtcG9fdHJhbnNmb3JtX3NpemUpLAoJICAoZ3N0X3NjYWxldGVtcG9fc2lua19ldmVudCksIChnc3Rfc2NhbGV0ZW1wb19zZXRfY2FwcyksCgkgIChnc3Rfc2NhbGV0ZW1wb19nZXRfcHJvcGVydHkpLCAoZ3N0X3NjYWxldGVtcG9fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zY2FsZXRlbXBvX2Jhc2VfaW5pdCksIChnc3Rfc2NhbGV0ZW1wb19jbGFzc19pbml0KSwKCSAgKGdzdF9zY2FsZXRlbXBvX2luaXQpOgoJICAqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uaDoKCSAgKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvcGx1Z2luLmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZCBzY2FsZXRlbXBvIHBsdWdpbiwgd2hpY2ggYWxsb3dzIHRvIHNjYWxlIHRoZSBzcGVlZCBvZiBhdWRpbyB3aXRob3V0CgkgIGNoYW5naW5nIHRoZSBwaXRjaCBieSBoYW5kbGluZyBzZWVrcyB3aXRoIGEgcmF0ZSE9MS4wLgoJICBJbnRlZ3JhdGUgaXQgaW50byB0aGUgZG9jcyBhbmQgYWRkIHRoZSBleGFtcGxlIGFwcGxpY2F0aW9uIGZvciBpdC4KCSAgRml4ZXMgYnVnICM1Mzc3MDAuCgoyMDA4LTA4LTMwIDIwOjIyOjAxICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzogRml4IHNvbWUgbWVtbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzogRml4IHNvbWUgbWVtbGVha3MuCgoyMDA4LTA4LTMwIDA2OjMwOjQyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzogRml4IEVPUyBoYW5kbGluZy4gIENsZWFuIHVwIGF0IG9iamVjdCBkaXNwb3NhbC4gIEhhbmRsZSA0OjI6MiBhbmQgNDo0OjQgdmlkZW8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzogRml4IEVPUyBoYW5kbGluZy4gIENsZWFuIHVwIGF0CgkgIG9iamVjdCBkaXNwb3NhbC4gIEhhbmRsZSA0OjI6MiBhbmQgNDo0OjQgdmlkZW8uCgoyMDA4LTA4LTI5IDE0OjA1OjI1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOiBGaXggY29tcGlsZXIgd2FybmluZyBvbiBGb3J0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5nIG9uIEZvcnRlLgoKMjAwOC0wOC0yOSAxMzo1NzozOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IENvbW1pdCBGSU9OUkVBRAljaGVjaywgbmVlZGVkIGZvciB0aGUgZGNjcCBzcmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ29tbWl0IEZJT05SRUFECWNoZWNrLCBuZWVkZWQgZm9yIHRoZSBkY2NwIHNyYy4KCjIwMDgtMDgtMjkgMTI6MTY6MjcgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUgdG8gaW5jbHVkZSBsYXRlc3QgcGx1Z2lucywgYWRkIGFwZXhzcmMgZGlyZXRvcnkgdG8gZGlzdGVkIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlIHRvIGluY2x1ZGUgbGF0ZXN0IHBsdWdpbnMsIGFkZCBhcGV4c3JjIGRpcmV0b3J5IHRvIGRpc3RlZCBmaWxlcwoKMjAwOC0wOC0yOSAxMTozNjo0MSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9mYWFjL2dzdGZhYWMuKjogQWRkIGNvZGUgZm9yIGNhbGN1bGF0aW5nIHByb3BlciB0aW1lc3RhbXAvZHVyYXRpb24gZm9yIHRoZSB0cmFpbGluZyBlbmNvZGVkIGJ1ZmZlcnMgdGhhdCBmYWFjIHdpbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19pbml0KSwgKGdzdF9mYWFjX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2ZhYWNfY2hhaW4pLCAoZ3N0X2ZhYWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkgIEFkZCBjb2RlIGZvciBjYWxjdWxhdGluZyBwcm9wZXIgdGltZXN0YW1wL2R1cmF0aW9uIGZvciB0aGUgdHJhaWxpbmcKCSAgZW5jb2RlZCBidWZmZXJzIHRoYXQgZmFhYyB3aWxsIG91dHB1dCB3aGVuIHJlY2VpdmluZyBFT1MuCgoyMDA4LTA4LTI5IDA4OjU3OjE0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IEZpeCBDRkxBR1MgYW5kIExJQlMgZm9yIHRoZSBhcGV4c2luay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggQ0ZMQUdTIGFuZCBMSUJTIGZvciB0aGUgYXBleHNpbmsuCgoyMDA4LTA4LTI4IDIyOjAyOjI4ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmMgKGtzX3ZpZGVvX21lZGlhX3R5cGVfZnJlZSk6IEF2b2lkIGxlYWtpbmcgdGhlIEtTREFUQVJBTkdFIG1lbWJlciBvZiBlYWNoIEtzVmlkZW9NZWRpYVR5cGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jIChrc192aWRlb19tZWRpYV90eXBlX2ZyZWUpOgoJICBBdm9pZCBsZWFraW5nIHRoZSBLU0RBVEFSQU5HRSBtZW1iZXIgb2YgZWFjaCBLc1ZpZGVvTWVkaWFUeXBlLgoKMjAwOC0wOC0yOCAxNzoxNjo1MSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvZGNjcC86IEZpeCBjb21waWxhdGlvbiBvbiBTb2xhcmlzIGJ5IGluY2x1ZGluZyBmaWxpby5oIGFzIG5lZWRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuYzoKCSAgRml4IGNvbXBpbGF0aW9uIG9uIFNvbGFyaXMgYnkgaW5jbHVkaW5nIGZpbGlvLmggYXMgbmVlZGVkLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6CgkgIEZpeCBjb21waWxhdGlvbiB3aXRoIEZvcnRlIC0gYXBwYXJlbnRseSBpdCBoYXRlcyBjb25jYXRlbmF0aW5nIGEKCSAgbWFjcm8gYXJndW1lbnQgdGhhdCBzdGFydHMgd2l0aCBhbiB1bmRlcnNjb3JlPz8KCjIwMDgtMDgtMjggMTc6MDE6MzAgKzAwMDAgIErDqXLDqW1pZSBCZXJuYXJkIDxncmVtaW1haWxAZ21haWwuY29tPgoKCSAgQWRkIGFwZXhzaW5rIGZvciBhdWRpbyBvdXRwdXQgdG8gQXBwbGUgQWlyUG9ydCBFeHByZXNzIFdpcmVsZXNzIGRldmljZXMuIEZpeGVzIGJ1ZyAjNTQyNTEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IErDqXLDqW1pZSBCZXJuYXJkIDxncmVtaW1haWwgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2FwZXhzaW5rL0xHUEwtMy4wLnR4dDoKCSAgKiBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2FwZXhzaW5rL2dzdGFwZXhwbHVnaW4uYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvYXBleHNpbmsvZ3N0YXBleHJhb3AuYzogKGdfc3RyZGVsKSwgKGdzdF9hcGV4cmFvcF9zZW5kKSwKCSAgKGdzdF9hcGV4cmFvcF9yZWN2KSwgKGdzdF9hcGV4cmFvcF9uZXcpLCAoZ3N0X2FwZXhyYW9wX2ZyZWUpLAoJICAoZ3N0X2FwZXhyYW9wX3NldF9ob3N0KSwgKGdzdF9hcGV4cmFvcF9nZXRfaG9zdCksCgkgIChnc3RfYXBleHJhb3Bfc2V0X3BvcnQpLCAoZ3N0X2FwZXhyYW9wX2dldF9wb3J0KSwKCSAgKGdzdF9hcGV4cmFvcF9zZXRfdXNlcmFnZW50KSwgKGdzdF9hcGV4cmFvcF9nZXRfdXNlcmFnZW50KSwKCSAgKGdzdF9hcGV4cmFvcF9jb25uZWN0KSwgKGdzdF9hcGV4cmFvcF9nZXRfamFja3R5cGUpLAoJICAoZ3N0X2FwZXhyYW9wX2dldF9qYWNrc3RhdHVzKSwgKGdzdF9hcGV4cmFvcF9jbG9zZSksCgkgIChnc3RfYXBleHJhb3Bfc2V0X3ZvbHVtZSksIChnc3RfYXBleHJhb3Bfd3JpdGVfYml0cyksCgkgIChnc3RfYXBleHJhb3Bfd3JpdGUpLCAoZ3N0X2FwZXhyYW9wX2ZsdXNoKToKCSAgKiBleHQvYXBleHNpbmsvZ3N0YXBleHJhb3AuaDoKCSAgKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzogKGdzdF9hcGV4c2lua19qYWNrc3RhdHVzX2dldF90eXBlKSwKCSAgKGdzdF9hcGV4c2lua19qYWNrdHlwZV9nZXRfdHlwZSksIChnc3RfYXBleHNpbmtfaW50ZXJmYWNlc19pbml0KSwKCSAgKGdzdF9hcGV4c2lua19pbXBsZW1lbnRzX2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF9hcGV4c2lua19taXhlcl9pbnRlcmZhY2VfaW5pdCksCgkgIChnc3RfYXBleHNpbmtfaW50ZXJmYWNlX3N1cHBvcnRlZCksCgkgIChnc3RfYXBleHNpbmtfbWl4ZXJfbGlzdF90cmFja3MpLCAoZ3N0X2FwZXhzaW5rX21peGVyX3NldF92b2x1bWUpLAoJICAoZ3N0X2FwZXhzaW5rX21peGVyX2dldF92b2x1bWUpLCAoZ3N0X2FwZXhzaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfYXBleHNpbmtfY2xhc3NfaW5pdCksIChnc3RfYXBleHNpbmtfaW5pdCksCgkgIChnc3RfYXBleHNpbmtfc2V0X3Byb3BlcnR5KSwgKGdzdF9hcGV4c2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2FwZXhzaW5rX2ZpbmFsaXNlKSwgKGdzdF9hcGV4c2lua19vcGVuKSwKCSAgKGdzdF9hcGV4c2lua19wcmVwYXJlKSwgKGdzdF9hcGV4c2lua193cml0ZSksCgkgIChnc3RfYXBleHNpbmtfdW5wcmVwYXJlKSwgKGdzdF9hcGV4c2lua19kZWxheSksCgkgIChnc3RfYXBleHNpbmtfcmVzZXQpLCAoZ3N0X2FwZXhzaW5rX2Nsb3NlKToKCSAgKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuaDoKCSAgQWRkIGFwZXhzaW5rIGZvciBhdWRpbyBvdXRwdXQgdG8gQXBwbGUgQWlyUG9ydCBFeHByZXNzIFdpcmVsZXNzCgkgIGRldmljZXMuIEZpeGVzIGJ1ZyAjNTQyNTEwLgoKMjAwOC0wOC0yOCAxNToyMTo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogU2VuZCBFT1Mgd2hlbiB0aGUgc2Vzc2lvbiBvYmplY3QgaW5zdHJ1Y3RzIHVzIHRvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKToKCSAgU2VuZCBFT1Mgd2hlbiB0aGUgc2Vzc2lvbiBvYmplY3QgaW5zdHJ1Y3RzIHVzIHRvLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgTWFrZSBpdCBwb3NzaWJsZSBmb3IgdGhlIHNlc3Npb24gbWFuYWdlciB0byBpbnN0cnVjdCB1cyB0byBzZW5kIEVPUy4gV2UKCSAgY3VycmVudGx5IHdpbGwgRU9TIHdoZW4gdGhlIHNlc3Npb24gaXMgYSBzZW5kZXIgYW5kIHdoZW4gdGhlIHNlbmRlciBwYXJ0CgkgIGdvZXMgRU9TLiBUaGlzIGlzIG5vdCBlbnRpcmVseSBjb3JyZWN0IGJlaGF2aW91ciBiZWNhdXNlIHRoZSBzZXNzaW9uCgkgIGNvdWxkIHN0aWxsIHBhcnRpY2lwYXRlIGFzIGEgcmVjZWl2ZXIuCgkgIEZpeGVzICM1NDk0MDkuCgoyMDA4LTA4LTI4IDAxOjAzOjI0ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOiBSZWFkIHNpemUgb2YgY2h1bmtzIHByZWNlZWRpbmcgdGhlIGF1ZGlvIGRhdGEgd2l0aCB0aGUgY29ycmVjdCBlbmRpYW5uZXNzLiBGaXhlcyBwbGF5YmFjayAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuYzoKCSAgUmVhZCBzaXplIG9mIGNodW5rcyBwcmVjZWVkaW5nIHRoZSBhdWRpbyBkYXRhIHdpdGggdGhlCgkgIGNvcnJlY3QgZW5kaWFubmVzcy4gRml4ZXMgcGxheWJhY2sgb2Ygc29tZSBmaWxlcy4KCSAgRml4ZXMgIzUzODUwMAoKMjAwOC0wOC0yOCAwMDoyNToyOCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgQWRkIGFuIEFJRkYgcGFyc2luZyBlbGVtZW50LCBoZWF2aWx5IGJhc2VkIG9uIHdhdnBhcnNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2FpZmZwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOgoJICAqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmg6CgkgIEFkZCBhbiBBSUZGIHBhcnNpbmcgZWxlbWVudCwgaGVhdmlseSBiYXNlZCBvbiB3YXZwYXJzZS4KCjIwMDgtMDgtMjcgMjE6MzM6MDcgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkgIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmMgKGdzdF9rc192aWRlb19kZXZpY2VfY2xhc3NfaW5pdCwgZ3N0X2tzX3ZpZGVvX2RldmljZV9zZXRfc3RhdGUpOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jIChnc3Rfa3NfdmlkZW9fZGV2aWNlX2NsYXNzX2luaXQsCgkgIGdzdF9rc192aWRlb19kZXZpY2Vfc2V0X3N0YXRlKToKCSAgRG9uJ3Qgc2V0IHRoZSBwaW4gc3RhdGUgdG8gS1NTVEFURV9SVU4gZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZC4KCSAgU2tpcCBLU1NUQVRFX0FDUVVJUkUgd2hlbiBjaGFuZ2luZyBwaW4gc3RhdGUgZG93bndhcmRzLgoJICBCZSBuaWNlIGFuZCBzcGVjaWZ5IEdfUEFSQU1fU1RBVElDX1NUUklOR1MuCgkgIFJlbW92ZSB1bnVzZWQgZmluYWxpemUgbWV0aG9kLgoJICAqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmMgKERFRkFVTFRfRU5BQkxFX1FVSVJLUywgUFJPUF9FTkFCTEVfUVVJUktTLAoJICBlbmFibGVfcXVpcmtzLCBnc3Rfa3NfdmlkZW9fc3JjX2NsYXNzX2luaXQsIGdzdF9rc192aWRlb19zcmNfaW5pdCwKCSAgZ3N0X2tzX3ZpZGVvX3NyY19maW5hbGl6ZSwgZ3N0X2tzX3ZpZGVvX3NyY19nZXRfcHJvcGVydHksCgkgIGdzdF9rc192aWRlb19zcmNfc2V0X3Byb3BlcnR5LCBnc3Rfa3NfdmlkZW9fc3JjX3Jlc2V0LAoJICBnc3Rfa3NfdmlkZW9fc3JjX2FwcGx5X2RyaXZlcl9xdWlya3MsIGdzdF9rc192aWRlb19zcmNfY2hhbmdlX3N0YXRlLAoJICBnc3Rfa3NfdmlkZW9fc3JjX3NldF9jYXBzKToKCSAgRmlyc3QgZHJpdmVyIHF1aXJrOiB3b3JrIGFyb3VuZCBMb2dpdGVjaCdzIGhvc3RpbGUgZHJpdmVyIHNvZnR3YXJlIHRvCgkgIGltcHJvdmUgc3RhYmlsaXR5IGFuZCBwZXJmb3JtYW5jZS4gU2VlIGNvbW1lbnRzIGZvciBkZXRhaWxzLgoJICBQcm92aWRlIGEgcHJvcGVydHkgdG8gZGlzYWJsZSBkcml2ZXIgcXVpcmtzIChlbmFibGVkIGJ5IGRlZmF1bHQpLgoJICBCZSBuaWNlIGFuZCBzcGVjaWZ5IEdfUEFSQU1fU1RBVElDX1NUUklOR1MuCgkgIFJlbW92ZSB1bnVzZWQgZGlzcG9zZSBtZXRob2QuCgkgIFR3ZWFrIGluY2x1ZGUgb3JkZXIuCgoyMDA4LTA4LTI3IDE1OjQ1OjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogSW1wbGVtZW50IHRoZSBMQVRFTkNZIHF1ZXJ5IGluIGEgYmV0dGVyIHdheSBieSB0YWtpbmcgdGhlIGxhdGVuY3kgb2YgYWxsIHNpbmtwYWRzIGFuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IChnc3RfaW5wdXRfc2VsZWN0b3JfaW5pdCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfcXVlcnkpOgoJICBJbXBsZW1lbnQgdGhlIExBVEVOQ1kgcXVlcnkgaW4gYSBiZXR0ZXIgd2F5IGJ5IHRha2luZyB0aGUgbGF0ZW5jeSBvZiBhbGwKCSAgc2lua3BhZHMgYW5kIHRha2luZyB0aGUgbWluL21heCBpbnN0ZWFkIG9mIGp1c3QgdGFraW5nIGEgcmFuZG9tIHBhZC4KCjIwMDgtMDgtMjYgMTI6MzM6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvOiBVbnJvbGwgdGhlIGxvb3AgdG8gaGFuZGxlIHR3byBieXRlcyBhdCBvbmNlLiBUaGlzIHNob3VsZCBnaXZlIGEgc21hbGwgc3BlZWR1cCBhbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TdHJhbmdlQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1dpZXJkQm9iLmluYzoKCSAgVW5yb2xsIHRoZSBsb29wIHRvIGhhbmRsZSB0d28gYnl0ZXMgYXQgb25jZS4gVGhpcyBzaG91bGQgZ2l2ZQoJICBhIHNtYWxsIHNwZWVkdXAgYW5kIG1ha2VzIGl0IHBvc3NpYmxlIHRvIGhhbmRsZSBjaHJvbWEgYW5kIGx1bWEKCSAgZGlmZmVyZW50IHdoaWNoIGlzIG5lZWRlZCBsYXRlci4KCjIwMDgtMDgtMjYgMTE6MTg6MzggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay4qOiBEb24ndCBwdXQgZ2xvYmFscyBvbmx5IHVzZWQgYnkgb25lICcuYycgZmlsZSBpbiBhIGhlYWRlciAhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuaDoKCSAgRG9uJ3QgcHV0IGdsb2JhbHMgb25seSB1c2VkIGJ5IG9uZSAnLmMnIGZpbGUgaW4gYSBoZWFkZXIgIQoJICBEZWNsYXJlIGl0IGFzIHN0YXRpYywgZml4ZXMgYnVpbGQgb24gbWFjb3N4LgoKMjAwOC0wOC0yNiAxMToxMzoyNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9kY2NwL2dzdGRjY3AuYzogV2hvb3BzLCB0aGF0IHdhcyBvbmUgZml4IHRvbyBtdWNoIDopCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kY2NwL2dzdGRjY3AuYzogKGdzdF9kY2NwX3NlbmRfYnVmZmVyKToKCSAgV2hvb3BzLCB0aGF0IHdhcyBvbmUgZml4IHRvbyBtdWNoIDopCgoyMDA4LTA4LTI2IDExOjA4OjM0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2RjY3AvZ3N0ZGNjcC5jOiBzaXplX3QncyBzaXplIHZhcmllcyBieSBwbGF0Zm9ybS9hcmNoaXRlY3R1cmUuIFVzZSBnbGliIGNvbnZlbmllbmNlIG1hY3JvIGluc3RlYWQuIEZpeGVzIGJ1aWxkIG9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kY2NwL2dzdGRjY3AuYzogKGdzdF9kY2NwX3JlYWRfYnVmZmVyKSwKCSAgKGdzdF9kY2NwX3NlbmRfYnVmZmVyKSwgKGdzdF9kY2NwX3NldF9zb2NrX3dpbmRvd3NpemUpOgoJICBzaXplX3QncyBzaXplIHZhcmllcyBieSBwbGF0Zm9ybS9hcmNoaXRlY3R1cmUuIFVzZSBnbGliIGNvbnZlbmllbmNlCgkgIG1hY3JvIGluc3RlYWQuIEZpeGVzIGJ1aWxkIG9uIG1hY29zeC4KCSAgUmVtb3ZlIGVuZGluZyAnXG4nIGluIGRlYnVnIHN0YXRlbWVudHMuCgoyMDA4LTA4LTI2IDExOjAxOjQzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzogUmVtb3ZlIHVudXNlZCBjb2RlIGFuZCBmaXggaW5jbHVkZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6IChnc3RfcGNhcF9wYXJzZV9jbGFzc19pbml0KToKCSAgUmVtb3ZlIHVudXNlZCBjb2RlIGFuZCBmaXggaW5jbHVkZXMuCgoyMDA4LTA4LTI1IDE0OjM3OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyLzogRmlyc3QgcGFydCBvZiB0aGUgQyBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgdG9tc21vY29tcCBkZWludGVybGFjaW5nIGFsZ29yaXRobS4gVGhpcyBvbmx5IHN1cHBvcnRzIHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BUb3AuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU3RyYW5nZUJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1dpZXJkQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDoKCSAgRmlyc3QgcGFydCBvZiB0aGUgQyBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgdG9tc21vY29tcCBkZWludGVybGFjaW5nCgkgIGFsZ29yaXRobS4gVGhpcyBvbmx5IHN1cHBvcnRzIHNlYXJjaC1lZmZvcnQ9MCBjdXJyZW50bHksIGlzIHBhaW5mdWxseQoJICBzbG93IGFuZCBuZWVkcyBzb21lIGNsZWFudXAgbGF0ZXIgd2hlbiBhbGwgc2VhcmNoLWVmZm9ydCBzZXR0aW5ncwoJICBhcmUgaW1wbGVtZW50ZWQgaW4gQy4KCjIwMDgtMDgtMjQgMjI6MDU6NDggKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBOZXcgcGx1Z2luIGZvciBsb3ctbGF0ZW5jeSB2aWRlbyBjYXB0dXJlIG9uIFdpbmRvd3MgKCM1MTk5MzUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy93aW5rcy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2lua3MvZ3N0a3NjbG9jay5jOgoJICAqIHN5cy93aW5rcy9nc3Rrc2Nsb2NrLmg6CgkgICogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSAgKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5oOgoJICAqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkgICogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuaDoKCSAgKiBzeXMvd2lua3Mva3NoZWxwZXJzLmM6CgkgICogc3lzL3dpbmtzL2tzaGVscGVycy5oOgoJICAqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJICAqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5oOgoJICBOZXcgcGx1Z2luIGZvciBsb3ctbGF0ZW5jeSB2aWRlbyBjYXB0dXJlIG9uIFdpbmRvd3MgKCM1MTk5MzUpLgoJICBVc2VzIEtlcm5lbCBTdHJlYW1pbmcsIHRoZSBsb3dlc3QgbGV2ZWwgQVBJIGZvciBkb2luZyB2aWRlbyBjYXB0dXJlCgkgIG9uIFdpbmRvd3MgKG1vcmUgb3IgbGVzcyBqdXN0IHJhdyBpb2N0bHMpLgoKMjAwOC0wOC0yNCAxNjo1NTo0OCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIEFkZGVkIGRvY3VtZW50YXRpb24gYmxvYnMuIFRoYW5rcyB0byBTdGVmYW4gZm9yIG5vdGljaW5nIQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICAqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmM6CgkgICogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuYzoKCSAgQWRkZWQgZG9jdW1lbnRhdGlvbiBibG9icy4gVGhhbmtzIHRvIFN0ZWZhbiBmb3Igbm90aWNpbmchCgoyMDA4LTA4LTI0IDEzOjUzOjI5ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgTmV3IHBsdWdpbjogcGNhcHBhcnNlICgjNTIwODk5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5oOgoJICBOZXcgcGx1Z2luOiBwY2FwcGFyc2UgKCM1MjA4OTkpLgoKMjAwOC0wOC0yNCAxMzoyMzo0NCArMDAwMCAgSGFha29uIFNwb3JzaGVpbSA8aGFrb24uc3BvcnNoZWltQHRhbmRiZXJnLmNvbT4KCgkgIE5ldyBwbHVnaW46IHdpbnNjcmVlbmNhcCAoIzQ2Mzk0MSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSGFha29uIFNwb3JzaGVpbSA8aGFrb24uc3BvcnNoZWltQHRhbmRiZXJnLmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy93aW5zY3JlZW5jYXAvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuYzoKCSAgKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5oOgoJICAqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmM6CgkgICogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuaDoKCSAgKiBzeXMvd2luc2NyZWVuY2FwL2dzdHdpbnNjcmVlbmNhcC5jOgoJICAqIHN5cy93aW5zY3JlZW5jYXAvZ3N0d2luc2NyZWVuY2FwLmg6CgkgIE5ldyBwbHVnaW46IHdpbnNjcmVlbmNhcCAoIzQ2Mzk0MSkuCgoyMDA4LTA4LTIzIDAwOjAxOjM5ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuYzogRmxpcCBtcGVnMS9tcGVnMiBhcnJheXMgZm9yIG1wZWcgYXVkaW8uIERldGVjdCB3aGljaCB0eXBlIHRoZSBhdWRpbyBpcyBjb3JyZWMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmM6CgkgIEZsaXAgbXBlZzEvbXBlZzIgYXJyYXlzIGZvciBtcGVnIGF1ZGlvLiBEZXRlY3Qgd2hpY2ggdHlwZSB0aGUgYXVkaW8KCSAgaXMgY29ycmVjdGx5LCBpbnN0ZWFkIG9mIGJhY2t3YXJkcy4gTm8gZnVuY3Rpb25hbCBjaGFuZ2VzLCBzaW5jZSB0aGlzCgkgIG1pc3Rha2Ugd2FzIGNvbXBsZXRlbHkgc2VsZi1jb25zaXN0ZW50LgoKMjAwOC0wOC0yMiAwNjoyNzo1NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDogQWRkLCBidXQgY29tbWVudGVkIG91dCB4bWwvZWxlbWVudC1kYzEzOTQueG1sLiBJdHMgZG9jdW1lbnRlZCwgYnV0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIEFkZCwgYnV0IGNvbW1lbnRlZCBvdXQgeG1sL2VsZW1lbnQtZGMxMzk0LnhtbC4gSXRzIGRvY3VtZW50ZWQsIGJ1dAoJICBJIGNhbid0IGdldCBpdCB0byBiZSBidWlsZC4KCSAgKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkgICogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBGaXggZG9jIHdhcm5pbmdzIGFuZCByZWZvcm1hdCB0aGUgZG9jIGJsb2NrLgoKMjAwOC0wOC0yMSAxMzoyMjozOCArMDAwMCAgTGVhbmRybyBNZWxvIGRlIFNhbGVzIDxsZWFuZHJvYWxAZ21haWwuY29tPgoKCSAgQWRkIGRjY3AgcGx1Z2luLiBGaXhlcyAjNTQyMzkwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IExlYW5kcm8gTWVsbyBkZSBTYWxlcyA8bGVhbmRyb2FsQGdtYWlsLmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSAgKiBnc3QvZGNjcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcC5oOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuaDoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5oOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BwbHVnaW4uYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmg6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuaDoKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL1JFQURNRToKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL2NhbGwvUkVBRE1FOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvY2FsbC9EQ0NQQ2xpZW50LmM6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9jYWxsL0RDQ1BTZXJ2ZXIuYzoKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL2ZpbGUvRENDUENsaWVudFNhdmVGaWxlLmM6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9maWxlL0RDQ1BTZXJ2ZXJTZW5kRmlsZS5jOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvbWljL0RDQ1BDbGllbnRQbGF5TWljLmM6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9taWMvRENDUFNlcnZlck1pYy5jOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvbXAzL0RDQ1BDbGllbnRQbGF5TVAzLmM6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9tcDMvRENDUFNlcnZlclNlbmRNUDMuYzoKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL21wM1NwZWV4L0RDQ1BDbGllbnRQbGF5U3BlZXhNUDMuYzoKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL21wM1NwZWV4L0RDQ1BTZXJ2ZXJTZW5kU3BlZXhNUDMuYzoKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL21wM1N0cmVhbS9EQ0NQQ2xpZW50UGxheU1QM1N0cmVhbS5jOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvbXAzU3RyZWFtL0RDQ1BTZXJ2ZXJTZW5kTVAzU3RyZWFtLmM6CgkgIEFkZCBkY2NwIHBsdWdpbi4gRml4ZXMgIzU0MjM5MC4KCjIwMDgtMDgtMjAgMjI6MjQ6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFJlbW92ZSBiaXRzIHRoYXQgcHJlc3VtYWJseSB3ZXJlbid0IHN1cHBvc2VkIHRvIGJlIGNvbW1pdHRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZW1vdmUgYml0cyB0aGF0IHByZXN1bWFibHkgd2VyZW4ndCBzdXBwb3NlZCB0byBiZSBjb21taXR0ZWQuCgoyMDA4LTA4LTIwIDIxOjQ0OjIyICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBBZGQgbmV3IHdpbmRvd3MgQUNNIGVuY29kZXIgd3JhcHBlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJICAqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkgIEFkZCBuZXcgd2luZG93cyBBQ00gZW5jb2RlciB3cmFwcGVyLgoKMjAwOC0wOC0xOCAxMToxMzowNyArMDAwMCAgTWljaGFlbCBLcnVma3kgPG1rcnVma3lAbGludXh0di5vcmc+CgoJICBzeXMvZHZiLzogQWRkIEFUU0MgdHVubmluZyBhbmQgY2hhbm5lbHMuY29uZiBwYXJzaW5nIHN1cHBvcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogTWljaGFlbCBLcnVma3kKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICAqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBBZGQgQVRTQyB0dW5uaW5nIGFuZCBjaGFubmVscy5jb25mIHBhcnNpbmcgc3VwcG9ydC4KCSAgRml4ZXMgIzUzNzQ1NQoKMjAwOC0wOC0xMyAyMTo1ODowOCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzLzogSW5pdGlhbGlzZSBDT00gd2l0aCBkZWZhdWx0IGZsYWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuYzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuaDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuYzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuaDoKCSAgKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICAqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5oOgoJICBJbml0aWFsaXNlIENPTSB3aXRoIGRlZmF1bHQgZmxhZ3MuCgkgIE9ubHkgZGVpbml0aWFsaXNlIGlmIHRoZSBpbml0aWFsaXNhdGlvbiB3YXMgc3VjY2Vzc2Z1bC4KCjIwMDgtMDgtMTMgMTQ6MzE6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUmVzZXQgcnRwIHRpbWVzdGFtcCBpbnRlcnBvbGxhdGlvbiB3aGVuIHdlIGRldGVjdCBhIGdhcCB3aGVuIHRoZSBjbG9ja19iYXNlIGNoYW5nZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGdzdF9ydHBfYmluX3N5bmNfY2hhaW4pLCAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgUmVzZXQgcnRwIHRpbWVzdGFtcCBpbnRlcnBvbGxhdGlvbiB3aGVuIHdlIGRldGVjdCBhIGdhcCB3aGVuIHRoZQoJICBjbG9ja19iYXNlIGNoYW5nZWQuCgkgIERvbid0IHRyeSB0byBhZGp1c3QgdGhlIHRzLW9mZnNldCB3aGVuIGl0J3MgdG9vIGJpZyAoPiAzc2Vjb25kcykKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fc2V0X3NzcmMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgQWRkIG1ldGhvZCB0byBzZXQgc2Vzc2lvbiBTU1JDLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKGNoZWNrX2NvbGxpc2lvbiksCgkgIChydHBfc2Vzc2lvbl9zZXRfaW50ZXJuYWxfc3NyYyksIChydHBfc2Vzc2lvbl9nZXRfaW50ZXJuYWxfc3NyYyksCgkgIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEFkZGVkIGRlYnVnZ2luZyBmb3IgdGhlIGNvbGxpc2lvbiBjaGVja3MuCgkgIEFkZCBtZXRob2QgdG8gY2hhbmdlIHRoZSBpbnRlcm5hbCBTU1JDIG9mIHRoZSBzZXNzaW9uLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCk6CgkgIFJlc2V0IHRoZSBjbG9jayBiYXNlIHdoZW4gd2UgZGV0ZWN0IGxhcmdlIGp1bXBzIGluIHRoZSBzZXFudW1zLgoKMjAwOC0wOC0xMiAxNjoxMzoxNSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQveDI2NC9nc3R4MjY0ZW5jLio6IERvIG5vdCBkZWFsIHdpdGggZHVwbGljYXRlZCBpbnB1dCAodGltZXN0YW1wcykuICBJZiBuZWVkZWQsIGEgZ2VuZXJpYyBlbGVtZW50IGNhbiBkbyBzby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiAoZ3N0X3gyNjRfZW5jX3Jlc2V0KSwKCSAgKGdzdF94MjY0X2VuY19jaGFpbiksIChnc3RfeDI2NF9lbmNfZW5jb2RlX2ZyYW1lKToKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmg6CgkgIERvIG5vdCBkZWFsIHdpdGggZHVwbGljYXRlZCBpbnB1dCAodGltZXN0YW1wcykuICBJZiBuZWVkZWQsCgkgIGEgZ2VuZXJpYyBlbGVtZW50IGNhbiBkbyBzby4KCSAgRG8gbm90IG1hbmlwdWxhdGUgaW5wdXQgdGltZXN0YW1wcyBvbiB0aGUgd2F5IG91dCwKCSAgc2luY2UgdGhhdCBzaGlmdHMgdGhlIHRpbWVsaW5lIGFuZCBBL1Ygc3luYy4KCjIwMDgtMDgtMTIgMTU6NDE6NDggKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6IEludGVncmF0ZSBuZXcgcHJvcGVydGllcyBpbnRvIGRvY3VtZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICBJbnRlZ3JhdGUgbmV3IHByb3BlcnRpZXMgaW50byBkb2N1bWVudGF0aW9uLgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogKGdzdF94MjY0X2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF94MjY0X2VuY19pbml0KSwgKGdzdF94MjY0X2VuY19pbml0X2VuY29kZXIpLAoJICAoZ3N0X3gyNjRfZW5jX3NldF9wcm9wZXJ0eSksIChnc3RfeDI2NF9lbmNfZ2V0X3Byb3BlcnR5KToKCSAgRml4IHVwIEFQSSBwcmlvciB0byBldmVudHVhbCBwbHVnaW4gbW92ZS4KCSAgQVBJOiBHc3RYMjY0RW5jOnBhc3MgKHByb3ZpZGVzIG1vcmUgb3B0aW9ucywgYW5kIGNoYW5nZWQgdG8gZW51bSkKCjIwMDgtMDgtMTIgMTQ6MzE6NTcgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgVXBkYXRlIGFuZCBhZGQgZG9jdW1lbnRhdGlvbiBmb3IgbXBsZXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJICAqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSAgVXBkYXRlIGFuZCBhZGQgZG9jdW1lbnRhdGlvbiBmb3IgbXBsZXguCgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICBEb2N1bWVudGF0aW9uIHVwZGF0ZS4KCjIwMDgtMDgtMTIgMTM6MDg6MzkgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgQWRkIGRvY3VtZW50YXRpb24gYW5kIHVuaXQgdGVzdCBmb3IgeDI2NGVuYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveDI2NGVuYy5jOiAoc2V0dXBfeDI2NGVuYyksCgkgIChjbGVhbnVwX3gyNjRlbmMpLCAoR1NUX1NUQVJUX1RFU1QpLCAoeDI2NGVuY19zdWl0ZSksIChtYWluKToKCSAgQWRkIGRvY3VtZW50YXRpb24gYW5kIHVuaXQgdGVzdCBmb3IgeDI2NGVuYy4KCjIwMDgtMDgtMTEgMTc6MjQ6NTggKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiBBbGxvY2F0ZSBzb21lIGJ1ZmZlcnMgaW4gbW9yZSBhZGFwdGl2ZSBhbmQgZWNvbm9taWNhbCBmYXNoaW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IChnc3RfeDI2NF9lbmNfaW5pdCksCgkgIChnc3RfeDI2NF9lbmNfaGVhZGVyX2J1ZiksIChnc3RfeDI2NF9lbmNfZW5jb2RlX2ZyYW1lKToKCSAgQWxsb2NhdGUgc29tZSBidWZmZXJzIGluIG1vcmUgYWRhcHRpdmUgYW5kIGVjb25vbWljYWwgZmFzaGlvbi4KCjIwMDgtMDgtMTEgMTU6MTY6MTQgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3Igc3VmZmljaWVudGx5IHVwLXRvLWRhdGUgeDI2NCBBUEkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgZm9yIHN1ZmZpY2llbnRseSB1cC10by1kYXRlIHgyNjQgQVBJLgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogKGdzdF94MjY0X2VuY19wYXNzX2dldF90eXBlKSwKCSAgKGdzdF94MjY0X2VuY19iYXNlX2luaXQpLCAoZ3N0X3gyNjRfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3gyNjRfZW5jX2luaXQpLCAoZ3N0X3gyNjRfZW5jX2luaXRfZW5jb2RlciksCgkgIChnc3RfeDI2NF9lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF94MjY0X2VuY19nZXRfcHJvcGVydHkpOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuaDoKCSAgRXhwb3NlIHNvbWUgbW9yZSBwYXJhbWV0ZXJzIG9mIHRoZSB4MjY0IGVuY29kZXIgYXMgcHJvcGVydGllcy4KCjIwMDgtMDgtMTEgMDc6MjA6MTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBQcmludCB0aGUgcGFkLW5hbWUgaW4gZGVidWcgbG9nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgUHJpbnQgdGhlIHBhZC1uYW1lIGluIGRlYnVnIGxvZy4KCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuYzoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuYzoKCSAgVXNlICItIiBpbnN0ZWFkIG9mICJfIiBpbiBwcm9wZXJ0eSBuYW1lcy4gQ2FuIHdlIGNhbGwgdGhlbSBqdXN0CgkgICJkZXZpY2UiIGxpa2UgZXZlcnl3aGVyZSBlbHNlPwoKMjAwOC0wOC0wOCAxNTowNzoxMiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IENvZGluZyBzdHlsZSBhbmQgbGF5b3V0OyByZS1vcmRlciBzb21lIGZ1bmN0aW9ucyBpbiBtb3JlIHR5cGljYWwgYW5kIG5hdHVyYWwgZmxvdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiAoZ3N0X3gyNjRfZW5jX2xvZ19jYWxsYmFjayksCgkgIChnc3RfeDI2NF9lbmNfZmluYWxpemUpLCAoZ3N0X3gyNjRfZW5jX2hlYWRlcl9idWYpLAoJICAoZ3N0X3gyNjRfZW5jX3NldF9zcmNfY2FwcyksIChnc3RfeDI2NF9lbmNfc2lua19zZXRfY2FwcyksCgkgIChnc3RfeDI2NF9lbmNfZmx1c2hfZnJhbWVzKToKCSAgQ29kaW5nIHN0eWxlIGFuZCBsYXlvdXQ7IHJlLW9yZGVyIHNvbWUgZnVuY3Rpb25zIGluIG1vcmUKCSAgdHlwaWNhbCBhbmQgbmF0dXJhbCBmbG93LgoKMjAwOC0wOC0wOCAxNDoxOToxNiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQveDI2NC86IFVzZSBHUXVldWUgaW4gc3RlYWQgb2YgY3VzdG9tIHF1ZXVlIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L01ha2VmaWxlLmFtOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogKGdzdF94MjY0X2VuY19zZXRfc3JjX2NhcHMpLAoJICAoZ3N0X3gyNjRfZW5jX3Npbmtfc2V0X2NhcHMpLCAoZ3N0X3gyNjRfZW5jX2luaXQpLAoJICAoZ3N0X3gyNjRfZW5jX3Jlc2V0KSwgKGdzdF94MjY0X2VuY19maW5hbGl6ZSksCgkgIChnc3RfeDI2NF9lbmNfZmx1c2hfZnJhbWVzKSwgKGdzdF94MjY0X2VuY19zaW5rX2V2ZW50KSwKCSAgKGdzdF94MjY0X2VuY19jaGFpbiksIChnc3RfeDI2NF9lbmNfZW5jb2RlX2ZyYW1lKSwKCSAgKGdzdF94MjY0X2VuY19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3gyNjRfZW5jX3NldF9wcm9wZXJ0eSk6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5oOgoJICBVc2UgR1F1ZXVlIGluIHN0ZWFkIG9mIGN1c3RvbSBxdWV1ZSBjb2RlLgoJICBGYWN0b3JpemUgZmx1c2hpbmcgb3V0IGVuY29kZXIgZGVsYXllZCBmcmFtZXMuCgkgIEZhY3Rvcml6ZSBpbml0aWFsaXphdGlvbiBhbmQgc3RhdGUgY2hhbmdlIHJlc2V0LgoKMjAwOC0wOC0wOCAxMDo1NjowMiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBVc2UgY29uZmlndXJlLWdlbmVyYXRlZCBfc3RkaW50LmguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuaDoKCSAgKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6CgkgIFVzZSBjb25maWd1cmUtZ2VuZXJhdGVkIF9zdGRpbnQuaC4KCjIwMDgtMDgtMDggMTA6MTM6MzYgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZXh0L3gyNjQvOiBVc2UgdmlkZW8gZm9ybWF0IGxpYnJhcnkgYW5kIEdTVF9XUklURV8qX0JFIG1hY3JvcyB3aGVyZSBhcHBsaWNhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9NYWtlZmlsZS5hbToKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IChnc3RfeDI2NF9lbmNfaGVhZGVyX2J1ZiksCgkgIChnc3RfeDI2NF9lbmNfc2lua19zZXRfY2FwcyksIChnc3RfeDI2NF9lbmNfYmFzZV9pbml0KSwKCSAgKGdzdF94MjY0X2VuY19jbGFzc19pbml0KSwgKGdzdF94MjY0X2VuY19sb2dfY2FsbGJhY2spLAoJICAoZ3N0X3gyNjRfZW5jX2luaXQpLCAoZ3N0X3gyNjRfZW5jX2luaXRfZW5jb2RlciksCgkgIChnc3RfeDI2NF9lbmNfZmluYWxpemUpLCAoZ3N0X3gyNjRfZW5jX2NoYWluKSwKCSAgKGdzdF94MjY0X2VuY19lbmNvZGVfZnJhbWUpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuaDoKCSAgVXNlIHZpZGVvIGZvcm1hdCBsaWJyYXJ5IGFuZCBHU1RfV1JJVEVfKl9CRSBtYWNyb3Mgd2hlcmUgYXBwbGljYWJsZS4KCSAgVXNlIGZpbmFsaXplIGluIHN0ZWFkIG9mIGRpc3Bvc2UuCgkgIFNldCB1cCBkZWJ1ZyBjYXRlZ29yeSBhbmQgbG9nIGNhbGxiYWNrLgoKMjAwOC0wOC0wNyAxNjoyMDozMCArMDAwMCAgRnJlZGVyaWMgQ3JvemF0IDxmY3JvemF0QG1hbmRyaXZhLm9yZz4KCgkgIE1ha2Ugc3VyZSBnZXR0ZXh0IHJldHVybnMgdHJhbnNsYXRpb25zIGluIFVURi04IGVuY29kaW5nIHJhdGhlciB0aGFuIGluIHRoZSBjdXJyZW50IGxvY2FsZSBlbmNvZGluZyAoIzU0NjgyMikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRnJlZGVyaWMgQ3JvemF0IDxmY3JvemF0QG1hbmRyaXZhLm9yZz4KCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOiAocGx1Z2luX2luaXQpOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IChnc3RfZHZic3JjX3BsdWdpbl9pbml0KToKCSAgKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6IChwbHVnaW5faW5pdCk6CgkgIE1ha2Ugc3VyZSBnZXR0ZXh0IHJldHVybnMgdHJhbnNsYXRpb25zIGluIFVURi04IGVuY29kaW5nIHJhdGhlcgoJICB0aGFuIGluIHRoZSBjdXJyZW50IGxvY2FsZSBlbmNvZGluZyAoIzU0NjgyMikuCgoyMDA4LTA4LTA3IDE0OjM0OjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvdHdvbGFtZS9nc3R0d29sYW1lLio6IEFsbG93IHJhdyBmbG9hdCBzYW1wbGVzIGFzIGlucHV0IGZvciBlbmNvZGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS5jOiAoZ3N0X3R3b19sYW1lX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfdHdvX2xhbWVfY2hhaW4pOgoJICAqIGV4dC90d29sYW1lL2dzdHR3b2xhbWUuaDoKCSAgQWxsb3cgcmF3IGZsb2F0IHNhbXBsZXMgYXMgaW5wdXQgZm9yIGVuY29kaW5nLgoKMjAwOC0wOC0wNyAxMzoxNToyMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6IFRyeSBjb21taXR0aW5nIHRoaXMgb25jZSBhZ2Fpbi4gTm93IHByb3Blcmx5IHJlbmFtZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBUcnkgY29tbWl0dGluZyB0aGlzIG9uY2UgYWdhaW4uIE5vdyBwcm9wZXJseSByZW5hbWVkLgoKMjAwOC0wOC0wNyAwOTowOTo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWwKCSAgQWRkIG5ldyBlbGVtZW50IHRvIGRvY3MuCgkgICogZXh0L2phY2svZ3N0amFjay5oCgkgIEFkZCBtaXNzaW5nIGZpbGUuCgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkgIFJlbmFtZSBqYWNrYXVkaW9zcmMgdG8gamFja19hdWRpb19zcmMuCgoyMDA4LTA4LTA3IDA4OjQ3OjQwICswMDAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCgkgIGV4dC9qYWNrLzogQWRkIGEgamFja2F1ZGlvc3JjLiBSZWZhY3RvciBzaW5rIHNsaWdodGx5IGZvciBiZXR0ZXIgY29kZSByZXVzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHNhdC5xYy5jYT4KCSAgKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvamFjay9nc3RqYWNrLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSAgKiBleHQvamFjay9nc3RqYWNrcmluZ2J1ZmZlci5oOgoJICBBZGQgYSBqYWNrYXVkaW9zcmMuIFJlZmFjdG9yIHNpbmsgc2xpZ2h0bHkgZm9yIGJldHRlciBjb2RlIHJldXNlLgoJICBGaXhlcyAjNTQ1MTk3LgoKMjAwOC0wOC0wNiAxNTo0OTo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIHR3b2xhbWUgYW5kIGNlbHQgcGx1Z2lucyB0byB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHdvbGFtZS54bWw6CgkgIEFkZCB0d29sYW1lIGFuZCBjZWx0IHBsdWdpbnMgdG8gdGhlIGRvY3MuCgoyMDA4LTA4LTA1IDA5OjQyOjUzICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IE1ha2UgdGhlIGJ1ZmZlciBtZXRhZGF0YSB3cml0YWJsZSBiZWZvcmUgaW5zZXJ0aW5nIGl0IGluIHRoZSBqaXR0ZXJidWZmZXIgYmVjYXVzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBNYWtlIHRoZSBidWZmZXIgbWV0YWRhdGEgd3JpdGFibGUgYmVmb3JlIGluc2VydGluZyBpdCBpbiB0aGUKCSAgaml0dGVyYnVmZmVyIGJlY2F1c2UgdGhlIGppdHRlcmJ1ZmZlciB3aWxsIG1vZGlmeSB0aGUgdGltZXN0YW1wcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgVXBkYXRlIG1ldGhvZCBjb21tZW50IGFib3V0IHJlcXVpcmluZyB3cml0YWJsZSBtZXRhZGF0YSBvbiBidWZmZXJzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKToKCSAgTWFrZSB0aGUgUlRDUCBidWZmZXIgbWV0YWRhdGEgd3JpdGFibGUgYmVjYXVzZSB3ZSB3YW50IHRvIG1vZGlmeSB0aGUKCSAgbWV0YWRhdGEuCgkgIEZpeGVzICM1NDYzMTIuCgoyMDA4LTA4LTA1IDA5OjA1OjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogTW92ZSB0aGUgc2VsZWN0LWFsbCBsb2dpYyBpbnRvIHRoZSBhY3RpdmF0aW9uIG9mIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgcGFkLiBXZSB3YW50Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IChnc3Rfc2VsZWN0b3JfcGFkX2J1ZmZlcmFsbG9jKSwKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfY2hhaW4pLCAoZ3N0X2lucHV0X3NlbGVjdG9yX2dldGNhcHMpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX2FjdGl2YXRlX3NpbmtwYWQpOgoJICBNb3ZlIHRoZSBzZWxlY3QtYWxsIGxvZ2ljIGludG8gdGhlIGFjdGl2YXRpb24gb2YgdGhlIGN1cnJlbnRseSBzZWxlY3RlZAoJICBwYWQuIFdlIHdhbnQgdG8gcmVtZW1iZXIgdGhlIGxhc3QgcGFkIHdpdGggYWN0aXZpdHkgaW4gc2VsZWN0LWFsbCBtb2RlLgoJICBGaXggdGhlIGdldGNhcHMgZnVuY3Rpb24sIHdlIGNhbiBwcm9kdWNlIHRoZSB1bmlvbiBvZiB0aGUgdXBzdHJlYW0gY2FwcwoJICBpbiBzZWxlY3QtYWxsIG1vZGUsIG5vdCB0aGUgaW50ZXJzZWN0aW9uIGxpa2UgcHJveHlfZ2V0Y2FwcygpIGRvZXMuCgoyMDA4LTA4LTA1IDA5OjAwOjUwICswMDAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEZpeCBkZWJ1ZyBieSBsb2dnaW5nIHRoZSByaWdodCBzZXFudW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSMOldmFyZCBHcmFmZiA8aGF2YXJkIGRvdCBncmFmZiBhdCB0YW5kYmVyZyBkb3QgY29tPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKToKCSAgRml4IGRlYnVnIGJ5IGxvZ2dpbmcgdGhlIHJpZ2h0IHNlcW51bS4KCjIwMDgtMDgtMDUgMDg6NTg6MjcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUmVsZWFzZSBsb2NrIGJlZm9yZSBlbWl0dGluZyB0aGUgcmVxdWVzdC1wdC1tYXAgc2lnbmFsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ2V0X3B0X21hcCk6CgkgIFJlbGVhc2UgbG9jayBiZWZvcmUgZW1pdHRpbmcgdGhlIHJlcXVlc3QtcHQtbWFwIHNpZ25hbC4KCSAgRml4ZXMgIzU0MzQ4MC4KCjIwMDgtMDgtMDIgMTg6NDg6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvOiBVc2Ugb2lsX21lbWNweSgpIGluc3RlYWQgb2YgbWVtY3B5KCkgYXMgaXQncyBmYXN0ZXIgZm9yIHRoZSBzaXplcyB0aGF0IGFyZSB1c3VhbGx5IHVzZWQgaGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2ludGVycG9sYXRlX3NjYW5saW5lKSwKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2NvcHlfc2NhbmxpbmUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfZGVpbnRlcmxhY2VfZnJhbWUpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zY2FsZXJib2IuYzoKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX3NjYWxlcl9ib2IpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzogKEZpZWxkY29weSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmUuYzogKGRlaW50ZXJsYWNlX3NjYW5saW5lX3dlYXZlKSwKCSAgKGNvcHlfc2NhbmxpbmUpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlYmZmLmM6IChkZWludGVybGFjZV9zY2FubGluZV93ZWF2ZSksCgkgIChjb3B5X3NjYW5saW5lKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZXRmZi5jOiAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfd2VhdmUpLAoJICAoY29weV9zY2FubGluZSk6CgkgIFVzZSBvaWxfbWVtY3B5KCkgaW5zdGVhZCBvZiBtZW1jcHkoKSBhcyBpdCdzIGZhc3RlciBmb3IgdGhlIHNpemVzIHRoYXQKCSAgYXJlIHVzdWFsbHkgdXNlZCBoZXJlLgoKMjAwOC0wOC0wMiAxODozNjoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi86IEFkZCB0aGUgcmVtYWluaW5nIHR2dGltZSBkZWludGVybGFjaW5nIG1ldGhvZHMgYW5kIGZpeCB0aGUgZGVpbnRlcmxhY2VfZnJhbWUoKSBpbXBsZW1lbnRhdGlvbiBvZiBHLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2RlaW50ZXJsYWNlX2ZyYW1lKSwKCSAgKGdzdF9kZWludGVybGFjZTJfbWV0aG9kc19nZXRfdHlwZSksIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvbGluZWFyLmM6CgkgIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfYyksIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfbW14KSwKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9tbXhleHQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9saW5lYXJfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2xpbmVhcl9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9saW5lYXJibGVuZC5jOgoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX2JsZW5kX2MpLAoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX2JsZW5kMl9jKSwKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9ibGVuZF9tbXgpLAoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX2JsZW5kMl9tbXgpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9saW5lYXJfYmxlbmRfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2xpbmVhcl9ibGVuZF9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9wbHVnaW5zLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc2NhbGVyYm9iLmM6CgkgIChkZWludGVybGFjZV9zY2FubGluZV9zY2FsZXJfYm9iKSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfc2NhbGVyX2JvYl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfc2NhbGVyX2JvYl9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZS5jOiAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfd2VhdmUpLAoJICAoY29weV9zY2FubGluZSksIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3dlYXZlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF93ZWF2ZV9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZWJmZi5jOiAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfd2VhdmUpLAoJICAoY29weV9zY2FubGluZSksIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3dlYXZlX2JmZl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfd2VhdmVfYmZmX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZldGZmLmM6IChkZWludGVybGFjZV9zY2FubGluZV93ZWF2ZSksCgkgIChjb3B5X3NjYW5saW5lKSwgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfd2VhdmVfdGZmX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF93ZWF2ZV90ZmZfaW5pdCk6CgkgIEFkZCB0aGUgcmVtYWluaW5nIHR2dGltZSBkZWludGVybGFjaW5nIG1ldGhvZHMgYW5kIGZpeCB0aGUKCSAgZGVpbnRlcmxhY2VfZnJhbWUoKSBpbXBsZW1lbnRhdGlvbiBvZiBHc3REZWludGVybGFjZVNpbXBsZU1ldGhvZC4KCjIwMDgtMDgtMDIgMTg6MzA6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogSW1wbGVtZW50IHRoZSBWRklSIGRlaW50ZXJsYWNpbmcgbWV0aG9kIGFzIHNpbXBsZSBtZXRob2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2xpbmVfYyksCgkgIChkZWludGVybGFjZV9saW5lX21teCksIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3ZmaXJfY2xhc3NfaW5pdCk6CgkgIEltcGxlbWVudCB0aGUgVkZJUiBkZWludGVybGFjaW5nIG1ldGhvZCBhcyBzaW1wbGUgbWV0aG9kLgoKMjAwOC0wOC0wMiAxODoxODo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuKjogQWRkIGEgR3N0RGVpbnRlcmxhY2VTaW1wbGVNZXRob2Qgc3ViY2xhc3Mgb2YgR3N0RGVpbnRlcmxhY2VNZXRob2QgdGhhdCBjYW4gYmUgdXNlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9pbnRlcnBvbGF0ZV9zY2FubGluZSksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9jb3B5X3NjYW5saW5lKSwKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2RlaW50ZXJsYWNlX2ZyYW1lKSwKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgQWRkIGEgR3N0RGVpbnRlcmxhY2VTaW1wbGVNZXRob2Qgc3ViY2xhc3Mgb2YgR3N0RGVpbnRlcmxhY2VNZXRob2QgdGhhdAoJICBjYW4gYmUgdXNlZCBieSBzaW1wbGUgZGVpbnRlcmxhY2luZyBtZXRob2RzLiBUaGV5IG9ubHkgaGF2ZSB0byBwcm92aWRlCgkgIGEgZnVuY3Rpb24gZm9yIGludGVycG9sYXRpbmcgYSBzY2FubGluZSBvciBjb3B5aW5nIGEgc2NhbmxpbmUuCgoyMDA4LTA4LTAyIDE4OjE1OjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiBSZXNwZWN0IHRoZSBsYXRlbmN5IG9mIHRoZSBkZWludGVybGFjaW5nIGFsZ29yaXRobSBmb3IgdGhlIHRpbWVzdGFtcHMgb2YgZXZlcnkgYnUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogKGdzdF9kZWludGVybGFjZTJfY2hhaW4pOgoJICBSZXNwZWN0IHRoZSBsYXRlbmN5IG9mIHRoZSBkZWludGVybGFjaW5nIGFsZ29yaXRobSBmb3IgdGhlIHRpbWVzdGFtcHMKCSAgb2YgZXZlcnkgYnVmZmVyLgoKMjAwOC0wOC0wMiAxODoxMzoyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvOiBBZGQgdGhlIE1NWCByZWdpc3RlcnMgdG8gdGhlIGNsb2JiZXJlZCByZWdpc3RlcnMgb25seSBpZiBfX01NWF9fIGlzIGRlZmluZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkgIEFkZCB0aGUgTU1YIHJlZ2lzdGVycyB0byB0aGUgY2xvYmJlcmVkIHJlZ2lzdGVycyBvbmx5IGlmIF9fTU1YX18gaXMKCSAgZGVmaW5lZC4KCjIwMDgtMDgtMDIgMTg6MDk6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvOiBFbmFibGUgdG9tc21vY29tcCBhZ2FpbiBhcyB0aGUgQyBwb3J0IHdpbGwgYmUgcmVhZHkgZm9yIHRoZSBuZXh0IHJlbGVhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfbWV0aG9kc19nZXRfdHlwZSksIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KToKCSAgRW5hYmxlIHRvbXNtb2NvbXAgYWdhaW4gYXMgdGhlIEMgcG9ydCB3aWxsIGJlIHJlYWR5IGZvciB0aGUgbmV4dAoJICByZWxlYXNlLgoKMjAwOC0wOC0wMiAxODowMjo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogRG9uJ3QgdXNlIHByb3h5X2dldGNhcHMoKSBidXQgaW1wbGVtZW50IG91ciBvd24gZ2V0Y2FwcygpIGZ1bmN0aW9uIHRoYXQgZG91Ymxlcy9oLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLAoJICAoZ3N0X2dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yKSwgKGdzdF9mcmFjdGlvbl9kb3VibGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9nZXRjYXBzKSwgKGdzdF9kZWludGVybGFjZTJfc2V0Y2Fwcyk6CgkgIERvbid0IHVzZSBwcm94eV9nZXRjYXBzKCkgYnV0IGltcGxlbWVudCBvdXIgb3duIGdldGNhcHMoKSBmdW5jdGlvbgoJICB0aGF0IGRvdWJsZXMvaGFsZnMgdGhlIGZyYW1lcmF0ZSBpZiBhbGwgZmllbGRzIHNob3VsZCBiZSBzZW50IG91dC4KCjIwMDgtMDgtMDIgMTc6Mzk6MTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBUd29MQU1FIE1QMiBlbmNvZGluZyBlbGVtZW50LCBiYXNlZCBvbiB0aGUgTEFNRSBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC90d29sYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC90d29sYW1lL2dzdHR3b2xhbWUuYzogKGdzdF90d29fbGFtZV9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF90d29fbGFtZV9wYWRkaW5nX2dldF90eXBlKSwgKGdzdF90d29fbGFtZV9lbXBoYXNpc19nZXRfdHlwZSksCgkgIChnc3RfdHdvX2xhbWVfcmVsZWFzZV9tZW1vcnkpLCAoZ3N0X3R3b19sYW1lX2ZpbmFsaXplKSwKCSAgKGdzdF90d29fbGFtZV9iYXNlX2luaXQpLCAoZ3N0X3R3b19sYW1lX2NsYXNzX2luaXQpLAoJICAoZ3N0X3R3b19sYW1lX3NyY19zZXRjYXBzKSwgKGdzdF90d29fbGFtZV9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X3R3b19sYW1lX2luaXQpLCAoZ3N0X3R3b19sYW1lX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdHdvX2xhbWVfZ2V0X3Byb3BlcnR5KSwgKGdzdF90d29fbGFtZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF90d29fbGFtZV9jaGFpbiksIChnc3RfdHdvX2xhbWVfc2V0dXApLAoJICAoZ3N0X3R3b19sYW1lX2NoYW5nZV9zdGF0ZSksIChnc3RfdHdvX2xhbWVfZ2V0X2RlZmF1bHRfc2V0dGluZ3MpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGV4dC90d29sYW1lL2dzdHR3b2xhbWUuaDoKCSAgQWRkIFR3b0xBTUUgTVAyIGVuY29kaW5nIGVsZW1lbnQsIGJhc2VkIG9uIHRoZSBMQU1FIGVsZW1lbnQuCgoyMDA4LTA4LTAyIDE3OjI5OjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgQ0VMVCBlbmNvZGVyIGFuZCBkZWNvZGVyIGVsZW1lbnRzIGJhc2VkIG9uIHRoZSBTcGVleCBlbGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2VsdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2VsdC9nc3RjZWx0LmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOiAoZ3N0X2NlbHRfZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfY2VsdF9kZWNfY2xhc3NfaW5pdCksIChnc3RfY2VsdF9kZWNfcmVzZXQpLAoJICAoZ3N0X2NlbHRfZGVjX2luaXQpLCAoY2VsdF9kZWNfY29udmVydCksCgkgIChjZWx0X2dldF9zaW5rX3F1ZXJ5X3R5cGVzKSwgKGNlbHRfZGVjX3NpbmtfcXVlcnkpLAoJICAoY2VsdF9nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwgKGNlbHRfZGVjX3NyY19xdWVyeSksCgkgIChjZWx0X2RlY19zcmNfZXZlbnQpLCAoY2VsdF9kZWNfc2lua19ldmVudCksCgkgIChjZWx0X2RlY19jaGFpbl9wYXJzZV9oZWFkZXIpLCAoY2VsdF9kZWNfY2hhaW5fcGFyc2VfY29tbWVudHMpLAoJICAoY2VsdF9kZWNfY2hhaW5fcGFyc2VfZGF0YSksIChjZWx0X2RlY19jaGFpbiksCgkgIChjZWx0X2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9jZWx0L2dzdGNlbHRkZWMuaDoKCSAgKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6IChnc3RfY2VsdF9lbmNfc2V0dXBfaW50ZXJmYWNlcyksCgkgIChnc3RfY2VsdF9lbmNfYmFzZV9pbml0KSwgKGdzdF9jZWx0X2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF9jZWx0X2VuY19maW5hbGl6ZSksIChnc3RfY2VsdF9lbmNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9jZWx0X2VuY19zaW5rX2dldGNhcHMpLCAoZ3N0X2NlbHRfZW5jX2NvbnZlcnRfc3JjKSwKCSAgKGdzdF9jZWx0X2VuY19jb252ZXJ0X3NpbmspLCAoZ3N0X2NlbHRfZW5jX2dldF9sYXRlbmN5KSwKCSAgKGdzdF9jZWx0X2VuY19nZXRfcXVlcnlfdHlwZXMpLCAoZ3N0X2NlbHRfZW5jX3NyY19xdWVyeSksCgkgIChnc3RfY2VsdF9lbmNfc2lua19xdWVyeSksIChnc3RfY2VsdF9lbmNfaW5pdCksCgkgIChnc3RfY2VsdF9lbmNfY3JlYXRlX21ldGFkYXRhX2J1ZmZlciksIChnc3RfY2VsdF9lbmNfc2V0dXApLAoJICAoZ3N0X2NlbHRfZW5jX2J1ZmZlcl9mcm9tX2RhdGEpLCAoZ3N0X2NlbHRfZW5jX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9jZWx0X2VuY19zZXRfaGVhZGVyX29uX2NhcHMpLCAoZ3N0X2NlbHRfZW5jX3NpbmtldmVudCksCgkgIChnc3RfY2VsdF9lbmNfY2hhaW4pLCAoZ3N0X2NlbHRfZW5jX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfY2VsdF9lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9jZWx0X2VuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9jZWx0L2dzdGNlbHRlbmMuaDoKCSAgQWRkIENFTFQgZW5jb2RlciBhbmQgZGVjb2RlciBlbGVtZW50cyBiYXNlZCBvbiB0aGUgU3BlZXggZWxlbWVudHMuCgoyMDA4LTA4LTAyIDE3OjE2OjM5ICswMDAwICBUYWwgU2hhbGlmIDx0c2hhbGlmQG5hcmdpbGEub3JnPgoKCSAgZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogVXNlIGdfc2V0ZW52KCkgYW5kIGdfdW5zZXRlbnYoKSBpbnN0ZWFkIG9mIHNldGVudigpIHRvIGZpeCBjb21waWxhdGlvbiB3aXRoIG1pbmd3LiBGaXhlcyBidWcgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGFsIFNoYWxpZiA8dHNoYWxpZiBhdCBuYXJnaWxhIGRvdCBvcmc+CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3NpbmtfaW5pdHNkbCk6CgkgIFVzZSBnX3NldGVudigpIGFuZCBnX3Vuc2V0ZW52KCkgaW5zdGVhZCBvZiBzZXRlbnYoKSB0byBmaXggY29tcGlsYXRpb24KCSAgd2l0aCBtaW5ndy4gRml4ZXMgYnVnICM1NDUyNDcuCgoyMDA4LTA4LTAxIDIzOjMwOjI5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjguMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC44LjEKCjIwMDgtMDgtMDEgMTU6Mzk6NDQgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICByZW1vdmUgbW92ZWQgcGx1Z2lucyBmcm9tIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIG1vdmVkIHBsdWdpbnMgZnJvbSBzcGVjIGZpbGUKCj09PSByZWxlYXNlIDAuMTAuOCA9PT0KCjIwMDgtMDctMzEgMjI6MTU6MTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zczQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC44CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNlIDAuMTAuOAoKMjAwOC0wNy0zMSAyMjowMzoyNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBjb21tb246CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDgtMDctMjQgMjM6NTM6NTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiAwLjEwLjcuMyBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuNy4zIHByZS1yZWxlYXNlCgkgICogcG8vTElOR1VBUzoKCSAgKiBwby9pZC5wbzoKCSAgQWRkIEluZG9uZXNpYW4gdHJhbnNsYXRpb24uCgoyMDA4LTA3LTI0IDAwOjMyOjM3ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzogR3VhcmQgdW5pc3RkLmggd2l0aCBIQVZFX1VOSVNURF9ICgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICBHdWFyZCB1bmlzdGQuaCB3aXRoIEhBVkVfVU5JU1REX0gKCSAgKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfaXQuY3BwOgoJICAqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kZmlsZS5jcHA6CgkgICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRmaWxlLmg6CgkgICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zdGRhZnguaDoKCSAgU3VwcG9ydCBmb3IgY29tcGlsaW5nIHdpdGggTVNWQzogdXNlIF9NU0NfVkVSIGZvciBkZXRlY3RpbmcgTVNWQyBpbnN0ZWFkCgkgIG9mIE1TQ19WRVIuIE1ha2UgQ2FuUGFja1NhbXBsZXMgdGFrZSB0aGUgdHlwZSBpdCdzIHBhc3NlZC4gQ2hhbmdlIHNjb3BlCgkgIG9mIGEgdmFyaWFibGUgaW4gbG9hZF9pdC5jcHAgdG8gTVNWQydzIHNjb3BpbmcgcnVsZXMuCgkgICogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBHdWFyZCB1bmlzdGQuaCB3aXRoIEhBVkVfVU5JU1REX0gKCSAgRml4ZXMgIzU0NDQ1Ny4KCjIwMDgtMDctMjIgMDY6Mjc6NDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOiBGaXggY29tcGlsZXIgd2FybmluZy4gRml4ZXMgIzU0NDA1MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5nLiBGaXhlcyAjNTQ0MDUwLgoKMjAwOC0wNy0yMSAyMToxMjoyNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IERvbid0IGNoZWNrIGZvciBuYXZfcHJpbnQuaCBhbnkgbW9yZSAtIGl0IHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUgbGliZHZkbmF2IGRldmVsb3BtZW50IHBhY2thZ2UgaWYgbGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEb24ndCBjaGVjayBmb3IgbmF2X3ByaW50LmggYW55IG1vcmUgLSBpdCBzaG91bGQgYmUgaW5jbHVkZWQgaW4KCSAgdGhlIGxpYmR2ZG5hdiBkZXZlbG9wbWVudCBwYWNrYWdlIGlmIGxpYmR2ZG5hdiBoZWFkZXJzIGRlcGVuZCBvbiBpdC4KCSAgRml4ZXM6ICM1NDM4NDYKCjIwMDgtMDctMjEgMTY6MDM6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIExpbmsgdGhlIGxhZHNwYSBwbHVnaW4gd2l0aCAtbGRsLiBJdCdzIG5lZWRlZCBmb3IgZGxvcGVuKCkgYW5kIGZyaWVuZHMgZm9yIGxvYWRpbmcgdGhlIGxhZHNwYSBwbHVnaW5zIGFuZCBwcmV2aW91c2x5IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgTGluayB0aGUgbGFkc3BhIHBsdWdpbiB3aXRoIC1sZGwuIEl0J3MgbmVlZGVkIGZvciBkbG9wZW4oKSBhbmQgZnJpZW5kcwoJICBmb3IgbG9hZGluZyB0aGUgbGFkc3BhIHBsdWdpbnMgYW5kIHByZXZpb3VzbHkgd2FzIGxpbmtlZCBpbiBieQoJICBnbW9kdWxlLiBGaXhlcyBidWcgIzU0Mzg0OC4KCjIwMDgtMDctMjEgMTA6MTY6NTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvTWFrZWZpbGUuYW06IFVzZSBHU1RfQ1hYRkxBR1MgaW5zdGVhZCBvZiBHU1RfQ0ZMQUdTIGZvciBDWFhGTEFHUy4gR1NUX0NGTEFHUyBjYW4gY29udGFpbiBjb21waS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL01ha2VmaWxlLmFtOgoJICBVc2UgR1NUX0NYWEZMQUdTIGluc3RlYWQgb2YgR1NUX0NGTEFHUyBmb3IgQ1hYRkxBR1MuIEdTVF9DRkxBR1MKCSAgY2FuIGNvbnRhaW4gY29tcGlsZXIgcGFyYW1ldGVycyB0aGF0IGFyZSBpbnZhbGlkIGZvciBDKysuCgkgIEZpeGVzIGJ1ZyAjNTQzODYwLgoKMjAwOC0wNy0yMSAxMDoxNToxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOiBEaXN0IG1pc3NpbmcgaGVhZGVyIGZpbGVzLiBGaXhlcyBidWcgIzU0Mzg2MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJICBEaXN0IG1pc3NpbmcgaGVhZGVyIGZpbGVzLiBGaXhlcyBidWcgIzU0Mzg2MS4KCjIwMDgtMDctMTkgMTQ6MTI6NTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiAwLjEwLjcuMiBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuNy4yIHByZS1yZWxlYXNlCgoyMDA4LTA3LTE5IDE0OjAyOjUwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9NYWtlZmlsZS5hbTogRGlzdCBhbmQgcmVjdXJzZSBpbnRvIHJlc2luZHZkIHN1YmRpcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIERpc3QgYW5kIHJlY3Vyc2UgaW50byByZXNpbmR2ZCBzdWJkaXIKCjIwMDgtMDctMTkgMTM6NDM6MDQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBSZW1vdmUgaW50ZXJsZWF2ZSBhbmQgcmVwbGF5Z2FpbiBjb25maWd1cmUuYWMgcGllY2VzIHRvbwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlbW92ZSBpbnRlcmxlYXZlIGFuZCByZXBsYXlnYWluIGNvbmZpZ3VyZS5hYyBwaWVjZXMgdG9vCgoyMDA4LTA3LTE5IDEzOjI5OjIyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHBvLzogQWRkIG5ldyBsaXRodW5pYW4gdHJhbnNsYXRpb24sIGFuZCBhZGQgZnJlbmNoIHRvIHRoZSBMSU5HVUFTIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL0xJTkdVQVM6CgkgICogcG8vbHQucG86CgkgIEFkZCBuZXcgbGl0aHVuaWFuIHRyYW5zbGF0aW9uLCBhbmQgYWRkIGZyZW5jaCB0byB0aGUgTElOR1VBUwoJICBmaWxlLgoKMjAwOC0wNy0xOSAwMDo1ODo0OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgaW50ZXJsZWF2ZSBhbmQgcmVwbGF5Z2FpbiBwbHVnaW5zIHRoYXQgaGF2ZSBtb3ZlZCB0byAtZ29vZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuaDoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICAqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5oOgoJICAqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5oOgoJICAqIGdzdC9yZXBsYXlnYWluL3JlcGxheWdhaW4uYzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZXBsYXlnYWluLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5jOgoJICAqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6CgkgIFJlbW92ZSBpbnRlcmxlYXZlIGFuZCByZXBsYXlnYWluIHBsdWdpbnMgdGhhdCBoYXZlIG1vdmVkIHRvIC1nb29kCgoyMDA4LTA3LTE4IDA4OjM0OjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBEaXNhYmxlIHRoZSB0b21zbW9jb21wIGFsZ29yaXRobSBmb3IgdGhpcyByZWxlYXNlIGFzIGl0J3MgYnVnZ3kgYW5kIGhhcyBubyBDIGltcGxlbWVudGF0aW9uIHlldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfbWV0aG9kc19nZXRfdHlwZSksIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGFjZTJfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2xfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfaF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3ZmaXJfY2xhc3NfaW5pdCk6CgkgIERpc2FibGUgdGhlIHRvbXNtb2NvbXAgYWxnb3JpdGhtIGZvciB0aGlzIHJlbGVhc2UgYXMgaXQncyBidWdneQoJICBhbmQgaGFzIG5vIEMgaW1wbGVtZW50YXRpb24geWV0LgoJICBCdWlsZCB0aGUgZGVpbnRlcmxhY2UyIHBsdWdpbiBvbiBhbGwgYXJjaGl0ZWN0dXJlcyBidXQgc3RpbGwgbWFyayBpdAoJICBhcyBleHBlcmltZW50YWwuCgkgIEJ1aWxkIHRoZSB4ODYgaW5saW5lIGFzc2VtYmx5IG9ubHkgaWYgR0NDIGlubGluZSBhc3NlbWJseSBpcyBzdXBwb3J0ZWQKCSAgYW5kIG9ubHkgb24geDg2IG9yIGFtZDY0LiBGaXhlcyBidWcgIzU0MzI4Ni4KCjIwMDgtMDctMTYgMTQ6MTU6MzkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IEFkZCBzb21lIGNhc3RzIHRvIGZpeCB0aGUgYnVpbGQgb24gRm9ydGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChvcGVuX2xpYnJhcnkpOgoJICBBZGQgc29tZSBjYXN0cyB0byBmaXggdGhlIGJ1aWxkIG9uIEZvcnRlCgoyMDA4LTA3LTE0IDE0OjEzOjU0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvOiBGaXggYnVpbGQgb24geDg2XzY0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfbF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9oX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdmZpcl9jbGFzc19pbml0KToKCSAgRml4IGJ1aWxkIG9uIHg4Nl82NAoKMjAwOC0wNy0xNCAwNzo1MDowMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6IFJlbW92ZSB3aGl0ZXNwYWNlIGxpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgUmVtb3ZlIHdoaXRlc3BhY2UgbGluZS4KCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uaDoKCSAgTWFrZSBpdCBzbyB0aGF0IGF1ZGlvL3ZpZGVvIHBhZHMgYXJlbid0IGFkZGVkIHRvIHRoZSBiaW4KCSAgdW50aWwgYWZ0ZXIgZGF0YSBmbG93IHN0YXJ0cy4KCSAgKiBleHQvcmVzaW5kdmQvcmVzaW4tcGxheToKCSAgTW92ZSB2aWRlbyBidWZmZXIgcXVldWUgb3V0c2lkZSByZXNpbmR2ZGJpbgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICBDaGVjayB0aGF0IHRoZSBuYXZfY2xvY2tfaWQgZGlkbid0IGFscmVhZHkgZ2V0IHVuc2NoZWR1bGVkLgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIFJlbW92ZSBhc3NlcnQgdGhhdCBzb21ldGltZXMgdHJpZ2dlcnMgZXJyb25lb3VzbHkuCgoyMDA4LTA3LTEzIDEwOjU2OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbTogQWx3YXlzIHVzZSB0aGUgQyBpbXBsZW1lbnRhdGlvbiBpZiB3aWR0aCBpcyBub3QgYSBtdWx0aXBsZSBvZiA0LiBUaGUgYXNzZW1ibHkgb3AuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgIEFsd2F5cyB1c2UgdGhlIEMgaW1wbGVtZW50YXRpb24gaWYgd2lkdGggaXMgbm90IGEgbXVsdGlwbGUgb2YgNC4gVGhlCgkgIGFzc2VtYmx5IG9wdGltaXplZCB2ZXJzaW9uIG9ubHkgaGFuZGxlIHRoaXMgYW5kIGNhbGxpbmcgdGhlIEMKCSAgaW1wbGVtZW50YXRpb24gZm9yIHRoZSByZW1haW5pbmcgcGFydCBkb2Vzbid0IHdvcmsgYmVjYXVzZSBpdCBuZWVkcwoJICBwcmV2aW91cyBjYWxjdWxhdGlvbnMuCgoyMDA4LTA3LTEzIDEwOjUyOjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS86IFNvbWUgY2xlYW51cCwgdXNlIDNETk9XIGluc3RlYWQgb2YgVEROT1cgaW4gbWFjcm9zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aG1hY3Jvcy5oOgoJICBTb21lIGNsZWFudXAsIHVzZSAzRE5PVyBpbnN0ZWFkIG9mIFRETk9XIGluIG1hY3Jvcy4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDoKCSAgVGhlIFNTRSBtZXRob2QgaW4gZmFjdCBvbmx5IG5lZWRzIE1NWEVYVCwgZGVjbGFyZSBpdCBhcyBzdWNoLgoKMjAwOC0wNy0xMSAxNDowNjowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBkb2NzL3BsdWdpbnMvLmN2c2lnbm9yZTogSWdub3JlICotdW5kZWNsYXJlZC50eHQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zLy5jdnNpZ25vcmU6CgkgIElnbm9yZSAqLXVuZGVjbGFyZWQudHh0CgkgICogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSAgVHVybiBnX3ByaW50J3MgaW50byBkZWJ1ZyBzdGF0ZW1lbnRzLgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbi1wbGF5OgoJICAqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uaDoKCSAgKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmM6CgkgICogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5oOgoJICAqIGV4dC9yZXNpbmR2ZC9yc253cmFwcGVkYnVmZmVyLmM6CgkgICogZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuaDoKCSAgQWRkIGEgYmxvYXRlZCBpbXBsZW1lbnRhdGlvbiBvZiBhIHJlYWxseSBzaW1wbGUgaWRlYTogUmVwbGFjZSB0aGUKCSAgcGl4ZWwtYXNwZWN0LXJhdGlvIGluIHRoZSBvdXRwdXQgdmlkZW8gd2l0aCBhIHByZXNjcmliZWQgb25lIHdoZW4KCSAgbmVjZXNzYXJ5LiBUaGVyZSBtdXN0IGJlIGFuIGVhc2llciB3YXkuCgkgIFNwbGl0IHRoZSBkdmRzcHUgb3V0IG9mIHRoZSByZXNpbmR2ZGJpbiBhbmQgcHV0IG91dCB0aGUgc3VicGljdHVyZQoJICBzdHJlYW0gb24gdGhlIHN1YnBpY3R1cmUgcGFkLgoJICAqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgU2VuZCB2aWRlby1hc3BlY3QgZXZlbnRzIGRvd24gdGhlIHBpcGUgZnJvbSB0aGUgZGVtdXhlci4KCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgSGFuZGxlIHRpbWVkLXN0aWxscyBzb21ld2hhdCB1c2luZyBnX2NvbmRfdGltZWRfd2FpdCwgd2l0aCBhIEZJWE1FCgkgIHRvIG1ha2UgaXQgdXNlIGNsb2NrLXdhaXRpbmcgbGF0ZXIuCgkgICogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuYzoKCSAgRG9uJ3Qgb3ZlcndyaXRlIHRoZSBsYXN0X3N0b3AgaW4gdGhlIGJhc2VzcmMgc2VnbWVudCBhZnRlciBhIHNlYW1sZXNzCgkgIHNlZWsuCgoyMDA4LTA3LTExIDEzOjU0OjUyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIGRvY3MvcGx1Z2lucy8uZ2l0aWdub3JlOgoJICBDb21taXQgZmlsZSB0aGF0IG1vYXAgc2VlbXMgdG8gaGF2ZSBtaXNzZWQ6IElnbm9yZSAqLXVuZGVjbGFyZWQudHh0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDb21taXQgZmlsZSB0aGF0IG1vYXAgc2VlbXMgdG8gaGF2ZSBtaXNzZWQ6IElnbm9yZSAqLXVuZGVjbGFyZWQudHh0CgoyMDA4LTA3LTEwIDIxOjA2OjAzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBDbGVhbnVwIFBsdWdpbiBkb2NzLiBMaW5rIHRvIHNpZ25hbHMgYW5kIHByb3BlcnRpZXMuIEZpeCBzdWItc2VjdGlvbiB0aXRsZXMuIERyb3AgbWVudGluaW5nIHRoYXQgYWxsIG91ciBleGFtcGxlIHBpcGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy1vdmVycmlkZXMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRkZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9jb252ZXJ0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9yYXRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9yZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdGVzdHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkcGFyYW5vaWEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWNvZGViaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZm1wZWdjb2xvcnNwYWNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ25vbWV2ZnMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saWJ2aXN1YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZ2cueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wYW5nby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBsYXliYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVldWUyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3VicGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10Y3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aGVvcmEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10eXBlZmluZGZ1bmN0aW9ucy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXVyaWRlY29kZWJpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9yYXRlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zY2FsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvdGVzdHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvbHVtZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvcmJpcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbWFnZXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmltYWdlc2luay54bWw6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYW1peGVyLmM6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYXNpbmsuYzoKCSAgKiBleHQvYWxzYS9nc3RhbHNhc3JjLmM6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmM6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNpbmsuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNyYy5jOgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NpbmsuYzoKCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzcmMuYzoKCSAgKiBleHQvb2dnL2dzdG9nZ2RlbXV4LmM6CgkgICogZXh0L29nZy9nc3RvZ2dtdXguYzoKCSAgKiBleHQvcGFuZ28vZ3N0Y2xvY2tvdmVybGF5LmM6CgkgICogZXh0L3BhbmdvL2dzdHRleHRvdmVybGF5LmM6CgkgICogZXh0L3BhbmdvL2dzdHRleHRyZW5kZXIuYzoKCSAgKiBleHQvcGFuZ28vZ3N0dGltZW92ZXJsYXkuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZW5jLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFwYXJzZS5jOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzZGVjLmM6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNlbmMuYzoKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc3BhcnNlLmM6CgkgICogZXh0L3ZvcmJpcy92b3JiaXN0YWcuYzoKCSAgKiBnc3QvYWRkZXIvZ3N0YWRkZXIuYzoKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2dzdGF1ZGlvY29udmVydC5jOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBnc3QvYXVkaW90ZXN0c3JjL2dzdGF1ZGlvdGVzdHNyYy5jOgoJICAqIGdzdC9mZm1wZWdjb2xvcnNwYWNlL2dzdGZmbXBlZ2NvbG9yc3BhY2UuYzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0ZGVjb2RlYmluMi5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmluLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4yLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHF1ZXVlMi5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3R1cmlkZWNvZGViaW4uYzoKCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmM6CgkgICogZ3N0L3RjcC9nc3R0Y3BzZXJ2ZXJzaW5rLmM6CgkgICogZ3N0L3ZpZGVvcmF0ZS9nc3R2aWRlb3JhdGUuYzoKCSAgKiBnc3QvdmlkZW9zY2FsZS9nc3R2aWRlb3NjYWxlLmM6CgkgICogZ3N0L3ZpZGVvdGVzdHNyYy9nc3R2aWRlb3Rlc3RzcmMuYzoKCSAgKiBnc3Qvdm9sdW1lL2dzdHZvbHVtZS5jOgoJICAqIHN5cy94aW1hZ2UveGltYWdlc2luay5jOgoJICAqIHN5cy94dmltYWdlL3h2aW1hZ2VzaW5rLmM6CgkgIENsZWFudXAgUGx1Z2luIGRvY3MuIExpbmsgdG8gc2lnbmFscyBhbmQgcHJvcGVydGllcy4gRml4IHN1Yi1zZWN0aW9uCgkgIHRpdGxlcy4gRHJvcCBtZW50aW5pbmcgdGhhdCBhbGwgb3VyIGV4YW1wbGUgcGlwZWxpbmVzIGFyZSAic2ltcGxlIgoJICBwaXBlbGluZXMuCgoyMDA4LTA3LTEwIDIwOjIzOjA5ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzogQ29udmVydCBleHRlbmRlZCBldmVudCB0ZXh0IHRvIFVURi04LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBDb252ZXJ0IGV4dGVuZGVkIGV2ZW50IHRleHQgdG8gVVRGLTguCgoyMDA4LTA3LTEwIDE4OjUxOjExICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEb2N1bWVudCBvbmUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkgIERvY3VtZW50IG9uZSBtb3JlLgoKMjAwOC0wNy0xMCAwOToyMDoyMyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9nc3RtcGVnZGVzYy5oOiBGaXggZXh0ZW5kZWQgZXZlbnQgZGVzY3JpcHRvciBwYXJzaW5nLCBvdXQgYnkgMSBpbiBwb3NpdGlvbiBvZiB0ZXh0IGxlbmd0aC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2dzdG1wZWdkZXNjLmg6CgkgIEZpeCBleHRlbmRlZCBldmVudCBkZXNjcmlwdG9yIHBhcnNpbmcsIG91dCBieSAxIGluIHBvc2l0aW9uIG9mCgkgIHRleHQgbGVuZ3RoLgoKMjAwOC0wNy0wOSAxMjoxMzowOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6IEFkZCBhIG5vdGUgdG8gdGhlIGRvY3MsIHRoYXQgZmVzdGl2YWwgbmVlZCB0byBiZSBydW5uaW5nLiBBbHNvIGxvZyBhbiBlcnJvciBpdCBpdCBpcyBub3QuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICBBZGQgYSBub3RlIHRvIHRoZSBkb2NzLCB0aGF0IGZlc3RpdmFsIG5lZWQgdG8gYmUgcnVubmluZy4gQWxzbyBsb2cgYW4KCSAgZXJyb3IgaXQgaXQgaXMgbm90LiBGaXhlcyAjNTQxMzI3CgoyMDA4LTA3LTA4IDIxOjIwOjI3ICswMDAwICBJbGphIFBhdmtvdmljIDxpbGxzZW5AZ3VtYmxmYXJ6LmRlPgoKCSAgZ3N0L2xpYnJmYi9nc3RyZmJzcmMuKjogQWRkIHZpZXctb25seSBwcm9wZXJ0eSB0byBpZ25vcmUgdGhlIG5hdmlnYXRpb24gZXZlbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSWxqYSBQYXZrb3ZpYyA8aWxsc2VuQGd1bWJsZmFyei5kZT4KCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmg6CgkgIEFkZCB2aWV3LW9ubHkgcHJvcGVydHkgdG8gaWdub3JlIHRoZSBuYXZpZ2F0aW9uIGV2ZW50cwoKMjAwOC0wNy0wOCAxODo1Mzo0MSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmM6IFJldmVydCBwcmV2aW91cyBwYXRjaCBhcGFydCBmcm9tIHR5cG8gZml4ZXM7IHRoZSBwYXRjaCB3YXMgbm90IGluZGVwZW5kZW50bHkgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jOgoJICBSZXZlcnQgcHJldmlvdXMgcGF0Y2ggYXBhcnQgZnJvbSB0eXBvIGZpeGVzOyB0aGUgcGF0Y2ggd2FzIG5vdAoJICBpbmRlcGVuZGVudGx5IHVzZWZ1bC4KCjIwMDgtMDctMDggMTc6NDE6NTUgKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvQG5udmEub3JnPgoKCSAgc3lzL2RzaG93ZGVjd3JhcHBlci86IEFkZCBBQUMsIEFDMyB0byBoYW5kbGVkIGNvZGVjcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyb0BubnZhLm9yZz4KCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuYzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZGVjd3JhcHBlci5oOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jOgoJICBBZGQgQUFDLCBBQzMgdG8gaGFuZGxlZCBjb2RlY3MuCgkgIEZpeCBoYW5kbGluZyBvZiBmbHVzaCBldmVudHMuCgkgIEltcHJvdmUgZGVidWcvZXJyb3Igb3V0cHV0LgoJICBGaXggYSBudW1iZXIgb2YgdHlwb3MgaW4gY29tbWVudHMgYW5kIHZhcmlhYmxlIG5hbWVzLgoKMjAwOC0wNy0wOCAxNToyNDo0NCArMDAwMCAgSWxqYSBQYXZrb3ZpYyA8aWxsc2VuQGd1bWJsZmFyei5kZT4KCgkgIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOiBJbXBsZW1lbnQgU2VydmVyQ3V0VGV4dCBtZXNzYWdlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSWxqYSBQYXZrb3ZpYyA8aWxsc2VuQGd1bWJsZmFyei5kZT4KCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgSW1wbGVtZW50IFNlcnZlckN1dFRleHQgbWVzc2FnZQoKMjAwOC0wNy0wOCAxNDoyODowOCArMDAwMCAgSWxqYSBQYXZrb3ZpYyA8aWxsc2VuQGd1bWJsZmFyei5kZT4KCgkgIGdzdC9saWJyZmIvOiBBZGQgcHJvcGVydHkgZm9yIHNoYXJlZCBkZXNrdG9wCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSWxqYSBQYXZrb3ZpYyA8aWxsc2VuQGd1bWJsZmFyei5kZT4KCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICBBZGQgcHJvcGVydHkgZm9yIHNoYXJlZCBkZXNrdG9wCgoyMDA4LTA3LTA4IDE0OjAxOjE5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IERvbid0IGluY2x1ZGUgRVJST1JfQ0ZMQUdTIGluIEdTVF9DWFhGTEFHUyBhcyBpdCBtaWdodCBpbmNsdWRlIGZsYWdzIHRoYXQgYXJlIGludmFsaWQgZm9yIEMrKy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEb24ndCBpbmNsdWRlIEVSUk9SX0NGTEFHUyBpbiBHU1RfQ1hYRkxBR1MgYXMgaXQgbWlnaHQgaW5jbHVkZQoJICBmbGFncyB0aGF0IGFyZSBpbnZhbGlkIGZvciBDKysuCgoyMDA4LTA3LTA4IDEzOjMxOjM3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBEb24ndCB1c2UgZGVjbGFyYXRpb25zIGFmdGVyIHN0YXRlbWVudHMgaW4gdGhlIHJlbWFpbmluZyBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BjL2dzdHNwYy5jOiAoc3BjX3NldHVwKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BUb3AuaW5jOgoJICBEb24ndCB1c2UgZGVjbGFyYXRpb25zIGFmdGVyIHN0YXRlbWVudHMgaW4gdGhlIHJlbWFpbmluZyBjb2RlLgoKMjAwOC0wNy0wOCAxMzoyODo1MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0LzogRG9uJ3QgdXNlIGRlY2xhcmF0aW9ucyBhZnRlciBzdGF0ZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6CgkgIEpvbmF0aGFuIFJvc3NlciA8am9uYXRoYW4gZG90IHJvc3NlciBhdCByZCBkb3QgYmJjIGRvdCBjbyBkb3QgdWs+CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOiAobWV0YWRhdGFwYXJzZV9oYW5kbGVfdW5pdF90YWdzKToKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgKG1ldGFkYXRhcGFyc2VfeG1wX2l0ZXJfYWRkX3RvX3RhZ19saXN0KToKCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiAoZ3N0X215dGh0dl9zcmNfc3RhcnQpOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOiAoZ3N0X3dpbGRtaWRpX2xvb3ApOgoJICBEb24ndCB1c2UgZGVjbGFyYXRpb25zIGFmdGVyIHN0YXRlbWVudHMuCgoyMDA4LTA3LTA3IDEzOjIyOjI2ICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyb0BubnZhLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOiBGaXggbWVtb3J5IGxlYWsgYnkgdW5yZWZmaW5nIHN0cnVjdHVyZXMgd2hlbiBub3QgbmVlZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEFsZXNzYW5kcm8gRGVjaW5hCgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIEZpeCBtZW1vcnkgbGVhayBieSB1bnJlZmZpbmcgc3RydWN0dXJlcyB3aGVuIG5vdCBuZWVkZWQuCgkgIEZpeGVzICM1MzkyOTIuCgoyMDA4LTA3LTA3IDEwOjQzOjQ1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6IFVzZSBmbG9hdGluZyBwb2ludCBtYXRoIGZvciBsYXRlbmNpZXMgPCAwIHNlYyBpbiBsb2cgb3V0cHV0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIFVzZSBmbG9hdGluZyBwb2ludCBtYXRoIGZvciBsYXRlbmNpZXMgPCAwIHNlYyBpbiBsb2cgb3V0cHV0LgoKMjAwOC0wNy0wNiAyMDo0Mzo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6IE1hcmsgaW50ZXJuYWwgcHJvY2Vzc2luZyBmdW5jdGlvbnMgYXMgc3RhdGljIGlubGluZSBmb3IgcXVpdGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOgoJICBNYXJrIGludGVybmFsIHByb2Nlc3NpbmcgZnVuY3Rpb25zIGFzIHN0YXRpYyBpbmxpbmUgZm9yIHF1aXRlIHNvbWUKCSAgc3BlZWR1cCBhcyB0aGV5J3JlIHVzZWQgb25seSBvbmNlIGFuZCBuZWVkIHRvIGdldCBtYW55IGxvY2FsIHZhcmlhYmxlcwoJICBwYXNzZWQgYXMgcGFyYW1ldGVyLgoKMjAwOC0wNy0wNSAxOToyMDozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuKjogQ2FsbCB0aGUgY3VycmVudCBpbnN0YW5jZSAic2VsZiIgaW5zdGVhZCBvZiAib2JqZWN0Ii4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZGVpbnRlcmxhY2VfZnJhbWUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwgKGdzdF9kZWludGVybGFjZTJfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3Jlc2V0X2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9yZXNldCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9wcm9wZXJ0eSksIChnc3RfZGVpbnRlcmxhY2UyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3BvcF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfaGVhZF9oaXN0b3J5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfcHVzaF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKSwgKGdzdF9kZWludGVybGFjZTJfc2lua19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoYW5nZV9zdGF0ZSksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgQ2FsbCB0aGUgY3VycmVudCBpbnN0YW5jZSAic2VsZiIgaW5zdGVhZCBvZiAib2JqZWN0Ii4KCjIwMDgtMDctMDUgMTk6MTE6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLio6IEluY2x1ZGUgbGF0ZW5jeSBvZiB0aGUgbWV0aG9kIGluIHRoZSByZXR1cm5lZCBsYXRlbmN5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9nZXRfbGF0ZW5jeSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfcHVzaF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKSwgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBJbmNsdWRlIGxhdGVuY3kgb2YgdGhlIG1ldGhvZCBpbiB0aGUgcmV0dXJuZWQgbGF0ZW5jeS4KCSAgRml4IG91dHB1dHRpbmcgb2YgYWxsIGZpZWxkcywgaS5lLiBkb3VibGluZyBvZiB0aGUgZnJhbWVyYXRlLgoKMjAwOC0wNy0wNSAxNjo0NzozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi86IFVzZSBhIEdzdE9iamVjdCBzdWJ0eXBlIGZvciB0aGUgZGVpbnRlcmxhY2luZyBtZXRob2RzIGFuZCBleHBvcnQgdGhlIGRpZmZlcmVudCBzZXR0aW5ncyBmb3IgZWFjaCBkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9kZWludGVybGFjZV9mcmFtZSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dldF9maWVsZHNfcmVxdWlyZWQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9tZXRob2RzX2dldF90eXBlKSwgKF9kb19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGlsZF9wcm94eV9pbnRlcmZhY2VfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9maW5hbGl6ZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9sX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9sX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9sX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfbF9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6IChncmVlZHlEU2NhbGVyX0MpLAoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5aCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9oX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9oX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9oX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfaF9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvcGx1Z2lucy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfZnJhbWVfdmZpciksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3ZmaXJfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3ZmaXJfaW5pdCk6CgkgIFVzZSBhIEdzdE9iamVjdCBzdWJ0eXBlIGZvciB0aGUgZGVpbnRlcmxhY2luZyBtZXRob2RzIGFuZCBleHBvcnQKCSAgdGhlIGRpZmZlcmVudCBzZXR0aW5ncyBmb3IgZWFjaCBkZWludGVybGFjaW5nIG1ldGhvZCB2aWEgR09iamVjdAoJICBwcm9wZXJ0aWVzLgoJICBJbXBsZW1lbnQgR3N0Q2hpbGRQcm94eSBpbnRlcmZhY2UgdG8gYWxsb3cgYWNjZXNzIHRvIHRoZSB1c2VkCgkgIGRlaW50ZXJsYWNpbmcgbWV0aG9kIGFuZCB0byBhbGxvdyBhZGp1c3RpbmcgdGhlIGRpZmZlcmVudCBzZXR0aW5ncy4KCSAgTW92ZSBnbG9iYWwgdmFyaWFibGVzIG9mIHRoZSB0b21zbW9jb21wIGRlaW50ZXJsYWNpbmcgbWV0aG9kIGludG8KCSAgZnVuY3Rpb24gbG9jYWwgdmFyaWFibGVzIHRvIG1ha2UgaXQgcG9zc2libGUgdG8gdXNlIHRoaXMgZGVpbnRlcmxhY2luZwoJICBtZXRob2QgZnJvbSBkaWZmZXJlbnQgaW5zdGFuY2VzLgoKMjAwOC0wNy0wNSAxMjoyMjozNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206IFN1cHBvcnQgd2lkdGhzIHRoYXQgYXJlIG5vdCBhIG11bHRpcGx5IG9mIDQgd2hlbiB1c2luZyB0aGUgYXNzZW1ibHkgb3B0aW1pemVkIGdyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICBTdXBwb3J0IHdpZHRocyB0aGF0IGFyZSBub3QgYSBtdWx0aXBseSBvZiA0IHdoZW4gdXNpbmcgdGhlIGFzc2VtYmx5CgkgIG9wdGltaXplZCBncmVlZHloIGltcGxlbWVudGF0aW9ucy4KCjIwMDgtMDctMDQgMTg6NTQ6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzogT25seSBidWlsZCB0aGUgYXNzZW1ibHkgb3B0aW1pemVkIGltcGxlbWVudGF0aW9ucyBvbiB4ODYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpOgoJICBPbmx5IGJ1aWxkIHRoZSBhc3NlbWJseSBvcHRpbWl6ZWQgaW1wbGVtZW50YXRpb25zIG9uIHg4Ni4KCjIwMDgtMDctMDQgMTg6NTI6MzcgKzAwMDAgIERhbWllbiBMZXNwaWF1IDxkYW1pZW4ubGVzcGlhdUBnbWFpbC5jb20+CgoJICBjb25maWd1cmUuYWM6IEZpeCBjaGVja2luZyBvZiBoZWFkZXJzIGZvciB0aGUgT1NTNCBwbHVnaW4gdG8gZmFpbCBpZiBhIHNpbmdsZSBoZWFkZXIgZG9lc24ndCBleGlzdCBhbHJlYWR5LiBBQ19DSEVDS18uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuIGRvdCBsZXNwaWF1IGF0IGdtYWlsIGRvdCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggY2hlY2tpbmcgb2YgaGVhZGVycyBmb3IgdGhlIE9TUzQgcGx1Z2luIHRvIGZhaWwgaWYgYSBzaW5nbGUKCSAgaGVhZGVyIGRvZXNuJ3QgZXhpc3QgYWxyZWFkeS4gQUNfQ0hFQ0tfSEVBREVSUyBvbmx5IGZhaWxzIGlmIG5vbmUKCSAgb2YgdGhlIGhlYWRlcnMgaXMgZm91bmQuIEZpeGVzIGJ1ZyAjNTQxNTQzLgoKMjAwOC0wNy0wNCAxNjowNjowOSArMDAwMCAgRGFtaWVuIExlc3BpYXUgPGRhbWllbi5sZXNwaWF1QGdtYWlsLmNvbT4KCgkgIEZpeCBidWlsdCBvZiB0aGUgZmVzdGl2YWwgcGx1Z2luIHdpdGggbWluZ3czMiBieSBsaW5raW5nIHRvIHdzMl8zMi5kbGwgYW5kIGluY2x1ZGluZyB3aW5zb2NrIGhlYWRlcnMuIEZpeGVzIGJ1ZyAjNTQxNTIyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IERhbWllbiBMZXNwaWF1IDxkYW1pZW4gZG90IGxlc3BpYXUgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2Zlc3RpdmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICBGaXggYnVpbHQgb2YgdGhlIGZlc3RpdmFsIHBsdWdpbiB3aXRoIG1pbmd3MzIgYnkgbGlua2luZyB0byB3czJfMzIuZGxsCgkgIGFuZCBpbmNsdWRpbmcgd2luc29jayBoZWFkZXJzLiBGaXhlcyBidWcgIzU0MTUyMi4KCjIwMDgtMDctMDMgMTQ6NDQ6NTEgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBDb3JyZWN0ZWQgYSB0eXBvIChpbnRlcnBvbGxhdGUgLT4gaW50ZXJwb2xhdGUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBDaGFuZ2VMb2c6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2dldF9uZXdfc3IpOgoJICBDb3JyZWN0ZWQgYSB0eXBvIChpbnRlcnBvbGxhdGUgLT4gaW50ZXJwb2xhdGUpLgoKMjAwOC0wNy0wMyAxNDozMToxMCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IENoYW5nZWQgc29tZSBHU1RfREVCVUcoKSB0byBHU1RfTE9HKCkgdG8gcmVkdWNlIHRoZSBzcGFtIHdoZW4gYSBwaXBlbGluZSBpcyBydW5uaW5nIG5vcm1hbGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRwKSwgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3N5bmNfcnRjcCksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRjcCksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHNvdXJjZV9wdXNoX3J0cCksCgkgIChydHBfc2Vzc2lvbl9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChwdXNoX3BhY2tldCksIChjYWxjdWxhdGVfaml0dGVyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApLCAocnRwX3NvdXJjZV9zZW5kX3J0cCk6CgkgIENoYW5nZWQgc29tZSBHU1RfREVCVUcoKSB0byBHU1RfTE9HKCkgdG8gcmVkdWNlIHRoZSBzcGFtIHdoZW4gYQoJICBwaXBlbGluZSBpcyBydW5uaW5nIG5vcm1hbGx5LgoKMjAwOC0wNy0wMyAxMzo0NzoxOSArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IERvIG5vdCBtaXggdGhlIHVzZSBvZiBnX2dldF9jdXJyZW50X3RpbWUoKSB3aXRoIGdzdF9jbG9ja19nZXRfdGltZSgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25faW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZmluYWxpemUpLCAocnRjcF90aHJlYWQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChjaGVja19jb2xsaXNpb24pLAoJICAodXBkYXRlX2Fycml2YWxfc3RhdHMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKSwgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfYnllX2xvY2tlZCksIChydHBfc2Vzc2lvbl9zZW5kX2J5ZSksCgkgIChydHBfc2Vzc2lvbl9uZXh0X3RpbWVvdXQpLCAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKSwgKHNlc3Npb25fY2xlYW51cCksCgkgIChpc19ydGNwX3RpbWUpLCAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBEbyBub3QgbWl4IHRoZSB1c2Ugb2YgZ19nZXRfY3VycmVudF90aW1lKCkgd2l0aCBnc3RfY2xvY2tfZ2V0X3RpbWUoKS4KCjIwMDgtMDctMDEgMjE6NDA6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLio6IFF1ZXVlIG5ldy1zZWdtZW50IGV2ZW50cyBhbmQgc2VuZCB0aGVtIGFmdGVyIGNhcHMgaGF2ZSBiZWVuIGRldGVybWluZWQgYW5kIHNldCwgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5oOgoJICBRdWV1ZSBuZXctc2VnbWVudCBldmVudHMgYW5kIHNlbmQgdGhlbSBhZnRlciBjYXBzIGhhdmUgYmVlbgoJICBkZXRlcm1pbmVkIGFuZCBzZXQsIHNvIHRoYXQgdGhlIGRlY29kZXIgd2lsbCBoYXZlIGJlZW4gYXV0by1wbHVnZ2VkLgoKMjAwOC0wNy0wMSAxMToyODoxNyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL3F0d3JhcHBlci86IE1ha2UgcXR3cmFwcGVyIGNvbXBpbGUvd29yayBvbiB3aW4zMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5IDogTWljaGFlbCBTbWl0aCA8bXNtaXRoIEAgeGlwaCBkb3Qgb3JnPgoJICAqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOiAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJfaW5pdCksCgkgIChjbGVhcl9BdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24pLCAoZmlsbF9pbmRlc2NfbXAzKSwKCSAgKGZpbGxfaW5kZXNjX2FhYyksIChtYWtlX3NhbXJfbWFnaWNfY29va2llKSwgKHdyaXRlX2xlbiksCgkgIChtYWtlX2FhY19tYWdpY19jb29raWUpLCAob3Blbl9kZWNvZGVyKSwgKHByb2Nlc3NfYnVmZmVyX2NiKSwKCSAgKHF0d3JhcHBlcl9hdWRpb19kZWNvZGVyX2NoYWluKSwKCSAgKHF0d3JhcHBlcl9hdWRpb19kZWNvZGVyX3NpbmtfZXZlbnQpLAoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJfYmFzZV9pbml0KSwKCSAgKHF0d3JhcHBlcl9hdWRpb19kZWNvZGVyX2NsYXNzX2luaXQpLAoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJzX3JlZ2lzdGVyKToKCSAgKiBzeXMvcXR3cmFwcGVyL2NvZGVjbWFwcGluZy5oOgoJICAqIHN5cy9xdHdyYXBwZXIvaW1hZ2VkZXNjcmlwdGlvbi5jOiAoaW1hZ2VfZGVzY3JpcHRpb25fZm9yX2F2YzEpLAoJICAoaW1hZ2VfZGVzY3JpcHRpb25fZm9yX21wNHYpLCAoaW1hZ2VfZGVzY3JpcHRpb25fZnJvbV9zdHNkX2J1ZmZlcik6CgkgICogc3lzL3F0d3JhcHBlci9pbWFnZWRlc2NyaXB0aW9uLmg6CgkgICogc3lzL3F0d3JhcHBlci9xdHV0aWxzLmM6IChnZXRfbmFtZV9pbmZvX2Zyb21fY29tcG9uZW50KSwKCSAgKGR1bXBfYXZjY19hdG9tKSwgKGR1bXBfaW1hZ2VfZGVzY3JpcHRpb24pLAoJICAoQWxsb2NhdGVBdWRpb0J1ZmZlckxpc3QpOgoJICAqIHN5cy9xdHdyYXBwZXIvcXR1dGlscy5oOgoJICAqIHN5cy9xdHdyYXBwZXIvcXR3cmFwcGVyLmM6IChwbHVnaW5faW5pdCk6CgkgICogc3lzL3F0d3JhcHBlci9xdHdyYXBwZXIuaDoKCSAgKiBzeXMvcXR3cmFwcGVyL3ZpZGVvZGVjb2RlcnMuYzoKCSAgKHF0d3JhcHBlcl92aWRlb19kZWNvZGVyX2Jhc2VfaW5pdCksIChvcGVuX2RlY29kZXIpLAoJICAoZGVjb21wcmVzc0NiKSwgKHF0d3JhcHBlcl92aWRlb19kZWNvZGVyX2NoYWluKSwKCSAgKHF0d3JhcHBlcl92aWRlb19kZWNvZGVyc19yZWdpc3Rlcik6CgkgIE1ha2UgcXR3cmFwcGVyIGNvbXBpbGUvd29yayBvbiB3aW4zMi4KCSAgTG90cyBvZiBmaXhlcwoJICBGaXhlcyAjNTMxODQwCgoyMDA4LTA2LTMwIDE5OjE5OjI2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6IEZpeCBzaXplIGNhbGN1bGF0aW9uIGZvciBSR0IgYnVmZmVycyAtPiBicHAgaXMgaW4gYml0cywgc28gZGl2aWRlIGJ5IDgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgRml4IHNpemUgY2FsY3VsYXRpb24gZm9yIFJHQiBidWZmZXJzIC0+IGJwcCBpcyBpbiBiaXRzLCBzbyBkaXZpZGUgYnkgOAoKMjAwOC0wNi0zMCAwNzo1MTowNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi86IFJlbW92ZSB1c2VsZXNzIGZpbGUgYW5kIG1hcmsgZXZlcnl0aGluZyBwb3NzaWJsZSBhcyBzdGF0aWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOiAodG9tc21vY29tcF9pbml0KSwKCSAgKHRvbXNtb2NvbXBfZmlsdGVyX21teCksICh0b21zbW9jb21wX2ZpbHRlcl8zZG5vdyksCgkgICh0b21zbW9jb21wX2ZpbHRlcl9zc2UpLCAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfdG9tc21vY29tcCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5oOgoJICBSZW1vdmUgdXNlbGVzcyBmaWxlIGFuZCBtYXJrIGV2ZXJ5dGhpbmcgcG9zc2libGUgYXMgc3RhdGljLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgVXNlICJfc3RkaW50LmgiIGluc3RlYWQgb2YgPHN0ZGludC5oPi4KCjIwMDgtMDYtMjkgMTA6NTY6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvOiBHZXQgcmlkIG9mIHNwZWVkeS5bY2hdIGFzIHdlIGRvbid0IHVzZSBtb3N0IG9mIGl0J3MgY29kZSBhbnl3YXkgYW5kIGl0IGRvZXNuJ3Qgc2VlbSB0byBiZSByZWxpY2Vucy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IChnc3RfZGVpbnRlcmxhY2UyX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHRvb2xzLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5LmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5Lmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOiAoRmllbGRjb3B5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2ZyYW1lX3ZmaXIpOgoJICBHZXQgcmlkIG9mIHNwZWVkeS5bY2hdIGFzIHdlIGRvbid0IHVzZSBtb3N0IG9mIGl0J3MgY29kZSBhbnl3YXkKCSAgYW5kIGl0IGRvZXNuJ3Qgc2VlbSB0byBiZSByZWxpY2Vuc2VkIHRvIExHUEwuIFVzZSBtZW1jcHkoKSBpbnN0ZWFkCgkgIG9mIHRoZSBzcGVlZHkgbWVtY3B5IGV2ZXJ5d2hlcmUgaW5zdGVhZC4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBSZW1vdmUgbWFueSB1bnVzZWQgZGVjbGFyYXRpb25zLgoKMjAwOC0wNi0yOCAyMDo1MTozNiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLio6IEV4cG9zZSB0aGUgYWRkaXRpb25hbCBNUEVHIEhEVFYgZm9ybWF0IHByb2ZpbGVzIGF2YWlsYWJsZSBpbiBsYXRlc3QgbWpwZWd0b29scyB2ZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb3B0aW9ucy5jYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLmhoOgoJICBFeHBvc2UgdGhlIGFkZGl0aW9uYWwgTVBFRyBIRFRWIGZvcm1hdCBwcm9maWxlcyBhdmFpbGFibGUgaW4gbGF0ZXN0CgkgIG1qcGVndG9vbHMgdmVyc2lvbi4KCjIwMDgtMDYtMjggMTg6MTM6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IERpdmlkZSBsYXRlbmN5IGJlIDIgdG8gY29udmVydCBmcm9tIGZpZWxkcyB0byBmcmFtZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSk6CgkgIERpdmlkZSBsYXRlbmN5IGJlIDIgdG8gY29udmVydCBmcm9tIGZpZWxkcyB0byBmcmFtZXMuCgoyMDA4LTA2LTI4IDE4OjEwOjUyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogRG9uJ3QgdXNlIHNjYW5saW5lcyBmdW5jdGlvbiBmcm9tIGdzdGRlaW50ZXJsYWNlMiBhcyBpdCdzIG5vdCBhcHByb3BpYXRlIGZvciB0aGlzIG0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5KToKCSAgRG9uJ3QgdXNlIHNjYW5saW5lcyBmdW5jdGlvbiBmcm9tIGdzdGRlaW50ZXJsYWNlMiBhcyBpdCdzCgkgIG5vdCBhcHByb3BpYXRlIGZvciB0aGlzIG1ldGhvZC4gSW5zdGVhZCBpbXBsZW1lbnQgZGVpbnRlcmxhY2VfZnJhbWUKCSAgZnVuY3Rpb24gYnkgdGFraW5nIHRoZSBvbmUgZnJvbSBncmVlZHloLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzogKGdyZWVkeURTY2FsZXJfQyk6CgkgIFNtYWxsIGZpeCBmb3IgdGhlIEMgaW1wbGVtZW50YXRpb24uCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfZnJhbWVfdmZpcik6CgkgIERvbid0IHVzZSB0aGUgc2NhbmxpbmVzIGZ1bmN0aW9uIGZyb20gZ3N0ZGVpbnRlcmxhY2UyIGFzIGl0J3Mgb25seQoJICB1c2VkIGZvciB0aGlzIG1ldGhvZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBJbnN0ZWFkIGltcGxlbWVudAoJICBkZWludGVybGFjZV9mcmFtZSBmdW5jdGlvbiBhbmQgbWFrZSBpdCBhIGJpdCBtb3JlIGVmZmljaWVudC4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3B1c2hfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0Y2FwcyksIChnc3RfZGVpbnRlcmxhY2UyX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpOgoJICBGaXggY29kaW5nIHN0eWxlIGFuZCByZW1vdmUgc2NhbmxpbmVzIGZ1bmN0aW9uIGFzIGl0J3MgdW51c2VkIG5vdy4KCjIwMDgtMDYtMjggMTc6MjU6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lLzogQWRkIGEgQyBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIGdyZWVkeWggZGVpbnRlcmxhY2luZyBtZXRob2QsIGNsZWFuIHVwIHRoZSBjb2RlIGEgYml0IGFuZCBtYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6IChncmVlZHlEU2NhbGVyX0MpLAoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5aCksIChkc2NhbGVyX2dyZWVkeWhfZ2V0X21ldGhvZCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aG1hY3Jvcy5oOgoJICBBZGQgYSBDIGltcGxlbWVudGF0aW9uIGZvciB0aGUgZ3JlZWR5aCBkZWludGVybGFjaW5nIG1ldGhvZCwgY2xlYW4KCSAgdXAgdGhlIGNvZGUgYSBiaXQgYW5kIG1hcmsgdGhlIFNTRSB2ZXJzaW9uIGFzIE1NWEVYVCBhcyBpdCBkb2Vzbid0CgkgIHJlcXVpcmUgYW55IFNTRSBpbnN0cnVjdGlvbnMuCgoyMDA4LTA2LTI3IDEzOjIyOjM0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiBJZiB3ZSdyZSBvdXRwdXR0aW5nIGFsbCBmaWVsZHMgdGhlIGZyYW1lcmF0ZSBoYXMgdG8gYmUgZG91YmxlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X3Byb3BlcnR5KSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKToKCSAgSWYgd2UncmUgb3V0cHV0dGluZyBhbGwgZmllbGRzIHRoZSBmcmFtZXJhdGUgaGFzIHRvIGJlIGRvdWJsZWQuCgkgIFNldCBkdXJhdGlvbiBvbiB0aGUgb3V0Z29pbmcgYnVmZmVycy4KCjIwMDgtMDYtMjYgMTU6NTI6NDAgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIFlVVjRNUEVHMiBlbmNvZGVyIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIFlVVjRNUEVHMiBlbmNvZGVyIGVsZW1lbnQuCgoyMDA4LTA2LTI1IDE2OjA1OjA4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6IFJlbW92ZSB1bm5lZWRlZCBtYWNyb3MgdGhhdCBicmVhayBidWlsZCBvbiBtYWNvc3guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOgoJICBSZW1vdmUgdW5uZWVkZWQgbWFjcm9zIHRoYXQgYnJlYWsgYnVpbGQgb24gbWFjb3N4LgoKMjAwOC0wNi0yNCAxNTo0ODoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRGVwZW5kIG9uIHJlbGVhc2VkIHZlcnNpb25zIG9mIGNvcmUgYW5kIC1iYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERlcGVuZCBvbiByZWxlYXNlZCB2ZXJzaW9ucyBvZiBjb3JlIGFuZCAtYmFzZS4KCjIwMDgtMDYtMjQgMTI6MDg6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiBPcHRpbWl6ZSBNTVgvTU1YRVhUIGltcGxlbWVudGF0aW9ucyBhIGJpdCBieSByZXF1aXJpbmcgdHdvIGxlc3MgbWVtb3J5IGFjY2Vzc2VzIGFuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KToKCSAgT3B0aW1pemUgTU1YL01NWEVYVCBpbXBsZW1lbnRhdGlvbnMgYSBiaXQgYnkgcmVxdWlyaW5nIHR3byBsZXNzCgkgIG1lbW9yeSBhY2Nlc3NlcyBhbmQgZml4IHRoZSB3b3JrYXJvdW5kIGZvciB0aGUgbWlzc2luZyByaWdodCBzaGlmdAoJICBvbiBieXRlcyB0byB1bnNldCB0aGUgaGlnaGVzdCBiaXQgb2YgZXZlcnkgYnl0ZS4KCjIwMDgtMDYtMjQgMTA6MTU6NDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiBSZW1vdmUgc2ZlbmNlIGluc3RydWN0aW9uIGFzIGl0J3Mgbm90IG5lZWRlZCBhbmQgYWN0dWFsbHkgaXMgYW4gU1NFIGluc3RydWN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KToKCSAgUmVtb3ZlIHNmZW5jZSBpbnN0cnVjdGlvbiBhcyBpdCdzIG5vdCBuZWVkZWQgYW5kIGFjdHVhbGx5IGlzIGFuIFNTRQoJICBpbnN0cnVjdGlvbi4KCjIwMDgtMDYtMjQgMTA6MTI6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiBBZGQgcGxhaW4gTU1YIGltcGxlbWVudGF0aW9uIGZvciB0aGUgZ3JlZWR5bCBtZXRob2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZSk6CgkgIEFkZCBwbGFpbiBNTVggaW1wbGVtZW50YXRpb24gZm9yIHRoZSBncmVlZHlsIG1ldGhvZC4KCjIwMDgtMDYtMjQgMDk6NDA6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06IE1vdmUgdGhlIGFzc2VtYmx5IGluY2x1ZGVzIHRvIG5vaW5zdF9IRUFERVJTIHdoZXJlIHRoZXkgYmVsb25nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICBNb3ZlIHRoZSBhc3NlbWJseSBpbmNsdWRlcyB0byBub2luc3RfSEVBREVSUyB3aGVyZSB0aGV5IGJlbG9uZy4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfbGluZV9tbXgpOgoJICBGaXggQyBhbmQgTU1YIGltcGxlbWVudGF0aW9ucyBhIGJpdCBtb3JlLgoKMjAwOC0wNi0yNCAwOToxMDo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IEZpeCB0aGUgQyBpbXBsZW1lbnRhdGlvbiB0byBwcm9kdWNlIGNvcnJlY3QgcmVzdWx0cyBhbmQgb3B0aW1pemUgdGhlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmUpOgoJICBGaXggdGhlIEMgaW1wbGVtZW50YXRpb24gdG8gcHJvZHVjZSBjb3JyZWN0IHJlc3VsdHMgYW5kIG9wdGltaXplIHRoZQoJICBNTVhFWFQgaW1wbGVtZW50YXRpb24uCgkgIEhhbmRsZSBvZGQgd2lkdGhzIGFuZCBkb24ndCByZWFkIG92ZXIgYXJyYXkgYm91bmRhcmllcyBpbiB0aGUgTU1YRVhUCgkgIGltcGxlbWVudGF0aW9uLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2xpbmVfYyksCgkgIChkZWludGVybGFjZV9saW5lX21teCksIChkZWludGVybGFjZV9zY2FubGluZV92ZmlyKToKCSAgRml4IGEgc21hbGwgcm91bmRpbmcgYnVnIGluIHRoZSBNTVggaW1wbGVtZW50YXRpb24sIHRoZSBNTVgKCSAgaW1wbGVtZW50YXRpb24gZG9lc24ndCBhY3R1YWxseSBuZWVkIE1NWEVYVCBpbnN0cnVjdGlvbnMgc28gZG9uJ3QgbWFyawoJICBpdCBhcyBzdWNoLgoJICBIYW5kbGUgb2RkIHdpZHRocyBpbiBib3RoIGltcGxlbWVudGF0aW9ucy4KCjIwMDgtMDYtMjEgMjE6MjA6MjQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmM6IFVzZSB0aGUgcmlnaHQgaTE4biBoZWFkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmM6CgkgIFVzZSB0aGUgcmlnaHQgaTE4biBoZWFkZXIuCgoyMDA4LTA2LTIxIDA5OjA1OjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogSW1wbGVtZW50IGEgQyB2ZXJzaW9uIG9mIHRoZSBncmVlZHkgbG93IG1vdGlvbiBhbGdvcml0aG0gYW5kIG1hcmsgdGhlIGFzc2VtYmx5IG9wdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX3NzZSksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZSk6CgkgIEltcGxlbWVudCBhIEMgdmVyc2lvbiBvZiB0aGUgZ3JlZWR5IGxvdyBtb3Rpb24gYWxnb3JpdGhtIGFuZCBtYXJrIHRoZQoJICBhc3NlbWJseSBvcHRpbWl6ZWQgdmVyc2lvbiBhcyBTU0UgYXMgaXQgdXNlcyBTU0UgaW5zdHJ1Y3Rpb25zCgkgIGFkZGl0aW9uYWwgdG8gTU1YIGluc3RydWN0aW9ucy4KCjIwMDgtMDYtMjAgMTY6NTQ6MjggKzAwMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPG1hcmR1a0BrLWQtdy5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOiBGaXggcHJvYmxlbSB3aGVuIGVtcHR5IHN0cmluZyBpcyBwcm92aWRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gUMO2bHN0ZXJsCgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgRml4IHByb2JsZW0gd2hlbiBlbXB0eSBzdHJpbmcgaXMgcHJvdmlkZWQuCgoyMDA4LTA2LTIwIDE0OjQ4OjQwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IE1ha2UgaXQgcG9zc2libGUgdG8gdXNlIHRoZSB2ZmlyIG1ldGhvZCBvbiBYODYgQ1BVcyB3aXRob3V0IE1NWEVYVCB0b28gYnV0IHVzZSB0aGUgTU0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfbGluZV9tbXhleHQpLAoJICAoZGVpbnRlcmxhY2VfbGluZV9jKSwgKGRlaW50ZXJsYWNlX3NjYW5saW5lX3ZmaXIpOgoJICBNYWtlIGl0IHBvc3NpYmxlIHRvIHVzZSB0aGUgdmZpciBtZXRob2Qgb24gWDg2IENQVXMgd2l0aG91dCBNTVhFWFQgdG9vCgkgIGJ1dCB1c2UgdGhlIE1NWEVYVCBvcHRpbWl6ZWQgY29kZSB3aGVuZXZlciBwb3NzaWJsZS4KCjIwMDgtMDYtMjAgMTQ6MzU6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLio6IFJlc2V0IGVsZW1lbnQgc3RhdGUgb24gUEFVU0VELT5SRUFEWSBwcm9wZXJseSwgZG9uJ3QgbGVhayBhbnkgYnVmZmVycyB3aGVuIGZpbmFsaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGFjZTJfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3Jlc2V0X2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9yZXNldCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpbmFsaXplKSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zaW5rX2V2ZW50KSwgKGdzdF9kZWludGVybGFjZTJfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBSZXNldCBlbGVtZW50IHN0YXRlIG9uIFBBVVNFRC0+UkVBRFkgcHJvcGVybHksIGRvbid0IGxlYWsgYW55IGJ1ZmZlcnMKCSAgd2hlbiBmaW5hbGl6aW5nLCBhbGxvY2F0ZSBidWZmZXJzIHdpdGggZ3N0X3BhZF9hbGxvY19idWZmZXIoKSBhbmQKCSAgcHJvcGVybHkgcmV0dXJuIGZsb3cgcmV0dXJucyBmcm9tIGdzdF9wYWRfcHVzaCgpIGluc3RlYWQgb2YgaWdub3JpbmcgdGhlbS4KCjIwMDgtMDYtMjAgMTM6NDU6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOiBBZGQgbWlzc2luZyBoZWFkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOgoJICBBZGQgbWlzc2luZyBoZWFkZXIuCgoyMDA4LTA2LTIwIDEzOjI0OjI5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBGaXggY29tcGlsYXRpb24gb24gZ2VuZXJpYyB4ODYvYW1kNjQgYW5kIGluY2x1ZGUgZGVpbnRlcmxhY2UyIGluIHRoZSBidWlsZCBzeXN0ZW0uIEJlY2F1c2Ugb2Ygc2V2ZXJhbCBidWdzIGl0J3Mgc3RpbGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSAgRml4IGNvbXBpbGF0aW9uIG9uIGdlbmVyaWMgeDg2L2FtZDY0IGFuZCBpbmNsdWRlIGRlaW50ZXJsYWNlMiBpbiB0aGUKCSAgYnVpbGQgc3lzdGVtLiBCZWNhdXNlIG9mIHNldmVyYWwgYnVncyBpdCdzIHN0aWxsIGVuYWJsZWQgb25seQoJICBieSAtLWVuYWJsZS1leHBlcmltZW50YWwuCgoyMDA4LTA2LTIwIDEzOjA3OjU2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy4qOiBTY2hlZHVsZSBOQVYgcGFja2V0cyBhbmQgYWN0aXZhdGUgdGhlbSB3aXRoIGFuIGFzeW5jIGNsb2NrIGNhbGxiYWNrIGF0IHRoZSByaWdodCBtb21lbnQuIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgU2NoZWR1bGUgTkFWIHBhY2tldHMgYW5kIGFjdGl2YXRlIHRoZW0gd2l0aCBhbiBhc3luYyBjbG9jayBjYWxsYmFjawoJICBhdCB0aGUgcmlnaHQgbW9tZW50LiBUaGlzIG1ha2VzIGRlbGF5ZWQgbWVudSBoaWdobGlnaHRzIGFwcGVhcgoJICBhdCB0aGUgY29ycmVjdCB0aW1lIGFuZCBmaXhlcyBCYWNrIFRvIFRoZSBGdXR1cmUuCgkgIFdoZW4gb3V0cHV0dGluZyBuZXcgc2VnbWVudCBpbiBkb19zZWVrKCksIGNhbGN1bGF0ZSBvdXIgcG9zaXRpb24KCSAgdmFsdWUgcHJvcGVybHksIHNvIHdlIHJlcG9ydCB0aGUgcmlnaHQgdGltZSB3aGVuIHBvcHBpbmcgaW4gYW5kCgkgIG91dCBvZiB0aGUgbWVudXMuCgkgICogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuYzoKCSAgV2hlbiBoYW5kbGluZyBhIG5vbi1mbHVzaGluZyBzZWVrLCBhY2N1bXVsYXRlIHRoZSBzZWdtZW50LAoJICByYXRoZXIgdGhhbiBoYXZpbmcgZXZlcnkgc2VlayBzdGFydCBmcm9tIDAgYW5kIG1lc3Npbmcgd2l0aCBzeW5jCgoyMDA4LTA2LTE5IDEzOjE4OjI0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBVc2UgQk9JTEVSUExBVEUgbWFjcm8gYW5kIHVwZGF0ZSB0ZXN0IHRvIHRoZSBsYXRlc3QgYXBpIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICAqIHRlc3RzL2ljbGVzL291dHB1dC1zZWxlY3Rvci10ZXN0LmM6CgkgIFVzZSBCT0lMRVJQTEFURSBtYWNybyBhbmQgdXBkYXRlIHRlc3QgdG8gdGhlIGxhdGVzdCBhcGkgY2hhbmdlcy4KCjIwMDgtMDYtMTkgMTE6MjU6MzcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleGFtcGxlcy9hcHAvYXBwc2luay1zcmMuYzogRG9uJ3QgdXNlIGEgYnVmZmVyIGFmdGVyIHVucmVmZmluZyBpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNpbmstc3JjLmM6IChvbl9uZXdfYnVmZmVyX2Zyb21fc291cmNlKToKCSAgRG9uJ3QgdXNlIGEgYnVmZmVyIGFmdGVyIHVucmVmZmluZyBpdC4KCjIwMDgtMDYtMTggMDc6MDI6NTQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzogQWRkIGRlc2NyaXB0aW9uIHRhZyBtYXBwaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgIEFkZCBkZXNjcmlwdGlvbiB0YWcgbWFwcGluZy4KCjIwMDgtMDYtMTggMDY6MzE6MTMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBndGstZG9jIHdhcm5pbmdzLiBBbHNvIGRvbid0IG1pc3VzZSBhcGktZG9jIGNvbW1lbnRzIGZvciBub3JtYWwgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1yYS5jOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc2Vla2FibGUuYzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbS5jOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtMi5jOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDoKCSAgKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkgICogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5oOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5LmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5Lmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOgoJICBGaXggZ3RrLWRvYyB3YXJuaW5ncy4gQWxzbyBkb24ndCBtaXN1c2UgYXBpLWRvYyBjb21tZW50cyBmb3Igbm9ybWFsCgkgIGNvbW1lbnRzLgoKMjAwOC0wNi0xNyAxOTo1MjowMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzogUGFyc2UgdGhlIFVSSSBhcmd1bWVudCBpbnRvIHRoZSBkZXZpY2UgbmFtZSBzbyBkdmQ6Ly8vcGF0aC90by9pbWFnZSB3b3Jrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgIFBhcnNlIHRoZSBVUkkgYXJndW1lbnQgaW50byB0aGUgZGV2aWNlIG5hbWUgc28gZHZkOi8vL3BhdGgvdG8vaW1hZ2UKCSAgd29ya3MuCgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIEltcGxlbWVudCBhIHRyaXZpYWwgZHVyYXRpb24gcXVlcnkgcmVwb3J0aW5nIHRoZSBjdXJyZW50IFBHQyBsZW5ndGguCgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgUmVuYW1lIHR5cG8gaW4gdGhlIGZ1bmN0aW9uIG5hbWUuCgoyMDA4LTA2LTE3IDExOjAxOjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IERpc2FibGUgZGVpbnRlcmxhY2UyIHBsdWdpbiBhZ2FpbiB3aGljaCB3YXMgYWNjaWRlbnRseSBlbmFibGVkIHdpdGggbGFzdCBjb21taXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRGlzYWJsZSBkZWludGVybGFjZTIgcGx1Z2luIGFnYWluIHdoaWNoIHdhcyBhY2NpZGVudGx5IGVuYWJsZWQKCSAgd2l0aCBsYXN0IGNvbW1pdC4KCjIwMDgtMDYtMTcgMTA6NTM6MzUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIE1ha2UgcmVzaW5kdmQgd29yayB3aXRoIGxpYmR2ZG5hdiA+PSA0LjAuMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICBNYWtlIHJlc2luZHZkIHdvcmsgd2l0aCBsaWJkdmRuYXYgPj0gNC4wLjAuCgoyMDA4LTA2LTE3IDAxOjA4OjE0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIGxpYmR2ZG5hdiB0byBidWlsZCByZXNpbmR2ZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBmb3IgbGliZHZkbmF2IHRvIGJ1aWxkIHJlc2luZHZkLgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkgICogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZWZzLmg6CgkgICogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICAqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguaDoKCSAgKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2Rlc2MuYzoKCSAgKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2Rlc2MuaDoKCSAgKiBleHQvcmVzaW5kdmQvZ3N0cGVzZmlsdGVyLmM6CgkgICogZXh0L3Jlc2luZHZkL2dzdHBlc2ZpbHRlci5oOgoJICAqIGV4dC9yZXNpbmR2ZC9wbHVnaW4uYzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW4tcGxheToKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uaDoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmg6CgkgICogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuYzoKCSAgKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5oOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25wdXNoc3JjLmM6CgkgICogZXh0L3Jlc2luZHZkL3JzbnB1c2hzcmMuaDoKCSAgKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuYzoKCSAgKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuaDoKCSAgRmlyc3QgY29tbWl0IG9mIERWRC1WaWRlbyBwbGF5YmFjayBjb21wb25lbnQgJ3JzbmR2ZGJpbicKCSAgYW5kIGhlbHBlciBlbGVtZW50cy4KCSAgVXNlIC0tZW5hYmxlLWV4cGVyaW1lbnRhbCBmb3Igbm93LCBidXQgZmVlbCBmcmVlIHRvIGdpdmUgaXQgYQoJICB0cnkgdXNpbmcgdGhlIHJlc2luLXBsYXkgc2NyaXB0LgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIEFkZCBzb21lIGV4dHJhIGd1YXJkcyBmb3IgbWFsZm9ybWVkIGV2ZW50cy4KCjIwMDgtMDYtMTcgMDA6Mzc6NDkgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIGRpcmFjIHJlcXVpcmVtZW50IHRvIDAuMTAgZHVlIHRvIGFwaSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgZGlyYWMgcmVxdWlyZW1lbnQgdG8gMC4xMCBkdWUgdG8gYXBpIGNoYW5nZXMuCgoyMDA4LTA2LTE2IDE0OjExOjM2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6CgkgIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmMgKGdzdF9hcHBfc3JjX3NldF9tYXhfYnl0ZXMpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTA2LTE2ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmMgKGdzdF9hcHBfc3JjX3NldF9tYXhfYnl0ZXMpCgkgIChnc3RfYXBwX3NyY19nZXRfbWF4X2J5dGVzLCBnc3RfYXBwX3NyY19wdXNoX2J1ZmZlcik6IFVzZQoJICBHX0dVSU5UNjRfRk9STUFULiBBdm9pZCBvdmVyZmxvdyBpbiBnZXRfbWF4X2J5dGVzKCkuCgoyMDA4LTA2LTE2IDEyOjM3OjM0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBNb3ZlIGRvY2Jsb2IgdXB3YXJkcy4gQmFsYW5jZSB0YWdzIGFuZCByZXN0b3JlIGJsYW5rIGxpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIE1vdmUgZG9jYmxvYiB1cHdhcmRzLiBCYWxhbmNlIHRhZ3MgYW5kIHJlc3RvcmUgYmxhbmsgbGluZS4KCjIwMDgtMDYtMTYgMTE6NDc6MzQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBGaXggb3V0IG9mIGRhdGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgRml4IG91dCBvZiBkYXRlIGRvY3MuCgoyMDA4LTA2LTE2IDExOjI5OjQ2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgUGF0Y2ggZnJvbTogVmluY2VudCBHZW5pZXV4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBmcm9tOiBWaW5jZW50IEdlbmlldXgKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgRml4IHJlZmNvdW50IGlzc3VlcywgZml4ZXMgIzUzODU2MC4KCjIwMDgtMDYtMTYgMDk6MjI6MzAgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBQYXJzZSB0aGUgZXh0ZW5kZWQgZXZlbnQgZGVzY3JpcHRvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2dzdG1wZWdkZXNjLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgUGFyc2UgdGhlIGV4dGVuZGVkIGV2ZW50IGRlc2NyaXB0b3IuCgoyMDA4LTA2LTE2IDA3OjMwOjM0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaW5hbCByb3VuZCBvZiBkb2MgdXBkYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSAgKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkgIEZpbmFsIHJvdW5kIG9mIGRvYyB1cGRhdGVzLgoKMjAwOC0wNi0xNiAwNzowMzo1OCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0LzogTW9yZSBkb2MgdXBkYXRlcy4gTW9yZSB4cmVmcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIE1vcmUgZG9jIHVwZGF0ZXMuIE1vcmUgeHJlZnMuCgoyMDA4LTA2LTEzIDIyOjQ2OjQzICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvOiBJbnRyb2R1Y2UgZGVtdXhpbmcgc3VwcG9ydCBmb3IgQUFDIGFuZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wNi0xNCAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NsZWFudXApLAoJICAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9hdWRpb19uZWdvdGlhdGUpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV92aWRlb19uZWdvdGlhdGUpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBJbnRyb2R1Y2UgZGVtdXhpbmcgc3VwcG9ydCBmb3IgQUFDCgkgIGFuZAoJICBILjI2NC9BVkMgaW5zaWRlIEZMVi4KCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuYzoKCSAgKGdzdF9kc2hvd2F1ZGlvZGVjX2luaXQpLAoJICAoZ3N0X2RzaG93YXVkaW9kZWNfY2hhaW4pLCAoZ3N0X2RzaG93YXVkaW9kZWNfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2RzaG93YXVkaW9kZWNfc2lua19ldmVudCksIChnc3RfZHNob3dhdWRpb2RlY19zZXR1cF9ncmFwaCk6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmg6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmM6CgkgIChnc3RfZHNob3d2aWRlb2RlY19pbml0KSwKCSAgKGdzdF9kc2hvd3ZpZGVvZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X2RzaG93dmlkZW9kZWNfY2hhaW4pLAoJICAoZ3N0X2RzaG93dmlkZW9kZWNfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2RzaG93dmlkZW9kZWNfc3JjX2dldGNhcHMpOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5oOiBMb3Qgb2YgcmFuZG9tIGZpeGVzCgkgIHRvIGltcHJvdmUgc3RhYmlsaXR5IChyZWYgY291bnRpbmcsIHNhZmV0eSBjaGVja3MuLi4pCgoyMDA4LTA2LTEzIDE4OjI1OjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IERpc2FibGUgc2lwcm8gb24gNjRiaXRzLCBpdCBjcmFzaGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19wcm9iZV9tb2R1bGVzKToKCSAgRGlzYWJsZSBzaXBybyBvbiA2NGJpdHMsIGl0IGNyYXNoZXMuCgoyMDA4LTA2LTEzIDE4OjAzOjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IEFkZCByYXZlcnNpb25zIHdlIGNhbiBzdXBwb3J0IG9uIHRoZSBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19jaGFpbiksCgkgIChjbG9zZV9saWJyYXJ5KSwgKG9wZW5fbGlicmFyeSksCgkgIChnc3RfcmVhbF9hdWRpb19kZWNfcHJvYmVfbW9kdWxlcyksIChnc3RfcmVhbF9hdWRpb19kZWNfZ2V0Y2FwcyksCgkgIChnc3RfcmVhbF9hdWRpb19kZWNfc2V0Y2FwcyksIChnc3RfcmVhbF9hdWRpb19kZWNfaW5pdCksCgkgIChnc3RfcmVhbF9hdWRpb19kZWNfY2hhbmdlX3N0YXRlKSwgKGdzdF9yZWFsX2F1ZGlvX2RlY19maW5hbGl6ZSk6CgkgIEFkZCByYXZlcnNpb25zIHdlIGNhbiBzdXBwb3J0IG9uIHRoZSBjYXBzLgoJICBSZWZhY3RvciB0aGUgbG9hZGluZyBvZiB0aGUgcmVhbCBjb2RlY3MgbGlrZSByZWFsdmlkZW8gc28gdGhhdCB3ZSBjYW4KCSAgaW1wbGVtZW50IHByb2JpbmcuCgkgIFByb2JlIGFsbCBzdXBwb3J0ZWQgZm9ybWF0cyBieSB0cnlpbmcgdG8gbG9hZCB0aGUgLnNvIGZpbGVzLCBvbmx5IHJlcG9ydAoJICB0aGUgdmVyc2lvbnMgb24gdGhlIGNhcHMgdGhhdCB3ZSBjYW4gYWN0dWFsbHkgbG9hZC4KCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKGdzdF9yZWFsX3ZpZGVvX2RlY19jaGFpbiksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfZ2V0Y2FwcyksIChnc3RfcmVhbF92aWRlb19kZWNfc2V0Y2FwcyksCgkgIChvcGVuX2xpYnJhcnkpLCAoY2xvc2VfbGlicmFyeSksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfcHJvYmVfbW9kdWxlcyksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfY2hhbmdlX3N0YXRlKSwgKGdzdF9yZWFsX3ZpZGVvX2RlY19pbml0KSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19maW5hbGl6ZSksIChnc3RfcmVhbF92aWRlb19kZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmg6CgkgIENoYW5nZSB0aGUgbG9hZGluZyBvZiB0aGUgbGlicmFyeSBsaWtlIHRoZSBhdWRpbyBkZWNvZGVyLgoJICBQcm9iZSB0aGUgc3VwcG9ydGVkIGZvcm1hdHMgYnkgdHJ5aW5nIHRvIGxvYWQgdGhlIC5zbyBmaWxlcyBhbmQgb25seQoJICByZXBvcnQgdGhlIHZlcnNpb25zIG9uIHRoZSBjYXBzIHRoYXQgd2UgY2FuIGFjdHVhbGx5IGxvYWQuCgoyMDA4LTA2LTEzIDE1OjQ2OjAzICswMDAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxtYXJkdWtAay1kLXcub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzogSGFuZGxlIGNoYXJhY3RlciBzZXRzIGluIHN0cmluZ3MgY29taW5nIGZyb20gRFZCIFNJIGFjY29yZGluZyB0byB0aGUgRFZCIFNJIHNwZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogU2ViYXN0aWFuIFDDtmxzdGVybAoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIEhhbmRsZSBjaGFyYWN0ZXIgc2V0cyBpbiBzdHJpbmdzIGNvbWluZyBmcm9tIERWQiBTSSBhY2NvcmRpbmcKCSAgdG8gdGhlIERWQiBTSSBzcGVjLgoKMjAwOC0wNi0xMyAxNDozMzo1MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3JlcGxheWdhaW4vOiBNb3JlIGRvYyB1cGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmM6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzoKCSAgTW9yZSBkb2MgdXBkYXRlcy4KCjIwMDgtMDYtMTMgMTE6NTk6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbAoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbAoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWwKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGltaWRpdHkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgICogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICAqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICBBZGQgbWlzc2luZyBlbGVtZW50cyB0byBkb2NzLiBGaXggZG9jLW1hcmt1cDogdXNlIGNvbnZpbmllbmNlIHN5bnRheAoJICBmb3IgZXhhbXBsZXMgKHByb2R1Y2VzIHZhbGlkIGRvY2Jvb2spLCBhZGQgc2V2ZXJhbCByZWZzZWMyIHdoZW4gd2UKCSAgaGF2ZSBzZXZlcmFsIHRpdGxlcy4gRml4IHNvbWUgdHlwZXMuCgoyMDA4LTA2LTEyIDE1OjQ3OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXhhbXBsZXMvYXBwLzogQWRkIGJlZWZlZCB1cCBleGFtcGxlIGFwcCBmcm9tIGJ1ZyAjNDEzNDE4LiBJdCBub3cgYWxzbyB1c2VzIGFwcHNpbmsgaW5zdGVhZCBvZiBmYWtlc2luayBmb3IgbW9yZSB1bHRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2FwcC8uY3ZzaWdub3JlOgoJICAqIGV4YW1wbGVzL2FwcC9NYWtlZmlsZS5hbToKCSAgKiBleGFtcGxlcy9hcHAvYXBwc2luay1zcmMuYzogKG9uX25ld19idWZmZXJfZnJvbV9zb3VyY2UpLAoJICAob25fc291cmNlX21lc3NhZ2UpLCAob25fc2lua19tZXNzYWdlKSwgKG1haW4pOgoJICBBZGQgYmVlZmVkIHVwIGV4YW1wbGUgYXBwIGZyb20gYnVnICM0MTM0MTguIEl0IG5vdyBhbHNvIHVzZXMgYXBwc2luawoJICBpbnN0ZWFkIG9mIGZha2VzaW5rIGZvciBtb3JlIHVsdGltYXRlIGNvb2xuZXNzLgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6IChnc3RfYXBwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9hcHBfc3JjX2luaXQpLCAoZ3N0X2FwcF9zcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hcHBfc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfYXBwX3NyY191bmxvY2spLAoJICAoZ3N0X2FwcF9zcmNfdW5sb2NrX3N0b3ApLCAoZ3N0X2FwcF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9hcHBfc3JjX3NldF9tYXhfYnl0ZXMpLCAoZ3N0X2FwcF9zcmNfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2FwcF9zcmNfZW5kX29mX3N0cmVhbSk6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuaDoKCSAgQWRkIGJsb2NrIHByb3BlcnR5IHRvIGFsbG93IHB1c2ggYmFzZWQgaW1wbGVtZW50YXRpb24gdG8gYmxvY2sgd2hlbiB3ZQoJICBmaWxsIHVwIHRoZSBhcHBzcmMgcXVldWVzLgoJICBFbWl0IHRoZSBlbm91Z2gtZGF0YSBzaWduYWwgd2hpbGUgcmVsZWFzaW5nIG91ciBsb2NrLgoKMjAwOC0wNi0xMiAxNDo1MDoyNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXhhbXBsZXMvYXBwLy5jdnNpZ25vcmU6IElnbm9yZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9hcHAvLmN2c2lnbm9yZToKCSAgSWdub3JlIG1vcmUuCgoyMDA4LTA2LTEyIDE0OjQ5OjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEbyBub3QgdXNlIHNob3J0X2Rlc2NyaXB0aW9uIGluIHNlY3Rpb24gZG9jcyBmb3IgZWxlbWVudHMuIFdlIGV4dHJhY3QgdGhlbSBmcm9tIGVsZW1lbnQgZGV0YWlscyBhbmQgdGhlcmUgd2lsbCBiZSB3YXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgICogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkgICogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzoKCSAgRG8gbm90IHVzZSBzaG9ydF9kZXNjcmlwdGlvbiBpbiBzZWN0aW9uIGRvY3MgZm9yIGVsZW1lbnRzLiBXZSBleHRyYWN0CgkgIHRoZW0gZnJvbSBlbGVtZW50IGRldGFpbHMgYW5kIHRoZXJlIHdpbGwgYmUgd2FybmluZ3MgaWYgdGhleSBkaWZmZXIuCgkgIEFsc28gZml4aW5nIHVwIHRoZSBDaGFuZ2VMb2cgb3JkZXIuCgoyMDA4LTA2LTEyIDE0OjIwOjQwICswMDAwICBTZWJhc3RpZW4gTWVybGUgPHN5bGFuZUBnbWFpbC5jb20+CgoJICBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzogRml4IHRoZSBzaWduIG9mIHRoZSBkYXRhIHdlIHBhc3MgdG8gdGhlIGRlY29kZXIgc28gdGhhdCB0aGUgZGVjb2RlciBjb21waWxlcyB3aXRoIG5ld2VyIHJlZmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpZW4gTWVybGUgPHN5bGFuZSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOiAoZ3N0X2FtcndiZGVjX2NoYWluKToKCSAgRml4IHRoZSBzaWduIG9mIHRoZSBkYXRhIHdlIHBhc3MgdG8gdGhlIGRlY29kZXIgc28gdGhhdCB0aGUgZGVjb2RlcgoJICBjb21waWxlcyB3aXRoIG5ld2VyIHJlZmVyZW5jZSBjb2RlIGFzIHdlbGwuIEZpeGVzICM1Mjg2MTguCgoyMDA4LTA2LTEyIDEzOjUxOjUxICswMDAwICBTZWJhc3RpZW4gTWVybGUgPHN5bGFuZUBnbWFpbC5jb20+CgoJICBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzogRml4IHRoZSBzaWduIG9mIHRoZSBkYXRhIHdlIHBhc3MgdG8gdGhlIGRlY29kZXIgc28gdGhhdCB0aGUgZGVjb2RlciBjb21waWxlcyB3aXRoIG5ld2VyIHJlZmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpZW4gTWVybGUgPHN5bGFuZSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOiAoZ3N0X2FtcndiZGVjX2NoYWluKToKCSAgRml4IHRoZSBzaWduIG9mIHRoZSBkYXRhIHdlIHBhc3MgdG8gdGhlIGRlY29kZXIgc28gdGhhdCB0aGUgZGVjb2RlcgoJICBjb21waWxlcyB3aXRoIG5ld2VyIHJlZmVyZW5jZSBjb2RlIGFzIHdlbGwuIEZpeGVzICM1Mjg2MTguCgoyMDA4LTA2LTEyIDEzOjA2OjM3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzogSW5jbHVkZSBzdGRsaWIuaC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvdGVzdC1vc3M0LmM6CgkgIEluY2x1ZGUgc3RkbGliLmguCgoyMDA4LTA2LTExIDExOjEyOjQ5ICswMDAwICBNYXJ0aW4gRWlrZXJtYW5uIDxtZWlrZXJAdXBiLmRlPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi86IEFkZCBhIGRlaW50ZXJsYWNlciBwbHVnaW4gYmFzZWQgb24gdGhlIHR2dGltZS9EU2NhbGVyIGRlaW50ZXJsYWNlciwgd2hpY2ggd2FzIHJlbGljZW5zZWQgdG8gTEdQTCBmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OiBNYXJ0aW4gRWlrZXJtYW5uIDxtZWlrZXIgYXQgdXBiIGRvdCBkZT4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX21ldGhvZF9nZXRfdHlwZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpZWxkc19nZXRfdHlwZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpZWxkX2xheW91dF9nZXRfdHlwZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2Jhc2VfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KSwgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9wcm9wZXJ0eSksIChnc3RfZGVpbnRlcmxhY2UyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpbmFsaXplKSwgKGdzdF9kZWludGVybGFjZTJfcG9wX2hpc3RvcnkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9oZWFkX2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9wdXNoX2hpc3RvcnkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9kZWludGVybGFjZV9zY2FubGluZXMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldGNhcHMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zaW5rX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hhbmdlX3N0YXRlKSwgKGdzdF9kZWludGVybGFjZTJfc3JjX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KSwgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiAoY29weV9zY2FubGluZSksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChkc2NhbGVyX2dyZWVkeWxfZ2V0X21ldGhvZCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5aCksIChkc2NhbGVyX2dyZWVkeWhfZ2V0X21ldGhvZCksCgkgIChncmVlZHloX2luaXQpLCAoZ3JlZWR5aF9maWx0ZXJfbW14KSwgKGdyZWVkeWhfZmlsdGVyXzNkbm93KSwKCSAgKGdyZWVkeWhfZmlsdGVyX3NzZSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWhtYWNyb3MuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9tbXguaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9wbHVnaW5zLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR0b29scy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5jOiAobXVsdGlwbHlfYWxwaGEpLCAoY2xpcDI1NSksCgkgIChjb21iX2ZhY3Rvcl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRpZmZfZmFjdG9yX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGRpZmZfZmFjdG9yX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGlmZl9wYWNrZWQ0MjJfYmxvY2s4eDhfbW14KSwgKGRpZmZfcGFja2VkNDIyX2Jsb2NrOHg4X2MpLAoJICAocGFja2VkNDQ0X3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQyMl90b19wYWNrZWQ0NDRfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0MjJfdG9fcGFja2VkNDQ0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHZmaWx0ZXJfY2hyb21hXzEyMV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKHZmaWx0ZXJfY2hyb21hXzEyMV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgICh2ZmlsdGVyX2Nocm9tYV8zMzJfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgICh2ZmlsdGVyX2Nocm9tYV8zMzJfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoa2lsbF9jaHJvbWFfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfbW14KSwKCSAgKGtpbGxfY2hyb21hX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX2MpLAoJICAoaW52ZXJ0X2NvbG91cl9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9tbXgpLAoJICAoaW52ZXJ0X2NvbG91cl9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9jKSwKCSAgKG1pcnJvcl9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9jKSwKCSAgKGludGVycG9sYXRlX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbnZlcnRfdXl2eV90b195dXl2X3NjYW5saW5lX21teCksCgkgIChjb252ZXJ0X3V5dnlfdG9feXV5dl9zY2FubGluZV9jKSwKCSAgKGludGVycG9sYXRlX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoaW50ZXJwb2xhdGVfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14ZXh0KSwgKHNtYWxsX21lbWNweSksCgkgIChzcGVlZHlfbWVtY3B5X2MpLCAoc3BlZWR5X21lbWNweV9tbXgpLCAoc3BlZWR5X21lbWNweV9tbXhleHQpLAoJICAoYmxpdF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksIChibGl0X3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoYmxpdF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9jb2xvdXI0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9jb2xvdXI0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF90b19wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9hbHBoYW1hc2tfdG9fcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9hbHBoYW1hc2tfdG9fcGFja2VkNDQ0NF9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX2FscGhhbWFza19hbHBoYV90b19wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAocHJlbXVsdGlwbHlfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKHByZW11bHRpcGx5X3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGJsZW5kX3BhY2tlZDQyMl9zY2FubGluZV9jKSwgKGJsZW5kX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAocXVhcnRlcl9ibGl0X3ZlcnRpY2FsX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAocXVhcnRlcl9ibGl0X3ZlcnRpY2FsX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKHN1YnBpeF9ibGl0X3ZlcnRpY2FsX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGE4X3N1YnBpeF9ibGl0X3NjYW5saW5lX2MpLCAobXlyb3VuZCksIChpbml0X1JHQl90b19ZQ2JDcl90YWJsZXMpLAoJICAoaW5pdF9ZQ2JDcl90b19SR0JfdGFibGVzKSwgKHJnYjI0X3RvX3BhY2tlZDQ0NF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgIChyZ2JhMzJfdG9fcGFja2VkNDQ0NF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0NDRfdG9fcmdiMjRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAocGFja2VkNDQ0X3RvX25vbnByZW11bHRpcGxpZWRfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKGFzcGVjdF9hZGp1c3RfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwgKHNldHVwX3NwZWVkeV9jYWxscyksCgkgIChzcGVlZHlfZ2V0X2FjY2VsKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zc2UuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6IChGaWVsZGNvcHkpLAoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfdG9tc21vY29tcCksIChkc2NhbGVyX3RvbXNtb2NvbXBfZ2V0X21ldGhvZCksCgkgICh0b21zbW9jb21wX2luaXQpLCAodG9tc21vY29tcF9maWx0ZXJfbW14KSwKCSAgKHRvbXNtb2NvbXBfZmlsdGVyXzNkbm93KSwgKHRvbXNtb2NvbXBfZmlsdGVyX3NzZSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcDBBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEVkZ2VBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BFZGdlQTguaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEEyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBNi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQUguaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEFIMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVG9wLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BWQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVkFILmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1N0cmFuZ2VCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9XaWVyZEJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfbGluZSksCgkgIChkZWludGVybGFjZV9zY2FubGluZV92ZmlyKSwgKGNvcHlfc2NhbmxpbmUpLAoJICAoZHNjYWxlcl92ZmlyX2dldF9tZXRob2QpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3g4Ni02NF9tYWNyb3MuaW5jOgoJICBBZGQgYSBkZWludGVybGFjZXIgcGx1Z2luIGJhc2VkIG9uIHRoZSB0dnRpbWUvRFNjYWxlciBkZWludGVybGFjZXIsCgkgIHdoaWNoIHdhcyByZWxpY2Vuc2VkIHRvIExHUEwgZm9yIEdTdHJlYW1lciBhbmQgaW4gdGhlb3J5IHByb3ZpZGVzCgkgIGJldHRlciBhbmQgZmFzdGVyIHJlc3VsdHMgdGhhbiB0aGUgc2ltcGxlIGRlaW50ZXJsYWNlIGVsZW1lbnQuCgkgIEZpeGVzIGJ1ZyAjMTYzNTc4LgoJICBQb3J0ZWQgdG8gR1N0cmVhbWVyIDAuMTAgYnV0IHN0aWxsIG5vdCBlbmFibGVkIG9yIGluY2x1ZGVkIGluIHRoZQoJICBidWlsZCBzeXN0ZW0gYnkgZGVmYXVsdCBiZWNhdXNlIG9mIGJhZCBhcnRlZmFjdHMgY2F1c2VkIGJ5IGEgYnVnCgkgIHNvbWV3aGVyZSBhbmQgYXMgaXQgY2FuIGJlIG9ubHkgYnVpbGQgb24geDg2L2FtZDY0IEFUTSBhbmQgcmVxdWlyZXMKCSAgc3BlY2lhbCBDRkxBR1MuIFdpbGwgYmUgZml4ZWQgc29vbi4KCjIwMDgtMDYtMTEgMTE6MTI6MTQgKzAwMDAgIE1hcnRpbiBFaWtlcm1hbm4gPG1laWtlckB1cGIuZGU+CgoJICBnc3QvZGVpbnRlcmxhY2UyLzogQWRkIGEgZGVpbnRlcmxhY2VyIHBsdWdpbiBiYXNlZCBvbiB0aGUgdHZ0aW1lL0RTY2FsZXIgZGVpbnRlcmxhY2VyLCB3aGljaCB3YXMgcmVsaWNlbnNlZCB0byBMR1BMIGYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6IE1hcnRpbiBFaWtlcm1hbm4gPG1laWtlciBhdCB1cGIgZG90IGRlPgoJICAqIGdzdC9kZWludGVybGFjZTIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfbWV0aG9kX2dldF90eXBlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmllbGRzX2dldF90eXBlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmllbGRfbGF5b3V0X2dldF90eXBlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfYmFzZV9pbml0KSwgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X3Byb3BlcnR5KSwgKGdzdF9kZWludGVybGFjZTJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfZmluYWxpemUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9wb3BfaGlzdG9yeSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2hlYWRfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX3B1c2hfaGlzdG9yeSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2RlaW50ZXJsYWNlX3NjYW5saW5lcyksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0Y2FwcyksIChnc3RfZGVpbnRlcmxhY2UyX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnlfdHlwZXMpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IChjb3B5X3NjYW5saW5lKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGRzY2FsZXJfZ3JlZWR5bF9nZXRfbWV0aG9kKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKSwgKGRzY2FsZXJfZ3JlZWR5aF9nZXRfbWV0aG9kKSwKCSAgKGdyZWVkeWhfaW5pdCksIChncmVlZHloX2ZpbHRlcl9tbXgpLCAoZ3JlZWR5aF9maWx0ZXJfM2Rub3cpLAoJICAoZ3JlZWR5aF9maWx0ZXJfc3NlKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aG1hY3Jvcy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL21teC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3BsdWdpbnMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHRvb2xzLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5LmM6IChtdWx0aXBseV9hbHBoYSksIChjbGlwMjU1KSwKCSAgKGNvbWJfZmFjdG9yX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGlmZl9mYWN0b3JfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoZGlmZl9mYWN0b3JfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkaWZmX3BhY2tlZDQyMl9ibG9jazh4OF9tbXgpLCAoZGlmZl9wYWNrZWQ0MjJfYmxvY2s4eDhfYyksCgkgIChwYWNrZWQ0NDRfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAocGFja2VkNDIyX3RvX3BhY2tlZDQ0NF9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQyMl90b19wYWNrZWQ0NDRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAodmZpbHRlcl9jaHJvbWFfMTIxX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAodmZpbHRlcl9jaHJvbWFfMTIxX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKHZmaWx0ZXJfY2hyb21hXzMzMl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKHZmaWx0ZXJfY2hyb21hXzMzMl9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChraWxsX2Nocm9tYV9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9tbXgpLAoJICAoa2lsbF9jaHJvbWFfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfYyksCgkgIChpbnZlcnRfY29sb3VyX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX21teCksCgkgIChpbnZlcnRfY29sb3VyX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX2MpLAoJICAobWlycm9yX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX2MpLAoJICAoaW50ZXJwb2xhdGVfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29udmVydF91eXZ5X3RvX3l1eXZfc2NhbmxpbmVfbW14KSwKCSAgKGNvbnZlcnRfdXl2eV90b195dXl2X3NjYW5saW5lX2MpLAoJICAoaW50ZXJwb2xhdGVfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChpbnRlcnBvbGF0ZV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDQ0NF9zY2FubGluZV9tbXgpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDQ0NF9zY2FubGluZV9tbXhleHQpLCAoc21hbGxfbWVtY3B5KSwKCSAgKHNwZWVkeV9tZW1jcHlfYyksIChzcGVlZHlfbWVtY3B5X21teCksIChzcGVlZHlfbWVtY3B5X21teGV4dCksCgkgIChibGl0X3BhY2tlZDQyMl9zY2FubGluZV9jKSwgKGJsaXRfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChibGl0X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX2NvbG91cjQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX2NvbG91cjQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X3RvX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX2FscGhhbWFza190b19wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX2FscGhhbWFza190b19wYWNrZWQ0NDQ0X3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfYWxwaGFtYXNrX2FscGhhX3RvX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChwcmVtdWx0aXBseV9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAocHJlbXVsdGlwbHlfcGFja2VkNDQ0NF9zY2FubGluZV9tbXhleHQpLAoJICAoYmxlbmRfcGFja2VkNDIyX3NjYW5saW5lX2MpLCAoYmxlbmRfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChxdWFydGVyX2JsaXRfdmVydGljYWxfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChxdWFydGVyX2JsaXRfdmVydGljYWxfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoc3VicGl4X2JsaXRfdmVydGljYWxfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoYThfc3VicGl4X2JsaXRfc2NhbmxpbmVfYyksIChteXJvdW5kKSwgKGluaXRfUkdCX3RvX1lDYkNyX3RhYmxlcyksCgkgIChpbml0X1lDYkNyX3RvX1JHQl90YWJsZXMpLCAocmdiMjRfdG9fcGFja2VkNDQ0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHJnYmEzMl90b19wYWNrZWQ0NDQ0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQ0NF90b19yZ2IyNF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0NDRfdG9fbm9ucHJlbXVsdGlwbGllZF9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAoYXNwZWN0X2FkanVzdF9wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLCAoc2V0dXBfc3BlZWR5X2NhbGxzKSwKCSAgKHNwZWVkeV9nZXRfYWNjZWwpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NzZS5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzogKEZpZWxkY29weSksCgkgIChkZWludGVybGFjZV9mcmFtZV9kaV90b21zbW9jb21wKSwgKGRzY2FsZXJfdG9tc21vY29tcF9nZXRfbWV0aG9kKSwKCSAgKHRvbXNtb2NvbXBfaW5pdCksICh0b21zbW9jb21wX2ZpbHRlcl9tbXgpLAoJICAodG9tc21vY29tcF9maWx0ZXJfM2Rub3cpLCAodG9tc21vY29tcF9maWx0ZXJfc3NlKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wMEEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEVkZ2VBOC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEE2LmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBSC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQUgyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BUb3AuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFZBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BWQUguaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU3RyYW5nZUJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1dpZXJkQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9saW5lKSwKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX3ZmaXIpLCAoY29weV9zY2FubGluZSksCgkgIChkc2NhbGVyX3ZmaXJfZ2V0X21ldGhvZCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUveDg2LTY0X21hY3Jvcy5pbmM6CgkgIEFkZCBhIGRlaW50ZXJsYWNlciBwbHVnaW4gYmFzZWQgb24gdGhlIHR2dGltZS9EU2NhbGVyIGRlaW50ZXJsYWNlciwKCSAgd2hpY2ggd2FzIHJlbGljZW5zZWQgdG8gTEdQTCBmb3IgR1N0cmVhbWVyIGFuZCBpbiB0aGVvcnkgcHJvdmlkZXMKCSAgYmV0dGVyIGFuZCBmYXN0ZXIgcmVzdWx0cyB0aGFuIHRoZSBzaW1wbGUgZGVpbnRlcmxhY2UgZWxlbWVudC4KCSAgRml4ZXMgYnVnICMxNjM1NzguCgkgIFBvcnRlZCB0byBHU3RyZWFtZXIgMC4xMCBidXQgc3RpbGwgbm90IGVuYWJsZWQgb3IgaW5jbHVkZWQgaW4gdGhlCgkgIGJ1aWxkIHN5c3RlbSBieSBkZWZhdWx0IGJlY2F1c2Ugb2YgYmFkIGFydGVmYWN0cyBjYXVzZWQgYnkgYSBidWcKCSAgc29tZXdoZXJlIGFuZCBhcyBpdCBjYW4gYmUgb25seSBidWlsZCBvbiB4ODYvYW1kNjQgQVRNIGFuZCByZXF1aXJlcwoJICBzcGVjaWFsIENGTEFHUy4gV2lsbCBiZSBmaXhlZCBzb29uLgoKMjAwOC0wNi0xMSAwNzo1ODo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLio6IEluaXRpYWxpemUgd2lsZG1pZGkgb25seSBvbmNlIGluIHRoZSBwbHVnaW4gaW5pdCBmdW5jdGlvbiBpbnN0ZWFkIG9mIG9uY2UgZm9yIGV2ZXJ5IGluc3RhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OiAgU29uaWNhZHZhbmNlMSBhdCBHTUFJTCBkb3QgQ09NCgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6IChnc3Rfd2lsZG1pZGlfaW5pdCksCgkgIChnc3Rfd2lsZG1pZGlfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuaDoKCSAgSW5pdGlhbGl6ZSB3aWxkbWlkaSBvbmx5IG9uY2UgaW4gdGhlIHBsdWdpbiBpbml0IGZ1bmN0aW9uIGluc3RlYWQKCSAgb2Ygb25jZSBmb3IgZXZlcnkgaW5zdGFuY2UuIFRoZSBzZWNvbmQgYW5kIGZvbGxvd2luZyBjYWxscyB0byB0aGUKCSAgd2lsZG1pZGkgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gd2lsbCBmYWlsLiBGaXhlcyBidWcgIzUyNTYxMy4KCSAgQWxzbyBkb24ndCByZWdpc3RlciB0aGUgZWxlbWVudCBhdCBhbGwgaWYgd2lsZG1pZGkgaW5pdGlhbGl6YXRpb24KCSAgZmFpbHMuCgoyMDA4LTA2LTEwIDEyOjU0OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzogQ2FsbCBnc3RfZWxlbWVudF9ub19tb3JlX3BhZHMoKSBhZnRlciBhbGwgcGFkcyBhcmUgYWRkZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBDYWxsIGdzdF9lbGVtZW50X25vX21vcmVfcGFkcygpIGFmdGVyIGFsbCBwYWRzIGFyZSBhZGRlZC4KCjIwMDgtMDYtMDkgMTc6NTc6MDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogQWRkIHNpbXBsZSByZXZlcnNlIHBsYXliYWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogKGdzdF9yYXdfcGFyc2VfcHVzaF9idWZmZXIpLAoJICAoZ3N0X3Jhd19wYXJzZV9sb29wKSwgKGdzdF9yYXdfcGFyc2VfaGFuZGxlX3NlZWtfcHVzaCksCgkgIChnc3RfcmF3X3BhcnNlX2hhbmRsZV9zZWVrX3B1bGwpOgoJICBBZGQgc2ltcGxlIHJldmVyc2UgcGxheWJhY2suCgoyMDA4LTA2LTA5IDEyOjA1OjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLio6IEZpeCBzZWVraW5nLCB0aW1lc3RhbXBzLCBkdXJhdGlvbiBhbmQgc29tZSBtb3JlLiBGaXhlcyAjNTM2MzA5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogKGdzdF9yYXdfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3Jhd19wYXJzZV9wdXNoX2J1ZmZlciksIChnc3RfcmF3X3BhcnNlX2NoYWluKSwKCSAgKGdzdF9yYXdfcGFyc2VfbG9vcCksIChnc3RfcmF3X3BhcnNlX3NpbmtfYWN0aXZhdGVwdWxsKSwKCSAgKGdzdF9yYXdfcGFyc2VfY29udmVydCksIChnc3RfcmF3X3BhcnNlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3Jhd19wYXJzZV9oYW5kbGVfc2Vla19wdXNoKSwgKGdzdF9yYXdfcGFyc2VfaGFuZGxlX3NlZWtfcHVsbCksCgkgIChnc3RfcmF3X3BhcnNlX3NyY19xdWVyeSksIChnc3RfcmF3X3BhcnNlX2dldF9mcHMpOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5oOgoJICBGaXggc2Vla2luZywgdGltZXN0YW1wcywgZHVyYXRpb24gYW5kIHNvbWUgbW9yZS4gRml4ZXMgIzUzNjMwOS4KCjIwMDgtMDYtMDYgMTY6NTA6NTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleGFtcGxlcy9hcHAvOiBBZGRlZCAzIG1vcmUgZXhhbXBsZSBhcHBsaWNhdGlvbiBmb3IgdXNpbmcgYXBwc3JjIGluIHJhbmRvbS1hY2Nlc3MgbW9kZSwgcHVsbC1tb2RlIHN0cmVhbWluZyBhbmQgcHVsbCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvYXBwL01ha2VmaWxlLmFtOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtcmEuYzogKGZlZWRfZGF0YSksIChzZWVrX2RhdGEpLAoJICAoZm91bmRfc291cmNlKSwgKGJ1c19tZXNzYWdlKSwgKG1haW4pOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc2Vla2FibGUuYzogKGZlZWRfZGF0YSksIChzZWVrX2RhdGEpLAoJICAoZm91bmRfc291cmNlKSwgKGJ1c19tZXNzYWdlKSwgKG1haW4pOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtMi5jOiAoZmVlZF9kYXRhKSwgKGZvdW5kX3NvdXJjZSksCgkgIChidXNfbWVzc2FnZSksIChtYWluKToKCSAgQWRkZWQgMyBtb3JlIGV4YW1wbGUgYXBwbGljYXRpb24gZm9yIHVzaW5nIGFwcHNyYyBpbiByYW5kb20tYWNjZXNzIG1vZGUsCgkgIHB1bGwtbW9kZSBzdHJlYW1pbmcgYW5kIHB1bGwgbW9kZSBzZWVrYWJsZS4KCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOiAoZ3N0X2FwcF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYXBwX3NyY19zdGFydCksIChnc3RfYXBwX3NyY19kb19nZXRfc2l6ZSksCgkgIChnc3RfYXBwX3NyY19jcmVhdGUpOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmg6CgkgIE1ha2Ugc3RyZWFtLXR5cGUgcHJvcGVydHkgd3JpdGFibGUuCgkgIFVuc2V0IGZsdXNoaW5nIHdoZW4gc3RhcnRpbmcgc28gdGhhdCB3ZSByZXVzZSBhcHBzcmMuCgkgIEluZm9ybSBiYXNlc3JjIGFib3V0IHRoZSBjb25maWd1cmVkIHNpemUuCgkgIEVtaXQgc2Vlay1kYXRhIHNpZ25hbCB3aGVuIHdlIGFyZSBnb2luZyB0byBhIGRpZmZlcmVudCBvZmZzZXQgaW4KCSAgcmFuZG9tLWFjY2VzcyBtb2RlLgoKMjAwOC0wNi0wNiAxNDoxOTo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtLmM6IFVzZSBkZWVwLW5vdGlmeSB1bnRpbCB3ZSBjYW4gZGVwZW5kIG9uIGEgcGxheWJpbjIgd2l0aCBzdXBwb3J0IGZvciB0aGUgc291cmNlIHByb3BlcnR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbS5jOiAoZm91bmRfc291cmNlKSwgKG1haW4pOgoJICBVc2UgZGVlcC1ub3RpZnkgdW50aWwgd2UgY2FuIGRlcGVuZCBvbiBhIHBsYXliaW4yIHdpdGggc3VwcG9ydCBmb3IgdGhlCgkgIHNvdXJjZSBwcm9wZXJ0eS4KCjIwMDgtMDYtMDYgMTM6MDE6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IGRlYWRsb2NrIHdoZW4gc2h1dHRpbmcgZG93biwgdXNlIGEgbmV3IGxvY2sgaW5zdGVhZCB0byBwcm9wZXJseSBzaHV0ZG93bi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9pbml0KSwKCSAgKGdzdF9ydHBfYmluX2ZpbmFsaXplKSwgKGdzdF9ydHBfYmluX2NoYW5nZV9zdGF0ZSk6CgkgIEZpeCBkZWFkbG9jayB3aGVuIHNodXR0aW5nIGRvd24sIHVzZSBhIG5ldyBsb2NrIGluc3RlYWQgdG8gcHJvcGVybHkKCSAgc2h1dGRvd24uCgoyMDA4LTA2LTA1IDE2OjM4OjUwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXhhbXBsZXMvYXBwLzogQWRkZWQgYW4gZXhhbXBsZSBvbiBob3cgdG8gdXNlIGFwcHNyYyBpbiBwbGF5YmluIGluIHN0cmVhbWluZyBtb2RlIGZyb20gYW4gbW1hcHBlZCBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9hcHAvLmN2c2lnbm9yZToKCSAgKiBleGFtcGxlcy9hcHAvTWFrZWZpbGUuYW06CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0uYzogKHJlYWRfZGF0YSksIChzdGFydF9mZWVkKSwKCSAgKHN0b3BfZmVlZCksIChmb3VuZF9zb3VyY2UpLCAoYnVzX21lc3NhZ2UpLCAobWFpbik6CgkgIEFkZGVkIGFuIGV4YW1wbGUgb24gaG93IHRvIHVzZSBhcHBzcmMgaW4gcGxheWJpbiBpbiBzdHJlYW1pbmcgbW9kZSBmcm9tCgkgIGFuIG1tYXBwZWQgZmlsZS4KCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjX2V4LmM6IChtYWluKToKCSAgU2V0IHBpcGVsaW5lIHRvIE5VTEwgdG8gZnJlZSBxdWV1ZWQgYnVmZmVycy4KCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcC1tYXJzaGFsLmxpc3Q6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzogKHN0cmVhbV90eXBlX2dldF90eXBlKSwgKF9kb19pbml0KSwKCSAgKGdzdF9hcHBfc3JjX2NsYXNzX2luaXQpLCAoZ3N0X2FwcF9zcmNfaW5pdCksCgkgIChnc3RfYXBwX3NyY19mbHVzaF9xdWV1ZWQpLCAoZ3N0X2FwcF9zcmNfZGlzcG9zZSksCgkgIChnc3RfYXBwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X2FwcF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hcHBfc3JjX3VubG9jayksIChnc3RfYXBwX3NyY191bmxvY2tfc3RvcCksCgkgIChnc3RfYXBwX3NyY19zdGFydCksIChnc3RfYXBwX3NyY19zdG9wKSwgKGdzdF9hcHBfc3JjX2lzX3NlZWthYmxlKSwKCSAgKGdzdF9hcHBfc3JjX2NoZWNrX2dldF9yYW5nZSksIChnc3RfYXBwX3NyY19kb19zZWVrKSwKCSAgKGdzdF9hcHBfc3JjX2NyZWF0ZSksIChnc3RfYXBwX3NyY19zZXRfc3RyZWFtX3R5cGUpLAoJICAoZ3N0X2FwcF9zcmNfZ2V0X3N0cmVhbV90eXBlKSwgKGdzdF9hcHBfc3JjX3NldF9tYXhfYnl0ZXMpLAoJICAoZ3N0X2FwcF9zcmNfZ2V0X21heF9ieXRlcyksIChnc3RfYXBwX3NyY19wdXNoX2J1ZmZlciksCgkgIChnc3RfYXBwX3NyY19lbmRfb2Zfc3RyZWFtKSwgKGdzdF9hcHBfc3JjX3VyaV9nZXRfdHlwZSksCgkgIChnc3RfYXBwX3NyY191cmlfZ2V0X3Byb3RvY29scyksIChnc3RfYXBwX3NyY191cmlfZ2V0X3VyaSksCgkgIChnc3RfYXBwX3NyY191cmlfc2V0X3VyaSksIChnc3RfYXBwX3NyY191cmlfaGFuZGxlcl9pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5oOgoJICBNZWFzdXJlIG1heCBxdWV1ZSBzaXplIGluIGJ5dGVzIGluc3RlYWQuCgkgIEFkZCBzdXBwb3J0IGZvciAzIG1vZGVzIG9mIG9wZXJhdGlvbiwgc3RyZWFtaW5nLCBzZWVrYWJsZSBhbmQKCSAgcmFuZG9tLWFjY2VzcywgbWFraW5nIGJhc2VzcmMgaGFuZGxlIHRoZSBzY2hlZHVsaW5nIG1vZGVzIGZvciBlYWNoLgoJICBBZGQgYXBwc3JjOi8vIHVyaSBoYW5kbGVyIHNvIHRoYXQgYXV0b21hdGljIHBsdWdnaW5nIGNhbiBiZSBkb25lIGZyb20KCSAgcGxheWJpbjIgb3IgdXJpZGVjb2RlYmluLCBmb3IgZXhhbXBsZS4KCSAgQWRkZWQgc3VwcG9ydCBmb3IgY3VzdG9tIHNlZ21lbnQgZm9ybWF0cy4KCSAgQWRkIHN1cHBvcnQgZm9yIHB1c2ggYW5kIHB1bGwgYmFzZWQgb3BlcmF0aW9ucyBmcm9tIHRoZSBhcHBsaWNhdGlvbi4KCSAgRXhwYW5kIHRoZSBtZXRob2RzIHNvIHRoYXQgZXJyb3JzIGNhbiBiZSBkZXRlY3RlZC4KCSAgRmx1c2ggdGhlIHF1ZXVlZCBidWZmZXJzIG9uIHNlZWtzIGFuZCB3aGVuIHNodXR0aW5nIGRvd24uCgkgIEFkZCBzaWduYWxzIHRvIGluZm9ybSB0aGUgYXBwIHRoYXQgYSBzZWVrIG11c3QgaGFwcGVuLgoKMjAwOC0wNi0wNSAxMTowNzoxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvOiBQcm9wZXJseSBpbXBsZW1lbnQgZHVyYXRpb24gYW5kIHBvc2l0aW9uIHF1ZXJpZXMgaW4gYnl0ZXMgZm9ybWF0LiBXZSBoYXZlIHRvIHRha2UgdGhlIHVwc3RyZWFtIHJlcGx5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9zcmNfcXVlcnkpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeV9kdXJhdGlvbiksCgkgIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnkpOgoJICBQcm9wZXJseSBpbXBsZW1lbnQgZHVyYXRpb24gYW5kIHBvc2l0aW9uIHF1ZXJpZXMgaW4gYnl0ZXMgZm9ybWF0LiBXZQoJICBoYXZlIHRvIHRha2UgdGhlIHVwc3RyZWFtIHJlcGx5IGFuZCBkaXZpZGUvbXVsdGlwbHkgaXQgYnkgdGhlIG51bWJlcgoJICBvZiBjaGFubmVscyB0byBnZXQgdGhlIGNvcnJlY3QgcmVzdWx0LgoKMjAwOC0wNi0wNCAyMToxODo1MyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL2RzaG93dmlkZW9zaW5rLzogRml4IHVwIGNvcHlyaWdodCBub3RpY2Ugb24gbmV3IHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9mYWtlc3JjLmNwcDoKCSAgKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb2Zha2VzcmMuaDoKCSAgKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICAqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5oOgoJICBGaXggdXAgY29weXJpZ2h0IG5vdGljZSBvbiBuZXcgcGx1Z2luLgoKMjAwOC0wNi0wNCAxNzowMjozOCArMDAwMCAgSm9uIFRyb3dicmlkZ2UgPHRyb3dAeGltaWFuLmNvbT4KCgkgIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzogVXBkYXRlIHByb3BlcnRpZXMgZm9yIHJlY2VudCBkaXJhYyBjaGFuZ2VzLiAgUGF0Y2ggZnJvbSBKb25hdGhhbiBSb3NzZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzogVXBkYXRlIHByb3BlcnRpZXMgZm9yIHJlY2VudAoJICBkaXJhYyBjaGFuZ2VzLiAgUGF0Y2ggZnJvbSBKb25hdGhhbiBSb3NzZXIuCgoyMDA4LTA2LTA0IDExOjMzOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiBUcnkgaGFyZGVyIG5vdCB0byBjcmFzaCB3aGVuIHdlIGdldCBhbiBFT1MgZXZlbnQgYnV0IGhhdmVuJ3Qgc2V0IHVwIHRoZSBlbmNvZGVyIHlldCAoYXMgbWF5IGhhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogKGdzdF94MjY0X2VuY19oZWFkZXJfYnVmKSwKCSAgKGdzdF94MjY0X2VuY19zaW5rX2V2ZW50KSwgKGdzdF94MjY0X2VuY19jaGFpbiksCgkgIChnc3RfeDI2NF9lbmNfZW5jb2RlX2ZyYW1lKToKCSAgVHJ5IGhhcmRlciBub3QgdG8gY3Jhc2ggd2hlbiB3ZSBnZXQgYW4gRU9TIGV2ZW50IGJ1dCBoYXZlbid0IHNldAoJICB1cCB0aGUgZW5jb2RlciB5ZXQgKGFzIG1heSBoYXBwZW4gd2hlbiB1cHN0cmVhbSBlcnJvcnMgb3V0IHdpdGgKCSAgbm90LW5lZ290aWF0ZWQsIGZvciBleGFtcGxlKS4gQWxzbywgYWx3YXlzIHB1c2ggdGhlIEVPUyBldmVudAoJICBkb3duc3RyZWFtLgoKMjAwOC0wNi0wNCAwNjo0ODo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS4qOiBVc2UgYW4gYWx3YXlzIGluY3JlYXNpbmcgaW50ZWdlciBmb3IgdGhlIG51bWJlciBpbiB0aGUgbmFtZSBvZiB0aGUgcmVxdWVzdGVkIHNpbmsgcGFkcyB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGdzdF9pbnRlcmxlYXZlX3BhZF9nZXRfdHlwZSksCgkgIChnc3RfaW50ZXJsZWF2ZV9wYWRfZ2V0X3Byb3BlcnR5KSwgKGdzdF9pbnRlcmxlYXZlX3BhZF9jbGFzc19pbml0KSwKCSAgKGdzdF9pbnRlcmxlYXZlX3JlcXVlc3RfbmV3X3BhZCksIChnc3RfaW50ZXJsZWF2ZV9yZWxlYXNlX3BhZCk6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICBVc2UgYW4gYWx3YXlzIGluY3JlYXNpbmcgaW50ZWdlciBmb3IgdGhlIG51bWJlciBpbiB0aGUgbmFtZSBvZiB0aGUKCSAgcmVxdWVzdGVkIHNpbmsgcGFkcyB0byBndWFyYW50dWVlIGEgdW5pcXVlIG5hbWUuIEFkZCBhICJjaGFubmVsIgoJICBwcm9wZXJ0eSB0byBHc3RJbnRlcmxlYXZlUGFkIHRvIG1ha2UgaXQgcG9zc2libGUgZm9yIGFwcGxpY2F0aW9ucwoJICB0byByZXRyaWV2ZSB0aGUgY2hhbm5lbCBudW1iZXIgaW4gdGhlIG91dHB1dCBmb3IgZXZlcnkgcGFkLgoJICBVc2UgZ190eXBlX3JlZ2lzdGVyX3N0YXRpY19zaW1wbGUoKSBpbnN0ZWFkIG9mCgkgIGdfdHlwZV9yZWdpc3Rlcl9zdGF0aWMoKSB0byBzYXZlIHNvbWUgcmVsb2NhdGlvbnMuCgoyMDA4LTA2LTAzIDE1OjQxOjA1ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBhdXRvZ2VuLnNoOgoJICBmaXggcGFja2FnZSBuYW1lCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggcGFja2FnZSBuYW1lCgoyMDA4LTA2LTAzIDE0OjM1OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IFN0b3AgR3N0Q29sbGVjdFBhZHMgYmVmb3JlIGNhbGxpbmcgdGhlIHBhcmVudCdzIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiB3aGVuIGdvaW5nIGZyb20gUEEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfcGFkX2dldF90eXBlKSwKCSAgKGdzdF9pbnRlcmxlYXZlX2NoYW5nZV9zdGF0ZSk6CgkgIFN0b3AgR3N0Q29sbGVjdFBhZHMgYmVmb3JlIGNhbGxpbmcgdGhlIHBhcmVudCdzIHN0YXRlIGNoYW5nZSBmdW5jdGlvbgoJICB3aGVuIGdvaW5nIGZyb20gUEFVU0VEIHRvIFJFQURZIGFzIHdlIG90aGVyd2lzZSBkZWFkbG9jay4KCSAgRml4ZXMgYnVnICM1MzYyNTguCgoyMDA4LTA2LTAzIDExOjEwOjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuKjogUGFyc2UgY29kZWNfZGF0YSBhbmQgdXNlIHRoZSBuYWx1X3NpemVfbGVuZ3RoIGZpZWxkIHRvIGdldCB0aGUgTkFMVSBsZW5ndGggaW4gcGFja2V0aXplLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IChnc3RfbmFsX2JzX2luaXQpLAoJICAoZ3N0X2gyNjRfcGFyc2Vfc2lua19zZXRjYXBzKSwgKGdzdF9oMjY0X3BhcnNlX2NoYWluX2ZvcndhcmQpLAoJICAoZ3N0X2gyNjRfcGFyc2VfcXVldWVfYnVmZmVyKSwgKGdzdF9oMjY0X3BhcnNlX2NoYWluX3JldmVyc2UpLAoJICAoZ3N0X2gyNjRfcGFyc2VfY2hhaW4pOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIFBhcnNlIGNvZGVjX2RhdGEgYW5kIHVzZSB0aGUgbmFsdV9zaXplX2xlbmd0aCBmaWVsZCB0byBnZXQgdGhlIE5BTFUKCSAgbGVuZ3RoIGluIHBhY2tldGl6ZWQgaDI2NC4KCSAgV2hlbiBxdWV1ZWluZyBhIHBhY2tldGl6ZWQgYnVmZmVyIGluIHJldmVyc2UgbW9kZSwgZG9uJ3QgdW5yZWYgdGhlCgkgIGJ1ZmZlciB0d2ljZS4KCSAgQXZvaWQgYWNjZXNzaW5nIHRoZSBidWZmZXIgVElNRVNUQU1QIGZpZWxkIGFmdGVyIHdlIHB1c2hlZCBpdCBvbgoJICB0aGUgYWRhcHRvci4KCjIwMDgtMDYtMDMgMDk6MDM6MTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogVXNlIG5ldyBnc3RfYXVkaW9fY2hlY2tfY2hhbm5lbF9wb3NpdGlvbnMoKSBmdW5jdGlvbiBhbmQgcmVnaXN0ZXIgdGhlIEdzdEludGVybGVhdmVQYWQgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgIChnc3RfaW50ZXJsZWF2ZV9jaGVja19jaGFubmVsX3Bvc2l0aW9ucyksCgkgIChnc3RfaW50ZXJsZWF2ZV9zZXRfY2hhbm5lbF9wb3NpdGlvbnMpLAoJICAoZ3N0X2ludGVybGVhdmVfY2xhc3NfaW5pdCk6CgkgIFVzZSBuZXcgZ3N0X2F1ZGlvX2NoZWNrX2NoYW5uZWxfcG9zaXRpb25zKCkgZnVuY3Rpb24gYW5kIHJlZ2lzdGVyCgkgIHRoZSBHc3RJbnRlcmxlYXZlUGFkIHR5cGUgZnJvbSBhIHRocmVhZHNhZmUgY29udGV4dC4KCjIwMDgtMDYtMDIgMjE6NTE6NTIgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogUmV2ZXJ0IGFjY2lkZW50YWwgYWRkaXRpb24gaW4gY29uZmlndXJlLmFjLiBTb3JyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZXZlcnQgYWNjaWRlbnRhbCBhZGRpdGlvbiBpbiBjb25maWd1cmUuYWMuIFNvcnJ5LgoKMjAwOC0wNi0wMiAxODoyMzo1NCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgQWRkIGEgbmV3IHdpbjMyIHZpZGVvc2luay4gVXNlcyB0aGUgRGlyZWN0U2hvdyByZW5kZXJlcnMgZm9yIGhpZ2gtcGVyZm9ybWFuY2UgdmlkZW8gcmVuZGVyaW5nIG9uIHdpbjMyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd3ZpZGVvc2luay9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3d2aWRlb3NpbmsvUkVBRE1FOgoJICAqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvZmFrZXNyYy5jcHA6CgkgICogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9mYWtlc3JjLmg6CgkgICogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSAgKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuaDoKCSAgQWRkIGEgbmV3IHdpbjMyIHZpZGVvc2luay4gVXNlcyB0aGUgRGlyZWN0U2hvdyByZW5kZXJlcnMgZm9yCgkgIGhpZ2gtcGVyZm9ybWFuY2UgdmlkZW8gcmVuZGVyaW5nIG9uIHdpbjMyLgoJICBDdXJyZW50bHkgb25seSBzdXBwb3J0cyBzb21lIFlVViBmb3JtYXRzLgoJICBSYW5rIFBSSU1BUlksIHNpbmNlIGl0J3MgbXVjaCBtb3JlIHVzZWZ1bCBmb3IgdGhlIGNvbW1vbiBjYXNlcyB0aGF0IHRoZQoJICBkaXJlY3RkcmF3IHNpbmsgKHdoaWNoIG9ubHkgZG9lcyBSR0IpLgoKMjAwOC0wNi0wMiAxODowNjozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zcGMvTWFrZWZpbGUuYW06IERpc3QgdGFnLmgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSAgRGlzdCB0YWcuaAoKMjAwOC0wNi0wMiAxNzowNjozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogQWx3YXlzIGRyYWluIGJlZm9yZSBhY3RpdmF0aW5nIHRoZSBuZXcgc2VnbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfc2lua19ldmVudCk6CgkgIEFsd2F5cyBkcmFpbiBiZWZvcmUgYWN0aXZhdGluZyB0aGUgbmV3IHNlZ21lbnQuCgoyMDA4LTA2LTAyIDEyOjQyOjE0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLio6IEFsbG93IHNldHRpbmcgY2hhbm5lbCBwb3NpdGlvbnMgdmlhIGEgcHJvcGVydHkgYW5kIGFsbG93IHVzaW5nIHRoZSBjaGFubmVsIHBvc2l0aW9ucyBvbiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfcGFkX2dldF90eXBlKSwKCSAgKGdzdF9pbnRlcmxlYXZlX2ZpbmFsaXplKSwgKGdzdF9hdWRpb19jaGVja19jaGFubmVsX3Bvc2l0aW9ucyksCgkgIChnc3RfaW50ZXJsZWF2ZV9zZXRfY2hhbm5lbF9wb3NpdGlvbnMpLAoJICAoZ3N0X2ludGVybGVhdmVfY2xhc3NfaW5pdCksIChnc3RfaW50ZXJsZWF2ZV9pbml0KSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NldF9wcm9wZXJ0eSksIChnc3RfaW50ZXJsZWF2ZV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2ludGVybGVhdmVfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9pbnRlcmxlYXZlX3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3Npbmtfc2V0Y2FwcyksIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnlfZHVyYXRpb24pLAoJICAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5X2xhdGVuY3kpLCAoZ3N0X2ludGVybGVhdmVfY29sbGVjdGVkKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgIEFsbG93IHNldHRpbmcgY2hhbm5lbCBwb3NpdGlvbnMgdmlhIGEgcHJvcGVydHkgYW5kIGFsbG93IHVzaW5nIHRoZQoJICBjaGFubmVsIHBvc2l0aW9ucyBvbiB0aGUgaW5wdXQgYXMgdGhlIGNoYW5uZWwgcG9zaXRpb25zIG9mIHRoZSBvdXRwdXQuCgkgIEZpeCBzb21lIGJyb2tlbiBsb2dpYyBhbmQgbWVtb3J5IGxlYWtzLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzogKHNyY19oYW5kb2ZmX2Zsb2F0MzIpLAoJICAoc2lua19oYW5kb2ZmX2Zsb2F0MzIpLCAoR1NUX1NUQVJUX1RFU1QpLCAoaW50ZXJsZWF2ZV9zdWl0ZSk6CgkgIEFkZCB1bml0IHRlc3RzIGZvciBjaGVja2luZyBjb3JyZWN0IGhhbmRsaW5nIG9mIGNoYW5uZWwgcG9zaXRpb25zLgoKMjAwOC0wNi0wMiAxMDoxODoyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuKjogQWRkIGJhc2ljIHJldmVyc2UgcGxheWJhY2sgc3VwcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfZGlzcG9zZSksIChjbGVhcl9xdWV1ZWQpLAoJICAoZmx1c2hfcXVldWVkKSwgKGdzdF9mYWFkX2RyYWluKSwgKGdzdF9mYWFkX2RvX3Jhd19zZWVrKSwKCSAgKGdzdF9mYWFkX3NyY19ldmVudCksIChnc3RfZmFhZF9zaW5rX2V2ZW50KSwgKGdzdF9mYWFkX2NoYWluKSwKCSAgKGdzdF9mYWFkX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBBZGQgYmFzaWMgcmV2ZXJzZSBwbGF5YmFjayBzdXBwb3J0LgoJICBDbGVhciBkZWNvZGVyIHN0YXRlIGFmdGVyIGRpc2NvbnRzLgoJICBSZW1vdmUgc29tZSB1bnVzZWQgY29kZS4KCSAgTWFyayBvdXRwdXQgYnVmZmVycyB3aXRoIGEgZGlzY29udCBhZnRlciBhIGRlY29kaW5nIGVycm9yLgoKMjAwOC0wNi0wMiAwNzozNzozMSArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzogRml4IG1wZWc0dmlkZW9wYXJzZSBvbiBiaWcgZW5kaWFuIGFyY2hpdGVjdHVyZXMuIEZpeGVzIGJ1ZyAjNTM2MDQyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgKGdzdF9tcGVnNHZwYXJzZV9oYW5kbGVfdm9zKToKCSAgRml4IG1wZWc0dmlkZW9wYXJzZSBvbiBiaWcgZW5kaWFuIGFyY2hpdGVjdHVyZXMuIEZpeGVzIGJ1ZyAjNTM2MDQyLgoKMjAwOC0wNS0yOSAxOTo1Njo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvbXBsZXguYzogRG9uJ3QgdXNlIHRoZSBkZXByZWNhdGVkIGdzdF9lbGVtZW50X2dldF9wYWQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBsZXguYzogKHNldHVwX3NyY19wYWQpLAoJICAodGVhcmRvd25fc3JjX3BhZCk6CgkgIERvbid0IHVzZSB0aGUgZGVwcmVjYXRlZCBnc3RfZWxlbWVudF9nZXRfcGFkKCkuCgoyMDA4LTA1LTI5IDE5OjExOjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleGFtcGxlcy9kaXJlY3RmYi9nc3RkZmIuYzogRG9uJ3QgdXNlIHRoZSBkZXByZWNhdGVkIGdzdF9lbGVtZW50X2dldF9wYWQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvZGlyZWN0ZmIvZ3N0ZGZiLmM6IChtYWluKToKCSAgRG9uJ3QgdXNlIHRoZSBkZXByZWNhdGVkIGdzdF9lbGVtZW50X2dldF9wYWQoKS4KCjIwMDgtMDUtMjggMDg6NTM6MDAgKzAwMDAgIE9ua2FyIFNoaW5kZSA8b25rYXJzaGluZGVAZ21haWwuY29tPgoKCSAgc3lzL3ZjZC92Y2RzcmMuYzogQWxsb3cgdGhlIHRyYWNrIHRvIGJlIHNldCBieSB1c2luZyB0aGUgdXJpLiBGaXhlcyAjNTM1MDQzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IDxvbmthcnNoaW5kZSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIHN5cy92Y2QvdmNkc3JjLmM6IChnc3RfdmNkc3JjX3VyaV9nZXRfdXJpKSwKCSAgKGdzdF92Y2RzcmNfdXJpX3NldF91cmkpOgoJICBBbGxvdyB0aGUgdHJhY2sgdG8gYmUgc2V0IGJ5IHVzaW5nIHRoZSB1cmkuIEZpeGVzICM1MzUwNDMuCgoyMDA4LTA1LTI4IDA4OjE0OjE2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnlfZHVyYXRpb24pLAoJICAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5X2xhdGVuY3kpLCAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5KToKCSAgSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkuCgoyMDA4LTA1LTI3IDE3OjUzOjU4ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6IEFkZCBHU1RfQlVGRkVSX0ZMQUdfREVMVEFfVU5JVCB0byBub3QgSSBmcmFtZSBidWZmZXJzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBBZGQgR1NUX0JVRkZFUl9GTEFHX0RFTFRBX1VOSVQgdG8gbm90IEkgZnJhbWUgYnVmZmVycwoKMjAwOC0wNS0yNyAxNjo0ODoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBCcmVhayBvdXQgb2YgY2FsbGJhY2tzIHdoZW4gd2UgYXJlIHNodXR0aW5nIGRvd24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICAoZ3N0X3J0cF9iaW5fcHJvcGFnYXRlX3Byb3BlcnR5X3RvX2ppdHRlcmJ1ZmZlciksCgkgIChnc3RfcnRwX2Jpbl9jaGFuZ2Vfc3RhdGUpLCAobmV3X3BheWxvYWRfZm91bmQpLAoJICAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgQnJlYWsgb3V0IG9mIGNhbGxiYWNrcyB3aGVuIHdlIGFyZSBzaHV0dGluZyBkb3duLgoJICBNYWtlIHN1cmUgbm8gc3RhdGUgY2hhbmdlcyBjYW4gaGFwcGVuIHdoZW4gd2UgcmVjb25maWd1cmUuCgoyMDA4LTA1LTI3IDE2OjMyOjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgY29uZmlndXJlLmFjOiBSZXF1aXJlIENWUyBjb3JlIGFuZCBiYXNlIGZvciBuZXcgYXVkaW8gY2xvY2sgcmVzZXQgbWV0aG9kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgQ1ZTIGNvcmUgYW5kIGJhc2UgZm9yIG5ldyBhdWRpbyBjbG9jayByZXNldCBtZXRob2QuCgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6IChhbHNhc3BkaWZzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgIFJlc2V0IHRoZSBhdWRpbyBjbG9jay4gU2VlICM1MjE3NjEuCgoyMDA4LTA1LTI2IDE3OjUyOjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiBJbmNsdWRlIHRoZSBlbGVtZW50IG5hbWUgaW4gdGhlIHBvcnQgbmFtZSB0byBhdm9pZCBkdXBsaWNhdGUgcG9ydCBuYW1lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19hbGxvY2F0ZV9jaGFubmVscyk6CgkgIEluY2x1ZGUgdGhlIGVsZW1lbnQgbmFtZSBpbiB0aGUgcG9ydCBuYW1lIHRvIGF2b2lkIGR1cGxpY2F0ZSBwb3J0IG5hbWVzLgoKMjAwOC0wNS0yNiAxMDoyODo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IEFkZCBhbm90aGVyIGV4YW1wbGUgbGF1bmNoIGxpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBBZGQgYW5vdGhlciBleGFtcGxlIGxhdW5jaCBsaW5lLgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGludGVybGVhdmVfMjQpLAoJICAoZ3N0X2ludGVybGVhdmVfZmluYWxpemUpLCAoZ3N0X2ludGVybGVhdmVfYmFzZV9pbml0KSwKCSAgKGdzdF9pbnRlcmxlYXZlX2NsYXNzX2luaXQpLCAoZ3N0X2ludGVybGVhdmVfaW5pdCksCgkgIChnc3RfaW50ZXJsZWF2ZV9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X2ludGVybGVhdmVfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X2ludGVybGVhdmVfY2hhbmdlX3N0YXRlKSwgKF9fcmVtb3ZlX2NoYW5uZWxzKSwKCSAgKF9fc2V0X2NoYW5uZWxzKSwgKGdzdF9pbnRlcmxlYXZlX3NpbmtfZ2V0Y2FwcyksCgkgIChnc3RfaW50ZXJsZWF2ZV9zZXRfcHJvY2Vzc19mdW5jdGlvbiksCgkgIChnc3RfaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpLCAoZ3N0X2ludGVybGVhdmVfc2lua19ldmVudCksCgkgIChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnlfZHVyYXRpb24pLCAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5KSwKCSAgKGZvcndhcmRfZXZlbnRfZnVuYyksIChmb3J3YXJkX2V2ZW50KSwgKGdzdF9pbnRlcmxlYXZlX3NyY19ldmVudCksCgkgIChnc3RfaW50ZXJsZWF2ZV9jb2xsZWN0ZWQpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgTWFqb3IgcmV3cml0ZSBvZiBpbnRlcmxlYXZlIHVzaW5nIEdzdENvbGxlY3RwYWRzLiBUaGlzIG5ldyB2ZXJzaW9uCgkgIGFsc28gc3VwcG9ydHMgYWxtb3N0IGFsbCByYXcgYXVkaW8gZm9ybWF0cyBhbmQgaGFzIGJldHRlciBjYXBzCgkgIG5lZ290aWF0aW9uLiBGaXhlcyBidWcgIzUwNjU5NC4KCSAgQWxzbyB1cGRhdGUgZG9jcyBhbmQgYWRkIHNvbWUgbW9yZSBleGFtcGxlcy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6IChpbnRlcmxlYXZlX2NoYWluX2Z1bmMpLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAoc3JjX2hhbmRvZmZfZmxvYXQzMiksIChzaW5rX2hhbmRvZmZfZmxvYXQzMiksCgkgIChpbnRlcmxlYXZlX3N1aXRlKToKCSAgQWRkIHNvbWUgbW9yZSBleHRlbnNpdmUgdW5pdCB0ZXN0cyBmb3IgaW50ZXJsZWF2ZS4KCjIwMDgtMDUtMjYgMTA6MDk6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogV2hlbiBjaGVja2luZyB0aGUgc2VxbnVtLCByZXNldCB0aGUgaml0dGVyYnVmZmVyIGlmIHRoZSBnYXAgaXMgdG9vIGJpZywgd2UgbmVlZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBXaGVuIGNoZWNraW5nIHRoZSBzZXFudW0sIHJlc2V0IHRoZSBqaXR0ZXJidWZmZXIgaWYgdGhlIGdhcCBpcyB0b28gYmlnLAoJICB3ZSBuZWVkIHRvIGRvIHRoaXMgc28gdGhhdCB3ZSBjYW4gYmV0dGVyIGhhbmRsZSBhIHJlc3RhcnRlZCBzb3VyY2UuCgkgIEZpeCBzb21lIGNvbW1lbnRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAoY2FsY3VsYXRlX3NrZXcpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KToKCSAgVHdlYWsgdGhlIHNrZXcgcmVzeW5jIGRpZmYuCgkgIFVzZSBvdXIgd29ya2luZyBzZXFudW0gY29tcGFyZSBmdW5jdGlvbiBpbiAtYmFzZS4KCSAgUmV3b3JrIHRoZSBqaXR0ZXJidWZmZXIgaW5zZXJ0IGNvZGUgdG8gbWFrZSBpdCBjbGVhcmVyIGFuZCBtb3JlCgkgIHBlcmZvcm1hbnQgYnkgb25seSByZXRyaWV2aW5nIHRoZSBzZXFudW0gb2YgdGhlIGlucHV0IGJ1ZmZlciBvbmNlIGFuZCBieQoJICBhZGRpbmcgc29tZSBHX0xJS0VMWSBjb21waWxlciBoaW50cy4KCSAgSW1wcm92ZSBkZWJ1Z2dpbmcgZm9yIGR1cGxpY2F0ZSBwYWNrZXRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCk6CgkgIEZpeCBhIGNvbW1lbnQsIHdlIGRvbid0IGRvIHNrZXcgY29ycmVjdGlvbiBoZXJlLi4KCjIwMDgtMDUtMjYgMTA6MDA6MjQgKzAwMDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUHJvcGFnYXRlIHRoZSBkby1sb3N0IGFuZCBsYXRlbmN5IHByb3BlcnRpZXMgdG8gdGhlIGppdHRlcmJ1ZmZlcnMgd2hlbiB0aGV5IGFyZSBjaGFuZ2VkIG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBIw6V2YXJkIEdyYWZmIDxoYXZhcmQgZG90IGdyYWZmIGF0IHRhbmRiZXJnIGRvdCBjb20+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIChnc3RfcnRwX2Jpbl9wcm9wYWdhdGVfcHJvcGVydHlfdG9faml0dGVyYnVmZmVyKSwKCSAgKGdzdF9ydHBfYmluX3NldF9wcm9wZXJ0eSk6CgkgIFByb3BhZ2F0ZSB0aGUgZG8tbG9zdCBhbmQgbGF0ZW5jeSBwcm9wZXJ0aWVzIHRvIHRoZSBqaXR0ZXJidWZmZXJzIHdoZW4KCSAgdGhleSBhcmUgY2hhbmdlZCBvbiBydHBiaW4uCgoyMDA4LTA1LTI2IDA5OjU3OjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgRG9uJ3QgdXNlIF9nc3RfcGFkKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jOiAoc3dpdGNoX3RpbWVyKToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5jOiAoZ3N0X3JnX3ZvbHVtZV9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzogKGNyZWF0ZV9zdHJlYW0pOgoJICAqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzogKGdzdF9zZHBfZGVtdXhfc3RyZWFtX2NvbmZpZ3VyZV91ZHApLAoJICAoZ3N0X3NkcF9kZW11eF9zdHJlYW1fY29uZmlndXJlX3VkcF9zaW5rKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKHBhZF9hZGRlZF9zZXR1cF9kYXRhX2NoZWNrX2Zsb2F0MzJfOGNoX2NiKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChzZW5kX2Vvc19ldmVudCksCgkgIChzZW5kX3RhZ19ldmVudCk6CgkgIERvbid0IHVzZSBfZ3N0X3BhZCgpLgoKMjAwOC0wNS0yMiAxOTo0Nzo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIGludGVybGVhdmUvZGVpbnRlcmxlYXZlIHRvIHRoZSBkb2NzIGFuZCB3aGlsZSBhdCB0aGF0IHJ1biBtYWtlIHVwZGF0ZSBpbiBkb2NzL3BsdWdpbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgQWRkIGludGVybGVhdmUvZGVpbnRlcmxlYXZlIHRvIHRoZSBkb2NzIGFuZCB3aGlsZSBhdCB0aGF0CgkgIHJ1biBtYWtlIHVwZGF0ZSBpbiBkb2NzL3BsdWdpbnMuCgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgIEFkZCBhIHBhcmFwcmFwaCBhYm91dCB1c2luZyBhIHF1ZXVlIGFuZCBhdWRpb2NvbnZlcnQgYWZ0ZXIgdGhlIHNvdXJjZQoJICBwYWRzIHRvIHRoZSBkb2NzLgoKMjAwOC0wNS0yMiAxODo1NTowOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLio6IERvbid0IHNldCBhIGdldGNhcHMoKSBmdW5jdGlvbiBvbiB0aGUgc3JjIHBhZHMgYXMgaXQncyBub3QgcmVxdWlyZWQgYW5kIHRoZSBkZWZhdWx0IGdlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9iYXNlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGVhdmVfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyksIChnc3RfZGVpbnRlcmxlYXZlX3NpbmtfZ2V0Y2Fwcyk6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmg6CgkgIERvbid0IHNldCBhIGdldGNhcHMoKSBmdW5jdGlvbiBvbiB0aGUgc3JjIHBhZHMgYXMgaXQncyBub3QgcmVxdWlyZWQKCSAgYW5kIHRoZSBkZWZhdWx0IGdldGNhcHMoKSBmdW5jdGlvbiByZXR1cm5zIHRoZSBjb3JyZWN0IHJlc3VsdHMgZm9yCgkgIG91ciBzcmMgcGFkcy4KCSAgQ29tcGxldGUgZG9jdW1lbnRhdGlvbiBhbmQgYWRkIG15c2VsZiB0byB0aGUgYXV0aG9ycyBvZiB0aGUgZWxlbWVudC4KCjIwMDgtMDUtMjIgMTY6MzM6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy86IFNtYWxsIG9zczQgdGVzdCB0aGF0IHByb2JlcyBmb3IgYXZhaWxhYmxlIGRldmljZXMgYW5kIHJldHJpZXZlcyB0aGVpciBjYXBzIGFuZCBtaXhlciB0cmFja3MgYW5kIGFsbCB0aGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzogKG9wdF9zaG93X21peGVyX21lc3NhZ2VzKSwgKFdBSVRfVElNRSksCgkgIChzaG93X21peGVyX21lc3NhZ2VzKSwgKHByb2JlX21peGVyX3RyYWNrcyksIChwcm9iZV9wYWQpLAoJICAocHJvYmVfZGV0YWlscyksIChwcm9iZV9lbGVtZW50KSwgKG1haW4pOgoJICBTbWFsbCBvc3M0IHRlc3QgdGhhdCBwcm9iZXMgZm9yIGF2YWlsYWJsZSBkZXZpY2VzIGFuZCByZXRyaWV2ZXMKCSAgdGhlaXIgY2FwcyBhbmQgbWl4ZXIgdHJhY2tzIGFuZCBhbGwgdGhhdC4gQWxzbyBhbGxvd3MgdGVzdGluZyBvZgoJICBtaXhlciBjaGFuZ2UgbWVzc2FnZXMgb24gdGhlIGJ1cy4KCjIwMDgtMDUtMjIgMTU6MTQ6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvb3NzNC86IE1ha2UgZGV2aWNlLW5hbWUgcHJvYmluZyBpbiBOVUxMIHN0YXRlIHdvcmsgYmV0dGVyIChlLmcuIGZvciB0aGUgZ25vbWUtY29udHJvbC1jZW50ZXIgc291bmQgY2FwcGxldCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzogKGdzdF9vc3M0X21peGVyX29wZW4pOgoJICAqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuYzoKCSAgKGdzdF9vc3M0X3Byb3BlcnR5X3Byb2JlX2ZpbmRfZGV2aWNlX25hbWUpLAoJICAoZ3N0X29zczRfcHJvcGVydHlfcHJvYmVfZmluZF9kZXZpY2VfbmFtZV9ub2ZkKToKCSAgKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmg6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmM6IChnc3Rfb3NzNF9zaW5rX2dldF9wcm9wZXJ0eSk6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzogKGdzdF9vc3M0X3NvdXJjZV9nZXRfcHJvcGVydHkpOgoJICBNYWtlIGRldmljZS1uYW1lIHByb2JpbmcgaW4gTlVMTCBzdGF0ZSB3b3JrIGJldHRlciAoZS5nLiBmb3IgdGhlCgkgIGdub21lLWNvbnRyb2wtY2VudGVyIHNvdW5kIGNhcHBsZXQpLgoKMjAwOC0wNS0yMiAxNDowMzowNSArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzogTW92ZSBzb21lIGNvZGUgYXJvdW5kIHRvIGludGVncmF0ZSB0aGUgc3RhcnRjb2RlIHNlYXJjaGluZyB3aXRoIHRoZSBvdGhlciBiaXRzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOiAoZ3N0X21wZWc0dnBhcnNlX3B1c2gpLAoJICAoZ3N0X21wZWc0dnBhcnNlX2RyYWluKSwgKGdzdF9tcGVnNHZwYXJzZV9jaGFpbiksCgkgIChnc3RfbXBlZzR2cGFyc2VfY2hhbmdlX3N0YXRlKToKCSAgTW92ZSBzb21lIGNvZGUgYXJvdW5kIHRvIGludGVncmF0ZSB0aGUgc3RhcnRjb2RlIHNlYXJjaGluZyB3aXRoIHRoZQoJICBvdGhlciBiaXRzIG9mIHBhcnNpbmcsIGF2b2lkIGEgd2hvbGUgYnVuY2ggb2YgcGVla3MuCgkgIEdldCByaWQgb2YgaW52YWxpZCBkYXRhIHRoYXQgc2hvdWxkIG5vdCBoYXBwZW4gYWNjb3JkaW5nIHRvIHRoZSBzcGVjcy4KCSAgRml4ZXMgIzUzMzU1OS4KCjIwMDgtMDUtMjAgMDk6MzY6NTYgKzAwMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkgIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IENvcnJlY3RseSBzZXQgZHVyYXRpb24gdG8gZ2V0IGEgbW9yZSBjb3JyZWN0IHNlZWsgYmFyIGluIHRvdGVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJhc3RpZW4gTm9jZXJhIDxoYWRlc3MgYXQgaGFkZXNzIGRvdCBuZXQ+CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogKGdzdF9teXRodHZfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X215dGh0dl9zcmNfaW5pdCksIChnc3RfbXl0aHR2X3NyY19jbGVhciksCgkgIChkb19yZWFkX3JlcXVlc3RfcmVzcG9uc2UpLCAoZ3N0X215dGh0dl9zcmNfY3JlYXRlKSwKCSAgKGdzdF9teXRodHZfc3JjX3N0YXJ0KToKCSAgQ29ycmVjdGx5IHNldCBkdXJhdGlvbiB0byBnZXQgYSBtb3JlIGNvcnJlY3Qgc2VlayBiYXIgaW4gdG90ZW0uCgkgIERpc2FibGUgcXVlcnkgYW5kIGV2ZW50IGZ1bmN0aW9ucyBhcyB0aGV5IGRvbid0IHdvcmsgYW5kIGRvIHNvbWUKCSAgc21hbGxlciBjbGVhbnVwLgoJICBGaXhlcyBidWcgIzUzMzczNi4KCjIwMDgtMDUtMjAgMDk6MDQ6NDggKzAwMDAgIEJyaWFuIEtvcm9wb2ZmIDxicmlhbmhrQGNzLndhc2hpbmd0b24uZWR1PgoKCSAgZXh0L3NwYy86IEFkZCBzdXBwb3J0IGZvciBzb21lIGVzc2VudGlhbCBmZWF0dXJlcyBsaWtlIHNlZWtpbmcsIHJlYWRpbmcgc29uZyBkdXJhdGlvbiBhbmQgZXh0ZW5kZWQgdGFncy4gRml4ZXMgYnVnICM0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQnJpYW4gS29yb3BvZmYgPGJyaWFuaGsgYXQgY3MgZG90IHdhc2hpbmd0b24gZG90IGVkdT4KCSAgKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGMvZ3N0c3BjLmM6IChnc3Rfc3BjX2RlY19jbGFzc19pbml0KSwKCSAgKGdzdF9zcGNfZGVjX3NyY19xdWVyeV90eXBlKSwgKGdzdF9zcGNfZGVjX2luaXQpLAoJICAoZ3N0X3NwY19kZWNfZGlzcG9zZSksIChnc3Rfc3BjX2RlY19zaW5rX2V2ZW50KSwKCSAgKGdzdF9zcGNfZHVyYXRpb24pLCAoZ3N0X3NwY19mYWRlb3V0KSwgKGdzdF9zcGNfZGVjX3NyY19ldmVudCksCgkgIChnc3Rfc3BjX2RlY19zcmNfcXVlcnkpLCAoc3BjX3BsYXkpLCAoc3BjX3NldHVwKToKCSAgKiBleHQvc3BjL2dzdHNwYy5oOgoJICAqIGV4dC9zcGMvdGFnLmM6IChzcGNfdGFnX2lzX2V4dGVuZGVkKSwgKHNwY190YWdfaXNfdGV4dF9mb3JtYXQpLAoJICAoc3BjX3RhZ19pc19wcmVzZW50KSwgKHNwY190YWdfdW5wYWNrX2RhdGUpLCAoc3BjX3RhZ19jbGVhciksCgkgIChzcGNfdGFnX2dldF9pbmZvKSwgKHNwY190YWdfZnJlZSk6CgkgICogZXh0L3NwYy90YWcuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIHNvbWUgZXNzZW50aWFsIGZlYXR1cmVzIGxpa2Ugc2Vla2luZywgcmVhZGluZyBzb25nCgkgIGR1cmF0aW9uIGFuZCBleHRlbmRlZCB0YWdzLiBGaXhlcyBidWcgIzQ1NDE1MS4KCjIwMDgtMDUtMTkgMTI6MzI6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiBTZXQga2VlcC1wb3NpdGlvbnMgcHJvcGVydHkgdG8gVFJVRSBmb3IgdGhlIDggY2hhbm5lbCB0ZXN0IHRvIGVuc3VyZSB0aGF0IHRoZSBvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgU2V0IGtlZXAtcG9zaXRpb25zIHByb3BlcnR5IHRvIFRSVUUgZm9yIHRoZSA4IGNoYW5uZWwgdGVzdCB0byBlbnN1cmUKCSAgdGhhdCB0aGUgb3JpZ2luYWwgY2hhbm5lbCBwb3NpdGlvbiBpcyBzZXQgb24gdGhlIG91dHB1dC4KCjIwMDgtMDUtMTkgMDc6NDY6MDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS4qOiBBZGQgYSBwcm9wZXJ0eSB0byBzZWxlY3Qgd2hldGhlciBjaGFubmVsIHBvc2l0aW9ucyBzaG91bGQgYmUga2VwdCBvbiB0aGUgbW9ubyBvdXRwdXQgYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2luaXQpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9zZXRfcGFkc19jYXBzKSwgKGdzdF9kZWludGVybGVhdmVfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGVhdmVfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuaDoKCSAgQWRkIGEgcHJvcGVydHkgdG8gc2VsZWN0IHdoZXRoZXIgY2hhbm5lbCBwb3NpdGlvbnMgc2hvdWxkIGJlIGtlcHQgb24KCSAgdGhlIG1vbm8gb3V0cHV0IGJ1ZmZlcnMgb3Igc2hvdWxkIGJlIGRyb3BwZWQuCgoyMDA4LTA1LTE4IDEwOjI3OjI1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGRvY3MvTWFrZWZpbGUuYW06IE9vcHMgLSBmaXggdGhlIHNwZWxsaW5nIG9mIHRoZSB2YXJpYWJsZSBJIGFkZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL01ha2VmaWxlLmFtOgoJICBPb3BzIC0gZml4IHRoZSBzcGVsbGluZyBvZiB0aGUgdmFyaWFibGUgSSBhZGRlZC4KCjIwMDgtMDUtMTcgMTk6Mzk6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS4qOiBRdWV1ZSBldmVudHMgdW50aWwgc3JjIHBhZHMgd2VyZSBhZGRlZCBhbmQgdGhleSBjYW4gYmUgc2VudC4gT3RoZXJ3aXNlIGRvd25zdHJlYW0gd2lsbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfZmluYWxpemUpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9pbml0KSwgKGdzdF9kZWludGVybGVhdmVfc2lua19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3Byb2Nlc3MpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX2FjdGl2YXRlX3B1c2gpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5oOgoJICBRdWV1ZSBldmVudHMgdW50aWwgc3JjIHBhZHMgd2VyZSBhZGRlZCBhbmQgdGhleSBjYW4gYmUgc2VudC4gT3RoZXJ3aXNlCgkgIGRvd25zdHJlYW0gd2lsbCBuZXZlciBnZXQgdGhlIGZpcnN0IG5ld3NlZ21lbnQgZXZlbnQuCgoyMDA4LTA1LTE3IDE0OjA1OjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogQWx3YXlzIHNldCB0aGUgY2hhbm5lbCBwb3NpdGlvbnMgd2hlbiBnc3RfYXVkaW9fZ2V0X2NoYW5uZWxfcG9zaXRpb25zKCkgcmV0dXJucyBzb21ldGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2dldGNhcHMpOgoJICBBbHdheXMgc2V0IHRoZSBjaGFubmVsIHBvc2l0aW9ucyB3aGVuIGdzdF9hdWRpb19nZXRfY2hhbm5lbF9wb3NpdGlvbnMoKQoJICByZXR1cm5zIHNvbWV0aGluZywgZXZlbiBpZiB0aGV5J3JlIG5vdCBzZXQgaW4gdGhlIGNhcHMuIFRoaXMgbWFrZXMKCSAgc3VyZSB0aGF0IHRoZSBvdXRwdXQgY2hhbm5lbHMgY2FuIGJlIGludGVybGVhdmVkIGFnYWluIGNvcnJlY3RseQoJICBpbiB0aGUgbW9uby9zdGVyZW8gY2FzZXMgdG9vLgoJICBEb24ndCBhc2sgZm9yIHRoZSBwZWVyY2FwcyBvZiB0aGUgY3VycmVudCBwYWQgaW4gZ2V0Y2FwcygpIGFzIHRoaXMKCSAgbWlnaHQgY2FsbCBnZXRjYXBzKCkgYWdhaW4gYW5kIGRlYWRsb2NrLgoKMjAwOC0wNS0xNiAyMjowMDo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6IENoZWNrIHNvbWUgbW9yZSBjb21tb24gbG9jYXRpb25zIGZvciBhIHZhbGlkIGNvbmZpZ3VyYXRpb24gZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6ICh3aWxkbWlkaV9vcGVuX2NvbmZpZyk6CgkgIENoZWNrIHNvbWUgbW9yZSBjb21tb24gbG9jYXRpb25zIGZvciBhIHZhbGlkIGNvbmZpZ3VyYXRpb24gZmlsZS4KCSAgRml4ZXMgYnVnICM1MzM0MzUuIFBhY2thZ2VycyBzaG91bGQgc3RpbGwgI2RlZmluZSBXSUxETUlESV9DRkcKCSAgdG8gdGhlIGRpc3RyaWJ1dGlvbnMgZGVmYXVsdCBsb2NhdGlvbi4KCjIwMDgtMDUtMTYgMjE6NTY6MjQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlLzogQWRkIHN1cHBvcnQgZm9yIGFsbCByYXcgYXVkaW8gZm9ybWF0cyBhbmQgcHJvdmlkZSBiZXR0ZXIgbmVnb3RpYXRpb24gaWYgdGhlIGNhcHMgYXJlIGNoYW5naW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGRlaW50ZXJsZWF2ZV8yNCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2ZpbmFsaXplKSwgKGdzdF9kZWludGVybGVhdmVfYmFzZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGVhdmVfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxlYXZlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9zZXRfcGFkc19jYXBzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfc2V0X3Byb2Nlc3NfZnVuY3Rpb24pLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpLCAoX19yZW1vdmVfY2hhbm5lbHMpLAoJICAoX19zZXRfY2hhbm5lbHMpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9nZXRjYXBzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfcHJvY2VzcyksIChnc3RfZGVpbnRlcmxlYXZlX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGVhdmVfc2lua19hY3RpdmF0ZV9wdXNoKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGFsbCByYXcgYXVkaW8gZm9ybWF0cyBhbmQgcHJvdmlkZSBiZXR0ZXIgbmVnb3RpYXRpb24KCSAgaWYgdGhlIGNhcHMgYXJlIGNoYW5naW5nLgoJICBEb24ndCBhbGxvdyBjaGFuZ2VzIG9mIHRoZSBjaGFubmVsIHBvc2l0aW9ucyBhbmQgc2V0IHRoZSBwb3NpdGlvbiBvZgoJICB0aGUgY29ycmVzcG9uZGluZyBjaGFubmVsIG9uIHRoZSBzcmMgcGFkIGNhcHMuCgkgIEdlbmVyYWwgY2xlYW51cCBhbmQgc21hbGxlciBidWdmaXhlcy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzogKGZsb2F0X2J1ZmZlcl9jaGVja19wcm9iZSk6CgkgIENoZWNrIHRoZSBjaGFubmVsIHBvc2l0aW9ucyBvbiB0aGUgb3V0cHV0IGJ1ZmZlciBjYXBzLgoKMjAwOC0wNS0xNiAxOTo1NjozMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBkb2NzL01ha2VmaWxlLmFtOiBEb24ndCBhdHRlbXB0IHRvIGJ1aWxkIHBsdWdpbiBkb2NzIHdoZW4gdGhleSdyZSBkaXNhYmxlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9NYWtlZmlsZS5hbToKCSAgRG9uJ3QgYXR0ZW1wdCB0byBidWlsZCBwbHVnaW4gZG9jcyB3aGVuIHRoZXkncmUgZGlzYWJsZWQuCgkgICogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJICBBZGQgbGliZ3N0dmlkZW8gdG8gdGhlIGxpbmsuCgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgIEZpeCBsaW5rIG9yZGVyLCBhbmQgbW92ZSBMSUJTIHRoaW5ncyB0byBfTElCUwoKMjAwOC0wNS0xNiAxNDo0OTowNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMudHlwZXM6IFJlbW92ZSBib2d1cyBhdHRlbXB0IHRvIHB1bGwgJ21ldGFkYXRhJyBwbHVnaW4ncyBiYXNlIGNsYXNzIGludG8gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy50eXBlczoKCSAgUmVtb3ZlIGJvZ3VzIGF0dGVtcHQgdG8gcHVsbCAnbWV0YWRhdGEnIHBsdWdpbidzIGJhc2UKCSAgY2xhc3MgaW50byB0aGUgZG9jcy4KCjIwMDgtMDUtMTQgMjE6MDI6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogU2ltcGx5IGRyb3AgYmFkIFJUUCBwYWNrZXRzIHdpdGggYSB3YXJuaW5nIGluc3RlYWQgb2YganVzdCBwb3N0aW5nIGFuIGVycm9yIGFuZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICBTaW1wbHkgZHJvcCBiYWQgUlRQIHBhY2tldHMgd2l0aCBhIHdhcm5pbmcgaW5zdGVhZCBvZiBqdXN0IHBvc3RpbmcgYW4KCSAgZXJyb3IgYW5kIHN0b3BwaW5nLiBUaGlzIGlzIGEgcGVyZmVjdGx5IHJlY292ZXJhYmxlIGV2ZW50IGFuZCB3ZSBkb24ndAoJICBmb3JjZSBwZW9wbGUgdG8gdXNlIGFuIHJ0cGJpbiB0byBmaWx0ZXIgb3V0IGJhZCBwYWNrZXRzIGZpcnN0LgoKMjAwOC0wNS0xNCAyMDo1NzozMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6IFNldCBmaXhlZCBjYXBzIG9uIHRoZSBzcmNwYWQgYWZ0ZXIgd2UgY3JlYXRlZCB0aGUgcGFkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6IChnc3RfbXBlZzR2cGFyc2VfaW5pdCk6CgkgIFNldCBmaXhlZCBjYXBzIG9uIHRoZSBzcmNwYWQgYWZ0ZXIgd2UgY3JlYXRlZCB0aGUgcGFkLi4uCgoyMDA4LTA1LTE0IDE2OjIxOjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IFJlbW92ZSBkZWludGVybGVhdmUgdGVzdCBmcm9tIFZBTEdSSU5EX1RPX0ZJWCBhZ2FpbiBub3cgdGhhdCB0aGVyZSBhcmUgc3VwcHJlc3Npb25zIGluIGdzdC5zLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgZGVpbnRlcmxlYXZlIHRlc3QgZnJvbSBWQUxHUklORF9UT19GSVggYWdhaW4gbm93IHRoYXQKCSAgdGhlcmUgYXJlIHN1cHByZXNzaW9ucyBpbiBnc3Quc3VwcCB3aGljaCBtYWtlIHRoaXMgd29yayBmb3IgbWUuCgoyMDA4LTA1LTE0IDE0OjE5OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IEFkZCBkZWludGVybGVhdmUgdW5pdCB0ZXN0IHRvIFZBTEdSSU5EX1RPX0ZJWCwgc2luY2UgaXQgY2F1c2VzIHdlaXJkIGludmFsaWQgZnJlZSBlcnJvcnMgaW4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBBZGQgZGVpbnRlcmxlYXZlIHVuaXQgdGVzdCB0byBWQUxHUklORF9UT19GSVgsIHNpbmNlIGl0IGNhdXNlcwoJICB3ZWlyZCBpbnZhbGlkIGZyZWUgZXJyb3JzIGluIHZhbGdyaW5kL2xpYmMgYWZ0ZXIgX2V4aXQgZm9yIHNvbWUKCSAgcmVhc29uLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiAocGFkc19jcmVhdGVkKSwKCSAgKHNldF9jaGFubmVsX3Bvc2l0aW9ucyksIChzcmNfaGFuZG9mZl9mbG9hdDMyXzhjaCksCgkgIChmbG9hdF9idWZmZXJfY2hlY2tfcHJvYmUpLAoJICAocGFkX2FkZGVkX3NldHVwX2RhdGFfY2hlY2tfZmxvYXQzMl84Y2hfY2IpLAoJICAobWFrZV9mYWtlX3NyY184Y2hhbnNfZmxvYXQzMiksIChHU1RfU1RBUlRfVEVTVCksCgkgIChkZWludGVybGVhdmVfc3VpdGUpOgoJICBBZGQgc29tZSBtb3JlIGRlaW50ZXJsZWF2ZSB1bml0IHRlc3QgYml0cyBJIGhhZCBsb2NhbGx5LgoKPT09IHJlbGVhc2UgMC4xMC4yMCA9PT0KCjIwMDgtMDUtMTQgMTM6NTc6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IFJldmVydCBwcmV2aW91cyBjaGFuZ2Ugd2hpY2ggbWFkZSBiYXNldHJhbnNmb3JtIGhhbmRsZSBidWZmZXJfYWxsb2MgYW5kIHdoaWNoIGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiAoZ3N0X2F1ZGlvcmVzYW1wbGVfaW5pdCk6CgkgIFJldmVydCBwcmV2aW91cyBjaGFuZ2Ugd2hpY2ggbWFkZSBiYXNldHJhbnNmb3JtIGhhbmRsZSBidWZmZXJfYWxsb2MKCSAgYW5kIHdoaWNoIGJyZWFrcyB0aGluZ3MgYmFkbHkgaW4gdGhlIG5vbi1wYXNzdGhyb3VnaCBjYXNlIHNpbmNlIGl0CgkgIHJldHVybmVkIGJ1ZmZlcnMgd2l0aCBhIGRpZmZlcmVudCAoaWUuIHNvbWV0aW1lcyBzbWFsbGVyKSBzaXplIHRoYW4KCSAgdGhlIHNpemUgcmVxdWVzdGVkLgoKMjAwOC0wNS0xNCAwNzozMjo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvOiBTcGxpdCBkZWZpbml0aW9ucyBpbnRvIHNlcGFyYXRlIGhlYWRlciBmaWxlcyBmb3IgYmV0dGVyIGRvY3VtZW50YXRpb24gZ2VuZXJhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmg6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICAqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5oOgoJICBTcGxpdCBkZWZpbml0aW9ucyBpbnRvIHNlcGFyYXRlIGhlYWRlciBmaWxlcyBmb3IgYmV0dGVyIGRvY3VtZW50YXRpb24KCSAgZ2VuZXJhdGlvbi4KCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfYmFzZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGVhdmVfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxlYXZlX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3Byb2Nlc3MpOgoJICBEb24ndCB1c2UgYWxsb2NhLCBhbGxvdyBjYXBzIGNoYW5nZXMgYXMgbG9uZyBhcyB0aGUgbnVtYmVyIG9mIGNoYW5uZWxzCgkgIGRvZXMgbm90IGNoYW5nZSwgZG9uJ3QgdXNlIGdfd2FybmluZywgcmV0dXJuIE5PVF9ORUdPVElBVEVEIGFzIGVhcmx5CgkgIGFzIHBvc3NpYmxlIGFuZCBzb21lIG90aGVyIGNsZWFudXAuCgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfYmFzZV9pbml0KSwKCSAgKGdzdF9pbnRlcmxlYXZlX2NsYXNzX2luaXQpOgoJICBEbyBzb21lIHJhbmRvbSBjbGVhbnVwLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlaW50ZXJsZWF2ZS5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAoZGVpbnRlcmxlYXZlX2NoYWluX2Z1bmMpLCAoZGVpbnRlcmxlYXZlX3BhZF9hZGRlZCksCgkgIChkZWludGVybGVhdmVfc3VpdGUpOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgdGhlIGRlaW50ZXJsZWF2ZSBlbGVtZW50LgoKMjAwOC0wNS0xMyAxNzoyMTowNyArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuKjogUGFyc2UgdGhlIGNvbmZpZyBkYXRhIChlaXRoZXIgb3V0Ym91bmQgb3IgaW4gdGhlIHN0cmVhbSkgdG8gc2V0IHdpZHRoL2hlaWdodCwgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICAoZ3N0X21wZWc0dnBhcnNlX3NldF9uZXdfY2FwcyksIChnc3RfbXBlZzR2cGFyc2VfYWxpZ24pLAoJICAoZ2V0X2JpdHMpLCAobmV4dF9zdGFydF9jb2RlKSwgKGdzdF9tcGVnNHZwYXJzZV9oYW5kbGVfdm9zKSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9wdXNoKSwgKGdzdF9tcGVnNHZwYXJzZV9kcmFpbiksCgkgIChnc3RfbXBlZzR2cGFyc2VfY2hhaW4pLCAoZ3N0X21wZWc0dnBhcnNlX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfbXBlZzR2cGFyc2Vfc2lua19ldmVudCksIChnc3RfbXBlZzR2cGFyc2Vfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9zZXRfcHJvcGVydHkpLCAoZ3N0X21wZWc0dnBhcnNlX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfbXBlZzR2cGFyc2VfY2xhc3NfaW5pdCksIChnc3RfbXBlZzR2cGFyc2VfaW5pdCk6CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuaDoKCSAgUGFyc2UgdGhlIGNvbmZpZyBkYXRhIChlaXRoZXIgb3V0Ym91bmQgb3IgaW4gdGhlIHN0cmVhbSkgdG8gc2V0CgkgIHdpZHRoL2hlaWdodCwgYXBlY3QgcmF0aW9uLCBmcmFtZXJhdGUgaW4gdGhlIGNhcHMgaWYgYXBwbGljYWJsZS4KCSAgTWFyayBmcmFtZXMgYXMgR1NUX0JVRkZFUl9GTEFHX0RFTFRBX1VOSVQgd2hlbiB0aGV5IGFyZSBub3QKCSAgaW50cmEgZnJhbWVzCgkgIFNldCB0aGUgdGltZXN0YW1wcyBvZiBvdXRnb2luZyBidWZmZXJzIHRvIHRoZSBidWZmZXIgaW4KCSAgd2hpY2ggdGhlIFZPUCBoZWFkZXIgd2FzIGZvdW5kLgoJICBEcm9wIGluY29taW5nIGRhdGEgdW50aWxsIGNvbmZpZ3VyYXRpb24gaXMgZm91bmQgKGJ5IGRlZmF1bHQsCgkgIGNvbmZpZ3VyYWJsZSB1c2luZyBhIHByb3BlcnR5KS4KCSAgUmVwb3J0IGEgMSBmcmFtZSBsYXRlbmN5LiBGaXhlcyAjNTMyNzIzLgoKMjAwOC0wNS0xMyAxNjoxNjozNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiBBZGQgc29tZSBkZWJ1ZyBmb3Igd2hlcmUgd2UgYXJlIHNlYXJjaGluZyBmb3IgbGlicmFyaWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKG9wZW5fbGlicmFyeSk6CgkgIEFkZCBzb21lIGRlYnVnIGZvciB3aGVyZSB3ZSBhcmUgc2VhcmNoaW5nIGZvciBsaWJyYXJpZXMuCgoyMDA4LTA1LTEzIDEwOjU5OjQ5ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6IEFkZCB1bml0IHRlc3QgZm9yIHRoZSBsYXRlc3QgYmFzZXRyYW5zZm9ybSBuZWdvdGlhdGlvbiBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOgoJICAobGl2ZV9zd2l0Y2hfYWxsb2Nfb25seV80ODAwMCksIChsaXZlX3N3aXRjaF9nZXRfc2lua19jYXBzKSwKCSAgKGxpdmVfc3dpdGNoX3B1c2gpLCAoR1NUX1NUQVJUX1RFU1QpOgoJICBBZGQgdW5pdCB0ZXN0IGZvciB0aGUgbGF0ZXN0IGJhc2V0cmFuc2Zvcm0gbmVnb3RpYXRpb24gY2hhbmdlcy4KCSAgU2VlIGJ1ZyAjNTI2NzY4LgoKMjAwOC0wNS0xMyAwOTowNjo1MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBBY3R1YWxseSBhZGQgdGhlIGRvLWxvc3QgcHJvcGVydHkgdG8gdGhlIG9iamVjdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgQWN0dWFsbHkgYWRkIHRoZSBkby1sb3N0IHByb3BlcnR5IHRvIHRoZSBvYmplY3QuCgoyMDA4LTA1LTEyIDE4OjQzOjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEF2b2lkIHdhaXRpbmcgZm9yIGEgbmVnYXRpdmUgKGh1Z2UpIGR1cmF0aW9uIHdoZW4gdGhlIGxhc3QgcGFja2V0IGhhcyBhIGxvd2VyIHRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBBdm9pZCB3YWl0aW5nIGZvciBhIG5lZ2F0aXZlIChodWdlKSBkdXJhdGlvbiB3aGVuIHRoZSBsYXN0IHBhY2tldCBoYXMgYQoJICBsb3dlciB0aW1lc3RhbXAgdGhhbiB0aGUgY3VycmVudCBwYWNrZXQuCgoyMDA4LTA1LTEyIDE0OjI4OjA5ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogTWFrZSBzdXJlIHRvIHVucmVmIHRoZSBydHBzZXNzaW9uIHJldHVybmVkIGJ5IGdzdF9wYWRfZ2V0X3BhcmVudCgpIHRvIHByZXZlbnQgYSBtZW1vci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fcXVlcnlfc2VuZF9ydGNwX3NyYyk6CgkgIE1ha2Ugc3VyZSB0byB1bnJlZiB0aGUgcnRwc2Vzc2lvbiByZXR1cm5lZCBieSBnc3RfcGFkX2dldF9wYXJlbnQoKSB0bwoJICBwcmV2ZW50IGEgbWVtb3J5IGxlYWsuCgoyMDA4LTA1LTEyIDE0OjE3OjA2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6IFF1aWV0ZW4gc29tZSBkb2NzIG91dHB1dAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBRdWlldGVuIHNvbWUgZG9jcyBvdXRwdXQKCjIwMDgtMDUtMTIgMTQ6MTI6MDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEluaXRpYWxpc2Ugd2l0aCBHU1RfQ0xPQ0tfVElNRV9OT05FIHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBJbml0aWFsaXNlIHdpdGggR1NUX0NMT0NLX1RJTUVfTk9ORSB0byBhdm9pZCBjb21waWxlciB3YXJuaW5nLgoKMjAwOC0wNS0xMSAxNzoyMzoyMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSYW5kb20gZG9jIG9mIHRoZSBkYXk6IHRoZSBkZWludGVybGFjZSBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBSYW5kb20gZG9jIG9mIHRoZSBkYXk6IHRoZSBkZWludGVybGFjZSBlbGVtZW50LgoKMjAwOC0wNS0wOSAxMDoyMTowNyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IE1ha2Ugc3VyZSBhbGwgc2NoZWR1bGUgRUlUIGFuZCBub24tYWN0dWFsIHRyYW5zcG9ydCBzdHJlYW0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgTWFrZSBzdXJlIGFsbCBzY2hlZHVsZSBFSVQgYW5kIG5vbi1hY3R1YWwgdHJhbnNwb3J0IHN0cmVhbQoJICBFSVRzIGFyZSBwYXJzZWQuIEFsc28gYWRkIHByZXNlbnQtZm9sbG93aW5nIGZsYWcgYW5kCgkgIGFjdHVhbC10cmFuc3BvcnQtc3RyZWFtIGZsYWcgdG8gZWl0IGJ1cyBtZXNzYWdlLgoKMjAwOC0wNS0wOSAwNzo0MTo1OCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogTWFrZSBzdXJlIHRvIHVucmVmIHRoZSBjYXBzIHVzZWQgYnkgUlRQU291cmNlIHRvIHByZXZlbnQgYSBtZW1vcnkgbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2ZpbmFsaXplKToKCSAgTWFrZSBzdXJlIHRvIHVucmVmIHRoZSBjYXBzIHVzZWQgYnkgUlRQU291cmNlIHRvIHByZXZlbnQgYSBtZW1vcnkgbGVhay4KCjIwMDgtMDUtMDggMTk6MTY6MTcgKzAwMDAgIENsaXZlIFdyaWdodCA8Y2xpdmVfd3JpZ2h0QG50bHdvcmxkLmNvbT4KCgkgIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmM6IEFwcGFyZW50bHkgbW9ubyBzbGlkZXJzIGhhdmUgdGhlIG1vbm8gdmFsdWUgcmVwZWF0ZWQgaW4gdGhlIHVwcGVyIGJpdHMsIHNvIG1hc2sgdGhvc2Ugby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IENsaXZlIFdyaWdodCA8Y2xpdmVfd3JpZ2h0IG50bHdvcmxkIGNvbT4KCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5jOiAoZ3N0X29zczRfbWl4ZXJfc2xpZGVyX3VucGFja192b2x1bWUpOgoJICBBcHBhcmVudGx5IG1vbm8gc2xpZGVycyBoYXZlIHRoZSBtb25vIHZhbHVlIHJlcGVhdGVkIGluIHRoZSB1cHBlciBiaXRzLAoJICBzbyBtYXNrIHRob3NlIG91dCB3aGVuIHJlYWRpbmcgdGhlbS4gUHJvYmFibHkgbWFrZXMgdGhlIG1peGVyIGFwcGxldAoJICB3b3JrIHByb3Blcmx5IGluIHNvbWUgbW9yZSBjYXNlcy4KCjIwMDgtMDUtMDggMDk6NDM6MzMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IFVubG9jayB0aGUgc2Vzc2lvbiBsb2NrIHdoZW4gY2FsbGluZyBvbmUgb2Ygb3VyIGNhbGxiYWNrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChzb3VyY2VfY2xvY2tfcmF0ZSksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX2J5ZSksIChydHBfc2Vzc2lvbl9zZW5kX2J5ZV9sb2NrZWQpOgoJICBVbmxvY2sgdGhlIHNlc3Npb24gbG9jayB3aGVuIGNhbGxpbmcgb25lIG9mIG91ciBjYWxsYmFja3MuCgkgIEZpeGVzICM1MzIwMTEuCgoyMDA4LTA1LTA4IDA2OjIzOjM5ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IFNlbmQgUlRQIEJZRSBjb21tYW5kIG9uIEVPUy4gRml4ZXMgYnVnICM1MzE5NTUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayk6CgkgIFNlbmQgUlRQIEJZRSBjb21tYW5kIG9uIEVPUy4gRml4ZXMgYnVnICM1MzE5NTUuCgoyMDA4LTA1LTA4IDA2OjIwOjQyICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IExldCBhdWRpb3Jlc2FtcGxlIHVzZSB0aGUgYnVmZmVyIGFsbG9jYXRpb24gb2YgYmFzZXRyYW5zZm9ybSBpbnN0ZWFkIG9mIGl0J3Mgb3cuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogKGdzdF9hdWRpb3Jlc2FtcGxlX2luaXQpOgoJICBMZXQgYXVkaW9yZXNhbXBsZSB1c2UgdGhlIGJ1ZmZlciBhbGxvY2F0aW9uIG9mIGJhc2V0cmFuc2Zvcm0gaW5zdGVhZAoJICBvZiBpdCdzIG93biBzdHVmZi4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6IChhbGxvY19vbmx5XzQ4MDAwKSwKCSAgKEdTVF9TVEFSVF9URVNUKSwgKGF1ZGlvcmVzYW1wbGVfc3VpdGUpOgoJICBBZGQgdW5pdCB0ZXN0IGZvciB0aGUgcmVjZW50IGJhc2V0cmFuc2Zvcm0gYnVnZml4LCB3aGVyZSB1cHN0cmVhbQoJICBjaGFuZ2VzIGNhcHMgdG8gc29tZXRoaW5nIHRoYXQgY2FuJ3QgYmUgcGFzc2VkIHRocm91Z2ggYW55bW9yZS4KCjIwMDgtMDUtMDcgMjA6MjU6MDkgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICB3aW4zMi9jb21tb24vY29uZmlnLmguaW46IERvbid0IGRlZmluZSBHU1RfRlVOQ1RJT04sIGlmIEdMaWIgc3VwcG9ydHMgTVNWQyB3ZSdkIG11Y2ggcmF0aGVyIHVzZSB0aGUgcmVhbCB0aGluZyB0aGFuIGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oLmluOgoJICBEb24ndCBkZWZpbmUgR1NUX0ZVTkNUSU9OLCBpZiBHTGliIHN1cHBvcnRzIE1TVkMgd2UnZCBtdWNoIHJhdGhlcgoJICB1c2UgdGhlIHJlYWwgdGhpbmcgdGhhbiBoYXZpbmcgIj8/PyIgdW5jb25kaXRpb25hbGx5LgoKMjAwOC0wNS0wNyAxMDozODoyMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9hcHAvOiBBZGQgbWFyc2hhbC5saXN0LCBtYWtlIGl0IGNvbXBpbGUgYW5kIGFkZCB0byBjdnNpZ25vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvLmN2c2lnbm9yZToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwLW1hcnNoYWwubGlzdDoKCSAgQWRkIG1hcnNoYWwubGlzdCwgbWFrZSBpdCBjb21waWxlIGFuZCBhZGQgdG8gY3ZzaWdub3JlLgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOiAoZ3N0X2FwcF9zaW5rX2Rpc3Bvc2UpLAoJICAoZ3N0X2FwcF9zaW5rX3N0b3ApOgoJICBTbWFsbCBjbGVhbnVwcy4KCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOiAoZ3N0X2FwcF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYXBwX3NyY19pbml0KSwgKGdzdF9hcHBfc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXBwX3NyY19nZXRfcHJvcGVydHkpLCAoZ3N0X2FwcF9zcmNfdW5sb2NrKSwKCSAgKGdzdF9hcHBfc3JjX3VubG9ja19zdG9wKSwgKGdzdF9hcHBfc3JjX3N0YXJ0KSwgKGdzdF9hcHBfc3JjX3N0b3ApLAoJICAoZ3N0X2FwcF9zcmNfY3JlYXRlKSwgKGdzdF9hcHBfc3JjX3NldF9jYXBzKSwKCSAgKGdzdF9hcHBfc3JjX2dldF9jYXBzKSwgKGdzdF9hcHBfc3JjX3NldF9zaXplKSwKCSAgKGdzdF9hcHBfc3JjX2dldF9zaXplKSwgKGdzdF9hcHBfc3JjX3NldF9zZWVrYWJsZSksCgkgIChnc3RfYXBwX3NyY19nZXRfc2Vla2FibGUpLCAoZ3N0X2FwcF9zcmNfc2V0X21heF9idWZmZXJzKSwKCSAgKGdzdF9hcHBfc3JjX2dldF9tYXhfYnVmZmVycyksIChnc3RfYXBwX3NyY19wdXNoX2J1ZmZlciksCgkgIChnc3RfYXBwX3NyY19lbmRfb2Zfc3RyZWFtKToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5oOgoJICBCZWF0IGFwcHNyYyBpbiBzaGFwZSwgYWRkIHNpZ25hbHMgYW5kIGFjdGlvbnMuCgkgIEFkZCBzb21lIGRvY3MuCgkgIEFkZCBwcm9wZXJ0aWVzIGZvciBjYXBzLCBzaXplLCBzZWVrYWJpbGl0eSBhbmQgbWF4LWJ1ZmZlcnMuCgkgIEZpeCB1bmxvY2svc3RvcCBjb2RlLgoKMjAwOC0wNS0wNyAwNzo1MTozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRXJyb3Igb3V0IGlmIHdlIGRvbid0IGhhdmUgdGhlIHJlcXVpcmVkIHZlcnNpb25zIG9mIGNvcmUvYmFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBFcnJvciBvdXQgaWYgd2UgZG9uJ3QgaGF2ZSB0aGUgcmVxdWlyZWQgdmVyc2lvbnMgb2YgY29yZS9iYXNlLgoKMjAwOC0wNS0wNSAxMDoyNzo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay4qOiBTdGFydCBzb21lIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOiAoZ3N0X2FwcF9zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X2FwcF9zaW5rX2luaXQpLCAoZ3N0X2FwcF9zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXBwX3NpbmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF9hcHBfc2lua191bmxvY2tfc3RhcnQpLAoJICAoZ3N0X2FwcF9zaW5rX3VubG9ja19zdG9wKSwgKGdzdF9hcHBfc2lua19mbHVzaF91bmxvY2tlZCksCgkgIChnc3RfYXBwX3Npbmtfc3RhcnQpLCAoZ3N0X2FwcF9zaW5rX3N0b3ApLCAoZ3N0X2FwcF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9hcHBfc2lua19wcmVyb2xsKSwgKGdzdF9hcHBfc2lua19yZW5kZXIpLAoJICAoZ3N0X2FwcF9zaW5rX3NldF9jYXBzKSwgKGdzdF9hcHBfc2lua19zZXRfZHJvcCksCgkgIChnc3RfYXBwX3NpbmtfZ2V0X2Ryb3ApOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5oOgoJICBTdGFydCBzb21lIGRvY3MuCgkgIEFkZCBwcm9wZXJ0eSB0byBkcm9wIGJ1ZmZlcnMgd2hlbiB0aGUgcXVldWUgaXMgZmlsbGVkCgkgIEZpeCB1bmxvY2tpbmcgYW5kIGZsdXNoaW5nIHdoZW4gdGhlIHF1ZXVlcyBhcmUgZmlsbGVkLgoKMjAwOC0wNS0wMiAxNDo0MDowOCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCB3aWxkbWlkaSBwbHVnaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCB3aWxkbWlkaSBwbHVnaW4KCjIwMDgtMDQtMjkgMTk6MTE6NTYgKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6IERlY2xhcmUgdmFyaWFibGVzIGF0IHRoZSBiZWdpbm5pbmcgb2YgYmxvY2tzLiBGaXhlcyBjb21waWxhdGlvbiB3aXRoIGdjYyAyLnggYW5kIG90aGVyIGNvbXBpbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEplbnMgR3JhbnNldWVyIDxqZW5zZ3IgYXQgZ214IGRvdCBuZXQ+CgkgICogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzogKGdzdF9zcnRfZW5jX3RpbWVzdGFtcF90b19zdHJpbmcpOgoJICBEZWNsYXJlIHZhcmlhYmxlcyBhdCB0aGUgYmVnaW5uaW5nIG9mIGJsb2Nrcy4gRml4ZXMgY29tcGlsYXRpb24gd2l0aAoJICBnY2MgMi54IGFuZCBvdGhlciBjb21waWxlcnMuIEZpeGVzIGJ1ZyAjNTMwNjExLgoKMjAwOC0wNC0yOSAwOTowMjozNSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IERldGVjdCBTSSBwaWRzIChOSVQsIFNEVCwgRUlUIGV0Yy4pIGJhc2VkIG9uIHRhYmxlIGlkIGFuZCBub3QgYnkgcGlkIG51bWJlci4gVGhpcyBhbGxvd3MgZm9yIGV4YW1wbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIERldGVjdCBTSSBwaWRzIChOSVQsIFNEVCwgRUlUIGV0Yy4pIGJhc2VkIG9uIHRhYmxlIGlkIGFuZCBub3QKCSAgYnkgcGlkIG51bWJlci4gVGhpcyBhbGxvd3MgZm9yIGV4YW1wbGUgdGhlIEVQRyBkYXRhIGZyb20gVUsncwoJICBmcmVlc2F0IHRvIGJlIHBpY2tlZCB1cC4KCjIwMDgtMDQtMjUgMjM6MjI6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC86IENhc3QgTlVMTCBzZW50aW5lbHMgdG8gdm9pZCAqIGFzIE5VTEwgaXMgZGVmaW5lZCBhcyBhbiBpbnRlZ2VyIGNvbnN0YW50IGluIG1vc3QgZW52aXJvbm1lbnRzIHdoZW4gdXNpbmcgQysrIGFuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJICBDYXN0IE5VTEwgc2VudGluZWxzIHRvIHZvaWQgKiBhcyBOVUxMIGlzIGRlZmluZWQgYXMgYW4gaW50ZWdlcgoJICBjb25zdGFudCBpbiBtb3N0IGVudmlyb25tZW50cyB3aGVuIHVzaW5nIEMrKyBhbmQgaXQncyBzaXplIG1pZ2h0CgkgIGJlIGRpZmZlcmVudCBmcm9tIGEgcG9pbnRlci4KCjIwMDgtMDQtMjUgMTg6MTg6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuKjogQWRkIG1vcmUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6IChnc3RfYXBwX3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfYXBwX3NpbmtfaW5pdCksIChnc3RfYXBwX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hcHBfc2lua19nZXRfcHJvcGVydHkpLCAoZ3N0X2FwcF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9hcHBfc2lua19wcmVyb2xsKSwgKGdzdF9hcHBfc2lua19yZW5kZXIpLAoJICAoZ3N0X2FwcF9zaW5rX3NldF9lbWl0X3NpZ25hbHMpLCAoZ3N0X2FwcF9zaW5rX2dldF9lbWl0X3NpZ25hbHMpLAoJICAoZ3N0X2FwcF9zaW5rX3NldF9tYXhfYnVmZmVycyksIChnc3RfYXBwX3NpbmtfZ2V0X21heF9idWZmZXJzKSwKCSAgKGdzdF9hcHBfc2lua19wdWxsX2J1ZmZlcik6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmg6CgkgIEFkZCBtb3JlIGRvY3MuCgkgIEFkZCBzaWduYWxzIGZvciB3aGVuIHByZXJvbGwgYW5kIHJlbmRlciBidWZmZXJzIGFyZSBhdmFpbGFibGUuCgkgIEFkZCBwcm9wZXJ0eSB0byBjb250cm9sIHNpZ25hbCBlbWlzc2lvbi4KCSAgQWRkIHByb3BlcnR5IHRvIGNvbnRyb2wgdGhlIG1heCBxdWV1ZSBzaXplLgoKMjAwOC0wNC0yNSAxODoxMzowNyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0LWxpYnMvZ3N0L2RzaG93L01ha2VmaWxlLmFtOiBVc2UgQ1hYRkxBR1MgcmF0aGVyIHRoYW4gQ0ZMQUdTOyB0aGVzZSBhcmUgQysrIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvTWFrZWZpbGUuYW06CgkgIFVzZSBDWFhGTEFHUyByYXRoZXIgdGhhbiBDRkxBR1M7IHRoZXNlIGFyZSBDKysgZmlsZXMuCgkgIERlZmluZSByZXF1aXJlZCBjb25zdGFudHMgYXBwcm9wcmlhdGVseS4KCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICBBZGQgcmVxdWlyZWQgaW5jbHVkZSBkaXIsIGxpYnJhcmllcy4KCSAgRGVmaW5lIHJlcXVpcmVkIGNvbnN0YW50cyBhcHByb3ByaWF0ZWx5LgoKMjAwOC0wNC0yNSAxMTozMjowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi4qOiBFeHBvc2UgbmV3IGppdHRlcmJ1ZmZlciBwcm9wZXJ0eSBpbiBydHBiaW4gdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zdHJlYW0pLCAoZ3N0X3J0cF9iaW5faW5pdCksCgkgIChnc3RfcnRwX2Jpbl9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9iaW5fZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgRXhwb3NlIG5ldyBqaXR0ZXJidWZmZXIgcHJvcGVydHkgaW4gcnRwYmluIHRvby4KCjIwMDgtMDQtMjUgMTE6MjI6MTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogRGlzYWJsZSBzZW5kaW5nIG91dCBydHAgcGFja2V0IGxvc3QgZXZlbnRzIGJ5IGRlZmF1bHQgYW5kIG1ha2UgYSBwcm9wZXJ0eSB0byBlbmEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfaW5pdCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfcHJvcGVydHkpOgoJICBEaXNhYmxlIHNlbmRpbmcgb3V0IHJ0cCBwYWNrZXQgbG9zdCBldmVudHMgYnkgZGVmYXVsdCBhbmQgbWFrZSBhCgkgIHByb3BlcnR5IHRvIGVuYWJlIGl0LiBXZSB3aWxsIGxpa2VseSBlbmFibGUgaXQgYnkgZGVmYXVsdCB3aGVuIHRoZSBiYXNlCgkgIGRlcGF5bG9hZGVycyBoYXZlIGEgZGVmYXVsdCBoYW5kbGVyIGZvciB0aGVtIHNvIHRoYXQgd2UgZG9uJ3Qgc2VuZCB0aGVzZQoJICBldmVudHMgYWxsIHRocm91Z2ggdGhlIHBpcGVsaW5lIGZvciBub3cuCgoyMDA4LTA0LTI1IDA5OjM1OjQzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFJlbW92ZSBwcml2YXRlIHZlcnNpb24gb2YgYSBmdW5jdGlvbiB0aGF0IGlzIGluIC1iYXNlIG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfaW5pdCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc3JjX2V2ZW50KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIFJlbW92ZSBwcml2YXRlIHZlcnNpb24gb2YgYSBmdW5jdGlvbiB0aGF0IGlzIGluIC1iYXNlIG5vdy4KCSAgQWRkIHNyYyBldmVudCBoYW5kbGVyLgoJICBSZXdvcmsgdGhlIGppdHRlcmJ1ZmZlciBwdXNoaW5nIGxvb3Agc28gdGhhdCBpdCBjYW4gcXVpY2tseSByZWFjdCB0bwoJICBsb3N0IHBhY2tldHMgYW5kIGluc3RydWN0IHRoZSBkZXBheWxvYWRlciBvZiB0aGVtLiBUaGlzIGNhbiB0aGVuIGJlIHVzZWQKCSAgdG8gaW1wbGVtZW50IGVycm9yIGNvbmNlYWxtZW50IGRhdGEuCgoyMDA4LTA0LTI1IDA4OjIxOjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBTZXQgdXAgc29tZSBpbnRlcm5hbCBsaW5rcyBmdW5jdGlvbnMgZm9yIHRoZSBSVENQIGFuZCBzeW5jIHBhZHMgYmVjYXVzZSB0aGUgZGVmYXVsdHMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9xdWVyeV9zZW5kX3J0Y3Bfc3JjKSwgKGNyZWF0ZV9yZWN2X3J0Y3Bfc2luayksCgkgIChjcmVhdGVfc2VuZF9ydGNwX3NyYyk6CgkgIFNldCB1cCBzb21lIGludGVybmFsIGxpbmtzIGZ1bmN0aW9ucyBmb3IgdGhlIFJUQ1AgYW5kIHN5bmMgcGFkcyBiZWNhdXNlCgkgIHRoZSBkZWZhdWx0cyBhcmUgcmVhbGx5IG5vdCBjb3JyZWN0LgoJICBJbXBsZW1lbnQgYSBxdWVyeSBoYW5kbGVyIGZvciB0aGUgUlRDUCBzcmMgcGFkLCBtb3N0bHkgdG8gY29ycmVjdGx5CgkgIHJlcG9ydCBhYm91dCB0aGUgbGF0ZW5jeS4KCjIwMDgtMDQtMjUgMDg6MTU6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEFsc28ga2VlcCB0cmFjayBvZiB0aGUgZmlyc3QgYnVmZmVyIHRpbWVzdGFtcCB0b2dldGhlciB3aXRoIHRoZSBmaXJzdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChnc3RfcnRwX2Jpbl9zeW5jX2NoYWluKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6ICh1cGRhdGVfYXJyaXZhbF9zdGF0cyksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9pbml0KSwKCSAgKGNhbGN1bGF0ZV9qaXR0ZXIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIEFsc28ga2VlcCB0cmFjayBvZiB0aGUgZmlyc3QgYnVmZmVyIHRpbWVzdGFtcCB0b2dldGhlciB3aXRoIHRoZSBmaXJzdAoJICBSVFAgdGltZXN0YW1wIGFzIHRoZXkgYm90aCBhcmUgbmVlZGVkIHRvIGNvbnN0cnVjdCB0aGUgdGltaW5nIG9mCgkgIG91dGdvaW5nIHBhY2tldHMgaW4gdGhlIGppdHRlcmJ1ZmZlciBhbmQgYXJlIHRoZXJlZm9yZSBhbHNvIG5lZWRlZCB0bwoJICBtYW5hZ2UgbGlwLXN5bmMuIFRoaXMgZml4ZXMgbGlwLXN5bmMgaWYgdGhlIGZpcnN0IFJUUCBwYWNrZXRzIGFycml2ZQoJICB3aXRoIGEgd2lsZGx5IGRpZmZlcmVudCBnYXAuCgoyMDA4LTA0LTI1IDA4OjA3OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBGb3J3YXJkIHVua25vd24gcXVlcmllcyB1cHN0cmVhbSBpbnN0ZWFkIG9mIHJldHVybmluZyBGQUxTRSBvbiB0aGVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3F1ZXJ5KToKCSAgRm9yd2FyZCB1bmtub3duIHF1ZXJpZXMgdXBzdHJlYW0gaW5zdGVhZCBvZiByZXR1cm5pbmcgRkFMU0Ugb24gdGhlbS4KCjIwMDgtMDQtMjQgMjI6MTk6NDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBzdXBwb3J0IGZvciB0aGUgbmV3IGxpYm1wY2RlYyBBUEkgd2hpY2ggbWFnaWNhbGx5IGdldHMgdXMgc3VwcG9ydCBmb3IgU1Y4IGZpbGVzLiBBbHNvIGRvIHNvbWUgcmFuZG9tIGNsZWFudXAuIEZpeC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfYmFzZV9pbml0KSwKCSAgKGdzdF9tdXNlcGFja2RlY19pbml0KSwgKGdzdF9tdXNlcGFja2RlY19kaXNwb3NlKSwKCSAgKGdzdF9tdXNlcGFja2RlY19oYW5kbGVfc2Vla19ldmVudCksIChnc3RfbXVzZXBhY2tfc3RyZWFtX2luaXQpLAoJICAoZ3N0X211c2VwYWNrZGVjX2xvb3ApLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5oOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja3JlYWRlci5jOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja3JlYWRlci5oOgoJICBBZGQgc3VwcG9ydCBmb3IgdGhlIG5ldyBsaWJtcGNkZWMgQVBJIHdoaWNoIG1hZ2ljYWxseSBnZXRzIHVzIHN1cHBvcnQKCSAgZm9yIFNWOCBmaWxlcy4gQWxzbyBkbyBzb21lIHJhbmRvbSBjbGVhbnVwLiBGaXhlcyBidWcgIzUyNjkwNS4KCjIwMDgtMDQtMjQgMjE6MjQ6MTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuNy4xCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjcuMQoJICA9PT0gcmVsZWFzZSAwLjEwLjcgPT09Cgo9PT0gcmVsZWFzZSAwLjEwLjcgPT09CgoyMDA4LTA0LTI0IDAwOjE4OjMwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogcG8vTElOR1VBUzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuNwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjcKCjIwMDgtMDQtMjQgMDA6MTU6MjcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogY29tbW9uOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9reS5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDgtMDQtMjIgMTU6MDc6MzUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogRG9uJ3QgbGVhayBHc3RBdWRpb0NoYW5uZWxQb3NpdGlvbi4gRml4ZXMgIzUyOTM3OC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBEb24ndCBsZWFrIEdzdEF1ZGlvQ2hhbm5lbFBvc2l0aW9uLiBGaXhlcyAjNTI5Mzc4LgoKMjAwOC0wNC0yMiAwODoxODowNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzogUmVmIGNhcHMsIHNlZSAjNTI4MjQ1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6IChyZXF1ZXN0X3B0X21hcCk6CgkgIFJlZiBjYXBzLCBzZWUgIzUyODI0NS4KCjIwMDgtMDQtMjIgMDA6MjE6NTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiAwLjEwLjYuNCBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuNi40IHByZS1yZWxlYXNlCgoyMDA4LTA0LTIxIDIxOjU0OjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IERvbid0IGxlYWsgYSB0YWcgbGlzdC4gRml4ZXMgYnVnICM1MjkyODUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRG9uJ3QgbGVhayBhIHRhZyBsaXN0LiBGaXhlcyBidWcgIzUyOTI4NS4KCjIwMDgtMDQtMjEgMjE6NTI6MzAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29mYS5jOiBEb24ndCBsZWFrIHRoZSB0YWdzIHN0cmluZyBhbmQgdGFnIGxpc3QuIEZpeGVzIGJ1ZyAjNTI5MjgzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzogKGJ1c19oYW5kbGVyKToKCSAgRG9uJ3QgbGVhayB0aGUgdGFncyBzdHJpbmcgYW5kIHRhZyBsaXN0LiBGaXhlcyBidWcgIzUyOTI4My4KCjIwMDgtMDQtMjEgMDg6MjY6MzcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUmVmIGNhcHMgd2hlbiBpbnNlcnRpbmcgaW50byB0aGUgY2FjaGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksIChnZXRfcHRfbWFwKSwKCSAgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIFJlZiBjYXBzIHdoZW4gaW5zZXJ0aW5nIGludG8gdGhlIGNhY2hlLgoJICBEb24ndCBsZWFrIHBhZHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X2Nsb2NrX3JhdGUpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KToKCSAgQXZvaWQgYSBjYXBzIGxlYWsuCgkgIERvbid0IGxlYWsgcmVmY291bnQgaW4gcXVlcnkuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9nZXRfY2FwcyksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKToKCSAgQXZvaWQgY2FwcyBsZWFrcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChzb3VyY2VfZ2V0X3NkZXNfc3RydWN0dXJlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwgKHJldHVybl90cnVlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbGVhcl9wdF9tYXApLCAoZ3N0X3J0cF9zZXNzaW9uX2NhY2hlX2NhcHMpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpOgoJICBSZWYgY2FwcyB3aGVuIGluc2VydGluZyBpbnRvIHRoZSBjYWNoZS4KCSAgRml4IHNvbWUgbW9yZSBjYXBzIGxlYWtzLiBGaXhlcyAjNTI4MjQ1LgoKMjAwOC0wNC0xOCAxODo1MTowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOiBBZGQgY2FzdCB0byBwbGFjYXRlIGdjYyA0LjEuMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIEFkZCBjYXN0IHRvIHBsYWNhdGUgZ2NjIDQuMS4yLgoKMjAwOC0wNC0xNyAyMzowMToxMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IDAuMTAuNi4zIHByZS1yZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgMC4xMC42LjMgcHJlLXJlbGVhc2UKCjIwMDgtMDQtMTcgMTg6Mjg6MDUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBSZXZlcnQgcGF0Y2ggdGhhdCBhZGRlZCBhIGxvb3AgdGltZW91dC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgUmV2ZXJ0IHBhdGNoIHRoYXQgYWRkZWQgYSBsb29wIHRpbWVvdXQuCgkgIEZpeGVzICM1Mjg2MTQuCgoyMDA4LTA0LTE3IDA3OjMxOjQ0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBVbnNldCBHVmFsdWVzIGFmdGVyIGdfc2lnbmFsX2VtaXR2IHNvIHRoYXQgd2UgYXZvaWQgYSByZWZjb3VudCBsZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdldF9wdF9tYXApLCAoZnJlZV9jbGllbnQpLAoJICAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwgKGdzdF9ydHBfYmluX2dldF9mcmVlX3BhZF9uYW1lKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfY2xvY2tfcmF0ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9nZXRfY2Fwcyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpOgoJICBVbnNldCBHVmFsdWVzIGFmdGVyIGdfc2lnbmFsX2VtaXR2IHNvIHRoYXQgd2UgYXZvaWQgYSByZWZjb3VudCBsZWFrLgoJICBEb24ndCBsZWFrIGEgcGFkbmFtZS4KCSAgRG9uJ3QgbGVhayBjbGllbnQgc3RyZWFtcyBsaXN0LgoJICBMb2NrIHJ0cGJpbiB3aGVuIGFzc29jaWF0aW5nIHN0cmVhbXMuIEZpeGVzICM1MjgyNDUuCgoyMDA4LTA0LTE2IDA5OjUwOjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRG9uJ3QgaW5sY3VkZSBkYzEzOTRzcmMgaW4gdGhlIGdlbmVyaWMvc3RhdGVzIHRlc3QgYXMgaXQgcmVxdWlyZXMgc3BlY2lhbCBoYXJkd2FyZS4gRml4ZXMgYnUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIERvbid0IGlubGN1ZGUgZGMxMzk0c3JjIGluIHRoZSBnZW5lcmljL3N0YXRlcyB0ZXN0IGFzIGl0IHJlcXVpcmVzCgkgIHNwZWNpYWwgaGFyZHdhcmUuIEZpeGVzIGJ1ZyAjNTI4MDExLgoKMjAwOC0wNC0xNiAwOTo0ODowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvb2ZhLmM6IE9ubHkgY2hlY2sgaWYgdGhlIGdlbmVyYXRlZCBmaW5nZXJwcmludHMgYXJlIHZhbGlkIEJhc2U2NC4gVGhlIGZpbmdlcnByaW50cyBhcmUgZGlmZmVyZW50Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29mYS5jOiAoYnVzX2hhbmRsZXIpLCAoR1NUX1NUQVJUX1RFU1QpOgoJICBPbmx5IGNoZWNrIGlmIHRoZSBnZW5lcmF0ZWQgZmluZ2VycHJpbnRzIGFyZSB2YWxpZCBCYXNlNjQuIFRoZQoJICBmaW5nZXJwcmludHMgYXJlIGRpZmZlcmVudCB3aGVuIHJ1bm5pbmcgb24gZGlmZmVyZW50IGFyY2hpdGVjdHVyZXMKCSAgd2hpY2ggaXMgYSkgbm8gcHJvYmxlbSBiZWNhdXNlIHRoZSBmaW5nZXJwcmludHMgYXJlIHRvbGVyYW50IGVub3VnaAoJICBhbmQgYikgaXMgY2F1c2VkIGJ5IGxpYm9mYS4gRml4ZXMgYnVnICM1MjgyNjYuCgoyMDA4LTA0LTE2IDA5OjQ1OjMwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvdGltaWRpdHkvTWFrZWZpbGUuYW06IERpc3QgYWxsIHNvdXJjZSBmaWxlcywgbm8gbWF0dGVyIGlmIG9ubHkgdGltaWRpdHkgb3Igd2lsZG1pZGkgb3Igbm90aGluZyBpcyBmb3VuZCBieSBjb25maWcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RpbWlkaXR5L01ha2VmaWxlLmFtOgoJICBEaXN0IGFsbCBzb3VyY2UgZmlsZXMsIG5vIG1hdHRlciBpZiBvbmx5IHRpbWlkaXR5IG9yIHdpbGRtaWRpIG9yCgkgIG5vdGhpbmcgaXMgZm91bmQgYnkgY29uZmlndXJlLiBGaXhlcyBidWcgIzUyODAwMC4KCjIwMDgtMDQtMTQgMjA6MDk6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjogUmVtb3ZlIHNvdXBodHRwc3JjIHBsdWdpbiBmcm9tIHNwZWMgZmlsZXMsIGl0J3MgbW92ZWQgdG8gLWdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBSZW1vdmUgc291cGh0dHBzcmMgcGx1Z2luIGZyb20gc3BlYyBmaWxlcywgaXQncyBtb3ZlZCB0byAtZ29vZC4KCjIwMDgtMDQtMTMgMjM6MTE6MDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IFJlbW92ZSBzb3VwIHRlc3QgY2VydGlmaWNhdGVzIGZyb20gdGhlIGRpc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgc291cCB0ZXN0IGNlcnRpZmljYXRlcyBmcm9tIHRoZSBkaXN0LgoKMjAwOC0wNC0xMyAyMDo1NDo1MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6IEZpeCBjb21waWxhdGlvbiBieSBjYXN0aW5nIHN0cmluZyBjb25zdGFudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgRml4IGNvbXBpbGF0aW9uIGJ5IGNhc3Rpbmcgc3RyaW5nIGNvbnN0YW50cy4KCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgIEZpeCBXSU5JTkVUX0RJUiB2YXJpYWJsZSByZWZlcmVuY2UuCgoyMDA4LTA0LTEyIDIzOjMyOjE0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSBzb3VwIHBsdWdpbiB0aGF0J3MgbW92ZWQgdG8gLWdvb2QgKCM1MjMxMjQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgICogdGVzdHMvY2hlY2svdGVzdC1jZXJ0LnBlbToKCSAgKiB0ZXN0cy9jaGVjay90ZXN0LWtleS5wZW06CgkgIFJlbW92ZSBzb3VwIHBsdWdpbiB0aGF0J3MgbW92ZWQgdG8gLWdvb2QgKCM1MjMxMjQpCgoyMDA4LTA0LTExIDIzOjE5OjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBIYW5kbGUgTlVMTCByZXR1cm5zIGZyb20gRkxWX0dFVF9TVFJJTkcoKSBtb3JlIGdyYWNlZnVsbHkuIEZpeGVzIGNyYXNoIGNhdXNlZCBieSBhIHN0cmxlbiBvbiBhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpOgoJICBIYW5kbGUgTlVMTCByZXR1cm5zIGZyb20gRkxWX0dFVF9TVFJJTkcoKSBtb3JlIGdyYWNlZnVsbHkuIEZpeGVzCgkgIGNyYXNoIGNhdXNlZCBieSBhIHN0cmxlbiBvbiBhIE5VTEwgc3RyaW5nICgjNTI3NjIyKS4KCjIwMDgtMDQtMTEgMTk6MzM6NTMgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuKjogRG9uJ3QgaW5jcmVhc2UgbGF0ZW5jeSBieSBxdWV1aW5nIGJ1ZmZlcnMgaW4gYW4gYXN5bmMgcXVldWUgd2hlbiB0aGUgc3RyZWFtaW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgIDxvbGUuYW5kcmUucmF2bmFzIGF0IHRhbmRiZXJnIGNvbT4KCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuYzogKFBST1BfREVWSUNFX05BTUUpLAoJICAoZ3N0X2RzaG93dmlkZW9zcmNfY2xhc3NfaW5pdCksIChnc3RfZHNob3d2aWRlb3NyY19pbml0KSwKCSAgKGdzdF9kc2hvd3ZpZGVvc3JjX2Rpc3Bvc2UpLCAoZ3N0X2RzaG93dmlkZW9zcmNfc3RvcCksCgkgIChnc3RfZHNob3d2aWRlb3NyY191bmxvY2spLCAoZ3N0X2RzaG93dmlkZW9zcmNfdW5sb2NrX3N0b3ApLAoJICAoZ3N0X2RzaG93dmlkZW9zcmNfY3JlYXRlKSwgKGdzdF9kc2hvd3ZpZGVvc3JjX3B1c2hfYnVmZmVyKToKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSAgRG9uJ3QgaW5jcmVhc2UgbGF0ZW5jeSBieSBxdWV1aW5nIGJ1ZmZlcnMgaW4gYW4gYXN5bmMgcXVldWUgd2hlbgoJICB0aGUgc3RyZWFtaW5nIHRocmVhZCBjYW4ndCBrZWVwIHVwIG9yIGlzbid0IHNjaGVkdWxlZCBvZnRlbgoJICBlbm91Z2ggZm9yIHNvbWUgb3RoZXIgcmVhc29uLCBidXQganVzdCBkcm9wIHRoZSBwcmV2aW91cyBidWZmZXIKCSAgaW4gdGhhdCBjYXNlLiBBbHNvIGltcGxlbWVudCBHc3RCYXNlU3JjOjp1bmxvY2sgZm9yIGZhc3RlcgoJICB1bmxvY2tpbmcgd2hlbiBzaHV0dGluZyBkb3duLiAoIzUyMDg5MikuCgoyMDA4LTA0LTExIDE4OjQ2OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLio6IFJlbW92ZSBHc3RYT3ZlcmxheSBzdHVmZiBhbmQgdXNlIGdka3BpeGJ1ZnNpbmsgcGx1cyBzb21lIHJhdGhlciBjcnVkZSBkcmF3aW5nL3NjYWxpbmcgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOiAoRU5DX1VOS05PV04pLCAobGFzdF9waXhidWYpLAoJICAoZHJhd19waXhidWYpLCAoY2hhbmdlX3RhZ19saXN0KSwgKHVwZGF0ZV9kcmF3X3BpeGJ1ZiksCgkgICh1aV9kcmF3aW5nX3NpemVfYWxsb2NhdGVfY2IpLCAob25fZHJhd2luZ01haW5fZXhwb3NlX2V2ZW50KSwKCSAgKG9uX2J1dHRvblNhdmVGaWxlX2NsaWNrZWQpLCAodWlfY3JlYXRlKSwgKG1lX2dzdF9idXNfY2FsbGJhY2tfdmlldyksCgkgIChtZV9nc3Rfc2V0dXBfdmlld19waXBlbGluZSksIChwcm9jZXNzX2ZpbGUpOgoJICAqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5nbGFkZToKCSAgUmVtb3ZlIEdzdFhPdmVybGF5IHN0dWZmIGFuZCB1c2UgZ2RrcGl4YnVmc2luayBwbHVzIHNvbWUgcmF0aGVyIGNydWRlCgkgIGRyYXdpbmcvc2NhbGluZyBsb2dpYyB0byBtYWtlIHRoaXMgY29tcGlsZSBhbmQgd29yayBvbiBhbGwgcGxhdGZvcm1zLgoJICBGaXhlcyAjNTE4MjI3LgoKMjAwOC0wNC0xMSAxMzo1NzowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnRzIHRvIHJlbGVhc2VkIHZlcnNpb25zIHRvIGF2b2lkIGNvbmZ1c2lvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gcmVsZWFzZWQgdmVyc2lvbnMgdG8gYXZvaWQKCSAgY29uZnVzaW9uLgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOiAoZGVpbnRlcmxhY2VfZGVidWcpLAoJICAoR1NUX0NBVF9ERUZBVUxUKSwgKGdzdF9kZWludGVybGFjZV9iYXNlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NldF9jYXBzKSwgKHBsdWdpbl9pbml0KToKCSAgQWRkIGRlYnVnIGNhdGVnb3J5LCB1c2UgX3NldF9lbGVtZW50X2RldGFpbHNfc2ltcGxlIGFuZAoJICByZW1vdmUgc3BlY2lhbCBjb2RlIHBhdGggZm9yIFk0MkIgdG8gY2FsY3VsYXRlIG9mZnNldHMgYW5kCgkgIHN0cmlkZXM7IGxpYmdzdHZpZGVvIGtub3dzIGhvdyB0byBoYW5kbGUgdGhpcyBmb3JtYXQgbm93LgoKMjAwOC0wNC0xMSAxMzowODoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9jZHhhcGFyc2UvOiBQb3J0IFZDRCBwYXJzZXIgKGZvcm1lcmx5IGNkeGFzdHJpcCkgZnJvbSAwLjggdG8gMC4xMC4gRG9lc24ndCBkbyBhbnl0aGluZyB0aGUgMC44IHZlcnNpb24gZGlkbid0IGRvIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvY2R4YXBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5oOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0dmNkcGFyc2UuYzoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdHZjZHBhcnNlLmg6CgkgIFBvcnQgVkNEIHBhcnNlciAoZm9ybWVybHkgY2R4YXN0cmlwKSBmcm9tIDAuOCB0byAwLjEwLiBEb2Vzbid0IGRvCgkgIGFueXRoaW5nIHRoZSAwLjggdmVyc2lvbiBkaWRuJ3QgZG8gdGhvdWdoLgoKMjAwOC0wNC0xMSAwODoxMzoyMiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvb3NzNC86IEZpeCBhcmd1bWVudHMgZm9ybWF0IGluIGRlYnVnIHN0YXRlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTA0LTExICBKdWxpZW4gTW91dHRlICA8anVsaWVuQGZsdWVuZG8uY29tPgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItZW51bS5jOgoJICAoZ3N0X29zczRfbWl4ZXJfZW51bV9nZXRfdmFsdWVzX2xvY2tlZCk6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuYzogKGdzdF9vc3M0X3NvdXJjZV9kZWxheSk6IEZpeCBhcmd1bWVudHMKCSAgZm9ybWF0IGluIGRlYnVnIHN0YXRlbWVudHMuCgoyMDA4LTA0LTEwIDE1OjI5OjQ0ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgQWRkIHdpbmluZXRzcmMgZm9yIGJhc2ljIGh0dHAvZnRwIHN1cHBvcnQgb24gd2luZG93cyAoIzUyMDg5NykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzICA8b2xlLmFuZHJlLnJhdm5hcyBhdCB0YW5kYmVyZyBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2luaW5ldC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkgICogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5oOgoJICBBZGQgd2luaW5ldHNyYyBmb3IgYmFzaWMgaHR0cC9mdHAgc3VwcG9ydCBvbiB3aW5kb3dzICgjNTIwODk3KS4KCjIwMDgtMDQtMTAgMTA6MDE6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbnNmL25zZi5oOiBDaGFuZ2UgcHJvdG90eXBlIG9mIHByb2Nlc3MgZnVuY3Rpb24gaGVyZSB0b28gdG8gYXZvaWQgJ2luY29tcGF0aWJsZSBhc3NpZ25tZW50JyB3YXJuaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L25zZi9uc2YuaDoKCSAgQ2hhbmdlIHByb3RvdHlwZSBvZiBwcm9jZXNzIGZ1bmN0aW9uIGhlcmUgdG9vIHRvIGF2b2lkCgkgICdpbmNvbXBhdGlibGUgYXNzaWdubWVudCcgd2FybmluZ3MuCgoyMDA4LTA0LTEwIDA3OjExOjUxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOiBJbmNyZWFzZSB0aGUgdGltZW91dCBmb3IgdGhlIGludGVybmV0IHRlc3RzIHRvIDI1MCBzZWNvbmRzIGFuZCBjaGVjayBmb3IgTlVMTCBjYXAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogKGdvdF9idWZmZXIpLAoJICAoc291cGh0dHBzcmNfc3VpdGUpOgoJICBJbmNyZWFzZSB0aGUgdGltZW91dCBmb3IgdGhlIGludGVybmV0IHRlc3RzIHRvIDI1MCBzZWNvbmRzCgkgIGFuZCBjaGVjayBmb3IgTlVMTCBjYXBzIGluc3RlYWQgb2YganVzdCBjcmFzaGluZy4KCSAgVGhlIHJlYWwgZml4IHdvdWxkIGJlIHRvIGltcGxlbWVudCBhbiBzaG91dGNhc3Qgc2VydmVyIGZvciB0aGUgdW5pdCB0ZXN0CgkgIGluc3RlYWQgb2YgcmVseWluZyBvbiBhIHdvcmtpbmcgaW50ZXJuZXQgY29ubmVjdGlvbi4KCSAgRml4ZXMgYnVnICM1MjE3NDkuCgoyMDA4LTA0LTA5IDIyOjI3OjUwICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQXZvaWQgbGVha2luZyBwYWRzIGluIHRoZSBSVFAgbWFuYWdlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChmcmVlX3Nlc3Npb24pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9maW5hbGl6ZSk6CgkgIEF2b2lkIGxlYWtpbmcgcGFkcyBpbiB0aGUgUlRQIG1hbmFnZXIuCgoyMDA4LTA0LTA5IDEzOjQzOjUxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9uc2YvbmVzX2FwdS4qOiBEb24ndCBkbyB2b2lkIHBvaW50ZXIgYXJpdGhtZXRpYyAtIGl0J3MgYSBnY2MgZXh0ZW5zaW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbnNmL25lc19hcHUuYzogKGFwdV9wcm9jZXNzKToKCSAgKiBnc3QvbnNmL25lc19hcHUuaDoKCSAgRG9uJ3QgZG8gdm9pZCBwb2ludGVyIGFyaXRobWV0aWMgLSBpdCdzIGEgZ2NjIGV4dGVuc2lvbi4KCjIwMDgtMDQtMDYgMjA6MTg6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IFdvcmsgYXJvdW5kIG1pc3NpbmcgYml0cyBvZiB0aHJlYWQtc2FmZXR5IG9uIG9sZGVyIEdMaWJzIHNvbWUgbW9yZSB0byBhdm9pZCBhc3NlcnRpb25zIHcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoZ3N0X2phY2tfYXVkaW9fc2lua19jbGFzc19pbml0KToKCSAgV29yayBhcm91bmQgbWlzc2luZyBiaXRzIG9mIHRocmVhZC1zYWZldHkgb24gb2xkZXIgR0xpYnMgc29tZQoJICBtb3JlIHRvIGF2b2lkIGFzc2VydGlvbnMgd2hlbiBzdGFydGluZyB1cCBtdWx0aXBsZSBwbGF5YmluCgkgIG9iamVjdHMgY29uY3VycmVudGx5IChzZWUgIzUxMjM4MikuCgoyMDA4LTA0LTA2IDA5OjAxOjQyICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAbHVvbi5uZXQ+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBPbmx5IGlnbm9yZSBhY3R1YWwgcmVkaXJlY3RzIG5vdCBhbGwgcmVzcG9uc2VzIHdoZW4gaW4gc3RhdGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19yZXNwb25zZV9jYik6CgkgIE9ubHkgaWdub3JlIGFjdHVhbCByZWRpcmVjdHMgbm90IGFsbCByZXNwb25zZXMgd2hlbiBpbiBzdGF0ZQoJICBHU1RfU09VUF9IVFRQX1NSQ19TRVNTSU9OX0lPX1NUQVRVU19SVU5OSU5HLiBGaXhlcyBidWcgIzUyNjMzNy4KCjIwMDgtMDQtMDYgMDg6NTg6MzkgKzAwMDAgIERhbWllbiBMZXNwaWF1IDxkYW1pZW4ubGVzcGlhdUBnbWFpbC5jb20+CgoJICBjb25maWd1cmUuYWM6IEFjdHVhbGx5IGJ1aWxkIGRsbHMgd2hlbiBjcm9zcy1jb21waWxpbmcgd2l0aCBtaW5ndzMyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IERhbWllbiBMZXNwaWF1IDxkYW1pZW4gZG90IGxlc3BpYXUgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIEFjdHVhbGx5IGJ1aWxkIGRsbHMgd2hlbiBjcm9zcy1jb21waWxpbmcgd2l0aCBtaW5ndzMyLgoJICBGaXhlcyBidWcgIzUyNjI0Ny4KCjIwMDgtMDQtMDUgMTE6MDM6MTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29mYS5jOiBBbHNvIGNoZWNrIHRoYXQgd2UgaGF2ZSBwcm9jZXNzZWQgYXQgbGVhc3QgMTM1IHNlY29uZHMgb2YgYXVkaW8gdW50aWwgd2Ugc3RvcCBhbmQgY2FsY3VsYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgQWxzbyBjaGVjayB0aGF0IHdlIGhhdmUgcHJvY2Vzc2VkIGF0IGxlYXN0IDEzNSBzZWNvbmRzIG9mIGF1ZGlvCgkgIHVudGlsIHdlIHN0b3AgYW5kIGNhbGN1bGF0ZWQgYSBmaW5nZXJwcmludC4KCjIwMDgtMDQtMDQgMjA6NDM6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvc3ViZW5jL2dzdHNydGVuYy4qOiBHc3RTcnRlbmMgPT4gR3N0U3J0RW5jIGFuZCBnc3Rfc3J0ZW5jXyA9PiBnc3Rfc3J0X2VuY18uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6CgkgICogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuaDoKCSAgR3N0U3J0ZW5jID0+IEdzdFNydEVuYyBhbmQgZ3N0X3NydGVuY18gPT4gZ3N0X3NydF9lbmNfLgoKMjAwOC0wNC0wNCAxOToxODozNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgc2ltcGxlIHVuaXQgdGVzdHMgZm9yIHRoZSBPRkEgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29mYS5jOiAoYnVzX2hhbmRsZXIpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAob2ZhX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgc2ltcGxlIHVuaXQgdGVzdHMgZm9yIHRoZSBPRkEgcGx1Z2luLgoKMjAwOC0wNC0wMyAxNDoyMzo0NyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogY29tbW9uOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZSB3aXRoIG5ldyBvc3N2NCBwbHVnaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBuZXcgb3NzdjQgcGx1Z2luCgoyMDA4LTA0LTAyIDIwOjE4OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgT1NTdjQuIE1peGVyIHN0aWxsIG5lZWRzIGEgYml0IG1vcmUgbG92ZSwgYnV0IGV2ZW4gbWFnaWMgaGFzIGl0cyBsaW1pdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL29zczQvTWFrZWZpbGUuYW06CgkgICogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJICAqIHN5cy9vc3M0L29zczQtYXVkaW8uaDoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLWVudW0uYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLWVudW0uaDoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5jOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItc2xpZGVyLmg6CgkgICogc3lzL29zczQvb3NzNC1taXhlci1zd2l0Y2guYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLXN3aXRjaC5oOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLmg6CgkgICogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5jOgoJICAqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuaDoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuaDoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdW5kY2FyZC5oOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkgICogc3lzL29zczQvb3NzNC1zb3VyY2UuaDoKCSAgQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgT1NTdjQuIE1peGVyIHN0aWxsIG5lZWRzIGEgYml0IG1vcmUgbG92ZSwKCSAgYnV0IGV2ZW4gbWFnaWMgaGFzIGl0cyBsaW1pdHMuCgoyMDA4LTA0LTAxIDIyOjQwOjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUmVuYW1lIG5ldyBzcnRlbmMgcGx1Z2luIHRvIHN1YmVuYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICAqIGdzdC9zcnRlbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NydGVuYy9nc3RzcnRlbmMuYzoKCSAgKiBnc3Qvc3J0ZW5jL2dzdHNydGVuYy5oOgoJICAqIGdzdC9zdWJlbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzogKHBsdWdpbl9pbml0KToKCSAgUmVuYW1lIG5ldyBzcnRlbmMgcGx1Z2luIHRvIHN1YmVuYy4KCjIwMDgtMDQtMDEgMjA6MzM6MTkgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBmaXggc3BlYydhJ2xlYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IHNwZWMnYSdsZWMKCjIwMDgtMDQtMDEgMTk6NTM6NTMgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOiBDYWJsZSBkZWxpdmVyeSBzdWJzeXN0ZW0gZGVzY3JpcHRvcnMnIGZyZXF1ZW5jeSdzIGJjZCBpcyBtZWFzdXJlZCBpbiAxMDBIeiB1bml0cyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgQ2FibGUgZGVsaXZlcnkgc3Vic3lzdGVtIGRlc2NyaXB0b3JzJyBmcmVxdWVuY3kncyBiY2QKCSAgaXMgbWVhc3VyZWQgaW4gMTAwSHogdW5pdHMgc28gYWRqdXN0IG11bHRpcGxpZXIgYWNjb3JkaW5nbHkuCgoyMDA4LTA0LTAxIDEzOjQyOjU1ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgQWRkIHNydCBzdWJ0aXRsZSBlbmNvZGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3Qvc3J0ZW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcnRlbmMvZ3N0c3J0ZW5jLmM6CgkgICogZ3N0L3NydGVuYy9nc3RzcnRlbmMuaDoKCSAgQWRkIHNydCBzdWJ0aXRsZSBlbmNvZGVyCgoyMDA4LTAzLTMxIDE2OjI0OjQyICswMDAwICBrYXBpbCA8a2FwaWxAZmx1ZW5kby5jb20+CgoJICBleHQvZ3NtL2dzdGdzbWRlYy4qOiBJbmNyZWFzZSB0aGUgYWxsb3dlZCBzYW1wbGVyYXRlcyBmb3IgdGhlIG1zLWdzbSBmb3JtYXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieToga2FwaWwgPGthcGlsIGF0IGZsdWVuZG8gZG90IGNvbT4KCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5jOiAoZ3N0X2dzbWRlY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2dzbWRlY19jaGFpbik6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuaDoKCSAgSW5jcmVhc2UgdGhlIGFsbG93ZWQgc2FtcGxlcmF0ZXMgZm9yIHRoZSBtcy1nc20gZm9ybWF0LgoJICBGaXhlcyAjNDgxMzU0LgoKMjAwOC0wMy0zMCAyMTowNjo1OCArMDAwMCAgSmFuIGRlIEdyb290IDxqYW5AamdjLmhvbWVpcC5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEZpeCBidWlsZCB3aXRoIC0tZGlzYWJsZS1leHRlcm5hbCAoIzUyNTEwMCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmFuIGRlIEdyb290IDxqYW4gYXQgamdjIGhvbWVpcCBuZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggYnVpbGQgd2l0aCAtLWRpc2FibGUtZXh0ZXJuYWwgKCM1MjUxMDApLgoKMjAwOC0wMy0yOCAwOTo0ODoyNyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IFJlcGVhdCBkaXNlcWMgY2FsbCB0byBhbGxvdyBmb3Igc29tZSBkaXNlcWMgc3dpdGNoZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIFJlcGVhdCBkaXNlcWMgY2FsbCB0byBhbGxvdyBmb3Igc29tZSBkaXNlcWMgc3dpdGNoZXMuCgoyMDA4LTAzLTI3IDE2OjMyOjI3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZXh0L01ha2VmaWxlLmFtOiBEaXN0IG9mYSBjb3JyZWN0bHkhIEZpeGVzIG5vbi11bmluc3RhbGxlZCBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBEaXN0IG9mYSBjb3JyZWN0bHkhIEZpeGVzIG5vbi11bmluc3RhbGxlZCBidWlsZC4KCjIwMDgtMDMtMjcgMTU6NTc6MTQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBNYWtlIGRpc2VxYyB3b3JrIG1vcmUgcmVsaWFibHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIE1ha2UgZGlzZXFjIHdvcmsgbW9yZSByZWxpYWJseS4KCjIwMDgtMDMtMjYgMDc6NDA6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9uc2YvOiBSZW1vdmUgbWVtZ3VhcmQgYWdhaW4gYW5kIGFwcGx5IGhvcGVmdWxseSBhbGwgcHJldmlvdXNseSBkcm9wcGVkIGxvY2FsIHBhdGNoZXMuIFNob3VsZCBiZSByZWFsbHkgYmV0dGVyIHRoYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9uc2YvZmRzX3NuZC5jOgoJICAqIGdzdC9uc2YvbW1jNV9zbmQuYzoKCSAgKiBnc3QvbnNmL25zZi5jOgoJICAqIGdzdC9uc2YvdHlwZXMuaDoKCSAgKiBnc3QvbnNmL3ZyYzdfc25kLmM6CgkgICogZ3N0L25zZi92cmN2aXNuZC5jOgoJICAqIGdzdC9uc2YvbWVtZ3VhcmQuYzoKCSAgKiBnc3QvbnNmL21lbWd1YXJkLmg6CgkgIFJlbW92ZSBtZW1ndWFyZCBhZ2FpbiBhbmQgYXBwbHkgaG9wZWZ1bGx5IGFsbCBwcmV2aW91c2x5IGRyb3BwZWQKCSAgbG9jYWwgcGF0Y2hlcy4gU2hvdWxkIGJlIHJlYWxseSBiZXR0ZXIgdGhhbiB0aGUgb2xkIHZlcnNpb24gbm93LgoKMjAwOC0wMy0yNSAxNjo1ODo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9uc2YvOiBVbmJyZWFrIGNvbXBpbGF0aW9uIGJ5IGRpc2FibGluZyBtZW1ndWFyZCBhbmQgZG9pbmcgc29tZSBkaXJ0eSBoYWNrIGZpeGVzIHRvIG1ha2UgaXQgY29tcGlsZSBvbiA2NGJpdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9uc2YvbWVtZ3VhcmQuYzogKF9teV9mcmVlKToKCSAgKiBnc3QvbnNmL3R5cGVzLmg6CgkgIFVuYnJlYWsgY29tcGlsYXRpb24gYnkgZGlzYWJsaW5nIG1lbWd1YXJkIGFuZCBkb2luZyBzb21lIGRpcnR5IGhhY2sKCSAgZml4ZXMgdG8gbWFrZSBpdCBjb21waWxlIG9uIDY0Yml0cy4KCjIwMDgtMDMtMjUgMTU6NTY6MTMgKzAwMDAgIEFuZHJlYXMgSGVucmlrc3NvbiA8YW5kcmVhc0BmYXRhbC5zZXQ+CgoJICBnc3QvbnNmLzogVXBkYXRlIG91ciBpbnRlcm5hbCBub3NlZmFydCB0byBub3NlZmFydC0yLjctbWxzIHRvIGZpeCBzZWdmYXVsdHMgb24gc29tZSBmaWxlcy4gRml4ZXMgYnVnICM0OTgyMzcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW5kcmVhcyBIZW5yaWtzc29uIDxhbmRyZWFzIGF0IGZhdGFsIGRvdCBzZXQ+CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnNmL2RpczY1MDIuaDoKCSAgKiBnc3QvbnNmL2Zkc19zbmQuYzoKCSAgKiBnc3QvbnNmL2Zkc19zbmQuaDoKCSAgKiBnc3QvbnNmL2Ztb3BsLmM6CgkgICogZ3N0L25zZi9mbW9wbC5oOgoJICAqIGdzdC9uc2YvZ3N0bnNmLmM6CgkgICogZ3N0L25zZi9sb2cuYzoKCSAgKiBnc3QvbnNmL2xvZy5oOgoJICAqIGdzdC9uc2YvbWVtZ3VhcmQuYzoKCSAgKiBnc3QvbnNmL21lbWd1YXJkLmg6CgkgICogZ3N0L25zZi9tbWM1X3NuZC5jOgoJICAqIGdzdC9uc2YvbW1jNV9zbmQuaDoKCSAgKiBnc3QvbnNmL25lczY1MDIuYzoKCSAgKiBnc3QvbnNmL25lczY1MDIuaDoKCSAgKiBnc3QvbnNmL25lc19hcHUuYzoKCSAgKiBnc3QvbnNmL25lc19hcHUuaDoKCSAgKiBnc3QvbnNmL25zZi5jOgoJICAqIGdzdC9uc2YvbnNmLmg6CgkgICogZ3N0L25zZi9vc2QuaDoKCSAgKiBnc3QvbnNmL3R5cGVzLmg6CgkgICogZ3N0L25zZi92cmM3X3NuZC5jOgoJICAqIGdzdC9uc2YvdnJjN19zbmQuaDoKCSAgKiBnc3QvbnNmL3ZyY3Zpc25kLmM6CgkgICogZ3N0L25zZi92cmN2aXNuZC5oOgoJICBVcGRhdGUgb3VyIGludGVybmFsIG5vc2VmYXJ0IHRvIG5vc2VmYXJ0LTIuNy1tbHMgdG8gZml4IHNlZ2ZhdWx0cwoJICBvbiBzb21lIGZpbGVzLiBGaXhlcyBidWcgIzQ5ODIzNy4KCSAgUmVtb3ZlIHNvbWUgLy8gY29tbWVudHMsIGZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzIGFuZCB1c2UgcG93KCkKCSAgaW5zdGVhZCBvZiBhIHNsb3csIHNlbGZtYWRlIGltcGxlbWVudGF0aW9uLgoKMjAwOC0wMy0yNSAxNToxNzo1OCArMDAwMCAgRWQgQ2F0bXVyIDxlZEBjYXRtdXIuY28udWs+CgoJICBjb25maWd1cmUuYWM6IEFkZCBzdXBwb3J0IGZvciBuZW9uIDAuMjgsIHdoaWNoIGRpZG4ndCBjaGFuZ2UgQVBJLiBGaXhlcyBidWcgIzUyNDAzNS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBFZCBDYXRtdXIgPGVkIGF0IGNhdG11ciBkb3QgY28gZG90IHVrPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQWRkIHN1cHBvcnQgZm9yIG5lb24gMC4yOCwgd2hpY2ggZGlkbid0IGNoYW5nZSBBUEkuIEZpeGVzIGJ1ZyAjNTI0MDM1LgoKMjAwOC0wMy0yNCAxMjozMjo1OSArMDAwMCAgUmVuZSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgTWFrZSByZ2FuYWx5c2lzIGFuZCByZ2xpbWl0ZXIgZWxlbWVudHMgR0FQLWZsYWcgYXdhcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYyAoZ3N0X3JnX2FuYWx5c2lzX2luaXQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmMgKGdzdF9yZ19saW1pdGVyX2luaXQpLAoJICAoZ3N0X3JnX2xpbWl0ZXJfdHJhbnNmb3JtX2lwKToKCSAgTWFrZSByZ2FuYWx5c2lzIGFuZCByZ2xpbWl0ZXIgZWxlbWVudHMgR0FQLWZsYWcgYXdhcmUuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAodGVzdF9nYXBfYnVmZmVycyksCgkgIChyZ2FuYWx5c2lzX3N1aXRlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYyAodGVzdF9nYXApLCAocmdsaW1pdGVyX3N1aXRlKToKCSAgQWRkIHRlc3RzIHRvIHZlcmlmeSBnYXAtYXdhcmVuZXNzLgoKMjAwOC0wMy0yMiAxOToyNjowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogRG9uJ3QgYXV0b3BsdWcgc291cGh0dHBzcmMgZm9yIGRhdi9kYXZzLiBUaGlzIGlzIGJldHRlciBoYW5kbGVkIGJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19nb3RfaGVhZGVyc19jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19jaHVua19hbGxvY2F0b3IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2NodW5rX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfcHJvdG9jb2xzKToKCSAgRG9uJ3QgYXV0b3BsdWcgc291cGh0dHBzcmMgZm9yIGRhdi9kYXZzLiBUaGlzIGlzIGJldHRlciBoYW5kbGVkIGJ5CgkgIEdJTyBhbmQgR25vbWVWRlMgYXMgdGhleSBwcm92aWRlIGF1dGhlbnRpY2F0aW9uLgoJICBEb24ndCBsZWFrIHRoZSBpY3kgY2FwcyBpZiB3ZSBhbHJlYWR5IHNldCB0aGVtIGFuZCBnZXQgYSBuZXcKCSAgaWN5LW1ldGFpbnQgaGVhZGVyLgoJICBUcnkgaGFyZGVyIHRvIHNldCB0aGUgaWN5IGNhcHMgb24gdGhlIG91dHB1dCBidWZmZXIgdG8gaGF2ZSBjb3JyZWN0CgkgIGNhcHMgZm9yIHRoZSBmaXJzdCBidWZmZXIgYWxyZWFkeS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOiAoZ290X2J1ZmZlciksCgkgIChHU1RfU1RBUlRfVEVTVCk6CgkgIENoZWNrIHRoYXQgd2UgZ2V0IGEgYnVmZmVyIHdpdGggYXBwbGljYXRpb24veC1pY3kgY2FwcyBpZiBpcmFkaW8tbW9kZQoJICBpcyBlbmFibGVkIGFuZCB3ZSBoYXZlIGFuIGljZWNhc3QgVVJMLgoKMjAwOC0wMy0yMiAxODoxODo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogQWN0dWFsbHkgc2V0IHRoZSBpY3kgY2FwcyBvbiBvdXIgc3JjIHBhZCBpZiB3ZSBoYXZlIGljZWNhc3QgZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2NodW5rX2FsbG9jYXRvcik6CgkgIEFjdHVhbGx5IHNldCB0aGUgaWN5IGNhcHMgb24gb3VyIHNyYyBwYWQgaWYgd2UgaGF2ZSBpY2VjYXN0IGRhdGEuCgkgIEZpeGVzIGJ1ZyAjNTIzODU0LgoKMjAwOC0wMy0yMiAxNTowMDo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZXZlcnl3aGVyZSBmb3IgR1BhcmFtU3BlY3MgdGhhdCB1c2Ugc3RhdGljIHN0cmluZ3MgKGkuZS4gYWxsKS4gVGhpcyBnaXZlcyB1cyBsZXNzIG1lbW9yeSB1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvYWxzYS9nc3RhbHNhbWl4ZXJlbGVtZW50LmM6CgkgIChnc3RfYWxzYV9taXhlcl9lbGVtZW50X2NsYXNzX2luaXQpOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzaW5rLmM6IChnc3RfYWxzYXNpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYXNyYy5jOiAoZ3N0X2Fsc2FzcmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2NkcGFyYW5vaWEvZ3N0Y2RwYXJhbm9pYXNyYy5jOgoJICAoZ3N0X2NkX3BhcmFub2lhX3NyY19jbGFzc19pbml0KToKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuYzogKGdzdF9naW9fc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5jOiAoZ3N0X2dpb19zcmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zaW5rLmM6IChnc3RfZ2lvX3N0cmVhbV9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc3JjLmM6IChnc3RfZ2lvX3N0cmVhbV9zcmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc2luay5jOiAoZ3N0X2dub21lX3Zmc19zaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NyYy5jOiAoZ3N0X2dub21lX3Zmc19zcmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L29nZy9nc3RvZ2dtdXguYzogKGdzdF9vZ2dfbXV4X2NsYXNzX2luaXQpOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRfb3ZlcmxheV9jbGFzc19pbml0KToKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dHJlbmRlci5jOiAoZ3N0X3RleHRfcmVuZGVyX2NsYXNzX2luaXQpOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6IChnc3RfdGhlb3JhX2RlY19jbGFzc19pbml0KToKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWVuYy5jOiAoZ3N0X3RoZW9yYV9lbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3RoZW9yYS90aGVvcmFwYXJzZS5jOiAoZ3N0X3RoZW9yYV9wYXJzZV9jbGFzc19pbml0KToKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc2VuYy5jOiAoZ3N0X3ZvcmJpc19lbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGF1ZGlvZmlsdGVydGVtcGxhdGUuYzoKCSAgKGdzdF9hdWRpb19maWx0ZXJfdGVtcGxhdGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGJhc2VhdWRpb3NpbmsuYzoKCSAgKGdzdF9iYXNlX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGJhc2VhdWRpb3NyYy5jOgoJICAoZ3N0X2Jhc2VfYXVkaW9fc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9jZGRhL2dzdGNkZGFiYXNlc3JjLmM6CgkgIChnc3RfY2RkYV9iYXNlX3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9taXhlcnRyYWNrLmM6CgkgIChnc3RfbWl4ZXJfdHJhY2tfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L3J0cC9nc3RiYXNlcnRwZGVwYXlsb2FkLmM6CgkgIChnc3RfYmFzZV9ydHBfZGVwYXlsb2FkX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9ydHAvZ3N0YmFzZXJ0cHBheWxvYWQuYzoKCSAgKGdzdF9iYXNlcnRwcGF5bG9hZF9jbGFzc19pbml0KToKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2dzdGF1ZGlvY29udmVydC5jOgoJICAoZ3N0X2F1ZGlvX2NvbnZlcnRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2F1ZGlvcmF0ZS9nc3RhdWRpb3JhdGUuYzogKGdzdF9hdWRpb19yYXRlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKGdzdF9hdWRpb3Jlc2FtcGxlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9hdWRpb3Rlc3RzcmMvZ3N0YXVkaW90ZXN0c3JjLmM6CgkgIChnc3RfYXVkaW9fdGVzdF9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RkZWNvZGViaW4yLmM6IChnc3RfZGVjb2RlX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJhc2ViaW4uYzogKGdzdF9wbGF5X2Jhc2VfYmluX2NsYXNzX2luaXQpLAoJICAocHJlcm9sbF91bmxpbmtlZCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4uYzogKGdzdF9wbGF5X2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJpbjIuYzogKGdzdF9wbGF5X2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheXNpbmsuYzogKGdzdF9wbGF5X3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHF1ZXVlMi5jOiAoZ3N0X3F1ZXVlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RzdHJlYW1pbmZvLmM6IChnc3Rfc3RyZWFtX2luZm9fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHN0cmVhbXNlbGVjdG9yLmM6IChnc3Rfc2VsZWN0b3JfcGFkX2NsYXNzX2luaXQpLAoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0dXJpZGVjb2RlYmluLmM6IChnc3RfdXJpX2RlY29kZV9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N1YnBhcnNlL2dzdHN1YnBhcnNlLmM6IChnc3Rfc3ViX3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0bXVsdGlmZHNpbmsuYzogKGdzdF9tdWx0aV9mZF9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0dGNwY2xpZW50c2luay5jOiAoZ3N0X3RjcF9jbGllbnRfc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdHRjcGNsaWVudHNyYy5jOiAoZ3N0X3RjcF9jbGllbnRfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0dGNwc2VydmVyc2luay5jOiAoZ3N0X3RjcF9zZXJ2ZXJfc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdHRjcHNlcnZlcnNyYy5jOiAoZ3N0X3RjcF9zZXJ2ZXJfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb3JhdGUvZ3N0dmlkZW9yYXRlLmM6IChnc3RfdmlkZW9fcmF0ZV9jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW9zY2FsZS9nc3R2aWRlb3NjYWxlLmM6IChnc3RfdmlkZW9fc2NhbGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvdGVzdHNyYy9nc3R2aWRlb3Rlc3RzcmMuYzoKCSAgKGdzdF92aWRlb190ZXN0X3NyY19jbGFzc19pbml0KToKCSAgKiBnc3Qvdm9sdW1lL2dzdHZvbHVtZS5jOiAoZ3N0X3ZvbHVtZV9jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsL2dzdHY0bGVsZW1lbnQuYzogKGdzdF92NGxlbGVtZW50X2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwvZ3N0djRsbWpwZWdzaW5rLmM6IChnc3RfdjRsbWpwZWdzaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwvZ3N0djRsbWpwZWdzcmMuYzogKGdzdF92NGxtanBlZ3NyY19jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsL2dzdHY0bHNyYy5jOiAoZ3N0X3Y0bHNyY19jbGFzc19pbml0KToKCSAgKiBzeXMveGltYWdlL3hpbWFnZXNpbmsuYzogKGdzdF94aW1hZ2VzaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy94dmltYWdlL3h2aW1hZ2VzaW5rLmM6IChnc3RfeHZpbWFnZXNpbmtfY2xhc3NfaW5pdCk6CgkgIFVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGV2ZXJ5d2hlcmUgZm9yIEdQYXJhbVNwZWNzIHRoYXQgdXNlCgkgIHN0YXRpYyBzdHJpbmdzIChpLmUuIGFsbCkuIFRoaXMgZ2l2ZXMgdXMgbGVzcyBtZW1vcnkgdXNhZ2UsCgkgIGZld2VyIGFsbG9jYXRpb25zIGFuZCB0aHVzIGxlc3MgbWVtb3J5IGRlZnJhZ21lbnRhdGlvbi4gRGVwZW5kCgkgIG9uIGNvcmUgQ1ZTIGZvciB0aGlzLiBGaXhlcyBidWcgIzUyMzgwNi4KCjIwMDgtMDMtMjEgMTQ6NTA6NDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgaWYgdGhlIGNvbXBpbGVyIHN1cHBvcnRzIGRvIHsgfSB3aGlsZSAoMCkgbWFjcm9zLiBUaGlzIGZpeGVzIGEgd2FybmluZyB3aGVuIGNvbXBpbGluZyB3aXRoIGcrKyA0Li4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGlmIHRoZSBjb21waWxlciBzdXBwb3J0cyBkbyB7IH0gd2hpbGUgKDApIG1hY3Jvcy4gVGhpcyBmaXhlcwoJICBhIHdhcm5pbmcgd2hlbiBjb21waWxpbmcgd2l0aCBnKysgNC4zLCByZXN1bHRpbmcgaW4gYSBidWlsZCBmYWlsdXJlCgkgIGJlY2F1c2Ugb2YgLVdlcnJvci4KCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmNjOgoJICAqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSAgSW5jbHVkZSA8c3RyaW5nLmg+IGZvciBtZW1jcHkgYW5kIGZyaWVuZHMgdG8gZml4IHRoZSBidWlsZCB3aXRoCgkgIGdjYyA0LjMuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIFJlbW92ZSB0cmFpbGluZyBiYWNrc2xhc2guCgoyMDA4LTAzLTIwIDE4OjEwOjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogRG8gZ19vYmplY3Rfbm90aWZ5KCkgb25seSB3aGVuIG5vdCBob2xkaW5nIHRoZSBsb2NrIHRvIGdldCB0aGUgcHJvcGVydHkgYmVjYXVzZSBvdGhlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIChnc3RfaW5wdXRfc2VsZWN0b3Jfc2V0X2FjdGl2ZV9wYWQpLCAoZ3N0X2lucHV0X3NlbGVjdG9yX3N3aXRjaCk6CgkgIERvIGdfb2JqZWN0X25vdGlmeSgpIG9ubHkgd2hlbiBub3QgaG9sZGluZyB0aGUgbG9jayB0byBnZXQgdGhlIHByb3BlcnR5CgkgIGJlY2F1c2Ugb3RoZXJ3aXNlIHdlIHJ1biBpbnRvIGEgZGVhZGxvY2sgd2l0aCB0aGUgZGVlcC1ub3RpZnkgaGFuZGxlcnMKCSAgdGhhdCBhcmUgcG9zc2libHkgaW5zdGFsbGVkLgoKMjAwOC0wMy0yMCAxNzo0ODo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IFJlbGVhc2UgdGhlIHNlbGVjdG9yIGxvY2sgd2hlbiBwYWQgYWxsb2MgaGFwcGVucyBvbiBhIG5vbiBzZWxlY3RlZCBwYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IChnc3Rfc2VsZWN0b3JfcGFkX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NlbGVjdG9yX3BhZF9ldmVudCksIChnc3Rfc2VsZWN0b3JfcGFkX2J1ZmZlcmFsbG9jKSwKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfY2hhaW4pLCAoZ3N0X2lucHV0X3NlbGVjdG9yX3NldF9hY3RpdmVfcGFkKToKCSAgUmVsZWFzZSB0aGUgc2VsZWN0b3IgbG9jayB3aGVuIHBhZCBhbGxvYyBoYXBwZW5zIG9uIGEgbm9uIHNlbGVjdGVkIHBhZC4KCjIwMDgtMDMtMjAgMTc6MDc6MDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiBBZGQgcGFkIHByb3BlcnR5IHRvIGNvbmZpZ3VyZSBiZWhhdmlvdXIgb2YgdGhlIHVuc2VsZWN0ZWQgcGFkLCBpdCBjYW4gcmV0dXJuIE9LIG9yIE4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogKGdzdF9zZWxlY3Rvcl9wYWRfY2xhc3NfaW5pdCksCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2luaXQpLCAoZ3N0X3NlbGVjdG9yX3BhZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NlbGVjdG9yX3BhZF9nZXRfcHJvcGVydHkpLCAoZ3N0X3NlbGVjdG9yX3BhZF9ldmVudCksCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2J1ZmZlcmFsbG9jKSwgKGdzdF9zZWxlY3Rvcl9wYWRfY2hhaW4pLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3NldF9hY3RpdmVfcGFkKToKCSAgQWRkIHBhZCBwcm9wZXJ0eSB0byBjb25maWd1cmUgYmVoYXZpb3VyIG9mIHRoZSB1bnNlbGVjdGVkIHBhZCwgaXQgY2FuCgkgIHJldHVybiBPSyBvciBOT1RfTElOS0VELCBiYXNlZCBvbiB0aGUgdXNlIGNhc2UuCgoyMDA4LTAzLTIwIDE2OjQ4OjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuKjogRmlndXJlIG91dCB0aGUgbG9ja2luZyBhIGJpdCBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICAoZ3N0X3NlbGVjdG9yX3BhZF9nZXRfcnVubmluZ190aW1lKSwgKGdzdF9zZWxlY3Rvcl9wYWRfcmVzZXQpLAoJICAoZ3N0X3NlbGVjdG9yX3BhZF9ldmVudCksIChnc3Rfc2VsZWN0b3JfcGFkX2J1ZmZlcmFsbG9jKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl93YWl0KSwgKGdzdF9zZWxlY3Rvcl9wYWRfY2hhaW4pLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX2NsYXNzX2luaXQpLCAoZ3N0X2lucHV0X3NlbGVjdG9yX2luaXQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX2Rpc3Bvc2UpLCAoZ3N0X3NlZ21lbnRfc2V0X3N0YXJ0KSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9zZXRfYWN0aXZlX3BhZCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3Jfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX2dldF9saW5rZWRfcGFkKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9pc19hY3RpdmVfc2lua3BhZCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfYWN0aXZhdGVfc2lua3BhZCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfcmVxdWVzdF9uZXdfcGFkKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9yZWxlYXNlX3BhZCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfY2hhbmdlX3N0YXRlKSwgKGdzdF9pbnB1dF9zZWxlY3Rvcl9ibG9jayksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3Jfc3dpdGNoKToKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5oOgoJICBGaWd1cmUgb3V0IHRoZSBsb2NraW5nIGEgYml0IG1vcmUuCgkgIE1hcmsgYnVmZmVycyB3aXRoIGRpc2NvbnQgYWZ0ZXIgc3dpdGNoaW5nLgoJICBGaXggaW5pdGlhbCBzZWdtZW50IGZvcndhcmRpbmcsIG1ha2Ugc3VyZSB0byBvbmx5IGZvcndhcmQgb25lIHNlZ21lbnQKCSAgcmVnYXJkbGVzcyBvZiB3aGF0IHRoZSBzZXF1ZW5jZSBvZiBidWZmZXJzL3NlZ21lbnRzIGlzLiBTZWUgIzUyMjIwMy4KCSAgSW1wcm92ZSBmbHVzaGluZyB3aGVuIGJsb2NrZWQuCgkgIFJldHVybiBOT1RfTElOS0VEIHdoZW4gYSBzdHJlYW0gaXMgbm90IHNlbGVjdGVkLgoJICBOb3QgQVBJIGNoYW5nZSBmb3IgdGhlIHN3aXRjaCBzaWduYWwgaW4gdGhlIGRvY3MuCgkgIEZpeCBzdGFydC90aW1lL2FjY3VtIHZhbHVlcyBvZiB0aGUgbmV3IHNlZ21lbnQuCgkgIENvcnJlY3RseSB1bmxvY2sgYW5kIGZsdXNoIGEgYmxvY2tpbmcgc2VsZWN0b3Igd2hlbiBnb2luZyB0byBSRUFEWS4KCjIwMDgtMDMtMjAgMTU6NTQ6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9sYWRzcGEvOiBBZGQgc29tZSB0aG91Z2h0cyBhbmQgRklYTUUncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBBZGQgc29tZSB0aG91Z2h0cyBhbmQgRklYTUUncy4KCjIwMDgtMDMtMjAgMTU6NDk6MjIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzogSW5jbHVkZSBzdGRsaWIuaCBmb3IgYWJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgIEluY2x1ZGUgc3RkbGliLmggZm9yIGFicy4KCjIwMDgtMDMtMTkgMTk6NTY6NTkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9mcmVlemUvOiBBZGQgZXhhbXBsZSB0byBzb3VyY2UgY29kZSBkb2N1bWVudGF0aW9uIGJsb2IgYW5kIHJlbW92ZSB0aGUgMyBsaW5lCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mcmVlemUvRkFROgoJICAqIGdzdC9mcmVlemUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgQWRkIGV4YW1wbGUgdG8gc291cmNlIGNvZGUgZG9jdW1lbnRhdGlvbiBibG9iIGFuZCByZW1vdmUgdGhlIDMgbGluZQoJICBGQVEuCgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICBBZGQgYSBzb3VyY2UgY29kZSBkb2N1bWVudGF0aW9uIGJsb2IuCgoyMDA4LTAzLTE5IDE4OjQ0OjUxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvb2ZhL2dzdG9mYS5jOiBJbXByb3ZlIGRlYnVnZ2luZywgY2xlYW4gdXAgYSBiaXQgYW5kIHJlYWxseSBnZW5lcmF0ZSB0aGUgZmluZ2VycHJpbnQgYWZ0ZXIgMTM1IHNlY29uZHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9vZmEvZ3N0b2ZhLmM6IChjcmVhdGVfZmluZ2VycHJpbnQpLCAoZ3N0X29mYV9ldmVudCksCgkgIChnc3Rfb2ZhX3RyYW5zZm9ybV9pcCksIChwbHVnaW5faW5pdCk6CgkgIEltcHJvdmUgZGVidWdnaW5nLCBjbGVhbiB1cCBhIGJpdCBhbmQgcmVhbGx5IGdlbmVyYXRlIHRoZSBmaW5nZXJwcmludAoJICBhZnRlciAxMzUgc2Vjb25kcy4KCjIwMDgtMDMtMTkgMTg6MTk6MTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9vZmEvZ3N0b2ZhLmM6IFVzZSBHUEwgYXMgbGljZW5zZSwgdGhlIHBsdWdpbiBpdHNlbGYgaXMgTEdQTCBidXQgbGlib2ZhIGlzIEdQTC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L29mYS9nc3RvZmEuYzoKCSAgVXNlIEdQTCBhcyBsaWNlbnNlLCB0aGUgcGx1Z2luIGl0c2VsZiBpcyBMR1BMIGJ1dCBsaWJvZmEgaXMgR1BMLgoKMjAwOC0wMy0xOSAxODoxNDoxNyArMDAwMCAgRXJpYyBCdWVobCA8ZXJpYy5idWVobEBnbWFpbC5jb20+CgoJICBBZGQgYW4gT0ZBIGVsZW1lbnQsIHRoZSBzdWNjZXNzb3Igb2YgTXVzaWNCcmFpbnogVFJNIGZpbmdlcnByaW50aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gYSBwYXRjaCBieTogRXJpYyBCdWVobCA8ZXJpYyBkb3QgYnVlaGwgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L29mYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvb2ZhL2dzdG9mYS5jOiAoZ3N0X29mYV9iYXNlX2luaXQpLCAoZ3N0X29mYV9maW5hbGl6ZSksCgkgIChnc3Rfb2ZhX2NsYXNzX2luaXQpLCAoY3JlYXRlX2ZpbmdlcnByaW50KSwgKGdzdF9vZmFfZXZlbnQpLAoJICAoZ3N0X29mYV9pbml0KSwgKGdzdF9vZmFfdHJhbnNmb3JtX2lwKSwgKGdzdF9vZmFfZ2V0X3Byb3BlcnR5KSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvb2ZhL2dzdG9mYS5oOgoJICBBZGQgYW4gT0ZBIGVsZW1lbnQsIHRoZSBzdWNjZXNzb3Igb2YgTXVzaWNCcmFpbnogVFJNIGZpbmdlcnByaW50aW5nLgoJICBGaXhlcyBidWcgIzM1MTMwOS4KCjIwMDgtMDMtMTggMTA6MTI6NDAgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYyAoZ3N0X2ZhYWRfY2hhaW4pOiBGaXggYSBiYWQgZm9ybWF0IGFyZ3VtZW50LCBhbmQgYSBwb3RlbnRpYWwgaW50IG92ZXJmbG93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wMy0xOCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvZmFhZC9nc3RmYWFkLmMgKGdzdF9mYWFkX2NoYWluKTogRml4IGEgYmFkIGZvcm1hdCBhcmd1bWVudCwKCSAgYW5kIGEgcG90ZW50aWFsIGludCBvdmVyZmxvdy4KCSAgKiBleHQvZmFhZC9nc3RmYWFkLmg6IEluY2x1ZGUgPG5lYWFjZGVjLmg+IGlmIGZhYWQgaXMgbmVhYWMuCgkgIEF2b2lkcyBhICN3YXJuaW5nIGFib3V0IGFuIGlnbm9yZWQgI3ByYWdtYS4KCjIwMDgtMDMtMTcgMTU6NTE6MDggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYzogVXBkYXRlIHN3aXRjaCBleGFtcGxlIHRvIHVzZSBpbnB1dCBzZWxlY3Rvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6CgkgIFVwZGF0ZSBzd2l0Y2ggZXhhbXBsZSB0byB1c2UgaW5wdXQgc2VsZWN0b3IuCgoyMDA4LTAzLTE3IDA5OjAyOjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiBIYW5kbGUgSFRUUCBzdGF0dXMgY29kZSAzMDMgKFNlZSBPdGhlcikgdGhlIHNhbWUgd2F5IGFzIDMwMiAoRm91bmQpLiBOb3Qgc3VyZSB3aGF0IHRvIGRvIGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3NlbmRfcmVxdWVzdF9hbmRfcmVkaXJlY3QpOgoJICBIYW5kbGUgSFRUUCBzdGF0dXMgY29kZSAzMDMgKFNlZSBPdGhlcikgdGhlIHNhbWUgd2F5CgkgIGFzIDMwMiAoRm91bmQpLiBOb3Qgc3VyZSB3aGF0IHRvIGRvIGFib3V0IGFsbCB0aGUgb3RoZXIgM3h4CgkgIHJlZGlyZWN0IHN0YXR1cyBjb2Rlcy4gRml4ZXMgYnVnICM1MjI4ODQuCgoyMDA4LTAzLTE0IDIxOjQ4OjM3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2RzaG93L01ha2VmaWxlLmFtOiBNYWtlIHN1cmUgdGhlIGRzaG93IGhlbHBlciBsaWJyYXJ5IGhlYWRlcnMgZ2V0IGRpc3RyaWJ1dGVkIGluIHRoZSBuZXh0IHJlbGVhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbToKCSAgTWFrZSBzdXJlIHRoZSBkc2hvdyBoZWxwZXIgbGlicmFyeSBoZWFkZXJzIGdldCBkaXN0cmlidXRlZCBpbiB0aGUgbmV4dAoJICByZWxlYXNlLgoKMjAwOC0wMy0xNCAxNzozODoxMCArMDAwMCAgV2lsbGlhbSBNLiBCcmFjayA8d2JyYWNrQG1tbS5oaz4KCgkgIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzogU2lnbmlmaWNhbnQgaW1wcm92ZW1lbnRzLiAgRml4ZXMgIzUyMTM5Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXaWxsaWFtIE0uIEJyYWNrCgkgICogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOiBTaWduaWZpY2FudCBpbXByb3ZlbWVudHMuICBGaXhlcyAjNTIxMzkyLgoKMjAwOC0wMy0xNCAxNzoyMjoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IEFkZCBsb3RzIG9mIGRlYnVnZ2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogKGdzdF9zZWxlY3Rvcl9wYWRfZXZlbnQpLAoJICAoZ3N0X3NlbGVjdG9yX3BhZF9idWZmZXJhbGxvYyksIChnc3Rfc2VsZWN0b3JfcGFkX2NoYWluKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9jbGFzc19pbml0KSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9zZXRfYWN0aXZlX3BhZCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3Jfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9wdXNoX3BlbmRpbmdfc3RvcCk6CgkgIEFkZCBsb3RzIG9mIGRlYnVnZ2luZy4KCSAgRml4IHRpbWUgbWVtYmVyIGluIHRoZSBuZXdzZWdtZW50IGV2ZW50LgoKMjAwOC0wMy0xMyAxNjo0NjowNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLio6IFZhcmlvdXMgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IChnc3Rfc2VsZWN0b3JfcGFkX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NlbGVjdG9yX3BhZF9maW5hbGl6ZSksIChnc3Rfc2VsZWN0b3JfcGFkX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2V2ZW50KSwgKGdzdF9pbnB1dF9zZWxlY3Rvcl9jbGFzc19pbml0KSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9pbml0KSwgKGdzdF9pbnB1dF9zZWxlY3Rvcl9zZXRfYWN0aXZlX3BhZCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3Jfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3JlcXVlc3RfbmV3X3BhZCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3B1c2hfcGVuZGluZ19zdG9wKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9zd2l0Y2gpOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmg6CgkgIFZhcmlvdXMgY2xlYW51cHMuCgkgIEFkZGVkIHRhZ3MgdG8gdGhlIHBhZHMuCgkgIFNlbGVjdCBhY3RpdmUgcGFkIGJhc2VkIG9uIHRoZSBwYWQgb2JqZWN0IGluc3RlYWQgb2YgaXRzIG5hbWUuCgkgIEZpeCByZWZjb3VudCBpbiBzZXRfYWN0aXZlX3BhZC4KCSAgQWRkIHByb3BlcnR5IHRvIGdldCB0aGUgbnVtYmVyIG9mIHBhZHMuCgkgICogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIChnc3Rfb3V0cHV0X3NlbGVjdG9yX2NsYXNzX2luaXQpLAoJICAoZ3N0X291dHB1dF9zZWxlY3Rvcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X291dHB1dF9zZWxlY3Rvcl9nZXRfcHJvcGVydHkpOgoJICBWYXJpb3VzIGNsZWFudXBzLgoJICBTZWxlY3QgdGhlIGFjdGl2ZSBwYWQgYmFzZWQgb24gdGhlIHBhZCBvYmplY3QgaW5zdGVhZCBvZiBpdHMgbmFtZS4KCSAgRml4IGxvY2tpbmcgd2hlbiBzZXR0aW5nIHRoZSBhY3RpdmUgcGFkLgoJICAqIGdzdC9zZWxlY3Rvci9nc3RzZWxlY3Rvci1tYXJzaGFsLmxpc3Q6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc2VsZWN0b3IuYzogKGNsZWFudXBfcGFkKSwKCSAgKHNlbGVjdG9yX3NldF9hY3RpdmVfcGFkKSwgKHJ1bl9pbnB1dF9zZWxlY3Rvcl9idWZmZXJfY291bnQpOgoJICBGaXhlcyBmb3IgcGFkIGluc3RlYWQgb2YgcGFkbmFtZSBmb3IgcGFkIHNlbGVjdGlvbi4KCjIwMDgtMDMtMTMgMTQ6MjU6MjAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFVzZSBHU1RfTElDRU5TRSwgR1NUX1BBQ0tBR0VfTkFNRSBhbmQgR1NUX1BBQ0tBR0VfT1JJR0lOIGluc3RlYWQgb2YgaGFyZGNvZGluZyB2YWx1ZXMgd2hlcmUgcG9zc2libGUuIEZpeGVzIGJ1ZyAjNTIyMjEyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbS5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2suYzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgICogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgICogZ3N0L3R0YS9nc3R0dGEuYzoKCSAgVXNlIEdTVF9MSUNFTlNFLCBHU1RfUEFDS0FHRV9OQU1FIGFuZCBHU1RfUEFDS0FHRV9PUklHSU4gaW5zdGVhZAoJICBvZiBoYXJkY29kaW5nIHZhbHVlcyB3aGVyZSBwb3NzaWJsZS4gRml4ZXMgYnVnICM1MjIyMTIuCgoyMDA4LTAzLTEzIDA5OjQ1OjA5ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuKjogVHJ5IHRvIHJlc3VtZSBvbiBzZXJ2ZXIgZGlzY29ubmVjdC4gRml4ZXMgYnVnICM1MjIxMzQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2luaXQpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZmluaXNoZWRfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfcmVzcG9uc2VfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfYnVpbGRfbWVzc2FnZSksIChnc3Rfc291cF9odHRwX3NyY19jcmVhdGUpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIFRyeSB0byByZXN1bWUgb24gc2VydmVyIGRpc2Nvbm5lY3QuIEZpeGVzIGJ1ZyAjNTIyMTM0LgoKMjAwOC0wMy0xMiAxODo0NDo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogU2V0IGNvcnJlY3QgcGl4ZWwgYXNwZWN0IHJhdGlvIGZvciB0aGUgZW5jb2Rlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiAoZ3N0X3h2aWRlbmNfY2hhaW4pOgoJICBTZXQgY29ycmVjdCBwaXhlbCBhc3BlY3QgcmF0aW8gZm9yIHRoZSBlbmNvZGVyLgoKMjAwOC0wMy0xMSAxMjo0MDo1OCArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uKjogSW1wbGVtZW50IGNvbGxpc2lvbiBhbmQgbG9vcCBkZXRlY3Rpb24gaW4gcnRwbWFuYWdlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChmaW5kX2FkZF9jb25mbGljdGluZ19hZGRyZXNzZXMpLAoJICAoY2hlY2tfY29sbGlzaW9uKSwgKG9idGFpbl9zb3VyY2UpLCAocnRwX3Nlc3Npb25fY3JlYXRlX25ld19zc3JjKSwKCSAgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9zb3VyY2UpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3JyKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2RlcyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX2J5ZSksCgkgIChydHBfc2Vzc2lvbl9zZW5kX2J5ZV9sb2NrZWQpLCAocnRwX3Nlc3Npb25fc2VuZF9ieWUpLAoJICAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBJbXBsZW1lbnQgY29sbGlzaW9uIGFuZCBsb29wIGRldGVjdGlvbiBpbiBydHBtYW5hZ2VyLgoJICBGaXhlcyAjNTIwNjI2LgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9yZXNldCksCgkgIChydHBfc291cmNlX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBBZGQgbWV0aG9kIHRvIHJlc2V0IHN0YXRzLgoKMjAwOC0wMy0xMSAxMTozNjowMyArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogQXZvaWQgYSBkZWFkbG9jayB3aGVuIGpvaW5pbmcgdGhlIFJUQ1AgdGhyZWFkIGluIFBBVVNFRCBiZWNhdXNlIGl0IG1pZ2h0IGJlIGJsb2NrZWQgZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyAgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwKCSAgKHJ0Y3BfdGhyZWFkKSwgKHN0YXJ0X3J0Y3BfdGhyZWFkKSwgKHN0b3BfcnRjcF90aHJlYWQpLAoJICAoam9pbl9ydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fY2hhbmdlX3N0YXRlKToKCSAgQXZvaWQgYSBkZWFkbG9jayB3aGVuIGpvaW5pbmcgdGhlIFJUQ1AgdGhyZWFkIGluIFBBVVNFRCBiZWNhdXNlIGl0IG1pZ2h0CgkgIGJlIGJsb2NrZWQgZG93bnN0cmVhbS4gQWxzbyBhdm9pZCBzcGF3bmluZyBtdWx0aXBsZSBydGNwIHRocmVhZHMuCgkgIEZpeGVzICM1MjA4OTQuCgoyMDA4LTAzLTExIDEwOjQzOjMyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogRG9uJ3QgdHJ5IHRvIHJlc2V0IHRoZSBjbG9jayBza2V3IHdoZW4gd2UgaGF2ZSBubyB0aW1lc3RhbXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKGNhbGN1bGF0ZV9za2V3KToKCSAgRG9uJ3QgdHJ5IHRvIHJlc2V0IHRoZSBjbG9jayBza2V3IHdoZW4gd2UgaGF2ZSBubyB0aW1lc3RhbXBzLgoJICBGaXhlcyAjNTE5MDA1LgoKMjAwOC0wMy0wOCAwNDoyNzowMyArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBJbXByb3ZlIHRoZSBoZWFkZXIgY2hlY2tpbmcgdG8gbG9vayBmb3Igd2hhdCBmYWFkMiBsb29rcyBmb3IgdG9vLiBGaXhlcyBwbGF5YmFjayBvZiBzYW1lIGFwcGxlIHRyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChsb29rc19saWtlX3ZhbGlkX2hlYWRlcik6CgkgIEltcHJvdmUgdGhlIGhlYWRlciBjaGVja2luZyB0byBsb29rIGZvciB3aGF0IGZhYWQyIGxvb2tzCgkgIGZvciB0b28uIEZpeGVzIHBsYXliYWNrIG9mIHNhbWUgYXBwbGUgdHJhaWxlcnMuCgkgIEZpeGVzIGJ1ZyAjNDY5OTc5LgoKMjAwOC0wMy0wNyAxMzoyODowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBSZWFsbHkgY2hlY2sgZm9yIGxpYmRjMTM5NCA+PSAyLjAuMCwgcGtnLWNvbmZpZyB0aGlua3MgdGhhdCAyLjAuMC1yY1ggaXMgbmV3ZXIgdGhhbiAyLjAuMCBzbyB3ZSBjaGVjayBmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVhbGx5IGNoZWNrIGZvciBsaWJkYzEzOTQgPj0gMi4wLjAsIHBrZy1jb25maWcgdGhpbmtzIHRoYXQKCSAgMi4wLjAtcmNYIGlzIG5ld2VyIHRoYW4gMi4wLjAgc28gd2UgY2hlY2sgZm9yIHRoaXMgdG9vLgoKMjAwOC0wMy0wNiAwNzowMzowOSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6IEFkZCBhIGJ1bmNoIG9mIHByb3BlcnRpZXMgY3JpYmJlZCBmcm9tIHRoZSBlbmNvZGVyIHByb2dyYW0gaW4gZGlyYWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzogQWRkIGEgYnVuY2ggb2YgcHJvcGVydGllcyBjcmliYmVkCgkgIGZyb20gdGhlIGVuY29kZXIgcHJvZ3JhbSBpbiBkaXJhYy4KCjIwMDgtMDMtMDYgMDM6MTY6MTMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgUmV3cml0ZSBEaXJhYyBlbmNvZGVyIHBsdWdpbiBiYXNlZCBvbiBTY2hyb2VkaW5nZXIgZ3N0cmVhbWVyIGVsZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyYWMvZ3N0ZGlyYWMuY2M6CgkgICogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBSZXdyaXRlIERpcmFjIGVuY29kZXIgcGx1Z2luIGJhc2VkIG9uIFNjaHJvZWRpbmdlciBnc3RyZWFtZXIKCSAgZWxlbWVudHMuCgoyMDA4LTAzLTA1IDA2OjAzOjAzICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgUG9ydCBtcGxleCBlbGVtZW50IHRvIDAuMTAuIEZpeGVzIGJ1ZyAjNTIwMzI5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1dyBhdCBza3luZXQgZG90IGJlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSAgKiBleHQvbXBsZXgvZ3N0bXBsZXguaGg6CgkgICogZXh0L21wbGV4L2dzdG1wbGV4aWJpdHN0cmVhbS5jYzoKCSAgKiBleHQvbXBsZXgvZ3N0bXBsZXhpYml0c3RyZWFtLmhoOgoJICAqIGV4dC9tcGxleC9nc3RtcGxleGpvYi5jYzoKCSAgKiBleHQvbXBsZXgvZ3N0bXBsZXhqb2IuaGg6CgkgICogZXh0L21wbGV4L2dzdG1wbGV4b3V0cHV0c3RyZWFtLmNjOgoJICAqIGV4dC9tcGxleC9nc3RtcGxleG91dHB1dHN0cmVhbS5oaDoKCSAgUG9ydCBtcGxleCBlbGVtZW50IHRvIDAuMTAuIEZpeGVzIGJ1ZyAjNTIwMzI5LgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wbGV4LmM6ICh0ZXN0X3NpbmtfZXZlbnQpLCAoc2V0dXBfc3JjX3BhZCksCgkgICh0ZWFyZG93bl9zcmNfcGFkKSwgKHNldHVwX21wbGV4KSwgKGNsZWFudXBfbXBsZXgpLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAobXBsZXhfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3QgZm9yIHRoZSBtcGxleCBlbGVtZW50LgoKMjAwOC0wMy0wNSAwNTozODowNiArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGNvbmZpZ3VyZS5hYzogQ2xlYW4gdXAgZGV0ZWN0aW9uIG9mIGRpZmZlcmVudCBtanBlZ3Rvb2xzQVBJIHZlcnNpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1dyBhdCBza3luZXQgZG90IGJlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2xlYW4gdXAgZGV0ZWN0aW9uIG9mIGRpZmZlcmVudCBtanBlZ3Rvb2xzQVBJIHZlcnNpb25zLgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuaGg6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb2Rlci5jYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuY2M6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5oaDoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNzdHJlYW13cml0ZXIuY2M6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jc3RyZWFtd3JpdGVyLmhoOgoJICBTdHJlYW1saW5lIGNvbmRpdGlvbmFsIGNvZGUgZm9yIGV2b2x2aW5nIG1qcGVndG9vbHMgQVBJLAoJICBvcHRpbWl6ZSBhbmQgZml4L3ByZXZlbnQgY3Jhc2ggaW4gbG9nIGhhbmRsaW5nLCB1c2UKCSAgbmFtZXMvbmlja3MgZm9yIGVudW1zIGluIHRoZSB1c3VhbCB3YXkgYW5kbSBpbm9yIHVwZGF0ZXMKCSAgaW4gY29kZSBhbmQgcHJvcGVydGllcy9zZXR0aW5ncy4gUGFydGlhbGx5IGZpeGVzIGJ1ZyAjNTIwMzI5LgoKMjAwOC0wMy0wNCAxNzo0OToxNSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IEFkZCBwYXJzaW5nIG9mIGNhYmxlIGRlbGl2ZXJ5IHN5c3RlbSBkZXNjcmlwdG9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZ3N0bXBlZ2Rlc2MuaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBBZGQgcGFyc2luZyBvZiBjYWJsZSBkZWxpdmVyeSBzeXN0ZW0gZGVzY3JpcHRvci4KCjIwMDgtMDMtMDMgMTI6NDg6NTYgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgY29uZmlndXJlLmFjOiBVc2UgQUdfR1NUX0NIRUNLX1BMVUdJTiBhbmQgQUdfR1NUX0RJU0FCTEVfUExVR0lOIHRvIHNpbXBsaWZ5IHdoaWNoIHBsdWctaW5zIGFyZSBpbmNsdWRlZC9leGNsdWRlZC4gKCM0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXNlIEFHX0dTVF9DSEVDS19QTFVHSU4gYW5kIEFHX0dTVF9ESVNBQkxFX1BMVUdJTiB0byBzaW1wbGlmeSB3aGljaAoJICBwbHVnLWlucyBhcmUgaW5jbHVkZWQvZXhjbHVkZWQuICgjNDk4MjIyKQoKPT09IHJlbGVhc2UgMC4xMC4xOSA9PT0KCjIwMDgtMDMtMDMgMDY6MDQ6MDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIENvcnJlY3QgYWxsIHJlbGV2YW50IHdhcm5pbmdzIGZvdW5kIGJ5IHRoZSBzcGFyc2Ugc2VtYW50aWMgY29kZSBhbmFseXplci4gVGhpcyBpbmNsdWRlIG1hcmtpbmcgc2V2ZXJhbCBzeW1ib2xzIHN0YXRpYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYS9nc3RhbHNhbWl4ZXJ0cmFjay5jOiAoZ3N0X2Fsc2FfbWl4ZXJfdHJhY2tfZ2V0X3R5cGUpOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzaW5rLmM6IChzZXRfaHdwYXJhbXMpOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzcmMuYzogKHNldF9od3BhcmFtcyk6CgkgICogZXh0L2dpby9nc3RnaW8uYzogKGdzdF9naW9fdXJpX2hhbmRsZXJfZ2V0X3VyaSk6CgkgICogZXh0L29nZy9nc3RvZ2dtdXguaDoKCSAgKiBleHQvb2dnL2dzdG9nbXBhcnNlLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2F1ZGlvLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2ZmdC9raXNzX2ZmdF9mNjQuYzogKGtpc3NfZmZ0X2Y2NF9hbGxvYyk6CgkgICogZ3N0LWxpYnMvZ3N0L3BidXRpbHMvbWlzc2luZy1wbHVnaW5zLmM6CgkgIChnc3RfbWlzc2luZ191cmlfc2lua19tZXNzYWdlX25ldyksCgkgIChnc3RfbWlzc2luZ19lbGVtZW50X21lc3NhZ2VfbmV3KSwKCSAgKGdzdF9taXNzaW5nX2RlY29kZXJfbWVzc2FnZV9uZXcpLAoJICAoZ3N0X21pc3NpbmdfZW5jb2Rlcl9tZXNzYWdlX25ldyk6CgkgICogZ3N0LWxpYnMvZ3N0L3J0cC9nc3RiYXNlcnRwcGF5bG9hZC5jOgoJICAqIGdzdC1saWJzL2dzdC9ydHAvZ3N0cnRjcGJ1ZmZlci5jOgoJICAoZ3N0X3J0Y3BfcGFja2V0X2J5ZV9nZXRfcmVhc29uKToKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2dzdGF1ZGlvY29udmVydC5jOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBnc3QvZmZtcGVnY29sb3JzcGFjZS9pbWdjb252ZXJ0LmM6CgkgICogZ3N0L3BsYXliYWNrL3Rlc3QuYzogKGdlbl92aWRlb19lbGVtZW50KSwgKGdlbl9hdWRpb19lbGVtZW50KToKCSAgKiBnc3QvdHlwZWZpbmQvZ3N0dHlwZWZpbmRmdW5jdGlvbnMuYzoKCSAgKiBnc3QvdmlkZW9zY2FsZS92c180dGFwLmM6CgkgICogZ3N0L3ZpZGVvc2NhbGUvdnNfNHRhcC5oOgoJICAqIHN5cy92NGwvZ3N0djRsZWxlbWVudC5jOgoJICAqIHN5cy92NGwvZ3N0djRsc3JjLmM6IChnc3RfdjRsc3JjX2dldF9hbnlfY2Fwcyk6CgkgICogc3lzL3Y0bC92NGxfY2FsbHMuYzoKCSAgKiBzeXMvdjRsL3Y0bHNyY19jYWxscy5jOiAoZ3N0X3Y0bHNyY19jYXB0dXJlX2luaXQpLAoJICAoZ3N0X3Y0bHNyY190cnlfY2FwdHVyZSk6CgkgICogc3lzL3hpbWFnZS94aW1hZ2VzaW5rLmM6IChnc3RfeGltYWdlc2lua19jaGVja194c2htX2NhbGxzKSwKCSAgKGdzdF94aW1hZ2VzaW5rX3hpbWFnZV9uZXcpOgoJICAqIHN5cy94dmltYWdlL3h2aW1hZ2VzaW5rLmM6IChnc3RfeHZpbWFnZXNpbmtfY2hlY2tfeHNobV9jYWxscyksCgkgIChnc3RfeHZpbWFnZXNpbmtfeHZpbWFnZV9uZXcpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY29udmVydC5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzoKCSAgKGZhaWxfdW5sZXNzX3BlcmZlY3Rfc3RyZWFtKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Rlc3RzcmMuYzogKHNldHVwX2F1ZGlvdGVzdHNyYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVjb2RlYmluLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKHNldHVwX2dkcGRlcGF5KSwKCSAgKHNldHVwX2dkcGRlcGF5X3N0cmVhbWhlYWRlcik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6IChzZXR1cF9nZHBwYXkpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoc2V0dXBfZ2RwcGF5X3N0cmVhbWhlYWRlcik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ25vbWV2ZnNzaW5rLmM6IChzZXR1cF9nbm9tZXZmc3NpbmspOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmRzaW5rLmM6IChzZXR1cF9tdWx0aWZkc2luayk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdGV4dG92ZXJsYXkuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3JhdGUuYzogKHNldHVwX3ZpZGVvcmF0ZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW90ZXN0c3JjLmM6IChzZXR1cF92aWRlb3Rlc3RzcmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvbHVtZS5jOiAoc2V0dXBfdm9sdW1lKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b3JiaXNkZWMuYzogKHNldHVwX3ZvcmJpc2RlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9yYmlzdGFnLmM6CgkgICogdGVzdHMvY2hlY2svZ2VuZXJpYy9jbG9jay1zZWxlY3Rpb24uYzoKCSAgKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOiAoc2V0dXApLCAodGVhcmRvd24pOgoJICAqIHRlc3RzL2NoZWNrL2xpYnMvY2RkYWJhc2VzcmMuYzoKCSAgKiB0ZXN0cy9jaGVjay9saWJzL3ZpZGVvLmM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2dpby5jOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9vZ2dtdXguYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICAoc2ltcGxlX2xhdW5jaF9saW5lc19zdWl0ZSk6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90aGVvcmFlbmMuYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdm9yYmlzZGVjLmM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3ZvcmJpc2VuYy5jOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NlZWsvc2NydWJieS5jOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NlZWsvc2Vlay5jOiAocXVlcnlfcG9zaXRpb25zX2VsZW1zKSwKCSAgKHF1ZXJ5X3Bvc2l0aW9uc19wYWRzKToKCSAgKiB0ZXN0cy9pY2xlcy9zdHJlc3MteG92ZXJsYXkuYzogKG15Y2xvY2spOgoJICBDb3JyZWN0IGFsbCByZWxldmFudCB3YXJuaW5ncyBmb3VuZCBieSB0aGUgc3BhcnNlIHNlbWFudGljIGNvZGUKCSAgYW5hbHl6ZXIuIFRoaXMgaW5jbHVkZSBtYXJraW5nIHNldmVyYWwgc3ltYm9scyBzdGF0aWMsIHVzaW5nCgkgIE5VTEwgaW5zdGVhZCBvZiAwIGZvciBwb2ludGVycyBhbmQgdXNpbmcgImZvbyAodm9pZCkiIGluc3RlYWQKCSAgb2YgImZvbyAoKSIgZm9yIGRlY2xhcmF0aW9ucy4KCSAgKiB3aW4zMi9jb21tb24vbGliZ3N0cnRwLmRlZjoKCSAgQWRkIGdzdF9ydHBfYnVmZmVyX3NldF9leHRlbnNpb25fZGF0YSB0byB0aGUgc3ltYm9sIGRlZmluaXRpb24gZmlsZS4KCjIwMDgtMDMtMDMgMDQ6Mzk6NDggKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzogRml4IGF1ZGlvIGRpc2NvbnRpbnVpdHkgdGhhdCBoYXBwZW5zIHdoZW4gc2lsZW50IGNodW5rcyBhcmUgZm9sbG93ZWQgYnkgcmVhbCBkYXRhIGFnYWluLiBGaXhlcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEplbnMgR3JhbnNldWVyIDxqZW5zZ3IgYXQgZ214IGRvdCBuZXQ+CgkgICogZ3N0L212ZS9nc3RtdmVkZW11eC5jOiAoZ3N0X212ZV9hdWRpb19kYXRhKSwKCSAgKGdzdF9tdmVfZGVtdXhfZ2V0X3R5cGUpOgoJICBGaXggYXVkaW8gZGlzY29udGludWl0eSB0aGF0IGhhcHBlbnMgd2hlbiBzaWxlbnQgY2h1bmtzIGFyZQoJICBmb2xsb3dlZCBieSByZWFsIGRhdGEgYWdhaW4uIEZpeGVzIGJ1ZyAjNTE5OTA1LgoKMjAwOC0wMy0wMSAxMjo0OToxMyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvOiBBZGQgRFZCLUMgc3VwcG9ydC4gU3BlY2lhbCB0aGFua3MgdG8gQ2hyaXN0aWFuIFNjaGFsbGVyIGZvciBhIHRlc3RpbmcgZ3JvdW5kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICAqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBBZGQgRFZCLUMgc3VwcG9ydC4gU3BlY2lhbCB0aGFua3MgdG8gQ2hyaXN0aWFuIFNjaGFsbGVyCgkgIGZvciBhIHRlc3RpbmcgZ3JvdW5kLgoKMjAwOC0wMi0yOCAxMzoyMjoyNCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOiBPbmx5IHNlbmQgUE1UcyB0byBwcm9ncmFtIHBhZHMgdGhhdCB0aGUgUE1UIGlzIGZvciBldmVuIGlmIG9uIHNhbWUgcGlkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgT25seSBzZW5kIFBNVHMgdG8gcHJvZ3JhbSBwYWRzIHRoYXQgdGhlIFBNVCBpcyBmb3IgZXZlbiBpZgoJICBvbiBzYW1lIHBpZC4KCSAgQXMgYSBieS1wcm9kdWN0LCB3ZSBub3cgbm8gbG9uZ2VyIGhhcmRjb2RlIGFueSBwc2kgcGlkIG51bWJlcnMuCgkgIEFsc28gcmVtb3ZlIHBjciBzdHJlYW0gZnJvbSBvbGQgcG10IHdoZW4gd2UgYXBwbHkgYSBuZXcgcG10LgoKMjAwOC0wMi0yOCAxMDo0MTo1NiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhX21hcHBpbmcuaHRtOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgTWFwIERhdGUtVGltZSBhbmQgR1BTIHRhZ3MgYW5kIENvbnZlcnQgZnJvbSBFWElGIHRvIFhNUCBEYXRhdGltZSBhcyBsb2NhbCB0aW1lICh0aG9zZSBjaGFuZ2VzIGhhcyBiZWVuIGRvbmUgaW4gcHJldmlvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNYXAgRGF0ZS1UaW1lIGFuZCBHUFMgdGFncyBhbmQgQ29udmVydCBmcm9tIEVYSUYgdG8gWE1QIERhdGF0aW1lIGFzIGxvY2FsIHRpbWUgKHRob3NlIGNoYW5nZXMgaGFzIGJlZW4gZG9uZSBpbiBwcmV2aW91cyBjb21pdCBidXQgaGFkIHRvIGJlIHJldmVydCBpbiAyMDA4LTAyLTEwIGR1ZSB0byBmcm96ZW4pCgoyMDA4LTAyLTI3IDIzOjI5OjQ0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9jYW11dGlscy5jOiBSZW1vdmUgdGhlIEdfVkFMVUVfSE9MRFNfQk9YRUQgY2hlY2tzLiBUaGV5IHdlcmUgb25seSBhZGRlZCB0byBoZWxwIGRlYnVnIHRoZSBkYXRhIGNvcnJ1cHRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvY2FtdXRpbHMuYzoKCSAgUmVtb3ZlIHRoZSBHX1ZBTFVFX0hPTERTX0JPWEVEIGNoZWNrcy4gVGhleSB3ZXJlCgkgIG9ubHkgYWRkZWQgdG8gaGVscCBkZWJ1ZyB0aGUgZGF0YSBjb3JydXB0aW9uLgoKMjAwOC0wMi0yNyAxOTo0MToxMyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvY2FtdXRpbHMuYzogRG9uJ3QgZnJlZSB0aGUgcHJvZ3JhbSBkZXNjcmlwdG9ycywgdGhpcyBzdHJ1Y3R1cmUgY29udGFpbmluZyB0aGVtIGlzIHN0aWxscyB0b3JlZCBhZnRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9jYW11dGlscy5jOgoJICBEb24ndCBmcmVlIHRoZSBwcm9ncmFtIGRlc2NyaXB0b3JzLCB0aGlzIHN0cnVjdHVyZQoJICBjb250YWluaW5nIHRoZW0gaXMgc3RpbGxzIHRvcmVkIGFmdGVyLgoJICBGaXhlcyBkYXRhIGNvcnJ1cHRpb24uCgoyMDA4LTAyLTI3IDEyOjM0OjAwICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9jYW11dGlscy5jOiBFeHRyYSBjaGVja3MgdG8gcHJldmVudCBkYXRhIGNvcnJ1cHRpb24vc2VnZmF1bHRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2NhbXV0aWxzLmM6CgkgIEV4dHJhIGNoZWNrcyB0byBwcmV2ZW50IGRhdGEgY29ycnVwdGlvbi9zZWdmYXVsdHMuCgoyMDA4LTAyLTI2IDE1OjEzOjU0ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZQoKMjAwOC0wMi0yNiAxMjowNDoyMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L25hcy9uYXNzaW5rLmM6IEZpeCBidWlsZCB3YXJuaW5nIGJ5IHVzaW5nIHBvcnRhYmxlIEFQSS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6CgkgIEZpeCBidWlsZCB3YXJuaW5nIGJ5IHVzaW5nIHBvcnRhYmxlIEFQSS4KCjIwMDgtMDItMjYgMTI6MDE6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOiBGaXggY2hhbmdpbmcgdG8gc2FtZSBwYWQgdHdpY2UgYmVmb3JlIGEgY2hhaW4gY2FsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIEZpeCBjaGFuZ2luZyB0byBzYW1lIHBhZCB0d2ljZSBiZWZvcmUgYSBjaGFpbiBjYWxsLgoKMjAwOC0wMi0yNiAwNTo1NDoyNiArMDAwMCAgRGFuaWVsIEZpc2NoZXIgPGRhbkBmM2MuY29tPgoKCSAgQWRkIHN1cHBvcnQgZm9yIGxpYmRjMTM5NCAyLjAuMCBhbmQgYWJvdmUgYW5kIHJlcXVpcmUgdGhpcyB2ZXJzaW9uIG5vdy4gRml4ZXMgYnVnICM1MTQ5NjQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRGFuaWVsIEZpc2NoZXIgPGRhbiBhdCBmM2MgZG90IGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzogKGdzdF9kYzEzOTRfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9kYzEzOTRfZ2V0X2NhbV9jYXBzKSwgKGdzdF9kYzEzOTRfb3Blbl9jYW1fd2l0aF9iZXN0X2NhcHMpOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0Lmg6CgkgIEFkZCBzdXBwb3J0IGZvciBsaWJkYzEzOTQgMi4wLjAgYW5kIGFib3ZlIGFuZCByZXF1aXJlIHRoaXMgdmVyc2lvbgoJICBub3cuIEZpeGVzIGJ1ZyAjNTE0OTY0LgoKMjAwOC0wMi0yNiAwNTozNjoxNyArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIEFkZCBzdXBwb3J0IGZvciBzcGVjaWZ5aW5nIGEgbGlzdCBvZiBjb29raWVzIHRvIGJlIHBhc3NlZCBpbiB0aGUgSFRUUCByZXF1ZXN0LiBGaXhlcyBidWcgIzUxODcyMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cF9odHRwX3NyY19pbml0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cF9odHRwX3NyY19jcmVhdGUpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogKHJ1bl90ZXN0KSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHNvdXBodHRwc3JjX3N1aXRlKToKCSAgQWRkIHN1cHBvcnQgZm9yIHNwZWNpZnlpbmcgYSBsaXN0IG9mIGNvb2tpZXMgdG8gYmUgcGFzc2VkIGluCgkgIHRoZSBIVFRQIHJlcXVlc3QuIEZpeGVzIGJ1ZyAjNTE4NzIyLgoKMjAwOC0wMi0yNSAwODo1Mzo1MSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuKjogQWRkZWQgInNlbGVjdC1hbGwiIHByb3BlcnR5IHRvIG1ha2UgaXQgd29yayBsaWtlIGFnZ3JlZ2F0b3IgaW4gMC44LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmg6CgkgIEFkZGVkICJzZWxlY3QtYWxsIiBwcm9wZXJ0eSB0byBtYWtlIGl0IHdvcmsgbGlrZSBhZ2dyZWdhdG9yIGluIDAuOC4KCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgRml4IHJlc2VuZC1sYXRlc3QgYmVoYXZvaXVyLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc2VsZWN0b3IuYzoKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIHNlbGVjdG9yLgoKMjAwOC0wMi0yNSAwNjoyOToxMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgUmVtb3ZlIG1pZGkgdHlwZWZpbmRlcnMgYW5kIHJlcXVpcmUgYmFzZSBDVlMgYXMgdGhleSBtb3ZlZCB0aGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOiAocGx1Z2luX2luaXQpOgoJICBSZW1vdmUgbWlkaSB0eXBlZmluZGVycyBhbmQgcmVxdWlyZSBiYXNlIENWUyBhcyB0aGV5IG1vdmVkIHRoZXJlLgoKMjAwOC0wMi0yNCAwOTo1Nzo0MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L01ha2VmaWxlLmFtOiBPbmx5IGRpc2FibGUgdGhlIGV4dC90aW1pZGl0eSBkaXJlY3RvcnkgaWYgYm90aCwgd2lsZG1pZGkgX2FuZF8gdGltaWRpdHkgYXJlIG5vdCBhdmFpbGFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgT25seSBkaXNhYmxlIHRoZSBleHQvdGltaWRpdHkgZGlyZWN0b3J5IGlmIGJvdGgsIHdpbGRtaWRpCgkgIF9hbmRfIHRpbWlkaXR5IGFyZSBub3QgYXZhaWxhYmxlLgoKMjAwOC0wMi0yNCAwNDoyNDoyMCArMDAwMCAgRW1pbGlvIFBvenVlbG8gTW9uZm9ydCA8cG9jaHVAdWJ1bnR1LmNvbT4KCgkgIGV4dC9NYWtlZmlsZS5hbTogQnVpbGQgdGhlIHdpbGRtaWRpIHBsdWdpbiBpZiBpdCdzIGVuYWJsZWQgYW5kIG5vdCBvbmx5IHdoZW4gYm90aCwgdGhlIHRpbWlkaXR5IGFuZCB3aWxkbWlkaSBwbHVnaW4sIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEVtaWxpbyBQb3p1ZWxvIE1vbmZvcnQgPHBvY2h1IGF0IHVidW50dSBkb3QgY29tPgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgQnVpbGQgdGhlIHdpbGRtaWRpIHBsdWdpbiBpZiBpdCdzIGVuYWJsZWQgYW5kIG5vdCBvbmx5IHdoZW4KCSAgYm90aCwgdGhlIHRpbWlkaXR5IGFuZCB3aWxkbWlkaSBwbHVnaW4sIGFyZSBlbmFibGVkLgoKMjAwOC0wMi0yMyAxNTowMTozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIENoZWNrIGZvciBhbmQgZGVmaW5lIEVSUk9SX0NYWEZMQUdTIGFuZCBHU1RfQ1hYRkxBR1MgYW5kIHVzZSB0aGVtIHdoZW4gYnVpbGRpbmcgQysrIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkgIENoZWNrIGZvciBhbmQgZGVmaW5lIEVSUk9SX0NYWEZMQUdTIGFuZCBHU1RfQ1hYRkxBR1MgYW5kIHVzZSB0aGVtCgkgIHdoZW4gYnVpbGRpbmcgQysrIGNvZGUuCgoyMDA4LTAyLTIzIDExOjU2OjQxICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgbXVsdGlwcm90byBkcml2ZXIgKG5vdCB5ZXQgbWVyZ2VkIGludG8gdjRsLWR2YiBtYWlubGluZSB5ZXQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBtdWx0aXByb3RvIGRyaXZlciAobm90IHlldCBtZXJnZWQgaW50bwoJICB2NGwtZHZiIG1haW5saW5lIHlldCkuCgkgIE9ubHkgd29ya3MgZm9yIERWQi1TIG5vdCBEVkItUzIsIERWQi1ULCBEVkItQyBvciBvdGhlci4KCjIwMDgtMDItMjIgMTA6MTg6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC86IFVwZGF0ZSB0byB2ZXJzaW9uIDAuMTAuNi4xLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHJlbW9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBVcGRhdGUgdG8gdmVyc2lvbiAwLjEwLjYuMS4KCjIwMDgtMDItMjIgMDk6NTY6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBSZW1vdmUgZG9jcyBmb3IgZWxlbWVudHMgdGhhdCBoYXZlIG1vdmVkIHRvIG90aGVyIG1vZHVsZXMgb3IgYmVlbiByZW5hbWVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zd2l0Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICBSZW1vdmUgZG9jcyBmb3IgZWxlbWVudHMgdGhhdCBoYXZlIG1vdmVkIHRvIG90aGVyIG1vZHVsZXMKCSAgb3IgYmVlbiByZW5hbWVkLgoKMjAwOC0wMi0yMiAwNzoyMDowMyArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIEltcGxlbWVudCB6ZXJvLWNvcHkgYW5kIG1ha2UgdGhlIGJ1ZmZlciBzaXplIGNvbmZpZ3VyYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2NhbmNlbF9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2ZpbmlzaGVkX2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NodW5rX2ZyZWUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfY2h1bmtfYWxsb2NhdG9yKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9jaHVua19jYiksIChnc3Rfc291cF9odHRwX3NyY19jcmVhdGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc3RhcnQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3h5KToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBJbXBsZW1lbnQgemVyby1jb3B5IGFuZCBtYWtlIHRoZSBidWZmZXIgc2l6ZSBjb25maWd1cmFibGUuCgkgIFByZWZpeCBwcm94eSBVUklzIHdpdGggImh0dHA6Ly8iIGlmIHRoZXkgZG9uJ3Qgc3RhcnQgd2l0aCBpdAoJICBhbHJlYWR5IGFuZCBjYXRjaCBlcnJvcnMgZWFybGllciwgZml4ZXMgaGFuZ2luZyBpbiBzb21lIHNpdHVhdGlvbnMuCgkgIEZpeGVzIGJ1ZyAjNTE0OTQ4LgoKMjAwOC0wMi0yMiAwNjo0MjoyOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZ3N0LXBsdWdpbnMtYmFkLnN1cHA6IEFkZCBzdXBwcmVzc2lvbnMgZm9yIFNvdW5kVG91Y2ggdmFsZ3JpbmQgd2FybmluZ3MgYW5kIGEgdmFsZ3JpbmQgd2FybmluZyBjYXVzZWQgYnkgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2dzdC1wbHVnaW5zLWJhZC5zdXBwOgoJICBBZGQgc3VwcHJlc3Npb25zIGZvciBTb3VuZFRvdWNoIHZhbGdyaW5kIHdhcm5pbmdzIGFuZAoJICBhIHZhbGdyaW5kIHdhcm5pbmcgY2F1c2VkIGJ5IHRoZSBMQURTUEEgc2luZSBwbHVnaW4gYW5kCgkgIGhhcHBlbmluZyBvbiBldmVyeSBleGl0KCkuCgkgIFJlbW92ZSBHSU8gc3VwcHJlc3Npb25zIGFzIGl0J3Mgbm93IGluIC1iYXNlLgoKMjAwOC0wMi0yMiAwNjozMzo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogRG9uJ3QgYWxsb2NhdGUgYW5kIGNvcHkgdGhlIGRhdGEgdG8gYSBuZXcgcGxhY2UgYnV0IGluc3RlYWQgcHV0IHRoZSBkYXRhIGZyb20gZ215dGggKHdoaWNoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IChnc3RfbXl0aHR2X3NyY19jcmVhdGUpOgoJICBEb24ndCBhbGxvY2F0ZSBhbmQgY29weSB0aGUgZGF0YSB0byBhIG5ldyBwbGFjZSBidXQgaW5zdGVhZAoJICBwdXQgdGhlIGRhdGEgZnJvbSBnbXl0aCAod2hpY2ggd2Ugb3duKSBpbnRvIHRoZSBidWZmZXJzIHRoYXQKCSAgYXJlIHBhc3NlZCBkb3duc3RyZWFtLgoKMjAwOC0wMi0yMiAwNjozMTo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6IElmIFdJTERNSURJX0NGRyBpcyBub3QgZGVmaW5lZCwgZGVmaW5lIGl0IHRvIHRoZSBkZWZhdWx0IHRpbWlkaXR5IGNvbmZpZ3VyZSBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgSWYgV0lMRE1JRElfQ0ZHIGlzIG5vdCBkZWZpbmVkLCBkZWZpbmUgaXQgdG8gdGhlIGRlZmF1bHQKCSAgdGltaWRpdHkgY29uZmlndXJlIGZpbGUuCgoyMDA4LTAyLTIyIDA2OjEyOjA3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBSZW1vdmUgaGFjayB0byB3b3JrIHdpdGggbWpwZWd0b29scyAxLjkuMHJjMyBhbmQgYWJvdmUgYW5kIGluc3RlYWQgdXNlIG1qcGVnX2xvZ2xldl90KCkgZm9yIGdldHRpbmcgdGhlIGxvZyBsZXZlbHMuIEMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6CgkgIEhhbnMgZGUgR29lZGUgPGogZG90IHcgZG90IHIgZG90IGRlZ29lZGUgYXQgaGhzIGRvdCBubD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICBSZW1vdmUgaGFjayB0byB3b3JrIHdpdGggbWpwZWd0b29scyAxLjkuMHJjMyBhbmQgYWJvdmUgYW5kIGluc3RlYWQKCSAgdXNlIG1qcGVnX2xvZ2xldl90KCkgZm9yIGdldHRpbmcgdGhlIGxvZyBsZXZlbHMuIENoZWNrIGZvciB0aGlzCgkgIGZ1bmN0aW9uIGluIGNvbmZpZ3VyZS5hYyBhcyB0aGUgcGtnLWNvbmZpZyBmaWxlIGRvZXNuJ3QgdGVsbCB1cwoJICB3aGljaCByZWxlYXNlIGNhbmRpZGF0ZSB3ZSBoYXZlLiBGaXhlcyBidWcgIzUxNzg5Ni4KCjIwMDgtMDItMjIgMDU6NDg6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIFggZm9yIHRoZSBuYXMgcGx1Z2luIHRvIG1ha2UgaXQgcG9zc2libGUgdG8gYnVpbGQgaXQgYWdhaW4uIEZpeGVzIGJ1ZyAjNTE3ODk1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGZvciBYIGZvciB0aGUgbmFzIHBsdWdpbiB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIGJ1aWxkIGl0CgkgIGFnYWluLiBGaXhlcyBidWcgIzUxNzg5NS4KCjIwMDgtMDItMjIgMDU6NDI6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBJZ25vcmUgc29tZSBtb3JlIGVsZW1lbnRzIGZvciB0aGUgc3RhdGVzIHVuaXQgdGVzdCwgbGlrZSBkZmJ2aWRlb3Npbmsgd2hpY2ggcHJvZHVjZXMgYSBzZWdmYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgSWdub3JlIHNvbWUgbW9yZSBlbGVtZW50cyBmb3IgdGhlIHN0YXRlcyB1bml0IHRlc3QsIGxpa2UKCSAgZGZidmlkZW9zaW5rIHdoaWNoIHByb2R1Y2VzIGEgc2VnZmF1bHQuIEZpeGVzIGJ1ZyAjNTE3ODU0LgoKMjAwOC0wMi0yMiAwNTozMzo1OSArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgU29tZSBDODkgZml4ZXMsIG1vdmluZyB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgdG8gdGhlIGJlZ2lubmluZyBvZiBhIGJsb2NrLiBGaXhlcyBidWcgIzUxNzkzNy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlciA8amVuc2dyIGF0IGdteCBkb3QgbmV0PgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IChnc3RfcmZiX3Byb3BlcnR5X3NldF92ZXJzaW9uKToKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzogKHJmYl9kZWNvZGVyX21lc3NhZ2Vfc2V0X2VuY29kaW5ncyksCgkgIChyZmJfZGVjb2Rlcl9zdGF0ZV9zZXRfZW5jb2RpbmdzKToKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAobXBlZ3RzX3BhY2tldGl6ZXJfcGFyc2Vfbml0KSwgKG1wZWd0c19wYWNrZXRpemVyX3BhcnNlX3NkdCksCgkgIChtcGVndHNfcGFja2V0aXplcl9wYXJzZV9laXQpOgoJICAqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzogKGdzdF9mYmRldnNpbmtfZ2V0Y2FwcyksCgkgIChnc3RfZmJkZXZzaW5rX3NldGNhcHMpLCAoZ3N0X2ZiZGV2c2lua19yZW5kZXIpOgoJICBTb21lIEM4OSBmaXhlcywgbW92aW5nIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyB0byB0aGUgYmVnaW5uaW5nCgkgIG9mIGEgYmxvY2suIEZpeGVzIGJ1ZyAjNTE3OTM3LgoKMjAwOC0wMi0yMSAyMzo1MDozMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gZGV2ZWxvcG1lbnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Li4uCgo9PT0gcmVsZWFzZSAwLjEwLjYgPT09CgoyMDA4LTAyLTIxIDAwOjEzOjMxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10cmVtb3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogcG8vTElOR1VBUzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuNiAtIEEgQmlnIERlZXAgQnJlYXRoCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNlIDAuMTAuNiAtIEEgQmlnIERlZXAgQnJlYXRoCgoyMDA4LTAyLTIwIDIzOjM1OjE5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9reS5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwOC0wMi0yMCAxNjowNDozMiArMDAwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSAgZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogVXNpbmcgdGhlIHdyb25nIEdzdEZvcm1hdCBmb3IgdGhlIGZpbGVzaXplLCBhbmQgZmFpbCBzZWVrIHByb3Blcmx5IG9uIGFueXRoaW5nIGJ1dCBfQllURVMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA4LTAyLTIwICBCYXN0aWVuIE5vY2VyYSAgPGhhZGVzc0BoYWRlc3MubmV0PgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IChnc3RfbXl0aHR2X3NyY19kb19zZWVrKSwKCSAgKGdzdF9teXRodHZfc3JjX3N0YXJ0KTogVXNpbmcgdGhlIHdyb25nIEdzdEZvcm1hdCBmb3IgdGhlIGZpbGVzaXplLAoJICBhbmQgZmFpbCBzZWVrIHByb3Blcmx5IG9uIGFueXRoaW5nIGJ1dCBfQllURVMgZm9ybWF0CgkgIEZpeGVzIGJ1ZyAjNTE3Njg0CgoyMDA4LTAyLTIwIDA5OjMzOjI1ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBzbWFsbCBtZW1vcnkgbGVhaywgbGVha2luZyBjYXBzLiBGaXhlcyAjYnVnIDUxNzU3MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIEZpeCBzbWFsbCBtZW1vcnkgbGVhaywgbGVha2luZyBjYXBzLiBGaXhlcyAjYnVnIDUxNzU3MS4KCjIwMDgtMDItMTkgMTE6NTA6NDUgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBjaGFuZ2UgZ215dGgtMS4wIHRvIGdteXRoCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjaGFuZ2UgZ215dGgtMS4wIHRvIGdteXRoCgoyMDA4LTAyLTE5IDEwOjUxOjM0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvdHRhL01ha2VmaWxlLmFtOiBMaW5rIHR0YSBwbHVnaW4gd2l0aCBsaWJtLiBGaXhlcyBidWcgIzUxNzM5MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3R0YS9NYWtlZmlsZS5hbToKCSAgTGluayB0dGEgcGx1Z2luIHdpdGggbGlibS4gRml4ZXMgYnVnICM1MTczOTEuCgoyMDA4LTAyLTE0IDE3OjA5OjM4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9jYW11dGlscy5jOiBEbyBub3QgYXNzdW1lICJkZXNjcmlwdG9ycyIgcHJvcGVydHkgaW4gdGhlIHBtdCBzdHJ1Y3R1cmUgaXMgcHJlc2VudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9jYW11dGlscy5jOgoJICBEbyBub3QgYXNzdW1lICJkZXNjcmlwdG9ycyIgcHJvcGVydHkgaW4gdGhlIHBtdCBzdHJ1Y3R1cmUKCSAgaXMgcHJlc2VudC4KCSAgRml4ZXMgIzUxNjQ5OS4KCjIwMDgtMDItMTQgMTY6MjU6NTEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogSWdub3JlIHN0cmVhbXMgdGhhdCBkaWQgbm90IHJlY2VpdmUgYW4gU1IgcGFja2V0IHdoZW4gZG9pbmcgc3luY2hyb25pc2F0aW9uLiBGaXhlcyAjNTE2MTYwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpOgoJICBJZ25vcmUgc3RyZWFtcyB0aGF0IGRpZCBub3QgcmVjZWl2ZSBhbiBTUiBwYWNrZXQgd2hlbiBkb2luZwoJICBzeW5jaHJvbmlzYXRpb24uIEZpeGVzICM1MTYxNjAuCgoyMDA4LTAyLTE0IDE0OjMzOjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOiBTZXQgbl9saW5lX2N0cmxfaSB0byAwIHdoZW5ldmVyIHdlIGZyZWUgbGluZV9jdHJsX2kuIFBhdGNoIGJhc2VkIG9uIGFuIGlkZWEgYnkgSmFuIFNjaG1pZHQsIGYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzogKGdzdF9kdmRfc3B1X2hhbmRsZV9uZXdfc3B1X2J1Zik6CgkgIFNldCBuX2xpbmVfY3RybF9pIHRvIDAgd2hlbmV2ZXIgd2UgZnJlZSBsaW5lX2N0cmxfaS4gUGF0Y2ggYmFzZWQKCSAgb24gYW4gaWRlYSBieSBKYW4gU2NobWlkdCwgZml4ZXMgYnVnICM1MTY0MzYuCgoyMDA4LTAyLTE0IDE0OjIyOjU3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogTWFrZSBzdXJlIHRoZSBnc3RtcGVnZGVzYyBkZWJ1ZyBsaW5lcyBkbyBub3QgY3JpdGljYWwgd2hlbiBHU1RfREVCVUcgaXMgZW5hYmxlZCBhbmQgYWxzbyBhY3R1YWxseSBvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9nc3RtcGVnZGVzYy5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9nc3RtcGVnZGVzYy5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBNYWtlIHN1cmUgdGhlIGdzdG1wZWdkZXNjIGRlYnVnIGxpbmVzIGRvIG5vdCBjcml0aWNhbAoJICB3aGVuIEdTVF9ERUJVRyBpcyBlbmFibGVkIGFuZCBhbHNvIGFjdHVhbGx5IG91dHB1dC4KCSAgVGhhbmtzIHRvIEFsZXNzYW5kcm8gRGVjaW5hIGZvciBzcG90dGluZy4KCSAgRml4ZXMgIzUxNjQ0OAoKMjAwOC0wMi0xMyAyMzo1Mjo0MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBBbHNvIGFkZCBkc2hvdyBwaWVjZXMgdG8gdGhlIGRpc3RlZCBzdWJkaXJzIHRvIGZpeCBkaXN0Y2hlY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgIEFsc28gYWRkIGRzaG93IHBpZWNlcyB0byB0aGUgZGlzdGVkIHN1YmRpcnMgdG8gZml4IGRpc3RjaGVjay4KCjIwMDgtMDItMTMgMTQ6NDA6MzMgKzAwMDAgIEpvc2VwIFRvcnJhIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgoJICBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiBGaXggcG90ZW50aWFsIGJ1ZmZlciBsZWFrIGluIHJldmVyc2UgbW9kZS4gUmUtRml4ZXMgIzUxNjA2MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb3NlcCBUb3JyYSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IChnc3RfaDI2NF9wYXJzZV9jaGFpbl9yZXZlcnNlKToKCSAgRml4IHBvdGVudGlhbCBidWZmZXIgbGVhayBpbiByZXZlcnNlIG1vZGUuIFJlLUZpeGVzICM1MTYwNjEuCgoyMDA4LTAyLTEzIDExOjIyOjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IEFsbG93IGdteXRoIHZlcnNpb25zIGZyb20gMC40IHVwIHRvIDAuNy45OSwgdGhlIEFQSSBkaWRuJ3QgY2hhbmdlIHVudGlsIDAuNyBmb3J0dW5hdGVseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBBbGxvdyBnbXl0aCB2ZXJzaW9ucyBmcm9tIDAuNCB1cCB0byAwLjcuOTksIHRoZSBBUEkgZGlkbid0IGNoYW5nZQoJICB1bnRpbCAwLjcgZm9ydHVuYXRlbHkuCgoyMDA4LTAyLTEyIDIzOjE2OjIxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogR2VuZXJhdGUgdGhlIGRpcmVjdHNob3cgTWFrZWZpbGVzIHNvIHRoYXQgdGhlIGRpcmVjdG9yaWVzIGdldCBkaXN0ZWQuIFN0aWxsIG5lZWRzIHNvbWUgY29uZmlndXJlIHRpbWUgZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEdlbmVyYXRlIHRoZSBkaXJlY3RzaG93IE1ha2VmaWxlcyBzbyB0aGF0IHRoZSBkaXJlY3RvcmllcwoJICBnZXQgZGlzdGVkLiBTdGlsbCBuZWVkcyBzb21lIGNvbmZpZ3VyZSB0aW1lIGRldGVjdGlvbiB0byBlbmFibGUKCSAgYnVpbGRpbmcgdGhlbSB1bmRlciBNaW5nVy4KCjIwMDgtMDItMTIgMjM6MTM6NTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOiBEb24ndCBpbnN0YWxsIGEgaGVhZGVyIGZpbGUuIFdlIHdpbGwgaGF2ZSB0byBtZXJnZSB0aGVzZSB0YWdzIGludG8gbGliZ3N0dGFnIGFmdGVyIHRoZSByZWxlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSAgRG9uJ3QgaW5zdGFsbCBhIGhlYWRlciBmaWxlLiBXZSB3aWxsIGhhdmUgdG8gbWVyZ2UgdGhlc2UKCSAgdGFncyBpbnRvIGxpYmdzdHRhZyBhZnRlciB0aGUgcmVsZWFzZSBhbmQgdXNlIHRoZW0gZnJvbSB0aGVyZS4KCSAgRml4ZXM6ICM1MTU4NjAKCjIwMDgtMDItMTIgMjI6MTA6MzkgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIEFkZCBNYWtlZmlsZXMgdG8gd2luMzIgcGx1Z2lucyBhbmQgbGliLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICBBZGQgTWFrZWZpbGVzIHRvIHdpbjMyIHBsdWdpbnMgYW5kIGxpYi4KCSAgVGhleSB3aWxsIG5lZWQgdG8gYmUgdGVzdGVkIGFuZCBwcm9iYWJseSBmaXhlZCBieSBkZXZlbG9wZXJzCgkgIHdvcmtpbmcgd2l0aCBtaW5ndy4gVGhpcyBpcyBhIGZpcnN0IHN0ZXAgdG8gaW5jbHVkZSBzb3VyY2UgZmlsZXMKCSAgd2l0aCByZWxlYXNlcy4KCjIwMDgtMDItMTIgMjE6MzE6NTcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2R2YmJhc2ViaW4uYzogRml4IGxlYWsgb2YgbG9jYXRpb24gc3RyaW5nIHJldHVybmVkIGZyb20gZ3N0X3VyaV9nZXRfbG9jYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBGaXggbGVhayBvZiBsb2NhdGlvbiBzdHJpbmcgcmV0dXJuZWQgZnJvbSBnc3RfdXJpX2dldF9sb2NhdGlvbi4KCSAgRml4ZXMgYnVnICM1MTYxMTQKCjIwMDgtMDItMTIgMjE6MDE6MTcgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgUmVtb3ZlIGdsaW1hZ2VzaW5rLCBhcyBpdCdzIGJlZW4gbW92ZWQgdG8gZ3N0LXBsdWdpbnMtZ2wuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2xpbWFnZXNpbmsueG1sOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZ2xzaW5rL0JVR1M6CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZ2xzaW5rL2NvbG9yX21hdHJpeC5jOgoJICAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmM6CgkgICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOgoJICAqIHN5cy9nbHNpbmsvZ2x0ZXN0c3JjLmM6CgkgICogc3lzL2dsc2luay9nbHRlc3RzcmMuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xjb252ZXJ0LmM6CgkgICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlcmV4YW1wbGUuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdGVzdHNyYy5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x0ZXN0c3JjLmg6CgkgICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0b3BlbmdsLmM6CgkgIFJlbW92ZSBnbGltYWdlc2luaywgYXMgaXQncyBiZWVuIG1vdmVkIHRvIGdzdC1wbHVnaW5zLWdsLgoJICBGaXhlcyAjNTE2MDk0LgoKMjAwOC0wMi0xMiAxODoyOToyOSArMDAwMCAgSm9zZXAgVG9ycmEgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkgIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IEZpeCBwb3RlbnRpYWwgYnVmZmVyIGxlYWsgaW4gcmV2ZXJzZSBtb2RlLiBGaXhlcyAjNTE2MDYxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvc2VwIFRvcnJhIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogKGdzdF9oMjY0X3BhcnNlX2NoYWluX3JldmVyc2UpOgoJICBGaXggcG90ZW50aWFsIGJ1ZmZlciBsZWFrIGluIHJldmVyc2UgbW9kZS4gRml4ZXMgIzUxNjA2MS4KCjIwMDgtMDItMTIgMTE6MDg6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHN5cy9kc2hvd2RlY3dyYXBwZXIvOiBDaGFpbiB1cCBkaXNwb3NlIG1ldGhvZHMgcHJvcGVybHkuIEZpeGVzIGJ1ZyAjNTE1OTcwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuYzoKCSAgKGdzdF9kc2hvd2F1ZGlvZGVjX2Rpc3Bvc2UpOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jOgoJICAoZ3N0X2RzaG93dmlkZW9kZWNfZGlzcG9zZSk6CgkgIENoYWluIHVwIGRpc3Bvc2UgbWV0aG9kcyBwcm9wZXJseS4gRml4ZXMgYnVnICM1MTU5NzAuCgoyMDA4LTAyLTEyIDExOjAyOjM3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgQ2hhbmdlbG9nIHN1cmdlcnk6IG1lbnRpb24gYnVnIDUxNTkxOSBmaXhlZCBpbiBteSBwcmV2aW91cyBjb21taXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZWxvZyBzdXJnZXJ5OiBtZW50aW9uIGJ1ZyA1MTU5MTkgZml4ZWQgaW4gbXkgcHJldmlvdXMgY29tbWl0CgoyMDA4LTAyLTEyIDEwOjU3OjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6IEZpeCBsZWFraW5nIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICAobXBlZ3ZpZGVvcGFyc2VfaGFuZGxlX3NlcXVlbmNlKSwgKG1wZWd2aWRlb3BhcnNlX2RyYWluX2F2YWlsKSwKCSAgKGdzdF9tcGVndmlkZW9wYXJzZV9jaGFuZ2Vfc3RhdGUpOgoJICBGaXggbGVha2luZyBjYXBzLgoJICBGaXggcG90ZW50aWFsIGJ1ZmZlciBsZWFrIGluIGZvcndhcmQgbW9kZS4KCSAgQ2xlYW51cCBxdWV1ZXMgd2hlbiBnb2luZyB0byBSRUFEWS4gRml4ZXMgIzUxNTgxNS4KCjIwMDgtMDItMTIgMTA6MjQ6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGRvY3MvcGx1Z2lucy86IFJlbW92ZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgR0lPIHBsdWdpbiBhcyBpdCB3YXMgbW92ZWQgdG8gZ3N0LXBsdWdpbnMtYmFzZS4gRml4ZXMgYnVnICM1MTU5NjQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2lvLnhtbDoKCSAgUmVtb3ZlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBHSU8gcGx1Z2luIGFzIGl0IHdhcyBtb3ZlZCB0bwoJICBnc3QtcGx1Z2lucy1iYXNlLiBGaXhlcyBidWcgIzUxNTk2NC4KCjIwMDgtMDItMTIgMTA6MjI6NDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgRml4IHNvbWUgZmluYWxpemUgbGVha3MgYnkgY2hhaW5pbmcgdXAgdG8gdGhlIHBhcmVudCBtZXRob2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5LmM6CgkgIEZpeCBzb21lIGZpbmFsaXplIGxlYWtzIGJ5IGNoYWluaW5nIHVwIHRvIHRoZSBwYXJlbnQgbWV0aG9kLgoKMjAwOC0wMi0xMiAwNToyMTo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogSW5jbHVkZSBnbGliL2dwcmludGYuaCBmb3IgZ192YXNwcmludGYoKS4gRml4ZXMgYnVnICM1MTU1NjQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6CgkgIEluY2x1ZGUgZ2xpYi9ncHJpbnRmLmggZm9yIGdfdmFzcHJpbnRmKCkuIEZpeGVzIGJ1ZyAjNTE1NTY0LgoKMjAwOC0wMi0xMiAwNToxOTowNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogRnJlZSB0aGUgcmZiIGRlY29kZXIgb24gZmluYWxpemUuIEZpeGVzIGJ1ZyAjNTE1NzIxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiAoZ3N0X3JmYl9zcmNfZGlzcG9zZSk6CgkgIEZyZWUgdGhlIHJmYiBkZWNvZGVyIG9uIGZpbmFsaXplLiBGaXhlcyBidWcgIzUxNTcyMS4KCjIwMDgtMDItMTEgMTM6MzQ6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzogRnJlZSB0aGUgZGV2aWNlIHN0cmluZyBpbiBmaW5hbGl6ZS4gRml4ZXMgYnVnICM1MTU3MjIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzogKGdzdF9mYmRldnNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfZmJkZXZzaW5rX2ZpbmFsaXplKToKCSAgRnJlZSB0aGUgZGV2aWNlIHN0cmluZyBpbiBmaW5hbGl6ZS4gRml4ZXMgYnVnICM1MTU3MjIuCgoyMDA4LTAyLTExIDEzOjMzOjEwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQveHZpZC9nc3R4dmlkZW5jLmM6IFVuc2V0IEdWYWx1ZXMgYWZ0ZXIgdXNpbmcgdGhlbS4gRml4ZXMgYnVnICM1MTU3MjAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogKGdzdF94dmlkZW5jX2luaXQpOgoJICBVbnNldCBHVmFsdWVzIGFmdGVyIHVzaW5nIHRoZW0uIEZpeGVzIGJ1ZyAjNTE1NzIwLgoKMjAwOC0wMi0xMSAwNToxMToyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERpc2FibGUgdGhlIGR2YiBwbHVnaW4gZm9yIHRoZSBzdGF0ZXMgdGVzdC4gRml4ZXMgYnVnICM1MTU1NjcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEaXNhYmxlIHRoZSBkdmIgcGx1Z2luIGZvciB0aGUgc3RhdGVzIHRlc3QuIEZpeGVzIGJ1ZyAjNTE1NTY3LgoKMjAwOC0wMi0xMCAyMTowMzo1NCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhX21hcHBpbmcuaHRtOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgUmV2ZXJ0IGNoYW5nZXMgdG8gMjAwOC0wMi0wOSBkdWUgdG8gZnJvemVuLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2ZXJ0IGNoYW5nZXMgdG8gMjAwOC0wMi0wOSBkdWUgdG8gZnJvemVuLgoKMjAwOC0wMi0xMCAxOTo0NDo1MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIEZpeCBKb3NlcCdzIHN1cm5hbWUgaW4gdGhlIHByZXZpb3VzIGZldyBjb21taXRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggSm9zZXAncyBzdXJuYW1lIGluIHRoZSBwcmV2aW91cyBmZXcgY29tbWl0cwoKMjAwOC0wMi0xMCAxOTowMTo0MyArMDAwMCAgSm9zZXAgVG9ycmUgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkgIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzogVHJpdmlhbCBmaXggZm9yIGJ1aWxkIHdhcm5pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgVHJpdmlhbCBmaXggZm9yIGJ1aWxkIHdhcm5pbmcuCgkgIFBhdGNoIGJ5OiBKb3NlcCBUb3JyZSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoJICBGaXhlczogIzUxNTU4OAoKMjAwOC0wMi0xMCAxODozNjo0NiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJICBDb252ZXJ0IGZyb20gRVhJRiB0byBYTVAgRGF0YVRpbWUgYXMgbG9jYWwgdGltZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENvbnZlcnQgZnJvbSBFWElGIHRvIFhNUCBEYXRhVGltZSBhcyBsb2NhbCB0aW1lLgoKMjAwOC0wMi0xMCAwNDozNjoxMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhX21hcHBpbmcuaHRtOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgTWFwIERhdGUtVGltZSBhbmQgR1BTIHRhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNYXAgRGF0ZS1UaW1lIGFuZCBHUFMgdGFncy4KCjIwMDgtMDItMDkgMDM6Mzc6NDAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL01ha2VmaWxlLmFtOiBMaXN0aW5nIHRoZSBtYXJzaGFsLmggaW4gdGhlIG5vZGlzdF9IRUFERVJTIGJyZWFrcyBkaXN0Y2hlY2ssIHNvIGxldCdzIG5vdCBkbyB0aGF0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9NYWtlZmlsZS5hbToKCSAgTGlzdGluZyB0aGUgbWFyc2hhbC5oIGluIHRoZSBub2Rpc3RfSEVBREVSUyBicmVha3MgZGlzdGNoZWNrLCBzbwoJICBsZXQncyBub3QgZG8gdGhhdAoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEaXNhYmxlIHRoZSBjcmFzaGluZyBjZGF1ZGlvIHBsdWdpbiBmcm9tIHRoZSBzdGF0ZXMgdGVzdCBzbyBJIGNhbiBtYWtlCgkgIHByZS1yZWxlYXNlcy4KCjIwMDgtMDItMDkgMDI6MzM6MDYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgd2luMzIvdnM2LzogQ29udmVydCB0byBET1MgbGluZSBlbmRpbmdzLCBhbmQgc2V0IC1rYgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZHNob3dkZWN3cmFwcGVyLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0Zmx2LmRzcDoKCSAgQ29udmVydCB0byBET1MgbGluZSBlbmRpbmdzLCBhbmQgc2V0IC1rYgoKMjAwOC0wMi0wOCAxODoyMjowOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvOiBBZGQgVVJJIEhhbmRsZXIgZm9yIGR2Yi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgQWRkIFVSSSBIYW5kbGVyIGZvciBkdmIuCgkgIFJlLW9yZGVyIHBhZCB0ZW1wbGF0ZXMgdG8gd29ya2Fyb3VuZCBhIGJ1ZyBpbiBwbGF5YmFzZWJpbi4KCSAgKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuaDoKCSAgQWRkIGNvZGUgdG8gcGFyc2UgY2hhbm5lbHMgZnJvbSB6YXAtc3R5bGUgY2hhbm5lbHMuY29uZiBmaWxlcy4KCjIwMDgtMDItMDggMDQ6MjI6MDYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVtb3ZlIG11bHRpZmlsZSBwbHVnaW4sIHdoaWNoIGhhcyBtb3ZlZCB0byAtZ29vZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdWx0aWZpbGUueG1sOgoJICAqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGUuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmg6CgkgICogZ3N0L211bHRpZmlsZS9tdWx0aWZpbGUudnByb2o6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIFJlbW92ZSBtdWx0aWZpbGUgcGx1Z2luLCB3aGljaCBoYXMgbW92ZWQgdG8gLWdvb2QKCjIwMDgtMDItMDggMDM6NDQ6MTIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L211bHRpZmlsZS86IFVzZSBnX2ZpbGVfW3NnXWV0X2NvbnRlbnRzKCkgaW5zdGVhZCBvZiB1c2luZyBzdGRpbyBmdW5jdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgIFVzZSBnX2ZpbGVfW3NnXWV0X2NvbnRlbnRzKCkgaW5zdGVhZCBvZiB1c2luZyBzdGRpbyBmdW5jdGlvbnMuCgkgIFNob3VsZCBiZSBsZXNzIGVycm9yIHByb25lLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICBDcmVhdGUgYSB0ZW1wb3JhcnkgZGlyZWN0b3J5IHVzaW5nIHN0YW5kYXJkIGZ1bmN0aW9ucyBpbnN0ZWFkIG9mCgkgIGNyZWF0aW5nIGEgZGlyZWN0b3J5IGluIHRoZSBjdXJyZW50IGRpci4KCjIwMDgtMDItMDggMDM6Mjc6MTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVtb3ZlIHNwZWN0cnVtIHBsdWdpbiwgd2hpY2ggaGFzIG1vdmVkIHRvIC1nb29kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBnc3Qvc3BlY3RydW0vLmN2c2lnbm9yZToKCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWN0cnVtL1JFQURNRToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgKiBnc3Qvc3BlY3RydW0vc3BlY3RydW0udmNwcm9qOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6CgkgIFJlbW92ZSBzcGVjdHJ1bSBwbHVnaW4sIHdoaWNoIGhhcyBtb3ZlZCB0byAtZ29vZAoKMjAwOC0wMi0wOCAwMjo0ODo1NCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuKjogUmVtb3ZlIGVxdWFsaXplciBwbHVnaW4gZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICBSZW1vdmUgZXF1YWxpemVyIHBsdWdpbiBkb2NzCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEFkZCBHU1RfT1BUSU9OX0NGTEFHUywgdG8gZ2V0IC1XZXJyb3IgLVdhbGwgaW50byB0aGUgdGVzdHMgYXMgZm9yCgkgIG90aGVyIG1vZHVsZXMuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnbGltaXRlci5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3MgZnJvbSAtV2FsbCAtV2Vycm9yCgoyMDA4LTAyLTA4IDAyOjAwOjQ5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSB0aGUgZXF1YWxpemVyIHBsdWdpbiwgd2hpY2ggaGFzIG1vdmVkIHRvIC1nb29kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJICAqIGdzdC9lcXVhbGl6ZXIvLmN2c2lnbm9yZToKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvZGVtby5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuaDoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmg6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6CgkgIFJlbW92ZSB0aGUgZXF1YWxpemVyIHBsdWdpbiwgd2hpY2ggaGFzIG1vdmVkIHRvIC1nb29kCgoyMDA4LTAyLTA4IDAxOjEyOjA5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogTWFrZSBESVNBQkxFX0RFUFJFQ0FURUQgZGVmaW5lZCAqb25seSogZHVyaW5nIENWUywgbm90IGR1cmluZyBwcmUtcmVsZWFzZXMgb3IgcmVsZWFzZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgTWFrZSBESVNBQkxFX0RFUFJFQ0FURUQgZGVmaW5lZCAqb25seSogZHVyaW5nIENWUywgbm90IGR1cmluZwoJICBwcmUtcmVsZWFzZXMgb3IgcmVsZWFzZXMuCgoyMDA4LTAyLTA4IDAwOjQ4OjMwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogRG9uJ3Qgc2NhbiBkZWxldGVkIHhpbmdtdXggaGVhZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIERvbid0IHNjYW4gZGVsZXRlZCB4aW5nbXV4IGhlYWRlci4KCjIwMDgtMDItMDggMDA6NDA6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVtb3ZlIHRoZSB4aW5nbXV4IHBsdWdpbiwgYXMgdGhlIGVsZW1lbnQgaGFzIG1vdmVkIGludG8gbXBlZ2F1ZGlvcGFyc2UgaW4gLXVnbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJICAqIGdzdC94aW5naGVhZGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4Lmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy94aW5nbXV4LmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveGluZ211eF90ZXN0ZGF0YS5oOgoJICBSZW1vdmUgdGhlIHhpbmdtdXggcGx1Z2luLCBhcyB0aGUgZWxlbWVudCBoYXMgbW92ZWQgaW50bwoJICBtcGVnYXVkaW9wYXJzZSBpbiAtdWdseS4KCjIwMDgtMDItMDcgMjM6Mzc6MzIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBSZW1vdmUgbWVudGlvbiBvZiBub24tZXhpc3RlbnQgaGVhZGVycyB0byBmaXggdGhlIGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBtZW50aW9uIG9mIG5vbi1leGlzdGVudCBoZWFkZXJzIHRvIGZpeCB0aGUgYnVpbGQuCgoyMDA4LTAyLTA3IDIzOjMwOjQ1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSBHSU8gcGx1Z2luIHdoaWNoIGhhcyBub3cgbW92ZWQgdG8gLWJhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2dpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2lvL2dzdGdpby5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvLmg6CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc2luay5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNpbmsuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzcmMuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzcmMuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmg6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zaW5rLmM6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zaW5rLmg6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zcmMuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNyYy5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9naW8uYzoKCSAgUmVtb3ZlIEdJTyBwbHVnaW4gd2hpY2ggaGFzIG5vdyBtb3ZlZCB0byAtYmFzZS4KCjIwMDgtMDItMDcgMjE6NTM6MzkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVtb3ZlIGxwd3NpbmMgYW5kIGJwd3NpbmMgZWxlbWVudHMgLSB0aGV5J3ZlIGJlY29tZSBhdWRpb3dzaW5jbGltaXQgYW5kIGF1ZGlvd3NpbmNiYW5kIHJlc3BlY3RpdmVseSwgaW4gdGhlIGdzdC1wbHVnLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9maWx0ZXIvZmlsdGVyLnZjcHJvajoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgKiBnc3QvZmlsdGVyL2dzdGZpbHRlci5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0ZmlsdGVyLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYnB3c2luYy5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xwd3NpbmMuYzoKCSAgUmVtb3ZlIGxwd3NpbmMgYW5kIGJwd3NpbmMgZWxlbWVudHMgLSB0aGV5J3ZlIGJlY29tZQoJICBhdWRpb3dzaW5jbGltaXQgYW5kIGF1ZGlvd3NpbmNiYW5kIHJlc3BlY3RpdmVseSwgaW4gdGhlCgkgIGdzdC1wbHVnaW5zLWdvb2QgYXVkaW9meCBwbHVnaW4uCgoyMDA4LTAyLTA3IDIxOjAyOjE5ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBleHRcbmVvblxnc3RuZW9uaHR0cHNyYy5jOiBJbmNsdWRlIHVuaXN0ZC5oIG9ubHkgaWYgX0hBVkVfVU5JU1REX0ggaXMgZGVmaW5lZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHRcbmVvblxnc3RuZW9uaHR0cHNyYy5jOgoJICBJbmNsdWRlIHVuaXN0ZC5oIG9ubHkgaWYgX0hBVkVfVU5JU1REX0ggaXMgZGVmaW5lZAoJICAqIGdzdFxtcGVndmlkZW9wYXJzZVxtcGVndmlkZW9wYXJzZS5jOgoJICBVc2UgR19HVUlOVDY0X0NPTlNUQU5UIEdMSUIgbWFjcm8gZm9yIGNvbnN0YW50CgkgICogc3lzXGRzaG93c3Jjd3JhcHBlclxnc3Rkc2hvd2F1ZGlvc3JjLmM6CgkgICogc3lzXGRzaG93c3Jjd3JhcHBlclxnc3Rkc2hvd3ZpZGVvc3JjLmM6CgkgICogc3lzXGRzaG93ZGVjd3JhcHBlclxnc3Rkc2hvd2F1ZGlvZGVjLmM6CgkgICogc3lzXGRzaG93ZGVjd3JhcHBlclxnc3Rkc2hvd2F1ZGlvZGVjLmg6CgkgICogc3lzXGRzaG93ZGVjd3JhcHBlclxnc3Rkc2hvd2RlY3dyYXBwZXIuYzoKCSAgKiBzeXNcZHNob3dkZWN3cmFwcGVyXGdzdGRzaG93ZGVjd3JhcHBlci5oOgoJICAqIHN5c1xkc2hvd2RlY3dyYXBwZXJcZ3N0ZHNob3d2aWRlb2RlYy5jCgkgICogc3lzXGRzaG93ZGVjd3JhcHBlclxnc3Rkc2hvd3ZpZGVvZGVjLmg6CgkgIEFkZCBhIERpcmVjdFNob3cgZGVjb2RlciB3cmFwcGVyLgoJICAqIHdpbjMyXE1BTklGRVNUOgoJICBBZGQgbmV3IHdpbjMyIGZpbGVzIHRvIE1BTklGRVNUCgkgICogd2luMzJcdnM2XGdzdF9wbHVnaW5zX2JhZC5kc3c6CgkgICogd2luMzJcdnM2XGxpYmdzdGRzaG93LmRzcDoKCSAgKiB3aW4zMlx2czZcbGliZ3N0ZHNob3dkZWN3cmFwcGVyLmRzcDoKCSAgKiB3aW4zMlx2czZcbGliZ3N0Zmx2LmRzcDoKCSAgQWRkIG5ldyBwcm9qZWN0cyB0byBiYWQgd29ya3NwYWNlCgoyMDA4LTAyLTA3IDE0OjQ1OjA2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzogUGFyc2UgY29tcG9uZW50IGRlc2NyaXB0b3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIFBhcnNlIGNvbXBvbmVudCBkZXNjcmlwdG9yLgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBBZGQgU0kgcGlkcyB0byBldmVyeSBwcm9ncmFtIChidXQgaGFyZGNvZGVkIGN1cnJlbnRseSkuCgoyMDA4LTAyLTA3IDEzOjU5OjQxICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YV9tYXBwaW5nLmh0bToKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5nbGFkZToKCSAgQWRkIG1vcmUgdGFncy4gSW1wcm92ZSB0ZXN0IGFwcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBtb3JlIHRhZ3MuIEltcHJvdmUgdGVzdCBhcHAuCgoyMDA4LTAyLTA3IDEzOjQ4OjIwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzogQWRkIGEgZml4bWUgY29tbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgIEFkZCBhIGZpeG1lIGNvbW1lbnQuCgkgICogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIEZpeCBzYW1lIGxlYWsgYXMgaW4gaW5wdXQtc2VsZWN0b3IuCgkgICogdGVzdHMvaWNsZXMvb3V0cHV0LXNlbGVjdG9yLXRlc3QuYzoKCSAgSW1wcm92ZSB0aGUgdGVzdC4KCjIwMDgtMDItMDcgMTM6NDE6MTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBJbXByb3ZlIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgSW1wcm92ZSB0aGUgZG9jcy4KCjIwMDgtMDItMDcgMTI6MDU6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFRoZSBkYzEzOTQgcGx1Z2luIHNlZW1zIHRvIHVzZSBBUEkgdGhhdCB3YXMgcmVtb3ZlZCBvciBjaGFuZ2VkIGJlZm9yZSB0aGUgZmluYWwgMi4wLjAgcmVsZWFzZSwgc28gb25seSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBUaGUgZGMxMzk0IHBsdWdpbiBzZWVtcyB0byB1c2UgQVBJIHRoYXQgd2FzIHJlbW92ZWQgb3IgY2hhbmdlZAoJICBiZWZvcmUgdGhlIGZpbmFsIDIuMC4wIHJlbGVhc2UsIHNvIG9ubHkgYnVpbGQgaXQgaWYgMi4wLjAtcmM1CgkgIGlzIGF2YWlsYWJsZS4gU29tZW9uZSBuZWVkcyB0byBwb3J0IGl0IHRvIHRoZSBmaW5hbCBBUEkuCgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzogKGdzdF9kYzEzOTRfY2hhbmdlX2NhbWVyYV90cmFuc21pc3Npb24pOgoJICBJbmNsdWRlIHN0cmluZy5oIGZvciBtZW1jcHkgYW5kIHVzZSBnX3VzbGVlcCBpbnN0ZWFkIG9mIHVzbGVlcC4KCjIwMDgtMDItMDcgMTA6MDQ6MDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiBGaXggdHlwbyBpbiB0aGUgbG9uZyBkZXNjcmlwdGlvbiBvZiB0aGUgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgIEZpeCB0eXBvIGluIHRoZSBsb25nIGRlc2NyaXB0aW9uIG9mIHRoZSBlbGVtZW50LgoKMjAwOC0wMi0wNyAwMjowNjoxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QveGluZ2hlYWRlci9NYWtlZmlsZS5hbTogUHV0IENGTEFHUyBhbmQgTElCUyBpbiB0aGUgcmlnaHQgb3JkZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3hpbmdoZWFkZXIvTWFrZWZpbGUuYW06CgkgIFB1dCBDRkxBR1MgYW5kIExJQlMgaW4gdGhlIHJpZ2h0IG9yZGVyCgoyMDA4LTAyLTA2IDE4OjU2OjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiB4aW1hZ2VzcmMgaGFzIG1vdmVkIHRvIC1nb29kLCBzbyBubyBuZWVkIHRvIGNoZWNrIGZvciB0aGUgcmVxdWlyZWQgWCBsaWJzIGhlcmUgYW55IG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgeGltYWdlc3JjIGhhcyBtb3ZlZCB0byAtZ29vZCwgc28gbm8gbmVlZCB0byBjaGVjayBmb3IKCSAgdGhlIHJlcXVpcmVkIFggbGlicyBoZXJlIGFueSBtb3JlLgoKMjAwOC0wMi0wNiAxMTowNzo0NyArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IEZpeCBtZW1vcnkgbGVhayBhbmQgaW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9jaHVua19jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19jcmVhdGUpOgoJICBGaXggbWVtb3J5IGxlYWsgYW5kIGltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoKMjAwOC0wMi0wNSAxNzoxMDoxMSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFfbWFwcGluZy5odG06CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkgIEFkZCBtb3JlIHRhZ3MgbWFwcGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBtb3JlIHRhZ3MgbWFwcGluZy4KCjIwMDgtMDItMDUgMTI6MTk6NDYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzogSGFuZGxlIGxhdGVuY3kgcXVlcmllcyBpbiBzcmMgcGFkcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIEhhbmRsZSBsYXRlbmN5IHF1ZXJpZXMgaW4gc3JjIHBhZHMuCgoyMDA4LTAyLTA1IDExOjQwOjQzICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzogQWRkIGZsYWcgdG8gYm90aCBzZHQgYW5kIG5pdCBzdHJ1Y3R1cmVzIHRvIHNheSB3aGV0aGVyIHRoZSB0YWJsZSBpcyBmb3IgdGhlIGFjdHVhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIEFkZCBmbGFnIHRvIGJvdGggc2R0IGFuZCBuaXQgc3RydWN0dXJlcyB0byBzYXkKCSAgd2hldGhlciB0aGUgdGFibGUgaXMgZm9yIHRoZSBhY3R1YWwgbmV0d29yay90cwoJICBvciBub3QuCgoyMDA4LTAyLTA1IDExOjMwOjQ5ICswMDAwICBKb3NlcCBUb3JyZSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSAgZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6IEZsdXNoIHBhY2tldGl6ZXIgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvc2VwIFRvcnJlIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6IChnc3RfbXBlZ3ZpZGVvcGFyc2VfZmx1c2gpOgoJICBGbHVzaCBwYWNrZXRpemVyIHRvby4KCjIwMDgtMDItMDQgMTk6MTU6MzkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IERvbid0IHVzZSBHU1RfQk9JTEVSUExBVEUgYXMgdGhlIHN0dWZmIGdlbmVyYXRlZCBmcm9tIGl0IGlzIG5vdCB1c2VkIGFueXdheSBhbmQgY2FuJ3QgYmUgdXNlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzogKGdzdF9sYWRzcGFfYmFzZV9pbml0KSwKCSAgKGdzdF9sYWRzcGFfY2xhc3NfaW5pdCksIChsYWRzcGFfZGVzY3JpYmVfcGx1Z2luKSwgKHBsdWdpbl9pbml0KToKCSAgRG9uJ3QgdXNlIEdTVF9CT0lMRVJQTEFURSBhcyB0aGUgc3R1ZmYgZ2VuZXJhdGVkIGZyb20gaXQgaXMgbm90IHVzZWQKCSAgYW55d2F5IGFuZCBjYW4ndCBiZSB1c2VkLgoJICBTdG9yZSB0aGUgY2xhc3Mgc3RydWN0IG9mIHRoZSBjb3JyZWN0IHR5cGUgaW4gcGFyZW50X2NsYXNzLgoJICBQYXNzIHRoZSBMQURTUEFfRGVzY3JpcHRvciBhcyBjbGFzc19kYXRhIHRvIHRoZSBjbGFzc19pbml0IGZ1bmN0aW9uCgkgIGFzIHByZXBhcmF0aW9uIGZvciB0aGUgdGltZSwgd2hlbiB3ZSBjYW4gYWRkIHBhZCB0ZW1wbGF0ZXMgYW5kIGZyaWVuZHMKCSAgaW4gY2xhc3NfaW5pdCBhbmQgYWRkIGEgRklYTUUgZm9yIHRoYXQuCgkgIERvbid0IHVzZSBhIGN1c3RvbSBoYXNoIHRhYmxlIGZvciBwYXNzaW5nIHRoZSBMQURTUEFfRGVzY3JpcHRvcnMgdG8KCSAgYmFzZV9pbml0IGJ1dCB1c2UgZ190eXBlX3NldF9xZGF0YSBhbmQgZ190eXBlX2dldF9xZGF0YS4KCjIwMDgtMDItMDQgMTY6MjI6MTEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmNjOiBSZWFsbHkgZml4IHRoZSBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5jYzoKCSAgUmVhbGx5IGZpeCB0aGUgYnVpbGQuCgkgIFRPRE8gOiBBcHBseSBzcGFua09tYXRpYzIwMDAgb24gdGhheXRhbidzIHJlYXIgZW5kLgoKMjAwOC0wMi0wNCAxMzoxMjowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuY2M6IEZpeCBjb21waWxhdGlvbiB3aXRoIGxpYm1qcGVndG9vbHMgMS44LnguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuY2M6CgkgIChHc3RNcGVnMkVuY1BpY3R1cmVSZWFkZXIuU3RyZWFtUGljdHVyZVBhcmFtcyk6CgkgIEZpeCBjb21waWxhdGlvbiB3aXRoIGxpYm1qcGVndG9vbHMgMS44LnguCgoyMDA4LTAyLTA0IDExOjQ4OjUwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiBEb24ndCB1bnJlZiB0aGUgcGFkIHRlbXBsYXRlIGFmdGVyIGFkZGluZyBpdC4gZ3N0X2VsZW1lbnRfY2xhc3NfYWRkX3BhZF90ZW1wbGF0ZSB0YWsuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NsYXNzX2FkZF9wYWRfdGVtcGxhdGUpOgoJICBEb24ndCB1bnJlZiB0aGUgcGFkIHRlbXBsYXRlIGFmdGVyIGFkZGluZyBpdC4KCSAgZ3N0X2VsZW1lbnRfY2xhc3NfYWRkX3BhZF90ZW1wbGF0ZSB0YWtlcyBvd25lcnNoaXAgb2YgaXQuCgoyMDA4LTAyLTAzIDE4OjIyOjE4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuY2M6IFVzZSB0aGUgaW5jb21pbmcgcGl4ZWwtYXNwZWN0LXJhdGlvIGlmIHByb3ZpZGVkIHRvIGluZmVyIGEgZGVmYXVsdCBhc3BlY3Qgci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmNjOgoJICBVc2UgdGhlIGluY29taW5nIHBpeGVsLWFzcGVjdC1yYXRpbyBpZiBwcm92aWRlZCB0byBpbmZlciBhCgkgIGRlZmF1bHQgYXNwZWN0IHJhdGlvLCB3aGljaCBjYW4gYmUgb3ZlcnJpZGRlbiB1c2luZyB0aGUgJ2FzcGVjdCcKCSAgcHJvcGVydHkuCgkgIEZpeGVzOiAjNDk5MDA4CgoyMDA4LTAyLTAzIDE3OjQ3OjI1ICswMDAwICBBbmRyemVqIE1lbmRlbCA8YW5kcnplai5tZW5kZWxAZ21haWwuY29tPgoKCSAgY29uZmlndXJlLmFjOiBGaXggdmFyaWFibGUgbmFtaW5nIHRvIG1ha2UgaXQgcG9zc2libGUgdG8gYnVpbGQgdGhlIGdsaW1hZ2VzaW5rIHBsdWdpbi4gRml4ZXMgYnVnICM1MTQwOTMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW5kcnplaiBNZW5kZWwgPGFuZHJ6ZWogZG90IG1lbmRlbCBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IHZhcmlhYmxlIG5hbWluZyB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIGJ1aWxkIHRoZSBnbGltYWdlc2luawoJICBwbHVnaW4uIEZpeGVzIGJ1ZyAjNTE0MDkzLgoKMjAwOC0wMi0wMiAyMzoyNToxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6IERlbW90ZSBtZXRhZGF0YWRlbXV4IHRvIEdTVF9SQU5LX05PTkUgZm9yIHRoZSByZWxlYXNlLCBpdCdzIG5vdCByZWFkeSB0byBiZSBhdXRvcGx1Zy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJICBEZW1vdGUgbWV0YWRhdGFkZW11eCB0byBHU1RfUkFOS19OT05FIGZvciB0aGUgcmVsZWFzZSwgaXQncyBub3QKCSAgcmVhZHkgdG8gYmUgYXV0b3BsdWdnZWQgeWV0LgoJICAqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBGaXggcHJpbnRmIGZvcm1hdCB3YXJuaW5nIGZvciBHVHlwZSBvbiBwcGMzMiBieSByZW1vdmluZyBpdCwKCSAgc2luY2UgaXQgZG9lc24ndCBtYWtlIHNlbnNlIHRvIHByaW50IHRoZSBHVHlwZSB2YWx1ZSBhbnl3YXkuCgoyMDA4LTAyLTAyIDIwOjIyOjE5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFfbWFwcGluZy5odG06CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkgIE1hcCBtb3JlIEV4aWYgdGFncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE1hcCBtb3JlIEV4aWYgdGFncy4KCjIwMDgtMDItMDEgMTc6MDg6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiBEb24ndCBsZWFrIGV2ZW50IG9uIHBhZHMgdGhhdCBhcmUgbm90IGxpbmtlZC4gRml4ZXMgIzUxMjgyNi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogKGdzdF9zZWxlY3Rvcl9wYWRfZXZlbnQpOgoJICBEb24ndCBsZWFrIGV2ZW50IG9uIHBhZHMgdGhhdCBhcmUgbm90IGxpbmtlZC4gRml4ZXMgIzUxMjgyNi4KCjIwMDgtMDItMDEgMTM6MDI6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9ucywgdG8gYXZvaWQgY29uZnVzaW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9ucywgdG8gYXZvaWQgY29uZnVzaW9uLgoJICAqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzogKGdzdF9kZWludGVybGFjZV9zZXRfY2Fwcyk6CgkgIFVzZSB0aGUgbmV3IEdzdFZpZGVvRm9ybWF0IEFQSSB0byBnZXQgc3RyaWRlcywgcGxhbmUgb2Zmc2V0cyBldGMuLgoJICBGb3IgWTQyQiB3ZSBzdGlsbCBuZWVkIHRvIGNhbGN1bGF0ZSB0aGVzZSBvdXJzZWx2ZXMsIHNpbmNlIHRoZSBsaWIKCSAgaW4gLWJhc2UgZG9lc24ndCBrbm93IGFib3V0IHRoaXMgZm9ybWF0IHlldCBhbmQgd2UgY2FuJ3QgYnVtcCB0aGUKCSAgcmVxdWlyZW1lbnQgdG8gQ1ZTIHJpZ2h0IG5vdy4gRml4IHRoZSBZNDJCIHN0cmlkZSwgb2Zmc2V0IGFuZCBzaXplCgkgIGNhbGN1bGF0aW9ucyBmb3Igb2RkIHdpZHRocyBhbmQgaGVpZ2h0cyB3aGlsZSB3ZSdyZSBhdCBpdCB0aG91Z2gKCSAgKHRvIG1hdGNoIHRob3NlIGluIHZpZGVvdGVzdHNyYykuCgoyMDA4LTAxLTMxIDIxOjU1OjQ0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YV9tYXBwaW5nLmh0bToKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgQWRkIGRvY3VtZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgZG9jdW1lbnRhdGlvbi4KCjIwMDgtMDEtMzEgMTc6MjA6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzogRml4IGNvbXBpbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzogKG1ldGFkYXRhcGFyc2VfanBlZ19yZWFkaW5nKToKCSAgRml4IGNvbXBpbGF0aW9uLgoKMjAwOC0wMS0zMSAxNzoxODo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOiBSZWFsbHkgY2xlYW4gdXAgdGhlIHF1ZXVlIGluc3RlYWQgb2YganVzdCB1bnJlZmZpbmcgYWxsIGJ1ZmZlcnMgaW4gaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOiAoZ3N0X2FwcF9zaW5rX2Rpc3Bvc2UpOgoJICBSZWFsbHkgY2xlYW4gdXAgdGhlIHF1ZXVlIGluc3RlYWQgb2YganVzdCB1bnJlZmZpbmcgYWxsIGJ1ZmZlcnMKCSAgaW4gaXQuCgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzogKGdzdF9hcHBfc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfYXBwX3NyY19jbGFzc19pbml0KSwgKGdzdF9hcHBfc3JjX2luaXQpLAoJICAoZ3N0X2FwcF9zcmNfZGlzcG9zZSksIChnc3RfYXBwX3NyY19maW5hbGl6ZSk6CgkgIEZpeCBkaXNwb3NlL2ZpbmFsaXplLgoKMjAwOC0wMS0zMSAxNTo1MjoxOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEZpeCBjb21waWxlciB3YXJuaW5nIGJ5IG1ha2luZyB0aGUgZnVuY3Rpb24gc2lnbmF0dXJlIG1hdGNoIHdoYXQgZXZlcnlvbmUgaXMgcGFzc2luZyBpbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9jaGFucG9zX3RvX2dzdCk6CgkgIEZpeCBjb21waWxlciB3YXJuaW5nIGJ5IG1ha2luZyB0aGUgZnVuY3Rpb24gc2lnbmF0dXJlIG1hdGNoIHdoYXQKCSAgZXZlcnlvbmUgaXMgcGFzc2luZyBpbi4uLgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBGaXggdGhlIGJ1aWxkIG9uIFNvbGFyaXMgYnkgcmVtb3ZpbmcgR05VIGxkIHNwZWNpZmljIGZsYWdzIHRoYXQKCSAgbG9vayB1bm5lY2Vzc2FyeS4KCjIwMDgtMDEtMzEgMTA6MTY6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbTogQWRkIHNvbWUgcmVsZXZhbnQgdmFyaWFibGVzIHRvIENGTEFHUyBhbmQgTElCQURELCBmb3IgZXhhbXBsZSBvdXIgY29tcGlsZXIgd2FybmluZ3MgcGFyYW10ZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkgIEFkZCBzb21lIHJlbGV2YW50IHZhcmlhYmxlcyB0byBDRkxBR1MgYW5kIExJQkFERCwgZm9yIGV4YW1wbGUgb3VyCgkgIGNvbXBpbGVyIHdhcm5pbmdzIHBhcmFtdGVycy4KCSAgKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkgIChnc3RfYmFzZV9tZXRhZGF0YV9zdHJpcF9wdXNoX2J1ZmZlciksCgkgIChnc3RfYmFzZV9tZXRhZGF0YV9jYWxjdWxhdGVfb2Zmc2V0cyksCgkgIChnc3RfYmFzZV9tZXRhZGF0YV9zcmNfZXZlbnQpLCAoZ3N0X2Jhc2VfbWV0YWRhdGFfc2lua19hY3RpdmF0ZSk6CgkgICogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzogKGdzdF9tZXRhZGF0YV9kZW11eF9pbml0KSwKCSAgKGdzdF9tZXRhZGF0YV9kZW11eF9zZXRfcHJvcGVydHkpLCAoZ3N0X21ldGFkYXRhX2RlbXV4X2Rpc3Bvc2UpOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOiAoZ3N0X21ldGFkYXRhX211eF9pbml0KSwKCSAgKGdzdF9tZXRhZGF0YV9tdXhfc2V0X3Byb3BlcnR5KSwgKGdzdF9tZXRhZGF0YV9tdXhfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9tZXRhZGF0YV9tdXhfZGlzcG9zZSksCgkgIChnc3RfbWV0YWRhdGFfbXV4X2NyZWF0ZV9jaHVua3NfZnJvbV90YWdzKToKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzogKG1ldGFkYXRhX2Rpc3Bvc2UpOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgKG1ldGFkYXRhcGFyc2VfZXhpZl9jb250ZW50X2ZvcmVhY2hfZW50cnlfZnVuYyksCgkgIChtZXRhZGF0YW11eF9leGlmX2Zvcl9lYWNoX3RhZ19pbl9saXN0KToKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkgIChtZXRhZGF0YW11eF9pcHRjX2Zvcl9lYWNoX3RhZ19pbl9saXN0KToKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6IChtZXRhZGF0YW11eF9qcGVnX2xhenlfdXBkYXRlKSwKCSAgKG1ldGFkYXRhbXV4X2pwZWdfcmVhZGluZyk6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmM6IChtZXRhZGF0YW11eF9wbmdfcmVhZGluZyk6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6IChtZXRhZGF0YXBhcnNlX2pwZWdfcmVhZGluZyk6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuaDoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzogKG1ldGFkYXRhcGFyc2VfeG1wX3RhZ19saXN0X2FkZCksCgkgIChtZXRhZGF0YW11eF94bXBfY3JlYXRlX2NodW5rX2Zyb21fdGFnX2xpc3QpOgoJICBGaXggYSBtaWxsaW9uIHdhcm5pbmdzIHRoYXQgc2hvd2VkIHVwIGFmdGVyIHRoZSBhYm92ZSBjaGFuZ2UuCgoyMDA4LTAxLTMxIDA5OjUwOjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBBZGQgY2hhbmdlcyB0byBnc3Rzb3VwaHR0cHNyYy5jIHRoYXQgd2VyZSBtaXNzaW5nIGZyb20gbGFzdCBjb21taXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChfZG9faW5pdCksCgkgIChnc3Rfc291cF9odHRwX3NyY19iYXNlX2luaXQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cF9odHRwX3NyY19pbml0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cF9odHRwX3NyY191bmljb2RpZnkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY2FuY2VsX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfcXVldWVfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19hZGRfcmFuZ2VfaGVhZGVyKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3Nlc3Npb25fdW5wYXVzZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3Nlc3Npb25fcGF1c2VfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXNzaW9uX2Nsb3NlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9oZWFkZXJzX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9ib2R5X2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2ZpbmlzaGVkX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9jaHVua19jYiksIChnc3Rfc291cF9odHRwX3NyY19yZXNwb25zZV9jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19wYXJzZV9zdGF0dXMpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3N0YXJ0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX3N0b3ApLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdW5sb2NrKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3VubG9ja19zdG9wKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dldF9zaXplKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2lzX3NlZWthYmxlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2RvX3NlZWspLCAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X2xvY2F0aW9uKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm94eSksIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3R5cGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF9wcm90b2NvbHMpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF91cmkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX3NldF91cmkpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2hhbmRsZXJfaW5pdCksIChwbHVnaW5faW5pdCk6CgkgIEFkZCBjaGFuZ2VzIHRvIGdzdHNvdXBodHRwc3JjLmMgdGhhdCB3ZXJlIG1pc3NpbmcgZnJvbSBsYXN0IGNvbW1pdC4KCjIwMDgtMDEtMzEgMDg6NTc6MTYgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBNYWtlIGNvZGluZyBzdHlsZSBtb3JlIGNvbnNpc3RlbnQsIGluY2x1ZGluZyBjbGFzcyByZW5hbWluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfYmFzZV9pbml0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cF9odHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cF9odHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdW5pY29kaWZ5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NhbmNlbF9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3F1ZXVlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfYWRkX3JhbmdlX2hlYWRlciksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXNzaW9uX3VucGF1c2VfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXNzaW9uX3BhdXNlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2Vzc2lvbl9jbG9zZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfaGVhZGVyc19jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfYm9keV9jYiksIChnc3Rfc291cF9odHRwX3NyY19maW5pc2hlZF9jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfY2h1bmtfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfcmVzcG9uc2VfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfcGFyc2Vfc3RhdHVzKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NyZWF0ZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zdGFydCksIChnc3Rfc291cF9odHRwX3NyY19zdG9wKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VubG9jayksIChnc3Rfc291cF9odHRwX3NyY191bmxvY2tfc3RvcCksCgkgIChnc3Rfc291cF9odHRwX3NyY19nZXRfc2l6ZSksIChnc3Rfc291cF9odHRwX3NyY19pc19zZWVrYWJsZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19kb19zZWVrKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9sb2NhdGlvbiksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXRfcHJveHkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF90eXBlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfcHJvdG9jb2xzKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfdXJpKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9zZXRfdXJpKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9oYW5kbGVyX2luaXQpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIE1ha2UgY29kaW5nIHN0eWxlIG1vcmUgY29uc2lzdGVudCwgaW5jbHVkaW5nIGNsYXNzIHJlbmFtaW5nLgoKMjAwOC0wMS0zMCAyMDo1NTo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBGaXggY29uZmlndXJlIGNoZWNrIGZvciBzb3VuZHRvdWNoIHRvIG5vdCBwcm9kdWNlIHN5bnRheCBlcnJvcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IGNvbmZpZ3VyZSBjaGVjayBmb3Igc291bmR0b3VjaCB0byBub3QgcHJvZHVjZSBzeW50YXggZXJyb3JzLgoKMjAwOC0wMS0zMCAxOToxOTozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgRml4IGJ1aWxkIHdpdGggZXhlbXBpID49IDEuOTkuNSBhbmQgZml4IHRoZSBpbmNsdWRlIHBhdGggZm9yIGV4ZW1waS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJICAobWV0YWRhdGFtdXhfeG1wX2Zvcl9lYWNoX3RhZ19pbl9saXN0KToKCSAgRml4IGJ1aWxkIHdpdGggZXhlbXBpID49IDEuOTkuNSBhbmQgZml4IHRoZSBpbmNsdWRlCgkgIHBhdGggZm9yIGV4ZW1waS4KCjIwMDgtMDEtMzAgMTY6NTM6NDAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkgIEp1c3QgdXB0YWRlIHRoZSBUb0RvIGxpc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKdXN0IHVwdGFkZSB0aGUgVG9EbyBsaXN0LgoKMjAwOC0wMS0zMCAxNjowNToyNCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgQWRkIGRvY3VtZW50YXRpb24uIFNwZWVkIHVwIGEgYml0IHBuZyBtdXhlci4gRml4IHhtcCBtdXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBkb2N1bWVudGF0aW9uLiBTcGVlZCB1cCBhIGJpdCBwbmcgbXV4ZXIuIEZpeCB4bXAgbXV4ZXIuCgoyMDA4LTAxLTMwIDE1OjQwOjQ0ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogVXBkYXRlIGRvY3VtZW50YXRpb24gYSBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzoKCSAgVXBkYXRlIGRvY3VtZW50YXRpb24gYSBiaXQuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2xpbWFnZXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zd2l0Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICBSZWdlbmVyYXRlIGV2ZXJ5dGhpbmcgZm9yIHRoZSBkb2N1bWVudGF0aW9uIGNoYW5nZXMgd2UgaGFkLgoKMjAwOC0wMS0zMCAxNTozNDoyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2dpby86IFVzZSBhc3luYyB2YXJpYW50cyBvZiB0aGUgY2xvc2Ugc3RyZWFtIGZ1bmN0aW9ucyB0byBwcmV2ZW50IGJsb2NraW5nIGZvciBhIGxvbmcgdGltZSB0aGVyZSBhbmQgYWRkIHNvbWUgbW9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNpbmsuYzogKGNsb3NlX3N0cmVhbV9jYiksCgkgIChnc3RfZ2lvX2Jhc2Vfc2lua19zdG9wKSwgKGdzdF9naW9fYmFzZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9naW9fYmFzZV9zaW5rX3JlbmRlciksIChnc3RfZ2lvX2Jhc2Vfc2lua19zZXRfc3RyZWFtKToKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzcmMuYzogKGNsb3NlX3N0cmVhbV9jYiksCgkgIChnc3RfZ2lvX2Jhc2Vfc3JjX3N0b3ApLCAoZ3N0X2dpb19iYXNlX3NyY19jcmVhdGUpLAoJICAoZ3N0X2dpb19iYXNlX3NyY19zZXRfc3RyZWFtKToKCSAgVXNlIGFzeW5jIHZhcmlhbnRzIG9mIHRoZSBjbG9zZSBzdHJlYW0gZnVuY3Rpb25zIHRvIHByZXZlbnQgYmxvY2tpbmcKCSAgZm9yIGEgbG9uZyB0aW1lIHRoZXJlIGFuZCBhZGQgc29tZSBtb3JlIHNhbml0eSBjaGVja3MgZm9yIGEgY29ycmVjdAoJICBzdHJlYW0uCgoyMDA4LTAxLTMwIDEzOjM4OjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbTogTW92ZSAtV2wgcGFyYW1ldGVyIGZyb20gX0xEQUREIHRvIF9MREZMQUdTIHRvIGZpeCBhdXRvZ2VuLnNoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgTW92ZSAtV2wgcGFyYW1ldGVyIGZyb20gX0xEQUREIHRvIF9MREZMQUdTIHRvIGZpeCBhdXRvZ2VuLnNoLgoKMjAwOC0wMS0zMCAxMzoyOToxNSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IExldCB0aGUgcHJveHkgcHJvcGVydHkgZGVmYXVsdCB0byB0aGUgY29udGVudCBvZiB0aGUgJGh0dHBfcHJveHkgZW52aXJvbm1lbnQgdmFyaWFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwaHR0cF9zcmNfaW5pdCk6CgkgIExldCB0aGUgcHJveHkgcHJvcGVydHkgZGVmYXVsdCB0byB0aGUgY29udGVudCBvZiB0aGUgJGh0dHBfcHJveHkKCSAgZW52aXJvbm1lbnQgdmFyaWFibGUuCgoyMDA4LTAxLTMwIDEzOjA4OjQ1ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgbWlzc2luZyBmaWxlcyBmb3IgdGhlIHVuaXQgdGVzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiB0ZXN0cy9jaGVjay90ZXN0LWNlcnQucGVtOgoJICAqIHRlc3RzL2NoZWNrL3Rlc3Qta2V5LnBlbToKCSAgQWRkIG1pc3NpbmcgZmlsZXMgZm9yIHRoZSB1bml0IHRlc3QuCgoyMDA4LTAxLTMwIDEzOjA2OjAxICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIHNvdXBodHRwc3JjIHRvIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEFkZCBzb3VwaHR0cHNyYyB0byB0aGUgZG9jcy4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBodHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfY2FuY2VsX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19xdWV1ZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfYWRkX3JhbmdlX2hlYWRlciksCgkgIChnc3Rfc291cGh0dHBfc3JjX3Nlc3Npb25fdW5wYXVzZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2Vzc2lvbl9wYXVzZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2Vzc2lvbl9jbG9zZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2dvdF9oZWFkZXJzX2NiKSwgKGdzdF9zb3VwaHR0cF9zcmNfZ290X2JvZHlfY2IpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19maW5pc2hlZF9jYiksIChnc3Rfc291cGh0dHBfc3JjX2dvdF9jaHVua19jYiksCgkgIChnc3Rfc291cGh0dHBfc3JjX3Jlc3BvbnNlX2NiKSwgKGdzdF9zb3VwaHR0cF9zcmNfcGFyc2Vfc3RhdHVzKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfY3JlYXRlKSwgKGdzdF9zb3VwaHR0cF9zcmNfc3RhcnQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zdG9wKSwgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrX3N0b3ApLCAoZ3N0X3NvdXBodHRwX3NyY19nZXRfc2l6ZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2lzX3NlZWthYmxlKSwgKGdzdF9zb3VwaHR0cF9zcmNfZG9fc2VlayksCgkgIChnc3Rfc291cGh0dHBfc3JjX3NldF9sb2NhdGlvbiksIChnc3Rfc291cGh0dHBfc3JjX3NldF9wcm94eSksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGxpYnNvdXAyLjQgYW5kIHJlcXVpcmUgaXQuIEFsc28gaW1wbGVtZW50IHJlZGlyZWN0aW9uCgkgIGFuZCBtYW51YWwgcHJveHkgc3BlY2lmaWNhdGlvbi4gRml4ZXMgYnVnICM1MTA3MDguCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICBBZGQgdW5pdCB0ZXN0IGZvciBzb3VwaHR0cHNyYy4KCjIwMDgtMDEtMzAgMTI6NTY6NTEgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgQWRkIGRvY3VtZW50YXRpb24uIEZpeCB0ZXN0IGFwcCBjb21waWxhdGlvbi4gRml4IHB1bGwgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBkb2N1bWVudGF0aW9uLiBGaXggdGVzdCBhcHAgY29tcGlsYXRpb24uIEZpeCBwdWxsIG1vZGUuCgoyMDA4LTAxLTI5IDE4OjU3OjI3ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFRyeSB0byBnZXQgdGhlIG5ldyBjbG9jay1yYXRlIGZyb20gdGhlIGJ1ZmZlciBjYXBzIHdoZW4gd2UgcmVjZWl2ZSBhIG5ldyBwYXlsb2FkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGhpanMgVmVybWVpciAgPHRoaWpzdmVybWVpciBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKToKCSAgVHJ5IHRvIGdldCB0aGUgbmV3IGNsb2NrLXJhdGUgZnJvbSB0aGUgYnVmZmVyIGNhcHMgd2hlbiB3ZSByZWNlaXZlIGEgbmV3CgkgIHBheWxvYWQgdHlwZSBpbnN0ZWFkIG9mIGFsd2F5cyBmaXJpbmcgdGhlIHNpZ25hbC4gRml4ZXMgIzUxMjc3NC4KCjIwMDgtMDEtMjkgMTg6MDU6MDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzogRGVmaW5lIExPR19OT05FIGFuZCBmcmllbmRzIGlmIHRoZXkncmUgbm90IGRlZmluZWQgeWV0LiBtanBlZ3Rvb2xzIDEuOS4wcmMzIHJlbW92ZWQgdGhlaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgIERlZmluZSBMT0dfTk9ORSBhbmQgZnJpZW5kcyBpZiB0aGV5J3JlIG5vdCBkZWZpbmVkIHlldC4gbWpwZWd0b29scwoJICAxLjkuMHJjMyByZW1vdmVkIHRoZWlyIGRlZmluaXRpb25zIGJ1dCB3aXRob3V0IGl0IGRvZXNuJ3QgbWFrZSBtdWNoCgkgIHNlbnNlIHRvIHdyaXRlIGEgbG9nIGhhbmRsZXIuCgoyMDA4LTAxLTI5IDExOjMyOjI3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgYmFzZSBjbGFzc2VzIGZvciBtZXRhZGF0YSBhbmQgZXF1YWxpemVyIChubyBpbnRyb3NwZWN0aW9uIHlldCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy50eXBlczoKCSAgQWRkIGJhc2UgY2xhc3NlcyBmb3IgbWV0YWRhdGEgYW5kIGVxdWFsaXplciAobm8gaW50cm9zcGVjdGlvbiB5ZXQpLgoKMjAwOC0wMS0yOSAwNzo0MzoyOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L21ldGFkYXRhL1JFQURNRTogRm9ybWF0dGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21ldGFkYXRhL1JFQURNRToKCSAgRm9ybWF0dGluZy4KCSAgKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgSW5jbHVkZSBzdGRsaWIuaC4KCjIwMDgtMDEtMjkgMDc6Mzg6MzEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFJlcGxhY2UgdGhlIHN3aXRjaCBwbHVnaW4gd2l0aCB0aGUgc2VsZWN0b3IgcGx1Z2luLiBBZGQgb3V0cHV0LSBzZWxlY3RvciBhcyB0aGUgb3Bwb3NpdGUgb2YgaW5wdXQtc2VsZWN0b28gKHdhcyBzd2l0Yy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN3aXRjaC54bWw6CgkgICogZ3N0L3NlbGVjdG9yLy5jdnNpZ25vcmU6CgkgICogZ3N0L3NlbGVjdG9yL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuaDoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuaDoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0c2VsZWN0b3ItbWFyc2hhbC5saXN0OgoJICAqIGdzdC9zZWxlY3Rvci9nc3RzZWxlY3Rvci5jOgoJICAqIGdzdC9zZWxlY3Rvci9zZWxlY3Rvci52Y3Byb2o6CgkgICogZ3N0L3N3aXRjaC8uY3ZzaWdub3JlOgoJICAqIGdzdC9zd2l0Y2gvTWFrZWZpbGUuYW06CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2gtbWFyc2hhbC5saXN0OgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaDoKCSAgKiBnc3Qvc3dpdGNoL3N3aXRjaC52Y3Byb2o6CgkgICogdGVzdHMvaWNsZXMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy9vdXRwdXQtc2VsZWN0b3ItdGVzdC5jOgoJICBSZXBsYWNlIHRoZSBzd2l0Y2ggcGx1Z2luIHdpdGggdGhlIHNlbGVjdG9yIHBsdWdpbi4gQWRkIG91dHB1dC0KCSAgc2VsZWN0b3IgYXMgdGhlIG9wcG9zaXRlIG9mIGlucHV0LXNlbGVjdG9vICh3YXMgc3dpdGNoKS4gQWRkIGEgdGVzdAoJICBmb3Igb3V0cHV0LXNlbGVjdG9yLiBBZGQgZG9jcyBmb3IgdGhlIGVsZW1lbnRzLiBUaGUgdmNwcm9qIG5lZWRzCgkgIHVwZGF0ZS4gRml4ZXMgIzUwMDE0Mi4KCjIwMDgtMDEtMjggMjM6MTg6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiBUcnkgdG8gYXZvaWQgJ3VudXNlZCB2YXJpYWJsZScgY29tcGlsZXIgd2FybmluZyBpZiBkZWJ1Z2dpbmcgaXMgZGlzYWJsZWQgKG5vdCBidWxsZXQgcHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogKGdzdF9oMjY0X3BhcnNlX2NoYWluX2ZvcndhcmQpOgoJICBUcnkgdG8gYXZvaWQgJ3VudXNlZCB2YXJpYWJsZScgY29tcGlsZXIgd2FybmluZyBpZiBkZWJ1Z2dpbmcgaXMKCSAgZGlzYWJsZWQgKG5vdCBidWxsZXQgcHJvb2YsIGJ1dCBzZWVtcyB0byBkbyBmb3Igbm93KS4gKCM1MTI2NTQpCgoyMDA4LTAxLTI4IDExOjQ3OjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6IENsZWFuIHVwIGEgYml0IGFuZCBvbmx5IGFsbG9jYXRlIGEgdGVtcG9yYXJ5IGJ1ZmZlciBmb3IgdGhlIGRhdGEgaWYgcHJvY2Vzc2luZyBzdGVyZW8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJICBDbGVhbiB1cCBhIGJpdCBhbmQgb25seSBhbGxvY2F0ZSBhIHRlbXBvcmFyeSBidWZmZXIgZm9yIHRoZSBkYXRhCgkgIGlmIHByb2Nlc3Npbmcgc3RlcmVvIGRhdGEgYXMgQlBNRGV0ZWN0IGRvd25taXhlcyBmcm9tIHN0ZXJlbyB0bwoJICBtb25vIGFuZCBzdG9yZXMgdGhlIHJlc3VsdCBpbiB0aGUgaW5wdXQgZGF0YS4gVGhhbmtzIHRvCgkgIFN0ZWZhbiBLb3N0IGZvciB0aGUgc3VnZ2VzdGlvbnMuCgoyMDA4LTAxLTI3IDE3OjAyOjI0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzogQ2FzdCBhIGRvdWJsZSB0byBhIEdzdENsb2NrVGltZURpZmYgdG8gZml4IGEgY29tcGlsZXIgd2FybmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIENhc3QgYSBkb3VibGUgdG8gYSBHc3RDbG9ja1RpbWVEaWZmIHRvIGZpeCBhIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA4LTAxLTI3IDE2OjEyOjQ1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzogUHJpbnRmIGZvcm1hdCBmaXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBQcmludGYgZm9ybWF0IGZpeC4KCjIwMDgtMDEtMjcgMDc6NTE6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOiBEb24ndCBzZW5kIGEgTEFURU5DWSBldmVudCBmb3Igbm93IHVudGlsIHdlIGdldCB0aGUgdXNhZ2UgcmlnaHQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBEb24ndCBzZW5kIGEgTEFURU5DWSBldmVudCBmb3Igbm93IHVudGlsIHdlIGdldCB0aGUgdXNhZ2UgcmlnaHQuCgoyMDA4LTAxLTI3IDA3OjM3OjQwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291bmR0b3VjaC9nc3RwaXRjaC4qOiBJbXBsZW1lbnQgTEFURU5DWSBxdWVyeSBhbmQgbm90aWZ5IGFib3V0IGxhdGVuY3kgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guaGg6CgkgIEltcGxlbWVudCBMQVRFTkNZIHF1ZXJ5IGFuZCBub3RpZnkgYWJvdXQgbGF0ZW5jeSBjaGFuZ2VzLgoJICBVbmZvcnR1bmF0ZWx5IHdlIGRvbid0IGhhdmUgYSBmaXhlZCBsYXRlbmN5IGJ1dCBpdCBjaGFuZ2VzCgkgIGEgYml0IHdpdGggZWFjaCBidWZmZXIgc28gd2Ugb25seSBzZW5kIGFuIExBVEVOQ1kgZXZlbnQgd2l0aAoJICB0aGUgbWF4aW11bSBsYXRlbmN5IGlmIGl0IGNoYW5nZXMuCgkgIEFsd2F5cyBjYWxjdWxhdGUgdGhlIHRpbWVzdGFtcCwgZHVyYXRpb24sIGV0YyBmcm9tIHRoZSBzYW1wbGUKCSAgcmF0ZSBpbnN0ZWFkIG9mIHVzaW5nIGEgcHJlLWNhbGN1bGF0ZWQgZHVyYXRpb24gZm9yIG9uZSBzYW1wbGUKCSAgdG8gcHJldmVudCBsYXJnZSByb3VuZGluZyBlcnJvcnMuCgoyMDA4LTAxLTI3IDA3OjMyOjE5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgc3VwcG9ydCBmb3IgYnVpbGRpbmcgYWdhaW5zdCBtanBlZ3Rvb2xzIDEuOSB3aGlsZSBrZWVwaW5nIGNvbXBhdGlibGl0eSB3aXRoIG9sZGVyIHZlcnNpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gYSBwYXRjaCBieToKCSAgSGFucyBkZSBHb2VkZSA8aiBkb3QgdyBkb3QgciBkb3QgZGVnb2VkZSBhdCBoaHMgZG90IG5sPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvZGVyLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuY2M6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5oaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGJ1aWxkaW5nIGFnYWluc3QgbWpwZWd0b29scyAxLjkgd2hpbGUga2VlcGluZwoJICBjb21wYXRpYmxpdHkgd2l0aCBvbGRlciB2ZXJzaW9ucy4KCjIwMDgtMDEtMjcgMDY6MzE6NTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzogT25seSBjb25zaWRlciBhIEJQTSB2YWx1ZSBhYm92ZSAxLjAgYXMgdmFsaWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSAgT25seSBjb25zaWRlciBhIEJQTSB2YWx1ZSBhYm92ZSAxLjAgYXMgdmFsaWQuCgoyMDA4LTAxLTI3IDA1OjU2OjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291bmR0b3VjaC86IEFkZCBCUE0gZGV0ZWN0aW9uIHBsdWdpbiBiYXNlZCBvbiBTb3VuZFRvdWNoJ3MgbGliQlBNLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmhoOgoJICAqIGV4dC9zb3VuZHRvdWNoL3BsdWdpbi5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQgQlBNIGRldGVjdGlvbiBwbHVnaW4gYmFzZWQgb24gU291bmRUb3VjaCdzIGxpYkJQTS4KCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgQWxsb3cgc2FtcGxlIHJhdGVzIHVudGlsIE1BWCBpbnN0ZWFkIG9mIG9ubHkgNDhrSHogYW5kIHJlbW92ZSB0aGUKCSAgYnVmZmVyLWZyYW1lcyBmaWVsZCBmcm9tIHRoYXQgY2Fwcy4KCSAgQ2xlYXIgdGhlIHJlbWFpbmluZyBzYW1wbGVzIGNvbXBsZXRlbHkgd2hlbiBuZWNlc3NhcnkgdG8gZ2V0IGludG8KCSAgYSBjbGVhbiBzdGF0ZSBhZ2Fpbi4KCjIwMDgtMDEtMjYgMTY6MTk6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBEb24ndCBpbXBsZW1lbnQgZ2V0X3VuaXRfc2l6ZSgpIG91cnNlbHZlcywgdGhlIEdzdEF1ZGlvRmlsdGVyIGJhc2UgY2xhc3MgYWxyZWFkeSBkb2VzIHRoaXMgZm9yIHVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCk6CgkgIERvbid0IGltcGxlbWVudCBnZXRfdW5pdF9zaXplKCkgb3Vyc2VsdmVzLCB0aGUgR3N0QXVkaW9GaWx0ZXIgYmFzZQoJICBjbGFzcyBhbHJlYWR5IGRvZXMgdGhpcyBmb3IgdXMuCgoyMDA4LTAxLTI2IDE1OjEyOjUwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzogQWxsb3cgc2Vla2luZyBvbmx5IGluIFRJTUUgYW5kIERFRkFVTFQgZm9ybWF0LCBvdGhlciBmb3JtYXRzIHdpbGwgbm90IHdvcmsgYXMgZXhwZWN0ZWQuIEEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIEFsbG93IHNlZWtpbmcgb25seSBpbiBUSU1FIGFuZCBERUZBVUxUIGZvcm1hdCwgb3RoZXIgZm9ybWF0cyB3aWxsCgkgIG5vdCB3b3JrIGFzIGV4cGVjdGVkLiBBbHNvIGhhbmRsZSBhIHN0b3AgcG9zaXRpb24gb2YgLTEgY29ycmVjdGx5CgkgIGZvciBzZWVrcywgbmV3c2VnbWVudCBldmVudHMgYW5kIHRoZSBxdWVyaWVzLiBUaGlzIGZpeGVzIHBsYXliYWNrCgkgIHdpdGggdGhlIHBpdGNoIGVsZW1lbnQgaWYgdXBzdHJlYW0gZG9lc24ndCBrbm93IHRoZSBkdXJhdGlvbiBvciBoYXMKCSAgLTEgYXMgc3RvcCBwb3NpdGlvbiBpbiBORVdTRUdNRU5UIGV2ZW50cyBmb3Igb3RoZXIgcmVhc29ucy4gQmVmb3JlCgkgIHNpbXBseSBub3RoaW5nIHdhcyBwbGF5ZWQgYXMgdGhlIHNlZ21lbnQgd2FzIGdvaW5nIGZyb20gMCB0byAwLgoJICBTZW5kIGEgR1NUX01FU1NBR0VfRFVSQVRJT04gd2hlbmV2ZXIgdGhlIHJhdGUgb3IgdGVtcG8gaXMgY2hhbmdlZAoJICBzbyBhcHBsaWNhdGlvbnMgY2FuIHVwZGF0ZSB0aGVpciBjYWNoZWQgZHVyYXRpb24uIEZpeGVzIGJ1ZyAjNTAzMzA4LgoJICBTb21lIHJhbmRvbSBjbGVhbnVwIGFuZCBtZW1vcnkgbGVhayBjbG9zaW5nLgoKMjAwOC0wMS0yNiAxNDozNToyMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L211c2VwYWNrLzogRmlyc3QgaW5jbHVkZSB0aGUgbGlibXBjZGVjIGhlYWRlcnMgYmVmb3JlIGV2ZXJ5dGhpbmcgZWxzZSBhcyB0aGV5ICNkZWZpbmUgVFJVRSBhbmQgRkFMU0UgdW5jb25kaXRpb25hLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5oOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja3JlYWRlci5jOgoJICBGaXJzdCBpbmNsdWRlIHRoZSBsaWJtcGNkZWMgaGVhZGVycyBiZWZvcmUgZXZlcnl0aGluZyBlbHNlIGFzIHRoZXkKCSAgI2RlZmluZSBUUlVFIGFuZCBGQUxTRSB1bmNvbmRpdGlvbmFsbHkgYW5kIHdlIG90aGVyd2lzZSBnZXQgY29uZmxpY3RzCgkgIHdpdGggdGhlIG9uZXMgdGhhdCBHTGliIGRlZmluZXMuCgoyMDA4LTAxLTI2IDEzOjI0OjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgc3VwcG9ydCBmb3IgbGlic291bmR0b3VjaCAxLjMuMSBhbmQgYWRkIGFuIHVnbHkgd29ya2Fyb3VuZCBmb3IgdGhlIGhlYWRlciBkZWZpbmluZWQgUEFDS0FHRSBhbmQgb3RoZXIgdmFyaWFibGVzIGYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBBZGQgc3VwcG9ydCBmb3IgbGlic291bmR0b3VjaCAxLjMuMSBhbmQgYWRkIGFuIHVnbHkgd29ya2Fyb3VuZCBmb3IKCSAgdGhlIGhlYWRlciBkZWZpbmluZWQgUEFDS0FHRSBhbmQgb3RoZXIgdmFyaWFibGVzIGZvciB3aGljaCB3ZSBuZWVkCgkgIG91ciBvd24gdmFsdWVzIGZyb20gY29uZmlnLmguCgoyMDA4LTAxLTI2IDEyOjExOjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3IgbGliZ2xhZGUtMi4wLCBmb3IgdGhlIG1ldGFkYXRhLWVkaXRvciBleGFtcGxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGZvciBsaWJnbGFkZS0yLjAsIGZvciB0aGUgbWV0YWRhdGEtZWRpdG9yIGV4YW1wbGUuCgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIE9ubHkgdHJ5IHRvIGJ1aWxkIHRoZSBtZXRhZGF0YS1lZGl0b3IgZXhhbXBsZSBpZiB3ZSBoYXZlIGd0ayBhbmQKCSAgZ2xhZGUgKG90aGVyd2lzZSB0aGUgYnVpbGQgd291bGQganVzdCBmYWlsIC4uLik7IGZpeCBidWlsZCBpbgoJICB1bmluc3RhbGxlZCBzZXR1cC4KCSAgKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzogKG9uX2NlbGxfZWRpdGVkKSwgKHVpX2FkZF9jb2x1bW5zKToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzICh1c2UgR0xpYiBtYWNyb3MgdG8gY2FzdCBwb2ludGVyIDwtPiBpbnQpLgoKMjAwOC0wMS0yNSAxNzo0NToyOCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmg6CgkqIGV4dC9tZXRhZGF0YS90ZXN0L01ha2VmaWxlOgoJKiBleHQvbWV0YWRhdGEvdGVzdC9NZXRhZGF0YUVkaXRvck1haW4uZ2xhZGU6CgkqIGV4dC9tZXRhZGF0YS90ZXN0L21ldGFkYXRhX2VkaXRvci5jOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5nbGFkZToKCSAgQWRkIGxvdCBvZiBkb2N1bWVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIGxvdCBvZiBkb2N1bWVudGF0aW9uLgoKMjAwOC0wMS0yNSAxNzozNTo0NiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IE9wZW4gZnJvbnRlbmQgaW4gTlVMTC0+UkVBRFkgc28gY2FwcyBhYm91dCBkdmIgYWRhcHRlciBjYW4gYmUgc2VlbiBieSB0aGUgYXBwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBPcGVuIGZyb250ZW5kIGluIE5VTEwtPlJFQURZIHNvIGNhcHMgYWJvdXQgZHZiIGFkYXB0ZXIgY2FuIGJlCgkgIHNlZW4gYnkgdGhlIGFwcC4KCjIwMDgtMDEtMjUgMTY6NTg6MDAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQWxzbyBoYW5kbGUgbGlwLXN5bmMgd2hlbiB0aGUgY2xvY2stcmF0ZSBpcyBub3QgcHJvdmlkZWQgd2l0aCBjYXBzIGJ1dCB3aXRoIGEgc2lnbmFsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoY3JlYXRlX3N0cmVhbSksIChwYXlsb2FkX3R5cGVfY2hhbmdlKSwgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIEFsc28gaGFuZGxlIGxpcC1zeW5jIHdoZW4gdGhlIGNsb2NrLXJhdGUgaXMgbm90IHByb3ZpZGVkIHdpdGggY2FwcyBidXQKCSAgd2l0aCBhIHNpZ25hbC4KCjIwMDgtMDEtMjUgMTY6MDA6NTIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci86IFJlbW92ZSB0aGUgZml4ZWQgY2xvY2stcmF0ZSBmcm9tIHRoZSBqaXR0ZXJidWZmZXIgYW5kIGV4dGVuZCBpdCBzbyB0aGF0IGEgY2xvY2stcmF0ZSBjYW4gYmUgcHJvdmlkZWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChjYWxjdWxhdGVfc2tldyksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBSZW1vdmUgdGhlIGZpeGVkIGNsb2NrLXJhdGUgZnJvbSB0aGUgaml0dGVyYnVmZmVyIGFuZCBleHRlbmQgaXQgc28gdGhhdAoJICBhIGNsb2NrLXJhdGUgY2FuIGJlIHByb3ZpZGVkIHdpdGggZWFjaCBidWZmZXIgaW5zdGVhZC4gRml4ZXMgIzUxMTY4Ni4KCjIwMDgtMDEtMjUgMTU6NDk6NTUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogUmVtb3ZlIG9sZCB1bnVzZWQgdmFyaWFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgUmVtb3ZlIG9sZCB1bnVzZWQgdmFyaWFibGUuCgkgIFRyYWNrIHB0IG9uIGlucHV0IGJ1ZmZlcnMgYW5kIGdldCB0aGUgY2xvY2stcmF0ZSB3aGVuIGl0IGNoYW5nZXMuCgkgIElnbm9yZSBwYWNrZXRzIHdpdGggdW5rbm93biBjbG9jay1yYXRlLiBTZWUgIzUxMTY4Ni4KCjIwMDgtMDEtMjUgMTI6NDg6NDAgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBQb3N0IGJ1cyBtZXNzYWdlIGFib3V0IGFkYXB0ZXIgdHlwZSBhbmQgaXQncyBjYXBhYmlsaXRpZXMsIHdoZW4gb3BlbmluZyB0aGUgZnJvbnRlbmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIFBvc3QgYnVzIG1lc3NhZ2UgYWJvdXQgYWRhcHRlciB0eXBlIGFuZCBpdCdzIGNhcGFiaWxpdGllcywKCSAgd2hlbiBvcGVuaW5nIHRoZSBmcm9udGVuZC4KCSAgQWZ0ZXIgZmFpbGluZyB0byByZWFkIGZyb20gdGhlIGR2ciwgcG9zdCBhIGJ1cyBtZXNzYWdlIHRvCgkgIGluZm9ybSB0aGUgYXBwLgoKMjAwOC0wMS0yNSAwOTo1MDowNyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6IFRoZSBsb2dpYyBmb3IgdGhlIGd1YXJkIGludGVydmFsIGNhbGN1bGF0aW9uIHdhcyB0b3RhbGx5IHdyb25nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBUaGUgbG9naWMgZm9yIHRoZSBndWFyZCBpbnRlcnZhbCBjYWxjdWxhdGlvbiB3YXMgdG90YWxseSB3cm9uZy4KCSAgRml4ZWQuCgoyMDA4LTAxLTI1IDAxOjQ0OjI3ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IEZpeCB1bnJlZiBvZiBidWZmZXIgdXNpbmcgdGhlIHdyb25nIGZ1bmN0aW9uLiAgRml4ZXMgIzUxMTkyMAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IEZpeCB1bnJlZiBvZiBidWZmZXIgdXNpbmcgdGhlCgkgIHdyb25nIGZ1bmN0aW9uLiAgRml4ZXMgIzUxMTkyMAoKMjAwOC0wMS0yNCAxMzoyMzowMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogTm93IHdlIGhhdmUgZnVsbCBoaWVyYXJjaHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgIE5vdyB3ZSBoYXZlIGZ1bGwgaGllcmFyY2h5LgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkgIFJlZ2VuZXJhdGUuCgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmg6CgkgIEFkZCBkb2MgYmxvYiBmb3Igb2JqZWN0IGluc3RhbmNlLgoKMjAwOC0wMS0yNCAxMDoxNTozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFVwZGF0ZSB0aGlzIHRvbywgaG9wZWZ1bGx5IGZpeGVzIHRoZSBkb2NzIGJ1aWxkIChkb2VzIGF0IGxlYXN0IGZvciBtZSwgYWZ0ZXIgbWFrZSBjbGVhbiBpbiBkb2NzL3BsdWdpbnMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJICBVcGRhdGUgdGhpcyB0b28sIGhvcGVmdWxseSBmaXhlcyB0aGUgZG9jcyBidWlsZCAoZG9lcyBhdCBsZWFzdAoJICBmb3IgbWUsIGFmdGVyIG1ha2UgY2xlYW4gaW4gZG9jcy9wbHVnaW5zKS4KCjIwMDgtMDEtMjQgMDg6MTI6MjkgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBGaXggbmV0d29yayBuYW1lIGRlc2NyaXB0b3IsIHRoZSBsZW5ndGggaXMgYWN0dWFsbHkgdGhlIGRlc2NyaXB0b3IgbGVuZ3RoIG5vdCBzdG9yZWQgaW4gdGhlIGJ5dGUgYWYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2dzdG1wZWdkZXNjLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgRml4IG5ldHdvcmsgbmFtZSBkZXNjcmlwdG9yLCB0aGUgbGVuZ3RoIGlzIGFjdHVhbGx5IHRoZQoJICBkZXNjcmlwdG9yIGxlbmd0aCBub3Qgc3RvcmVkIGluIHRoZSBieXRlIGFmdGVyLgoJICBGaXggYm91bmRzIGNoZWNraW5nIHRvIGJlIG1vcmUgY29ycmVjdC4KCjIwMDgtMDEtMjQgMDA6MjI6MTcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBQYXJzZSBhbmQgYWRkIHRvIHJlbGV2YW50IGJ1cyBtZXNzYWdlcyB0aGUgdGVycmVzdHJpYWwgZGVsaXZlcnkgc3lzdGVtIGRlc2NyaXB0b3IgYW5kIHRoZSBsb2dpY2FsIGMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2dzdG1wZWdkZXNjLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgUGFyc2UgYW5kIGFkZCB0byByZWxldmFudCBidXMgbWVzc2FnZXMgdGhlIHRlcnJlc3RyaWFsIGRlbGl2ZXJ5CgkgIHN5c3RlbSBkZXNjcmlwdG9yIGFuZCB0aGUgbG9naWNhbCBjaGFubmVsIGRlc2NyaXB0b3IuCgkgIERvIGJvdW5kcyBjaGVja2luZyBvbiBkYXRhIHN0b3JlZCBpbiBkZXNjcmlwdG9yIGJlZm9yZSB1c2UuCgoyMDA4LTAxLTIzIDE2OjM1OjM0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSAgQWRkIHNvbWUgZG9jdW1lbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBzb21lIGRvY3VtZW50YXRpb24uCgoyMDA4LTAxLTIzIDE1OjUxOjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgc3VwcG9ydCBmb3IgYnVpbGRpbmcgYWdhaW5zdCBsaWJkY2EgKHdpdGggdGhlIGxpYmR0cyBjb21wYXQgaGVhZGVyKS4gRml4ZXMgYnVnICM1MTE1MzAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBBZGQgc3VwcG9ydCBmb3IgYnVpbGRpbmcgYWdhaW5zdCBsaWJkY2EgKHdpdGggdGhlIGxpYmR0cyBjb21wYXQKCSAgaGVhZGVyKS4gRml4ZXMgYnVnICM1MTE1MzAuCgkgIFNob3VsZCBwcm9iYWJseSBiZSBwb3J0ZWQgdG8gbGliZGNhIGFzIHNvbWUgcG9pbnRzIGFzIGl0J3MgdGhlCgkgIHN1Y2Nlc3NvciBvZiBsaWJkdHMuCgoyMDA4LTAxLTIzIDE0OjU5OjQ3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogRG8gbm90IGdvIG9uIGZvcmV2ZXIgaWYgcHJvYmxlbSB3aXRoIHJlYWRpbmcgZnJvbSBkdnIsIHJhdGhlciByZXR1cm4gTlVMTC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgRG8gbm90IGdvIG9uIGZvcmV2ZXIgaWYgcHJvYmxlbSB3aXRoIHJlYWRpbmcgZnJvbSBkdnIsIHJhdGhlcgoJICByZXR1cm4gTlVMTC4KCSAgSGFuZGxlIHNvbWUgY2xlYW51cCBpc3N1ZXMgb2YgY2xvc2luZyBmaWxlZGVzY3JpcHRvcnMgd2hlbgoJICBmYWlsaW5nIHRvIHR1bmUgb3Igc2ltaWxhci4KCjIwMDgtMDEtMjMgMTM6MTg6MjQgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSAgQWRkIG1pc3Npbmcgbm9faW5zdCBoZWFkZXIgZmlsZXMgdG8gTWFrZWZpbGUuYW0gc28gZGlzdGluZyBzdGlsbCB3b3JrcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIG1pc3Npbmcgbm9faW5zdCBoZWFkZXIgZmlsZXMgdG8gTWFrZWZpbGUuYW0gc28gZGlzdGluZyBzdGlsbCB3b3JrcwoJICBVcGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMKCjIwMDgtMDEtMjMgMTA6MzQ6NDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciB0aGUgeGluZ2hlYWRlciBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguaDoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIHRoZSB4aW5naGVhZGVyIHBsdWdpbi4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy94aW5nbXV4LmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIFNldCBlbGVtZW50IHN0YXRlIHRvIFBMQVlJTkcgYmVmb3JlIGRvaW5nIHNvbWV0aGluZyBlbHNlLgoKMjAwOC0wMS0yMyAxMDoxMTo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgc2ltcGxlIHVuaXQgdGVzdCBmb3IgdGhlIHhpbmdtdXggZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy94aW5nbXV4LmM6IChzZXR1cF94aW5nbXV4KSwKCSAgKGNsZWFudXBfeGluZ211eCksIChHU1RfU1RBUlRfVEVTVCksICh4aW5nbXV4X3N1aXRlKSwgKG1haW4pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3hpbmdtdXhfdGVzdGRhdGEuaDoKCSAgQWRkIHNpbXBsZSB1bml0IHRlc3QgZm9yIHRoZSB4aW5nbXV4IGVsZW1lbnQuCgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiAoZ2VuZXJhdGVfeGluZ19oZWFkZXIpLAoJICAoZ3N0X3hpbmdfbXV4X2ZpbmFsaXplKSwgKHhpbmdfcmVzZXQpOgoJICBGaXggYSBtZW1sZWFrIGFuZCBpbnZhbGlkIHNlZWsgdGFibGVzIHdpdGggbGVzcyB0aGFuIDEwMCBNUDMgZnJhbWVzLgoKMjAwOC0wMS0yMyAwOTo0OToyNyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IFBhcnNlZCB0aGUgc2F0ZWxsaXRlIGRlbGl2ZXJ5IHN5c3RlbSBkZXNjcmlwdG9yIGFuZCBhZGRlZCBpbnRvIG5pdCdzIHRyYW5zcG9ydCBzdHJ1Y3R1cmUgZm9yIGRlbGl2ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZ3N0bXBlZ2Rlc2MuaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBQYXJzZWQgdGhlIHNhdGVsbGl0ZSBkZWxpdmVyeSBzeXN0ZW0gZGVzY3JpcHRvciBhbmQKCSAgYWRkZWQgaW50byBuaXQncyB0cmFuc3BvcnQgc3RydWN0dXJlIGZvciBkZWxpdmVyeQoJICBvdmVyIHRoZSBidXMuCgoyMDA4LTAxLTIyIDIwOjI3OjI4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzogUGFyc2VkIGFuZCBhZGRlZCBuZXR3b3JrIG5hbWUgdG8gdGhlIG5pdCBzdHJ1Y3R1cmUgc2VudCBpbiB0aGUgYnVzIG1lc3NhZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIFBhcnNlZCBhbmQgYWRkZWQgbmV0d29yayBuYW1lIHRvIHRoZSBuaXQgc3RydWN0dXJlIHNlbnQKCSAgaW4gdGhlIGJ1cyBtZXNzYWdlLgoKMjAwOC0wMS0yMiAxOTo1OTozOSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6IFJlbW92ZSBsZWFrcyBpbnRyb2R1Y2VkIGJ5IG5vdCBmcmVlaW5nIGdfc3RybmR1cCdkIHN0cmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIFJlbW92ZSBsZWFrcyBpbnRyb2R1Y2VkIGJ5IG5vdCBmcmVlaW5nIGdfc3RybmR1cCdkIHN0cmluZ3MuCgkgIEZpeCBzdGFydF90aW1lIGFuZCBkdXJhdGlvbiBwYXJzaW5nIGluIEVJVC4KCjIwMDgtMDEtMjIgMTg6NDA6MTYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOiBBZGQgZXZlbnQgbmFtZSBhbmQgZGVzY3JpcHRpb24gdG8gdGhlIGVpdCBzdHJ1Y3R1cmUgc2VudCBpbiB0aGUgYnVzIG1lc3NhZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIEFkZCBldmVudCBuYW1lIGFuZCBkZXNjcmlwdGlvbiB0byB0aGUgZWl0IHN0cnVjdHVyZQoJICBzZW50IGluIHRoZSBidXMgbWVzc2FnZS4KCjIwMDgtMDEtMjIgMTg6MDg6MDEgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzogUmV2ZXJ0IGNvbnN0IHJlbW92YWwgZnJvbSBwcmV2aW91cyBjb21taXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBSZXZlcnQgY29uc3QgcmVtb3ZhbCBmcm9tIHByZXZpb3VzIGNvbW1pdC4KCjIwMDgtMDEtMjIgMTg6MDQ6MDQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBBZGRlZCBkZXNjcmlwdG9yIHNlYXJjaGluZyBpbmZyYXN0cnVjdHVyZSBmcm9tIEZsdWVuZG8gVFMgZGVtdXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndHNwYXJzZS9nc3RtcGVnZGVzYy5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9nc3RtcGVnZGVzYy5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIEFkZGVkIGRlc2NyaXB0b3Igc2VhcmNoaW5nIGluZnJhc3RydWN0dXJlIGZyb20gRmx1ZW5kbyBUUyBkZW11eGVyLgoJICBBZGQgY2hhbm5lbCBuYW1lIGFuZCBwcm92aWRlciB0byB0aGUgc2R0IHN0cnVjdHVyZSBzZW50IGluIHRoZQoJICBidXMgbWVzc2FnZS4KCjIwMDgtMDEtMjIgMTc6NDM6MzUgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogUGFyc2UgTkFMIHVuaXRzIGluIGZvcndhcmQgbW9kZSB0byBtYXJrIGRlbHRhIHVuaXRzIGZsYWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wMS0yMiAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiAoZ3N0X2gyNjRfcGFyc2VfY2hhaW5fZm9yd2FyZCk6CgkgIFBhcnNlIE5BTCB1bml0cyBpbiBmb3J3YXJkIG1vZGUgdG8gbWFyayBkZWx0YSB1bml0cyBmbGFncy4KCjIwMDgtMDEtMjIgMTI6MDY6MTkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFJlZ2VuZXJhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICBSZWdlbmVyYXRlLgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10cmVtb3IueG1sOgoJICBBZGQgdm9yYmlzaWRlYyBha2EgdHJtb3IuCgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSAgQWRkIHNob3J0IGRlc2NyaXB0aW9uLgoKMjAwOC0wMS0yMiAwOTo1NToyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBBZGQgbWlzc2luZyBlb2wgXAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIEFkZCBtaXNzaW5nIGVvbCBcCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgUGxhY2Ugb2JqZWN0IG5hbWVzIHRvIHN0YW5kYXJkIHNlY3Rpb25hcyBwbHVnaW4gZG9udCBkb2N1bWVudCB0aG9zZS4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkgIHJlZ2VuZXJhdGUuCgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmg6CgkgIE1hcmsgcHJpdmF0ZSB2YXJzIGFuZCBhZGQgc2hvcnQgZGVzYy4KCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgIEFkZCBzaG9ydCBkZXNjLgoKMjAwOC0wMS0yMSAxNDozMzoxMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgT25lIGxlc3MgdG8gZG8uIEl0cyAnbnV2JyBub3QgJ252dScuIEFzIGFuIGV4dHJhIGJvbnVzIEkgbWVudGlvbiB3aGF0IGl0IGFjdHVhbGx5IGlzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgIE9uZSBsZXNzIHRvIGRvLiBJdHMgJ251dicgbm90ICdudnUnLiBBcyBhbiBleHRyYSBib251cyBJIG1lbnRpb24gd2hhdAoJICBpdCBhY3R1YWxseSBpcy4KCjIwMDgtMDEtMjEgMTQ6MTk6MzIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFVwZGF0ZSBsaXN0cyBhZ2Fpbi4gVGhvc2Ugd2hvbGUgY2FuIGJ1aWxkIGl2b3JiaXNkZWMsIG15dGh0dnNyYywgbnZ1ZGVtdXggYW5kIHRoZW9yYWRlY2V4cCwgcGxlYXNlIGNvbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBVcGRhdGUgbGlzdHMgYWdhaW4uIFRob3NlIHdob2xlIGNhbiBidWlsZCBpdm9yYmlzZGVjLCBteXRodHZzcmMsCgkgIG52dWRlbXV4IGFuZCB0aGVvcmFkZWNleHAsIHBsZWFzZSBjb21taXQgdGhlIGluc3BlY3QvcGx1Z2luLXh4eC54bWwuCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbAoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlLnhtbDoKCSAgUmVwbGFjZSB2aWRlb3BhcnNlIHdpdGggcmF3cGFyc2UuCgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSAgSGVscCBndGstZG9jIHRvIHJlY29nbml6ZSB0aGUgb2JqZWN0IHN0cnVjdC4KCjIwMDgtMDEtMjEgMTI6NDI6MDkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9saWJyZmIvcmZiZGVjb2Rlci4qOiBEb24ndCB1c2UgZ3RrLWRvYyBjb21tZW50IHN0eWxlIGZvciBub24gZ3RrLWRvYyBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIERvbid0IHVzZSBndGstZG9jIGNvbW1lbnQgc3R5bGUgZm9yIG5vbiBndGstZG9jIGNvbW1lbnRzLgoJICBNYWtlIG9uZSBzdGF0aWMgZnVuY3Rpb24gc3RhdGljLgoKMjAwOC0wMS0yMSAxMjoxOToxMyArMDAwMCAgR2FicmllbCBCb3V2aWduZSA8Ym91dmlnbmVAbXAzLXRlY2gub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLio6IFByb3ZpZGUgNDoyOjIgc3VwcG9ydAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEdhYnJpZWwgQm91dmlnbmUgPGJvdXZpZ25lIGF0IG1wMy10ZWNoIGRvdCBvcmc+CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6IChnc3RfZGVpbnRlcmxhY2VfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfaW5pdCksIChnc3RfZGVpbnRlcmxhY2Vfc2V0X2NhcHMpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3RyYW5zZm9ybV9pcCksIChnc3RfZGVpbnRlcmxhY2Vfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBQcm92aWRlIDQ6MjoyIHN1cHBvcnQKCSAgQWxzbyBkZWludGVybGFjZSBjaHJvbWEgcGxhbmVzCgkgIEFsbG93IHRvIHR1cm4gb24vb2ZmIGRlaW50ZXJsYWNpbmcKCSAgQ2hhbmdlIG9mIGRlZmF1bHQgdGhyZXNob2xkcywgaW4gb3JkZXIgdG8gcHJvdmlkZSBhY2NlcHRhYmxlIHJlc3VsdHMKCSAgd2l0aCBkZWZhdWx0IHBhcmFtcy4gRml4ZXMgIzUxMTAwMS4KCjIwMDgtMDEtMjEgMTE6MDQ6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OiBVcGRhdGUgZG9jcyBmaWxlIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgVXBkYXRlIGRvY3MgZmlsZSB0b28uCgoyMDA4LTAxLTIxIDExOjAxOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2R2ZHNwdS86IEZpeCB1cCBkdmRzcHUgZWxlbWVudCBhZ2FpbiBhZnRlciBwcmV2aW91cyBuYW1lc3BhY2UgbWFuZ2xpbmc6IHJlbmFtZSBkZWJ1ZyBjYXRlZ29yeSB2YXJpYWJsZSB0byBvbGQgbmFtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LXJlbmRlci5jOiAoZ3N0X2R2ZF9zcHVfcmVuZGVyX3NwdSk6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzogKGR2ZHNwdV9kZWJ1ZyksIChHU1RfQ0FUX0RFRkFVTFQpLAoJICAoc3VicGljX3NpbmtfZmFjdG9yeSksIChnc3RfZHZkX3NwdV9iYXNlX2luaXQpLAoJICAoZ3N0X2R2ZF9zcHVfY2xhc3NfaW5pdCksIChnc3RfZHZkX3NwdV9pbml0KSwgKGdzdF9kdmRfc3B1X2NsZWFyKSwKCSAgKGdzdF9kdmRfc3B1X2Rpc3Bvc2UpLCAoZ3N0X2R2ZF9zcHVfZmluYWxpemUpLAoJICAoZ3N0X2R2ZF9zcHVfZmx1c2hfc3B1X2luZm8pLCAoZ3N0X2R2ZF9zcHVfYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9kdmRfc3B1X3NyY19ldmVudCksIChnc3RfZHZkX3NwdV92aWRlb19zZXRfY2FwcyksCgkgIChnc3RfZHZkX3NwdV92aWRlb19wcm94eV9nZXRjYXBzKSwgKGdzdF9kdmRfc3B1X3ZpZGVvX2V2ZW50KSwKCSAgKGdzdF9kdmRfc3B1X3ZpZGVvX2NoYWluKSwgKGR2c3B1X2hhbmRsZV92aWRfYnVmZmVyKSwKCSAgKGdzdF9kdmRfc3B1X3JlZHJhd19zdGlsbCksIChnc3RfZHZkX3NwdV9wYXJzZV9jaGdfY29sY29uKSwKCSAgKGdzdF9kdmRfc3B1X2V4ZWNfY21kX2JsayksIChnc3RfZHZkX3NwdV9maW5pc2hfc3B1X2J1ZiksCgkgIChnc3RfZHZkX3NwdV9zZXR1cF9jbWRfYmxrKSwgKGdzdF9kdmRfc3B1X2hhbmRsZV9uZXdfc3B1X2J1ZiksCgkgIChnc3RfZHZkX3NwdV9oYW5kbGVfZHZkX2V2ZW50KSwgKGdzdF9kdmRfc3B1X2FkdmFuY2Vfc3B1KSwKCSAgKGdzdF9kdmRfc3B1X2NoZWNrX3N0aWxsX3VwZGF0ZXMpLCAoZ3N0X2R2ZF9zcHVfc3VicGljX2NoYWluKSwKCSAgKGdzdF9kdmRfc3B1X3N1YnBpY19ldmVudCksIChnc3RfZHZkX3NwdV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2R2ZF9zcHVfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6IChHU1RfVFlQRV9EVkRfU1BVKToKCSAgRml4IHVwIGR2ZHNwdSBlbGVtZW50IGFnYWluIGFmdGVyIHByZXZpb3VzIG5hbWVzcGFjZSBtYW5nbGluZzoKCSAgcmVuYW1lIGRlYnVnIGNhdGVnb3J5IHZhcmlhYmxlIHRvIG9sZCBuYW1lLCBtYXRjaGluZyB0aGF0IGluCgkgIGR2ZHNwdS1yZW5kZXIuYywgdG8gYXZvaWQgdW5kZWZpbmVkIHN5bWJvbCBlcnJvciB3aGVuIGxvYWRpbmcKCSAgdGhlIG1vZHVsZTsgc2FtZSBmb3IgdGhlIF9yZW5kZXIgZnVuY3Rpb24gaW4gZHZkc3B1LXJlbmRlci5jOgoJICB3ZSBtdXN0IHVzZSB0aGUgc2FtZSBuYW1lIGluIGJvdGggLmMgZmlsZXM7IGNoYW5nZSBmdW5jdGlvbnMKCSAgbm93IGNhbGxlZCBnc3Rnc3RfKiBiYWNrIHRvIGdzdF8qIGFnYWluOyBhbmQgd2hpbGUgd2UncmUgYXQgaXQsCgkgIHdlIG1heSBhcyB3ZWxsIGNhbm9uaWNhbGlzZSB0aGUgbmFtZXNwYWNlIHByb3Blcmx5LCBuYW1lbHkgdG8KCSAgZ3N0X2R2ZF9zcHVfKi4KCjIwMDgtMDEtMjEgMTA6MDY6MDggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIENvaGVyZW50IG5hbWVzcGFjZSB1c2FnZSBhbmQgYWRkaW5nIHN5bWJvbGQgZnJvbSB1bnVzZWQgdG8gc2VjdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5oOgoJICBDb2hlcmVudCBuYW1lc3BhY2UgdXNhZ2UgYW5kIGFkZGluZyBzeW1ib2xkIGZyb20gdW51c2VkIHRvIHNlY3Rpb25zLgoKMjAwOC0wMS0yMSAwOTo1NzowNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIHN5bWJvbHMgZnJvbSAtdW51c2VkLnR4dCB0byB0aGUgcmlnaHQgcGxhY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBBZGQgc3ltYm9scyBmcm9tIC11bnVzZWQudHh0IHRvIHRoZSByaWdodCBwbGFjZS4KCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkgIENvaGVyZW50IG5hbWVzcGFjZSB1c2FnZS4KCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgRml4IGJyb2tlbiBYTUwgZnJhZ21lbnQgaW4gZG9jIHNuaXBwZXQgZXZlbiBtb3JlLgoKMjAwOC0wMS0yMSAwNzo1NDowMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBVcGRhdGUgaW5jbHVkZSBsaXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIFVwZGF0ZSBpbmNsdWRlIGxpc3QuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgVXBkYXRlIHhtbCBpbmNsdWRlcy4KCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN3aXRjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRpbWlkaXR5LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgUmVnZW5lcmF0ZSBmaWxlcy4KCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgRml4IGJyb2tlbiBYTUwgZnJhZ21lbnQgaW4gZG9jIHNuaXBwZXQuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgQWRkIHRlc3QgYmluYXJ5IHRvIGlnbm9yZXMuCgoyMDA4LTAxLTIxIDA3OjIyOjQ3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiBGaXggdGhlIGJ1aWxkLiBHU1RfVElNRV9BUkdTIHRha2VzIGEgdGltZXN0YW1wIG5vdCBhIGJ1ZmZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgRml4IHRoZSBidWlsZC4gR1NUX1RJTUVfQVJHUyB0YWtlcyBhIHRpbWVzdGFtcCBub3QgYSBidWZmZXIuCgoyMDA4LTAxLTIwIDA1OjA3OjUyICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogUmVwb3J0IHRoZSBzaXplIG9mIHRoZSBzdHJlYW0gYXMgdGhlIHRvdGFsIHNpemUgaW5zdGVhZCBvZiB0aGUgcmVtYWluaW5nIENvbnRlbnQtTGVuZ3RoLCB3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKHNvdXBfZ290X2hlYWRlcnMpOgoJICBSZXBvcnQgdGhlIHNpemUgb2YgdGhlIHN0cmVhbSBhcyB0aGUgdG90YWwgc2l6ZSBpbnN0ZWFkIG9mCgkgIHRoZSByZW1haW5pbmcgQ29udGVudC1MZW5ndGgsIHdoaWNoIGlzIHdyb25nIGFmdGVyIGEgc2Vlay4KCjIwMDgtMDEtMTkgMTY6MTM6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOiBIYW5kbGUgZnJhbWVzaXplcyA+IDQwOTYgd2l0aCBtdWx0aXBsZSBmcmFtZXMgcGVyIGJ1ZmZlciBjb3JyZWN0bHkgaW4gcHVsbCBtb2RlIGFuZCBoYW5kbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogKGdzdF9yYXdfcGFyc2VfcHVzaF9idWZmZXIpLAoJICAoZ3N0X3Jhd19wYXJzZV9sb29wKToKCSAgSGFuZGxlIGZyYW1lc2l6ZXMgPiA0MDk2IHdpdGggbXVsdGlwbGUgZnJhbWVzIHBlciBidWZmZXIgY29ycmVjdGx5CgkgIGluIHB1bGwgbW9kZSBhbmQgaGFuZGxlIHNob3J0IHJlYWRzIGJldHRlci4KCSAgQWxzbyBwdXQgb2Zmc2V0IGFuZCBvZmZzZXRfZW5kIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgoyMDA4LTAxLTE5IDE1OjUzOjM4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogSW1wcm92ZSBoYW5kbGluZyBvZiB1bmtub3duIG9yIHRvbyBzbWFsbCB1cHN0cmVhbSBzaXplcyBpbiBwdWxsIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOiAoZ3N0X3Jhd19wYXJzZV9sb29wKToKCSAgSW1wcm92ZSBoYW5kbGluZyBvZiB1bmtub3duIG9yIHRvbyBzbWFsbCB1cHN0cmVhbSBzaXplcyBpbgoJICBwdWxsIG1vZGUuCgoyMDA4LTAxLTE5IDE1OjM5OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQgYW5kIGZvciBoYW5kbGluZyBtdWx0aXBsZSBmcmFtZXMgcGVyIGJ1ZmZlciBpbiBwdWxsIG1vZGUgY2hvb3NlIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6IChnc3RfcmF3X3BhcnNlX2xvb3ApLAoJICAoZ3N0X3Jhd19wYXJzZV9oYW5kbGVfc2Vla19wdXNoKToKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQgYW5kIGZvciBoYW5kbGluZyBtdWx0aXBsZSBmcmFtZXMgcGVyIGJ1ZmZlcgoJICBpbiBwdWxsIG1vZGUgY2hvb3NlIHRoZSBuZXh0IHNtYWxsZXN0IG11bHRpcGx5IG9mIGZyYW1lc2l6ZSBiZWxvdwoJICA0MDk2IGluc3RlYWQgb2YgYWx3YXlzIGhhbmRsaW5nIDEwMjQgZnJhbWVzLgoKMjAwOC0wMS0xOSAxNDozNDo1MCArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IENvcnJlY3RseSBzZXQgZHVyYXRpb24gb24gdGhlIEdzdEJhc2VTcmMgc2VnbWVudCB3aGVuIHdlIGtub3cgaXQgdG8gZml4IGZhaWxpbmcgdGhlIGR1cmF0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChzb3VwX2dvdF9oZWFkZXJzKToKCSAgQ29ycmVjdGx5IHNldCBkdXJhdGlvbiBvbiB0aGUgR3N0QmFzZVNyYyBzZWdtZW50IHdoZW4gd2Uga25vdyBpdAoJICB0byBmaXggZmFpbGluZyB0aGUgZHVyYXRpb24gcXVlcnkuCgoyMDA4LTAxLTE4IDE3OjM3OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogU2V0IHRpbWVzdGFtcHMgbW9yZSBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IChnc3RfaDI2NF9wYXJzZV9mbHVzaF9kZWNvZGUpLAoJICAoZ3N0X2gyNjRfcGFyc2VfcXVldWVfYnVmZmVyKSwgKGdzdF9oMjY0X3BhcnNlX2NoYWluX3JldmVyc2UpOgoJICBTZXQgdGltZXN0YW1wcyBtb3JlIGNvcnJlY3RseS4KCjIwMDgtMDEtMTggMTY6NTY6MTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS4qOiBJbXBsZW1lbnQgcHVsbCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogKGdzdF9yYXdfcGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3RfcmF3X3BhcnNlX2luaXQpLCAoZ3N0X3Jhd19wYXJzZV9yZXNldCksCgkgIChnc3RfcmF3X3BhcnNlX3NldF9zcmNfY2FwcyksIChnc3RfcmF3X3BhcnNlX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9yYXdfcGFyc2VfY2hhaW4pLCAoZ3N0X3Jhd19wYXJzZV9sb29wKSwKCSAgKGdzdF9yYXdfcGFyc2Vfc2lua19hY3RpdmF0ZSksIChnc3RfcmF3X3BhcnNlX3NpbmtfYWN0aXZhdGVwdWxsKSwKCSAgKGdzdF9yYXdfcGFyc2VfY2hhbmdlX3N0YXRlKSwgKGdzdF9yYXdfcGFyc2Vfc2lua19ldmVudCksCgkgIChnc3RfcmF3X3BhcnNlX2hhbmRsZV9zZWVrX3B1c2gpLCAoZ3N0X3Jhd19wYXJzZV9oYW5kbGVfc2Vla19wdWxsKSwKCSAgKGdzdF9yYXdfcGFyc2Vfc3JjX2V2ZW50KSwgKGdzdF9yYXdfcGFyc2Vfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuaDoKCSAgSW1wbGVtZW50IHB1bGwgbW9kZS4KCjIwMDgtMDEtMTggMTA6MDU6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IEZpeCBtZW1vcnkgbGVhayBzcG90dGVkIGJ5IHRoZSB1bml0IHRlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IChnc3RfbXVsdGlfZmlsZV9zcmNfY3JlYXRlKToKCSAgRml4IG1lbW9yeSBsZWFrIHNwb3R0ZWQgYnkgdGhlIHVuaXQgdGVzdC4KCjIwMDgtMDEtMTggMDk6NTQ6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBFbmFibGUgc3BlY3RydW0gdGVzdCBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIEVuYWJsZSBzcGVjdHJ1bSB0ZXN0IGFnYWluLgoJICAqIHRlc3RzL2NoZWNrL2dzdC1wbHVnaW5zLWJhZC5zdXBwOgoJICBBZGQgc3VwcHJlc3Npb25zIGZvciBhIHNpbmdsZXRvbiBpbiBHSU8gdGhhdCBjYW4ndCBiZSBmcmVlZC4KCjIwMDgtMDEtMTggMDg6NDk6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHNvbWUgbWluaW1hbCB0ZXN0cyBmb3IgdGhlIGVxdWFsaXplciBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZXF1YWxpemVyLmM6IChzZXR1cF9lcXVhbGl6ZXIpLAoJICAoY2xlYW51cF9lcXVhbGl6ZXIpLCAoR1NUX1NUQVJUX1RFU1QpLCAoZXF1YWxpemVyX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgc29tZSBtaW5pbWFsIHRlc3RzIGZvciB0aGUgZXF1YWxpemVyIHBsdWdpbi4KCjIwMDgtMDEtMTggMDc6MDM6MjMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IFVucGFyZW50IGFsbCBiYW5kcyBmcm9tIHRoZSBlcXVhbGl6ZXIgd2hlbiBmaW5hbGl6aW5nIHRvIHN0b3AgbGVha2luZwl0aGVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfZmluYWxpemUpOgoJICBVbnBhcmVudCBhbGwgYmFuZHMgZnJvbSB0aGUgZXF1YWxpemVyIHdoZW4gZmluYWxpemluZyB0byBzdG9wCgkgIGxlYWtpbmcJdGhlbS4KCjIwMDgtMDEtMTggMDU6MzI6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IEFkZCBzdXBwb3J0IGZvciBXZWJEQVYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cGh0dHBfc3JjX3VyaV9nZXRfcHJvdG9jb2xzKToKCSAgQWRkIHN1cHBvcnQgZm9yIFdlYkRBVi4KCjIwMDgtMDEtMTggMDU6MjQ6MzkgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy4qOiBBZGQgc3VwcG9ydCBmb3Igc2Vla2luZyB0byBzb3VwaHR0cHNyYy4gRml4ZXMgYnVnICM1MDIzMzUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBodHRwX3NyY19jcmVhdGUpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19pc19zZWVrYWJsZSksIChnc3Rfc291cGh0dHBfc3JjX2RvX3NlZWspLAoJICAoc291cF9hZGRfcmFuZ2VfaGVhZGVyKSwgKHNvdXBfZ290X2hlYWRlcnMpLCAoc291cF9nb3RfY2h1bmspOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBzZWVraW5nIHRvIHNvdXBodHRwc3JjLiBGaXhlcyBidWcgIzUwMjMzNS4KCjIwMDgtMDEtMTcgMTg6Mzk6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS4qOiBJbXByb3ZlIGRlYnVnZ2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogKGdzdF9oMjY0X3BhcnNlX2NsZWFyX3F1ZXVlcyksCgkgIChnc3RfaDI2NF9wYXJzZV9mbHVzaF9kZWNvZGUpLCAoZ3N0X2gyNjRfcGFyc2VfcXVldWVfYnVmZmVyKSwKCSAgKGdzdF9oMjY0X3BhcnNlX2ZpbmRfc3RhcnRfcmV2ZXJzZSksCgkgIChnc3RfaDI2NF9wYXJzZV9jaGFpbl9yZXZlcnNlKSwgKGdzdF9oMjY0X3BhcnNlX2NoYWluKToKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBJbXByb3ZlIGRlYnVnZ2luZy4KCSAgRml4IGJ1ZmZlciBzcGxpdHRpbmcgYXQgc3luYyBjb2RlcyBhbmQgbGVmdG92ZXIgYnVmZmVyIGFmdGVyCgkgIHNjYW5uaW5nLgoKMjAwOC0wMS0xNyAxNjoxMDo0OCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgRml4ZWQgYWRkaW5nIEVYSUYgdGFncyB0byBjb3JyZWN0IElGRC4gTWFwcGVkIHNvbWUgWE1QIHRhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBhZGRpbmcgRVhJRiB0YWdzIHRvIGNvcnJlY3QgSUZELiBNYXBwZWQgc29tZSBYTVAgdGFncy4KCjIwMDgtMDEtMTYgMTg6Mjg6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS4qOiBBZGQgcmV2ZXJzZSBwbGF5YmFjayBzdXBwb3J0IGZvciBjb250YWluZXJzIHRoYXQgZG9uJ3Qga25vdyBob3cgdG8gcHJvcGVybHkgc2VuZCBkYXRhIGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogKGdzdF9uYWxfbGlzdF9uZXcpLAoJICAoZ3N0X25hbF9saXN0X3ByZXBlbmRfbGluayksIChnc3RfbmFsX2xpc3RfZGVsZXRlX2hlYWQpLAoJICAoZ3N0X25hbF9ic19pbml0KSwgKGdzdF9uYWxfYnNfcmVhZCksIChnc3RfbmFsX2JzX2VvcyksCgkgIChnc3RfbmFsX2JzX3JlYWRfdWUpLCAoZ3N0X2gyNjRfcGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3RfaDI2NF9wYXJzZV9pbml0KSwgKGdzdF9oMjY0X3BhcnNlX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaDI2NF9wYXJzZV9nZXRfcHJvcGVydHkpLCAoZ3N0X2gyNjRfcGFyc2Vfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9oMjY0X3BhcnNlX2NsZWFyX3F1ZXVlcyksIChnc3RfaDI2NF9wYXJzZV9jaGFpbl9mb3J3YXJkKSwKCSAgKGdzdF9oMjY0X3BhcnNlX2ZsdXNoX2RlY29kZSksIChnc3RfaDI2NF9wYXJzZV9xdWV1ZV9idWZmZXIpLAoJICAoZ3N0X2gyNjRfcGFyc2VfZmluZF9zdGFydF9yZXZlcnNlKSwKCSAgKGdzdF9oMjY0X3BhcnNlX2NoYWluX3JldmVyc2UpLCAoZ3N0X2gyNjRfcGFyc2VfY2hhaW4pLAoJICAoZ3N0X2gyNjRfcGFyc2Vfc2lua19ldmVudCksIChnc3RfaDI2NF9wYXJzZV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIEFkZCByZXZlcnNlIHBsYXliYWNrIHN1cHBvcnQgZm9yIGNvbnRhaW5lcnMgdGhhdCBkb24ndCBrbm93IGhvdyB0bwoJICBwcm9wZXJseSBzZW5kIGRhdGEgYmV0d2VlbiBJLWZyYW1lcy4KCjIwMDgtMDEtMTYgMDU6NDA6NDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFVwZGF0ZSBmb3IgQVBJIGNoYW5nZXMgaW4gR0lPIGFuZCByZXF1aXJlIEdJTyAyLjE1LjIgZm9yIHRoaXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZ2lvLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIFVwZGF0ZSBmb3IgQVBJIGNoYW5nZXMgaW4gR0lPIGFuZCByZXF1aXJlIEdJTyAyLjE1LjIgZm9yIHRoaXMuCgoyMDA4LTAxLTE0IDEwOjUyOjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IEJpdHJhdGUgaXMgNCBiaXRzLCBub3QgOCBzbyBjaGVjayBmb3IgMHhlIGFzIG1heGltdW0gdmFsdWUgaW5zdGVhZCBvZiAweGZlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IChnZW5lcmF0ZV94aW5nX2hlYWRlcik6CgkgIEJpdHJhdGUgaXMgNCBiaXRzLCBub3QgOCBzbyBjaGVjayBmb3IgMHhlIGFzIG1heGltdW0gdmFsdWUgaW5zdGVhZAoJICBvZiAweGZlLgoKMjAwOC0wMS0xNCAwOTowOTo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiBSZW1vdmUgYWNjaWRlbnRpYWxseSBsZWZ0b3ZlciBkZWJ1ZyBwcmludGYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKGdlbmVyYXRlX3hpbmdfaGVhZGVyKToKCSAgUmVtb3ZlIGFjY2lkZW50aWFsbHkgbGVmdG92ZXIgZGVidWcgcHJpbnRmLgoKMjAwOC0wMS0xNCAwODo1NjozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiBDaG9vc2Ugc21hbGxlc3QgcG9zc2libGUgZnJhbWUgc2l6ZSBmb3IgdGhlIFhpbmcgaGVhZGVyLCBwcm9wZXJseSBzZXQgdGhlIHRpbWVzdGFtcCwgZHVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKGhhc194aW5nX2hlYWRlciksCgkgIChnZW5lcmF0ZV94aW5nX2hlYWRlciksIChnc3RfeGluZ19tdXhfY2hhaW4pLAoJICAoZ3N0X3hpbmdfbXV4X3NpbmtfZXZlbnQpOgoJICBDaG9vc2Ugc21hbGxlc3QgcG9zc2libGUgZnJhbWUgc2l6ZSBmb3IgdGhlIFhpbmcgaGVhZGVyLCBwcm9wZXJseQoJICBzZXQgdGhlIHRpbWVzdGFtcCwgZHVyYXRpb24gYW5kIG9mZnNldCBvbiB0aGUgb3V0Z29pbmcgYnVmZmVycywKCSAgb25seSBzZW5kIE5FV1NFR01FTlQgZXZlbnRzIGluIEJZVEUgZm9ybWF0IGRvd25zdHJlYW0gYW5kIGFsc28KCSAgZHJvcCBWQlJJIGhlYWRlcnMgaWYgYWxyZWFkeSBleGlzdGluZy4KCjIwMDgtMDEtMTIgMDk6MjI6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC94aW5naGVhZGVyLzogTWFqb3IgY2xlYW51cCBhbmQgcmV3cml0ZSBvZiB4aW5nbXV4IHdpdGggbGVzcyBidWdzIGFuZCBuZXcgZmVhdHVyZXM6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC94aW5naGVhZGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKHBhcnNlX2hlYWRlciksIChnZXRfeGluZ19vZmZzZXQpLAoJICAoaGFzX3hpbmdfaGVhZGVyKSwgKGdlbmVyYXRlX3hpbmdfaGVhZGVyKSwKCSAgKGdzdF94aW5nX211eF9iYXNlX2luaXQpLCAoZ3N0X3hpbmdfbXV4X2ZpbmFsaXplKSwgKHhpbmdfcmVzZXQpLAoJICAoZ3N0X3hpbmdfbXV4X2luaXQpLCAoZ3N0X3hpbmdfbXV4X2NoYWluKSwKCSAgKGdzdF94aW5nX211eF9zaW5rX2V2ZW50KSwgKGdzdF94aW5nX211eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguaDoKCSAgTWFqb3IgY2xlYW51cCBhbmQgcmV3cml0ZSBvZiB4aW5nbXV4IHdpdGggbGVzcyBidWdzIGFuZCBuZXcgZmVhdHVyZXM6CgkgIC0gSGFuZGxlcyBvdGhlciBsYXllcnMgYXMgMwoJICAtIFdyaXRlIFRPQwoKMjAwOC0wMS0xMSAxOToxNjo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogSXQncyAiZW5kaWFubmVzcyIsIG5vdCAiZW5kaWFuZXNzIi4gRml4ZXMgdW5pdCB0ZXN0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAodGVzdF9idWZmZXJfY29uc3RfZmxvYXRfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9jb25zdF9mbG9hdF9zdGVyZW8pLCAodGVzdF9idWZmZXJfY29uc3RfaW50MTZfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9jb25zdF9pbnQxNl9zdGVyZW8pLCAodGVzdF9idWZmZXJfc3F1YXJlX2Zsb2F0X21vbm8pLAoJICAodGVzdF9idWZmZXJfc3F1YXJlX2Zsb2F0X3N0ZXJlbyksICh0ZXN0X2J1ZmZlcl9zcXVhcmVfaW50MTZfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9zcXVhcmVfaW50MTZfc3RlcmVvKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzogKGNyZWF0ZV90ZXN0X2J1ZmZlcik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzogKHRlc3RfYnVmZmVyX25ldyk6CgkgIEl0J3MgImVuZGlhbm5lc3MiLCBub3QgImVuZGlhbmVzcyIuIEZpeGVzIHVuaXQgdGVzdHMuCgoyMDA4LTAxLTExIDE3OjAyOjMwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBJZiB3ZSBmaW5kIHRoZSBjYXBzIGluIHRoZSBjYWNoZSwgdXNlIGl0IHRvIHBhcnNlIHRoZSBjbG9jay1yYXRlIGluc3RlYWQgb2YgcmV0dXJuaW5nLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKToKCSAgSWYgd2UgZmluZCB0aGUgY2FwcyBpbiB0aGUgY2FjaGUsIHVzZSBpdCB0byBwYXJzZSB0aGUgY2xvY2stcmF0ZSBpbnN0ZWFkCgkgIG9mIHJldHVybmluZyBhbiBlcnJvci4gRml4ZXMgYSBUT0RPIGFzIGZvdW5kIGJ5IFlvdW5lc3MgQWxhb3VpLgoKMjAwOC0wMS0xMSAxNjo0NTo1NyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogTWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgZGlmZmVyZW50IHVzZXJfZGF0YSBmb3IgZWFjaCBvZiB0aGUgY2FsbGJhY2tzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzIGRvdCBhbGFvdWkgYXQgY29sbGFib3JhIGRvdCBjbyBkb3QgdWs+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3NldF9jYWxsYmFja3MpLAoJICAocnRwX3Nlc3Npb25fc2V0X3Byb2Nlc3NfcnRwX2NhbGxiYWNrKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9zZW5kX3J0cF9jYWxsYmFjayksCgkgIChydHBfc2Vzc2lvbl9zZXRfc2VuZF9ydGNwX2NhbGxiYWNrKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9zeW5jX3J0Y3BfY2FsbGJhY2spLAoJICAocnRwX3Nlc3Npb25fc2V0X2Nsb2NrX3JhdGVfY2FsbGJhY2spLAoJICAocnRwX3Nlc3Npb25fc2V0X3JlY29uc2lkZXJfY2FsbGJhY2spLCAoc291cmNlX3B1c2hfcnRwKSwKCSAgKHNvdXJjZV9jbG9ja19yYXRlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCksIChydHBfc2Vzc2lvbl9zZW5kX2J5ZSksCgkgIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIE1ha2UgaXQgcG9zc2libGUgdG8gdXNlIGRpZmZlcmVudCB1c2VyX2RhdGEgZm9yIGVhY2ggb2YgdGhlIGNhbGxiYWNrcy4KCSAgRml4ZXMgIzUwODU4Ny4KCjIwMDgtMDEtMTEgMTU6NTg6MTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzogU21hbGwgbWVhbmluZ2xlc3MgY2xlYW51cC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6IChtcGVnX3V0aWxfZmluZF9zdGFydF9jb2RlKToKCSAgU21hbGwgbWVhbmluZ2xlc3MgY2xlYW51cC4KCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzogKGdzdF9tcGVndmlkZW9wYXJzZV9mbHVzaCksCgkgIChtcGVndmlkZW9wYXJzZV9kcmFpbl9hdmFpbCksIChnc3RfbXBlZ3ZpZGVvcGFyc2VfY2hhaW5fZm9yd2FyZCksCgkgIChzY2FuX2tleWZyYW1lKSwgKGdzdF9tcGVndmlkZW9wYXJzZV9mbHVzaF9kZWNvZGUpLAoJICAoZ3N0X21wZWd2aWRlb3BhcnNlX2NoYWluX3JldmVyc2UpLCAoZ3N0X21wZWd2aWRlb3BhcnNlX2NoYWluKSwKCSAgKG1wdl9wYXJzZV9zaW5rX2V2ZW50KSwgKGdzdF9tcGVndmlkZW9wYXJzZV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5oOgoJICBUcmFjayBzZWdtZW50IGV2ZW50cy4KCSAgRG8gdGhlIGZpcnN0IHBhcnQgb2YgcmV2ZXJzZSBwbGF5YmFjayBieSBzZW5kaW5nIGRhdGEgYmV0d2VlbiB0d28KCSAgSS1mcmFtZXMgdG8gdGhlIGRlY29kZXIuCgoyMDA4LTAxLTEwIDIwOjU3OjE3ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBkb2N1bWVudGF0aW9uIGZvciBsYXRlc3QgcGF0Y2gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIEZpeCBkb2N1bWVudGF0aW9uIGZvciBsYXRlc3QgcGF0Y2gKCjIwMDgtMDEtMTAgMTQ6MzQ6MzAgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQWxsb3cgcmVxdWVzdF9uZXdfcGFkIHdpdGggbmFtZSBOVUxMIChidWcgIzUwODUxNSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIEFsbG93IHJlcXVlc3RfbmV3X3BhZCB3aXRoIG5hbWUgTlVMTCAoYnVnICM1MDg1MTUpCgoyMDA4LTAxLTEwIDEyOjM2OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBhdXRvZ2VuLnNoOiBBZGQgLVduby1wb3J0YWJpbGl0eSB0byB0aGUgYXV0b21ha2UgcGFyYW1ldGVycyB0byBzdG9wIHdhcm5pbmdzIGFib3V0IEdOVSBtYWtlIGV4dGVuc2lvbnMgYmVpbmcgdXNlZC4gV2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYXV0b2dlbi5zaDoKCSAgQWRkIC1Xbm8tcG9ydGFiaWxpdHkgdG8gdGhlIGF1dG9tYWtlIHBhcmFtZXRlcnMgdG8gc3RvcCB3YXJuaW5ncwoJICBhYm91dCBHTlUgbWFrZSBleHRlbnNpb25zIGJlaW5nIHVzZWQuIFdlIHJlcXVpcmUgR05VIG1ha2UgaW4gYWxtb3N0CgkgIGV2ZXJ5IE1ha2VmaWxlIGFueXdheS4KCSAgKiBjb25maWd1cmUuYWM6CgkgIFVzZSBBTV9QUk9HX0NDX0NfTyBhcyBhIGNvbXBpbGVyIHRoYXQgYWNjZXB0cyBib3RoIC1jIGFuZCAtbwoJICBhdCB0aGUgc2FtZSB0aW1lIGlzIHJlcXVpcmVkIGZvciBwZXIgdGFyZ2V0IGZsYWdzLgoKMjAwOC0wMS0wOSAxNDozOTo0NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogRG9uJ3Qgc2V0IGZpeGVkIGNhcHMsIHdlIGNhbiBiYXNpY2FsbHkgZG8gZXZlcnl0aGluZyB0aGUgdXBzdGVhbSBwZWVyIHBhZCBjYW4gcmVuZWdvdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChjcmVhdGVfc2VuZF9ydHBfc2luayk6CgkgIERvbid0IHNldCBmaXhlZCBjYXBzLCB3ZSBjYW4gYmFzaWNhbGx5IGRvIGV2ZXJ5dGhpbmcgdGhlIHVwc3RlYW0gcGVlcgoJICBwYWQgY2FuIHJlbmVnb3RpYXRlIHRvLiBGaXhlcyAjNTA3OTQwLgoKMjAwOC0wMS0wOSAxMzo1MzoyMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgTWFrZWZpbGUuYW06IEluY2x1ZGUgbGNvdi5tYWsgdG8gYWxsb3cgYnVpbGRpbmcgY292ZXJhZ2UgcmVwb3J0cy4gQWRkIHRvcC1sZXZlbCBjaGVjayB0YXJnZXRzIHNpbWlsYXIgdG8gb3RoZXIgZ3N0IHBhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICBJbmNsdWRlIGxjb3YubWFrIHRvIGFsbG93IGJ1aWxkaW5nIGNvdmVyYWdlIHJlcG9ydHMuIEFkZCB0b3AtbGV2ZWwKCSAgY2hlY2sgdGFyZ2V0cyBzaW1pbGFyIHRvIG90aGVyIGdzdCBwYWNrYWdlcy4KCjIwMDgtMDEtMDYgMjI6MzU6MzEgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOiBBZGQgR1NUX0NGTEFHUy4gIE90aGVyd2lzZSB3ZSBkb24ndCBnZXQgLVdhbGwgLVdlcnJvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJICBBZGQgR1NUX0NGTEFHUy4gIE90aGVyd2lzZSB3ZSBkb24ndCBnZXQgLVdhbGwgLVdlcnJvci4KCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIEdldHRpbmcgdGlyZWQgb2YgZGlyZWN0ZmIncyBjaGF0dGVyLiAgUXVpZXQgaXQuCgoyMDA4LTAxLTA2IDIyOjAwOjMyICswMDAwICBTZWFuIEQnRXBhZ25pZXIgPHNlYW5AZGVwYWduaWVyLmNvbT4KCgkgIEFkZCBmYmRldi1iYXNlZCB2aWRlbyBzaW5rLiAgTGludXgtb25seS4gIFNlZSBidWcgIzUwNjU0OS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWFuIEQnRXBhZ25pZXIgPHNlYW5AZGVwYWduaWVyLmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9mYmRldi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6CgkgICogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5oOgoJICBBZGQgZmJkZXYtYmFzZWQgdmlkZW8gc2luay4gIExpbnV4LW9ubHkuICBTZWUgYnVnICM1MDY1NDkuCgoyMDA4LTAxLTA2IDE2OjM2OjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBVcGRhdGUgdG8gR01lbW9yeUlucHV0U3RyZWFtIEFQSSBjaGFuZ2VzIGluIEdMaWIgU1ZOIGFuZCByZXF1aXJlIGdpby0yLjAgPj0gMi4xNS4xIGZvciB0aGlzLiBGaXhlcyBidWcgIzUwNzU4NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNyYy5jOiAoZ3N0X2dpb19iYXNlX3NyY19nZXRfc2l6ZSk6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2dpby5jOiAoZnJlZV9pbnB1dCksIChHU1RfU1RBUlRfVEVTVCk6CgkgIFVwZGF0ZSB0byBHTWVtb3J5SW5wdXRTdHJlYW0gQVBJIGNoYW5nZXMgaW4gR0xpYiBTVk4gYW5kIHJlcXVpcmUKCSAgZ2lvLTIuMCA+PSAyLjE1LjEgZm9yIHRoaXMuIEZpeGVzIGJ1ZyAjNTA3NTg0LgoJICBXZSBjYW4gYWxzbyByZXBvcnQgdGhlIGR1cmF0aW9uIGZvciBldmVyeSBHU2Vla2FibGUsIG5vdCBvbmx5CgkgIEdGaWxlSW5wdXRTdHJlYW0gYW5kIEdNZW1vcnlJbnB1dFN0cmVhbS4KCjIwMDgtMDEtMDYgMDM6MDE6MzkgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IEhhbmRsZSB4b3ZlcmxheSBleHBvc2VzIGNvcnJlY3RseS4gIFRoaXMgbWVhbnMgZ2xpbWFnZXNpbmsgd29ya3MgY29ycmVjdGx5IG1vc3Qgb2YgdGhlIHRpbWUgaW4gdG90ZW0gKGZ1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5LmM6CgkgICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6CgkgIEhhbmRsZSB4b3ZlcmxheSBleHBvc2VzIGNvcnJlY3RseS4gIFRoaXMgbWVhbnMgZ2xpbWFnZXNpbmsgd29ya3MKCSAgY29ycmVjdGx5IG1vc3Qgb2YgdGhlIHRpbWUgaW4gdG90ZW0gKGZ1bGxzY3JlZW5pbmcgYmVpbmcgYW4KCSAgZXhlY3B0aW9uKS4gIERvZXNuJ3QgaGFuZGxlIGV4cG9zZSBldmVudHMgZGlyZWN0bHkgdG8gdGhlIEdMCgkgIHdpbmRvdy4KCjIwMDgtMDEtMDYgMDE6MTk6NDggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IFJlZW5hYmxlIHZpZGVvL3gtcmF3LXJnYiBhbmQgeC1yYXcteXV2IGZvciBnbGltYWdlc2luay4gIEVuYWJsZSB2Ymxhbmsgc3luY2hyb25pemF0aW9uLiAgUmVtb3ZlIHVudXNlZCBjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmM6CgkgICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5LmM6CgkgICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdG9wZW5nbC5jOgoJICBSZWVuYWJsZSB2aWRlby94LXJhdy1yZ2IgYW5kIHgtcmF3LXl1diBmb3IgZ2xpbWFnZXNpbmsuICBFbmFibGUKCSAgdmJsYW5rIHN5bmNocm9uaXphdGlvbi4gIFJlbW92ZSB1bnVzZWQgY29kZS4KCjIwMDgtMDEtMDQgMTg6NDc6NTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogRG9uJ3QgdW5yZWYgdGhlIHBvcHBlZCBidWZmZXIgd2hlbiB3ZSBkb24ndCBoYXZlIG93bmVyc2hpcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIERvbid0IHVucmVmIHRoZSBwb3BwZWQgYnVmZmVyIHdoZW4gd2UgZG9uJ3QgaGF2ZSBvd25lcnNoaXAuCgkgIEZpeGVzICM1MDcwMjAuCgoyMDA4LTAxLTAzIDIzOjM1OjUyICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogUmVtb3ZlIG5vIGxvbmdlciBuZWVkZWQgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwYXRpbmZvLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcGF0aW5mby5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BtdGluZm8uYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwbXRpbmZvLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcG10c3RyZWFtaW5mby5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BtdHN0cmVhbWluZm8uaDoKCSAgUmVtb3ZlIG5vIGxvbmdlciBuZWVkZWQgZmlsZXMuCgoyMDA4LTAxLTAyIDIwOjQ5OjEyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEaXNhYmxlIHZjZHNyYyBpbiBzdGF0ZXMgdGVzdCBiZWNhdXNlIGl0IHRha2VzIHRvbyBtdWNoIHRpbWUgdG8gZ2V0IHRvIFBMQVlJTkcgaWYgaXQgY2FuIGZpbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRGlzYWJsZSB2Y2RzcmMgaW4gc3RhdGVzIHRlc3QgYmVjYXVzZSBpdCB0YWtlcyB0b28gbXVjaCB0aW1lCgkgIHRvIGdldCB0byBQTEFZSU5HIGlmIGl0IGNhbiBmaW5kIGEgZGV2aWNlLgoKMjAwOC0wMS0wMSAwMToxODoxOSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IERvbid0IGVtaXQgc2lnbml0dXJlIHdoZW4gZ29pbmcgdG8gUkVBRFksIGJlY2F1c2UgaXQgbWlnaHQgbm90IGJlIHJlYWR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkgIERvbid0IGVtaXQgc2lnbml0dXJlIHdoZW4gZ29pbmcgdG8gUkVBRFksIGJlY2F1c2UgaXQgbWlnaHQKCSAgbm90IGJlIHJlYWR5LgoJICAqIGV4dC9uYXMvbmFzc2luay5jOgoJICBSZW1vdmUgdXNlbGVzcyBjYWxsIHRoYXQgc2xlZXBzIGZvciA1IHNlY29uZHMuICBZdXAsIGl0IGNhbGxzCgkgIHNsZWVwKDEpIDUgdGltZXMuICBHbyBOQVMuCgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgSW5pdGlhbGl6ZSBvdXIgZGVidWcgY2F0ZWdvcmllcyBwcm9wZXJseS4KCSAgKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgRG9uJ3QgcmVnaXN0ZXIgZWxlbWVudCBkZXRhaWxzIGZvciBhIG5vbi1lbGVtZW50LiAgQmUgbXVjaCBtb3JlCgkgIHJ1ZGUgd2hlbiBzdWJjbGFzcyBkb2Vzbid0IHNldCBhIHBhZCB0ZW1wbGF0ZSAoYXNzZXJ0ISkuICBEb24ndAoJICB1bnJlZiB0aGUgcGFkIHRlbXBsYXRlOyB3ZSBkb24ndCBvd24gaXQuCgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJICBJbml0aWFsaXplIGRlYnVnIGNhdGVnb3J5LgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBJZ25vcmUgbmFzc2luayBlbGVtZW50IGluIHRlc3RzIGJlY2F1c2UgaXQgaGFzIHVuYXZvaWRhYmxlCgkgIGxvbmcgdGltZW91dHMuCgoyMDA3LTEyLTMxIDEzOjEyOjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IERvbid0IGNsZWFuIHVwIHBhZHMgd2hlbiBnb2luZyB0byBQQVVTRUQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIERvbid0IGNsZWFuIHVwIHBhZHMgd2hlbiBnb2luZyB0byBQQVVTRUQuCgoyMDA3LTEyLTMxIDA3OjU1OjIzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIFN3aXRjaCB0byB1c2luZyBwa2djb25maWcgdG8gZGV0ZWN0IGxpYkdMLiAgU2luY2Ugd2UgdXNlIHJlY2VudCBmZWF0dXJlcyBhZGRlZCB0byBNZXNhLCB0aGVyZSdzIG5vIHBvaW50IGluIGFkZGluZyBhIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgU3dpdGNoIHRvIHVzaW5nIHBrZ2NvbmZpZyB0byBkZXRlY3QgbGliR0wuICBTaW5jZSB3ZSB1c2UKCSAgcmVjZW50IGZlYXR1cmVzIGFkZGVkIHRvIE1lc2EsIHRoZXJlJ3Mgbm8gcG9pbnQgaW4gYWRkaW5nCgkgIGEgY2hlY2sgZm9yIHByZS1wa2djb25maWcgdmVyc2lvbnMuCgoyMDA3LTEyLTI5IDE3OjMxOjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBGaXggJ3h5eiBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkJyBjb21waWxlciB3YXJuaW5ncyBjYXVzZWQgYnkgYnJva2VuIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCkgbWFjcm8gaW4gR0xpYi0yLjE1LnggYW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzogKGdzdF9sYWRzcGFfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19zaG93X2ZyYW1lKToKCSAgKiBnc3QvbXZlL2dzdG12ZW11eC5jOiAoZ3N0X212ZV9tdXhfcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzogKGR2Yl9iYXNlX2Jpbl9jbGFzc19pbml0KToKCSAgRml4ICd4eXogbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCcgY29tcGlsZXIgd2FybmluZ3MgY2F1c2VkCgkgIGJ5IGJyb2tlbiBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpIG1hY3JvIGluIEdMaWItMi4xNS54IGFuZCBkb24ndAoJICBhYm9ydCgpIGluIGFueSBjYXNlIGJ1dCBwcm9wZXJseSByZXBvcnQgdGhlIGVycm9yLgoKMjAwNy0xMi0yOSAxNzoyOToxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXBkYXRlIHRvIGxhdGVzdCBBUEkgY2hhbmdlcyBpbiBHTGliL0dJTyBhbmQgcmVxdWlyZSBhdCBsZWFzdCBnaW8tMi4wIDIuMTUuMCBmb3IgdGhpcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9naW8vZ3N0Z2lvLmM6CgkgICogZXh0L2dpby9nc3RnaW8uaDoKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzaW5rLmg6CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc3JjLmM6IChnc3RfZ2lvX2Jhc2Vfc3JjX2dldF9zaXplKToKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzcmMuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuYzogKGdzdF9naW9fc2lua19zdGFydCk6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmg6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNpbmsuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNyYy5oOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9naW8uYzoKCSAgVXBkYXRlIHRvIGxhdGVzdCBBUEkgY2hhbmdlcyBpbiBHTGliL0dJTyBhbmQgcmVxdWlyZSBhdCBsZWFzdAoJICBnaW8tMi4wIDIuMTUuMCBmb3IgdGhpcy4KCSAgKiBleHQvZ2lvL01ha2VmaWxlLmFtOgoJICBBZGQgR1NUX1BMVUdJTl9MREZMQUdTIHRvIExERkxBR1MuCgoyMDA3LTEyLTI5IDAwOjM3OjQxICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIE1ham9yIGNsZWFudXAgb2YgY29kZS4gIENvbnZlcnQgZ2x1cGxvYWQgdG8gQmFzZVRyYW5zZm9ybS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmM6CgkgICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGNvbnZlcnQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5Lmg6CgkgICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyZXhhbXBsZS5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x0ZXN0c3JjLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOgoJICBNYWpvciBjbGVhbnVwIG9mIGNvZGUuICBDb252ZXJ0IGdsdXBsb2FkIHRvIEJhc2VUcmFuc2Zvcm0uCgkgIEhhbmRsZSBjYXBzIG5lZ290aWF0aW9uIG1vc3RseSBjb3JyZWN0bHkuICBSZWVuYWJsZSBpbiBidWlsZC4KCjIwMDctMTItMjggMTE6NDQ6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc291cC86IFVzZSBnc3RfdGFnX2ZyZWVmb3JtX3N0cmluZ190b191dGY4KCkgYW5kIHBvc3QgcmFkaW8gc3RhdGlvbiBpbmZvIGFzIHRhZ3Mgb24gdGhlIGJ1cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdW5pY29kaWZ5KSwgKHNvdXBfZ290X2hlYWRlcnMpOgoJICBVc2UgZ3N0X3RhZ19mcmVlZm9ybV9zdHJpbmdfdG9fdXRmOCgpIGFuZCBwb3N0IHJhZGlvIHN0YXRpb24KCSAgaW5mbyBhcyB0YWdzIG9uIHRoZSBidXMuCgoyMDA3LTEyLTI3IDA1OjI2OjA1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBDaGFuZ2UgZ2xpbWFnZXNpbmsgb3ZlciB0byB1c2luZyBHTCBidWZmZXJzLiAgVGhpcyBicmVha3MgZ2xpbWFnZXNpbmsgZm9yIG5vcm1hbCBvcGVyYXRpb24sIGJ1dCBzaG91bGQgYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOgoJICBDaGFuZ2UgZ2xpbWFnZXNpbmsgb3ZlciB0byB1c2luZyBHTCBidWZmZXJzLiAgVGhpcyBicmVha3MKCSAgZ2xpbWFnZXNpbmsgZm9yIG5vcm1hbCBvcGVyYXRpb24sIGJ1dCBzaG91bGQgYmUgZml4ZWQgc29vbi4KCjIwMDctMTItMjcgMDQ6MTU6MjYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IENvbnZlcnQgZ2xkb3dubG9hZCB0byBCYXNlVHJhbnNmb3JtLiAgTWFrZSBnbGZpbHRlcmV4YW1wbGUgdmlzdWFsbHkgaW50ZXJlc3RpbmcuICBBZGQgc3VwcG9ydCBmb3IgdmFyaW91Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvZ2x0ZXN0c3JjLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlcmV4YW1wbGUuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdGVzdHNyYy5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzoKCSAgQ29udmVydCBnbGRvd25sb2FkIHRvIEJhc2VUcmFuc2Zvcm0uICBNYWtlIGdsZmlsdGVyZXhhbXBsZQoJICB2aXN1YWxseSBpbnRlcmVzdGluZy4gIEFkZCBzdXBwb3J0IGZvciB2YXJpb3VzIGZvcm1hdHMgdG8KCSAgZG93bmxvYWRpbmcuICBGaXggYSBmZXcgcGxhY2VzIHdoZXJlIHdlIGxlYWsgR0wgc3RhdGUgdG8KCSAgb3RoZXIgZWxlbWVudHMgKGJhZCwgYnV0IGhhcmQgdG8gcHJldmVudCkuCgoyMDA3LTEyLTI3IDAwOjUyOjIzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBSZW1vdmUgY29kZSB0aGF0IGhhbmRsZXMgbm9uLXRleHR1cmUgYnVmZmVycy4gIEFkZCBhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvQlVHUzoKCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGNvbnZlcnQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlcmV4YW1wbGUuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdGVzdHNyYy5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdG9wZW5nbC5jOgoJICBSZW1vdmUgY29kZSB0aGF0IGhhbmRsZXMgbm9uLXRleHR1cmUgYnVmZmVycy4gIEFkZCBhCgkgIEdzdEdMQnVmZmVyRm9ybWF0IHR5cGUgdGhhdCBjb3JyZXNwb25kcyB0byBob3cgdG8gdXNlIHRoZQoJICB0ZXh0dXJlLCBub3QgdGhlIG9yaWdpbmFsIHZpZGVvIGZvcm1hdC4gIENvbnZlcnQgZ3N0ZmxmaWx0ZXIuYwoJICBpbnRvIGEgYmFzZSBjbGFzcywgYWRkIGdsZmlsdGVyZXhhbXBsZSBhbmQgZ2xjb252ZXJ0IGVsZW1lbnRzLgoJICAqIHN5cy9nbHNpbmsvY29sb3JfbWF0cml4LmM6CgkgIE1pbm9yIHJhbWJsaW5ncyBhYm91dCBjb2xvciBjb252ZXJzaW9uIG1hdHJpY2VzLgoKMjAwNy0xMi0yNSAwMDozNDoxNCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogQWRkIGdsdGVzdHNyYyBlbGVtZW50LCBhIGR1cGxpY2F0ZSBvZiB2aWRlb3Rlc3RzcmMgdGhhdCB1c2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9nbHRlc3RzcmMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsdGVzdHNyYy5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5LmM6CgkgICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x0ZXN0c3JjLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHRlc3RzcmMuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6CgkgICogc3lzL2dsc2luay9nc3RvcGVuZ2wuYzoKCSAgQWRkIGdsdGVzdHNyYyBlbGVtZW50LCBhIGR1cGxpY2F0ZSBvZiB2aWRlb3Rlc3RzcmMgdGhhdCB1c2VzCgkgIEdMIHJlbmRlcmluZyB0byBjcmVhdGUgaW1hZ2VzLiAgTW9yZSBjbGVhbnVwLgoKMjAwNy0xMi0yNCAyMToyNjo0MCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogQ2xlYW4gdXAgY29kZS4gIEZpeCBhIGZldyBsZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzoKCSAgQ2xlYW4gdXAgY29kZS4gIEZpeCBhIGZldyBsZWFrcy4KCjIwMDctMTItMjQgMjE6MDQ6NDYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IFJlbmFtZSBnbHZpZGVvLltjaF0gdG8gZ3N0Z2xkaXNwbGF5LltjaF0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5oOgoJICBSZW5hbWUgZ2x2aWRlby5bY2hdIHRvIGdzdGdsZGlzcGxheS5bY2hdLgoKMjAwNy0xMi0yNCAyMDo1Mzo1NiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogUmV3cml0ZSBhIGJ1bmNoIG9mIGNvZGUgdG8gdXNlIHRleHR1cmVzIGFzIHRoZSBpbnRlcm1lZGlhdGUgaW5zdGVhZCBvZiByZW5kZXJidWZmZXJzLiAgdXBsb2FkLCBkb3dubG9hZCwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6CgkgIFJld3JpdGUgYSBidW5jaCBvZiBjb2RlIHRvIHVzZSB0ZXh0dXJlcyBhcyB0aGUgaW50ZXJtZWRpYXRlCgkgIGluc3RlYWQgb2YgcmVuZGVyYnVmZmVycy4gIHVwbG9hZCwgZG93bmxvYWQsIGZpbHRlcmluZyBhbGwKCSAgd29yay4KCjIwMDctMTItMjMgMjI6MDQ6MDAgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L3ZpZGVvcGFyc2UvOiBSZW1vdmUgdmlkZW9wYXJzZSBlbGVtZW50LCBiZWNhdXNlIGl0IHdhcyBtb3ZlZCB0byBnc3QvcmF3cGFyc2UvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3BhcnNlL1JFQURNRToKCSAgKiBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIFJlbW92ZSB2aWRlb3BhcnNlIGVsZW1lbnQsIGJlY2F1c2UgaXQgd2FzIG1vdmVkIHRvIGdzdC9yYXdwYXJzZS8KCjIwMDctMTItMjMgMTA6MzQ6MzkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOiBBbHdheXMgc2VlayBvbiBmcmFtZSBib3VuZGFyaWVzLCB3aWxsIHByb2R1Y2Ugbm90aGluZyB1c2VmdWwgb3RoZXJ3aXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogKGdzdF9yYXdfcGFyc2Vfc3JjX2V2ZW50KToKCSAgQWx3YXlzIHNlZWsgb24gZnJhbWUgYm91bmRhcmllcywgd2lsbCBwcm9kdWNlIG5vdGhpbmcgdXNlZnVsCgkgIG90aGVyd2lzZS4KCjIwMDctMTItMjMgMDY6MjI6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBuZXcgcGx1Z2luIHJhd3BhcnNlIHRoYXQgY29udGFpbnMgYSBiYXNlIGNsYXNzIGZvciByYXcgZGF0YSBwYXJzZXJzIGFuZCB0aGUgdHdvIGVsZW1lbnRzIGF1ZGlvcGFyc2UgYW5kIHZpZGVvcGFycy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yYXdwYXJzZS9SRUFETUU6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzogKGdzdF9hdWRpb19wYXJzZV9mb3JtYXRfZ2V0X3R5cGUpLAoJICAoZ3N0X2F1ZGlvX3BhcnNlX2VuZGlhbm5lc3NfZ2V0X3R5cGUpLCAoZ3N0X2F1ZGlvX3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fcGFyc2VfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9fcGFyc2VfaW5pdCksCgkgIChnc3RfYXVkaW9fcGFyc2Vfc2V0X3Byb3BlcnR5KSwgKGdzdF9hdWRpb19wYXJzZV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvX3BhcnNlX3VwZGF0ZV9mcmFtZV9zaXplKSwgKGdzdF9hdWRpb19wYXJzZV9nZXRfY2Fwcyk6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuaDoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogKGdzdF9yYXdfcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF9yYXdfcGFyc2VfY2xhc3NfaW5pdCksIChnc3RfcmF3X3BhcnNlX2luaXQpLAoJICAoZ3N0X3Jhd19wYXJzZV9kaXNwb3NlKSwKCSAgKGdzdF9yYXdfcGFyc2VfY2xhc3Nfc2V0X3NyY19wYWRfdGVtcGxhdGUpLAoJICAoZ3N0X3Jhd19wYXJzZV9jbGFzc19zZXRfbXVsdGlwbGVfZnJhbWVzX3Blcl9idWZmZXIpLAoJICAoZ3N0X3Jhd19wYXJzZV9yZXNldCksIChnc3RfcmF3X3BhcnNlX2NoYWluKSwKCSAgKGdzdF9yYXdfcGFyc2VfY29udmVydCksIChnc3RfcmF3X3BhcnNlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3Jhd19wYXJzZV9zcmNfZXZlbnQpLCAoZ3N0X3Jhd19wYXJzZV9zcmNfcXVlcnlfdHlwZSksCgkgIChnc3RfcmF3X3BhcnNlX3NyY19xdWVyeSksIChnc3RfcmF3X3BhcnNlX3NldF9mcmFtZXNpemUpLAoJICAoZ3N0X3Jhd19wYXJzZV9zZXRfZnBzKSwgKGdzdF9yYXdfcGFyc2VfZ2V0X2ZwcyksCgkgIChnc3RfcmF3X3BhcnNlX2lzX25lZ290aWF0ZWQpOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5oOgoJICAqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6IChnc3RfdmlkZW9fcGFyc2VfZm9ybWF0X2dldF90eXBlKSwKCSAgKGdzdF92aWRlb19wYXJzZV9lbmRpYW5uZXNzX2dldF90eXBlKSwgKGdzdF92aWRlb19wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X3ZpZGVvX3BhcnNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX3NldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fcGFyc2VfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92aWRlb19wYXJzZV9mb3JtYXRfdG9fZm91cmNjKSwKCSAgKGdzdF92aWRlb19wYXJzZV91cGRhdGVfZnJhbWVfc2l6ZSksIChnc3RfdmlkZW9fcGFyc2VfZ2V0X2NhcHMpOgoJICAqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmg6CgkgICogZ3N0L3Jhd3BhcnNlL3BsdWdpbi5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQgbmV3IHBsdWdpbiByYXdwYXJzZSB0aGF0IGNvbnRhaW5zIGEgYmFzZSBjbGFzcyBmb3IgcmF3IGRhdGEKCSAgcGFyc2VycyBhbmQgdGhlIHR3byBlbGVtZW50cyBhdWRpb3BhcnNlIGFuZCB2aWRlb3BhcnNlIHRoYXQgY2FuCgkgIGJlIHVzZWQgdG8gcGFyc2UgcmF3IGF1ZGlvIGFuZCB2aWRlby4gVGhlc2UgYXJlIGluc3BpcmVkIGJ5IHRoZQoJICBvbGQgdmlkZW9wYXJzZSBlbGVtZW50IHdoaWNoIHRoZSBuZXcgcmF3cGFyc2UgcGx1Z2luIGRlcHJlY2F0ZXMuCgoyMDA3LTEyLTIyIDA1OjAxOjU4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBBIGNhcmVmdWwgcmVhZCBvZiB0aGUgZG9jdW1lbnRhdGlvbiByZXZlYWxzIHRoYXQgSSBjYW4ndCB1c2UgcmVuZGVyYnVmZmVycyBhcyB0ZXh0dXJlcy4gIER1aC4gIENoZWNrcG9pbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5jOgoJICAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmg6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmM6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzoKCSAgQSBjYXJlZnVsIHJlYWQgb2YgdGhlIGRvY3VtZW50YXRpb24gcmV2ZWFscyB0aGF0IEkgY2FuJ3QgdXNlCgkgIHJlbmRlcmJ1ZmZlcnMgYXMgdGV4dHVyZXMuICBEdWguICBDaGVja3BvaW50IGJlY2F1c2UgSSdtIGFib3V0CgkgIHRvIHJld3JpdGUgYSBidW5jaCBvZiBjb2RlLgoKMjAwNy0xMi0yMSAxOTowMTowMCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5jOgoJICBTb21lIElQVEMgdGFncyBtYXBwZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTb21lIElQVEMgdGFncyBtYXBwZWQuCgoyMDA3LTEyLTIxIDA5OjQ1OjU2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFjb21tb24uYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhY29tbW9uLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuaDoKCSAgUmVtb3ZlZCBnc3RtZXRhZGF0YWNvbW1vbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZWQgZ3N0bWV0YWRhdGFjb21tb24uCgoyMDA3LTEyLTIxIDAwOjAzOjExICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBTd2l0Y2ggdG8gdXNpbmcgZnJhbWVidWZmZXJfb2JqZWN0cyBpbnN0ZWFkIG9mIEdMWFBpeG1hcHMsIGJlY2F1c2UgdGhhdCdzIHdoYXQgbXkgZHJpdmVyIHN1cHBvcnRzLiAgUmVtby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmM6CgkgICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdG9wZW5nbC5jOgoJICBTd2l0Y2ggdG8gdXNpbmcgZnJhbWVidWZmZXJfb2JqZWN0cyBpbnN0ZWFkIG9mIEdMWFBpeG1hcHMsCgkgIGJlY2F1c2UgdGhhdCdzIHdoYXQgbXkgZHJpdmVyIHN1cHBvcnRzLiAgUmVtb3ZlIEdMRHJhd2FibGUsCgkgIHNpbmNlIEdzdEdMRGlzcGxheSBub3cgaGFzIGEgZGVmYXVsdCBkcmF3YWJsZSBhbmQgY29udGV4dC4KCjIwMDctMTItMjAgMTc6MDc6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBJZ25vcmUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci8uY3ZzaWdub3JlOgoJICAqIGdzdC9zd2l0Y2gvLmN2c2lnbm9yZToKCSAgSWdub3JlIG1vcmUuCgoyMDA3LTEyLTE5IDA5OjUwOjQ3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFjb21tb24uYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhY29tbW9uLmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkqIGV4dC9tZXRhZGF0YS90ZXN0L21ldGFkYXRhX2VkaXRvci5jOgoJICBOZXcgYmFzZSBjbGFzcyBmb3IgbWV0YWRhdGEgZWxlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOZXcgYmFzZSBjbGFzcyBmb3IgbWV0YWRhdGEgZWxlbWVudHMuCgoyMDA3LTEyLTE4IDE2OjA4OjEzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3Qvc3dpdGNoLzogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZW51bSwgZ3N0X3NlbGVjdG9yX3BhZF9jbGFzc19pbml0KSAoZ3N0X3NlbGVjdG9yX3BhZF9nZXRfcHJvcGVydHkpIChnc3Rfc2VsZWN0b3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMTggIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2gtbWFyc2hhbC5saXN0OgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmggKHN0cnVjdCBfR3N0U3RyZWFtU2VsZWN0b3JDbGFzcyk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZW51bSwgZ3N0X3NlbGVjdG9yX3BhZF9jbGFzc19pbml0KQoJICAoZ3N0X3NlbGVjdG9yX3BhZF9nZXRfcHJvcGVydHkpCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2dldF9ydW5uaW5nX3RpbWUpCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2NsYXNzX2luaXQsIGdzdF9zZWdtZW50X2dldF90aW1lc3RhbXApCgkgIChnc3Rfc2VnbWVudF9zZXRfc3RvcCwgZ3N0X3NlZ21lbnRfc2V0X3N0YXJ0KQoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9zZXRfYWN0aXZlX3BhZCwgZ3N0X3N0cmVhbV9zZWxlY3Rvcl9ibG9jaykKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3JfcHVzaF9wZW5kaW5nX3N0b3ApCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX3N3aXRjaCk6IENoYW5nZSBzbyB0aGF0IHRoZSBzaWduYWxzIGFuZAoJICBwcm9wZXJ0aWVzIGRlYWwgaW4gcnVubmluZyB0aW1lLCBub3QgYnVmZmVyIHRpbWUuIERvY3VtZW50IHRoZQoJICBzaWduYWxzIG1vcmUuIENoYW5nZSB1aW50NjQgaW4gQVBJIHRvIGludDY0LCB0byByZWZsZWN0IHdoYXQncyBpbgoJICBHc3RTZWdtZW50LgoKMjAwNy0xMi0xOCAwOToyNjo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIE1ha2VmaWxlLmFtOiBJbmNsdWRlIGNvbW1vbi93aW4zMi5tYWsgZm9yIENSTEYgY2hlY2sgb2Ygd2luMzIgcHJvamVjdCBmaWxlcyAoc2VlICMzOTM2MjYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgSW5jbHVkZSBjb21tb24vd2luMzIubWFrIGZvciBDUkxGIGNoZWNrIG9mIHdpbjMyIHByb2plY3QKCSAgZmlsZXMgKHNlZSAjMzkzNjI2KS4KCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgcmVxdWlyZW1lbnRzIHRvIC1iYXNlIENWUyBmb3IgbGliZ3N0dmlkZW8gYWRkaXRpb25zIGluCgkgIGdsaW1hZ2VzaW5rLiBEaXNhYmxlIGdsaW1hZ2VzaW5rIHVudGlsIHRoZSBtaXNzaW5nIGZpbGVzIGdldAoJICBjaGVja2VkIGluLgoKMjAwNy0xMi0xOCAwMToyNTo1OCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogVXNlIG5ldyBHc3RWaWRlb0Zvcm1hdCBjaGVja2VkIGludG8gLWJhc2UuICBBZGQgbmV3IGdsdXBsb2FkIGVsZW1lbnQgdG8gdXBsb2FkIHJhdyB2aWRlbyBpbnRvIGEgR0xYUGl4YnUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0b3BlbmdsLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOgoJICBVc2UgbmV3IEdzdFZpZGVvRm9ybWF0IGNoZWNrZWQgaW50byAtYmFzZS4gIEFkZCBuZXcgZ2x1cGxvYWQKCSAgZWxlbWVudCB0byB1cGxvYWQgcmF3IHZpZGVvIGludG8gYSBHTFhQaXhidWYuICBVbnRlc3RlZC4gIFdpbGwKCSAgbGlrZWx5IGNyYXNoIHlvdXIgbW90b3JjeWNsZSBpZiB5b3UgdHJ5IGl0LgoJICAqIHN5cy9nbHNpbmsvZ3N0dmlkZW8tY29tbW9uLmM6CgkgICogc3lzL2dsc2luay9nc3R2aWRlby1jb21tb24uaDoKCSAgUmVtb3ZlLgoKMjAwNy0xMi0xNyAyMToxMjoyOCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy4qOiBXaGVuIHN1YnNlcXVlbnQgZmlsZXMgYXJlIHJlYWQsIGlmIHRoZSBmaWxlIGRvZXNuJ3QgZXhpc3QsIHNlbmQgYW4gRU9TIGluc3RlYWQgb2YgY2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5oOgoJICBXaGVuIHN1YnNlcXVlbnQgZmlsZXMgYXJlIHJlYWQsIGlmIHRoZSBmaWxlIGRvZXNuJ3QgZXhpc3QsIHNlbmQKCSAgYW4gRU9TIGluc3RlYWQgb2YgY2F1c2luZyBhbiBlcnJvci4KCjIwMDctMTItMTcgMTU6MDk6MTcgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zZWxlY3Rvcl9wYWRfY2hhaW4pOiBSZXR1cm4gT0sgd2hlbiBhIGJ1ZmZlciBpcyBpZ25vcmVkLCBub3QgTk9UX0xJTktFRC4gTm8gc2Vuc2UgaW4gbWFraS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMi0xNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc2VsZWN0b3JfcGFkX2NoYWluKTogUmV0dXJuIE9LIHdoZW4KCSAgYSBidWZmZXIgaXMgaWdub3JlZCwgbm90IE5PVF9MSU5LRUQuIE5vIHNlbnNlIGluIG1ha2luZyBhIHNvdXJjZQoJICBlbGVtZW50IGVycm9yIG91dDsgYXQgbGVhc3QgZmRzcmMgY29uc2lkZXJzIE5PVF9MSU5LRUQgdG8gYmUgYQoJICBmYXRhbCBlcnJvci4gUGF0Y2ggMTEvMTIuIFRoZXJlIGlzIG5vIHBhdGNoIDEyLzEyLiBGb28uCgoyMDA3LTEyLTE3IDE1OjA2OjQ4ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3Qvc3dpdGNoLzogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jbGFzc19pbml0KSAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9ibG9jayk6IE1ha2UgdGhlIGJsb2NrKCkgc2kuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMTcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2gtbWFyc2hhbC5saXN0OgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmggKHN0cnVjdCBfR3N0U3RyZWFtU2VsZWN0b3JDbGFzcyk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jbGFzc19pbml0KQoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9ibG9jayk6IE1ha2UgdGhlIGJsb2NrKCkgc2lnbmFsIHJldHVybiB0aGUKCSAgbGFzdCBzdG9wIHRpbWUgb2YgdGhlIGFjdGl2ZSBwYWQuIFBhdGNoIDEwLzEyLgoKMjAwNy0xMi0xNyAxNTowNDo1MSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc2VsZWN0b3JfcGFkX2dldF9wcm9wZXJ0eSkgKGdzdF9zZWxlY3Rvcl9wYWRfY2xhc3NfaW5pdCwgZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jbGFzc19pbml0KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMi0xNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc2VsZWN0b3JfcGFkX2dldF9wcm9wZXJ0eSkKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfY2xhc3NfaW5pdCwgZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jbGFzc19pbml0KQoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9nZXRfcHJvcGVydHkpOiBFeHBvc2UgJ2xhc3Qtc3RvcC10aW1lJyBhcyBhCgkgIHBhZCBwcm9wZXJ0eSwgbm90IGFuIGVsZW1lbnQgcHJvcGVydHkuCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2NoYWluKTogTWFyayB0aGUgbGFzdF9zdG9wIHRpbWUgYXMgdGltZXN0YW1wICsKCSAgZHVyYXRpb24sIG5vdCB0aW1lc3RhbXAuIFBhdGNoIDkvMTIuCgoyMDA3LTEyLTE3IDE1OjAxOjU1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zdHJlYW1fc2VsZWN0b3JfY2hhbmdlX3N0YXRlKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMi0xNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2NoYW5nZV9zdGF0ZSkKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3JfYmxvY2ssIGdzdF9zdHJlYW1fc2VsZWN0b3Jfc3dpdGNoKTogVXNlIHRoZQoJICBjb25kIG1lY2hhbmlzbSBpbnN0ZWFkIG9mIGJsb2NrZWQgcGFkcy4gUGF0Y2ggOC8xMi4KCjIwMDctMTItMTcgMTU6MDA6MTUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmggKHN0cnVjdCBfR3N0U3RyZWFtU2VsZWN0b3IpOiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3RyZWFtX3NlbGVjdG9yX3dhaXQpIChnc3Rfc2VsZWN0b3JfcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMi0xNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChzdHJ1Y3QgX0dzdFN0cmVhbVNlbGVjdG9yKToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3RyZWFtX3NlbGVjdG9yX3dhaXQpCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2NoYWluLCBnc3Rfc3RyZWFtX3NlbGVjdG9yX2luaXQpCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2Rpc3Bvc2UpOiBBZGQgaW5mcmFzdHJ1Y3R1cmUgZm9yIG5ldyBibG9ja2luZwoJICBtZWNoYW5pc20gdGhhdCBkb2VzIG5vdCB1c2UgZ3N0X3BhZF9zZXRfYmxvY2tlZCwgd2hpY2ggZG9lcyBub3QKCSAgd29yayBvbiBzaW5rIHBhZHMuIFBhdGNoIDcvMTIuCgoyMDA3LTEyLTE3IDE0OjU4OjE4ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zdHJlYW1fc2VsZWN0b3JfY2xhc3NfaW5pdCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMTcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jbGFzc19pbml0KQoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9nZXRfcHJvcGVydHkpOiBBZGQgbGFzdC1zdG9wLXRpbWUgcmVhZGFibGUKCSAgcHJvcGVydHkuIFBhdGNoIDYvMTIuCgoyMDA3LTEyLTE3IDE0OjU1OjU0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChzdHJ1Y3QgX0dzdFN0cmVhbVNlbGVjdG9yKTogQWRkIHNvbWUgc3RhdGUgdmFyaWFibGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMi0xNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChzdHJ1Y3QgX0dzdFN0cmVhbVNlbGVjdG9yKTogQWRkIHNvbWUKCSAgc3RhdGUgdmFyaWFibGVzLgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zdHJlYW1fc2VsZWN0b3JfcHVzaF9wZW5kaW5nX3N0b3ApCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2NoYWluKTogUHVzaCBhbnkgcGVuZGluZyBzdG9wIGV2ZW50LgoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9zZXRfYWN0aXZlX3BhZCkKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3Jfc2V0X3Byb3BlcnR5KTogRmFjdG9yIG91dCBzZXR0aW5nIHRoZSBhY3RpdmUKCSAgcGFkIHRvIGEgZnVuY3Rpb24uIENsb3NlIHRoZSBzZWdtZW50IG9mIHRoZSBwcmV2aW91cyBhY3RpdmUgcGFkIGlmCgkgIHRvbGQgdG8gZG8gc28gdmlhIGEgc3RvcF90aW1lICE9IEdTVF9DTE9DS19USU1FX05PTkUuCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX3N3aXRjaCk6IEltcGxlbWVudCBzd2l0Y2ggdm1ldGhvZC4gUGF0Y2ggNS8xMi4KCjIwMDctMTItMTcgMTQ6NTI6MTQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zdHJlYW1fc2VsZWN0b3JfYmxvY2spOiBJbXBsZW1lbnQgdGhlIGJsb2NrKCkgc2lnbmFsLiBUaGlzIGltcGxlbWVudGF0aW9uIHdpbGwgYmUgcmVwbGFjZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMi0xNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2Jsb2NrKTogSW1wbGVtZW50CgkgIHRoZSBibG9jaygpIHNpZ25hbC4gVGhpcyBpbXBsZW1lbnRhdGlvbiB3aWxsIGJlIHJlcGxhY2VkIGluIGZ1dHVyZQoJICBwYXRjaGVzLCBob3dldmVyLiBQYXRjaCA0LzEyLgoKMjAwNy0xMi0xNyAxNDo0ODoyNiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaCAoc3RydWN0IF9Hc3RTdHJlYW1TZWxlY3RvckNsYXNzKTogRml4IHZtZXRob2QgcHJvdG90eXBlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMTcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaCAoc3RydWN0IF9Hc3RTdHJlYW1TZWxlY3RvckNsYXNzKTogRml4CgkgIHZtZXRob2QgcHJvdG90eXBlcy4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2NsYXNzX2luaXQpCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2Jsb2NrLCBnc3Rfc3RyZWFtX3NlbGVjdG9yX3N3aXRjaCk6IEFkZCBlbXB0eQoJICB2bWV0aG9kIGRlZmluaXRpb25zLiBQYXRjaCAzLzEyLgoKMjAwNy0xMi0xNyAxNDo0NjoyNiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guKjogQWRkIGBibG9jaycgYW5kIGBzd2l0Y2gnIHNpZ25hbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEyLTE3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmggKHN0cnVjdCBfR3N0U3RyZWFtU2VsZWN0b3JDbGFzcyk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jbGFzc19pbml0KTogQWRkCgkgIGBibG9jaycgYW5kIGBzd2l0Y2gnIHNpZ25hbHMuCgkgICogZ3N0L3N3aXRjaC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC1tYXJzaGFsLmxpc3Q6IEFkZCBmb28gdG8gZ2VuZXJhdGUgYQoJICBtYXJzaGFsbGVyIGZvciB0aGUgYHN3aXRjaCcgc2lnbmFsLiBQYXRjaCAyLzEyLgoKMjAwNy0xMi0xNyAxNDo0MzowNCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guKjogUmVwbGFjZSB3aXRoIGZpbGVzIGZyb20gZ3N0c3RyZWFtc2VsZWN0b3IuW2NoXSwgcmVnaXN0ZXJlZCBhcyB0aGUgInN3aXRjaCIgcGx1Z2luLCB3aXRoICJHc3RTLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEyLTE3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmg6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzogUmVwbGFjZSB3aXRoIGZpbGVzIGZyb20KCSAgZ3N0c3RyZWFtc2VsZWN0b3IuW2NoXSwgcmVnaXN0ZXJlZCBhcyB0aGUgInN3aXRjaCIgcGx1Z2luLCB3aXRoCgkgICJHc3RTd2l0Y2giIHR5cGVzLiBQYXRjaCAxLzEyLgoKMjAwNy0xMi0xNyAxNDozNzozOSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCBsaWJzb3VwIHBsdWdpbiB0byBzcGVjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbGlic291cCBwbHVnaW4gdG8gc3BlYwoKMjAwNy0xMi0xNyAxMjozNzozNiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmg6CgkqIGV4dC9tZXRhZGF0YS90ZXN0L01ldGFkYXRhRWRpdG9yTWFpbi5nbGFkZToKCSogZXh0L21ldGFkYXRhL3Rlc3QvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIEFkZGVkICJwYXJzZS1vbmx5IiBwcm9wZXJ0eSB0byBtZXRhZGF0YWRlbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkZWQgInBhcnNlLW9ubHkiIHByb3BlcnR5IHRvIG1ldGFkYXRhZGVtdXguCgoyMDA3LTEyLTE2IDIyOjU3OjIyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBSZW5hbWUgR0xWaWRlbyogdG8gR3N0R0wqLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOgoJICBSZW5hbWUgR0xWaWRlbyogdG8gR3N0R0wqLgoKMjAwNy0xMi0xNiAwMDoxNjo0NiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogQWRkIHZibGFuayBzeW5jaHJvbml6YXRpb24uICBJc24ndCByZWFsbHkgd29ya2luZyBvbiBteSBkcml2ZXIuIDooCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5oOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOgoJICBBZGQgdmJsYW5rIHN5bmNocm9uaXphdGlvbi4gIElzbid0IHJlYWxseSB3b3JraW5nIG9uIG15CgkgIGRyaXZlci4gOigKCjIwMDctMTItMTUgMTk6MzE6MjMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IEFkZCBzdXBwb3J0IGZvciB4UkdCLCB4QkdSLCBhbmQgQVlVVi4gIFJlLWFkZCBzdXBwb3J0IGZvciBwb3dlci1vZi0yIHRleHR1cmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdHZpZGVvLWNvbW1vbi5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0dmlkZW8tY29tbW9uLmg6CgkgIEFkZCBzdXBwb3J0IGZvciB4UkdCLCB4QkdSLCBhbmQgQVlVVi4gIFJlLWFkZCBzdXBwb3J0IGZvcgoJICBwb3dlci1vZi0yIHRleHR1cmVzLgoKMjAwNy0xMi0xNSAxNzo1Mjo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiBGcmVlIHRoZSBhZGFwdGVyIG9uIGRpc3Bvc2UgYW5kIGNvcnJlY3RseSByZXNldCBvbiBuZXdzZWdtZW50IGV2ZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiAoZ3N0X3ZpZGVvX3BhcnNlX2Rpc3Bvc2UpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX3NpbmtfZXZlbnQpOgoJICBGcmVlIHRoZSBhZGFwdGVyIG9uIGRpc3Bvc2UgYW5kIGNvcnJlY3RseSByZXNldCBvbiBuZXdzZWdtZW50IGV2ZW50cy4KCjIwMDctMTItMTUgMTM6MTA6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogSW1wcm92ZSBkdXJhdGlvbiBxdWVyeSBieSBmaXJzdCBhc2tpbmcgdXBzdHJlYW0gYW5kIGlmIGl0IGNhbid0IGhhbmRsZSB0aGUgcXVlcnkgdHJ5IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IChnc3RfdmlkZW9fcGFyc2Vfc2lua19ldmVudCksCgkgIChnc3RfdmlkZW9fcGFyc2Vfc3JjX2V2ZW50KSwgKGdzdF92aWRlb19wYXJzZV9zcmNfcXVlcnkpOgoJICBJbXByb3ZlIGR1cmF0aW9uIHF1ZXJ5IGJ5IGZpcnN0IGFza2luZyB1cHN0cmVhbSBhbmQgaWYgaXQgY2FuJ3QgaGFuZGxlCgkgIHRoZSBxdWVyeSB0cnkgdG8gZ2V0IHRoZSBkdXJhdGlvbiBpbiBieXRlcyBmcm9tIHVwc3RyZWFtIGFuZCBjb252ZXJ0LgoJICBGb3Igc2Vla3MsIHRyeSBpZiB1cHN0cmVhbSBoYW5kbGVzIHRoaXMgYWxyZWFkeSBmaXJzdCBhbmQgZG8gb3VyCgkgIGNvbnZlcnNpb24gdG8gYnl0ZSBmb3JtYXQgb25seSBpZiBpdCBkb2Vzbid0IGFuZCBpZiB3ZSBnZXQgYQoJICBuZXdzZWdtZW50IGV2ZW50IGluIHRpbWUgZm9ybWF0IGtlZXAgaXQgYW5kIG9ubHkgZG8gb3VyIGNvbnZlcnNpb25zCgkgIGlmIHRoZSBldmVudCBoYXMgYW5vdGhlciBmb3JtYXQuCgoyMDA3LTEyLTE1IDA3OjM3OjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IEFkZCBzdXBwb3J0IGZvciB2aWRlby94LXJhdy1yZ2IgYW5kIHZpZGVvL3gtcmF3LWdyYXkuIEFsc28gc2VuZCBkb3duc3RyZWFtIGVsZW1lbnRzIGQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICAoZ3N0X3ZpZGVvX3BhcnNlX2Zvcm1hdF9nZXRfdHlwZSksCgkgIChnc3RfdmlkZW9fcGFyc2VfZW5kaWFubmVzc19nZXRfdHlwZSksCgkgIChnc3RfdmlkZW9fcGFyc2VfY2xhc3NfaW5pdCksIChnc3RfdmlkZW9fcGFyc2VfaW5pdCksCgkgIChnc3RfdmlkZW9fcGFyc2Vfc2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19wYXJzZV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX2Zvcm1hdF90b19mb3VyY2MpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX3VwZGF0ZV9ibG9ja19zaXplKSwgKGdzdF92aWRlb19wYXJzZV9jaGFpbiksCgkgIChnc3RfdmlkZW9fcGFyc2Vfc2lua19ldmVudCk6CgkgIEFkZCBzdXBwb3J0IGZvciB2aWRlby94LXJhdy1yZ2IgYW5kIHZpZGVvL3gtcmF3LWdyYXkuIEFsc28gc2VuZAoJICBkb3duc3RyZWFtIGVsZW1lbnRzIGRvd25zdHJlYW0sIG5vdCB1cHN0cmVhbS4KCjIwMDctMTItMTUgMDY6MzM6MzcgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay9nc3R2aWRlby1jb21tb24uKjogUHVsbCB0b2dldGhlciBzb21lIGNvbW1vbiByYXcgdmlkZW8gZnVuY3Rpb25zIGludG8gb25lIGxvY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL2dzdHZpZGVvLWNvbW1vbi5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0dmlkZW8tY29tbW9uLmg6CgkgIFB1bGwgdG9nZXRoZXIgc29tZSBjb21tb24gcmF3IHZpZGVvIGZ1bmN0aW9ucyBpbnRvIG9uZSBsb2NhdGlvbi4KCSAgVGhpcyBzaG91bGQgZXZlbnR1YWxseSBtb3ZlIHRvIC1iYXNlLgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdG9wZW5nbC5jOgoJICBVc2UgdGhlIG5ldyB2aWRlby1jb21tb24uaCBzdHVmZi4gIFJlYWRkIHN1cHBvcnQgZm9yIFJHQiB2aWRlby4KCjIwMDctMTItMTQgMTg6MTg6MzcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvVE9ETzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWNvbW1vbi5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFjb21tb24uaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL3Rlc3QvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIEFkZGVkIG5ldyBtb2R1bGUgZm9yIGNvbW1vbiBmdW5jdGlvbnMuIFVzaW5nIEdTVF9UWVBFX0ZSQUNUSU9OIGZvciBFeGlmIChTKVJhdGlvbmFsIHR5cGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkZWQgbmV3IG1vZHVsZSBmb3IgY29tbW9uIGZ1bmN0aW9ucy4gVXNpbmcgR1NUX1RZUEVfRlJBQ1RJT04gZm9yIEV4aWYgKFMpUmF0aW9uYWwgdHlwZXMuCgoyMDA3LTEyLTE0IDE3OjUxOjQ5ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuKjogSGFzaCBzdHJlYW1zIGJ5IHBpZCBhZ2Fpbi4gQWRkIGEgbGlua2VkIGxpc3QgaW5zaWRlIGVhY2ggc3RyZWFtIHdpdGggYSBsaXN0IG9mIHN1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgSGFzaCBzdHJlYW1zIGJ5IHBpZCBhZ2Fpbi4gQWRkIGEgbGlua2VkIGxpc3QgaW5zaWRlIGVhY2gKCSAgc3RyZWFtIHdpdGggYSBsaXN0IG9mIHN1Yl90YWJsZXMuIEZpeCBtdWx0aXBsZSBzZWN0aW9ucwoJICBhcyBpdCB3YXMgYm9ya2VkIHdpdGggbXkgbGFzdCBjb21taXQuCgoyMDA3LTEyLTE0IDE2OjIzOjA2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgdXBkYXRlIHNwZWMgZmlsZSBhbmQgYWRkIHR3byBtaXNzaW5nIGZpbGVzIGZvciBkaXN0aW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlIGFuZCBhZGQgdHdvIG1pc3NpbmcgZmlsZXMgZm9yIGRpc3RpbmcKCjIwMDctMTItMTMgMTc6MTk6NTQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXR5cGVzLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJICBDb2RlIGRvY3VtZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDb2RlIGRvY3VtZW50YXRpb24uCgoyMDA3LTEyLTEzIDEyOjQ1OjA2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL3Rlc3QvTWFrZWZpbGU6CgkqIGV4dC9tZXRhZGF0YS90ZXN0L01ldGFkYXRhRWRpdG9yTWFpbi5nbGFkZToKCSogZXh0L21ldGFkYXRhL3Rlc3QvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIEFkZGVkIGEgdGVzdCBhcHBsaWNhdGlvbi4gQWRkZWQgc29tZSBFWElGIHRhZ3MuIEZpeGVkIGEgbXV4ZXIgYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkZWQgYSB0ZXN0IGFwcGxpY2F0aW9uLiBBZGRlZCBzb21lIEVYSUYgdGFncy4gRml4ZWQgYSBtdXhlciBidWcuCgoyMDA3LTEyLTEzIDExOjI1OjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IEltcGxlbWVudCBhIHF1ZXJ5IHR5cGUgZnVuY3Rpb24gZm9yIHRoZSBzcmMgcGFkLCBpbXBsZW1lbnQgc2Vla2luZyBhbmQgdXNlIEFOWSBjYXBzIGYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiAoZ3N0X3ZpZGVvX3BhcnNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX3NyY19ldmVudCksIChnc3RfdmlkZW9fcGFyc2Vfc3JjX3F1ZXJ5X3R5cGUpOgoJICBJbXBsZW1lbnQgYSBxdWVyeSB0eXBlIGZ1bmN0aW9uIGZvciB0aGUgc3JjIHBhZCwgaW1wbGVtZW50IHNlZWtpbmcKCSAgYW5kIHVzZSBBTlkgY2FwcyBmb3IgdGhlIHNpbmsgcGFkIGFzIHRoZSBlbGVtZW50IGRvZXNuJ3QgY2FyZSB3aGF0CgkgIGNhcHMgdGhlIGlucHV0IGhhcyBhbmQgZXZlcnl0aGluZyBpcyBoYW5kbGVkIHZpYSBwcm9wZXJ0aWVzLgoKMjAwNy0xMi0xMyAxMDozODoyMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiBIYW5kbGUgLTEgdmFsdWVzIGZvciB0aGUgQ09OVkVSVCBxdWVyeSB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogKGdzdF92aWRlb19wYXJzZV9jb252ZXJ0KSwKCSAgKGdzdF92aWRlb19wYXJzZV9zaW5rX2V2ZW50KToKCSAgSGFuZGxlIC0xIHZhbHVlcyBmb3IgdGhlIENPTlZFUlQgcXVlcnkgdG9vLgoKMjAwNy0xMi0xMyAxMDoxNjo0OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiBBZGQgWVYxMiB0byB0aGUgcGFkIHRlbXBsYXRlcyBhcyBpdCBpcyBzdXBwb3J0ZWQgdG9vIGFuZCBhbGxvdwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IChnc3RfdmlkZW9fcGFyc2Vfc2lua19ldmVudCk6CgkgIEFkZCBZVjEyIHRvIHRoZSBwYWQgdGVtcGxhdGVzIGFzIGl0IGlzIHN1cHBvcnRlZCB0b28gYW5kIGFsbG93CgkgIC0xIGFzIHN0b3AgcG9zaXRpb24gZm9yIE5FV1NFR01FTlQgZXZlbnRzLgoKMjAwNy0xMi0xMyAwODo1NDowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06IEFkZCAkKEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTKSB0byBDRkxBR1MgdG8gZml4IHRoZSBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgIEFkZCAkKEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTKSB0byBDRkxBR1MgdG8gZml4IHRoZSBidWlsZC4KCSAgKiBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IChnc3RfdmlkZW9fcGFyc2VfaW5pdCksCgkgIChnc3RfdmlkZW9fcGFyc2Vfc2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19wYXJzZV9nZXRfcHJvcGVydHkpOgoJICBVc2UgZ192YWx1ZV9bc2ddZXRfZW51bSgpIGZvciBlbnVtIHByb3BlcnRpZXMsIGdfdmFsdWVfW3NnXWV0X2ludCgpCgkgIGdpdmVzIGEgZ19jcml0aWNhbCgpLgoKMjAwNy0xMi0xMyAwNDo0Mzo1OCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvdmlkZW9wYXJzZS86IEFkZCBhIGJ1bmNoIG9mIGZlYXR1cmVzOiBoYW5kbGUgZm9ybWF0IHNwZWNpZmljYXRpb24sIGhhbmRsZSBxdWVyaWVzIGFuZCBjb252ZXJzaW9uLiAgV29ya3MgbXVjaCBsaWsuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvcGFyc2UvUkVBRE1FOgoJICAqIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgQWRkIGEgYnVuY2ggb2YgZmVhdHVyZXM6IGhhbmRsZSBmb3JtYXQgc3BlY2lmaWNhdGlvbiwgaGFuZGxlCgkgIHF1ZXJpZXMgYW5kIGNvbnZlcnNpb24uICBXb3JrcyBtdWNoIGxpa2UgYSBub3JtYWwgcGFyc2VyIG5vdy4KCjIwMDctMTItMTIgMTY6NTk6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IENsZWFuIHVwIHRoZSBkeW5hbWljIHBhZHMgd2hlbiBnb2luZyB0byBSRUFEWS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9maW5hbGl6ZSksCgkgIChnc3RfcnRwX3B0X2RlbXV4X3NldHVwKSwgKGdzdF9ydHBfcHRfZGVtdXhfcmVsZWFzZSksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChnc3RfcnRwX3NzcmNfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2Rpc3Bvc2UpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NyY19xdWVyeSksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgQ2xlYW4gdXAgdGhlIGR5bmFtaWMgcGFkcyB3aGVuIGdvaW5nIHRvIFJFQURZLgoKMjAwNy0xMi0xMiAxMjoxMTo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogRml4IHNvbWUgbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fZmluYWxpemUpLAoJICAoZ3N0X3J0cF9iaW5fc2V0X3NkZXNfc3RyaW5nKSwgKGdzdF9ydHBfYmluX2dldF9zZGVzX3N0cmluZyksCgkgIChnc3RfcnRwX2Jpbl9oYW5kbGVfbWVzc2FnZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fZmluYWxpemUpLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ieWUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9maW5hbGl6ZSk6CgkgIEZpeCBzb21lIGxlYWtzLgoKMjAwNy0xMi0xMiAwNDoxMToxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2R0cy9nc3RkdHNkZWMuKjogQWRkIHN1cHBvcnQgZm9yICJhdWRpby94LXByaXZhdGUxLWR0cyIgYXMgdXNlZCBieSBmbHVwc3BhcnNlLiBNb3N0IGNoYW5nZXMgYWRhcHRlZCBmcm9tIGE1MmRlYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfaW5pdCksCgkgIChnc3RfZHRzZGVjX3Npbmtfc2V0Y2FwcyksIChnc3RfZHRzZGVjX2NoYWluX3JhdyksCgkgIChnc3RfZHRzZGVjX2NoYWluKToKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5oOgoJICBBZGQgc3VwcG9ydCBmb3IgImF1ZGlvL3gtcHJpdmF0ZTEtZHRzIiBhcyB1c2VkIGJ5IGZsdXBzcGFyc2UuIE1vc3QKCSAgY2hhbmdlcyBhZGFwdGVkIGZyb20gYTUyZGVjLgoKMjAwNy0xMi0xMiAwMjozMzoxMiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogU3BsaXQgb3V0IGdsLXJlbGF0ZWQgY29kZSBpbnRvIGEgc2VwYXJhdGUgZmlsZSB3aXRoIGEgc2Vuc2libGUgQVBJLiAgTWFqb3IgY2xlYW51cC4gIFN0aWxsIGNyYXNoZXMgb2NjYXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmM6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmg6CgkgIFNwbGl0IG91dCBnbC1yZWxhdGVkIGNvZGUgaW50byBhIHNlcGFyYXRlIGZpbGUgd2l0aCBhCgkgIHNlbnNpYmxlIEFQSS4gIE1ham9yIGNsZWFudXAuICBTdGlsbCBjcmFzaGVzIG9jY2FzaW9uYWxseQoJICBkdWUgdG8gZGlmZmVyZW50IHRocmVhZHMgdG91Y2hpbmcgYml0cyBhdCB0aGUgc2FtZSB0aW1lLgoKMjAwNy0xMi0xMSAxNjozOTozOSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLio6IERvIG5vdCB0cnkgdG8gdW5wYXVzZSBJL08gaW4gdGhlICJxdWV1ZWQiIHN0YXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChfZG9faW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3NvdXBodHRwX3NyY19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfZGlzcG9zZSksIChnc3Rfc291cGh0dHBfc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2dldF9wcm9wZXJ0eSksICh1bmljb2RpZnkpLAoJICAoZ3N0X3NvdXBodHRwX3NyY191bmljb2RpZnkpLCAoZ3N0X3NvdXBodHRwX3NyY19jcmVhdGUpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zdGFydCksIChnc3Rfc291cGh0dHBfc3JjX3N0b3ApLAoJICAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2spLCAoZ3N0X3NvdXBodHRwX3NyY191bmxvY2tfc3RvcCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2dldF9zaXplKSwgKGdzdF9zb3VwaHR0cF9zcmNfaXNfc2Vla2FibGUpLAoJICAoc291cF9nb3RfaGVhZGVycyksIChzb3VwX2dvdF9ib2R5KSwgKHNvdXBfZmluaXNoZWQpLAoJICAoc291cF9nb3RfY2h1bmspLCAoc291cF9yZXNwb25zZSksIChzb3VwX3BhcnNlX3N0YXR1cyksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VyaV9nZXRfdHlwZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VyaV9nZXRfcHJvdG9jb2xzKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdXJpX2dldF91cmkpLCAoZ3N0X3NvdXBodHRwX3NyY191cmlfc2V0X3VyaSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VyaV9oYW5kbGVyX2luaXQpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIERvIG5vdCB0cnkgdG8gdW5wYXVzZSBJL08gaW4gdGhlICJxdWV1ZWQiIHN0YXRlLgoJICBSZW9yZ2FuaXNlIGEgYnVuY2ggb2YgdGhpbmdzIGFuZCBjbGVhbnVwcy4KCSAgVXNlcyBHX0dVSU5UNjRfRk9STUFUIGluc3RlYWQgb2YgaGFyZC1jb2RpbmcgJWxsdS4KCSAgU2VlICM1MDIzMzUuCgoyMDA3LTEyLTExIDE2OjI2OjA3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiBGaXggY2FwcyBtZW1sZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IChnc3RfeDI2NF9lbmNfc2V0X3NyY19jYXBzKToKCSAgRml4IGNhcHMgbWVtbGVhay4KCjIwMDctMTItMTEgMTE6NTQ6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IERvbid0IHN0cmR1cCAoYW5kIHRodXMgbGVhaykgY29kZWMgbmFtZSBzdHJpbmdzIHdoZW4gcGFzc2luZyB0aGVtIHRvIGdzdF90YWdfbGlzdF9hZGQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBEb24ndCBzdHJkdXAgKGFuZCB0aHVzIGxlYWspIGNvZGVjIG5hbWUgc3RyaW5ncyB3aGVuIHBhc3NpbmcKCSAgdGhlbSB0byBnc3RfdGFnX2xpc3RfYWRkKCkuCgoyMDA3LTEyLTEwIDE4OjM2OjA0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBQb3N0IGEgbWVzc2FnZSB3aGVuIHRoZSBTREVTIGluZm9yIGNoYW5nZXMgZm9yIGEgc291cmNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5faGFuZGxlX21lc3NhZ2UpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHNvdXJjZV9nZXRfc2Rlc19zdHJ1Y3R1cmUpLAoJICAob25fc3NyY19zZGVzKToKCSAgUG9zdCBhIG1lc3NhZ2Ugd2hlbiB0aGUgU0RFUyBpbmZvciBjaGFuZ2VzIGZvciBhIHNvdXJjZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIFVwZGF0ZSBzb21lIGNvbW1lbnRzLgoKMjAwNy0xMi0xMCAxNzoxODozNSArMDAwMCAgbXV0ZXggYXQgcnVuYm94IGRvdCBjb20gPG11dGV4QHJ1bmJveC5jb20+CgoJICBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IEZvcndhcmQgdGhlIHF1ZXJ5IHVwc3RyZWFtLCB0aGUgZGVmYXVsdCBlbGVtZW50IGV2ZW50IGhhbmRsZXIgZG9lcyBzb21ldGhpbmcgZGlmZmVyZW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiA8bXV0ZXggYXQgcnVuYm94IGRvdCBjb20+CgkgICogZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiAoZ3N0X3ZpZGVvX3BhcnNlX3NyY19xdWVyeSk6CgkgIEZvcndhcmQgdGhlIHF1ZXJ5IHVwc3RyZWFtLCB0aGUgZGVmYXVsdCBlbGVtZW50IGV2ZW50IGhhbmRsZXIgZG9lcwoJICBzb21ldGhpbmcgZGlmZmVyZW50LiBGaXhlcyAjNTAyODc5LgoKMjAwNy0xMi0xMCAxNTozNDoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQWRkIHNpZ25hbCB0byBub3RpZnkgb2YgYW4gU0RFUyBjaGFuZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAob25fc3NyY19zZGVzKSwgKGNyZWF0ZV9zZXNzaW9uKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKG9uX3NzcmNfc2RlcyksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksIChnc3RfcnRwX3Nlc3Npb25faW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAob25fc3NyY19zZGVzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2Rlcyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgQWRkIHNpZ25hbCB0byBub3RpZnkgb2YgYW4gU0RFUyBjaGFuZ2UuCgkgIEZpeCBvYmplY3QgdHlwZSBpbiB0aGUgc2lnbmFsIGNhbGxiYWNrcy4KCjIwMDctMTItMTAgMTQ6MDM6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uKjogRXhwb3NlIFNERVMgaXRlbXMgYXMgcHJvcGVydGllcyBhbmQgY29uZmlndXJlIHRoZSBzZXNzaW9uIG1hbmFnZXJzIHdpdGggdGhlbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfYmluX2luaXQpLCAoc2Rlc190eXBlX3RvX25hbWUpLAoJICAoZ3N0X3J0cF9iaW5fc2V0X3NkZXNfc3RyaW5nKSwgKGdzdF9ydHBfYmluX2dldF9zZGVzX3N0cmluZyksCgkgIChnc3RfcnRwX2Jpbl9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9iaW5fZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgRXhwb3NlIFNERVMgaXRlbXMgYXMgcHJvcGVydGllcyBhbmQgY29uZmlndXJlIHRoZSBzZXNzaW9uIG1hbmFnZXJzIHdpdGgKCSAgdGhlbS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfY2xhc3NfaW5pdCksCgkgIChydHBfc291cmNlX3NldF9wcm9wZXJ0eSk6CgkgIEZpeCBTU1JDIHByb3BlcnR5LgoKMjAwNy0xMi0xMCAxMTowODoxMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogVXBkYXRlIGNvbW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBVcGRhdGUgY29tbWVudC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpOgoJICBEZWZpbmUgc29tZSBHT2JqZWN0IHByb3BlcnRpZXMgdG8gc2V0IFNERVMgYW5kIG90aGVyIGNvbmZpZ3VyYXRpb24uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydHBfc2Vzc2lvbl9pbml0KSwgKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksIChydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpLAoJICAob25fc3NyY19zZGVzKSwgKHJ0cF9zZXNzaW9uX3NldF9iYW5kd2lkdGgpLAoJICAocnRwX3Nlc3Npb25fZ2V0X2JhbmR3aWR0aCksIChydHBfc2Vzc2lvbl9zZXRfcnRjcF9mcmFjdGlvbiksCgkgIChydHBfc2Vzc2lvbl9nZXRfcnRjcF9mcmFjdGlvbiksIChydHBfc2Vzc2lvbl9zZXRfc2Rlc19zdHJpbmcpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3NkZXNfc3RyaW5nKSwgKG9idGFpbl9zb3VyY2UpLAoJICAocnRwX3Nlc3Npb25fZ2V0X2ludGVybmFsX3NvdXJjZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ydHApLCAocnRwX3Nlc3Npb25fbmV4dF90aW1lb3V0KSwgKHNlc3Npb25fc2RlcyksCgkgIChpc19ydGNwX3RpbWUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgQWRkIHNpZ25hbCB3aGVuIG5ldyBTREVTIGluZm9yIGhhcyBiZWVuIGZvdW5kIGZvciBhIHNvdXJjZS4KCSAgQ3JlYXRlIHByb3BlcnRpZXMgZm9yIFNERVMgYW5kIG90aGVyIGluZm8uCgkgIFNpbXBsaWZ5IHRoZSBTREVTIEFQSS4KCSAgQWRkIG1ldGhvZCBmb3IgZ2V0dGluZyB0aGUgaW50ZXJuYWwgc291cmNlIG9iamVjdCBvZiB0aGUgc2Vzc2lvbi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfY2xhc3NfaW5pdCksCgkgIChydHBfc291cmNlX2ZpbmFsaXplKSwgKHJ0cF9zb3VyY2Vfc2V0X3Byb3BlcnR5KSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X3Byb3BlcnR5KSwgKHJ0cF9zb3VyY2Vfc2V0X2NhbGxiYWNrcyksCgkgIChydHBfc291cmNlX2dldF9zc3JjKSwgKHJ0cF9zb3VyY2Vfc2V0X2FzX2NzcmMpLAoJICAocnRwX3NvdXJjZV9pc19hc19jc3JjKSwgKHJ0cF9zb3VyY2VfaXNfYWN0aXZlKSwKCSAgKHJ0cF9zb3VyY2VfaXNfdmFsaWRhdGVkKSwgKHJ0cF9zb3VyY2VfaXNfc2VuZGVyKSwKCSAgKHJ0cF9zb3VyY2VfcmVjZWl2ZWRfYnllKSwgKHJ0cF9zb3VyY2VfZ2V0X2J5ZV9yZWFzb24pLAoJICAocnRwX3NvdXJjZV9zZXRfc2RlcyksIChydHBfc291cmNlX3NldF9zZGVzX3N0cmluZyksCgkgIChydHBfc291cmNlX2dldF9zZGVzKSwgKHJ0cF9zb3VyY2VfZ2V0X3NkZXNfc3RyaW5nKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X25ld19zciksIChydHBfc291cmNlX2dldF9uZXdfcmIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBBZGQgR09iamVjdCBwcm9wZXJ0aWVzIGZvciB2YXJpb3VzIHRoaW5ncy4KCSAgRG9uJ3QgbGVhayB0aGUgYnllIHJlYXNvbi4KCjIwMDctMTItMDkgMTk6Mzc6NTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IEZpeCBsaXN0IG9mIHN1cHBvcnRlZCBhbmQga25vd24gY29kZWNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6CgkgIEZpeCBsaXN0IG9mIHN1cHBvcnRlZCBhbmQga25vd24gY29kZWNzLgoJICBFbWl0IHRhZyB3aXRoIHRoZSBjb2RlYyBuYW1lIHNvIGl0IGdldHMgcHJvcGVybHkgcmVwb3J0ZWQgaW4gdG90ZW0gYW5kCgkgIG90aGVyIGFwcGxpY2F0aW9ucy4KCjIwMDctMTItMDkgMDQ6MzA6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogRG9uJ3QgZGVmaW5lIEdTVF9ESVNBQkxFX0RFUFJFQ0FURUQgZm9yIHJlbGVhc2VzLiBGaXhlcyAjNDk4MTgxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERvbid0IGRlZmluZSBHU1RfRElTQUJMRV9ERVBSRUNBVEVEIGZvciByZWxlYXNlcy4gRml4ZXMgIzQ5ODE4MS4KCjIwMDctMTItMDYgMTI6NDU6NTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IEZpeCBjb21waWxhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX3RyYW5zZm9ybV9pcCk6CgkgIEZpeCBjb21waWxhdGlvbi4KCjIwMDctMTItMDYgMTI6NDI6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IERvbid0IHByb2Nlc3MgYnVmZmVycyBpbiBwYXNzdGhyb3VnaCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfdHJhbnNmb3JtX2lwKToKCSAgRG9uJ3QgcHJvY2VzcyBidWZmZXJzIGluIHBhc3N0aHJvdWdoIG1vZGUuCgoyMDA3LTEyLTA2IDEyOjM3OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogVGhlIHRyYW5zZm9ybSgpIG1ldGhvZHMgYXJlIG5vdCBjYWxsZWQgaW4gcGFzc3Rocm91Z2ggbW9kZSBzbyB0aGVyZSdzIG5vIG5lZWQgZm9yIGNoZWNraW5nIGlmIHRoZSBlbGVtZW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChicHdzaW5jX3RyYW5zZm9ybSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChscHdzaW5jX3RyYW5zZm9ybSk6CgkgIFRoZSB0cmFuc2Zvcm0oKSBtZXRob2RzIGFyZSBub3QgY2FsbGVkIGluIHBhc3N0aHJvdWdoIG1vZGUgc28KCSAgdGhlcmUncyBubyBuZWVkIGZvciBjaGVja2luZyBpZiB0aGUgZWxlbWVudCBpcyBpbiBwYXNzdGhyb3VnaCBtb2RlLgoKMjAwNy0xMi0wNiAxMjoyOToyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IFN5bmMgdGhlIEdPYmplY3QgcHJvcGVydGllcyB3aXRoIHRoZSBjb250cm9sbGVyIGV2ZW4gaW4gcGFzc3Rocm91Z2ggbW9kZSB0byBnZXQgY29uc2lzdGVudCBwcm9wZXJ0eSB2YWx1ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoYnB3c2luY190cmFuc2Zvcm0pOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAobHB3c2luY190cmFuc2Zvcm0pOgoJICBTeW5jIHRoZSBHT2JqZWN0IHByb3BlcnRpZXMgd2l0aCB0aGUgY29udHJvbGxlciBldmVuIGluIHBhc3N0aHJvdWdoCgkgIG1vZGUgdG8gZ2V0IGNvbnNpc3RlbnQgcHJvcGVydHkgdmFsdWVzLgoKMjAwNy0xMi0wNiAxMDo0ODoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOiBNYXJrIGNyYyB2YWx1ZXMgdGFibGUgYXMgY29uc3RhbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOiAoY3JjX3RhYik6CgkgIE1hcmsgY3JjIHZhbHVlcyB0YWJsZSBhcyBjb25zdGFudC4KCjIwMDctMTItMDUgMTc6MDA6NTkgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgQWRkZWQgc29tZSB0YWdzIHRvIGV4aWYgcGFyc2VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkZWQgc29tZSB0YWdzIHRvIGV4aWYgcGFyc2VyLgoKMjAwNy0xMi0wNSAxMjo0MDowNSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IEEgc3ViIHRhYmxlIGlzIGlkZW50aWZpZWQgYnkgdGhlIHBhaXIgdGFibGVfaWQgYW5kIHN1Yl90YWJsZV9pZGVudGlmaWVyLCBub3QgYnkgcGlkLiBTbyBoYXNoIHdpdGggdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBBIHN1YiB0YWJsZSBpcyBpZGVudGlmaWVkIGJ5IHRoZSBwYWlyIHRhYmxlX2lkIGFuZAoJICBzdWJfdGFibGVfaWRlbnRpZmllciwgbm90IGJ5IHBpZC4gU28gaGFzaCB3aXRoIHRoYXQuCgkgICogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIE1ha2Ugc3VyZSBpbml0aWFsIHBpZHMgYXJlIGFkZGVkIHByb3Blcmx5IHRvIGZpbHRlciwKCjIwMDctMTItMDUgMTE6MjU6NTggKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zd2l0Y2hfc2V0X3Byb3BlcnR5KTogRG9uJ3QgcHVzaCBidWZmZXJzIGZyb20gYXBwIHRocmVhZCB3aGVuIHVuc2V0dGluZyBgcXVldWUtYnVmZmVycycsIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMi0wNSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3dpdGNoX3NldF9wcm9wZXJ0eSk6IERvbid0IHB1c2gKCSAgYnVmZmVycyBmcm9tIGFwcCB0aHJlYWQgd2hlbiB1bnNldHRpbmcgYHF1ZXVlLWJ1ZmZlcnMnLCBpdCdzCgkgIGRhbmdlcm91cyBhbmQgdGhlIGNoYWluIGZ1bmN0aW9uIHdpbGwgZG8gaXQgZm9yIHVzIGFueXdheS4KCjIwMDctMTItMDQgMTc6MjA6MjUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSAgTm93IGNvbXBpbGVzIGV2ZW4gd2hlbiBsaWJpcHRjIGlzIG1pc3NpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOb3cgY29tcGlsZXMgZXZlbiB3aGVuIGxpYmlwdGMgaXMgbWlzc2luZy4KCjIwMDctMTItMDQgMTY6NDI6MjUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmg6CgkgIEZpeGVkIGVsZW1lbnQgcHJvcGVydGllcyBhbmQgbm93IG11eGVyIHdyaXRlcyB0byBwbmcgYWxzby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIGVsZW1lbnQgcHJvcGVydGllcyBhbmQgbm93IG11eGVyIHdyaXRlcyB0byBwbmcgYWxzby4KCjIwMDctMTItMDMgMTg6Mjg6MzIgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBSZW1vdmUgc2lnbmFscyBmb3IgcGF0LCBwbXQsIG5pdCwgZWl0LCBzZHQuIFJlcGxhY2Ugd2l0aCBidXMgbWVzc2FnZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBSZW1vdmUgc2lnbmFscyBmb3IgcGF0LCBwbXQsIG5pdCwgZWl0LCBzZHQuIFJlcGxhY2Ugd2l0aCBidXMKCSAgbWVzc2FnZXMuCgkgICogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIEluc3RlYWQgb2YgYXR0YWNoaW5nIHRvIHNpZ25hbHMsIHVzZSB0aGUgYnVzIG1lc3NhZ2VzLgoJICBBbHNvIGZpeCB1cCBzbyB0aGUgZHZic3JjIHN0YXJ0cyBvbmx5IG91dHB1dHRpbmcgdGhlIGluZm8gdGFibGVzCgkgIGxpa2UgUEFULCBDQVQsIE5JVCwgU0RULCBFSVQgaW5zdGVhZCBvZiB0aGUgd2hvbGUgdHMuCgoyMDA3LTEyLTAzIDE2OjE0OjAxICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuaDoKCSAgTXV4ZXIgd3JpdGVzIChpbiBqcGVnIG9ubHkpIHdob2xlIElQVEMgY2h1bmsgc2VudCBhcyB0YWcuIE11eGVyIGltcGxlbWV0cyBHc3RUYWdTZXR0ZXIgaW50ZXJmYWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTXV4ZXIgd3JpdGVzIChpbiBqcGVnIG9ubHkpIHdob2xlIElQVEMgY2h1bmsgc2VudCBhcyB0YWcuIE11eGVyIGltcGxlbWV0cyBHc3RUYWdTZXR0ZXIgaW50ZXJmYWNlLgoKMjAwNy0xMi0wMyAxMzowODoyNiArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOiBTaG91bGQgZml4IHRoZSA2NC1iaXQgYnVpbGQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIFNob3VsZCBmaXggdGhlIDY0LWJpdCBidWlsZAoKMjAwNy0xMS0zMCAxODozMDoxMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuaDoKCSAgTXV4ZXIgd3JpdGVzIChpbiBqcGVnIG9ubHkpIHdob2xlIEVYSUYgYW5kIFhNUCBjaHVua3Mgc2VudCBhcyB0YWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTXV4ZXIgd3JpdGVzIChpbiBqcGVnIG9ubHkpIHdob2xlIEVYSUYgYW5kIFhNUCBjaHVua3Mgc2VudCBhcyB0YWdzLgoKMjAwNy0xMS0zMCAxNDowODoxNSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvcmZiZGVjb2Rlci4qOiBBZGQgQ29SUkUgZW5jb2RpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIEFkZCBDb1JSRSBlbmNvZGluZwoKMjAwNy0xMS0zMCAxMzoxODozNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOiBDUkMgY2hlY2sgdGhlIHBzaSBwaWRzLiBDUkMgY2hlY2tpbmcgY29kZSByZWxpY2VuY2VkIGZyb20gTVBMLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgQ1JDIGNoZWNrIHRoZSBwc2kgcGlkcy4gQ1JDIGNoZWNraW5nIGNvZGUgcmVsaWNlbmNlZCBmcm9tIE1QTC4KCSAgVGhhbmtzIEZsdWVuZG8uCgoyMDA3LTExLTMwIDEyOjUzOjEzICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuaDoKCSAgRml4ZWQgZ2V0X3JhbmdlIGJ1ZyB3aGVuIGluamVjdGluZyBhbmQgc3RyaXBwaW5nLiBBbmQgbXV4IGlzIGFsbW9zdCBkb25lIG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIGdldF9yYW5nZSBidWcgd2hlbiBpbmplY3RpbmcgYW5kIHN0cmlwcGluZy4gQW5kIG11eCBpcyBhbG1vc3QgZG9uZSBub3cuCgoyMDA3LTExLTMwIDEwOjQ2OjIzICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6IFVzZSBnbGliIG1hY3JvIGZvciBzd2FwcGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgVXNlIGdsaWIgbWFjcm8gZm9yIHN3YXBwaW5nCgoyMDA3LTExLTI5IDEzOjMyOjExICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi86IERpc2FibGUgQ29weVJlY3QgZW5jb2RpbmcgYnkgZGVmYXVsdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICBEaXNhYmxlIENvcHlSZWN0IGVuY29kaW5nIGJ5IGRlZmF1bHQKCSAgQWRkIFJSRSBlbmNvZGluZwoKMjAwNy0xMS0yOSAxMDo0OToxOCArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCBsaWJzb3VwIHJlcXVpcmVtZW50IGFzIGxpYnNvdXAgZG9lcyBub3Qgc3VwcG9ydCBhc3luYyBjbGllbnQgb3BlcmF0aW9uIHByaW9yIHRvIHZlcnNpb24gMi4yLjEwNCBhbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBsaWJzb3VwIHJlcXVpcmVtZW50IGFzIGxpYnNvdXAgZG9lcyBub3Qgc3VwcG9ydCBhc3luYyBjbGllbnQKCSAgb3BlcmF0aW9uIHByaW9yIHRvIHZlcnNpb24gMi4yLjEwNCBhbmQgaXQgaGFzIHNvbWUgbGVha3MuCgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBodHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwaHR0cF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc3RhcnQpLCAoZ3N0X3NvdXBodHRwX3NyY19zdG9wKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrKSwgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrX3N0b3ApLAoJICAoZ3N0X3NvdXBodHRwX3NyY19nZXRfc2l6ZSksIChzb3VwX2dvdF9oZWFkZXJzKSwgKHNvdXBfZ290X2JvZHkpLAoJICAoc291cF9maW5pc2hlZCksIChzb3VwX2dvdF9jaHVuayksIChzb3VwX3Jlc3BvbnNlKSwKCSAgKHNvdXBfc2Vzc2lvbl9jbG9zZSk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgSW1wbGVtZW50IHVubG9jaygpLgoJICBQaWNrcyB1cCB0aGUgc2l6ZSBmcm9tIHRoZSBDb250ZW50LUxlbmd0aCBoZWFkZXIgYW5kIGVtaXQgYSBkdXJhdGlvbgoJICBtZXNzYWdlLgoJICBEb24ndCBsZWFrIHRoZSBHTWFpbkNvbnRleHQgb2JqZWN0LgoJICBGaXhlcyAjNTAwMDk5LgoKMjAwNy0xMS0yOSAxMDo0NDo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOiBEb24ndCBmcmVlIHVuaW5pdGlhbGl6ZWQgZGF0YSB3aGVuIHdlIGFyZSBpbiBlcnJvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6IChhbHNhc3BkaWZzaW5rX3NldF9jYXBzKSwKCSAgKGFsc2FzcGRpZnNpbmtfZ2V0X3RpbWUpLCAoYWxzYXNwZGlmc2lua19zZXRfcGFyYW1zKSwKCSAgKGFsc2FzcGRpZnNpbmtfZmluZF9wY21fZGV2aWNlKToKCSAgRG9uJ3QgZnJlZSB1bmluaXRpYWxpemVkIGRhdGEgd2hlbiB3ZSBhcmUgaW4gZXJyb3IuCgoyMDA3LTExLTI4IDE0OjAzOjM1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmg6CgkgIFNlbmRpbmcgbWFrZSBhbmQgbW9kZWwgaW5kaXZpZHVhbCB0YWdzIGFuZCBtdXhlciBub3cgbGlua3MgZmluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNlbmRpbmcgbWFrZSBhbmQgbW9kZWwgaW5kaXZpZHVhbCB0YWdzIGFuZCBtdXhlciBub3cgbGlua3MgZmluZS4KCjIwMDctMTEtMjggMDg6MTM6NTIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2UuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlZXhpZi5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VpcHRjLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNleG1wLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNleG1wLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmg6CgkgIFNtYWxsIGZpeGVzIGluIGdldF9yYW5nZSBhbmQgYmV0dGVyIHN0cnVjdHVyZSBmb3IgZ2VuZXJpYyBtdXhlciBhbmQgZGVtdXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNtYWxsIGZpeGVzIGluIGdldF9yYW5nZSBhbmQgYmV0dGVyIHN0cnVjdHVyZSBmb3IgZ2VuZXJpYyBtdXhlciBhbmQgZGVtdXhlci4KCjIwMDctMTEtMjYgMTM6MTk6NDggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgY29uZmlndXJlLmFjOiBBZGQgUXVpY2tUaW1lIFdyYXBwZXIgcGx1Zy1pbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTEtMjYgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogY29uZmlndXJlLmFjOiBBZGQgUXVpY2tUaW1lIFdyYXBwZXIgcGx1Zy1pbi4KCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHVzaF9kcmFpbiksIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHJvY2Vzcyk6IEZpeAoJICBidWlsZCBvbiBNYWMgT1MgWCBMZW9wYXJkLiBJbmNvcnJlY3QgcHJpbnRmIGZvcm1hdCBhcmd1bWVudHMuCgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9xdHdyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkgIChxdHdyYXBwZXJfYXVkaW9fZGVjb2Rlcl9iYXNlX2luaXQpLAoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJfY2xhc3NfaW5pdCksCgkgIChxdHdyYXBwZXJfYXVkaW9fZGVjb2Rlcl9pbml0KSwKCSAgKGNsZWFyX0F1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiksIChmaWxsX2luZGVzY19tcDMpLAoJICAoZmlsbF9pbmRlc2NfYWFjKSwgKGZpbGxfaW5kZXNjX3NhbXIpLCAoZmlsbF9pbmRlc2NfZ2VuZXJpYyksCgkgIChtYWtlX3NhbXJfbWFnaWNfY29va2llKSwgKG9wZW5fZGVjb2RlciksCgkgIChxdHdyYXBwZXJfYXVkaW9fZGVjb2Rlcl9zaW5rX3NldGNhcHMpLCAocHJvY2Vzc19idWZmZXJfY2IpLAoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJfY2hhaW4pLAoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJfc2lua19ldmVudCksCgkgIChxdHdyYXBwZXJfYXVkaW9fZGVjb2RlcnNfcmVnaXN0ZXIpOgoJICAqIHN5cy9xdHdyYXBwZXIvY29kZWNtYXBwaW5nLmM6IChhdWRpb19jYXBzX2Zyb21fc3RyaW5nKSwKCSAgKGZvdXJjY190b19jYXBzKToKCSAgKiBzeXMvcXR3cmFwcGVyL2NvZGVjbWFwcGluZy5oOgoJICAqIHN5cy9xdHdyYXBwZXIvaW1hZ2VkZXNjcmlwdGlvbi5jOiAoaW1hZ2VfZGVzY3JpcHRpb25fZm9yX2F2YzEpLAoJICAoaW1hZ2VfZGVzY3JpcHRpb25fZm9yX21wNHYpLCAoaW1hZ2VfZGVzY3JpcHRpb25fZnJvbV9zdHNkX2J1ZmZlciksCgkgIChpbWFnZV9kZXNjcmlwdGlvbl9mcm9tX2NvZGVjX2RhdGEpOgoJICAqIHN5cy9xdHdyYXBwZXIvaW1hZ2VkZXNjcmlwdGlvbi5oOgoJICAqIHN5cy9xdHdyYXBwZXIvcXR1dGlscy5jOiAoZ2V0X25hbWVfaW5mb19mcm9tX2NvbXBvbmVudCksCgkgIChnZXRfb3V0cHV0X2luZm9fZnJvbV9jb21wb25lbnQpLCAoZHVtcF9hdmNjX2F0b20pLAoJICAoZHVtcF9pbWFnZV9kZXNjcmlwdGlvbiksIChkdW1wX2NvZGVjX2RlY29tcHJlc3NfcGFyYW1zKSwKCSAgKGFkZFNJbnQzMlRvRGljdGlvbmFyeSksIChkdW1wX2N2cGl4ZWxfYnVmZmVyKSwKCSAgKERlc3Ryb3lBdWRpb0J1ZmZlckxpc3QpLCAoQWxsb2NhdGVBdWRpb0J1ZmZlckxpc3QpOgoJICAqIHN5cy9xdHdyYXBwZXIvcXR1dGlscy5oOgoJICAqIHN5cy9xdHdyYXBwZXIvcXR3cmFwcGVyLmM6IChwbHVnaW5faW5pdCk6CgkgICogc3lzL3F0d3JhcHBlci9xdHdyYXBwZXIuaDoKCSAgKiBzeXMvcXR3cmFwcGVyL3ZpZGVvZGVjb2RlcnMuYzoKCSAgKHF0d3JhcHBlcl92aWRlb19kZWNvZGVyX2Jhc2VfaW5pdCksCgkgIChxdHdyYXBwZXJfdmlkZW9fZGVjb2Rlcl9jbGFzc19pbml0KSwKCSAgKHF0d3JhcHBlcl92aWRlb19kZWNvZGVyX2luaXQpLCAocXR3cmFwcGVyX3ZpZGVvX2RlY29kZXJfZmluYWxpemUpLAoJICAoZmlsbF9pbWFnZV9kZXNjcmlwdGlvbiksIChuZXdfaW1hZ2VfZGVzY3JpcHRpb24pLCAoY2xvc2VfZGVjb2RlciksCgkgIChvcGVuX2RlY29kZXIpLCAocXR3cmFwcGVyX3ZpZGVvX2RlY29kZXJfc2lua19zZXRjYXBzKSwKCSAgKGRlY29tcHJlc3NDYiksIChxdHdyYXBwZXJfdmlkZW9fZGVjb2Rlcl9jaGFpbiksCgkgIChxdHdyYXBwZXJfdmlkZW9fZGVjb2Rlcl9zaW5rX2V2ZW50KSwKCSAgKHF0d3JhcHBlcl92aWRlb19kZWNvZGVyc19yZWdpc3Rlcik6IEluaXRpYWwgaW1wb3J0IG9mIFF1aWNrVGltZQoJICB3cmFwcGVyIGpvaW50bHkgZGV2ZWxvcHBlZCBieSBTb25nYmlyZCBhdXRob3JzIChQaW9uZWVycyBvZiB0aGUKCSAgSW5ldml0YWJsZSkgYW5kIEZsdWVuZG8uCgoyMDA3LTExLTI2IDEwOjA4OjIwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogVXNlIGRpc3Bvc2UgYW5kIGZpbmFsaXplLiBEaXNwb3NlIGNhbiBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBVc2UgZGlzcG9zZSBhbmQgZmluYWxpemUuIERpc3Bvc2UgY2FuIGJlIGNhbGxlZCBtdWx0aXBsZSB0aW1lcy4KCjIwMDctMTEtMjYgMDk6Mzg6MjQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSAgTm93IHdvcmtzIHdoZW4gZ2V0X3JhbmdlIGlzIG5vdCBhdmFpbGFibGUgdXBzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOb3cgd29ya3Mgd2hlbiBnZXRfcmFuZ2UgaXMgbm90IGF2YWlsYWJsZSB1cHN0cmVhbS4KCjIwMDctMTEtMjYgMDg6NDM6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlLzogVXBkYXRlIHNwZWV4IHJlc2FtcGxlciB0byBsYXRlc3QgU1ZOLiBXZSdyZSBub3cgZG93biB0byBvbmx5IHRoZSBjaGFuZ2VzIG5vdGVkIGluIFJFQURNRSBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvUkVBRE1FOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2FyY2guaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9yZXNhbXBsZS5jOiAocmVzYW1wbGVyX2Jhc2ljX2RpcmVjdF9zaW5nbGUpLAoJICAocmVzYW1wbGVyX2Jhc2ljX2RpcmVjdF9kb3VibGUpLAoJICAocmVzYW1wbGVyX2Jhc2ljX2ludGVycG9sYXRlX3NpbmdsZSksCgkgIChyZXNhbXBsZXJfYmFzaWNfaW50ZXJwb2xhdGVfZG91YmxlKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX25hdGl2ZSksIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19mbG9hdCksCgkgIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19pbnQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfaW50ZXJsZWF2ZWRfZmxvYXQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfaW50ZXJsZWF2ZWRfaW50KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9nZXRfaW5wdXRfbGF0ZW5jeSksCgkgIChzcGVleF9yZXNhbXBsZXJfZ2V0X291dHB1dF9sYXRlbmN5KToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXIuaDoKCSAgVXBkYXRlIHNwZWV4IHJlc2FtcGxlciB0byBsYXRlc3QgU1ZOLiBXZSdyZSBub3cgZG93biB0byBvbmx5IHRoZQoJICBjaGFuZ2VzIG5vdGVkIGluIFJFQURNRSBhZ2Fpbi4KCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfd3JhcHBlci5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9wdXNoX2RyYWluKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9xdWVyeSk6CgkgIEFkanVzdCB0byBBUEkgY2hhbmdlcy4KCjIwMDctMTEtMjUgMTA6NDU6MDkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IE91dHB1dCBzZWdtZW50IHdpdGggcHJvcGVyICdzdG9wJyB2YWx1ZSwgbWFrZXMgZmx2ZGVtdXggMTAwJSBjb21wYXRpYmxlIHdpdGggZ25vbmxpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBPdXRwdXQgc2VnbWVudCB3aXRoIHByb3BlciAnc3RvcCcgdmFsdWUsIG1ha2VzIGZsdmRlbXV4IDEwMCUgY29tcGF0aWJsZQoJICB3aXRoIGdub25saW4uCgoyMDA3LTExLTI1IDEwOjEyOjA5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOiBTZXQgaW5pdGlhbCBzdHJ1Y3R1cmUgbmFtZSB0byBmaXggYXNzZXJ0aW9uLCBkdWUgdG8gcmVjZW50IGNhcHMgbmFtZSBjb25zdHJhaW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSAgU2V0IGluaXRpYWwgc3RydWN0dXJlIG5hbWUgdG8gZml4IGFzc2VydGlvbiwgZHVlIHRvIHJlY2VudCBjYXBzIG5hbWUKCSAgY29uc3RyYWludHMuCgoyMDA3LTExLTIzIDE3OjUzOjM3ICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyb0BubnZhLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IHBhdC1pbmZvIGlzIG5vdyBhIHNpZ25hbCBub3QgYSBHT2JqZWN0IHByb3BlcnR5IHRoYXQgZ2V0cyBub3RpZmllZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBBbGVzc2FuZHJvIERlY2luYQoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuaDoKCSAgcGF0LWluZm8gaXMgbm93IGEgc2lnbmFsIG5vdCBhIEdPYmplY3QgcHJvcGVydHkgdGhhdAoJICBnZXRzIG5vdGlmaWVkLgoJICBwYXQtaW5mbywgcG10LWluZm8gbm93IGluc3RlYWQgb2YgcGFzc2luZyBhIEdPYmplY3QgYXMKCSAgYSBwYXJhbWV0ZXIsIHBhc3MgYSBHc3RTdHJ1Y3R1cmUuCgkgIE5ldyBzaWduYWxzOiBuaXQtaW5mbywgc2R0LWluZm8sIGVpdC1pbmZvIGZvciBEVkIgU0kgaW5mb3JtYXRpb24KCSAgKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmM6CgkgICogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5oOgoJICAqIHN5cy9kdmIvY2FtZGV2aWNlLmM6CgkgICogc3lzL2R2Yi9jYW1kZXZpY2UuaDoKCSAgKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkgICogc3lzL2R2Yi9jYW1zd2NsaWVudC5oOgoJICAqIHN5cy9kdmIvY2FtdXRpbHMuYzoKCSAgKiBzeXMvZHZiL2NhbXV0aWxzLmg6CgkgIENhbSBjb2RlIG5vdyB1c2VzIHRoZSBwbXQgR3N0U3RydWN0dXJlIHBhc3NlZCBmcm9tIG1wZWd0c3BhcnNlCgkgIHNpZ25hbHMgcmF0aGVyIHRoYW4gdGhlIEdPYmplY3QuCgkgICogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIFVzZSBuZXcgc2lnbmFscyBpbiBtcGVndHNwYXJzZSBhbmQgdXNlIEdzdFN0cnVjdHVyZXMgYXMgcGVyCgkgIG1wZWd0c3BhcnNlJ3MgbW9kaWZpZWQgQVBJLgoKMjAwNy0xMS0yMyAxNzozNToyMSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V0eXBlcy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5oOgoJICBOb3cgcGFyc2VyIGlzIGdlbmVyaWMgKGp1c3QgYWRkL3JlbW92ZSBhIGxpc3Qgb2YgY2h1bmtzKS4gQW5kIGEgdGVtcGxhdGUgb2YgbXV4ZXIgaGFzIGJlZW4gY3JlYXRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5vdyBwYXJzZXIgaXMgZ2VuZXJpYyAoanVzdCBhZGQvcmVtb3ZlIGEgbGlzdCBvZiBjaHVua3MpLiBBbmQgYSB0ZW1wbGF0ZSBvZiBtdXhlciBoYXMgYmVlbiBjcmVhdGVkLgoKMjAwNy0xMS0yMyAxMDoyMTozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiBPbmx5IHBvc3QgdGhlIGxhdGVuY3kgbWVzc2FnZSBpZiB3ZSBoYXZlIGEgcmVzYW1wbGVyIHN0YXRlIGFscmVhZHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV91cGRhdGVfc3RhdGUpOgoJICBPbmx5IHBvc3QgdGhlIGxhdGVuY3kgbWVzc2FnZSBpZiB3ZSBoYXZlIGEgcmVzYW1wbGVyIHN0YXRlIGFscmVhZHkuCgo9PT0gcmVsZWFzZSAwLjEwLjE3ID09PQoKMjAwNy0xMS0yMyAxMDoyMToxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiAoZ3N0X2F1ZGlvcmVzYW1wbGVfaW5pdCksCgkgIChhdWRpb3Jlc2FtcGxlX3F1ZXJ5KSwgKGF1ZGlvcmVzYW1wbGVfcXVlcnlfdHlwZSksCgkgIChnc3RfYXVkaW9yZXNhbXBsZV9zZXRfcHJvcGVydHkpOgoJICBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeS4KCjIwMDctMTEtMjMgMTA6MDE6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzogQWxzbyBwb3N0IEdTVF9NRVNTQUdFX0xBVEVOQ1kgaWYgdGhlIGxhdGVuY3kgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3VwZGF0ZV9zdGF0ZSk6CgkgIEFsc28gcG9zdCBHU1RfTUVTU0FHRV9MQVRFTkNZIGlmIHRoZSBsYXRlbmN5IGNoYW5nZXMuCgoyMDA3LTExLTIzIDA4OjQ4OjUwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS86IEFkZCBmdW5jdGlvbnMgdG8gcHVzaCB0aGUgcmVtYWluaW5nIHNhbXBsZXMgYW5kIHRvIGdldCB0aGUgbGF0ZW5jeSBvZiB0aGUgcmVzYW1wbGVyLiBUaGVzZSB3aWxsIGcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvcmVzYW1wbGUuYzogKHNwZWV4X3Jlc2FtcGxlcl9nZXRfbGF0ZW5jeSksCgkgIChzcGVleF9yZXNhbXBsZXJfZHJhaW5fZmxvYXQpLCAoc3BlZXhfcmVzYW1wbGVyX2RyYWluX2ludCksCgkgIChzcGVleF9yZXNhbXBsZXJfZHJhaW5faW50ZXJsZWF2ZWRfZmxvYXQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX2RyYWluX2ludGVybGVhdmVkX2ludCk6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX3dyYXBwZXIuaDoKCSAgQWRkIGZ1bmN0aW9ucyB0byBwdXNoIHRoZSByZW1haW5pbmcgc2FtcGxlcyBhbmQgdG8gZ2V0IHRoZSBsYXRlbmN5CgkgIG9mIHRoZSByZXNhbXBsZXIuIFRoZXNlIHdpbGwgZ2V0IGFkZGVkIHRvIFNwZWV4IFNWTiBpbiB0aGlzIG9yIGEKCSAgc2xpZ2h0bHkgY2hhbmdlZCBmb3JtIGF0IHNvbWUgcG9pbnQgdG9vIGFuZCBzaG91bGQgZ2V0IG1lcmdlZCB0aGVuCgkgIGFnYWluLgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzogKGdzdF9zcGVleF9yZXNhbXBsZV9pbml0KSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9pbml0X3N0YXRlKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV90cmFuc2Zvcm1fc2l6ZSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHVzaF9kcmFpbiksIChnc3Rfc3BlZXhfcmVzYW1wbGVfZXZlbnQpLAoJICAoZ3N0X3NwZWV4X2ZpeF9vdXRwdXRfYnVmZmVyKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9wcm9jZXNzKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9xdWVyeSksIChnc3Rfc3BlZXhfcmVzYW1wbGVfcXVlcnlfdHlwZSk6CgkgIERyb3AgdGhlIHByZXBlbmRpbmcgemVyb2VzIGFuZCBvdXRwdXQgdGhlIHJlbWFpbmluZyBzYW1wbGVzIG9uIEVPUy4KCSAgQWxzbyBwcm9wZXJseSBpbXBsZW1lbnQgdGhlIGxhdGVuY3kgcXVlcnkgZm9yIHRoaXMuIHNwZWV4cmVzYW1wbGUKCSAgc2hvdWxkIGJlIGNvbXBsZXRlbHkgcmVhZHkgZm9yIHByb2R1Y3Rpb24gdXNlIG5vdy4KCjIwMDctMTEtMjIgMDk6MDg6MjcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogaml0dGVyYnVmZmVyIGNhbiBidWZmZXIgYW4gdW5saW1pdGVkIGFtb3VudCBvZiB0aW1lIGFuZCB0aHVzIGhhcyBubyBtYXhfbGF0ZW5jeSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpOgoJICBqaXR0ZXJidWZmZXIgY2FuIGJ1ZmZlciBhbiB1bmxpbWl0ZWQgYW1vdW50IG9mIHRpbWUgYW5kIHRodXMgaGFzIG5vCgkgIG1heF9sYXRlbmN5IHJlcXVpcmVtZW50cy4KCjIwMDctMTEtMjEgMTA6MTg6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlL1JFQURNRTogQWRkIFJFQURNRSBleHBsYWluaW5nIHdoZXJlIHRoZSByZXNhbXBsaW5nIGNvZGUgd2FzIHRha2VuIGZyb20gYW5kIHdoaWNoIGNoYW5nZXMgd2VyZSBkb25lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9SRUFETUU6CgkgIEFkZCBSRUFETUUgZXhwbGFpbmluZyB3aGVyZSB0aGUgcmVzYW1wbGluZyBjb2RlIHdhcyB0YWtlbiBmcm9tCgkgIGFuZCB3aGljaCBjaGFuZ2VzIHdlcmUgZG9uZS4KCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9yZXNhbXBsZS5jOiAoc3BlZXhfYWxsb2MpLCAoc3BlZXhfcmVhbGxvYyksCgkgIChzcGVleF9mcmVlKToKCSAgVXNlIGdfbWFsbG9jKCkgYW5kIGZyaWVuZHMgaW5zdGVhZCBvZiBtYWxsb2MoKSB0byBhY2hpZXZlIGhpZ2hlcgoJICBwb3J0YWJpbGl0eSBhbmQgZGVmaW5lIHRoZSBmdW5jdGlvbnMgaW5saW5lLgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlci5oOgoJICBBZGQgYmFjayBzb21lIHVzZWxlc3MgcHJlcHJvY2Vzc29yIHN0dWZmIHRvIGtlZXAgdGhlIGRpZmYgYmV0d2VlbgoJICBvdXIgdmVyc2lvbiBhbmQgdGhlIG9uZSBmcm9tIHRoZSBTcGVleCBTVk4gcmVwb3NpdG9yeSBsb3dlci4KCjIwMDctMTEtMjEgMDk6NTY6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBQb3N0IGEgR1NUX01FU1NBR0VfTEFURU5DWSBpZiB0aGUgbGF0ZW5jeSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGJwd3NpbmNfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGxwd3NpbmNfc2V0X3Byb3BlcnR5KToKCSAgUG9zdCBhIEdTVF9NRVNTQUdFX0xBVEVOQ1kgaWYgdGhlIGxhdGVuY3kgY2hhbmdlcy4KCjIwMDctMTEtMjEgMDk6NDU6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZmFhYy9nc3RmYWFjLmM6IERvbid0IHRyeSB0byBmbHVzaCB0aGUgZGVjb2RlciBvbiBFT1Mgd2hlbiBpdCB3YXMgbm90IGluaXRpYWxpemVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19zaW5rX2V2ZW50KToKCSAgRG9uJ3QgdHJ5IHRvIGZsdXNoIHRoZSBkZWNvZGVyIG9uIEVPUyB3aGVuIGl0IHdhcyBub3QgaW5pdGlhbGl6ZWQuCgkgIEZpeGVzICM0OTg2NjcKCjIwMDctMTEtMjEgMDk6NDA6MDggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzogRml4IGJ1aWxkIG9uIE1hYyBPUyBYLiAobWlzc2luZyBmb3JtYXQgcGFyYW1ldGVyKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMS0yMSAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOiAoZ3N0X3NkbGF1ZGlvX3Npbmtfd3JpdGUpOiBGaXggYnVpbGQKCSAgb24gTWFjIE9TIFguIChtaXNzaW5nIGZvcm1hdCBwYXJhbWV0ZXIpCgoyMDA3LTExLTIxIDA4OjIxOjEwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyLzogUmVtb3ZlIHByZXNldCBpZmFjZSBhZ2Fpbi4gV2UnbGwgcmUtYWRkIHRoaXMgYWZ0ZXIgaXRzIGJlZW4gcmVsZWFzZWQgaW4gLWdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgIFJlbW92ZSBwcmVzZXQgaWZhY2UgYWdhaW4uIFdlJ2xsIHJlLWFkZCB0aGlzIGFmdGVyIGl0cyBiZWVuIHJlbGVhc2VkCgkgIGluIC1nb29kLgoKMjAwNy0xMS0yMCAyMDoyMzoyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiBTb21lIHNtYWxsIGNsZWFudXAgYW5kIGFkZGl0aW9uIG9mIGEgVE9ETyBpdGVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfZml4X291dHB1dF9idWZmZXIpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3RyYW5zZm9ybSk6CgkgIFNvbWUgc21hbGwgY2xlYW51cCBhbmQgYWRkaXRpb24gb2YgYSBUT0RPIGl0ZW0uCgoyMDA3LTExLTIwIDEyOjU2OjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbTogQWRkIG1pc3NpbmcgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgIEFkZCBtaXNzaW5nIGZpbGUuCgoyMDA3LTExLTIwIDA3OjUyOjEzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC86IEFkZCBtaXNzaW5nIGluc3BlY3Rpb24gZmlsZXMgdG8gQ1ZTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdXAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3dpdGNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgQWRkIG1pc3NpbmcgaW5zcGVjdGlvbiBmaWxlcyB0byBDVlMuCgoyMDA3LTExLTIwIDA3OjQ3OjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgc3BlZXhyZXNhbXBsZSB0byB0aGUgZG9jcyBhbmQgd2hpbGUgYXQgdGhhdCBkbyBhIG1ha2UgdXBkYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5oOgoJICBBZGQgc3BlZXhyZXNhbXBsZSB0byB0aGUgZG9jcyBhbmQgd2hpbGUgYXQgdGhhdCBkbyBhIG1ha2UgdXBkYXRlLgoKMjAwNy0xMS0yMCAwNzozMDozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiBJZiB0aGUgcmVzYW1wbGVyIGdpdmVzIGxlc3Mgb3V0cHV0IHNhbXBsZXMgdGhhbiBleHBlY3RlZCBhZGp1c3QgdGhlIG91dHB1dCBidWZmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9maXhfb3V0cHV0X2J1ZmZlciksIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHJvY2Vzcyk6CgkgIElmIHRoZSByZXNhbXBsZXIgZ2l2ZXMgbGVzcyBvdXRwdXQgc2FtcGxlcyB0aGFuIGV4cGVjdGVkCgkgIGFkanVzdCB0aGUgb3V0cHV0IGJ1ZmZlciBhbmQgcHJpbnQgYSB3YXJuaW5nLgoKMjAwNy0xMS0yMCAwNzowMjo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIHJlc2FtcGxlIGVsZW1lbnQgYmFzZWQgb24gdGhlIFNwZWV4IHJlc2FtcGxpbmcgYWxnb3JpdGhtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvYXJjaC5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2ZpeGVkX2dlbmVyaWMuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfYmFzZV9pbml0KSwgKGdzdF9zcGVleF9yZXNhbXBsZV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9pbml0KSwgKGdzdF9zcGVleF9yZXNhbXBsZV9zdGFydCksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfc3RvcCksIChnc3Rfc3BlZXhfcmVzYW1wbGVfZ2V0X3VuaXRfc2l6ZSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfdHJhbnNmb3JtX2NhcHMpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2luaXRfc3RhdGUpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3VwZGF0ZV9zdGF0ZSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcmVzZXRfc3RhdGUpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3BhcnNlX2NhcHMpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3RyYW5zZm9ybV9zaXplKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9zZXRfY2FwcyksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfZXZlbnQpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2NoZWNrX2Rpc2NvbnQpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3Byb2Nlc3MpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3RyYW5zZm9ybSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9nZXRfcHJvcGVydHkpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9yZXNhbXBsZS5jOiAoc3BlZXhfYWxsb2MpLCAoc3BlZXhfcmVhbGxvYyksCgkgIChzcGVleF9mcmVlKSwgKGNvbXB1dGVfZnVuYyksIChtYWluKSwgKHNpbmMpLCAoY3ViaWNfY29lZiksCgkgIChyZXNhbXBsZXJfYmFzaWNfZGlyZWN0X3NpbmdsZSksIChyZXNhbXBsZXJfYmFzaWNfZGlyZWN0X2RvdWJsZSksCgkgIChyZXNhbXBsZXJfYmFzaWNfaW50ZXJwb2xhdGVfc2luZ2xlKSwKCSAgKHJlc2FtcGxlcl9iYXNpY19pbnRlcnBvbGF0ZV9kb3VibGUpLCAodXBkYXRlX2ZpbHRlciksCgkgIChzcGVleF9yZXNhbXBsZXJfaW5pdCksIChzcGVleF9yZXNhbXBsZXJfaW5pdF9mcmFjKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9kZXN0cm95KSwgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX25hdGl2ZSksCgkgIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19mbG9hdCksIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19pbnQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfaW50ZXJsZWF2ZWRfZmxvYXQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfaW50ZXJsZWF2ZWRfaW50KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9zZXRfcmF0ZSksIChzcGVleF9yZXNhbXBsZXJfZ2V0X3JhdGUpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3NldF9yYXRlX2ZyYWMpLCAoc3BlZXhfcmVzYW1wbGVyX2dldF9yYXRpbyksCgkgIChzcGVleF9yZXNhbXBsZXJfc2V0X3F1YWxpdHkpLCAoc3BlZXhfcmVzYW1wbGVyX2dldF9xdWFsaXR5KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9zZXRfaW5wdXRfc3RyaWRlKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9nZXRfaW5wdXRfc3RyaWRlKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9zZXRfb3V0cHV0X3N0cmlkZSksCgkgIChzcGVleF9yZXNhbXBsZXJfZ2V0X291dHB1dF9zdHJpZGUpLCAoc3BlZXhfcmVzYW1wbGVyX3NraXBfemVyb3MpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3Jlc2V0X21lbSksIChzcGVleF9yZXNhbXBsZXJfc3RyZXJyb3IpOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlci5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl9mbG9hdC5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl9pbnQuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfd3JhcHBlci5oOgoJICBBZGQgcmVzYW1wbGUgZWxlbWVudCBiYXNlZCBvbiB0aGUgU3BlZXggcmVzYW1wbGluZyBhbGdvcml0aG0uCgoyMDA3LTExLTE5IDIyOjA5OjM2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmg6CgkgIEZpeGVkIGJ1ZmZlciBzdHJpcCAoc2FmZXIgd2lsIHB1bGwgYW5kIGFmdGVyIHNlZWspLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgYnVmZmVyIHN0cmlwIChzYWZlciB3aWwgcHVsbCBhbmQgYWZ0ZXIgc2VlaykuCgoyMDA3LTExLTE5IDIwOjMwOjE5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyLzogQWN0aXZhdGUgcHJlc2V0IGlmYWNlIGFuZCB1cGxvYWQgdHdvIHByZXNldHMgaGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgQWN0aXZhdGUgcHJlc2V0IGlmYWNlIGFuZCB1cGxvYWQgdHdvIHByZXNldHMgaGVyZS4KCjIwMDctMTEtMTkgMTM6MDU6MjMgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuaDoKCSAgU3RyaXAgb3V0IGluIHB1bGwgbW9kZSBhbHNvLiBTZWVrIGFuZCBRdWVyeSBmdW5jdGlvbnMgYWRkZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTdHJpcCBvdXQgaW4gcHVsbCBtb2RlIGFsc28uIFNlZWsgYW5kIFF1ZXJ5IGZ1bmN0aW9ucyBhZGRlZC4KCjIwMDctMTEtMTggMjE6MDY6NTEgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2UuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXR5cGVzLmg6CgkgIFN0cmlwIG91dCBtZXRhZGF0YSBjaHVua3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTdHJpcCBvdXQgbWV0YWRhdGEgY2h1bmtzLgoKMjAwNy0xMS0xNiAxMToxMTowNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBBbHMgdXNlIEFHX0dTVF9QTFVHSU5fRE9DUyAoc2VlICMzNDQwMzkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEFscyB1c2UgQUdfR1NUX1BMVUdJTl9ET0NTIChzZWUgIzM0NDAzOSkuCgoyMDA3LTExLTE1IDE5OjAzOjMzICswMDAwICBXYWktTWluZyBIbyA8d2VicmVnYm94QHlhaG9vLmNvLnVrPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzogRW5zdXJlIHRoYXQgdGhlIHBsdWdpbiBkb2VzIG5vdCBjcmFzaCB3aGVuIHRoZSBwcm9wZXJ0eSBwYXQtaW5mbyBpcyBxdWVyaWVkIGJlZm9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV2FpLU1pbmcgSG8gPHdlYnJlZ2JveCBhdCB5YWhvbyBkb3QgY28gZG90IHVrPgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6IChmb3JlYWNoX3N0cmVhbV9jbGVhciksCgkgIChyZW1vdmVfYWxsKSwgKG1wZWd0c19wYWNrZXRpemVyX2NsZWFyKToKCSAgRW5zdXJlIHRoYXQgdGhlIHBsdWdpbiBkb2VzIG5vdCBjcmFzaCB3aGVuIHRoZSBwcm9wZXJ0eSBwYXQtaW5mbyBpcwoJICBxdWVyaWVkIGJlZm9yZSBhIFBBVCBpcyBhdmFpbGFibGUuIEl0IGFsc28gZW5zdXJlcyB0aGF0IHRoZSBQQVQgaW5mbyBpcwoJICBjbGVhcmVkIHdoZW4gdGhlIGNoYW5naW5nIGZyb20gUExBWUlORyB0byBSRUFEWS4KCSAgRml4ZXMgIzQ4Nzg5Mi4KCjIwMDctMTEtMTUgMTg6NTM6NTYgKzAwMDAgIFdvdXRlciBQYWVzZW4gPHdvdXRlckBibHVlLWdhdGUuYmU+CgoJICBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzogSGFuZGxlIHNlZWtpbmcgY29ycmVjdGx5LiBGaXhlcyAjNDYxMDY4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBQYWVzZW4gPHdvdXRlciBhdCBibHVlLWdhdGUgZG90IGJlPgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBIYW5kbGUgc2Vla2luZyBjb3JyZWN0bHkuIEZpeGVzICM0NjEwNjguCgoyMDA3LTExLTE1IDE4OjQxOjMxICswMDAwICBNaWNoYWVsIEvDtnR0ZXIgPG0ua29ldHRlckBvcmFpc2UuZGU+CgoJICBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzogRml4IHNhbXBsZSByYXRlIGFuZCBjbG9ja2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNaWNoYWVsIEvDtnR0ZXIgPG0gZG90IGtvZXR0ZXIgYXQgb3JhaXNlIGRvdCBkZT4KCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzogKGFsc2FzcGRpZnNpbmtfc2V0X2NhcHMpLAoJICAoYWxzYXNwZGlmc2lua19nZXRfdGltZSksIChhbHNhc3BkaWZzaW5rX29wZW4pLAoJICAoYWxzYXNwZGlmc2lua19zZXRfcGFyYW1zKSwgKGFsc2FzcGRpZnNpbmtfZGVsYXkpLCAocGx1Z2luX2luaXQpOgoJICBGaXggc2FtcGxlIHJhdGUgYW5kIGNsb2NraW5nLgoJICBSZW1vdmUgYnVmZmVyX3RpbWUgYW5kIHBlcmlvZF90aW1lIGFzIHRoaXMgc2VlbXMgdG8gYnJlYWsgb24gc29tZQoJICBoYXJkd2FyZS4gRml4ZXMgIzQ4NTQ2Mi4KCjIwMDctMTEtMTUgMTc6MjY6MjUgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBBZGRlZCBIVFRQIHNvdXJjZSBiYXNlZCBvbiBsaWJzb3VwLiBGaXhlcyAjNDk3MDIwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKF9kb19pbml0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfYmFzZV9pbml0KSwgKGdzdF9zb3VwaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBodHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfY3JlYXRlKSwgKGdzdF9zb3VwaHR0cF9zcmNfc3RhcnQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zdG9wKSwgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc2V0X2xvY2F0aW9uKSwgKHNvdXBfZ290X2NodW5rKSwgKHNvdXBfcmVzcG9uc2UpLAoJICAoc291cF9zZXNzaW9uX2Nsb3NlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBBZGRlZCBIVFRQIHNvdXJjZSBiYXNlZCBvbiBsaWJzb3VwLiBGaXhlcyAjNDk3MDIwLgoKMjAwNy0xMS0xNSAxNTozMjo0NyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IGRvbid0IGZvcmdldCB0byBoYW5kbGUgdGhlIG9mZnNldCdzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIGRvbid0IGZvcmdldCB0byBoYW5kbGUgdGhlIG9mZnNldCdzCgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIHByZWNhbGN1bGF0ZSBzb21lIG1hbnkgdXNlZCB2YWx1ZXMKCjIwMDctMTEtMTUgMDg6Mjg6MjkgKzAwMDAgIEFybWFuZG8gVGFmZmFyZWwgTmV0byA8dGFmZmFyZWxAc29saXMuY29vcC5icj4KCgkgIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IFNldCB0aGUgdGltZXN0YW1wIGZvciB0aGUgb3V0cHV0IGJ1ZmZlcnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBBcm1hbmRvIFRhZmZhcmVsIE5ldG8gPHRhZmZhcmVsQHNvbGlzLmNvb3AuYnI+CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgU2V0IHRoZSB0aW1lc3RhbXAgZm9yIHRoZSBvdXRwdXQgYnVmZmVycwoKMjAwNy0xMS0xNCAxNzowMzoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzogRml4IHNwZWN0cnVtIHVuaXQgdGVzdCBmb3IgdGhlIGxhdGVzdCBzcGVjdHJ1bSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBGaXggc3BlY3RydW0gdW5pdCB0ZXN0IGZvciB0aGUgbGF0ZXN0IHNwZWN0cnVtIGNoYW5nZXMuCgoyMDA3LTExLTEyIDIxOjA3OjMxICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5jOiBBdm9pZCBzbG93ZG93biBmcm9tIGRlbm9ybWFscyB3aGVuIHByb2Nlc3NpbmcgbmVhci1zaWxlbmNlIGlucHV0IGRhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciA8bWFpbCBhdCByZW5lc3RhZGxlciBkb3QgZGU+CgkgICogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5jOiAoeXVsZV9maWx0ZXIpOgoJICBBdm9pZCBzbG93ZG93biBmcm9tIGRlbm9ybWFscyB3aGVuIHByb2Nlc3NpbmcgbmVhci1zaWxlbmNlIGlucHV0IGRhdGEuCgkgIFNwb3R0ZWQgYnkgR2FicmllbCBCb3V2aWduZS4gRml4ZXMgIzQ5NDQ5OS4KCjIwMDctMTEtMTIgMTk6MjI6MjQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IEFkZCBtYXBwaW5nIGZvciBOZWxseW1vc2VyIEFTQU8gYXVkaW8gY29kZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgQWRkIG1hcHBpbmcgZm9yIE5lbGx5bW9zZXIgQVNBTyBhdWRpbyBjb2RlYy4KCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogTWFrZSBzdXJlIHdlCgkgIGFjdHVhbGx5IGhhdmUgZGF0YSB0byByZWFkIGF0IHRoZSBlbmQgb2YgdGhlIHRhZy4gVGhpcyBhdm9pZHMgdHJ5aW5nCgkgIHRvIGFsbG9jYXRlIG5lZ2F0aXZlIGJ1ZmZlcnMuCgoyMDA3LTExLTEyIDE3OjI3OjAzICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9SRUFETUU6CgkgIEFkZGVkIGEgZGVzaWduIHByb3Bvc2FsIGZyb20gbWV0YWRhdGEgcGFyc2UgYW5kIG11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZGVkIGEgZGVzaWduIHByb3Bvc2FsIGZyb20gbWV0YWRhdGEgcGFyc2UgYW5kIG11eC4KCjIwMDctMTEtMTEgMjE6MTI6MTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC86IENoYW5nZSB0aGUgbWVhbmluZyBvZiB0aGUgbWFnbml0dWRlIHZhbHVlcyBnaXZlbiBpbiB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9kZW1vLmM6IChkcmF3X3NwZWN0cnVtKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogKGRyYXdfc3BlY3RydW0pOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAoZHJhd19zcGVjdHJ1bSk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCk6CgkgIENoYW5nZSB0aGUgbWVhbmluZyBvZiB0aGUgbWFnbml0dWRlIHZhbHVlcyBnaXZlbiBpbiB0aGUKCSAgR3N0TWVzc2FnZXMgYnkgc3BlY3RydW0gdG8gZGVjaWJlbCBpbnN0ZWFkIG9mCgkgIGRlY2liZWwrdGhyZXNob2xkLgoKMjAwNy0xMS0xMSAxMzo1NToyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci86IEFuZCBjb250aW51ZSB0byB1cGRhdGUgZG9jcy4gQWxzbyBpbmNsdWRlIHNvbWUgc2FtcGxlIGNvZGUgZm9yIHRoZSBuLWJhbmQgZXF1YWxpemVyIGluIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIEFuZCBjb250aW51ZSB0byB1cGRhdGUgZG9jcy4gQWxzbyBpbmNsdWRlIHNvbWUgc2FtcGxlIGNvZGUKCSAgZm9yIHRoZSBuLWJhbmQgZXF1YWxpemVyIGluIHRoZSBkb2NzLgoKMjAwNy0xMS0xMSAxMjo1NDozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci86IFVwZGF0ZSBkb2NzIGFuZCBwcm9wZXJ0eSByYW5nZXMgdG8gdGhlIHJlYWwgdmFsdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19jbGFzc19pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICBVcGRhdGUgZG9jcyBhbmQgcHJvcGVydHkgcmFuZ2VzIHRvIHRoZSByZWFsIHZhbHVlcy4KCjIwMDctMTEtMDkgMTc6Mjc6MDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBOb3cgZG8gdGhlIHNjYWxpbmcgcmlnaHQgZm9yIHJlYWwuIEFsc28gaW5pdGlhbGl6ZSBhIHByZXZpb3VzbHkgdW5pbml0aWFsaXplZCB2YXJpYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIE5vdyBkbyB0aGUgc2NhbGluZyByaWdodCBmb3IgcmVhbC4gQWxzbyBpbml0aWFsaXplIGEgcHJldmlvdXNseQoJICB1bmluaXRpYWxpemVkIHZhcmlhYmxlLgoKMjAwNy0xMS0wOSAxNTo1MzoxMyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXhtcC5jOgoJICBFeHRyYWN0aW5nIG1vcmUgZGV0YWlsZWQgaW5mbyBmcm9tIFhNUC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEV4dHJhY3RpbmcgbW9yZSBkZXRhaWxlZCBpbmZvIGZyb20gWE1QLgoKMjAwNy0xMS0wOCAxNTo1Njo0NiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci9kZW1vLmM6IE1ha2UgZGVmYXVsdCB2b2x1bWUgYSBiaXQgbGVzcy4gSW1wcm92ZSBsYXlvdXQgYnkgZ2l2aW5nIG1vcmUgc3BhY2UgdG8gdGhlIHNsaWRlciB3aXRoIGJpZy1udW1iLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZGVtby5jOgoJICBNYWtlIGRlZmF1bHQgdm9sdW1lIGEgYml0IGxlc3MuIEltcHJvdmUgbGF5b3V0IGJ5IGdpdmluZyBtb3JlIHNwYWNlIHRvCgkgIHRoZSBzbGlkZXIgd2l0aCBiaWctbnVtYmVycyBhbmQgZW5hYmxlIGZpbGwuCgoyMDA3LTExLTA3IDE2OjQ3OjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBSZXF1aXJlIEdJTyA+PSAwLjEuMiBhbmQgYWRqdXN0IHVuaXQgdGVzdCBmb3IgYW4gQVBJIGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9naW8uYzogKEdTVF9TVEFSVF9URVNUKToKCSAgUmVxdWlyZSBHSU8gPj0gMC4xLjIgYW5kIGFkanVzdCB1bml0IHRlc3QgZm9yIGFuIEFQSSBjaGFuZ2UuCgoyMDA3LTExLTA3IDE1OjM2OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOiBGaXggZ2FpbiByYW5nZXMgZm9yIHRoZSBsYXRlc3QgZXF1YWxpemVyIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6IChkb19zbGlkZXJfZmlkZGxpbmcpOgoJICBGaXggZ2FpbiByYW5nZXMgZm9yIHRoZSBsYXRlc3QgZXF1YWxpemVyIGNoYW5nZXMuCgoyMDA3LTExLTA3IDE1OjE4OjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZ2lvL2dzdGdpby5oOiBBZGQgbWFjcm8gdG8gY2hlY2sgaWYgYSBzdHJlYW0gc3VwcG9ydHMgc2Vla2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dpby9nc3RnaW8uaDoKCSAgQWRkIG1hY3JvIHRvIGNoZWNrIGlmIGEgc3RyZWFtIHN1cHBvcnRzIHNlZWtpbmcuCgkgICogZXh0L2dpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzaW5rLmM6IChnc3RfZ2lvX2Jhc2Vfc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2dpb19iYXNlX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfZ2lvX2Jhc2Vfc2lua19pbml0KSwKCSAgKGdzdF9naW9fYmFzZV9zaW5rX2ZpbmFsaXplKSwgKGdzdF9naW9fYmFzZV9zaW5rX3N0YXJ0KSwKCSAgKGdzdF9naW9fYmFzZV9zaW5rX3N0b3ApLCAoZ3N0X2dpb19iYXNlX3NpbmtfdW5sb2NrKSwKCSAgKGdzdF9naW9fYmFzZV9zaW5rX3VubG9ja19zdG9wKSwgKGdzdF9naW9fYmFzZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9naW9fYmFzZV9zaW5rX3JlbmRlciksIChnc3RfZ2lvX2Jhc2Vfc2lua19xdWVyeSksCgkgIChnc3RfZ2lvX2Jhc2Vfc2lua19zZXRfc3RyZWFtKToKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzaW5rLmg6CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc3JjLmM6IChnc3RfZ2lvX2Jhc2Vfc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2lvX2Jhc2Vfc3JjX2NsYXNzX2luaXQpLCAoZ3N0X2dpb19iYXNlX3NyY19pbml0KSwKCSAgKGdzdF9naW9fYmFzZV9zcmNfZmluYWxpemUpLCAoZ3N0X2dpb19iYXNlX3NyY19zdGFydCksCgkgIChnc3RfZ2lvX2Jhc2Vfc3JjX3N0b3ApLCAoZ3N0X2dpb19iYXNlX3NyY19nZXRfc2l6ZSksCgkgIChnc3RfZ2lvX2Jhc2Vfc3JjX2lzX3NlZWthYmxlKSwgKGdzdF9naW9fYmFzZV9zcmNfdW5sb2NrKSwKCSAgKGdzdF9naW9fYmFzZV9zcmNfdW5sb2NrX3N0b3ApLCAoZ3N0X2dpb19iYXNlX3NyY19jaGVja19nZXRfcmFuZ2UpLAoJICAoZ3N0X2dpb19iYXNlX3NyY19jcmVhdGUpLCAoZ3N0X2dpb19iYXNlX3NyY19zZXRfc3RyZWFtKToKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzcmMuaDoKCSAgUmVmYWN0b3IgY29tbW9uIEdJTyBmdW5jdGlvbnMgdG8gR3N0R2lvQmFzZVNpbmsgYW5kIEdzdEdpb0Jhc2VTcmMKCSAgYmFzZSBjbGFzc2VzIHRoYXQgb25seSByZXF1aXJlIGEgR0lucHV0U3RyZWFtIG9yIEdPdXRwdXRTdHJlYW0gdG8KCSAgd29yay4KCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuYzogKGdzdF9naW9fc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2dpb19zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2dpb19zaW5rX2luaXQpLAoJICAoZ3N0X2dpb19zaW5rX2ZpbmFsaXplKSwgKGdzdF9naW9fc2lua19zdGFydCk6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmg6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuYzogKGdzdF9naW9fc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2lvX3NyY19jbGFzc19pbml0KSwgKGdzdF9naW9fc3JjX2luaXQpLAoJICAoZ3N0X2dpb19zcmNfZmluYWxpemUpLCAoZ3N0X2dpb19zcmNfc3RhcnQpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmg6CgkgIFVzZSB0aGUgbmV3bHkgY3JlYXRlZCBiYXNlIGNsYXNzZXMgaGVyZS4KCSAgKiBleHQvZ2lvL2dzdGdpby5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc2luay5jOiAoZ3N0X2dpb19zdHJlYW1fc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2dpb19zdHJlYW1fc2lua19jbGFzc19pbml0KSwgKGdzdF9naW9fc3RyZWFtX3NpbmtfaW5pdCksCgkgIChnc3RfZ2lvX3N0cmVhbV9zaW5rX2ZpbmFsaXplKSwgKGdzdF9naW9fc3RyZWFtX3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9naW9fc3RyZWFtX3NpbmtfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNpbmsuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNyYy5jOiAoZ3N0X2dpb19zdHJlYW1fc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2lvX3N0cmVhbV9zcmNfY2xhc3NfaW5pdCksIChnc3RfZ2lvX3N0cmVhbV9zcmNfaW5pdCksCgkgIChnc3RfZ2lvX3N0cmVhbV9zcmNfZmluYWxpemUpLCAoZ3N0X2dpb19zdHJlYW1fc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZ2lvX3N0cmVhbV9zcmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNyYy5oOgoJICBJbXBsZW1lbnQgR3N0R2lvU3RyZWFtU2luayBhbmQgR3N0R2lvU3RyZWFtU3JjIHRoYXQgaGF2ZSBhIHByb3BlcnR5CgkgIHRvIHNldCB0aGUgR0lucHV0U3RyZWFtL0dPdXRwdXRTdHJlYW0gdGhhdCBzaG91bGQgYmUgdXNlZC4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZ2lvLmM6IChtZXNzYWdlX2hhbmRsZXIpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoZ2lvX3Rlc3RzdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdCBmb3IgZ2lvc3RyZWFtc3JjIGFuZCBnaW9zdHJlYW1zaW5rLgoKMjAwNy0xMS0wNyAxMTo0ODowOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2dpby9nc3RnaW8uYzogUmVtb3ZlIG5vd2FkYXlzIHVubmVjZXNzYXJ5IHdvcmthcm91bmQgZm9yIGEgY3Jhc2guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9naW8vZ3N0Z2lvLmM6IChwbHVnaW5faW5pdCk6CgkgIFJlbW92ZSBub3dhZGF5cyB1bm5lY2Vzc2FyeSB3b3JrYXJvdW5kIGZvciBhIGNyYXNoLgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5jOiAoZ3N0X2dpb19zaW5rX2ZpbmFsaXplKSwKCSAgKGdzdF9naW9fc2lua19zdGFydCksIChnc3RfZ2lvX3Npbmtfc3RvcCksCgkgIChnc3RfZ2lvX3NpbmtfdW5sb2NrX3N0b3ApOgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmM6IChnc3RfZ2lvX3NyY19maW5hbGl6ZSksIChnc3RfZ2lvX3NyY19zdGFydCksCgkgIChnc3RfZ2lvX3NyY19zdG9wKSwgKGdzdF9naW9fc3JjX3VubG9ja19zdG9wKToKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5oOgoJICBNYWtlIHRoZSBmaW5hbGl6ZSBmdW5jdGlvbiBzYWZlciwgY2xlYW4gdXAgZXZlcnl0aGluZyB0aGF0IGNvdWxkIHN0YXkKCSAgYXJvdW5kLgoJICBSZXNldCB0aGUgY2FuY2VsbGFibGUgaW5zdGVhZCBvZiBjcmVhdGluZyBhIG5ldyBvbmUgYWZ0ZXIgY2FuY2VsbGluZwoJICBzb21lIG9wZXJhdGlvbi4KCSAgRG9uJ3Qgc3RvcmUgdGhlIEdGaWxlIGluIHRoZSBlbGVtZW50LCBpdCdzIG9ubHkgbmVjZXNzYXJ5IGZvciBjcmVhdGluZwoJICB0aGUgc3RyZWFtcy4KCjIwMDctMTEtMDYgMTI6MjM6MzUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiBVc2UgYXV0b2F1ZGlvc2luayBpbnN0ZWFkIG9mIGFsc2FzaW5rIGFuZCB1c2UgYSBzaW5lIHdhdmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAobWFpbik6CgkgIFVzZSBhdXRvYXVkaW9zaW5rIGluc3RlYWQgb2YgYWxzYXNpbmsgYW5kIHVzZSBhIHNpbmUgd2F2ZS4KCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgRml4IHRoZSBtYWduaXR1ZGUgY2FsY3VsYXRpb24uCgoyMDA3LTExLTA0IDExOjA0OjI4ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNpbmsuKjogRml4IGNyYXNoZXIgaW4gY29uc3RydWN0b3IgZHVlIHRvIHRoZSBiYXNlIGNsYXNzJ3MgY29uc3RydWN0b3Igbm90IG5lY2Vzc2FyaWx5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzICA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJICAoQ0RzaG93RmFrZVNpbmsuQ0RzaG93RmFrZVNpbmspOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzaW5rLmg6IChDRHNob3dGYWtlU2luay5tX2hyZXMpOgoJICBGaXggY3Jhc2hlciBpbiBjb25zdHJ1Y3RvciBkdWUgdG8gdGhlIGJhc2UgY2xhc3MncyBjb25zdHJ1Y3RvcgoJICBub3QgbmVjZXNzYXJpbHkgYmVpbmcgTlVMTC1zYWZlIChkZXBlbmRzIG9uIHRoZSBTREsgdmVyc2lvbiB1c2VkCgkgIGFwcGFyZW50bHk7ICM0OTI0MDYpLgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jOiAoZ3N0X2RzaG93YXVkaW9zcmNfcHJlcGFyZSk6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmM6IChnc3RfZHNob3d2aWRlb3NyY19zZXRfY2Fwcyk6CgkgIEZpeCBhIGNvdXBsZSBvZiBNU1ZDIGNvbXBpbGVyIHdhcm5pbmdzICgjNDkyNDA2KS4KCjIwMDctMTEtMDMgMTk6NTA6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBBbGxvdyBzZXR0aW5nIDAgYXMgYmFuZHdpZHRoIGFuZCBoYW5kbGUgdGhpcyBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZGVtby5jOiAobWFpbik6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCksIChzZXR1cF9maWx0ZXIpOgoJICBBbGxvdyBzZXR0aW5nIDAgYXMgYmFuZHdpZHRoIGFuZCBoYW5kbGUgdGhpcyBjb3JyZWN0bHkuCgkgIEFsc28gaGFuZGxlIGEgYmFuZHdpZHRoIG9mIHJhdGUvMiBwcm9wZXJseS4KCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2NsYXNzX2luaXQpOgoJICBNYWtlIGl0IHBvc3NpYmxlIHRvIGdlbmVyYXRlIGEgTi1iYW5kIGVxdWFsaXplciB3aXRoIDEgYmFuZHMuIFRoZQoJICBwcmV2aW91cyBsaW1pdCBvZiAyIHdhcyBjYXVzZWQgYnkgYSBub3dhZGF5cyByZXBsYWNlZCBjYWxjdWxhdGlvbgoJICBkb2luZyBhIGRpdmlzaW9uIGJ5IHplcm8gaWYgbnVtYmVyIG9mIGJhbmRzIHdhcyAxLgoKMjAwNy0xMS0wMiAyMTo0NTozOCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogRml4IGJhZCBmdW5jdGlvbiBzaWduYXR1cmVzICgjNDkyNzk4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIEZpeCBiYWQgZnVuY3Rpb24gc2lnbmF0dXJlcyAoIzQ5Mjc5OCkuCgoyMDA3LTExLTAyIDE2OjUwOjQyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2UuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlZXhpZi5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VpcHRjLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXhtcC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXhtcC5oOgoJICBBZGRlZCBzdXBwb3J0IGZvciBQTkcvWE1QLiBJbmRlbnRhdGlvbi4gQW5kIGZpeGVkIHB1bGwgbW9kZSB0byBwYXJzZSB0aGUgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZGVkIHN1cHBvcnQgZm9yIFBORy9YTVAuIEluZGVudGF0aW9uLiBBbmQgZml4ZWQgcHVsbCBtb2RlIHRvIHBhcnNlIHRoZSBmaWxlLgoKMjAwNy0xMS0wMiAxMjowMzowNCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJICBOb3cgbWV0YWRhdGFwYXJzZSB3b3JrcyBpbiBwdXNoIG9yIHB1bGwgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5vdyBtZXRhZGF0YXBhcnNlIHdvcmtzIGluIHB1c2ggb3IgcHVsbCBtb2RlLgoKMjAwNy0xMS0wMSAxNjowNDoyOSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXhtcC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXhtcC5oOgoJICBTb21lIFhNUCBzdHVmZiBhZGRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNvbWUgWE1QIHN0dWZmIGFkZGVkLgoKMjAwNy0xMC0zMSAxNjoyMTowMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VleGlmLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWlwdGMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V4bXAuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V4bXAuaDoKCSAgTm93IHNlbmRpbmcgaXB0YyB0YWcgaW4gd2hvbGUgY2h1bmsuIFJlYWR5IHRvIGFsc28gc2VuZCBleGlmIGFuZCB4bXAgaW4gdGhlIHNhbWUgd2F5IChsb29rIGF0IGJ1ZyAjNDg2NjU5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5vdyBzZW5kaW5nIGlwdGMgdGFnIGluIHdob2xlIGNodW5rLiBSZWFkeSB0byBhbHNvIHNlbmQgZXhpZiBhbmQgeG1wIGluIHRoZSBzYW1lIHdheSAobG9vayBhdCBidWcgIzQ4NjY1OSkuCgoyMDA3LTEwLTMxIDE0OjQ0OjU1ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6IFNvbWUgcmVmYWN0b3JpbmcgaW4gUkFXIGVuY29kaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICBTb21lIHJlZmFjdG9yaW5nIGluIFJBVyBlbmNvZGluZwoKMjAwNy0xMC0zMSAxNDowOToyNSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvOiBBZGRlZCBjb3B5cmVjdCBlbmNvZGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2QzZGVzLmg6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5oOgoJICAqIGdzdC9saWJyZmIvcmZiYnVmZmVyLmg6CgkgICogZ3N0L2xpYnJmYi9yZmJjb250ZXh0Lmg6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgICogZ3N0L2xpYnJmYi9yZmJ1dGlsLmg6CgkgICogZ3N0L2xpYnJmYi92bmNhdXRoLmg6CgkgIEFkZGVkIGNvcHlyZWN0IGVuY29kaW5nCgoyMDA3LTEwLTMxIDEzOjMxOjA4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9jYW1zd2NsaWVudC5jOiBXYXJuIG9uIGZhaWxlZCB3cml0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJICBXYXJuIG9uIGZhaWxlZCB3cml0ZS4KCjIwMDctMTAtMzAgMjE6Mzc6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBBZGQgc21hbGwgZGVtbyBhcHBsaWNhdGlvbiBiYXNlZCBvbiB0aGUgc3BlY3RydW0gZGVtbyBhcHBsaWNhdGlvbnMgdGhhdCBnZXRzIHdoaXRlIG5vaXNlIGFzIGlucHV0LCBwdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvZGVtby5jOiAob25fd2luZG93X2Rlc3Ryb3kpLCAob25fY29uZmlndXJlX2V2ZW50KSwKCSAgKG9uX2dhaW5fY2hhbmdlZCksIChvbl9iYW5kd2lkdGhfY2hhbmdlZCksIChvbl9mcmVxX2NoYW5nZWQpLAoJICAoZHJhd19zcGVjdHJ1bSksIChtZXNzYWdlX2hhbmRsZXIpLCAobWFpbik6CgkgIEFkZCBzbWFsbCBkZW1vIGFwcGxpY2F0aW9uIGJhc2VkIG9uIHRoZSBzcGVjdHJ1bSBkZW1vIGFwcGxpY2F0aW9ucwoJICB0aGF0IGdldHMgd2hpdGUgbm9pc2UgYXMgaW5wdXQsIHB1c2hlcyBpdCB0aHJvdWdoIGFuIGVxdWFsaXplciBhbmQKCSAgcGFpbnRzIHRoZSBzcGVjdHJ1bS4gRm9yIGV2ZXJ5IGVxdWFsaXplciBiYW5kIGl0J3MgcG9zc2libGUgdG8gc2V0CgkgIGdhaW4sIGJhbmR3aWR0aCBhbmQgZnJlcXVlbmN5LgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChzZXR1cF9maWx0ZXIpOgoJICBBZGQgc29tZSBndWFyZGluZyBhZ2FpbnN0IHRvbyBsYXJnZSBvciB0b28gc21hbGwgZnJlcXVlbmNpZXMgYW5kCgkgIGJhbmR3aWR0aHMuIEFsc28gaW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgoyMDA3LTEwLTMwIDIxOjE4OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBSZXBsYWNlIGZpbHRlcnMgd2l0aCBhIGJpdCBiZXR0ZXIgZmlsdGVycyBmb3Igd2hpY2ggd2UgY2FuIGFjdHVhbGx5IGZpbmQgZG9jdW1lbnRhdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCksIChhcmdfdG9fc2NhbGUpLAoJICAoc2V0dXBfZmlsdGVyKSwgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpOgoJICBSZXBsYWNlIGZpbHRlcnMgd2l0aCBhIGJpdCBiZXR0ZXIgZmlsdGVycyBmb3Igd2hpY2ggd2UgY2FuIGFjdHVhbGx5CgkgIGZpbmQgZG9jdW1lbnRhdGlvbiwgd2hpY2ggZG9uJ3QgY2hhbmdlIGFueXRoaW5nIG9uIHplcm8gZ2FpbiwgZXRjLgoJICBNYWtlIHRoZSBmcmVxdWVuY3kgcHJvcGVydHkgb2YgdGhlIGJhbmRzIHdyaXRhYmxlLCByZW5hbWUgdGhlCgkgIGJhbmQtd2lkdGggcHJvcGVydHkgdG8gYmFuZHdpZHRoIGFuZCBjaGFuZ2UgdGhlCW1lYW5pbmcgdG8gdGhlCgkgIGZyZXF1ZW5jeSBkaWZmZXJlbmNlIGJldHdlZW4gYmFuZGVkZ2VzLCBjaGFuZ2UgdGhlIG1lYW5pbmcgb2YgdGhlCgkgIGdhaW4gcHJvcGVydHkgdG8gZEIgaW5zdGVhZCBvZiBhIHdlaXJkIHNjYWxlIGJldHdlZW4gLTEJYW5kIDEgdGhhdAoJICBoYXMgbm8gcmVhbCBtZWFuaW5nLgoKMjAwNy0xMC0zMCAyMDo1NToyNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL2R2Yi9kdmJiYXNlYmluLmM6IEZpeCB0aGUgYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBGaXggdGhlIGJ1aWxkLgoKMjAwNy0xMC0zMCAxODoyMToyMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvLmdpdGlnbm9yZToKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2UuaDoKCSAgQ2hhbmdlZCBrY2xhc3MgdG8gIlBhcnNlci9FeHRyYWN0ZXIvTWV0YWRhdGEiLCBjaGFuZ2VkIGNhcHMgdG8gImltYWdlL2pwZWcsIHRhZ3MtZXh0cmFjdD10cnVlL2ZhbHNlIiBhbmQgY2hhbmdlZCBwcmlvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VkIGtjbGFzcyB0byAiUGFyc2VyL0V4dHJhY3Rlci9NZXRhZGF0YSIsIGNoYW5nZWQgY2FwcyB0byAiaW1hZ2UvanBlZywgdGFncy1leHRyYWN0PXRydWUvZmFsc2UiIGFuZCBjaGFuZ2VkIHByaW9yaXR5IHRvIEdTVF9SQU5LX1BSSU1BUlkrMS4gQWxzbywgc3JjcGFkIGNhbiBvbmx5IHdvcmsgaW4gcHVzaCBtb2RlIHVudGlsIGZpeGVkIHRvIGFsc28gd29yayBpbiBwdWxsIG1vZGUuCgoyMDA3LTEwLTMwIDEyOjQ5OjA0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VleGlmLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWlwdGMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXhtcC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXhtcC5oOgoJICBDcmVhdGVkIG5ldyBwbHVnaW4gKCdtZWRhZGF0YScpIGFuZCBlbGVtZW50ICgnbWV0YWRhdGFwYXJzZScpIHRoYXQgZXh0cmFjdCBtZXRhZGF0YSBmcm9tIGltYWdlcyAobG9vayBhdCBidWcgIzQ4NjY1OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDcmVhdGVkIG5ldyBwbHVnaW4gKCdtZWRhZGF0YScpIGFuZCBlbGVtZW50ICgnbWV0YWRhdGFwYXJzZScpIHRoYXQgZXh0cmFjdCBtZXRhZGF0YSBmcm9tIGltYWdlcyAobG9vayBhdCBidWcgIzQ4NjY1OSkuCgoyMDA3LTEwLTI5IDE1OjU0OjA0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9kdmJiYXNlYmluLmM6IFVuY29tbWVudCB0aGUgbGluZSB0aGF0IHNldHMgdGhlIHBpZCBmaWx0ZXIuIFdyb25nIHdheSB0byB3b3JrLWFyb3VuZCBkcml2ZXIgaXNzdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgVW5jb21tZW50IHRoZSBsaW5lIHRoYXQgc2V0cyB0aGUgcGlkIGZpbHRlci4gV3Jvbmcgd2F5IHRvCgkgIHdvcmstYXJvdW5kIGRyaXZlciBpc3N1ZXMuCgoyMDA3LTEwLTI4IDE1OjIyOjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZhYWMvZ3N0ZmFhYy5jOiBGaXggYml0cmF0ZSByYW5nZXMgYW5kIGNoYW5nZSBlbnVtIG5pY2sgZm9yIGxvdyBjb21wbGV4aXR5IHByb2ZpbGUgZnJvbSBMT1cgdG8gTEMgZm9yIGNvbnNpc3RlbmN5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX3Byb2ZpbGVfZ2V0X3R5cGUpLAoJICAoZ3N0X2ZhYWNfY2xhc3NfaW5pdCksIChnc3RfZmFhY19pbml0KToKCSAgRml4IGJpdHJhdGUgcmFuZ2VzIGFuZCBjaGFuZ2UgZW51bSBuaWNrIGZvciBsb3cgY29tcGxleGl0eQoJICBwcm9maWxlIGZyb20gTE9XIHRvIExDIGZvciBjb25zaXN0ZW5jeSAoIzQ5MDA2MCkuCgoyMDA3LTEwLTI3IDE2OjA0OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiBMZXQncyBub3QgY2FsbCBldmVyeSByZXF1ZXN0IHBhZCB3ZSBjcmVhdGUgInNpbmslZCIsIHRoYXQnbGwgY3JlYXRlIHByb2JsZW1zIGlmIHRoZXJlJ3MgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGdzdF9pbnRlcmxlYXZlX3JlcXVlc3RfbmV3X3BhZCk6CgkgIExldCdzIG5vdCBjYWxsIGV2ZXJ5IHJlcXVlc3QgcGFkIHdlIGNyZWF0ZSAic2luayVkIiwgdGhhdCdsbAoJICBjcmVhdGUgcHJvYmxlbXMgaWYgdGhlcmUncyB0byBiZSBtb3JlIHRoYW4gb25lIHBhZC4gRml4ZXMgIzQ5MDY4Mi4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ludGVybGVhdmUuYzoKCSAgQWRkIHVuaXQgdGVzdCBmb3IgdGhlIGFib3ZlLgoKMjAwNy0xMC0yNyAwODoyMDo1OSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS4qOiBJbXByb3ZlZCB2ZXJzaW9uIG5vdCBkYW1hZ2luZyBoZWFkZXJzIHVzaW5nIGEgc2ltcGxlIHN0YXRlIG1hY2hpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEwLTI3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgKGdzdF9tcGVnNHZwYXJzZV9hbGlnbiksCgkgIChnc3RfbXBlZzR2cGFyc2VfZHJhaW4pLCAoZ3N0X21wZWc0dnBhcnNlX2NoYWluKSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9zaW5rX3NldGNhcHMpLCAoZ3N0X21wZWc0dnBhcnNlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X21wZWc0dnBhcnNlX2NsZWFudXApLCAoZ3N0X21wZWc0dnBhcnNlX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfbXBlZzR2cGFyc2VfZGlzcG9zZSksIChnc3RfbXBlZzR2cGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9jbGFzc19pbml0KSwgKGdzdF9tcGVnNHZwYXJzZV9pbml0KSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5oOiBJbXByb3ZlZCB2ZXJzaW9uIG5vdAoJICBkYW1hZ2luZyBoZWFkZXJzIHVzaW5nIGEgc2ltcGxlIHN0YXRlIG1hY2hpbmUuCgoyMDA3LTEwLTI2IDE3OjE4OjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiBGaXggYnVpbGQgYWdhaW5zdCB0aGUgbGlieDI2NCB2ZXJzaW9uIHRoYXQgc2hpcHMgd2l0aCBkZWJpYW4gc3RhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkgIEZpeCBidWlsZCBhZ2FpbnN0IHRoZSBsaWJ4MjY0IHZlcnNpb24gdGhhdCBzaGlwcyB3aXRoIGRlYmlhbiBzdGFibGUuCgoyMDA3LTEwLTI2IDE2OjA4OjA0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIEFkZCBhIHNpbXBsZSBNUEVHNCBFUyBwYXJzZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEwLTI2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgKGdzdF9tcGVnNHZwYXJzZV9kcmFpbiksCgkgIChnc3RfbXBlZzR2cGFyc2VfY2hhaW4pLCAoZ3N0X21wZWc0dnBhcnNlX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfbXBlZzR2cGFyc2Vfc2lua19ldmVudCksIChnc3RfbXBlZzR2cGFyc2VfY2xlYW51cCksCgkgIChnc3RfbXBlZzR2cGFyc2VfY2hhbmdlX3N0YXRlKSwgKGdzdF9tcGVnNHZwYXJzZV9kaXNwb3NlKSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9iYXNlX2luaXQpLCAoZ3N0X21wZWc0dnBhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X21wZWc0dnBhcnNlX2luaXQpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmg6IEFkZCBhIHNpbXBsZSBNUEVHNCBFUwoJICBwYXJzZXIuCgoyMDA3LTEwLTI1IDIzOjQyOjUyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIEltcHJvdmUgZG9jdW1lbnRhdGlvbiwgd3JpdGUgc29tZSB0ZXN0cyBmb3IgbXVsdGlmaWxlc3JjL3NpbmsgZm9yIHVwY29taW5nIC0+Z29vZCByZXZpZXcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgSW1wcm92ZSBkb2N1bWVudGF0aW9uLCB3cml0ZSBzb21lIHRlc3RzIGZvciBtdWx0aWZpbGVzcmMvc2luawoJICBmb3IgdXBjb21pbmcgLT5nb29kIHJldmlldy4KCjIwMDctMTAtMjMgMTM6MDg6MjYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBBY3R1YWxseSB1c2UgdGhlIGNvZGUtcmF0ZS1ocCBwYXJhbWV0ZXIgZm9yIERWQi1TLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBBY3R1YWxseSB1c2UgdGhlIGNvZGUtcmF0ZS1ocCBwYXJhbWV0ZXIgZm9yIERWQi1TLgoJICBJdCB0dXJucyBvdXQgc2V0dGluZyB0byBBVVRPIGRvZXMgbm90IGFsd2F5cyB3b3JrICgKCSAgZXNwZWNpYWxseSBpbiBkaXNlcSBzaXR1YXRpb25zKS4gU2V0IGJ5IGRlZmF1bHQgdG8KCSAgRkVDX0FVVE8uCgoyMDA3LTEwLTIyIDE1OjQ1OjQ5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogRG9uJ3QgZW1pdCBuby1tb3JlLXBhZHMgZm9yIHNpbmdsZSBwYWQgc2NlbmFyaW9zIGFzIHRoZSBoZWFkZXIgaXMgZGVmaW5pdGVseSBub3QgcmVsaWFibGUuIFdlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMC0yMiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3R5cGUpOiBEb24ndAoJICBlbWl0IG5vLW1vcmUtcGFkcyBmb3Igc2luZ2xlIHBhZCBzY2VuYXJpb3MgYXMgdGhlIGhlYWRlcgoJICBpcyBkZWZpbml0ZWx5IG5vdCByZWxpYWJsZS4gV2UgZW1pdCB0aGVtIGZvciAyIHBhZHMgc2NlbmFyaW9zCgkgIHRob3VnaCB0byBzcGVlZCB1cCBtZWRpYSBkaXNjb3ZlcnkuCgoyMDA3LTEwLTE5IDE2OjIwOjUzICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9kdmJiYXNlYmluLmM6IEFkZGVkIHByb3h5IHByb3BlcnR5IG9mIGRpc2VxYy1zb3VyY2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIEFkZGVkIHByb3h5IHByb3BlcnR5IG9mIGRpc2VxYy1zb3VyY2UKCjIwMDctMTAtMTggMDY6MjA6MjEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IEFkZCBhIG1pc3NpbmcgYnJlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSk6CgkgIEFkZCBhIG1pc3NpbmcgYnJlYWsuCgoyMDA3LTEwLTE4IDA2OjE0OjQyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci4qOiBNb3ZlIGJhbmR3aWR0aCBwcm9wZXJ0eSB0byB0aGUgc2VwYXJhdGUgYmFuZHMgYW5kIGFkZCBmbG9hdDY0IHN1cHBvcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3R5cGUpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2xhc3NfaW5pdCksCgkgIChzZXR1cF9maWx0ZXIpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0dXApOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkgIE1vdmUgYmFuZHdpZHRoIHByb3BlcnR5IHRvIHRoZSBzZXBhcmF0ZSBiYW5kcyBhbmQgYWRkIGZsb2F0NjQgc3VwcG9ydC4KCjIwMDctMTAtMTcgMTQ6NDM6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvY2RhdWRpby9NYWtlZmlsZS5hbTogQWRkIGFub3RoZXIgbWlzc2luZyBHU1RfTElCUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NkYXVkaW8vTWFrZWZpbGUuYW06CgkgIEFkZCBhbm90aGVyIG1pc3NpbmcgR1NUX0xJQlMuCgoyMDA3LTEwLTE3IDE0OjMzOjAzICswMDAwICBSaWNoYXJkIEh1bHQgPHJpY2hhcmRAaW1lbmRpby5jb20+CgoJICBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOiBGaXggTElCUyAtIHdlIG5lZWQgdG8gbGluayBhZ2FpbnN0IGxpYmdzdHJlYW1lci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSaWNoYXJkIEh1bHQgPHJpY2hhcmQgaW1lbmRpbyBjb20+CgkgICogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSAgRml4IExJQlMgLSB3ZSBuZWVkIHRvIGxpbmsgYWdhaW5zdCBsaWJnc3RyZWFtZXIuCgoyMDA3LTEwLTE3IDEwOjMzOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL2R2Yi86IEZpeCBzb21lIHdhcm5pbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uLmM6CgkgICogc3lzL2R2Yi9jYW1yZXNvdXJjZW1hbmFnZXIuYzoKCSAgRml4IHNvbWUgd2FybmluZ3MuCgoyMDA3LTEwLTE2IDE5OjI0OjMxICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6IEFkZCB0aGUgc2V0IGVuY29kaW5ncyBjbGllbnQgbWVzc2FnZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgQWRkIHRoZSBzZXQgZW5jb2RpbmdzIGNsaWVudCBtZXNzYWdlCgoyMDA3LTEwLTE2IDE4OjMzOjQ0ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi86IHJlbW92ZSB0aGUgcmZiYnl0ZXN0cmVhbSBkZWFkIGNvZGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGlicmZiL3JmYi5oOgoJICAqIGdzdC9saWJyZmIvcmZiYnl0ZXN0cmVhbS5jOgoJICAqIGdzdC9saWJyZmIvcmZiYnl0ZXN0cmVhbS5oOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICByZW1vdmUgdGhlIHJmYmJ5dGVzdHJlYW0gZGVhZCBjb2RlCgoyMDA3LTEwLTE2IDE3OjM4OjA1ICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyb0BubnZhLm9yZz4KCgkgIHN5cy9kdmIvOiBJbnRlZ3JhdGUgU29DIHdvcmsgZG9uZSBieSBBbGVzc2FuZHJvIGZvciB0aGUgRnJlZXZvIHByb2plY3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogQWxlc3NhbmRybyBEZWNpbmEKCSAgKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kdmIvY2FtLmM6CgkgICogc3lzL2R2Yi9jYW0uaDoKCSAgKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uLmM6CgkgICogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbi5oOgoJICAqIHN5cy9kdmIvY2FtYXBwbGljYXRpb25pbmZvLmM6CgkgICogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbmluZm8uaDoKCSAgKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmM6CgkgICogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5oOgoJICAqIHN5cy9kdmIvY2FtZGV2aWNlLmM6CgkgICogc3lzL2R2Yi9jYW1kZXZpY2UuaDoKCSAgKiBzeXMvZHZiL2NhbXJlc291cmNlbWFuYWdlci5jOgoJICAqIHN5cy9kdmIvY2FtcmVzb3VyY2VtYW5hZ2VyLmg6CgkgICogc3lzL2R2Yi9jYW1zZXNzaW9uLmM6CgkgICogc3lzL2R2Yi9jYW1zZXNzaW9uLmg6CgkgICogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJICAqIHN5cy9kdmIvY2Ftc3djbGllbnQuaDoKCSAgKiBzeXMvZHZiL2NhbXRyYW5zcG9ydC5jOgoJICAqIHN5cy9kdmIvY2FtdHJhbnNwb3J0Lmg6CgkgICogc3lzL2R2Yi9jYW11dGlscy5jOgoJICAqIHN5cy9kdmIvY2FtdXRpbHMuaDoKCSAgKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgKiBzeXMvZHZiL2R2YmJhc2ViaW4uaDoKCSAgKiBzeXMvZHZiL2dzdGR2Yi5jOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgSW50ZWdyYXRlIFNvQyB3b3JrIGRvbmUgYnkgQWxlc3NhbmRybyBmb3IgdGhlIEZyZWV2byBwcm9qZWN0LgoJICBBZGRzIGNhbSBzdXBwb3J0IHRvIHRoZSBkdmIgc3RhY2sgaW4gR1N0cmVhbWVyIGFuZCBhIG5ldwoJICBlbGVtZW50IChhY3R1YWxseSBhIGJpbikgY2FsbGVkIGR2YmJhc2ViaW4gdGhhdCBpbnRlZ3JhdGVzCgkgIGR2YnNyYyBhbmQgbXBlZ3RzcGFyc2UgdG8gYSkgaGFuZGxlIGRlY3J5cHRpb24gYW5kIGIpIGFsbG93CgkgIGFjcXVpcmluZyBtdWx0aXBsZSBjaGFubmVscyBvbiBzYW1lIHRyYW5zcG9uZGVyIHdpdGhvdXQKCSAga25vd2luZyBwaWQgbnVtYmVycy4KCjIwMDctMTAtMTYgMTY6NTE6MjMgKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvQG5udmEub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogQWRkIHJlcXVlc3QgcGFkIGZvciBnZXR0aW5nIHRoZSBmdWxsIHRyYW5zcG9ydCBzdHJlYW0gY29taW5nIGluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEFsZXNzYW5kcm8gRGVjaW5hCgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuaDoKCSAgQWRkIHJlcXVlc3QgcGFkIGZvciBnZXR0aW5nIHRoZSBmdWxsIHRyYW5zcG9ydCBzdHJlYW0gY29taW5nIGluLgoKMjAwNy0xMC0xNCAxNzoyMjoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBVcGRhdGUgdGhlIGhpZ2hlc3QgYWxsb3dlZCBuZW9uIHZlcnNpb24gZnJvbSAwLjI2Ljk5IHRvIDAuMjcuOTkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXBkYXRlIHRoZSBoaWdoZXN0IGFsbG93ZWQgbmVvbiB2ZXJzaW9uIGZyb20gMC4yNi45OSB0byAwLjI3Ljk5LgoJICBObyBjb2RlIGNoYW5nZXMgYXJlIHJlcXVpcmVkIHRvIHdvcmsgd2l0aCB0aGUgbmV3ZXN0IG5lb24gdmVyc2lvbi4KCjIwMDctMTAtMTAgMTE6NDQ6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFJlcXVpcmUgY29yZSBDVlMuICBUaGlzIGlzIGltcGxpY2l0IGluIHRoZSAtYmFzZSBDVlMgcmVxdWlyZW1lbnQgYWxyZWFkeSwgc28gd2UgbWlnaHQganVzdCB3ZWxsIHNwZWxsIGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIGNvcmUgQ1ZTLiAgVGhpcyBpcyBpbXBsaWNpdCBpbiB0aGUgLWJhc2UgQ1ZTCgkgIHJlcXVpcmVtZW50IGFscmVhZHksIHNvIHdlIG1pZ2h0IGp1c3Qgd2VsbCBzcGVsbCBpdAoJICBvdXQuICBBbHNvLCB3ZSBkbyBuZWVkIGF0IGxlYXN0IDAuMTAuMTQgZm9yCgkgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpLiAgTWFrZSBjaGVjawoJICBmb3IgZ215dGggYSBiaXQgbW9yZSByZXN0cmljdGl2ZSBzbyB0aGluZ3MgZG9uJ3QgYnJlYWsKCSAgaWYgdGhlIG5leHQgdmVyc2lvbiBjaGFuZ2VzIEFQSS4KCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzoKCSAgV29yayBhcm91bmQgYWxzYSBhbGxvY2EgbWFjcm9zIHRyaWdnZXJpbmcgJ2Fsd2F5cyBldmFsdWF0ZXMgdG8KCSAgdHJ1ZScgd2FybmluZ3Mgd2l0aCBnY2MtNC4yIGFuZCBmaXggY29tcGlsYXRpb24gd2l0aCBnY2MtNC4yLgoJICBBbHNvIGRvbid0IGxlYWsgdGhlIGRldmljZSBzdHJpbmcuCgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIEZpeCBjb21waWxhdGlvbiB3aXRoIGcrKzQuMiBhbmQgLVdhbGwgLVdlcnJvciAoYWxzbyBuZWVkcyBwbHVnaW4KCSAgZGVmaW5lIGZpeCBmcm9tIGNvcmUgQ1ZTKS4gRml4ZXMgIzQ2MjczNy4KCjIwMDctMTAtMDkgMTA6MDE6MzkgKzAwMDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZUB5YWhvby5mcj4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggbWVtbGVhay4gRml4ZXMgIzQ4NDk5MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGUgYXQgeWFob28gZG90IGZyPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgRml4IG1lbWxlYWsuIEZpeGVzICM0ODQ5OTAuCgoyMDA3LTEwLTA4IDE3OjQ2OjQ1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC86IEZpeCBjb21waWxlciB3YXJuaW5ncyBzaG93biBieSBGb3J0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9yZmJidWZmZXIuYzogKHJmYl9idWZmZXJfbmV3X2FuZF9hbGxvYyk6CgkgICogZ3N0L2xpYnJmYi9yZmJidWZmZXIuaDoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzogKHJmYl9zb2NrZXRfZ2V0X2J1ZmZlcik6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6IChnc3RfbXBlZ3ZpZGVvcGFyc2VfY2hhaW4pOgoJICAqIGdzdC9uc2YvbmVzNjUwMi5jOiAobmVzNjUwMl9leGVjdXRlKToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19zZXRjYXBzKToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKG9wZW5fbGlicmFyeSk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoY3JlYXRlX3JlY3ZfcnRwX3NpbmspLAoJICAoY3JlYXRlX3JlY3ZfcnRjcF9zaW5rKSwgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIHNob3duIGJ5IEZvcnRlLgoKMjAwNy0xMC0wOCAxMDozOTozNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggY2FwcyByZWZjb3VudGluZyBmb3IgcGF5bG9hZCBtYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdldF9wdF9tYXApLAoJICAoZ3N0X3J0cF9iaW5fY2xlYXJfcHRfbWFwKSwgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICBGaXggY2FwcyByZWZjb3VudGluZyBmb3IgcGF5bG9hZCBtYXBzLgoJICBXaGVuIGNsZWFyaW5nIHBheWxvYWQgbWFwcywgYWxzbyBjbGVhciBzZXNzaW9ucyBhbmQgc3RyZWFtcyBwYXlsb2FkCgkgIG1hcHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9nZXRfY2FwcyksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NsZWFyX3B0X21hcCksIChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKSwKCSAgKGZpbmRfcGFkX2Zvcl9wdCk6CgkgIEltcGxlbWVudCBjbGVhcmluZyB0aGUgcGF5bG9hZCBtYXAuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspOgoJICBGb3J3YXJkIGZsdXNoIGV2ZW50cyBpbnN0ZWFkIG9mIGxlYWtpbmcgdGhlbS4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9ydGNwX3NpbmtfZXZlbnQpOgoJICBDb3JyZWN0bHkgcmVmY291bnQgZXZlbnRzIGJlZm9yZSBwdXNoaW5nIHRoZW0uCgoyMDA3LTEwLTA4IDA2OjA3OjIyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZ2lvL2dzdGdpby5jOiBVc2UgR0lPIGZ1bmN0aW9uIHRvIGdldCBhIGxpc3Qgb2Ygc3VwcG9ydGVkIFVSSSBzY2hlbWVzIGluc3RlYWQgb2YgaGFyZCBjb2Rpbmcgc29tZXRoaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2lvL2dzdGdpby5jOiAoZ3N0X2dpb19nZXRfc3VwcG9ydGVkX3Byb3RvY29scyk6CgkgIFVzZSBHSU8gZnVuY3Rpb24gdG8gZ2V0IGEgbGlzdCBvZiBzdXBwb3J0ZWQgVVJJIHNjaGVtZXMgaW5zdGVhZCBvZgoJICBoYXJkIGNvZGluZyBzb21ldGhpbmcuCgoyMDA3LTEwLTA1IDE3OjI2OjE0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBXaGVuIHJlY29uc2lkZXJpbmcgUlRDUCB0aW1lb3V0cywgc2V0IHRoZSBuZXh0IHRpbWVvdXQgYWdhaW5zdCB0aGUgbGFzdCByZXBvcnQgdGltZSBpbnN0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX25leHRfdGltZW91dCksCgkgIFdoZW4gcmVjb25zaWRlcmluZyBSVENQIHRpbWVvdXRzLCBzZXQgdGhlIG5leHQgdGltZW91dCBhZ2FpbnN0IHRoZSBsYXN0CgkgIHJlcG9ydCB0aW1lIGluc3RlYWQgb2YgdGhlIGN1cnJlbnQgY2xvY2sgdGltZSBzbyB0aGF0IHdlIGRvbid0IGVuZCB1cAoJICByZWNvbnNpZGVyaW5nIGZvcmV2ZXIuCgoyMDA3LTEwLTA1IDEyOjA3OjM3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IE9ubHkgcGVlayBhdCB0aGUgdGFpbCBlbGVtZW50IGluc3RlYWQgb2YgcG9wcGluZyBpdCBvZmYsIHdoaWNoIGFsbG93cyB1cyB0byBncmVhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgT25seSBwZWVrIGF0IHRoZSB0YWlsIGVsZW1lbnQgaW5zdGVhZCBvZiBwb3BwaW5nIGl0IG9mZiwgd2hpY2ggYWxsb3dzCgkgIHVzIHRvIGdyZWF0bHkgc2ltcGxpZnkgdGhpbmdzIHdoZW4gdGhlIHRhaWwgZWxlbWVudCBjaGFuZ2VzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0cF9zaW5rKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9zaW5rX2V2ZW50KToKCSAgRm9yd2FyZCBGTFVTSCBldmVudHMgaW5zdGVhZCBvZiBsZWFraW5nIHRoZW0uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwKCSAgKGNhbGN1bGF0ZV9za2V3KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIFJlbW92ZSB0aGUgdGFpbC1jaGFuZ2VkIGNhbGxiYWNrIGluIGZhdm91ciBvZiBhIHNpbXBsZSBib29sZWFuIHdoZW4gd2UKCSAgaW5zZXJ0IGEgYnVmZmVyIGluIHRoZSBxdWV1ZS4KCSAgQWRkIG1ldGhvZCB0byBwZWVrIHRoZSB0YWlsIG9mIHRoZSBidWZmZXIuCgoyMDA3LTEwLTA1IDA4OjUxOjQ0ICswMDAwICBHYXV0aWVyIFBvcnRldCA8a2Fzc291bGV0QGdtYWlsLmNvbT4KCgkgIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogVGhlIHNpemUgb2YgdGhlIFhpbmcgaGVhZGVyIGlzIGFjdHVhbGx5IDQxNyBhcyBpdCdzIHJvdW5kZWQgdG8gdGhlIG5leHQgc21hbGxlciBpbnRlZ2VyLi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEdhdXRpZXIgUG9ydGV0IDxrYXNzb3VsZXQgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6CgkgIFRoZSBzaXplIG9mIHRoZSBYaW5nIGhlYWRlciBpcyBhY3R1YWxseSA0MTcgYXMgaXQncyByb3VuZGVkIHRvIHRoZQoJICBuZXh0IHNtYWxsZXIgaW50ZWdlci4gRml4ZXMgIzM5Nzc1OS4KCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6ICh4aW5nX2dlbmVyYXRlX2hlYWRlciksCgkgICh4aW5nX3B1c2hfaGVhZGVyKToKCSAgU29tZSByYW5kb20gY2xlYW51cCwgYWRkIEZJWE1FcyBhbmQgVE9ET3MgYW5kIGNoZWNrIGlmIHRoZSBuZXdzZWdtZW50CgkgIGV2ZW50IHRvIHRoZSBiZWdpbm5pbmcgd2FzIHN1Y2Nlc3NmdWwgYmVmb3JlIHB1c2hpbmcgdGhlIGhlYWRlciBhZ2Fpbi4KCjIwMDctMTAtMDUgMDg6MDU6MTQgKzAwMDAgIFdhaS1NaW5nIEhvIDx3ZWJyZWdib3hAeWFob28uY28udWs+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOiBEb24ndCBza2lwIFBBVCB3aXRoIHZlcnNpb24gbnVtYmVyIDAuIEZpeGVzICM0ODM0MDAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV2FpLU1pbmcgSG8gPHdlYnJlZ2JveCBhdCB5YWhvbyBkb3QgY28gZG90IHVrPgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIChtcGVndHNfcGFja2V0aXplcl9zdHJlYW1fbmV3KToKCSAgRG9uJ3Qgc2tpcCBQQVQgd2l0aCB2ZXJzaW9uIG51bWJlciAwLiBGaXhlcyAjNDgzNDAwLgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOiAobXBlZ3RzX3BhcnNlX2FwcGx5X3BhdCk6CgkgIE1ha2UgYWxsIHZhbHVlcyBhYm92ZSAwIG1hcmsgYSByZWZlcmVuY2VkIHByb2dyYW0gYXMgdGhleSBjYW4gYmUKCSAgaW5jcmVtZW50ZWQgYW5kIG9ubHkgMSBoYWQgbWFya2VkIGEgcmVmZXJlbmNlZCBwcm9ncmFtIGJlZm9yZSwgY2F1c2luZwoJICBhY3R1YWxseSByZWZlcmVuY2VkIHByb2dyYW1zIHRvIGJlIHVucmVmZXJlbmNlZC4KCjIwMDctMTAtMDIgMTA6Mjk6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2RwL2dzdHNkcGRlbXV4Lmg6IENoYW5nZSBzaWduYXR1cmUgb2YgcHQgdG8gZml4IGNvbXBpbGF0aW9uIG9uIHNvbWUgcGxhdGZvcm1zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2RwL2dzdHNkcGRlbXV4Lmg6CgkgIENoYW5nZSBzaWduYXR1cmUgb2YgcHQgdG8gZml4IGNvbXBpbGF0aW9uIG9uIHNvbWUgcGxhdGZvcm1zLgoKMjAwNy0xMC0wMiAxMDoyNzo0NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBSZW1vdmUgc29tZSBvbGQgdW51c2VkIHZhcmlhYmxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RhcnQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYW5nZV9zdGF0ZSksIChhcHBseV9vZmZzZXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBSZW1vdmUgc29tZSBvbGQgdW51c2VkIHZhcmlhYmxlcy4KCSAgRG9uJ3QgYWRkIHRoZSBsYXRlbmN5IHRvIHRoZSBza2V3IGNvcnJlY3RlZCB0aW1lc3RhbXAsIGxhdGVuY3kgaXMgb25seQoJICB1c2VkIHRvIHN5bmMgYWdhaW5zdCB0aGUgY2xvY2suCgkgIEltcHJvdmUgZGVidWdnaW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfaW5pdCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwgKGNhbGN1bGF0ZV9za2V3KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgSGFuZGxlIGNhc2Ugd2hlcmUgc2VydmVyIHRpbWVzdGFtcCBnb2VzIGJhY2t3YXJkcyBvciB3aWxkbHkganVtcHMgYnkKCSAgdGVtcG9yYXJpbHkgcGF1c2luZyB0aGUgc2tldyBjb3JyZWN0aW9uLgoJICBJbXByb3ZlIGRlYnVnZ2luZy4KCjIwMDctMTAtMDIgMTA6MTI6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2RwL01ha2VmaWxlLmFtOiBGb3Jnb3QgdG8gY29tbWl0IG1ha2VmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJICBGb3Jnb3QgdG8gY29tbWl0IG1ha2VmaWxlLgoKMjAwNy0xMC0wMiAwNzo0Mzo1NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2dpby9nc3RnaW9zaW5rLmM6IFVwZGF0ZSB0byBBUEkgY2hhbmdlcyBpbiBHSU8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5jOiAoZ3N0X2dpb19zaW5rX3N0YXJ0KToKCSAgVXBkYXRlIHRvIEFQSSBjaGFuZ2VzIGluIEdJTy4KCjIwMDctMTAtMDEgMTQ6MDE6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6IFVzZSBuZXcgZnVuY3Rpb24gaW4gLWJhc2UgdG8gZ2V0IHRoZSBkZWZhdWx0IGNsb2NrLXJhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzogKGdzdF9zZHBfZGVtdXhfbWVkaWFfdG9fY2Fwcyk6CgkgIFVzZSBuZXcgZnVuY3Rpb24gaW4gLWJhc2UgdG8gZ2V0IHRoZSBkZWZhdWx0IGNsb2NrLXJhdGUuCgoyMDA3LTEwLTAxIDExOjQzOjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQWRkZWQgU0RQIGRlbXV4ZXIgZWxlbWVudC4gRml4ZXMgIzQyNjY1Ny4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzogKF9kb19pbml0KSwgKGdzdF9zZHBfZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9zZHBfZGVtdXhfY2xhc3NfaW5pdCksIChnc3Rfc2RwX2RlbXV4X2luaXQpLAoJICAoZ3N0X3NkcF9kZW11eF9maW5hbGl6ZSksIChnc3Rfc2RwX2RlbXV4X3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc2RwX2RlbXV4X2dldF9wcm9wZXJ0eSksIChmaW5kX3N0cmVhbV9ieV9pZCksCgkgIChmaW5kX3N0cmVhbV9ieV9wdCksIChmaW5kX3N0cmVhbV9ieV91ZHBzcmMpLCAoZmluZF9zdHJlYW0pLAoJICAoZ3N0X3NkcF9kZW11eF9zdHJlYW1fZnJlZSksIChnc3Rfc2RwX2RlbXV4X2NyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3NkcF9kZW11eF9jbGVhbnVwKSwgKGdldF9kZWZhdWx0X3JhdGVfZm9yX3B0KSwKCSAgKGdzdF9zZHBfZGVtdXhfcGFyc2VfcnRwbWFwKSwgKGdzdF9zZHBfZGVtdXhfbWVkaWFfdG9fY2FwcyksCgkgIChuZXdfc2Vzc2lvbl9wYWQpLCAocmVxdWVzdF9wdF9tYXApLCAoZ3N0X3NkcF9kZW11eF9kb19zdHJlYW1fZW9zKSwKCSAgKG9uX2J5ZV9zc3JjKSwgKG9uX3RpbWVvdXQpLCAoZ3N0X3NkcF9kZW11eF9jb25maWd1cmVfbWFuYWdlciksCgkgIChnc3Rfc2RwX2RlbXV4X3N0cmVhbV9jb25maWd1cmVfdWRwKSwKCSAgKGdzdF9zZHBfZGVtdXhfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2luayksCgkgIChnc3Rfc2RwX2RlbXV4X2NvbWJpbmVfZmxvd3MpLCAoZ3N0X3NkcF9kZW11eF9zdHJlYW1fcHVzaF9ldmVudCksCgkgIChnc3Rfc2RwX2RlbXV4X2hhbmRsZV9tZXNzYWdlKSwgKGdzdF9zZHBfZGVtdXhfc3RhcnQpLAoJICAoZ3N0X3NkcF9kZW11eF9zaW5rX2V2ZW50KSwgKGdzdF9zZHBfZGVtdXhfc2lua19jaGFpbiksCgkgIChnc3Rfc2RwX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3NkcC9nc3RzZHBkZW11eC5oOgoJICAqIGdzdC9zZHAvZ3N0c2RwZWxlbS5jOiAocGx1Z2luX2luaXQpOgoJICBBZGRlZCBTRFAgZGVtdXhlciBlbGVtZW50LiBGaXhlcyAjNDI2NjU3LgoKMjAwNy0xMC0wMSAwOToyMToxOSArMDAwMCAgbXV0ZXggYXQgcnVuYm94IGRvdCBjb20gPG11dGV4QHJ1bmJveC5jb20+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBSZW1vdmUgdXNlbGVzcyBzcmMgcGFkIHRoYXQgb25seSByZXN1bHRzIGluIG5vdCBsaW5rZWQgZXJyb3JzLCBmaXggYSBicm9rZW4gcG9pbnRlciBkZXJlZmVyZW5jZSBhbmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBtdXRleCBhdCBydW5ib3ggZG90IGNvbQoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIChtcGVndHNfcGFja2V0aXplcl9wYXJzZV9hZGFwdGF0aW9uX2ZpZWxkX2NvbnRyb2wpOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOiAobXBlZ3RzX3BhcnNlX2Jhc2VfaW5pdCksCgkgIChtcGVndHNfcGFyc2VfaW5pdCksIChtcGVndHNfcGFyc2VfcHVzaCk6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmg6CgkgIFJlbW92ZSB1c2VsZXNzIHNyYyBwYWQgdGhhdCBvbmx5IHJlc3VsdHMgaW4gbm90IGxpbmtlZCBlcnJvcnMsCgkgIGZpeCBhIGJyb2tlbiBwb2ludGVyIGRlcmVmZXJlbmNlIGFuZCBtYWtlIE1BWF9DT05USU5VSVRZIGNvbnN0YW50CgkgIGNvbmZvcm0gdG8gdGhlIHN0YW5kYXJkIHRvIHN0b3Agb3V0cHV0dGluZyBjb3JydXB0ZWQgZGF0YS4KCSAgRml4ZXMgIzQ4MTI3NiwgIzQ4MTI3OS4KCjIwMDctMDktMjkgMTk6MzY6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiBSZS1hcHBseSBkb2NzIHBhdGNoIGZyb20gIzQ2ODAzOTsgZml4IHRhYi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSAgUmUtYXBwbHkgZG9jcyBwYXRjaCBmcm9tICM0NjgwMzk7IGZpeCB0YWIuCgkgICogZ3N0L21wZWd0c3BhcnNlLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBtYXJzaGFsbGVyIGZpbGVzIGdlbmVyYXRlZCBhdCBidWlsZCB0aW1lLgoKMjAwNy0wOS0yOSAwNzowMTo1NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2dpby86IFNvbWUgbWlub3IgY2xlYW51cCBhbmQgYWxsb3cgc2V0dGluZyB0aGUgbG9jYXRpb24gb25seSB3aGVuIHRoZSBlbGVtZW50IGlzIG5vdCBwbGF5aW5nIG9yIHBhdXNlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmM6IChnc3RfZ2lvX3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9naW9fc2lua19zZXRfcHJvcGVydHkpLCAoZ3N0X2dpb19zaW5rX3JlbmRlcik6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuYzogKGdzdF9naW9fc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2lvX3NyY19zZXRfcHJvcGVydHkpOgoJICBTb21lIG1pbm9yIGNsZWFudXAgYW5kIGFsbG93IHNldHRpbmcgdGhlIGxvY2F0aW9uIG9ubHkgd2hlbiB0aGUKCSAgZWxlbWVudCBpcyBub3QgcGxheWluZyBvciBwYXVzZWQuCgoyMDA3LTA5LTI5IDA1OjI2OjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IFVwZGF0ZSBnaW8ncyBwa2ctY29uZmlnIGZpbGUgbmFtZSBhcyBjdXJyZW50bHkgaW4gU1ZOLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVwZGF0ZSBnaW8ncyBwa2ctY29uZmlnIGZpbGUgbmFtZSBhcyBjdXJyZW50bHkgaW4gU1ZOLgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX3NldF9sb2NhdGlvbik6CgkgIFJlbW92ZSBzcGVjaWFsIGNhc2luZyBmb3IgYSBOVUxMIHF1ZXJ5IHN0cmluZy4gZ19zdHJqb2luIHdvbid0IGFkZAoJICB0aGUgc2VwYXJhdG9yIGlmIHRoZXJlJ3Mgb25seSBvbmUgc3RyaW5nLgoKMjAwNy0wOS0yOCAxNDo1MTo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggY3Jhc2hlciBpbiBkaXNwb3NlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGZyZWVfY2xpZW50KToKCSAgRml4IGNyYXNoZXIgaW4gZGlzcG9zZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKGNhbGN1bGF0ZV9za2V3KToKCSAgSGFuZGxlIGNhc2VzIHdoZXJlIGlucHV0IGJ1ZmZlcnMgaGF2ZSBubyB0aW1lc3RhbXBzIHNvIHRoYXQgbm8gY2xvY2sKCSAgc2tldyBjYW4gYmUgY2FsY3VsYXRlZCwgaW4gdGhpcyBjYXNlIGludGVycG9sbGF0ZSB0aW1lc3RhbXBzIGJhc2VkIG9uCgkgIHJ0cCB0aW1lc3RhbXAgYW5kIGFzc3VtZSBhIDAgY2xvY2sgc2tldy4KCjIwMDctMDktMjggMTE6MTc6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogUmVtb3ZlIGppdHRlciBjb3JyZWN0aW9uIGNvZGUsIGl0J3Mgbm93IGluIHRoZSBsb3dlciBsZXZlbCBvYmplY3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiAoYXBwbHlfbGF0ZW5jeSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpOgoJICBSZW1vdmUgaml0dGVyIGNvcnJlY3Rpb24gY29kZSwgaXQncyBub3cgaW4gdGhlIGxvd2VyIGxldmVsIG9iamVjdC4KCSAgVXNlIG5ldyAtY29yZSBtZXRob2QgZm9yIGRvaW5nIGEgcGVlciBxdWVyeS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLAoJICAoY2FsY3VsYXRlX3NrZXcpLCAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgTW92ZSBqaXR0ZXIgY29ycmVjdGlvbiB0byB0aGUgbG93bGV2ZWwgaml0dGVyYnVmZmVyLgoJICBJbmNyZWFzZSB0aGUgbWF4IHdpbmRvdyBzaXplLgoJICBXaGVuIGZpbGxpbmcgdGhlIHdpbmRvdywgYWxyZWFkeSBzdGFydCBlc3RpbWF0aW5nIHRoZSBza2V3IHVzaW5nIGEKCSAgcGFyYWJvbGljIHdlaWdodGluZyBmYWN0b3Igc28gdGhhdCB3ZSBoYXZlIGEgbXVjaCBiZXR0ZXIgc3RhcnR1cAoJICBiZWhhdmlvdXIgdGhhdCBnZXRzIG1vcmUgYWNjdXJhdGUgd2l0aCB0aGUgbW9yZSBzYW1wbGVzIHdlIGhhdmUuCgkgIEluY3JlYXNlIHRoZSBkZWZhdWx0IHdlaWdodGluZyBmYWN0b3IgZm9yIHRoZSBzdGVhZHkgc3RhdGUgdG8gZ2V0CgkgIHNtb290aGVyIHRpbWVzdGFtcHMuCgoyMDA3LTA5LTI4IDExOjA3OjM0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiBOb3cgdGhhdCB3ZSByZXF1aXJlIGxpYm5lb24gPj0gMC4yNiByZW1vdmUgdGhlIG5lb24gMC4yNSBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHN0dWZmLiBBbHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfc2V0X3Byb3h5KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc2VuZF9yZXF1ZXN0X2FuZF9yZWRpcmVjdCk6CgkgIE5vdyB0aGF0IHdlIHJlcXVpcmUgbGlibmVvbiA+PSAwLjI2IHJlbW92ZSB0aGUgbmVvbiAwLjI1IGJhY2t3YXJkCgkgIGNvbXBhdGliaWxpdHkgc3R1ZmYuIEFsc28gZml4IHRoZSBkZWZhdWx0IGxvY2F0aW9uLgoKMjAwNy0wOS0yOCAxMDo1MToxMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogV2UgcmVxdWlyZSBsaWJuZW9uID49IDI2IG5vdyBmb3IgdGhlIHF1ZXJ5IGZpZWxkIGluIG5lX3VyaS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBXZSByZXF1aXJlIGxpYm5lb24gPj0gMjYgbm93IGZvciB0aGUgcXVlcnkgZmllbGQgaW4gbmVfdXJpLgoKMjAwNy0wOS0yOCAwOToyOTowOSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLio6IERvbid0IGRpc2NhcmQgR0VUIHBhcmFtZXRlcnMgZnJvbSBVUkwgaWYgZXhpc3RpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc2V0X2xvY2F0aW9uKSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc2VuZF9yZXF1ZXN0X2FuZF9yZWRpcmVjdCk6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgRG9uJ3QgZGlzY2FyZCBHRVQgcGFyYW1ldGVycyBmcm9tIFVSTCBpZiBleGlzdGluZy4KCSAgRml4ZXMgIzQ4MTIwMC4KCjIwMDctMDktMjcgMTQ6NTI6NTggKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL2dzdHJmYnNyYy4qOiBBZGRlZCBhIHByb3BlcnR5IGZvciBpbmNyZW1lbnRhbCBzY3JlZW4gdXBkYXRlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmg6CgkgIEFkZGVkIGEgcHJvcGVydHkgZm9yIGluY3JlbWVudGFsIHNjcmVlbiB1cGRhdGVzCgoyMDA3LTA5LTI3IDEzOjAyOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3h2aWQvZ3N0eHZpZGVuYy4qOiBSZW1vdmUgc3VwZXJmbHVvdXMgJ2ZyYW1lLWVuY29kZWQnIHNpZ25hbCAocGVvcGxlIGNhbiB1c2UgYW4gdXBzdHJlYW0gaWRlbnRpdHkncyAnaGFuZG9mZicgc2lnLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmg6CgkgIFJlbW92ZSBzdXBlcmZsdW91cyAnZnJhbWUtZW5jb2RlZCcgc2lnbmFsIChwZW9wbGUgY2FuCgkgIHVzZSBhbiB1cHN0cmVhbSBpZGVudGl0eSdzICdoYW5kb2ZmJyBzaWduYWwgb3IgYSBwYWQKCSAgcHJvYmUgZm9yIHRoaXMgaWYgdGhleSBtdXN0IGtub3cpLgoKMjAwNy0wOS0yNyAxMDowNjoyMyArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IEkgZ290IGl0IHdyb25nIGFnYWluLCBhdWRpbyByYXRlIHdhcyBub3QgZGV0ZWN0ZWQgY29ycmVjdGx5IGluIGFsbCBjYXNlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDktMjcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IEkgZ290IGl0IHdyb25nIGFnYWluLCBhdWRpbyByYXRlCgkgIHdhcyBub3QgZGV0ZWN0ZWQgY29ycmVjdGx5IGluIGFsbCBjYXNlcy4KCjIwMDctMDktMjYgMjA6MDg6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IGNsZWFudXAgY3Jhc2hlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9kaXNwb3NlKSwKCSAgKGdzdF9ydHBfYmluX2ZpbmFsaXplKToKCSAgRml4IGNsZWFudXAgY3Jhc2hlci4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLAoJICAoY2FsY3VsYXRlX3NrZXcpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBEeW5hbWljYWxseSBhZGp1c3QgdGhlIHNrZXcgY2FsY3VsYXRpb24gd2luZG93IHNvIHRoYXQgd2UgY2FsY3VsYXRlIGl0CgkgIG92ZXIgYSBwZXJpb2Qgb2YgYXJvdW5kIDIgc2Vjb25kcy4KCjIwMDctMDktMjYgMTY6NDQ6NDIgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiBmaXggYnVnIGZyb20gZ2VuZXJpYy9zdGF0ZXMuZ2RiCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIGZpeCBidWcgZnJvbSBnZW5lcmljL3N0YXRlcy5nZGIKCjIwMDctMDktMjYgMTY6MzA6NTAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBjb2RlY19kYXRhIGlzIG5lZWRlZCBmb3IgZXZlcnkgdGFnIG5vdCBqdXN0IHRoZSBmaXJzdCBvbmUuIChGaXggYSBzdHVwaWQgYnVnIGkgaW50cm9kdWNlZCB3aXRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA5LTI2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBjb2RlY19kYXRhIGlzIG5lZWRlZCBmb3IgZXZlcnkgdGFnCgkgIG5vdCBqdXN0IHRoZSBmaXJzdCBvbmUuIChGaXggYSBzdHVwaWQgYnVnIGkgaW50cm9kdWNlZCB3aXRob3V0CgkgIHRlc3RpbmcpCgoyMDA3LTA5LTI2IDExOjE3OjA4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogRml4IGJpdCBtYXNrcyBvcGVyYXRpb25zIHRvIGJlIHN1cmUgd2UgZGV0ZWN0IHRoZSBjb2RlY190YWdzIGFuZCBzYW1wbGUgcmF0ZXMgY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOS0yNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogRml4IGJpdCBtYXNrcyBvcGVyYXRpb25zIHRvIGJlCgkgIHN1cmUgd2UgZGV0ZWN0IHRoZSBjb2RlY190YWdzIGFuZCBzYW1wbGUgcmF0ZXMgY29ycmVjdGx5LgoJICBGaXggcmF3IGF1ZGlvIGNhcHMgZ2VuZXJhdGlvbi4KCjIwMDctMDktMjQgMTA6NTM6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIE1hc3NpdmUgbGVhayBmaXhpbmcsIHBsdXMgY29kZSBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmM6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmM6CgkgICogc3lzL3ZjZC92Y2RzcmMuYzoKCSAgTWFzc2l2ZSBsZWFrIGZpeGluZywgcGx1cyBjb2RlIGNsZWFudXBzLgoKMjAwNy0wOS0yMiAxODozMToxNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby9MSU5HVUFTOiBBZGRlZCB0cmFuc2xhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL0xJTkdVQVM6CgkgIEFkZGVkIHRyYW5zbGF0aW9ucy4KCjIwMDctMDktMjIgMTg6Mjk6NDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vcGwucG86IEFkZGVkIFBvbGlzaCB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRyYW5zbGF0ZWQgYnk6IEpha3ViIEJvZ3VzeiA8cWJvb3NoQHBsZC1saW51eC5vcmc+CgkgICogcG8vcGwucG86CgkgIEFkZGVkIFBvbGlzaCB0cmFuc2xhdGlvbi4KCjIwMDctMDktMjIgMTg6Mjk6MTMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vZmkucG86IEFkZGVkIEZpbm5pc2ggdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0cmFuc2xhdGVkIGJ5OiBJbGtrYSBUdW9oZWxhIDxoaWxlQGlraS5maT4KCSAgKiBwby9maS5wbzoKCSAgQWRkZWQgRmlubmlzaCB0cmFuc2xhdGlvbi4KCjIwMDctMDktMjIgMTg6Mjg6MzAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vZXMucG86IEFkZGVkIFNwYW5pc2ggdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0cmFuc2xhdGVkIGJ5OiBKb3JnZSBHb256w6FsZXogR29uesOhbGV6IDxhbG9yaWVsQGdtYWlsLmNvbT4KCSAgKiBwby9lcy5wbzoKCSAgQWRkZWQgU3BhbmlzaCB0cmFuc2xhdGlvbi4KCjIwMDctMDktMjIgMTg6Mjc6NDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vYmcucG86IEFkZGVkIEJ1bGdhcmlhbiB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHRyYW5zbGF0ZWQgYnk6IEFsZXhhbmRlciBTaG9wb3YgPGFzaEBjb250YWN0LmJnPgoJICAqIHBvL2JnLnBvOgoJICBBZGRlZCBCdWxnYXJpYW4gdHJhbnNsYXRpb24uCgoyMDA3LTA5LTIxIDE4OjAwOjI0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OiBVcGRhdGUgaGllcmFyY2h5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICBVcGRhdGUgaGllcmFyY2h5LgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmg6CgkgIE1hcmsgcHJpdmF0ZSBmaWVsZHMgb2YgdGhlIGluc3RhbmNlIHN0cnVjdHMgcHJpdmF0ZS4KCjIwMDctMDktMjEgMTc6MzE6MDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCB0aGUgR0lPIHBsdWdpbiB0byB0aGUgZG9jcyBhbmQgZG8gYSBtYWtlIHVwZGF0ZSB3aGlsZSBkb2luZyB0aGF0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgIEFkZCB0aGUgR0lPIHBsdWdpbiB0byB0aGUgZG9jcyBhbmQgZG8gYSBtYWtlIHVwZGF0ZQoJICB3aGlsZSBkb2luZyB0aGF0LgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmM6IChnc3RfZ2lvX3NyY19zdGFydCk6CgkgIEZpeCBhIHNtYWxsIG1lbWxlYWsuCgoyMDA3LTA5LTIxIDE3OjA3OjU2ICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgQWRkIGEgR0lPL0dWRlMgcGx1Z2luIHdpdGggc291cmNlIGFuZCBzaW5rIGVsZW1lbnRzLiBUaGlzIHdpbGwgb25seSBiZSBlbmFibGVkIHdoZW4gLS1lbmFibGUtZXhwZXJpbWVudGFsIGlzIGdpdmVuIHRvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciA8bWFpbCBhdCByZW5lc3RhZGxlciBkb3QgZGU+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2lvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9naW8vZ3N0Z2lvLmM6IChnc3RfZ2lvX2Vycm9yKSwgKGdzdF9naW9fc2VlayksCgkgIChnc3RfZ2lvX2dldF9zdXBwb3J0ZWRfcHJvdG9jb2xzKSwKCSAgKGdzdF9naW9fdXJpX2hhbmRsZXJfZ2V0X3R5cGVfc2luayksCgkgIChnc3RfZ2lvX3VyaV9oYW5kbGVyX2dldF90eXBlX3NyYyksCgkgIChnc3RfZ2lvX3VyaV9oYW5kbGVyX2dldF9wcm90b2NvbHMpLCAoZ3N0X2dpb191cmlfaGFuZGxlcl9nZXRfdXJpKSwKCSAgKGdzdF9naW9fdXJpX2hhbmRsZXJfc2V0X3VyaSksIChnc3RfZ2lvX3VyaV9oYW5kbGVyX2luaXQpLAoJICAoZ3N0X2dpb191cmlfaGFuZGxlcl9kb19pbml0KSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvZ2lvL2dzdGdpby5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5jOiAoZ3N0X2dpb19zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2lvX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfZ2lvX3NpbmtfaW5pdCksCgkgIChnc3RfZ2lvX3NpbmtfZmluYWxpemUpLCAoZ3N0X2dpb19zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZ2lvX3NpbmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF9naW9fc2lua19zdGFydCksCgkgIChnc3RfZ2lvX3Npbmtfc3RvcCksIChnc3RfZ2lvX3NpbmtfdW5sb2NrKSwKCSAgKGdzdF9naW9fc2lua191bmxvY2tfc3RvcCksIChnc3RfZ2lvX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2dpb19zaW5rX3JlbmRlciksIChnc3RfZ2lvX3NpbmtfcXVlcnkpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmM6IChnc3RfZ2lvX3NyY19iYXNlX2luaXQpLAoJICAoZ3N0X2dpb19zcmNfY2xhc3NfaW5pdCksIChnc3RfZ2lvX3NyY19pbml0KSwKCSAgKGdzdF9naW9fc3JjX2ZpbmFsaXplKSwgKGdzdF9naW9fc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZ2lvX3NyY19nZXRfcHJvcGVydHkpLCAoZ3N0X2dpb19zcmNfc3RhcnQpLAoJICAoZ3N0X2dpb19zcmNfc3RvcCksIChnc3RfZ2lvX3NyY19nZXRfc2l6ZSksCgkgIChnc3RfZ2lvX3NyY19pc19zZWVrYWJsZSksIChnc3RfZ2lvX3NyY191bmxvY2spLAoJICAoZ3N0X2dpb19zcmNfdW5sb2NrX3N0b3ApLCAoZ3N0X2dpb19zcmNfY2hlY2tfZ2V0X3JhbmdlKSwKCSAgKGdzdF9naW9fc3JjX2NyZWF0ZSk6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuaDoKCSAgQWRkIGEgR0lPL0dWRlMgcGx1Z2luIHdpdGggc291cmNlIGFuZCBzaW5rIGVsZW1lbnRzLiBUaGlzIHdpbGwKCSAgb25seSBiZSBlbmFibGVkIHdoZW4gLS1lbmFibGUtZXhwZXJpbWVudGFsIGlzIGdpdmVuIHRvIGNvbmZpZ3VyZQoJICBmb3Igbm93IGFzIHRoZSBHSU8gQVBJIGlzIG5vdCBzdGFibGUgeWV0LiBGaXhlcyAjNDc2OTE2LgoKMjAwNy0wOS0yMSAxNTo0OToyNCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUgd2l0aCB2YXJpb3VzIG5ldyBwbHVnLWlucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZSB3aXRoIHZhcmlvdXMgbmV3IHBsdWctaW5zCgoyMDA3LTA5LTIxIDE0OjU1OjE5ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi86IEFkZGVkIG9mZnNldC14LCBvZmZzZXQteSwgd2lkdGggYW5kIGhlaWdodCBwcm9wZXJ0eSBmb3Igc2VsZWN0aW5nIGEgcmVnaW9uIGZyb20gdGhlIHNjcmVlbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICBBZGRlZCBvZmZzZXQteCwgb2Zmc2V0LXksIHdpZHRoIGFuZCBoZWlnaHQgcHJvcGVydHkKCSAgZm9yIHNlbGVjdGluZyBhIHJlZ2lvbiBmcm9tIHRoZSBzY3JlZW4KCjIwMDctMDktMjEgMTA6Mjc6MDIgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiBNaW5pbXVtIHJhdyBlbmNvZGluZyBpcyB3b3JraW5nIG5vdwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICBNaW5pbXVtIHJhdyBlbmNvZGluZyBpcyB3b3JraW5nIG5vdwoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICBmaXggYWRkcmVzcyB3aGlsZSByZWFkaW5nIGZyb20gc3RyZWFtCgoyMDA3LTA5LTIwIDIwOjQwOjA1ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogcmF3IGVuY29kaW5nIGlzIHdvcmtpbmcsIGJ1dCBpdCBsb29rcyBsaWtlIHRoZSBmZm1wZWdjb2xvcnNwYWNlIHBsdWdpbiBjYW4ndCBoYW5kbGUgaGlnaCByZXNvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIHJhdyBlbmNvZGluZyBpcyB3b3JraW5nLCBidXQgaXQgbG9va3MgbGlrZSB0aGUKCSAgZmZtcGVnY29sb3JzcGFjZSBwbHVnaW4gY2FuJ3QgaGFuZGxlIGhpZ2ggcmVzb2x1dGlvbnMKCjIwMDctMDktMjAgMTg6MzA6MzUgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiBicHAsIGRlcHRoIGFuZCBlbmRpYW5uZXNzIGFyZSBub3cgc2V0IGZyb20gdGhlIHN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgYnBwLCBkZXB0aCBhbmQgZW5kaWFubmVzcyBhcmUgbm93IHNldCBmcm9tIHRoZQoJICBzdHJlYW0uCgoyMDA3LTA5LTIwIDE3OjM4OjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXhhbXBsZXMvYXBwL2FwcHNyY19leC5jOiBGaXggY29tcGlsYXRpb24gYWZ0ZXIgY2hhbmdpbmcgdGhlIG5hbWUgb2YgYSBtZXRob2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmNfZXguYzogKG1haW4pOgoJICBGaXggY29tcGlsYXRpb24gYWZ0ZXIgY2hhbmdpbmcgdGhlIG5hbWUgb2YgYSBtZXRob2QuCgoyMDA3LTA5LTIwIDE1OjA2OjIzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggbWVtb3J5IGxlYWtzLiBNb3JlIHRvIGNvbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBGaXggbWVtb3J5IGxlYWtzLiBNb3JlIHRvIGNvbWUuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSAgSW1wcm92ZWQgc3RhdGUgY2hhbmdlIHVuaXQgdGVzdC4KCjIwMDctMDktMjAgMTQ6MzQ6NTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEFkZCBub3RpZmljYXRpb24gb2YgYWN0aXZlIFNTUkNzIHRvIHZhcmlvdXMgUlRQIGVsZW1lbnRzLiBGaXhlcyAjNDc4NTY2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKG9uX3NzcmNfYWN0aXZlKSwgKGNyZWF0ZV9zZXNzaW9uKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKG9uX3NzcmNfYWN0aXZlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChvbl9zc3JjX2FjdGl2ZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3JiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEFkZCBub3RpZmljYXRpb24gb2YgYWN0aXZlIFNTUkNzIHRvIHZhcmlvdXMgUlRQIGVsZW1lbnRzLiBGaXhlcyAjNDc4NTY2LgoKMjAwNy0wOS0yMCAxMzo1OTo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay4qOiBBZGQgcHJvcGVydGllcywgc2lnbmFscyBhbmQgYWN0aW9ucyB0byBhY2Nlc3MgdGhlIGVsZW1lbnQgZXZlbiB3aXRob3V0IGxpbmtpbmcgdG8gdGhlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogKGdzdF9hcHBfbWFyc2hhbF9PQkpFQ1RfX1ZPSUQpLAoJICAoZ3N0X2FwcF9zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2FwcF9zaW5rX2luaXQpLAoJICAoZ3N0X2FwcF9zaW5rX2Rpc3Bvc2UpLCAoZ3N0X2FwcF9zaW5rX2ZpbmFsaXplKSwKCSAgKGdzdF9hcHBfc2lua19zZXRfcHJvcGVydHkpLCAoZ3N0X2FwcF9zaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfYXBwX3NpbmtfZmx1c2hfdW5sb2NrZWQpLCAoZ3N0X2FwcF9zaW5rX3N0YXJ0KSwKCSAgKGdzdF9hcHBfc2lua19ldmVudCksIChnc3RfYXBwX3NpbmtfZ2V0Y2FwcyksCgkgIChnc3RfYXBwX3Npbmtfc2V0X2NhcHMpLCAoZ3N0X2FwcF9zaW5rX2dldF9jYXBzKSwKCSAgKGdzdF9hcHBfc2lua19pc19lb3MpLCAoZ3N0X2FwcF9zaW5rX3B1bGxfcHJlcm9sbCksCgkgIChnc3RfYXBwX3NpbmtfcHVsbF9idWZmZXIpOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5oOgoJICBBZGQgcHJvcGVydGllcywgc2lnbmFscyBhbmQgYWN0aW9ucyB0byBhY2Nlc3MgdGhlIGVsZW1lbnQgZXZlbiB3aXRob3V0CgkgIGxpbmtpbmcgdG8gdGhlIGxpYnJhcnkuCgkgIEZpeCBzb21lIG1ldGhvZCBuYW1lcyBhbmQgc2lnbmF0dXJlcy4KCjIwMDctMDktMTkgMjE6MTg6MjcgKzAwMDAgIEpvbmF0aGFuIE1hdHRoZXcgPGpvbmF0aGFuQGthb2xpbi53aDkubmV0PgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBEb24ndCBzZXQgY2hhbm5lbCBwb3NpdGlvbnMgb24gcmVndWxhciBtb25vIGFuZCBzdGVyZW8gY2FzZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9uYXRoYW4gTWF0dGhldyAgPGpvbmF0aGFuIGF0IGthb2xpbiB3aDkgbmV0PgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2NoYW5wb3NfdG9fZ3N0KSwKCSAgKGdzdF9mYWFkX3NyY2dldGNhcHMpLCAoZ3N0X2ZhYWRfdXBkYXRlX2NhcHMpOgoJICBEb24ndCBzZXQgY2hhbm5lbCBwb3NpdGlvbnMgb24gcmVndWxhciBtb25vIGFuZCBzdGVyZW8gY2FzZXMuCgkgIEZpeGVzICM0NzYzNzAuCgoyMDA3LTA5LTE5IDIwOjU1OjQzICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi86IEl0IGlzIG5vdyBwb3NzaWJsZSB0byBjb25uZWN0IHRvIGEgdm5jc2VydmVyLiB0aGVyZSBhcmUgc3RpbGwgc29tZSBpc3N1ZXMgd2l0aCB0aGUgb3VwdXQgb2YgdGhlIHNjcmVlbi4gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIEl0IGlzIG5vdyBwb3NzaWJsZSB0byBjb25uZWN0IHRvIGEgdm5jc2VydmVyLgoJICB0aGVyZSBhcmUgc3RpbGwgc29tZSBpc3N1ZXMgd2l0aCB0aGUgb3VwdXQgb2YKCSAgdGhlIHNjcmVlbi4gTG9va3MgbGlrZSBzb21lIGxpbmVzIGFyZSBjb25mdXNlZAoKMjAwNy0wOS0xOSAxODoyMjoyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgSWdub3JlIHJlZ2lzdHJpZXMgaW4gYW55IGZvcm1hdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svLmN2c2lnbm9yZToKCSAgSWdub3JlIHJlZ2lzdHJpZXMgaW4gYW55IGZvcm1hdC4KCjIwMDctMDktMTkgMTM6NTA6NDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuKjogRG9uJ3QgZ2VuZXJhdGUgYW4gZXJyb3IgZm9yIG9jY2FzaW9uYWwgZGVjb2RpbmcgZXJyb3JzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKGdzdF9yZWFsX3ZpZGVvX2RlY19jaGFpbiksCgkgIChvcGVuX2xpYnJhcnkpLCAoZ3N0X3JlYWxfdmlkZW9fZGVjX2luaXQpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9yZWFsX3ZpZGVvX2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuaDoKCSAgRG9uJ3QgZ2VuZXJhdGUgYW4gZXJyb3IgZm9yIG9jY2FzaW9uYWwgZGVjb2RpbmcgZXJyb3JzLgoJICBBZGQgbWF4LWVycm9ycyBwcm9wZXJ0eS4KCSAgRXJyb3Igb3V0IHdoZW4gd2UgcmVjZWl2ZSBtYXgtZXJyb3JzIGluIGEgcm93LiBGaXhlcyAjNDc4MTU5LgoKMjAwNy0wOS0xOSAxMzowNjoxNyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IEFkZCBwYXNzd29yZCBwcm9wZXJ0eSAod3JpdGUgb25seSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgQWRkIHBhc3N3b3JkIHByb3BlcnR5ICh3cml0ZSBvbmx5KQoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICBSZWFkIHRoZSByZWFzb24gb24gZmFpbHVyZQoJICBVc2UgdGhlIHBhc3N3b3JkIHByb3BlcnR5IGZvciBhdXRoZW50aWNhdGlvbgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICBBZGQgZGVmaW5lcyBmb3IgdmVyc2lvbiBjaGVja2luZwoKMjAwNy0wOS0xOSAxMjo1MDoyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiBXaGVuIGZpbmFsaXppbmcgR3N0RGZiU3VyZmFjZSwgYSBzdWJjbGFzcyBvZiBHc3RCdWZmZXIsIGNvcnJlY3RseSBjaGFpbiB1cCB0byB0aGUgcGFyZW50Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKGdzdF9kZmJ2aWRlb3Npbmtfc3VyZmFjZV9kZXN0cm95KSwKCSAgKGdzdF9kZmJzdXJmYWNlX2NsYXNzX2luaXQpOgoJICBXaGVuIGZpbmFsaXppbmcgR3N0RGZiU3VyZmFjZSwgYSBzdWJjbGFzcyBvZiBHc3RCdWZmZXIsIGNvcnJlY3RseQoJICBjaGFpbiB1cCB0byB0aGUgcGFyZW50IGNsYXNzIHRvIGZyZWUgZXZlcnl0aGluZywgaW5jbHVkaW5nIGNhcHMuCgoyMDA3LTA5LTE5IDEyOjUwOjA1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IFdoZW4gZmluYWxpemluZyBHc3REZmJTdXJmYWNlLCBhIHN1YmNsYXNzIG9mIEdzdEJ1ZmZlciwgY29ycmVjdGx5IGNoYWluIHVwIHRvIHRoZSBwYXJlbnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAoZ3N0X2RmYnZpZGVvc2lua19zdXJmYWNlX2Rlc3Ryb3kpLAoJICAoZ3N0X2RmYnN1cmZhY2VfY2xhc3NfaW5pdCk6CgkgIFdoZW4gZmluYWxpemluZyBHc3REZmJTdXJmYWNlLCBhIHN1YmNsYXNzIG9mIEdzdEJ1ZmZlciwgY29ycmVjdGx5CgkgIGNoYWluIHVwIHRvIHRoZSBwYXJlbnQgY2xhc3MgdG8gZnJlZSBldmVyeXRoaW5nLCBpbmNsdWRpbmcgY2Fwcy4KCjIwMDctMDktMTkgMDg6MzU6MTMgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiLzogVk5DIEF1dGhlbnRpY2F0aW9uIHNob3VsZCBiZSB3b3JraW5nIG5vdyB0ZW1wZXJhbHkgd2l0aCBmYWtlIHBhc3N3b3JkICd0ZXN0dGVzdCcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGlicmZiL2QzZGVzLmM6CgkgICogZ3N0L2xpYnJmYi9kM2Rlcy5oOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICAqIGdzdC9saWJyZmIvdm5jYXV0aC5jOgoJICAqIGdzdC9saWJyZmIvdm5jYXV0aC5oOgoJICBWTkMgQXV0aGVudGljYXRpb24gc2hvdWxkIGJlIHdvcmtpbmcgbm93CgkgIHRlbXBlcmFseSB3aXRoIGZha2UgcGFzc3dvcmQgJ3Rlc3R0ZXN0JwoKMjAwNy0wOS0xOCAxNjozMjoxOSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvcmZiZGVjb2Rlci4qOiBBZGRlZCBzb21lIGRvY3VtZW50YXRpb24gYWJvdXQgc2VjdXJpdHkgaGFuZGxpbmcgc3RhcnQgaW1wbGVtZW50aW5nIHNlY3VyaXR5IGhhbmRsaW5nIGZvciByZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgQWRkZWQgc29tZSBkb2N1bWVudGF0aW9uIGFib3V0IHNlY3VyaXR5IGhhbmRsaW5nCgkgIHN0YXJ0IGltcGxlbWVudGluZyBzZWN1cml0eSBoYW5kbGluZyBmb3IgcmZiIDMuMwoKMjAwNy0wOS0xOCAxMzo1NTowNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtLzogSGFuZGxpbmcgd2luZG93IHJlc2l6ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgIEhhbmRsaW5nIHdpbmRvdyByZXNpemUuCgoyMDA3LTA5LTE4IDExOjQ1OjA2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBDaGFuZ2VMb2c6IEFkZCBtaXNzaW5nIG5ld2xpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIENoYW5nZUxvZzoKCSAgQWRkIG1pc3NpbmcgbmV3bGluZS4KCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgRml4IHRoZSBidWlsZCAobWlzc2luZyBzdGRsaWIuaCkuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIFVzZSBiYXNldHJhbnNmb3JtIHNlZ21lbnQgc28gdGhhdCBpdCBpcyBjb3JyZWN0bHkgbWFuYWdlZCBvbiBmbHVzaGVzCgkgIGFuZCBzdGFydC9zdG9wLiBSZXBvcnQgbWVzc2FnZSB0aW1lc3RhbXAgYXMgc3RyZWFtIHRpbWUsIHdoaWNoIGlzIHdoYXQKCSAgYW4gYXBwbGljYXRpb24gY2FuIHVuZGVyc3RhbmQuIChZZXMgdGhlc2UgYXJlIGFkYXB0ZWQgZnJvbSB3aW0gcmVjZW50CgkgIGxldmVsIGVsZW1lbnQgY2hhbmdlcykKCjIwMDctMDktMTcgMjE6MTI6MTcgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5oOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIEFkZGVkIGEgbmV3IHByb3BlcnR5IGZvciB0aGUgcmZiIHZlcnNpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZGVkIGEgbmV3IHByb3BlcnR5IGZvciB0aGUgcmZiIHZlcnNpb24KCjIwMDctMDktMTcgMDI6MDE6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogTGluayB0byB0aGUgcmlnaHQgcGFkcyByZWdhcmRsZXNzIG9mIHdoaWNoIG9uZSB3YXMgY3JlYXRlZCBmaXJzdCBpbiB0aGUgc3NyYyBkZW11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIExpbmsgdG8gdGhlIHJpZ2h0IHBhZHMgcmVnYXJkbGVzcyBvZiB3aGljaCBvbmUgd2FzIGNyZWF0ZWQgZmlyc3QgaW4gdGhlCgkgIHNzcmMgZGVtdXhlci4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAoY2FsY3VsYXRlX2ppdHRlcik6CgkgIEltcHJvdmUgZGVidWdnaW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiAoY3JlYXRlX2RlbXV4X3BhZF9mb3Jfc3NyYyksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfaW5pdCksIChnc3RfcnRwX3NzcmNfZGVtdXhfZmluYWxpemUpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3Bfc2lua19ldmVudCksIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3BfY2hhaW4pLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2ludGVybmFsX2xpbmtzKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgRml4IHJhY2UgaW4gY3JlYXRpbmcgdGhlIFJUUCBhbmQgUlRDUCBwYWRzIHdoZW4gYSBuZXcgU1NSQyBpcyBkZXRlY3RlZC4KCjIwMDctMDktMTYgMTk6NDA6MzEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogVXNlIGxvY2sgdG8gcHJvdGVjdCB2YXJpYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9iaW5fZ2V0X3Byb3BlcnR5KToKCSAgVXNlIGxvY2sgdG8gcHJvdGVjdCB2YXJpYWJsZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoY29udmVydF9ydHB0aW1lX3RvX2dzdHRpbWUpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBSZWNvbnN0cnVjdCBHU1QgdGltZXN0YW1wIGZyb20gUlRQIHRpbWVzdGFtcHMgYmFzZWQgb24gbWVhc3VyZWQgY2xvY2sKCSAgc2tldyBhbmQgc3luYyBvZmZzZXQuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX3NldF90YWlsX2NoYW5nZWQpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfc2V0X2Nsb2NrX3JhdGUpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfZ2V0X2Nsb2NrX3JhdGUpLCAoY2FsY3VsYXRlX3NrZXcpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX3BlZWspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBNZWFzdXJlIGNsb2NrIHNrZXcuCgkgIEFkZCBjYWxsYmFjayB0byBiZSBub3RmaWVkIHdoZW4gYSBuZXcgcGFja2V0IHdhcyBpbnNlcnRlZCBhdCB0aGUgdGFpbC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfaW5pdCksCgkgIChjYWxjdWxhdGVfaml0dGVyKSwgKHJ0cF9zb3VyY2Vfc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBSZW1vdmUgY2xvY2sgc2tldyBkZXRlY3Rpb24sIGl0J3MgbW92ZSB0byB0aGUgaml0dGVyYnVmZmVyIG5vdy4KCjIwMDctMDktMTYgMDc6Mjg6MTggKzAwMDAgIERhbmllbCBDaGFybGVzIDxkY2hhcmxlc0B0aS5jb20+CgoJICBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuKjogQWRkIHByb3BlcnR5IHRvIGNvbnRyb2wgYmFuZG1vZGUuIEZpeGVzICM0NzczMDYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRGFuaWVsIENoYXJsZXMgPGRjaGFybGVzIGF0IHRpIGRvdCBjb20+CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6IChnc3RfYW1yd2JlbmNfYmFuZG1vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X2FtcndiZW5jX3NldF9wcm9wZXJ0eSksIChnc3RfYW1yd2JlbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hbXJ3YmVuY19jbGFzc19pbml0KSwgKGdzdF9hbXJ3YmVuY19jaGFpbik6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmg6CgkgIEFkZCBwcm9wZXJ0eSB0byBjb250cm9sIGJhbmRtb2RlLiBGaXhlcyAjNDc3MzA2LgoKMjAwNy0wOS0xNSAxODo0ODowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBBbHNvIHNldCBOVFAgYmFzZSB0aW1lIG9uIG5ldyBzZXNzaW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbik6CgkgIEFsc28gc2V0IE5UUCBiYXNlIHRpbWUgb24gbmV3IHNlc3Npb25zLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9wcm9wZXJ0eSk6CgkgIFVzZSB0aGUgcmlnaHQgbG9jayB0byBwcm90ZWN0IG91ciB2YXJpYWJsZXMuCgkgIEZpeCBzb21lIGNvbW1lbnQuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldGNhcHNfc2VuZF9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKSwgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKToKCSAgSW1wbGVtZW50IGdldGNhcHMgb24gdGhlIHNlbmRlciBzaW5rcGFkIHNvIHRoYXQgcGF5bG9hZGVycyBjYW4gbmVnb3RpYXRlCgkgIHRoZSByaWdodCBTU1JDLgoKMjAwNy0wOS0xMiAyMToyMzo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogVmFyaW91cyBsZWFrIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwgKGZyZWVfc2Vzc2lvbiksCgkgIChnZXRfY2xpZW50KSwgKGZyZWVfY2xpZW50KSwgKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChmcmVlX3N0cmVhbSksIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfYmluX2Rpc3Bvc2UpLAoJICAoZ3N0X3J0cF9iaW5fZmluYWxpemUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZpbmFsaXplKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X3JlbGVhc2UpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9maW5hbGl6ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2Rpc3Bvc2UpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFZhcmlvdXMgbGVhayBmaXhlcy4KCjIwMDctMDktMTIgMTg6MDQ6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQ2FsY3VsYXRlIGFuZCBjb25maWd1cmUgdGhlIE5UUCBiYXNlIHRpbWUgc28gdGhhdCB3ZSBjYW4gZ2VuZXJhdGUgYmV0dGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY2FsY19udHBfbnNfYmFzZSksCgkgIChnc3RfcnRwX2Jpbl9jaGFuZ2Vfc3RhdGUpLCAobmV3X3BheWxvYWRfZm91bmQpLCAoY3JlYXRlX3NlbmRfcnRwKToKCSAgQ2FsY3VsYXRlIGFuZCBjb25maWd1cmUgdGhlIE5UUCBiYXNlIHRpbWUgc28gdGhhdCB3ZSBjYW4gZ2VuZXJhdGUgYmV0dGVyCgkgIE5UUCB0aW1lcyBpbiBTUiBwYWNrZXRzLgoJICBTZXQgY2FwcyBvbiBuZXcgZ2hvc3RwYWQuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIENsZWFuIGRlYnVnIHN0YXRlbWVudC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25faW5pdCksIChnc3RfcnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpLCAoZ2V0X2N1cnJlbnRfbnRwX25zX3RpbWUpLAoJICAocnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2ludGVybmFsX2xpbmtzKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApLCAoY3JlYXRlX3JlY3ZfcnRwX3NpbmspLAoJICAoY3JlYXRlX3NlbmRfcnRwX3NpbmspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgQWRkIG50cC1ucy1iYXNlIHByb3BlcnR5IHRvIGNvbnZlcnQgcnVubmluZ190aW1lIHRvIE5UUCB0aW1lLgoJICBIYW5kbGUgTkVXU0VHTUVOVCBldmVudHMgb24gc2VuZCBhbmQgcmVjdiBSVFAgcGFkcyBzbyB0aGF0IHdlIGNhbgoJICBjYWxjdWxhdGUgdGhlIHJ1bm5pbmcgdGltZSBhbmQgdGh1cyBOVFAgdGltZSBvZiB0aGUgcGFja2V0cy4KCSAgU2ltcGxpZnkgZ2V0dGluZyB0aGUgY3VycmVudCBOVFAgdGltZSB1c2luZyB0aGUgcGlwZWxpbmUgY2xvY2suCgkgIEltcGxlbWVudCBpbnRlcm5hbCBsaW5rcyBmdW5jdGlvbnMuCgkgIFVzZSB0aGUgYnVmZmVyIHRpbWVzdGFtcCB0byBjYWxjdWxhdGUgdGhlIE5UUCB0aW1lIGluc3RlYWQgb2YgdGhlIGNsb2NrLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiAoY3JlYXRlX2RlbXV4X3BhZF9mb3Jfc3NyYyksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfaW5pdCksIChnc3RfcnRwX3NzcmNfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhaW4pLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3BfY2hhaW4pLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2ludGVybmFsX2xpbmtzKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9zcmNfcXVlcnkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBJbXBsZW1lbnQgaW50ZXJuYWwgbGlua3MgZnVuY3Rpb24uCgkgIENhbGN1bGF0ZSB0aGUgZGlmZiBiZXR3ZWVuIGRpZmZlcmVudCBzdHJlYW1zLCB0aGlzIG1pZ2h0IGJlIHVzZWQgbGF0ZXIKCSAgdG8gZ2V0IHRoZSBpbnRlciBzdHJlYW0gbGF0ZW5jeS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9zZW5kX3J0cCk6CgkgIFNpbXBsZSBjbGVhbnVwLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9pbml0KSwKCSAgKGNhbGN1bGF0ZV9qaXR0ZXIpLCAocnRwX3NvdXJjZV9zZW5kX3J0cCksIChydHBfc291cmNlX2dldF9uZXdfc3IpOgoJICBNYWtlIHRoZSBjbG9jayBza2V3IHdpbmRvdyBhIGxpdHRsZSBiaWdnZXIuCgkgIEFwcGx5IHRoZSBjbG9jayBza2V3IHRvIGFsbCBidWZmZXJzLCBub3QganVzdCBvbmUgd2l0aCBhIG5ldyB0aW1lc3RhbXAuCgkgIENhbGN1bGF0ZSBhbmQgZGVidWcgc2VuZGVyIGNsb2NrIGRyaWZ0LgoJICBVc2UgZXh0ZW5kZWQgbGFzdCB0aW1lc3RhbXAgdG8gaW50ZXJwb2xsYXRlIGZvciBTUiByZXBvcnRzLgoKMjAwNy0wOS0xMiAwODozODoyMiArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvOiBQcmludGYgZm9ybWF0IGZpeGVzICgjNDc2MTI4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBQZXRlciBLamVsbGVyc3RlZHQgIDxwa2ogYXQgYXhpcyBjb20+CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJICBQcmludGYgZm9ybWF0IGZpeGVzICgjNDc2MTI4KS4KCjIwMDctMDktMDkgMTk6MDU6MTkgKzAwMDAgIFRob21hcyBHcmVlbiA8dG9tNzg5OTlAZ21haWwuY29tPgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogV2l0aCBsaWJuZW9uIDIuNiwgd2UgbmVlZCB0byBzZXQgdGhlIE5FX1NFU1NGTEFHX0lDWVBST1RPIGZsYWcgaWYgd2Ugd2FudCBJQ1kgc3RyZWFtcyB0byBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVGhvbWFzIEdyZWVuICA8dG9tNzg5OTkgZ21haWwgY29tPgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgIFdpdGggbGlibmVvbiAyLjYsIHdlIG5lZWQgdG8gc2V0IHRoZSBORV9TRVNTRkxBR19JQ1lQUk9UTwoJICBmbGFnIGlmIHdlIHdhbnQgSUNZIHN0cmVhbXMgdG8gYmUgaGFuZGxlZCB0b28sIG90aGVyd2lzZQoJICBsaWJuZW9uIHdpbGwgZXJyb3Igb3V0IHdpdGggYSAnY2FuJ3QgcGFyc2UgcmVwb25zZScgZXJyb3IuCgkgIEZpeGVzICM0NzQ2OTYuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbmVvbmh0dHBzcmMuYzoKCSAgVW5pdCB0ZXN0IGZvciB0aGUgYWJvdmUgYnkgWW91cnMgVHJ1bHkuCgoyMDA3LTA5LTA5IDE4OjIyOjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBVc2UgQUNfVFJZX0NPTVBJTEUgaW5zdGVhZCBvZiBBQ19UUllfUlVOIGZvciB0aGUgZmFhZCBhbmQgdGhlIHh2aWQgY29uZmlndXJlIGNoZWNrcywgc28gdGhleSBzdGlsbCB3b3JrLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXNlIEFDX1RSWV9DT01QSUxFIGluc3RlYWQgb2YgQUNfVFJZX1JVTiBmb3IgdGhlIGZhYWQgYW5kIHRoZQoJICB4dmlkIGNvbmZpZ3VyZSBjaGVja3MsIHNvIHRoZXkgc3RpbGwgd29yayB3aGVuIGNyb3NzLWNvbXBpbGluZy4KCSAgRml4ZXMgIzQ1MjAwOS4KCjIwMDctMDktMDcgMTU6NTQ6MzggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBVc2UgdGhlIGNvcnJlY3QgcGFyYW1ldGVyIG9yZGVyIGZvciB0aGUgbWVtc2V0IGNhbGxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9zdGFydCksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgVXNlIHRoZSBjb3JyZWN0IHBhcmFtZXRlciBvcmRlciBmb3IgdGhlIG1lbXNldCBjYWxscy4KCSAgVGhhbmtzIHRvIENocmlzdGlhbiBTY2hhbGxlciBmb3Igbm90aWNpbmcuCgoyMDA3LTA5LTA2IDIwOjM3OjU2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzogRml4IHRoZSBidWlsZCAobWlzc2luZyBzdGRsaWIuaCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBGaXggdGhlIGJ1aWxkIChtaXNzaW5nIHN0ZGxpYi5oKS4KCjIwMDctMDktMDYgMDc6MjY6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS9maXhfZmZ0LmM6IFJlbW92ZSBmaXhlZCBwb2ludCBGRlQgYXMgaXQncyBub3QgdXNlZCBhbnltb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZml4X2ZmdC5jOgoJICBSZW1vdmUgZml4ZWQgcG9pbnQgRkZUIGFzIGl0J3Mgbm90IHVzZWQgYW55bW9yZS4KCjIwMDctMDktMDYgMDc6MjE6MjIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFBvcnQgR3N0U3BlY3RydW0gdG8gR3N0QXVkaW9GaWx0ZXIgYW5kIGxpYmdzdGZmdCwgYWRkIHN1cHBvcnQgZm9yIGludDMyLCBmbG9hdCBhbmQgZG91YmxlLCB1c2UgZmxvYXRzIGZvciB0aGUgbWVzc2FnZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAoZHJhd19zcGVjdHJ1bSksCgkgIChtZXNzYWdlX2hhbmRsZXIpLCAobWFpbik6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChkcmF3X3NwZWN0cnVtKSwgKG1lc3NhZ2VfaGFuZGxlcik6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fYmFzZV9pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwgKGdzdF9zcGVjdHJ1bV9pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9kaXNwb3NlKSwgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NwZWN0cnVtX2dldF9wcm9wZXJ0eSksIChnc3Rfc3BlY3RydW1fc3RhcnQpLAoJICAoZ3N0X3NwZWN0cnVtX3NldHVwKSwgKGdzdF9zcGVjdHJ1bV9tZXNzYWdlX25ldyksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgUG9ydCBHc3RTcGVjdHJ1bSB0byBHc3RBdWRpb0ZpbHRlciBhbmQgbGliZ3N0ZmZ0LCBhZGQgc3VwcG9ydAoJICBmb3IgaW50MzIsIGZsb2F0IGFuZCBkb3VibGUsIHVzZSBmbG9hdHMgZm9yIHRoZSBtZXNzYWdlIGNvbnRlbnRzLAoJICBhdmVyYWdlIGFsbCBGRlRzIGRvbmUgaW4gb25lIGludGVydmFsIGZvciBiZXR0ZXIgcmVzdWx0cywgdXNlCgkgIGEgYmV0dGVyIHdpbmRvd2luZyBmdW5jdGlvbiwgYWxsb3cgcG9zdGluZyB0aGUgcGhhc2UgaW4gdGhlIG1lc3NhZ2UKCSAgYW5kIGFjdHVhbGx5IGRvIGFuIEZGVCB3aXRoIHRoZSByZXF1ZXN0ZWQgbnVtYmVyIG9mIGJhbmRzIGluc3RlYWQKCSAgb2YgaW50ZXJwb2xhdGluZy4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAoc3BlY3RydW1fc3VpdGUpOgoJICBJbXByb3ZlIHRoZSB1bml0cyB0ZXN0cyBieSBjaGVja2luZyBmb3IgYSAxMTAyNUh6IHNpbmUgd2F2ZQoJICBhbmQgYWRkIHVuaXQgdGVzdHMgZm9yIGFsbCA0IHN1cHBvcnRlZCBzYW1wbGUgdHlwZXMuCgoyMDA3LTA5LTA1IDIxOjA5OjA4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IEFkZCBzb21lIG1vcmUgZGVidWdnaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKGdzdF9yZWFsX3ZpZGVvX2RlY19jaGFpbiksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfc2V0Y2Fwcyk6CgkgIEFkZCBzb21lIG1vcmUgZGVidWdnaW5nLgoJICBEb24ndCBzZXQgTE9ORyBmb3Igd2lkdGgvaGVpZ2h0IGluIGNhcHMuCgkgIFNldCBjb3JyZWN0IG91dHB1dCBidWZmZXIgc2l6ZSB3aGVuIGNhcHMgY2hhbmdlZC4KCSAgVGhlIGN1c3RvbSBtZXNzYWdlIHNlbnQgdG8gdGhlIGRlY29kZXIgc2hvdWxkIG5vdCBpbmNsdWRlIHRoZSBmb3JtYXQgYW5kCgkgIHN1YmZvcm1hdC4gRml4ZXMgIzQ3MTU1NC4KCjIwMDctMDktMDQgMTU6MjM6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IE1ha2UgY29tcGlsZXIgaGFwcHk6IGZpeCBjb21waWxhdGlvbiB3aXRoIC1XYWxsIC1XZXJyb3IgKCM0NzM1NjIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIE1ha2UgY29tcGlsZXIgaGFwcHk6IGZpeCBjb21waWxhdGlvbiB3aXRoIC1XYWxsIC1XZXJyb3IKCSAgKCM0NzM1NjIpLgoKMjAwNy0wOS0wNCAwMjoyMjoyMCArMDAwMCAgSm9oYW4gRGFobGluIDxqb2hhbkBnbm9tZS5vcmc+CgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJICBOb3NlZmFydCAtPiBORVMgU291bmQgRm9ybWF0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOb3NlZmFydCAtPiBORVMgU291bmQgRm9ybWF0CgoyMDA3LTA5LTA0IDAyOjE2OjUzICswMDAwICBKb2hhbiBEYWhsaW4gPGpvaGFuQGdub21lLm9yZz4KCgkgIGdzdC9uc2YvZ3N0bnNmLio6IEFkZCBzdXBwb3J0IGZvciAodmVyeSkgYmFzaWMgdGFnZ2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDktMDMgIEpvaGFuIERhaGxpbiAgPGpvaGFuQGdub21lLm9yZz4KCSAgKiBnc3QvbnNmL2dzdG5zZi5jOiAoZ3N0X25zZmRlY19maW5hbGl6ZSksIChzdGFydF9wbGF5X3R1bmUpOgoJICAqIGdzdC9uc2YvZ3N0bnNmLmg6CgkgIEFkZCBzdXBwb3J0IGZvciAodmVyeSkgYmFzaWMgdGFnZ2luZy4KCjIwMDctMDktMDMgMjE6MTk6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFVwZGF0ZWQgZXhhbXBsZSBwaXBlbGluZXMgaW4gZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2dldF9jbGllbnQpLAoJICAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwgKGdzdF9ydHBfYmluX3N5bmNfY2hhaW4pLCAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2Jpbl9pbml0KSwgKGNhcHNfY2hhbmdlZCksIChuZXdfc3NyY19wYWRfZm91bmQpLAoJICAoY3JlYXRlX3JlY3ZfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0Y3ApLCAoY3JlYXRlX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgVXBkYXRlZCBleGFtcGxlIHBpcGVsaW5lcyBpbiBkb2NzLgoJICBIYW5kbGUgc3luY19ydGNwIGJ1ZmZlcnMgZnJvbSB0aGUgU1NSQyBkZW11eGVyIHRvIHBlcmZvcm0gbGlwLXN5bmMuCgkgIFNldCB0aGUgZGVmYXVsdCBsYXRlbmN5IGNvcnJlY3RseS4KCSAgQWRkIHNvbWUgbW9yZSBwb2ludHMgd2hlcmUgd2UgY2FuIGdldCBjYXBzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfcHJvcGVydHkpOgoJICBBZGQgdHMtb2Zmc2V0IHByb3BlcnR5IHRvIGNvbnRyb2wgdGltZXN0YW1waW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSksIChnZXRfY3VycmVudF9udHBfbnNfdGltZSksCgkgIChydGNwX3RocmVhZCksIChzdG9wX3J0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCksIChnc3RfcnRwX3Nlc3Npb25fc3luY19ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jYWNoZV9jYXBzKSwgKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zaW5rX3NldGNhcHMpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCksIChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfcmVjdl9ydGNwX3NpbmspLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspLAoJICAoY3JlYXRlX3NlbmRfcnRjcF9zcmMpOgoJICBWYXJpb3VzIGNsZWFudXBzLgoJICBGZWVkIHJ0cHNlc3Npb24gbWFuYWdlciB3aXRoIE5UUCB0aW1lIGJhc2VkIG9uIHBpcGVsaW5lIGNsb2NrIHdoZW4KCSAgaGFuZGxpbmcgUlRQIHBhY2tldHMgYW5kIFJUQ1AgdGltZW91dHMuCgkgIFBlcmZvcm0gYWxsIFJUQ1Agd2l0aCB0aGUgc3lzdGVtIGNsb2NrLgoJICBTZXQgY2FwcyBvbiBSVENQIG91dGdvaW5nIGJ1ZmZlcnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChmaW5kX2RlbXV4X3BhZF9mb3Jfc3NyYyksCgkgIChjcmVhdGVfZGVtdXhfcGFkX2Zvcl9zc3JjKSwgKGdzdF9ydHBfc3NyY19kZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2luaXQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3Bfc2lua19ldmVudCksIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X3J0Y3BfY2hhaW4pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBBbHNvIGRlbXV4IFJUQ1AgbWVzc2FnZXMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fc2V0X2NhbGxiYWNrcyksCgkgICh1cGRhdGVfYXJyaXZhbF9zdGF0cyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3JiKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19yciksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ydHApLCAocnRwX3Nlc3Npb25fc2VuZF9ieWUpLAoJICAoc2Vzc2lvbl9zdGFydF9ydGNwKSwgKHNlc3Npb25fcmVwb3J0X2Jsb2NrcyksIChzZXNzaW9uX2NsZWFudXApLAoJICAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBSZW1vdmUgdGhlIGdldF90aW1lIGNhbGxiYWNrLCB0aGUgR1N0cmVhbWVyIHBhcnQgd2lsbCBmZWVkIHVzIHdpdGgKCSAgZW5vdWdoIHRpbWluZyBpbmZvcm1hdGlvbi4KCSAgU3BsaXQgc3luYyB0aW1pbmcgYW5kIFJUQ1AgdGltaW5nIGluZm9ybWF0aW9uLgoJICBGYWN0b3Igb3V0IGNvbW1vbiBSQiBoYW5kbGluZyBmb3IgU1IgYW5kIFJSLgoJICBTZW5kIG91dCBTUiBSVENQIHBhY2tldHMgZm9yIGxpcC1zeW5jLgoJICBNb3ZlIFNSIGFuZCBSUiBwYWNrZXQgaW5mbyBnZW5lcmF0aW9uIHRvIHRoZSBzb3VyY2UuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLAoJICAocnRwX3NvdXJjZV91cGRhdGVfY2FwcyksIChnZXRfY2xvY2tfcmF0ZSksIChjYWxjdWxhdGVfaml0dGVyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApLCAocnRwX3NvdXJjZV9zZW5kX3J0cCksCgkgIChydHBfc291cmNlX3Byb2Nlc3Nfc3IpLCAocnRwX3NvdXJjZV9wcm9jZXNzX3JiKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X25ld19zciksIChydHBfc291cmNlX2dldF9uZXdfcmIpLAoJICAocnRwX3NvdXJjZV9nZXRfbGFzdF9zcik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgVXNlIGNhcHMgb24gaW5jb21taW5nIGJ1ZmZlcnMgdG8gZ2V0IHRpbWluZyBpbmZvcm1hdGlvbiB3aGVuIHRoZXkgYXJlCgkgIHRoZXJlLgoJICBDYWxjdWxhdGUgY2xvY2sgc2NldyBvZiB0aGUgcmVjZWl2ZXIgY29tcGFyZWQgdG8gdGhlIHNlbmRlciBhbmQgYWRqdXN0CgkgIHRoZSBydHAgdGltZXN0YW1wcy4KCSAgQ2FsY3VsYXRlIHRoZSByb3VuZCB0cmlwIGluIHNvdXJjZXMuCgkgIERvIFNSIGFuZCBSUiBjYWxjdWxhdGlvbnMgaW4gdGhlIHNvdXJjZS4KCjIwMDctMDktMDMgMjA6MDc6MTcgKzAwMDAgIFJlbmF0byBGaWxobyA8cmVuYXRvLmZpbGhvQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmg6CgkgIGdteXRoc3JjIGNvZGUgcmV3cml0ZTsKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGdteXRoc3JjIGNvZGUgcmV3cml0ZTsKCjIwMDctMDgtMzEgMTU6MjY6MTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogVXNlIGV4dGVuZGVkIHRpbWVzdGFtcCB0byByZWxlYXNlIGJ1ZmZlcnMgZnJvbSB0aGUgaml0dGVyYnVmZmVyIHNvIHRoYXQgd2UgY2FuIGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgVXNlIGV4dGVuZGVkIHRpbWVzdGFtcCB0byByZWxlYXNlIGJ1ZmZlcnMgZnJvbSB0aGUgaml0dGVyYnVmZmVyIHNvIHRoYXQKCSAgd2UgY2FuIGhhbmRsZSB0aGUgcnRwIHdyYXBhcm91bmQgY29ycmVjdGx5LgoKMjAwNy0wOC0yOSAxNjo1NjoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBJbXByb3ZlIENvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgSW1wcm92ZSBDb21tZW50cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChzdG9wX3J0Y3BfdGhyZWFkKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3J0cF9zZXNzaW9uX3BhcnNlX2NhcHMpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpLCAoZ3N0X3J0cF9zZXNzaW9uX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayksIChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfc2VuZF9ydHBfc2luayk6CgkgIEFsc28gcGFyc2UgdGhlIHNpbmsgY2FwcyBmb3IgY2xvY2stcmF0ZSBpbnN0ZWFkIG9mIG9ubHkgcmVseWluZyBvbiB0aGUKCSAgcmVzdWx0IG9mIHRoZSBzaWduYWwuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX3NlbmRfcnRwKToKCSAgTWFrZSBzdXJlIHdlIGZldGNoIHRoZSBjbG9jayByYXRlIGZvciBwYXlsb2FkcyB3ZSBhcmUgc2VuZGluZyBvdXQgc28KCSAgdGhhdCB3ZSBjYW4gdXNlIGl0IGZvciBTUiByZXBvcnRzLgoKMjAwNy0wOC0yOSAxNjoyMDoyOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zd2l0Y2hfY2hhaW4sIGdzdF9zd2l0Y2hfc2V0X3Byb3BlcnR5KTogSWYgYWxsIGluZm9ybWF0aW9uIGlzIGtub3duIGF0IHRpbWUgb2Ygc2V0dGluZyBzdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3dpdGNoX2NoYWluLCBnc3Rfc3dpdGNoX3NldF9wcm9wZXJ0eSk6CgkgIElmIGFsbCBpbmZvcm1hdGlvbiBpcyBrbm93biBhdCB0aW1lIG9mIHNldHRpbmcgc3RhcnQtdGltZQoJICBwcm9wZXJ0eSwgc2VuZCBuZXcgc2VnbWVudHMgdGhlbi4KCjIwMDctMDgtMjkgMDE6MjI6NDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLio6IERpc3RyaWJ1dGUgc3luY2hyb25pc2F0aW9uIHBhcmFtZXRlcnMgdG8gdGhlIHNlc3Npb24gbWFuYWdlciBzbyB0aGF0IGl0IGNhbiBnZW5lcmF0ZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoc3RvcF9ydGNwX3RocmVhZCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgIERpc3RyaWJ1dGUgc3luY2hyb25pc2F0aW9uIHBhcmFtZXRlcnMgdG8gdGhlIHNlc3Npb24gbWFuYWdlciBzbyB0aGF0IGl0CgkgIGNhbiBnZW5lcmF0ZSBjb3JyZWN0IFNSIHBhY2tldHMgZm9yIGxpcC1zeW5jLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3NldF9iYXNlX3RpbWUpLAoJICAocnRwX3Nlc3Npb25fc2V0X3RpbWVzdGFtcF9zeW5jKSwgKHNlc3Npb25fc3RhcnRfcnRjcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBBZGQgbWV0aG9kcyBmb3Igc2V0dGluZyBzeW5jIHBhcmFtZXRlcnMuCgkgIFNldCBjb3JyZWN0IFJUUCB0aW1lIGluIFNSIHBhY2tldHMgdXNpbmcgdGhlIHN5bmMgcGFyYW1zLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIFJlY29yZCBsYXN0IFJUUCA8LT4gR1NUIHRpbWVzdGFtcCBzbyB0aGF0IHdlIGNhbiB1c2UgdGhlbSB0byBjb252ZXJ0IE5UUAoJICB0byBSVFAgdGltZXN0YW1wcyBpbiBTUiBwYWNrZXRzLgoKMjAwNy0wOC0yOCAyMDozMDoxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBBZGQgc29tZSBtb3JlIGFkdmFuY2VkIGV4YW1wbGUgcGlwZWxpbmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2NsZWFyX3B0X21hcCk6CgkgIEFkZCBzb21lIG1vcmUgYWR2YW5jZWQgZXhhbXBsZSBwaXBlbGluZXMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAocnRjcF90aHJlYWQpLAoJICAoc3RvcF9ydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKToKCSAgQWRkIHNvbWUgZGVidWcgYW5kIEZJWE1FLgoJICBSZWxlYXNlIExPQ0sgd2hlbiBwZXJmb3JtaW5nIHNlc3Npb24gY2xlYW51cC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpOgoJICBBZGQgc29tZSBkZWJ1Zy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKGNhbGN1bGF0ZV9qaXR0ZXIpLAoJICAocnRwX3NvdXJjZV9zZW5kX3J0cCk6CgkgIE1ha2Ugc3VyZSB3ZSBhbHdheXMgc2VuZCBSVFAgcGFja2V0cyB3aXRoIHRoZSBzZXNzaW9uIFNTUkMuCgoyMDA3LTA4LTI4IDA4OjEwOjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzogRG9uJ3QgbmVlZCB0aGlzIGluY2x1ZGUgKGZpeGVzIGNvbXBpbGF0aW9uIGluIHVuaW5zdGFsbGVkIHNldHVwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgRG9uJ3QgbmVlZCB0aGlzIGluY2x1ZGUgKGZpeGVzIGNvbXBpbGF0aW9uIGluIHVuaW5zdGFsbGVkIHNldHVwKS4KCjIwMDctMDgtMjcgMjE6MTc6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogV2hlbiBzeW5jaHJvbml6aW5nIGJ1ZmZlcnMsIHRha2UgcGVlciBsYXRlbmN5IGludG8gYWNjb3VudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSk6CgkgIFdoZW4gc3luY2hyb25pemluZyBidWZmZXJzLCB0YWtlIHBlZXIgbGF0ZW5jeSBpbnRvIGFjY291bnQuCgkgIERvbid0IHRyeSB0byBhZGQgb3VyIGxhdGVuY3kgdG8gaW52YWxpZCBwZWVyIG1heCBsYXRlbmN5IHZhbHVlcy4KCjIwMDctMDgtMjcgMTQ6NTY6MDUgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBNYWtlIHN1cmUgd2UgaW5pdGlhbGl6ZSB0aGUgc2VlayByZXN1bHQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTI3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKToKCSAgTWFrZSBzdXJlIHdlIGluaXRpYWxpemUgdGhlIHNlZWsgcmVzdWx0LgoKMjAwNy0wOC0yNyAxNDo0MTowMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOiBDb21taXQgdGhlIG1ha2VmaWxlIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSAgQ29tbWl0IHRoZSBtYWtlZmlsZSB0b28uCgoyMDA3LTA4LTI3IDE0OjMzOjU5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGR2ZHNwdSBlbGVtZW50IGRvbmF0ZWQgYnkgRmx1ZW5kby4gSXQgaW1wbGVtZW50cyBhIERWRCBTdWItUGljdHVyZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2R2ZHNwdS8uY3ZzaWdub3JlOgoJICAqIGdzdC9kdmRzcHUvTm90ZXMudHh0OgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LXJlbmRlci5jOiAoZHZkc3B1X3JlY2FsY19wYWxldHRlKSwKCSAgKGR2ZHNwdV91cGRhdGVfcGFsZXR0ZXMpLCAoZHZkc3B1X2NsZWFyX2NvbXBfYnVmZmVycyksCgkgIChkdmRzcHVfZ2V0X25pYmJsZSksIChkdmRzcHVfZ2V0X3JsZV9jb2RlKSwgKGR2ZHNwdV9kcmF3X3JsZV9ydW4pLAoJICAocmxlX2VuZF94KSwgKGR2ZHNwdV9yZW5kZXJfbGluZSksIChkdmRzcHVfdXBkYXRlX2NoZ2NvbCksCgkgIChkdmRzcHVfcmVuZGVyX2xpbmVfd2l0aF9jaGdjb2wpLCAoZHZkc3B1X2JsZW5kX2NvbXBfYnVmZmVycyksCgkgIChnc3RkdmRzcHVfcmVuZGVyX3NwdSk6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzogKGR2ZHNwdV9iYXNlX2luaXQpLCAoZHZkc3B1X2NsYXNzX2luaXQpLAoJICAoZHZkc3B1X2luaXQpLCAoZHZkc3B1X2NsZWFyKSwgKGR2ZHNwdV9kaXNwb3NlKSwgKGR2ZHNwdV9maW5hbGl6ZSksCgkgIChkdmRzcHVfZmx1c2hfc3B1X2luZm8pLCAoZHZkc3B1X2J1ZmZlcl9hbGxvYyksIChkdmRzcHVfc3JjX2V2ZW50KSwKCSAgKGR2ZHNwdV92aWRlb19zZXRfY2FwcyksIChkdmRzcHVfdmlkZW9fcHJveHlfZ2V0Y2FwcyksCgkgIChkdmRzcHVfdmlkZW9fZXZlbnQpLCAoZHZkc3B1X3ZpZGVvX2NoYWluKSwKCSAgKGR2c3B1X2hhbmRsZV92aWRfYnVmZmVyKSwgKGR2ZHNwdV9yZWRyYXdfc3RpbGwpLAoJICAoZ3N0ZHZkc3B1X3BhcnNlX2NoZ19jb2xjb24pLCAoZHZkc3B1X2V4ZWNfY21kX2JsayksCgkgIChkdmRzcHVfZmluaXNoX3NwdV9idWYpLCAoZHZkc3B1X3NldHVwX2NtZF9ibGspLAoJICAoZHZkc3B1X2hhbmRsZV9uZXdfc3B1X2J1ZiksIChkdmRzcHVfaGFuZGxlX2R2ZF9ldmVudCksCgkgIChkdmRzcHVfZHVtcF9kY3NxKSwgKGR2ZHNwdV9hZHZhbmNlX3NwdSksCgkgIChkdmRzcHVfY2hlY2tfc3RpbGxfdXBkYXRlcyksIChkdmRzcHVfc3VicGljX2NoYWluKSwKCSAgKGR2ZHNwdV9zdWJwaWNfZXZlbnQpLCAoZHZkc3B1X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RkdmRzcHVfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkgIGR2ZHNwdSBlbGVtZW50IGRvbmF0ZWQgYnkgRmx1ZW5kby4gSXQgaW1wbGVtZW50cyBhIERWRCBTdWItUGljdHVyZQoJICBVbml0LCBkZWNvZGluZyBhbmQgb3ZlcmxheWluZyBEVkQgc3VidGl0bGVzIGFuZCBtZW51IGdyYXBoaWNzLgoJICAqIGdzdC9tcGVnMnN1Yi8uY3ZzaWdub3JlOgoJICAqIGdzdC9tcGVnMnN1Yi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZzJzdWIvTm90ZXMudHh0OgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0Lmg6CgkgICogZ3N0L21wZWcyc3ViL21wZWcyc3VidC52Y3Byb2o6CgkgIERlbGV0ZSBvbGQgYW5kIGJyb2tlbiBtcGVnMnN1YnQgZWxlbWVudCB0aGF0IHdhcyBuZXZlciBwb3J0ZWQgZnJvbSAwLjgKCjIwMDctMDgtMjQgMTc6MDM6MTUgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBSZW1vdmUgc29tZSB1c2VsZXNzIGlmZGVmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOC0yNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfZmx1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwKCSAgKGdzdF9mbHZfZGVtdXhfZmluZF9vZmZzZXQpLCAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCksIChnc3RfZmx2X2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2Zsdl9kZW11eF9zcmNfZXZlbnQpOiBSZW1vdmUgc29tZSB1c2VsZXNzIGlmZGVmLgoKMjAwNy0wOC0yNCAxNTo1Njo1MiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIE1ha2Ugc3dpdGNoIG1vcmUgcmVsaWFibGUgYW5kIGFsc28gbm90IGxvY2sgdXAgd2hlbiBzaW5rIHBhZCBjYXBzIGNoYW5nZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmMgKG1haW4pOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zd2l0Y2hfY2hhaW4pOgoJICBNYWtlIHN3aXRjaCBtb3JlIHJlbGlhYmxlIGFuZCBhbHNvIG5vdCBsb2NrIHVwIHdoZW4KCSAgc2luayBwYWQgY2FwcyBjaGFuZ2UuCgoyMDA3LTA4LTI0IDE1OjMxOjI2ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogSW1wbGVtZW50IHNlZWtpbmcgaW4gcHVzaCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOC0yNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfZmx1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwgKGdzdF9mbHZfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksIChnc3RfZmx2X2RlbXV4X2ZpbmRfb2Zmc2V0KSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpLAoJICAoZ3N0X2Zsdl9kZW11eF9zaW5rX2V2ZW50KSwgKGdzdF9mbHZfZGVtdXhfc3JjX2V2ZW50KTogSW1wbGVtZW50CgkgIHNlZWtpbmcgaW4gcHVzaCBtb2RlLgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCjIwMDctMDgtMjQgMTE6MjM6MjggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBVcGRhdGUgbGljZW5jZXMgdG8gcmVmbGVjdCBMR1BMLW5lc3Mgb2YgdGhlc2UgZmlsZXMgYWxzby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcGF0aW5mby5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BhdGluZm8uaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwbXRpbmZvLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcG10aW5mby5oOgoJICBVcGRhdGUgbGljZW5jZXMgdG8gcmVmbGVjdCBMR1BMLW5lc3Mgb2YgdGhlc2UgZmlsZXMgYWxzby4KCjIwMDctMDgtMjMgMjE6Mzk6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBSZW5hbWUgYWxsIEdzdFJUUEZvbyBzdHJ1Y3RzIHRvIEdzdFJ0cEZvbyBzbyB0aGF0IEdTVF9CT0lMRVJQTEFURSByZWdpc3RlcnMgYSBHVHlwZSB0aGF0J3MgZGlmZmVyZW50IHRoYW4gdGhlIEdzdFJUUEYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgUmVuYW1lIGFsbCBHc3RSVFBGb28gc3RydWN0cyB0byBHc3RSdHBGb28gc28gdGhhdCBHU1RfQk9JTEVSUExBVEUKCSAgcmVnaXN0ZXJzIGEgR1R5cGUgdGhhdCdzIGRpZmZlcmVudCB0aGFuIHRoZSBHc3RSVFBGb28gdHlwZXMgdGhhdAoJICBmYXJzaWdodCByZWdpc3RlcnMgKGx1Y2tpbHkgR1R5cGUgbmFtZXMgYXJlIGNhc2Ugc2Vuc2l0aXZlKS4gU2hvdWxkCgkgIGZpbmFsbHkgZml4ICM0MzA2NjQuCgoyMDA3LTA4LTIzIDE3OjIxOjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQXV0b21hdGljYWxseSBnZW5lcmF0ZSB3aW4zMi9jb21tb24vY29uZmlnLmggdmlhIGNvbmZpZ3VyZSAodGhpcyBlbnN1cmVzIHRoZSB3aW4zMiB2ZXJzaW9uIG9mIGNvbmZpZy5oIGlzIHVwLXRvLWRhdGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oLmluOgoJICBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlIHdpbjMyL2NvbW1vbi9jb25maWcuaCB2aWEgY29uZmlndXJlICh0aGlzCgkgIGVuc3VyZXMgdGhlIHdpbjMyIHZlcnNpb24gb2YgY29uZmlnLmggaXMgdXAtdG8tZGF0ZSB3aGVuIGEgcmVsZWFzZQoJICBpcyBtYWRlLCAjNDMzMzczKS4gY29uZmlnLmguaW4gZmlsZSBtaWdodCBuZWVkIHNvbWUgbW9yZSB3b3JrLgoKMjAwNy0wOC0yMyAxMzoyNDozMyArMDAwMCAgSm9uYXRoYW4gTWF0dGhldyA8am9uYXRoYW5Aa2FvbGluLndoOS5uZXQ+CgoJICBQb3J0IGZlc3RpdmFsIHBsdWdpbiB0byBHU3RyZWFtZXItMC4xMCAoIzQ2MTM3NykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9uYXRoYW4gTWF0dGhldyAgPGpvbmF0aGFuIGF0IGthb2xpbiB3aDkgbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgIFBvcnQgZmVzdGl2YWwgcGx1Z2luIHRvIEdTdHJlYW1lci0wLjEwICgjNDYxMzc3KS4KCjIwMDctMDgtMjIgMTU6MzI6MDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IERvbid0IHVucmVmIHRoZSBidWZmZXIgd2hlbiBpdCB3YXMgY2xpcHBlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfY2hhaW4pOgoJICBEb24ndCB1bnJlZiB0aGUgYnVmZmVyIHdoZW4gaXQgd2FzIGNsaXBwZWQuCgoyMDA3LTA4LTIyIDE0OjUwOjUxICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvOiBIYW5kbGUgcGl4ZWwgYXNwZWN0IHJhdGlvIHRocm91Z2ggbWV0YWRhdGEgdGFncyBsaWtlIEFTRiBkb2VzLiBGbHVlbmRvIG11eGVyIHN1cHBvcnRzIHRoaXMgYW5kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA4LTIyICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX21ldGFkYXRhX2l0ZW0pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogSGFuZGxlIHBpeGVsIGFzcGVjdCByYXRpbyB0aHJvdWdoCgkgIG1ldGFkYXRhIHRhZ3MgbGlrZSBBU0YgZG9lcy4gRmx1ZW5kbyBtdXhlciBzdXBwb3J0cyB0aGlzIGFuZAoJICBGbGFzaCBwbGF5ZXJzIGNhbiBzdXBwb3J0IGl0IGFzIHdlbGwgdGhpcyB3YXkuCgoyMDA3LTA4LTIyIDE0OjAzOjQyICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvOiBNYWtlIHN1cmUgd2UgZG9uJ3QgdHJ5IGZpbGxpbmcgdXAgdGhlIGluZGV4IGlmIG5vIHRpbWVzIG9iamVjdCB3YXMgcGFyc2VkLiBGaXggdGhlIHdheSB3ZSBkZWNpZGUgdG8gcHVzaCB0YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOC0yMiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLCAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBNYWtlIHN1cmUgd2UgZG9uJ3QgdHJ5IGZpbGxpbmcgdXAgdGhlCgkgIGluZGV4IGlmIG5vIHRpbWVzIG9iamVjdCB3YXMgcGFyc2VkLiBGaXggdGhlIHdheSB3ZSBkZWNpZGUgdG8KCSAgcHVzaAoJICB0YWdzIGFuZCBlbWl0IG5vLW1vcmUtcGFkcy4gRml4IHNvbWUgcHJpbnRmIHR5cGluZyBpbiBkZWJ1Z2dpbmcuCgoyMDA3LTA4LTIxIDE3OjE4OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFdoZW4gZHJvcC1vbi1sYXRlbmN5IGlzIHNldCBidXQgd2UgaGF2ZSBubyBsYXRlbmN5IGNvbmZpZ3VyZWQsIGp1c3QgcHVzaCB0aGUgYnVmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpOgoJICBXaGVuIGRyb3Atb24tbGF0ZW5jeSBpcyBzZXQgYnV0IHdlIGhhdmUgbm8gbGF0ZW5jeSBjb25maWd1cmVkLCBqdXN0IHB1c2gKCSAgdGhlIGJ1ZmZlciBhcyBmYXN0IGFzIHBvc3NpYmxlLgoJICBGaXggdHlwbyBpbiBjb21tZW50LgoKMjAwNy0wOC0yMSAxNjowNDo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci4qOiBGaXggdW5kZWZpbmVkIG92ZXJmbG93IHByb25lIHRzX2RpZmYgaGFuZGxpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICAocnRwX2ppdHRlcl9idWZmZXJfZ2V0X3RzX2RpZmYpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBGaXggdW5kZWZpbmVkIG92ZXJmbG93IHByb25lIHRzX2RpZmYgaGFuZGxpbmcuCgoyMDA3LTA4LTIxIDE1OjU5OjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzogRml4IGNvbXBpbGVyIHdhcm5pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIEZpeCBjb21waWxlciB3YXJuaW5nLgoKMjAwNy0wOC0yMSAxMjo1OTowMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzogRG9uJ3QgdXNlIE5VTEwgY2FwcyBmb3Igc3JjcGFkIGlzIG5vdCB5ZXQgY29ubmVjdGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBEb24ndCB1c2UgTlVMTCBjYXBzIGZvciBzcmNwYWQgaXMgbm90IHlldCBjb25uZWN0ZWQuCgoyMDA3LTA4LTIwIDE0OjIzOjQ1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgQWRkIG1wZWcgdHJhbnNwb3J0IHN0cmVhbSBwYXJzZXIgd3JpdHRlbiBieToKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tcGVndHNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwYXRpbmZvLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcGF0aW5mby5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BtdGluZm8uYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwbXRpbmZvLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcG10c3RyZWFtaW5mby5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BtdHN0cmVhbWluZm8uaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlbWFyc2hhbC5saXN0OgoJICBBZGQgbXBlZyB0cmFuc3BvcnQgc3RyZWFtIHBhcnNlciB3cml0dGVuIGJ5OgoJICBBbGVzc2FuZHJvIERlY2luYS4gSW5jbHVkZXMgYSBjb3VwbGUgb2YgZmlsZXMgZnJvbSB0aGUKCSAgRmx1ZW5kbyB0cmFuc3BvcnQgc3RyZWFtIGRlbXV4ZXIgdGhhdCBGbHVlbmRvIGhhdmUKCSAga2luZGx5IGFsbG93ZWQgdG8gYmUgbGljZW5jZWQgdW5kZXIgTEdQTCBhbHNvLgoKMjAwNy0wOC0yMCAwOToxMzo0NyArMDAwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSAgZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogQWRkIGV4YW1wbGVzIGZvciBsaXZlIG15dGh0djovLyBVUklzIHRvIGRvY3MgKCM0NjgwMzkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJhc3RpZW4gTm9jZXJhICA8aGFkZXNzIGF0IGhhZGVzcyBuZXQ+CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSAgQWRkIGV4YW1wbGVzIGZvciBsaXZlIG15dGh0djovLyBVUklzIHRvIGRvY3MgKCM0NjgwMzkpLgoJICBBbHNvIGNvbnZlcnQgc29tZSB0YWJzIGludG8gc3BhY2VzLgoKMjAwNy0wOC0xOSAxOToxNjozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IEFkZCBzbWFsbCBjb21wYXJpc2lvbiB3aXRoIHRoZSBjaGVieXNoZXYgZmlsdGVycyBpbiB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgIEFkZCBzbWFsbCBjb21wYXJpc2lvbiB3aXRoIHRoZSBjaGVieXNoZXYgZmlsdGVycyBpbiB0aGUgZG9jcy4KCjIwMDctMDgtMTkgMTk6MDE6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogQWxzbyB0ZXN0IGV2ZXJ5dGhpbmcgaW4gMzIgYml0IGZsb2F0IG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jwd3NpbmMuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKGJwd3NpbmNfc3VpdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xwd3NpbmMuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKGxwd3NpbmNfc3VpdGUpOgoJICBBbHNvIHRlc3QgZXZlcnl0aGluZyBpbiAzMiBiaXQgZmxvYXQgbW9kZS4KCjIwMDctMDgtMTcgMTU6MDU6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFVzZSBnZW5lcmF0b3IgbWFjcm9zIGZvciB0aGUgcHJvY2VzcyBmdW5jdGlvbnMgZm9yIHRoZSBkaWZmZXJlbnQgc2FtcGxlIHR5cGVzLCBhZGQgbG93ZXIgdXBwZXIgYm91bmRhcmllcyBmb3IgdGhlIEdPYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoYnB3c2luY19zZXRfcHJvcGVydHkpLCAoYnB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbHB3c2luY19pbml0KSwgKGxwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGxwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9scHdzaW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIFVzZSBnZW5lcmF0b3IgbWFjcm9zIGZvciB0aGUgcHJvY2VzcyBmdW5jdGlvbnMgZm9yIHRoZSBkaWZmZXJlbnQKCSAgc2FtcGxlIHR5cGVzLCBhZGQgbG93ZXIgdXBwZXIgYm91bmRhcmllcyBmb3IgdGhlIEdPYmplY3QgcHJvcGVydGllcwoJICBzbyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBVSXMgY2FuIHVzZSBzbGlkZXJzIGFuZCBjaGFuZ2UgZnJlcXVlbmN5CgkgIHByb3BlcnRpZXMgdG8gZmxvYXRzIHRvIHNhdmUgYSBiaXQgb2YgbWVtb3J5LCBldmVuIGludHMgd291bGQgaW4KCSAgdGhlb3J5IGJlIGVub3VnaC4gQWxzbyByZW5hbWUgZnJlcXVlbmN5IHRvIGN1dG9mZiBmb3IgY29uc2lzdGVuY3kKCSAgcmVhc29ucy4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgIFJlZ2VuZXJhdGVkIGZvciB0aGUgYWJvdmUgY2hhbmdlcy4KCjIwMDctMDgtMTcgMDY6NTU6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6IERvbid0IGxlYWsgdGhlIGFkYXB0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgIERvbid0IGxlYWsgdGhlIGFkYXB0ZXIuCgoyMDA3LTA4LTE2IDE5OjIyOjQ4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuKjogSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkgYW5kIG9ubHkgZm9yd2FyZCB0aG9zZSBzYW1wbGVzIGRvd25zdHJlYW0gdGhhdCBhY3R1YWxseSBjb250YWluIHRoZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9icHdzaW5jX2luaXQpLCAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KSwKCSAgKGJwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGJwd3NpbmNfcHVzaF9yZXNpZHVlKSwKCSAgKGJwd3NpbmNfdHJhbnNmb3JtKSwgKGJwd3NpbmNfc3RhcnQpLCAoYnB3c2luY19xdWVyeSksCgkgIChicHdzaW5jX3F1ZXJ5X3R5cGUpLCAoYnB3c2luY19ldmVudCksIChicHdzaW5jX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgIEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5IGFuZCBvbmx5IGZvcndhcmQgdGhvc2Ugc2FtcGxlcyBkb3duc3RyZWFtCgkgIHRoYXQgYWN0dWFsbHkgY29udGFpbiB0aGUgZGF0YSB3ZSB3YW50LCBpLmUuIGRyb3Aga2VybmVsX2xlbmd0aC8yCgkgIGluIHRoZSBiZWdpbm5pbmcgYW5kIGFwcGVuZCBrZXJuZWxfbGVuZ3RoLzIgKGNyZWF0ZWQgYnkgY29udm9sdmluZwoJICB0aGUgZmlsdGVyIGtlcm5lbCB3aXRoIHplcm9lcykgdG8gdGhlIGVuZC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9icHdzaW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEFkanVzdCB0aGUgdW5pdCB0ZXN0IGZvciB0aGlzIHNsaWdodGx5IGNoYW5nZWQgYmVoYXZpb3VyLgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAobHB3c2luY19idWlsZF9rZXJuZWwpOgoJICBSZXNldCByZXNpZHVlIGxlbmd0aCBvbmx5IHdoZW4gYWN0dWFsbHkgY3JlYXRpbmcgYSByZXNpZHVlLgoKMjAwNy0wOC0xNiAxNzoxMTo0OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOiBPdmVycmlkZSB0aGUgcHJlcm9sbCB2bWV0aG9kIGluc3RlYWQgb2Ygb3ZlcnJpZGluZyB0aGUgcmVuZGVyIG1ldGhvZCB0d2ljZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6IChnc3RfYXBwX3NpbmtfY2xhc3NfaW5pdCk6CgkgIE92ZXJyaWRlIHRoZSBwcmVyb2xsIHZtZXRob2QgaW5zdGVhZCBvZiBvdmVycmlkaW5nIHRoZSByZW5kZXIgbWV0aG9kCgkgIHR3aWNlLgoKMjAwNy0wOC0xNiAxMTo0MDoxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBGaXggRU9TIGhhbmRsaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zaW5rX2V2ZW50KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIEZpeCBFT1MgaGFuZGxpbmcuCgkgIENvbnZlcnQgc29tZSBERUJVRyBpbnRvIFdBUk5JTkdzLgoJICBQYXVzZSB0YXNrIHdoZW4gZmx1c2hpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRjcF9zaW5rKToKCSAgVXNlIHN5c3RlbSBjbG9jayBmb3IgUlRDUCBzZXNzaW9uIG1hbmFnZW1lbnQgdGltZW91dHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAob25fbmV3X3NzcmMpLCAob25fc3NyY19jb2xsaXNpb24pLAoJICAob25fc3NyY192YWxpZGF0ZWQpLCAob25fYnllX3NzcmMpLCAob25fYnllX3RpbWVvdXQpLCAob25fdGltZW91dCk6CgkgIFJlbGVhc2UgdGhlIHNlc3Npb24gbG9jayB3aGVuIGVtaXRpbmcgc2lnbmFscy4KCjIwMDctMDgtMTYgMTE6MzQ6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEFkZCBzb21lIGRlYnVnIGluZm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX3NldGNhcHMpLAoJICAoZ3N0X2ZhYWRfY2hhbnBvc190b19nc3QpOgoJICBBZGQgc29tZSBkZWJ1ZyBpbmZvLgoKMjAwNy0wOC0xNiAwOTo0ODoyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLio6IEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5IGFuZCBvbmx5IGZvcndhcmQgdGhvc2Ugc2FtcGxlcyBkb3duc3RyZWFtIHRoYXQgYWN0dWFsbHkgY29udGFpbiB0aGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbHB3c2luY19pbml0KSwgKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCksCgkgIChscHdzaW5jX2J1aWxkX2tlcm5lbCksIChscHdzaW5jX3B1c2hfcmVzaWR1ZSksCgkgIChscHdzaW5jX3RyYW5zZm9ybSksIChscHdzaW5jX3N0YXJ0KSwgKGxwd3NpbmNfcXVlcnkpLAoJICAobHB3c2luY19xdWVyeV90eXBlKSwgKGxwd3NpbmNfZXZlbnQpLCAobHB3c2luY19zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeSBhbmQgb25seSBmb3J3YXJkIHRob3NlIHNhbXBsZXMgZG93bnN0cmVhbQoJICB0aGF0IGFjdHVhbGx5IGNvbnRhaW4gdGhlIGRhdGEgd2Ugd2FudCwgaS5lLiBkcm9wIGtlcm5lbF9sZW5ndGgvMgoJICBpbiB0aGUgYmVnaW5uaW5nIGFuZCBhcHBlbmQga2VybmVsX2xlbmd0aC8yIChjcmVhdGVkIGJ5IGNvbnZvbHZpbmcKCSAgdGhlIGZpbHRlciBrZXJuZWwgd2l0aCB6ZXJvZXMpIHRvIHRoZSBlbmQuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbHB3c2luYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBBZGp1c3QgdGhlIHVuaXQgdGVzdCBmb3IgdGhpcyBzbGlnaHRseSBjaGFuZ2VkIGJlaGF2aW91ci4KCjIwMDctMDgtMTYgMDc6MDc6NDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IERvbid0IGxlYWsgbGlrZSBoZWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBEb24ndCBsZWFrIGxpa2UgaGVsbC4KCjIwMDctMDgtMTYgMDY6NDk6MzkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIGdlbmVyaWMgc3RhdGUtY2hhbmdlIHRlc3Qgc3VpdGUgdG8gaGVscCB0byBmaSBsZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZ2VuZXJpYy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkgIEFkZCBnZW5lcmljIHN0YXRlLWNoYW5nZSB0ZXN0IHN1aXRlIHRvIGhlbHAgdG8gZmkgbGVha3MuCgoyMDA3LTA4LTE1IDEzOjI4OjM5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkgIENoYW5nZUxvZyBzdXJnZXJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeQoKMjAwNy0wOC0xNSAxMzoyNjo1NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLio6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZpZXdlZCBieTogPGRlbGV0ZSBpZiBub3QgdXNpbmcgYSBidWRkeT4KCSAgcGF0Y2ggYnk6IDxkZWxldGUgaWYgbm90IHNvbWVvbmUgZWxzZSdzIHBhdGNoPgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5oOgoKMjAwNy0wOC0xNCAxNzo0NzozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOiBEb24ndCB1c2UgbmV3IEFQSS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6IChnc3RfYXBwX3NpbmtfZmx1c2hfdW5sb2NrZWQpOgoJICBEb24ndCB1c2UgbmV3IEFQSS4KCjIwMDctMDgtMTQgMTc6Mzg6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuKjogTWFrZSBsb3ZlIHRvIGFwcHNpbmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOiAoZ3N0X2FwcF9zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfYXBwX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfYXBwX3NpbmtfZGlzcG9zZSksCgkgIChnc3RfYXBwX3NpbmtfZmx1c2hfdW5sb2NrZWQpLCAoZ3N0X2FwcF9zaW5rX3N0YXJ0KSwKCSAgKGdzdF9hcHBfc2lua19zdG9wKSwgKGdzdF9hcHBfc2lua19ldmVudCksIChnc3RfYXBwX3NpbmtfcHJlcm9sbCksCgkgIChnc3RfYXBwX3NpbmtfcmVuZGVyKSwgKGdzdF9hcHBfc2lua19nZXRfY2FwcyksCgkgIChnc3RfYXBwX3Npbmtfc2V0X2NhcHMpLCAoZ3N0X2FwcF9zaW5rX2VuZF9vZl9zdHJlYW0pLAoJICAoZ3N0X2FwcF9zaW5rX3B1bGxfcHJlcm9sbCksIChnc3RfYXBwX3NpbmtfcHVsbF9idWZmZXIpOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5oOgoJICBNYWtlIGxvdmUgdG8gYXBwc2luay4KCSAgTWFrZSBpdCBzdXBwb3J0IHB1bGxpbmcgb2YgdGhlIHByZXJvbGwgYnVmZmVyLgoJICBBZGQgZG9jcyBhbmQgZGVidWcgc3RhdGVtZW50cy4KCSAgRml4IHNvbWUgcmFjZXMgd3J0IHRvIEVPUyBoYW5kbGluZyBhbmQgc3RvcHBpbmcuCgkgIEltcGxlbWVudCBnZXRjYXBzLgoJICBJbXBsZW1lbnQgRkxVU0hJTkcuCgkgIEFQSTogZ3N0X2FwcF9zaW5rX3B1bGxfcHJlcm9sbCgpCgoyMDA3LTA4LTE0IDE0OjU2OjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBGaXggbG9ja2luZyBhbmQgcmVmY291bnRpbmcgb24gdGhlIGluZGV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3NldF9pbmRleCksCgkgIChnc3RfZmx2X2RlbXV4X2dldF9pbmRleCk6CgkgIEZpeCBsb2NraW5nIGFuZCByZWZjb3VudGluZyBvbiB0aGUgaW5kZXguCgoyMDA3LTA4LTE0IDE0OjIyOjA5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRmlyc3QgbWV0aG9kIGZvciBzZWVraW5nIGluIHB1bGwgbW9kZSB1c2luZyB0aGUgaW5kZXggYnVpbHQgc3RlcCBieSBzdGVwIG9yIGNvbWluZyBmcm9tIG1ldGFkYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOC0xNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksCgkgIChnc3RfZmx2X2RlbXV4X2FkYXB0ZXJfZmx1c2gpLCAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwgKGdzdF9mbHZfZGVtdXhfZG9fc2VlayksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrKSwgKGdzdF9mbHZfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfZmx2X2RlbXV4X3NyY19ldmVudCksIChnc3RfZmx2X2RlbXV4X3F1ZXJ5KSwKCSAgKGdzdF9mbHZfZGVtdXhfY2hhbmdlX3N0YXRlKSwgKGdzdF9mbHZfZGVtdXhfc2V0X2luZGV4KSwKCSAgKGdzdF9mbHZfZGVtdXhfZ2V0X2luZGV4KSwgKGdzdF9mbHZfZGVtdXhfZGlzcG9zZSksCgkgIChnc3RfZmx2X2RlbXV4X2NsYXNzX2luaXQpOiBGaXJzdCBtZXRob2QgZm9yIHNlZWtpbmcgaW4gcHVsbAoJICBtb2RlIHVzaW5nIHRoZSBpbmRleCBidWlsdCBzdGVwIGJ5IHN0ZXAgb3IgY29taW5nIGZyb20gbWV0YWRhdGEuCgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKEZMVl9HRVRfU1RSSU5HKSwKCSAgKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBQYXJzZQoJICBtb3JlIG1ldGFkYXRhIHR5cGVzIGFuZCBrZXlmcmFtZXMgaW5kZXguCgoyMDA3LTA4LTEzIDEzOjUwOjM5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgZG9jcyBmb3IgbHB3c2luYyBhbmQgYnB3c2luYyBhbmQgaW50ZWdyYXRlIHRoZW0gaW50byB0aGUgYnVpbGQgc3lzdGVtLiBXaGlsZSBkb2luZyB0aGF0IGFsc28gdXBkYXRlIGFsbCBvdGhlciBkb2MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBBZGQgZG9jcyBmb3IgbHB3c2luYyBhbmQgYnB3c2luYyBhbmQgaW50ZWdyYXRlIHRoZW0KCSAgaW50byB0aGUgYnVpbGQgc3lzdGVtLiBXaGlsZSBkb2luZyB0aGF0IGFsc28gdXBkYXRlCgkgIGFsbCBvdGhlciBkb2NzIHZpYSBtYWtlIHVwZGF0ZSBpbiBkb2NzL3BsdWdpbnMuCgoyMDA3LTA4LTEzIDA2OjE2OjQwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogSW5jbHVkZSBzdGRsaWIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJICBJbmNsdWRlIHN0ZGxpYi4KCjIwMDctMDgtMTIgMjA6NTU6MDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jwd3NpbmMuYzogTWFrZSBvbmUgdGVzdCBjb25zdHJhaW50IGEgYml0IHN0cmljdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9icHdzaW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIE1ha2Ugb25lIHRlc3QgY29uc3RyYWludCBhIGJpdCBzdHJpY3Rlci4KCjIwMDctMDgtMTIgMjA6NTM6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHVuaXQgdGVzdHMgZm9yIGJwd3NpbmMsIHRlc3RpbmcgZnVuZGFtZW50YWwgZnVuY3Rpb25hbGl0eSBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9icHdzaW5jLmM6IChzZXR1cF9icHdzaW5jKSwKCSAgKGNsZWFudXBfYnB3c2luYyksIChHU1RfU1RBUlRfVEVTVCksIChicHdzaW5jX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgYnB3c2luYywgdGVzdGluZyBmdW5kYW1lbnRhbCBmdW5jdGlvbmFsaXR5IGFnYWluLgoKMjAwNy0wOC0xMiAyMDoxOTozNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgdW5pdCB0ZXN0cyBmb3IgbHB3c2luYywgdGVzdGluZyBmdW5kYW1lbnRhbCBmdW5jdGlvbmFsaXR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xwd3NpbmMuYzogKHNldHVwX2xwd3NpbmMpLAoJICAoY2xlYW51cF9scHdzaW5jKSwgKEdTVF9TVEFSVF9URVNUKSwgKGxwd3NpbmNfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3RzIGZvciBscHdzaW5jLCB0ZXN0aW5nIGZ1bmRhbWVudGFsIGZ1bmN0aW9uYWxpdHkuCgoyMDA3LTA4LTEyIDE1OjQxOjU3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoYnB3c2luY19idWlsZF9rZXJuZWwpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAobHB3c2luY19idWlsZF9rZXJuZWwpOgoJICBJbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCjIwMDctMDgtMTIgMTI6NDY6MjAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBSZXNldCB0aGUgcmVzaWR1ZSBpbiBCYXNlVHJhbnNmb3JtOjpzdGFydCB0byBnZXQgYSBjbGVhbiByZXNpZHVlIG9uIHN0cmVhbSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoYnB3c2luY19zdGFydCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KSwKCSAgKGxwd3NpbmNfc3RhcnQpOgoJICBSZXNldCB0aGUgcmVzaWR1ZSBpbiBCYXNlVHJhbnNmb3JtOjpzdGFydCB0byBnZXQgYSBjbGVhbiByZXNpZHVlCgkgIG9uIHN0cmVhbSBjaGFuZ2VzLgoKMjAwNy0wOC0xMSAyMTozMDowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogQ2hhbmdlTG9nOgoJICBDaGFuZ2Vsb2cgc3VyZ2VyeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlbG9nIHN1cmdlcnkKCjIwMDctMDgtMTEgMTU6NTg6MzAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBGaXggcHJvY2Vzc2luZyB3aXRoIGJ1ZmZlciBzaXplcyB0aGF0IGFyZSBsYXJnZXIgdGhhbiB0aGUgZmlsdGVyIGtlcm5lbCBzaXplLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpOgoJICBGaXggcHJvY2Vzc2luZyB3aXRoIGJ1ZmZlciBzaXplcyB0aGF0IGFyZSBsYXJnZXIgdGhhbiB0aGUgZmlsdGVyCgkgIGtlcm5lbCBzaXplLgoKMjAwNy0wOC0xMCAxNzoxNjo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogUmVtb3ZlIGNvbXBsaWNhdGVkIGFzeW5jIHF1ZXVlIGFuZCByZXBsYWNlIHdpdGggbW9yZSBzaW1wbGUgaml0dGVyYnVmZmVyIGNvZGUgd2hpbGUgYWxzbyBmaXhpbmcgc29tZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfaW5pdCksIChydHBfaml0dGVyX2J1ZmZlcl9maW5hbGl6ZSksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9uZXcpLCAoY29tcGFyZV9zZXFudW0pLAoJICAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX3BvcCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9mbHVzaCksIChydHBfaml0dGVyX2J1ZmZlcl9udW1fcGFja2V0cyksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfdHNfZGlmZik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIFJlbW92ZSBjb21wbGljYXRlZCBhc3luYyBxdWV1ZSBhbmQgcmVwbGFjZSB3aXRoIG1vcmUgc2ltcGxlIGppdHRlcmJ1ZmZlcgoJICBjb2RlIHdoaWxlIGFsc28gZml4aW5nIHNvbWUgYnVncy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAob25fbmV3X3NzcmMpLCAob25fc3NyY19jb2xsaXNpb24pLAoJICAob25fc3NyY192YWxpZGF0ZWQpLCAob25fYnllX3NzcmMpLCAob25fYnllX3RpbWVvdXQpLCAob25fdGltZW91dCksCgkgIChjcmVhdGVfc2Vzc2lvbiksIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKGNyZWF0ZV9yZWN2X3J0cCksCgkgIChjcmVhdGVfc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2Rpc3Bvc2UpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdGFydCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zaW5rX2V2ZW50KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChvbl9uZXdfc3NyYyksCgkgIChvbl9zc3JjX2NvbGxpc2lvbiksIChvbl9zc3JjX3ZhbGlkYXRlZCksIChvbl9ieWVfc3NyYyksCgkgIChvbl9ieWVfdGltZW91dCksIChvbl90aW1lb3V0KSwgKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAob25fYnllX3NzcmMpLCAoc2Vzc2lvbl9jbGVhbnVwKToKCSAgVXNlIG5ldyBqaXR0ZXJidWZmZXIgY29kZS4KCSAgRXhwb3NlIHNvbWUgbmV3IHNpZ25hbHMgaW4gcHJlcGFyYXRpb24gZm9yIGhhbmRsaW5nIEVPUy4KCjIwMDctMDgtMTAgMDU6NTE6NDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiBGaXggYSBzZWdmYXVsdCB3aXRoIG1vcmUgdGhhbiBvbmUgY2hhbm5lbCBhbmQgZG9uJ3QgcmVidWlsZCB0aGUga2VybmVsICYgcmVzaWR1ZSB3aXRoIGV2ZXJ5IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGJwd3NpbmNfYnVpbGRfa2VybmVsKToKCSAgRml4IGEgc2VnZmF1bHQgd2l0aCBtb3JlIHRoYW4gb25lIGNoYW5uZWwgYW5kIGRvbid0IHJlYnVpbGQKCSAgdGhlIGtlcm5lbCAmIHJlc2lkdWUgd2l0aCBldmVyeSBidWZmZXIuCgoyMDA3LTA4LTEwIDA1OjM1OjI1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuKjogQWRkIHN1cHBvcnQgZm9yIGEgYmFuZHJlamVjdCBtb2RlIGFuZCBhbGxvdyBzcGVjaWZ5aW5nIHRoZSB3aW5kb3cgZnVuY3Rpb24gdGhhdCBzaG91bGQgYmUgdXNlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9icHdzaW5jX3dpbmRvd19nZXRfdHlwZSksIChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9icHdzaW5jX2luaXQpLCAoYnB3c2luY19idWlsZF9rZXJuZWwpLCAoYnB3c2luY19zZXRfcHJvcGVydHkpLAoJICAoYnB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICBBZGQgc3VwcG9ydCBmb3IgYSBiYW5kcmVqZWN0IG1vZGUgYW5kIGFsbG93IHNwZWNpZnlpbmcgdGhlIHdpbmRvdwoJICBmdW5jdGlvbiB0aGF0IHNob3VsZCBiZSB1c2VkLgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICBBbmQgYW5vdGhlciBzbWFsbCBmb3JtYXR0aW5nIGZpeC4KCjIwMDctMDgtMTAgMDU6MjA6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy4qOiBBcHBseSB0aGUgc2FtZSBjaGFuZ2VzIHRvIHRoZSBiYW5kcGFzcyBmaWx0ZXI6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYnB3c2luY19pbml0KSwgKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCksCgkgIChicHdzaW5jX2J1aWxkX2tlcm5lbCksIChicHdzaW5jX3NldHVwKSwgKGJwd3NpbmNfZ2V0X3VuaXRfc2l6ZSksCgkgIChicHdzaW5jX3RyYW5zZm9ybSksIChicHdzaW5jX3NldF9wcm9wZXJ0eSksCgkgIChicHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgIEFwcGx5IHRoZSBzYW1lIGNoYW5nZXMgdG8gdGhlIGJhbmRwYXNzIGZpbHRlcjoKCSAgLSBTdXBwb3J0IGRvdWJsZSBpbnB1dAoJICAtIEZpeCBwcm9jZXNzaW5nIGZvciBpbnB1dCB3aXRoID4xIGNoYW5uZWxzCgkgIC0gU3BlY2lmeSBmcmVxdWVuY3kgaW4gSHoKCSAgLSBTcGVjaWZ5IGFjdHVhbCBmaWx0ZXIga2VybmVsIGxlbmd0aAoJICAtIFVzZSB0cmFuc2Zvcm0gaW5zdGVhZCBvZiB0cmFuc2Zvcm1faXAgYXMgd2UncmUgd29ya2luZwoJICBvdXQgb2YgcGxhY2UgYW55d2F5CgkgIC0gRmFjdG9yIG91dCBmaWx0ZXIga2VybmVsIGdlbmVyYXRpb24gYW5kIHVwZGF0ZSB0aGUgZmlsdGVyCgkgIGtlcm5lbCB3aGVuIHRoZSBwcm9wZXJ0aWVzIGFyZSBzZXQKCSAgRml4IGJhbmRwYXNzIGZpbHRlciBrZXJuZWwgZ2VuZXJhdGlvbiB0byBhY3R1YWxseSBnZW5lcmF0ZQoJICBhIGJhbmRwYXNzIGZpbHRlciBieSBjcmVhdGluZyBhIGhpZ2hwYXNzIGluc3RlYWQgb2YgYSBzZWNvbmQKCSAgbG93cGFzcy4KCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpOgoJICBTbWFsbCBmb3JtYXR0aW5nIGZpeC4KCjIwMDctMDgtMTAgMDQ6NDQ6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy4qOiBTcGVjaWZ5IHRoZSBhY3R1YWwgZmlsdGVyIGxlbmd0aCBpbnN0ZWFkIG9mIGEgd2VpcmQgMk4rMS4gU2V0dGluZyB0aGUgcHJvcGVydHkgd2lsbCByb3VuZCB0by4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2xwd3NpbmNfaW5pdCksIChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpLAoJICAobHB3c2luY19idWlsZF9rZXJuZWwpLCAobHB3c2luY19zZXRfcHJvcGVydHkpLAoJICAobHB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBTcGVjaWZ5IHRoZSBhY3R1YWwgZmlsdGVyIGxlbmd0aCBpbnN0ZWFkIG9mIGEgd2VpcmQKCSAgMk4rMS4gU2V0dGluZyB0aGUgcHJvcGVydHkgd2lsbCByb3VuZCB0byB0aGUgbmV4dCBvZGQgbnVtYmVyLgoJICBBbHNvIHJlbW92ZSBub3cgb2Jzb2xldGUgRklYTUVzLgoKMjAwNy0wOC0xMCAwNDozMjo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLio6IEFsbG93IGNob29zaW5nIGJldHdlZW4gaGFtbWluZyBhbmQgYmxhY2ttYW4gd2luZG93LiBUaGUgYmxhY2ttYW4gd2luZG93IHByb3ZpZGVzIGEgYmV0dGVyIHN0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfd2luZG93X2dldF90eXBlKSwKCSAgKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLCAoZ3N0X2xwd3NpbmNfaW5pdCksCgkgIChscHdzaW5jX2J1aWxkX2tlcm5lbCksIChscHdzaW5jX3NldF9wcm9wZXJ0eSksCgkgIChscHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIEFsbG93IGNob29zaW5nIGJldHdlZW4gaGFtbWluZyBhbmQgYmxhY2ttYW4gd2luZG93LiBUaGUgYmxhY2ttYW4KCSAgd2luZG93IHByb3ZpZGVzIGEgYmV0dGVyIHN0b3BiYW5kIGF0dGVudWF0aW9uIGJ1dCBhIGJpdCBzbG93ZXIKCSAgcm9sbG9mZi4KCjIwMDctMDgtMTAgMDQ6MjE6MzkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy4qOiBBZGQgYSBoaWdocGFzcyBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksIChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpLAoJICAobHB3c2luY19idWlsZF9rZXJuZWwpLCAobHB3c2luY19zZXRfcHJvcGVydHkpLAoJICAobHB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBBZGQgYSBoaWdocGFzcyBtb2RlLgoKMjAwNy0wOC0xMCAwNDowNjo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IEZpeCBwcm9jZXNzaW5nIGlmIHRoZSBpbnB1dCBoYXMgbW9yZSB0aGFuIG9uZSBjaGFubmVsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCksCgkgIChscHdzaW5jX2J1aWxkX2tlcm5lbCk6CgkgIEZpeCBwcm9jZXNzaW5nIGlmIHRoZSBpbnB1dCBoYXMgbW9yZSB0aGFuIG9uZSBjaGFubmVsLgoKMjAwNy0wOC0wOSAxOToyMzozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6ICJ0aGlzIiBpcyBhIEMrKyBrZXl3b3JkLCB1c2UgInNlbGYiIGluc3RlYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfZGlzcG9zZSksCgkgIChnc3RfYnB3c2luY19pbml0KSwgKGJwd3NpbmNfc2V0dXApLCAoYnB3c2luY190cmFuc2Zvcm1faXApLAoJICAoYnB3c2luY19zZXRfcHJvcGVydHkpLCAoYnB3c2luY19nZXRfcHJvcGVydHkpOgoJICAidGhpcyIgaXMgYSBDKysga2V5d29yZCwgdXNlICJzZWxmIiBpbnN0ZWFkLgoJICBBZGQgVE9ET3MgYW5kIEZJWE1FcyBhbmQgcmVtb3ZlIHR3byB3cm9uZyBGSVhNRXMuCgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgIEFkZCBGSVhNRXMgYW5kIGEgbmV3IFRPRE8uCgoyMDA3LTA4LTA5IDE4OjA4OjA1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuKjogQWRkIGRvdWJsZSBzdXBwb3J0LCByZXBsYWNlICJ0aGlzIiB3aXRoICJzZWxmIiBhcyB0aGUgZm9ybWVyIGlzIGEgQysrIGtleXdvcmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfZGlzcG9zZSksCgkgIChnc3RfbHB3c2luY19jbGFzc19pbml0KSwgKGdzdF9scHdzaW5jX2luaXQpLCAocHJvY2Vzc18zMiksCgkgIChwcm9jZXNzXzY0KSwgKGxwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGxwd3NpbmNfc2V0dXApLAoJICAobHB3c2luY19nZXRfdW5pdF9zaXplKSwgKGxwd3NpbmNfdHJhbnNmb3JtKSwKCSAgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KSwgKGxwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgQWRkIGRvdWJsZSBzdXBwb3J0LCByZXBsYWNlICJ0aGlzIiB3aXRoICJzZWxmIiBhcyB0aGUgZm9ybWVyCgkgIGlzIGEgQysrIGtleXdvcmQuCgkgIEltcGxlbWVudCB0aGUgZnJlcXVlbmN5IHByb3BlcnR5IGluIEh6IGluc3RlYWQgb2YgZnJhY3Rpb24KCSAgb2Ygc2FtcGxpbmcgZnJlcXVlbmN5LgoJICBSZW1vdmUgc29tZSB1bmVjZXNzYXJ5IEZJWE1FcyBhbmQgYWRkIHNvbWUgVE9ET3MsIGFkZCBzb21lCgkgIHJlcXVpcmVkIGxvY2tpbmcgYW5kIHJlZmFjdG9yIHRoZSBrZXJuZWwgZ2VuZXJhdGlvbiBpbnRvIGEKCSAgc2VwYXJhdGUgZnVuY3Rpb24gdGhhdCBpcyBhbHNvIGNhbGxlZCB3aGVuIHRoZSBwcm9wZXJ0aWVzCgkgIGNoYW5nZSBub3cuCgkgIEFuZCB1c2UgQmFzZVRyYW5zZm9ybTo6dHJhbnNmb3JtIGluc3RlYWQgb2YgdHJhbnNmb3JtX2lwCgkgIGFzIHRoZSBjb252b2x1dGlvbiBpcyBkb25lIG91dCBvZiBwbGFjZSBhbnl3YXkuIFNob3VsZAoJICBiZSBkb25lIGluIHBsYWNlIGxhdGVyLgoKMjAwNy0wOC0wOSAxNzozOTo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgUG9ydCB0aGUgc3RlcmVvIGVsZW1lbnQgdG8gR1N0cmVhbWVyIDAuMTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3Qvc3RlcmVvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6IChnc3Rfc3RlcmVvX2Jhc2VfaW5pdCksCgkgIChnc3Rfc3RlcmVvX2NsYXNzX2luaXQpLCAoZ3N0X3N0ZXJlb19pbml0KSwKCSAgKGdzdF9zdGVyZW9fdHJhbnNmb3JtX2lwKSwgKGdzdF9zdGVyZW9fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zdGVyZW9fZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5oOgoJICBQb3J0IHRoZSBzdGVyZW8gZWxlbWVudCB0byBHU3RyZWFtZXIgMC4xMC4KCjIwMDctMDgtMDkgMTE6MDE6MTQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vOiBBZGRlZCBQb3J0dWd1ZXNlIChCcmF6aWxpYW4pIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc3VibWl0dGVkIGJ5OiBSYXBoYWVsIEhpZ2lubyA8cGhoaWdpbm9AZ21haWwuY29tPgoJICAqIHBvL0xJTkdVQVM6CgkgICogcG8vcHRfQlIucG86CgkgIEFkZGVkIFBvcnR1Z3Vlc2UgKEJyYXppbGlhbikgdHJhbnNsYXRpb24uCgoyMDA3LTA4LTA5IDExOjAwOjAzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvLzogVXBkYXRlZCB0cmFuc2xhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL3VrLnBvOgoJICAqIHBvL3ZpLnBvOgoJICBVcGRhdGVkIHRyYW5zbGF0aW9ucy4KCjIwMDctMDgtMDggMjA6NDc6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBVc2UgR3N0QXVkaW9GaWx0ZXIgYXMgYmFzZSBjbGFzcyBhbmQgZG9uJ3QgbGVhayB0aGUgbWVtb3J5IG9mIHRoZSBmaWx0ZXIga2VybmVsIGFuZCByZXNpZHVlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfZGlzcG9zZSksCgkgIChnc3RfYnB3c2luY19iYXNlX2luaXQpLCAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYnB3c2luY19pbml0KSwgKGJwd3NpbmNfc2V0dXApOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfZGlzcG9zZSksCgkgIChnc3RfbHB3c2luY19iYXNlX2luaXQpLCAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbHB3c2luY19pbml0KSwgKGxwd3NpbmNfc2V0dXApOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBVc2UgR3N0QXVkaW9GaWx0ZXIgYXMgYmFzZSBjbGFzcyBhbmQgZG9uJ3QgbGVhayB0aGUgbWVtb3J5CgkgIG9mIHRoZSBmaWx0ZXIga2VybmVsIGFuZCByZXNpZHVlLgoKMjAwNy0wOC0wOCAxNToxNTo1NiArMDAwMCAgSm9zZXAgVG9ycmUgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkgIEFkZCBjb25uZWN0aW9uIHNwZWVkIHByb3BlcnR5IHRvIGxpYm1tcy4gRml4ZXMgIzQ2NDY3OC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb3NlcCBUb3JyZSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2NsYXNzX2luaXQpLCAoZ3N0X21tc19pbml0KSwKCSAgKGdzdF9tbXNfc3RhcnQpLCAoZ3N0X21tc19zZXRfcHJvcGVydHkpLCAoZ3N0X21tc19nZXRfcHJvcGVydHkpOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmg6CgkgIEFkZCBjb25uZWN0aW9uIHNwZWVkIHByb3BlcnR5IHRvIGxpYm1tcy4gRml4ZXMgIzQ2NDY3OC4KCjIwMDctMDgtMDcgMTU6MjE6MTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuKjogUmVtb3ZlIHNvbWUgb2xkIHVudXNlZCB2YXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKGdzdF9yZWFsX3ZpZGVvX2RlY19jaGFpbiksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfYWN0aXZhdGVfcHVzaCksIChvcGVuX2xpYnJhcnkpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX2luaXQpLCAoZ3N0X3JlYWxfdmlkZW9fZGVjX2ZpbmFsaXplKToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuaDoKCSAgUmVtb3ZlIHNvbWUgb2xkIHVudXNlZCB2YXJzLgoKMjAwNy0wOC0wNyAxMDo1MTo1OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiBTbWFsbCBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IChnc3RfcmVhbF9hdWRpb19kZWNfc2V0Y2Fwcyk6CgkgIFNtYWxsIGNsZWFudXBzLgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAoZ3N0X3JlYWxfdmlkZW9fZGVjX2NoYWluKSwKCSAgKG9wZW5fbGlicmFyeSk6CgkgIFJlbW92ZSBmcmFnbWVudCBhbmQgdGltZXN0YW1wIGNvcnJlY3Rpb24gY29kZSBmcm9tIHRoZSBkZWNvZGVyIHRvIG1ha2UKCSAgdGhlIGNhcHMgYW5kIGJ1ZmZlciBjb250ZW50cyBjb21wYXRpYmxlIHdpdGggbWF0cm9za2EvZmZkZWNfcnZ4MC8uLi4KCjIwMDctMDctMzAgMTI6NDM6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBwby9QT1RGSUxFUy5za2lwOiBBZGQgUE9URklMRVMuc2tpcCB3aXRoIGxpc3Qgb2Ygc291cmNlIGZpbGVzIHRoYXQgYXJlbid0IGRpc3RlZCBhdCB0aGUgbW9tZW50IGJ1dCBjb250YWluIHRyYW5zbGF0YWIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vUE9URklMRVMuc2tpcDoKCSAgQWRkIFBPVEZJTEVTLnNraXAgd2l0aCBsaXN0IG9mIHNvdXJjZSBmaWxlcyB0aGF0IGFyZW4ndCBkaXN0ZWQgYXQgdGhlCgkgIG1vbWVudCBidXQgY29udGFpbiB0cmFuc2xhdGFibGUgc3RyaW5ncy4gU2hvdWxkIGhvcGVmdWxseSBwYWNpZnkKCSAgYnJva2VuIHRvb2xzIGFuZCBtYWtlIGl0IGNsZWFyZXIgdGhhdCB0aGVzZSBmaWxlcyBhcmUgbGVmdCBvdXQKCSAgaW50ZW50aW9uYWxseSAoIzQ2MTYwMSBhbmQgb3RoZXJzKS4KCjIwMDctMDctMzAgMDk6NTI6MzYgKzAwMDAgIElhbiBNdW5ybyA8aW11bnJvQG5ldHNwYWNlLm5ldC5hdT4KCgkgIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzogSW5jbHVkZSBvdXIgb3duICJfc3RkaW50LmgiIGluc3RlYWQgb2YgPHN0ZGludC5oPiAod2hpY2ggbWF5IG5vdCBiZSBhdmFpbGFibGUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IElhbiBNdW5ybyAgPGltdW5ybyBhdCBuZXRzcGFjZSBuZXQgYXU+CgkgICogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICBJbmNsdWRlIG91ciBvd24gIl9zdGRpbnQuaCIgaW5zdGVhZCBvZiA8c3RkaW50Lmg+ICh3aGljaCBtYXkgbm90CgkgIGJlIGF2YWlsYWJsZSkuCgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmg6CgkgIE5hdGl2ZSBIUC1VWCBjb21waWxlciBkb3NuJ3Qgc2VlbSB0byBsaWtlIGVudW0gdHlwZWRlZnMgYmVmb3JlIHRoZQoJICBhY3R1YWwgZW51bSB3YXMgZGVmaW5lZC4KCSAgKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkgIEZpeCB3cm9uZyB1c2FnZSBvZiBHU1RfRUxFTUVOVF9FUlJPUiBtYWNybyAoIzQ2MTM3MykuCgoyMDA3LTA3LTI2IDE2OjE2OjAxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IFVzZSB0aGUgcHJvcGVyIGNvbnRleHQgdmFyaWFibGUgd2hlbiBzZXR0aW5nIHRoZSBwYXNzd29yZCAhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiAoZ3N0X3JlYWxfYXVkaW9fZGVjX3NldGNhcHMpOgoJICBVc2UgdGhlIHByb3BlciBjb250ZXh0IHZhcmlhYmxlIHdoZW4gc2V0dGluZyB0aGUgcGFzc3dvcmQgIQoJICBMT0cgPT4gV0FSTklORyBmb3IgZXJyb3JzLgoJICBHaXZlIHByb3BlciBwYXRoIHdoZW4gb3BlbmluZyB0aGUgY29kZWMgKG5lZWRzIGEgJy8nIGF0IHRoZSBlbmQpLgoKMjAwNy0wNy0yNSAxODoxMDowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9yZWFsL01ha2VmaWxlLmFtOiBBbmQgZGlzdCB0aGUgbmV3IGhlYWRlciBmaWxlIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkgIEFuZCBkaXN0IHRoZSBuZXcgaGVhZGVyIGZpbGUgdG9vLgoKMjAwNy0wNy0yNSAxNDozNjoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9yZWFsL2dzdHJlYWwuaDogQWRkIG1pc3NpbmcgaGVhZGVyIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWwuaDoKCSAgQWRkIG1pc3NpbmcgaGVhZGVyIGZpbGUuCgoyMDA3LTA3LTI1IDEzOjI5OjA0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvOiBIYW5kbGUgbm90IGxpbmtlZCBwYWRzLCB0cnkgdG8gbWFrZSBpdCByZXVzYWJsZSwgbW9yZSBzYWZldHkgY2hlY2tzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wNy0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwKCSAgKGdzdF9mbHZfZGVtdXhfY2hhbmdlX3N0YXRlKSwgKGdzdF9mbHZfZGVtdXhfZGlzcG9zZSksCgkgIChnc3RfZmx2X2RlbXV4X2luaXQpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChGTFZfR0VUX1NUUklORyksCgkgIChnc3RfZmx2X3BhcnNlX21ldGFkYXRhX2l0ZW0pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwKCSAgKGdzdF9mbHZfcGFyc2VfaGVhZGVyKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6IEhhbmRsZSBub3QgbGlua2VkIHBhZHMsIHRyeSB0byBtYWtlIGl0CgkgIHJldXNhYmxlLCBtb3JlIHNhZmV0eSBjaGVja3MuCgoyMDA3LTA3LTI1IDA1OjU1OjAwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuKjogRG9uJ3QgaW5pdGlhbGl6ZSB0aW1pZGl0eSBpbiBwbHVnaW5faW5pdCBmb3Igc2ltaWxhciByZWFzb24gYXMgYmVsb3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOiAoZ3N0X3RpbWlkaXR5X2luaXQpLAoJICAoZ3N0X3RpbWlkaXR5X2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5Lmg6CgkgIERvbid0IGluaXRpYWxpemUgdGltaWRpdHkgaW4gcGx1Z2luX2luaXQgZm9yIHNpbWlsYXIgcmVhc29uIGFzIGJlbG93LgoKMjAwNy0wNy0yNCAxNToxMzo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLio6IERvbid0IGluaXRpYWxpemUgd2lsZG1pZGkgaW4gcGx1Z2luX2luaXQgYXMgaXQgYWxzbyBzZXR1cHMgYXVkaW8gZmlsdGVycyB3aGljaCBpcyBzbG93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzogKHdpbGRtaWRpX29wZW5fY29uZmlnKSwKCSAgKGdzdF93aWxkbWlkaV9pbml0KSwgKGdzdF93aWxkbWlkaV9jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5oOgoJICBEb24ndCBpbml0aWFsaXplIHdpbGRtaWRpIGluIHBsdWdpbl9pbml0IGFzIGl0IGFsc28gc2V0dXBzIGF1ZGlvCgkgIGZpbHRlcnMgd2hpY2ggaXMgc2xvdy4KCjIwMDctMDctMjQgMTQ6MzY6NTQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcmVhbC86IEltcHJvdmVkIHNlYXJjaCBhbGdvcml0aG0gZm9yIGxvY2F0aW9uIG9mIHJlYWwgLnNvIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IEVkd2FyZCBIZXJ2ZXkgIDxiaWxib2VkQGJpbGJvZWQuY29tPgoJICAqIGdzdC9yZWFsL2dzdHJlYWwuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19zZXRjYXBzKSwKCSAgKGdzdF9yZWFsX2F1ZGlvX2RlY19maW5hbGl6ZSksIChnc3RfcmVhbF9hdWRpb19kZWNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9yZWFsX2F1ZGlvX2RlY19nZXRfcHJvcGVydHkpLCAoZ3N0X3JlYWxfYXVkaW9fZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAob3Blbl9saWJyYXJ5KSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19maW5hbGl6ZSksIChnc3RfcmVhbF92aWRlb19kZWNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19nZXRfcHJvcGVydHkpLCAoZ3N0X3JlYWxfdmlkZW9fZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5oOgoJICBJbXByb3ZlZCBzZWFyY2ggYWxnb3JpdGhtIGZvciBsb2NhdGlvbiBvZiByZWFsIC5zbyBmaWxlcy4KCSAgRml4ZXMgIzM5MzQ2MQoKMjAwNy0wNy0yNCAwNToxNTo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXNlIHRoZSBuZXcgYnVmZmVyIGNsaXBwaW5nIGZ1bmN0aW9uIGZyb20gZ3N0YXVkaW8gaGVyZSBhbmQgcmVxdWlyZSBnc3QtcGx1Z2lucy1iYXNlIENWUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2NoYWluKSwgKGdzdF9mYWFkX2NoYW5nZV9zdGF0ZSk6CgkgIFVzZSB0aGUgbmV3IGJ1ZmZlciBjbGlwcGluZyBmdW5jdGlvbiBmcm9tIGdzdGF1ZGlvIGhlcmUgYW5kCgkgIHJlcXVpcmUgZ3N0LXBsdWdpbnMtYmFzZSBDVlMuCgoyMDA3LTA3LTIzIDA5OjEzOjQyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFN5bmMgbGlib2lsIGNoZWNrIHdpdGggcGx1Z2lucy1iYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFN5bmMgbGlib2lsIGNoZWNrIHdpdGggcGx1Z2lucy1iYXNlLgoKMjAwNy0wNy0yMCAxMTozNzozNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci86IEJldHRlciBhbGdvcml0aCBmb3IgdGhlIGNlbnRlciBmcmVxdWVuY2llcy4gU3VidHJhY3QgYmFuZCBmaWx0ZXJzIGZyb20gaW5wdXQgZm9yIG5lZ2F0aXZlIGdhaW5zLiBSZXdvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NsYXNzX2luaXQpLCAoYXJnX3RvX3NjYWxlKSwgKHNldHVwX2ZpbHRlciksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzKToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19jbGFzc19pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICBCZXR0ZXIgYWxnb3JpdGggZm9yIHRoZSBjZW50ZXIgZnJlcXVlbmNpZXMuIFN1YnRyYWN0IGJhbmQgZmlsdGVycyBmcm9tCgkgIGlucHV0IGZvciBuZWdhdGl2ZSBnYWlucy4gUmV3b3JrIHRoZSBnYWluIG1hcHBpbmcuCgoyMDA3LTA3LTIwIDExOjAzOjM5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvZGlyYWMvTWFrZWZpbGUuYW06IEFsc28gaW5jbHVkZSBzdGRsaWIgaGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJICBBbHNvIGluY2x1ZGUgc3RkbGliIGhlcmUuCgoyMDA3LTA3LTE5IDE1OjI5OjUyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6IEZpeCB0aGUgYnVpbGRib3Qgd2l0aCB0aGUgY3ZzaWdub3JlIGl0IHdhbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBGaXggdGhlIGJ1aWxkYm90IHdpdGggdGhlIGN2c2lnbm9yZSBpdCB3YW50cy4KCjIwMDctMDctMTkgMTU6MDU6MzAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgQWRkcyBhIGZpcnN0IGRyYWZ0IG9mIGFuIEZMViBkZW11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wNy0xOSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZmx2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfZmx1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwgKGdzdF9mbHZfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksIChnc3RfZmx2X2RlbXV4X3B1bGxfaGVhZGVyKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2Vla190b19wcmV2X2tleWZyYW1lKSwgKGdzdF9mbHZfZGVtdXhfbG9vcCksCgkgIChnc3RfZmx2X2RlbXV4X3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X2Zsdl9kZW11eF9zaW5rX2FjdGl2YXRlX3B1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpLCAoZ3N0X2Zsdl9kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9mbHZfZGVtdXhfY2hhbmdlX3N0YXRlKSwgKGdzdF9mbHZfZGVtdXhfZGlzcG9zZSksCgkgIChnc3RfZmx2X2RlbXV4X2Jhc2VfaW5pdCksIChnc3RfZmx2X2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X2Zsdl9kZW11eF9pbml0KSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoRkxWX0dFVF9CRVVJMjQpLCAoRkxWX0dFVF9TVFJJTkcpLAoJICAoZ3N0X2Zsdl9kZW11eF9xdWVyeV90eXBlcyksIChnc3RfZmx2X2RlbXV4X3F1ZXJ5KSwKCSAgKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdHlwZSksIChnc3RfZmx2X3BhcnNlX2hlYWRlcik6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5oOiBBZGRzIGEgZmlyc3QgZHJhZnQgb2YgYW4gRkxWIGRlbXV4ZXIuCgkgIEl0IGRvZXMgbm90IGRvIHNlZWtpbmcgeWV0LCBpdCBzdXBwb3J0cyBwdWxsIGFuZCBwdXNoIG1vZGUgc28KCSAgWUVTCgkgIHlvdSBjYW4gdXNlIGl0IHRvIHBsYXkgeW91dHViZSB2aWRlb3MgZGlyZWN0bHkgZnJvbSBhbiBIVFRQIHVyaS4KCSAgTm90IHNvIG11Y2ggdGVzdGluZyBkb25lIHlldCBidXQgaXQgcGFyc2VzIG1ldGFkYXRhLCByZXBseSB0bwoJICBkdXJhdGlvbiBxdWVyaWVzLCBldGMuLi4KCjIwMDctMDctMTkgMDk6MDg6MzAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiB0ZXN0cy9jaGVjay9lbGVtZW50cy90aW1pZGl0eS5jIChHU1RfU1RBUlRfVEVTVCwgdGltaWRpdHlfc3VpdGUsIG1haW4pOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90aW1pZGl0eS5jIChHU1RfU1RBUlRfVEVTVCwgdGltaWRpdHlfc3VpdGUsCgkgIG1haW4pOgoJICBBZGQgdHlwZWZpbmQgdGVzdCBmb3IgbWlkaS4KCjIwMDctMDctMTggMjA6NTY6MjIgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOiBJZiB3ZSByZWNlaXZlIGEgbmV3IHNlZ21lbnQgZXZlbnQsIGRvbid0IHRyeSB0byBwdXNoIGJ1ZmZlcnMgb3V0IGluIHJlc3BvbnNlICh3aXRob3V0IGZpci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgSWYgd2UgcmVjZWl2ZSBhIG5ldyBzZWdtZW50IGV2ZW50LCBkb24ndCB0cnkgdG8gcHVzaCBidWZmZXJzIG91dAoJICBpbiByZXNwb25zZSAod2l0aG91dCBmaXJzdCBzZW5kaW5nIGl0IG9uISkuCgkgIEluc3RlYWQsIGZsdXNoIGludGVybmFsIGJ1ZmZlcnMgb24gcmVjZWl2aW5nIGZsdXNoIGV2ZW50cy4KCSAgRml4ZXMgcGxheWJhY2sgYWZ0ZXIgc2Vla2luZy4KCjIwMDctMDctMTggMDg6MDA6MDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzogQWRkIGJhc2ljIGRvY3MuIFVzZSBnbGlicyBtZW0gcm91dGluZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzogKGdzdF9iYXllcjJyZ2Jfc2V0X2NhcHMpLAoJICAoZ3N0X2JheWVyMnJnYl9yZXNldCk6CgkgIEFkZCBiYXNpYyBkb2NzLiBVc2UgZ2xpYnMgbWVtIHJvdXRpbmVzLgoKMjAwNy0wNy0xOCAwNzo1MToxMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogQWRkIGV4YW1wbGUgdG8gdGhlIGRvY3MuIEZpeCBidWZmZXItb2Zmc2V0LWVuZCBhbmQgYWRkIHNvbWUgZGVidWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IChnc3RfbXVsdGlfZmlsZV9zcmNfY3JlYXRlKToKCSAgQWRkIGV4YW1wbGUgdG8gdGhlIGRvY3MuIEZpeCBidWZmZXItb2Zmc2V0LWVuZCBhbmQgYWRkIHNvbWUgZGVidWcuCgoyMDA3LTA3LTE4IDA3OjQyOjQ3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IEFkZCBzdGRsaWIgaW5jbHVkZSBoZXJlIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoZ3N0X2phY2tfcmluZ19idWZmZXJfb3Blbl9kZXZpY2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfYWNxdWlyZSk6CgkgIEFkZCBzdGRsaWIgaW5jbHVkZSBoZXJlIHRvby4KCjIwMDctMDctMTggMDc6MzU6MzIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEFkZCBzdGRsaWIgaW5jbHVkZSAoZnJlZSwgYXRvaSwgZXhpdCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmNfZXguYzoKCSAgKiBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSAgKiBnc3QvbXZlL212ZWF1ZGlvZW5jLmM6IChtdmVfY29tcHJlc3NfYXVkaW8pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIEFkZCBzdGRsaWIgaW5jbHVkZSAoZnJlZSwgYXRvaSwgZXhpdCkuCgoyMDA3LTA3LTE2IDA5OjE5OjE0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEZpeCBidWZmZXIgY2xpcHBpbmcgdG8gY29ycmVjdGx5IGNsaXAgdG8gdGhlIHNlZ21lbnQgc3RvcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoY2xpcF9vdXRnb2luZ19idWZmZXIpOgoJICBGaXggYnVmZmVyIGNsaXBwaW5nIHRvIGNvcnJlY3RseSBjbGlwIHRvIHRoZSBzZWdtZW50IHN0b3AuCgoyMDA3LTA3LTE0IDE4OjQ4OjI1ICswMDAwICBIYW5zIGRlIEdvZWRlIDxqLncuci5kZWdvZWRlQGhocy5ubD4KCgkgIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6IGFkZCBzZXZlcmFsIG1pc3Npbmcgc3VwcG9ydGVkIG1pbWUtdHlwZXMgdG8gdGhlIG1vZHBsdWcgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEhhbnMgZGUgR29lZGUgPGoudy5yLmRlZ29lZGUgYXQgaGhzIGRvdCBubD4KCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBhZGQgc2V2ZXJhbCBtaXNzaW5nIHN1cHBvcnRlZCBtaW1lLXR5cGVzIHRvIHRoZSBtb2RwbHVnIHBsdWdpbi4KCSAgRml4ZXMgIzQ1NjkwMS4KCjIwMDctMDctMTMgMTY6NDY6MDAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVtb3ZlIGJvZ3VzIGNoZWNrIGZvciBsaWJjaGVjaywgc2luY2Ugd2UgY2hlY2sgZm9yIGdzdHJlYW1lci1jaGVjayBhbmQgaXQgcHVsbHMgaW4gdGhlIHJlcXVpcmVkIGluZm8gZnJvbSB0aGVyZSwgYW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiB0ZXN0cy9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIGJvZ3VzIGNoZWNrIGZvciBsaWJjaGVjaywgc2luY2Ugd2UgY2hlY2sgZm9yCgkgIGdzdHJlYW1lci1jaGVjayBhbmQgaXQgcHVsbHMgaW4gdGhlIHJlcXVpcmVkIGluZm8gZnJvbSB0aGVyZSwgYW5kIHdlCgkgIHdlcmVuJ3QgYWN0dWFsbHkgX3VzaW5nXyB0aGUgaW5mb3JtYXRpb24gZm9yIGxpYmNoZWNrIG91cnNlbHZlcwoJICBhbnl3YXkuCgoyMDA3LTA3LTEyIDExOjU1OjEwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFVzZSBwa2ctY29uZmlnIHRvIGxvY2F0ZSBjaGVjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVc2UgcGtnLWNvbmZpZyB0byBsb2NhdGUgY2hlY2suCgoyMDA3LTA3LTExIDIzOjQzOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogRml4IGJ1aWxkIGFnYWluc3QgY29yZSBDVlMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9wcm9jZXNzKToKCSAgKiBnc3Qvdm1uYy92bW5jZGVjLmM6ICh2bW5jX21ha2VfYnVmZmVyKToKCSAgRml4IGJ1aWxkIGFnYWluc3QgY29yZSBDVlMuCgoyMDA3LTA3LTA5IDA2OjA1OjQ1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBSRVFVSVJFTUVOVFM6IFN5bmMgd2l0aCBjaGFuZ2VzIGluIC11Z2x5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBSRVFVSVJFTUVOVFM6CgkgIFN5bmMgd2l0aCBjaGFuZ2VzIGluIC11Z2x5LgoKMjAwNy0wNy0wOCAxOTowNjo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFJFUVVJUkVNRU5UUzogQWRkIGRvd25sb2FkIGxvY2F0aW9uIG9mIGxpYmFtcndiLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBSRVFVSVJFTUVOVFM6CgkgIEFkZCBkb3dubG9hZCBsb2NhdGlvbiBvZiBsaWJhbXJ3Yi4KCjIwMDctMDctMDYgMjE6MDc6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC86IEFkZCBtaXNzaW5nIGluc3BlY3QgZmlsZXMuIEZpeGVzIGJ1aWxkICgjNDU0MzEzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGltaWRpdHkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkgIEFkZCBtaXNzaW5nIGluc3BlY3QgZmlsZXMuIEZpeGVzIGJ1aWxkICgjNDU0MzEzKS4KCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzogKHdpbGRtaWRpX29wZW5fY29uZmlnKToKCSAgU2NyZWFtIGEgYml0IGxvdWRlciB3aGVuIGluaXRpYWxpc2F0aW9uIGZhaWxzLgoJICAqIGdzdC1saWJzL1JFQURNRToKCSAgKiBnc3QtbGlicy9leHQvLmN2c2lnbm9yZToKCSAgUmVtb3ZlIHNvbWUgY3J1ZnQuCgoyMDA3LTA3LTA1IDIyOjI4OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06IERpc3QgaGVhZGVyIGZpbGVzLiBGaXhlcyAjNDU0MDc4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbToKCSAgRGlzdCBoZWFkZXIgZmlsZXMuIEZpeGVzICM0NTQwNzguCgoyMDA3LTA3LTA1IDA4OjQ1OjMyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IFNpbXBsaWZ5IC0tZXh0cmEtZGlyIGFzIGd0a2RvYyBzY2FucyByZWN1cnNpdmVseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBTaW1wbGlmeSAtLWV4dHJhLWRpciBhcyBndGtkb2Mgc2NhbnMgcmVjdXJzaXZlbHkuCgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkgIEZpeCBjb21tZW50IHN0YXJ0LgoKMjAwNy0wNy0wNCAxMTo1Njo1NSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmMgKGR2YnNyY19kZXRhaWxzLCBBUkdfRFZCU1JDX0FEQVBURVIsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmMgKGR2YnNyY19kZXRhaWxzLCBBUkdfRFZCU1JDX0FEQVBURVIsCgkgIEFSR19EVkJTUkNfRlJPTlRFTkQsIEFSR19EVkJTUkNfRElTRVFDX1NSQywgQVJHX0RWQlNSQ19GUkVRVUVOQ1ksCgkgIEFSR19EVkJTUkNfUE9MQVJJVFksIGdzdF9kdmJzcmNfY2xhc3NfaW5pdCwgZ3N0X2R2YnNyY19pbml0LAoJICBnc3RfZHZic3JjX3NldF9wcm9wZXJ0eSwgZ3N0X2R2YnNyY19nZXRfcHJvcGVydHksCgkgIGdzdF9kdmJzcmNfb3Blbl9mcm9udGVuZCwgZ3N0X2R2YnNyY19vcGVuX2R2ciwgcmVhZF9kZXZpY2UsCgkgIGdzdF9kdmJzcmNfY3JlYXRlLCBnc3RfZHZic3JjX3NldF9wZXNfZmlsdGVycyk6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuaCAoYWRhcHRlcl9udW1iZXIsIGZyb250ZW5kX251bWJlcik6CgkgIFJlbW92ZWQgcHJvcGVydHkgImRldmljZSIuIEFkZGVkIHByb3BlcnRpZXMgImFkYXB0ZXIiIGFuZCAiZnJvbnRlbmQiLgoJICBGaXhlcyAjNDUzNjM2LgoJICBSZW5hbWUgZnJlcSBwcm9wZXJ0eSB0byBmcmVxdWVuY3kuCgoyMDA3LTA3LTAzIDE3OjA5OjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6IEZpeCBwcm9wZXJ0eSBkZXNjcmlwdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOiAoZ3N0X3ZpZGVvX2RldGVjdF9jbGFzc19pbml0KToKCSAgRml4IHByb3BlcnR5IGRlc2NyaXB0aW9ucy4KCjIwMDctMDctMDMgMDk6MTg6MjIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEFsc28gZG9jdW1lbnQgQU1SLVdCIGVsZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgIEFsc28gZG9jdW1lbnQgQU1SLVdCIGVsZW1lbnRzLgoKMjAwNy0wNy0wMyAwODoxNjoxNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQ2xlYW51cCB0aGUgc2VjdGlvbiBmaWxlIHNvIHRoYXQgLXVudXNlZCBpcyBlbXB0eSBhZ2FpbiAoYW5kIHVzZWZ1bCB0byBzcG90IG5ldyBkb2NzKS4gQWRkIG5vdCB5ZXQgYWRkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgIENsZWFudXAgdGhlIHNlY3Rpb24gZmlsZSBzbyB0aGF0IC11bnVzZWQgaXMgZW1wdHkgYWdhaW4gKGFuZCB1c2VmdWwgdG8KCSAgc3BvdCBuZXcgZG9jcykuIEFkZCBub3QgeWV0IGFkZGVkIGRvY3MgdG8gc2dtbCBmaWxlLiBBZGQgbW9yZSBoZWFkZXIKCSAgdG8gTWFrZWZpbGUuYW0gdG8gbWFrZSB0aGVtIGludHJvc3BlY3RhYmxlLgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICBVcGRhdGUgdGhlIGRvYyBibG9icy4KCjIwMDctMDctMDMgMDg6MDE6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9tdWx0aWZpbGUvOiBBZGQgLmggZmlsZXMgdG8gYmUgYWJsZSB0byBhZGQgaXQgdG8gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGUuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmg6CgkgIEFkZCAuaCBmaWxlcyB0byBiZSBhYmxlIHRvIGFkZCBpdCB0byB0aGUgZG9jcy4KCjIwMDctMDctMDMgMDc6NTI6NTIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6IEFjdGl2YXRlIGRvYyBzZWN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBBY3RpdmF0ZSBkb2Mgc2VjdGlvbi4KCjIwMDctMDctMDMgMDc6NDE6MzQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC90aW1pZGl0eS86IEZpeCBsaWNlbmNlIChib3RoIGFyZSBHUEwpLiBBZGQgZWxlbWVudCBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuaDoKCSAgRml4IGxpY2VuY2UgKGJvdGggYXJlIEdQTCkuIEFkZCBlbGVtZW50IGRvY3MuCgoyMDA3LTA3LTAzIDA3OjMwOjQ3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmg6IEZpeCBfZ2V0X3R5cGUgc2lnbmF0dXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmg6CgkgIEZpeCBfZ2V0X3R5cGUgc2lnbmF0dXJlLgoKMjAwNy0wNy0wMyAwNzoxNjoyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuaDogRml4IEdPYmplY3QgbWFjcm9zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ3ZvbHVtZS5oOgoJICBGaXggR09iamVjdCBtYWNyb3MuCgoyMDA3LTA2LTI5IDE1OjIzOjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6IE1ha2UgYSBidW5jaCBvZiBmdW5jdGlvbnMgc3RhdGljLCBhbmQgbW92ZSB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgdG8gdGhlIHN0YXJ0IG9mIGJsb2NrcyB0byBhdi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOiAoZ3N0X2RjMTM5NF9zcmNfZml4YXRlKSwKCSAgKGdzdF9kYzEzOTRfY3JlYXRlKSwgKGdzdF9kYzEzOTRfY2Fwc19zZXRfZm9ybWF0X3Ztb2RlX2NhcHMpLAoJICAoZ3N0X2RjMTM5NF9zZXRfY2Fwc19mcmFtZXNpemVfcmFuZ2UpLAoJICAoZ3N0X2RjMTM5NF9jYXBzX3NldF9mcmFtZXJhdGVfbGlzdCksIChnc3RfZGMxMzk0X2dldF9jYW1fY2FwcyksCgkgIChnc3RfZGMxMzk0X2ZyYW1lcmF0ZV9mcmFjX3RvX2NvbnN0KSwKCSAgKGdzdF9kYzEzOTRfb3Blbl9jYW1fd2l0aF9iZXN0X2NhcHMpOgoJICBNYWtlIGEgYnVuY2ggb2YgZnVuY3Rpb25zIHN0YXRpYywgYW5kIG1vdmUgdmFyaWFibGUgZGVjbGFyYXRpb25zCgkgIHRvIHRoZSBzdGFydCBvZiBibG9ja3MgdG8gYXZvaWQgcHJvYmxlbXMgb24gb2xkZXIgZ2NjLgoJICBNYWtlIHN1cmUgdG8gdW5zZXQgdmFsdWUgdHlwZXMuCgoyMDA3LTA2LTI5IDE0OjQ4OjU5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6IFRoZSBjb3JyZWN0IGZvdXJjYyBmb3IgdGhlIDQ6MToxIHBhY2tlZCBmb3JtYXQgaXMgJ0lZVTEnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOiAoZ3N0X2RjMTM5NF9zZXRfY2Fwc19jb2xvcik6CgkgIFRoZSBjb3JyZWN0IGZvdXJjYyBmb3IgdGhlIDQ6MToxIHBhY2tlZCBmb3JtYXQgaXMgJ0lZVTEnLgoJICBXaXRoIENWUyBvZiBmZm1wZWdjb2xvcnNwYWNlIGZyb20gcGx1Z2lucy1iYXNlLCBJIGNhbiBub3cKCSAgZ2V0IDMwIGZwcyBmcm9tIHRoZSBpU2lnaHQuCgoyMDA3LTA2LTI5IDE0OjExOjI0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6IENoYW5nZSBhIGdfcHJpbnQgdG8gYSBHU1RfREVCVUcgbWVzc2FnZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzogKGdzdF9kYzEzOTRfc2V0X2NhcHNfY29sb3IpOgoJICBDaGFuZ2UgYSBnX3ByaW50IHRvIGEgR1NUX0RFQlVHIG1lc3NhZ2UuCgoyMDA3LTA2LTI5IDEzOjA5OjE5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgT29wcywgYWRkIGFuIGF0dHJpYnV0aW9uIGZvciBBbnRvaW5lIFRyZW1ibGF5IHRvbyAtIHRoZSBvcmlnaW5hbCBwYXRjaCBhdXRob3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBPb3BzLCBhZGQgYW4gYXR0cmlidXRpb24gZm9yIEFudG9pbmUgVHJlbWJsYXkgdG9vIC0gdGhlIG9yaWdpbmFsIHBhdGNoIGF1dGhvci4KCjIwMDctMDYtMjkgMTM6MDM6MjcgKzAwMDAgIEVyaWMgSm9uYXMgPGpvbmFzQG1pdC5lZHU+CgoJICBDb21taXQgbmV3IGRjMTM5NHNyYyBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kYzEzOTQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzogKGdzdF9kYzEzOTRfYmFzZV9pbml0KSwKCSAgKGdzdF9kYzEzOTRfY2xhc3NfaW5pdCksIChnc3RfZGMxMzk0X2luaXQpLAoJICAoZ3N0X2RjMTM5NF9zcmNfZml4YXRlKSwgKGdzdF9kYzEzOTRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kYzEzOTRfZ2V0X3Byb3BlcnR5KSwgKGdzdF9kYzEzOTRfZ2V0Y2FwcyksCgkgIChnc3RfZGMxMzk0X3NldGNhcHMpLCAoZ3N0X2RjMTM5NF9nZXRfdGltZXMpLCAoZ3N0X2RjMTM5NF9jcmVhdGUpLAoJICAoZ3N0X2RjMTM5NF9wYXJzZV9jYXBzKSwgKGdzdF9kYzEzOTRfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9kYzEzOTRfY2Fwc19zZXRfZm9ybWF0X3Ztb2RlX2NhcHMpLAoJICAoZ3N0X2RjMTM5NF9zZXRfY2Fwc19jb2xvciksIChnc3RfZGMxMzk0X3NldF9jYXBzX2ZyYW1lc2l6ZSksCgkgIChnc3RfZGMxMzk0X3NldF9jYXBzX2ZyYW1lc2l6ZV9yYW5nZSksCgkgIChnc3RfZGMxMzk0X2NhcHNfc2V0X2ZyYW1lcmF0ZV9saXN0KSwKCSAgKGdzdF9kYzEzOTRfZnJhbWVyYXRlX2NvbnN0X3RvX2ZyYWMpLAoJICAoZ3N0X2RjMTM5NF9nZXRfYWxsX2RjMTM5NF9jYXBzKSwgKGdzdF9kYzEzOTRfZ2V0X2NhbV9jYXBzKSwKCSAgKGdzdF9kYzEzOTRfZnJhbWVyYXRlX2ZyYWNfdG9fY29uc3QpLAoJICAoZ3N0X2RjMTM5NF9vcGVuX2NhbV93aXRoX2Jlc3RfY2FwcyksCgkgIChnc3RfZGMxMzk0X2NoYW5nZV9jYW1lcmFfdHJhbnNtaXNzaW9uKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5oOgoJICBDb21taXQgbmV3IGRjMTM5NHNyYyBlbGVtZW50LgoJICBQYXRjaCBCeTogRXJpYyBKb25hcyA8IGpvbmFzIGF0IG1pdCBkb3QgZWR1ID4KCSAgQ2xvc2U6ICMzODcyNTEKCjIwMDctMDYtMjggMTA6NDA6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzogUmVnaXN0ZXIgbmV3IHByb3BlcnR5IGFzIHdlbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOiAoZ3N0X3ZpZGVvX2RldGVjdF9jbGFzc19pbml0KToKCSAgUmVnaXN0ZXIgbmV3IHByb3BlcnR5IGFzIHdlbGwuCgoyMDA3LTA2LTI4IDA5OjM2OjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0Lio6IEFkZCBwcm9wZXJ0eSB0byBhZGp1c3QgdGhlIGNlbnRlciwgc2Vuc2l0aXZpdHkgaXMgbm93IHRoZSBkaXN0YW5jZSBmcm9tIHRoaXMgY2VudGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzogKGdzdF92aWRlb19kZXRlY3RfNDIwKSwKCSAgKGdzdF92aWRlb19kZXRlY3Rfc2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19kZXRlY3RfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuaDoKCSAgQWRkIHByb3BlcnR5IHRvIGFkanVzdCB0aGUgY2VudGVyLCBzZW5zaXRpdml0eSBpcyBub3cgdGhlIGRpc3RhbmNlIGZyb20KCSAgdGhpcyBjZW50ZXIuCgoyMDA3LTA2LTI3IDE1OjMzOjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvc2lnbmFsLzogQWRkIGxlZnQgYW5kIGJvdHRvbSBvZmZzZXQgcHJvcGVydGllcyB0byBjb250cm9sIHRoZSBwb3NpdGlvbiBvZiB0aGUgcGF0dGVybi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6IChnc3RfdmlkZW9fZGV0ZWN0XzQyMCksCgkgIChnc3RfdmlkZW9fZGV0ZWN0X3NldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fZGV0ZWN0X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfdmlkZW9fZGV0ZWN0X2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5oOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzogKGdzdF92aWRlb19tYXJrX2RyYXdfYm94KSwKCSAgKGdzdF92aWRlb19tYXJrXzQyMCksIChnc3RfdmlkZW9fbWFya19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3ZpZGVvX21hcmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19tYXJrX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuaDoKCSAgQWRkIGxlZnQgYW5kIGJvdHRvbSBvZmZzZXQgcHJvcGVydGllcyB0byBjb250cm9sIHRoZSBwb3NpdGlvbiBvZiB0aGUKCSAgcGF0dGVybi4KCjIwMDctMDYtMjUgMTI6NDc6NDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFVwZGF0ZSBkb2NzIHdpdGggY2FwcyBpbmZvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbGltYWdlc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgIFVwZGF0ZSBkb2NzIHdpdGggY2FwcyBpbmZvLgoKMjAwNy0wNi0yNSAxMTowMjoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdjb25mLzogUmVtb3ZlIGR5c2Z1bmN0aW9uYWwgZGlyZWN0b3J5ICh0aGlzIHN0dWZmIGlzIGluIC1nb29kKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ2NvbmYvLmN2c2lnbm9yZToKCSAgKiBnY29uZi9NYWtlZmlsZS5hbToKCSAgKiBnY29uZi9nc3RyZWFtZXIuc2NoZW1hcy5pbjoKCSAgUmVtb3ZlIGR5c2Z1bmN0aW9uYWwgZGlyZWN0b3J5ICh0aGlzIHN0dWZmIGlzIGluIC1nb29kKS4KCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOiAocGx1Z2luX2luaXQpOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZCBpMThuIGJpbmR0ZXh0ZG9tYWluIHN0dWZmLgoJICAqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOiAoZ3N0X251dl9kZW11eF9jbGFzc19pbml0KSwKCSAgKHBsdWdpbl9pbml0KToKCSAgUG9zdCBhbiBlcnJvciBtZXNzYWdlIHdoZW4gcmV0dXJuaW5nIEdTVF9GTE9XX0VSUk9SOyBtaW5vciBjbGVhbnVwcy4KCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgQWRkIG1vcmUgc291cmNlIGZpbGVzIHdpdGggdHJhbnNsYXRhYmxlIHN0cmluZ3MgKGZpeGVzICM0NTA2MDUpLgoKMjAwNy0wNi0yMyAxMToyNDo0NCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby86IEFkZGVkIENoaW5lc2UgKHNpbXBsaWZpZWQpIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ29udHJpYnV0ZWQgYnk6IFdlbnpoZW5nIEh1IDxkYl9sb2JzdGVyQDE2My5jb20+CgkgICogcG8vTElOR1VBUzoKCSAgKiBwby96aF9DTi5wbzoKCSAgQWRkZWQgQ2hpbmVzZSAoc2ltcGxpZmllZCkgdHJhbnNsYXRpb24uCgoyMDA3LTA2LTIyIDIwOjIzOjE4ICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICBnc3QvOiBCdWlsZCBmaXhlcyBmb3IgZ2NjLTIuOXggKG5vIG1pZC1ibG9jayB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgZXRjLikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmVucyBHcmFuc2V1ZXIgIDxqZW5zZ3IgYXQgZ214IG5ldD4KCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzoKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoX3NvcnRlZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6IChnc3Rfc3dpdGNoX2NoYWluKToKCSAgQnVpbGQgZml4ZXMgZm9yIGdjYy0yLjl4IChubyBtaWQtYmxvY2sgdmFyaWFibGUgZGVjbGFyYXRpb25zIGV0Yy4pLgoJICBGaXhlcyAjNDUwMTg1LgoKMjAwNy0wNi0yMiAxNTozMDowMCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6CgkqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmg6CgkgIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jIChteV9idXNfY2FsbGJhY2ssIHN3aXRjaF90aW1lciwgbGFzdF9tZXNzYWdlX3JlY2VpdmVkLCBtYWluKTogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0Xy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYyAobXlfYnVzX2NhbGxiYWNrLCBzd2l0Y2hfdGltZXIsCgkgIGxhc3RfbWVzc2FnZV9yZWNlaXZlZCwgbWFpbik6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N3aXRjaF9yZWxlYXNlX3BhZCwKCSAgZ3N0X3N3aXRjaF9yZXF1ZXN0X25ld19wYWQsIGdzdF9zd2l0Y2hfY2hhaW4sIGdzdF9zd2l0Y2hfZXZlbnQsCgkgIGdzdF9zd2l0Y2hfc2V0X3Byb3BlcnR5LCBnc3Rfc3dpdGNoX2dldF9wcm9wZXJ0eSwKCSAgZ3N0X3N3aXRjaF9nZXRfbGlua2VkX3BhZCwgZ3N0X3N3aXRjaF9nZXRjYXBzLAoJICBnc3Rfc3dpdGNoX2J1ZmZlcmFsbG9jLCBnc3Rfc3dpdGNoX2Rpc3Bvc2UsIGdzdF9zd2l0Y2hfaW5pdCk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaCAoc3dpdGNoX211dGV4LCBHU1RfU1dJVENIX0xPQ0ssCgkgIEdTVF9TV0lUQ0hfVU5MT0NLKToKCSAgQWRkIGFuIGV4dHJhIGxvY2sgdG8gcHJvdGVjdCBhZ2FpbnN0IGNlcnRhaW4gdmFyaWFibGVzIGluc3RlYWQgb2YKCSAgdXNpbmcgdGhlIG9iamVjdCBsb2NrLiBGaXggY2FzZSB3aGVyZSBjYXBzIGFyZSBkaWZmZXJlbnQgaW4gdGhlCgkgIHNpbmsgcGFkcyBjYXVzZXMgZGVhZGxvY2suIFVwZGF0ZSBleGFtcGxlIHRvIHVzZSBkaWZmZXJlbnQgY2FwcwoJICBvbiBlYWNoIHNpbmsgcGFkLgoKMjAwNy0wNi0yMiAxNDoyNzo0MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNQUlOVEFJTkVSUzogVXBkYXRpbmcgYWxsIHRoZSBtYWludGFpbmVycyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNQUlOVEFJTkVSUzoKCSAgVXBkYXRpbmcgYWxsIHRoZSBtYWludGFpbmVycyBmaWxlcwoKMjAwNy0wNi0yMiAxMDo0NjozMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIEZpeCBsZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6IChnc3RfYW1yd2JkZWNfaW5pdCk6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6IChnc3RfYW1yd2JlbmNfaW5pdCk6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzogKGdzdF9hbXJ3YnBhcnNlX2luaXQpOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5jOiAoZ3N0X2J6MmRlY19pbml0KToKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5jOiAoZ3N0X2J6MmVuY19pbml0KToKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6IChnc3RfZGl2eGRlY19pbml0KToKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6IChnc3RfZGl2eGVuY19pbml0KToKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19pbml0KToKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5jOiAoZ3N0X2dzbWRlY19pbml0KToKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOiAoZ3N0X2dzbWVuY19pbml0KToKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzogKGdzdF9oZXJtZXNfY29sb3JzcGFjZV9pbml0KToKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2luaXQpOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzogKGdzdF9mYW1lZW5jX2luaXQpOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOiAoZ3N0X3NuYXBzaG90X2luaXQpOgoJICAqIGV4dC9zcGMvZ3N0c3BjLmM6IChnc3Rfc3BjX2RlY19pbml0KToKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY19pbml0KToKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6IChnc3RfeHZpZGVuY19pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOiAoZ3N0X2NkeGFfcGFyc2VfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfaW5pdCk6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6IChnc3RfY2hhcnRfaW5pdCk6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6IChnc3RfZmVzdGl2YWxfaW5pdCk6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzogKGdzdF9mcmVlemVfaW5pdCk6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzogKGdzdF9taXhtYXRyaXhfcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzogKGdzdF9zeXN0ZW1fZW5jb2RlX2luaXQpOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzogKGdzdF9tcGVnMnN1YnRfaW5pdCk6CgkgICogZ3N0L25zZi9nc3Ruc2YuYzogKGdzdF9uc2ZkZWNfaW5pdCk6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOiAoZ3N0X292ZXJsYXlfaW5pdCk6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6IChwYXNzdGhyb3VnaF9pbml0KToKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOiAocGxheV9vbl9kZW1hbmRfaW5pdCk6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzogKGdzdF9zbW9vdGhfaW5pdCk6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOiAoZ3N0X3Ntb290aHdhdmVfaW5pdCk6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6IChzcGVlZF9pbml0KToKCSAgKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOiAoZ3N0X3ZiaWRlY19pbml0KToKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOiAoZ3N0X3ZpZGVvZHJvcF9pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOiAoZHhyM3NwdXNpbmtfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOiAoZHhyM3ZpZGVvc2lua19pbml0KToKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6IChnc3RfcWNhbXNyY19pbml0KToKCSAgRml4IGxlYWtzLgoKMjAwNy0wNi0yMSAxODo0MToxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFJlLWVuYWJsZSBWQ0Qgc291cmNlIGFuZCBmaXggdXAgcmVsZWFzZSBub3Rlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogUkVMRUFTRToKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgIFJlLWVuYWJsZSBWQ0Qgc291cmNlIGFuZCBmaXggdXAgcmVsZWFzZSBub3Rlcy4KCjIwMDctMDYtMjAgMTA6MTU6MDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IERvY3VtZW50IHBhcmFtZXRlciBtYXBwaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICBEb2N1bWVudCBwYXJhbWV0ZXIgbWFwcGluZy4KCjIwMDctMDYtMjAgMDg6NTY6MTcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBGaXggbGVha2luZyBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9ldmVudCksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgRml4IGxlYWtpbmcgYnVmZmVycy4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOiAoc2V0dXBfc3BlY3RydW0pLAoJICAoY2xlYW51cF9zcGVjdHJ1bSksIChHU1RfU1RBUlRfVEVTVCksIChzcGVjdHJ1bV9zdWl0ZSksIChtYWluKToKCSAgQWRkIHNpbXBsZSB0ZXN0IGZvciBzcGVjdHJ1bSBlbGVtZW50LgoKMjAwNy0wNi0yMCAwODo0MjoxNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2FtcndiLzogQWRkIG5ld3NlZ21lbnQgYW5kIGRpc2NvbnQgaGFuZGxpbmcuIFNvbWUgY29kZSBjbGVhbnVwcy4gRG9uJ3QgbGVhayB0aGUgYWRhcHRlciwgdW5yZWYgaXQgaW4gYSBuZXcgZmluYWxpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOiAoZ3N0X2FtcndiZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfYW1yd2JkZWNfY2xhc3NfaW5pdCksIChnc3RfYW1yd2JkZWNfZmluYWxpemUpLAoJICAoZ3N0X2FtcndiZGVjX2V2ZW50KSwgKGdzdF9hbXJ3YmRlY19jaGFpbiksCgkgIChnc3RfYW1yd2JkZWNfc3RhdGVfY2hhbmdlKToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOiAoZ3N0X2FtcndicGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF9hbXJ3YnBhcnNlX3B1bGxfaGVhZGVyKSwgKGdzdF9hbXJ3YnBhcnNlX2xvb3ApOgoJICBBZGQgbmV3c2VnbWVudCBhbmQgZGlzY29udCBoYW5kbGluZy4gU29tZSBjb2RlIGNsZWFudXBzLiBEb24ndCBsZWFrCgkgIHRoZSBhZGFwdGVyLCB1bnJlZiBpdCBpbiBhIG5ldyBmaW5hbGl6ZSBtZXRob2QgaW5zdGVhZC4gU3luYyB0aGUKCSAgcGFyc2VyIHdpdGggdGhlIGFtci1uYiBjaGFuZ2VzLgoKMjAwNy0wNi0xOSAxMDo0NToyOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gQ1ZTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gQ1ZTLgoJICAqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJICBBZGQgMC4xMC41IHRvIHRoZSBkb2FwIGZpbGUuCgo9PT0gcmVsZWFzZSAwLjEwLjUgPT09CgoyMDA3LTA2LTE5IDEwOjMyOjM4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2xpbWFnZXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN3ZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgUmVsZWFzZSAwLjEwLjUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC41CgoyMDA3LTA2LTE5IDA5OjM3OjQ2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDctMDYtMTUgMDk6Mjc6NTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgd2luMzIvdnM2LzogQ29udmVydCBsaW5lIGVuZGluZ3MgdG8gQ1JMRiBhbmQgbWFyayBhcyBiaW5hcnkgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJICAqIHdpbjMyL3ZzNi9saWJkc2hvd3NyY3dyYXBwZXIuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3Rkc2hvdy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG1wZWd2aWRlb3BhcnNlLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bmVvbi5kc3A6CgkgIENvbnZlcnQgbGluZSBlbmRpbmdzIHRvIENSTEYgYW5kIG1hcmsgYXMgYmluYXJ5IGZpbGVzLgoKMjAwNy0wNi0xMyAxMTo0ODowNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy9NYWtlZmlsZS5hbTogRGlzYWJsZSBWQ0QgYnVpbGQgYmVjYXVzZSB3ZSdyZSBmcm96ZW4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgIERpc2FibGUgVkNEIGJ1aWxkIGJlY2F1c2Ugd2UncmUgZnJvemVuLi4KCjIwMDctMDYtMTMgMTE6Mzc6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBQb3J0IFZDRCBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy92Y2QvTWFrZWZpbGUuYW06CgkgICogc3lzL3ZjZC92Y2RzcmMuYzogKGdzdF92Y2RzcmNfc2V0dXBfaW50ZXJmYWNlcyksCgkgIChnc3RfdmNkc3JjX2Jhc2VfaW5pdCksIChnc3RfdmNkc3JjX2NsYXNzX2luaXQpLCAoZ3N0X3ZjZHNyY19pbml0KSwKCSAgKGdzdF92Y2RzcmNfbXNmKSwgKGdzdF92Y2RzcmNfcmVjYWxjdWxhdGUpLAoJICAoZ3N0X3ZjZHNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3ZjZHNyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3ZjZHNyY19jcmVhdGUpLCAoZ3N0X3ZjZHNyY19zdGFydCksIChnc3RfdmNkc3JjX3N0b3ApLAoJICAoZ3N0X3ZjZHNyY191cmlfc2V0X3VyaSk6CgkgICogc3lzL3ZjZC92Y2RzcmMuaDoKCSAgUG9ydCBWQ0QgZWxlbWVudC4KCjIwMDctMDYtMTIgMjE6Mjg6MTIgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHdpbjMyL01BTklGRVNUOiBBZGQgbWVndmlkZW9wYXJzZSwgbGliZHNob3cgYW5kIGRzaG93c3Jjd3JhcHBlciB0byB3aW4zMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIG1lZ3ZpZGVvcGFyc2UsIGxpYmRzaG93IGFuZCBkc2hvd3NyY3dyYXBwZXIgdG8gd2luMzIKCSAgTUFOSUZFU1QuCgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkgIFJlbW92ZSBxdGRlbXV4LCBkaXJlY3RkcmF3LCBkaXJlY3Rzb3VuZCBhbmQgd2F2ZWZvcm0gcHJvamVjdCBmaWxlcwoJICBmcm9tIHRoZSB3b3Jrc3BhY2UgYXMgdGhleSBoYXZlIGJlZW4gbW92ZWQgdG8gLWdvb2QuCgoyMDA3LTA2LTEyIDIwOjIyOjIzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHBvL1BPVEZJTEVTLmluOiBSZW1vdmUgcXRkZW11eCBmcm9tIHRoZSB0cmFuc2xhdGlvbiBsaXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgUmVtb3ZlIHF0ZGVtdXggZnJvbSB0aGUgdHJhbnNsYXRpb24gbGlzdC4KCjIwMDctMDYtMTIgMjA6MTU6MTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTW92ZSB2aWRlb2Nyb3AgYW5kIG9zeHZpZGVvIHRvIC1nb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3N4dmlkZW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICAqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5oOgoJICAqIGdzdC92aWRlb2Nyb3AvdmlkZW9jcm9wLnZjcHJvajoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzoKCSAgTW92ZSB2aWRlb2Nyb3AgYW5kIG9zeHZpZGVvIHRvIC1nb29kLgoKMjAwNy0wNi0xMiAxOTozNjoxMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBNb3ZlIHF0ZGVtdXggdG8gLWdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXgudmNwcm9qOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuaDoKCSAgKiBnc3QvcXRkZW11eC9xdHBhbGV0dGUuaDoKCSAgKiBnc3QvcXRkZW11eC9xdWlja3RpbWUuYzoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cXRkZW11eC5kc3A6CgkgIE1vdmUgcXRkZW11eCB0byAtZ29vZC4KCSAgKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB0byByZWZsZWN0IHdhdnBhY2sgJiBxdGRlbXV4IG1vdmluZyB0byAtZ29vZC4KCjIwMDctMDYtMTIgMTg6NTM6MDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVtb3ZlIHRoZSB3YXZlZm9ybSBwbHVnaW4gbm93IHRoYXQgaXQgaXMgaW4gLWdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVmb3JtLnhtbDoKCSAgKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1wbHVnaW4uYzoKCSAgKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkgICogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5oOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R3YXZlZm9ybS5kc3A6CgkgIFJlbW92ZSB0aGUgd2F2ZWZvcm0gcGx1Z2luIG5vdyB0aGF0IGl0IGlzIGluIC1nb29kLgoKMjAwNy0wNi0wOCAyMDoyMDozNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBNb3ZlIHdhdnBhY2sgdG8gZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5oOgoJICAqIGV4dC93YXZwYWNrL21kNS5jOgoJICAqIGV4dC93YXZwYWNrL21kNS5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6CgkgIE1vdmUgd2F2cGFjayB0byBnb29kLgoKMjAwNy0wNi0wOCAxNzozNjo0NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgRGlyZWN0RHJhdyAmIERpcmVjdFNvdW5kIHBsdWdpbnMsIGFzIHRoZXkndmUgbW92ZWQgdG8gR29vZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyZWN0ZHJhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmVjdHNvdW5kLnhtbDoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgKiB3aW4zMi9nc3Quc2xuOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwOgoJICAqIHdpbjMyL3ZzNy9saWJnc3RkaXJlY3RkcmF3LnZjcHJvajoKCSAgKiB3aW4zMi92czcvbGliZ3N0ZGlyZWN0c291bmQudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3RkcmF3LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0c291bmQudmNwcm9qOgoJICBSZW1vdmUgRGlyZWN0RHJhdyAmIERpcmVjdFNvdW5kIHBsdWdpbnMsIGFzIHRoZXkndmUgbW92ZWQgdG8gR29vZAoKMjAwNy0wNi0wOCAxNjo0OTo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFdoZW4gZHJpdmluZyB0aGUgcGlwZWxpbmUsIGFsc28gcG9zdCBhbiBlcnJvciB3aGVuIHdlIGdldCBhIG5vdC1saW5rZWQgZmxvdyByZXR1cm4gZnJvbSBkb3duc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzogKGdzdF90aW1pZGl0eV9sb29wKToKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzogKGdzdF93aWxkbWlkaV9sb29wKToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX2xvb3ApOgoJICBXaGVuIGRyaXZpbmcgdGhlIHBpcGVsaW5lLCBhbHNvIHBvc3QgYW4gZXJyb3Igd2hlbiB3ZSBnZXQgYQoJICBub3QtbGlua2VkIGZsb3cgcmV0dXJuIGZyb20gZG93bnN0cmVhbS4KCjIwMDctMDYtMDggMTY6MzE6MTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVuYW1lIHRoZSBrZWVwLWFzcGVjdC1yYXRpbyBwcm9wZXJ0eSB0byBmb3JjZS1hc3BlY3QtcmF0aW8gdG8gbWFrZSBpdCBjb25zaXN0ZW50IHdpdGggeHZpbWFnZXNpbmsgYW5kIHhpbWFnZXNpbmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2NsYXNzX2luaXQpOgoJICBSZW5hbWUgdGhlIGtlZXAtYXNwZWN0LXJhdGlvIHByb3BlcnR5IHRvIGZvcmNlLWFzcGVjdC1yYXRpbyB0byBtYWtlCgkgIGl0IGNvbnNpc3RlbnQgd2l0aCB4dmltYWdlc2luayBhbmQgeGltYWdlc2luay4KCjIwMDctMDYtMDggMDg6MTI6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiBEZWZhdWx0IHRvIHh2aW1hZ2VzaW5rIGluc3RlYWQgb2YgYXV0b3ZpZGVvc2luayB3aGlsZSBhdXRvdmlkZW9zaW5rL2dob3N0cGFkcy93aGF0ZXZlciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogKG1haW4pOgoJICBEZWZhdWx0IHRvIHh2aW1hZ2VzaW5rIGluc3RlYWQgb2YgYXV0b3ZpZGVvc2luayB3aGlsZQoJICBhdXRvdmlkZW9zaW5rL2dob3N0cGFkcy93aGF0ZXZlciBkb24ndCBoYW5kbGUgdGhlIHdheSB3ZSB1c2UgaXQgaW4KCSAgdGhlIHdheSB3ZSBleHBlY3QgaXQgdG8uCgoyMDA3LTA2LTA2IDE4OjMwOjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9ucyBvZiBjb3JlIGFuZCAtYmFzZSwgYW5kIHJlbW92ZSBzcGVjaWFsLWNhc2luZyBmb3IgZXF1YWxpemVyIGFuZCByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCByZXF1aXJlbWVudHMgdG8gcmVsZWFzZWQgdmVyc2lvbnMgb2YgY29yZSBhbmQgLWJhc2UsIGFuZCByZW1vdmUKCSAgc3BlY2lhbC1jYXNpbmcgZm9yIGVxdWFsaXplciBhbmQgcnRwbWFuYWdlciBhcyBpdCdzIG5vdCBuZWVkZWQgYW55CgkgIGxvbmdlci4KCjIwMDctMDYtMDYgMTU6NTg6MzEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL2dsc2luay9nbGltYWdlc2luay5jOiBTcHJpbmtsZSBpbiBzb21lIFhTeW5jIGNhbGxzIHRvIGF2b2lkIHJhY2luZXNzIHdpdGggYnJva2VuIGRyaXZlcnMgKEFUSSkgd2hlbiByZS11c2luZyBhIHNpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlX3Npbmtfc3RvcCksCgkgIChnc3RfZ2xpbWFnZV9zaW5rX2NyZWF0ZV93aW5kb3cpLCAoZ3N0X2dsaW1hZ2Vfc2lua19pbml0X2Rpc3BsYXkpOgoJICBTcHJpbmtsZSBpbiBzb21lIFhTeW5jIGNhbGxzIHRvIGF2b2lkIHJhY2luZXNzIHdpdGggYnJva2VuCgkgIGRyaXZlcnMgKEFUSSkgd2hlbiByZS11c2luZyBhIHNpbmdsZSBnbGltYWdlc2luay4KCjIwMDctMDYtMDYgMTE6MDM6MjQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L21wZWd2aWRlb3BhcnNlLzogRml4IHNvbWUgc2lsbHkgYnVncyB3aXRoIGNhbGN1bGF0aW5nIHRoZSBndWFyZCBzaXplcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkgIChtcGVnX3V0aWxfcGFyc2VfZXh0ZW5zaW9uX3BhY2tldCksIChtcGVnX3V0aWxfcGFyc2Vfc2VxdWVuY2VfaGRyKSwKCSAgKG1wZWdfdXRpbF9wYXJzZV9waWN0dXJlX2hkcik6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIChtcGVndmlkZW9wYXJzZV9oYW5kbGVfc2VxdWVuY2UpLCAobXBlZ3ZpZGVvcGFyc2VfZHJhaW5fYXZhaWwpOgoJICBGaXggc29tZSBzaWxseSBidWdzIHdpdGggY2FsY3VsYXRpbmcgdGhlIGd1YXJkIHNpemVzLgoJICBQcm9wZXJseSBjb21wYXJlIHRoZSBvbGQgc2VxdWVuY2UgaGVhZGVyIHN0cnVjdHVyZSB3aXRoIHRoZSBuZXcgb25lLgoJICBEb24ndCBlcnJvciBvdXQgb24gYW4gaW52YWxpZCBzZXF1ZW5jZSAtIGp1c3QgaWdub3JlIGl0LgoKMjAwNy0wNi0wNiAwOToxMTozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiBQcmludGYgZml4IGluIGRlYnVnIHN0YXRlbWVudDsgYWxzbyBwcmludCB0aGUgcmlnaHQgbnVtYmVyIHRoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKGdzdF9yZWFsX3ZpZGVvX2RlY19kZWNvZGUpOgoJICBQcmludGYgZml4IGluIGRlYnVnIHN0YXRlbWVudDsgYWxzbyBwcmludCB0aGUgcmlnaHQgbnVtYmVyIHRoZXJlLgoKMjAwNy0wNi0wNiAwODowNjo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zZGwvOiBBZGQgR1NUX0NGTEFHUywgd2hpY2ggYXBwYXJlbnRseSBzb21laG93IGZpeGVzIHRoZSBidWlsZCBzb21ld2hlcmUgKCM0NDQ0OTkpOyBpbml0aWFsaXNlIHZhcmlhYmxlIHRvIGF2b2lkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2Rsdl9wcm9jZXNzX2V2ZW50cyk6CgkgIEFkZCBHU1RfQ0ZMQUdTLCB3aGljaCBhcHBhcmVudGx5IHNvbWVob3cgZml4ZXMgdGhlIGJ1aWxkIHNvbWV3aGVyZQoJICAoIzQ0NDQ5OSk7IGluaXRpYWxpc2UgdmFyaWFibGUgdG8gYXZvaWQgZmFsc2UgY29tcGlsZXIgd2FybmluZy4KCjIwMDctMDYtMDUgMTQ6MTc6MzYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBmaXggdXAgc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggdXAgc3BlYyBmaWxlCgoyMDA3LTA2LTAxIDE0OjM2OjA0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQWRkIHBsdWdpbiB0byBnZW5lcmF0ZSBhIHBhdHRlcm4gZGV0ZWN0YWJsZSBieSB2aWRlb2RldGVjdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6IChnc3RfdmlkZW9fbWFya19zZXRfY2FwcyksCgkgIChnc3RfdmlkZW9fbWFya19kcmF3X2JveCksIChnc3RfdmlkZW9fbWFya180MjApLAoJICAoZ3N0X3ZpZGVvX21hcmtfdHJhbnNmb3JtX2lwKSwgKGdzdF92aWRlb19tYXJrX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdmlkZW9fbWFya19nZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX21hcmtfYmFzZV9pbml0KSwKCSAgKGdzdF92aWRlb19tYXJrX2NsYXNzX2luaXQpLCAoZ3N0X3ZpZGVvX21hcmtfaW5pdCksCgkgIChnc3RfdmlkZW9fbWFya19nZXRfdHlwZSk6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5oOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb3NpZ25hbC5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQgcGx1Z2luIHRvIGdlbmVyYXRlIGEgcGF0dGVybiBkZXRlY3RhYmxlIGJ5IHZpZGVvZGV0ZWN0LgoKMjAwNy0wNi0wMSAxMTo1OTo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IERvbid0IGxlYWsgYnVmZmVyIHdoZW4gcmV0dXJuaW5nIGFuIGVycm9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19jcmVhdGUpOgoJICBEb24ndCBsZWFrIGJ1ZmZlciB3aGVuIHJldHVybmluZyBhbiBlcnJvci4KCjIwMDctMDYtMDEgMDk6NTg6MDEgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy4qOiBEZXByZWNhdGVkICJ1cmkiIHByb3BlcnR5LiAgQ2xlYW4gdXAgcHJvcGVydHkgZGVzY3JpcHRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnkgUmVuw6kgU3RhZGxlciA8bWFpbCBhdCByZW5lc3RhZGxlciBkb3QgZGU+OgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X25lb25odHRwX3NyY19pbml0KSwgKGdzdF9uZW9uaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfbmVvbmh0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3N0YXJ0KSwgKGdzdF9uZW9uaHR0cF9zcmNfZG9fc2VlayksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3NldF9sb2NhdGlvbiksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3NlbmRfcmVxdWVzdF9hbmRfcmVkaXJlY3QpLAoJICAoZ3N0X25lb25odHRwX3NyY191cmlfZ2V0X3VyaSksIChnc3RfbmVvbmh0dHBfc3JjX3VyaV9zZXRfdXJpKToKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBEZXByZWNhdGVkICJ1cmkiIHByb3BlcnR5LiAgQ2xlYW4gdXAgcHJvcGVydHkgZGVzY3JpcHRpb25zLgoJICBDaGFuZ2UgZGVmYXVsdCBVc2VyLUFnZW50IHRvIHRoZSBzbGlnaHRseSBtb3JlIGRlc2NyaXB0aXZlCgkgICJHU3RyZWFtZXIgbmVvbmh0dHBzcmMiLgoJICBWYXJpb3VzIG90aGVyIHNtYWxsIGNsZWFudXBzLCBtb3N0bHkgcHJvcGVydHkgcmVsYXRlZC4KCjIwMDctMDUtMzEgMTk6MTI6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbGlibW1zL2dzdG1tcy5oOiBObyByZWFzb24gdG8gdXNlIGdwb2ludGVycyBpbnN0ZWFkIG9mIHR5cGVkIHBvaW50ZXMgaGVyZSBhcyBmYXIgYXMgSSBjYW4gc2VlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5oOgoJICBObyByZWFzb24gdG8gdXNlIGdwb2ludGVycyBpbnN0ZWFkIG9mIHR5cGVkIHBvaW50ZXMgaGVyZSBhcyBmYXIgYXMgSQoJICBjYW4gc2VlLgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJICBEb24ndCB1c2UgZ3RrLWRvYyBtYWdpYyBtYXJrZXJzIGZvciB0aGluZ3MgdGhhdCBhcmVuJ3QgbWVhbnQgdG8gYmUKCSAgcGFyc2VkIGJ5IGd0ay1kb2MuIE1ha2VzIGd0ay1kb2MgY29tcGxhaW4gYSBiaXQgbGVzcy4KCjIwMDctMDUtMzAgMTQ6NTI6MDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBZGRlZCB2aWRlb3NpZ25hbCBwbHVnaW4gd2l0aCB0d28gcGx1Z2lucyB0byBhbmFseXNlIHZpZGVvIGZyYW1lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOiAoZ3N0X3ZpZGVvX2FuYWx5c2Vfc2V0X2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2FuYWx5c2VfcG9zdF9tZXNzYWdlKSwgKGdzdF92aWRlb19hbmFseXNlXzQyMCksCgkgIChnc3RfdmlkZW9fYW5hbHlzZV90cmFuc2Zvcm1faXApLCAoZ3N0X3ZpZGVvX2FuYWx5c2Vfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92aWRlb19hbmFseXNlX2dldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fYW5hbHlzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2FuYWx5c2VfY2xhc3NfaW5pdCksIChnc3RfdmlkZW9fYW5hbHlzZV9pbml0KSwKCSAgKGdzdF92aWRlb19hbmFseXNlX2dldF90eXBlKToKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmg6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6IChnc3RfdmlkZW9fZGV0ZWN0X3NldF9jYXBzKSwKCSAgKGdzdF92aWRlb19kZXRlY3RfcG9zdF9tZXNzYWdlKSwKCSAgKGdzdF92aWRlb19kZXRlY3RfY2FsY19icmlnaHRuZXNzKSwgKGdzdF92aWRlb19kZXRlY3RfNDIwKSwKCSAgKGdzdF92aWRlb19kZXRlY3RfdHJhbnNmb3JtX2lwKSwgKGdzdF92aWRlb19kZXRlY3Rfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92aWRlb19kZXRlY3RfZ2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19kZXRlY3RfYmFzZV9pbml0KSwKCSAgKGdzdF92aWRlb19kZXRlY3RfY2xhc3NfaW5pdCksIChnc3RfdmlkZW9fZGV0ZWN0X2luaXQpLAoJICAoZ3N0X3ZpZGVvX2RldGVjdF9nZXRfdHlwZSk6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0Lmg6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvc2lnbmFsLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvc2lnbmFsLmg6CgkgIEFkZGVkIHZpZGVvc2lnbmFsIHBsdWdpbiB3aXRoIHR3byBwbHVnaW5zIHRvIGFuYWx5c2UgdmlkZW8gZnJhbWVzLgoJICBBZGRlZCB2aWRlb2FuYWx5c2UgdG8gcmVwb3J0IGFib3V0IGJyaWdodG5lc3MgYW5kIHZhcmlhbmNlIGluIHZpZGVvCgkgIGZyYW1lcy4KCSAgQWRkZWQgdmlkZW9kZXRlY3QgdG8gZGV0ZWN0IHByZWRlZmluZWQgcGF0dGVybnMgaW4gYSB2aWRlbyBzaWduYWwuCgoyMDA3LTA1LTMwIDA5OjMwOjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLio6IE1vcmUgdXBkYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgTW9yZSB1cGRhdGVzLgoKMjAwNy0wNS0zMCAwOTowODoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFVwZGF0ZXM7IHVwZGF0ZSBpbnNwZWN0IGluZm8gZm9yIHJ0cG1hbmFnZXIgPT4gZ3N0cnRwbWFuYWdlciByZW5hbWUsIGhvcGVmdWxseSB0aGF0IG1ha2VzIHRoZSBidWlsZCBiby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN3ZmRlYy54bWw6CgkgIFVwZGF0ZXM7IHVwZGF0ZSBpbnNwZWN0IGluZm8gZm9yIHJ0cG1hbmFnZXIgPT4gZ3N0cnRwbWFuYWdlciByZW5hbWUsCgkgIGhvcGVmdWxseSB0aGF0IG1ha2VzIHRoZSBidWlsZCBib3RzIGhhcHB5IGFnYWluLgoKMjAwNy0wNS0yOCAxNjozNzo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIFJlbmFtZSBlbGVtZW50cyB0byBhdm9pZCBjb25mbGljdCB3aXRoIGZhcnNpZ2h0IGVsZW1lbnRzIHdpdGggdGhlIHNhbWUgbmFtZS4gRml4ZXMgIzQzMDY2NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKGNyZWF0ZV9yZWN2X3J0cCksIChjcmVhdGVfcmVjdl9ydGNwKSwKCSAgKGNyZWF0ZV9zZW5kX3J0cCksIChjcmVhdGVfcnRjcCksIChnc3RfcnRwX2Jpbl9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOiAoY3JlYXRlX3N0cmVhbSksCgkgIChnc3RfcnRwX2NsaWVudF9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsZWFyX3B0X21hcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgUmVuYW1lIGVsZW1lbnRzIHRvIGF2b2lkIGNvbmZsaWN0IHdpdGggZmFyc2lnaHQgZWxlbWVudHMgd2l0aCB0aGUgc2FtZQoJICBuYW1lLiBGaXhlcyAjNDMwNjY0LgoKMjAwNy0wNS0yNCAwODozNToyMyArMDAwMCAgVmluY2VudCBUb3JyaSA8dnRvcnJpQHVuaXYtZXZyeS5mcj4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLio6IEZpeCBtb3JlIHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggTWluZ1cgKCM0Mzk5MTQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpbmNlbnQgVG9ycmkgIDx2dG9ycmkgYXQgdW5pdi1ldnJ5IGZyPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19jaGVja19wcmltYXJ5X3N1cmZhY2UpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19jaGVja19vZmZzY3JlZW5fc3VyZmFjZSksCgkgIChFbnVtTW9kZXNDYWxsYmFjazIpLCAoZ3N0X2RpcmVjdGRyYXdfc2lua19nZXRfZGRyYXdjYXBzKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc3VyZmFjZV9jcmVhdGUpOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIEZpeCBtb3JlIHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggTWluZ1cgKCM0Mzk5MTQpLgoKMjAwNy0wNS0yMyAyMjo0NDoxMiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6IFJlbW92ZSBkaXJlY3Rzb3VuZHNpbmsgcHJvcGVydHkgZG9jIGFzIHRoaXMgc2luayB1c2UgdGhlIG1peGVyIGludGVyZmFjZSBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICBSZW1vdmUgZGlyZWN0c291bmRzaW5rIHByb3BlcnR5IGRvYyBhcyB0aGlzIHNpbmsgdXNlIHRoZSBtaXhlcgoJICBpbnRlcmZhY2Ugbm93LgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICBBZGQgaW50ZXJmYWNlcyBpbXBsZW1lbnRlZCBieSBXaW5kb3dzIHNpbmtzLgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgIFJlbW92ZSBkaXJlY3Rzb3VuZHNpbmsgcHJvcGVydHkgIGFuZCBpbXBsZW1lbnQgdGhlIG1peGVyIGludGVyZmFjZS4KCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwOgoJICBVcGRhdGUgcHJvamVjdCBmaWxlcy4KCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3cuY3BwOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvdy5oOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzaW5rLmNwcDoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc2luay5oOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzcmMuY3BwOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzcmMuaDoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dpbnRlcmZhY2UuY3BwOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2ludGVyZmFjZS5oOgoJICAqIHdpbjMyL2NvbW1vbi9saWJnc3Rkc2hvdy5kZWY6CgkgICogd2luMzIvdnM2L2xpYmdzdGRzaG93LmRzcDoKCSAgQWRkIGEgbmV3IGdzdCBsaWJyYXJ5IHdoaWNoIGFsbG93IHRvIGNyZWF0ZSBpbnRlcm5hbCBEaXJlY3QgU2hvdwoJICBncmFwaCAocGlwZWxpbmVzKSB0byB3cmFwIFdpbmRvd3Mgc291cmNlcywgZGVjb2RlcnMgb3IgZW5jb2RlcnMuCgkgIEl0IGluY2x1ZGVzIGEgRGlyZWN0U2hvdyBmYWtlIHNvdXJjZSBhbmQgc2luayBhbmQgdXRpbGl0eSBmdW5jdGlvbnMuCgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmM6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmg6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuYzoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5oOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJICAqIHdpbjMyL3ZzNi9saWJkc2hvd3NyY3dyYXBwZXIuZHNwOgoJICBBZGQgYSBuZXcgcGx1Z2luIHRvIHdyYXAgRGlyZWN0U2hvdyBzb3VyY2VzIG9uIFdpbmRvd3MuCgkgIEl0IGdldHMgZGF0YSBmcm9tIGFueSB3ZWJjYW0sIGR2IGNhbSwgbWljcm8uIFdlIGNvdWxkIGFkZAoJICB0diB0dW5uZXIgY2FyZCBsYXRlci4KCjIwMDctMDUtMjMgMTg6MDA6MTUgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBleHQvc2RsL3NkbHZpZGVvc2luay5jOiBTZXBhcmF0ZSB0aGUgYXV0aG9ycyBieSBuZXdsaW5lcyBpbnN0ZWFkIG9mIG5vdGhpbmcuIEZpeGVzICM0NDA3NzQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieSBSZW7DqSBTdGFkbGVyIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRvdCBkZT46CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgU2VwYXJhdGUgdGhlIGF1dGhvcnMgYnkgbmV3bGluZXMgaW5zdGVhZCBvZiBub3RoaW5nLiBGaXhlcyAjNDQwNzc0LgoKMjAwNy0wNS0yMyAxNjoxNDoxMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDogQWRkIGRvYyB4bWwgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJICBBZGQgZG9jIHhtbCBmaWxlLgoKMjAwNy0wNS0yMyAxMzowODo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIERvY3VtZW50IHN0dWZmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xlYXJfcHRfbWFwKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jbGVhcl9wdF9tYXApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fY2xlYXJfcHRfbWFwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2xhc3NfaW5pdCk6CgkgIERvY3VtZW50IHN0dWZmLgoJICBBZGQgY2xlYXItcHQtbWFwIGFjdGlvbiBzaWduYWwgd2hlcmUgbmVlZGVkLgoKMjAwNy0wNS0yMiAxMToxNDoxMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBEZXBlbmQgb24gZ3N0cmVhbWVyLTAuMTAuMTIuMS4gZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYyAoQVJHX0JBTkRfV0lEVEgsIF9kb19pbml0LCBBUkdfR0FJTiwgX0dzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRGVwZW5kIG9uIGdzdHJlYW1lci0wLjEwLjEyLjEuCgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYyAoQVJHX0JBTkRfV0lEVEgsIF9kb19pbml0LCBBUkdfR0FJTiwKCSAgX0dzdElpckVxdWFsaXplckJhbmQsIG9iamVjdCwgX0dzdElpckVxdWFsaXplckJhbmRDbGFzcywKCSAgcGFyZW50X2NsYXNzLCBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0LCBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF90eXBlLAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfaW50ZXJmYWNlX2luaXQsIHNldHVwX2ZpbHRlciwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcywKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0X3Byb3BlcnR5LCBnc3RfaWlyX2VxdWFsaXplcl9nZXRfcHJvcGVydHksCgkgIHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oIChhdWRpb2ZpbHRlcik6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYyAoQVJHX05VTV9CQU5EUywKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2Jhc2VfaW5pdCwgZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2luaXQsCgkgIGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19zZXRfcHJvcGVydHkpOgoJICBVc2UgbmV3IGxvY2tpbmcgbWFjcm9zLgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jIChicHdzaW5jX3NldF9jYXBzKToKCSAgQWRkIGZpeG1lLgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jIChTUEVDVFJVTV9XSU5ET1dfQkFTRSwKCSAgU1BFQ1RSVU1fV0lORE9XX0xFTiwgZ3N0X3NwZWN0cnVtX2luaXQsIGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHksCgkgIGdzdF9zcGVjdHJ1bV9ldmVudCwgZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIFVzZSBuZXcgbG9ja2luZyBtYWNyb3MuIFR1cm4gdHdvIGZpeGVkIHZhbHVlcyBpbnRvICNkZWZpbmVzLgoKMjAwNy0wNS0yMiAxMTowMzozMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogQWxzbyBsb29rIGZvciAubSAob2JqZWN0aXZlYykgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgQWxzbyBsb29rIGZvciAubSAob2JqZWN0aXZlYykgZmlsZXMuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBlbGVtZW50IGFuZCBwcm9wZXJ0aWVzLgoKMjAwNy0wNS0yMSAxNDowMToxNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQ2hhbmdlTG9nOiBDaGFuZ2VMb2cgc3VyZ2VyeS4gZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYyAoQVJHX0JBTkRfV0lEVEgsIF9kb19pbml0LCBBUkdfR0FJTiwgX0dzdElpckVxdWFsaXplckJhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIENoYW5nZUxvZzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnkuCgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYyAoQVJHX0JBTkRfV0lEVEgsIF9kb19pbml0LCBBUkdfR0FJTiwKCSAgX0dzdElpckVxdWFsaXplckJhbmQsIG9iamVjdCwgX0dzdElpckVxdWFsaXplckJhbmRDbGFzcywKCSAgcGFyZW50X2NsYXNzLCBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0LCBnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF90eXBlLAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRfYnlfaW5kZXgsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfaW50ZXJmYWNlX2luaXQsIHNldHVwX2ZpbHRlciwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcywgcGx1Z2luX2luaXQpOgoJICAqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6CgkgIEFkZCBmaXhtZSBhbmQgY29tbWVudCBmb3IgZXhhbXBsZS4KCjIwMDctMDUtMjEgMTI6NDM6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5LCBnc3Rfc3BlY3RydW1fZXZlbnQsIGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYyAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSwKCSAgZ3N0X3NwZWN0cnVtX2V2ZW50LCBnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgVXNlIGxvY2sgdG8gcHJvdGVjdCBmcm9tIGNvbmN1cnJlbnQgYWNjZXNzLgoKMjAwNy0wNS0yMSAxMTozNzoxNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBTcGVjaWZ5IGFuZCB1c2UgcHJvcGVydGllcyBhcyB1bnNpZ25lZCBpbnQgdGhhdCBhcmUgYW4gdW5zaWduZWQgaW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF93YXZwYWNrX2VuY19nZXRfcHJvcGVydHkpOgoJICBTcGVjaWZ5IGFuZCB1c2UgcHJvcGVydGllcyBhcyB1bnNpZ25lZCBpbnQgdGhhdCBhcmUgYW4gdW5zaWduZWQgaW50LgoKMjAwNy0wNS0yMSAxMToxNzoyMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy4qOiBGaXh1cCBkb2NzLCBtYWtlIHRoZSBiaXRyYXRlIHByb3BlcnR5IGFuIGludCBhcyBpdCBzaG91bGQgYmUgYW5kIGFsbG93IHRvIHNldCB0aGUgZGlmZmVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3dhdnBhY2tfZW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICBGaXh1cCBkb2NzLCBtYWtlIHRoZSBiaXRyYXRlIHByb3BlcnR5IGFuIGludCBhcyBpdCBzaG91bGQgYmUgYW5kCgkgIGFsbG93IHRvIHNldCB0aGUgZGlmZmVyZW50IGV4dHJhIHByb2Nlc3NpbmcgbW9kZXMgaW5zdGVhZCBvZiBvbmx5CgkgIGFsbG93aW5nIG5vbmUgYW5kIHRoZSBkZWZhdWx0IG9uZS4KCjIwMDctMDUtMjAgMjE6MzE6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogQWRkIG1pc3NpbmcgYXVkaW9jb252ZXJ0cyBpbiB0aGUgZXhhbXBsZSBwaXBlbGluZXMgb2Ygd2F2cGFja2VuYy4gQXMgdGhlIHdhdnBhY2sgc3R1ZmYgbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgIEFkZCBtaXNzaW5nIGF1ZGlvY29udmVydHMgaW4gdGhlIGV4YW1wbGUgcGlwZWxpbmVzIG9mIHdhdnBhY2tlbmMuIEFzCgkgIHRoZSB3YXZwYWNrIHN0dWZmIG5vdyBuZWVkcyBpbnB1dCB3aXRoIDMyIGJpdCB3aWR0aCAoYW5kIHJhbmRvbSBkZXB0aCkKCSAgdGhpcyBpcyBuZWVkZWQgbm93LiBUaGUgZXhhbXBsZSBwaXBlbGluZXMgZm9yIHRoZSBwYXJzZXIgYW5kIGRlY29kZXIKCSAgYXJlIHN0aWxsIGZpbmUuCgoyMDA3LTA1LTIwIDE1OjEyOjMxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGRvY3MvcGx1Z2lucy86IEZpeCBkb2NzIGJ1aWxkIGFuZCBoaWVyYXJjaHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICBGaXggZG9jcyBidWlsZCBhbmQgaGllcmFyY2h5LgoKMjAwNy0wNS0yMCAxNDo1OTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IEJ1bmNoIG9mIHNtYWxsIGZpeGVzOiByZW1vdmUgc3RhdGljIGZ1bmN0aW9uIHRoYXQgZG9lc24ndCBleGlzdDsgZGVjbGFyZSBhbm90aGVyIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiAoZ3N0X2RkcmF3c3VyZmFjZV9maW5hbGl6ZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2dldF9kZHJhd2NhcHMpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zdXJmYWNlX2NyZWF0ZSk6CgkgIEJ1bmNoIG9mIHNtYWxsIGZpeGVzOiByZW1vdmUgc3RhdGljIGZ1bmN0aW9uIHRoYXQgZG9lc24ndCBleGlzdDsKCSAgZGVjbGFyZSBhbm90aGVyIG9uZSB0aGF0IGRvZXM7IHByaW50ZiBmb3JtYXQgZml4OyB1c2UgcmlnaHQgbWFjcm8KCSAgd2hlbiBzcGVjaWZ5aW5nIGRlYnVnIGNhdGVnb3J5OyByZW1vdmUgYSBidW5jaCBvZiB1bnVzZWQgdmFyaWFibGVzOwoJICAjaWYgMCBvdXQgYW4gdW51c2VkIGNodW5rIG9mIGNvZGUgKHBhcnRpYWxseSBmaXhlcyAjNDM5OTE0KS4KCjIwMDctMDUtMjAgMTQ6MTQ6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvOiBQcmludGYgZm9ybWF0IGZpeGVzICgjNDM5OTEwLCAjNDM5OTExKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzogKGdzdF9zd2l0Y2hfY2hhaW4pOgoJICBQcmludGYgZm9ybWF0IGZpeGVzICgjNDM5OTEwLCAjNDM5OTExKS4KCjIwMDctMDUtMTkgMTA6MDY6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogUmVtb3ZlIGJpdHMgZm9yIGRlaW50ZXJsZWF2ZSBjaGVjayB3aGljaCBpc24ndCBpbiBDVlMgeWV0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIGJpdHMgZm9yIGRlaW50ZXJsZWF2ZSBjaGVjayB3aGljaCBpc24ndCBpbiBDVlMgeWV0LgoKMjAwNy0wNS0xOSAxMDowMTo0NSArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIEFkZCByZXBsYXlnYWluIHBsYXliYWNrIGVsZW1lbnRzICgjNDEyNzEwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW7DqSBTdGFkbGVyIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRlPgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzogKGdzdF9yZ19hbmFseXNpc19jbGFzc19pbml0KSwKCSAgKGdzdF9yZ19hbmFseXNpc19zdGFydCksIChnc3RfcmdfYW5hbHlzaXNfc2V0X2NhcHMpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3RyYW5zZm9ybV9pcCksIChnc3RfcmdfYW5hbHlzaXNfZXZlbnQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3N0b3ApLCAoZ3N0X3JnX2FuYWx5c2lzX2hhbmRsZV90YWdzKSwKCSAgKGdzdF9yZ19hbmFseXNpc19oYW5kbGVfZW9zKSwgKGdzdF9yZ19hbmFseXNpc190cmFja19yZXN1bHQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX2FsYnVtX3Jlc3VsdCk6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5oOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOiAoZ3N0X3JnX2xpbWl0ZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9yZ19saW1pdGVyX2NsYXNzX2luaXQpLCAoZ3N0X3JnX2xpbWl0ZXJfaW5pdCksCgkgIChnc3RfcmdfbGltaXRlcl9zZXRfcHJvcGVydHkpLCAoZ3N0X3JnX2xpbWl0ZXJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9yZ19saW1pdGVyX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdsaW1pdGVyLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzogKGdzdF9yZ192b2x1bWVfYmFzZV9pbml0KSwKCSAgKGdzdF9yZ192b2x1bWVfY2xhc3NfaW5pdCksIChnc3Rfcmdfdm9sdW1lX2luaXQpLAoJICAoZ3N0X3JnX3ZvbHVtZV9zZXRfcHJvcGVydHkpLCAoZ3N0X3JnX3ZvbHVtZV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3JnX3ZvbHVtZV9kaXNwb3NlKSwgKGdzdF9yZ192b2x1bWVfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9yZ192b2x1bWVfc2lua19ldmVudCksIChnc3Rfcmdfdm9sdW1lX3RhZ19ldmVudCksCgkgIChnc3Rfcmdfdm9sdW1lX3Jlc2V0KSwgKGdzdF9yZ192b2x1bWVfdXBkYXRlX2dhaW4pLAoJICAoZ3N0X3JnX3ZvbHVtZV9kZXRlcm1pbmVfZ2Fpbik6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZXBsYXlnYWluLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3JlcGxheWdhaW4vcmVwbGF5Z2Fpbi5oOgoJICAqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKHNlbmRfZW9zX2V2ZW50KSwKCSAgKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzogKHNldHVwX3JnbGltaXRlciksCgkgIChjbGVhbnVwX3JnbGltaXRlciksIChzZXRfcGxheWluZ19zdGF0ZSksIChjcmVhdGVfdGVzdF9idWZmZXIpLAoJICAodmVyaWZ5X3Rlc3RfYnVmZmVyKSwgKEdTVF9TVEFSVF9URVNUKSwgKHJnbGltaXRlcl9zdWl0ZSksIChtYWluKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOiAoZXZlbnRfZnVuYyksIChzZXR1cF9yZ3ZvbHVtZSksCgkgIChjbGVhbnVwX3Jndm9sdW1lKSwgKHNldF9wbGF5aW5nX3N0YXRlKSwgKHNldF9udWxsX3N0YXRlKSwKCSAgKHNlbmRfZW9zX2V2ZW50KSwgKHNlbmRfdGFnX2V2ZW50KSwgKHRlc3RfYnVmZmVyX25ldyksCgkgIChmYWlsX3VubGVzc190YXJnZXRfZ2FpbiksIChmYWlsX3VubGVzc19yZXN1bHRfZ2FpbiksCgkgIChmYWlsX3VubGVzc19nYWluKSwgKEdTVF9TVEFSVF9URVNUKSwgKHJndm9sdW1lX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgcmVwbGF5Z2FpbiBwbGF5YmFjayBlbGVtZW50cyAoIzQxMjcxMCkuCgoyMDA3LTA1LTE4IDE2OjQ1OjU0ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUKCjIwMDctMDUtMTggMTI6Mzk6NDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL2dsc2luay9nbGltYWdlc2luay5jOiBVcGRhdGUgdGhlIGNhY2hlZCBjYXBzIGFmdGVyIG9wZW5pbmcgdGhlIGRpc3BsYXkgc28gdGhhdCB3ZSByZXBvcnQgb25seSB0aGUgc3VwcG9ydGVkIGNhcHMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlX3NpbmtfaW5pdF9kaXNwbGF5KToKCSAgVXBkYXRlIHRoZSBjYWNoZWQgY2FwcyBhZnRlciBvcGVuaW5nIHRoZSBkaXNwbGF5IHNvIHRoYXQgd2UgcmVwb3J0CgkgIG9ubHkgdGhlIHN1cHBvcnRlZCBjYXBzIGZvcm1hdHMsIG5vdCBqdXN0IHRoZSB0ZW1wbGF0ZSBjYXBzLgoJICBGaXhlczogIzQzOTQwNQoKMjAwNy0wNS0xOCAwOTozNToyOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jIChnc3RfYW1yd2JkZWNfZGVidWcsIEdTVF9DQVRfREVGQVVMVCwgX2RvX2luaXQsIGdzdF9hbXJ3YmRlY19iYXNlX2luaXQsIGdzdF9hbXJ3YmRlY19jbGFzc19pbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYyAoZ3N0X2FtcndiZGVjX2RlYnVnLCBHU1RfQ0FUX0RFRkFVTFQsCgkgIF9kb19pbml0LCBnc3RfYW1yd2JkZWNfYmFzZV9pbml0LCBnc3RfYW1yd2JkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmMgKGdzdF9hbXJ3YmVuY19kZWJ1ZywgR1NUX0NBVF9ERUZBVUxULAoJICBfZG9faW5pdCwgZ3N0X2FtcndiZW5jX2Jhc2VfaW5pdCwgZ3N0X2FtcndiZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmMgKGdzdF9hbXJ3YnBhcnNlX2RlYnVnLCBHU1RfQ0FUX0RFRkFVTFQsCgkgIF9kb19pbml0LCBnc3RfYW1yd2JwYXJzZV9iYXNlX2luaXQsIGdzdF9hbXJ3YnBhcnNlX2NsYXNzX2luaXQpOgoJICBGaXJzdCByb3VuZCBvZiBjbGVhbnVwcywgdGhhdCB1c2UgR1NUX0JPSUxFUlBMQVRFLCBHU1RfRUxFTUVOVF9ERVRBSUxTLAoJICBHU1RfREVCVUdfRlVOQ1BUUiBhbmQgYWRkIGxvZy1jYXRlZ29yeS4KCjIwMDctMDUtMTcgMTA6NTk6MDAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLio6IFJlbW92ZSB0aGUgZXZlbnQtbG9vcC1pbi1zZXBhcmF0ZS10aHJlYWQgbW9kaWZpY2F0aW9ucywgYmVjYXVzZSBNYWNPU1ggaXMgJCNAKColJCMgISBGb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgUmVtb3ZlIHRoZSBldmVudC1sb29wLWluLXNlcGFyYXRlLXRocmVhZCBtb2RpZmljYXRpb25zLCBiZWNhdXNlIE1hY09TWAoJICBpcyAkI0AoKiUkIyAhIEZvciB0aG9zZSB3b25kZXJpbmcsIHRoZSBldmVudCBoYW5kbGluZyBuZWVkcyB0byBiZSBkb25lCgkgIGluIHRoZSBtYWluIHRocmVhZCBhZnRlciBhbGwuLgoKMjAwNy0wNS0xNyAxMDowODoyNCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaDoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoQVJHXzAsIEFSR19OQl9TT1VSQ0VTLCBBUkdfQUNUSVZFX1NPVVJDRSwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoQVJHXzAsIEFSR19OQl9TT1VSQ0VTLCBBUkdfQUNUSVZFX1NPVVJDRSwKCSAgQVJHX1NUQVJUX1ZBTFVFLCBBUkdfU1RPUF9WQUxVRSwgQVJHX0xBU1RfVFMsIEFSR19RVUVVRV9CVUZGRVJTLAoJICBwYXJlbnRfY2xhc3MsIGdzdF9zd2l0Y2hfcmVsZWFzZV9wYWQsIGdzdF9zd2l0Y2hfcmVxdWVzdF9uZXdfcGFkLAoJICBnc3Rfc3dpdGNoX2NoYWluLCBnc3Rfc3dpdGNoX2V2ZW50LCBnc3Rfc3dpdGNoX3NldF9wcm9wZXJ0eSwKCSAgZ3N0X3N3aXRjaF9nZXRfcHJvcGVydHksIGdzdF9zd2l0Y2hfZ2V0Y2FwcywgZ3N0X3N3aXRjaF9kaXNwb3NlLAoJICB1bnJlZl9idWZmZXIsIHVucmVmX2J1ZmZlcnNfYW5kX2Rlc3Ryb3lfbGlzdCwgZ3N0X3N3aXRjaF9pbml0LAoJICBnc3Rfc3dpdGNoX2Jhc2VfaW5pdCwgZ3N0X3N3aXRjaF9jbGFzc19pbml0KToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChuZWVkX3RvX3NlbmRfbmV3c2VnbWVudCwgcXVldWVfYnVmZmVycywKCSAgc3RvcF92YWx1ZSwgc3RhcnRfdmFsdWUsIGN1cnJlbnRfc3RhcnQsIGxhc3RfdHMsIHN0b3JlZF9idWZmZXJzKToKCSAgQWRkIGhhbmRsaW5nIG9mIGFwcGxpY2F0aW9uIHByb3ZpZGVkIHN0b3AgYW5kIHN0YXJ0IHZhbHVlcywgYWxsb3dpbmcKCSAgQS9WIHN5bmMgYWNyb3NzIDIgc3dpdGNoIGVsZW1lbnRzLgoKMjAwNy0wNS0xNyAwOTo0MTo0OCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuKjogRml4IGEgc3R1cGlkICNpZiB2cyAjaWZkZWYgYnVnLiBTaG91bGQgdXNlIHRoZSBwcm9wZXIgY29sb3JzcGFjZSBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIEZpeCBhIHN0dXBpZCAjaWYgdnMgI2lmZGVmIGJ1Zy4gU2hvdWxkIHVzZSB0aGUgcHJvcGVyIGNvbG9yc3BhY2Ugbm93LgoJICBVc2UgYSBzZXBhcmF0ZSB0aHJlYWQvdGFzayBmb3IgdGhlIGNvY29hIGV2ZW50X2xvb3AsIGVsc2UgaXQgd291bGRuJ3QKCSAgc3RvcC4KCjIwMDctMDUtMTYgMTc6MTQ6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcmVhbC86IERvbid0IGNyYXNoIHdoZW4gd2UgZ2V0IGEgYnVmZmVyIGFuZCBvdXIgaW5wdXQgY2FwcyBoYXZlbid0IGJlZW4gc2V0IHlldDsgYWxzbywgZG9uJ3QgbGVhayBhbGwgdGhlIGlucHV0IGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IChnc3RfcmVhbF9hdWRpb19kZWNfY2hhaW4pLAoJICAoZ3N0X3JlYWxfYXVkaW9fZGVjX3NldGNhcHMpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAoZ3N0X3JlYWxfdmlkZW9fZGVjX2NoYWluKToKCSAgRG9uJ3QgY3Jhc2ggd2hlbiB3ZSBnZXQgYSBidWZmZXIgYW5kIG91ciBpbnB1dCBjYXBzIGhhdmVuJ3QgYmVlbiBzZXQKCSAgeWV0OyBhbHNvLCBkb24ndCBsZWFrIGFsbCB0aGUgaW5wdXQgYnVmZmVycyAocmVhbGF1ZGlvZGVjIG9ubHkpLgoKMjAwNy0wNS0xNiAxMzo1MDo1MSArMDAwMCAgU3RhbmlzbGF2IEJyYWJlYyA8c2JyYWJlY0BzdXNlLmN6PgoKCSAgVXNlIGV4dGVybmFsIHNoYXJlZCBsaWJhbXJ3Yi4gRml4ZXMgIzQyMzc0MSAod2l0aCBsb3RzIG9mIGNsZWFudXApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFN0YW5pc2xhdiBCcmFiZWMgPHNicmFiZWNAc3VzZS5jej4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2FtcndiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9hbXJ3Yi1jb2RlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9hbXJ3Yi1jb2RlL2FtcndiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9hbXJ3Yi1jb2RlL2FtcndiL1JFQURNRToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuaCAoX19HU1RfQU1SV0JERUNfSF9fKToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuaCAoX19HU1RfQU1SV0JFTkNfSF9fKToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmggKF9fR1NUX0FNUldCUEFSU0VfSF9fKToKCSAgKiBnc3QtbGlicy9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9leHQvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZXh0L2FtcndiL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2V4dC9hbXJ3Yi9SRUFETUU6CgkgIFVzZSBleHRlcm5hbCBzaGFyZWQgbGliYW1yd2IuIEZpeGVzICM0MjM3NDEgKHdpdGggbG90cyBvZiBjbGVhbnVwKS4KCjIwMDctMDUtMTUgMjE6MjM6NTMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC94MjY0L2dzdHgyNjRlbmMuYyAoZ3N0X3gyNjRfZW5jX2luaXRfZW5jb2Rlcik6IFRoaXMgbmVlZHMgYSB2ZXJzaW9uIGNoZWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmMgKGdzdF94MjY0X2VuY19pbml0X2VuY29kZXIpOgoJICBUaGlzIG5lZWRzIGEgdmVyc2lvbiBjaGVjay4KCSAgKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgIEZpeCB0aGUgYnVpbGQuCgoyMDA3LTA1LTE1IDE3OjIyOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQWRkIERJUkVDVERSQVdfQ0ZMQUdTIGFuZCBESVJFQ1RTT1VORF9DRkxBR1MgdG8gTWFrZWZpbGUuYW07IHNhdmUgYW5kIHJlc3RvcmUgdGhlIHZhcmlvdXMgZmxhZ3MgaW4gdGhlIGRpcmVjdGRyYXcvZGlyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkgIEFkZCBESVJFQ1REUkFXX0NGTEFHUyBhbmQgRElSRUNUU09VTkRfQ0ZMQUdTIHRvIE1ha2VmaWxlLmFtOyBzYXZlCgkgIGFuZCByZXN0b3JlIHRoZSB2YXJpb3VzIGZsYWdzIGluIHRoZSBkaXJlY3RkcmF3L2RpcmVjdHNvdW5kCgkgIGRldGVjdGlvbiBzZWN0aW9uLiBBcHBhcmVudGx5IGltcHJvdmVzIGNyb3NzLWNvbXBpbGluZyBmb3Igd2luMzIKCSAgd2l0aCBtaW5ndzMyIHVuZGVyIHNvbWUgY2lyY3Vtc3RhbmNlcyAoIzQzNzUzOSkuCgoyMDA3LTA1LTE1IDEzOjI5OjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiBXZSBhbHdheXMgdXNlIGZpeGVkIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICBXZSBhbHdheXMgdXNlIGZpeGVkIGNhcHMuCgoyMDA3LTA1LTE1IDAzOjQ1OjQ1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBnX2hhc2hfdGFibGVfcmVtb3ZlX2FsbCgpIG9ubHkgZXhpc3RzIGluIDIuMTIuICBXb3JrIGFyb3VuZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIGdfaGFzaF90YWJsZV9yZW1vdmVfYWxsKCkgb25seSBleGlzdHMgaW4gMi4xMi4gIFdvcmsgYXJvdW5kLgoKMjAwNy0wNS0xNSAwMjo1NDo1MiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBBZGQgYSBCYXllci10by1SR0IgY29udmVydGVyLiAgWW91IGtub3cgeW91IHdhbnQgb25lLCB1aC1odWguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2JheWVyL2dzdGJheWVyLmM6CgkgICogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICBBZGQgYSBCYXllci10by1SR0IgY29udmVydGVyLiAgWW91IGtub3cgeW91IHdhbnQgb25lLCB1aC1odWguCgkgIFBhcnRpYWwgZml4IGZvciAjMzE0MTYwLgoKMjAwNy0wNS0xNCAxODowMzo1OCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaDoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoQVJHX0FDVElWRV9TT1VSQ0UsIEFSR19TVE9QX1ZBTFVFLAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChBUkdfQUNUSVZFX1NPVVJDRSwgQVJHX1NUT1BfVkFMVUUsCgkgIEFSR19MQVNUX1RTLCBwYXJlbnRfY2xhc3MsIGdzdF9zd2l0Y2hfcmVsZWFzZV9wYWQsCgkgIGdzdF9zd2l0Y2hfcmVxdWVzdF9uZXdfcGFkLCBnc3Rfc3dpdGNoX2NoYWluLCBnc3Rfc3dpdGNoX2V2ZW50LAoJICBnc3Rfc3dpdGNoX3NldF9wcm9wZXJ0eSwgZ3N0X3N3aXRjaF9nZXRfcHJvcGVydHksIGdzdF9zd2l0Y2hfZ2V0Y2FwcywKCSAgZ3N0X3N3aXRjaF9kaXNwb3NlLCBnc3Rfc3dpdGNoX2luaXQsIGdzdF9zd2l0Y2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaCAocHJldmlvdXNfc2lua3BhZCwgbmJfc2lua3BhZHMsIHN0b3BfdmFsdWUsCgkgIGN1cnJlbnRfc3RhcnQsIGxhc3RfdHMpOgoJICBBbGxvdyBhcHBsaWNhdGlvbiB0byBwcm92aWRlIGEgc3RvcCB0aW1lc3RhbXAsIHNvIGEgbmV3IHNlZ21lbnQKCSAgdXBkYXRlIGNhbiBiZSBzZW50IGJlZm9yZSBzd2l0Y2hpbmcuCgoyMDA3LTA1LTE0IDE1OjI4OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6IEZpeCBsZWFrIHdoZW4gZmx1c2hpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOgoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9mbHVzaGluZ191bmxvY2tlZCk6CgkgIEZpeCBsZWFrIHdoZW4gZmx1c2hpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9jbGVhcl9wdF9tYXApLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIEFkZCBjbGVhci1wdC1tYXAgc2lnbmFsLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NpbmtfZXZlbnQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBJbml0IGNsb2NrLXJhdGUgdG8gLTEgdG8gbWFyayB1bmtub3cgY2xvY2sgcmF0ZS4KCSAgRml4IGZsdXNoaW5nLgoKMjAwNy0wNS0xMyAxOTo1Nzo0NSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6IEZpeCB3cm9uZyBpZmRlZiBmb3IgdmlzdWFsIEMrKy4gIEZpeGVzOiAjNDM3NDAzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM6CgkgIEZpeCB3cm9uZyBpZmRlZiBmb3IgdmlzdWFsIEMrKy4gIEZpeGVzOiAjNDM3NDAzLgoJICBCeSBBbGkgU2FiaWwgPGFsaS5zYWJpbEBnbWFpbC5jb20+LgoKMjAwNy0wNS0xMyAwNzowODowNiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiBNYWtlIHJlZGlyZWN0aW9uIHRoZSBkZWZhdWx0IGJlaGF2aW9yLiAgRml4ZXMgIzQxMzgxOC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgTWFrZSByZWRpcmVjdGlvbiB0aGUgZGVmYXVsdCBiZWhhdmlvci4gIEZpeGVzICM0MTM4MTguCgoyMDA3LTA1LTExIDExOjIwOjMzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIGxhdGVzdCBwbHVnaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBsYXRlc3QgcGx1Z2luCgoyMDA3LTA1LTEwIDE0OjAyOjA3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmMgKGdzdF9xdGRlbXV4X21vdmVfc3RyZWFtLCBnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciwgZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCwgZ3N0X3F0ZGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jIChnc3RfcXRkZW11eF9tb3ZlX3N0cmVhbSwKCSAgZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIsIGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQsCgkgIGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUsIGdzdF9xdGRlbXV4X2NvbWJpbmVfZmxvd3MsCgkgIGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUsIGdzdF9xdGRlbXV4X2xvb3AsCgkgIHF0ZGVtdXhfcGFyc2Vfc2VnbWVudHMsIHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jIChydHBfc2Vzc2lvbl9nZXRfYmFuZHdpZHRoLAoJICBydHBfc2Vzc2lvbl9nZXRfcnRjcF9iYW5kd2lkdGgsIHJ0cF9zZXNzaW9uX2dldF9jbmFtZSwKCSAgcnRwX3Nlc3Npb25fZ2V0X25hbWUsIHJ0cF9zZXNzaW9uX2dldF9lbWFpbCwgcnRwX3Nlc3Npb25fZ2V0X3Bob25lLAoJICBydHBfc2Vzc2lvbl9nZXRfbG9jYXRpb24sIHJ0cF9zZXNzaW9uX2dldF90b29sLAoJICBydHBfc2Vzc2lvbl9wcm9jZXNzX2J5ZSwgc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYyAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCwKCSAgcnRwX3NvdXJjZV9zZW5kX3J0cCwgcnRwX3NvdXJjZV9wcm9jZXNzX3NyLCBydHBfc291cmNlX3Byb2Nlc3NfcmIpOgoJICBNb3JlIGZvcm1hdCBhcmcgZml4aW5nIChzcG90dGVkIGJ5IEFsaSBTYWJpbCA8YWxpLnNhYmlsQGdtYWlsLmNvbT4pLgoJICAqIGdzdC9zd2l0Y2gvTWFrZWZpbGUuYW06CgkgIEFkZCByZXF1aXJlIGxpYnJhcmllcyhzcG90dGVkIGJ5IEFsaSBTYWJpbCA8YWxpLnNhYmlsQGdtYWlsLmNvbT4pLgoKMjAwNy0wNS0xMCAxMjozODo0OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOgoJICBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYyAodGFpbF9idWZmZXJfZHVyYXRpb24sIGFzeW5jX2ppdHRlcl9xdWV1ZV9yZWYsIGFzeW5jX2ppdHRlcl9xdWV1ZV9yZWZfdW5sb2NrZWQsIGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmMgKHRhaWxfYnVmZmVyX2R1cmF0aW9uLAoJICBhc3luY19qaXR0ZXJfcXVldWVfcmVmLCBhc3luY19qaXR0ZXJfcXVldWVfcmVmX3VubG9ja2VkLAoJICBhc3luY19qaXR0ZXJfcXVldWVfc2V0X2xvd190aHJlc2hvbGQsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9sZW5ndGhfdHNfdW5pdHNfdW5sb2NrZWQsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV91bnJlZl9hbmRfdW5sb2NrLCBhc3luY19qaXR0ZXJfcXVldWVfdW5yZWYsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9sb2NrLCBhc3luY19qaXR0ZXJfcXVldWVfcHVzaCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2hfdW5sb2NrZWQsIGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoX3NvcnRlZCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3BvcF9pbnRlcm5fdW5sb2NrZWQsIGFzeW5jX2ppdHRlcl9xdWV1ZV9wb3AsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9wb3BfdW5sb2NrZWQsIGFzeW5jX2ppdHRlcl9xdWV1ZV9sZW5ndGhfdW5sb2NrZWQsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfZmx1c2hpbmdfdW5sb2NrZWQsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV91bnNldF9mbHVzaGluZ191bmxvY2tlZCk6CgkgIEZvcm1hdCBhcmcgZml4IChzcG90dGVkIGJ5IEFsaSBTYWJpbCA8YWxpLnNhYmlsQGdtYWlsLmNvbT4pCgoyMDA3LTA1LTEwIDA3OjQxOjQ3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb21tb24vbTQvZ3N0LXgxMS5tNDogUmVzdG9yZSBDRkxBR1MgYW5kIExJQlMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbW1vbi9tNC9nc3QteDExLm00OgoJICBSZXN0b3JlIENGTEFHUyBhbmQgTElCUy4KCSAgKiBjb25maWd1cmUuYWM6CgkgIFJldmVydCBwcmV2aW91cyBwYXRjaC4KCjIwMDctMDUtMTAgMDY6MzU6MzEgKzAwMDAgIEFsaSBTYWJpbCA8YWxpLnNhYmlsQGdtYWlsLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogU2F2ZSBhbmQgcmVzdG9yZSBDRkxBR1MgZm9yIE9wZW5HTCBjaGVjay4gRml4ZXMgIzQzNzI2MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbGkgU2FiaWwgPGFsaS5zYWJpbEBnbWFpbC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICBTYXZlIGFuZCByZXN0b3JlIENGTEFHUyBmb3IgT3BlbkdMIGNoZWNrLiBGaXhlcyAjNDM3MjYwLgoKMjAwNy0wNS0wOSAyMDowMToyMSArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6IEFkZCBkaXJlY3RyYXcgYW5kIGRpcmVjdHNvdW5kIHNpbmtzIHByb3BlcnRpZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICBBZGQgZGlyZWN0cmF3IGFuZCBkaXJlY3Rzb3VuZCBzaW5rcyBwcm9wZXJ0aWVzLgoKMjAwNy0wNS0wOSAxNzo1ODowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IC0tZGlzYWJsZS1leHRlcm5hbCAoaG9wZWZ1bGx5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggLS1kaXNhYmxlLWV4dGVybmFsIChob3BlZnVsbHkpLgoKMjAwNy0wNS0wOSAxMToyNDoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBQYXNzIHF1ZXJpZXMgdXBzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KToKCSAgUGFzcyBxdWVyaWVzIHVwc3RyZWFtLgoKMjAwNy0wNS0wNiAxNToyNTowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9yZWFsLzogVXNlIEdNb2R1bGUgaW5zdGVhZCBvZiB1c2luZyBkbHN5bSgpIGRpcmVjdGx5LiBGaXhlcyAjNDMwNTk4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19zZXRjYXBzKSwKCSAgKGdzdF9yZWFsX2F1ZGlvX2RlY19maW5hbGl6ZSk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmg6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChvcGVuX2xpYnJhcnkpLCAoY2xvc2VfbGlicmFyeSk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmg6CgkgIFVzZSBHTW9kdWxlIGluc3RlYWQgb2YgdXNpbmcgZGxzeW0oKSBkaXJlY3RseS4gRml4ZXMgIzQzMDU5OC4KCjIwMDctMDUtMDQgMjE6MDI6NTggKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBkb2NzIGZvciBXaW5kb3dzIHNpbmtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgQWRkIGRvY3MgZm9yIFdpbmRvd3Mgc2lua3MuCgoyMDA3LTA1LTA0IDE3OjIwOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3NwZWVkL2dzdHNwZWVkLmM6IEZpeCBldmVudCBoYW5kbGluZyBhIGJpdCBieSByZXBsYWNpbmcgY29tcGxldGVseSBkdWJpb3VzIGNvZGUgd3JpdHRlbiBieSBzb21lb25lIGVsc2Ugd2l0aCBjb21wLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOiAoc3BlZWRfc3JjX2V2ZW50KSwgKHNwZWVkX3NpbmtfZXZlbnQpLAoJICAoc3BlZWRfY2hhaW4pLCAoc3BlZWRfY2hhbmdlX3N0YXRlKToKCSAgRml4IGV2ZW50IGhhbmRsaW5nIGEgYml0IGJ5IHJlcGxhY2luZyBjb21wbGV0ZWx5IGR1YmlvdXMgY29kZQoJICB3cml0dGVuIGJ5IHNvbWVvbmUgZWxzZSB3aXRoIGNvbXBsZXRlbHkgZHViaW91cyBjb2RlIHdyaXR0ZW4KCSAgYnkgbWUuIFNob3VsZCBhdCBsZWFzdCBmaXggIzQxMjA3NyB0aG91Z2guCgoyMDA3LTA1LTA0IDE2OjExOjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3NwZWVkL2dzdHNwZWVkLmM6IEFkZCBkZWJ1ZyBjYXRlZ29yeTsgdXNlIGdzdF9wYWRfcXVlcnlfcGVlcl8qKCkgdXRpbGl0eSBmdW5jdGlvbnM7IHVzZSBnc3RfdXRpbF9zY2FsZSooKTsgYWRkIGd0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOiAoc3BlZWRfc3JjX3F1ZXJ5KSwgKHNwZWVkX2NoYWluKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgQWRkIGRlYnVnIGNhdGVnb3J5OyB1c2UgZ3N0X3BhZF9xdWVyeV9wZWVyXyooKSB1dGlsaXR5IGZ1bmN0aW9uczsKCSAgdXNlIGdzdF91dGlsX3NjYWxlKigpOyBhZGQgZ3RrLWRvYyBibHVyYi4KCjIwMDctMDUtMDQgMTI6MzI6MjcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogQWRkIHNvbWUgZGVidWcgaW5mby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpOgoJICBBZGQgc29tZSBkZWJ1ZyBpbmZvLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2luaXQpLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ydHApOgoJICBTdG9yZSByZWFsIHVzZXIgbmFtZSBpbiB0aGUgc2Vzc2lvbi4KCjIwMDctMDUtMDMgMTY6NDk6MDUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYyAobG9vcCwgbXlfYnVzX2NhbGxiYWNrLCBzd2l0Y2hfdGltZXIsIGxhc3RfbWVzc2FnZV9yZWNlaXZlZCwgbWFpbik6IGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4YW1wbGVzL01ha2VmaWxlLmFtOgoJICAqIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jIChsb29wLCBteV9idXNfY2FsbGJhY2ssIHN3aXRjaF90aW1lciwKCSAgbGFzdF9tZXNzYWdlX3JlY2VpdmVkLCBtYWluKToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChHU1RfQ0FUX0RFRkFVTFQsIGdzdF9zd2l0Y2hfZGV0YWlscywKCSAgZ3N0X3N3aXRjaF9zcmNfZmFjdG9yeSwgcGFyZW50X2NsYXNzLCBnc3Rfc3dpdGNoX3JlbGVhc2VfcGFkLAoJICBnc3Rfc3dpdGNoX3JlcXVlc3RfbmV3X3BhZCwgZ3N0X3N3aXRjaF9jaGFpbiwgZ3N0X3N3aXRjaF9ldmVudCwKCSAgZ3N0X3N3aXRjaF9zZXRfcHJvcGVydHksIGdzdF9zd2l0Y2hfZ2V0X3Byb3BlcnR5LAoJICBnc3Rfc3dpdGNoX2dldF9saW5rZWRfcGFkLCBnc3Rfc3dpdGNoX2dldGNhcHMsCgkgIGdzdF9zd2l0Y2hfYnVmZmVyYWxsb2MsIGdzdF9zd2l0Y2hfZ2V0X2xpbmtlZF9wYWRzLAoJICBnc3Rfc3dpdGNoX2Rpc3Bvc2UsIGdzdF9zd2l0Y2hfaW5pdCwgZ3N0X3N3aXRjaF9iYXNlX2luaXQsCgkgIGdzdF9zd2l0Y2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaCAoR3N0U3dpdGNoLCBHc3RTd2l0Y2hDbGFzcywgX0dzdFN3aXRjaCwKCSAgZWxlbWVudCwgYWN0aXZlX3NpbmtwYWQsIHNyY3BhZCwgbmJfc2lua3BhZHMsIG5ld3NlZ21lbnRfZXZlbnRzLAoJICBuZWVkX3RvX3NlbmRfbmV3c2VnbWVudCk6CgkgIFBvcnQgc3dpdGNoIGVsZW1lbnQgYW5kIGV4YW1wbGUgcHJvZ3JhbSB0byAwLjEwLgoKMjAwNy0wNS0wMiAxODozMToxNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOiBDYWxsIGJpbmR0ZXh0ZG9tYWluKCkgdG8gZ2V0IGxvY2FsaXplZCBzdHJpbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrLmM6IChwbHVnaW5faW5pdCk6CgkgIENhbGwgYmluZHRleHRkb21haW4oKSB0byBnZXQgbG9jYWxpemVkIHN0cmluZ3MuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3B1c2hfYnVmZmVyKSwgKGdzdF93YXZwYWNrX3BhcnNlX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgSGFuZGxlIERJU0NPTlQgYnVmZmVycyBieSBjb3JyZWN0bHkgc2V0dGluZyB0aGUgRElTQ09OVCBmbGFnCgkgIG9uIG91dGdvaW5nIGJ1ZmZlcnMgd2hlbiBuZWNlc3NhcnkuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCkKCSAgU2VuZCBuZXdzZWdtZW50IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQuCgoyMDA3LTA1LTAyIDE2OjU4OjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogUmVtb3ZlIG9sZCB3b3JrYXJvdW5kIHRoYXQgd2FzIG5lZWRlZCB3aGVuIHNlZWtpbmcgYWZ0ZXIgdGhlIGxhc3Qgc2FtcGxlLiBXaXRoIHRoZSBmaXguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCk6CgkgIFJlbW92ZSBvbGQgd29ya2Fyb3VuZCB0aGF0IHdhcyBuZWVkZWQgd2hlbiBzZWVraW5nIGFmdGVyIHRoZSBsYXN0CgkgIHNhbXBsZS4gV2l0aCB0aGUgZml4ZWQgZXJyb3IgaGFuZGxpbmcgdGhpcyB3b3JrcyBub3cgYXMgZXhwZWN0ZWQKCSAgd2l0aG91dCBwdXNoaW5nIHRoZSBsYXN0IHNhbXBsZSBhbHRob3VnaCBpdCB3YXNuJ3QgcmVxdWVzdGVkLgoKMjAwNy0wNS0wMiAxNjo0NTo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IEhhbmRsZSBzZWdtZW50IHNlZWtzIGluIHRoZSBzZWVrIGV2ZW50IGhhbmRsZXIsIGNvcnJlY3RseSB3b3JrIHdpdGggc3RvcCBwb3NpdGlvbiA9PSAtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpOgoJICBIYW5kbGUgc2VnbWVudCBzZWVrcyBpbiB0aGUgc2VlayBldmVudCBoYW5kbGVyLCBjb3JyZWN0bHkgd29yayB3aXRoCgkgIHN0b3AgcG9zaXRpb24gPT0gLTEgYW5kIGluc3RlYWQgb2Ygc3RvcHBpbmcgdGhlIHRhc2sgb24gc2VlayBqdXN0CgkgIHBhdXNlIGl0LgoKMjAwNy0wNS0wMiAxNjoxOTo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IEFkZCBoYW5kbGluZyBmb3Igc2VnbWVudCBzZWVrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9sb29wKToKCSAgQWRkIGhhbmRsaW5nIGZvciBzZWdtZW50IHNlZWtzLgoKMjAwNy0wNS0wMiAxNToxMzowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IENvcnJlY3RseSBoYW5kbGUgZXJyb3JzLCBlc3BlY2lhbGx5IGluIHRoZSBsb29wIGZ1bmN0aW9uLiBCZWZvcmUgaXQgd2FzIGVhc3kgdG8gZ2V0IHRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcHVsbF9idWZmZXIpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzeW5jX2xvb3ApLCAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jaGFpbik6CgkgIENvcnJlY3RseSBoYW5kbGUgZXJyb3JzLCBlc3BlY2lhbGx5IGluIHRoZSBsb29wIGZ1bmN0aW9uLiBCZWZvcmUgaXQKCSAgd2FzIGVhc3kgdG8gZ2V0IHRoZSB0YXNrIHBhdXNlZCBidXQgbm8gZXJyb3IgYmVpbmcgcG9zdGVkIG9uIHRoZSBidXMuCgoyMDA3LTA0LTMwIDE1OjM5OjA5ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjCgoyMDA3LTA0LTMwIDEzOjQxOjMwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6IEZpeCB0aGUgY2FzZSB3aGVyZSB0aGUgYnVmZmVyIHVuZGVycnVucyBhbmQgZG9lcyBub3QgYmxvY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOiAoc2lnbmFsX3dhaXRpbmdfdGhyZWFkcyksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcG9wX2ludGVybl91bmxvY2tlZCk6CgkgIEZpeCB0aGUgY2FzZSB3aGVyZSB0aGUgYnVmZmVyIHVuZGVycnVucyBhbmQgZG9lcyBub3QgYmxvY2suCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9iYXNlX2luaXQpLAoJICAoY3JlYXRlX3JlY3ZfcnRjcCksIChjcmVhdGVfc2VuZF9ydHApLCAoY3JlYXRlX3J0Y3ApLAoJICAoZ3N0X3J0cF9iaW5fcmVxdWVzdF9uZXdfcGFkKToKCSAgUmVuYW1lIFJUQ1Agc2VuZCBwYWQsIGxpa2UgaW4gdGhlIHNlc3Npb24gbWFuYWdlci4KCSAgQWxsb3cgZ2V0dGluZyBhbiBSVENQIHBhZCBmb3IgcmVjZWl2aW5nIGV2ZW4gaWYgd2UgZG9uJ3QgcmVjZWl2ZSBSVFAuCgkgIGZpeCBoYW5kbGluZyBvZiBzZW5kX3J0cF9zcmMgcGFkLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICBXaGVuIG5vIHB0IG1hcCBjb3VsZCBiZSBmb3VuZCwgZmFsbCBiYWNrIHRvIHRoZSBzaW5rcGFkIGNhcHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0cCksIChjcmVhdGVfcmVjdl9ydHBfc2luayksCgkgIChjcmVhdGVfcmVjdl9ydGNwX3NpbmspLCAoY3JlYXRlX3NlbmRfcnRwX3NpbmspLAoJICAoY3JlYXRlX3NlbmRfcnRjcF9zcmMpOgoJICBGaXggcGFkIG5hbWVzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHNvdXJjZV9wdXNoX3J0cCksCgkgIChydHBfc2Vzc2lvbl9jcmVhdGVfc291cmNlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ydHApLCAoc2Vzc2lvbl9zdGFydF9ydGNwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFVubG9jayBzZXNzaW9uIHdoZW4gcGVyZm9ybWluZyBhIGNhbGxiYWNrLgoJICBBZGQgY2FsbGJhY2tzIGZvciB0aGUgaW50ZXJuYWwgc2Vzc2lvbiBvYmplY3QuCgkgIEZpeCBzZW5kaW5nIG9mIFJUUCBwYWNrZXRzLgoJICBmaXJzdCBhdHRlbXB0IGF0IGFkZGluZyBOVFAgdGltZXMgaW4gdGhlIFNSIHBhY2tldHMuCgkgIFNtYWxsIGRlYnVnIGFuZCBkb2MgaW1wcm92ZW1lbnRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9zZW5kX3J0cCk6CgkgIFVwZGF0ZSBzdGF0cyBmb3IgU1IgcmVwb3J0cy4KCjIwMDctMDQtMjkgMTQ6NDY6MjcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IFJlbW92ZSBkZWJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCk6CgkgIFJlbW92ZSBkZWJ1Zy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2RlcyksIChjYWxjdWxhdGVfcnRjcF9pbnRlcnZhbCksCgkgIChydHBfc2Vzc2lvbl9uZXh0X3RpbWVvdXQpLCAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOiAocnRwX3N0YXRzX2NhbGN1bGF0ZV9ydGNwX2ludGVydmFsKToKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcKCSAgRml4IGludGVydmFsIGZvciBCWUUvUlRDUCBwYWNrZXRzLgoKMjAwNy0wNC0yOSAxNDowMTowNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuKjogQ29tbWl0IHJlc3VsdCBvZiBydW5uaW5nIHNjYW5vYmotdXBkYXRlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICBDb21taXQgcmVzdWx0IG9mIHJ1bm5pbmcgc2Nhbm9iai11cGRhdGUKCjIwMDctMDQtMjkgMTM6NTY6MTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICA4MCBjaGFyIHBvbGljZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgODAgY2hhciBwb2xpY2UKCjIwMDctMDQtMjkgMTM6NTM6MTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYXV0b2dlbi5zaDogUmVxdWlyZSBhdXRvbWFrZSAxLjcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYXV0b2dlbi5zaDoKCSAgUmVxdWlyZSBhdXRvbWFrZSAxLjcKCSAgKiBleHQvYWxzYXNwZGlmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXZ4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmVvbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06CgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQveHZpZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgRml4IHVwIE1ha2VmaWxlLmFtIGFjY29yZGluZ2x5LgoKMjAwNy0wNC0yOSAxMzo0OTowMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC86IEFkZCBqYWNrIGFuZCB1cGRhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdsaW1hZ2VzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgIEFkZCBqYWNrIGFuZCB1cGRhdGUuCgoyMDA3LTA0LTI4IDEyOjQ2OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBEb24ndCBidWlsZCBlcXVhbGl6ZXIgdW5sZXNzIHdlIGhhdmUgY29yZSBmcm9tIENWUyAoaXQgd29uJ3Qgd29yayB3aXRoIGVhcmxpZXIgdmVyc2lvbnMgZHVlIHRvIEdzdENoaWxkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRG9uJ3QgYnVpbGQgZXF1YWxpemVyIHVubGVzcyB3ZSBoYXZlIGNvcmUgZnJvbSBDVlMgKGl0IHdvbid0CgkgIHdvcmsgd2l0aCBlYXJsaWVyIHZlcnNpb25zIGR1ZSB0byBHc3RDaGlsZFByb3h5IGJyb2tlbmVzcykuCgkgIEFsc28gdXAgcmVxdWlyZW1lbnRzIHRvIGxhc3QgcmVsZWFzZWQgY29yZS9iYXNlLgoKPT09IHJlbGVhc2UgMC4xMC4xNSA9PT0KCjIwMDctMDQtMjcgMTU6MzM6NDYgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L3RoZW9yYS90aGVvcmFkZWMuYzogQ2FsY3VsYXRlIGJ1ZmZlciBkdXJhdGlvbiBjb3JyZWN0bHkgdG8gZ2VuZXJhdGUgYSBwZXJmZWN0IHN0cmVhbSAoIzQzMzg4OCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA0LTI3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzogKF90aGVvcmFfZ3JhbnVsZV90aW1lKSwKCSAgKHRoZW9yYV9kZWNfcHVzaF9mb3J3YXJkKSwgKHRoZW9yYV9oYW5kbGVfZGF0YV9wYWNrZXQpLAoJICAodGhlb3JhX2RlY19kZWNvZGVfYnVmZmVyKTogQ2FsY3VsYXRlIGJ1ZmZlciBkdXJhdGlvbiBjb3JyZWN0bHkKCSAgdG8gZ2VuZXJhdGUgYSBwZXJmZWN0IHN0cmVhbSAoIzQzMzg4OCkuCgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAoYXVkaW9yZXNhbXBsZV9jaGVja19kaXNjb250KTogR2xpYiBwcm92aWRlcyBBQlMuCgoyMDA3LTA0LTI3IDE1OjA5OjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBNb3ZlIHJlY29uc2lkZXJhdGlvbiBjb2RlIHRvIHRoZSBydHBzZXNzaW9uIG9iamVjdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAocnRjcF90aHJlYWQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCksIChnc3RfcnRwX3Nlc3Npb25fcmVjb25zaWRlcik6CgkgIE1vdmUgcmVjb25zaWRlcmF0aW9uIGNvZGUgdG8gdGhlIHJ0cHNlc3Npb24gb2JqZWN0LgoJICBTaW1wbGlmeSB0aW1vdXQgaGFuZGxpbmcgYW5kIGFkZCByZWNvbnNpZGVyYXRpb24uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydHBfc2Vzc2lvbl9pbml0KSwgKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKSwgKG9uX2J5ZV9zc3JjKSwKCSAgKG9uX2J5ZV90aW1lb3V0KSwgKG9uX3RpbWVvdXQpLCAocnRwX3Nlc3Npb25fc2V0X2NhbGxiYWNrcyksCgkgIChvYnRhaW5fc291cmNlKSwgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9zb3VyY2UpLAoJICAodXBkYXRlX2Fycml2YWxfc3RhdHMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3JyKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCksCgkgIChjYWxjdWxhdGVfcnRjcF9pbnRlcnZhbCksIChydHBfc2Vzc2lvbl9zZW5kX2J5ZSksCgkgIChydHBfc2Vzc2lvbl9uZXh0X3RpbWVvdXQpLCAoc2Vzc2lvbl9zdGFydF9ydGNwKSwKCSAgKHNlc3Npb25fcmVwb3J0X2Jsb2NrcyksIChzZXNzaW9uX2NsZWFudXApLCAoc2Vzc2lvbl9zZGVzKSwKCSAgKHNlc3Npb25fYnllKSwgKGlzX3J0Y3BfdGltZSksIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEhhbmRsZSB0aW1lb3V0IG9mIGluYWN0aXZlIHNvdXJjZXMgYW5kIHNlbmRlcnMuCgkgIEltcGxlbWVudCBCWUUgc2NoZWR1bGluZy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKGNhbGN1bGF0ZV9qaXR0ZXIpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3NyKSwgKHJ0cF9zb3VyY2VfZ2V0X2xhc3Rfc3IpLAoJICAocnRwX3NvdXJjZV9nZXRfbGFzdF9yYik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIEFkZCBtZW1iZXJzIHRvIGNoZWNrIGZvciB0aW1lb3V0cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOiAocnRwX3N0YXRzX2luaXRfZGVmYXVsdHMpLAoJICAocnRwX3N0YXRzX2NhbGN1bGF0ZV9ydGNwX2ludGVydmFsKSwgKHJ0cF9zdGF0c19hZGRfcnRjcF9qaXR0ZXIpLAoJICAocnRwX3N0YXRzX2NhbGN1bGF0ZV9ieWVfaW50ZXJ2YWwpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIFVzZSBSRkMgYWxnb3JpdGhtIGZvciBjYWxjdWxhdGluZyB0aGUgcmVwb3J0aW5nIGludGVydmFsLgoKMjAwNy0wNC0yNiAxNDozMTozMiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBkb2N1bWVudGF0aW9uIGZvciBvc3h2aWRlbwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3N4dmlkZW8ueG1sOgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3Igb3N4dmlkZW8KCjIwMDctMDQtMjUgMTY6Mzg6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IEltcGxlbWVudCBmb3J3YXJkIGFuZCByZXZlcnNlIHJlY29uc2lkZXJhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAocnRjcF90aHJlYWQpOgoJICBJbXBsZW1lbnQgZm9yd2FyZCBhbmQgcmV2ZXJzZSByZWNvbnNpZGVyYXRpb24uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fZ2V0X251bV9zb3VyY2VzKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9udW1fYWN0aXZlX3NvdXJjZXMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksCgkgIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgU21hbGwgY2xlYW51cHMuCgoyMDA3LTA0LTI1IDE1OjQ4OjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLio6IE1ha2UgZGVmYXVsdCBqaXR0ZXJidWZmZXIgbGF0ZW5jeSBjb25maWd1cmFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZpZXdlZCBieTogPGRlbGV0ZSBpZiBub3QgdXNpbmcgYSBidWRkeT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChnc3RfcnRwX2Jpbl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9iaW5fZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgTWFrZSBkZWZhdWx0IGppdHRlcmJ1ZmZlciBsYXRlbmN5IGNvbmZpZ3VyYWJsZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfcHJvcGVydHkpOgoJICBEZWJ1Z2luZyBjbGVhbnVwcy4KCjIwMDctMDQtMjUgMTM6MTk6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogUmVwb3J0IE5PX1BSRVJPTEwgd2hlbiBnb2luZyB0byBQQVVTRUQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYW5nZV9zdGF0ZSk6CgkgIFJlcG9ydCBOT19QUkVST0xMIHdoZW4gZ29pbmcgdG8gUEFVU0VELgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHJ0Y3BfdGhyZWFkKToKCSAgRG9uJ3Qgc2VuZCBSVENQIHJpZ2h0IGJlZm9yZSB3ZSBhcmUgc2h1dHRpbmcgZG93bi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHNlc3Npb25fcmVwb3J0X2Jsb2NrcyksCgkgIChydHBfc2Vzc2lvbl9wZXJmb3JtX3JlcG9ydGluZyk6CgkgIEltcHJvdmUgcmVwb3J0IGJsb2Nrcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKGNhbGN1bGF0ZV9qaXR0ZXIpLCAoaW5pdF9zZXEpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCksIChydHBfc291cmNlX3Byb2Nlc3Nfc3IpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3JiKSwgKHJ0cF9zb3VyY2VfZ2V0X2xhc3Rfc3IpLAoJICAocnRwX3NvdXJjZV9nZXRfbGFzdF9yYik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgQ2xlYW51cHMsIGFkZCBtZXRob2RzIHRvIGFjY2VzcyBzdGF0cy4KCjIwMDctMDQtMjUgMDg6MzA6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogZml4IGZvciBwYWQgbmFtZSBjaGFuZ2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfcnRjcCk6CgkgIGZpeCBmb3IgcGFkIG5hbWUgY2hhbmdlCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAocnRjcF90aHJlYWQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCksIChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSk6CgkgIEZpeCBmb3IgcmVuYW1lZCBtZXRob2RzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2luaXQpLAoJICAocnRwX3Nlc3Npb25fZmluYWxpemUpLCAocnRwX3Nlc3Npb25fc2V0X2NuYW1lKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9jbmFtZSksIChydHBfc2Vzc2lvbl9zZXRfbmFtZSksCgkgIChydHBfc2Vzc2lvbl9nZXRfbmFtZSksIChydHBfc2Vzc2lvbl9zZXRfZW1haWwpLAoJICAocnRwX3Nlc3Npb25fZ2V0X2VtYWlsKSwgKHJ0cF9zZXNzaW9uX3NldF9waG9uZSksCgkgIChydHBfc2Vzc2lvbl9nZXRfcGhvbmUpLCAocnRwX3Nlc3Npb25fc2V0X2xvY2F0aW9uKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9sb2NhdGlvbiksIChydHBfc2Vzc2lvbl9zZXRfdG9vbCksCgkgIChydHBfc2Vzc2lvbl9nZXRfdG9vbCksIChydHBfc2Vzc2lvbl9zZXRfbm90ZSksCgkgIChydHBfc2Vzc2lvbl9nZXRfbm90ZSksIChzb3VyY2VfcHVzaF9ydHApLCAob2J0YWluX3NvdXJjZSksCgkgIChydHBfc2Vzc2lvbl9hZGRfc291cmNlKSwgKHJ0cF9zZXNzaW9uX2dldF9zb3VyY2VfYnlfc3NyYyksCgkgIChydHBfc2Vzc2lvbl9jcmVhdGVfc291cmNlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCksIChydHBfc2Vzc2lvbl9zZW5kX3J0cCksCgkgIChydHBfc2Vzc2lvbl9nZXRfcmVwb3J0aW5nX2ludGVydmFsKSwgKHNlc3Npb25fcmVwb3J0X2Jsb2NrcyksCgkgIChzZXNzaW9uX3NkZXMpLCAocnRwX3Nlc3Npb25fcGVyZm9ybV9yZXBvcnRpbmcpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgUHJlcGFyZSBmb3IgaW1wbGVtZW50aW5nIFNTUkMgc2FtcGxpbmcuCgkgIENyZWF0ZSBTU1JDIGZvciB0aGUgc2Vzc2lvbi4KCSAgQWRkIG1ldGhvZHMgdG8gc2V0IHRoZSBTREVTIGVudHJpZXMuCgkgIGZpeCBhY2NvdW50aW5nIG9mIHNlbmRlcnMvcmVjZWl2ZXJzLgoJICBJbXBsZW1lbnQgU1IvUlIvU0RFUyBSVENQIHJlcG9ydGluZy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfaW5pdCksIChpbml0X3NlcSksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcnRwKSwgKHJ0cF9zb3VyY2VfcHJvY2Vzc19zcik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIEltcGxlbWVudCBleHRlbmRlZCBzZXF1ZW5jZSBudW1iZXIuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzogKHJ0cF9zdGF0c19jYWxjdWxhdGVfcnRjcF9pbnRlcnZhbCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgUmVuYW1lIHNvbWUgZmllbGRzLgoKMjAwNy0wNC0yNCAxNTo0OToxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFBsdWcgc29tZSBsZWFrczsgdHJ5IHRvIG1ha2UgYnVpbGQgYm90IGhhcHB5IGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOiAoZ3N0X3k0bV9lbmNvZGVfaW5pdCksCgkgIChnc3RfeTRtX2VuY29kZV9zZXRjYXBzKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgUGx1ZyBzb21lIGxlYWtzOyB0cnkgdG8gbWFrZSBidWlsZCBib3QgaGFwcHkgYWdhaW4uCgoyMDA3LTA0LTIxIDE5OjM5OjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L01ha2VmaWxlLmFtOiBGaXggZGlzdGNoZWNrLCBob3BlZnVsbHkgKHJ0cG1hbmFnZXIgaXMgYWxyZWFkeSBpbiBHU1RfUExVR0lOU19BTEwpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvTWFrZWZpbGUuYW06CgkgIEZpeCBkaXN0Y2hlY2ssIGhvcGVmdWxseSAocnRwbWFuYWdlciBpcyBhbHJlYWR5IGluIEdTVF9QTFVHSU5TX0FMTCkuCgoyMDA3LTA0LTIxIDE5OjIxOjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBEb24ndCB1c2UgR0xpYi0yLjEwIEFQSSwgd2Ugb25seSByZXF1aXJlIEdMaWIgMi44IGF0IHRoZSBtb21lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKToKCSAgRG9uJ3QgdXNlIEdMaWItMi4xMCBBUEksIHdlIG9ubHkgcmVxdWlyZSBHTGliIDIuOCBhdCB0aGUgbW9tZW50LgoKMjAwNy0wNC0yMSAxNDoxNDoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogTWFrZSBtb3JlIGZ1bmN0aW9ucyBzdGF0aWMsIGp1c3QgYmVjYXVzZSB3ZSBjYW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgTWFrZSBtb3JlIGZ1bmN0aW9ucyBzdGF0aWMsIGp1c3QgYmVjYXVzZSB3ZSBjYW4uCgoyMDA3LTA0LTIxIDEzOjU0OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOiBBZGQgdW5pdCB0ZXN0IGZvciBhdWRpb3Jlc2FtcGxlIHNodXRkb3duIGNyYXNoZXIgKCM0MjAxMDYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6CgkgIEFkZCB1bml0IHRlc3QgZm9yIGF1ZGlvcmVzYW1wbGUgc2h1dGRvd24gY3Jhc2hlciAoIzQyMDEwNikuCgoyMDA3LTA0LTIwIDE1OjMxOjMyICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEZBQUQgZmFpbHMgdG8gZGVjb2RlIGxvdyAoZS5nLiA4IGtIeikgc2FtcGxlIHJhdGUgQUFDIGRhdGEgaW4gcXVpY2t0aW1lIGJlY2F1c2Ugb2Ygc2FtcGxlIHJhdGUgbWkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfb3Blbl9kZWNvZGVyKToKCSAgRkFBRCBmYWlscyB0byBkZWNvZGUgbG93IChlLmcuIDgga0h6KSBzYW1wbGUgcmF0ZSBBQUMgZGF0YSBpbgoJICBxdWlja3RpbWUgYmVjYXVzZSBvZiBzYW1wbGUgcmF0ZSBtaXNtYXRjaGVzLgoJICBSZWVuYWJsZSBvdmVycmlkaW5nIHRoZSBpbXBsaWNpdCBTQlIgYmVoYXZpb3VyIChhY2NpZGVudGx5IGNoYW5nZWQ/KQoJICB0byBhbGxvdyBwbGF5YmFjayBvZiB0aGVzZSBmaWxlcy4KCjIwMDctMDQtMTkgMTU6NDM6MjYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgY29uZmlndXJlLmFjOiBDaGFuZ2UgcnRwbWFuYWdlciBkaXNhYmxpbmcgdG8ga2VlcCAtYmFkIHJlbGVhc2FibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hhbmdlIHJ0cG1hbmFnZXIgZGlzYWJsaW5nIHRvIGtlZXAgLWJhZCByZWxlYXNhYmxlLgoKMjAwNy0wNC0xOCAxOTo0NTozMiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBGaXggd3RheSdzIGhhY2suICBydHBtYW5hZ2VyIGlzIGRpc2FibGVkIGluIGNvbmZpZ3VyZS5hYyBvbiBsaW5lIDI2OC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9NYWtlZmlsZS5hbToKCSAgRml4IHd0YXkncyBoYWNrLiAgcnRwbWFuYWdlciBpcyBkaXNhYmxlZCBpbiBjb25maWd1cmUuYWMgb24KCSAgbGluZSAyNjguCgoyMDA3LTA0LTE4IDE5OjI2OjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L01ha2VmaWxlLmFtOiBBZGQgcnRwbWFuYWdlciBkaXIgdG8gZGlzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L01ha2VmaWxlLmFtOgoJICBBZGQgcnRwbWFuYWdlciBkaXIgdG8gZGlzdC4KCjIwMDctMDQtMTggMTg6NTg6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBjb25maWd1cmUuYWM6IERpc2FibGUgcnRwbWFuYWdlciBmb3Igbm93IGJlY2F1c2UgaXQgZGVwZW5kcyBvbiBDVlMgLWJhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRGlzYWJsZSBydHBtYW5hZ2VyIGZvciBub3cgYmVjYXVzZSBpdCBkZXBlbmRzIG9uIENWUyAtYmFzZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgQWRkZWQgbmV3IGZpbGVzIGZvciBzZXNzaW9uIG1hbmFnZXIuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksIChnZXRfcHRfbWFwKSwKCSAgKGNyZWF0ZV9zdHJlYW0pLCAocHRfbWFwX3JlcXVlc3RlZCksIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBTb21lIGNsZWFudXBzLgoJICB0aGUgc2Vzc2lvbiBtYW5hZ2VyIGNhbiBub3cgYWxzbyByZXF1ZXN0IGEgcHQtbWFwLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2ZpbmFsaXplKSwgKHJ0Y3BfdGhyZWFkKSwgKHN0YXJ0X3J0Y3BfdGhyZWFkKSwKCSAgKHN0b3BfcnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLCAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApLCAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldF90aW1lKSwgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydGNwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApLCAoY3JlYXRlX3NlbmRfcnRjcF9zcmMpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICBXZSBjYW4gYXNrIGZvciBwdC1tYXAgbm93IHRvbyB3aGVuIHRoZSBzZXNzaW9uIG1hbmFnZXIgbmVlZHMgaXQuCgkgIEhvb2sgdXAgdG8gdGhlIG5ldyBzZXNzaW9uIG1hbmFnZXIsIGltcGxlbWVudCB0aGUgbmVlZGVkIGNhbGxiYWNrcyBmb3IKCSAgcHVzaGluZyBkYXRhLCBnZXR0aW5nIGNsb2NrIHRpbWUgYW5kIHJlcXVlc3RpbmcgY2xvY2stcmF0ZXMuCgkgIFJlbmFtZSBydGNwX3NyYyB0byBzZW5kX3J0Y3Bfc3JjIHRvIG1ha2UgaXQgY2xlYXIgdGhhdCB0aGlzIFJUQ1AgaXMgdG8KCSAgYmUgc2VuZCB0byBjbGllbnRzLgoJICBBZGQgY29kZSB0byBzdGFydCBhbmQgc3RvcCB0aGUgdGhyZWFkIHRoYXQgd2lsbCBzY2hlZHVsZSBSVENQIHRocm91Z2gKCSAgdGhlIHNlc3Npb24gbWFuYWdlci4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX2luaXQpLCAocnRwX3Nlc3Npb25fZmluYWxpemUpLAoJICAocnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwgKHJ0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSksCgkgIChvbl9uZXdfc3NyYyksIChvbl9zc3JjX2NvbGxpc2lvbiksIChvbl9zc3JjX3ZhbGlkYXRlZCksCgkgIChvbl9ieWVfc3NyYyksIChydHBfc2Vzc2lvbl9uZXcpLCAocnRwX3Nlc3Npb25fc2V0X2NhbGxiYWNrcyksCgkgIChydHBfc2Vzc2lvbl9zZXRfYmFuZHdpZHRoKSwgKHJ0cF9zZXNzaW9uX2dldF9iYW5kd2lkdGgpLAoJICAocnRwX3Nlc3Npb25fc2V0X3J0Y3BfYmFuZHdpZHRoKSwgKHJ0cF9zZXNzaW9uX2dldF9ydGNwX2JhbmR3aWR0aCksCgkgIChzb3VyY2VfcHVzaF9ydHApLCAoc291cmNlX2Nsb2NrX3JhdGUpLCAoY2hlY2tfY29sbGlzaW9uKSwKCSAgKG9idGFpbl9zb3VyY2UpLCAocnRwX3Nlc3Npb25fYWRkX3NvdXJjZSksCgkgIChydHBfc2Vzc2lvbl9nZXRfbnVtX3NvdXJjZXMpLAoJICAocnRwX3Nlc3Npb25fZ2V0X251bV9hY3RpdmVfc291cmNlcyksCgkgIChydHBfc2Vzc2lvbl9nZXRfc291cmNlX2J5X3NzcmMpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3NvdXJjZV9ieV9jbmFtZSksIChydHBfc2Vzc2lvbl9jcmVhdGVfc291cmNlKSwKCSAgKHVwZGF0ZV9hcnJpdmFsX3N0YXRzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19yciksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19hcHApLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKSwgKHJ0cF9zZXNzaW9uX2dldF9ydGNwX2ludGVydmFsKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2R1Y2VfcnRjcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBUaGUgYWR2YW5jZWQgYmVnaW5uaW5ncyBvZiB0aGUgbWFpbiBzZXNzaW9uIG1hbmFnZXIgdGhhdCBoYW5kbGVzIHRoZQoJICBwYXJ0aWNpcGFudCBkYXRhYmFzZSBvZiBSVFBTb3VyY2VzLCBTU1JDIHByb2JhdGlvbiwgU1NSQyBjb2xsaXNpb25zLAoJICBwYXJzZSBSVENQIHRvIHVwZGF0ZSBzb3VyY2Ugc3RhdHMuIGV0Yy4uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2NsYXNzX2luaXQpLAoJICAocnRwX3NvdXJjZV9pbml0KSwgKHJ0cF9zb3VyY2VfZmluYWxpemUpLCAocnRwX3NvdXJjZV9uZXcpLAoJICAocnRwX3NvdXJjZV9zZXRfY2FsbGJhY2tzKSwgKHJ0cF9zb3VyY2Vfc2V0X2FzX2NzcmMpLAoJICAocnRwX3NvdXJjZV9zZXRfcnRwX2Zyb20pLCAocnRwX3NvdXJjZV9zZXRfcnRjcF9mcm9tKSwKCSAgKHB1c2hfcGFja2V0KSwgKGdldF9jbG9ja19yYXRlKSwgKGNhbGN1bGF0ZV9qaXR0ZXIpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCksIChydHBfc291cmNlX3Byb2Nlc3NfYnllKSwKCSAgKHJ0cF9zb3VyY2Vfc2VuZF9ydHApLCAocnRwX3NvdXJjZV9wcm9jZXNzX3NyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19yYik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmg6CgkgIE9iamVjdCB0aGF0IGVuY2Fwc3VsYXRlcyBhbiBTU1JDIGFuZCBpdHMgc3RhdGUgaW4gdGhlIGRhdGFiYXNlLgoJICBDYWxjdWxhdGVzIHRoZSBqaXR0ZXIgYW5kIHRyYW5zaXQgdGltZXMgb2YgZGF0YSBwYWNrZXRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6IChydHBfc3RhdHNfaW5pdF9kZWZhdWx0cyksCgkgIChydHBfc3RhdHNfY2FsY3VsYXRlX3J0Y3BfaW50ZXJ2YWwpLCAocnRwX3N0YXRzX2FkZF9ydGNwX2ppdHRlcik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgVmFyaW91cyBzdGF0cyByZWdhcmRpbmcgdGhlIHNlc3Npb24gYW5kIHNvdXJjZXMuCgkgIFVzZWQgdG8gY2FsY3VsYXRlIHRoZSBSVENQIGludGVydmFsLgoKMjAwNy0wNC0xNyAxMDo1NjozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hcHAvTWFrZWZpbGUuYW06IEZpeCBDRkxBR1MgYW5kIGhvcGVmdWxseSAjNDMwNTk0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBwL01ha2VmaWxlLmFtOgoJICBGaXggQ0ZMQUdTIGFuZCBob3BlZnVsbHkgIzQzMDU5NC4KCjIwMDctMDQtMTcgMDg6NDg6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbnNmL3R5cGVzLmg6IFJlbmFtZSAjaWZuZGVmIGhlYWRlciBndWFyZCBzeW1ib2wgdG8gc29tZXRoaW5nIGxlc3MgZ2VuZXJpYywgc28gdHlwZXMuaCBkb2Vzbid0IGdldCBza2lwcGVkIG92ZXIgd2guLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L25zZi90eXBlcy5oOgoJICBSZW5hbWUgI2lmbmRlZiBoZWFkZXIgZ3VhcmQgc3ltYm9sIHRvIHNvbWV0aGluZyBsZXNzIGdlbmVyaWMsIHNvCgkgIHR5cGVzLmggZG9lc24ndCBnZXQgc2tpcHBlZCBvdmVyIHdoZW4gY29tcGlsaW5nIG9uIE1pbmdXLiBJbmNsdWRlCgkgIEdMaWIgaGVhZGVycyBhbmQgdXNlIHRob3NlIHRvIHNldCB0aGUgZW5kaWFubmVzcyBhbmQgdGhlIGJhc2ljCgkgIHR5cGVzIHNvIHRoYXQgdGhpcyBpc24ndCBlbnRpcmVseSBicm9rZW4gZm9yIG5vbi14ODYgYXJjaGl0ZWN0dXJlcy4KCjIwMDctMDQtMTcgMDg6MDQ6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6IFVzZSBHX0xJVFRMRV9FTkRJQU4gaW5zdGVhZCBvZiBMSVRUTEVfRU5ESUFOLCBzbyBzdHVmZiBjb21waWxlcyBvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6IChnc3RfbXZlX2F1ZGlvX2luaXQpOgoJICBVc2UgR19MSVRUTEVfRU5ESUFOIGluc3RlYWQgb2YgTElUVExFX0VORElBTiwgc28gc3R1ZmYgY29tcGlsZXMgb24KCSAgTWluZ1cgKG5vIGlkZWEgdGhvdWdoIHdoeSB3ZSBhZGQgYSBCWVRFX09SREVSIGVuZGlhbm5lc3MgZmllbGQgaWYKCSAgdGhlIGF1ZGlvIGlzIGNvbXByZXNzZWQpLgoKMjAwNy0wNC0xNiAyMjoyMDowMyArMDAwMCAgVmluY2VudCBUb3JyaSA8dnRvcnJpQHVuaXYtZXZyeS5mcj4KCgkgIGV4dC9wYW5nby9nc3RjbG9ja292ZXJsYXkuYzogRml4IHVudXNlZCB2YXJpYWJsZSB3YXJuaW5nIGlmIEhBVkVfTE9DQUxUSU1FX1IgaXMgdW5kZWZpbmllZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpbmNlbnQgVG9ycmkgPHZ0b3JyaSBhdCB1bml2LWV2cnkgZG90IGZyPgoJICAqIGV4dC9wYW5nby9nc3RjbG9ja292ZXJsYXkuYzogKGdzdF9jbG9ja19vdmVybGF5X3JlbmRlcl90aW1lKToKCSAgRml4IHVudXNlZCB2YXJpYWJsZSB3YXJuaW5nIGlmIEhBVkVfTE9DQUxUSU1FX1IgaXMgdW5kZWZpbmllZAoJICAqIGdzdC1saWJzL2dzdC9yaWZmL3JpZmYtbWVkaWEuYzogKGdzdF9yaWZmX2NyZWF0ZV9hdWRpb19jYXBzKToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IChhdWRpb3Jlc2FtcGxlX2RvX291dHB1dCk6CgkgIFVzZSB0aGUgY29ycmVjdCBmb3JtYXQgc3RyaW5ncyBmb3IgaW50ZWdlciBmb3JtYXRzLgoKMjAwNy0wNC0xNCAxNzoxODoxNCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvOiBBZGQgeG1sIGRvYyBmaWxlcyBmb3IgV2luZG93cyBzaW5rcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyZWN0ZHJhdy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmVjdHNvdW5kLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2ZWZvcm0ueG1sOgoJICBBZGQgeG1sIGRvYyBmaWxlcyBmb3IgV2luZG93cyBzaW5rcwoJICAqIHdpbjMyL3ZzNi9saWJnc3RxdGRlbXV4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bXBlZ3ZpZGVvcGFyc2UuZHNwOgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJICBVcGRhdGUgcHJvamVjdHMgZmlsZXMuCgoyMDA3LTA0LTEzIDA5OjIwOjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBQcm90ZWN0IGxpc3RzIGFuZCBzdHJ1Y3R1cmVzIHdpdGggbG9ja3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoZ2V0X3B0X21hcCksCgkgIChnc3RfcnRwX2Jpbl9pbml0KSwgKGdzdF9ydHBfYmluX2ZpbmFsaXplKSwgKG5ld19zc3JjX3BhZF9mb3VuZCksCgkgIChjcmVhdGVfcmVjdl9ydHApLCAoZ3N0X3J0cF9iaW5fcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25faW5pdCksIChnc3RfcnRwX3Nlc3Npb25fZmluYWxpemUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRjcF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3JlcXVlc3RfbmV3X3BhZCk6CgkgIFByb3RlY3QgbGlzdHMgYW5kIHN0cnVjdHVyZXMgd2l0aCBsb2Nrcy4KCSAgUmV0dXJuIEZMT1dfT0sgZnJvbSBSVENQIG1lc3NhZ2VzIGZvciBub3cuCgoyMDA3LTA0LTEyIDEwOjUyOjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNYWtlIHRpbWVzY2FsZSAzMiBiaXRzIGFnYWluIHNvIHdlIGRvbid0IHNjcmV3IHVwIHRoZSBwdHNfb2Zmc2V0IGNhbGN1bGF0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBNYWtlIHRpbWVzY2FsZSAzMiBiaXRzIGFnYWluIHNvIHdlIGRvbid0IHNjcmV3IHVwIHRoZSBwdHNfb2Zmc2V0CgkgIGNhbGN1bGF0aW9ucy4KCjIwMDctMDQtMTIgMDg6MTg6MzIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRW1pdCBwdCBtYXAgcmVxdWVzdHMgYW5kIGNhY2hlIHJlc3VsdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoZ2V0X3B0X21hcCksCgkgIChjcmVhdGVfc3RyZWFtKSwgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAocHRfbWFwX3JlcXVlc3RlZCk6CgkgIEVtaXQgcHQgbWFwIHJlcXVlc3RzIGFuZCBjYWNoZSByZXN1bHRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19wYXJzZV9jYXBzKSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X2Nsb2NrX3JhdGUpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKToKCSAgRW1pdCByZXF1ZXN0LXB0LW1hcCBzaWduYWxzLgoKMjAwNy0wNC0xMSAxMzo0OTo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6IFNvbWUgbW9yZSBjdXN0b20gbWFyc2hhbGxlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkgIFNvbWUgbW9yZSBjdXN0b20gbWFyc2hhbGxlcnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksIChnZXRfcHRfbWFwKSwKCSAgKGNsb2NrX3JhdGVfcmVxdWVzdCksIChjcmVhdGVfc3RyZWFtKSwgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLAoJICAocHRfbWFwX3JlcXVlc3RlZCksIChuZXdfc3NyY19wYWRfZm91bmQpLCAoY3JlYXRlX3JlY3ZfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgUHJlcGFyZSBmb3IgY2FjaGluZyBwdCBtYXBzLgoJICBDb25uZWN0IHRvIHNpZ25hbHMgdG8gY29sbGVjdCBwdCBtYXBzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19zZXRjYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgQWRkIHJlcXVlc3RfY2xvY2tfcmF0ZSBzaWduYWwuCgkgIFVzZSBzY2FsZSBpbnN0ZWF0IG9mIHNjYWxlX2ludCBiZWNhdXNlIHRoZSBsYXRlciBkb2VzIG5vdCBkZWFsIHdpdGgKCSAgbmVnYXRpdmUgbnVtYmVycy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5oOgoJICBJbXBsZW1lbnQgcmVxdWVzdC1wdC1tYXAgc2lnbmFsLgoKMjAwNy0wNC0xMSAwOTo1MzozOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4LzogSGFuZGxlIHZlcnNpb24gMSBtZGhkIGF0b21zIHRvIGdldCBleHRlbmRlZCBwcmVjaXNpb24gZHVyYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAocXRkZW11eF9wYXJzZV9zYW1wbGVzKSwgKHF0ZGVtdXhfcGFyc2Vfc2VnbWVudHMpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6IChxdGRlbXV4X2R1bXBfbWRoZCk6CgkgIEhhbmRsZSB2ZXJzaW9uIDEgbWRoZCBhdG9tcyB0byBnZXQgZXh0ZW5kZWQgcHJlY2lzaW9uIGR1cmF0aW9ucy4KCSAgRml4ZXMgIzQyNjk3Mi4KCjIwMDctMDQtMTAgMDk6MTQ6MDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEFkZGVkIGN1c3RvbSBtYXJzaGFsbGVycyBmb3Igc2lnbmFscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvLmN2c2lnbm9yZToKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJICBBZGRlZCBjdXN0b20gbWFyc2hhbGxlcnMgZm9yIHNpZ25hbHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgUHJlcGFyZSBmb3IgZW1pdGluZyBwdCBtYXAgc2lnbmFscy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NsYXNzX2luaXQpOgoJICBGaXggc2lnbmFscy4KCjIwMDctMDQtMDYgMTI6Mjg6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uKjogUHJvdmlkZSBhIGNsb2NrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5faW5pdCksIChnc3RfcnRwX2Jpbl9wcm92aWRlX2Nsb2NrKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgUHJvdmlkZSBhIGNsb2NrLgoKMjAwNy0wNC0wNiAxMjowNzozMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggcGFkIHRlbXBsYXRlIG5hbWUgcGFyc2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfcnRjcCk6CgkgIEZpeCBwYWQgdGVtcGxhdGUgbmFtZSBwYXJzaW5nLgoKMjAwNy0wNC0wNSAxNjoxMDoyNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBBZGQgc29tZSBkZWJ1ZyBhbmQgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X2ppdHRlcl9idWZmZXJfc2lua19zZXRjYXBzKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIEFkZCBzb21lIGRlYnVnIGFuZCBjb21tZW50cy4KCSAgRml4IGRvdWJsZSB1bnJlZigpIGluIGVycm9yIGNhc2VzLgoKMjAwNy0wNC0wNSAxNTowNToyNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5Lio6IFRyeSB0byByZWNvdmVyIGZyb20gcGFja2V0IGxvc3MgYSBsaXR0bGUgYmV0dGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5jOiAoZ3N0X3J0cF94cXRfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX3hxdF9kZXBheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5Lmg6CgkgIFRyeSB0byByZWNvdmVyIGZyb20gcGFja2V0IGxvc3MgYSBsaXR0bGUgYmV0dGVyLgoKMjAwNy0wNC0wNSAxMzo1NDoyMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi4qOiBBZGQgZGVidWdnaW5nIGNhdGVnb3J5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGZpbmRfc2Vzc2lvbl9ieV9pZCksCgkgIChjcmVhdGVfc2Vzc2lvbiksIChmaW5kX3N0cmVhbV9ieV9zc3JjKSwgKGNyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChuZXdfcGF5bG9hZF9mb3VuZCksCgkgIChuZXdfc3NyY19wYWRfZm91bmQpLCAoY3JlYXRlX3JlY3ZfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0Y3ApLAoJICAoY3JlYXRlX3NlbmRfcnRwKSwgKGNyZWF0ZV9ydGNwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgQWRkIGRlYnVnZ2luZyBjYXRlZ29yeS4KCSAgQWRkZWQgUlRQU3RyZWFtIHRvIG1hbmFnZSBzdHJlYW0gcGVyIFNTUkMsIGVhY2ggd2l0aCBpdHMgb3duCgkgIGppdHRlcmJ1ZmZlciBhbmQgcHRkZW11eC4KCSAgQWRkZWQgU1NSQ0RlbXV4LgoJICBDb25uZWN0IHRvIHZhcmlvdXMgU1NSQyBhbmQgUFQgc2lnbmFscyBhbmQgY3JlYXRlIGdob3N0cGFkcywgbGluayBzdHVmZi4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZGVkIHJ0cGJpbiB0byBlbGVtZW50cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKToKCSAgRml4IGNhcHMgYW5kIGZvcndhcmQgR3N0Rmxvd1JldHVybgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydGNwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApLCAoY3JlYXRlX3JlY3ZfcnRwX3NpbmspLAoJICAoY3JlYXRlX3JlY3ZfcnRjcF9zaW5rKSwgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKSwgKGNyZWF0ZV9ydGNwX3NyYyksCgkgIChnc3RfcnRwX3Nlc3Npb25fcmVxdWVzdF9uZXdfcGFkKToKCSAgQWRkIGRlYnVnIGNhdGVnb3J5LgoJICBBZGQgZXZlbnQgaGFuZGxpbmcKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogKGZpbmRfcnRwX3BhZF9mb3Jfc3NyYyksCgkgIChjcmVhdGVfcnRwX3BhZF9mb3Jfc3NyYyksIChnc3RfcnRwX3NzcmNfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfaW5pdCksIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIEFkZCBkZWJ1ZyBjYXRlZ29yeS4KCSAgQWRkIG5ldy1wdC1wYWQgc2lnbmFsLgoKMjAwNy0wNC0wNSAxMzo0OToyMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBwby9ubC5wbzoKCSAgdXBkYXRlIGR1dGNoCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgZHV0Y2gKCjIwMDctMDQtMDUgMTM6NDU6MTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vOiBBZGRlZCBEYW5pc2ggdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzdWJtaXR0ZWQgYnk6IE1vZ2VucyBKYWVnZXIgPG1vZ2Vuc0BqYWVnZXIudGY+CgkgICogcG8vTElOR1VBUzoKCSAgKiBwby9kYS5wbzoKCSAgQWRkZWQgRGFuaXNoIHRyYW5zbGF0aW9uLgoKMjAwNy0wNC0wNCAxMDoyMzoxNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQWRkZWQgc2ltcGxlIFNTUkMgZGVtdXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiAoZmluZF9wYWRfZm9yX3NzcmMpLAoJICAoY3JlYXRlX3BhZF9mb3Jfc3NyYyksIChnc3RfcnRwX3NzcmNfZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jbGFzc19pbml0KSwgKGdzdF9ydHBfc3NyY19kZW11eF9pbml0KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9maW5hbGl6ZSksIChnc3RfcnRwX3NzcmNfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhaW4pLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NyY19ldmVudCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgQWRkZWQgc2ltcGxlIFNTUkMgZGVtdXhlci4KCjIwMDctMDQtMDQgMDc6MzY6MjggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogVHJ5IHQgYmV0dGVyIG5hbWUgY2xpZW50cy4gcHJvcGVybHkgaGFuZGxlIHJldHVybiBjb2RlcyB3aGVuIHJlLSBlc3RhYmxpc2hpbmcgbGlua3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogKGdzdF9qYWNrX3JpbmdfYnVmZmVyX29wZW5fZGV2aWNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2FjcXVpcmUpOgoJICBUcnkgdCBiZXR0ZXIgbmFtZSBjbGllbnRzLiBwcm9wZXJseSBoYW5kbGUgcmV0dXJuIGNvZGVzIHdoZW4gcmUtCgkgIGVzdGFibGlzaGluZyBsaW5rcy4KCjIwMDctMDQtMDMgMjI6MzY6NDcgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay9nbGltYWdlc2luay5jOiBGaXggaGFuZGxpbmcgb2YgdmlkZW8veC1yYXcteXV2LiAgQWRkIG92ZXJsYXkgaGFuZGxpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgRml4IGhhbmRsaW5nIG9mIHZpZGVvL3gtcmF3LXl1di4gIEFkZCBvdmVybGF5IGhhbmRsaW5nLgoKMjAwNy0wNC0wMyAxMzoyNzoyMSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSB3aXRoIHJ0cCBwbHVnaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSB3aXRoIHJ0cCBwbHVnaW4KCjIwMDctMDQtMDMgMTE6MzU6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFNvbWUgbW9yZSBnaG9zdHBhZCBtYWdpYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChmaW5kX3Nlc3Npb25fYnlfaWQpLAoJICAoY3JlYXRlX3Nlc3Npb24pLCAoZ3N0X3J0cF9iaW5fYmFzZV9pbml0KSwgKGNyZWF0ZV9yZWN2X3J0cCksCgkgIChjcmVhdGVfcmVjdl9ydGNwKSwgKGNyZWF0ZV9zZW5kX3J0cCksIChjcmVhdGVfcnRjcCksCgkgIChnc3RfcnRwX2Jpbl9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICBTb21lIG1vcmUgZ2hvc3RwYWQgbWFnaWMuCgoyMDA3LTA0LTAzIDA5OjUxOjEzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06IEFkZCAuaCBmaWxlIHNvIGl0IGNhbiBiZSBkaXN0ZWQgcHJvcGVybHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICBBZGQgLmggZmlsZSBzbyBpdCBjYW4gYmUgZGlzdGVkIHByb3Blcmx5LgoKMjAwNy0wNC0wMyAwOToxMzoxNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEFkZCBSVFAgc2Vzc2lvbiBtYW5hZ2VtZW50IGVsZW1lbnRzLiBTdGlsbCBpbiBwcm9ncmVzcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOiAoYXN5bmNfaml0dGVyX3F1ZXVlX25ldyksCgkgIChzaWduYWxfd2FpdGluZ190aHJlYWRzKSwgKGFzeW5jX2ppdHRlcl9xdWV1ZV9yZWYpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3JlZl91bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfc2V0X2xvd190aHJlc2hvbGQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9oaWdoX3RocmVzaG9sZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfc2V0X21heF9xdWV1ZV9sZW5ndGgpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX2dldF9nX3F1ZXVlKSwgKGNhbGN1bGF0ZV90c19kaWZmKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9sZW5ndGhfdHNfdW5pdHNfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3VucmVmX2FuZF91bmxvY2spLCAoYXN5bmNfaml0dGVyX3F1ZXVlX3VucmVmKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9sb2NrKSwgKGFzeW5jX2ppdHRlcl9xdWV1ZV91bmxvY2spLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2gpLCAoYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2hfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2hfc29ydGVkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoX3NvcnRlZF91bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfaW5zZXJ0X2FmdGVyX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wb3BfaW50ZXJuX3VubG9ja2VkKSwgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wb3ApLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3BvcF91bmxvY2tlZCksIChhc3luY19qaXR0ZXJfcXVldWVfbGVuZ3RoKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9sZW5ndGhfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9mbHVzaGluZ191bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfdW5zZXRfZmx1c2hpbmdfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9ibG9ja2luZ191bmxvY2tlZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChnc3RfcnRwX2Jpbl9pbml0KSwKCSAgKGdzdF9ydHBfYmluX2ZpbmFsaXplKSwgKGdzdF9ydHBfYmluX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2Jpbl9nZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9iaW5fY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfYmluX3JlcXVlc3RfbmV3X3BhZCksIChnc3RfcnRwX2Jpbl9yZWxlYXNlX3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6IChuZXdfcGFkKSwgKGNyZWF0ZV9zdHJlYW0pLAoJICAoZnJlZV9zdHJlYW0pLCAoZmluZF9zdHJlYW1fYnlfc3NyYyksIChnc3RfcnRwX2NsaWVudF9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF9jbGllbnRfY2xhc3NfaW5pdCksIChnc3RfcnRwX2NsaWVudF9pbml0KSwKCSAgKGdzdF9ydHBfY2xpZW50X2ZpbmFsaXplKSwgKGdzdF9ydHBfY2xpZW50X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2NsaWVudF9nZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9jbGllbnRfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfY2xpZW50X3JlcXVlc3RfbmV3X3BhZCksIChnc3RfcnRwX2NsaWVudF9yZWxlYXNlX3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9kaXNwb3NlKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRjYXBzKSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3Npbmtfc2V0Y2FwcyksIChmcmVlX2Z1bmMpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0YXJ0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zcmNfYWN0aXZhdGVfcHVzaCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKSwgKHByaXZfY29tcGFyZV9ydHBfc2VxX2x0KSwKCSAgKGNvbXBhcmVfcnRwX2J1ZmZlcnNfc2VxX251bSksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2lua19ldmVudCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfY2xhc3NfaW5pdCksIChnc3RfcnRwX3B0X2RlbXV4X2luaXQpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9maW5hbGl6ZSksIChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfZ2V0Y2FwcyksIChmaW5kX3BhZF9mb3JfcHQpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9zZXR1cCksIChnc3RfcnRwX3B0X2RlbXV4X3JlbGVhc2UpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9maW5hbGl6ZSksIChnc3RfcnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApLCAoY3JlYXRlX3JlY3ZfcnRwX3NpbmspLAoJICAoY3JlYXRlX3JlY3ZfcnRjcF9zaW5rKSwgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKSwgKGNyZWF0ZV9ydGNwX3NyYyksCgkgIChnc3RfcnRwX3Nlc3Npb25fcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9yZWxlYXNlX3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICBBZGQgUlRQIHNlc3Npb24gbWFuYWdlbWVudCBlbGVtZW50cy4gU3RpbGwgaW4gcHJvZ3Jlc3MuCgoyMDA3LTAzLTMwIDA0OjUwOjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IERvbid0IHBsYXkgYXVkaW9jb252ZXJ0LiBBcyB3YXZwYWNrIHdhbnRzL291dHB1dHMgYWxsIHNhbXBsZXMgd2l0aCB3aWR0aD09MzIgYW5kIGRlcHRoPVsxLDMyXSBhY2NlcHQgdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19zaW5rX3NldF9jYXBzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGlwX291dGdvaW5nX2J1ZmZlciksCgkgIChnc3Rfd2F2cGFja19kZWNfcG9zdF90YWdzKSwgKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19yZXNldCksCgkgIChnc3Rfd2F2cGFja19lbmNfc2lua19zZXRfY2FwcyksIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksCgkgIChnc3Rfd2F2cGFja19lbmNfY2hhaW4pOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgRG9uJ3QgcGxheSBhdWRpb2NvbnZlcnQuIEFzIHdhdnBhY2sgd2FudHMvb3V0cHV0cyBhbGwgc2FtcGxlcyB3aXRoCgkgIHdpZHRoPT0zMiBhbmQgZGVwdGg9WzEsMzJdIGFjY2VwdCB0aGlzIGFuZCBsZXQgYXVkaW9jb252ZXJ0IGNvbnZlcnQKCSAgdG8gYWNjZXB0ZWQgZm9ybWF0cyBpbnN0ZWFkIG9mIGRvaW5nIGl0IGluIHRoZSBlbGVtZW50IGZvciBuKjggZGVwdGhzLgoJICBUaGlzIGFsc28gYWRkcyBzdXBwb3J0IGZvciBub24tbio4IGRlcHRocyBhbmQgcHJldmVudHMgc29tZSB1c2VsZXNzCgkgIG1lbW9yeSBhbGxvY2F0aW9ucy4gRml4ZXMgIzQyMTU5OAoJICBBbHNvIGFkZCBhIHdvcmthcm91bmQgZm9yIGJ1ZyAjNDIxNTQyIGluIHdhdnBhY2tlbmMgZm9yIG5vdy4uLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIENvbnNpZGVyIHRoZSBjaGFuZ2UgYWJvdmUgaW4gdGhlIHVuaXQgdGVzdHMgYW5kIHRlc3QgaWYgdGhlIGNvcnJlY3QKCSAgY2FwcyBhcmUgYWNjZXB0ZWQgYW5kIHNldC4gQWxzbyBjaGVjayBmb3IgR1NUX0JVRkZFUl9PRkZTRVRfRU5EIGluCgkgIHRoZSB3YXZwYWNrcGFyc2UgdW5pdCB0ZXN0LgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19zaW5rX3NldF9jYXBzKToKCSAgU2V0IGNhcHMgb24gdGhlIHNyYyBwYWQgYXMgc29vbiBhcyBwb3NzaWJsZS4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgRml4IGluZGVudGlvbi4gZ3N0LWluZGVudCBpcyBub3cgY2FsbGVkIGJ5IGNpY2wuCgoyMDA3LTAzLTI4IDE1OjE3OjI3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvOiBQcm9jZXNzICdjdHRzJyBhdG9tcywgd2hpY2ggYXJlIHByZXNlbnQgaW4gQVZDIElTTyBmaWxlcyAoLm1vdiBmaWxlcyB3aXRoIGgyNjQgdmlkZW8pLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlKSwKCSAgKGdzdF9xdGRlbXV4X2NoYWluKSwgKHF0ZGVtdXhfcGFyc2Vfc2FtcGxlcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6IChxdGRlbXV4X2R1bXBfY3R0cyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9mb3VyY2MuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmM6CgkgIFByb2Nlc3MgJ2N0dHMnIGF0b21zLCB3aGljaCBhcmUgcHJlc2VudCBpbiBBVkMgSVNPIGZpbGVzICgubW92IGZpbGVzCgkgIHdpdGggaDI2NCB2aWRlbykuCgkgIFVzZSB0aGUgb2Zmc2V0IHByZXNlbnQgaW4gJ2N0dHMnIHRvIGNhbGN1bGF0ZSB0aGUgUFRTIGZvciBlYWNoIHBhY2tldAoJICBhbmQgc2V0IHRoZSBQVFMgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgRml4ZXMgIzQyMzI4MwoKMjAwNy0wMy0yNyAxODowMDo1NiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQveHZpZC9nc3R4dmlkZGVjLmM6IEFkZCBzb21lIGRlYnVnIGxvZyBhbmQgZml4IGEgc3R1cGlkIG91dHB1dCBidWZmZXIgZHVyYXRpb24gYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMy0yNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzogKGdzdF94dmlkZGVjX2NoYWluKTogQWRkIHNvbWUKCSAgZGVidWcgbG9nIGFuZCBmaXggYSBzdHVwaWQgb3V0cHV0IGJ1ZmZlciBkdXJhdGlvbiBidWcuCgoyMDA3LTAzLTI2IDE0OjQ5OjQ3ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBjb21tb246CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmaWxlIGZvciB4MjY0IGVuY29kZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUgZm9yIHgyNjQgZW5jb2RlcgoKMjAwNy0wMy0yNSAxMzowNjoyNiArMDAwMCAgTWljaGFsIEJlbmVzIDxtaWNoYWwuYmVuZXNAaXRvbmlzLnR2PgoKCSAgQWRkIGxpYngyNjQtYmFzZWQgaDI2NCBlbmNvZGVyIHBsdWdpbiAoIzQyMTExMCkuIFByb2JhYmx5IGRvZXNuJ3QgaGFuZGxlICdvZGQnIHdpZHRocyBhbmQgaGVpZ2h0cyBjb3JyZWN0bHkgeWV0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1pY2hhbCBCZW5lcyA8bWljaGFsLmJlbmVzIGF0IGl0b25pcyB0dj4KCSAgUGF0Y2ggYnk6IEpvc2VmIFpsb21layA8am9zZWYuemxvbWVrIGF0IGl0b25pcyB0dj4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC94MjY0L01ha2VmaWxlLmFtOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogKGdzdF94MjY0X2VuY19tZV9nZXRfdHlwZSksCgkgIChnc3RfeDI2NF9lbmNfYW5hbHlzZV9nZXRfdHlwZSksCgkgIChnc3RfeDI2NF9lbmNfdGltZXN0YW1wX3F1ZXVlX2luaXQpLAoJICAoZ3N0X3gyNjRfZW5jX3RpbWVzdGFtcF9xdWV1ZV9mcmVlKSwKCSAgKGdzdF94MjY0X2VuY190aW1lc3RhbXBfcXVldWVfcHV0KSwKCSAgKGdzdF94MjY0X2VuY190aW1lc3RhbXBfcXVldWVfZ2V0KSwgKGdzdF94MjY0X2VuY19oZWFkZXJfYnVmKSwKCSAgKGdzdF94MjY0X2VuY19zZXRfc3JjX2NhcHMpLCAoZ3N0X3gyNjRfZW5jX3Npbmtfc2V0X2NhcHMpLAoJICAoZ3N0X3gyNjRfZW5jX2Jhc2VfaW5pdCksIChnc3RfeDI2NF9lbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfeDI2NF9lbmNfaW5pdCksIChnc3RfeDI2NF9lbmNfaW5pdF9lbmNvZGVyKSwKCSAgKGdzdF94MjY0X2VuY19jbG9zZV9lbmNvZGVyKSwgKGdzdF94MjY0X2VuY19kaXNwb3NlKSwKCSAgKGdzdF94MjY0X2VuY19zaW5rX2V2ZW50KSwgKGdzdF94MjY0X2VuY19jaGFpbiksCgkgIChnc3RfeDI2NF9lbmNfZW5jb2RlX2ZyYW1lKSwgKGdzdF94MjY0X2VuY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3gyNjRfZW5jX3NldF9wcm9wZXJ0eSksIChnc3RfeDI2NF9lbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmg6CgkgIEFkZCBsaWJ4MjY0LWJhc2VkIGgyNjQgZW5jb2RlciBwbHVnaW4gKCM0MjExMTApLiBQcm9iYWJseSBkb2Vzbid0CgkgIGhhbmRsZSAnb2RkJyB3aWR0aHMgYW5kIGhlaWdodHMgY29ycmVjdGx5IHlldC4KCjIwMDctMDMtMjQgMTk6NDY6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogUmVtb3ZlICdjaGFubmVsLXBvc2l0aW9ucycgZmllbGQgd2hlbiBtdW5naW5nIGlucHV0IGNhcHMgaW50byAxLWNoYW5uZWwgb3V0cHV0IGNhcHMgKEkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX3Npbmtfc2V0Y2Fwcyk6CgkgIFJlbW92ZSAnY2hhbm5lbC1wb3NpdGlvbnMnIGZpZWxkIHdoZW4gbXVuZ2luZyBpbnB1dCBjYXBzIGludG8KCSAgMS1jaGFubmVsIG91dHB1dCBjYXBzIChJIGd1ZXNzIHRlY2huaWNhbGx5IHdlIHNob3VsZCBzZXQgdGhlCgkgIHBvc2l0aW9uIGZvciBlYWNoIGNoYW5uZWwgb24gdGhlIG91dHB1dCBjYXBzIGlmIGl0J3Mgbm9uLU5PTkUsCgkgIGJ1dCBJJ2xsIHNhdmUgdGhhdCBhcyBhIHRhc2sgZm9yIGFub3RoZXIgZGF5KS4KCjIwMDctMDMtMjMgMTg6NDE6NTIgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC92bW5jL3ZtbmNkZWMuYzogUmVkZXNpZ24gdG8gaW5jbHVkZSBhIHBhcnNlciBmb3IgcmF3IGZpbGVzIChubyB0aW1lc3RhbXBzIGluIHRoYXQgbW9kZSB5ZXQsIHRob3VnaCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92bW5jL3ZtbmNkZWMuYzogKGdzdF92bW5jX2RlY19jbGFzc19pbml0KSwKCSAgKGdzdF92bW5jX2RlY19pbml0KSwgKHZtbmNfZGVjX2ZpbmFsaXplKSwgKGdzdF92bW5jX2RlY19yZXNldCksCgkgICh2bW5jX2hhbmRsZV93bXZpX3JlY3RhbmdsZSksIChyZW5kZXJfY29sb3VyX2N1cnNvciksCgkgIChyZW5kZXJfY3Vyc29yKSwgKHZtbmNfbWFrZV9idWZmZXIpLCAodm1uY19oYW5kbGVfd212ZF9yZWN0YW5nbGUpLAoJICAodm1uY19oYW5kbGVfd212ZV9yZWN0YW5nbGUpLCAodm1uY19oYW5kbGVfd212Zl9yZWN0YW5nbGUpLAoJICAodm1uY19oYW5kbGVfd212Z19yZWN0YW5nbGUpLCAodm1uY19oYW5kbGVfd212aF9yZWN0YW5nbGUpLAoJICAodm1uY19oYW5kbGVfd212al9yZWN0YW5nbGUpLCAocmVuZGVyX3Jhd190aWxlKSwgKHJlbmRlcl9zdWJyZWN0KSwKCSAgKHZtbmNfaGFuZGxlX3Jhd19yZWN0YW5nbGUpLCAodm1uY19oYW5kbGVfY29weV9yZWN0YW5nbGUpLAoJICAodm1uY19oYW5kbGVfaGV4dGlsZV9yZWN0YW5nbGUpLCAodm1uY19oYW5kbGVfcGFja2V0KSwKCSAgKHZtbmNfZGVjX3NldGNhcHMpLCAodm1uY19kZWNfY2hhaW5fZnJhbWUpLCAodm1uY19kZWNfY2hhaW4pLAoJICAodm1uY19kZWNfc2V0X3Byb3BlcnR5KSwgKHZtbmNfZGVjX2dldF9wcm9wZXJ0eSk6CgkgIFJlZGVzaWduIHRvIGluY2x1ZGUgYSBwYXJzZXIgZm9yIHJhdyBmaWxlcyAobm8gdGltZXN0YW1wcyBpbiB0aGF0CgkgIG1vZGUgeWV0LCB0aG91Z2gpLgoKMjAwNy0wMy0yMiAyMjoxNDoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiBEb24ndCBsZWFrIGlucHV0IGJ1ZmZlciBpbiBjaGFpbiBmdW5jdGlvbjsgbWFpbnRhaW4gb3VyIG93biBsaXN0IG9mIHNvdXJjZSBwYWRzIC0gdGhlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfYWRkX25ld19wYWRzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfcmVtb3ZlX3BhZHMpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9wcm9jZXNzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfY2hhaW4pOgoJICBEb24ndCBsZWFrIGlucHV0IGJ1ZmZlciBpbiBjaGFpbiBmdW5jdGlvbjsgbWFpbnRhaW4gb3VyIG93biBsaXN0IG9mCgkgIHNvdXJjZSBwYWRzIC0gdGhlcmUgYXJlIG5vIGd1YXJhbnRlZXMgYWJvdXQgdGhlIG9yZGVyIG9mIHRoZSBsaXN0CgkgIGluIHRoZSBHc3RFbGVtZW50IHN0cnVjdCwgYW5kIHdlIHdhbnQgYSB2ZXJ5IHNwZWNpZmljIG9yZGVyOyBsYXN0bHksCgkgIHNvbWUgbW9yZSBkZWJ1Z2dpbmcuCgoyMDA3LTAzLTIyIDIxOjA3OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogQWxsb2MgdXNlciBhZ2VudCBzdHJpbmcgb25seSBvbmNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19pbml0KToKCSAgQWxsb2MgdXNlciBhZ2VudCBzdHJpbmcgb25seSBvbmNlLgoKMjAwNy0wMy0yMiAxNjoyNTo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IFJldmVydCBsYXN0IGNvbW1pdCwgcHJldmVudGluZyBpbmZpbml0ZSBwbHVnZ2luZyBsb29wcyB3aXRoIHJhbmtzIGlzIG5vIGNsZWFuIHNvbHV0aW9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcGx1Z2luX2luaXQpOgoJICBSZXZlcnQgbGFzdCBjb21taXQsIHByZXZlbnRpbmcgaW5maW5pdGUgcGx1Z2dpbmcgbG9vcHMgd2l0aCByYW5rcwoJICBpcyBubyBjbGVhbiBzb2x1dGlvbiBhbmQgaW4gZ2VuZXJhbCB0aGVyZSdzIG5vIHJlYXNvbiB3aHkgb25lIHdhbnRzCgkgIHRvIHBhcnNlIGZyYW1lZCB3YXZwYWNrIGRhdGEgYWdhaW4uCgoyMDA3LTAzLTIyIDE1OjUyOjUxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IFNlbmQgdGhlIG5ldyBzZWdtZW50IGV2ZW50IGluIHRpbWUgZm9ybWF0IGluc3RlYWQgb2YgYnl0ZXMuIFRoaXMgYWxsb3dzICJ3YXZwYWNrZW5jICEgd2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3B1c2hfYmxvY2spOgoJICBTZW5kIHRoZSBuZXcgc2VnbWVudCBldmVudCBpbiB0aW1lIGZvcm1hdCBpbnN0ZWFkIG9mIGJ5dGVzLiBUaGlzCgkgIGFsbG93cyAid2F2cGFja2VuYyAhIHdhdnBhY2tkZWMgISBzb21lYXVkaW9zaW5rIiBwaXBlbGluZXMuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9wbHVnaW5faW5pdCk6CgkgIEFjY2VwdCBmcmFtZWQgYW5kIG5vbi1mcmFtZWQgaW5wdXQsIHdhdnBhY2twYXJzZSBkb2Vzbid0IGNhcmUuIFRvCgkgIHByZXZlbnQgIndhdnBhY2twYXJzZSAhIHdhdnBhY2twYXJzZSAhIC4uLiIgcGlwZWxpbmVzIGxvd2VyIHRoZQoJICByYW5rIG9mIHdhdnBhY2twYXJzZSBieSBvbmUuIFRoaXMgYWxsb3dzICJ3YXZwYWNrZW5jICEgd2F2cGFja3BhcnNlICEKCSAgLi4uIiBwaXBlbGluZXMuCgoyMDA3LTAzLTIyIDE0OjM3OjA4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06IFVzZSBHU1RfQUxMX0xERkxBR1MsIHdoaWNoIGFjdHVhbGx5IGV4aXN0cywgYnV0IG1heWJlIERhdmlkIGNhbiBjb25maXJtIHRoYXQgd2FzIHdoYXQgaC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICBVc2UgR1NUX0FMTF9MREZMQUdTLCB3aGljaCBhY3R1YWxseSBleGlzdHMsIGJ1dCBtYXliZSBEYXZpZAoJICBjYW4gY29uZmlybSB0aGF0IHdhcyB3aGF0IGhlIHdhbnRlZC4KCjIwMDctMDMtMjIgMTE6MDg6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogUmV2ZXJ0IHRvIHVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpIGhlcmUuIFdlIGNhbiBhbmQgc2hvdWxkIHVzZSBpdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgUmV2ZXJ0IHRvIHVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpIGhlcmUuIFdlIGNhbiBhbmQgc2hvdWxkIHVzZSBpdC4KCSAgVGhhbmtzIHRvIEphbiBhbmQgTWlrZSBmb3Igbm90aWNpbmcgbXkgbWlzdGFrZS4KCjIwMDctMDMtMjIgMDA6MTc6NDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuKjogUHV0IHRoZSB3cml0ZSBoZWxwZXJzIGludG8gdGhlIEdzdFdhdnBhY2tFbmMgc3RydWN0IGRpcmVjdGx5IGFuZCBub3QgYXMgYSBwb2ludGVyIHRvIHNhdi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfY2hhaW4pLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3Jld3JpdGVfZmlyc3RfYmxvY2spOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgUHV0IHRoZSB3cml0ZSBoZWxwZXJzIGludG8gdGhlIEdzdFdhdnBhY2tFbmMgc3RydWN0IGRpcmVjdGx5IGFuZCBub3QKCSAgYXMgYSBwb2ludGVyIHRvIHNhdmUgdHdvIHNtYWxsLCBidXQgdXNlbGVzcyBtYWxsb2NzLiBUaGlzIGFsc28gbWFrZXMKCSAgaXQgcG9zc2libGUgdG8gZHJvcCB0aGUgZmluYWxpemUgbWV0aG9kLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcHVzaF9idWZmZXIpOgoJICBGb3IgY29uc2lzdGVuY3kgcmVhc29ucyBhbHNvIHNldCBHU1RfQlVGRkVSX09GRlNFVF9FTkQgb24gdGhlIG91dGdvaW5nCgkgIGJ1ZmZlcnMgdGhlIHNhbWUgd2F5IHdhdnBhY2tlbmMgZG9lcyBpdC4KCjIwMDctMDMtMjEgMjM6NTA6MDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogRG9uJ3QgdXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCkgYXMgd2UgbWlnaHQgY2xpcCB0aGUgYnVmZmVyIGxhdGVyIGFuZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICBEb24ndCB1c2UgZ3N0X3BhZF9hbGxvY19idWZmZXIoKSBhcyB3ZSBtaWdodCBjbGlwIHRoZSBidWZmZXIgbGF0ZXIgYW5kCgkgIEJhc2VUcmFuc2Zvcm0tYmFzZWQgZWxlbWVudHMgd2lsbCBsaWtlbHkgYnJlYWsgYmVjYXVzZSBvZiB3cm9uZwoJICB1bml0LXNpemUuIEFsc28gcGx1ZyBhIHBvc3NpYmxlIG1lbWxlYWsgdGhhdCBoYXBwZW5zIHdoZW4gZGVjb2RpbmcKCSAgZmFpbHMgZm9yIHNvbWUgcmVhc29uLgoKMjAwNy0wMy0xOCAxNzo1Nzo0OCArMDAwMCAgUGF1bCBEYXZpcyA8cGF1bEBsaW51eGF1ZGlvc3lzdGVtcy5jb20+CgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzogRG9uJ3QgbmVlZCB0byB0YWtlIHRoZSBjb25uZWN0aW9uIGxvY2ssIGl0IHdpbGwgbm90IGJlIHVzZWQgYW5kIGNvdWxkIGNhdXNlIGRlYWRsb2Nrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBQYXVsIERhdmlzIDxwYXVsIGF0IGxpbnV4YXVkaW9zeXN0ZW1zIGRvdCBjb20+CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6IChnc3RfamFja19hdWRpb191bnJlZl9jb25uZWN0aW9uKToKCSAgRG9uJ3QgbmVlZCB0byB0YWtlIHRoZSBjb25uZWN0aW9uIGxvY2ssIGl0IHdpbGwgbm90IGJlIHVzZWQgYW5kIGNvdWxkCgkgIGNhdXNlIGRlYWRsb2Nrcy4KCjIwMDctMDMtMTYgMTg6Mzg6MTggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06IEZpeCBwcmV2aW91cyBjb21taXQsIHdlIHdhbnQgdG8gcGFzcyB0aGUgTlNWaWV3IGluIHRoZSBtZXNzYWdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIEZpeCBwcmV2aW91cyBjb21taXQsIHdlIHdhbnQgdG8gcGFzcyB0aGUgTlNWaWV3IGluIHRoZSBtZXNzYWdlLgoKMjAwNy0wMy0xNiAxNjoyNzoyMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubTogRW1pdCAnaGF2ZS1ucy12aWV3JyBtZXNzYWdlIHdoZW4gd29ya2luZyBpbiBlbWJlZGRlZCBtb2RlLiBUaGUgbWVzc2FnZSB3aWxsIGNvbnRhaW4gYSBwby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIEVtaXQgJ2hhdmUtbnMtdmlldycgbWVzc2FnZSB3aGVuIHdvcmtpbmcgaW4gZW1iZWRkZWQgbW9kZS4gVGhlIG1lc3NhZ2UKCSAgd2lsbCBjb250YWluIGEgcG9pbnRlciB0byB0aGUgbmV3bHkgY3JlYXRlZCBOU1ZpZXcuCgoyMDA3LTAzLTE2IDExOjIyOjQ3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9tcGVndmlkZW9wYXJzZS86IE1vdmUgdGhlIE1QRUcgc3BlY2lmaWMgYnl0ZSBwYXJzaW5nIGludG8gdGhlIG1wZWdwYWNrZXRpc2VyIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOiAobXBlZ191dGlsX2ZpbmRfc3RhcnRfY29kZSksCgkgIChjb2xsZWN0X3BhY2tldHMpLCAoc2V0X3Bhcl9mcm9tX2RhciksIChzZXRfZnBzX2Zyb21fY29kZSksCgkgIChtcGVnX3V0aWxfcGFyc2VfZXh0ZW5zaW9uX3BhY2tldCksIChtcGVnX3V0aWxfcGFyc2Vfc2VxdWVuY2VfaGRyKSwKCSAgKG1wZWdfdXRpbF9wYXJzZV9waWN0dXJlX2hkcik6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmg6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIChtcGVndmlkZW9wYXJzZV9oYW5kbGVfc2VxdWVuY2UpLCAobXBlZ3ZpZGVvcGFyc2VfaGFuZGxlX3BpY3R1cmUpLAoJICAobXBlZ3ZpZGVvcGFyc2VfZHJhaW5fYXZhaWwpLCAoZ3N0X21wZWd2aWRlb3BhcnNlX2NoYWluKSwKCSAgKG1wdl9wYXJzZV9zaW5rX2V2ZW50KSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuaDoKCSAgTW92ZSB0aGUgTVBFRyBzcGVjaWZpYyBieXRlIHBhcnNpbmcgaW50byB0aGUgbXBlZ3BhY2tldGlzZXIgY29kZS4KCSAgQWRkIHBhcnNpbmcgb2YgcGljdHVyZSB0eXBlcywgdGhhdCBqdXN0IGZlZWRzIGludG8gYSBkZWJ1ZyBtZXNzYWdlCgkgIGZvciBub3cuCgkgIEZpeCBzb21lIDY0LWJpdCBmb3JtYXQgc3RyaW5ncy4KCjIwMDctMDMtMTYgMTA6MTU6NDggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIENoYW5nZUxvZzoKCSAgQ2hhbmdlbG9nIHN1cmdlcnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZWxvZyBzdXJnZXJ5CgoyMDA3LTAzLTE2IDA5OjU3OjQwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzogQSAxMCBiYW5kIEVRIHNob3VsZCBiZSBpbml0aWFsaXplZCB0byAxIGJhbmRzIGFuZCBub3QgdG8gMy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX2luaXQpOgoJICBBIDEwIGJhbmQgRVEgc2hvdWxkIGJlIGluaXRpYWxpemVkIHRvIDEgYmFuZHMgYW5kIG5vdCB0byAzLgoKMjAwNy0wMy0xNSAyMDo0ODowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBQb3J0IG1wZWcxdmlkZW9wYXJzZSB0byAwLjEwIGFuZCBnaXZlIGl0IHJhbmsgU0VDT05EQVJZLTEsIHNvIHRoYXQgaXQncyBiZWxvdyBleGlzdGluZyBkZWNvZGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmg6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9tcDF2aWRlb3BhcnNlLnZjcHJvajoKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6IChtcGVnX3BhY2tldGlzZXJfaW5pdCksCgkgIChtcGVnX3BhY2tldGlzZXJfZnJlZSksIChtcGVnX3BhY2tldGlzZXJfYWRkX2J1ZiksCgkgIChtcGVnX3BhY2tldGlzZXJfZmx1c2gpLCAobXBlZ19maW5kX3N0YXJ0X2NvZGUpLAoJICAoZ2V0X25leHRfZnJlZV9ibG9jayksIChjb21wbGV0ZV9jdXJyZW50X2Jsb2NrKSwKCSAgKGFwcGVuZF90b19jdXJyZW50X2Jsb2NrKSwgKHN0YXJ0X25ld19ibG9jayksIChoYW5kbGVfcGFja2V0KSwKCSAgKGNvbGxlY3RfcGFja2V0cyksIChtcGVnX3BhY2tldGlzZXJfaGFuZGxlX2VvcyksCgkgIChtcGVnX3BhY2tldGlzZXJfZ2V0X2Jsb2NrKSwgKG1wZWdfcGFja2V0aXNlcl9uZXh0X2Jsb2NrKToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuaDoKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzogKG1wZWd2aWRlb3BhcnNlX2dldF90eXBlKSwKCSAgKGdzdF9tcGVndmlkZW9wYXJzZV9iYXNlX2luaXQpLCAoZ3N0X21wZWd2aWRlb3BhcnNlX2NsYXNzX2luaXQpLAoJICAobXB2X3BhcnNlX3Jlc2V0KSwgKGdzdF9tcGVndmlkZW9wYXJzZV9pbml0KSwKCSAgKGdzdF9tcGVndmlkZW9wYXJzZV9kaXNwb3NlKSwgKHNldF9wYXJfZnJvbV9kYXIpLAoJICAoc2V0X2Zwc19mcm9tX2NvZGUpLCAobXBlZ3ZpZGVvcGFyc2VfcGFyc2Vfc2VxKSwKCSAgKGdzdF9tcGVndmlkZW9wYXJzZV90aW1lX2NvZGUpLCAoZ3N0X21wZWd2aWRlb3BhcnNlX2ZsdXNoKSwKCSAgKG1wZWd2aWRlb3BhcnNlX2RyYWluX2F2YWlsKSwgKGdzdF9tcGVndmlkZW9wYXJzZV9jaGFpbiksCgkgIChtcHZfcGFyc2Vfc2lua19ldmVudCksIChnc3RfbXBlZ3ZpZGVvcGFyc2VfY2hhbmdlX3N0YXRlKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuaDoKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UudmNwcm9qOgoJICBQb3J0IG1wZWcxdmlkZW9wYXJzZSB0byAwLjEwIGFuZCBnaXZlIGl0IHJhbmsgU0VDT05EQVJZLTEsIHNvCgkgIHRoYXQgaXQncyBiZWxvdyBleGlzdGluZyBkZWNvZGVycy4KCSAgUmVuYW1lIGl0IHRvIG1wZWd2aWRlb3BhcnNlIHRvIHJlZmxlY3QgdGhhdCBpdCBoYW5kbGVzIE1QRUctMSBhbmQKCSAgTVBFRy0yIG5vdy4KCSAgUmUtd3JpdGUgdGhlIHBhcnNpbmcgY29kZSBzbyB0aGF0IGl0IGNvbGxlY3RzIHBhY2tldHMgZGlmZmVyZW50bHkKCSAgYW5kIHRpbWVzdGFtcHMgUGljdHVyZSBwYWNrZXRzIGNvcnJlY3RseS4KCSAgQWRkIGEgbGlzdCBvZiBGSVhNRSdzIGF0IHRoZSB0b3AuCgoyMDA3LTAzLTE1IDEwOjUyOjIxICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IERvbid0IHRyaWdnZXIgZGlzY29udGludWl0aWVzIGZvciB2ZXJ5IHNtYWxsIGltcGVyZmVjdGlvbnM7IGEgZmlsdGVyIGZsdXNoIHdpbGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAoYXVkaW9yZXNhbXBsZV9jaGVja19kaXNjb250KSwgKGF1ZGlvcmVzYW1wbGVfdHJhbnNmb3JtKToKCSAgRG9uJ3QgdHJpZ2dlciBkaXNjb250aW51aXRpZXMgZm9yIHZlcnkgc21hbGwgaW1wZXJmZWN0aW9uczsgYSBmaWx0ZXIKCSAgZmx1c2ggd2lsbCBzb3VuZCBiYWQsIGFuZCBtYW55IHBsdWdpbnMgaGF2ZSByb3VuZGluZyBlcnJvcnMgbGVhZGluZwoJICB0byB0aGVzZS4KCjIwMDctMDMtMTQgMTc6MTY6MzAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBIYW5kbGUgZGlzY29udGludW91cyBzdHJlYW1zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMy0xNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogKGdzdF9hdWRpb3Jlc2FtcGxlX2luaXQpLAoJICAoYXVkaW9yZXNhbXBsZV90cmFuc2Zvcm1fc2l6ZSksIChhdWRpb3Jlc2FtcGxlX2RvX291dHB1dCksCgkgIChhdWRpb3Jlc2FtcGxlX3RyYW5zZm9ybSksIChhdWRpb3Jlc2FtcGxlX3B1c2h0aHJvdWdoKTogSGFuZGxlCgkgIGRpc2NvbnRpbnVvdXMgc3RyZWFtcy4KCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmg6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOgoJICAodGVzdF9kaXNjb250X3N0cmVhbV9pbnN0YW5jZSksIChHU1RfU1RBUlRfVEVTVCksCgkgIChhdWRpb3Jlc2FtcGxlX3N1aXRlKTogQWRkIGEgdGVzdCBmb3IgZGlzY29udGludW91cyBzdHJlYW1zLgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDogVXBkYXRlZC4KCjIwMDctMDMtMTQgMTY6MzM6MDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6IFBvcnQgdGhlIGV4YW1wbGUgdG8gbmV3IGVxdWFsaXplciBhcGkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL2VxdWFsaXplci10ZXN0LmM6IChlcXVhbGl6ZXJfc2V0X2JhbmRfdmFsdWUpLAoJICAoZXF1YWxpemVyX3NldF9hbGxfYmFuZF92YWx1ZXMpLAoJICAoZXF1YWxpemVyX3NldF9iYW5kX3ZhbHVlX2FuZF93YWl0KSwKCSAgKGVxdWFsaXplcl9zZXRfYWxsX2JhbmRfdmFsdWVzX2FuZF93YWl0KSwgKGRvX3NsaWRlcl9maWRkbGluZyksCgkgIChtYWluKToKCSAgUG9ydCB0aGUgZXhhbXBsZSB0byBuZXcgZXF1YWxpemVyIGFwaS4KCjIwMDctMDMtMTQgMTY6MzA6MTkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvb3N4dmlkZW8vOiBGaXggbGVha3Mgd2hlbiBydW5uaW5nIGEgTlNBcHAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIEZpeCBsZWFrcyB3aGVuIHJ1bm5pbmcgYSBOU0FwcC4KCSAgQWNjZXB0IGFueSBraW5kIG9mIHJlc29sdXRpb25zLgoJICBXb3JrcyBpbiBmdWxsc2NyZWVuLiBDYW4gbWF4aW1pemUuCgkgIE9ubHkgdGhpbmcgbGVmdCBiZWZvcmUgYmVpbmcgYWJsZSB0byBtb3ZlIHRoaXMgdG8gLWdvb2QgaXMgZG9jdW1lbnRhdGlvbgoJICBhbmQgZW1iZWRkZWQgd2luZG93IHN1cHBvcnQuCgoyMDA3LTAzLTE0IDE1OjMzOjI1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvLzogVXBkYXRlZCB0cmFuc2xhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL2h1LnBvOgoJICAqIHBvL2l0LnBvOgoJICAqIHBvL3N2LnBvOgoJICBVcGRhdGVkIHRyYW5zbGF0aW9ucy4KCjIwMDctMDMtMTQgMTQ6NDg6MTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvOiBTaW5jZSBJIHJlYWxseSBhbSBub3QgaW50ZXJlc3RlZCBpbiBhIGRlYnVnIGxpbmUgZm9yIGVhY2ggc2FtcGxlIGJlaW5nIHByb2Nlc3NlZCwgbW92ZSB0aGUgbGlicmFyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2RlYnVnLmg6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuYzogKHJlc2FtcGxlX2luaXQpOgoJICBTaW5jZSBJIHJlYWxseSBhbSBub3QgaW50ZXJlc3RlZCBpbiBhIGRlYnVnIGxpbmUgZm9yIGVhY2ggc2FtcGxlCgkgIGJlaW5nIHByb2Nlc3NlZCwgbW92ZSB0aGUgbGlicmFyeSdzIGRlYnVnZ2luZyB0byBpdHMgb3duIGNhdGVnb3J5LAoJICBsaWJhdWRpb3Jlc2FtcGxlCgoyMDA3LTAzLTE0IDE0OjQ4OjA4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyLzogQWRkIDMgYW5kIDEwIGJhbmQgdmVyc2lvbiBhbmQgYWRkIG1pc3NpbmcgZ3N0X29iamVjdF9zeW5jX3ZhbHVlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoX2RvX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3R5cGUpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkX2J5X2luZGV4KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9pbnRlcmZhY2VfaW5pdCksIChzZXR1cF9maWx0ZXIpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcyksCgkgIChnc3RfaWlyX2VxdWFsaXplcl90cmFuc2Zvcm1faXApLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19iYXNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmg6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19iYXNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfM2JhbmRzX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfM2JhbmRzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfM2JhbmRzX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8zYmFuZHNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5oOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfYmFzZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19pbml0KToKCSAgQWRkIDMgYW5kIDEwIGJhbmQgdmVyc2lvbiBhbmQgYWRkIG1pc3NpbmcgZ3N0X29iamVjdF9zeW5jX3ZhbHVlcy4KCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9ldmVudCksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgQWRkIHNvbWUgY29tbWVudHMgYWJvdXQgZmxvYXQgc3VwcG9ydC4KCjIwMDctMDMtMTQgMTQ6MDk6MjEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICBhZGQgZGVidWdnaW5nIGFuZCByZWZvcm1hdCBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgZGVidWdnaW5nIGFuZCByZWZvcm1hdCBkb2NzCgoyMDA3LTAzLTEzIDE4OjAxOjQ3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9tcGVnYXVkaW9wYXJzZS86IFJlbW92ZSBib2d1cyAybmQgY29weSBvZiBtcDNwYXJzZSAtIGl0J3MgYWN0dWFsbHkgaW4gLXVnbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvbXBlZ2F1ZGlvcGFyc2UudmNwcm9qOgoJICBSZW1vdmUgYm9ndXMgMm5kIGNvcHkgb2YgbXAzcGFyc2UgLSBpdCdzIGFjdHVhbGx5CgkgIGluIC11Z2x5LgoKMjAwNy0wMy0xMiAxMTo0Nzo0MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleGFtcGxlcy9hcHAvLmN2c2lnbm9yZTogVGhlIGJ1aWxkYm90IGRlbWFuZHMgLmN2c2lnbm9yZSBmaWxlcywgYW5kIEkgY29tcGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9hcHAvLmN2c2lnbm9yZToKCSAgVGhlIGJ1aWxkYm90IGRlbWFuZHMgLmN2c2lnbm9yZSBmaWxlcywgYW5kIEkgY29tcGx5LgoKMjAwNy0wMy0xMSAyMjoyMzowNCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuKjogSGFuZGxlIGRpc3BsYXkgbW9kZSBjaGFuZ2VzIGR1cmluZyBwbGF5YmFjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBIYW5kbGUgZGlzcGxheSBtb2RlIGNoYW5nZXMgZHVyaW5nIHBsYXliYWNrLgoKMjAwNy0wMy0xMSAwMDo0ODoyNiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBBZGQgYXBwc3JjL2FwcHNpbmsgZXhhbXBsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4YW1wbGVzL01ha2VmaWxlLmFtOgoJICAqIGV4YW1wbGVzL2FwcC9NYWtlZmlsZS5hbToKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjX2V4LmM6CgkgIEFkZCBhcHBzcmMvYXBwc2luayBleGFtcGxlLgoJICAqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHAuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuaDoKCSAgKiBnc3QvYXBwL2dzdGFwcC5jOgoJICBBZGQgYXBwc2luay4KCjIwMDctMDMtMTAgMjA6MTA6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvOiBQcmludGYgZm9ybWF0IHN0cmluZyBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChOQVNfY3JlYXRlRmxvdyk6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuYzogKGdzdF9zZl9zcmNfY3JlYXRlKToKCSAgUHJpbnRmIGZvcm1hdCBzdHJpbmcgZml4ZXMuCgoyMDA3LTAzLTA5IDA4OjU4OjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyLzogUmVmYWN0b3IgcGx1Z2luIGludG8gYSBiYXNlIGNsYXNzIGFuZCBhIGZpcnN0IHN1YmNsYXNzIChuYmFuZCBlcSkuIFRoZSBuYmFuZCBlcSB1c2VzIEdzdENoaWxkUHJveHkgYW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoX2RvX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3R5cGUpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkX2J5X2luZGV4KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9pbnRlcmZhY2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9maW5hbGl6ZSksIChzZXR1cF9maWx0ZXIpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcyksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9zZXRfcHJvcGVydHkpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3NldHVwKSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfYmFzZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuaDoKCSAgUmVmYWN0b3IgcGx1Z2luIGludG8gYSBiYXNlIGNsYXNzIGFuZCBhIGZpcnN0IHN1YmNsYXNzIChuYmFuZCBlcSkuIFRoZQoJICBuYmFuZCBlcSB1c2VzIEdzdENoaWxkUHJveHkgYW5kIGlzIGNvbnRyb2xhYmxlLiBNb3JlIHN1YmNsYXNzZXMgd2lsbAoJICBmb2xsb3cuCgoyMDA3LTAzLTA4IDE1OjI0OjUyICswMDAwICBQYXVsIERhdmlzIDxwYXVsQGxpbnV4YXVkaW9zeXN0ZW1zLmNvbT4KCgkgIGV4dC9qYWNrLzogTWFrZSBhbiBvYmplY3QgdG8gbWFuYWdlIGNsaWVudCBjb25uZWN0aW9ucyB0byB0aGUgamFjayBzZXJ2ZXIgd2hpY2ggd2Ugd2lsbCB1c2UgaW4gdGhlIGZ1dHVyZSB0byBydW4gc2VsZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSW5jbHVkZXMgcGF0Y2ggYnk6IFBhdWwgRGF2aXMgPHBhdWwgYXQgbGludXhhdWRpb3N5c3RlbXMgZG90IGNvbT4KCSAgKiBleHQvamFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzogKGdzdF9qYWNrX2F1ZGlvX2NsaWVudF9pbml0KSwKCSAgKGphY2tfcHJvY2Vzc19jYiksIChqYWNrX3NhbXBsZV9yYXRlX2NiKSwgKGphY2tfYnVmZmVyX3NpemVfY2IpLAoJICAoamFja19zaHV0ZG93bl9jYiksIChjb25uZWN0aW9uX2ZpbmQpLAoJICAoZ3N0X2phY2tfYXVkaW9fbWFrZV9jb25uZWN0aW9uKSwgKGdzdF9qYWNrX2F1ZGlvX2dldF9jb25uZWN0aW9uKSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3VucmVmX2Nvbm5lY3Rpb24pLAoJICAoZ3N0X2phY2tfYXVkaW9fY29ubmVjdGlvbl9hZGRfY2xpZW50KSwKCSAgKGdzdF9qYWNrX2F1ZGlvX2Nvbm5lY3Rpb25fcmVtb3ZlX2NsaWVudCksCgkgIChnc3RfamFja19hdWRpb19jbGllbnRfbmV3KSwgKGdzdF9qYWNrX2F1ZGlvX2NsaWVudF9mcmVlKSwKCSAgKGdzdF9qYWNrX2F1ZGlvX2NsaWVudF9nZXRfY2xpZW50KSwKCSAgKGdzdF9qYWNrX2F1ZGlvX2NsaWVudF9zZXRfYWN0aXZlKToKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuaDoKCSAgTWFrZSBhbiBvYmplY3QgdG8gbWFuYWdlIGNsaWVudCBjb25uZWN0aW9ucyB0byB0aGUgamFjayBzZXJ2ZXIgd2hpY2ggd2UKCSAgd2lsbCB1c2UgaW4gdGhlIGZ1dHVyZSB0byBydW4gc2VsZWN0ZWQgamFjayBlbGVtZW50cyB3aXRoIHRoZSBzYW1lIGphY2sKCSAgY29ubmVjdGlvbi4KCSAgTWFrZSBzb21lIHN0dWZmIGEgYml0IG1vcmUgdGhyZWFkc2FmZS4KCSAgQWN0aXZhdGUgdGhlIGphY2sgY2xpZW50IEFTQVAuCgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19hbGxvY2F0ZV9jaGFubmVscyksCgkgIChnc3RfamFja19hdWRpb19zaW5rX2ZyZWVfY2hhbm5lbHMpLCAoamFja19wcm9jZXNzX2NiKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX29wZW5fZGV2aWNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2Nsb3NlX2RldmljZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9hY3F1aXJlKSwgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX3JlbGVhc2UpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19jbGFzc19pbml0KSwgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfaW5pdCksCgkgIChnc3RfamFja19hdWRpb19zaW5rX2dldGNhcHMpOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSAgVXNlIG5ldyBjbGllbnQgb2JqZWN0IHRvIG1hbmFnZSBjb25uZWN0aW9ucy4KCSAgRG9uJ3QgcmVtb3ZlIGFuZCByZWNyZWF0ZSBhbGwgcG9ydHMsIHRyeSB0byByZXVzZSB0aGVtLgoKMjAwNy0wMy0wNyAxMjowNzowNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBVc2UgYSBnZW5lcmFsIHdhdnBhY2sgZGVidWcgY2F0ZWdvcnkgZm9yIGNvbW1vbiBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5jOgoJICBVc2UgYSBnZW5lcmFsIHdhdnBhY2sgZGVidWcgY2F0ZWdvcnkgZm9yIGNvbW1vbiBjb2RlLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuYzoKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfc2V0X3Bvc19hYnMpLAoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl9zZXRfcG9zX3JlbCksCgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX3dyaXRlX2J5dGVzKToKCSAgVXNlIHRoZSBnZW5lcmFsIHdhdnBhY2sgZGVidWcgY2F0ZWdvcnkgaGVyZSB0b28gYW5kIGFkZCBkZWJ1ZwoJICBvdXRwdXQgdG8gdGhlIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBub3QgYmUgY2FsbGVkIGF0IGFsbCBieQoJICB0aGUgd2F2cGFjayBsaWJyYXJ5LgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3BsdWdpbl9pbml0KToKCSAgQ2hhbmdlIGRlYnVnZ2luZyBjYXRlZ29yeSBuYW1lcyB0byBjb25mb3JtIHRvIHRoZSBjb252ZW50aW9ucy4KCjIwMDctMDMtMDcgMTE6Mzc6MjMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lio6IFNoYXJlIHF0ZGVtdXggZGVidWcgY2F0ZWdvcnkgYWNyb3NzIGFsbCBmaWxlcywgb3RoZXJ3aXNlIGFsbCBkZWJ1Z2dpbmcgaW4gZmlsZXMgb3RoZXIgdGhhbiBxdGQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgU2hhcmUgcXRkZW11eCBkZWJ1ZyBjYXRlZ29yeSBhY3Jvc3MgYWxsIGZpbGVzLCBvdGhlcndpc2UgYWxsIGRlYnVnZ2luZwoJICBpbiBmaWxlcyBvdGhlciB0aGFuIHF0ZGVtdXguYyB3b3VsZCBlbmQgdXAgaW4gdGhlIGRlZmF1bHQgY2F0ZWdvcnkuCgoyMDA3LTAzLTA3IDExOjIzOjIwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uKjogT25lIEZJWE1FIGxlc3MsIGJ5IHJlc29sdmluZyBtZXNzYWdlIHRpbWVzdGFtcHMgYWdhaW5zdCB0aGUgcGxheWJhY2sgc2VnbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fc3RhcnQpLAoJICAoZ3N0X3NwZWN0cnVtX2V2ZW50KSwgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBPbmUgRklYTUUgbGVzcywgYnkgcmVzb2x2aW5nIG1lc3NhZ2UgdGltZXN0YW1wcyBhZ2FpbnN0IHRoZSBwbGF5YmFjawoJICBzZWdtZW50LgoKMjAwNy0wMy0wNiAxMzo1Nzo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBGaXggYW5kIGNsZWFudXAgZGVmYXVsdCBwcm9wZXJ0eSB2YWx1ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2luaXQpLCAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgRml4IGFuZCBjbGVhbnVwIGRlZmF1bHQgcHJvcGVydHkgdmFsdWVzLgoJICBBZGQgRklYTUVzIGZvciBzdHVmZiB0aGF0IGxvb2tzIHJhdGhlciB3cm9uZy4KCjIwMDctMDMtMDUgMDg6MzA6NTIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS86IFJlbW92ZSB0d28gb2Jzb2xldGUgYW5kIGNvbmZ1c2luZyBjb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChtZXNzYWdlX2hhbmRsZXIpOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAobWVzc2FnZV9oYW5kbGVyKToKCSAgUmVtb3ZlIHR3byBvYnNvbGV0ZSBhbmQgY29uZnVzaW5nIGNvbW1lbnRzLgoKMjAwNy0wMy0wNCAyMTozNjo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9uYXMvbmFzc2luay5jOiBTb21lIG1vcmUgY2xlYW51cHMvY2hhbmdlczsgdXNlIGJvaWxlcnBsYXRlIG1hY3JvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNfc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9uYXNfc2lua19pbml0KSwgKGdzdF9uYXNfc2lua19nZXRjYXBzKSwKCSAgKGdzdF9uYXNfc2lua191bnByZXBhcmUpOgoJICBTb21lIG1vcmUgY2xlYW51cHMvY2hhbmdlczsgdXNlIGJvaWxlcnBsYXRlIG1hY3JvLgoKMjAwNy0wMy0wNCAyMDozNToyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9uYXMvOiBCdW5jaCBvZiBuYXNzaW5rIGNsZWFuLXVwczogbWFrZSBidWlsZCBieSBhZGRpbmcgdGhlIHJpZ2h0IENGTEFHUyBhbmQgTElCUyB0byBNYWtlZmlsZS5hbTsgcmVuYW1lIHN0cnVjdHVyZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmFzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9uYXMvUkVBRE1FOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc19zaW5rX2dldF90eXBlKSwKCSAgKGdzdF9uYXNfc2lua19iYXNlX2luaXQpLCAoZ3N0X25hc19zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X25hc19zaW5rX2luaXQpLCAoZ3N0X25hc19zaW5rX2ZpbmFsaXplKSwKCSAgKGdzdF9uYXNfc2lua19nZXRjYXBzKSwgKGdzdF9uYXNfc2lua19wcmVwYXJlKSwKCSAgKGdzdF9uYXNfc2lua191bnByZXBhcmUpLCAoZ3N0X25hc19zaW5rX2RlbGF5KSwKCSAgKGdzdF9uYXNfc2lua19yZXNldCksIChnc3RfbmFzX3Npbmtfd3JpdGUpLAoJICAoZ3N0X25hc19zaW5rX3NldF9wcm9wZXJ0eSksIChnc3RfbmFzX3NpbmtfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9uYXNfc2lua19vcGVuKSwgKGdzdF9uYXNfc2lua19jbG9zZSksIChOQVNfZmx1c2gpLAoJICAoTkFTX3NlbmREYXRhKSwgKE5BU19FdmVudEhhbmRsZXIpLCAoZ3N0X25hc19zaW5rX3NpbmtfZ2V0X2Zvcm1hdCksCgkgIChOQVNfY3JlYXRlRmxvdyksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmg6CgkgIEJ1bmNoIG9mIG5hc3NpbmsgY2xlYW4tdXBzOiBtYWtlIGJ1aWxkIGJ5IGFkZGluZyB0aGUgcmlnaHQgQ0ZMQUdTCgkgIGFuZCBMSUJTIHRvIE1ha2VmaWxlLmFtOyByZW5hbWUgc3RydWN0dXJlLCBtYWNyb3MgYW5kIGZ1bmN0aW9ucwoJICBhY2NvcmRpbmcgdG8gY2Fub25pY2FsIG5hbWluZyBzY2hlbWU7IG1vdmUgc29tZSB0aGluZ3MgYXJvdW5kIGEgYml0OwoJICB1c2UgR1NUX0NBVF9ERUZBVUxUIGluc3RlYWQgb2YgR1NUX0NBVF8qIGV2ZXJ5d2hlcmU7IHJlbW92ZSBSRUFETUUKCSAgZmlsZSB0aGF0IGRpZG4ndCByZWFsbHkgY29udGFpbiBhbnkgdXNlZnVsIGluZm9ybWF0aW9uIGFueXdheSAodGhlCgkgIHVzZWZ1bCBiaXRzIGhhdmUgYmVlbiBtb3ZlZCBpbnRvIHRoZSAnaG9zdCcgcHJvcGVydHkgZGVzY3JpcHRpb24pLgoKMjAwNy0wMy0wNCAxNjozODozOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IENoYWluIHVwIGluIGZpbmFsaXplLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChnc3RfZGZidmlkZW9zaW5rX2ZpbmFsaXplKToKCSAgQ2hhaW4gdXAgaW4gZmluYWxpemUuCgoyMDA3LTAzLTAzIDIyOjI4OjAzICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBGaXggdXAgZGlzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC92bW5jL01ha2VmaWxlLmFtOgoJICBGaXggdXAgZGlzdC4KCjIwMDctMDMtMDMgMjI6MTM6MjIgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIEFkZCBWTW5jIGRlY29kZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvdm1uYy92bW5jZGVjLmM6IChnc3Rfdm1uY19kZWNfYmFzZV9pbml0KSwKCSAgKGdzdF92bW5jX2RlY19jbGFzc19pbml0KSwgKGdzdF92bW5jX2RlY19pbml0KSwKCSAgKGdzdF92bW5jX2RlY19yZXNldCksICh2bW5jX2hhbmRsZV93bXZpX3JlY3RhbmdsZSksCgkgIChyZW5kZXJfY29sb3VyX2N1cnNvciksIChyZW5kZXJfY3Vyc29yKSwgKHZtbmNfbWFrZV9idWZmZXIpLAoJICAodm1uY19oYW5kbGVfd212ZF9yZWN0YW5nbGUpLCAodm1uY19oYW5kbGVfd212ZV9yZWN0YW5nbGUpLAoJICAodm1uY19oYW5kbGVfd212Zl9yZWN0YW5nbGUpLCAodm1uY19oYW5kbGVfd212Z19yZWN0YW5nbGUpLAoJICAodm1uY19oYW5kbGVfd212aF9yZWN0YW5nbGUpLCAodm1uY19oYW5kbGVfd212al9yZWN0YW5nbGUpLAoJICAocmVuZGVyX3Jhd190aWxlKSwgKHJlbmRlcl9zdWJyZWN0KSwgKHZtbmNfaGFuZGxlX3Jhd19yZWN0YW5nbGUpLAoJICAodm1uY19oYW5kbGVfaGV4dGlsZV9yZWN0YW5nbGUpLCAodm1uY19oYW5kbGVfcGFja2V0KSwKCSAgKHZtbmNfZGVjX3NldGNhcHMpLCAodm1uY19kZWNfY2hhaW4pLCAodm1uY19kZWNfY2hhbmdlX3N0YXRlKSwKCSAgKHZtbmNfZGVjX3NldF9wcm9wZXJ0eSksICh2bW5jX2RlY19nZXRfcHJvcGVydHkpLCAocGx1Z2luX2luaXQpOgoJICBBZGQgVk1uYyBkZWNvZGVyLgoJICBTdGlsbCBtaXNzaW5nIHN1cHBvcnQgZm9yOgoJICAtIHJlY3RhbmdsZSB0eXBlcyBJIGRpZG4ndCBmaW5kIGluIG15IHNhbXBsZXMgKGUuZy4gY29weSwgUlJFLAoJICBaUkxFKQoJICAtIGFscGhhLWNvbXBvc2l0ZWQgY3Vyc29ycwoKMjAwNy0wMy0wMyAxMDoyMzowMyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOiBJbnN0YWxsIHRoZSBoZWFkZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICBJbnN0YWxsIHRoZSBoZWFkZXJzLgoKMjAwNy0wMy0wMyAxMDoxMDozMCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QtbGlicy9nc3QvYXBwLzogQWRkIEdzdEFwcEJ1ZmZlciB0aGF0IGluY2x1ZGVzIGEgY2FsbGJhY2sgYW5kIGNsb3N1cmUgZm9yIHByb3BlciBoYW5kbGluZyBvZiBkYXRhIGNodW5rcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcGJ1ZmZlci5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwYnVmZmVyLmg6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzoKCSAgQWRkIEdzdEFwcEJ1ZmZlciB0aGF0IGluY2x1ZGVzIGEgY2FsbGJhY2sgYW5kIGNsb3N1cmUgZm9yCgkgIHByb3BlciBoYW5kbGluZyBvZiBkYXRhIGNodW5rcy4KCjIwMDctMDMtMDMgMDk6MDY6MDYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuKjogSGFja2luZyB0byBhZGRyZXNzIGlzc3VlcyBpbiA0MTM0MTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuaDoKCSAgSGFja2luZyB0byBhZGRyZXNzIGlzc3VlcyBpbiA0MTM0MTguCgoyMDA3LTAzLTAzIDA4OjE2OjU3ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIE1vdmUgdGhlIGFwcCBsaWJyYXJ5IHRvIGdzdC1saWJzL2dzdC9hcHAgKGR1aCEpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHAuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmg6CgkgICogZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBwL2dzdGFwcC5jOgoJICAqIGdzdC9hcHAvZ3N0YXBwc3JjLmM6CgkgICogZ3N0L2FwcC9nc3RhcHBzcmMuaDoKCSAgTW92ZSB0aGUgYXBwIGxpYnJhcnkgdG8gZ3N0LWxpYnMvZ3N0L2FwcCAoZHVoISkKCjIwMDctMDMtMDIgMTk6NDM6NDggKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9uYXMvbmFzc2luay5jOgoJKiBleHQvbmFzL25hc3NpbmsuaDoKCSAgQ29tbWl0IE5BUyBTaW5rLCBjbG9zZWQgYnVnemlsbGEgMzQ1NjMzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDb21taXQgTkFTIFNpbmssIGNsb3NlZCBidWd6aWxsYSAzNDU2MzMKCjIwMDctMDMtMDIgMTg6MjQ6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZHRzL2dzdGR0c2RlYy5jOiBBIGZldyBzbWFsbCBjbGVhbi11cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2luaXQpLCAoZ3N0X2R0c2RlY19zaW5rX2V2ZW50KToKCSAgQSBmZXcgc21hbGwgY2xlYW4tdXBzLgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiAoZ3N0X3JlYWxfYXVkaW9fZGVjX3NldGNhcHMpOgoJICBNb3JlIGRlYnVnIG91dHB1dCBmb3IgZmFpbHVyZSBjYXNlcy4KCjIwMDctMDMtMDIgMTg6MTA6MDYgKzAwMDAgIFlvdW5nLUhvIENoYSA8Z2FuYWRpc3RAY2hvbGxpYW4ubmV0PgoKCSAgZXh0L2R0cy9nc3RkdHNkZWMuYzogRG9uJ3QgZG8gZm9yY2VkIGRvd25taXhpbmcgdG8gc3RlcmVvLCBidXQgY2hlY2sgd2hhdCBkb3duc3RyZWFtIGNhbiBkbyBhbmQgbGV0IGxpYmR0cyBkbyB0aGUgZG93Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogWW91bmctSG8gQ2hhICA8Z2FuYWRpc3QgYXQgY2hvbGxpYW4gbmV0PgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2hhbmRsZV9mcmFtZSksCgkgIChnc3RfZHRzZGVjX2NoYW5nZV9zdGF0ZSk6CgkgIERvbid0IGRvIGZvcmNlZCBkb3dubWl4aW5nIHRvIHN0ZXJlbywgYnV0IGNoZWNrIHdoYXQgZG93bnN0cmVhbQoJICBjYW4gZG8gYW5kIGxldCBsaWJkdHMgZG8gdGhlIGRvd25taXhpbmcgYmFzZWQgb24gdGhhdCAoIzQwMDU1NSkuCgoyMDA3LTAzLTAyIDEzOjMzOjM5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgUmVtb3ZlIHNwdXJpb3VzIGNvbmZsaWN0IG1hcmtlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlIHNwdXJpb3VzIGNvbmZsaWN0IG1hcmtlcgoKMjAwNy0wMy0wMiAxMjowNDowMiArMDAwMCAgTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuKjogU2ltcGxpZnkgX3NldF91cmkoKSBhbmQgX3NldF9wcm94eSgpIGFuZCByZW1vdmUgdGhlIHVudXNlZCBpc2h0dHAgbWVtYmVyICgjMzg4MDUwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMdXR6IE11ZWxsZXIgIDxsdXR6IHRvcGZyb3NlIGRlPgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X25lb25odHRwX3NyY19pbml0KSwgKGdzdF9uZW9uaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc2V0X3VyaSksIChnc3RfbmVvbmh0dHBfc3JjX3NldF9wcm94eSksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3NlbmRfcmVxdWVzdF9hbmRfcmVkaXJlY3QpLAoJICAoZ3N0X25lb25odHRwX3NyY191cmlfc2V0X3VyaSk6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgU2ltcGxpZnkgX3NldF91cmkoKSBhbmQgX3NldF9wcm94eSgpIGFuZCByZW1vdmUgdGhlIHVudXNlZCBpc2h0dHAKCSAgbWVtYmVyICgjMzg4MDUwKS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9uZW9uaHR0cHNyYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBGaXggYm9ndXMgVVJJIHRvIHNvbWV0aGluZyB0aGF0IGFjdHVhbGx5IGV4aXN0cywgb3RoZXJ3aXNlIHdlIGp1c3QKCSAgYnlwYXNzIHRoZSB0ZXN0IChhbmQgYWxzbyB0byBzb21ldGhpbmcgdGhhdCBkb2Vzbid0IHJlZGlyZWN0LCBzaW5jZQoJICBuZW9uaHR0cHNyYyBkb2Vzbid0IHNlZW0gdG8gaGFuZGxlIHRoaXMgdmVyeSBncmFjZWZ1bGx5IHlldCkKCjIwMDctMDMtMDIgMTE6MTQ6MzMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbToKCSogZXh0L2l2b3JiaXMvdm9yYmlzLmM6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuaDoKCSAgQWRkIHBhdGNoIGZyb20gQnVnIDM1NzA1NSBmcm9tIENocmlzIExvcmQsIGFkZGluZyBzdXBwb3J0IGZvciBWb3JiaXMgc3RyZWFtcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIHBhdGNoIGZyb20gQnVnIDM1NzA1NSBmcm9tIENocmlzIExvcmQsIGFkZGluZyBzdXBwb3J0IGZvciBWb3JiaXMgc3RyZWFtcwoKMjAwNy0wMy0wMSAxNzoyNzozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRHJhdyBwbHVnaW5zIGluIGZyb20gdGhlIGJ1aWxkIHRyZWUgc3lzLyBkaXIsIHJhdGhlciB0aGFuIHBpY2tpbmcgdXAgdGhlIGFscmVhZHkgaW5zdGFsbGVkIHYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIERyYXcgcGx1Z2lucyBpbiBmcm9tIHRoZSBidWlsZCB0cmVlIHN5cy8gZGlyLCByYXRoZXIgdGhhbgoJICBwaWNraW5nIHVwIHRoZSBhbHJlYWR5IGluc3RhbGxlZCB2ZXJzaW9ucy4KCjIwMDctMDItMjggMTk6MzE6MTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgY29uZmlndXJlLmFjOiBDb252ZXJ0IHRvIG5ldyBBR19HU1Qgc3R5bGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ29udmVydCB0byBuZXcgQUdfR1NUIHN0eWxlLgoKMjAwNy0wMi0yNyAxMjowMjowMyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgdXBkYXRlIGNvcHlyaWdodCBzdGF0ZW1lbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgY29weXJpZ2h0IHN0YXRlbWVudHMKCjIwMDctMDItMjcgMTE6MzA6MTkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvb3N4dmlkZW8vOiBEaXNhYmxlIHRoZSBjb2NvYSBldmVudCBsb29wIHNpbmNlIGl0J3MgYSBodWdlIG1lbW9yeSBsZWFrLiBTaG91bGQgb25seSBtYXR0ZXIgaWYgdGhlIHNpbmsgaXNuJ3QgdXNlZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lmg6CgkgICogc3lzL29zeHZpZGVvL2NvY29hd2luZG93Lm06CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgRGlzYWJsZSB0aGUgY29jb2EgZXZlbnQgbG9vcCBzaW5jZSBpdCdzIGEgaHVnZSBtZW1vcnkgbGVhay4gU2hvdWxkIG9ubHkKCSAgbWF0dGVyIGlmIHRoZSBzaW5rIGlzbid0IHVzZWQgd2l0aGluIGFuIE5TQXBwICh3aGljaCBoYXMgYWxyZWFkeSBnb3QKCSAgYSBjb2NhIGV2ZW50IGxvb3ApLgoJICBSZW1vdmUgYWxsIHVudXNlZCBjb2RlLgoKMjAwNy0wMi0yNiAyMTowMTowMyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBBZGQgYSBuZXcgcGx1Z2luL2xpYnJhcnkgdG8gbWFrZSBpdCBlYXN5IGZvciBhcHBzIHRvIHNob3ZlIGRhdGEgaW50byBhIHBpcGVsaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBwL2dzdGFwcC5jOgoJICAqIGdzdC9hcHAvZ3N0YXBwc3JjLmM6CgkgICogZ3N0L2FwcC9nc3RhcHBzcmMuaDoKCSAgQWRkIGEgbmV3IHBsdWdpbi9saWJyYXJ5IHRvIG1ha2UgaXQgZWFzeSBmb3IgYXBwcyB0byBzaG92ZQoJICBkYXRhIGludG8gYSBwaXBlbGluZS4KCjIwMDctMDItMjYgMTA6MzI6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcmVhbC86IFVzZSBnc3RfcGFkX3VzZV9maXhlZF9jYXBzKCkgb24gc291cmNlIHBhZHMsIHRvIGF2b2lkIG5lZ290aWF0aW9uIGVycm9ycyBpbiBjZXJ0YWluIHNpdHVhdGlvbnMgKGUuZy4gZGVjICEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IChnc3RfcmVhbF9hdWRpb19kZWNfaW5pdCk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChnc3RfcmVhbF92aWRlb19kZWNfaW5pdCk6CgkgIFVzZSBnc3RfcGFkX3VzZV9maXhlZF9jYXBzKCkgb24gc291cmNlIHBhZHMsIHRvIGF2b2lkIG5lZ290aWF0aW9uCgkgIGVycm9ycyBpbiBjZXJ0YWluIHNpdHVhdGlvbnMgKGUuZy4gZGVjICEgY3MgISB4aW1hZ2VzaW5rIGFuZCB0aGUKCSAgaW1hZ2VzaW5rIHdpbmRvdyBpcyByZXNpemVkKTsgYWxzbywgc29tZSBtaW5vciBjbGVhbi11cHMuCgoyMDA3LTAyLTI0IDIyOjUyOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgRml4IGJ1aWxkIHdpdGggTERGTEFHUz0nLVdsLC16LGRlZnMnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2dzbS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlcGxheWdhaW4vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOgoJICBGaXggYnVpbGQgd2l0aCBMREZMQUdTPSctV2wsLXosZGVmcycuCgoyMDA3LTAyLTIwIDIxOjM0OjAwICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLio6IFJlbW92ZSBpbmNsdWRlIG9mIHVudXNlZCBoZWFkZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBSZW1vdmUgaW5jbHVkZSBvZiB1bnVzZWQgaGVhZGVycy4KCSAgKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1wbHVnaW4uYzoKCSAgKiBzeXMvd2F2ZWZvcm0vZ3N0d2F2ZWZvcm1zaW5rLmM6CgkgICogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5oOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R3YXZlZm9ybS5kc3A6CgkgIEFkZCBhIG5ldyB3YXZlZm9ybSBwbHVnaW4gd2hpY2ggaW5jbHVkZXMgYW4gYXVkaW8gc2luawoJICBlbGVtZW50IHVzaW5nIHRoZSBXYXZlRm9ybSB3aW4zMiBBUEkuCgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCB0aGUgbmV3IHByb2plY3QgZmlsZSBmb3JtIHdhdmVmb3JtIHBsdWdpbi4KCjIwMDctMDItMTggMTg6MDA6NTEgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy9kaXJlY3RkcmF3LzogUHJlcGFyZSB0aGUgcGx1Z2luIHRvIG1vdmUgdG8gZ29vZDoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgUHJlcGFyZSB0aGUgcGx1Z2luIHRvIG1vdmUgdG8gZ29vZDoKCSAgUmVtb3ZlIHVudXNlZC91bnRlc3RlZCBjb2RlIChyZW5kZXJpbmcgdG8gYW4gZXh0ZXJuIHN1cmZhY2UsCgkgIHl1diBmb3JtYXQgcmVuZGVyaW5nKS5Vc2UgR1NUXyhERUJVRy8qKV9PQkpFQ1QgbWFjcm9zCgkgIFJlbmFtZSBhbGwgZnVuY3Rpb25zIGZyb20gZ3N0X2RpcmVjdGRyYXdzaW5rIHRvIGdzdF9kaXJlY3RkcmF3X3NpbmsuCgkgIEFkZCBndGsgZG9jIHNlY3Rpb24KCSAgRml4IGEgYnVnIGluIGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSwgbWVtY3B5IGxpbmUgYnkgbGluZQoJICByZXNwZWN0aW5nIGRlc3RpbmF0aW9uIHN1cmZhY2Ugc3RyaWRlLgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgIFByZXBhcmUgdGhlIHBsdWdpbiB0byBtb3ZlIHRvIGdvb2Q6CgkgIFJlbmFtZSBhbGwgZnVuY3Rpb25zIGZyb20gZ3N0X2RpcmVjdHNvdW5kc2luayB0byBnc3RfZGlyZWN0c291bmRfc2luay4KCSAgQWRkIGd0ayBkb2Mgc2VjdGlvbgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaC5pbjoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIGNvbmZpZy5oLmluCgoyMDA3LTAyLTE2IDE2OjI2OjMxICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIGVxdWFsaXplciBwbHVnaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBlcXVhbGl6ZXIgcGx1Z2luCgoyMDA3LTAyLTEzIDE0OjIyOjUzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIGFkZCBtaXNzaW5nIFwgaW4gTWFrZWZpbGUuYW0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBtaXNzaW5nIFwgaW4gTWFrZWZpbGUuYW0KCjIwMDctMDItMTMgMDk6NDQ6MjAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEFkZCBjcm9zc3JlZmVyZW5jZXMgdG8gZ2xpYi9nb2JqZWN0L2dzdHJlYW0gZG9jcy4gQWxzbyBmaXggdHlwbyBpbiB0aW1pZGl0eS5jZmcgY2hlY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIEFkZCBjcm9zc3JlZmVyZW5jZXMgdG8gZ2xpYi9nb2JqZWN0L2dzdHJlYW0gZG9jcy4gQWxzbyBmaXggdHlwbyBpbgoJICB0aW1pZGl0eS5jZmcgY2hlY2suCgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6IChwbHVnaW5faW5pdCk6CgkgIEFsc28gYnVpbGQgaWYgbm8gY29uZmlnIHdhcyBkZXRlY3RlZCBhdCBjb25maWd1cmUgdGltZS4KCjIwMDctMDItMTEgMTU6NDY6MjQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEFkZCBzZWNvbmQgbWlkaSByZW5kZXJlci4gRml4IHNvbWUgZG91YmxlIGZyZWVzIGFuZCBsZWFrcy4gQ2xlYW4gdXAgbG9nZ2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC90aW1pZGl0eS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzogKGdzdF93aWxkbWlkaV9iYXNlX2luaXQpLAoJICAoZ3N0X3dpbGRtaWRpX2NsYXNzX2luaXQpLCAoZ3N0X3dpbGRtaWRpX2luaXQpLAoJICAoZ3N0X3dpbGRtaWRpX3NyY19jb252ZXJ0KSwgKGdzdF93aWxkbWlkaV9zcmNfcXVlcnkpLAoJICAoZ3N0X3dpbGRtaWRpX2dldF91cHN0cmVhbV9zaXplKSwgKGdzdF93aWxkbWlkaV9nZXRfc2VnbWVudCksCgkgIChnc3Rfd2lsZG1pZGlfZ2V0X25ld19zZWdtZW50X2V2ZW50KSwgKGdzdF93aWxkbWlkaV9zcmNfZXZlbnQpLAoJICAoZ3N0X3dpbGRtaWRpX2FjdGl2YXRlKSwgKGdzdF93aWxkbWlkaV9hY3RpdmF0ZXB1bGwpLAoJICAoZ3N0X3dpbGRtaWRpX2FsbG9jYXRlX2J1ZmZlciksIChnc3Rfd2lsZG1pZGlfY2xpcF9idWZmZXIpLAoJICAoZ3N0X3dpbGRtaWRpX2ZpbGxfYnVmZmVyKSwgKGdzdF93aWxkbWlkaV9nZXRfYnVmZmVyKSwKCSAgKGdzdF93aWxkbWlkaV9sb29wKSwgKGdzdF93aWxkbWlkaV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3dpbGRtaWRpX3NldF9wcm9wZXJ0eSksIChnc3Rfd2lsZG1pZGlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF93aWxkbWlkaV90eXBlZmluZCksICh3aWxkbWlkaV9vcGVuX2NvbmZpZyksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmg6CgkgIEFkZCBzZWNvbmQgbWlkaSByZW5kZXJlci4gRml4IHNvbWUgZG91YmxlIGZyZWVzIGFuZCBsZWFrcy4gQ2xlYW4gdXAKCSAgbG9nZ2luZy4KCjIwMDctMDItMTEgMTU6MjY6NDkgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIE1ha2VmaWxlLmFtOiBBZGQgd2luMzIgTUFOSUZFU1QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgIEFkZCB3aW4zMiBNQU5JRkVTVAoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgQ2xlYXIgdW51c2VkIGNvZGUgYW5kIGFkZCBjb21tZW50cy4KCSAgUmVtb3ZlIHl1diBmcm9tIHRlbXBsYXRlIGNhcHMsIGl0IG9ubHkgc3VwcG9ydHMgUkdCCgkgIGFjdHVhbGx5LgoJICBJbXBsZW1lbnQgWE92ZXJsYXkgaW50ZXJmYWNlIGFuZCByZW1vdmUgd2luZG93IGFuZCBmdWxsc2NyZWVuCgkgIHByb3BlcnRpZXMuCgkgIEFkZCBkZWJ1ZyBsb2dzLgoJICBUZXN0IGZvciBibGl0IGNhcGFiaWxpdGllcyB0byByZXR1cm4gb25seSB0aGUgY3VycmVudCBjb2xvcnNwYWNlIGlmCgkgIHRoZSBoYXJkd2FyZSBjYW4ndCBibGl0IGZvciBvbmUgY29sb3JzcGFjZSB0byBhbm90aGVyLgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgQWRkIHNvbWUgZGVidWdzLgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgVlM3IHByb2plY3QgZmlsZXMgYW5kIHNvbHV0aW9uLgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RxdGRlbXV4LmRzcDoKCSAgVXBkYXRlIHByb2plY3QgZmlsZXMuCgoyMDA3LTAyLTExIDExOjU5OjQ5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEFsc28gdXBkYXRlIHRoZSBjb21tZW50IHRoYXQgZGVzY3JpYmVzIHRoZSBoYWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIEFsc28gdXBkYXRlIHRoZSBjb21tZW50IHRoYXQgZGVzY3JpYmVzIHRoZSBoYWNrLgoKMjAwNy0wMi0xMSAxMTozNTo0NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBUZWxsIHRoZSBjb2RlIHdoaWNoIGZhYWQgaXQgaXMsIHNvIHRoYXQgd2UgY2FuIGFkanVzdCB0aGUgaGFja3MgbmVlZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFRlbGwgdGhlIGNvZGUgd2hpY2ggZmFhZCBpdCBpcywgc28gdGhhdCB3ZSBjYW4gYWRqdXN0IHRoZSBoYWNrcwoJICBuZWVkZWQuCgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBNYWtlIG91ciBoYWNrcyBkZXBlbmRlbnQgb24gdGhlIGZhZGQgbGliIGluIHVzZS4KCjIwMDctMDItMTEgMTA6NTg6MTQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IGZhYWQgZGV0ZWN0aW9uIHRvIHN1cHBvcnQgYWxzbyBmYWRkIHdpdGggbmV3IHN5bWJvbCBwcmVmaXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IGZhYWQgZGV0ZWN0aW9uIHRvIHN1cHBvcnQgYWxzbyBmYWRkIHdpdGggbmV3IHN5bWJvbCBwcmVmaXguCgkgIENoYW5nZUxvZyBzdXJnZXJ5LgoKMjAwNy0wMi0wOCAxNTowMDowMCArMDAwMCAgV291dGVyIFBhZXNlbiA8d291dGVyQGJsdWUtZ2F0ZS5iZT4KCgkgIEFkZCB0aW1pdGl0eSBtaWRpIHJlbmRlciBwbHVnaW4gKCM0MDM5OTIpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIFBhZXNlbiA8d291dGVyQGJsdWUtZ2F0ZS5iZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC90aW1pZGl0eS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzogKGdzdF90aW1pZGl0eV9iYXNlX2luaXQpLAoJICAoZ3N0X3RpbWlkaXR5X2NsYXNzX2luaXQpLCAoZ3N0X3RpbWlkaXR5X2luaXQpLAoJICAoZ3N0X3RpbWlkaXR5X3NldF9zb25nX29wdGlvbnMpLCAoZ3N0X3RpbWlkaXR5X3NyY19jb252ZXJ0KSwKCSAgKGdzdF90aW1pZGl0eV9zcmNfcXVlcnkpLCAoZ3N0X3RpbWlkaXR5X2dldF91cHN0cmVhbV9zaXplKSwKCSAgKGdzdF90aW1pZGl0eV9nZXRfc2VnbWVudCksIChnc3RfdGltaWRpdHlfZ2V0X25ld19zZWdtZW50X2V2ZW50KSwKCSAgKGdzdF90aW1pZGl0eV9zcmNfZXZlbnQpLCAoZ3N0X3RpbWlkaXR5X2FjdGl2YXRlKSwKCSAgKGdzdF90aW1pZGl0eV9hY3RpdmF0ZXB1bGwpLCAoZ3N0X3RpbWlkaXR5X2FsbG9jYXRlX2J1ZmZlciksCgkgIChnc3RfdGltaWRpdHlfY2xpcF9idWZmZXIpLCAoZ3N0X3RpbWlkaXR5X2ZpbGxfYnVmZmVyKSwKCSAgKGdzdF90aW1pZGl0eV9nZXRfYnVmZmVyKSwgKGdzdF90aW1pZGl0eV9sb29wKSwKCSAgKGdzdF90aW1pZGl0eV9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3RpbWlkaXR5X3R5cGVmaW5kKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuaDoKCSAgQWRkIHRpbWl0aXR5IG1pZGkgcmVuZGVyIHBsdWdpbiAoIzQwMzk5MikKCjIwMDctMDItMDcgMTI6Mjk6MDMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOiBHU1RfUEFEX1BBUkVOVCBkb2Vzbid0IHJldHVybiBhIEdzdE9iamVjdCB3aXRoIGFuIGluY3JlbWVudGVkIHJlZmNvdW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOiAoZ3N0X2FtcndicGFyc2VfcXVlcnkpOgoJICBHU1RfUEFEX1BBUkVOVCBkb2Vzbid0IHJldHVybiBhIEdzdE9iamVjdCB3aXRoIGFuIGluY3JlbWVudGVkIHJlZmNvdW50LgoJICBTd2l0Y2hlZCB0byB1c2luZyBnc3RfcGFkX2dldF9wYXJlbnQoKS4KCjIwMDctMDItMDYgMTY6MDA6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOiBSZW1vdmUgc3VwZXJmbHVvdXMgZ3N0X2NhcHNfZ2V0X3N0cnVjdHVyZSgpIGNhbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIFJlbW92ZSBzdXBlcmZsdW91cyBnc3RfY2Fwc19nZXRfc3RydWN0dXJlKCkgY2FsbC4KCjIwMDctMDItMDYgMTA6MTY6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEluY3JlYXNlIHJlcXVpcmVkIGxpYnNuZGZpbGUgdmVyc2lvbiB0byBhIHZlcnNpb24gdGhhdCdzIGtub3duIHRvIGhhdmUgdGhlIGZ1bmN0aW9uIHNmX3dyaXRlX3N5bmMoKSB0byAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBJbmNyZWFzZSByZXF1aXJlZCBsaWJzbmRmaWxlIHZlcnNpb24gdG8gYSB2ZXJzaW9uIHRoYXQncyBrbm93biB0bwoJICBoYXZlIHRoZSBmdW5jdGlvbiBzZl93cml0ZV9zeW5jKCkgdG8gbWFrZSB0aGUgYnVpbGQgYm90cyBoYXBweS4KCjIwMDctMDItMDYgMDk6Mzk6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc25kZmlsZS9nc3RzZnNyYy5jOiBGaXggYnVpbGQgKGluc3RhbGxlZCBzZXR1cCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmc3JjLmM6CgkgIEZpeCBidWlsZCAoaW5zdGFsbGVkIHNldHVwKS4KCjIwMDctMDItMDUgMTg6NDI6NDUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9zbmRmaWxlLzogUG9ydCBzZnNyYyB0byAwLjEwLCBwdWxsIG9yIHB1c2gsIHdpdGggcmFuZG9tIGFjY2VzcyB3b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAyLTA1ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9zbmRmaWxlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmc3JjLmg6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuYzogUG9ydCBzZnNyYyB0byAwLjEwLCBwdWxsIG9yIHB1c2gsIHdpdGgKCSAgcmFuZG9tIGFjY2VzcyB3b28uCgoyMDA3LTAyLTAzIDIzOjM1OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgRml4IHVwIHRvIHVzZSB0aGUgbmV3bHkgcG9ydGVkIChhY3R1YWxseSB3b3JraW5nKSBHc3RBdWRpb0ZpbHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jbGFzc19pbml0KSwgKGdzdF9paXJfZXF1YWxpemVyX2luaXQpLAoJICAoc2V0dXBfZmlsdGVyKSwgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0X3Byb3BlcnR5KSwgKGdzdF9paXJfZXF1YWxpemVyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl90cmFuc2Zvcm1faXApLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0dXApLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkgIEZpeCB1cCB0byB1c2UgdGhlIG5ld2x5IHBvcnRlZCAoYWN0dWFsbHkgd29ya2luZykgR3N0QXVkaW9GaWx0ZXIuCgkgIEJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byBDVlMgZm9yIHRoaXMuCgkgICogdGVzdHMvaWNsZXMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOiAoY2hlY2tfYnVzKSwKCSAgKGVxdWFsaXplcl9zZXRfYmFuZF92YWx1ZSksIChlcXVhbGl6ZXJfc2V0X2FsbF9iYW5kX3ZhbHVlcyksCgkgIChlcXVhbGl6ZXJfc2V0X2JhbmRfdmFsdWVfYW5kX3dhaXQpLAoJICAoZXF1YWxpemVyX3NldF9hbGxfYmFuZF92YWx1ZXNfYW5kX3dhaXQpLCAoZG9fc2xpZGVyX2ZpZGRsaW5nKSwKCSAgKG1haW4pOgoJICBBZGQgYnJhaW4tZGVhZCBpbnRlcmFjdGl2ZSB0ZXN0IGZvciBlcXVhbGl6ZXIuCgoyMDA3LTAyLTAyIDE4OjM2OjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogUmVuYW1lICJ2YWx1ZXMiIHByb3BlcnR5IHRvICJiYW5kLXZhbHVlcyIgYW5kIGNoYW5nZSB0eXBlIGludG8gYQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9zZXRfcHJvcGVydHkpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2ZpbHRlcl9pbnBsYWNlKToKCSAgUmVuYW1lICJ2YWx1ZXMiIHByb3BlcnR5IHRvICJiYW5kLXZhbHVlcyIgYW5kIGNoYW5nZSB0eXBlIGludG8gYQoJICBHVmFsdWVBcnJheSwgc28gaXQncyBtb3JlIGVhc2lseSBiaW5kYWJsZSBhbmQgdGhlIHJhbmdlIG9mIHRoZQoJICB2YWx1ZXMgcGFzc2VkIGluIGlzIGRlZmluZWQgYW5kIGNoZWNrZWQgZXRjLjsgYWxzbyBkbyBzb21lCgkgIGxvY2tpbmcuCgoyMDA3LTAyLTAyIDE3OjM5OjIxICswMDAwICBKYW1lcyBEb2MgTGl2aW5nc3RvbiA8ZG9jbGl2aW5nc3RvbkBnbWFpbC5jb20+CgoJICBQb3J0IGVxdWFsaXplciBwbHVnaW4gdG8gMC4xMCAoIzQwMzU3MikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmFtZXMgIkRvYyIgTGl2aW5nc3RvbiAgPGRvY2xpdmluZ3N0b24gYXQgZ21haWwgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9nZXRfdHlwZSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9maWx0ZXJfaW5wbGFjZSksIChnc3RfaWlyX2VxdWFsaXplcl9zZXR1cCksCgkgIChwbHVnaW5faW5pdCk6CgkgIFBvcnQgZXF1YWxpemVyIHBsdWdpbiB0byAwLjEwICgjNDAzNTcyKS4KCjIwMDctMDItMDIgMTM6Mjg6MDUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogZXh0L01ha2VmaWxlLmFtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAyLTAyICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW0KCSAgKiBleHQvc25kZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmg6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2ZzaW5rLmM6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2ZzaW5rLmg6IFBvcnQgc2ZzaW5rIHRvIDAuMTAuIFdvcmtzIGluIHB1bGwgb3IKCSAgcHVzaCBtb2RlIHdpdGggaW50ZXJsZWF2ZWQgZmxvYXQgb3IgaW50IGRhdGEuCgoyMDA3LTAyLTAyIDExOjA5OjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6IFNldCByYW5rIHRvIE5PTkUgc28gdGhhdCBpdCBkb2Vzbid0IGdldCBhdXRvcGx1Z2dlZCBieSBhdXRvYXVkaW9zaW5rICh3aGljaCBkaWRuJ3QgaGFwLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOiAocGx1Z2luX2luaXQpOgoJICBTZXQgcmFuayB0byBOT05FIHNvIHRoYXQgaXQgZG9lc24ndCBnZXQgYXV0b3BsdWdnZWQgYnkgYXV0b2F1ZGlvc2luawoJICAod2hpY2ggZGlkbid0IGhhcHBlbiBwcmV2aW91c2x5IGJlY2F1c2UgdGhlIGtsYXNzIHN0cmluZyBkaWRuJ3QKCSAgY29udGFpbiBhbnl0aGluZyBhdXRvYXVkaW9zaW5rIHdhcyBsb29raW5nIGZvcikuCgoyMDA3LTAxLTMxIDEwOjAyOjA1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcmVhbC86IEZpeCBjbGFzc2lmaWNhdGlvbiBpbiBHc3RFbGVtZW50RGV0YWlscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6CgkgIEZpeCBjbGFzc2lmaWNhdGlvbiBpbiBHc3RFbGVtZW50RGV0YWlscy4KCjIwMDctMDEtMzEgMDg6MzI6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBGaXggYSBvZmYgYnkgb25lIHRoYXQgbGVhZHMgdG8gdGhlIGR1cmF0aW9uIHJlcG9ydGVkIGFzIG9uZSBzYW1wbGUgbGVzcyB0aGFuIGl0IGlzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKToKCSAgRml4IGEgb2ZmIGJ5IG9uZSB0aGF0IGxlYWRzIHRvIHRoZSBkdXJhdGlvbiByZXBvcnRlZCBhcyBvbmUKCSAgc2FtcGxlIGxlc3MgdGhhbiBpdCBpcwoKMjAwNy0wMS0zMSAwODoxNjo1OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IGNsYXNzaWZpY2F0aW9uIGluIEdzdEVsZW1lbnREZXRhaWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzoKCSAgKiBnc3QvbnNmL2dzdG5zZi5jOgoJICBGaXggY2xhc3NpZmljYXRpb24gaW4gR3N0RWxlbWVudERldGFpbHMuCgkgICogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzogKGdzdF9sYWRzcGFfYmFzZV9pbml0KSwKCSAgKGdzdF9sYWRzcGFfY2xhc3NfaW5pdCk6CgkgIEltcHJvdmUgS2xhc3NpZmljYXRpb24gYW5kIHJlZHVjZSBjb2RlIHNsaWdobHkuCgoyMDA3LTAxLTMwIDE3OjE5OjMzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3IgYW4gT2JqZWN0aXZlIEMgY29tcGlsZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBmb3IgYW4gT2JqZWN0aXZlIEMgY29tcGlsZXIKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIFBvcnQgb2Ygb3N4dmlkZW8gcGx1Z2luIHRvIDAuMTAuIERvIE5PVCBjb25zaWRlciAxMDAlIHN0YWJsZSAhCgkgIEZpeGVzICM0MDI0NzAKCjIwMDctMDEtMjkgMjA6NTE6MDIgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlCgoyMDA3LTAxLTI4IDE4OjI4OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogRml4IGNyb3BwaW5nIGZvciBwYWNrZWQgNDoyOjIgZm9ybWF0cyBZVVlWL1lVWTIgYW5kIFVZVlkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgIChnc3RfdmlkZW9fY3JvcF9nZXRfaW1hZ2VfZGV0YWlsc19mcm9tX2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BhY2tlZF9jb21wbGV4KToKCSAgRml4IGNyb3BwaW5nIGZvciBwYWNrZWQgNDoyOjIgZm9ybWF0cyBZVVlWL1lVWTIgYW5kIFVZVlkuCgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogKGNoZWNrX2J1c19mb3JfZXJyb3JzKSwKCSAgKHRlc3Rfd2l0aF9jYXBzKSwgKG1haW4pOgoJICBCbG9jayBzdHJlYW1pbmcgdGhyZWFkIGJlZm9yZSBjaGFuZ2luZyBmaWx0ZXIgY2FwcyB3aGlsZSB0aGUKCSAgcGlwZWxpbmUgaXMgcnVubmluZyBzbyB0aGF0IHdlIGRvbid0IGdldCByYW5kb20gbm90LW5lZ290aWF0ZWQKCSAgZXJyb3JzIGp1c3QgYmVjYXVzZSBHU3RyZWFtZXIgY2FuJ3QgaGFuZGxlIHRoYXQgeWV0LgoKMjAwNy0wMS0yOCAxNzozNToxMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2xhZHNwYS86IGFkZCBHc3RDb250cm9sbGVyIHN1cHBvcnQgdG8gbGFkc3BhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzogKGdzdF9sYWRzcGFfY2xhc3NfZ2V0X3BhcmFtX3NwZWMpOgoJICBhZGQgR3N0Q29udHJvbGxlciBzdXBwb3J0IHRvIGxhZHNwYQoKMjAwNy0wMS0yOCAxMzowMTowMiArMDAwMCAgUm9zZnJhbiBCb3JnZXMgPHJvc2ZyYW4uYm9yZ2VzQGlkbnQub3JnLmJyPgoKCSAgZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogUmVtb3ZlIHNsZWVwIGNhbGxzLCB0aGV5J3ZlIGJlZW4gbW92ZWQgaW50byB0aGUgbGlicmFyeSBub3cgLi4uICgjMzU0NDUxKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSb3NmcmFuIEJvcmdlcyA8cm9zZnJhbiBkb3QgYm9yZ2VzIGF0IGlkbnQgb3JnIGJyPgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IChnc3RfbXl0aHR2X3NyY19zdGFydCksCgkgIChnc3RfbXl0aHR2X3NyY19uZXh0X3Byb2dyYW1fY2hhaW4pOgoJICBSZW1vdmUgc2xlZXAgY2FsbHMsIHRoZXkndmUgYmVlbiBtb3ZlZCBpbnRvIHRoZSBsaWJyYXJ5IG5vdyAuLi4KCSAgKCMzNTQ0NTEpLgoKMjAwNy0wMS0yNyAxNjowODoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IENhdGNoIGVycm9ycyB3aGlsZSB0aGUgdGVzdCBpcyBydW5uaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiAodGVzdF93aXRoX2NhcHMpOgoJICBDYXRjaCBlcnJvcnMgd2hpbGUgdGhlIHRlc3QgaXMgcnVubmluZy4KCjIwMDctMDEtMjUgMjM6Mjc6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBGaXggdGhlIFNFRUtJTkcgcXVlcnkuIFdlIGNhbiBzZWVrIGlmIHdlIGFyZSBpbiBwdWxsIG1vZGUsIG5vdCB0aGUgb3RoZXIgd2F5IGFyb3VuZC4gQS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSk6CgkgIEZpeCB0aGUgU0VFS0lORyBxdWVyeS4gV2UgY2FuIHNlZWsgaWYgd2UgYXJlIGluIHB1bGwgbW9kZSwgbm90IHRoZQoJICBvdGhlciB3YXkgYXJvdW5kLiBBbHNvIHNldCB0aGUgY29ycmVjdCBmb3JtYXQgaW4gdGhlIHNlZWtpbmcgcXVlcnkgYW5kCgkgIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSB0aGUgaGVhZGVycyBhcmUgbm90IHJlYWQgeWV0IGFuZCB3ZSBjYW4ndCBzYXkKCSAgYW55dGhpbmcgYWJvdXQgb3VyIHNlZWtpbmcgY2FwYWJpbGl0aWVzLgoKMjAwNy0wMS0yNSAyMTo1NTo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBGaXggc3BlbGxpbmcgaW4gMiBwbGFjZXM6IEl0J3MgY2FsbGVkIFdhdnBhY2ssIG5vdCBXYXZlUGFjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpOgoJICBGaXggc3BlbGxpbmcgaW4gMiBwbGFjZXM6IEl0J3MgY2FsbGVkIFdhdnBhY2ssIG5vdCBXYXZlUGFjay4KCjIwMDctMDEtMjUgMTI6MDU6MTEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvOiBVc2UgcHJvcGVyIHByaW50IHN0YXRlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAoZ3N0X211bHRpX2ZpbGVfc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiAoZ3N0X211bHRpX2ZpbGVfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzogKGdzdF9tdmVfdmlkZW9fY3JlYXRlX2J1ZmZlciksCgkgIChnc3RfbXZlX3ZpZGVvX3BhbGV0dGUpLCAoZ3N0X212ZV92aWRlb19jb2RlX21hcCksCgkgIChnc3RfbXZlX2F1ZGlvX2luaXQpLCAoZ3N0X212ZV9hdWRpb19kYXRhKSwgKGdzdF9tdmVfdGltZXJfY3JlYXRlKSwKCSAgKGdzdF9tdmVfZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6IChnc3RfbXZlX211eF9wdXNoX2NodW5rKToKCSAgKiBnc3QvbXZlL212ZWF1ZGlvZW5jLmM6IChtdmVfY29tcHJlc3NfYXVkaW8pOgoJICAqIGdzdC9tdmUvbXZldmlkZW9kZWMxNi5jOiAoaXB2aWRlb19jb3B5X2Jsb2NrKToKCSAgKiBnc3QvbXZlL212ZXZpZGVvZGVjOC5jOiAoaXB2aWRlb19jb3B5X2Jsb2NrKToKCSAgKiBnc3QvbXZlL212ZXZpZGVvZW5jMTYuYzogKG12ZV9lbmNvZGVfZnJhbWUxNik6CgkgICogZ3N0L212ZS9tdmV2aWRlb2VuYzguYzogKG12ZV9lbmNvZGVfZnJhbWU4KToKCSAgVXNlIHByb3BlciBwcmludCBzdGF0ZW1lbnRzLgoJICBGaXhlcyBidWlsZCBvbiBtYWMgb3MgeC4KCSAgPHdpbmdvPiBvbyBsb29rIGF0IG1lIG15IG5hbWUgaXMgZWR3YXJkIGknbSBoYWNraW5nIG9uIG1hY29zIHdvb28KCjIwMDctMDEtMjQgMTE6Mjk6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5jOiBGaXggY2FwcyBvbiB0aGUgZGVwYXlsb2FkZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6CgkgIEZpeCBjYXBzIG9uIHRoZSBkZXBheWxvYWRlci4KCjIwMDctMDEtMjMgMTQ6NTQ6MDEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0LWxpYnMvZXh0L2FtcndiL01ha2VmaWxlLmFtOgoJICB3b3JrIGlmIGl0J3MgYWxyZWFkeSB0aGVyZSB0b28KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHdvcmsgaWYgaXQncyBhbHJlYWR5IHRoZXJlIHRvbwoKMjAwNy0wMS0xNyAxNzoyOTowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IFVzZSBicmVhayBoZXJlIGluc3RlYWQgb2YgZ290by4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogKGdzdF9teXRodHZfc3JjX3NldF9wcm9wZXJ0eSk6CgkgIFVzZSBicmVhayBoZXJlIGluc3RlYWQgb2YgZ290by4KCjIwMDctMDEtMTMgMTk6MTI6MzIgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jIChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyk6IFVzZSBmaXhlZCBjYXBzIG9uIHNyYyBwYWRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMS0xMyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYyAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpOgoJICBVc2UgZml4ZWQgY2FwcyBvbiBzcmMgcGFkcy4KCSAgKGdzdF9kZWludGVybGVhdmVfcmVtb3ZlX3BhZHMpOiBSZW1vdmUgc3JjIHBhZHMsIG5vdCBzaW5rIHBhZHMuIEkKCSAgc2VlbSB0byBoYXZlIHJldmVyc2UgbWlkYXMgZGlzZWFzZSEKCSAgKGdzdF9kZWludGVybGVhdmVfcHJvY2Vzcyk6IFByb3h5IHRpbWVzdGFtcHMsIG9mZnNldHMsIGR1cmF0aW9ucywKCSAgYW5kIHNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuIEZpeGVzICMzOTU1OTcsIEkgdGhpbmsuCgoyMDA3LTAxLTEzIDE4OjAxOjQxICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmMgKGdzdF9pbnRlcmxlYXZlX2luaXQpOiBJbml0IHRoZSBhY3RpdmF0aW9uIG1vZGUgcHJvcGVybHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAxLTEzICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYyAoZ3N0X2ludGVybGVhdmVfaW5pdCk6IEluaXQgdGhlCgkgIGFjdGl2YXRpb24gbW9kZSBwcm9wZXJseS4KCSAgKGdzdF9pbnRlcmxlYXZlX3NyY19zZXRjYXBzLCBnc3RfaW50ZXJsZWF2ZV9zcmNfZ2V0Y2FwcykKCSAgKGdzdF9pbnRlcmxlYXZlX2luaXQpOiBTZXQgYSBzZXRjYXBzIGFuZCBnZXRjYXBzIGZ1bmN0aW9uIG9uIHRoZQoJICBzcmMgcGFkLCBzbyB0aGF0IHdlIGNhbiBpbXBsZW1lbnQgcHVsbC1tb2RlIG5lZ290aWF0aW9uLgoJICAoZ3N0X2ludGVybGVhdmVfc2lua19zZXRjYXBzKTogUmVuYW1lZCBmcm9tCgkgIGdzdF9pbnRlcmxlYXZlX3NldGNhcHMsIGFzIGl0IG9ubHkgZG9lcyB0aGUgc2luayBsb2dpYyBub3cuCgkgIEltcGxlbWVudCBib3RoIGZvciBwdWxsLW1vZGUgYW5kIHB1c2gtbW9kZS4KCSAgKGdzdF9pbnRlcmxlYXZlX3Byb2Nlc3MpOiBTZXQgY2FwcyBvbiBvdXIgb3V0Z29pbmcgYnVmZmVyLgoJICAoZ3N0X2ludGVybGVhdmVfc3JjX2FjdGl2YXRlX3B1bGwpOiBGaXggc29tZSBtb3JlIGJvZ3VzIGNhc3RzLgoJICBXaGF0IGlzIHVwIHdpdGggdGhpcy4KCjIwMDctMDEtMTMgMTI6Mzc6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiBDbGVhbiB1cCBhIGJpdCwgbW9zdGx5IHRoZSBkZWJ1ZyBzdGF0ZW1lbnRzOyBmaXggZGVhZGxvY2sgaW4gX3NldF9wcm9wZXJ0eSgpIGluIHRoZSBlcnJvciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogKGRvX3JlYWRfcmVxdWVzdF9yZXNwb25zZSksCgkgIChnc3RfbXl0aHR2X3NyY19jcmVhdGUpLCAoZ3N0X215dGh0dl9zcmNfZ2V0X3Bvc2l0aW9uKSwKCSAgKGdzdF9teXRodHZfc3JjX2RvX3NlZWspLCAoZ3N0X215dGh0dl9zcmNfc3RhcnQpLAoJICAoZ3N0X215dGh0dl9zcmNfbmV4dF9wcm9ncmFtX2NoYWluKSwgKGdzdF9teXRodHZfc3JjX2dldF9zaXplKSwKCSAgKGdzdF9teXRodHZfc3JjX2hhbmRsZV9ldmVudCksIChnc3RfbXl0aHR2X3NyY19oYW5kbGVfcXVlcnkpLAoJICAoZ3N0X215dGh0dl9zcmNfY2hhbmdlX3N0YXRlKSwgKGdzdF9teXRodHZfc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfbXl0aHR2X3NyY191cmlfZ2V0X3R5cGUpOgoJICBDbGVhbiB1cCBhIGJpdCwgbW9zdGx5IHRoZSBkZWJ1ZyBzdGF0ZW1lbnRzOyBmaXggZGVhZGxvY2sgaW4KCSAgX3NldF9wcm9wZXJ0eSgpIGluIHRoZSBlcnJvciBjYXNlczsgZml4IHVwIHF1ZXJ5IGZ1bmN0aW9uLgoKMjAwNy0wMS0xMiAyMTo1ODo0MyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9maXhhdGUpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAxLTEyICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2ZpeGF0ZSkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX291aWphX2NhcHMsIGdzdF9zaWduYWxfcHJvY2Vzc29yX3ByZXBhcmUpOgoJICBSZW1vdmUgZml4YXRlL291aWphIHN0dWZmLCB0aGFua2Z1bGx5LCBkdWUgdG8gdGhlIG5ldwoJICBwYXJ0LW5lZ290aWF0aW9uLnR4dCBwdWxsLW1vZGUgbmVnb3RpYXRpb24gc2NoZW1lLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2Fwc19wdWxsKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2Fwcyk6IEltcGxlbWVudCB1cHN0cmVhbSBzZXRfY2FwcyBwdWxsCgkgIHByb3h5aW5nIGZvciBwdWxsIG1vZGUuIE5vdyB0aGlzIHdvcmtzOiBsYWRzcGEtc2luZS1mY2FjICEKCSAgYXVkaW9jb252ZXJ0ICEgYWxzYXNpbmsuCgoyMDA3LTAxLTEyIDE5OjAyOjM3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbXl0aHR2L01ha2VmaWxlLmFtOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgTXl0aFRWIGNsaWVudCBzb3VyY2UgcGx1Z2luIGNyZWF0ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNeXRoVFYgY2xpZW50IHNvdXJjZSBwbHVnaW4gY3JlYXRlZC4KCjIwMDctMDEtMTIgMTc6MTY6NTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC86IEFkZCBYLVFUIGRlcGF5bG9hZGVyIHRoYXQgd2lsbCBldmVudHVhbGx5IHNoYXJlIGNvZGUgd2l0aCB0aGUgZGVtdXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzogKGdzdF9ydHBfeHF0X2RlcGF5X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3hxdF9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9ydHBfeHF0X2RlcGF5X2luaXQpLAoJICAoZ3N0X3J0cF94cXRfZGVwYXlfZmluYWxpemUpLCAoZ3N0X3J0cF9xdWlja3RpbWVfcGFyc2Vfc2QpLAoJICAoZ3N0X3J0cF94cXRfZGVwYXlfc2V0Y2FwcyksIChnc3RfcnRwX3hxdF9kZXBheV9wcm9jZXNzKSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX3hxdF9kZXBheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF94cXRfZGVwYXlfY2hhbmdlX3N0YXRlKSwgKGdzdF9ydHBfeHF0X2RlcGF5X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksIChnc3RfcXRkZW11eF9sb29wKSwKCSAgKHF0ZGVtdXhfcGFyc2VfbW9vdiksIChxdGRlbXV4X3BhcnNlX2NvbnRhaW5lciksCgkgIChxdGRlbXV4X3BhcnNlX25vZGUpLCAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgICogZ3N0L3F0ZGVtdXgvcXVpY2t0aW1lLmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZCBYLVFUIGRlcGF5bG9hZGVyIHRoYXQgd2lsbCBldmVudHVhbGx5IHNoYXJlIGNvZGUgd2l0aCB0aGUgZGVtdXhlci4KCSAgTWFrZSBuZXcgcGx1Z2luIGVudHJ5IHBvaW50IHdpdGggcXVpY2t0aW1lIHJlbGVhdGVkIHN0dWZmLgoKMjAwNy0wMS0xMiAxMjoxMDoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOiBEaXN0IGFsbCBuZXcgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICBEaXN0IGFsbCBuZXcgZmlsZXMuCgoyMDA3LTAxLTEyIDEwOjI3OjI1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogQWN0aXZhdGUgZG9jcyBmb3IgamFjaywgc2RsIGFuZCBxdGRlbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJICBBY3RpdmF0ZSBkb2NzIGZvciBqYWNrLCBzZGwgYW5kIHF0ZGVtdXguCgoyMDA3LTAxLTEyIDEwOjI1OjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay4qOiBJbXByb3ZlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogKGphY2tfc2FtcGxlX3JhdGVfY2IpLAoJICAoamFja19idWZmZXJfc2l6ZV9jYiksIChqYWNrX3NodXRkb3duX2NiKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2FjcXVpcmUpOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSAgSW1wcm92ZSBkb2NzLgoKMjAwNy0wMS0xMiAxMDoyNDoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9nc20vZ3N0Z3NtZW5jLmM6IEZpeCB0eXBvIGluIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6IChnc3RfZ3NtZW5jX2luaXQpOgoJICBGaXggdHlwbyBpbiBkb2NzLgoKMjAwNy0wMS0xMiAxMDoyMjoxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4LzogQ2xlYW51cCBhbmQgcmVmYWN0b3IgdG8gbWFrZSB0aGUgY29kZSBtb3JlIHJlYWRhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChleHRyYWN0X2luaXRpYWxfbGVuZ3RoX2FuZF9mb3VyY2MpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpLCAoZ3N0X3F0ZGVtdXhfY29tYmluZV9mbG93cyksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwgKGdzdF9xdGRlbXV4X2xvb3ApLAoJICAoZ3N0X3F0ZGVtdXhfY2hhaW4pLCAocXRkZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpLAoJICAocXRkZW11eF9pbmZsYXRlKSwgKHF0ZGVtdXhfcGFyc2VfbW9vdiksIChxdGRlbXV4X3BhcnNlX2NvbnRhaW5lciksCgkgIChxdGRlbXV4X3BhcnNlX25vZGUpLCAocXRkZW11eF90cmVlX2dldF9jaGlsZF9ieV90eXBlKSwKCSAgKHF0ZGVtdXhfdHJlZV9nZXRfc2libGluZ19ieV90eXBlKSwgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLAoJICAocXRkZW11eF9wYXJzZV9zYW1wbGVzKSwgKHF0ZGVtdXhfcGFyc2Vfc2VnbWVudHMpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfdGFnX2FkZF9zdHIpLCAocXRkZW11eF90YWdfYWRkX251bSksCgkgIChxdGRlbXV4X3RhZ19hZGRfZGF0ZSksIChxdGRlbXV4X3RhZ19hZGRfZ25yZSksCgkgIChxdGRlbXV4X3BhcnNlX3VkdGEpLCAocXRkZW11eF9yZWRpcmVjdHNfc29ydF9mdW5jKSwKCSAgKHF0ZGVtdXhfcHJvY2Vzc19yZWRpcmVjdHMpLCAocXRkZW11eF9wYXJzZV9yZWRpcmVjdHMpLAoJICAocXRkZW11eF9wYXJzZV90cmVlKSwgKGdzdF9xdGRlbXV4X2hhbmRsZV9lc2RzKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2FwcyksIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzogKHF0ZGVtdXhfZHVtcF9tdmhkKSwKCSAgKHF0ZGVtdXhfZHVtcF90a2hkKSwgKHF0ZGVtdXhfZHVtcF9lbHN0KSwgKHF0ZGVtdXhfZHVtcF9tZGhkKSwKCSAgKHF0ZGVtdXhfZHVtcF9oZGxyKSwgKHF0ZGVtdXhfZHVtcF92bWhkKSwgKHF0ZGVtdXhfZHVtcF9kcmVmKSwKCSAgKHF0ZGVtdXhfZHVtcF9zdHNkKSwgKHF0ZGVtdXhfZHVtcF9zdHRzKSwgKHF0ZGVtdXhfZHVtcF9zdHNzKSwKCSAgKHF0ZGVtdXhfZHVtcF9zdHNjKSwgKHF0ZGVtdXhfZHVtcF9zdHN6KSwgKHF0ZGVtdXhfZHVtcF9zdGNvKSwKCSAgKHF0ZGVtdXhfZHVtcF9jbzY0KSwgKHF0ZGVtdXhfZHVtcF9kY29tKSwgKHF0ZGVtdXhfZHVtcF9jbXZkKSwKCSAgKHF0ZGVtdXhfZHVtcF91bmtub3duKSwgKHF0ZGVtdXhfbm9kZV9kdW1wX2ZvcmVhY2gpLAoJICAocXRkZW11eF9ub2RlX2R1bXApOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOiAocXRkZW11eF90eXBlX2dldCk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5oOgoJICAqIGdzdC9xdGRlbXV4L3F0cGFsZXR0ZS5oOgoJICBDbGVhbnVwIGFuZCByZWZhY3RvciB0byBtYWtlIHRoZSBjb2RlIG1vcmUgcmVhZGFibGUuCgkgIE1vdmUgZGVidWdnaW5nL3RhYmxlcyBpbnRvIHNlcGFyYXRlIGZpbGVzLgoJICBBZGQgMi80LzE2IGNvbG9yIHBhbGxldGVlIHN1cHBvcnQuCgkgIEZpeCByYXcgMTUgYml0IFJHQiBoYW5kbGluZy4KCSAgVXNlIG1vcmUgRk9VUkNDIGNvbnN0YW50cy4KCSAgQWRkIHNvbWUgZG9jcy4KCjIwMDctMDEtMTEgMTk6NTE6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogTWlub3IgY2xlYW4tdXA6IHVzZSBlbnVtIHZhbHVlcyBpbnN0ZWFkIG9mIGhhcmRjb2RlZCBjb25zdGFudHMgKCMzOTU1MzYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NvcnJlY3Rpb25fbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfam9pbnRfc3RlcmVvX21vZGVfZ2V0X3R5cGUpOgoJICBNaW5vciBjbGVhbi11cDogdXNlIGVudW0gdmFsdWVzIGluc3RlYWQgb2YgaGFyZGNvZGVkIGNvbnN0YW50cyAoIzM5NTUzNikuCgoyMDA3LTAxLTExIDEyOjI4OjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L212ZS9nc3RtdmVkZW11eC5jOiBTdXBwb3J0IFNFRUtJTkcgcXVlcnkgKGJhZCBuZXdzIG5vdyBkZWxpdmVyZWQgcHJvcGVybHkhKTsgYWRkIGV2ZW50IGZ1bmN0aW9uIHRvIHNvdXJjZSBwYWRzIHRvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzogKGdzdF9tdmVfZGVtdXhfZ2V0X3NyY19xdWVyeV90eXBlcyksCgkgIChnc3RfbXZlX2RlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAoZ3N0X212ZV9kZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9tdmVfYWRkX3N0cmVhbSk6CgkgIFN1cHBvcnQgU0VFS0lORyBxdWVyeSAoYmFkIG5ld3Mgbm93IGRlbGl2ZXJlZCBwcm9wZXJseSEpOyBhZGQgZXZlbnQKCSAgZnVuY3Rpb24gdG8gc291cmNlIHBhZHMgdG8gbWFrZSBzdXJlIHNlZWtzIGFyZW4ndCBwcm9wYWdhdGVkCgkgIHVwc3RyZWFtLCBldmVuIGlmIHRoZXkgYXJlbid0IGhhbmRsZWQuCgoyMDA3LTAxLTExIDExOjM5OjU2ICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICBBZGQgSW50ZXJwbGF5IE1WRSBmb3JtYXQgZGVtdXhlci9kZWNvZGVyIGFuZCBtdXhlci9lbmNvZGVyLiBEZW11eGVyIGRvZXNuJ3Qgc3VwcG9ydCBzZWVraW5nIHlldCwgYnV0IHNlZW1zIHRvIHdvcmsgZmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlciAgPGplbnNnciBhdCBnbXggbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdmUvVE9ETzoKCSAgKiBnc3QvbXZlL2dzdG12ZS5jOgoJICAqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzoKCSAgKiBnc3QvbXZlL2dzdG12ZWRlbXV4Lmg6CgkgICogZ3N0L212ZS9nc3RtdmVtdXguYzoKCSAgKiBnc3QvbXZlL2dzdG12ZW11eC5oOgoJICAqIGdzdC9tdmUvbXZlLmg6CgkgICogZ3N0L212ZS9tdmVhdWRpb2RlYy5jOgoJICAqIGdzdC9tdmUvbXZlYXVkaW9lbmMuYzoKCSAgKiBnc3QvbXZlL212ZXZpZGVvZGVjMTYuYzoKCSAgKiBnc3QvbXZlL212ZXZpZGVvZGVjOC5jOgoJICAqIGdzdC9tdmUvbXZldmlkZW9lbmMxNi5jOgoJICAqIGdzdC9tdmUvbXZldmlkZW9lbmM4LmM6CgkgIEFkZCBJbnRlcnBsYXkgTVZFIGZvcm1hdCBkZW11eGVyL2RlY29kZXIgYW5kIG11eGVyL2VuY29kZXIuIERlbXV4ZXIKCSAgZG9lc24ndCBzdXBwb3J0IHNlZWtpbmcgeWV0LCBidXQgc2VlbXMgdG8gd29yayBmaW5lIG90aGVyd2lzZS4KCSAgQ2xvc2VzICMzNDg5NzMuCgoyMDA3LTAxLTA5IDEwOjA2OjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3JlYWwvTWFrZWZpbGUuYW06IEZpeCBidWlsZCAoYWRkIExJQlMgYW5kIENGTEFHUyBmb3IgZ3N0LXBsdWdpbnMtYmFzZSBzdHVmZikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJICBGaXggYnVpbGQgKGFkZCBMSUJTIGFuZCBDRkxBR1MgZm9yIGdzdC1wbHVnaW5zLWJhc2Ugc3R1ZmYpLgoKMjAwNy0wMS0wNyAyMjowMzo1NCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgTmV3IGVsZW1lbnRzIGludGVybGVhdmUgYW5kIGRlaW50ZXJsZWF2ZSwgaW1wbGVtZW50IGNoYW5uZWwgaW50ZXJsZWF2aW5nIGFuZCBkZWludGVybGVhdmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDEtMDcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5oOgoJICAqIGdzdC9pbnRlcmxlYXZlL3BsdWdpbi5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogTmV3IGVsZW1lbnRzIGludGVybGVhdmUgYW5kCgkgIGRlaW50ZXJsZWF2ZSwgaW1wbGVtZW50IGNoYW5uZWwgaW50ZXJsZWF2aW5nIGFuZCBkZWludGVybGVhdmluZy4KCSAgVGhlIGludGVybGVhdmVyIGNhbiBvcGVyYXRlIGluIHB1bGwgb3IgcHVzaCBtb2RlIGJ1dCB0aGUKCSAgZGVpbnRlcmxlYXZlciBpcyBtb3JlIGxpa2UgYSBkZW11eGVyIGFuZCBjYW4gb25seSBvcGVyYXRlIGluIHB1c2gKCSAgbW9kZS4KCjIwMDctMDEtMDYgMTk6MjM6NDAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBjb25maWd1cmUuYWM6IFByb3Blcmx5IGRldGVjdCB0aGUgdHdvIGFyY2hpdGVjdHVyZXMgb24gd2hpY2ggdGhlIHJlYWwgcGx1Z2luIGNhbiBiZSBidWlsdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBQcm9wZXJseSBkZXRlY3QgdGhlIHR3byBhcmNoaXRlY3R1cmVzIG9uIHdoaWNoIHRoZSByZWFsIHBsdWdpbiBjYW4gYmUKCSAgYnVpbHQuCgkgIEZpeGVzICMzOTM2MjIKCjIwMDctMDEtMDYgMTc6MjI6MTIgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMS0wNiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9vdWlqYV9jYXBzKTogTW92ZSBhcm91bmQgaW4gdGhlIHNvdXJjZQoJICBmaWxlLi4uCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcmVwYXJlLCBnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9kb19wdWxscyk6CgkgIENhbGwgb3VpamFfY2FwcyBpbiBwcmVwYXJlKCkgaW5zdGVhZCBvZiBkb19wdWxscygpLCBhIGJpdCBlYXJsaWVyLgoJICBUaGlzIGFsbG93cyB1cyB0byBoYXZlIGNhcHMgd2hlbiB3ZSBkbyB0aGUgcGFkX2FsbG9jX2J1ZmZlcigpLgoJICAoZ3N0X3BhZF9hbGxvY19idWZmZXJfYW5kX3NldF9jYXBzKTogVXNlIHNlbGYtPmNhcHMgaW5zdGVhZCBvZiB0aGUKCSAgcGFkIGNhcHMsIHdoaWNoIG1pZ2h0IG5vdCBiZSBzZXQgeWV0LgoKMjAwNy0wMS0wNiAxNTo1Njo1NSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX2FkZF9wYWRfZnJvbV90ZW1wbGF0ZSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDEtMDYgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2FkZF9wYWRfZnJvbV90ZW1wbGF0ZSkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2ZpeGF0ZSk6IEFkZCBhIGZpeGF0ZSBmdW5jdGlvbiwgdG8gYXNzaXN0IGluCgkgIHBhdGhvbG9naWNhbCBsYWRzcGEtc2luZS1mY2FjICEgZmFrZXNpbmsgY2FuLWFjdGl2YXRlLXB1bGw9dHJ1ZQoJICBjYXNlcy4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3ByZXBhcmUsIGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOiBBZGQKCSAgbmZyYW1lcyBhcmdzIHNvIHRoYXQgZ2V0cmFuZ2UgY2FuIHRlbGwgbGFkc3BhIGhvdyBtYW55IGZyYW1lcyB0bwoJICBwcm9jZXNzLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfb3VpamFfY2Fwcyk6IHNldGNhcHMgbmVlZHMgdG8gYmUgY2FsbGVkCgkgIGJlZm9yZSBwcm9jZXNzaW5nLCB3aGljaCBub3JtYWxseSBoYXBwZW5zIHdoZW4gY2hhaW5pbmcgYSBidWZmZXIKCSAgdG8gYSBwYWQuIEhvd2V2ZXIgaW4gZ2V0cmFuZ2UgbW9kZSB3aXRoIG5vIHNpbmtzIHdlIG5lZWQgdG8gY2hlY2sKCSAgZXhwbGljaXRseSBmb3IgdGhpcyBjb25kaXRpb24sIGd1ZXNzIHNvbWUgY2FwcyB0byB1c2UsIGFuZCB1c2UKCSAgdGhvc2UgdG8gc2V0Y2FwcygpLiBIZW5jZSB0aGlzIG15c3RpY2FsIGZ1bmN0aW9uLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZG9fcHVsbHMpOiBQdWxsIGluIGJ5dGVzLCBub3Qgc2FtcGxlcy4KCSAgRGl2aW5lIHRoZSBjYXBzIGlmIG5lY2Vzc2FyeS4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2dldHJhbmdlKTogSW50ZXJwcmV0IHRoZSBsZW5ndGggYXMgYnl0ZXMsCgkgIG5vdCBzYW1wbGVzLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhaW4pOiBuZnJhbWVzPUdfTUFYVUlOVCwgd2lsbCBiZSBsaW1pdGVkCgkgIGJ5IGluY29taW5nIGJ1ZmZlciBzaXplcy4KCjIwMDctMDEtMDYgMTQ6MDg6MjYgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogRG9uJ3QgY2FsbCB0aGUgUkFGcmVlRGVjb2RlciBzaW5jZSBpdCByYW5kb21seSBjYXVzZXMgc2VnZmF1bHRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19maW5hbGl6ZSk6CgkgIERvbid0IGNhbGwgdGhlIFJBRnJlZURlY29kZXIgc2luY2UgaXQgcmFuZG9tbHkgY2F1c2VzIHNlZ2ZhdWx0cy4KCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuaDoKCSAgaW5kZW50IHByb3Blcmx5LgoKMjAwNy0wMS0wNiAxMDo1ODoxMyArMDAwMCAgTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLio6IEltcGxlbWVudCBlcnJvciByZWNvdmVyeSBvbiBzZXRjYXBzIGZhaWx1cmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAoZ3N0X3JlYWxfdmlkZW9fZGVjX2RlY29kZSksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfc2V0Y2FwcyksIChvcGVuX2xpYnJhcnkpLCAoY2xvc2VfbGlicmFyeSksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfZmluYWxpemUpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5oOgoJICBJbXBsZW1lbnQgZXJyb3IgcmVjb3Zlcnkgb24gc2V0Y2FwcyBmYWlsdXJlLgoKMjAwNy0wMS0wNiAxMDo0MTo0NiArMDAwMCAgTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoKCSAgZ3N0L3JlYWwvOiBBZGRlZCBSZWFsQXVkaW8gd3JhcHBlciBlbGVtZW50ZmFjdG9yeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgkgICogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlYWwvZ3N0cmVhbC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiAoZ3N0X3JlYWxfYXVkaW9fZGVjX2NoYWluKSwKCSAgKGdzdF9yZWFsX2F1ZGlvX2RlY19zZXRjYXBzKSwgKGdzdF9yZWFsX2F1ZGlvX2RlY19pbml0KSwKCSAgKGdzdF9yZWFsX2F1ZGlvX2RlY19iYXNlX2luaXQpLCAoZ3N0X3JlYWxfYXVkaW9fZGVjX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcmVhbF9hdWRpb19kZWNfZmluYWxpemUpLCAoZ3N0X3JlYWxfYXVkaW9fZGVjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcmVhbF9hdWRpb19kZWNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9yZWFsX2F1ZGlvX2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuaDoKCSAgQWRkZWQgUmVhbEF1ZGlvIHdyYXBwZXIgZWxlbWVudGZhY3RvcnkuCgkgIE1vZGlmaWVkIHN0cnVjdHVyZXMgc28gaXQgY2FuIGFsc28gd29yayBvbiB4ODZfNjQgdXNpbmcgdGhlCgkgIGFkZXF1YXRlIC5zbyAuCgoyMDA3LTAxLTA1IDE4OjMyOjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQ2hlY2sgZm9yIHpsaWIgYW5kIGlmIGF2YWlsYWJsZSBwYXNzIGl0IGV4cGxpY2l0bHkgdG8gdGhlIGxpbmtlciB3aGVuIGxpbmtpbmcgcXRkZW11eC4gSWYgbm90IGF2YWlsYWJsZSAob3IgLS1kaXNhYmxlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX21vb3YpOgoJICBDaGVjayBmb3IgemxpYiBhbmQgaWYgYXZhaWxhYmxlIHBhc3MgaXQgZXhwbGljaXRseSB0byB0aGUgbGlua2VyCgkgIHdoZW4gbGlua2luZyBxdGRlbXV4LiBJZiBub3QgYXZhaWxhYmxlIChvciAtLWRpc2FibGUtZXh0ZXJuYWwgaGFzCgkgIGJlZW4gc3BlY2lmaWVkISksIGRpc2FibGUgdGhlIGJpdHMgaW4gcXRkZW11eCB0aGF0IHVzZSBpdC4gRml4ZXMKCSAgYnVpbGQgb24gTWluZ1cgKCMzOTI4NTYpLgoKMjAwNy0wMS0wNSAxODoxNTo1MiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogUmVhbCB2aWRlbyAuc28gYXJlIG5vdyBhbHNvIGF2YWlsYWJsZSBmb3IgeDg2XzY0LCBzbyB3ZSBjYW4gYnVpbGQgdGhlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVhbCB2aWRlbyAuc28gYXJlIG5vdyBhbHNvIGF2YWlsYWJsZSBmb3IgeDg2XzY0LCBzbyB3ZSBjYW4gYnVpbGQgdGhlCgkgIFJlYWwgcGx1Z2luIG9uIGkzODYgQU5EIHg4Nl82NC4KCSAgKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsLmM6IChwbHVnaW5faW5pdCk6CgkgIE5ldyBwbHVnaW4gZmlsZSBmb3IgcmVhbCAuc28gd3JhcHBlciBwbHVnaW5zLgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAoZ3N0X3JlYWxfdmlkZW9fZGVjX2FsbG9jX2J1ZmZlciksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfZGVjb2RlKSwgKGdzdF9yZWFsX3ZpZGVvX2RlY19jaGFpbiksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfYWN0aXZhdGVfcHVzaCksIChnc3RfcmVhbF92aWRlb19kZWNfc2V0Y2FwcyksCgkgIChvcGVuX2xpYnJhcnkpLCAoY2xvc2VfbGlicmFyeSksIChnc3RfcmVhbF92aWRlb19kZWNfaW5pdCksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfYmFzZV9pbml0KSwgKGdzdF9yZWFsX3ZpZGVvX2RlY19maW5hbGl6ZSksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19nZXRfcHJvcGVydHkpLCAoZ3N0X3JlYWxfdmlkZW9fZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5oOgoJICBNb3ZlZCBSZWFsVmlkZW8gZWxlbWVudCB0byBzZXBhcmF0ZSBmaWxlCgkgIENsZWFuZWQgdXAgY29kZSBzb21lIG1vcmUuCgkgIE1ha2UgaXQgd29yayBvbiB4ODZfNjQuCgkgIFRyeSBzZXZlcmFsIHBvc3NpYmxlIGxvY2F0aW9ucyBmb3IgLnNvCgkgIFNlcGFyYXRlIG9wZW5pbmcvY2xvc2luZyBsaWJyYXJpZXMgaW4gc2VwYXJhdGUgZnVuY3Rpb25zLgoKMjAwNy0wMS0wNSAxNjowNzoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IENhbGwgZ190aHJlYWRfaW5pdCgpIHJpZ2h0IGF0IHRoZSBiZWdpbm5pbmcuIFJlbW92ZSBzdXBlcmZsdW91cyBnc3RfaW5pdCgpIC0gd2UndmUgYWxyZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiAobWFpbik6CgkgIENhbGwgZ190aHJlYWRfaW5pdCgpIHJpZ2h0IGF0IHRoZSBiZWdpbm5pbmcuIFJlbW92ZSBzdXBlcmZsdW91cwoJICBnc3RfaW5pdCgpIC0gd2UndmUgYWxyZWFkeSBiZWVuIGluaXRlZCB2aWEgdGhlIEdPcHRpb24gc3R1ZmYuCgoyMDA3LTAxLTA1IDE0OjAyOjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBEb24ndCBjb21waWxlIHJmYnNvdXJjZSBpZiB3ZSBkb24ndCBoYXZlIHN5cy9zb2NrZXQuaC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEb24ndCBjb21waWxlIHJmYnNvdXJjZSBpZiB3ZSBkb24ndCBoYXZlIHN5cy9zb2NrZXQuaC4KCSAgU2hvdWxkIGZpeCBjb21waWxhdGlvbiBvbiBNaW5nVy4KCjIwMDctMDEtMDQgMTY6Mzk6MzggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0LWxpYnMvZXh0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9leHQvYW1yd2IvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2V4dC9hbXJ3Yi9SRUFETUU6CgkgIGFkZCBkaXJlY3RvcmllcyBpbiB0aGUgcmlnaHQgcGxhY2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBkaXJlY3RvcmllcyBpbiB0aGUgcmlnaHQgcGxhY2UKCjIwMDctMDEtMDQgMTY6MzI6NDMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSogZXh0L2FtcndiL2FtcndiLWNvZGUvTWFrZWZpbGUuYW06CgkqIGV4dC9hbXJ3Yi9hbXJ3Yi1jb2RlL2FtcndiL01ha2VmaWxlLmFtOgoJKiBleHQvYW1yd2IvYW1yd2ItY29kZS9hbXJ3Yi9SRUFETUU6CgkqIGV4dC9hbXJ3Yi9hbXJ3Yi1jb2RlL3J1bi5zaDoKCSogZ3N0LWxpYnMvTWFrZWZpbGUuYW06CgkgIG1vdmUgYW1yd2IgY29kZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW92ZSBhbXJ3YiBjb2RlCgoyMDA3LTAxLTA0IDE2OjMyOjQzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9hbXJ3Yi9hbXJ3Yi1jb2RlL01ha2VmaWxlLmFtOgoJICBtb3ZlIGFtcndiIGNvZGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1vdmUgYW1yd2IgY29kZQoKPT09IHJlbGVhc2UgMC4xMC4xMiA9PT0KCjIwMDctMDEtMDQgMTI6NDk6NDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgY29uZmlndXJlLmFjOiBzcGxpdCBvdXQgR1NUX0NGTEFHUyBpbnRvIEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTIGFuZCBHU1RfQ0ZMQUdTIHNvIHRoYXQgR1NUX0JBU0VfQ0ZMQUdTIGNhbiBnbyBpbmJldHdlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgc3BsaXQgb3V0IEdTVF9DRkxBR1MgaW50byBHU1RfUExVR0lOU19CQVNFX0NGTEFHUyBhbmQgR1NUX0NGTEFHUwoJICBzbyB0aGF0IEdTVF9CQVNFX0NGTEFHUyBjYW4gZ28gaW5iZXR3ZWVuIHRoZW0sIG1ha2luZyBzdXJlCgkgIHdlIHVzZSB1bmluc3RhbGxlZCBnc3QtbGlicyBoZWFkZXJzCgkgICogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbHNhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZHBhcmFub2lhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nbm9tZXZmcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlidmlzdWFsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9vZ2cvTWFrZWZpbGUuYW06CgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdm9yYmlzL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvY2RkYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvcmlmZi9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvcnRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC90YWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FkZGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvcmF0ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGxheWJhY2svTWFrZWZpbGUuYW06CgkgICogZ3N0L3RjcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9zY2FsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvdm9sdW1lL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2UvTWFrZWZpbGUuYW06CgkgICogc3lzL3h2aW1hZ2UvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIGFkYXB0CgoyMDA3LTAxLTA0IDA5OjUxOjU2ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC86IEZpeCB2YXJpb3VzIGNvbXBpbGVyIHdhcm5pbmdzIHRoYXQgcmV2ZWFsIHBvdGVudGlhbCBidWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMS0wNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfbmF2aWdhdGlvbl9zZW5kX2V2ZW50KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X3R5cGUpOgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6IChnc3Rfc2RsYXVkaW9fc2lua19vcGVuKToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19zZXRjYXBzKSwKCSAgKGdzdF9zZGx2aWRlb3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX25hdmlnYXRpb25fc2VuZF9ldmVudCk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDogRml4IHZhcmlvdXMgY29tcGlsZXIgd2FybmluZ3MgdGhhdAoJICByZXZlYWwgcG90ZW50aWFsIGJ1Z3MuCgoyMDA3LTAxLTA0IDA5OjQ0OjU3ICswMDAwICBWaW5jZW50IFRvcnJpIDx2dG9ycmlAdW5pdi1ldnJ5LmZyPgoKCSAgQWRkIGRpcmVjdHNvdW5kc2luayB0byBidWlsZCBhbmQgZGlzdCBpdCwgc28gaXQgZ2V0cyBidWlsdCB3aGVuIGNvbXBpbGluZyB3aXRoIE1pbmdXIG9uIHdpbjMyIGFuZCB0aGUgcmVxdWlyZWQgaGVhZGVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmluY2VudCBUb3JyaSAgPHZ0b3JyaSBhdCB1bml2LWV2cnkgZnI+CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAoZ3N0X2RpcmVjdHNvdW5kc2lua19yZXNldCk6CgkgIEFkZCBkaXJlY3Rzb3VuZHNpbmsgdG8gYnVpbGQgYW5kIGRpc3QgaXQsIHNvIGl0IGdldHMgYnVpbHQgd2hlbgoJICBjb21waWxpbmcgd2l0aCBNaW5nVyBvbiB3aW4zMiBhbmQgdGhlIHJlcXVpcmVkIGhlYWRlcnMgYW5kIGxpYnJhcmllcwoJICBhcmUgYXZhaWxhYmxlIChmaXhlczogIzM5MjYzOCkuIEFsc28gc2ltcGxpZnkgRGlyZWN0RHJhdyBjaGVjayBhIGJpdC4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBGaXggQ1ZTIGlnbm9yZSBmb3IgbmVvbmh0dHBzcmMgdGVzdCBiaW5hcnkuCgoyMDA3LTAxLTAzIDE5OjU0OjMzICswMDAwICBWaW5jZW50IFRvcnJpIDx2dG9ycmlAdW5pdi1ldnJ5LmZyPgoKCSAgQWRkIGRpcmVjdGRyYXdzaW5rIHRvIGJ1aWxkIGFuZCBkaXN0IGl0LCBzbyBpdCBnZXRzIGJ1aWx0IHdoZW4gY29tcGlsaW5nIHdpdGggTWluZ1cgb24gd2luMzIgYW5kIHRoZSByZXF1aXJlZCBoZWFkZXJzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogVmluY2VudCBUb3JyaSAgPHZ0b3JyaSBhdCB1bml2LWV2cnkgZnI+CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSAgQWRkIGRpcmVjdGRyYXdzaW5rIHRvIGJ1aWxkIGFuZCBkaXN0IGl0LCBzbyBpdCBnZXRzIGJ1aWx0IHdoZW4KCSAgY29tcGlsaW5nIHdpdGggTWluZ1cgb24gd2luMzIgYW5kIHRoZSByZXF1aXJlZCBoZWFkZXJzIGFuZCBsaWJyYXJpZXMKCSAgYXJlIGF2YWlsYWJsZSAoZml4ZXM6ICMzOTIzMTMpLgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd3NpbmtfY2VudGVyX3JlY3QpLCAoZ3N0X2RpcmVjdGRyYXdzaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX3NldHVwX2RkcmF3KSwKCSAgKGdzdF9kaXJlY3RkcmF3c2lua19zdXJmYWNlX2NyZWF0ZSk6CgkgIENvbW1lbnQgb3V0IHNvbWUgdW51c2VkIHRoaW5ncyBhbmQgZml4IHNvbWUgcHJpbnRmIGZvcm1hdCBpc3N1ZXMgaW4KCSAgb3JkZXIgdG8gYXZvaWQgd2FybmluZ3Mgd2hlbiBidWlsZGxpbmcgd2l0aCBNaW5nVyAoIzM5MjMxMykuCgoyMDA3LTAxLTAzIDE2OjQxOjEwICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICBGaXggYnVpbGQgd2l0aCBnY2MtMi54IChkZWNsYXJlIHZhcmlhYmxlcyBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgYmxvY2sgZXRjLikuIEZpeGVzICMzOTE5NzEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmVucyBHcmFuc2V1ZXIgIDxqZW5zZ3IgYXQgZ214IG5ldD4KCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6IChnc3RfeHZpZGVuY19lbmNvZGUpLAoJICAoZ3N0X3h2aWRlbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGJwd3NpbmNfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvZmlsdGVyL2dzdGZpbHRlci5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6IChpaXJfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGxwd3NpbmNfdHJhbnNmb3JtX2lwKToKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICAqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOiAoZ3N0X251dl9kZW11eF9oZWFkZXJfbG9hZCksCgkgIChnc3RfbnV2X2RlbXV4X3N0cmVhbV9leHRlbmRfaGVhZGVyKToKCSAgRml4IGJ1aWxkIHdpdGggZ2NjLTIueCAoZGVjbGFyZSB2YXJpYWJsZXMgYXQgdGhlIGJlZ2lubmluZyBvZiBhCgkgIGJsb2NrIGV0Yy4pLiBGaXhlcyAjMzkxOTcxLgoKMjAwNy0wMS0wMiAxMTowNjo0OCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9yZWFsL2dzdHJlYWwuYzogVXNlIGNvZGVjX2RhdGEgc3VwcGxpZWQgaW4gY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmlld2VkIGJ5OiBFZHdhcmQgSGVydmV5ICA8ZWR3YXJkQGZsdWVuZG8uY29tPgoJICAqIGdzdC9yZWFsL2dzdHJlYWwuYzoKCSAgKGdzdF9yZWFsZGVjX3NldGNhcHMpOiBVc2UgY29kZWNfZGF0YSBzdXBwbGllZCBpbiBjYXBzLgoJICAoZ3N0X3JlYWxkZWNfZ2V0X3Byb3BlcnR5KTogQ29ycmVjdGx5IHJldHVybiBkZWZhdWx0IHBhdGguCgkgIChnc3RfcmVhbGRlY19jbGFzc19pbml0KTogUmVtb3ZlIHVudXNlZCBzdGF0ZV9jaGFuZ2UgbWV0aG9kLgoKMjAwNy0wMS0wMSAxODowNjowMSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogT25seSBidWlsZCB0aGUgcGx1Z2luIG9uIDMyYml0IHg4NiBhcmNoaXRlY3R1cmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIE9ubHkgYnVpbGQgdGhlIHBsdWdpbiBvbiAzMmJpdCB4ODYgYXJjaGl0ZWN0dXJlcy4KCjIwMDctMDEtMDEgMTc6NDc6NTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBOZXcgcGx1Z2luIGZvciBkZWNvZGluZyBSZWFsVmlkZW8gU3RyZWFtcyB1c2luZyB0aGUgeDg2IDMyYml0IHNoYXJlZCBsaWJyYXJpZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZpZXdlZCBieTogRWR3YXJkIEhlcnZleSAgPGVkd2FyZEBmbHVlbmRvLmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlYWwvZ3N0cmVhbC5jOiAoZ3N0X3JlYWxkZWNfYWxsb2NfYnVmZmVyKSwKCSAgKGdzdF9yZWFsZGVjX2RlY29kZSksIChnc3RfcmVhbGRlY19jaGFpbiksCgkgIChnc3RfcmVhbGRlY19hY3RpdmF0ZV9wdXNoKSwgKGdzdF9yZWFsZGVjX3NldGNhcHMpLAoJICAoZ3N0X3JlYWxkZWNfaW5pdCksIChnc3RfcmVhbGRlY19iYXNlX2luaXQpLAoJICAoZ3N0X3JlYWxkZWNfY2hhbmdlX3N0YXRlKSwgKGdzdF9yZWFsZGVjX2ZpbmFsaXplKSwKCSAgKGdzdF9yZWFsZGVjX3NldF9wcm9wZXJ0eSksIChnc3RfcmVhbGRlY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3JlYWxkZWNfY2xhc3NfaW5pdCksIChwbHVnaW5faW5pdCk6CgkgIE5ldyBwbHVnaW4gZm9yIGRlY29kaW5nIFJlYWxWaWRlbyBTdHJlYW1zIHVzaW5nIHRoZSB4ODYgMzJiaXQKCSAgc2hhcmVkIGxpYnJhcmllcy4KCSAgQ2xvc2VzICMzNTQxNzQKCjIwMDYtMTItMzAgMTI6NDQ6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogV2hlbiB3ZSBjYW4ndCBjcmVhdGUgYW4gZWxlbWVudCBuZWVkZWQgZm9yIHRoZSB0ZXN0LCBwcmludCBhIG1lc3NhZ2UgZGV0YWlsaW5nIHdoaWMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZ19pbml0X2NvbnRleHQpOgoJICBXaGVuIHdlIGNhbid0IGNyZWF0ZSBhbiBlbGVtZW50IG5lZWRlZCBmb3IgdGhlIHRlc3QsIHByaW50IGEgbWVzc2FnZQoJICBkZXRhaWxpbmcgd2hpY2ggZWxlbWVudCBpdCBhY3R1YWxseSBpcyB0aGF0J3MgbWlzc2luZyAoIzM5MDY3MykuCgoyMDA2LTEyLTIyIDE2OjIzOjMyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIEFkZGVkIHNlZWsgc3VwcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZGVkIHNlZWsgc3VwcG9ydC4KCjIwMDYtMTItMjIgMTA6MTU6MjQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogcmVhcHBseSBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOiAoc2V0dXBfbXBlZzJlbmMpLAoJICAoY2xlYW51cF9tcGVnMmVuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoY2xlYW51cF9yZ2FuYWx5c2lzKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6IChzZXR1cF93YXZwYWNrZGVjKSwKCSAgKGNsZWFudXBfd2F2cGFja2RlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiAoc2V0dXBfd2F2cGFja2VuYyksCgkgIChjbGVhbnVwX3dhdnBhY2tlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOiAoc2V0dXBfeTRtZW5jKSwgKGNsZWFudXBfeTRtZW5jKToKCSAgcmVhcHBseSBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoKMjAwNi0xMi0yMSAxNzowNTo0NCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gQ1ZTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBDVlMKCSAgKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSAgQWRkIHJlbGVhc2Ugc2VjdGlvbiBmb3IgMC4xMC40Cgo9PT0gcmVsZWFzZSAwLjEwLjQgPT09CgoyMDA2LTEyLTIxIDE1OjQ1OjAyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogcmVsZWFzaW5nIDAuMTAuNCwgIkJsYWNrIEJ1Z3MiCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICA9PT0gcmVsZWFzZSAwLjEwLjQgPT09CgkgIDIwMDYtMTItMjEgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgcmVsZWFzaW5nIDAuMTAuNCwgIkJsYWNrIEJ1Z3MiCgoyMDA2LTEyLTIxIDE1OjQwOjMxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwNi0xMi0yMSAxNDowNzowMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIFJlbW92ZSBkdXBsaWNhdGUgY2hhbmdlbG9nIGVudHJ5IGFib3V0IHJldmVydGluZyBhIHByZXZpb3VzIGNvbW1pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlIGR1cGxpY2F0ZSBjaGFuZ2Vsb2cgZW50cnkgYWJvdXQgcmV2ZXJ0aW5nIGEgcHJldmlvdXMgY29tbWl0CgoyMDA2LTEyLTIxIDE0OjAzOjQyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOiAoc2V0dXBfbXBlZzJlbmMpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6IChzZXR1cF9tcGVnMmVuYykKCSAgKGNsZWFudXBfbXBlZzJlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKGNsZWFudXBfcmdhbmFseXNpcyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoc2V0dXBfd2F2cGFja2RlYyksCgkgIChjbGVhbnVwX3dhdnBhY2tkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzogKHNldHVwX3dhdnBhY2tlbmMpLAoJICAoY2xlYW51cF93YXZwYWNrZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzogKHNldHVwX3k0bWVuYyksIChjbGVhbnVwX3k0bWVuYyk6CgkgIHJldmVydCBteSBmcmVlemUgYnJlYWthZ2UKCjIwMDYtMTItMjEgMTI6NTg6NDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogcmV2ZXJ0IG15IGZyZWV6ZSBicmVha2FnZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOiAoc2V0dXBfbXBlZzJlbmMpLAoJICAoY2xlYW51cF9tcGVnMmVuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoY2xlYW51cF9yZ2FuYWx5c2lzKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6IChzZXR1cF93YXZwYWNrZGVjKSwKCSAgKGNsZWFudXBfd2F2cGFja2RlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiAoc2V0dXBfd2F2cGFja2VuYyksCgkgIChjbGVhbnVwX3dhdnBhY2tlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOiAoc2V0dXBfeTRtZW5jKSwgKGNsZWFudXBfeTRtZW5jKToKCSAgcmV2ZXJ0IG15IGZyZWV6ZSBicmVha2FnZQoKMjAwNi0xMi0yMSAwODoyMDoxMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvOiBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOiAoc2V0dXBfbXBlZzJlbmMpLAoJICAoY2xlYW51cF9tcGVnMmVuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoY2xlYW51cF9yZ2FuYWx5c2lzKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6IChzZXR1cF93YXZwYWNrZGVjKSwKCSAgKGNsZWFudXBfd2F2cGFja2RlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiAoc2V0dXBfd2F2cGFja2VuYyksCgkgIChjbGVhbnVwX3dhdnBhY2tlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3k0bWVuYy5jOiAoc2V0dXBfeTRtZW5jKSwgKGNsZWFudXBfeTRtZW5jKToKCSAgY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCjIwMDYtMTItMjEgMDg6MTI6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOiAoY2xlYW51cF9hdWRpb3Jlc2FtcGxlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Rlc3RzcmMuYzogKGNsZWFudXBfYXVkaW90ZXN0c3JjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoc2V0dXBfZ2RwZGVwYXkpLAoJICAoY2xlYW51cF9nZHBkZXBheSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6IChzZXR1cF9nZHBwYXkpLCAoY2xlYW51cF9nZHBwYXkpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3N1YnBhcnNlLmM6ICh0ZWFyZG93bl9zdWJwYXJzZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdGV4dG92ZXJsYXkuYzogKGNsZWFudXBfdGV4dG92ZXJsYXkpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvcmF0ZS5jOiAoY2xlYW51cF92aWRlb3JhdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvdGVzdHNyYy5jOiAoY2xlYW51cF92aWRlb3Rlc3RzcmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvbHVtZS5jOiAoY2xlYW51cF92b2x1bWUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvcmJpc2RlYy5jOiAoc2V0dXBfdm9yYmlzZGVjKSwKCSAgKGNsZWFudXBfdm9yYmlzZGVjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b3JiaXN0YWcuYzogKHNldHVwX3ZvcmJpc3RhZyksCgkgIChjbGVhbnVwX3ZvcmJpc3RhZyk6CgkgIGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgoyMDA2LTEyLTE4IDE3OjExOjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBwb3N0IEJVRkZFUklORyBtZXNzYWdlcyBpbiBzdHJlYW1pbmcgbW9kZSBpZiB0aGUgc3RyZWFtIGhlYWRlcnMgYXJlIGJlaGluZCB0aGUgbW92aWUgZGF0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3Bvc3RfcHJvZ3Jlc3MpLAoJICAoZ3N0X3F0ZGVtdXhfY2hhaW4pOgoJICBEb24ndCBwb3N0IEJVRkZFUklORyBtZXNzYWdlcyBpbiBzdHJlYW1pbmcgbW9kZSBpZiB0aGUgc3RyZWFtCgkgIGhlYWRlcnMgYXJlIGJlaGluZCB0aGUgbW92aWUgZGF0YTsgaW5zdGVhZCwgcG9zdCAicHJvZ3Jlc3MiIGVsZW1lbnQKCSAgbWVzc2FnZXMgYXMgYSB0ZW1wb3Jhcnkgc29sdXRpb24uIEFwcHMgbWlnaHQgZ2V0IGNvbmZ1c2VkIGFuZCBkbwoJICBzaWxseSB0aGluZ3MgdG8gdGhlIHBpcGVsaW5lIHN0YXRlIGlmIHRoZXkgc2VlIGJ1ZmZlcmluZyBtZXNzYWdlcwoJICBmcm9tIGRpZmZlcmVudCBzb3VyY2VzIGFuZCBkb24ndCByZWFsaXplIHRoZXkgY29tZSBmcm9tIGRpZmZlcmVudAoJICBzb3VyY2VzICgjMzg3MTYwKS4KCjIwMDYtMTItMTggMTY6NDc6MjMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTW92ZSBMQURQU0EgcGx1Z2luIGZyb20gLWdvb2QgZm9yIHRoZSByZWxlYXNlLCBhcyBpdCdzIG5vdCBxdWl0ZSByZWFkeSB0byBiZSBlbmFibGVkIGJ5IGRlZmF1bHQgaW4gdGhlIC1nb29kIG1vZHVsZSB5ZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS8qOgoJICBNb3ZlIExBRFBTQSBwbHVnaW4gZnJvbSAtZ29vZCBmb3IgdGhlIHJlbGVhc2UsIGFzIGl0J3Mgbm90IHF1aXRlCgkgIHJlYWR5IHRvIGJlIGVuYWJsZWQgYnkgZGVmYXVsdCBpbiB0aGUgLWdvb2QgbW9kdWxlIHlldC4KCjIwMDYtMTItMTggMTU6NTE6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiBSZXNldCBmbG93X3N0YXRlIGJhY2sgdG8gX09LIGFmdGVyIGEgZmx1c2ggc3RvcCBzbyB0aGF0IHdlIGV4aXQgb3VyIGVycm9yIHN0YXRlIGFmdGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZXZlbnQpOgoJICBSZXNldCBmbG93X3N0YXRlIGJhY2sgdG8gX09LIGFmdGVyIGEgZmx1c2ggc3RvcCBzbyB0aGF0IHdlIGV4aXQgb3VyCgkgIGVycm9yIHN0YXRlIGFmdGVyIHRoZSBmbHVzaC4gRml4ZXMgIzM3NDIxMwoKMjAwNi0xMi0xOCAxMzo0MDozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IG91dHB1dCBnX3dhcm5pbmcgZm9yIGFuIHVuc3VwcG9ydGVkIGZvcm1hdCwganVzdCBzZW5kIGEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhaW4pLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSk6CgkgIERvbid0IG91dHB1dCBnX3dhcm5pbmcgZm9yIGFuIHVuc3VwcG9ydGVkIGZvcm1hdCwganVzdCBzZW5kIGEKCSAgR1NUX0VMRU1FTlRfV0FSTklORyBhbmQgZG9uJ3QgYWRkIHRoZSBwYWQuCgkgIEZpeCB0aGUgY2FzZSB3aGVyZSBpdCBkb2Vzbid0IGNoZWNrIGZvciBhIE5VTEwgcGFkIGluIHN0cmVhbWluZyBtb2RlLgoJICBGaXhlcyAjMzg3MTM3CgoyMDA2LTEyLTE4IDEyOjI3OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggY3Jhc2ggZGVyZWZlcmVuY2luZyBOVUxMIHBvaW50ZXIgaWYgdGhlcmUncyBubyBzdGNvIGF0b20uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEZpeCBjcmFzaCBkZXJlZmVyZW5jaW5nIE5VTEwgcG9pbnRlciBpZiB0aGVyZSdzIG5vIHN0Y28gYXRvbS4KCSAgRml4ZXMgIzM4NzEyMi4KCjIwMDYtMTItMTggMTA6MDI6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQHVidW50dS5jb20+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6IFVzZSBsb2NhbCBjb3B5IG9mIG1kNS5oLCBhcyBpdCBkaXNhcHBlYXJlZCBpbiByZWNlbnQgd2F2cGFjayBpbnN0YWxscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICBVc2UgbG9jYWwgY29weSBvZiBtZDUuaCwgYXMgaXQgZGlzYXBwZWFyZWQgaW4gcmVjZW50IHdhdnBhY2sKCSAgaW5zdGFsbHMuCgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCB1YnVudHUgZG90IGNvbT4KCSAgRml4ZXM6ICMzODcwNzYKCjIwMDYtMTItMTcgMjA6MTk6NDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA2LTEyLTE3IDIwOjE5OjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgUmVwbGFjZSBzb21lIGVtYWlsIGFkZHJlc3NlcyB3aXRoIG5hbWVzK2VtYWlsIGFkZHJlc3NlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVwbGFjZSBzb21lIGVtYWlsIGFkZHJlc3NlcyB3aXRoIG5hbWVzK2VtYWlsIGFkZHJlc3NlcwoKMjAwNi0xMi0xNiAxNToyNToyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogV2UgZG9uJ3Qgc3VwcG9ydCBzZWVraW5nIGluIHN0cmVhbWluZyBtb2RlLCBzbyBkb24ndCBldmVuIHRyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X3NyY19xdWVyeV90eXBlcyksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpOgoJICBXZSBkb24ndCBzdXBwb3J0IHNlZWtpbmcgaW4gc3RyZWFtaW5nIG1vZGUsIHNvIGRvbid0IGV2ZW4gdHJ5LgoJICBJbXBsZW1lbnQgc2Vla2luZyBxdWVyeSBzbyBhcHBzIGNhbiBxdWVyeSBzZWVrYWJpbGl0eSBwcm9wZXJseQoJICAoc2VlICMzNjU0MTQpLiBGaXggZHVyYXRpb24gcXVlcnkuCgoyMDA2LTEyLTE1IDEyOjE4OjIxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGFkZCBkb2FwIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgICogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkgICogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCBkb2FwIGZpbGUKCjIwMDYtMTItMTUgMDk6MzQ6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbGlibW1zL2dzdG1tcy5jOiBUaGVzZSBkZWJ1ZyBzdGF0ZW1lbnRzIHNob3VsZCBiZSB1c2luZyBMT0cgbGV2ZWwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2NyZWF0ZSk6CgkgIFRoZXNlIGRlYnVnIHN0YXRlbWVudHMgc2hvdWxkIGJlIHVzaW5nIExPRyBsZXZlbC4KCjIwMDYtMTItMTQgMTU6NDU6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZGZpbGUuY3BwOiBGaXggcG90ZW50aWFsIGJ1ZmZlciBvdmVyZmxvdyAoQ1ZFLTIwMDYtNDE5MikgKCMzODU3ODgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZGZpbGUuY3BwOgoJICBGaXggcG90ZW50aWFsIGJ1ZmZlciBvdmVyZmxvdyAoQ1ZFLTIwMDYtNDE5MikgKCMzODU3ODgpLgoKMjAwNi0xMi0xMyAxNzoxMjoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIEFNUi1XQiB0byB0aGUgbGlzdCBvZiBzdXBwb3J0ZWQgZm9ybWF0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIEFkZCBBTVItV0IgdG8gdGhlIGxpc3Qgb2Ygc3VwcG9ydGVkIGZvcm1hdHMuCgoyMDA2LTEyLTEyIDE2OjEwOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogRml4IG1pbm9yIG1lbSBsZWFrIGluIHJlZGlyZWN0IGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX2NyZWF0ZSksCgkgIChzZW5kX3JlcXVlc3RfYW5kX3JlZGlyZWN0KToKCSAgRml4IG1pbm9yIG1lbSBsZWFrIGluIHJlZGlyZWN0IGNvZGUuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9uZW9uaHR0cHNyYy5jOiAoaGFuZG9mZl9jYiksCgkgIChHU1RfU1RBUlRfVEVTVCksIChuZW9uaHR0cHNyY19zdWl0ZSk6CgkgICogdGVzdHMvY2hlY2svZ3N0LXBsdWdpbnMtYmFkLnN1cHA6CgkgIEFkZCBzdXBlci1iYXNpYyB1bml0IHRlc3QgZm9yICMzODQxNDAuCgoyMDA2LTEyLTEyIDEyOjQ2OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogU2V0IG9mZnNldCBvbiBidWZmZXJzIHB1c2hlZCBvdXQgKGlkM2RlbXV4IGdldHMgY29uZnVzZWQgaWYgdGhlIGZpcnN0IGJ1ZmZlciBkb2VzIG5vdCBoYXZlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX2NyZWF0ZSksCgkgIChzZW5kX3JlcXVlc3RfYW5kX3JlZGlyZWN0KToKCSAgU2V0IG9mZnNldCBvbiBidWZmZXJzIHB1c2hlZCBvdXQgKGlkM2RlbXV4IGdldHMgY29uZnVzZWQgaWYgdGhlCgkgIGZpcnN0IGJ1ZmZlciBkb2VzIG5vdCBoYXZlIGFuIG9mZnNldCBvZiAwKS4gRml4ZXMgIzM4NDE0MC4KCjIwMDYtMTItMTIgMTE6NDY6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiBNaW5vciBjbGVhbi11cHM7IHJlbW92ZSBuZXdsaW5lcyBhdCBlbmQgb2YgZGVidWcgc3RhdGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbmVvbmh0dHBfc3JjX2NyZWF0ZSksIChzZW5kX3JlcXVlc3RfYW5kX3JlZGlyZWN0KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc3RhcnQpLCAob29tX2NhbGxiYWNrKToKCSAgTWlub3IgY2xlYW4tdXBzOyByZW1vdmUgbmV3bGluZXMgYXQgZW5kIG9mIGRlYnVnIHN0YXRlbWVudHMuCgoyMDA2LTEyLTExIDE3OjMzOjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggbm9uLXdvcmtpbmcgcmVkaXJlY3RzIGZyb20gaW5ldGZpbG0uY29tIChoYW5kbGUgJ2FsaXMnIHJlZmVyZW5jZSBkYXRhIHR5cGUgYXMgd2VsbCkuIEZpeGVzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgIEZpeCBub24td29ya2luZyByZWRpcmVjdHMgZnJvbSBpbmV0ZmlsbS5jb20gKGhhbmRsZSAnYWxpcycgcmVmZXJlbmNlCgkgIGRhdGEgdHlwZSBhcyB3ZWxsKS4gRml4ZXMgIzM3ODYxMy4KCjIwMDYtMTItMTEgMDk6NTE6MTcgKzAwMDAgIEpvbmF0aGFuIE1hdHRoZXcgPGpvbmF0aGFuQGthb2xpbi53aDkubmV0PgoKCSAgZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzogRml4IG1vZHBsdWcgZHVyYXRpb24gcXVlcnkuIEZpeGVzICMzODQyOTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9uYXRoYW4gTWF0dGhldyA8am9uYXRoYW4gYXQga2FvbGluIHdoOSBuZXQ+KS4KCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBGaXggbW9kcGx1ZyBkdXJhdGlvbiBxdWVyeS4gRml4ZXMgIzM4NDI5NC4KCjIwMDYtMTItMDggMTc6MDY6NDMgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBjYXBzIGZvciAyNCBiaXQgcmF3IFBDTSBhdWRpbyAoMikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciAgPG1haWwgYXQgcmVuZXN0YWRsZXIgZGU+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIEZpeCBjYXBzIGZvciAyNCBiaXQgcmF3IFBDTSBhdWRpbyAoMikuCgkgIEZpeGVzICMzODM0NzEuCgoyMDA2LTEyLTA3IDExOjM1OjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBIYW5kbGUgbW9yZSBIMjYzIHZhcmlhbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF92aWRlb19jYXBzKToKCSAgSGFuZGxlIG1vcmUgSDI2MyB2YXJpYW50cy4KCjIwMDYtMTItMDYgMTY6NTc6MTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2phY2svLmN2c2lnbm9yZTogSWdub3JlIG9sZCBmaWxlcyBhcyByZXF1ZXN0ZWQgYnkgdGhlIGJ1aWxkIHNsYXZlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay8uY3ZzaWdub3JlOgoJICBJZ25vcmUgb2xkIGZpbGVzIGFzIHJlcXVlc3RlZCBieSB0aGUgYnVpbGQgc2xhdmUuCgoyMDA2LTEyLTA2IDE2OjE0OjM1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogVXBkYXRlIHRoZSBKYWNrIHJlcXVpcmVtZW50IHRvIHRoZSB2ZXJzaW9uIHdoZXJlIEkgdGhpbmsgb3B0aW9uc190IGFwcGVhcmVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXBkYXRlIHRoZSBKYWNrIHJlcXVpcmVtZW50IHRvIHRoZSB2ZXJzaW9uIHdoZXJlIEkgdGhpbmsgb3B0aW9uc190CgkgIGFwcGVhcmVkCgoyMDA2LTEyLTAxIDEwOjM1OjM5ICswMDAwICBTZXJnZXkgU2NvYmljaCA8c2VyZ2V5LnNjb2JpY2hAZ21haWwuY29tPgoKCSAgd2luMzIvTUFOSUZFU1Q6IEZpeCBjb21waWxhdGlvbiBvbiB3aW4zMiB1bmRlciBWUzgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEZpeCBjb21waWxhdGlvbiBvbiB3aW4zMiB1bmRlciBWUzgKCSAgUGF0Y2ggYnk6IFNlcmdleSBTY29iaWNoIDxzZXJnZXkgZG90IHNjb2JpY2ggYXQgZ21haWwgZG90IGNvbT4KCSAgUGFydGlhbGx5IGZpeGVzICMzODExNzUKCjIwMDYtMTEtMzAgMTU6MDg6MDggKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6IENhbGwgdGhlIGJhc2UgY2xhc3MgaGFuZGxlci4gIEZpeGVzICMzODA2MTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciAgPG1haWwgYXQgcmVuZXN0YWRsZXIgZGU+CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOiAoZ3N0X3JnX2FuYWx5c2lzX2V2ZW50KToKCSAgQ2FsbCB0aGUgYmFzZSBjbGFzcyBoYW5kbGVyLiAgRml4ZXMgIzM4MDYxMC4KCjIwMDYtMTEtMzAgMTE6NTk6MDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvTWFrZWZpbGUuYW06IEZpeCBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBGaXggYnVpbGQuCgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoamFja19wcm9jZXNzX2NiKSwKCSAgKGphY2tfc2FtcGxlX3JhdGVfY2IpLCAoamFja19idWZmZXJfc2l6ZV9jYiksIChqYWNrX3NodXRkb3duX2NiKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2FjcXVpcmUpOgoJICBTbWFsbCBjbGVhbnVwcy4KCjIwMDYtMTEtMzAgMTE6NDk6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBZGRlZCBmdWxseSBmdW5jdGlvbmFsIGphY2thdWRpb3NpbmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svZ3N0amFjay5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9qYWNrL2dzdGphY2suaDoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChnc3RfamFja19yaW5nX2J1ZmZlcl9nZXRfdHlwZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9jbGFzc19pbml0KSwgKGphY2tfcHJvY2Vzc19jYiksCgkgIChqYWNrX3NhbXBsZV9yYXRlX2NiKSwgKGphY2tfYnVmZmVyX3NpemVfY2IpLCAoamFja19zaHV0ZG93bl9jYiksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9pbml0KSwgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2Rpc3Bvc2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfZmluYWxpemUpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfb3Blbl9kZXZpY2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfY2xvc2VfZGV2aWNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2FjcXVpcmUpLCAoZ3N0X2phY2tfcmluZ19idWZmZXJfcmVsZWFzZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9zdGFydCksIChnc3RfamFja19yaW5nX2J1ZmZlcl9wYXVzZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9zdG9wKSwgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2RlbGF5KSwKCSAgKGdzdF9qYWNrX2Nvbm5lY3RfZ2V0X3R5cGUpLCAoZ3N0X2phY2tfYXVkaW9fc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19jbGFzc19pbml0KSwgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfaW5pdCksCgkgIChnc3RfamFja19hdWRpb19zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfamFja19hdWRpb19zaW5rX2dldF9wcm9wZXJ0eSksIChnc3RfamFja19hdWRpb19zaW5rX2dldGNhcHMpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19jcmVhdGVfcmluZ2J1ZmZlcik6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5oOgoJICBBZGRlZCBmdWxseSBmdW5jdGlvbmFsIGphY2thdWRpb3NpbmsuCgoyMDA2LTExLTI3IDE3OjE2OjI2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBSZW1vdmUgc29tZSBhc3NlcnRzIGFuZCByZXBsYWNlIHRoZW0gd2l0aCBhIHByb3BlciBlcnJvciBtZXNzYWdlLiBGaXhlcyAjMzc5MjYxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBSZW1vdmUgc29tZSBhc3NlcnRzIGFuZCByZXBsYWNlIHRoZW0gd2l0aCBhIHByb3BlciBlcnJvcgoJICBtZXNzYWdlLiBGaXhlcyAjMzc5MjYxLgoKMjAwNi0xMS0yNiAxNzoyMzoxNCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L3RoZW9yYS90aGVvcmFkZWMuYzogU2VuZCBldmVudHMgb24gdGhlIHJpZ2h0IHBhZHMsIHNpbmNlIHRoZXkgZG9uJ3Qgd29yayB2ZXJ5IHdlbGwgaWYgeW91IHNlbmQgdGhlbSBpbiB0aGUgd3JvbmcgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6ICh0aGVvcmFfZGVjX3NyY19xdWVyeSksCgkgICh0aGVvcmFfZGVjX3NyY19ldmVudCksICh0aGVvcmFfaGFuZGxlX2RhdGFfcGFja2V0KSwKCSAgKHRoZW9yYV9kZWNfY2hhaW4pOgoJICBTZW5kIGV2ZW50cyBvbiB0aGUgcmlnaHQgcGFkcywgc2luY2UgdGhleSBkb24ndCB3b3JrIHZlcnkgd2VsbCBpZgoJICB5b3Ugc2VuZCB0aGVtIGluIHRoZSB3cm9uZyBkaXJlY3Rpb24uCgoyMDA2LTExLTI0IDA5OjA1OjM5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICByZW1vdmUgb2Jzb2xldGUgX2ZhY3RvcnlfaW5pdCBwcm90b3MgYW5kIGZ1bmN0aW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJICAqIGV4dC9wb2x5cC9wbHVnaW4uYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmM6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5oOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5oOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuaDoKCSAgcmVtb3ZlIG9ic29sZXRlIF9mYWN0b3J5X2luaXQgcHJvdG9zIGFuZCBmdW5jdGlvbnMKCjIwMDYtMTEtMjEgMTM6MDA6MDggKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgcmZic3JjIHBsdWdpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHJmYnNyYyBwbHVnaW4KCjIwMDYtMTEtMTkgMTI6MDI6MTMgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06IENvbXBpbGUgd2l0aCBhcHByb3ByaWF0ZSBjZmxhZ3MuIEZpeGVzIGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICBDb21waWxlIHdpdGggYXBwcm9wcmlhdGUgY2ZsYWdzLiBGaXhlcyBidWlsZC4KCjIwMDYtMTEtMTcgMTg6NTE6NTggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBBY3R1YWxseSBzZXQgdGhlIFRPTkUgcGFyYW1ldGVyIGZvciBEVkItUyB3aGVuIHdlIHNob3VsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMTEtMTcgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOiAoZ3N0X2R2YnNyY190dW5lKToKCSAgQWN0dWFsbHkgc2V0IHRoZSBUT05FIHBhcmFtZXRlciBmb3IgRFZCLVMgd2hlbiB3ZSBzaG91bGQuCgoyMDA2LTExLTE3IDAzOjUxOjA0ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOiBGaXhlcyBmb3IgNjQtYml0IGFyY2hpdGVjdHVyZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOiBGaXhlcyBmb3IgNjQtYml0IGFyY2hpdGVjdHVyZXMuCgoyMDA2LTExLTE3IDAzOjI5OjMyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9saWJyZmIvZ3N0cmZic3JjLmg6IE9vcHMsIGFkZCB0aGlzIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmg6ICBPb3BzLCBhZGQgdGhpcyBmaWxlLgoKMjAwNi0xMS0xNyAwMzoxNTo0MCArMDAwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgPGFuZHJ1bmtvQGdtYWlsLmNvbT4KCgkgIFBvcnQgbGlicmZiIHRvIDAuMTAgKCMzNzYxMDYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIDxhbmRydW5rb0BnbWFpbC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbGlicmZiL3JmYi5jOgoJICAqIGdzdC9saWJyZmIvcmZiLmg6CgkgICogZ3N0L2xpYnJmYi9yZmJidWZmZXIuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmJ1ZmZlci5oOgoJICAqIGdzdC9saWJyZmIvcmZiYnl0ZXN0cmVhbS5jOgoJICAqIGdzdC9saWJyZmIvcmZiYnl0ZXN0cmVhbS5oOgoJICAqIGdzdC9saWJyZmIvcmZiY29udGV4dC5oOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICAqIGdzdC9saWJyZmIvcmZidXRpbC5oOgoJICBQb3J0IGxpYnJmYiB0byAwLjEwICgjMzc2MTA2KS4KCjIwMDYtMTEtMTYgMTg6MjI6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc3BjL2dzdHNwYy5jOiBGaXggYnVpbGQgd2l0aCBkaXNhYmxlZCBnc3QtZGVidWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGMvZ3N0c3BjLmM6IChzcGNfcGxheSk6CgkgIEZpeCBidWlsZCB3aXRoIGRpc2FibGVkIGdzdC1kZWJ1Zy4KCjIwMDYtMTEtMTUgMTY6MTk6NTYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcwoKMjAwNi0xMS0xNSAxMjozNTo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBTb21lIHNtYWxsIGNsZWFuLXVwczogdXNlIGVudW1zIGluc3RlYWQgb2YgaGFyZC1jb2RlZCBudW1iZXJzLCBjb25zdC1pZnkgZWxlbWVudCBkZXRhaWxzLCByZS1mYWN0b3Igc29tLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIFNvbWUgc21hbGwgY2xlYW4tdXBzOiB1c2UgZW51bXMgaW5zdGVhZCBvZiBoYXJkLWNvZGVkIG51bWJlcnMsCgkgIGNvbnN0LWlmeSBlbGVtZW50IGRldGFpbHMsIHJlLWZhY3RvciBzb21lIGNvZGUgaW50byBfcmVzZXQoKQoJICBmdW5jdGlvbnMgKCMzNTI2MDUpLgoKMjAwNi0xMS0xNCAxNTowNDo1MiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCBtaXNzaW5nIGZpbGVzIGZyb20gU1BFQwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIG1pc3NpbmcgZmlsZXMgZnJvbSBTUEVDCgoyMDA2LTExLTE0IDEyOjMzOjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuKjogRml4IG1pbm9yIHByaW50ZiBmb3JtYXQgaXNzdWU7IHJlbW92ZSBvdmVybHkgcGFyYW5vaWQgY2hlY2tzIGluIGNyZWF0ZSBmdW5jdGlvbjsgZml4IEdPYmplY3QgYm9pLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IChnc3RfZHZic3JjX2NyZWF0ZSk6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgRml4IG1pbm9yIHByaW50ZiBmb3JtYXQgaXNzdWU7IHJlbW92ZSBvdmVybHkgcGFyYW5vaWQgY2hlY2tzIGluCgkgIGNyZWF0ZSBmdW5jdGlvbjsgZml4IEdPYmplY3QgYm9pbGVycGxhdGUgbWFjcm9zLgoKMjAwNi0xMS0xNCAxMTo0Mzo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgcGFyc2UgZXh0cmEgc2FtcGxlIHBhcmFtcyBmb3IgcmF3IHBjbS4gRml4ZXMgIzM3NDkxNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRG9uJ3QgcGFyc2UgZXh0cmEgc2FtcGxlIHBhcmFtcyBmb3IgcmF3IHBjbS4gRml4ZXMgIzM3NDkxNC4KCjIwMDYtMTEtMTQgMTE6Mzk6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOiBBZGQgY2RhdWRpbyB0byBpZ25vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIEFkZCBjZGF1ZGlvIHRvIGlnbm9yZS4KCjIwMDYtMTEtMTQgMTA6NTI6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvTWFrZWZpbGUuYW06IGRpc3QgY2RhdWRpbyBkaXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgZGlzdCBjZGF1ZGlvIGRpci4KCjIwMDYtMTEtMTQgMTA6NDI6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBGaXggY2RhdWRpbyBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgRml4IGNkYXVkaW8gYnVpbGQuCgoyMDA2LTExLTE0IDEwOjMxOjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBnaXZlIGNyZWRpdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZ2l2ZSBjcmVkaXQKCjIwMDYtMTEtMTQgMTA6MjU6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICB0ZXN0cy9jaGVjay86IEFkZGVkIHk0bSB0ZXN0LiBGaXhlcyAjMzcyMjQzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzogKHNldHVwX3k0bWVuYyksIChjbGVhbnVwX3k0bWVuYyksCgkgIChHU1RfU1RBUlRfVEVTVCksICh5NG1lbmNfc3VpdGUpLCAobWFpbik6CgkgIEFkZGVkIHk0bSB0ZXN0LiBGaXhlcyAjMzcyMjQzLgoKMjAwNi0xMS0xMyAxODo1NTo1NyArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIGNvbmZpZ3VyZS5hYzogRW5hYmxlIGNkYXVkaW8gYW5kIHk0bS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXcgYXQgc2t5bmV0IGJlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRW5hYmxlIGNkYXVkaW8gYW5kIHk0bS4KCSAgKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6IChnc3RfeTRtX2VuY29kZV9iYXNlX2luaXQpLAoJICAoZ3N0X3k0bV9lbmNvZGVfY2xhc3NfaW5pdCksIChnc3RfeTRtX2VuY29kZV9pbml0KSwKCSAgKGdzdF95NG1fZW5jb2RlX3Jlc2V0KSwgKGdzdF95NG1fZW5jb2RlX3NldGNhcHMpLAoJICAoZ3N0X3k0bV9lbmNvZGVfZ2V0X3N0cmVhbV9oZWFkZXIpLAoJICAoZ3N0X3k0bV9lbmNvZGVfZ2V0X2ZyYW1lX2hlYWRlciksIChnc3RfeTRtX2VuY29kZV9jaGFpbiksCgkgIChnc3RfeTRtX2VuY29kZV9zZXRfcHJvcGVydHkpLCAoZ3N0X3k0bV9lbmNvZGVfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF95NG1fZW5jb2RlX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgUG9ydCBvZiB5NG1lbmNvZGUgdG8gMC4xMC4KCjIwMDYtMTEtMTEgMDA6MjI6MjQgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgQSBsaXR0bGUgcGx1Z2d5IHRvIG1ha2Ugc2Vuc2Ugb3V0IG9mIHRoZSByYW5kb20gY2h1bmtzIHdlIGdldCBmcm9tIG11bHRpZmlsZXNyYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC92aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgQSBsaXR0bGUgcGx1Z2d5IHRvIG1ha2Ugc2Vuc2Ugb3V0IG9mIHRoZSByYW5kb20gY2h1bmtzIHdlIGdldAoJICBmcm9tIG11bHRpZmlsZXNyYy4KCjIwMDYtMTEtMTAgMTk6MTg6MzMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbTogTGV0J3Mgbm90IGRlcGVuZCBvbiBhIGZpbGUgdGhhdCBkb2Vzbid0IGV4aXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJICBMZXQncyBub3QgZGVwZW5kIG9uIGEgZmlsZSB0aGF0IGRvZXNuJ3QgZXhpc3QuCgoyMDA2LTExLTEwIDE5OjA3OjQzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9tdWx0aWZpbGVzaW5rLzogUmVtb3ZlIHRoZSBvbGQgb25lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5oOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL211bHRpZmlsZXNpbmsudmNwcm9qOgoJICBSZW1vdmUgdGhlIG9sZCBvbmUuCgoyMDA2LTExLTEwIDE4OjUxOjEwICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIFJldml2ZSBtdWx0aWZpbGVbc3JjfHNpbmtdLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZS5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogZ3N0L211bHRpZmlsZS9tdWx0aWZpbGUudnByb2o6CgkgIFJldml2ZSBtdWx0aWZpbGVbc3JjfHNpbmtdLgoKMjAwNi0xMS0wOSAxNDowMDozNCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IChnc3RfZHZic3JjX3NldF9wcm9wZXJ0eSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMTEtMDkgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOiAoZ3N0X2R2YnNyY19zZXRfcHJvcGVydHkpCgkgIChnc3RfZHZic3JjX2NyZWF0ZSksIChnc3RfZHZic3JjX291dHB1dF9mcm9udGVuZF9zdGF0cyksCgkgIChnc3RfZHZic3JjX3R1bmUpLCAoZ3N0X2R2YnNyY19zZXRfcGVzX2ZpbHRlcnMpOgoJICBSZW5hbWUgc2V0X3Blc19maWx0ZXIgdG8gc2V0X3Blc19maWx0ZXJzIGZvciBjb25zaXN0ZW5jeS4KCSAgRG8gcnVuLXRpbWUgcGlkIGZpbHRlcmluZy4KCjIwMDYtMTEtMDggMTE6Mjc6MTYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBEbyBub3QgY2FsbCBvdXRwdXRfZnJvbnRlbmRfc3RhdHMgZnJvbSBhIG1ldGhvZCB0aGF0IGRvZXMgbm90IGhhdmUgdGhlIGdzdGR2YnNyYyBvYmplY3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTExLTA4ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzogKHJlYWRfZGV2aWNlKToKCSAgRG8gbm90IGNhbGwgb3V0cHV0X2Zyb250ZW5kX3N0YXRzIGZyb20gYSBtZXRob2QgdGhhdCBkb2VzIG5vdAoJICBoYXZlIHRoZSBnc3RkdmJzcmMgb2JqZWN0LgoJICBUaGlzIGZpeGVzIHRoZSBidWlsZCwgc29ycnkgZ3V5cyEKCjIwMDYtMTEtMDcgMTQ6NDY6NTYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy4qOiBGb3JjZSBQQVQgdG8gYWx3YXlzIGJlIGluIHRoZSBmaWx0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTExLTA3ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzogKHJlYWRfZGV2aWNlKSwgKGdzdF9kdmJzcmNfY3JlYXRlKSwKCSAgKGdzdF9kdmJzcmNfb3V0cHV0X2Zyb250ZW5kX3N0YXRzKSwgKGdzdF9kdmJzcmNfdHVuZSksCgkgIChnc3RfZHZic3JjX3NldF9wZXNfZmlsdGVyKToKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBGb3JjZSBQQVQgdG8gYWx3YXlzIGJlIGluIHRoZSBmaWx0ZXIuCgkgIFRyeSB0byBjb250aW51ZSByZWFkaW5nIGFmdGVyIGZhaWxpbmcgMTAgdGltZXMuCgoyMDA2LTExLTA0IDEzOjI2OjQxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvL1BPVEZJTEVTLmluOiBhZGQgZHZic3JjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICBhZGQgZHZic3JjCgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzogKGdzdF9kdmJzcmNfY2xhc3NfaW5pdCksIChnc3RfZHZic3JjX2luaXQpLAoJICAoZ3N0X2R2YnNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X2R2YnNyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2R2YnNyY19vcGVuX2Zyb250ZW5kKSwgKGdzdF9kdmJzcmNfb3Blbl9kdnIpLAoJICAoZ3N0X2R2YnNyY19maW5hbGl6ZSksIChyZWFkX2RldmljZSksIChnc3RfZHZic3JjX2NyZWF0ZSksCgkgIChnc3RfZHZic3JjX3N0YXJ0KSwgKGdzdF9kdmJzcmNfZnJvbnRlbmRfc3RhdHVzKSwKCSAgKGdzdF9kdmJzcmNfdHVuZSksIChnc3RfZHZic3JjX3Vuc2V0X3Blc19maWx0ZXJzKSwKCSAgKGdzdF9kdmJzcmNfc2V0X3Blc19maWx0ZXIpOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGFkYXB0ZXItcHJlZml4IGlzIGEgdGVycmlibGUgbmFtZSBmb3IgYSBkZXZpY2UsIHNvIHJlcGxhY2UgaXQuCgkgIHN0cmVycm9yIHNob3VsZCBiZSB1c2VkIGltbWVkaWF0ZWx5IGFmdGVyIHRoZSBzeXNjYWxsIHJlbGF0ZWQgdG8gaXQuCgkgIEFjdHVhbGx5IHRocm93IGEgcmVhc29uYWJsZSBHU1RfRUxFTUVOVF9FUlJPUiBpZiB3ZSBmYWlsIHRvIG9wZW4KCSAgKHByZXR0eSBlYXN5IHRvIHRyaWdnZXIgYnkgb3BlbmluZyB0aGUgc2FtZSBkZXZpY2UgdHdpY2UpLgoJICBVc2UgX09CSkVDVCBtYWNyb3Mgd2hlcmUgaXQgbWFrZXMgc2Vuc2UuCgkgIFRoaXMgZWxlbWVudCBpcyBnb2luZyB0byBuZWVkIHNvbWUgd29yayBiZWZvcmUgaXQgbW92ZXMuCgoyMDA2LTExLTAyIDIwOjEzOjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBGaXggZW51bSBuaWNrczsgb25seSBlbWl0IG5vLW1vcmUtcGFkcyBvbmNlOyBhZGQgc3VwcG9ydCBmb3IgdmVyeSBmYXN0IGVuY29kaW5nIG1vZGUgaW4gdXBjb21pbmcgNC40MC4wIHJlbGVhc2UgKCMzNjkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jb3JyZWN0aW9uX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2pvaW50X3N0ZXJlb19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKToKCSAgRml4IGVudW0gbmlja3M7IG9ubHkgZW1pdCBuby1tb3JlLXBhZHMgb25jZTsgYWRkIHN1cHBvcnQgZm9yIHZlcnkKCSAgZmFzdCBlbmNvZGluZyBtb2RlIGluIHVwY29taW5nIDQuNDAuMCByZWxlYXNlICgjMzY5NTM5KS4KCjIwMDYtMTEtMDEgMTA6MTk6MTggKzAwMDAgIFNlcmdleSBTY29iaWNoIDxzZXJnZXkuc2NvYmljaEBnbWFpbC5jb20+CgoJICBzeXMvOiBXYWl0IHVudGlsIHRoZSB3aW5kb3cgaXMgY3JlYXRlZCBiZWZvcmUgdXNpbmcgaXQ7IGd1YXJkIHVuaXN0ZC5oIGluY2x1ZGVzIHdpdGggSEFWRV9VTklTVERfSC4gKCMzNjY1MjMpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2VyZ2V5IFNjb2JpY2ggIDxzZXJnZXkgZG90IHNjb2JpY2ggYXQgZ21haWwgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd3Npbmtfd2luZG93X3RocmVhZCksCgkgIChnc3RfZGlyZWN0ZHJhd3NpbmtfY3JlYXRlX2RlZmF1bHRfd2luZG93KToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgV2FpdCB1bnRpbCB0aGUgd2luZG93IGlzIGNyZWF0ZWQgYmVmb3JlIHVzaW5nIGl0OyBndWFyZCB1bmlzdGQuaAoJICBpbmNsdWRlcyB3aXRoIEhBVkVfVU5JU1REX0guICgjMzY2NTIzKQoJICAqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3RkcmF3LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0c291bmQudmNwcm9qOgoJICBVcGRhdGUgcHJvamVjdCBmaWxlcy4KCjIwMDYtMTAtMzEgMTA6MzE6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEhhbmRsZSB1bmJvdW5kZWQgbGVuZ3RoIHN0cmVhbXMgYSBiaXQgYmV0dGVyLiBGaXhlcyAjMzY3Njk2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfZHVyYXRpb24pLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChxdGRlbXV4X3BhcnNlX3RyZWUpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgSGFuZGxlIHVuYm91bmRlZCBsZW5ndGggc3RyZWFtcyBhIGJpdCBiZXR0ZXIuIEZpeGVzICMzNjc2OTYuCgoyMDA2LTEwLTI5IDE5OjA4OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2R0cy9nc3RkdHNkZWMuYzogRml4IGZsb3cgaGFuZGxpbmcgYW5kIGJ1ZmZlciByZWZjb3VudGluZyAoZ3N0X3BhZF9wdXNoKCkgdGFrZXMgb3duZXJzaGlwIG9mIHRoZSBidWZmZXIgcGFzc2VkIHRvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2hhbmRsZV9mcmFtZSk6CgkgIEZpeCBmbG93IGhhbmRsaW5nIGFuZCBidWZmZXIgcmVmY291bnRpbmcgKGdzdF9wYWRfcHVzaCgpIHRha2VzCgkgIG93bmVyc2hpcCBvZiB0aGUgYnVmZmVyIHBhc3NlZCB0byBpdCwgdGhlIGJ1ZmZlciBkb2VzIG5vdCBoYXZlCgkgIHRvIGJlIHVucmVmZmVkIG5vIG1hdHRlciB3aGF0IGZsb3cgdmFsdWUgZ3N0X3BhZF9wdXNoKCkgcmV0dXJucykuCgoyMDA2LTEwLTI4IDE2OjAwOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBBbm90aGVyIHR5cG8gZml4ICgjMzY2MjEyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiAoZ3N0X2F1ZGlvcmVzYW1wbGVfaW5pdCk6CgkgIEFub3RoZXIgdHlwbyBmaXggKCMzNjYyMTIpLgoKMjAwNi0xMC0yNiAxNDowNzowOCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4Lmg6CgkgIEZpeGVkIGJ1ZyBmb3IgZmlsZXMgd2l0aCB0aW1lc3RhbXBzIGxlc3MgdGhhbiAwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgYnVnIGZvciBmaWxlcyB3aXRoIHRpbWVzdGFtcHMgbGVzcyB0aGFuIDAuCgoyMDA2LTEwLTIxIDIyOjU2OjAzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIEkgY29waWVkIG92ZXIgZmlsZXNpbmsgYSB3aGlsZSBhZ28gYW5kIG1vZGlmaWVkIGl0IHRvIHdvcmsgYXMgbXVsdGlmaWxlc2luay4gIE1pZ2h0IGFzIHdlbGwgY2hlY2sgaXQgaW4uICBUaGlzIGNvdWxkIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgSSBjb3BpZWQgb3ZlciBmaWxlc2luayBhIHdoaWxlIGFnbyBhbmQgbW9kaWZpZWQgaXQgdG8gd29yawoJICBhcyBtdWx0aWZpbGVzaW5rLiAgTWlnaHQgYXMgd2VsbCBjaGVjayBpdCBpbi4gIFRoaXMgY291bGQKCSAgdXNlIHNvbWUgd29yayBiZWZvcmUgYmVpbmcgZGVjbGFyZWQgdXNlZnVsLgoKMjAwNi0xMC0xNyAxNToxNjo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEFjdGl2YXRlIHBhZHMgYmVmb3JlIGFkZGluZyB0aGVtIHRvIHJ1bm5pbmcgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpOgoJICAqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOiAoZ3N0X251dl9kZW11eF9jcmVhdGVfcGFkcyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6ICh3YXZwYWNrcGFyc2VfZm91bmRfcGFkKToKCSAgQWN0aXZhdGUgcGFkcyBiZWZvcmUgYWRkaW5nIHRoZW0gdG8gcnVubmluZyBlbGVtZW50LgoKMjAwNi0xMC0xNyAxNDo1NzoxNyArMDAwMCAgSm9zZXAgVG9ycmEgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTWFrZSBjb21waWxlIHdpdGggRm9ydGUgY29tcGlsZXIsIG1vc3RseSBkb24ndCBkbyBwb2ludGVyIGFyaXRobWV0aWMgd2l0aCB2b2lkIHBvaW50ZXJzICgjMzYyNi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvc2VwIFRvcnJhIFZhbGxlcyAgPGpvc2VwIGF0IGZsdWVuZG8gY29tPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKG5leHRfZW50cnlfc2l6ZSksIChxdGRlbXV4X2luZmxhdGUpLCAocXRkZW11eF9wYXJzZV9tb292KSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJlZSksIChxdGRlbXV4X3BhcnNlX3RyYWspLCAocXRkZW11eF90YWdfYWRkX3N0ciksCgkgIChxdGRlbXV4X3RhZ19hZGRfbnVtKSwgKHF0ZGVtdXhfdGFnX2FkZF9kYXRlKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9nbnJlKToKCSAgTWFrZSBjb21waWxlIHdpdGggRm9ydGUgY29tcGlsZXIsIG1vc3RseSBkb24ndCBkbyBwb2ludGVyIGFyaXRobWV0aWMKCSAgd2l0aCB2b2lkIHBvaW50ZXJzICgjMzYyNjI2KS4KCjIwMDYtMTAtMTcgMTQ6NDA6MjAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgIEp1c3QgYSBjYXN0IHRvIG1ha2UgaXQgY29tcGlsZSBvb3MgYmlnX2VuZGlhbiBzeXN0ZW1zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSnVzdCBhIGNhc3QgdG8gbWFrZSBpdCBjb21waWxlIG9vcyBiaWdfZW5kaWFuIHN5c3RlbXMuCgoyMDA2LTEwLTE3IDE0OjI0OjE4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4Lmg6CgkgIENyZWF0ZWQgbmV3IGVsZW1lbnQgbnV2ZGVtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDcmVhdGVkIG5ldyBlbGVtZW50IG51dmRlbXV4LgoKMjAwNi0xMC0xNyAxMTowNDoxNCArMDAwMCAgSm9zZXAgVG9ycmEgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkgIGdzdC9uc2YvOiBGaXggc29tZSB0aGluZ3MgdGhlIEZvcnRlIGNvbXBpbGVyIHdhcm5zIGFib3V0ICgjMzYyNjI2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb3NlcCBUb3JyYSBWYWxsZXMgIDxqb3NlcCBhdCBmbHVlbmRvIGNvbT4KCSAgKiBnc3QvbnNmL2Zkc19zbmQuYzoKCSAgKiBnc3QvbnNmL21tYzVfc25kLmM6CgkgICogZ3N0L25zZi9uc2YuYzoKCSAgKiBnc3QvbnNmL3ZyYzdfc25kLmM6CgkgICogZ3N0L25zZi92cmN2aXNuZC5jOgoJICBGaXggc29tZSB0aGluZ3MgdGhlIEZvcnRlIGNvbXBpbGVyIHdhcm5zIGFib3V0ICgjMzYyNjI2KS4KCjIwMDYtMTAtMTcgMTA6NTk6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lio6IEF2b2lkIHZvaWQgcG9pbnRlciB1c2FnZSwgYmV0dGVyIHVzZSBndWludDggKiBpbnN0ZWFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX21vb3YpLCAocXRkZW11eF9wYXJzZSksCgkgIChxdGRlbXV4X25vZGVfZHVtcF9mb3JlYWNoKSwgKHF0ZGVtdXhfZHVtcF9tdmhkKSwKCSAgKHF0ZGVtdXhfZHVtcF90a2hkKSwgKHF0ZGVtdXhfZHVtcF9lbHN0KSwgKHF0ZGVtdXhfZHVtcF9tZGhkKSwKCSAgKHF0ZGVtdXhfZHVtcF9oZGxyKSwgKHF0ZGVtdXhfZHVtcF92bWhkKSwgKHF0ZGVtdXhfZHVtcF9kcmVmKSwKCSAgKHF0ZGVtdXhfZHVtcF9zdHNkKSwgKHF0ZGVtdXhfZHVtcF9zdHRzKSwgKHF0ZGVtdXhfZHVtcF9zdHNzKSwKCSAgKHF0ZGVtdXhfZHVtcF9zdHNjKSwgKHF0ZGVtdXhfZHVtcF9zdHN6KSwgKHF0ZGVtdXhfZHVtcF9zdGNvKSwKCSAgKHF0ZGVtdXhfZHVtcF9jbzY0KSwgKHF0ZGVtdXhfZHVtcF9kY29tKSwgKHF0ZGVtdXhfZHVtcF9jbXZkKSwKCSAgKHF0ZGVtdXhfZHVtcF91bmtub3duKSwgKHF0ZGVtdXhfdHJlZV9nZXRfY2hpbGRfYnlfdHlwZSksCgkgIChxdGRlbXV4X3RyZWVfZ2V0X3NpYmxpbmdfYnlfdHlwZSk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBBdm9pZCB2b2lkIHBvaW50ZXIgdXNhZ2UsIGJldHRlciB1c2UgZ3VpbnQ4ICogaW5zdGVhZC4KCjIwMDYtMTAtMTEgMjA6MzM6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBQb3J0IHNpbXBsZSBkZWludGVybGFjZXIgZnJvbSAwLjguIFVzZSBhdCB5b3VyIG93biByaXNrLCBkb24ndCBibGFtZSBtZSBmb3IgYW55dGhpbmcgaXQgZG9lcyBvciBkb2VzIG5vdCBkbyB0byB5b3VyIHAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9kZWludGVybGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzogKGdzdF9kZWludGVybGFjZV9iYXNlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3N0b3ApLCAoZ3N0X2RlaW50ZXJsYWNlX3RyYW5zZm9ybV9jYXBzKSwKCSAgKGdzdF9kZWludGVybGFjZV9zZXRfY2FwcyksIChnc3RfZGVpbnRlcmxhY2VfdHJhbnNmb3JtX2lwKSwKCSAgKGdzdF9kZWludGVybGFjZV9zZXRfcHJvcGVydHkpLCAoZ3N0X2RlaW50ZXJsYWNlX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgIFBvcnQgc2ltcGxlIGRlaW50ZXJsYWNlciBmcm9tIDAuOC4gVXNlIGF0IHlvdXIgb3duIHJpc2ssIGRvbid0IGJsYW1lCgkgIG1lIGZvciBhbnl0aGluZyBpdCBkb2VzIG9yIGRvZXMgbm90IGRvIHRvIHlvdXIgcHJlY2lvdXMgcGljdHVyZXMuCgoyMDA2LTEwLTExIDEzOjQ5OjI2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgc29tZSBmb3VyY2MgZm9yIERWIGZvcm1hdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIHNvbWUgZm91cmNjIGZvciBEViBmb3JtYXQuCgoyMDA2LTEwLTEwIDE4OjU0OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBQcmludGYgZm9ybWF0IGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChleHRyYWN0X2luaXRpYWxfbGVuZ3RoX2FuZF9mb3VyY2MpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpOgoJICBQcmludGYgZm9ybWF0IGZpeGVzLgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIFVzZSAiX3N0ZGludC5oIi4KCjIwMDYtMTAtMTAgMTY6MDk6NTggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiLzogUmVtb3ZlIHRoZXNlIGZpbGVzLCBub3QgbmVlZGVkIHVzZSBzeXN0ZW0gZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTEwLTEwICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9kdmItYXBpL2F1ZGlvLmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL2NhLmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL2RteC5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9mcm9udGVuZC5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9uZXQuaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvb3NkLmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL3ZlcnNpb24uaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvdmlkZW8uaDoKCSAgUmVtb3ZlIHRoZXNlIGZpbGVzLCBub3QgbmVlZGVkIHVzZSBzeXN0ZW0gZmlsZXMuCgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzogKGdzdF9kdmJzcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kdmJzcmNfY3JlYXRlKSwgKGdzdF9kdmJzcmNfb3V0cHV0X2Zyb250ZW5kX3N0YXRzKSwKCSAgKGdzdF9kdmJzcmNfdHVuZSk6CgkgIEZpeCB3YXJuaW5ncywgdWludDE2X3QgZXRjLiBpcyBpbiBzdGRpbnQuaC4KCSAgVXNlIHN5c3RlbSBpbmNsdWRlcyBub3Qgb3VyIGxvY2FsIG9uZXMuCgoyMDA2LTEwLTEwIDE1OjU1OjI1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogcG8vLmdpdGlnbm9yZToKCSAgQnVpbGRib3QsIEkgZG8gYXMgeW91IGNvbW1hbmQuIGh0dHA6Ly9idWlsZC5mbHVlbmRvLmNvbTo4MDgwL2dlbjY0LWJhZC1mdWxsL2J1aWxkcy80NzUvY3ZzJTIwaWdub3JlLzEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJ1aWxkYm90LCBJIGRvIGFzIHlvdSBjb21tYW5kLgoJICBodHRwOi8vYnVpbGQuZmx1ZW5kby5jb206ODA4MC9nZW42NC1iYWQtZnVsbC9idWlsZHMvNDc1L2N2cyUyMGlnbm9yZS8xCgoyMDA2LTEwLTEwIDE1OjQ3OjQ5ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgQWRkIGR2YiBkZXRlY3Rpb24gYW5kIGFsbG93IGR2YnNyYyB0byBiZSBidWlsdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMTAtMTAgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICBBZGQgZHZiIGRldGVjdGlvbiBhbmQgYWxsb3cgZHZic3JjIHRvIGJlIGJ1aWx0LgoKMjAwNi0xMC0xMCAxNTowNTozMiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIEluaXRpYWwgaW1wb3J0IG9mIGR2YnNyYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMTAtMTAgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kdmIvQVVUSE9SUzoKCSAgKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kdmIvUkVBRE1FOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvYXVkaW8uaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvY2EuaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvZG14Lmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL2Zyb250ZW5kLmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL25ldC5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9vc2QuaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvdmVyc2lvbi5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS92aWRlby5oOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgSW5pdGlhbCBpbXBvcnQgb2YgZHZic3JjLgoJICBDdXJyZW50bHkgd29uJ3QgYmUgYnVpbHQuCgoyMDA2LTEwLTEwIDEyOjQ5OjAyICswMDAwICBKb3NlcCBUb3JyZSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSAgZXh0L2dub21ldmZzLzogRml4IFVSSSBpbnRlcmZhY2UgaW1wbGVtZW50YXRpb24gcmV0dXJuIHR5cGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTEwLTEwICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgIFBhdGNoIGJ5OiBKb3NlcCBUb3JyZSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NpbmsuYzoKCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzcmMuYzoKCSAgRml4IFVSSSBpbnRlcmZhY2UgaW1wbGVtZW50YXRpb24gcmV0dXJuIHR5cGUuCgkgICogZXh0L3BhbmdvL2dzdHRleHRvdmVybGF5LmM6IChnc3RfdGV4dF9vdmVybGF5X3NldF9wcm9wZXJ0eSk6CgkgIEZpeCB3aGF0IGxvb2tzIGxpa2UgYSBjb3B5L3Bhc3RlIGlzc3VlIHdoZW4gYXNzaWduaW5nIHZhbHVlcy4KCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YXVkaW9maWx0ZXJ0ZW1wbGF0ZS5jOgoJICAoZ3N0X2F1ZGlvX2ZpbHRlcl90ZW1wbGF0ZV9nZXRfdHlwZSk6CgkgIENhc3QgdG8gcHJldmVudCBGb3J0ZSB3YXJuaW5ncy4KCSAgKiBnc3QtbGlicy9nc3QvY2RkYS9nc3RjZGRhYmFzZXNyYy5jOiAoZ3N0X2NkZGFfYmFzZV9zcmNfY3JlYXRlKToKCSAgRml4IFVSSSBpbnRlcmZhY2UgaW1wbGVtZW50YXRpb24gcmV0dXJuIHR5cGUuCgkgIGdzdF9wYWRfcXVlcnlfcG9zaXRpb24gcmVxdWlyZXMgYSBzaWduZWQgaW50ZWdlciBwb2ludGVyIGFzCgkgIDNyZCBwYXJhbWV0ZXIsIEdzdENsb2NrVGltZSBpcyB1bnNpZ25lZC4KCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2F1ZGlvY29udmVydC5jOgoJICBGaXggaW50ZWdlciBvdmVyZmxvdyB3aGVuIHRyZWF0ZWQgYXMgc2lnbmVkLgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmM6IChyZXNhbXBsZV9hZGRfaW5wdXRfZGF0YSk6CgkgIENhc3QgdG8gcHJldmVudCB3YXJuaW5ncyBvbiBGb3J0ZS4KCSAgKiBnc3QvZmZtcGVnY29sb3JzcGFjZS9pbWdjb252ZXJ0LmM6IChidWlsZF9yZ2JfcGFsZXR0ZSk6CgkgIEZpeCBpbnRlZ2VyIG92ZXJmbG93IHdoZW4gdHJlYXRlZCBhcyBzaWduZWQuCgkgICogZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvaW1nY29udmVydF90ZW1wbGF0ZS5oOgoJICBGaXggaW50ZWdlciBvdmVyZmxvdyB3aGVuIHRyZWF0ZWQgYXMgc2lnbmVkLiBSR0JBX09VVCBzaGlmdHMgYml0cy4KCSAgKiBnc3QvcGxheWJhY2svZ3N0ZGVjb2RlYmluLmM6IChxdWV1ZV9maWxsZWRfY2IpLAoJICAoY2xlYW51cF9kZWNvZGViaW4pOgoJICBXaG8gaW5pdGlhbGlzZXMgYSBndWludCB0byAtMSEKCSAgQ2FzdCBmdW5jdGlvbiBwb2ludGVycyB0byBwcmV2ZW50IHdhcm5pbmdzIG9uIEZvcnRlLgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmFzZWJpbi5jOiAocXVldWVfZGVhZGxvY2tfY2hlY2spLAoJICAocXVldWVfdGhyZXNob2xkX3JlYWNoZWQpOgoJICBDYXN0IGZ1bmN0aW9uIHBvaW50ZXJzIGNvcnJlY3RseSB0byBwcmV2ZW50IHdhcm5pbmdzIG9uIEZvcnRlLgoJICAqIGdzdC9wbGF5YmFjay9nc3RzdHJlYW1pbmZvLmM6IChnc3Rfc3RyZWFtX2luZm9fZGlzcG9zZSk6CgkgIENhc3QgZnVuY3Rpb24gcG9pbnRlcnMgY29ycmVjdGx5IHRvIHByZXZlbnQgd2FybmluZ3Mgb24gRm9ydGUuCgkgICogZ3N0L3N1YnBhcnNlL2dzdHNzYXBhcnNlLmM6IChnc3Rfc3NhX3BhcnNlX3NldGNhcHMpOgoJICBPYnZpb3VzIGNoYW5nZSB0byB1bnNpZ25lZCwgMHhFRiA+IG1heCBzaWduZWQgY2hhci4KCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmM6IChnZXRfYnVmZmVyc19tYXgpLCAoY291bnRfYnVyc3RfdW5pdCk6CgkgIEdzdENsb2NrVGltZSBpcyB1bnNpZ25lZCwgaW5pdGlhbGlzZSBjb3JyZWN0bHkuCgkgICogZ3N0L3RjcC9nc3R0Y3AuYzogKGdzdF90Y3Bfc29ja2V0X3dyaXRlKToKCSAgQ2FzdCBzbyBwb2ludGVyIGFyaXRoZW1ldGljIGRvZXNuJ3QgY2F1c2Ugd2FybmluZ3Mgb24gRm9ydGUuCgkgICogZ3N0L3ZpZGVvcmF0ZS9nc3R2aWRlb3JhdGUuYzoKCSAgVXNlIGNvcnJlY3QgcmV0dXJuIHZhbHVlLgoJICAqIHRlc3RzL2V4YW1wbGVzL3NlZWsvc2NydWJieS5jOgoJICBHc3RDbG9ja1RpbWUgaXMgdW5zaWduZWQsIGluaXRpYWxpc2UgY29ycmVjdGx5LgoKMjAwNi0xMC0xMCAwOTo1NzoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmVvcmdhbmlzZSBzb21lIHN0dWZmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X3B1c2hfZXZlbnQpLCAoZ3N0X3F0ZGVtdXhfZG9fc2VlayksCgkgIChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZXh0cmFjdF9pbml0aWFsX2xlbmd0aF9hbmRfZm91cmNjKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwgKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksIChnc3RfcXRkZW11eF9sb29wKSwKCSAgKGdzdF9xdGRlbXV4X3Bvc3RfYnVmZmVyaW5nKSwgKGdzdF9xdGRlbXV4X2NoYWluKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9wcm9jZXNzX3JlZGlyZWN0cyksCgkgIChxdGRlbXV4X3BhcnNlX3RyZWUpLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgUmVvcmdhbmlzZSBzb21lIHN0dWZmLgoJICBQYXJzZSBSVFNQIHJlZGlyZWN0aW9uIFVSTFMuCgoyMDA2LTEwLTA3IDExOjM3OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkL3VwZGF0ZSBkb2NzIHN0dWZmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN3ZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICBBZGQvdXBkYXRlIGRvY3Mgc3R1ZmYuCgoyMDA2LTEwLTA2IDE1OjU2OjAxICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgQWRkIFJlcGxheUdhaW4gYW5hbHlzaXMgZWxlbWVudCAoIzM1NzA2OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciAgPG1haWwgYXQgcmVuZXN0YWRsZXIgZGU+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZ3N0L3JlcGxheWdhaW4vTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOiAoZ3N0X3JnX2FuYWx5c2lzX2Jhc2VfaW5pdCksCgkgIChnc3RfcmdfYW5hbHlzaXNfY2xhc3NfaW5pdCksIChnc3RfcmdfYW5hbHlzaXNfaW5pdCksCgkgIChnc3RfcmdfYW5hbHlzaXNfc2V0X3Byb3BlcnR5KSwgKGdzdF9yZ19hbmFseXNpc19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3N0YXJ0KSwgKGdzdF9yZ19hbmFseXNpc19zZXRfY2FwcyksCgkgIChnc3RfcmdfYW5hbHlzaXNfdHJhbnNmb3JtX2lwKSwgKGdzdF9yZ19hbmFseXNpc19ldmVudCksCgkgIChnc3RfcmdfYW5hbHlzaXNfc3RvcCksIChnc3RfcmdfYW5hbHlzaXNfaGFuZGxlX3RhZ3MpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX2hhbmRsZV9lb3MpLCAoZ3N0X3JnX2FuYWx5c2lzX3RyYWNrX3Jlc3VsdCksCgkgIChnc3RfcmdfYW5hbHlzaXNfYWxidW1fcmVzdWx0KSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5jOiAoeXVsZV9maWx0ZXIpLCAoYnV0dGVyX2ZpbHRlciksCgkgIChhcHBseV9maWx0ZXJzKSwgKHJlc2V0X2ZpbHRlcnMpLCAoYWNjdW11bGF0b3JfYWRkKSwKCSAgKGFjY3VtdWxhdG9yX2NsZWFyKSwgKGFjY3VtdWxhdG9yX3Jlc3VsdCksIChyZ19hbmFseXNpc19uZXcpLAoJICAocmdfYW5hbHlzaXNfc2V0X3NhbXBsZV9yYXRlKSwgKHJnX2FuYWx5c2lzX2Rlc3Ryb3kpLAoJICAocmdfYW5hbHlzaXNfYW5hbHl6ZV9tb25vX2Zsb2F0KSwKCSAgKHJnX2FuYWx5c2lzX2FuYWx5emVfc3RlcmVvX2Zsb2F0KSwKCSAgKHJnX2FuYWx5c2lzX2FuYWx5emVfbW9ub19pbnQxNiksCgkgIChyZ19hbmFseXNpc19hbmFseXplX3N0ZXJlb19pbnQxNiksIChyZ19hbmFseXNpc19hbmFseXplKSwKCSAgKHJnX2FuYWx5c2lzX3RyYWNrX3Jlc3VsdCksIChyZ19hbmFseXNpc19hbGJ1bV9yZXN1bHQpLAoJICAocmdfYW5hbHlzaXNfcmVzZXRfYWxidW0pLCAocmdfYW5hbHlzaXNfcmVzZXQpOgoJICAqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuaDoKCSAgQWRkIFJlcGxheUdhaW4gYW5hbHlzaXMgZWxlbWVudCAoIzM1NzA2OSkuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChnZXRfZXhwZWN0ZWRfZ2FpbiksCgkgIChzZXR1cF9yZ2FuYWx5c2lzKSwgKGNsZWFudXBfcmdhbmFseXNpcyksIChzZXRfcGxheWluZ19zdGF0ZSksCgkgIChzZW5kX2Vvc19ldmVudCksIChzZW5kX3RhZ19ldmVudCksIChwb2xsX2VvcyksIChwb2xsX3RhZ3MpLAoJICAoZmFpbF91bmxlc3NfdHJhY2tfZ2FpbiksIChmYWlsX3VubGVzc190cmFja19wZWFrKSwKCSAgKGZhaWxfdW5sZXNzX2FsYnVtX2dhaW4pLCAoZmFpbF91bmxlc3NfYWxidW1fcGVhayksCgkgIChmYWlsX2lmX3RyYWNrX3RhZ3MpLCAoZmFpbF9pZl9hbGJ1bV90YWdzKSwKCSAgKGZhaWxfdW5sZXNzX251bV90cmFja3MpLCAodGVzdF9idWZmZXJfY29uc3RfZmxvYXRfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9jb25zdF9mbG9hdF9zdGVyZW8pLCAodGVzdF9idWZmZXJfY29uc3RfaW50MTZfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9jb25zdF9pbnQxNl9zdGVyZW8pLCAodGVzdF9idWZmZXJfc3F1YXJlX2Zsb2F0X21vbm8pLAoJICAodGVzdF9idWZmZXJfc3F1YXJlX2Zsb2F0X3N0ZXJlbyksICh0ZXN0X2J1ZmZlcl9zcXVhcmVfaW50MTZfbW9ubyksCgkgICh0ZXN0X2J1ZmZlcl9zcXVhcmVfaW50MTZfc3RlcmVvKSwgKHB1c2hfYnVmZmVyKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHJnYW5hbHlzaXNfc3VpdGUpLCAobWFpbik6CgkgIFVuaXQgdGVzdHMgZm9yIHRoZSBuZXcgcmVwbGF5Z2FpbiBlbGVtZW50LgoKMjAwNi0xMC0wNiAxNTo0OTozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogU29tZSBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfc2V0Y2FwcyksIChnc3RfZmFhZF9jaGFpbiksCgkgIChnc3RfZmFhZF9jbG9zZV9kZWNvZGVyKToKCSAgU29tZSBjbGVhbnVwcy4KCSAgQWRkZWQgc29tZSBtb3JlIGRlYnVnZ2luZy4KCSAgRG9uJ3QgZXZlciBpZ25vcmUgdW5saW5rZWQsIHdlJ3JlIG5vdCBhIGRlbXV4ZXIuCgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSk6CgkgIEFjdGl2YXRlIHBhZCBiZWZvcmUgYWRkaW5nIGl0IHRvIHRoZSBlbGVtZW50LgoKMjAwNi0xMC0wNiAxMjowMjowOSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L3RoZW9yYS90aGVvcmFkZWMuKjogUG9ydCBsb3RzIG9mIGNoYW5nZXMgZnJvbSB0aGVvcmFkZWMgdG8gdGhlb3JhZXhwZGVjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiAoZ3N0X3RoZW9yYWRlY19yZXNldCksCgkgICh0aGVvcmFfZ2V0X3F1ZXJ5X3R5cGVzKSwgKHRoZW9yYV9kZWNfc3JjX3F1ZXJ5KSwKCSAgKHRoZW9yYV9kZWNfc3JjX2V2ZW50KSwgKHRoZW9yYV9kZWNfc2lua19ldmVudCksCgkgICh0aGVvcmFfaGFuZGxlX2NvbW1lbnRfcGFja2V0KSwgKHRoZW9yYV9oYW5kbGVfdHlwZV9wYWNrZXQpLAoJICAodGhlb3JhX2hhbmRsZV9oZWFkZXJfcGFja2V0KSwgKGNsaXBfYnVmZmVyKSwgKHRoZW9yYV9kZWNfcHVzaCksCgkgICh0aGVvcmFfaGFuZGxlXzQyMl9pbWFnZSksICh0aGVvcmFfaGFuZGxlXzQyMF9pbWFnZSksCgkgICh0aGVvcmFfaGFuZGxlX2RhdGFfcGFja2V0KSwgKHRoZW9yYV9kZWNfY2hhaW4pLAoJICAodGhlb3JhX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmg6CgkgIFBvcnQgbG90cyBvZiBjaGFuZ2VzIGZyb20gdGhlb3JhZGVjIHRvIHRoZW9yYWV4cGRlYy4KCSAgVGhpcyBjYXRjaGVzIHRoaXMgcGx1Z2luIHVwIHRvIHRoZW9yYWRlYy4gTm90ZSB0aGF0IGR1cGxpY2F0ZSBmcmFtZXMKCSAgYXJlIGJyb2tlbiBpbiB0aGVvcmFkZWMgYXQgdGhlIG1vbWVudC4KCjIwMDYtMTAtMDYgMTE6MzE6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogRml4IG1lbSBsZWFrLCBhdm9pZCB1bm5lY2Vzc2FyeSBtZW1jcHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIEZpeCBtZW0gbGVhaywgYXZvaWQgdW5uZWNlc3NhcnkgbWVtY3B5LgoKMjAwNi0xMC0wNiAwMjoyOTozNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IFJlbW92ZWQgY3J1ZnQgY29kZSB0aGF0IHdhcyBqdXN0IGNvbW1lbnRlZCBvdXQuIFJlbW92ZWQgc29tZSBvYnNvbGV0ZSBkZWJ1ZyBsb2dzIHN0YXRlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIFJlbW92ZWQgY3J1ZnQgY29kZSB0aGF0IHdhcyBqdXN0IGNvbW1lbnRlZCBvdXQuIFJlbW92ZWQgc29tZSBvYnNvbGV0ZQoJICBkZWJ1ZyBsb2dzIHN0YXRlbWVudHMuCgoyMDA2LTEwLTA1IDE4OjE0OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgQW5vdGhlciBiYXRjaCBvZiBwcmludGYgZm9ybWF0IGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19jaGFpbik6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X3RybV9zZXRjYXBzKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfc2lua19zZXRfY2Fwcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhaW4pLCAocXRkZW11eF9wYXJzZSksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIEFub3RoZXIgYmF0Y2ggb2YgcHJpbnRmIGZvcm1hdCBmaXhlcy4KCjIwMDYtMTAtMDUgMTU6NTU6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBQcmludGYgZm9ybWF0IGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYS9nc3RhbHNhZGV2aWNlcHJvYmUuYzoKCSAgKGdzdF9hbHNhX2RldmljZV9wcm9wZXJ0eV9wcm9iZV9nZXRfdmFsdWVzKToKCSAgKiBleHQvYWxzYS9nc3RhbHNhc2luay5jOiAoc2V0X2h3cGFyYW1zKToKCSAgKiBleHQvb2dnL2dzdG9nZ2RlbXV4LmM6IChnc3Rfb2dnX2RlbXV4X2NoYWluX2VsZW1fcGFkKSwKCSAgKGdzdF9vZ2dfY2hhaW5fbmV3X3N0cmVhbSksIChnc3Rfb2dnX2RlbXV4X3JlYWRfY2hhaW4pOgoJICAqIGV4dC9vZ2cvZ3N0b2dnbXV4LmM6IChnc3Rfb2dnX211eF9zZW5kX2hlYWRlcnMpLAoJICAoZ3N0X29nZ19tdXhfcHJvY2Vzc19iZXN0X3BhZCk6CgkgICogZXh0L29nZy9nc3RvZ2dwYXJzZS5jOiAoZ3N0X29nZ19wYXJzZV9uZXdfc3RyZWFtKSwKCSAgKGdzdF9vZ2dfcGFyc2VfY2hhaW4pOgoJICAqIGV4dC9vZ2cvZ3N0b2dtcGFyc2UuYzogKGdzdF9vZ21fcGFyc2Vfc3RyZWFtX2hlYWRlcik6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNkZWMuYzogKHZvcmJpc19oYW5kbGVfZGF0YV9wYWNrZXQpOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzZW5jLmM6IChnc3Rfdm9yYmlzX2VuY19zZXR1cCksCgkgIChnc3Rfdm9yYmlzX2VuY19idWZmZXJfY2hlY2tfZGlzY29udGludW91cyk6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNwYXJzZS5jOiAodm9yYmlzX3BhcnNlX3NyY19xdWVyeSk6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGJhc2VhdWRpb3NpbmsuYzoKCSAgKGdzdF9iYXNlX2F1ZGlvX3NpbmtfcmVuZGVyKToKCSAgKiBnc3QtbGlicy9nc3QvY2RkYS9nc3RjZGRhYmFzZXNyYy5jOgoJICAoZ3N0X2NkZGFfYmFzZV9zcmNfaGFuZGxlX3RyYWNrX3NlZWspOgoJICAqIGdzdC1saWJzL2dzdC9ydHAvZ3N0YmFzZXJ0cGRlcGF5bG9hZC5jOgoJICAoZ3N0X2Jhc2VfcnRwX2RlcGF5bG9hZF9wdXNoX2Z1bGwpOgoJICAqIGdzdC1saWJzL2dzdC9ydHAvZ3N0YmFzZXJ0cHBheWxvYWQuYzogKGdzdF9iYXNlcnRwcGF5bG9hZF9wdXNoKToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5jOiAocmVzYW1wbGVfaW5wdXRfcHVzaHRocm91Z2gpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmFzZWJpbi5jOiAocXVldWVfb3V0X29mX2RhdGEpOgoJICAqIGdzdC90Y3AvZ3N0bXVsdGlmZHNpbmsuYzogKGdzdF9tdWx0aV9mZF9zaW5rX2hhbmRsZV9jbGllbnRzKToKCSAgKiBnc3QvdHlwZWZpbmQvZ3N0dHlwZWZpbmRmdW5jdGlvbnMuYzogKG1wM190eXBlX2ZpbmRfYXRfb2Zmc2V0KSwKCSAgKHdhdnBhY2tfdHlwZV9maW5kKToKCSAgKiBnc3QvdmlkZW90ZXN0c3JjL2dzdHZpZGVvdGVzdHNyYy5jOiAoZ3N0X3ZpZGVvX3Rlc3Rfc3JjX2NyZWF0ZSk6CgkgICogc3lzL3h2aW1hZ2UveHZpbWFnZXNpbmsuYzogKGdzdF94dmltYWdlX2J1ZmZlcl9kZXN0cm95KSwKCSAgKGdzdF94dmltYWdlc2lua19jaGVja194c2htX2NhbGxzKSwgKGdzdF94dmltYWdlc2lua194dmltYWdlX25ldyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9sdW1lLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIFByaW50ZiBmb3JtYXQgZml4ZXMuCgoyMDA2LTEwLTA0IDIyOjM3OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuKjogSGFuZGxlIHBhY2tlZCBZVVYgZm9ybWF0cyAoVVlWWSwgWVVZMiwgWVVZVikgc2VwYXJhdGVseTsgYWxzbywgZml4IHBhc3N0aHJvdWdoIG1vZGU7IGxhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IChnc3RfdmlkZW9fY3JvcF9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb19jcm9wX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfZ2V0X2ltYWdlX2RldGFpbHNfZnJvbV9jYXBzKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9wYWNrZWRfY29tcGxleCksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGFja2VkX3NpbXBsZSksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm0pLCAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2Nyb3Bfc2V0X2NhcHMpLAoJICAoZ3N0X3ZpZGVvY3JvcF9jbGVhcl9uZWdvdGlhdGVkX2NhcHNfbG9ja2VkKSwKCSAgKGdzdF92aWRlb19jcm9wX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSAgSGFuZGxlIHBhY2tlZCBZVVYgZm9ybWF0cyAoVVlWWSwgWVVZMiwgWVVZVikgc2VwYXJhdGVseTsgYWxzbywgZml4CgkgIHBhc3N0aHJvdWdoIG1vZGU7IGxhc3RseSwgY2xlYXIgbmVnb3RpYXRlZCBiYXNldHJhbnNmb3JtIGNhcHMgd2hlbgoJICB0aGUgY3JvcHBpbmcgY2hhbmdlcyBpbiBvcmRlciB0byBmb3JjZSByZW5lZ290aWF0aW9uLgoKMjAwNi0xMC0wNCAyMDowNTowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzLzogVmlzdWFsIHRlc3QgZm9yIHZpZGVvY3JvcCwgc2hvd3MgdGhhdCBwYWNrZWQgeXV2IGRvZXNuJ3Qgd29yayByaWdodCB5ZXQuIC0td2l0aC1mZm1wZWdjb2xvcnNwYWNlIG9wdGlvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IChxdWl0X21haW5sb29wKSwgKHRpY2tfY2IpLAoJICAodGVzdF93aXRoX2NhcHMpLCAodmlkZW9fY3JvcF9nZXRfdGVzdF9jYXBzKSwgKG1haW4pOgoJICBWaXN1YWwgdGVzdCBmb3IgdmlkZW9jcm9wLCBzaG93cyB0aGF0IHBhY2tlZCB5dXYgZG9lc24ndCB3b3JrIHJpZ2h0CgkgIHlldC4gLS13aXRoLWZmbXBlZ2NvbG9yc3BhY2Ugb3B0aW9uIGRvZXNuJ3Qgd29yayB5ZXQgZm9yIHVua25vd24KCSAgcmVhc29ucyAoYW5vdGhlciBiYXNldHJhbnNmb3JtIGlzc3VlPykKCjIwMDYtMTAtMDQgMTA6NTU6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBSZW1vdmUgbW9yZSB2NGwyIHN0dWZmLCBob3BlZnVsbHkgZml4aW5nICdtYWtlIGRpc3RjaGVjaycgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICAqIHN5cy92NGwyLy5jdnNpZ25vcmU6CgkgIFJlbW92ZSBtb3JlIHY0bDIgc3R1ZmYsIGhvcGVmdWxseSBmaXhpbmcgJ21ha2UgZGlzdGNoZWNrJyBhZ2Fpbi4KCjIwMDYtMTAtMDQgMTA6Mjk6MjIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcmVtb3ZlZCB2NGwyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkgICogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHJlbW92ZWQgdjRsMgoKMjAwNi0xMC0wMyAxODozMjozMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIHJlbW92aW5nIGljbGUgZm9yIHY0bDIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92aW5nIGljbGUgZm9yIHY0bDIKCjIwMDYtMTAtMDMgMTg6Mjc6NTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICByZW1vdmUgbGFzdCBjb25kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgbGFzdCBjb25kCgoyMDA2LTEwLTAzIDE4OjIzOjIxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIG1vdmVkIHRvIGdzdC1wbHVnaW5zLWdvb2QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdjRsMi9SRUFETUU6CgkgICogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBtb3ZlZCB0byBnc3QtcGx1Z2lucy1nb29kCgoyMDA2LTEwLTAzIDEzOjQ3OjEwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgY29tbWVudCBvdXQgdGhlIG5vdGlmaWVzIGZvciByZW1vdmVkIHByb3BlcnRpZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNvbW1lbnQgb3V0IHRoZSBub3RpZmllcyBmb3IgcmVtb3ZlZCBwcm9wZXJ0aWVzCgoyMDA2LTEwLTAzIDEzOjMwOjQ4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogY29tbWVudCBvdXQgdGhlIHByb3BlcnRpZXMgdGhhdCBhcmUgYWxyZWFkeSBwYXJ0IG9mIHRoZSB0dW5lciBpbnRlcmZhY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgKGdzdF92NGwyX29iamVjdF9pbnN0YWxsX3Byb3BlcnRpZXNfaGVscGVyKToKCSAgY29tbWVudCBvdXQgdGhlIHByb3BlcnRpZXMgdGhhdCBhcmUgYWxyZWFkeSBwYXJ0IG9mIHRoZSB0dW5lcgoJICBpbnRlcmZhY2UuCgoyMDA2LTEwLTAzIDEzOjE4OjU5ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBJbXByb3ZlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTEwLTAzICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBJbXByb3ZlIGRvY3MuCgoyMDA2LTEwLTAyIDEzOjI4OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3h2aWQvZ3N0eHZpZC5jOiBTZXQgcmFuayBvZiB4dmlkZGVjIHRvIE5PTkUgdW50aWwgc29tZW9uZSBmaXhlcyBpdCAodG9vIG1hbnkgY3Jhc2hlciBidWcgcmVwb3J0cyBhZ2FpbnN0IHRvdGVtLCBwLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94dmlkL2dzdHh2aWQuYzogKHBsdWdpbl9pbml0KToKCSAgU2V0IHJhbmsgb2YgeHZpZGRlYyB0byBOT05FIHVudGlsIHNvbWVvbmUgZml4ZXMgaXQgKHRvbyBtYW55IGNyYXNoZXIKCSAgYnVnIHJlcG9ydHMgYWdhaW5zdCB0b3RlbSwgcGVvcGxlIHNob3VsZCB1c2UgZ3N0LWZmbXBlZykuCgoyMDA2LTA5LTI4IDE3OjA4OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvOiBGcmFtZXJhdGUgY2FuIGJlIDAvMSB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2dldF9hbGxfY2FwcyksCgkgIChnc3RfdjRsMnNyY19nZXRfY2Fwcyk6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZmlsbF9saXN0cyk6CgkgIEZyYW1lcmF0ZSBjYW4gYmUgMC8xIHRvby4KCSAgSW5pdCBmcmFtZXJhdGUgdG8gMC8xIGJlZm9yZSBxdWVyeWluZyBpdCBzbyB0aGF0IHdlIGNhbiBkZXRlY3QKCSAgZGV2aWNlcyB0aGF0IGRvbid0IGtub3cgYWJvdXQgYSBmcmFtZXJhdGUuCgkgIEFkZCBzb21lIG1vcmUgZGVidWdnaW5nIGluZm8uCgoyMDA2LTA5LTI4IDE0OjMxOjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgc3VwcG9ydCBmb3IgJ3l2MTInIGZvdXJjYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIHN1cHBvcnQgZm9yICd5djEyJyBmb3VyY2MuCgoyMDA2LTA5LTI3IDE3OjQ3OjU3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgUmVtb3ZlZCBzZXQtdW5kZWYtZnBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlZCBzZXQtdW5kZWYtZnBzLgoKMjAwNi0wOS0yNyAxNzowNDoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyLzogUmVuYW1lZCBzb21lIHByb3BlcnRpZXMgdG8gbWF0Y2ggdGhlIHR1bmVyIGludGVyZmFjZSBuYW1pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgKGdzdF92NGwyX29iamVjdF9pbnN0YWxsX3Byb3BlcnRpZXNfaGVscGVyKSwgKGdzdF92NGwyX29iamVjdF9uZXcpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X3NldF9wcm9wZXJ0eV9oZWxwZXIpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X2dldF9wcm9wZXJ0eV9oZWxwZXIpLCAoZ3N0X3Y0bDJfc2V0X2RlZmF1bHRzKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdjRsMnNyY19jcmVhdGUpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOiAoZ3N0X3Y0bDJfdHVuZXJfY29udGFpbnNfY2hhbm5lbCksCgkgIChnc3RfdjRsMl90dW5lcl9saXN0X2NoYW5uZWxzKSwKCSAgKGdzdF92NGwyX3R1bmVyX3NldF9jaGFubmVsX2FuZF9ub3RpZnkpLAoJICAoZ3N0X3Y0bDJfdHVuZXJfZ2V0X2NoYW5uZWwpLCAoZ3N0X3Y0bDJfdHVuZXJfY29udGFpbnNfbm9ybSksCgkgIChnc3RfdjRsMl90dW5lcl9saXN0X25vcm1zKSwgKGdzdF92NGwyX3R1bmVyX3NldF9ub3JtX2FuZF9ub3RpZnkpLAoJICAoZ3N0X3Y0bDJfdHVuZXJfZ2V0X25vcm0pOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2dldF9jYXBhYmlsaXRpZXMpLAoJICAoZ3N0X3Y0bDJfZmlsbF9saXN0cyksIChnc3RfdjRsMl9lbXB0eV9saXN0cyk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZ2V0X2Zwcyk6CgkgIFJlbmFtZWQgc29tZSBwcm9wZXJ0aWVzIHRvIG1hdGNoIHRoZSB0dW5lciBpbnRlcmZhY2UgbmFtaW5nLgoKMjAwNi0wOS0yNyAxNjoxNDoxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIFNtYWxsIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IChnc3RfdjRsMl9vYmplY3Rfc2V0X3Byb3BlcnR5X2hlbHBlciksCgkgIChnc3RfdjRsMl9zZXRfZGVmYXVsdHMpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2dldF9yZWFkKSwKCSAgKGdzdF92NGwyc3JjX2NyZWF0ZSk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6IChnc3RfdjRsMl94b3ZlcmxheV9vcGVuKToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9nZXRfY2FwYWJpbGl0aWVzKSwKCSAgKGdzdF92NGwyX2ZpbGxfbGlzdHMpLCAoZ3N0X3Y0bDJfb3BlbiksIChnc3RfdjRsMl9zZXRfbm9ybSksCgkgIChnc3RfdjRsMl9nZXRfZnJlcXVlbmN5KSwgKGdzdF92NGwyX3NldF9mcmVxdWVuY3kpLAoJICAoZ3N0X3Y0bDJfc2lnbmFsX3N0cmVuZ3RoKSwgKGdzdF92NGwyX2dldF9hdHRyaWJ1dGUpLAoJICAoZ3N0X3Y0bDJfc2V0X2F0dHJpYnV0ZSksIChnc3RfdjRsMl9nZXRfaW5wdXQpLAoJICAoZ3N0X3Y0bDJfc2V0X2lucHV0KToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KSwKCSAgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpLCAoZ3N0X3Y0bDJzcmNfZ2V0X2NhcHR1cmUpLAoJICAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpLCAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfc3RhcnQpLCAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdG9wKSwKCSAgKGdzdF92NGwyc3JjX2J1ZmZlcl9uZXcpOgoJICAqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOiAobXlfYnVzX2NhbGxiYWNrKSwgKG1haW4pOgoJICBTbWFsbCBjbGVhbnVwcy4KCSAgRml4IGVycm9yIG1lc3NhZ2VzLgoJICBVc2UgbG9ja3Mgd2hlbiBnZXR0aW5nIHRpbWVzdGFtcHMuCgkgIEZpeCBsZWFrcyBpbiB0ZXN0LgoJICBBZGQgbGljZW5zaW5nIGhlYWRlciB0byB0ZXN0cy4KCjIwMDYtMDktMjcgMTU6MTQ6MDcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgU29tZSBjbGVhbnVwcyBhbmQgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTb21lIGNsZWFudXBzIGFuZCBjb21tZW50cy4KCjIwMDYtMDktMjYgMTQ6MTc6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgdjRsMiBwbHVnaW4gdG8gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEFkZCB2NGwyIHBsdWdpbiB0byB0aGUgZG9jcy4KCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19nZXRfcmVhZCksCgkgIChnc3RfdjRsMnNyY19nZXRfbW1hcCksIChnc3RfdjRsMnNyY19jcmVhdGUpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50LmM6CgkgIEZpeCBkb2NzLgoJICBSZW1vdmUgc29tZSBtb3JlIGV4dGVybnMuCgoyMDA2LTA5LTI2IDEzOjE4OjA2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvTWFrZWZpbGUuYW06IEZpeCBtYWtlZmlsZSwgbGlzdCBsaWJzIGluIHN0YWNrIG9yZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSAgRml4IG1ha2VmaWxlLCBsaXN0IGxpYnMgaW4gc3RhY2sgb3JkZXIuCgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IChnc3RfdjRsMl9kZXZpY2VfZ2V0X3R5cGUpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X2luc3RhbGxfcHJvcGVydGllc19oZWxwZXIpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19nZXRfcmVhZCksCgkgIChnc3RfdjRsMnNyY19nZXRfbW1hcCksIChnc3RfdjRsMnNyY19jcmVhdGUpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgRml4IGNvZGluZyBzdHlsZToKCSAgLSBSZW1vdmUgZXh0ZXJuIGZyb20gZnVuY3Rpb25zLgoJICAtIEZpeCBoZWFkZXIgaW5kZW50YXRpb24uCgkgIEZpeCBGbGFncywgYWRkIGRlZmF1bHRzIGZvciBwcm9wZXJ0aWVzLgoJICBSZW1vdmUgdW51c2VkIGVudW1zLgoJICBGaXggVE9PX0xBWlkgaW4gZXJyb3IgbWVzc2FnZXMuCgoyMDA2LTA5LTI2IDExOjA2OjE3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgc3lzL3Y0bDIvOiBGaXggcGFzcyBhdCBjb2RlIGNsZWFudXBzLCBtb3ZlIGVycm9ycyBjYXNlcyBvdXQgb2YgdGhlIG5vcm1hbCBmbG93IGZvciBhZGRpdGlvbmFsIGNvZGUgY2xhcml0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiAoZ3N0X3Y0bDJfY2xhc3NfcHJvYmVfZGV2aWNlcyksCgkgIChnc3RfdjRsMl9wcm9iZV9uZWVkc19wcm9iZSksCgkgIChnc3RfdjRsMl9vYmplY3RfaW5zdGFsbF9wcm9wZXJ0aWVzX2hlbHBlciksIChnc3RfdjRsMl9vYmplY3RfbmV3KSwKCSAgKGdzdF92NGwyX29iamVjdF9kZXN0cm95KSwgKGdzdF92NGwyX29iamVjdF9zZXRfcHJvcGVydHlfaGVscGVyKSwKCSAgKGdzdF92NGwyX29iamVjdF9nZXRfcHJvcGVydHlfaGVscGVyKSwgKGdzdF92NGwyX3NldF9kZWZhdWx0cyksCgkgIChnc3RfdjRsMl9vYmplY3Rfc3RhcnQpLCAoZ3N0X3Y0bDJfb2JqZWN0X3N0b3ApOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19jbGFzc19pbml0KSwKCSAgKGdzdF92NGwyc3JjX2luaXQpLCAoZ3N0X3Y0bDJzcmNfZGlzcG9zZSksCgkgIChnc3RfdjRsMnNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3Y0bDJzcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92NGwyc3JjX2ZpeGF0ZSksIChnc3RfdjRsMnNyY19nZXRfY2FwcyksCgkgIChnc3RfdjRsMnNyY19zZXRfY2FwcyksIChnc3RfdjRsMnNyY19nZXRfcmVhZCksCgkgIChnc3RfdjRsMnNyY19nZXRfbW1hcCksIChnc3RfdjRsMnNyY19jcmVhdGUpOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2dldF9jYXBhYmlsaXRpZXMpLAoJICAoZ3N0X3Y0bDJfb3BlbiksIChnc3RfdjRsMl9jbG9zZSksIChnc3RfdjRsMl9nZXRfbm9ybSksCgkgIChnc3RfdjRsMl9zZXRfbm9ybSksIChnc3RfdjRsMl9nZXRfZnJlcXVlbmN5KSwKCSAgKGdzdF92NGwyX3NldF9mcmVxdWVuY3kpLCAoZ3N0X3Y0bDJfc2lnbmFsX3N0cmVuZ3RoKSwKCSAgKGdzdF92NGwyX2dldF9hdHRyaWJ1dGUpLCAoZ3N0X3Y0bDJfc2V0X2F0dHJpYnV0ZSksCgkgIChnc3RfdjRsMl9nZXRfaW5wdXQpLCAoZ3N0X3Y0bDJfc2V0X2lucHV0KToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IChnc3RfdjRsMnNyY19maWxsX2Zvcm1hdF9saXN0KSwKCSAgKGdzdF92NGwyc3JjX3F1ZXVlX2ZyYW1lKSwgKGdzdF92NGwyc3JjX2dyYWJfZnJhbWUpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X2NhcHR1cmUpLCAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHR1cmUpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KSwgKGdzdF92NGwyc3JjX2NhcHR1cmVfc3RhcnQpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9zdG9wKSwgKGdzdF92NGwyc3JjX2NhcHR1cmVfZGVpbml0KSwKCSAgKGdzdF92NGwyc3JjX2dldF9zaXplX2xpbWl0cyksIChnc3RfdjRsMnNyY19zZXRfZnBzKSwKCSAgKGdzdF92NGwyc3JjX2dldF9mcHMpLCAoZ3N0X3Y0bDJzcmNfYnVmZmVyX2ZpbmFsaXplKSwKCSAgKGdzdF92NGwyc3JjX2J1ZmZlcl9uZXcpOgoJICBGaXggcGFzcyBhdCBjb2RlIGNsZWFudXBzLCBtb3ZlIGVycm9ycyBjYXNlcyBvdXQgb2YgdGhlIG5vcm1hbAoJICBmbG93IGZvciBhZGRpdGlvbmFsIGNvZGUgY2xhcml0eS4KCjIwMDYtMDktMjMgMTM6MjE6NDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6IFBvcnQgdG8gMC4xMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOiAoZ3N0X2NkYXVkaW9fY2xhc3NfaW5pdCksCgkgIChnc3RfY2RhdWRpb19pbml0KSwgKGdzdF9jZGF1ZGlvX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfY2RhdWRpb19nZXRfcHJvcGVydHkpLCAoZ3N0X2NkYXVkaW9fY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9jZGF1ZGlvX3NlbmRfZXZlbnQpLCAoZ3N0X2NkYXVkaW9fZ2V0X3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF9jZGF1ZGlvX3F1ZXJ5KSwgKGNkYXVkaW9fdXJpX3NldF91cmkpOgoJICBQb3J0IHRvIDAuMTAuCgoyMDA2LTA5LTIzIDAwOjI4OjM1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogRml4IHByb2JsZW1zIHdoZW4gdGhlIGVsZW1lbnQgY2Fubm90IG9wZW4gdGhlIGRpc3BsYXkuIChmaXhlcyAjMzU3MjEyKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgIEZpeCBwcm9ibGVtcyB3aGVuIHRoZSBlbGVtZW50IGNhbm5vdCBvcGVuIHRoZSBkaXNwbGF5LgoJICAoZml4ZXMgIzM1NzIxMikKCjIwMDYtMDktMjIgMTY6MDg6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFVwIHJlcXVpcmVtZW50cyB0byAtYmFzZSBDVlMgYW5kIGNvcmUgQ1ZTICh0aGUgZm9ybWF0IGZvciB0aGUgdmlkZW8gb3JpZW50YXRpb24gaW50ZXJmYWNlIHVzZWQgYnkgdjRsMnMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVcCByZXF1aXJlbWVudHMgdG8gLWJhc2UgQ1ZTIGFuZCBjb3JlIENWUyAodGhlIGZvcm1hdCBmb3IgdGhlCgkgIHZpZGVvIG9yaWVudGF0aW9uIGludGVyZmFjZSB1c2VkIGJ5IHY0bDJzcmMgYW5kIHRoZSBsYXR0ZXIKCSAgc2luY2UgdGhhdCdzIHdoYXQgLWJhc2UgQ1ZTIHJlcXVpcmVzKS4KCjIwMDYtMDktMjIgMTU6NTk6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IExvd2VyIHJhbmsgZnJvbSBTRUNPTkRBUlkgdG8gTUFSR0lOQUwuIFBsdWdpbnMgaW4gLWJhZCB0aGF0IG1pZ2h0IGJlIGF1dG9wbHVnZ2VkIHNob3VsZG4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAocGx1Z2luX2luaXQpOgoJICBMb3dlciByYW5rIGZyb20gU0VDT05EQVJZIHRvIE1BUkdJTkFMLiBQbHVnaW5zIGluIC1iYWQgdGhhdCBtaWdodAoJICBiZSBhdXRvcGx1Z2dlZCBzaG91bGRuJ3QgdHJ1bXAgcGx1Z2lucyBpbiAtYmFzZSwgLWdvb2Qgb3IgLXVnbHkKCSAgKGluIHRoaXMgY2FzZSB4aW1hZ2VzaW5rKS4KCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChwbHVnaW5faW5pdCk6CgkgIFNldCByYW5rIHRvIE5PTkUgdG8gcHJldmVudCBpdCBmcm9tIGJlaW5nIGF1dG9wbHVnZ2VkIHVudGlsCgkgIGVycm9ycyBhcmUgaGFuZGxlZCBwcm9wZXJseSAoc2VlICMzNTcyMTIpLgoKMjAwNi0wOS0yMSAxNDowMToxOCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbmVvbi9NYWtlZmlsZS5hbToKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgUmV2ZXJ0ZWQgcHJldmlvdXMgY29tbWl0ICgyMDA2LTA5LTE5IC0gQWxsb3cgaW50ZXJuYWwgY29kZXMgZnJvbSBsYXN0LmZtKS4gQXMgZGljdXNzZWQgb24gI2dzdHJlYW1lciBpdCBzaG91bGQgYmUgZG9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZlcnRlZCBwcmV2aW91cyBjb21taXQgKDIwMDYtMDktMTkgLSBBbGxvdyBpbnRlcm5hbCBjb2RlcyBmcm9tIGxhc3QuZm0pLiBBcyBkaWN1c3NlZCBvbiAjZ3N0cmVhbWVyIGl0IHNob3VsZCBiZSBkb25lIGluIHNlcGFyZXRlIGVsZW1lbnQuCgoyMDA2LTA5LTIxIDEzOjQxOjQyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2ZhYWMvZ3N0ZmFhYy5jOiBBZGQgZGVjb2RlciBzcGVjaWZpYyBpbmZvIG9uIHRoZSBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19jb25maWd1cmVfc291cmNlX3BhZCksCgkgIChnc3RfZmFhY19jaGFpbik6CgkgIEFkZCBkZWNvZGVyIHNwZWNpZmljIGluZm8gb24gdGhlIGNhcHMuCgkgIFNvbWUgY2xlYW51cHMgaGVyZSBhbmQgdGhlcmUuCgoyMDA2LTA5LTE5IDIxOjQ5OjUyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9uZW9uL01ha2VmaWxlLmFtOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBBbGxvdyBpbnRlcm5hbCBjb2RlcyBmcm9tIGxhc3QuZm0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFsbG93IGludGVybmFsIGNvZGVzIGZyb20gbGFzdC5mbQoKMjAwNi0wOS0xOSAxNjoyNDoxMCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgSnVzdCBhIHNtYWxsIGZpeCB0byB0aGUgYXBwIG9wdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKdXN0IGEgc21hbGwgZml4IHRvIHRoZSBhcHAgb3B0aW9ucy4KCjIwMDYtMDktMTkgMTM6MDg6MzUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50Lmg6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBBZGQgVmlkZW8gT3JpZW50YXRpb24gaW50ZXJmYWNlIHN1cHBvcnQgdG8gdjRsMnNyYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBWaWRlbyBPcmllbnRhdGlvbiBpbnRlcmZhY2Ugc3VwcG9ydCB0byB2NGwyc3JjLgoKMjAwNi0wOS0xOSAxMDoxMDoxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9nc20vZ3N0Z3NtZGVjLio6IEhhbmRsZSBXQVY0OSB2YXJpYW50IChHU00gaW4gV0FWKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzogKGdzdF9nc21kZWNfaW5pdCksCgkgIChnc3RfZ3NtZGVjX3Npbmtfc2V0Y2FwcyksIChnc3RfZ3NtZGVjX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2dzbWRlY19jaGFpbik6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuaDoKCSAgSGFuZGxlIFdBVjQ5IHZhcmlhbnQgKEdTTSBpbiBXQVYpLgoJICBTb21lIHNtYWxsIGNsZWFudXBzLgoKMjAwNi0wOS0xOCAxNTozNjoxNCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEZpeCBHU1RfQlVGRkVSX0RVUkFUSU9OLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IEdTVF9CVUZGRVJfRFVSQVRJT04uCgoyMDA2LTA5LTE2IDIyOjMwOjUwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay86IEZpeCBiaWcgYmF0Y2ggb2YgY29tcGlsZXIgd2FybmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3Rlc3RzcmMuYzogKGNoZWNrX3JnYl9idWYpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvbHVtZS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvcmJpc2RlYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9vZ2dtdXguYzogKHZhbGlkYXRlX29nZ19wYWdlKSwgKGVvc193YXRjaCksCgkgICh0ZXN0X3BpcGVsaW5lKSwgKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGhlb3JhZW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3ZvcmJpc2VuYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBGaXggYmlnIGJhdGNoIG9mIGNvbXBpbGVyIHdhcm5pbmdzLgoKMjAwNi0wOS0xNiAyMjoxNDozNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgTW9yZSBHX09CSkVDVCBtYWNybyBmaXhpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3hpbmUveGluZWF1ZGlvZGVjLmM6CgkgICogZXh0L3hpbmUveGluZWF1ZGlvc2luay5jOgoJICAqIGV4dC94aW5lL3hpbmVpbnB1dC5jOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgICogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSAgKiBnc3QvbnNmL2dzdG5zZi5oOgoJICAqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkgICogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzoKCSAgTW9yZSBHX09CSkVDVCBtYWNybyBmaXhpbmcuCgoyMDA2LTA5LTE1IDE5OjExOjAwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIFRoZSB0ZXN0IGFwcGxpY2F0aW9uIGFuZCB0aGUgcGxnaW5kIGVycm9yIG1lc3NhZ2VzIGhhcyBiZWVuIGltcHJvdmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVGhlIHRlc3QgYXBwbGljYXRpb24gYW5kIHRoZSBwbGdpbmQgZXJyb3IgbWVzc2FnZXMgaGFzIGJlZW4gaW1wcm92ZWQuCgoyMDA2LTA5LTEyIDIwOjE4OjU1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogSW1wbGVtZW50cyBzdG9wKCkgdG8gY2xlYXIgdGhlIGFkYXB0ZXIgYW5kIGV2ZW50KCkgdG8gY2xlYXIgdGhlIGFkYXB0ZXIgb24gRkxVU0hfU1RPUCBhbmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1fc3RhcnQpLCAoZ3N0X3NwZWN0cnVtX3N0b3ApLCAoZ3N0X3NwZWN0cnVtX2V2ZW50KToKCSAgSW1wbGVtZW50cyBzdG9wKCkgdG8gY2xlYXIgdGhlIGFkYXB0ZXIgYW5kIGV2ZW50KCkgdG8gY2xlYXIgdGhlCgkgIGFkYXB0ZXIgb24gRkxVU0hfU1RPUCBhbmQgRU9TLgoKMjAwNi0wOS0xMSAxODoyMzo1OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLio6IEZpeCB0eXBlIG1peHVwIGluIHNwZWN0cnVtLT5pbnRlcnZhbCAoZ2RvdWJsZTwtPmd1aW50NjQpLiBTcG90dGVkIGJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIEZpeCB0eXBlIG1peHVwIGluIHNwZWN0cnVtLT5pbnRlcnZhbCAoZ2RvdWJsZTwtPmd1aW50NjQpLiBTcG90dGVkIGJ5CgkgIFJlbsOpIFN0YWRsZXIKCjIwMDYtMDktMTEgMTg6MDI6MzkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiBVc2UgbW9yZSBkZWZpbmVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAoZHJhd19zcGVjdHJ1bSksIChtYWluKToKCSAgVXNlIG1vcmUgZGVmaW5lcwoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2Rpc3Bvc2UpLCAoZ3N0X3NwZWN0cnVtX3NldF9jYXBzKSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBBcHBseSBzb21lIG9mIHRoZSBzcGVjdHJ1bSBjbGVhbnVwIGNoYW5nZXMgc3VnZ2VzdGVkIGluICMzNDgwODUuCgoyMDA2LTA5LTA4IDE2OjQ3OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIHJlcXVpcmVtZW50cyBvZiAtYmFzZSAodmlkZW9jcm9wIHRlc3QgY2FzZSBuZWVkcyB0aGlzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIHJlcXVpcmVtZW50cyBvZiAtYmFzZSAodmlkZW9jcm9wIHRlc3QgY2FzZSBuZWVkcyB0aGlzKS4KCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICBEb2N1bWVudCBzbG9wcHkgaGFuZGxpbmcgb2Ygc3Vic2FtcGxlZCBjaHJvbWEgcGxhbmVzIGlmCgkgIGxlZnQvdG9wIGNyb3BwaW5nIGlzIGFuIG9kZCBudW1iZXIuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IChoYW5kb2ZmX2NiKSwKCSAgKHZpZGVvY3JvcF90ZXN0X2Nyb3BwaW5nX2luaXRfY29udGV4dCksCgkgICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZ19kZWluaXRfY29udGV4dCksCgkgICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZyksIChjaGVja18xeDFfYnVmZmVyKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHZpZGVvY3JvcF9zdWl0ZSksIChtYWluKToKCSAgQWRkIGFub3RoZXIgdW5pdCB0ZXN0IHRoYXQgY3JvcHMgdGhlIGlucHV0IHRvIDF4MSAoYW5kIGNoZWNrcwoJICB0aGF0IHRoYXQgcGl4ZWwgaGFzIHRoZSBleHBlY3RlZCB2YWx1ZXMgaW4gYSBudW1iZXIgb2YgZm9ybWF0cykuCgoyMDA2LTA5LTA4IDExOjA0OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3ZpZGVvY3JvcC86IFNvbWUgcXVpY2sgdGVzdHMgaW5kaWNhdGUgdGhhdCBpdCBkb2Vzbid0IG1ha2UgYSBncmVhdCBkZWFsIG9mIHNlbnNlIHRvIHVzZSBsaWJvaWwgaGVyZSwgYXQgbGVhc3Qgbm90Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKGdzdF92aWRlb19jcm9wX2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BhY2tlZCksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGxhbmFyKToKCSAgU29tZSBxdWljayB0ZXN0cyBpbmRpY2F0ZSB0aGF0IGl0IGRvZXNuJ3QgbWFrZSBhIGdyZWF0IGRlYWwKCSAgb2Ygc2Vuc2UgdG8gdXNlIGxpYm9pbCBoZXJlLCBhdCBsZWFzdCBub3QgZm9yIHRoZSBtZW1jcHkoKXMKCSAgd2UgZG8sIHNvIHJlbW92ZSBsaWJvaWwgdXNhZ2UgdW50aWwgdGhlcmUgaXMgY2xlYXIgZXZpZGVuY2UKCSAgaXQgYWN0dWFsbHkgbWFrZXMgYSBwb3NpdGl2ZSBkaWZmZXJlbmNlIHNvbWV3aGVyZS4KCjIwMDYtMDktMDMgMjE6MTI6MzYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkgIGhpZ2hlciB1cCBmaXJzdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgaGlnaGVyIHVwIGZpcnN0CgoyMDA2LTA5LTAzIDEwOjQ2OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IE1vcmUgdGVzdHM6IGNoZWNrIHBhc3N0aHJvdWdoIG1vZGUgYW5kIGNhcHMgdHJhbnNmb3JtIGluIGJvdGggZGlyZWN0aW9ucyB3aXRoIGZpeGVkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiAoaGFuZG9mZl9jYiksCgkgIChidWZmZXJfcHJvYmVfY2IpLCAodGVzdF9jYXBzX3RyYW5zZm9ybSksICh0ZXN0X3Bhc3N0aHJvdWdoKSwKCSAgKG5vdGdzdF92YWx1ZV9saXN0X2dldF9udGhfaW50KSwgKHZpZGVvY3JvcF9zdWl0ZSk6CgkgIE1vcmUgdGVzdHM6IGNoZWNrIHBhc3N0aHJvdWdoIG1vZGUgYW5kIGNhcHMgdHJhbnNmb3JtIGluCgkgIGJvdGggZGlyZWN0aW9ucyB3aXRoIGZpeGVkIHZhbHVlcywgcmFuZ2VzIGFuZCBsaXN0cy4KCjIwMDYtMDktMDIgMTg6NDk6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgdmlkZW9jcm9wIHRvIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgQWRkIHZpZGVvY3JvcCB0byBkb2NzLgoJICAqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5oOgoJICBNb3ZlIGJvaWxlcnBsYXRlIHN0dWZmIGFuZCBzdHJ1Y3R1cmVzIGludG8gYSBoZWFkZXIgZmlsZS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiAodmlkZW9fY3JvcF9nZXRfdGVzdF9jYXBzKSwKCSAgKHRlc3RfdW5pdF9zaXplcyksICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZ19pbml0X2NvbnRleHQpLAoJICAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmdfZGVpbml0X2NvbnRleHQpLAoJICAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmcpLCAodGVzdF9jcm9wcGluZyksICh2aWRlb2Nyb3Bfc3VpdGUpOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgdmlkZW9jcm9wLgoKMjAwNi0wOS0wMiAxNTozMDo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFBvcnQvcmV3cml0ZSB2aWRlb2Nyb3AgZnJvbSBzY3JhdGNoIGZvciBHU3RyZWFtZXItMC4xMCwgYW5kIG1ha2UgaXQgc3VwcG9ydCBhbGwgZm9ybWF0cyB2aWRlb3NjYWxlIHN1cHBvcnRzICgjMzQ1NjUzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC92aWRlb2Nyb3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKGdzdF92aWRlb19jcm9wX2Jhc2VfaW5pdCksCgkgIChnc3RfdmlkZW9fY3JvcF9jbGFzc19pbml0KSwgKGdzdF92aWRlb19jcm9wX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfZ2V0X2ltYWdlX2RldGFpbHNfZnJvbV9jYXBzKSwKCSAgKGdzdF92aWRlb19jcm9wX2dldF91bml0X3NpemUpLCAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BhY2tlZCksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGxhbmFyKSwgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybSksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fZGltZW5zaW9uKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9kaW1lbnNpb25fdmFsdWUpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX2NhcHMpLCAoZ3N0X3ZpZGVvX2Nyb3Bfc2V0X2NhcHMpLAoJICAoZ3N0X3ZpZGVvX2Nyb3Bfc2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19jcm9wX2dldF9wcm9wZXJ0eSksCgkgIChwbHVnaW5faW5pdCk6CgkgIFBvcnQvcmV3cml0ZSB2aWRlb2Nyb3AgZnJvbSBzY3JhdGNoIGZvciBHU3RyZWFtZXItMC4xMCwgYW5kIG1ha2UKCSAgaXQgc3VwcG9ydCBhbGwgZm9ybWF0cyB2aWRlb3NjYWxlIHN1cHBvcnRzICgjMzQ1NjUzKS4KCjIwMDYtMDktMDIgMTQ6NDU6MDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyLzogV2hpdGVzcGFjZSBjbGVhbnVwcywgZGFzaGlmeSBwcm9wZXJ0eS1uYW1lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIChnc3RfdjRsMl9vYmplY3RfaW5zdGFsbF9wcm9wZXJ0aWVzX2hlbHBlcik6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICBXaGl0ZXNwYWNlIGNsZWFudXBzLCBkYXNoaWZ5IHByb3BlcnR5LW5hbWVzLgoKMjAwNi0wOS0wMiAxNDoyODo1NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvOiBDbGVhbnVwIGVycm9yIG1lc3NhZ2VzIGFuZCB1bmlmeSBoZWFkZXIgY29tbWVudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOiAoZ3N0X3Y0bDJfeG92ZXJsYXlfb3Blbik6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZ2V0X2NhcGFiaWxpdGllcyksCgkgIChnc3RfdjRsMl9vcGVuKToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfcXVldWVfZnJhbWUpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KToKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIENsZWFudXAgZXJyb3IgbWVzc2FnZXMgYW5kIHVuaWZ5IGhlYWRlciBjb21tZW50cwoKMjAwNi0wOC0zMSAxMzowMToxNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbnNmL01ha2VmaWxlLmFtOiBBZGQgbWlzc2luZyBHU1RfTElCUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICBBZGQgbWlzc2luZyBHU1RfTElCUwoKMjAwNi0wOC0zMCAxODowMTo1MiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEFub3RoZXIgc21hbGwgZml4IHRvIHNldF9jYXBzIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQW5vdGhlciBzbWFsbCBmaXggdG8gc2V0X2NhcHMgZnVuY3Rpb24uCgoyMDA2LTA4LTMwIDEzOjMwOjEzICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgU2VuZCBuZXdfc2VnbWVudCBpbiBHU1RfRk9STUFUX1RJTUUgaW5zdGVhZCBvZiBpbiBHU1RfRk9STUFUX0JZVEVTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU2VuZCBuZXdfc2VnbWVudCBpbiBHU1RfRk9STUFUX1RJTUUgaW5zdGVhZCBvZiBpbiBHU1RfRk9STUFUX0JZVEVTLgoKMjAwNi0wOC0zMCAxMTozNjowNiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEEgc21hbGwgZml4IHRvIHNldF9jYXBzIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQSBzbWFsbCBmaXggdG8gc2V0X2NhcHMgZnVuY3Rpb24uCgoyMDA2LTA4LTMwIDExOjI3OjQwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBSZXNldCBlYWNoIHN0cmVhbXMgbGFzdF9mbG93IHRvIEdTVF9GTE9XX09LLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIChnc3RfcXRkZW11eF9kb19zZWVrKToKCSAgUmVzZXQgZWFjaCBzdHJlYW1zIGxhc3RfZmxvdyB0byBHU1RfRkxPV19PSy4KCSAgKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpOgoJICBSZW1vdmluZyBteXN0aWMgbW9kaWZpY2F0aW9ucyBmb3IgZ29vZC4KCjIwMDYtMDgtMzAgMTE6MDc6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogcHV0IGJhY2sgJ3NlZ21lbnQgc3RhcnQ8PXN0b3AnIGNoYW5nZSB0aGF0IHdhcyBteXN0aWNhbGx5IHJldmVydGVkIGJ5IHRoZSBsYXN0IGNvbW1pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgIHB1dCBiYWNrICdzZWdtZW50IHN0YXJ0PD1zdG9wJyBjaGFuZ2UgdGhhdCB3YXMgbXlzdGljYWxseSByZXZlcnRlZCBieQoJICB0aGUgbGFzdCBjb21taXQKCjIwMDYtMDgtMzAgMTA6NDM6NTMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IHRoZSBidWlsZCBmb3IgZGlzYWJsZWQgZGVidWcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksCgkgIChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICBGaXggdGhlIGJ1aWxkIGZvciBkaXNhYmxlZCBkZWJ1ZwoKMjAwNi0wOC0yOSAyMDo1OTo0NyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBGaXhlZCBmcmFtZXJhdGUgbmVnb3RpYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBmcmFtZXJhdGUgbmVnb3RpYXRpb24uCgoyMDA2LTA4LTI5IDEyOjA3OjM4ICswMDAwICBBbmRyZXcgQW5ka2phciA8ZW5raUBnb29kc2hpcC5uZXQ+CgoJICBleHQvc2RsLzogT25seSBkZS1pbml0IHRoZSBzdWJzeXN0ZW0gd2UgcHJldmlvdXNseSBpbml0aWFsaXNlZC4gQXZvaWRzIGJvcmthZ2Ugd2hlbiBib3RoIHNkbHZpZGVvc2luayBhbmQgc2RsYXVkaW9zaW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbmRyZXcgQW5ka2phciAgPGVua2kgYXQgZ29vZHNoaXAgbmV0PgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6IChnc3Rfc2RsYXVkaW9fc2lua19jbG9zZSk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3Npbmtfc3VwcG9ydGVkKSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfZGVpbml0c2RsKToKCSAgT25seSBkZS1pbml0IHRoZSBzdWJzeXN0ZW0gd2UgcHJldmlvdXNseSBpbml0aWFsaXNlZC4gQXZvaWRzCgkgIGJvcmthZ2Ugd2hlbiBib3RoIHNkbHZpZGVvc2luayBhbmQgc2RsYXVkaW9zaW5rIGFyZSB1c2VkCgkgIGF0IHRoZSBzYW1lIHRpbWUgYW5kIG9uZSBpcyBzaHV0IGRvd24uCgoyMDA2LTA4LTI4IDE3OjQ3OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNYWtlIHN1cmUgc2VnbWVudCBzdGFydDw9c3RvcCBpbiB3ZWlyZCBxdWlja3RpbWUgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF92aWRlb19jYXBzKToKCSAgTWFrZSBzdXJlIHNlZ21lbnQgc3RhcnQ8PXN0b3AgaW4gd2VpcmQgcXVpY2t0aW1lIGZpbGVzLgoKMjAwNi0wOC0yOCAxNDo1OTowNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiBhZGQgY29tbWVudHMgYW5kIG1vcmUgZGVidWcgbG9nZ2luZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9maWxsX2xpc3RzKToKCSAgYWRkIGNvbW1lbnRzIGFuZCBtb3JlIGRlYnVnIGxvZ2dpbmcKCjIwMDYtMDgtMjQgMDk6MjQ6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogUG9zdCBhdWRpbyBjb2RlYyBhbmQgYXZlcmFnZSBiaXRyYXRlIHRhZ3Mgb24gYnVzICgjMzQ0NDcyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX3Bvc3RfdGFncyksCgkgIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICBQb3N0IGF1ZGlvIGNvZGVjIGFuZCBhdmVyYWdlIGJpdHJhdGUgdGFncyBvbiBidXMgKCMzNDQ0NzIpLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSk6CgkgIEZvcndhcmQgcXVlcmllcyBpbiBvdGhlciBmb3JtYXRzIChCWVRFIGZvcm1hdCBpbiBwYXJ0aWN1bGFyKQoJICB1cHN0cmVhbTsgYWRkIFNlYmFzdGlhbiB0byBhdXRob3JzLgoKMjAwNi0wOC0yNCAwMDo0MDowNyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBGaXggc2V0X2NhcHMgdG8gc2V0IHdpZHRoIGFuZCBoZWlnaHQgdG8gdGhlIHZhbHVlcyB0aGUgZHJpdmVyIGlzIHJlYWxseSB3b3JraW5nIHdpdGguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggc2V0X2NhcHMgdG8gc2V0IHdpZHRoIGFuZCBoZWlnaHQgdG8gdGhlIHZhbHVlcyB0aGUgZHJpdmVyIGlzIHJlYWxseSB3b3JraW5nIHdpdGguCgoyMDA2LTA4LTIzIDEwOjMwOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBGaXggbWVtIGxlYWssIHNlbmQgbmV3c2VnbWVudCBldmVudCBvbiBjb3JyZWN0aW9uIHBhZCBhcyB3ZWxsICgjMzUyNDc2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3B1c2hfYmxvY2spOgoJICBGaXggbWVtIGxlYWssIHNlbmQgbmV3c2VnbWVudCBldmVudCBvbiBjb3JyZWN0aW9uIHBhZAoJICBhcyB3ZWxsICgjMzUyNDc2KS4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCk6CgkgIFJlc3RvcmUgb3JpZ2luYWwgYXV0aG9yIChvbiBTZWJhc3RpYW4ncyByZXF1ZXN0KS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9nc3QtcGx1Z2lucy1iYWQuc3VwcDoKCSAgQWRkIChzbyBmYXIgZW1wdHkpIHN1cHByZXNzaW9uIGZpbGUgZm9yIC1iYWQuIFJlbW92ZQoJICB3YXZwYWNrZW5jIHRlc3QgZnJvbSBWQUxHUklORF9UT19GSVggbm93IHRoYXQgdGhlIGxlYWsKCSAgaXMgZml4ZWQuCgoyMDA2LTA4LTIzIDA5OjIyOjA3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay86IEFkZCB1bml0IHRlc3RzIGZvciB3YXZwYWNrIGVsZW1lbnRzICgjMzUyNDc2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6IChzZXR1cF93YXZwYWNrZGVjKSwKCSAgKGNsZWFudXBfd2F2cGFja2RlYyksIChHU1RfU1RBUlRfVEVTVCksICh3YXZwYWNrZGVjX3N1aXRlKSwgKG1haW4pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzogKHNldHVwX3dhdnBhY2tlbmMpLAoJICAoY2xlYW51cF93YXZwYWNrZW5jKSwgKEdTVF9TVEFSVF9URVNUKSwgKHdhdnBhY2tlbmNfc3VpdGUpLCAobWFpbik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja3BhcnNlLmM6ICh3YXZwYWNrcGFyc2VfZm91bmRfcGFkKSwKCSAgKHNldHVwX3dhdnBhY2twYXJzZSksIChjbGVhbnVwX3dhdnBhY2twYXJzZSksIChHU1RfU1RBUlRfVEVTVCksCgkgICh3YXZwYWNrcGFyc2Vfc3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3RzIGZvciB3YXZwYWNrIGVsZW1lbnRzICgjMzUyNDc2KS4KCjIwMDYtMDgtMjMgMDg6NTI6NTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBkb2NzIGZvciB3YXZwYWNrIGVsZW1lbnRzICgjMzUyNDc2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIEFkZCBkb2NzIGZvciB3YXZwYWNrIGVsZW1lbnRzICgjMzUyNDc2KS4KCjIwMDYtMDgtMjIgMjA6Mzk6MjYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEZpeGVkIHF1ZXJ5IHNpemUgdG8gd29yayB3aXRoIGRyaXZlcnMgdGhhdCB1c2VzIGludGVybWVkaWF0ZSBzdGVwIGxpa2UgIndpZHRoICogaGVpZ2h0IiB0byBmaW5kIGNsb3Nlc3Qgc2l6ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIHF1ZXJ5IHNpemUgdG8gd29yayB3aXRoIGRyaXZlcnMgdGhhdCB1c2VzIGludGVybWVkaWF0ZSBzdGVwIGxpa2UgIndpZHRoICogaGVpZ2h0IiB0byBmaW5kIGNsb3Nlc3Qgc2l6ZS4KCjIwMDYtMDgtMjEgMTk6MDI6MTMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgbW92ZSBnZHAgcGx1Z2luIHRvIGdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9nZHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dkcC9nc3RnZHAuYzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICBtb3ZlIGdkcCBwbHVnaW4gdG8gZ29vZC4KCjIwMDYtMDgtMjEgMTY6MjQ6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFNvbWUgbW9yZSBjb25zdGlmaWNhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X3BhcnNlKSwKCSAgKHF0ZGVtdXhfbm9kZV9kdW1wX2ZvcmVhY2gpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2FwcyksIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBTb21lIG1vcmUgY29uc3RpZmljYXRpb24uCgkgIEZpeCBzb21lIHBhbGV0dGVkIGRhdGEgZm9ybWF0cyBhZ2Fpbi4KCSAgRml4IHVsYXcvYWxhdyBpbiBxdC4KCSAgU2V0IGNvcnJlY3QgY2FwcyBmb3IgcmF3IFJHQi4KCSAgQWRkIHN1cHBvcnQgZm9yIHl1djIsIHdoaWNoIGlzIGxpa2UgWXV2Mi4KCSAgQWRkIHN1cHBvcnQgZm9yIHJhdyBhdWRpbyB3aXRoIHRoZSBOT05FIGZvdXJjYywgd2hpY2ggaXMgbGlrZSByYXcuCgoyMDA2LTA4LTIxIDE2OjIxOjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2dzbS9nc3Rnc20uYzogTWFrZSByYW5rIFBSSU1BUlkgbm93IHRoYXQgR1NNIHNlZW1zIHRvIHdvcmsgZmluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dzbS9nc3Rnc20uYzogKHBsdWdpbl9pbml0KToKCSAgTWFrZSByYW5rIFBSSU1BUlkgbm93IHRoYXQgR1NNIHNlZW1zIHRvIHdvcmsgZmluZS4KCjIwMDYtMDgtMjEgMTM6NTk6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay86IE1vcmUgY2xlYW4tdXBzOiB1c2Ugc2hvcnRlciB2YXJpYWJsZSBuYW1lcyB0byBtYWtlIGNvZGUgZWFzaWVyIHRvIHJlYWQ7IHByZWZpeCBzdHJ1Y3R1cmVzIHdlIGRlZmluZSB3aXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2ZpbmFsaXplKSwgKGdzdF93YXZwYWNrX2VuY19zaW5rX3NldF9jYXBzKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwgKGdzdF93YXZwYWNrX2VuY19mb3JtYXRfc2FtcGxlcyksCgkgIChnc3Rfd2F2cGFja19lbmNfcHVzaF9ibG9jayksIChnc3Rfd2F2cGFja19lbmNfY2hhaW4pLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3Jld3JpdGVfZmlyc3RfYmxvY2spLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfZW5jX2NoYW5nZV9zdGF0ZSksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF93YXZwYWNrX2VuY19nZXRfcHJvcGVydHkpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSksIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5pdCksIChnc3Rfd2F2cGFja19wYXJzZV9nZXRfdXBzdHJlYW1fbGVuZ3RoKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApOgoJICBNb3JlIGNsZWFuLXVwczogdXNlIHNob3J0ZXIgdmFyaWFibGUgbmFtZXMgdG8gbWFrZSBjb2RlIGVhc2llciB0bwoJICByZWFkOyBwcmVmaXggc3RydWN0dXJlcyB3ZSBkZWZpbmUgd2l0aCAnR3N0JyB0byBtYWtlIGl0IGNsZWFyZXIKCSAgd2hlcmUgdGhleSBjb21lIGZyb20uCgoyMDA2LTA4LTIxIDEzOjI2OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBGaXggY2FwcyBzZXQgb24gYnVmZmVycyBhbmQgdGVtcGxhdGUgY2FwcyAob3V0cHV0IGlzIGZyYW1lZCkgYW5kIG1ha2UgdGhlbSBtYXRjaCAoIzM1MTY2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwgKGdzdF93YXZwYWNrX2VuY19wdXNoX2Jsb2NrKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jaGFpbiksIChnc3Rfd2F2cGFja19lbmNfcmV3cml0ZV9maXJzdF9ibG9jayksCgkgIChnc3Rfd2F2cGFja19lbmNfc2lua19ldmVudCk6CgkgIEZpeCBjYXBzIHNldCBvbiBidWZmZXJzIGFuZCB0ZW1wbGF0ZSBjYXBzIChvdXRwdXQgaXMgZnJhbWVkKQoJICBhbmQgbWFrZSB0aGVtIG1hdGNoICgjMzUxNjYzKTsgdXNlIEdTVF9XQVJOSU5HX09CSkVDVCBpbnN0ZWFkIG9mCgkgIEdTVF9FTEVNRU5UX1dBUk5JTkc7IHNpbXBsaWZ5IHB1c2hfYmxvY2soKTsgZG8gc29tZSBzbWFsbAoJICBjbGVhbi11cHMgaGVyZSBhbmQgdGhlcmU7IGZpeCBtZW1sZWFrICgjMzUxNjYzKS4KCjIwMDYtMDgtMjAgMTM6MDU6NDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdWRpb2NvbnZlcnQvZ3N0YXVkaW9jb252ZXJ0LmM6IExvd2VyIGRlYnVnLCB1c2UgZ19hc3NlcnQgaW4gX2dldF91bml0X3NpemUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvY29udmVydC9nc3RhdWRpb2NvbnZlcnQuYzoKCSAgKGdzdF9hdWRpb19jb252ZXJ0X2dldF91bml0X3NpemUpLCAoc2V0X3N0cnVjdHVyZV93aWR0aHMpOgoJICBMb3dlciBkZWJ1ZywgdXNlIGdfYXNzZXJ0IGluIF9nZXRfdW5pdF9zaXplCgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAoYXVkaW9yZXNhbXBsZV9nZXRfdW5pdF9zaXplKToKCSAgKiBnc3QvZmZtcGVnY29sb3JzcGFjZS9nc3RmZm1wZWdjb2xvcnNwYWNlLmM6CgkgIChnc3RfZmZtcGVnY3NwX2dldF91bml0X3NpemUpOgoJICAqIGdzdC92aWRlb3NjYWxlL2dzdHZpZGVvc2NhbGUuYzogKGdzdF92aWRlb19zY2FsZV9nZXRfdW5pdF9zaXplKToKCSAgdXNlIGdfYXNzZXJ0IGluIF9nZXRfdW5pdF9zaXplCgoyMDA2LTA4LTE4IDIxOjM5OjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogRml4IHJlc3luY2luZyBpbiBwdXNoIG1vZGUgbm90IHN0b3BwaW5nIHJlLXN5bmNpbmcgYXQgZW1iZWRkZWQgemVyb2VzOyBza2lwIGdhcmJhZ2UgYmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2dldF91cHN0cmVhbV9sZW5ndGgpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfZmluZF9tYXJrZXIpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzeW5jX2xvb3ApLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCksIChnc3Rfd2F2cGFja19wYXJzZV9yZXN5bmNfYWRhcHRlcik6CgkgIEZpeCByZXN5bmNpbmcgaW4gcHVzaCBtb2RlIG5vdCBzdG9wcGluZyByZS1zeW5jaW5nIGF0IGVtYmVkZGVkCgkgIHplcm9lczsgc2tpcCBnYXJiYWdlIGJldHdlZW4gZnJhbWVzIGluIHB1bGwgbW9kZSBhcyB3ZWxsIGlmCgkgIG5lY2Vzc2FyeTsgdXNlIGdzdF9wYWRfcXVlcnlfcGVlcl9kdXJhdGlvbigpOyBwdXNoIEVPUyBhbmQKCSAgTkVXU0VHTUVOVCBldmVudCBpbiByaWdodCBkaXJlY3Rpb24gKCMzNTE2NTkpLgoKMjAwNi0wOC0xNiAxNjo1MDowMCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogTWFrZSBsYWRzcGEgZWxlbWVudHMgcmV1c2FibGUuIEZpeGVzICMzNTAwMDYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW5keSBXaW5nbyA8d2luZ28gYXQgcG9ib3ggZG90IGNvbT4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0dXApLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3RhcnQpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3RvcCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jbGVhbnVwKSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcGVuX2J1ZmZlciksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9mbHVzaCksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9kb19wdWxscyksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9kb19wdXNoZXMpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhbmdlX3N0YXRlKToKCSAgTWFrZSBsYWRzcGEgZWxlbWVudHMgcmV1c2FibGUuIEZpeGVzICMzNTAwMDYuCgoyMDA2LTA4LTE2IDE1OjMzOjEyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzogQ29udmVydCAnICcgaW50byAnXycuIFRyeSB0byBrZWVwIGFzIG1hbnkgY2hhcmFjdGVycyBpbiB0aGUgcGFkdGVtcGxhdGUgbmFtZXMgYXMgcG9zc2libGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IChnc3RfbGFkc3BhX2Jhc2VfaW5pdCk6CgkgIENvbnZlcnQgJyAnIGludG8gJ18nLiBUcnkgdG8ga2VlcCBhcyBtYW55IGNoYXJhY3RlcnMgaW4gdGhlIHBhZHRlbXBsYXRlCgkgIG5hbWVzIGFzIHBvc3NpYmxlLgoKMjAwNi0wOC0xNiAxNDo0Nzo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IEEgcHVzaCgpIGdpdmVzIGF3YXkgb3VyIHJlZmNvdW50IHNvIHdlIHNob3VsZCBub3QgdXNlIHRoZSBidWZmZXIgb24gdGhlIHBlbiBhbnltb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZmx1c2gpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZG9fcHVzaGVzKToKCSAgQSBwdXNoKCkgZ2l2ZXMgYXdheSBvdXIgcmVmY291bnQgc28gd2Ugc2hvdWxkIG5vdCB1c2UgdGhlIGJ1ZmZlciBvbiB0aGUKCSAgcGVuIGFueW1vcmUuCgoyMDA2LTA4LTE2IDEwOjQwOjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay86IEluIHB1c2ggbW9kZSwgcmUtc3luYyB0byBuZXh0IHdhdnBhY2sgaGVhZGVyIGlmIHN5bmMgaXMgbG9zdCAoIzM1MTU1NykuIEFsc28gdXNlIGh5cGhlbnMgaW5zdGVhZCBvZiB1bmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzeW5jX2FkYXB0ZXIpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfY2hhaW4pOgoJICBJbiBwdXNoIG1vZGUsIHJlLXN5bmMgdG8gbmV4dCB3YXZwYWNrIGhlYWRlciBpZiBzeW5jIGlzIGxvc3QKCSAgKCMzNTE1NTcpLiBBbHNvIHVzZSBoeXBoZW5zIGluc3RlYWQgb2YgdW5kZXJzY29yZXMgaW4KCSAgR09iamVjdCBwcm9wZXJ0eSBuYW1lcy4KCjIwMDYtMDgtMTUgMjA6Mjk6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS4qOiBNYWtlIHdhdnBhY2twYXJzZSBhbHNvIHdvcmsgaW4gcHVzaC1tb2RlIChub3Qgc2Vla2FibGUgeWV0IHRob3VnaCk7IHNvbWUgc21hbGwgY2xlYW4tdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfZ2V0X3NyY19xdWVyeV90eXBlcyksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2lua19ldmVudCksIChnc3Rfd2F2cGFja19wYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3B1c2hfYnVmZmVyKSwgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY2hhaW4pLCAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2lua19hY3RpdmF0ZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zaW5rX2FjdGl2YXRlX3B1bGwpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICBNYWtlIHdhdnBhY2twYXJzZSBhbHNvIHdvcmsgaW4gcHVzaC1tb2RlIChub3Qgc2Vla2FibGUgeWV0IHRob3VnaCk7CgkgIHNvbWUgc21hbGwgY2xlYW4tdXBzIGFsb25nIHRoZSB3YXk7IGFkZCBzdXBwb3J0IGZvciBTRUVLSU5HIHF1ZXJ5CgkgIGFuZCBxdWVyeSB0eXBlcyBmdW5jdGlvbi4gKCMzNTE0OTUpLgoKMjAwNi0wOC0xNSAxOToyOTo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEZpeCBsZWFrcyAoIzM1MTUwMikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzogKGdzdF9mYW1lZW5jX2dldF9wcm9wZXJ0eSk6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2Vfc2lua19nZXRfcHJvcGVydHkpOgoJICBGaXggbGVha3MgKCMzNTE1MDIpLgoKMjAwNi0wOC0xNCAxMDowNjo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRXh0cmFjdCBhbGwgcmVmZXJlbmNlcy9yZWRpcmVjdGlvbnMgaWYgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSBhbmQgc29ydCB0aGVtOyBhbHNvIGV4dHJhY3QgbWluaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3JlZGlyZWN0c19zb3J0X2Z1bmMpLAoJICAocXRkZW11eF9wcm9jZXNzX3JlZGlyZWN0cyksIChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICBFeHRyYWN0IGFsbCByZWZlcmVuY2VzL3JlZGlyZWN0aW9ucyBpZiB0aGVyZSBpcyBtb3JlCgkgIHRoYW4gb25lIGFuZCBzb3J0IHRoZW07IGFsc28gZXh0cmFjdCBtaW5pbXVtIHJlcXVpcmVkCgkgIGJpdHJhdGUgaW5mb3JtYXRpb24gaWYgYXZhaWxhYmxlLiAoIzM1MDM5OSkKCjIwMDYtMDgtMTAgMTc6MDk6MTAgKzAwMDAgIE1pY2hhbCBCZW5lcyA8bWljaGFsLmJlbmVzQGl0b25pcy50dj4KCgkgIGV4dC9mYWFjL2dzdGZhYWMuYzogQml0cmF0ZSBpbiB0aGUgZmFhYyBzdHJ1Y3R1cmUgaXMgcGVyIG91dHB1dCBjaGFubmVsLCBub3QgdG90YWwgYml0cmF0ZSAoIzM1MDc0MSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWljaGFsIEJlbmVzICA8bWljaGFsLmJlbmVzIGF0IGl0b25pcyB0dj4KCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19jb25maWd1cmVfc291cmNlX3BhZCk6CgkgIEJpdHJhdGUgaW4gdGhlIGZhYWMgc3RydWN0dXJlIGlzIHBlciBvdXRwdXQgY2hhbm5lbCwKCSAgbm90IHRvdGFsIGJpdHJhdGUgKCMzNTA3NDEpLgoKMjAwNi0wOC0wOSAxNzo0MToyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogRml4IEdTVF9FTEVNRU5UX0VSUk9SIHVzYWdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6IChnc3RfeHZpZGVuY19jaGFpbik6CgkgIEZpeCBHU1RfRUxFTUVOVF9FUlJPUiB1c2FnZS4KCjIwMDYtMDgtMDkgMTA6NDU6MzIgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBmaXhlZCB1cCBhbmQgY2xlYW5lZCB1cCB0aGUgLWJhZCBzcGVjIGZpbGUgdG8gaGF2ZSBwcm9wZXIgdGVzdHMgZm9yIHdoYXRzIGluc3RhbGxlZCBhbmQgaXRlbXMgcHV0IGluIGNvcnJlY3QgY2F0ZWdvcmllcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeGVkIHVwIGFuZCBjbGVhbmVkIHVwIHRoZSAtYmFkIHNwZWMgZmlsZSB0byBoYXZlIHByb3BlciB0ZXN0cyBmb3Igd2hhdHMgaW5zdGFsbGVkIGFuZCBpdGVtcyBwdXQgaW4gY29ycmVjdCBjYXRlZ29yaWVzLgoKMjAwNi0wOC0wOCAxNDo1NTo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IHNpbGx5IHR5cG8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgIEZpeCBzaWxseSB0eXBvLgoKMjAwNi0wOC0wOCAxMzo1NzoyOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IEkgZm9yZ290IHRvIGluY2x1ZGUgdGhlIGZpbGUgY29udGFpbmluZyB0aGUgI2RlZmluZSA6KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoZ2RwZGVwYXlfc3VpdGUpOgoJICBJIGZvcmdvdCB0byBpbmNsdWRlIHRoZSBmaWxlIGNvbnRhaW5pbmcgdGhlICNkZWZpbmUgOikKCSAgTm93IGluY2x1ZGVzICJjb25maWcuaCIKCjIwMDYtMDgtMDggMTM6NDU6NDQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiBJZ25vcmUgdGVzdCBrbm93biB0byBmYWlsIG9uIFBQQzY0LiBTZWUgIzM0ODExNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKGdkcGRlcGF5X3N1aXRlKToKCSAgSWdub3JlIHRlc3Qga25vd24gdG8gZmFpbCBvbiBQUEM2NC4gU2VlICMzNDgxMTQuCgoyMDA2LTA4LTA0IDIxOjA0OjU1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIEFsbG93IEhUVFAgcmVkaXJlY3QgKEhUVFAgc3RhdHVzIGNvZGUgMzAyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFsbG93IEhUVFAgcmVkaXJlY3QgKEhUVFAgc3RhdHVzIGNvZGUgMzAyKS4KCjIwMDYtMDgtMDQgMTM6MjA6MjMgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IEZpeCBldmVudCBwYXJzaW5nIGJ5IGdkcGRlcGF5LiAgRml4ZXMgIzM0OTkxNi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDgtMDQgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2NoYWluKToKCSAgRml4IGV2ZW50IHBhcnNpbmcgYnkgZ2RwZGVwYXkuICBGaXhlcyAjMzQ5OTE2LgoKMjAwNi0wOC0wNCAxMTozODo1NCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuaDogQWRkIGluZnJhc3RydWN0dXJlIGZvciBzdG9yaW5nIHdoZXRoZXIgYSBwcm9jZXNzb3IgY2FuIHdvcmsgaW4gcGxhY2Ugb3Igbm90LCBhbmQgZm9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTA0ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmg6IEFkZCBpbmZyYXN0cnVjdHVyZSBmb3Igc3RvcmluZwoJICB3aGV0aGVyIGEgcHJvY2Vzc29yIGNhbiB3b3JrIGluIHBsYWNlIG9yIG5vdCwgYW5kIGZvciBrZWVwaW5nCgkgIHRyYWNrIG9mIGl0cyBzdGF0ZS4gQ2hhbmdlIHRoZSBGbG93UmV0dXJuIGluc3RhbmNlIHZhcmlhYmxlIGZyb20KCSAgInN0YXRlIiB0byAiZmxvd19zdGF0ZSIsIGFsbCBjYWxsZXJzIGNoYW5nZWQuCgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0dXApCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zdGFydCwgZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3RvcCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NsZWFudXApOiBOZXcgZnVuY3Rpb25zIHRvIG1hbmFnZSB0aGUKCSAgcHJvY2Vzc29yJ3Mgc3RhdGUuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKTogc3RhcnQoKSBhcyB3ZWxsIGFzIHNldHVwKCkgaGVyZS4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3ByZXBhcmUpOiBSZXNwZWN0IENBTl9QUk9DRVNTX0lOX1BMQUNFLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhbmdlX3N0YXRlKTogU3RvcCBhbmQgY2xlYW51cCB0aGUKCSAgcHJvY2Vzc29yIGFzIHdlIGdvIHRvIE5VTEwuCgkgICogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYyAoZ3N0X2xhZHNwYV9iYXNlX2luaXQpOiBSZXVzZSBidWZmZXJzIGlmCgkgIElOUExBQ0VfQlJPS0VOIGlzIG5vdCBzZXQuCgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJlcGFyZSk6CgkgIERvIHRoZSBhbGxvY19idWZmZXIgaW4gYnl0ZXMsIG5vdCBmcmFtZXMuCgoyMDA2LTA4LTA0IDA5OjIwOjI2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBCUEIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zcmNfYWN0aXZhdGVfcHVsbCk6IEJQQgoKMjAwNi0wOC0wNCAwOTowNTo1MyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2FwcykgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3ByZXBhcmUpIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl91Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTA0ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcmVwYXJlKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfdXBkYXRlX2lucHV0cykKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MsIGdzdF9zaWduYWxfcHJvY2Vzc29yX3Blbl9idWZmZXIpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9mbHVzaCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NpbmtfYWN0aXZhdGVfcHVzaCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NyY19hY3RpdmF0ZV9wdWxsKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhbmdlX3N0YXRlKTogUmVtb3ZlIHRoZSBsYXN0IG9mIHRoZSBjb2RlCgkgIHRoYXQgYXNzdW1lcyB0aGF0IHdlIHByb2Nlc3Mgd2hvbGUgYnVmZmVycyBhdCBhIHRpbWUuIEZpeCBzb21lCgkgIGRlYnVnZ2luZy4gU2VlbXMgdG8gd29yayBub3cgaW4gc29tZSBjYXNlcy4KCjIwMDYtMDgtMDMgMTQ6NDg6MjIgKzAwMDAgIGNhc2NhcmRvIGF0IGhvbG9zY29waW8gZG90IGNvbSA8Y2FzY2FyZG9AaG9sb3Njb3Bpby5jb20+CgoJICBleHQvTWFrZWZpbGUuYW06IFVzZSByaWdodCB2YXJpYWJsZXMgd2hlbiBVU0VfU1BDIGlzIGRlZmluZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogIGNhc2NhcmRvIGF0IGhvbG9zY29waW8gZG90IGNvbQoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgVXNlIHJpZ2h0IHZhcmlhYmxlcyB3aGVuIFVTRV9TUEMgaXMgZGVmaW5lZC4KCjIwMDYtMDgtMDIgMTY6NTY6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IERpc2FibGUgc2Vla2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9pbml0KSwKCSAgKGdzdF9nZHBfZGVwYXlfZmluYWxpemUpLCAoZ3N0X2dkcF9kZXBheV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9nZHBfZGVwYXlfc3JjX2V2ZW50KSwgKGdzdF9nZHBfZGVwYXlfY2hhaW4pLAoJICAoZ3N0X2dkcF9kZXBheV9jaGFuZ2Vfc3RhdGUpOgoJICBEaXNhYmxlIHNlZWtpbmcuCgkgIFNtYWxsIGNsZWFudXBzLgoJICBDbGVhciBhZGFwdGVyIG9uIGRpc2NvbnRzLgoJICBDbGVhciBjYXBzIHdoZW4gZ29pbmcgdG8gUkVBRFkgaW5zdGVhZCBvZiBOVUxMCgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X2dkcF9wYXlfaW5pdCksIChnc3RfZ2RwX3BheV9maW5hbGl6ZSksIChnc3RfZ2RwX3BheV9yZXNldCksCgkgIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2NhcHMpLCAoZ3N0X2dkcF9wYXlfYnVmZmVyX2Zyb21fYnVmZmVyKSwKCSAgKGdzdF9nZHBfYnVmZmVyX2Zyb21fZXZlbnQpLCAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKSwKCSAgKGdzdF9nZHBfcXVldWVfYnVmZmVyKSwgKGdzdF9nZHBfcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfcGF5X3NpbmtfZXZlbnQpLCAoZ3N0X2dkcF9wYXlfc3JjX2V2ZW50KSwKCSAgKGdzdF9nZHBfcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgUmVzZXQgcGF5bG9hZGVyIHdoZW4gZ29pbmcgdG8gUkVBRFkuCgkgIEZpeCBsZWFrZWQgYnVmZmVycyBpbiAtPnF1ZXVlIG9uIHB1c2ggZXJyb3JzLgoJICBEaXNhYmxlIHNlZWtpbmcuCgkgIENvZGUgY2xlYW51cHMuCgkgIENyZWF0ZSBwYWNrZXRpemVyIGluIF9pbml0LCBmcmVlIGluIF9maW5hbGl6ZS4KCjIwMDYtMDctMzEgMjI6Mjc6MjIgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOiBGaXggbmZyYW1lcy1jaG9vc2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDgtMDEgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2Vzcyk6CgkgIEZpeCBuZnJhbWVzLWNob29zaW5nLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfaW5pdCk6IEluaXQgcGVuZGluZ19pbiBhbmQgcGVuZGluZ19vdXQuCgoyMDA2LTA3LTMxIDIyOjAzOjA5ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9pbml0KTogTm8gbW9yZSBkZWZhdWx0IHNhbXBsZSByYXRlLCBhbHRob3VnaCB3ZSBuZXZlciBjaGVjayB0aGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDgtMDEgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfaW5pdCk6IE5vCgkgIG1vcmUgZGVmYXVsdCBzYW1wbGUgcmF0ZSwgYWx0aG91Z2ggd2UgbmV2ZXIgY2hlY2sgdGhhdCB0aGUgc2FtcGxlCgkgIHJhdGUgYWN0dWFsbHkgZ2V0cyBzZXQuIFNvbWV0aGluZyBmb3IgdGhlIGZ1dHVyZS4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpOiBTb21lIHJlZmNvdW50IGZpeGVzLCBmbG93IGZpeGVzLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZXZlbnQpOiBSZWZjb3VudCBmaXhlbi4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOiBQdWxsIHRoZSBudW1iZXIgb2YgZnJhbWVzIHRvCgkgIHByb2Nlc3MgZnJvbSB0aGUgc2l6ZXMgb2YgdGhlIGJ1ZmZlcnMgaW4gdGhlIGlucHV0IHBlbnMuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wZW5fYnVmZmVyKTogUmVtb3ZlIGFuIGluY29ycmVjdCBGSVhNRSA6KQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZG9fcHVsbHMpOiBBZGQgYW4gbmZyYW1lcyBhcmd1bWVudCwgYW5kIHVzZQoJICBpdCBpbnN0ZWFkIG9mIGJ1ZmZlcl9mcmFtZXMuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9nZXRyYW5nZSk6IFJlZmNvdW50IGZpeGVuLCBwYXNzIG5mcmFtZXMgb24KCSAgdG8gZG9fcHVsbHMuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jaGFpbikKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NpbmtfYWN0aXZhdGVfcHVzaCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NyY19hY3RpdmF0ZV9wdWxsKTogIFJlZmNvdW50IGZpeGVuLgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmg6IE5vIG1vcmUgYnVmZmVyX2ZyYW1lcywgeWF5LgoKMjAwNi0wNy0zMSAxOTo0NDoxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogZG9uJ3QgcXVlcnkgYnVmZmVyLWZyYW1lcyBmcm9tIGNhcHMsIGFkZCBsb3RzIG9mIGRlYnVnLWxvZywgdHJ5IGZpeCBmb3IgYXNzZXJ0ICgjMzQ5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOgoJICBkb24ndCBxdWVyeSBidWZmZXItZnJhbWVzIGZyb20gY2FwcywgYWRkIGxvdHMgb2YgZGVidWctbG9nLAoJICB0cnkgZml4IGZvciBhc3NlcnQgKCMzNDkxODkpCgoyMDA2LTA3LTMxIDE3OjI5OjIyICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogUG9zdCBhbiBlcnJvciBtZXNzYWdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNy0zMSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKGdzdF9kZmJ2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVyX2FsbG9jKTogUG9zdCBhbiBlcnJvciBtZXNzYWdlLgoKMjAwNi0wNy0zMSAxNjo1MDoyNyArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IERvbid0IHRyeSBhbGxvY2F0aW5nIGlmIHdlIGFyZSBub3Qgc2V0dXAgeWV0LiBGYWlsIGNoYW5naW5nIHN0YXRlIGlmIHNldHVwIGZhaWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNy0zMSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKGdzdF9kZmJ2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVyX2FsbG9jKTogRG9uJ3QgdHJ5IGFsbG9jYXRpbmcgaWYgd2UgYXJlCgkgIG5vdAoJICBzZXR1cCB5ZXQuIEZhaWwgY2hhbmdpbmcgc3RhdGUgaWYgc2V0dXAgZmFpbHMuCgoyMDA2LTA3LTMxIDA4OjQ4OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiBDb25zdW1lIGFsbCBldmVudHMgZXhjZXB0IEVPUyBiZWNhdXNlIHdlIGdlbmVyYXRlIGV2ZW50cyBmcm9tIHRoZSBnZHAgcGF5bG9hZCBpbnN0ZWFkLiBGaXhlcyAjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfaW5pdCksCgkgIChnc3RfZ2RwX2RlcGF5X3NpbmtfZXZlbnQpLCAoZ3N0X2dkcF9kZXBheV9jaGFpbik6CgkgIENvbnN1bWUgYWxsIGV2ZW50cyBleGNlcHQgRU9TIGJlY2F1c2Ugd2UgZ2VuZXJhdGUgZXZlbnRzIGZyb20KCSAgdGhlIGdkcCBwYXlsb2FkIGluc3RlYWQuIEZpeGVzICMzNDkyMDQKCjIwMDYtMDctMjkgMTY6MzI6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IEFkZCBkZWJ1Z3MgbG9ncyBoZXJlIGFuZCB0aGVyZSwgYWRkIG1vcmUgZXJyb3IgaGFuZGxpbmcsIGFkZCBzb21lCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9hZGRfcGFkX2Zyb21fdGVtcGxhdGUpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfaW5pdCksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcGVuX2J1ZmZlciksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9kb19wdWxscyksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9nZXRyYW5nZSksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zaW5rX2FjdGl2YXRlX3B1c2gpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3JjX2FjdGl2YXRlX3B1bGwpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhbmdlX3N0YXRlKToKCSAgQWRkIGRlYnVncyBsb2dzIGhlcmUgYW5kIHRoZXJlLCBhZGQgbW9yZSBlcnJvciBoYW5kbGluZywgYWRkIHNvbWUKCSAgRklYTUUgY29tbWVudHMsIGZpbGVkICMzNDkxODkKCjIwMDYtMDctMjggMTc6MTc6MjQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBEb24ndCBsZWFrIHJlZmVyZW5jZXMgdG8gdGhlIGluY29taW5nIGNhcHMuIENsZWFuIHRoZW0gdXAgd2hlbiBzdG9wcGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiAoYXVkaW9yZXNhbXBsZV9zdG9wKSwKCSAgKGF1ZGlvcmVzYW1wbGVfc2V0X2NhcHMpOgoJICBEb24ndCBsZWFrIHJlZmVyZW5jZXMgdG8gdGhlIGluY29taW5nIGNhcHMuIENsZWFuIHRoZW0gdXAgd2hlbgoJICBzdG9wcGluZy4KCSAgKiBnc3QvdmlkZW9zY2FsZS9nc3R2aWRlb3NjYWxlLmM6IChnc3RfdmlkZW9fc2NhbGVfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9fc2NhbGVfZmluYWxpemUpOgoJICBEb24ndCBsZWFrIG91ciB0ZW1wb3JhcnkgcGl4ZWwgYnVmZmVyLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6IChydW5fcGlwZWxpbmUpLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAoc2ltcGxlX2xhdW5jaF9saW5lc19zdWl0ZSk6CgkgIEZpeCBsZWFrcyBhbmQgcmUtZW5hYmxlIHRoZSB0ZXN0IGZvciB2YWxncmluZCBjaGVja2luZy4KCjIwMDYtMDctMjggMTI6MTQ6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQveHZpZC9nc3R4dmlkZGVjLio6IENsZWFuLXVwcyBhbmQgY29kZSByZWZsb3dzLiBQYXNzIHJldHVybiB2YWx1ZSBmcm9tIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCkgdXBzdHJlYW0gYW1vbmcgb3RoZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOiAoZ3N0X3h2aWRkZWNfaW5pdCksIChnc3RfeHZpZGRlY19yZXNldCksCgkgIChnc3RfeHZpZGRlY191bnNldCksIChnc3RfeHZpZGRlY19oYW5kbGVfc2lua19ldmVudCksCgkgIChnc3RfeHZpZGRlY19zZXR1cCksIChnc3RfeHZpZGRlY19uZWdvdGlhdGUpLCAoZ3N0X3h2aWRkZWNfY2hhaW4pLAoJICAoZ3N0X3h2aWRkZWNfZmx1c2hfYnVmZmVycyksIChnc3RfeHZpZGRlY19zcmNfZ2V0Y2FwcyksCgkgIChnc3RfeHZpZGRlY19zZXRjYXBzKSwgKGdzdF94dmlkZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5oOgoJICBDbGVhbi11cHMgYW5kIGNvZGUgcmVmbG93cy4gUGFzcyByZXR1cm4gdmFsdWUgZnJvbQoJICBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpIHVwc3RyZWFtIGFtb25nIG90aGVyIHRoaW5ncy4gQWxzbyBjaGVjawoJICBmb3IgTlVMTCBHVmFsdWUgYmVmb3JlIHVzaW5nIEdTVF9WQUxVRV9UWVBFIG1hY3JvICgjMzQ4OTc2KS4KCSAgTWFzcyByZW5hbWUgb2YgeHZpZGRlYyAtPiBkZWMgdmFyaWFibGUgZm9yIGJldHRlcgoJICBjb2RlIHJlYWRhYmlsaXR5LgoKMjAwNi0wNy0yOCAxMDoxOTowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC94dmlkL2dzdHh2aWQuYzogRml4IHNpemUgY2FsY3VsYXRpb24gZm9yIEk0MjAvWVYxMi4gRml4ZXMgIzM0ODk3Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZC5jOiAoZ3N0X3h2aWRfaW1hZ2VfZmlsbCk6CgkgIEZpeCBzaXplIGNhbGN1bGF0aW9uIGZvciBJNDIwL1lWMTIuIEZpeGVzICMzNDg5NzYuCgoyMDA2LTA3LTI3IDEwOjUwOjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2dzbS86IEZpeCBuZWdvdGlhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzogKGdzdF9nc21kZWNfaW5pdCksCgkgIChnc3RfZ3NtZGVjX3Npbmtfc2V0Y2FwcyksIChnc3RfZ3NtZGVjX3NpbmtfZXZlbnQpOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6IChnc3RfZ3NtZW5jX2luaXQpLCAoZ3N0X2dzbWVuY19zZXRjYXBzKToKCSAgRml4IG5lZ290aWF0aW9uLgoKMjAwNi0wNy0yNiAxMDo1MjowNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IHByb3h5aW5nIGdldC9zZXQgY2FwcyBpcyB0aGUgd3JvbmcgdGhpbmcgdG8gZG8sIHNpbmNlIHdlIHJlYWxseSBkbyBjaGFuZ2UgY2FwcyBxdWl0ZSBmdW5kYW1lbnQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9pbml0KToKCSAgcHJveHlpbmcgZ2V0L3NldCBjYXBzIGlzIHRoZSB3cm9uZyB0aGluZyB0byBkbywgc2luY2Ugd2UgcmVhbGx5CgkgIGRvIGNoYW5nZSBjYXBzIHF1aXRlIGZ1bmRhbWVudGFsbHkKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICByZW1vdmUgZGVjbGFyYXRpb24gb2YgYnVmZmVycywgaXQncyBhbHJlYWR5IGRvbmUgaW4gZ3N0Y2hlY2suaAoKMjAwNi0wNy0yNCAyMTo0MzowNiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay4qOiBBZGQgYW4gYXR0ZW51YXRpb24gcHJvcGVydHkgdGhhdCB3aWxsIGRpcmVjdGx5IGF0dGVudWF0ZSB0aGUgZGlyZWN0c291bmQgYnVmZmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBBZGQgYW4gYXR0ZW51YXRpb24gcHJvcGVydHkgdGhhdCB3aWxsIGRpcmVjdGx5IGF0dGVudWF0ZSB0aGUKCSAgZGlyZWN0c291bmQgYnVmZmVyLgoJICBDaGFuZ2UgdGhlIHNpemUgb2YgdGhlIGRpcmVjdHNvdW5kIHNlY29uZGFyeSBidWZmZXIgdG8gYSBoYWxmIHNlY29uZC4KCSAgQWRkIG1vcmUgZGVidWcgbG9ncy4KCSAgQWRkIGEgbG9jayB0byBwcm90ZWN0IGRzb3VuZCBidWZmZXIgd3JpdGUgYWNjZXNzLgoJICBGaXggYSBiYWQgaW1wbGVtZW50YXRpb24gb2YgcmVzZXQuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIEFkZCBhIGtlZXBfYXNwZWN0X3JhdGlvIHByb3BlcnR5LgoJICBEbyBub3QgdXNlIG92ZXJsYXkgaWYgbm90IHN1cHBvcnRlZC4KCSAgQWRkIG1vcmUgZGVidWcgbG9ncy4KCSAgUmVtb3ZlIG92ZXJ3cml0ZSBvZiBXTV9FUkFTRUJLR05EIG1lc3NhZ2UgaGFuZGxpbmcuIEl0IHdhcyBub3QKCSAgcmVkcmF3aW5nIGJvcmRlciB3aGVuIGtlZXBfYXNwZWN0X3JhdGlvIHdhcyBlbmFibGVkLgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgdXBkYXRlIHZlcnNpb24gd2FpdGluZyBhbiBhdXRvLWdlbmVyYXRlZCBjb25maWcuaAoKMjAwNi0wNy0yMyAxMTo1MjozNCArMDAwMCAgQ2hyaXMgTGVlIDxjbGVlQGtkZS5vcmc+CgoJICBBZGQgbGlib3BlbnNwYy1iYXNlZCBTUEMgZGVjb2RlciBlbGVtZW50ICgjMzQ4MjIwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBDaHJpcyBMZWUgIDxjbGVlIGF0IGtkZSBvcmc+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGMvZ3N0c3BjLmM6IChzcGNfbmVnb3RpYXRlKSwgKGdzdF9zcGNfZGVjX2Jhc2VfaW5pdCksCgkgIChnc3Rfc3BjX2RlY19jbGFzc19pbml0KSwgKGdzdF9zcGNfZGVjX2luaXQpLCAoZ3N0X3NwY19kZWNfY2hhaW4pLAoJICAoZ3N0X3NwY19kZWNfc2lua19ldmVudCksIChnc3Rfc3BjX2RlY19zcmNfZXZlbnQpLAoJICAoZ3N0X3NwY19kZWNfc3JjX3F1ZXJ5KSwgKHNwY19wbGF5KSwgKHNwY19zZXR1cCksCgkgIChnc3Rfc3BjX2RlY19jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9zcGMvZ3N0c3BjLmg6CgkgIEFkZCBsaWJvcGVuc3BjLWJhc2VkIFNQQyBkZWNvZGVyIGVsZW1lbnQgKCMzNDgyMjApLgoKMjAwNi0wNy0xOSAxNDozNjowMCArMDAwMCAgTWFydGluIFN6dWxlY2tpIDxjb21waXpAc3VraW1hc2hpdGEuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiBJZiAiZGV2aWNlLW5hbWUiIGlzIHJlcXVlc3RlZCBhbmQgdGhlIGRldmljZSBpcyBub3Qgb3BlbiwgdHJ5IHRvIHRlbXBvcmFyaWx5IG9wZW4gaXQgdG8gb2J0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFydGluIFN6dWxlY2tpCgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiAoZ3N0X3Y0bDJfb2JqZWN0X2dldF9wcm9wZXJ0eV9oZWxwZXIpOgoJICBJZiAiZGV2aWNlLW5hbWUiIGlzIHJlcXVlc3RlZCBhbmQgdGhlIGRldmljZSBpcyBub3QKCSAgb3BlbiwgdHJ5IHRvIHRlbXBvcmFyaWx5IG9wZW4gaXQgdG8gb2J0YWluIHRoaXMKCSAgaW5mb3JtYXRpb24gKCMzNDI0OTQpLgoKMjAwNi0wNy0xOSAxMTo0NzoyMCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCjIwMDYtMDctMTkgMTE6NDM6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbnNmL25zZi5jOiBSZWFsbHkgZml4IGNvbXBpbGF0aW9uLiBBcHBhcmVudGx5IGl0J3Mgbm90IGVub3VnaCB0byBqdXN0IGNoZWNrIHRoZSByZXR1cm4gdmFsdWUgZm9yIGVycm9ycywgYnV0IHdlIG4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L25zZi9uc2YuYzogKG5zZl9sb2FkKToKCSAgUmVhbGx5IGZpeCBjb21waWxhdGlvbi4gQXBwYXJlbnRseSBpdCdzIG5vdCBlbm91Z2ggdG8KCSAganVzdCBjaGVjayB0aGUgcmV0dXJuIHZhbHVlIGZvciBlcnJvcnMsIGJ1dCB3ZSBuZWVkIHRvCgkgIGNoZWNrIGZvciBzaG9ydCByZWFkcyBhcyB3ZWxsIChub3cgaWYgb25seSB3ZSBoYW5kbGVkCgkgIHRoZW0gdG9vIC4uLikuIEZpeGVzICMzNDc5MzUuCgoyMDA2LTA3LTE4IDE4OjA1OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiBGaXggY2FwcyBhZnRlciBwcmV2aW91cyBjaGFuZ2UgdG8gYnl0ZSBvcmRlciBlbmRpYW5uZXNzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICBGaXggY2FwcyBhZnRlciBwcmV2aW91cyBjaGFuZ2UgdG8gYnl0ZSBvcmRlciBlbmRpYW5uZXNzLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2lua19ldmVudCksIChnc3Rfd2F2cGFja19wYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBRdWV1ZSBpbmNvbWluZyBldmVudHMgaWYgdGhlcmUncyBubyBzb3VyY2UgcGFkIHlldCBhbmQKCSAgc2VuZCB0aGVtIGRvd25zdHJlYW0gbGF0ZXIgd2hlbiB0aGUgcGFkIGlzIHRoZXJlLgoKMjAwNi0wNy0xOCAxNjo0NzoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuKjogT3V0cHV0IGF1ZGlvIGluIG5hdGl2ZSBieXRlIG9yZGVyICh3aGljaCBpcyBhbHNvIGhvdyB3ZSBnZXQgc2FtcGxlcyBmcm9tIHdhdnBhY2spOyBvdXRwdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfZm9ybWF0X3NhbXBsZXMpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsaXBfb3V0Z29pbmdfYnVmZmVyKSwgKGdzdF93YXZwYWNrX2RlY19jaGFpbiksCgkgIChnc3Rfd2F2cGFja19kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkgIE91dHB1dCBhdWRpbyBpbiBuYXRpdmUgYnl0ZSBvcmRlciAod2hpY2ggaXMgYWxzbyBob3cgd2UgZ2V0CgkgIHNhbXBsZXMgZnJvbSB3YXZwYWNrKTsgb3V0cHV0IHNhbXBsZXMgd2l0aCAyMS0yNCBiaXQgZGVwdGgKCSAgd2l0aCAzMiBiaXQgd2lkdGggKG1ha2VzIHRoaW5ncyBlYXNpZXIgZm9yIHVzKS4KCjIwMDYtMDctMTggMTU6NTM6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLio6IE1vcmUgY2xlYW4tdXBzOiByZW1vdmUgbW9zdCBvZiB0aGUgZGlzZnVuY3Rpb25hbCBjb3JyZWN0aW9uIHBhZCBzdHVmZiBmb3Igbm93LCBpZiBpdCBldmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfZmluYWxpemUpLCAoZ3N0X3dhdnBhY2tfZGVjX2Zvcm1hdF9zYW1wbGVzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGlwX291dGdvaW5nX2J1ZmZlciksIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICBNb3JlIGNsZWFuLXVwczogcmVtb3ZlIG1vc3Qgb2YgdGhlIGRpc2Z1bmN0aW9uYWwgY29ycmVjdGlvbgoJICBwYWQgc3R1ZmYgZm9yIG5vdywgaWYgaXQgZXZlciBnZXRzIGltcGxlbWVudGVkIGEgbG90IG9mIHN0dWZmCgkgIHdpbGwgaGF2ZSB0byBiZSByZXdyaXR0ZW4gYW55d2F5OyByZWRvIGNoYWluIGZ1bmN0aW9uLCBtb3ZlCgkgIGVycm9ycyB0byBlbmQsIGVycm9yIG91dCBpbnN0ZWFkIG9mIGdfYXNzZXJ0KClpbmcuIEFsc28gcmVuYW1lCgkgIG92ZXJseSBsb25nIHZhcmlhYmxlICd3YXZwYWNrZGVjJyB0byBqdXN0ICdkZWMnOyBtaXNjZWxsYW5lb3VzCgkgIG90aGVyIHNtYWxsIHN0dWZmLgoKMjAwNi0wNy0xOCAxNDowODowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3Igd2F2cGFjayB2ZXJzaW9uIGFuZCBkZWZpbmUgV0FWUEFDS19PTERfQVBJIGlmIG5lY2Vzc2FyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tbyBhdCBjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBmb3Igd2F2cGFjayB2ZXJzaW9uIGFuZCBkZWZpbmUgV0FWUEFDS19PTERfQVBJIGlmCgkgIG5lY2Vzc2FyeS4KCSAgKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmM6IChnc3Rfd2F2cGFja19yZWFkX2hlYWRlciksCgkgIChnc3Rfd2F2cGFja19yZWFkX21ldGFkYXRhKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfZmluYWxpemUpLCAoZ3N0X3dhdnBhY2tfZGVjX2Zvcm1hdF9zYW1wbGVzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGlwX291dGdvaW5nX2J1ZmZlciksIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYW5nZV9zdGF0ZSksCgkgIChnc3Rfd2F2cGFja19kZWNfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF93YXZwYWNrX2RlY19wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19maW5hbGl6ZSksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfZmluYWxpemUpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9nZXRfZW50cnlfZnJvbV9zYW1wbGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2Nhbl90b19maW5kX3NhbXBsZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuaDoKCSAgUG9ydCB0byBuZXcvb2ZmaWNpYWwgd2F2cGFjayBBUEksIGRvbid0IHVzZSBBUEkgdGhhdCB3YXMgZXhwb3J0ZWQKCSAgaW4gd2F2cGFjayBoZWFkZXIgZmlsZXMgYW5kIGluIHRoZSBsaWIgYnV0IG1lYW50IHRvIGJlIHByaXZhdGUsIGF0CgkgIGxlYXN0IG5vdCBmb3IgcmVjZW50IHdhdnBhY2sgdmVyc2lvbnM7IG1pc2MuICdjbGVhbnVwcycgKCMzNDc0NDMpLgoKMjAwNi0wNy0xOCAwOTozNjo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9uc2YvbnNmLmM6IEZpeCBjb21waWxhdGlvbiBieSBub3QgaWdub3JpbmcgcmV0dXJuIHZhbHVlcyBvZiBmcmVhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L25zZi9uc2YuYzogKG5zZl9sb2FkKToKCSAgRml4IGNvbXBpbGF0aW9uIGJ5IG5vdCBpZ25vcmluZyByZXR1cm4gdmFsdWVzIG9mIGZyZWFkLgoKMjAwNi0wNy0xNyAxNTowOTozMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC86IGFkZGluZyBtb3JlIGluc3BlY3QgZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgIGFkZGluZyBtb3JlIGluc3BlY3QgZG9jcwoKMjAwNi0wNy0xNyAxNDo0Mzo1NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDogYWN0dWFsbHkgY29tbWl0IGluc3BlY3RhdGlvbiBvZiBnZHAgZWxlbWVudAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSAgYWN0dWFsbHkgY29tbWl0IGluc3BlY3RhdGlvbiBvZiBnZHAgZWxlbWVudAoKMjAwNi0wNy0xNyAxNDoxNzo0NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvZ2RwLzogcmVtb3ZlIHBhcmVudF9jbGFzcyBzZXR0aW5nLCBCT0lMRVJQTEFURSBkb2VzIHRoaXMgZml4IHR5cG8gaW4gY29tbWVudAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNy0xNyAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSAgPHRob21hcyBhdCBhcGVzdGFhcnQgZG90IG9yZz4KCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9jbGFzc19pbml0KSwKCSAgcmVtb3ZlIHBhcmVudF9jbGFzcyBzZXR0aW5nLCBCT0lMRVJQTEFURSBkb2VzIHRoaXMKCSAgKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlcik6CgkgIGZpeCB0eXBvIGluIGNvbW1lbnQKCjIwMDYtMDctMTcgMTA6MjU6NTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFN0b3JlIGR1cmF0aW9uIGluIHVpbnQ2NCB0b28gaW5zdGVhZCBvZiBjbGlwcGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSk6CgkgIFN0b3JlIGR1cmF0aW9uIGluIHVpbnQ2NCB0b28gaW5zdGVhZCBvZiBjbGlwcGluZy4KCSAgV2hlbiB3ZSBkbyBhIGtleWZyYW1lIHNlZWsgYW5kIHRoZSByZXF1ZXN0ZWQgdGltZSBpcyBhdCB0aGUKCSAga2V5ZnJhbWUsIGRvbid0IHNlZWsgYmFjayB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBrZXlmcmFtZS4KCSAgRml4ZXMgIzM0NzQzOS4KCjIwMDYtMDctMTYgMTQ6NDY6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IERvbid0IGNyYXNoIG9uIHNtYWxsIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX3NldGNhcHMpLCAoZ3N0X2ZhYWRfc3luYyk6CgkgIERvbid0IGNyYXNoIG9uIHNtYWxsIGJ1ZmZlcnMuCgoyMDA2LTA3LTE1IDExOjU3OjAwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6IFJlc2V0IGFkYXB0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzogKGdzdF9pdm9yYmlzZmlsZV9zaW5rX2FjdGl2YXRlKToKCSAgUmVzZXQgYWRhcHRlci4KCjIwMDYtMDctMTUgMTE6NTA6MjUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS86IERvIG5vdCB1c2UgZGVwcmVjYXRlZCBndGsgZnVuY3Rpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogKG1haW4pOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAobWFpbik6CgkgIERvIG5vdCB1c2UgZGVwcmVjYXRlZCBndGsgZnVuY3Rpb25zLgoKMjAwNi0wNy0xNCAxMDozNDozNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL01ha2VmaWxlLmFtOgoJICBidWlsZCBhcyBhIHBsdWdpbiwgbm90IGEgbGliCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBidWlsZCBhcyBhIHBsdWdpbiwgbm90IGEgbGliCgoyMDA2LTA3LTE0IDA5OjExOjExICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L25zZi86IFJlbW92ZSBjcmFjayBtYWxsb2MvZnJlZSByZXBsYWNlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnNmL21lbWd1YXJkLmM6CgkgICogZ3N0L25zZi9tZW1ndWFyZC5oOgoJICAqIGdzdC9uc2YvdHlwZXMuaDoKCSAgUmVtb3ZlIGNyYWNrIG1hbGxvYy9mcmVlIHJlcGxhY2VtZW50LgoKMjAwNi0wNy0xMyAxNToyNTo1OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBkb2NzL3BsdWdpbnMvOiBhZGQgbW9yZSBwbHVnaW5zIGFuZCBlbGVtZW50cyB0byBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGFkZCBtb3JlIHBsdWdpbnMgYW5kIGVsZW1lbnRzIHRvIGRvY3MKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2NoYWluKToKCSAgZml4IHNlZ2ZhdWx0cyBkdWUgdG8gd3JvbmcgZ19mcmVlCgkgIGFkZCBleGFtcGxlCgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgYWRkIGV4YW1wbGUKCjIwMDYtMDctMTMgMTU6MjI6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbnNmL01ha2VmaWxlLmFtOiBGaXggYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgIEZpeCBidWlsZC4KCjIwMDYtMDctMTMgMTU6MjI6MjAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2xpbWFnZXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGx2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgIHJlbW92ZSBzZGx2aWRlb3NpbmsgcGx1Z2luIGFuZCB1cGRhdGUgdGhlIHJlc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBzZGx2aWRlb3NpbmsgcGx1Z2luIGFuZCB1cGRhdGUgdGhlIHJlc3QKCjIwMDYtMDctMTMgMTU6MDc6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBZGRlZCBOU0YgZGVjb2RlciBwbHVnaW4uIEZpeGVzIDE1MTE5Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoZXMgYnk6IEpvaGFuIERhaGxpbiA8am9oYW4gYXQgZ25vbWUgZG90IG9yZz4KCSAgUm9uYWxkIEJ1bHRqZSA8cmJ1bHRqZSBhdCByb25hbGQgZG90IGJpdGZyZWFrIGRvdCBuZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L25zZi9kaXM2NTAyLmg6CgkgICogZ3N0L25zZi9mZHNfc25kLmM6CgkgICogZ3N0L25zZi9mZHNfc25kLmg6CgkgICogZ3N0L25zZi9mbW9wbC5jOgoJICAqIGdzdC9uc2YvZm1vcGwuaDoKCSAgKiBnc3QvbnNmL2dzdG5zZi5jOgoJICAqIGdzdC9uc2YvZ3N0bnNmLmg6CgkgICogZ3N0L25zZi9sb2cuYzoKCSAgKiBnc3QvbnNmL2xvZy5oOgoJICAqIGdzdC9uc2YvbWVtZ3VhcmQuYzoKCSAgKiBnc3QvbnNmL21lbWd1YXJkLmg6CgkgICogZ3N0L25zZi9tbWM1X3NuZC5jOgoJICAqIGdzdC9uc2YvbW1jNV9zbmQuaDoKCSAgKiBnc3QvbnNmL25lczY1MDIuYzoKCSAgKiBnc3QvbnNmL25lczY1MDIuaDoKCSAgKiBnc3QvbnNmL25lc19hcHUuYzoKCSAgKiBnc3QvbnNmL25lc19hcHUuaDoKCSAgKiBnc3QvbnNmL25zZi5jOgoJICAqIGdzdC9uc2YvbnNmLmg6CgkgICogZ3N0L25zZi9vc2QuaDoKCSAgKiBnc3QvbnNmL3R5cGVzLmg6CgkgICogZ3N0L25zZi92cmM3X3NuZC5jOgoJICAqIGdzdC9uc2YvdnJjN19zbmQuaDoKCSAgKiBnc3QvbnNmL3ZyY3Zpc25kLmM6CgkgICogZ3N0L25zZi92cmN2aXNuZC5oOgoJICBBZGRlZCBOU0YgZGVjb2RlciBwbHVnaW4uIEZpeGVzIDE1MTE5Mi4KCjIwMDYtMDctMTMgMTI6NDI6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogT25seSBydW4gbXBlZzJlbmMgdW5pdCB0ZXN0IGlmIHdlIGJ1aWx0IHRoZSBtcGVnMmVuYyBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBPbmx5IHJ1biBtcGVnMmVuYyB1bml0IHRlc3QgaWYgd2UgYnVpbHQgdGhlIG1wZWcyZW5jIHBsdWdpbi4KCjIwMDYtMDctMTMgMTI6MjQ6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IERvbid0IGVycm9yIG91dCBpbiBjb25maWd1cmUgaWYgbWpwZWd0b29scyBkZXYgaXMgbm90IHRoZXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERvbid0IGVycm9yIG91dCBpbiBjb25maWd1cmUgaWYgbWpwZWd0b29scyBkZXYgaXMgbm90IHRoZXJlLgoKMjAwNi0wNy0xMyAxMTowNjo0NSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIFBvcnQgbXBlZzJlbmMgdG8gMC4xMCAoIzM0MzE4NCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3IGF0IHNreW5ldCBiZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmhoOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29kZXIuY2M6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb2Rlci5oaDoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuY2M6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5oaDoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNzdHJlYW13cml0ZXIuY2M6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jc3RyZWFtd3JpdGVyLmhoOgoJICBQb3J0IG1wZWcyZW5jIHRvIDAuMTAgKCMzNDMxODQpLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzoKCSAgQWRkIHVuaXQgdGVzdCBmb3IgbXBlZzJlbmMuCgkgICogdGVzdHMvaWNsZXMvLmN2c2lnbm9yZToKCSAgSWdub3JlIHBpdGNoLXRlc3QuCgoyMDA2LTA3LTEyIDA5OjI4OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IEZpeCB0eXBvIGluIHByb3BlcnR5IG5pY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpOgoJICBGaXggdHlwbyBpbiBwcm9wZXJ0eSBuaWNrLgoKMjAwNi0wNy0xMCAxNDo0OTo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9maWx0ZXIvOiBEb24ndCBmb3JnZXQgbmV3IGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBEb24ndCBmb3JnZXQgbmV3IGZpbGVzLgoKMjAwNi0wNy0xMCAxNDo0MzozNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgSSdtIHRvbyBsYXp5IHRvIGNvbW1lbnQgdGhpcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKioqIGVtcHR5IGxvZyBtZXNzYWdlICoqKgoKMjAwNi0wNy0xMCAxNDo0MjoxNSArMDAwMCAgTWF0aGlzIEhvZmVyIDxtYXRoaXMuaG9mZXJAZHJlYW1sYWIubmV0PgoKCSAgUG9ydGVkIHRoZSBnc3RmaWx0ZXIgcGx1Z2luIHRvIEdTdHJlYW1lciAwLjEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hdGhpcyBIb2ZlciA8bWF0aGlzIGRvdCBob2ZlciBhdCBkcmVhbWxhYiBkb3QgbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfZGlzcG9zZSksCgkgIChnc3RfYnB3c2luY19iYXNlX2luaXQpLCAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYnB3c2luY19pbml0KSwgKGJwd3NpbmNfc2V0X2NhcHMpLCAoYnB3c2luY190cmFuc2Zvcm1faXApLAoJICAoYnB3c2luY19zZXRfcHJvcGVydHkpLCAoYnB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0ZmlsdGVyLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RmaWx0ZXIuaDoKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOiAoZ3N0X2lpcl9kaXNwb3NlKSwgKGdzdF9paXJfYmFzZV9pbml0KSwKCSAgKGdzdF9paXJfY2xhc3NfaW5pdCksIChnc3RfaWlyX2luaXQpLCAoaWlyX3NldF9jYXBzKSwKCSAgKGlpcl90cmFuc2Zvcm1faXApLCAoaWlyX3NldF9wcm9wZXJ0eSksIChpaXJfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X2xwd3NpbmNfYmFzZV9pbml0KSwgKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2xwd3NpbmNfaW5pdCksIChscHdzaW5jX3NldF9jYXBzKSwgKGxwd3NpbmNfdHJhbnNmb3JtX2lwKSwKCSAgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KSwgKGxwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgUG9ydGVkIHRoZSBnc3RmaWx0ZXIgcGx1Z2luIHRvIEdTdHJlYW1lciAwLjEwLgoKMjAwNi0wNy0xMCAwOTo1NzoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRXh0cmFjdCBjb21tZW50IGluZm9ybWF0aW9uISEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV91ZHRhKToKCSAgRXh0cmFjdCBjb21tZW50IGluZm9ybWF0aW9uISEKCjIwMDYtMDctMTAgMDk6NDY6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEV4dHJhY3QgeWVhci9kYXRlIGluZm9ybWF0aW9uIChmaXhlcyAjMzQ3MDc5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV91ZHRhKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9kYXRlKToKCSAgRXh0cmFjdCB5ZWFyL2RhdGUgaW5mb3JtYXRpb24gKGZpeGVzICMzNDcwNzkpLgoKMjAwNi0wNy0wNyAxNDozMDoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgY3Jhc2ggb24gdHdvcy9zb3d0L3JhdyBhdWRpby4gIzM0NTgzMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRG9uJ3QgY3Jhc2ggb24gdHdvcy9zb3d0L3JhdyBhdWRpby4gIzM0NTgzMC4KCjIwMDYtMDctMDcgMTE6NDQ6MDUgKzAwMDAgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLio6IFJlbW92ZSB1bmxvY2sgZnVuY3Rpb24uIHN0YXJ0L3N0b3Agd2lsbCBkbyBldmVyeXRoaW5nIG5lZWRlZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEx1dHogTXVlbGxlciA8bHV0eiBhdCB0b3Bmcm9zZSBkb3QgZGU+CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbmVvbmh0dHBfc3JjX2luaXQpLCAoZ3N0X25lb25odHRwX3NyY19maW5hbGl6ZSksCgkgIChyZXF1ZXN0X2Rpc3BhdGNoKSwgKGdzdF9uZW9uaHR0cF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc3RhcnQpLCAoZ3N0X25lb25odHRwX3NyY19nZXRfc2l6ZSksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3N0b3ApLCAoc2V0X3Byb3h5KSwgKHNldF91cmkpLAoJICAoZ3N0X25lb25odHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X25lb25odHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X25lb25odHRwX3NyY191cmlfc2V0X3VyaSksIChzaXplX2hlYWRlcl9oYW5kbGVyKToKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBSZW1vdmUgdW5sb2NrIGZ1bmN0aW9uLiBzdGFydC9zdG9wIHdpbGwgZG8gZXZlcnl0aGluZyBuZWVkZWQKCSAgUmVtb3ZlZCBjb2RlIHRoYXQgd2FzIG5ldmVyIGNhbGxlZC4KCSAgVXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyLiBEb24ndCBzZW5kIEVPUyAtIHBhcmVudCBjbGFzcyBkb2VzIHRoYXQgZm9yIHVzLgoJICBEbyBub3QgZXNjYXBlIHBhdGguIEZpeGVzICMzNDY3MjMuCgkgIEFkZGl0aW9uYWwgY29kZSBjbGVhbnVwcy4KCjIwMDYtMDctMDMgMjA6MDI6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBzaWxseSBjcmFzaGVyIGluIHN0YXRlIGNoYW5nZSBmdW5jdGlvbjsgYWRkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBGaXggc2lsbHkgY3Jhc2hlciBpbiBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb247IGFkZAoJICBJVjQxIGZvdXJjYyAoc2VlIGJ1ZyAjMTcxMTExKTsgZG9uJ3Qgb3V0cHV0IGNvbmZ1c2luZwoJICBkZWJ1ZyBtZXNzYWdlIHdoZW4gc2tpcHBpbmcgYXRvbXMuCgoyMDA2LTA2LTIzIDA5OjA5OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgVXNlIEdTVF9ERUJVR19DQVRFR09SWV9TVEFUSUMgd2hlcmUgcG9zc2libGUgKCMzNDI1MDMpIGFuZCBmaXggb25lIEdPYmplY3QgYm9pbGVycGxhdGUgbWFjcm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgIFVzZSBHU1RfREVCVUdfQ0FURUdPUllfU1RBVElDIHdoZXJlIHBvc3NpYmxlICgjMzQyNTAzKQoJICBhbmQgZml4IG9uZSBHT2JqZWN0IGJvaWxlcnBsYXRlIG1hY3JvLgoKMjAwNi0wNi0yMiAxMDoxMDo1MSArMDAwMCAgQ29keSBSdXNzZWxsIDxicmF0c2NoZUBnbm9tZS5vcmc+CgoJICBnc3QvOiBBdm9pZCB1bm5lY2Vzc2FyeSBjbGFzcyBjYXN0IGNoZWNrIGluIGNsYXNzX2luaXQgZnVuY3Rpb25zICgjMzM3NzQ3KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBDb2R5IFJ1c3NlbGwgPGJyYXRzY2hlIGF0IGdub21lIG9yZz4KCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIChnc3RfYXVkaW9yZXNhbXBsZV9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0c3RyZWFtc2VsZWN0b3IuYzoKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3JfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N1YnBhcnNlL2dzdHN1YnBhcnNlLmM6IChnc3Rfc3ViX3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0bXVsdGlmZHNpbmsuYzogKGdzdF9tdWx0aV9mZF9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0dGNwY2xpZW50c2luay5jOiAoZ3N0X3RjcF9jbGllbnRfc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdHRjcGNsaWVudHNyYy5jOiAoZ3N0X3RjcF9jbGllbnRfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0dGNwc2VydmVyc2luay5jOiAoZ3N0X3RjcF9zZXJ2ZXJfc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdHRjcHNlcnZlcnNyYy5jOiAoZ3N0X3RjcF9zZXJ2ZXJfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb3NjYWxlL2dzdHZpZGVvc2NhbGUuYzogKGdzdF92aWRlb19zY2FsZV9jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW90ZXN0c3JjL2dzdHZpZGVvdGVzdHNyYy5jOgoJICAoZ3N0X3ZpZGVvX3Rlc3Rfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC92b2x1bWUvZ3N0dm9sdW1lLmM6IChnc3Rfdm9sdW1lX2NsYXNzX2luaXQpOgoJICBBdm9pZCB1bm5lY2Vzc2FyeSBjbGFzcyBjYXN0IGNoZWNrIGluIGNsYXNzX2luaXQKCSAgZnVuY3Rpb25zICgjMzM3NzQ3KS4KCjIwMDYtMDYtMjAgMTE6MDc6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3N0ZGFmeC5oOiBGaXggbW9kcGx1ZyBvbiBBTUQ2NC4gRml4ZXMgIzM0NTMzNi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zdGRhZnguaDoKCSAgRml4IG1vZHBsdWcgb24gQU1ENjQuIEZpeGVzICMzNDUzMzYuCgoyMDA2LTA2LTE5IDE0OjA3OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBGaXggY2hlY2sgc28gdGhhdCBmdXR1cmUgbGlibmVvbiBBUEkgY2hhbmdlcyB3b24ndCBicmVhayB0aGUgYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IGNoZWNrIHNvIHRoYXQgZnV0dXJlIGxpYm5lb24gQVBJIGNoYW5nZXMgd29uJ3QgYnJlYWsgdGhlIGJ1aWxkLgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgIEZpeCBidWlsZCB3aXRoIGxpYm5lb24tMC4yNi54ICgjMzQ1MTgyKS4KCjIwMDYtMDYtMTkgMTM6MTc6NTcgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgbGF0ZXN0IHBsdWdpbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBsYXRlc3QgcGx1Z2lucwoKMjAwNi0wNi0xNyAxNTowOTozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IC0tZGlzYWJsZS1leHRlcm5hbCAoY2FuJ3Qgc2V0IGNvbmRpdGlvbmFscyBjb25kaXRpb25hbGx5LCAjMzQzNjAyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggLS1kaXNhYmxlLWV4dGVybmFsIChjYW4ndCBzZXQgY29uZGl0aW9uYWxzIGNvbmRpdGlvbmFsbHksCgkgICMzNDM2MDIpLgoKMjAwNi0wNi0xNiAxNTo0MzoyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzogQWRkIHRlc3QgY2FzZSBmb3IgYnVnICMzNDI3ODkgZml4ZWQgYmVsb3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzogKHRlc3RfcmV1c2UpLAoJICAoYXVkaW9yZXNhbXBsZV9zdWl0ZSk6CgkgIEFkZCB0ZXN0IGNhc2UgZm9yIGJ1ZyAjMzQyNzg5IGZpeGVkIGJlbG93LgoKMjAwNi0wNi0xNiAxNToxNzo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogSW1wbGVtZW50IEdzdEJhc2VUcmFuc2Zvcm06OnN0YXJ0IGFuZCA6OnN0b3Agc28gdGhhdCBhdWRpb3Jlc2FtcGxlIGNhbiBjbGVhciBpdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIChnc3RfYXVkaW9yZXNhbXBsZV9jbGFzc19pbml0KSwgKGdzdF9hdWRpb3Jlc2FtcGxlX2luaXQpLAoJICAoYXVkaW9yZXNhbXBsZV9zdGFydCksIChhdWRpb3Jlc2FtcGxlX3N0b3ApLAoJICAoZ3N0X2F1ZGlvcmVzYW1wbGVfc2V0X3Byb3BlcnR5KSwgKGdzdF9hdWRpb3Jlc2FtcGxlX2dldF9wcm9wZXJ0eSk6CgkgIEltcGxlbWVudCBHc3RCYXNlVHJhbnNmb3JtOjpzdGFydCBhbmQgOjpzdG9wIHNvIHRoYXQgYXVkaW9yZXNhbXBsZQoJICBjYW4gY2xlYXIgaXRzIGludGVybmFsIHN0YXRlIHByb3Blcmx5IGFuZCBiZSByZXVzZWQgaW5zdGVkIG9mCgkgIGNhdXNpbmcgbm9uLW5lZ290aWF0ZWQgZXJyb3JzIHdpdGggcGxheWJpbiB1bmRlciBzb21lIGNpcmN1bXN0YW5jZXMKCSAgKCMzNDI3ODkpLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzogKHNldHVwX2F1ZGlvcmVzYW1wbGUpLAoJICAoY2xlYW51cF9hdWRpb3Jlc2FtcGxlKToKCSAgTmVlZCB0byBzZXQgZWxlbWVudCBzdGF0ZSBoZXJlIHNvIHRoYXQgOjpzdGFydCBhbmQgOjpzdG9wIGFyZQoJICBjYWxsZWQuCgoyMDA2LTA2LTE2IDEyOjM1OjA4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOiBGaXggYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA2LTE2ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICBGaXggYnVpbGQuCgoyMDA2LTA2LTE2IDA5OjQ5OjA3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vOiBwb3J0IHRvIHVzZSBtZXNzYWdlIHRvIGdldCByZXN1bHRzLCBjbGVhbmx5IGV4aXQgd2hlbiBjbG9zaW5nIHRoZSB3aW5kb3cKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChvbl93aW5kb3dfZGVzdHJveSksCgkgIChkcmF3X3NwZWN0cnVtKSwgKG1lc3NhZ2VfaGFuZGxlciksIChtYWluKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKG9uX3dpbmRvd19kZXN0cm95KSwgKGRyYXdfc3BlY3RydW0pLAoJICAobWVzc2FnZV9oYW5kbGVyKSwgKG1haW4pOgoJICBwb3J0IHRvIHVzZSBtZXNzYWdlIHRvIGdldCByZXN1bHRzLCBjbGVhbmx5IGV4aXQgd2hlbiBjbG9zaW5nIHRoZSB3aW5kb3cKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9pbml0KSwgKGdzdF9zcGVjdHJ1bV9kaXNwb3NlKSwKCSAgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpLCAoZ3N0X3NwZWN0cnVtX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3BlY3RydW1fc2V0X2NhcHMpLCAoZ3N0X3NwZWN0cnVtX3N0YXJ0KSwKCSAgKGdzdF9zcGVjdHJ1bV9tZXNzYWdlX25ldyksIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgcG9ydCB0byBkZXJpdmUgZnJvbSBiYXNldHJhbnNmb3JtIGFuZCBzZW5kIHJlc3VsdHMgdmlhIG1lc3NhZ2VzCgkgIChsaWtlIGxldmVsIGVsZW1lbnQpCgoyMDA2LTA2LTE1IDE1OjU4OjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDb21iaW5lIHJldHVybiB2YWx1ZXMgZnJvbSBzcmMgcGFkIHB1c2hlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2NvbWJpbmVfZmxvd3MpLCAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksCgkgIChnc3RfcXRkZW11eF9sb29wKSwgKGdzdF9xdGRlbXV4X2NoYWluKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIENvbWJpbmUgcmV0dXJuIHZhbHVlcyBmcm9tIHNyYyBwYWQgcHVzaGVzLgoKMjAwNi0wNi0xNSAwODo1MDowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgY3Jhc2ggb24gZmlsZXMgd2l0aCAwIHNhbXBsZXMsIEVPUyBpbW1lZGlhdGx5IGluc3RlYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwKCSAgKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpLCAoZ3N0X3F0ZGVtdXhfYWR2YW5jZV9zYW1wbGUpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSk6CgkgIERvbid0IGNyYXNoIG9uIGZpbGVzIHdpdGggMCBzYW1wbGVzLCBFT1MgaW1tZWRpYXRseSBpbnN0ZWFkLgoJICBGaXhlcyAjMzQ0OTQ0LgoKMjAwNi0wNi0xNCAxODowNzo1MSArMDAwMCAgV291dGVyIFBhZXNlbiA8d291dGVyQGthbmdhcm9vdC5uZXQ+CgoJICBleHQvc291bmR0b3VjaC86IE1ha2UgcGl0Y2ggZWxlbWVudCBjb250cm9sbGFibGUgdmlhIEdzdENvbnRyb2xsZXIgaW50ZXJmYWNlICgjMzQ0ODIxKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgUGFlc2VuICA8d291dGVyIGF0IGthbmdhcm9vdCBuZXQ+CgkgICogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIE1ha2UgcGl0Y2ggZWxlbWVudCBjb250cm9sbGFibGUgdmlhIEdzdENvbnRyb2xsZXIgaW50ZXJmYWNlCgkgICgjMzQ0ODIxKS4KCSAgKiBjb25maWd1cmUuYWM6CgkgIFVwIGNvcmUgcmVxdWlyZW1lbnRzIHRvIDAuMTAuOC4xL0NWUyBiZWNhdXNlIGVhcmxpZXIKCSAgR3N0Q29udHJvbGxlcnMgY2FuJ3QgaGFuZGxlIGZsb2F0IHByb3BlcnRpZXMgY29ycmVjdGx5LgoJICBDaGVjayBmb3IgR3N0Q29udHJvbGxlciBDRkxBR1MgYW5kIExJQlMuCgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvcGl0Y2gtdGVzdC5jOiAobWFpbik6CgkgIEFkZCBzbWFsbCB0ZXN0IHByb2dyYW0gZm9yIHRoZSBhYm92ZSAod2VsY29tZSB0byB0aGUgODBzISkuCgoyMDA2LTA2LTE0IDA5OjMyOjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLio6IFVzZSBiaXRyYXRlIHByb3BlcnR5IHNvbGVseSBmb3IgYml0cmF0ZXMgYW5kIGFkZCBuZXcgYml0cy1wZXItc2FtcGxlIHByb3BlcnR5IGZvciB0aGUgb3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mgb3JnPgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKSwgKGdzdF93YXZwYWNrX2VuY19zaW5rX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3dhdnBhY2tfZW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICBVc2UgYml0cmF0ZSBwcm9wZXJ0eSBzb2xlbHkgZm9yIGJpdHJhdGVzIGFuZCBhZGQgbmV3CgkgIGJpdHMtcGVyLXNhbXBsZSBwcm9wZXJ0eSBmb3IgdGhlIG90aGVyIHN0dWZmLiBTZXQgZHVyYXRpb24KCSAgdG8gJ3Vua25vd24nIGluIGluaXRpYWwgaGVhZGVyIGFuZCByZXNlbmQgaGVhZGVyIHdpdGggcHJvcGVyCgkgIGR1cmF0aW9uIG9uIEVPUzsgdXBkYXRlIFNlYmFzdGlhbidzIGUtbWFpbCBhZGRyZXNzLgoKMjAwNi0wNi0xMiAxMTozMDowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4LzogI2RlZmluZSByZWQgZ3JlZW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvZGlyZWN0ZmIvLmN2c2lnbm9yZToKCSAgKiBleHQvZGlyZWN0ZmIvLmN2c2lnbm9yZToKCSAgI2RlZmluZSByZWQgZ3JlZW4KCjIwMDYtMDYtMTIgMTE6MDQ6NTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vLmN2c2lnbm9yZTogSWdub3JlIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS8uY3ZzaWdub3JlOgoJICBJZ25vcmUgbW9yZS4KCjIwMDYtMDYtMTIgMTA6NTM6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbGlibW1zL2dzdG1tcy5jOiBTZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19jcmVhdGUpOgoJICBTZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IChnc3RfZGlyZWN0ZHJhd3NpbmtfaW5pdCk6CgkgIENvbW1lbnQgb3V0IHVudXNlZCBnbG9iYWwgaW5zdGFuY2UgdmFyaWFibGUuCgoyMDA2LTA2LTExIDIyOjM3OjA3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIC5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIG1vYXAgaWdub3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb2FwIGlnbm9yZQoKMjAwNi0wNi0xMSAxMzo1NzoxOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhdXRvZ2VuLnNoOiByZXF1aXJlIGFtMTcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYXV0b2dlbi5zaDoKCSAgcmVxdWlyZSBhbTE3CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9hbm5vZGV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZGlvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kdi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZXNkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9mbGFjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYmNhY2EvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwZWV4L01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgICogc3lzL29zcy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvc3VuYXVkaW8vTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZS9NYWtlZmlsZS5hbToKCSAgY2xlYW4gdXAgYnVpbGQgZnVydGhlcgoKMjAwNi0wNi0xMCAxNTozMzoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8bWFpbEBzbG9tb3NuYWlsLmRlPgoKCSAgZXh0L3dhdnBhY2svOiBBZGQgd2F2cGFjayBlbmNvZGVyIGVsZW1lbnQgKCMzNDMxMzEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxtYWlsIGF0IHNsb21vc25haWwgZGU+CgkgICogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfY29ycmVjdGlvbl9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19qb2ludF9zdGVyZW9fbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfYmFzZV9pbml0KSwgKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19kaXNwb3NlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zaW5rX3NldF9jYXBzKSwgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwKCSAgKGdzdF93YXZwYWNrX2VuY19mb3JtYXRfc2FtcGxlcyksIChnc3Rfd2F2cGFja19lbmNfcHVzaF9ibG9jayksCgkgIChnc3Rfd2F2cGFja19lbmNfY2hhaW4pLCAoZ3N0X3dhdnBhY2tfZW5jX3Jld3JpdGVfZmlyc3RfYmxvY2spLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfZW5jX2NoYW5nZV9zdGF0ZSksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF93YXZwYWNrX2VuY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3dhdnBhY2svbWQ1LmM6CgkgICogZXh0L3dhdnBhY2svbWQ1Lmg6CgkgIEFkZCB3YXZwYWNrIGVuY29kZXIgZWxlbWVudCAoIzM0MzEzMSkuCgoyMDA2LTA2LTA5IDE3OjM4OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3IgWCBiZWZvcmUgdXNpbmcgWF9DRkxBR1MgaW4gdGhlIGNoZWNrIGZvciBvcGVuZ2wgKCMzNDM4NjYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGZvciBYIGJlZm9yZSB1c2luZyBYX0NGTEFHUyBpbiB0aGUgY2hlY2sgZm9yIG9wZW5nbCAoIzM0Mzg2NikuCgkgICogZXh0L211c2VwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSAgQWRkIG1pc3NpbmcgR1NUX0xJQlMsIGZpeGVzIGJ1aWxkIG9uIGN5Z3dpbiAoIzM0Mzg2NikuCgoyMDA2LTA2LTA2IDE2OjI2OjU5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGFkYXB0IHRvIG5ldyBhcGkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkYXB0IHRvIG5ldyBhcGkKCjIwMDYtMDYtMDYgMTY6MTQ6NTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvTWFrZWZpbGUuYW06CgkgIGJ1aWxkIGdkcCBwbHVnaW5zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBidWlsZCBnZHAgcGx1Z2lucwoKMjAwNi0wNi0wNiAxNToxNjoxNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJICBpZ25vcmUgbW9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgaWdub3JlIG1vcmUKCjIwMDYtMDYtMDYgMTQ6Mzk6MTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgY29uZmlndXJlLmFjOiBlbmFibGUgYnVpbGRpbmcgb2YgR0RQIGVsZW1lbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgZW5hYmxlIGJ1aWxkaW5nIG9mIEdEUCBlbGVtZW50cwoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfY2hhaW4pOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9nZHBfcGF5X2luaXQpLCAoZ3N0X2dkcF9idWZmZXJfZnJvbV9jYXBzKSwKCSAgKGdzdF9nZHBfcGF5X2J1ZmZlcl9mcm9tX2J1ZmZlciksIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2V2ZW50KSwKCSAgKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlciksIChnc3RfZ2RwX3BheV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9nZHBfcGF5X3NldF9wcm9wZXJ0eSksIChnc3RfZ2RwX3BheV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2dkcF9wYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICBhZGQgdmVyc2lvbiAxLjAKCjIwMDYtMDYtMDIgMTc6MDE6MDEgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogRG9uJ3QgYnVzeS13YWl0IGluIHRlc3RzOyB0aGlzIHdhcyBjYXVzaW5nIHRlc3QgdGltZW91dHMgdmVyeSBmcmVxdWVudGx5IHdoZW4gcnVubmluZyB1bmRlciB2YWxncmluZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9jb252ZXJ0LmM6IChzZXRfY2hhbm5lbF9wb3NpdGlvbnMpLAoJICAoZ2V0X2Zsb2F0X21jX2NhcHMpLCAoZ2V0X2ludF9tY19jYXBzKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW90ZXN0c3JjLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9yYXRlLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW90ZXN0c3JjLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9sdW1lLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9yYmlzZGVjLmM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3ZvcmJpc2VuYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBEb24ndCBidXN5LXdhaXQgaW4gdGVzdHM7IHRoaXMgd2FzIGNhdXNpbmcgdGVzdCB0aW1lb3V0cyB2ZXJ5CgkgIGZyZXF1ZW50bHkgd2hlbiBydW5uaW5nIHVuZGVyIHZhbGdyaW5kLgoKMjAwNi0wNi0wMiAxNjo0NTo1OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgIHNtYWxsIGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzbWFsbCBmaXhlcwoKMjAwNi0wNi0wMiAxMzo0MzoyNCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L3RoZW9yYS90aGVvcmFkZWMuYzogVGhlb3JhIDQ6NDo0IHBpeGVsIGZvcm1hdCBzdXBwb3J0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiAodGhlb3JhX2RlY19zcmNfY29udmVydCksCgkgICh0aGVvcmFfaGFuZGxlX3R5cGVfcGFja2V0KSwgKHRoZW9yYV9oYW5kbGVfNDIyX2ltYWdlKSwKCSAgKHRoZW9yYV9oYW5kbGVfNDQ0X2ltYWdlKSwgKHRoZW9yYV9oYW5kbGVfNDIwX2ltYWdlKSwKCSAgKHRoZW9yYV9oYW5kbGVfZGF0YV9wYWNrZXQpOgoJICBUaGVvcmEgNDo0OjQgcGl4ZWwgZm9ybWF0IHN1cHBvcnQuCgoyMDA2LTA2LTAyIDEwOjI4OjMyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IGFkZCBjcmMtaGVhZGVyIGFuZCBjcmMtcGF5bG9hZCBwcm9wZXJ0aWVzIGRvbid0IGVycm9yIG91dCBvbiBzb21lIHRoaW5ncyB0aGF0IGFyZSByZWNvdmVyYWJsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfZ2RwX3BheV9pbml0KSwgKGdzdF9nZHBfYnVmZmVyX2Zyb21fY2FwcyksCgkgIChnc3RfZ2RwX3BheV9idWZmZXJfZnJvbV9idWZmZXIpLCAoZ3N0X2dkcF9idWZmZXJfZnJvbV9ldmVudCksCgkgIChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIpLCAoZ3N0X2dkcF9wYXlfY2hhaW4pLAoJICAoZ3N0X2dkcF9wYXlfc2lua19ldmVudCksIChnc3RfZ2RwX3BheV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2dkcF9wYXlfZ2V0X3Byb3BlcnR5KToKCSAgYWRkIGNyYy1oZWFkZXIgYW5kIGNyYy1wYXlsb2FkIHByb3BlcnRpZXMKCSAgZG9uJ3QgZXJyb3Igb3V0IG9uIHNvbWUgdGhpbmdzIHRoYXQgYXJlIHJlY292ZXJhYmxlCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6IChHU1RfU1RBUlRfVEVTVCksIChnZHBwYXlfc3VpdGUpOgoJICBhZGQgdGVzdCBmb3IgY3JjCgoyMDA2LTA2LTAxIDIyOjAwOjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggbW9yZSBnb2JqZWN0IG1hY3Jvczogb2JqPC0+a2xhc3MsIEdzdFhYWDwtPkdzdFhYWENsYXNzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmg6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuaDoKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmg6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5oOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmg6CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuaDoKCSAgKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuaDoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5oOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuaDoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5oOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5oOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmg6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZW5jLmg6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5oOgoJICAqIGV4dC9uYXMvbmFzc2luay5oOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5oOgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmg6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuaDoKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuaDoKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5oOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmg6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuaDoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5oOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICAqIGV4dC94aW5lL2dzdHhpbmUuaDoKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmg6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5oOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmg6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuaDoKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmg6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmg6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5Lmg6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmg6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmg6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmg6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5oOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5Lmg6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuaDoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5oOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmg6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5oOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5oOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmg6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaDoKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5oOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuaDoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5oOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguaDoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmg6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5oOgoJICAqIHN5cy92Y2QvdmNkc3JjLmg6CgkgIEZpeCBtb3JlIGdvYmplY3QgbWFjcm9zOiBvYmo8LT5rbGFzcywgR3N0WFhYPC0+R3N0WFhYQ2xhc3MKCjIwMDYtMDYtMDEgMTk6MTk6NTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBtb3JlIGdvYmplY3QgbWFjcm9zOiBvYmo8LT5rbGFzcywgR3N0WFhYPC0+R3N0WFhYQ2xhc3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYW1peGVyZWxlbWVudC5oOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FtaXhlcm9wdGlvbnMuaDoKCSAgKiBleHQvYWxzYS9nc3RhbHNhbWl4ZXJ0cmFjay5oOgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NpbmsuaDoKCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzcmMuaDoKCSAgKiBleHQvdGhlb3JhL2dzdHRoZW9yYWRlYy5oOgoJICAqIGV4dC90aGVvcmEvZ3N0dGhlb3JhZW5jLmg6CgkgICogZXh0L3RoZW9yYS9nc3R0aGVvcmFwYXJzZS5oOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzcGFyc2UuaDoKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YXVkaW9jbG9jay5oOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RhdWRpb2ZpbHRlci5oOgoJICAqIGdzdC1saWJzL2dzdC9ydHAvZ3N0YmFzZXJ0cGF1ZGlvcGF5bG9hZC5oOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvZ3N0YXVkaW9jb252ZXJ0Lmg6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5oOgoJICAqIGdzdC9hdWRpb3Rlc3RzcmMvZ3N0YXVkaW90ZXN0c3JjLmg6CgkgICogZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvZ3N0ZmZtcGVnY29sb3JzcGFjZS5oOgoJICAqIGdzdC9wbGF5YmFjay9nc3RzdHJlYW1zZWxlY3Rvci5oOgoJICAqIGdzdC90Y3AvZ3N0bXVsdGlmZHNpbmsuaDoKCSAgKiBnc3QvdGNwL2dzdHRjcGNsaWVudHNpbmsuaDoKCSAgKiBnc3QvdGNwL2dzdHRjcGNsaWVudHNyYy5oOgoJICAqIGdzdC90Y3AvZ3N0dGNwc2VydmVyc2luay5oOgoJICAqIGdzdC90Y3AvZ3N0dGNwc2VydmVyc3JjLmg6CgkgICogZ3N0L3ZpZGVvcmF0ZS9nc3R2aWRlb3JhdGUuaDoKCSAgKiBnc3QvdmlkZW9zY2FsZS9nc3R2aWRlb3NjYWxlLmg6CgkgICogZ3N0L3ZpZGVvdGVzdHNyYy9nc3R2aWRlb3Rlc3RzcmMuaDoKCSAgKiBnc3Qvdm9sdW1lL2dzdHZvbHVtZS5oOgoJICAqIHN5cy92NGwvZ3N0djRsanBlZ3NyYy5oOgoJICAqIHN5cy92NGwvZ3N0djRsbWpwZWdzaW5rLmg6CgkgICogc3lzL3Y0bC9nc3R2NGxtanBlZ3NyYy5oOgoJICAqIHN5cy92NGwvZ3N0djRsc3JjLmg6CgkgICogc3lzL3hpbWFnZS94aW1hZ2VzaW5rLmg6CgkgICogc3lzL3h2aW1hZ2UveHZpbWFnZXNpbmsuaDoKCSAgKiB0ZXN0cy9vbGQvdGVzdHN1aXRlL2Fsc2Evc2luZXNyYy5oOgoJICBGaXggbW9yZSBnb2JqZWN0IG1hY3Jvczogb2JqPC0+a2xhc3MsIEdzdFhYWDwtPkdzdFhYWENsYXNzCgoyMDA2LTA1LTMxIDE5OjI2OjI0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5oOiBGb3Jnb3QgdG8gY29tbWl0IHRoZSBoZWFkZXIgZmlsZSB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSAgRm9yZ290IHRvIGNvbW1pdCB0aGUgaGVhZGVyIGZpbGUgdG9vLgoKMjAwNi0wNS0zMSAxMzozNzoyNyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogQWRkZWQgR3N0U2VnbWVudCB0byBjb250cm9sIHNlZ21lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9jbGFzc19pbml0KSwgKGdzdF9mYWFkX2luaXQpLAoJICAoZ3N0X2ZhYWRfZGlzcG9zZSksIChnc3RfZmFhZF9zaW5rX2V2ZW50KSwgKGNsaXBfb3V0Z29pbmdfYnVmZmVyKSwKCSAgKGdzdF9mYWFkX2NoYWluKSwgKGdzdF9mYWFkX2NoYW5nZV9zdGF0ZSk6CgkgIEFkZGVkIEdzdFNlZ21lbnQgdG8gY29udHJvbCBzZWdtZW50cy4KCSAgQWRkZWQgY2xpcHBpbmcvZHJvcHBpbmcgb2Ygb3V0Z29pbmcgYnVmZmVycyBpbiBvcmRlciB0byBoYXZlIGFjY3VyYXRlCgkgIHNlZWtpbmcgd29ya2luZyBwcm9wZXJseS4KCjIwMDYtMDUtMjggMTc6MDg6MTcgKzAwMDAgIEx1dHogTcO8bGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkgIGV4dC9iejIvOiBVc2UgZ3N0X3R5cGVfZmluZF9oZWxwZXJfKiBmdW5jdGlvbnMgZm9yIHR5cGVmaW5kaW5nOyB1c2UgY29ycmVjdCBjYXBzIHdpdGggZ3N0X3BhZF9hbGxvY19idWZmZXIoKTsgYWRkIHN0YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEx1dHogTcO8bGxlciAgPGx1dHogYXQgdG9wZnJvc2UgZGU+CgkgICogZXh0L2J6Mi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5jOiAoZ3N0X2J6MmRlY19jaGFpbiksIChnc3RfYnoyZGVjX2luaXQpLAoJICAoZ3N0X2J6MmRlY19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2J6MmRlY19jbGFzc19pbml0KToKCSAgVXNlIGdzdF90eXBlX2ZpbmRfaGVscGVyXyogZnVuY3Rpb25zIGZvciB0eXBlZmluZGluZzsgdXNlCgkgIGNvcnJlY3QgY2FwcyB3aXRoIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCk7IGFkZCBzdGF0ZSBjaGFuZ2UKCSAgZnVuY3Rpb24gYW5kIHJlc2V0IGRlY29kZXIgaW4gaXQ7IGRvbid0IHVucmVmIGJ1ZmZlciBpZgoJICBwYWRfcHVzaCBmYWlsczsgdXNlIGZpeGVkIGNhcHMgb24gc291cmNlIHBhZC4gKCMzNDE1MjQpLgoKMjAwNi0wNS0yNiAyMjozNTowMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtLzogYWRkZWQgYW5vdGhlciBleGFtcGxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogKG9uX2ZyZXF1ZW5jeV9jaGFuZ2VkKSwKCSAgKHNwZWN0cnVtX2NoYWluKSwgKG1haW4pOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICBhZGRlZCBhbm90aGVyIGV4YW1wbGUKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIGZpeCB0eXBvCgoyMDA2LTA1LTI2IDEzOjE2OjU0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDbGlwIHRoZSBvdXRwdXRlZCBORVdTRUdNRU5UIHN0b3AgdGltZSB0byB0aGUgY29uZmlndXJlZCBzZWdtZW50IHN0b3AgdGltZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCk6CgkgIENsaXAgdGhlIG91dHB1dGVkIE5FV1NFR01FTlQgc3RvcCB0aW1lIHRvIHRoZSBjb25maWd1cmVkIHNlZ21lbnQgc3RvcAoJICB0aW1lLgoKMjAwNi0wNS0yNiAxMTo0ODo0NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgY2xlYXIgdGhlIHJ1bm5pbmcgdmFyaWFibGUgaW4gdGhlIHNlZWsgY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZG9fc2Vlayk6CgkgIERvbid0IGNsZWFyIHRoZSBydW5uaW5nIHZhcmlhYmxlIGluIHRoZSBzZWVrIGNvZGUuCgoyMDA2LTA1LTI0IDExOjU2OjQzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEZXRlY3QgUUNFTFAgaW4gbXA0YSBkZXNjcmlwdG9ycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaGFuZGxlX2VzZHMpOgoJICBEZXRlY3QgUUNFTFAgaW4gbXA0YSBkZXNjcmlwdG9ycy4KCjIwMDYtMDUtMjIgMTg6MDA6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IHBvL1BPVEZJTEVTLmluOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspLCAocGx1Z2luX2luaXQpOgoJICBwby9QT1RGSUxFUy5pbjoKCSAgVGhyb3cgYW4gZXJyb3Igd2hlbiB0aGUgZmlsZSBpcyBlbmNyeXB0ZWQuIE1vdmUgcGx1Z2luX2luaXQgc3R1ZmYKCSAgdG8gdGhlIGVuZCBvZiB0aGUgZmlsZSwgYWRkIHN0dWZmIGZvciBpMThuLCBtYWtlIGRlYnVnIGNhdGVnb3J5CgkgIHN0YXRpYy4KCjIwMDYtMDUtMjIgMTY6MjQ6MTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHNpZ2gsIHJlYWxseSBkb24ndCBidWlsZCB0aGVzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc2lnaCwgcmVhbGx5IGRvbid0IGJ1aWxkIHRoZXNlCgoyMDA2LTA1LTIyIDE2OjA4OjM0ICswMDAwICBNaWNoYWwgQmVuZXMgPG1pY2hhbC5iZW5lc0B4ZXJpcy5jej4KCgkgIE5ldyBwbHVnaW46IGgyNjRwYXJzZSAoIzM0MDYzOCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNaWNoYWwgQmVuZXMgIDxtaWNoYWwgZG90IGJlbmVzIGF0IHhlcmlzIGRvdCBjej4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2gyNjRwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiAoZ3N0X2gyNjRfcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF9oMjY0X3BhcnNlX2ZpbmFsaXplKSwgKGdzdF9oMjY0X3BhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2gyNjRfcGFyc2VfaW5pdCksIChnc3RfaDI2NF9wYXJzZV9jaGFpbiksCgkgIChnc3RfaDI2NF9wYXJzZV9oYW5kbGVfZXZlbnQpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIE5ldyBwbHVnaW46IGgyNjRwYXJzZSAoIzM0MDYzOCkKCjIwMDYtMDUtMjIgMTU6NTM6MDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L2dkcC86IEhhbmRsZSBlcnJvciBjYXNlcyB3aGVuIGNhbGxpbmcgZnVuY3Rpb25zIGRvIGRvd253YXJkcyBzdGF0ZSBjaGFuZ2UgYWZ0ZXIgcGFyZW50J3MgY2hhbmdlX3N0YXRlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfY2hhaW4pLAoJICAoZ3N0X2dkcF9kZXBheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKSwKCSAgKGdzdF9nZHBfcGF5X2NoYWluKSwgKGdzdF9nZHBfcGF5X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2dkcF9wYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICBIYW5kbGUgZXJyb3IgY2FzZXMgd2hlbiBjYWxsaW5nIGZ1bmN0aW9ucwoJICBkbyBkb3dud2FyZHMgc3RhdGUgY2hhbmdlIGFmdGVyIHBhcmVudCdzIGNoYW5nZV9zdGF0ZQoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIGNsZWFuIHVwIG1vcmUKCjIwMDYtMDUtMjIgMTQ6Mzc6NDEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGRvbid0IGJ1aWxkIHRoZXNlIHlldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9uJ3QgYnVpbGQgdGhlc2UgeWV0CgoyMDA2LTA1LTIyIDEzOjQwOjI4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBkb24ndCBidWlsZCB0aGVzZSB5ZXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvbid0IGJ1aWxkIHRoZXNlIHlldAoKMjAwNi0wNS0yMiAxMzoyNTo1MiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhZGRpbmcgR0RQIHBheWxvYWRlciBhbmQgZGVwYXlsb2FkZXIuICBCdWlsZCBpbnRlZ3JhdGlvbiB3aWxsIGZvbGxvdyBsYXRlciB3aGVuIHRoZSBHRFAgaXNzdWVzIGZvciBjb3JlIGFyZSBzb3J0ZWQgb3V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9nZHAvZ3N0Z2RwLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X2dkcF9kZXBheV9jbGFzc19pbml0KSwgKGdzdF9nZHBfZGVwYXlfaW5pdCksCgkgIChnc3RfZ2RwX2RlcGF5X2ZpbmFsaXplKSwgKGdzdF9nZHBfZGVwYXlfY2hhaW4pLAoJICAoZ3N0X2dkcF9kZXBheV9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2dkcF9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9iYXNlX2luaXQpLAoJICAoZ3N0X2dkcF9wYXlfY2xhc3NfaW5pdCksIChnc3RfZ2RwX3BheV9pbml0KSwKCSAgKGdzdF9nZHBfcGF5X2Rpc3Bvc2UpLCAoZ3N0X2dkcF9zdGFtcF9idWZmZXIpLAoJICAoZ3N0X2dkcF9idWZmZXJfZnJvbV9jYXBzKSwgKGdzdF9nZHBfcGF5X2J1ZmZlcl9mcm9tX2J1ZmZlciksCgkgIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2V2ZW50KSwgKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlciksCgkgIChnc3RfZ2RwX3F1ZXVlX2J1ZmZlciksIChnc3RfZ2RwX3BheV9jaGFpbiksCgkgIChnc3RfZ2RwX3BheV9zaW5rX2V2ZW50KSwgKGdzdF9nZHBfcGF5X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZ2RwX3BheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoc2V0dXBfZ2RwZGVwYXkpLAoJICAoY2xlYW51cF9nZHBkZXBheSksIChnZHBkZXBheV9wdXNoX3Blcl9ieXRlKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHNldHVwX2dkcGRlcGF5X3N0cmVhbWhlYWRlciksIChnZHBkZXBheV9zdWl0ZSksIChtYWluKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzogKHNldHVwX2dkcHBheSksIChjbGVhbnVwX2dkcHBheSksCgkgIChHU1RfU1RBUlRfVEVTVCksIChzZXR1cF9nZHBwYXlfc3RyZWFtaGVhZGVyKSwgKGdkcHBheV9zdWl0ZSksCgkgIChtYWluKToKCSAgYWRkaW5nIEdEUCBwYXlsb2FkZXIgYW5kIGRlcGF5bG9hZGVyLiAgQnVpbGQgaW50ZWdyYXRpb24gd2lsbAoJICBmb2xsb3cgbGF0ZXIgd2hlbiB0aGUgR0RQIGlzc3VlcyBmb3IgY29yZSBhcmUgc29ydGVkIG91dC4KCjIwMDYtMDUtMjEgMTY6NDE6NDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBVc2UgYm9pbGVycGxhdGUgbWFjcm8sIGZpeCBzdHJpbmdzIHRvIG1hdGNoIHBsdWdpbi1tb3ZhbC1yZXF1aXJlbWVudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1faW5pdCksIChnc3Rfc3BlY3RydW1fc2V0X3NpbmtfY2FwcyksCgkgIChnc3Rfc3BlY3RydW1fZ2V0X3NpbmtfY2FwcyksIChnc3Rfc3BlY3RydW1fY2hhaW4pOgoJICBVc2UgYm9pbGVycGxhdGUgbWFjcm8sIGZpeCBzdHJpbmdzIHRvIG1hdGNoIHBsdWdpbi1tb3ZhbC1yZXF1aXJlbWVudHMKCjIwMDYtMDUtMjEgMTY6MjM6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbTogTGluayB0byBiYXNlIGxpYnJhcmllcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgIExpbmsgdG8gYmFzZSBsaWJyYXJpZXMKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKG1haW4pOgoJICB1c2UgbmV3IHRocmVzaGhvbGQgcHJvcGVydHkKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9pbml0KSwgKGdzdF9zcGVjdHJ1bV9kaXNwb3NlKSwKCSAgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpLCAoZ3N0X3NwZWN0cnVtX3NldF9zaW5rX2NhcHMpLAoJICAoZ3N0X3NwZWN0cnVtX2dldF9zaW5rX2NhcHMpLCAoZ3N0X3NwZWN0cnVtX2NoYWluKSwKCSAgKGdzdF9zcGVjdHJ1bV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBVc2UgZ3N0X2FkYXB0ZXIsIHN1cHBvcnQgbXVsdGlwbGUtY2hhbm5lbHMsIGFkZCB0aHJlc2hvbGQgcHJvcGVydHkgZm9yCgkgIHJlc3VsdCwgYWRkIGRvY3MsIGZpeCByZXN1bHRpbmcgc3BlY3RydW0gcmFuZ2UgKHdhcyBpbmNsdWRpbmcgbWlycm9yZWQKCSAgcmVzdWx0cykKCjIwMDYtMDUtMjAgMjI6NDI6MTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEluaXRpYWwgcG9ydCBvZiB0aGUgc3BlY3RydW0gZWxlbWVudAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChzcGVjdHJ1bV9jaGFpbiksIChtYWluKToKCSAgKiBnc3Qvc3BlY3RydW0vZml4X2ZmdC5jOiAoZ3N0X3NwZWN0cnVtX2ZpeF9kb3QpOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2dldF90eXBlKSwKCSAgKGdzdF9zcGVjdHJ1bV9iYXNlX2luaXQpLCAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2luaXQpLCAoZ3N0X3NwZWN0cnVtX2Rpc3Bvc2UpLAoJICAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSksIChnc3Rfc3BlY3RydW1fY2hhaW4pOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBJbml0aWFsIHBvcnQgb2YgdGhlIHNwZWN0cnVtIGVsZW1lbnQKCjIwMDYtMDUtMTkgMTg6NTg6MDUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkgIEkgZm9yZ2V0IHRvIGFkZCBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYyBpbiBsYXMgY29tbWl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBJIGZvcmdldCB0byBhZGQgc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmMgaW4gbGFzIGNvbW1pdAoKMjAwNi0wNS0xOSAxODozMToyNSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIFNvbWUgY2xlYW4tdXBzIHJlcXVlc3RlZCBieSB3aW5nbyBpbiBidWcgIzMzODgxOC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNvbWUgY2xlYW4tdXBzIHJlcXVlc3RlZCBieSB3aW5nbyBpbiBidWcgIzMzODgxOC4KCjIwMDYtMDUtMTkgMTQ6MTc6MDQgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay4qOiBVc2Ugc2FtcGxpbmcgcmF0ZSBmcm9tIHNldF9jYXBzLiBDb21tZW50IG91dCBzb21lIG1vcmUgdW51c2VkIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOiAoYWxzYXNwZGlmc2lua19iYXNlX2luaXQpLAoJICAoYWxzYXNwZGlmc2lua19jbGFzc19pbml0KSwgKGFsc2FzcGRpZnNpbmtfaW5pdCksCgkgIChhbHNhc3BkaWZzaW5rX2Rpc3Bvc2UpLCAoYWxzYXNwZGlmc2lua19zZXRfcHJvcGVydHkpLAoJICAoYWxzYXNwZGlmc2lua19nZXRfcHJvcGVydHkpLCAoYWxzYXNwZGlmc2lua19zZXRfY2FwcyksCgkgIChhbHNhc3BkaWZzaW5rX2dldF90aW1lKSwgKGFsc2FzcGRpZnNpbmtfb3BlbiksCgkgIChhbHNhc3BkaWZzaW5rX2Nsb3NlKSwgKGFsc2FzcGRpZnNpbmtfZmluZF9wY21fZGV2aWNlKSwKCSAgKGFsc2FzcGRpZnNpbmtfd3JpdGVfZnJhbWUpLCAoYWxzYXNwZGlmc2lua19ldmVudCksCgkgIChhbHNhc3BkaWZzaW5rX2dldF90aW1lcyksIChhbHNhc3BkaWZzaW5rX2N1cnJlbnRfZGVsYXkpLAoJICAoZ2VuZXJhdGVfaWVjOTU4X3plcm9fZnJhbWUpLCAoYWxzYXNwZGlmc2lua19yZW5kZXIpLAoJICAoaWdub3JlX2Fsc2FfZXJyKSwgKGFsc2FzcGRpZnNpbmtfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuaDoKCSAgVXNlIHNhbXBsaW5nIHJhdGUgZnJvbSBzZXRfY2Fwcy4gQ29tbWVudCBvdXQgc29tZSBtb3JlIHVudXNlZCBjb2RlLgoKMjAwNi0wNS0xOCAxOTozNDo0NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBDaGVjayBmb3IgWDExCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgZm9yIFgxMQoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogKGdzdF92NGwyX2NsYXNzX3Byb2JlX2RldmljZXMpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19pZmFjZV9zdXBwb3J0ZWQpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzogKGdzdF92NGwyX3hvdmVybGF5X29wZW4pOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJICBDb2RlIGNsZWFudXBzLCBmaXggZGVidWcgbWFjcm9zCgoyMDA2LTA1LTE4IDEzOjEyOjE5ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvTWFrZWZpbGUuYW06IEZpeCBkaXN0Y2hlY2s/CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgRml4IGRpc3RjaGVjaz8KCjIwMDYtMDUtMTggMTI6NTE6MDEgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIEFkZCBhbiBhbHNhIHBsdWdpbiB0byBvdXRwdXQgSUVDOTU4IGZyYW1lcyBvdmVyIFMvUERJRgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbHNhc3BkaWYvTWFrZWZpbGUuYW06CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6IChhbHNhc3BkaWZzaW5rX2Jhc2VfaW5pdCksCgkgIChhbHNhc3BkaWZzaW5rX2NsYXNzX2luaXQpLCAoYWxzYXNwZGlmc2lua19pbml0KSwKCSAgKGFsc2FzcGRpZnNpbmtfZGlzcG9zZSksIChhbHNhc3BkaWZzaW5rX3NldF9wcm9wZXJ0eSksCgkgIChhbHNhc3BkaWZzaW5rX2dldF9wcm9wZXJ0eSksIChhbHNhc3BkaWZzaW5rX3Byb3ZpZGVfY2xvY2spLAoJICAoYWxzYXNwZGlmc2lua19nZXRfdGltZSksIChhbHNhc3BkaWZzaW5rX29wZW4pLAoJICAoYWxzYXNwZGlmc2lua19jbG9zZSksIChhbHNhc3BkaWZzaW5rX2ZpbmRfcGNtX2RldmljZSksCgkgIChhbHNhc3BkaWZzaW5rX3dyaXRlX2ZyYW1lKSwgKGFsc2FzcGRpZnNpbmtfZXZlbnQpLAoJICAoYWxzYXNwZGlmc2lua19nZXRfdGltZXMpLCAoYWxzYXNwZGlmc2lua19jdXJyZW50X2RlbGF5KSwKCSAgKGdlbmVyYXRlX2llYzk1OF96ZXJvX2ZyYW1lKSwgKGFsc2FzcGRpZnNpbmtfcmVuZGVyKSwKCSAgKGlnbm9yZV9hbHNhX2VyciksIChhbHNhc3BkaWZzaW5rX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmg6CgkgIEFkZCBhbiBhbHNhIHBsdWdpbiB0byBvdXRwdXQgSUVDOTU4IGZyYW1lcyBvdmVyIFMvUERJRgoKMjAwNi0wNS0xNyAwOTozOTo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogUmVtb3ZlIHVudXNlZCBjYXBzIGNydWZ0IGZyb20gY2hhaW4gZnVuY3Rpb24gYWx0b2dldGhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfdXBkYXRlX2NhcHMpLCAoZ3N0X2ZhYWRfY2hhaW4pOgoJICBSZW1vdmUgdW51c2VkIGNhcHMgY3J1ZnQgZnJvbSBjaGFpbiBmdW5jdGlvbiBhbHRvZ2V0aGVyLgoKMjAwNi0wNS0xNyAwOToxNTo1NSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogVGhlcmUncyBubyBndWFyYW50ZWUgdGhhdCBjYXBzIHdhcyBzZXQgdG8gc29tZXRoaW5nLCBhbmQgaWYgaXQgZGlkLCB0aGUgZnVuY3Rpb24gY2FsbGVkIHRvIGZpbGwgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9jaGFpbik6CgkgIFRoZXJlJ3Mgbm8gZ3VhcmFudGVlIHRoYXQgY2FwcyB3YXMgc2V0IHRvIHNvbWV0aGluZywgYW5kIGlmIGl0IGRpZCwgdGhlCgkgIGZ1bmN0aW9uIGNhbGxlZCB0byBmaWxsIHRoYXQgdmFyaWFibGUgYWN0dWFsbHkgc2V0cyB0aGUgY2FwcyBvbiB0aGUKCSAgc291cmNwYWQsIHNvIHdlIGNhbGwgZ3N0X3BhZF9hbGxvY19idWZmZXJfYW5kX3NldF9jYXBzKCkgdXNpbmcKCSAgR1NUX1BBRF9DQVBTKGZhYWQtPnNyY3BhZCkuCgoyMDA2LTA1LTE1IDEwOjEwOjA4ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBjb21tb246CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBsYXRlc3QgY2hhbmdlcyB3aXRoIGFkZGl0aW9ucyBhbmQgcmVtb3ZhbHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGxhdGVzdCBjaGFuZ2VzIHdpdGggYWRkaXRpb25zIGFuZCByZW1vdmFscwoKMjAwNi0wNS0xMyAxODozOToxMyArMDAwMCAgWW91bmctSG8gQ2hhIDxnYW5hZGlzdEBjaG9sbGlhbi5uZXQ+CgoJICBleHQvZmFhZC9nc3RmYWFkLio6IElmIHdlIGVuY291bnRlciBhIGRlY29kaW5nIGVycm9yLCBkb24ndCBlcnJvciBvdXQgaW1tZWRpYXRlbHksIGJ1dCB0cnkgdG8gcmVzeW5jIChvciBzZWUgaWYgd2UgaGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBZb3VuZy1IbyBDaGEgIDxnYW5hZGlzdCBjaG9sbGlhbiBuZXQ+CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfaW5pdCksIChnc3RfZmFhZF9jaGFpbiksCgkgIChnc3RfZmFhZF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSAgSWYgd2UgZW5jb3VudGVyIGEgZGVjb2RpbmcgZXJyb3IsIGRvbid0IGVycm9yIG91dCBpbW1lZGlhdGVseSwKCSAgYnV0IHRyeSB0byByZXN5bmMgKG9yIHNlZSBpZiB3ZSBoYXZlIGJldHRlciBsdWNrIHdpdGggdGhlIG5leHQKCSAgYnVmZmVyIGluIGNhc2Ugb2YgZnJhbWVkIGlucHV0KS4gT25seSBlcnJvciBvdXQgYWZ0ZXIgZml2ZQoJICBjb25zZWN1dGl2ZSBlcnJvcnMuIEZpeGVzICMzNDE1NjMuCgoyMDA2LTA1LTEyIDEwOjQzOjQ5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiBDb21waWxlIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6IChnc3RfeHZpZGVuY19jbGFzc19pbml0KSwKCSAgKGdzdF94dmlkZW5jX2luaXQpLCAoZ3N0X3h2aWRlbmNfZmluYWxpemUpLAoJICAoZ3N0X3h2aWRlbmNfaGFuZGxlX3NpbmtfZXZlbnQpLCAoZ3N0X3h2aWRlbmNfc2V0dXApLAoJICAoZ3N0X3h2aWRlbmNfc2V0Y2FwcyksIChnc3RfeHZpZGVuY19lbmNvZGUpLCAoZ3N0X3h2aWRlbmNfY2hhaW4pLAoJICAoZ3N0X3h2aWRlbmNfZmx1c2hfYnVmZmVycyksIChnc3RfeHZpZGVuY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3h2aWRlbmNfZ2V0X3Byb3BlcnR5KToKCSAgQ29tcGlsZSBmaXhlcy4KCjIwMDYtMDUtMTIgMDk6Mjg6MTUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBleHQveHZpZC86IHh2aWQgcGx1Z2luIHRvIHN1cHBvcnQgbW9yZSBjYXBhYmlsaXRpZXMgb2YgWHZpRCBjb2RlYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXcgYXQgc2t5bmV0IGRvdCBiZT4KCSAgKiBleHQveHZpZC9nc3R4dmlkLmM6IChnc3RfeHZpZF9pbml0KSwgKGdzdF94dmlkX3N0cnVjdHVyZV90b19jc3ApLAoJICAoZ3N0X3h2aWRfY3NwX3RvX2NhcHMpLCAoZ3N0X3h2aWRfaW1hZ2VfZ2V0X3NpemUpLAoJICAoZ3N0X3h2aWRfaW1hZ2VfZmlsbCk6CgkgICogZXh0L3h2aWQvZ3N0eHZpZC5oOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzogKGdzdF94dmlkZGVjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3h2aWRkZWNfaW5pdCksIChnc3RfeHZpZGRlY19yZXNldCksIChnc3RfeHZpZGRlY191bnNldCksCgkgIChnc3RfeHZpZGRlY19oYW5kbGVfc2lua19ldmVudCksIChnc3RfeHZpZGRlY19zZXR1cCksCgkgIChnc3RfeHZpZGRlY19hZGRfcGFyKSwgKGdzdF94dmlkZGVjX25lZ290aWF0ZSksCgkgIChnc3RfeHZpZGRlY19kZWNvZGUpLCAoZ3N0X3h2aWRkZWNfY2hhaW4pLAoJICAoZ3N0X3h2aWRkZWNfZmx1c2hfYnVmZmVycyksIChnc3RfeHZpZGRlY19zcmNfZ2V0Y2FwcyksCgkgIChnc3RfeHZpZGRlY19zcmNfbGluayksIChnc3RfeHZpZGRlY19zZXRjYXBzKSwKCSAgKGdzdF94dmlkZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5oOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogKGdzdF94dmlkZW5jX3Byb2ZpbGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3h2aWRlbmNfcXVhbnRfdHlwZV9nZXRfdHlwZSksIChnc3RfeHZpZGVuY19wYXNzX2dldF90eXBlKSwKCSAgKGdzdF94dmlkZW5jX2dldF90eXBlKSwgKGdzdF94dmlkZW5jX2Jhc2VfaW5pdCksCgkgIChnc3RfeHZpZGVuY19jbGFzc19pbml0KSwgKGdzdF94dmlkZW5jX2luaXQpLAoJICAoZ3N0X3h2aWRlbmNfZmluYWxpemUpLCAoZ3N0X3h2aWRlbmNfaGFuZGxlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3h2aWRlbmNfc2V0dXApLCAoZ3N0X3h2aWRlbmNfc2V0Y2FwcyksIChnc3RfeHZpZGVuY19lbmNvZGUpLAoJICAoZ3N0X3h2aWRlbmNfY2hhaW4pLCAoZ3N0X3h2aWRlbmNfZmx1c2hfYnVmZmVycyksCgkgIChnc3RfeHZpZGVuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3h2aWRlbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF94dmlkZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5oOgoJICB4dmlkIHBsdWdpbiB0byBzdXBwb3J0IG1vcmUgY2FwYWJpbGl0aWVzIG9mIFh2aUQgY29kZWMuCgkgIEZpeGVzICMzMzk0NjIuCgkgIFNvbWUgbW9yZSBjbGVhbnVwcyBoZXJlIGFuZCB0aGVyZS4KCjIwMDYtMDUtMTEgMjA6NDc6NTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBwdXQgYmFjayAtbm8tdW5kZWZpbmVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwdXQgYmFjayAtbm8tdW5kZWZpbmVkCgoyMDA2LTA1LTExIDE3OjU5OjU5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIENoYW5nZXMgcHJvcG9zZWQgYnkgV2luZ28gaW4gYnVnICMzMzg4MTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VzIHByb3Bvc2VkIGJ5IFdpbmdvIGluIGJ1ZyAjMzM4ODE4LgoKMjAwNi0wNS0xMSAwOTowOTo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRmlndXJlIG91dCB0aGUgcmVhbCBhdWRpbyB0eXBlIGluIG1wNGEgYm94ZXMgYnkgcGFyc2luZyB0aGUgb3B0aW9uYWwgZGVzY3JpcHRvcnMgaW4gdGhlIG9wdGlvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfZXNkcyk6CgkgIEZpZ3VyZSBvdXQgdGhlIHJlYWwgYXVkaW8gdHlwZSBpbiBtcDRhIGJveGVzIGJ5IHBhcnNpbmcgdGhlCgkgIG9wdGlvbmFsIGRlc2NyaXB0b3JzIGluIHRoZSBvcHRpb25hbCBlc2RzIGJveC4gUHJvbW90ZSB0aGUKCSAgZGVmYXVsdCBBQUMgdG8gbXAzIHdoZW4gaW5kaWNhdGVkLiBGaXhlcyAjMzMwNjMyLgoKMjAwNi0wNS0xMCAxNzo0NDo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUGFyc2UgdmVyc2lvbiAyIHNhbXBsZSBkZXNjcmlwdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2UpLCAocXRkZW11eF9kdW1wX3Vua25vd24pLAoJICAocXRkZW11eF9wYXJzZV90cmFrKSwgKGdzdF9xdGRlbXV4X2hhbmRsZV9lc2RzKToKCSAgUGFyc2UgdmVyc2lvbiAyIHNhbXBsZSBkZXNjcmlwdGlvbnMuCgkgIERvbid0ICNkZWZpbmUgZ3N0X3V0aWxfZHVtcF9tZW0oKSwgdXNlIHNvbWV0aGluZyBtb3JlCgkgIHNwZWNpZmljIGluc3RlYWQgdG8gYXZvaWQgY29uZnVzaW9uLgoKMjAwNi0wNS0wOCAxOToyMToxOCArMDAwMCAgTWFydGluIFJ1YmxpIDxtYXJ0aW5fcnVibGlAbG9naXRlY2guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgRml4IGZvdXJjYyBuYW1lIHByaW50ZWQgb3V0LiBQYXRjaCBmcm9tIE1hcnRpbiBSdWJsaS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBmb3VyY2MgbmFtZSBwcmludGVkIG91dC4gUGF0Y2ggZnJvbSBNYXJ0aW4gUnVibGkuCgoyMDA2LTA1LTA4IDE1OjIwOjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBjYXVzZSBzaWRlIGVmZmVjdHMgaW4gYSBkZWJ1Z2dpbmcgZnVuY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAocXRkZW11eF9kdW1wX212aGQpOgoJICBEb24ndCBjYXVzZSBzaWRlIGVmZmVjdHMgaW4gYSBkZWJ1Z2dpbmcgZnVuY3Rpb24uCgkgIEFsc28gcmVwb3J0IGR1cmF0aW9uIGluIHB1c2ggbW9kZSBzaW5jZSB3ZSBjYW4uCgoyMDA2LTA1LTA4IDExOjU1OjAyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgYXV0b2dlbi5zaDogbGlidG9vbGl6ZSBvbiBEYXJ3aW4vTWFjT1NYIGlzIGNhbGxlZCBnbGlidG9vbGl6ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhdXRvZ2VuLnNoOiAoQ09ORklHVVJFX0RFRl9PUFQpOgoJICBsaWJ0b29saXplIG9uIERhcndpbi9NYWNPU1ggaXMgY2FsbGVkIGdsaWJ0b29saXplCgoyMDA2LTA1LTA2IDAwOjE1OjU5ICswMDAwICBNYWNpZWogS2F0YWZpYXN6IDxtYXRocmlja0BtYXRocmljay5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQveGluZS94aW5lLmM6CgkqIGV4dC94aW5lL3hpbmVhdWRpb2RlYy5jOgoJKiBleHQveGluZS94aW5lYXVkaW9zaW5rLmM6CgkqIGV4dC94aW5lL3hpbmVpbnB1dC5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICBBZGQgc2VtaWNvbG9ucyBhZnRlciBHU1RfQk9JTEVSUExBVEVbX0ZVTExdIHNvIHRoYXQgaW5kZW50IGRvZXNuJ3QgbWVzcyB1cCBmb2xsb3dpbmcgbGluZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgc2VtaWNvbG9ucyBhZnRlciBHU1RfQk9JTEVSUExBVEVbX0ZVTExdIHNvIHRoYXQgaW5kZW50IGRvZXNuJ3QgbWVzcyB1cCBmb2xsb3dpbmcgbGluZXMuCgoyMDA2LTA1LTA1IDIwOjEyOjU5ICswMDAwICBNYXJ0aW4gUnVibGkgPG1hcnRpbl9ydWJsaUBsb2dpdGVjaC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIFNvbWUgY2hhbmdlcyBwcm9wb3NlZCBieSB3aW5nbyBpbiBidWcgIzMzODgxOCAoYnV0IG5vdCBldmVyeXRoaW5nIHlldCkuIFBhdGNoIGZyb20gTWFydGluIFJ1YmxpIHRvIGZpeCBmcmFtZXJhdGUgZGV0ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU29tZSBjaGFuZ2VzIHByb3Bvc2VkIGJ5IHdpbmdvIGluIGJ1ZyAjMzM4ODE4IChidXQgbm90IGV2ZXJ5dGhpbmcgeWV0KS4gUGF0Y2ggZnJvbSBNYXJ0aW4gUnVibGkgdG8gZml4IGZyYW1lcmF0ZSBkZXRlY3Rpb24uCgoyMDA2LTA1LTA1IDE1OjUwOjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzogVXNlIChOVUxMKSBpbnN0ZWFkIG9mIGp1c3QgTlVMTCBpbiBHU1RfRUxFTUVOVF9FUlJPUiBtYWNyby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzogKGdzdF9zZGxhdWRpb19zaW5rX3ByZXBhcmUpOgoJICBVc2UgKE5VTEwpIGluc3RlYWQgb2YganVzdCBOVUxMIGluIEdTVF9FTEVNRU5UX0VSUk9SIG1hY3JvLgoKMjAwNi0wNS0wNCAxNTozMjoxMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gQ1ZTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBDVlMKCj09PSByZWxlYXNlIDAuMTAuMyA9PT0KCjIwMDYtMDUtMDQgMTU6Mjg6NTMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbGltYWdlc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgUmVhbGx5IHJlbGVhc2UgMC4xMC4zIHRoaXMgdGltZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVhbGx5IHJlbGVhc2UgMC4xMC4zIHRoaXMgdGltZQoKMjAwNi0wNS0wNCAxNTowOToxMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgUGVyZm9ybSB2ZXJzaW9uIG51bWJlciBzdXJnZXJ5IHRvIGNvcnJlY3RseSByZWxlYXNlIHRhcmJhbGxzIG9mIDAuMTAuMwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGVyZm9ybSB2ZXJzaW9uIG51bWJlciBzdXJnZXJ5IHRvIGNvcnJlY3RseSByZWxlYXNlIHRhcmJhbGxzIG9mIDAuMTAuMwoKMjAwNi0wNS0wNCAxNDo1Mjo1NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gQ1ZTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBDVlMKCjIwMDYtMDUtMDQgMTQ6NTE6MDYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdsaW1hZ2VzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICBSZWxlYXNlIDAuMTAuMwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjMKCjIwMDYtMDUtMDQgMDk6Mjk6MjQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06IEZpeCBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDUtMDQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbTogRml4IGJ1aWxkLgoKMjAwNi0wNS0wMyAyMTo0ODoyMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDYtMDUtMDMgMTY6NTQ6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06IEFkZCBHU1RfUExVR0lOU19CQVNFX0NGTEFHUyB0byBDRkxBR1MgZm9yIGdzdC90YWcvdGFnLmgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOgoJICBBZGQgR1NUX1BMVUdJTlNfQkFTRV9DRkxBR1MgdG8gQ0ZMQUdTIGZvciBnc3QvdGFnL3RhZy5oCgoyMDA2LTA1LTAzIDE0OjMwOjIxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ2xlYW4gdXAgb25lIHBpZWNlIG9mIGxvZ2ljIHNsaWdodGx5IGFuZCByZW1vdmUgYSBkZWFkIGNvZGUgYmxvY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIENsZWFuIHVwIG9uZSBwaWVjZSBvZiBsb2dpYyBzbGlnaHRseSBhbmQgcmVtb3ZlIGEKCSAgZGVhZCBjb2RlIGJsb2NrLgoKMjAwNi0wNS0wMyAxMzoyMDo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEV2ZXJ5Ym9keSBsb3ZlcyBkb2NzIC0gYWRkIGRvY3MgZm9yIG11c2ljYnJhaW56IHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uaDoKCSAgRXZlcnlib2R5IGxvdmVzIGRvY3MgLSBhZGQgZG9jcyBmb3IgbXVzaWNicmFpbnogcGx1Z2luLgoKMjAwNi0wNS0wMyAxMjowMTo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9NYWtlZmlsZS5hbTogQWRkIG11c2ljYnJhaW56IGRpciB0byBESVNUX1NVQkRJUlMgYXMgd2VsbCAoZml4ZXMgZGlzdGNoZWNrKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBBZGQgbXVzaWNicmFpbnogZGlyIHRvIERJU1RfU1VCRElSUyBhcyB3ZWxsIChmaXhlcyBkaXN0Y2hlY2spLgoKMjAwNi0wNS0wMyAxMTozNDozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9NYWtlZmlsZS5hbTogRm9yZ290IHRvIGNvbW1pdCB0aGlzIG9uZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBGb3Jnb3QgdG8gY29tbWl0IHRoaXMgb25lLgoKMjAwNi0wNS0wMyAxMToyNzo0MiArMDAwMCAgSmFtZXMgRG9jIExpdmluZ3N0b24gPGRvY2xpdmluZ3N0b25AZ21haWwuY29tPgoKCSAgUG9ydCBNdXNpY0JyYWlueiBUUk0gcGx1Z2luICgjMzM2ODk4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKYW1lcyAiRG9jIiBMaXZpbmdzdG9uICA8ZG9jbGl2aW5nc3RvbiBnbWFpbCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfdHJtX2Jhc2VfaW5pdCksCgkgIChnc3RfdHJtX2NsYXNzX2luaXQpLCAoZ3N0X3RybV9pbml0KSwgKGdzdF90cm1fc2V0Y2FwcyksCgkgIChnc3RfdHJtX2NoYWluKSwgKGdzdF90cm1fZW1pdF9zaWduYXR1cmUpLCAoZ3N0X3RybV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3RybV9nZXRfcHJvcGVydHkpLCAoZ3N0X3RybV9jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uaDoKCSAgUG9ydCBNdXNpY0JyYWlueiBUUk0gcGx1Z2luICgjMzM2ODk4KS4KCjIwMDYtMDUtMDMgMTA6MjU6NDYgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogRml4ICMzMzQ3NDg6IHVzZSBmYWtlX2NvZGVjX2RhdGEgaWYgdGhlIGZpcnN0IGJ5dGVzIG9mIHRoZSBmaXJzdCBidWZmZXIgd2UgcHJvY2VzcyBkb2Vzbid0IGxvb2sgbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9zZXRjYXBzKSwKCSAgKGxvb2tzX2xpa2VfdmFsaWRfaGVhZGVyKSwgKGdzdF9mYWFkX2NoYWluKToKCSAgRml4ICMzMzQ3NDg6IHVzZSBmYWtlX2NvZGVjX2RhdGEgaWYgdGhlIGZpcnN0IGJ5dGVzIG9mIHRoZSBmaXJzdAoJICBidWZmZXIgd2UgcHJvY2VzcyBkb2Vzbid0IGxvb2sgbGlrZSBwbGF1c2libGUgQUFDIGRhdGEgKGUuZy4KCSAgcmVzZXJ2ZWQgdmFsdWVzIGZvciByYXRlLCBvciBjaGFubmVscykuIEZpeGVzIHBsYXliYWNrIG9mIEFwcGxlJ3MKCSAgbW92aWUgdHJhaWxlcnMuCgoyMDA2LTA1LTAyIDIxOjUyOjQ4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgRml4IGdldF9jYXBzIGZ1bmMgdG8gd29yayB3aGVuIG5vIGZyYW1lcmF0ZSBpcyBhdmFpbGFibGUgYW5kIHRoZSBjYXBzIGlzbid0IHNpbXBsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBnZXRfY2FwcyBmdW5jIHRvIHdvcmsgd2hlbiBubyBmcmFtZXJhdGUgaXMgYXZhaWxhYmxlIGFuZCB0aGUgY2FwcyBpc24ndCBzaW1wbGUuCgoyMDA2LTA1LTAxIDIxOjM3OjUxICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgRmV3IGltcHJvdmVtZW50cyB0byBtb3ZlIHRvIGdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGZXcgaW1wcm92ZW1lbnRzIHRvIG1vdmUgdG8gZ29vZC4KCjIwMDYtMDUtMDEgMTc6NTg6MzggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgbW92ZWQgdG8gZ29vZC4gIENsb3NlcyAjMzM2MTEwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5oOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdGFnaWQzdjJtdXguYzoKCSAgbW92ZWQgdG8gZ29vZC4gIENsb3NlcyAjMzM2MTEwCgoyMDA2LTA0LTMwIDE2OjE2OjU5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICBzbWFsbCBjbGVhbnVwcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc21hbGwgY2xlYW51cHMKCjIwMDYtMDQtMzAgMTU6MzI6MTMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgZml4IGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBkb2NzCgoyMDA2LTA0LTMwIDE1OjEzOjQ5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgdXBkYXRlZCBlbGVtZW50IHByb3BlcnRpZXMgYW5kIHNpZ25hbHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZWQgZWxlbWVudCBwcm9wZXJ0aWVzIGFuZCBzaWduYWxzCgoyMDA2LTA0LTMwIDE1OjExOjQ2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy8uZ2l0aWdub3JlOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICBpZ25vcmUgbW9yZTsgYWRkIG5ldyBpbnNwZWN0IGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBpZ25vcmUgbW9yZTsgYWRkIG5ldyBpbnNwZWN0IGZpbGVzCgoyMDA2LTA0LTMwIDE0OjU5OjM5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLWxpc3QudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy11bmRvY3VtZW50ZWQudHh0OgoJICByZW1vdmUgZmlsZXMgdGhhdCBzaG91bGQgbm90IGJlIGluIGN2cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIGZpbGVzIHRoYXQgc2hvdWxkIG5vdCBiZSBpbiBjdnMKCjIwMDYtMDQtMzAgMTQ6NTg6MjkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jcy9wbHVnaW5zLzogRml4IHVwIGRvY3MgZm9yIHRhZ2xpYiBwbHVnaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLWxpc3QudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXVuZG9jdW1lbnRlZC50eHQ6CgkgIEZpeCB1cCBkb2NzIGZvciB0YWdsaWIgcGx1Z2luCgkgIEFsc28gc2NhbiAuY2MgZmlsZXMKCjIwMDYtMDQtMzAgMTQ6NTU6MTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkgIHVwZGF0ZSB0byBsYXRlc3QgdmVyc2lvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHRvIGxhdGVzdCB2ZXJzaW9uCgoyMDA2LTA0LTI5IDE4OjQ2OjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6IFBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGluIHRoZSAoZXh0cmVtZWx5IHVubGlrZWx5KSBjYXNlIG9mIGFuIGVycm9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgUG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgaW4gdGhlIChleHRyZW1lbHkgdW5saWtlbHkpCgkgIGNhc2Ugb2YgYW4gZXJyb3IuCgoyMDA2LTA0LTI5IDE4OjE4OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi86IFNwbGl0IHRoZSBhY3R1YWwgSUQzdjIgdGFnIHJlbmRlcmluZyBjb2RlIGludG8gaXRzIG93biBzdWJjbGFzcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguaDoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOgoJICBTcGxpdCB0aGUgYWN0dWFsIElEM3YyIHRhZyByZW5kZXJpbmcgY29kZSBpbnRvCgkgIGl0cyBvd24gc3ViY2xhc3MuCgoyMDA2LTA0LTI5IDE1OjM2OjE2ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy4qOiBhZGRlZCBpcmFkaW8tbW9kZSBzdXBwb3J0IGFzIGluIGdub21ldmZzc3JjIHRvIGVuYWJsZSBjb25uZWN0aW9ucyB3aXRoIGljeWRlbXV4IHRoYXQgd2lsbCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBhZGRlZCBpcmFkaW8tbW9kZSBzdXBwb3J0IGFzIGluIGdub21ldmZzc3JjIHRvIGVuYWJsZQoJICBjb25uZWN0aW9ucyB3aXRoIGljeWRlbXV4IHRoYXQgd2lsbCBzZW5kIHRpdGxlIHRhZyBtZXNzYWdlcyBvbgoJICBzaG91dGNhc3QvaWNlY2FzdCBzdHJlYW1zLiBJJ3ZlIGFsc28gYWRkZWQgaXJhZGlvIHByb3BlcnRpZXMKCSAgaXJhZGlvLW5hbWUsIGlyYWRpby1nZW5yZSwgaXJhZGlvLXVybC4KCSAgYWRkZWQgdXNlci1hZ2VudCBwcm9wZXJ0eSBiZWNhdXNlIHNvbWUgc2hvdXRjYXN0IHN0cmVhbXMgZG9uJ3QgcmV0dXJuCgkgIGRhdGEgaWYgdGhlIEdFVCByZXF1ZXN0cyBkb24ndCBoYXZlIGEgVXNlci1BZ2VudC4KCSAgKiB3aW4zMi9jb21tb24vbGliZ3N0bmVvbi5kc3A6CgkgIHVzZSBkZWJ1ZyB2ZXJzaW9uIG9mIGxpYm5lb24gaW4gZGVidWcgbW9kZQoKMjAwNi0wNC0yOCAyMTo0MzowNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90YWdpZDN2Mm11eC5jOgoJICBlbGVtZW50IHJlbmFtZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGVsZW1lbnQgcmVuYW1lZAoKMjAwNi0wNC0yOCAxOTo0NjozNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgbWFrZSBHc3RFbGVtZW50RGV0YWlscyBjb25zdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYS9nc3RhbHNhbWl4ZXJlbGVtZW50LmM6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYXNyYy5jOgoJICAqIGV4dC9jZHBhcmFub2lhL2dzdGNkcGFyYW5vaWFzcmMuYzoKCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzaW5rLmM6CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc3JjLmM6CgkgICogZXh0L29nZy9nc3RvZ2dkZW11eC5jOgoJICAqIGV4dC9vZ2cvZ3N0b2dnbXV4LmM6CgkgICogZXh0L29nZy9nc3RvZ2dwYXJzZS5jOgoJICAqIGV4dC9vZ2cvZ3N0b2dtcGFyc2UuYzoKCSAgKiBleHQvcGFuZ28vZ3N0Y2xvY2tvdmVybGF5LmM6CgkgICogZXh0L3BhbmdvL2dzdHRleHRvdmVybGF5LmM6CgkgICogZXh0L3BhbmdvL2dzdHRleHRyZW5kZXIuYzoKCSAgKiBleHQvcGFuZ28vZ3N0dGltZW92ZXJsYXkuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZW5jLmM6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNkZWMuYzoKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc2VuYy5jOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RhdWRpb2ZpbHRlci5jOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RhdWRpb2ZpbHRlcnRlbXBsYXRlLmM6CgkgICogZ3N0L2F1ZGlvY29udmVydC9nc3RhdWRpb2NvbnZlcnQuYzoKCSAgKiBnc3QvYXVkaW9yYXRlL2dzdGF1ZGlvcmF0ZS5jOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBnc3QvYXVkaW90ZXN0c3JjL2dzdGF1ZGlvdGVzdHNyYy5jOgoJICAqIGdzdC9mZm1wZWdjb2xvcnNwYWNlL2dzdGZmbXBlZ2NvbG9yc3BhY2UuYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0ZGVjb2RlYmluLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4uYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0c3RyZWFtc2VsZWN0b3IuYzoKCSAgKiBnc3Qvc3VicGFyc2UvZ3N0c3VicGFyc2UuYzoKCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmM6CgkgICogZ3N0L3RjcC9nc3R0Y3BjbGllbnRzaW5rLmM6CgkgICogZ3N0L3RjcC9nc3R0Y3BjbGllbnRzcmMuYzoKCSAgKiBnc3QvdGNwL2dzdHRjcHNlcnZlcnNpbmsuYzoKCSAgKiBnc3QvdGNwL2dzdHRjcHNlcnZlcnNyYy5jOgoJICAqIGdzdC90eXBlZmluZC9nc3R0eXBlZmluZGZ1bmN0aW9ucy5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC92aWRlb3JhdGUvZ3N0dmlkZW9yYXRlLmM6CgkgICogZ3N0L3ZpZGVvc2NhbGUvZ3N0dmlkZW9zY2FsZS5jOgoJICAqIGdzdC92aWRlb3Rlc3RzcmMvZ3N0dmlkZW90ZXN0c3JjLmM6CgkgICogZ3N0L3ZvbHVtZS9nc3R2b2x1bWUuYzoKCSAgKiBzeXMvdjRsL2dzdHY0bGpwZWdzcmMuYzoKCSAgKiBzeXMvdjRsL2dzdHY0bG1qcGVnc2luay5jOgoJICAqIHN5cy92NGwvZ3N0djRsbWpwZWdzcmMuYzoKCSAgKiBzeXMvdjRsL2dzdHY0bHNyYy5jOgoJICAqIHN5cy94aW1hZ2UveGltYWdlc2luay5jOgoJICAqIHN5cy94dmltYWdlL3h2aW1hZ2VzaW5rLmM6CgkgICogdGVzdHMvY2hlY2svbGlicy9jZGRhYmFzZXNyYy5jOgoJICBtYWtlIEdzdEVsZW1lbnREZXRhaWxzIGNvbnN0CgoyMDA2LTA0LTI4IDE5OjI0OjQwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICByZW1vdmVkIHBsdWdpbiBkb2MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZWQgcGx1Z2luIGRvYwoKMjAwNi0wNC0yOCAxOToyMzoyMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wtbGlzdC50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXVuZG9jdW1lbnRlZC50eHQ6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3hpbWFnZXNyYy9NYWtlZmlsZS5hbToKCSogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuaDoKCSogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmM6CgkqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5oOgoJKiB0ZXN0cy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6CgkgIG1vdmVkIHhpbWFnZXNyYyB0byBnb29kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb3ZlZCB4aW1hZ2VzcmMgdG8gZ29vZAoKMjAwNi0wNC0yOCAxNjo1MTozMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5oOgoJICBib3JnaWZ5IG5hbWluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYm9yZ2lmeSBuYW1pbmcKCjIwMDYtMDQtMjggMTY6NDY6NTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSAgZG9jIHR3ZWFrcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9jIHR3ZWFrcwoKMjAwNi0wNC0yOCAxNjoxNToyMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMveGltYWdlc3JjL01ha2VmaWxlLmFtOgoJKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJICBjbGVhbiB1cCBNYWtlZmlsZS5hbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY2xlYW4gdXAgTWFrZWZpbGUuYW0KCjIwMDYtMDQtMjggMTU6MzM6MDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6CgkgIHBlZGFudGljIGNsZWFudXBzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwZWRhbnRpYyBjbGVhbnVwcwoKMjAwNi0wNC0yOCAxNDoxNzowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogQWRkIHN1cHBvcnQgZm9yIG90aGVyIGZvcm1hdHMgYXVkaW9yZXNhbXBsZSBjYW4gaGFuZGxlIHN1Y2ggYXMgMzIgYml0cyBpbiBhbmQgZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IChnc3RfYXVkaW9yZXNhbXBsZV9pbml0KSwKCSAgKHJlc2FtcGxlX3NldF9zdGF0ZV9mcm9tX2NhcHMpOgoJICBBZGQgc3VwcG9ydCBmb3Igb3RoZXIgZm9ybWF0cyBhdWRpb3Jlc2FtcGxlIGNhbiBoYW5kbGUgc3VjaCBhcwoJICAzMiBiaXRzIGluIGFuZCBmbG9hdCBhbmQgNjQgYml0cyBmbG9hdC4gRml4ZXMgIzMwMTc1OQoKMjAwNi0wNC0yOCAxMTowNDoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuKjogSWYgd2UgcnVuIGludG8gYSBkZWNvZGluZyBlcnJvciwgdHJ5IHJlLW9wZW5pbmcgdGhlIGRlY29kZXIgd2l0aCBmYWFjRGVjSW5pdDIoKSB1c2luZyBmYWtlIGNvZGVjIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9pbml0KSwgKGFhY19yYXRlX2lkeCksCgkgIChnc3RfZmFhZF9zZXRjYXBzKSwgKGdzdF9mYWFkX2NoYWluKSwgKGdzdF9mYWFkX29wZW5fZGVjb2RlciksCgkgIChnc3RfZmFhZF9jbG9zZV9kZWNvZGVyKSwgKGdzdF9mYWFkX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBJZiB3ZSBydW4gaW50byBhIGRlY29kaW5nIGVycm9yLCB0cnkgcmUtb3BlbmluZyB0aGUgZGVjb2RlcgoJICB3aXRoIGZhYWNEZWNJbml0MigpIHVzaW5nIGZha2UgY29kZWMgZGF0YSBjcmVhdGVkIGZyb20gdGhlCgkgIGRhdGEgdGhlIGRlbXV4ZXIgZ2F2ZSB1cy4gU2hvdWxkIGZpeCBhIHdob2xlIGJ1bmNoIG9mCgkgIEdTdHJlYW1lci1mYWFkIHByb2JsZW1zIGluY2wuICdjaGFubmVsIGNvdXBsaW5nIG5vdAoJICBpbXBsZW1lbnRlZCcsICdtYXhpbXVtIG51bWJlciBvZiBzY2FsZWZhY3RvciBiYW5kcyBleGNlZWRlZCcKCSAgZXRjLiAoIzE3MzAwNywgIzMzMjg5MikuCgoyMDA2LTA0LTI1IDIxOjU2OjM4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEZWZpbmUgR3N0RWxlbWVudERldGFpbHMgYXMgY29uc3QgYW5kIGFsc28gc3RhdGljICh3aGVuIGRlZmluZWQgYXMgZ2xvYmFsKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmM6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmM6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfYmFzZV9pbml0KToKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9iYXNlX2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3NpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzogKGdzdF9jZHhhX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfYmFzZV9pbml0KToKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICAqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzogKGdzdF9wdXp6bGVfYmFzZV9pbml0KToKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5jOiAoZ3N0X3R0YV9kZWNfYmFzZV9pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkgICogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IChnc3RfeGluZ19tdXhfYmFzZV9pbml0KToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICAqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICAqIHN5cy92Y2QvdmNkc3JjLmM6IChnc3RfdmNkc3JjX2Jhc2VfaW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSAgRGVmaW5lIEdzdEVsZW1lbnREZXRhaWxzIGFzIGNvbnN0IGFuZCBhbHNvIHN0YXRpYyAod2hlbiBkZWZpbmVkIGFzCgkgIGdsb2JhbCkKCjIwMDYtMDQtMjAgMTg6MDI6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogQWRkIHN1cHBvcnQgZm9yIHNlZ21lbnQgc2Vla3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJICAoZ3N0X211c2VwYWNrZGVjX2hhbmRsZV9zZWVrX2V2ZW50KSwgKGdzdF9tdXNlcGFja2RlY19sb29wKToKCSAgQWRkIHN1cHBvcnQgZm9yIHNlZ21lbnQgc2Vla3MuCgoyMDA2LTA0LTIwIDE3OjI5OjU2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgQWRkZWQgYSBjb3VwbGUgb2YgaWZkZWZzIHRvIG1ha2UgaXQgY29tcGlsZSB3aXRoIG90aGVyIGtlcm5lbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGRlZCBhIGNvdXBsZSBvZiBpZmRlZnMgdG8gbWFrZSBpdCBjb21waWxlIHdpdGggb3RoZXIga2VybmVscy4KCjIwMDYtMDQtMjAgMDk6NDg6MDUgKzAwMDAgIGpeIDxqQGJvb3RsYWIub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBOZXZlciB0cmVhdCB2aWRlbyBzdHJlYW1zIGFzIGFuIGF1ZGlvIHN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBqXiA8aiBhdCBib290bGFiIGRvdCBvcmc+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIE5ldmVyIHRyZWF0IHZpZGVvIHN0cmVhbXMgYXMgYW4gYXVkaW8gc3RyZWFtLgoJICBBZGQgcXRkcncgbWltZSB0eXBlLgoJICBGaXhlcyAjMzM5MDQxCgoyMDA2LTA0LTE5IDA5OjI3OjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGb3IgVkJSIGF1ZGlvLCBkb24ndCB0cnkgdG8gY2FsY3VsYXRlIHRoZSBzYW1wbGVzX3Blcl9mcmFtZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRm9yIFZCUiBhdWRpbywgZG9uJ3QgdHJ5IHRvIGNhbGN1bGF0ZSB0aGUgc2FtcGxlc19wZXJfZnJhbWUuCgkgIEZpeGVzICMzMzg5MzUuCgoyMDA2LTA0LTE3IDE5OjQzOjMyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgSnVzdCBhZGRlZCBhIGd0ay1kb2MgY29tbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEp1c3QgYWRkZWQgYSBndGstZG9jIGNvbW1lbnQuCgoyMDA2LTA0LTE3IDE4OjQ0OjQ4ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvdGhlb3JhL3RoZW9yYWRlYy4qOiBBcHBseSBmaXggZnJvbSBqXiBmb3IgQVBJIGNoYW5nZSBpbiBsaWJ0aGVvcmFkZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6ICh0aGVvcmFfZGVjX3NyY19jb252ZXJ0KSwKCSAgKHRoZW9yYV9oYW5kbGVfdHlwZV9wYWNrZXQpLCAodGhlb3JhX2hhbmRsZV80MjJfaW1hZ2UpLAoJICAodGhlb3JhX2hhbmRsZV80MjBfaW1hZ2UpLCAodGhlb3JhX2hhbmRsZV9kYXRhX3BhY2tldCk6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuaDoKCSAgQXBwbHkgZml4IGZyb20gal4gZm9yIEFQSSBjaGFuZ2UgaW4gbGlidGhlb3JhZGVjLgoJICBJbXBsZW1lbnQgNDoyOjIgcGl4ZWwgZm9ybWF0LiBVbnRlc3RlZCBhdCB0aGUgbW9tZW50LgoKMjAwNi0wNC0xNCAxMzoxMjo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiBGaXggdHJhY2svYWxidW0gcGVhayB0YWcgdmFsdWVzOyB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIgYW5kIGdzdF9wYWRfbmV3X2Zyb21fc3RhdGljX3RlbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19pbml0KSwKCSAgKGdzdF9tdXNlcGFja19zdHJlYW1faW5pdCk6CgkgIEZpeCB0cmFjay9hbGJ1bSBwZWFrIHRhZyB2YWx1ZXM7IHVzZSBHU1RfREVCVUdfRlVOQ1BUUiBhbmQKCSAgZ3N0X3BhZF9uZXdfZnJvbV9zdGF0aWNfdGVtcGxhdGUoKS4KCjIwMDYtMDQtMTMgMjE6NDU6NTcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEZpeGVkIHNvbWUgbWVtb3J5IGxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgc29tZSBtZW1vcnkgbGVha3MuCgoyMDA2LTA0LTEyIDIxOjU3OjAyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgRml4IHRvIHdvcmsgaW4gcmVhZCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IHRvIHdvcmsgaW4gcmVhZCBtb2RlLgoKMjAwNi0wNC0xMSAxNjoxODoxMyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGZpeCB2ZXJzaW9uaW5nIG1hY3JvIGFuZCBhZGQgdHJhbnNsYXRpb24gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCB2ZXJzaW9uaW5nIG1hY3JvIGFuZCBhZGQgdHJhbnNsYXRpb24gZmlsZXMKCjIwMDYtMDQtMTAgMTc6MTY6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBwYXJzaW5nIG9mIG5ld2VyIHN0c2QgY2h1bmtzIGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBGaXggcGFyc2luZyBvZiBuZXdlciBzdHNkIGNodW5rcyBhZ2Fpbi4KCjIwMDYtMDQtMTAgMTQ6MjA6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBmcmFtZXJhdGUgY2FsY3VsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRml4IGZyYW1lcmF0ZSBjYWxjdWxhdGlvbi4KCjIwMDYtMDQtMTAgMTM6NTg6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiBGaXggYnVpbGQgKGNsYXNzX2luaXQgZGVjbGFyYXRpb24vZGVmaW5pdGlvbiBtaXNtYXRjaCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjYnVmZmVyX2NsYXNzX2luaXQpOgoJICBGaXggYnVpbGQgKGNsYXNzX2luaXQgZGVjbGFyYXRpb24vZGVmaW5pdGlvbiBtaXNtYXRjaCkuCgoyMDA2LTA0LTEwIDA4OjMxOjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBmb3JjZSBtb25vIDgwMDAgSHogb24gQU1SIHNhbXBsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIGZvcmNlIG1vbm8gODAwMCBIeiBvbiBBTVIgc2FtcGxlcy4KCjIwMDYtMDQtMDkgMTg6MzA6NTEgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IHJlbW92ZSBhdG9sbCBieSB1c2luZyBnX2FzY2lpX3N0cnRvdWxsIChhdG9sbCBpcyBub3Qgc3VwcG9ydGVkIG9uIFdJTjMyKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19zdGFydCk6CgkgIHJlbW92ZSBhdG9sbCBieSB1c2luZyBnX2FzY2lpX3N0cnRvdWxsIChhdG9sbCBpcyBub3Qgc3VwcG9ydGVkIG9uIFdJTjMyKQoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBkb25lIHNvbWUgY2xlYW5zIGluIHNvdXJjZXMKCSAgKiB3aW4zMi92czY6CgkgIGFkZCBwcm9qZWN0IGZpbGVzIGZvciBuZW9uLCBxdGRlbXV4CgoyMDA2LTA0LTA5IDE3OjE0OjIyICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9kZWJ1Zy5oOiByZXBsYWNlIGRlYnVnIG1hY3JvcyB3aXRoIHZhcmlhYmxlIG51bWJlciBvZiBwYXJhbWV0ZXJzIGJ5IGEgc2ltcGxlIGFsaWFzIHRvIGdzdHJlYW1lciBzdGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZGVidWcuaDoKCSAgcmVwbGFjZSBkZWJ1ZyBtYWNyb3Mgd2l0aCB2YXJpYWJsZSBudW1iZXIgb2YgcGFyYW1ldGVycwoJICBieSBhIHNpbXBsZSBhbGlhcyB0byBnc3RyZWFtZXIgc3RhbmRhcmQgZGVidWcgbWFjcm9zCgkgICgjZGVmaW5lIFJFU0FNUExFX0VSUk9SIEdTVF9FUlJPUiwgX19WQV9BUkdTX18gaXMgbm90CgkgIHN1cHBvcnRlZCBieSBNU1ZDIDYuMCBhbmQgNy4xKQoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmg6CgkgIGRlZmluZSBNX1BJIGFuZCByaW50IGZvciBXSU4zMgoJICAqIHdpbjMyL2NvbW1vbi9saWJnc3RhdWRpby5kZWY6CgkgICogd2luMzIvY29tbW9uL2xpYmdzdHJpZmYuZGVmOgoJICAqIHdpbjMyL2NvbW1vbi9saWJnc3R0YWcuZGVmOgoJICAqIHdpbjMyL2NvbW1vbi9saWJnc3R2aWRlby5kZWY6CgkgIGFkZCBuZXcgZXhwb3J0ZWQgZnVuY3Rpb25zCgkgICogd2luMzIvdnM2OgoJICB1cGRhdGUgcHJvamVjdCBmaWxlcwoKMjAwNi0wNC0wOCAyMTo0ODowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4ICMzMzczNjUgKGdfdHlwZV9jbGFzc19yZWYgPC0+IGdfdHlwZV9jbGFzc19wZWVrX3BhcmVudCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6IChnc3RfYW1yd2JkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6IChnc3RfYW1yd2JlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzogKGdzdF9hbXJ3YnBhcnNlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmM6IChnc3RfYXJ0c19jbGFzc19pbml0KToKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6IChnc3RfYXJ0c2RzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6IChnc3RfYWZzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzogKGdzdF9hZnNyY19jbGFzc19pbml0KToKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOiAoZ3N0X2NkYXVkaW9fY2xhc3NfaW5pdCk6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAoZ3N0X2RmYnZpZGVvc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6IChnc3RfZGl2eGRlY19jbGFzc19pbml0KToKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgKGdzdF9oZXJtZXNfY29sb3JzcGFjZV9jbGFzc19pbml0KToKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6IChnc3RfaXZvcmJpc2ZpbGVfY2xhc3NfaW5pdCk6CgkgICogZXh0L2phY2svZ3N0amFjay5jOiAoZ3N0X2phY2tfY2xhc3NfaW5pdCk6CgkgICogZXh0L2phY2svZ3N0amFja2Jpbi5jOiAoZ3N0X2phY2tfYmluX2NsYXNzX2luaXQpOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOiAoZ3N0X2ZhbWVlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2NsYXNzX2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0LmM6IChnc3RfaWNlY2FzdHNlbmRfY2xhc3NfaW5pdCk6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6IChnc3Rfc25hcHNob3RfY2xhc3NfaW5pdCk6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzogKGdzdF9zZl9jbGFzc19pbml0KToKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9zd2ZkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzogKGdzdF90YXJraW5kZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzogKGdzdF90YXJraW5lbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6IChnc3RfY2hhcnRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6IChnc3RfZGVpbnRlcmxhY2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6IChnc3RfZmVzdGl2YWxfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOiAoZ3N0X2lpcl9jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IChnc3RfcmZic3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6IChnc3RfbWl4bWF0cml4X2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJICAoZ3N0X3N5c3RlbV9lbmNvZGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkgIChnc3RfbXAxdmlkZW9wYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6IChnc3RfbXBlZzJzdWJ0X2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICAoZ3N0X21wM3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzogKGdzdF9vdmVybGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOiAocGFzc3Rocm91Z2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzogKHBsYXlfb25fZGVtYW5kX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6IChnc3RfcnRqcGVnZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6IChnc3RfcnRqcGVnZW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6IChnc3Rfc21vb3RoX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzogKGdzdF9zbW9vdGh3YXZlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6IChnc3Rfc3RlcmVvX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6IChnc3Rfc3dpdGNoX2NsYXNzX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmM6IChnc3RfdHRhX2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6IChnc3RfdmJpZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IChnc3RfdmlkZW9fY3JvcF9jbGFzc19pbml0KToKCSAgKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOiAoZ3N0X3hzaGFycGVuX2NsYXNzX2luaXQpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6IChnc3RfeTRtZW5jb2RlX2NsYXNzX2luaXQpOgoJICAqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOiAoY2RwbGF5ZXJfY2xhc3NfaW5pdCk6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAoZ3N0X2RpcmVjdHNvdW5kc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6IChkeHIzYXVkaW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6IChkeHIzc3B1c2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6IChkeHIzdmlkZW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzogKGdzdF9xY2Ftc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSAgKGdzdF92NGwyX2NvbG9yX2JhbGFuY2VfY2hhbm5lbF9jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzogKGdzdF92NGwyX3R1bmVyX2NoYW5uZWxfY2xhc3NfaW5pdCksCgkgIChnc3RfdjRsMl90dW5lcl9ub3JtX2NsYXNzX2luaXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IChnc3RfeGltYWdlc3JjX2NsYXNzX2luaXQpOgoJICBGaXggIzMzNzM2NSAoZ190eXBlX2NsYXNzX3JlZiA8LT4gZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50KQoKMjAwNi0wNC0wOCAxOTowNDowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0LzogRml4IG1vcmUgYnJva2VuIEdPYmplY3QgbWFjcm9zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guaDoKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJICBGaXggbW9yZSBicm9rZW4gR09iamVjdCBtYWNyb3MKCjIwMDYtMDQtMDggMTg6NDE6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBicm9rZW4gR09iamVjdCBtYWNyb3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3hpbmUvZ3N0eGluZS5oOgoJICAqIGdzdC1saWJzL2dzdC9wbGF5L3BsYXkuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5oOgoJICBGaXggYnJva2VuIEdPYmplY3QgbWFjcm9zCgoyMDA2LTA0LTA4IDE4OjI1OjU1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggYnJva2VuIEdPYmplY3QgbWFjcm9zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWxkZWMuaDoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZW5jLmg6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbHRhZy5oOgoJICAqIGV4dC9jYWlyby9nc3R0ZXh0b3ZlcmxheS5oOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkgICogZ3N0L21hdHJvc2thL2VibWwtcmVhZC5oOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXdyaXRlLmg6CgkgICogc3lzL29zeGF1ZGlvL2dzdG9zeGF1ZGlvZWxlbWVudC5oOgoJICBGaXggYnJva2VuIEdPYmplY3QgbWFjcm9zCgoyMDA2LTA0LTA4IDE4OjIzOjA0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBtYWtlIHJvdW5kaW5nIGVycm9ycyBpbiB0aW1lc3RhbXAvZHVyYXRpb24gY2FsY3VsYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlKSwKCSAgKGdzdF9xdGRlbXV4X2NoYWluKSwgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9kdW1wX3N0c3opLAoJICAocXRkZW11eF9kdW1wX3N0Y28pLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRG9uJ3QgbWFrZSByb3VuZGluZyBlcnJvcnMgaW4gdGltZXN0YW1wL2R1cmF0aW9uIGNhbGN1bGF0aW9ucy4KCSAgRml4IHRpbWVzdGFtcHMgZm9yIEFNUiBhbmQgSU1BNC4gIEZpeGVzICgjMzM3NDM2KS4KCSAgQ3JlYXRlIGEgZHVtbXkgc2VnbWVudCBldmVuIHdoZW4gdGhlcmUgaXMgbm8gZWRpdCBsaXN0LgoKMjAwNi0wNC0wNyAxNjo1OToxNSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC1saXN0LnR4dDogVXBkYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDQtMDcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC1saXN0LnR4dDogVXBkYXRlcy4KCSAgKiBleGFtcGxlcy9kaXJlY3RmYi9NYWtlZmlsZS5hbTogQWRkIGV4YW1wbGUgcmVzb3VyY2UgZmlsZXMgdG8KCSAgZGlzdC4KCjIwMDYtMDQtMDcgMTU6NTM6NDMgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBUeXBvIGZpeCwgcy9YRnJlZTg2L1gxMSBhbmQgYWRkZWQgZG9jIGJsdXJiIHNheWluZyB0aGF0IGl0IGZpeGF0ZXMgdG8gMjVmcHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDQtMDcgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBleHQvYW1yd2IvYW1yd2ItY29kZS9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZXNyY19yZWNhbGMpLAoJICAoZ3N0X3hpbWFnZXNyY19jcmVhdGUpLCAoZ3N0X3hpbWFnZXNyY19zZXRfcHJvcGVydHkpOgoJICBUeXBvIGZpeCwgcy9YRnJlZTg2L1gxMSBhbmQgYWRkZWQgZG9jIGJsdXJiIHNheWluZyB0aGF0IGl0IGZpeGF0ZXMgdG8KCSAgMjVmcHMKCjIwMDYtMDQtMDcgMTU6NDc6MjcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOiBBY3R1YWxseSBhc3NlcnQgdGhhdCBwaXBlbGluZSBnb2VzIHRvIHBsYXlpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDQtMDcgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOiAobWFpbik6CgkgIEFjdHVhbGx5IGFzc2VydCB0aGF0IHBpcGVsaW5lIGdvZXMgdG8gcGxheWluZwoKMjAwNi0wNC0wNyAxNToyNzo0MCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IEZpeCB0eXBvLCBDKysgc3R5bGUgY29tbWVudHMgYW5kIG90aGVyIHNtYWxsIGNsZWFudXBzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA0LTA3ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2VzcmNfcmVjYWxjKSwKCSAgKGNvbXBvc2l0ZV9waXhlbCksIChnc3RfeGltYWdlc3JjX3hpbWFnZV9nZXQpLAoJICAoZ3N0X3hpbWFnZXNyY19jcmVhdGUpLCAoZ3N0X3hpbWFnZXNyY19zZXRfcHJvcGVydHkpOgoJICBGaXggdHlwbywgQysrIHN0eWxlIGNvbW1lbnRzIGFuZCBvdGhlciBzbWFsbCBjbGVhbnVwcwoKMjAwNi0wNC0wNiAxOToxNjowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkZWQgZnVsbCBlZGl0IGxpc3Qgc3VwcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaW5pdCksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9xdGRlbXV4X2ZpbmRfaW5kZXgpLAoJICAoZ3N0X3F0ZGVtdXhfZmluZF9rZXlmcmFtZSksIChnc3RfcXRkZW11eF9maW5kX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfbW92ZV9zdHJlYW0pLCAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2RvX3NlZWspLCAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSksIChnc3RfcXRkZW11eF9hZHZhbmNlX3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwgKGdzdF9xdGRlbXV4X2xvb3ApLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgQWRkZWQgZnVsbCBlZGl0IGxpc3Qgc3VwcG9ydC4KCSAgQXZvaWQgb3ZlcmZsb3dzIGluIHByb2xvZ3VlIGltYWdlIGRldGVjdGlvbiBjb2RlLgoJICBBdm9pZCByb3VuZG9mZiBlcnJvcnMgaW4gdGltZXN0YW1wIGNhbGN1bGF0aW9ucy4KCjIwMDYtMDQtMDYgMTQ6MjA6MjcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQveGluZS9NYWtlZmlsZS5hbToKCSAgbW9yZSBkaXN0Y2hlY2sgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1vcmUgZGlzdGNoZWNrIGZpeGVzCgoyMDA2LTA0LTA2IDE0OjA4OjA4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogY2xlYW4gdXAgc28gcmVwb3J0IHByb3Blcmx5IG9uIG1pc3Npbmcgc3R1ZmYgZml4IG1vZHBsdWcgZGV0ZWN0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgY2xlYW4gdXAgc28gcmVwb3J0IHByb3Blcmx5IG9uIG1pc3Npbmcgc3R1ZmYKCSAgZml4IG1vZHBsdWcgZGV0ZWN0aW9uCgoyMDA2LTA0LTA2IDEyOjUyOjIyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGV4dC86IGRvbid0IGRpc3QgYW1yIHdiIHNvdXJjZSBjb2RlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvYW1yd2ItY29kZS9NYWtlZmlsZS5hbToKCSAgZG9uJ3QgZGlzdCBhbXIgd2Igc291cmNlIGNvZGUKCjIwMDYtMDQtMDYgMTE6MzU6MjYgKzAwMDAgIGpeIDxqQGJvb3RsYWIub3JnPgoKCSAgVW5pZnkgdGhlIGxvbmcgZGVzY3JpcHRpb25zIGluIHRoZSBwbHVnaW4gZGV0YWlscyAoIzMzNzI2MykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogal4gIDxqIGF0IGJvb3RsYWIgZG90IG9yZz4KCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmM6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2Jhc2VfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2Jhc2VfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5jOiAoZ3N0X3BvbHlwc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6IChnc3RfY2R4YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICAqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzogKGdzdF9wdXp6bGVfYmFzZV9pbml0KToKCSAgKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzoKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmM6IChnc3RfdHRhX2RlY19iYXNlX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkgICogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IChnc3RfeGluZ19tdXhfYmFzZV9pbml0KToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICBVbmlmeSB0aGUgbG9uZyBkZXNjcmlwdGlvbnMgaW4gdGhlIHBsdWdpbiBkZXRhaWxzICgjMzM3MjYzKS4KCjIwMDYtMDQtMDYgMDk6Mzc6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiBBZGQgYmFjayAidXJpIiBwcm9wZXJ0eSBhbmQgbWFyayBpdCBhcyBkZXByZWNhdGVkOyB1bmRvZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfbmVvbmh0dHBfc3JjX2dldF9wcm9wZXJ0eSk6CgkgIEFkZCBiYWNrICJ1cmkiIHByb3BlcnR5IGFuZCBtYXJrIGl0IGFzIGRlcHJlY2F0ZWQ7IHVuZG9lcwoJICBBUEkvQUJJIGJyZWFrYWdlIGZyb20gMjAwNi0wMi0yNC4KCjIwMDYtMDQtMDUgMDg6MzY6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFVzZSBkdXJhdGlvbiBhcyBzZWdtZW50IHN0b3AgcG9zaXRpb24gaWYgbm9uZSBpcyBleHBsaWNpdGx5IGNvbmZpZ3VyZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksCgkgIChnc3RfcXRkZW11eF9kb19zZWVrKSwgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcCk6CgkgIFVzZSBkdXJhdGlvbiBhcyBzZWdtZW50IHN0b3AgcG9zaXRpb24gaWYgbm9uZSBpcwoJICBleHBsaWNpdGx5IGNvbmZpZ3VyZWQuCgkgIEFsc28gcGVyZm9ybSBFT1Mgd2hlbiB3ZSBydW4gcGFzdCB0aGUgc2VnbWVudCBzdG9wLgoKMjAwNi0wNC0wNCAxMToyMDo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTW9yZSBjbGVhbnVwcywgYWRkZWQgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dvX2JhY2spLAoJICAoZ3N0X3F0ZGVtdXhfcGVyZm9ybV9zZWVrKSwgKGdzdF9xdGRlbXV4X2RvX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksIChnc3RfcXRkZW11eF9sb29wKSwKCSAgKGdzdF9xdGRlbXV4X2NoYWluKSwgKHF0ZGVtdXhfcGFyc2VfdHJlZSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBNb3JlIGNsZWFudXBzLCBhZGRlZCBjb21tZW50cy4KCSAgTWFyayBkaXNjb250aW51aXRpZXMgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgUG9zdCBiZXR0ZXIgZXJyb3JzIHdoZW4gc29tZXRoaW5nIGdvZXMgd3JvbmcuCgkgIEhhbmRsZSBFT1MgYW5kIHNlZ21lbnQgZW5kIHByb3Blcmx5LgoKMjAwNi0wNC0wNCAwODo0MDo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgTWFyayBsYXRlc3QgY2hhbmdlIGFzIGZpeGluZyBhIGJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE1hcmsgbGF0ZXN0IGNoYW5nZSBhcyBmaXhpbmcgYSBidWcuCgoyMDA2LTA0LTA0IDA4OjMxOjEwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC4qOiBIYW5kbGUgc3RzcyBib3hlcyBzbyB3ZSBjYW4gbWFyayBhbmQgZmluZCBrZXlmcmFtZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfcHVzaF9ldmVudCksIChnc3RfcXRkZW11eF9nb19iYWNrKSwKCSAgKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksIChnc3RfcXRkZW11eF9kb19zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLCAocGx1Z2luX2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcCksIChnc3RfcXRkZW11eF9jaGFpbiksCgkgIChxdGRlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCksIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwKCSAgKHF0ZGVtdXhfcGFyc2UpLCAocXRkZW11eF9wYXJzZV90cmVlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3BhcnNlX3VkdGEpLCAocXRkZW11eF90YWdfYWRkX3N0ciksIChxdGRlbXV4X3RhZ19hZGRfbnVtKSwKCSAgKHF0ZGVtdXhfdGFnX2FkZF9nbnJlKSwgKGdzdF9xdGRlbXV4X2hhbmRsZV9lc2RzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIEhhbmRsZSBzdHNzIGJveGVzIHNvIHdlIGNhbiBtYXJrIGFuZCBmaW5kIGtleWZyYW1lcy4KCSAgSW1wbGVtZW50IGNvcnJlY3QgYWNjdXJhdGUgYW5kIGtleWZyYW1lIHNlZWtpbmcuCgkgIFVzZSBfREVCVUdfT0JKRUNUIHdoZW4gcG9zc2libGUuCgoyMDA2LTA0LTAzIDExOjA4OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IE9ubHkgcnVuIHRoZSBpZDN2Mm11eCBjaGVjayBpZiB0YWdsaWIgaXMgYXZhaWxhYmxlIGFuZCB0aGUgdGFnbGliIHBsdWdpbiBoYXMgYmVlbiBidWlsdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIE9ubHkgcnVuIHRoZSBpZDN2Mm11eCBjaGVjayBpZiB0YWdsaWIgaXMgYXZhaWxhYmxlIGFuZAoJICB0aGUgdGFnbGliIHBsdWdpbiBoYXMgYmVlbiBidWlsdC4KCjIwMDYtMDQtMDMgMTA6NTc6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc3dmZGVjL01ha2VmaWxlLmFtOiBEb24ndCBzZXQgcGx1Z2luZGlyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3dmZGVjL01ha2VmaWxlLmFtOgoJICBEb24ndCBzZXQgcGx1Z2luZGlyLgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkgIEdTVF9QTFVHSU5fREVGSU5FX1NUQVRJQyBpc24ndCBhIGdvb2QgaWRlYSBmb3IgaW5zdGFsbGVkIHBsdWdpbnMuCgoyMDA2LTA0LTAzIDEwOjUxOjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBBZGQgQVhfQ1JFQVRFX1NURElOVF9IIHRvIGNyZWF0ZSBfc3RkaW50LmgsIG5lZWRlZCBieSB0aGUgZHRzIHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBBZGQgQVhfQ1JFQVRFX1NURElOVF9IIHRvIGNyZWF0ZSBfc3RkaW50LmgsIG5lZWRlZCBieQoJICB0aGUgZHRzIHBsdWdpbi4KCjIwMDYtMDQtMDMgMTA6MzQ6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBHU1RfT1JJR0lOID0+IEdTVF9QQUNLQUdFX09SSUdJTgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIEdTVF9PUklHSU4gPT4gR1NUX1BBQ0tBR0VfT1JJR0lOCgkgIEdTVF9QQUNLQUdFID0+IEdTVF9QQUNLQUdFX05BTUUKCjIwMDYtMDQtMDIgMTA6NDI6MzIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jcy9wbHVnaW5zLzogYWRkIG1vcmUgcGx1Z2lucyB0byBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdsaW1hZ2VzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgYWRkIG1vcmUgcGx1Z2lucyB0byBkb2NzCgoyMDA2LTA0LTAyIDA5OjMzOjEyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgdGhlIGFscGhhYmV0LCBhIHRyaWNreSBjb25jZXB0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0aGUgYWxwaGFiZXQsIGEgdHJpY2t5IGNvbmNlcHQKCjIwMDYtMDQtMDIgMDk6MTc6MjMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBhZGQgbGlib2lsIGNoZWNrLCBkdHMgdXNlcyBpdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGxpYm9pbCBjaGVjaywgZHRzIHVzZXMgaXQKCjIwMDYtMDQtMDEgMTY6NTA6NDkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wtbGlzdC50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXVuZG9jdW1lbnRlZC50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRhZ2xpYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSogc3lzL2R4cjMvYWMzX3BhZGRlci5oOgoJKiB0ZXN0cy9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RhZ2lkM3YybXV4LmM6CgkgIGFkZCB0YWdsaWIgY2hlY2tzIGFuZCBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgdGFnbGliIGNoZWNrcyBhbmQgZG9jcwoKMjAwNi0wNC0wMSAxNTozNjoyNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSAgZG9uJ3QgdXNlIEFTX0xJQlRPT0xfVEFHUywgaXQgZG9lc24ndCB3b3JrCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb24ndCB1c2UgQVNfTElCVE9PTF9UQUdTLCBpdCBkb2Vzbid0IHdvcmsKCjIwMDYtMDQtMDEgMTA6MTY6MjggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogLmdpdGlnbm9yZToKCSogZG9jcy8uZ2l0aWdub3JlOgoJKiBkb2NzL3BsdWdpbnMvLmdpdGlnbm9yZToKCSAgaWdub3JlIG1vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGlnbm9yZSBtb3JlCgoyMDA2LTA0LTAxIDEwOjE1OjMzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6CgkgIDUgc2Vjb25kIHRpbWVvdXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDUgc2Vjb25kIHRpbWVvdXQKCjIwMDYtMDQtMDEgMTA6MTQ6MjYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6CgkgIHJlbmFtZSB0ZXN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW5hbWUgdGVzdAoKMjAwNi0wNC0wMSAxMDowOToxMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE1ha2VmaWxlLmFtOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wtbGlzdC50eHQ6CgkqIGV4dC9hbXJ3Yi9nc3RhbXJ3Yi5jOgoJKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOgoJKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWYuYzoKCSogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJKiBleHQvYnoyL2dzdGJ6Mi5jOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJKiBleHQvaXZvcmJpcy92b3JiaXMuYzoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSogZXh0L25hcy9uYXNzaW5rLmM6CgkqIGV4dC9zZGwvZ3N0c2RsLmM6CgkqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJKiBleHQvdGFya2luL2dzdHRhcmtpbi5jOgoJKiBleHQveGluZS94aW5lLmM6CgkqIGV4dC94dmlkL2dzdHh2aWQuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJKiBnc3QvZmlsdGVyL2dzdGZpbHRlci5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOgoJKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOgoJKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOgoJKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnLmM6CgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzoKCSogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJKiBnc3QvdmlydHVhbGR1Yi9nc3R2aXJ0dWFsZHViLmM6CgkqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogcG8vUE9URklMRVMuaW46CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkqIHN5cy9keHIzL2R4cjNpbml0LmM6CgkqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92Y2QvdmNkc3JjLmM6CgkqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6CgkgIHJld29yayBidWlsZDsgYWRkIHRyYW5zbGF0aW9ucyBmb3IgdjRsMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV3b3JrIGJ1aWxkOyBhZGQgdHJhbnNsYXRpb25zIGZvciB2NGwyCgoyMDA2LTAzLTMxIDE3OjUyOjM2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgQWRkIHRlc3RzIGFuZCBmaXggUEFSIGNhcHMgaXNzdWUgdG8geGltYWdlc3JjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTMxICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogTWFrZWZpbGUuYW06CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6CgkgIChnc3RfeGltYWdlc3JjX3hpbWFnZV9nZXQpLAoJICAoZ3N0X3hpbWFnZXNyY19nZXRfY2FwcyksIChnc3RfeGltYWdlc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5jOgoJICAqIHRlc3RzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL3hpbWFnZXNyYy10ZXN0LmM6ICh0ZXJtaW5hdGVfcGxheWJhY2spLCAobWFpbik6CgkgIEFkZCB0ZXN0cyBhbmQgZml4IFBBUiBjYXBzIGlzc3VlIHRvIHhpbWFnZXNyYwoKMjAwNi0wMy0zMSAxNjozMjo0NyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IEFkZCBkb2NzIHRvIHhpbWFnZXNyYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0zMSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6CgkgIEFkZCBkb2NzIHRvIHhpbWFnZXNyYwoKMjAwNi0wMy0zMSAxNToyMTozNSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy94aW1hZ2VzcmMvOiBGaXggeGltYWdlc3JjIHNvIGEpIHRoZSBjdXJzb3IgZG9lc250IHRyYWlsIGFuZCBiKSB0aGVyZSBhcmUgbm8geWVsbG93IHJlY3RhbmdsZXMgd2l0aCB0aGUgY3Vyc29yCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTMxICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogKGNvbXBvc2l0ZV9waXhlbCksCgkgIChnc3RfeGltYWdlc3JjX3hpbWFnZV9nZXQpLCAoZ3N0X3hpbWFnZXNyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3hpbWFnZXNyY19nZXRfY2FwcyksIChnc3RfeGltYWdlc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmg6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmM6ICh4aW1hZ2V1dGlsX3hjb250ZXh0X2dldCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmg6CgkgIEZpeCB4aW1hZ2VzcmMgc28gYSkgdGhlIGN1cnNvciBkb2VzbnQgdHJhaWwgYW5kIGIpIHRoZXJlIGFyZSBubwoJICB5ZWxsb3cgcmVjdGFuZ2xlcyB3aXRoIHRoZSBjdXJzb3IKCjIwMDYtMDMtMzEgMTQ6MjY6MDUgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQWRkIGF1dG9jb25mZXJ5IGZvciB0aGVvcmFkZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQWRkIGF1dG9jb25mZXJ5IGZvciB0aGVvcmFkZWMuCgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBBZGQgdGhlb3JhIGRpcmVjdG9yeS4KCSAgKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6IChnc3RfdGhlb3JhZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfdGhlb3JhZGVjX2NsYXNzX2luaXQpLCAoZ3N0X3RoZW9yYWRlY19pbml0KSwKCSAgKGdzdF90aGVvcmFkZWNfcmVzZXQpLCAoaW5jX2dyYW51bGVwb3MpLCAodGhlb3JhX2dldF9xdWVyeV90eXBlcyksCgkgIChnc3RfdGhlb3JhZGVjX2dyYW51bGVfY2xvY2t0aW1lKSwgKHRoZW9yYV9kZWNfc3JjX2NvbnZlcnQpLAoJICAodGhlb3JhX2RlY19zaW5rX2NvbnZlcnQpLCAodGhlb3JhX2RlY19zcmNfcXVlcnkpLAoJICAodGhlb3JhX2RlY19zaW5rX3F1ZXJ5KSwgKHRoZW9yYV9kZWNfc3JjX2V2ZW50KSwKCSAgKHRoZW9yYV9kZWNfc2lua19ldmVudCksICh0aGVvcmFfaGFuZGxlX2NvbW1lbnRfcGFja2V0KSwKCSAgKHRoZW9yYV9oYW5kbGVfdHlwZV9wYWNrZXQpLCAodGhlb3JhX2hhbmRsZV9oZWFkZXJfcGFja2V0KSwKCSAgKHRoZW9yYV9kZWNfcHVzaCksICh0aGVvcmFfaGFuZGxlX2RhdGFfcGFja2V0KSwgKHRoZW9yYV9kZWNfY2hhaW4pLAoJICAodGhlb3JhX2RlY19jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmg6CgkgIEFkZCB0aGVvcmEgcGx1Z2luIGZvciB0aGVvcmEtZXhwIGRlY29kZXIuIFZlcnkgaGVhdmlseSBiYXNlZCBvbiB0aGUKCSAgZXhpc3RpbmcgdGhlb3JhIGRlY29kZXIgcGx1Z2luLgoKMjAwNi0wMy0yOSAxNjo1NDoxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9nc20vOiBDbGVhbnVwcywgZml4IGxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5jOiAoZ3N0X2dzbWRlY19jbGFzc19pbml0KSwgKGdzdF9nc21kZWNfaW5pdCksCgkgIChnc3RfZ3NtZGVjX2ZpbmFsaXplKSwgKGdzdF9nc21kZWNfc2lua19ldmVudCksIChnc3RfZ3NtZGVjX2NoYWluKToKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5oOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6IChnc3RfZ3NtZW5jX2NsYXNzX2luaXQpLCAoZ3N0X2dzbWVuY19pbml0KSwKCSAgKGdzdF9nc21lbmNfZmluYWxpemUpLCAoZ3N0X2dzbWVuY19jaGFpbik6CgkgIENsZWFudXBzLCBmaXggbGVha3MuCgkgIEhhbmRsZSBldmVudHMgYW5kIERJU0NPTlQuCgkgIFVzZSBhZGFwdGVyIGluIHRoZSBkZWNvZGVyLgoKMjAwNi0wMy0yOSAxNjo1MDowOCArMDAwMCAgUmVuYXRvIEFyYXVqbyBPbGl2ZWlyYSBGaWxobyA8cmVuYXRveEBnbWFpbC5jb20+CgoJICBBZGRlZCBuZXcgcGx1Z2luIGFtcndiIHBhcnNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbmF0byBBcmF1am8gT2xpdmVpcmEgRmlsaG8gPHJlbmF0b3ggYXQgZ21haWwgZG90IGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvUkVBRE1FOgoJICAqIGV4dC9hbXJ3Yi9hbXJ3Yi1jb2RlL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9hbXJ3Yi1jb2RlL3J1bi5zaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2IuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzogKGdzdF9hbXJ3YmRlY19iYXNlX2luaXQpLAoJICAoZ3N0X2FtcndiZGVjX2NsYXNzX2luaXQpLCAoZ3N0X2FtcndiZGVjX2luaXQpLAoJICAoZ3N0X2FtcndiZGVjX3NldGNhcHMpLCAoZ3N0X2FtcndiZGVjX2V2ZW50KSwgKGdzdF9hbXJ3YmRlY19jaGFpbiksCgkgIChnc3RfYW1yd2JkZWNfc3RhdGVfY2hhbmdlKToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzogKGdzdF9hbXJ3YmVuY19iYXNlX2luaXQpLAoJICAoZ3N0X2FtcndiZW5jX2NsYXNzX2luaXQpLCAoZ3N0X2FtcndiZW5jX2luaXQpLAoJICAoZ3N0X2FtcndiZW5jX2ZpbmFsaXplKSwgKGdzdF9hbXJ3YmVuY19zZXRjYXBzKSwKCSAgKGdzdF9hbXJ3YmVuY19jaGFpbiksIChnc3RfYW1yd2JlbmNfc3RhdGVfY2hhbmdlKToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOiAoZ3N0X2FtcndicGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF9hbXJ3YnBhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X2FtcndicGFyc2VfaW5pdCksCgkgIChnc3RfYW1yd2JwYXJzZV9xdWVyeXR5cGVzKSwgKGdzdF9hbXJ3YnBhcnNlX3F1ZXJ5KSwKCSAgKGdzdF9hbXJ3YnBhcnNlX2NoYWluKSwgKGdzdF9hbXJ3YnBhcnNlX3JlYWRfaGVhZGVyKSwKCSAgKGdzdF9hbXJ3YnBhcnNlX2xvb3ApLCAoZ3N0X2FtcndicGFyc2Vfc2lua19hY3RpdmF0ZSksCgkgIChnc3RfYW1yd2JwYXJzZV9zaW5rX2FjdGl2YXRlX3B1bGwpLCAoZ3N0X2FtcndicGFyc2Vfc3RhdGVfY2hhbmdlKToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5oOgoJICBBZGRlZCBuZXcgcGx1Z2luIGFtcndiIHBhcnNlLgoJICBSZW5hbWVkIGF1ZGlvL0FNUiB0byBhdWRpby9BTVItV0IgYXMgcGVyIHNwZWMuCgkgIEZpeGVzICMzMzMzMDcKCjIwMDYtMDMtMjcgMTc6MDY6NDUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBTbWFsbCBmaXgsIG5vdyBwd2MgZHJpdmVyIGNhbiB0ZWxsIGFib3V0IGl0cyBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU21hbGwgZml4LCBub3cgcHdjIGRyaXZlciBjYW4gdGVsbCBhYm91dCBpdHMgYnVmZmVycy4KCjIwMDYtMDMtMjcgMTA6MTM6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFJlbW92ZSBDWFggdGFnIGZyb20gQVNfTElCVE9PTF9UQUdTLCBqdXN0IGxpa2Ugd2UgZGlkIGZvciAtZ29vZCBhbmQgLXVnbHkuIEZpeGVzIGJ1aWxkIG9uIHNvbWUgc3lzdGVtcyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZW1vdmUgQ1hYIHRhZyBmcm9tIEFTX0xJQlRPT0xfVEFHUywganVzdCBsaWtlIHdlCgkgIGRpZCBmb3IgLWdvb2QgYW5kIC11Z2x5LiBGaXhlcyBidWlsZCBvbiBzb21lIHN5c3RlbXMKCSAgYW5kIGRvZXNuJ3Qgc2VlbSB0byBiZSByZXF1aXJlZCBmb3IgQysrIGNvZGUuCgoyMDA2LTAzLTI2IDE5OjU2OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWIuKjogRml4IG5ld3NlZ21lbnQgZXZlbnQgaGFuZGxpbmcgYSBiaXQuIFdlIG5lZWQgdG8gY2FjaGUgdGhlIGZpcnN0IG5ld3NlZ21lbnQgZXZlbnQsIGJlY2F1c2Ugd2UgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6CgkgIEZpeCBuZXdzZWdtZW50IGV2ZW50IGhhbmRsaW5nIGEgYml0LiBXZSBuZWVkIHRvCgkgIGNhY2hlIHRoZSBmaXJzdCBuZXdzZWdtZW50IGV2ZW50LCBiZWNhdXNlIHdlIGNhbid0CgkgIGFkanVzdCBvZmZzZXRzIHlldCB3aGVuIHdlIGdldCBpdCwgYXMgd2UgZG9uJ3QKCSAga25vdyB0aGUgc2l6ZSBvZiB0aGUgdGFnIHlldCBmb3Igc3VyZSBhdCB0aGF0IHBvaW50LgoJICBBbHNvIGRvIHNvbWUgbWlub3IgY2xlYW5pbmcgdXAgaGVyZSBhbmQgdGhlcmUgYW5kIGFkZAoJICBzb21lIGRlYnVnIHN0YXRlbWVudHMuCgoyMDA2LTAzLTI1IDIxOjU3OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6IFdlIGRvIG5vdCB3YW50IHRvIHByb3h5IHRoZSBjYXBzIG9uIHRoZSBzaW5rIHBhZDsgb3VyIHNvdXJjZSBwYWQgc2hvdWxkIGhhdmUgYXBwbGljYXRpb24veC1pLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICBXZSBkbyBub3Qgd2FudCB0byBwcm94eSB0aGUgY2FwcyBvbiB0aGUgc2luayBwYWQ7IG91cgoJICBzb3VyY2UgcGFkIHNob3VsZCBoYXZlIGFwcGxpY2F0aW9uL3gtaWQzIGNhcHM7IGFsc28sCgkgIGRvbid0IHVzZSBhbHJlYWR5LWZyZWVkIHN0cmluZ3MgaW4gZGVidWcgbWVzc2FnZXM7CgkgIGZpbmFsbHksIGFkanVzdCBidWZmZXIgb2Zmc2V0cyBvbiBidWZmZXJzIHNlbnQgb3V0LgoKMjAwNi0wMy0yNSAxMzowMjo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogT2xkZXIga2VybmVscyBkb24ndCBzZWVtIHRvIGhhdmUgdGhpcyBwYXJ0aWN1bGFyIHY0bDIgZm9ybWF0LCBzbyBjb21tZW50IG91dCB1bnRpbCB0aGlzIGdldHMgZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIE9sZGVyIGtlcm5lbHMgZG9uJ3Qgc2VlbSB0byBoYXZlIHRoaXMgcGFydGljdWxhciB2NGwyIGZvcm1hdCwKCSAgc28gY29tbWVudCBvdXQgdW50aWwgdGhpcyBnZXRzIGZpeGVkIHByb3Blcmx5IChhbmQgbWFrZQoJICBidWlsZGJvdHMgaGFwcHkpLgoKMjAwNi0wMy0yNSAwNTozMToyOCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIEp1c3QgbWFrZSBmZXcgdGhpbmdzIG1vcmUgcm9idXN0IGFuZCBhbHNvIHNvbWUgaWRlbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEp1c3QgbWFrZSBmZXcgdGhpbmdzIG1vcmUgcm9idXN0IGFuZCBhbHNvIHNvbWUgaWRlbnRhdGlvbi4KCjIwMDYtMDMtMjMgMDk6MTU6MDkgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBleHQveHZpZC9nc3R4dmlkZW5jLmM6IFBhdGNoIHRvIG1hcmsgb3V0Z29pbmcgZW5jb2RlZCBidWZmZXJzIGFzIGRlbHRhLXVuaXRzIChvciBub3QpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1dyBhdCBza3luZXQgZG90IGJlPgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogKGdzdF94dmlkZW5jX2luaXQpLCAoZ3N0X3h2aWRlbmNfc2V0dXApLAoJICAoZ3N0X3h2aWRlbmNfY2hhaW4pOgoJICBQYXRjaCB0byBtYXJrIG91dGdvaW5nIGVuY29kZWQgYnVmZmVycyBhcyBkZWx0YS11bml0cyAob3Igbm90KS4KCSAgTm90ZSB0aGF0IHRoaXMgcGF0Y2ggYWxzbyBwYXRjaGVzOgoJICAtIHRoZSBzZXR0aW5nIG9mIGZpbmNyIGFuZCBmYmFzZSBpbiB4dmlkLWVuY29kZXIgY3JlYXRpb24gYmFzZWQgb24KCSAgY2FwcyBmcmFtZXJhdGUKCSAgLSBtYWtlcyAwLCByYXRoZXIgdGhhbiAyLCB0aGUgZGVmYXVsdCBtYXhfYl9mcmFtZXMsIGFzIHRoZSBjdXJyZW50CgkgIHh2aWRlbmMgZG9lcyBub3Qgc2VlbSAiZnVsbHkgcHJlcGFyZWQiIHRvIGhhbmRsZSBiLWZyYW1lCgkgICJlZmZlY3RzIiwgc3VjaCBhcyBlbmNvZGVyIHJldHVybmluZyAwIGVuY29kZWQgYnl0ZXMsIGV0Yy4KCSAgRml4ZXMgIzMzNTU4NQoKMjAwNi0wMy0yMiAxOTo1MToyOSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCBsYXRlc3QgcGx1Z2lucyBhZGRpdGlvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBsYXRlc3QgcGx1Z2lucyBhZGRpdGlvbnMKCjIwMDYtMDMtMjIgMTc6MTM6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnLzogVHJ5IHRoYXQgYWdhaW4gKG5vdCBvbmx5IHNob3VsZCBpdCBiZSBNT0RQTFVHXyBpbnN0ZWFkIG9mIE1PREZJTEUsIGFsc28gdGhhdCBkZWZpbmUgaXMgYWxyZWEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfaXQuY3BwOgoJICBUcnkgdGhhdCBhZ2FpbiAobm90IG9ubHkgc2hvdWxkIGl0IGJlIE1PRFBMVUdfIGluc3RlYWQKCSAgb2YgTU9ERklMRSwgYWxzbyB0aGF0IGRlZmluZSBpcyBhbHJlYWR5IHNldCBpbiBzdGRhZnguaDsKCSAgd2hhdCB3ZSByZWFsbHkgbmVlZCBpcyBzb21lIG1vcmUgI2lmbmRlZnMpLgoKMjAwNi0wMy0yMiAxNTowMjo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvTWFrZWZpbGUuYW06IE1vcmUgZ2NjLTQuMSBmaXhlcyAod2UgZG9uJ3QgbmVlZCBmaWxlIHNhdmluZywgc28ganVzdCBkZWZpbmUgTU9EUExVR19OT19GSUxFU0FWRS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL01ha2VmaWxlLmFtOgoJICBNb3JlIGdjYy00LjEgZml4ZXMgKHdlIGRvbid0IG5lZWQgZmlsZSBzYXZpbmcsIHNvIGp1c3QKCSAgZGVmaW5lIE1PRFBMVUdfTk9fRklMRVNBVkUuIFRoYXQgd2F5LCB0aGUgY29tcGlsZXIgd29uJ3QKCSAgY29tcGxhaW4gYWJvdXQgbW9kcGx1ZyBpZ25vcmluZyB0aGUgcmV0dXJuIHZhbHVlIG9mIGZ3cml0ZQoJICBhbnkgbG9uZ2VyIGFuZCB3ZSBtaWdodCBldmVuIHNhdmUgYSBmZXcgYnl0ZXMgYXMgd2VsbCkuCgoyMDA2LTAzLTIyIDE0OjMxOjQ3ICswMDAwICBXb3V0ZXIgUGFlc29uIDx3b3V0ZXJAa2FuZ2Fyb290Lm5ldD4KCgkgIEFkZCBuZXcgbGlic291bmR0b3VjaC1iYXNlZCBwaXRjaCBwbHVnaW4gKCMzMzEzMzUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBQYWVzb24gIDx3b3V0ZXIgYXQga2FuZ2Fyb290IGRvdCBuZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5oaDoKCSAgQWRkIG5ldyBsaWJzb3VuZHRvdWNoLWJhc2VkIHBpdGNoIHBsdWdpbiAoIzMzMTMzNSkuCgoyMDA2LTAzLTIxIDE2OjAyOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX3B0bS5jcHA6IEZpeCBjb21waWxhdGlvbiB3aXRoIGdjYy00LjEgYW5kIC1XZXJyb3IgKCMzMjczNTUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfcHRtLmNwcDoKCSAgRml4IGNvbXBpbGF0aW9uIHdpdGggZ2NjLTQuMSBhbmQgLVdlcnJvciAoIzMyNzM1NSkuCgoyMDA2LTAzLTIwIDA4OjU5OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWIuaDogRml4IGxlZnQtb3ZlciBnc3RfbXlfZmlsdGVyX2dldF90eXBlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOgoJICBGaXggbGVmdC1vdmVyIGdzdF9teV9maWx0ZXJfZ2V0X3R5cGUuCgoyMDA2LTAzLTE3IDE2OjM0OjM2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJICBIYXZlIGEgc2hvdyBtb3VzZSBwb2ludGVyIHByb3BlcnR5IGFuZCB1c2UgaXQgaWYgd2UgY2FuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBIYXZlIGEgc2hvdyBtb3VzZSBwb2ludGVyIHByb3BlcnR5IGFuZCB1c2UgaXQgaWYgd2UgY2FuCgoyMDA2LTAzLTE1IDE1OjA4OjIwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBMZXQncyBub3QgZm9yZ2V0IHRvIGNoYWluIHVwIHRvIHRoZSBwYXJlbnQgZGlzcG9zZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZGlzcG9zZSk6CgkgIExldCdzIG5vdCBmb3JnZXQgdG8gY2hhaW4gdXAgdG8gdGhlIHBhcmVudCBkaXNwb3NlLgoKMjAwNi0wMy0xNSAxNDozOToyNSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogU2VyaWVzIG9mIG1lbWxlYWsgZml4ZXM6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfaW5pdCksIChnc3RfcXRkZW11eF9kaXNwb3NlKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgU2VyaWVzIG9mIG1lbWxlYWsgZml4ZXM6CgkgIC0gVW5yZWYgdGhlIEdzdEFkYXB0ZXIgaW4gZmluYWxpemUuCgkgIC0gVXNlIGdzdF9wYWRfbmV3X2Zyb21fc3RhdGljX3RlbXBsYXRlKCksIHNob3J0ZXIgYW5kIHNhZmVyLgoJICAtIEZyZWUgdW51c2VkIFF0RGVtdXhTdHJlYW0gd2hlbiBub3QgdXNlZC4KCjIwMDYtMDMtMTQgMTc6MjQ6MDMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IEluaXRpYWxpemF0aW9uIG9mIHRoZSBkZWJ1Z2dpbmcgY2F0ZWdvcnkgc2hvdWxkIGJlIGFzIGVhcmx5IGFzIHBvc3NpYmxlLCBtb3ZpbmcgaXQgZnJvbSBfY2xhc3MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfYmFzZV9pbml0KSwKCSAgKGdzdF92NGwyc3JjX2NsYXNzX2luaXQpOgoJICBJbml0aWFsaXphdGlvbiBvZiB0aGUgZGVidWdnaW5nIGNhdGVnb3J5IHNob3VsZCBiZSBhcyBlYXJseSBhcyBwb3NzaWJsZSwKCSAgbW92aW5nIGl0IGZyb20gX2NsYXNzX2luaXQoKSB0byBiZWdpbm5pbmcgb2YgX2Jhc2VfaW5pdCgpLgoKMjAwNi0wMy0xMyAxNzoyMjoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOiBBZGQgZ3RrLWRvYyBibHVyYiAodW51c2VkIGZvciB0aGUgdGltZSBiZWluZyk7IG1hdGNoIHJlZ2lzdGVyZWQgcGx1Z2luIG5hbWUgdG8gdGhlIGZpbGVuYW1lIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgQWRkIGd0ay1kb2MgYmx1cmIgKHVudXNlZCBmb3IgdGhlIHRpbWUgYmVpbmcpOyBtYXRjaCByZWdpc3RlcmVkCgkgIHBsdWdpbiBuYW1lIHRvIHRoZSBmaWxlbmFtZSBvZiB0aGUgcGx1Z2luICh0YWdsaWJtdXggPT4gdGFnbGliKQoKMjAwNi0wMy0xMyAxMjoxNDoxOCArMDAwMCAgTWlraGFpbCBaYWJhbHVldiA8bWh6QGFsdGxpbnV4Lm9yZz4KCgkgIGF1dG9nZW4uc2g6IERvbid0IGNoZWNrIGZvciBmaWxlIHRoYXQgb25seSBleGlzdHMgaW4gQ1ZTIGJ1dCBpc24ndCBkaXN0ZWQgKCMzMzQ0MTcpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWlraGFpbCBaYWJhbHVldiAgPG1oeiBhbHRsaW51eCBvcmc+CgkgICogYXV0b2dlbi5zaDoKCSAgRG9uJ3QgY2hlY2sgZm9yIGZpbGUgdGhhdCBvbmx5IGV4aXN0cyBpbiBDVlMgYnV0IGlzbid0CgkgIGRpc3RlZCAoIzMzNDQxNykKCjIwMDYtMDMtMTMgMTA6MDU6MDkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgRml4IGJ1aWxkIG9mIHY0bDIgKHNpZ2gpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTEzICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wtbGlzdC50eHQ6CgkgICogc3lzL3Y0bDIvTWFrZWZpbGUuYW06IEZpeCBidWlsZCBvZiB2NGwyIChzaWdoKQoKMjAwNi0wMy0xMiAyMzo1Njo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEZpeCBkaXN0Y2hlY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IGRpc3RjaGVjay4KCjIwMDYtMDMtMTIgMTU6MzM6MDAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6IGdfYXRvbWljX2ludF9zZXQgaXMgb25seSBhdmFpbGFibGUgaW4gZ2xpYi0wLjEwLCB1c2UgZ3N0X2F0b21pY19pbnRfZXQgaW5zdGVhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KSwKCSAgKGdzdF92NGwyc3JjX2J1ZmZlcl9wb29sX2ZyZWUpOgoJICBnX2F0b21pY19pbnRfc2V0IGlzIG9ubHkgYXZhaWxhYmxlIGluIGdsaWItMC4xMCwgdXNlIGdzdF9hdG9taWNfaW50X2V0CgkgIGluc3RlYWQuCgoyMDA2LTAzLTEyIDE1OjI1OjUxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDogUmVtb3ZlIHRpbSdzIGFkZGl0aW9uIG9mICJfc3RkaW50LmgiIHNpbmNlIGl0IGRvZXNuJ3QgbWFrZSB0aGUgUFBDIGJ1aWxkYm90IGhhcHB5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJICBSZW1vdmUgdGltJ3MgYWRkaXRpb24gb2YgIl9zdGRpbnQuaCIgc2luY2UgaXQgZG9lc24ndCBtYWtlIHRoZSBQUEMKCSAgYnVpbGRib3QgaGFwcHkuCgkgIEkgd2lsbCBqdXN0IHVzZSB0aGUgc2FtZSBjb21tZW50IFJvbmFsZCB1c2VkIHdoZW4gaGUgYWRkZWQgdGhlc2UgbGluZXM6CgkgIFlldCBBbm90aGVyIEhhY2sgKHRtKSBmb3Iga2VybmVsIGhlYWRlciBib3JrZWRuZXNzLgoKMjAwNi0wMy0xMiAxNTowMjowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvOiBBZGQgc3VwcG9ydCBmb3Igd3JpdGluZyBNdXNpY0JyYWlueiBJRHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIHdyaXRpbmcgTXVzaWNCcmFpbnogSURzLgoKMjAwNi0wMy0xMiAxNDo0Mzo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6IEluY2x1ZGUgIl9zdGRpbnQuaCIgaW4gYW4gYXR0ZW1wdCB0byBtYWtlIHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJICBJbmNsdWRlICJfc3RkaW50LmgiIGluIGFuIGF0dGVtcHQgdG8gbWFrZSB0aGUKCSAgUFBDLWJ1aWxkYm90IGhhcHB5LgoKMjAwNi0wMy0xMSAyMjo1MDowMyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgVjRMMiBwb3J0ZWQgdG8gMC4xMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFY0TDIgcG9ydGVkIHRvIDAuMTAuCgoyMDA2LTAzLTExIDE3OjA4OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBPbmx5IGNvbXBpbGUgdGhlIHRhZ2xpYiBwbHVnaW4gaWYgYSBDKysgY29tcGlsZXIgaXMgcHJlc2VudC4gVXNlIEdTVF9ERUZBVUxUX0VMRU1FTlRTIG1hY3JvIGZyb20gY29tbW9uLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgT25seSBjb21waWxlIHRoZSB0YWdsaWIgcGx1Z2luIGlmIGEgQysrIGNvbXBpbGVyIGlzCgkgIHByZXNlbnQuIFVzZSBHU1RfREVGQVVMVF9FTEVNRU5UUyBtYWNybyBmcm9tIGNvbW1vbi8KCSAgZm9yIGFsbCB0aGUgZGVmYXVsdHMgc3R1ZmYuCgoyMDA2LTAzLTExIDExOjEyOjMwICswMDAwICBDaHJpc3RvcGhlIEZlcmdlYXUgPHRldWZAZ25vbWUub3JnPgoKCSAgYWRkZWQgbmV3IGVsZW1lbnQgdG8gYWRkIFhpbmcgaGVhZGVycyB0byBNUDMgZmlsZXMgKHRoaXMgYWxsb3dzIGRlY29kZXIgdG8gZmlndXJlIG91dCB0aGUgbGVuZ3RoIG9mIFZCUiBmaWxlcykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMTEgIENocmlzdG9waGUgRmVyZ2VhdSAgPHRldWZAZ25vbWUub3JnPgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QveGluZ2hlYWRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5oOiBhZGRlZCBuZXcgZWxlbWVudCB0byBhZGQgWGluZyBoZWFkZXJzCgkgIHRvIE1QMyBmaWxlcyAodGhpcyBhbGxvd3MgZGVjb2RlciB0byBmaWd1cmUgb3V0IHRoZSBsZW5ndGggb2YgVkJSCgkgIGZpbGVzKQoKMjAwNi0wMy0xMSAxMDo1ODowOCArMDAwMCAgQWxleCBMYW5jYXN0ZXIgPGFsZXhsYW5AZmVkb3JhcHJvamVjdC5vcmc+CgoJICBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzogYW5kIGFkZCBzdXBwb3J0IGZvciBUQ09QIChjb3B5cmlnaHQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTExICBDaHJpc3RvcGhlIEZlcmdlYXUgIDx0ZXVmQGdub21lLm9yZz4KCSAgUGF0Y2ggYnk6IEFsZXggTGFuY2FzdGVyCgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6IGZpeCB3cml0aW5nIG9mIFRQT1MgdGFncyAoYWxidW0gbnVtYmVyKSwKCSAgYW5kIGFkZCBzdXBwb3J0IGZvciBUQ09QIChjb3B5cmlnaHQpCgoyMDA2LTAzLTEwIDIyOjQxOjE0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9tb2RwbHVnLzogRml4IG1vZHBsdWcgY29tcGlsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTEwICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzogRml4IG1vZHBsdWcgY29tcGlsYXRpb24uCgoyMDA2LTAzLTEwIDE3OjEwOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmg6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kZmlsZS5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kZmlsZS5oOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzogKiBjb25maWd1cmUuYWM6ICogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06ICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzogKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmg6ICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRmaWxlLmNwcDogKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZGZpbGUuaDogbW9kcGx1ZyBwbHVnaW4gcG9ydGVkIHRvIDAuMTAgKCMzMzI1OTgsIHBhdGNoIGJ5OiBKb25hdGhhbiBNYXR0aGV3IDxqb25hdGhhbiBhdCBrYW9saW4gd2g5IG5ldD4pLgoKMjAwNi0wMy0xMCAxMzo0OToyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9saWJtbXMvZ3N0bW1zLio6IFNvbWUgY2xlYW4tdXBzOyBtb3JlIGRlYnVnIG91dHB1dDsgdXNlIGJsb2Nrc2l6ZSBwcm9wZXJ0eSBvZiBHc3RCYXNlU3JjIGluc3RlYWQgb2YgcmUtcmVnaXN0ZXJpbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc191cmloYW5kbGVyX2luaXQpLAoJICAoZ3N0X21tc19iYXNlX2luaXQpLCAoZ3N0X21tc19jbGFzc19pbml0KSwgKGdzdF9tbXNfaW5pdCksCgkgIChnc3RfbW1zX2ZpbmFsaXplKSwgKGdzdF9tbXNfY3JlYXRlKSwgKGdzdF9tbXNfc3RhcnQpLAoJICAoZ3N0X21tc19zZXRfcHJvcGVydHkpLCAoZ3N0X21tc19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X21tc191cmlfZ2V0X3VyaSk6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuaDoKCSAgU29tZSBjbGVhbi11cHM7IG1vcmUgZGVidWcgb3V0cHV0OyB1c2UgYmxvY2tzaXplIHByb3BlcnR5CgkgIG9mIEdzdEJhc2VTcmMgaW5zdGVhZCBvZiByZS1yZWdpc3RlcmluZyBvdXIgb3duOyBtYWtlIGRlYnVnCgkgIGNhdGVnb3J5IGFjdHVhbGx5IGJlIHVzZWQuCgoyMDA2LTAzLTA5IDIwOjAyOjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggYnVpbGQgd2l0aCBnY2MtNC4xICgjMzI3MzU1KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfc2VuZF9ldmVudCk6CgkgIEZpeCBidWlsZCB3aXRoIGdjYy00LjEgKCMzMjczNTUpLgoKMjAwNi0wMy0wOSAxNzo0NDoxNyArMDAwMCAgQ2hyaXN0b3BoZSBGZXJnZWF1IDx0ZXVmQGdub21lLm9yZz4KCgkgIG5ldyBpZDN2MiBtdXhlciBiYXNlZCBvbiBUYWdMaWIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMDkgIENocmlzdG9waGUgRmVyZ2VhdSAgPHRldWZAZ25vbWUub3JnPgoJICByZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOiBuZXcgaWQzdjIgbXV4ZXIgYmFzZWQgb24gVGFnTGliCgoyMDA2LTAzLTA4IDEyOjE2OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBFeHRyYWN0IGRpc2MgbnVtYmVyIGFuZCBjb3VudCBmcm9tIGZpbGVzIHRoYXQgdXNlICdkaXNrJyBpbnN0ZWFkIG9mICdkaXNjJyBhcyBub2RlIGlkZW50aWZpZXIgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdWR0YSk6CgkgIEV4dHJhY3QgZGlzYyBudW1iZXIgYW5kIGNvdW50IGZyb20gZmlsZXMgdGhhdCB1c2UKCSAgJ2Rpc2snIGluc3RlYWQgb2YgJ2Rpc2MnIGFzIG5vZGUgaWRlbnRpZmllciBmb3IgdGhhdAoJICAoZml4ZXMgIzMzMjA2NikuCgoyMDA2LTAzLTA2IDEzOjE1OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L211c2VwYWNrLzogRm9yZ290IHRob3NlIHR3by4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmg6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrcmVhZGVyLmM6IChnc3RfbXVzZXBhY2tfcmVhZGVyX3BlZWspOgoJICBGb3Jnb3QgdGhvc2UgdHdvLgoKMjAwNi0wMy0wNiAxMzoxMzo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiBTb21lIGNsZWFudXBzOyBwYXVzZSB0YXNrIHdoZW4gcHVzaCBmYWlscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfYmFzZV9pbml0KSwKCSAgKGdzdF9tdXNlcGFja2RlY19pbml0KSwgKGdzdF9tdXNlcGFja2RlY19zZW5kX25ld3NlZ21lbnQpLAoJICAoZ3N0X211c2VwYWNrZGVjX2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF9tdXNlcGFja2RlY19nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwgKGdzdF9tdXNlcGFja2RlY19zcmNfcXVlcnkpLAoJICAoZ3N0X211c2VwYWNrX3N0cmVhbV9pbml0KSwgKGdzdF9tdXNlcGFja2RlY19zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF9tdXNlcGFja2RlY19zaW5rX2FjdGl2YXRlX3B1bGwpLCAoZ3N0X211c2VwYWNrZGVjX2xvb3ApLAoJICAoZ3N0X211c2VwYWNrZGVjX2NoYW5nZV9zdGF0ZSk6CgkgIFNvbWUgY2xlYW51cHM7IHBhdXNlIHRhc2sgd2hlbiBwdXNoIGZhaWxzLgoKMjAwNi0wMy0wNSAxMzowMzo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIHN1cHBvcnQgZm9yICczSVZEJyBmb3VyY2MgKCMzMzM0MDMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgc3VwcG9ydCBmb3IgJzNJVkQnIGZvdXJjYyAoIzMzMzQwMykuCgoyMDA2LTAzLTA0IDIwOjA0OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBBZGQgcXVlcnkgZnVuY3Rpb24gZm9yIHBvc2l0aW9uL2R1cmF0aW9uIHF1ZXJ5aW5nIChtb3N0bHkgZm9yIHJhdyBBQUMgc3RyZWFtcyk7IG1ha2Ugc2Vla2luZyBpbiByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2luaXQpLCAoZ3N0X2ZhYWRfc2VuZF90YWdzKSwKCSAgKGdzdF9mYWFkX3NldGNhcHMpLCAoZ3N0X2ZhYWRfZG9fcmF3X3NlZWspLCAoZ3N0X2ZhYWRfc3JjX2V2ZW50KSwKCSAgKGdzdF9mYWFkX3NpbmtfZXZlbnQpLCAoZ3N0X2ZhYWRfc3JjX2NvbnZlcnQpLAoJICAoZ3N0X2ZhYWRfc3JjX3F1ZXJ5KSwgKGdzdF9mYWFkX2NoYWluKSwgKGdzdF9mYWFkX2NoYW5nZV9zdGF0ZSk6CgkgIEFkZCBxdWVyeSBmdW5jdGlvbiBmb3IgcG9zaXRpb24vZHVyYXRpb24gcXVlcnlpbmcgKG1vc3RseSBmb3IKCSAgcmF3IEFBQyBzdHJlYW1zKTsgbWFrZSBzZWVraW5nIGluIHJhdyBBQUMgc3RyZWFtcyB3b3JrOyBwb3N0CgkgIHRhZ3Mgd2l0aCBjb2RlYyBuYW1lIGlmIHRoaXMgaXMgYSByYXcgQUFDIHN0cmVhbS4KCjIwMDYtMDMtMDMgMjM6NDU6MjMgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy86IHNpbmtzIGFyZSBub3cgdXNpbmcgR1NUX1JBTktfUFJJTUFSWSB0byBiZSB1c2VkIHdpdGggYXV0b2RlY3RlY3Rpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXc6CgkgICogc3lzL2RpcmVjdHNvdW5kOgoJICBzaW5rcyBhcmUgbm93IHVzaW5nIEdTVF9SQU5LX1BSSU1BUlkgdG8gYmUgdXNlZCB3aXRoIGF1dG9kZWN0ZWN0aW9uCgkgICogd2luMzIvdnM2OgoJICBwcm9qZWN0IGZpbGVzIHVwZGF0ZWQgdG8gZml4IHNvbWUgYnVncwoJICAqIHdpbjMyL3ZzNzoKCSAgKiB3aW4zMi92czg6CgkgIHZzNyBhbmQgdnM4IHByb2plY3QgZmlsZXMgYWRkZWQKCjIwMDYtMDMtMDMgMTg6MTA6MTIgKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIGV4dC94dmlkL2dzdHh2aWRkZWMuYzogRGVjbGFyZSB2YXJpYWJsZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBibG9jayBhbmQgbWFrZSBnY2MtMi45eAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6IChnc3RfeHZpZGRlY19jaGFpbik6CgkgIERlY2xhcmUgdmFyaWFibGUgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgYmxvY2sgYW5kIG1ha2UgZ2NjLTIuOXgKCSAgaGFwcHkgKGZpeGVzICMzMzMyODM7IHBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlcikuCgoyMDA2LTAzLTAzIDExOjA3OjQxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBVc2UgR1NUX1dBUk5JTkcgaW5zdGVhZCBvZiBHU1RfRVJST1IgZm9yIGFsbCB0aGUgdG9vIHNob3J0L2xvbmcgYXRvbXMgd2hlbiBwYXJzaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIFVzZSBHU1RfV0FSTklORyBpbnN0ZWFkIG9mIEdTVF9FUlJPUiBmb3IgYWxsIHRoZSB0b28gc2hvcnQvbG9uZyBhdG9tcwoJICB3aGVuIHBhcnNpbmcuCgkgIEFsc28gbGV0J3MgYmUgYSBiaXQgbGVzcyB2dWxnYXIgaW4gb3VyIHdhcm5pbmcgbWVzc2FnZXMgOikKCjIwMDYtMDMtMDIgMTg6MjM6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgYXVkaW9yZXNhbXBsZSB0byBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEFkZCBhdWRpb3Jlc2FtcGxlIHRvIGRvY3MuCgkgICogZ3N0L2F1ZGlvY29udmVydC9nc3RhdWRpb2NvbnZlcnQuYzoKCSAgQWRkIHJldmlzaW9uIGRhdGUuCgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAoZ3N0X2F1ZGlvcmVzYW1wbGVfYmFzZV9pbml0KSwgKGdzdF9hdWRpb3Jlc2FtcGxlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2F1ZGlvcmVzYW1wbGVfaW5pdCksIChnc3RfYXVkaW9yZXNhbXBsZV9kaXNwb3NlKSwKCSAgKGF1ZGlvcmVzYW1wbGVfZ2V0X3VuaXRfc2l6ZSksIChhdWRpb3Jlc2FtcGxlX3RyYW5zZm9ybV9jYXBzKSwKCSAgKHJlc2FtcGxlX3NldF9zdGF0ZV9mcm9tX2NhcHMpLCAoYXVkaW9yZXNhbXBsZV90cmFuc2Zvcm1fc2l6ZSksCgkgIChhdWRpb3Jlc2FtcGxlX3NldF9jYXBzKSwgKGF1ZGlvcmVzYW1wbGVfZXZlbnQpLAoJICAoYXVkaW9yZXNhbXBsZV9kb19vdXRwdXQpLCAoYXVkaW9yZXNhbXBsZV90cmFuc2Zvcm0pLAoJICAoYXVkaW9yZXNhbXBsZV9wdXNodGhyb3VnaCksIChnc3RfYXVkaW9yZXNhbXBsZV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2F1ZGlvcmVzYW1wbGVfZ2V0X3Byb3BlcnR5KSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmg6CgkgIEFkZGVkIGRvY3MuCgkgIFNtYWxsIGNvZGUgY2xlYW51cHMuCgoyMDA2LTAyLTI4IDExOjU5OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDYW4ndCBkaXZpZGUgdGhyb3VnaCB6ZXJvIChzdXBwcmVzcyB3YXJuaW5nIGluIGNhc2Ugb2Ygc3RyZWFtIHdpdGggb25lIHNpbmdsZSBzdGlsbCBwaWN0dXJlKSAoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIENhbid0IGRpdmlkZSB0aHJvdWdoIHplcm8gKHN1cHByZXNzIHdhcm5pbmcgaW4gY2FzZSBvZgoJICBzdHJlYW0gd2l0aCBvbmUgc2luZ2xlIHN0aWxsIHBpY3R1cmUpIChzZWUgIzMyNzA4MykKCjIwMDYtMDItMjUgMjE6NDA6MDggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgc3lzL2dsc2luay9nbGltYWdlc2luay5jOiBJdCBkb2Vzbid0IHNlZW0gd2UgbmVlZCBHTFUuaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogSXQgZG9lc24ndCBzZWVtIHdlIG5lZWQgR0xVLmgKCjIwMDYtMDItMjQgMTk6NDk6MzIgKzAwMDAgIEZhYnJpemlvIEdlbm5hcmkgPGZhYnJpemlvLmdlQHRpc2NhbGkuaXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBzdXBwb3J0IGZvciBwYWxldHRpc2VkIEFwcGxlIFNNQyB2aWRlb3MgKCMzMjcwNzUsIGJhc2VkIG9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLAoJICAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBzdXBwb3J0IGZvciBwYWxldHRpc2VkIEFwcGxlIFNNQyB2aWRlb3MgKCMzMjcwNzUsIGJhc2VkIG9uCgkgIHBhdGNoIGJ5OiBGYWJyaXppbyBHZW5uYXJpIDxmYWJyaXppbyBkb3QgZ2UgYXQgdGlzY2FsaSBkb3QgaXQ+KS4KCjIwMDYtMDItMjQgMTc6MTU6MzUgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGF1dG9nZW4uc2g6IEFsbG93IGF1dG9tYWtlIDEuOQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBhdXRvZ2VuLnNoOgoJICBBbGxvdyBhdXRvbWFrZSAxLjkKCjIwMDYtMDItMjQgMTc6MDI6MDggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgQ2hhbmdlZCBwcm9wZXJ0eSBuYW1lIGZyb20gInVyaSIgdG8gImxvY2F0aW9uIi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZWQgcHJvcGVydHkgbmFtZSBmcm9tICJ1cmkiIHRvICJsb2NhdGlvbiIuCgoyMDA2LTAyLTIyIDE0OjM3OjIwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEN5Z3dpbiBQb3J0cyBtYWludGFpbmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgTWVyZ2UgcGF0Y2ggZnJvbSAjMzE3MDQ4IGZvciBidWlsZGluZyBvbiBDeWd3aW4uIFBhdGNoIGJ5CgkgIEN5Z3dpbiBQb3J0cyBtYWludGFpbmVyLgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlX3NpbmtfaW5pdF9kaXNwbGF5KToKCSAgTW92ZSBub3JtYWwgZGVidWcgb3V0cHV0IHRvIExPRyBsZXZlbCBub3QgRVJST1IuCgoyMDA2LTAyLTIyIDA5OjMzOjI1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgJ2R2c2QnIGFuZCAnZHYyNScgdG8gbGlzdCBvZiBwb3NzaWJsZSBmb3VyY2MgdmFsdWVzIGZvciBEViBWaWRlby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5IDogRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGZsdWVuZG8uY29tPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCAnZHZzZCcgYW5kICdkdjI1JyB0byBsaXN0IG9mIHBvc3NpYmxlIGZvdXJjYyB2YWx1ZXMgZm9yIERWIFZpZGVvLgoJICBBZGQgaW1hZ2UvcG5nIGZvciBmb3VyY2MgJ3BuZyAnCgoyMDA2LTAyLTIxIDE1OjQ0OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBTdXJlbHkgdGhpcyBpcyBzdXBwb3NlZCB0byBiZSA+PSBhLmIsIG5vdCA9PSBhLmIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBTdXJlbHkgdGhpcyBpcyBzdXBwb3NlZCB0byBiZSA+PSBhLmIsIG5vdCA9PSBhLmIKCjIwMDYtMDItMjAgMjE6MTk6NTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUG9ydCB4aW1hZ2VzcmMgdG8gMC4xMCAoQ2xvc2VzICMzMDQ3OTUpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZXNyYy9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZXNyY19yZXR1cm5fYnVmKSwKCSAgKGdzdF94aW1hZ2VzcmNfb3Blbl9kaXNwbGF5KSwgKGdzdF94aW1hZ2VzcmNfc3RhcnQpLAoJICAoZ3N0X3hpbWFnZXNyY19zdG9wKSwgKGdzdF94aW1hZ2VzcmNfdW5sb2NrKSwKCSAgKGdzdF94aW1hZ2VzcmNfcmVjYWxjKSwgKGNvbXBvc2l0ZV9waXhlbCksCgkgIChnc3RfeGltYWdlc3JjX3hpbWFnZV9nZXQpLCAoZ3N0X3hpbWFnZXNyY19jcmVhdGUpLAoJICAoZ3N0X3hpbWFnZXNyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3hpbWFnZXNyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3hpbWFnZXNyY19jbGVhcl9idWZwb29sKSwgKGdzdF94aW1hZ2VzcmNfYmFzZV9pbml0KSwKCSAgKGdzdF94aW1hZ2VzcmNfZGlzcG9zZSksIChnc3RfeGltYWdlc3JjX2ZpbmFsaXplKSwKCSAgKGdzdF94aW1hZ2VzcmNfZ2V0X2NhcHMpLCAoZ3N0X3hpbWFnZXNyY19zZXRfY2FwcyksCgkgIChnc3RfeGltYWdlc3JjX2ZpeGF0ZSksIChnc3RfeGltYWdlc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3hpbWFnZXNyY19pbml0KSwgKHBsdWdpbl9pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5oOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5jOiAoeGltYWdldXRpbF9oYW5kbGVfeGVycm9yKSwKCSAgKHhpbWFnZXV0aWxfY2hlY2tfeHNobV9jYWxscyksICh4aW1hZ2V1dGlsX3hjb250ZXh0X2dldCksCgkgICh4aW1hZ2V1dGlsX3hjb250ZXh0X2NsZWFyKSwKCSAgKHhpbWFnZXV0aWxfY2FsY3VsYXRlX3BpeGVsX2FzcGVjdF9yYXRpbyksCgkgIChnc3RfeGltYWdlc3JjX2J1ZmZlcl9maW5hbGl6ZSksIChnc3RfeGltYWdlX2J1ZmZlcl9mcmVlKSwKCSAgKGdzdF94aW1hZ2VzcmNfYnVmZmVyX2luaXQpLCAoZ3N0X3hpbWFnZXNyY19idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3RfeGltYWdlc3JjX2J1ZmZlcl9nZXRfdHlwZSksIChnc3RfeGltYWdldXRpbF94aW1hZ2VfbmV3KSwKCSAgKGdzdF94aW1hZ2V1dGlsX3hpbWFnZV9kZXN0cm95KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuaDoKCSAgUG9ydCB4aW1hZ2VzcmMgdG8gMC4xMCAoQ2xvc2VzICMzMDQ3OTUpCgoyMDA2LTAyLTIwIDIwOjUyOjAyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmg6CgkgIEknbSB0b28gbGF6eSB0byBjb21tZW50IHRoaXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNvbWUgZXZlbnQgaGFuZGxpbmcgYWRkZWQgYnkgUmVuYXRvIEZpbGhvIDxyZW5hdG8uZmlsaG9AaW5kdC5vcmcuYnI+CgoyMDA2LTAyLTIwIDE5OjEzOjM2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBDVlMgbmFubwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gQ1ZTIG5hbm8KCj09PSByZWxlYXNlIDAuMTAuMSA9PT0KCjIwMDYtMDItMjAgMTk6MTI6MTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiByZWxlYXNpbmcgMC4xMC4xLCAiU2xpbXkgLSB5ZXQgc2F0aXNmeWluZyIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgcmVsZWFzaW5nIDAuMTAuMSwgIlNsaW15IC0geWV0IHNhdGlzZnlpbmciCgoyMDA2LTAyLTIwIDEzOjA4OjUwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IEZpeCBjb21waWxhdGlvbiBvZiBMQURQU0EuIEl0IGRvZXNuJ3Qgc2VlbSB0byB3b3JrLCBhbmQgaXNuJ3QgZW5hYmxlZCBmb3IgdGhlIGJ1aWxkLC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZXZlbnQpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2Vzcyk6CgkgIEZpeCBjb21waWxhdGlvbiBvZiBMQURQU0EuIEl0IGRvZXNuJ3Qgc2VlbSB0byB3b3JrLCBhbmQgaXNuJ3QKCSAgZW5hYmxlZCBmb3IgdGhlIGJ1aWxkLCBidXQgaXQgaGVscHMgbWUgd2luIHRoZSBmZWF0dXJlLWNvdW50CgkgIGNvbXBldGl0aW9ucyBvb2ggeWVhaC4KCjIwMDYtMDItMTkgMjM6NDU6NTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBSZWxlYXNlIDAuMTAuMC4zIC0gcHJlLXJlbGVhc2UgZm9yIDAuMTAuMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlbGVhc2UgMC4xMC4wLjMgLSBwcmUtcmVsZWFzZSBmb3IgMC4xMC4xCgoyMDA2LTAyLTE5IDIwOjAwOjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2J6Mi86IEFkZCBwcm9wZXIgY29weXJpZ2h0IGhlYWRlcnMgaWRlbnRpZnlpbmcgTHV0eiBNw7xsbGVyIGFzIHRoZSBhdXRob3IgYW5kIGNvcHlyaWdodCBob2xkZXIgKCMzMzE2MDApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYnoyL2dzdGJ6Mi5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuaDoKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmg6CgkgIEFkZCBwcm9wZXIgY29weXJpZ2h0IGhlYWRlcnMgaWRlbnRpZnlpbmcgTHV0eiBNw7xsbGVyCgkgIGFzIHRoZSBhdXRob3IgYW5kIGNvcHlyaWdodCBob2xkZXIgKCMzMzE2MDApLgoKMjAwNi0wMi0xNyAxODoyNTo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgR1NUX0xPRyB0aW1lc3RhbXBzIGZyb20gbm9uZXhpc3RlbnQgaW5kZXggZW50cmllcyAoIzMzMTU4MikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpOgoJICBEb24ndCBHU1RfTE9HIHRpbWVzdGFtcHMgZnJvbSBub25leGlzdGVudCBpbmRleAoJICBlbnRyaWVzICgjMzMxNTgyKS4KCjIwMDYtMDItMTcgMTY6Mjg6MjkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENoZWNrIHRoYXQgdGhlIHNpemUgb2YgdGhlIHJldHVybmVkIGJ1ZmZlciBpcyBvZiB0aGUgY29ycmVjdCBzaXplIGJlY2F1c2UgdGhlIHBhcnNlciBhc3N1bWVzIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpOgoJICBDaGVjayB0aGF0IHRoZSBzaXplIG9mIHRoZSByZXR1cm5lZCBidWZmZXIgaXMgb2YgdGhlIGNvcnJlY3Qgc2l6ZQoJICBiZWNhdXNlIHRoZSBwYXJzZXIgYXNzdW1lcyB0aGF0LgoJICBGaXhlcyAjMzMxNTQzLgoKMjAwNi0wMi0xNyAxNjowMDoxMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IFJlbGVhc2UgMC4xMC4wLjIgLSBwcmUtcmVsZWFzZSBmb3IgMC4xMC4xCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVsZWFzZSAwLjEwLjAuMiAtIHByZS1yZWxlYXNlIGZvciAwLjEwLjEKCjIwMDYtMDItMTcgMTU6MDM6MTIgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBsYXRlc3QgdXBkYXRlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbGF0ZXN0IHVwZGF0ZXMKCjIwMDYtMDItMTYgMTQ6MDI6NTcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IHN0b3AgdGhlIHRhc2sgaWYgdGhlIHBhZCBpc24ndCBsaW5rZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcCksIChxdGRlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCk6CgkgIERvbid0IHN0b3AgdGhlIHRhc2sgaWYgdGhlIHBhZCBpc24ndCBsaW5rZWQuCgoyMDA2LTAyLTE1IDEyOjEzOjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBJdCBhcHBlYXJzIDEwMCUgZXF1YWxzIDEvMSBhbmQgbm90IDEwMC8xIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFpbik6CgkgIEl0IGFwcGVhcnMgMTAwJSBlcXVhbHMgMS8xIGFuZCBub3QgMTAwLzEgLi4uCgoyMDA2LTAyLTE1IDA5OjQ1OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBXaGVuIGJ1ZmZlcmluZyBNREFUIGRhdGEsIHNob3cgdGhlIHVzZXIgc29tZXRoaW5nIGlzIGhhcHBlbmluZyBieSBwb3N0aW5nICdidWZmZXJpbmcnIG1lc3NhZ2VzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3Bvc3RfYnVmZmVyaW5nKSwKCSAgKGdzdF9xdGRlbXV4X2NoYWluKToKCSAgV2hlbiBidWZmZXJpbmcgTURBVCBkYXRhLCBzaG93IHRoZSB1c2VyIHNvbWV0aGluZyBpcwoJICBoYXBwZW5pbmcgYnkgcG9zdGluZyAnYnVmZmVyaW5nJyBtZXNzYWdlcyBvbiB0aGUgYnVzLgoKMjAwNi0wMi0xNCAxODo1MDoxMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguKjogTWFrZSBwdXNoLWJhc2VkIHdvcmsgaWYgbWRhdCBhdG9tIGlzIGJlZm9yZSBtb292IGF0b20uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAobmV4dF9lbnRyeV9zaXplKSwgKGdzdF9xdGRlbXV4X2NoYWluKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIE1ha2UgcHVzaC1iYXNlZCB3b3JrIGlmIG1kYXQgYXRvbSBpcyBiZWZvcmUgbW9vdiBhdG9tLgoJICBEb24ndCBhbnN3ZXIgZHVyYXRpb24gcXVlcnkuIFRoaXMgc2hvdWxkIGJlIHRyYW5zZm9ybWVkIGludG8gcmVwbHlpbmcKCSAgRkFMU0UgdG8gc2VlayBldmVudHMuCgoyMDA2LTAyLTE0IDEyOjI2OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2xpYm1tcy9nc3RtbXMuYzogUmV0dXJuIEZMT1dfVU5FWFBFQ1RFRCBvbiBFT1MsIG5vdCBGTE9XX0VSUk9SLiBBbHNvLCBubyBuZWVkIHRvIHB1c2ggb3VyIG93biBFT1MgZXZlbnQgb24gRU9TLCB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2NsYXNzX2luaXQpLCAoZ3N0X21tc19jcmVhdGUpLAoJICAoZ3N0X21tc19zdGFydCk6CgkgIFJldHVybiBGTE9XX1VORVhQRUNURUQgb24gRU9TLCBub3QgRkxPV19FUlJPUi4gQWxzbywgbm8gbmVlZCB0bwoJICBwdXNoIG91ciBvd24gRU9TIGV2ZW50IG9uIEVPUywgdGhlIGJhc2UgY2xhc3Mgd2lsbCBkbyB0aGF0IGZvciB1czsKCSAgZml4IGJvZ3VzIHF1ZXJ5IGNvZGU7IHBvc3Qgc2VtaS1kZWNlbnQgZXJyb3JzIG9uIHRoZSBidXMgd2hlbiBhbgoJICBlcnJvciBvY2N1cnMgaW4gOjpzdGFydCgpLCBvdGhlcndpc2UgdGhlIHVzZXIgd2lsbCBnZXQgdG8gc2VlCgkgIHdoYXRldmVyIGNyeXB0aWMgZGVmYXVsdCBtZXNzYWdlIEdzdEJhc2VTcmMgY29tZXMgdXAgd2l0aC4KCjIwMDYtMDItMTQgMTE6MzY6MzAgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYyAoZ3N0X2dsaW1hZ2Vfc2lua19pbml0KTogQ29tZSBvbiBzY2hsZWVmLCBkb24ndCBicmVhayBtZSBnc3QtaW5zcGVjdCAtYS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMTQgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jIChnc3RfZ2xpbWFnZV9zaW5rX2luaXQpOiBDb21lIG9uCgkgIHNjaGxlZWYsIGRvbid0IGJyZWFrIG1lIGdzdC1pbnNwZWN0IC1hLgoKMjAwNi0wMi0xNCAxMToyNDo1MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogSGFuZGxlIHRoZSBjYXNlIHdoZXJlIGRhdGEgYXRvbXMgYXJlIGJlZm9yZSBtb292IGF0b21zIGluIHB1c2gtYmFzZWQgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAobmV4dF9lbnRyeV9zaXplKSwgKGdzdF9xdGRlbXV4X2NoYWluKToKCSAgSGFuZGxlIHRoZSBjYXNlIHdoZXJlIGRhdGEgYXRvbXMgYXJlIGJlZm9yZSBtb292IGF0b21zIGluIHB1c2gtYmFzZWQgbW9kZS4KCSAgRXJyb3JzIG91dCBncmFjZWZ1bGx5LgoKMjAwNi0wMi0xMyAyMjowNDo0MiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4LzogUXREZW11eCBjYW4gbm93IHdvcmsgcHVzaC1iYXNlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaW5pdCksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc2lua19ldmVudCksIChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZXh0cmFjdF9pbml0aWFsX2xlbmd0aF9hbmRfZm91cmNjKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLCAobmV4dF9lbnRyeV9zaXplKSwgKGdzdF9xdGRlbXV4X2NoYWluKSwKCSAgKHF0ZGVtdXhfc2lua19hY3RpdmF0ZSksIChxdGRlbXV4X3NpbmtfYWN0aXZhdGVfcHVsbCksCgkgIChxdGRlbXV4X3NpbmtfYWN0aXZhdGVfcHVzaCksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgUXREZW11eCBjYW4gbm93IHdvcmsgcHVzaC1iYXNlZC4KCSAgSXQgc3RpbGwgbmVlZHMgc29tZSBsb3ZlIGZvciBzZWVraW5nLgoKMjAwNi0wMi0xMyAxNzowMjowOSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ZyZWV6ZS9GQVE6CgkqIGdzdC9mcmVlemUvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmg6CgkgIEknbSB0b28gbGF6eSB0byBjb21tZW50IHRoaXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZyZWV6ZSBwbHVnaW4gcG9ydGVkIHRvIDAuMTAgYnkgUmVuYXRvIEZpbGhvIDxyZW5hdG8uZmlsaG9AaW5kdC5vcmcuYnI+CgoyMDA2LTAyLTEwIDE3OjQxOjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUG9ydCBjZHhhcGFyc2UsIG1ha2VzIFZDRCBwbGF5YmFjayB3b3JrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2NkeGFwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmg6CgkgIFBvcnQgY2R4YXBhcnNlLCBtYWtlcyBWQ0QgcGxheWJhY2sgd29yay4KCjIwMDYtMDItMTAgMTM6MTY6NDkgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlCgoyMDA2LTAyLTA3IDE4OjMxOjMxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgcmVtb3ZlIHVudXNlZCB2YXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSB1bnVzZWQgdmFyCgoyMDA2LTAyLTA3IDE4OjAxOjE3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogdXNlIHRoZSBjb3JyZWN0IHZhcmlhYmxlIHRvIGNoZWNrIGlmIHdlIGNhbiBjYWxjdWxhdGUgdGhlIGxhc3QgY2h1bmsuICBMb29rcyBsaWtlIGFuIG9idmlvdXMgYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICB1c2UgdGhlIGNvcnJlY3QgdmFyaWFibGUgdG8gY2hlY2sgaWYgd2UgY2FuIGNhbGN1bGF0ZQoJICB0aGUgbGFzdCBjaHVuay4gIExvb2tzIGxpa2UgYW4gb2J2aW91cyBidWcsIGFuZCBtYWtlcwoJICB0aGUgZHVtcCBvZiBvZmZzZXRzIGNvbXBhcmFibGUgdG8gb3RoZXIgdG9vbHMKCjIwMDYtMDItMDcgMTc6NTU6MzMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICBkb2MgdXBkYXRlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9jIHVwZGF0ZXMKCjIwMDYtMDItMDcgMTc6NTQ6NDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBjbGVhbiB1cCBzb21lIGRlYnVnZ2luZywgdXNpbmcgX09CSkVDVCwgbW92aW5nIHJlY3VycmluZyBtZXNzYWdlcyB0byBMT0cgbGV2ZWwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgY2xlYW4gdXAgc29tZSBkZWJ1Z2dpbmcsIHVzaW5nIF9PQkpFQ1QsIG1vdmluZyByZWN1cnJpbmcKCSAgbWVzc2FnZXMgdG8gTE9HIGxldmVsCgoyMDA2LTAyLTA2IDIwOjUxOjQ5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgTm93IGl0IHVzZXMgbGlibmVvbiAwLjI1LjUgdGhhdCBzdXBwb3J0cyBzaG91dGNhc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOb3cgaXQgdXNlcyBsaWJuZW9uIDAuMjUuNSB0aGF0IHN1cHBvcnRzIHNob3V0Y2FzdC4KCjIwMDYtMDItMDYgMTg6MjE6NTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvYnoyL2dzdGJ6MmVuYy5jOiBBY2NlcGQgIkFOWSIgY2Fwcy4gVXNlICJ4LWJ6aXAiIGluc3RlYWQgb2YgIngtYnoyIi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBFZHdhcmQgSGVydmV5IDxlZHdhcmRAZmx1ZW5kby5jb20+CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuYzogQWNjZXBkICJBTlkiIGNhcHMuIFVzZSAieC1iemlwIiBpbnN0ZWFkIG9mCgkgICJ4LWJ6MiIuCgkgICogZXh0L2J6Mi9nc3RiejJkZWMuYzogVXNlICJ4LWJ6aXAiIGluc3RlYWQgb2YgIngtYnoyIi4gSW5pdGlhbAoJICBjYXBzIGFyZSAiQU5ZIi4KCSAgKGdzdF9iejJkZWNfY2hhaW4pOiBDb25maWd1cmUgdGhlIHNvdXJjZSBwYWQgaWYgd2UgY2FuIGZpZ3VyZSBvdXQKCSAgdGhlIG1pbWUgdHlwZSBvZiB0aGUgZGVjb21wcmVzc2VkIGRhdGEuCgkgIChnc3RfYnoyZGVjX1tnZXQsc2V0XV9wcm9wZXJ0eSk6CgkgIChnc3RfYnoyZGVjX2NsYXNzX2luaXQ6IE5ldyBwcm9wZXJ0eSAiZmlyc3RfYnVmZmVyX3NpemUiLgoKMjAwNi0wMi0wNiAxNTo0MToyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguKjogU29tZSBRVCBkZW11eCBsb3ZpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19ldmVudCksIChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChxdGRlbXV4X2luZmxhdGUpLCAocXRkZW11eF9wYXJzZSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF9wYXJzZV91ZHRhKSwgKHF0ZGVtdXhfdGFnX2FkZF9zdHIpLCAocXRkZW11eF90YWdfYWRkX251bSksCgkgIChxdGRlbXV4X3RhZ19hZGRfZ25yZSksIChnc3RfcXRkZW11eF9oYW5kbGVfZXNkcyksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpLCAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIFNvbWUgUVQgZGVtdXggbG92aW5nLgoJICBIYW5kbGUgc2Vla2luZyBpbiBhIGxlc3MgYnJva2VuIHdheS4KCSAgRml4IEFNUiBjYXBzIHRvIG1hdGNoIHRoZSBBTVIgZGVjb2Rlci4KCSAgU2V0IGZpcnN0IHRpbWVzdGFtcCBvbiBBTVIgc2FtcGxlcyB0byAwIGZvciBub3cuCgkgIFJlbW92ZSBzb21lIFxuIGluIERFQlVHIHN0cmluZ3MuCgkgIFVzZSBfc2NhbGVfaW50IGZvciBtYXhpbXVtIHByZWNpc2lvbi4KCjIwMDYtMDItMDYgMTI6NTY6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXBldGFnLzogUmVtb3ZlIG9sZCBmaWxlcywgYXBldGFnIGlzIGluIGdzdC1wbHVnaW5zLWdvb2Qgbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXBldGFnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcGV0YWcvYXBlZGVtdXguYzoKCSAgKiBnc3QvYXBldGFnL2FwZWRlbXV4Lmg6CgkgICogZ3N0L2FwZXRhZy9hcGV0YWcuYzoKCSAgUmVtb3ZlIG9sZCBmaWxlcywgYXBldGFnIGlzIGluIGdzdC1wbHVnaW5zLWdvb2Qgbm93LgoKMjAwNi0wMi0wNiAwOTo1NDo1NSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2J6Mi86IE5vIG5lZWQgdG8gaW5pdCBwYXJlbnRfY2xhc3MsIHRoZSBib2lsZXJwbGF0ZSBkb2VzIGl0IGZvciB5b3UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTA2ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmMgKGdzdF9iejJlbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuYyAoZ3N0X2J6MmRlY19jbGFzc19pbml0KTogTm8gbmVlZCB0byBpbml0CgkgIHBhcmVudF9jbGFzcywgdGhlIGJvaWxlcnBsYXRlIGRvZXMgaXQgZm9yIHlvdS4KCjIwMDYtMDItMDYgMDk6NDA6MDkgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIEhvb2sgaXQgdXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTA1ICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgkgIHJldmlld2VkIGJ5OiBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbTogSG9vayBpdCB1cC4KCSAgKiBleHQvYnoyL2dzdGJ6Mi5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmg6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5oOgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmM6IE5ldyBwbHVnaW4sIGltcGxlbWVudHMgYnoyIGVuY29kaW5nIGFuZAoJICBkZWNvZGluZyAoIzMwMzE2NykuCgoyMDA2LTAyLTAzIDEwOjEzOjIyICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBjb21tb246CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgb3BlbmdsIHBsdWdpbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIG9wZW5nbCBwbHVnaW4KCjIwMDYtMDEtMzAgMTU6NDc6NDcgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtIChsaWJnc3RnbGltYWdlc2lua19sYV9MSUJBREQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAxLTMwICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW0gKGxpYmdzdGdsaW1hZ2VzaW5rX2xhX0xJQkFERCkKCSAgKGxpYmdzdGdsaW1hZ2VzaW5rX2xhX0NGTEFHUyk6IEFkZCBQTFVHSU5TX0JBU0UgY2ZsYWdzIGFuZCBsaWJzLgoKMjAwNi0wMS0yOSAyMDowNzo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogQWRkIGRlYnVnIGNhdGVnb3J5LCB1c2UgYm9pbGVycGxhdGUgbWFjcm9zLCBmaXggaGFuZGxpbmcgb2Ygd2lkdGhzIG9mIDMyIGJpdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19zZXRjYXBzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX2Rpc3Bvc2UpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX2Zvcm1hdF9zYW1wbGVzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jaGFpbiksIChnc3Rfd2F2cGFja19kZWNfcGx1Z2luX2luaXQpOgoJICBBZGQgZGVidWcgY2F0ZWdvcnksIHVzZSBib2lsZXJwbGF0ZSBtYWNyb3MsIGZpeCBoYW5kbGluZwoJICBvZiB3aWR0aHMgb2YgMzIgYml0cy4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9kaXNwb3NlKSwgKGdzdF93YXZwYWNrX3BhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfZ2V0X2xhc3RfZW50cnkpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfZ2V0X2VudHJ5X2Zyb21fc2FtcGxlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2FwcGVuZF9lbnRyeSksIChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2Nhbl90b19maW5kX3NhbXBsZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zZW5kX25ld3NlZ21lbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX2V2ZW50KSwgKGdzdF93YXZwYWNrX3BhcnNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfZ2V0X3Vwc3RyZWFtX2xlbmd0aCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9wdWxsX2J1ZmZlciksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCksIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NoYW5nZV9zdGF0ZSksCgkgIChnc3Rfd2F2ZXBhY2tfcGFyc2Vfc2lua19hY3RpdmF0ZSksCgkgIChnc3Rfd2F2ZXBhY2tfcGFyc2Vfc2lua19hY3RpdmF0ZV9wdWxsKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgUmV3cml0ZSBhIGJpdCwgbW9zdGx5IHRvIGZpeCBmbG93IGxvZ2ljIGFuZCB0byBtYWtlIHNlZWtpbmcgd29yay4KCSAgRml4IGJ1ZmZlci9ldmVudCByZWZjb3VudGluZy4gQWRkIHNvbWUgZGVidWcgc3RhdGVtZW50cy4gQWRkCgkgIHdpZHRoIG9mIDMyIHRvIHNvdXJjZSBwYWQgdGVtcGxhdGUgY2Fwcy4gVXNlIGJvaWxlcnBsYXRlIG1hY3Jvcy4KCjIwMDYtMDEtMjggMTI6NDU6NTQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOiBnbGltYWdlc2luay5oIGlzIGRlYWQsIGxvbmcgbGl2ZSBnbGltYWdlc2luay5oCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgIGdsaW1hZ2VzaW5rLmggaXMgZGVhZCwgbG9uZyBsaXZlIGdsaW1hZ2VzaW5rLmgKCjIwMDYtMDEtMjggMDQ6Mzk6MTggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgcmV2aXZhbCBvZiBnbGltYWdlc2luay4gIEtpbmQgb2Ygd29ya3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOgoJICByZXZpdmFsIG9mIGdsaW1hZ2VzaW5rLiAgS2luZCBvZiB3b3Jrcy4KCjIwMDYtMDEtMjcgMTI6NDc6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEhhbmRsZSAnZnJhbWVkJyBmaWVsZCBpbiBjYXBzOyBQb3J0IHN5bmNpbmcgZm9yIHJhdyBzdHJlYW1zIGZyb20gMC44IGJyYW5jaCAoZm9yIEFBQysgcmFkaW8gc3RyZWEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfc2V0Y2FwcyksCgkgIChnc3RfZmFhZF9jaGFucG9zX3RvX2dzdCksIChnc3RfZmFhZF9zeW5jKSwgKGdzdF9mYWFkX2NoYWluKToKCSAgSGFuZGxlICdmcmFtZWQnIGZpZWxkIGluIGNhcHM7IFBvcnQgc3luY2luZyBmb3IgcmF3IHN0cmVhbXMKCSAgZnJvbSAwLjggYnJhbmNoIChmb3IgQUFDKyByYWRpbyBzdHJlYW1zKSAoIzMyODcyMikuCgoyMDA2LTAxLTI3IDAxOjMxOjEyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9zZGwvc2RsdmlkZW9zaW5rLio6IEZpeCBvdXRwdXQgc3RyaWRlIGNvcHlpbmcsIHNvIHRoYXQgaXQgZGlzcGxheXMgY29ycmVjdGx5IG9uIGZyYW1lYnVmZmVyIGRldmljZXMgdGhhdCBkb24ndCBtYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19zdXBwb3J0ZWQpLAoJICAoZ3N0X3NkbHZpZGVvc2lua194b3ZlcmxheV9zZXRfeHdpbmRvd19pZCksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX2RlaW5pdHNkbCksIChnc3Rfc2Rsdl9wcm9jZXNzX2V2ZW50cyksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX2V2ZW50X3RocmVhZCksIChnc3Rfc2RsdmlkZW9zaW5rX2luaXRzZGwpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19kZXN0cm95KSwgKGdzdF9zZGx2aWRlb3NpbmtfY3JlYXRlKSwKCSAgKGdzdF9zZGx2aWRlb3Npbmtfc2V0Y2FwcyksIChnc3Rfc2RsdmlkZW9zaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19uYXZpZ2F0aW9uX3NlbmRfZXZlbnQpOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgIEZpeCBvdXRwdXQgc3RyaWRlIGNvcHlpbmcsIHNvIHRoYXQgaXQgZGlzcGxheXMgY29ycmVjdGx5IG9uCgkgIGZyYW1lYnVmZmVyIGRldmljZXMgdGhhdCBkb24ndCBtYXRjaCBvdXIgaW1wbGljdCBHU3RyZWFtZXIgc3RyaWRlCgkgIGFycmFuZ2VtZW50LgoJICBGaXggbG9ja2luZyB0aGluZ3MuIE9mZmVyIFhPdmVybGF5IG9ubHkgd2hlbiBTREwgaXMgcnVubmluZyBhZ2FpbnN0CgkgIFguIE1ha2Ugbm9uLXNjYWxlZCAoYW5kIHVnbHkpIGVtYmVkZGluZyB3b3JrIHZpYSBYIE92ZXJsYXkuIEl0IGNhbid0CgkgIGFjdHVhbGx5IG1hdGNoIHRoZSBlbWJlZGRlZCB3aW5kb3cgc2l6ZSBiZWNhdXNlIHRoZXJlJ3Mgbm8gd2F5IHRvCgkgIGZpZ3VyZSBvdXQgd2hhdCBzaXplIHRoYXQgc2hvdWxkIGJlIGZyb20gdGhlIFhPdmVybGF5IGludGVyZmFjZS4KCSAgU2VlIGNvbW1lbnQgaW4gc2RsdmlkZW9zaW5rLmMKCjIwMDYtMDEtMjYgMTY6MjM6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCB3cm9uZyBtZW1jcHkgc291cmNlIHBvaW50ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEZpeCB3cm9uZyBtZW1jcHkgc291cmNlIHBvaW50ZXIuCgoyMDA2LTAxLTI1IDE0OjQ0OjA1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgIEp1c3QgY2hhaW4gdXAgZmluYWxpemUgY2FsbHMgKGNhbGxpbmcgcGFyZW50X2NsYXNzLT5maW5hbGl6ZSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKdXN0IGNoYWluIHVwIGZpbmFsaXplIGNhbGxzIChjYWxsaW5nIHBhcmVudF9jbGFzcy0+ZmluYWxpemUpLgoKMjAwNi0wMS0yNSAxNDoyMDowNCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBGaW5hbGl6ZSBtZXRob2QgaGFzIGJlZW4gY3JlYXRlZCBhbmQgb3RoZXJzIHNtYWxsIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaW5hbGl6ZSBtZXRob2QgaGFzIGJlZW4gY3JlYXRlZCBhbmQgb3RoZXJzIHNtYWxsIGNoYW5nZXMuCgoyMDA2LTAxLTI0IDIxOjMzOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L211c2VwYWNrLzogRml4IHNlZWtpbmcgaW4gbXVzZXBhY2sgZmlsZXMgKGl0J3Mgc3RpbGwgaW5jcmVkaWJseSBzbG93LCBidXQgSSBkb24ndCB0aGluayB0aGF0IGlzIG91ciBwbHVnaW4ncyBmYXVsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfbXVzZXBhY2tkZWNfY2xhc3NfaW5pdCksIChnc3RfbXVzZXBhY2tkZWNfaW5pdCksCgkgIChnc3RfbXVzZXBhY2tkZWNfc2VuZF9uZXdzZWdtZW50KSwKCSAgKGdzdF9tdXNlcGFja2RlY19oYW5kbGVfc2Vla19ldmVudCksIChnc3RfbXVzZXBhY2tkZWNfc3JjX2V2ZW50KSwKCSAgKGdzdF9tdXNlcGFja2RlY19zcmNfcXVlcnkpLCAoZ3N0X211c2VwYWNrZGVjX3NyY19jb252ZXJ0KSwKCSAgKGdzdF9tdXNlcGFja19zdHJlYW1faW5pdCksIChnc3RfbXVzZXBhY2tkZWNfc2lua19hY3RpdmF0ZV9wdWxsKSwKCSAgKGdzdF9tdXNlcGFja2RlY19sb29wKSwgKGdzdF9tdXNlcGFja2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5oOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja3JlYWRlci5jOiAoZ3N0X211c2VwYWNrX3JlYWRlcl9wZWVrKSwKCSAgKGdzdF9tdXNlcGFja19yZWFkZXJfc2VlayksIChnc3RfbXVzZXBhY2tfcmVhZGVyX3RlbGwpLAoJICAoZ3N0X211c2VwYWNrX3JlYWRlcl9nZXRfc2l6ZSk6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrcmVhZGVyLmg6CgkgIEZpeCBzZWVraW5nIGluIG11c2VwYWNrIGZpbGVzIChpdCdzIHN0aWxsIGluY3JlZGlibHkgc2xvdywgYnV0IEkKCSAgZG9uJ3QgdGhpbmsgdGhhdCBpcyBvdXIgcGx1Z2luJ3MgZmF1bHQpLiBDbGVhbiB1cCBjb2RlIGFuZCBnZXQKCSAgcmlkIG9mIG9sZCBjcnVmdC4gUG9zdCB0YWdzIHdpdGggYWxsIGtpbmQgb2YgbmVhdCBpbmZvcm1hdGlvbiBsaWtlCgkgIHJlcGxheSBnYWluIGFuZCBzdWNoIG9uIHRoZSBidXMsIGlmIGl0IGlzIGF2YWlsYWJsZS4gQWRkIGEKCSAgJ211c2VwYWNrZGVjJyBkZWJ1ZyBjYXRlZ29yeS4KCjIwMDYtMDEtMjQgMTE6NTg6NTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1vcmUgY29oZXJlbnQgZnJhbWVyYXRlIHNldHRpbmcgb24gY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBNb3JlIGNvaGVyZW50IGZyYW1lcmF0ZSBzZXR0aW5nIG9uIGNhcHMuCgkgIElmIHNhbXBsZV9zaXplIGlzIGF2YWlsYWJsZSwgdXNlIHRoYXQgZm9yIHRoZSBzYW1wbGVzJyBkdXJhdGlvbiBpbgoJICB0aGUgaW5kZXguIFRoaXMgZW5hYmxlcyBzaW5nbGUgZnJhbWUgc3RyZWFtcyB0byB3b3JrIChhbmQgSSBpbWFnaW5lCgkgIGZpeGVzIHNvbWUgb3RoZXIgY2FzZXMpLgoJICBUZXN0ZWQgb24gdGVzdHN1aXRlLCBubyByZWdyZXNzaW9uLgoKMjAwNi0wMS0yMyAxNToxMDo1NSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkZWQgY29kZWMgcmVjb2duaXRpb24gZm9yOiBfIFZQMzEgOiB2aWRlby94LXZwMyBfIEFWREogOiBpbWFnZS9qcGVnIF8gZHZjcCwgZHZjICA6IHZpZGVvL3gtZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF92aWRlb19jYXBzKSwgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgIEFkZGVkIGNvZGVjIHJlY29nbml0aW9uIGZvcjoKCSAgXyBWUDMxIDogdmlkZW8veC12cDMKCSAgXyBBVkRKIDogaW1hZ2UvanBlZwoJICBfIGR2Y3AsIGR2YyAgOiB2aWRlby94LWR2LCBzeXN0ZW1zdHJlYW09KGJvb2xlYW4pZmFsc2UKCSAgXyAweDZkNzMwMDE3IDogYXVkaW8veC1hZHBjbSwgbGF5b3V0PShzdHJpbmcpcXVpY2t0aW1lCgoyMDA2LTAxLTIxIDE4OjM1OjI5ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIFVwZGF0ZSBmcm9tIHN3ZmRlYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IFVwZGF0ZSBmcm9tIHN3ZmRlYy4KCjIwMDYtMDEtMjEgMTE6NDM6NTMgKzAwMDAgIEZhYnJpemlvIDxmYWJyaXppby5nZUB0aXNjYWxpLml0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAndHdvcycgYW5kICdzb3d0JyBmb3VyY2MgY2FuIGJlIDE2Yml0IG9yIDhiaXQgYXVkaW8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICAndHdvcycgYW5kICdzb3d0JyBmb3VyY2MgY2FuIGJlIDE2Yml0IG9yIDhiaXQgYXVkaW8uCgkgIEZpeCA4Yml0IGNhc2UgKCMzMjcxMzMsIGJhc2VkIG9uIHBhdGNoIGJ5OiBGYWJyaXppbwoJICBHZW5uYXJpIDxmYWJyaXppbyBkb3QgZ2UgYXQgdGlzY2FsaSBkb3QgaXQ+KS4KCSAgQWxzbywgIkdfTElUVExFX0VORElBTiIgYW5kICJHX0JJR19FTkRJQU4iIGFyZSBub3QKCSAgdmFsaWQgbGl0ZXJhbHMgZm9yIGVuZGlhbm5lc3MgaW4gY2FwcyBzdHJpbmdzLAoJICBvbmx5ICJMSVRUTEVfRU5ESUFOIiBhbmQgIkJJR19FTkRJQU4iIGFyZSB2YWxpZC4KCjIwMDYtMDEtMjAgMTc6MDQ6MzggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgIEZpeGVkIHN0YXRlIHRyYW5zaWN0aW9ucyBQTEFZSU5HLT5OVUxMLT5QTEFZSU5HLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgc3RhdGUgdHJhbnNpY3Rpb25zIFBMQVlJTkctPk5VTEwtPlBMQVlJTkcuCgoyMDA2LTAxLTE5IDE2OjQ5OjI5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgU29tZSBtaW5vciBpbXByb3ZlbWVudHMgb24gbG9nIG1lc3NhZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU29tZSBtaW5vciBpbXByb3ZlbWVudHMgb24gbG9nIG1lc3NhZ2VzLgoKMjAwNi0wMS0xOCAxODo1NDowMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIFJvbmFsZCdzIHBhdGNoIGFwcGxpZWQuIHNlZSBidWcgIzMyNjMxOC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJvbmFsZCdzIHBhdGNoIGFwcGxpZWQuIHNlZSBidWcgIzMyNjMxOC4KCjIwMDYtMDEtMTcgMTY6NDU6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lio6IEZpeCBzZWVraW5nIGZvciBxdWlja3RpbWUgZmlsZXMuIENvdWxkIHN0aWxsIHVzZSBzb21lIG1vcmUgbG92ZSBhbmQgc29waGlzdGljYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfc2VuZF9ldmVudCksIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksIChnc3RfcXRkZW11eF9sb29wX2hlYWRlcik6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBGaXggc2Vla2luZyBmb3IgcXVpY2t0aW1lIGZpbGVzLiBDb3VsZCBzdGlsbCB1c2Ugc29tZSBtb3JlCgkgIGxvdmUgYW5kIHNvcGhpc3RpY2F0aW9uLgoKMjAwNi0wMS0xNyAxMzoxNDowOCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGZpeGluZyB2ZXJzaW9uaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXhpbmcgdmVyc2lvbmluZwoKMjAwNi0wMS0xNiAxMjozMDo0MSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJICBSZW1vdmVkIGdzdF9iYXNlX3NyY19zZXRfbGl2ZSBmcm9tIG1tcyBhbmQgbmVvbiwgYW5kIG5vdyBjYWxsaW5nIHBhcmVudF9jbGFzcy0+ZGlzcG9zZSBpbiBkaXNwb3NlIG9uIHNkbGF1ZGlvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlZCBnc3RfYmFzZV9zcmNfc2V0X2xpdmUgZnJvbSBtbXMgYW5kIG5lb24sIGFuZCBub3cgY2FsbGluZyBwYXJlbnRfY2xhc3MtPmRpc3Bvc2UgaW4gZGlzcG9zZSBvbiBzZGxhdWRpby4KCjIwMDYtMDEtMTEgMjA6NTk6MzkgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgTm93IGltcGxlbWVudGluZyBuYXZpZ2F0aW9uIGludGVyZmFjZSBhbmQgdXNpbmcgR1NUX0JPSUxFUl9QTEFURV9GVUxMLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTm93IGltcGxlbWVudGluZyBuYXZpZ2F0aW9uIGludGVyZmFjZSBhbmQgdXNpbmcgR1NUX0JPSUxFUl9QTEFURV9GVUxMLgoKMjAwNi0wMS0xMSAxNTozNDo1MiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9zdW5hdWRpby9NYWtlZmlsZS5hbToKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuaDoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmVsZW1lbnQuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmVsZW1lbnQuaDoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bm1peGVyLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5taXhlci5oOgoJICByZW1vdmUgb2xkIChicm9rZW4pIHN1bmF1ZGlvIHBsdWdpbiBmcm9tIGJhZCBhcyB0aGVyZSBpcyBhIG5ldyB3b3JraW5nIG9uZSBpbiAtZ29vZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIG9sZCAoYnJva2VuKSBzdW5hdWRpbyBwbHVnaW4gZnJvbSBiYWQgYXMgdGhlcmUgaXMgYSBuZXcgd29ya2luZyBvbmUKCSAgaW4gLWdvb2QKCjIwMDYtMDEtMTEgMTQ6NDE6MjQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSAgUmVwbGFjZWQgd3Jvbmcgc3R5bGUgY29kZSBieSBHU1RfQk9JTEVSUExBVEUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXBsYWNlZCB3cm9uZyBzdHlsZSBjb2RlIGJ5IEdTVF9CT0lMRVJQTEFURS4KCjIwMDYtMDEtMTEgMTE6MDQ6MDMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBzdXBwb3J0IGZvciBJbmRlbzMgdmlkZW8gaW4gUXVpY2t0aW1lIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IEVkd2FyZCBIZXJ2ZXkgIDxlZHdhcmRAZmx1ZW5kby5jb20+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIHN1cHBvcnQgZm9yIEluZGVvMyB2aWRlbyBpbiBRdWlja3RpbWUgZmlsZXMuCgkgIENsb3NlcyAjMzI2NTI0CgoyMDA2LTAxLTA5IDE4OjIwOjU2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJKiBleHQvc2RsL2dzdHNkbC5jOgoJKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJKiBleHQvc2RsL3NkbGF1ZGlvc2luay5oOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICBDcmVhdGVkIG5ldyBlbGVtZW50LCBzZGxhdWRpb3NpbmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDcmVhdGVkIG5ldyBlbGVtZW50LCBzZGxhdWRpb3NpbmsuCgoyMDA2LTAxLTA1IDIzOjE3OjQ0ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3A6CgkgIGFkZGVkIHN5cy9kaXJlY3RkcmF3IGFkZGVkIHN5cy9kaXJlY3Rzb3VuZCBhZGRlZCB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdyBhZGRlZCB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMS0wNSAgU2ViYXN0aWVuIE1vdXR0ZSAgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoJICAqIGFkZGVkIHN5cy9kaXJlY3RkcmF3CgkgICogYWRkZWQgc3lzL2RpcmVjdHNvdW5kCgkgICogYWRkZWQgd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3cKCSAgKiBhZGRlZCB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwCgkgICogYWRkZWQgd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwCgkgICogYWRkZWQgd2luMzIvY29tbW9uL2NvbmZpZy5oCgoyMDA2LTAxLTA1IDE3OjAzOjE1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6IGNhbGwgb2lsX2luaXQoKSB3aGVuIHVzaW5nIGxpYm9pbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6IChwbHVnaW5faW5pdCk6CgkgIGNhbGwgb2lsX2luaXQoKSB3aGVuIHVzaW5nIGxpYm9pbAoKMjAwNi0wMS0wNCAxOTozOToxMCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBTb21lIGltcHJvdmVtZW50cyBpbiBjYW5jZWxsYXRpb24gYW5kIGRlYnVnIG1lc3NhZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU29tZSBpbXByb3ZlbWVudHMgaW4gY2FuY2VsbGF0aW9uIGFuZCBkZWJ1ZyBtZXNzYWdlcy4KCjIwMDYtMDEtMDQgMTM6MjY6MzUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBSZW1vdmVkIG5vdCBuZWVkIHRocmVhZCBhbmQgY2hhbmdlZCB0byBwdXNoIG91dCBibG9ja3NpemUgYnl0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmVkIG5vdCBuZWVkIHRocmVhZCBhbmQgY2hhbmdlZCB0byBwdXNoIG91dCBibG9ja3NpemUgYnl0ZXMuCgo9PT0gcmVsZWFzZSAwLjEwLjIgPT09CgoyMDA2LTAxLTAzIDE3OjMzOjE2ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5oOiBBcyBiZWZvcmUsIGJ1dCBmb3Igb19idWYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuaDoKCSAgQXMgYmVmb3JlLCBidXQgZm9yIG9fYnVmCgoyMDA2LTAxLTAzIDE3OjI3OjEzICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5oOiBEZWNsYXJlIHN0cnVjdCBfUmVzYW1wbGVTdGF0ZS5idWZmZXIgYXMgdW5zaWduZWQgY2hhciAqLCBub3Qgdm9pZCAqLCBzaW5jZSB3ZSBkbyBhcml0aG0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuaDoKCSAgRGVjbGFyZSBzdHJ1Y3QgX1Jlc2FtcGxlU3RhdGUuYnVmZmVyIGFzIHVuc2lnbmVkIGNoYXIgKiwgbm90IHZvaWQgKiwKCSAgc2luY2Ugd2UgZG8gYXJpdGhtZXRpYyBvbiBpdC4KCjIwMDYtMDEtMDIgMTU6MDU6MDkgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgbmVvbiBwbHVnaW4gdG8gc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbmVvbiBwbHVnaW4gdG8gc3BlYyBmaWxlCgoyMDA1LTEyLTMwIDE1OjQxOjIxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9zbW9vdGh3YXZlLy5naXRpZ25vcmU6CgkqIGV4dC9zbW9vdGh3YXZlL01ha2VmaWxlLmFtOgoJKiBleHQvc21vb3Rod2F2ZS9SRUFETUU6CgkqIGV4dC9zbW9vdGh3YXZlL2RlbW8tb3Nzc3JjLmM6CgkqIGV4dC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzoKCSogZXh0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5oOgoJICBtb3ZlIHNtb290aHdhdmUgdG8gZ3N0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb3ZlIHNtb290aHdhdmUgdG8gZ3N0CgoyMDA1LTEyLTI4IDIxOjA3OjE3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbmVvbi9NYWtlZmlsZS5hbToKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgQ3JlYXRlZCBuZXcgZWxlbWVudCBuZW9uaHR0cHNyYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENyZWF0ZWQgbmV3IGVsZW1lbnQgbmVvbmh0dHBzcmMuCgoyMDA1LTEyLTE5IDE1OjE5OjQ0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogQWRkIGRlYnVnZ2luZyBjYXRlZ29yeSBhbmQgcmV0dXJuIEdzdEZsb3dSZXR1cm4gaW4gdGhlIHJpZ2h0IHBsYWNlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY19jbGFzc19pbml0KSwKCSAgKGdzdF9zd2ZkZWNfY2hhaW4pLCAoZ3N0X3N3ZmRlY19yZW5kZXIpOgoJICBBZGQgZGVidWdnaW5nIGNhdGVnb3J5IGFuZCByZXR1cm4gR3N0Rmxvd1JldHVybiBpbiB0aGUgcmlnaHQgcGxhY2VzCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2xpbmspOgoJICBHZXQgc29tZXRoaW5nIGZyb20gdGhlIHBlZXIgcGFkIG9uY2Ugd2UndmUgY2hlY2tlZCBpZiB0aGVyZSBpcyBhIHBlZXIgcGFkLgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChxdGRlbXV4X3RyZWVfZ2V0X2NoaWxkX2J5X3R5cGUpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIENvdXBsZSBvZiBmaXhlcwoKMjAwNS0xMi0xOSAxNDo1ODo0NyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvZGl2eC9NYWtlZmlsZS5hbToKCSAganVzdCBhIHNtYWxsIGZpeC4gSSBoYXZlIHRvIHBheSBtb3JlIGF0dGVudGlvbiB3aGVuIGNvbW1pdGluZyA7LSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGp1c3QgYSBzbWFsbCBmaXguIEkgaGF2ZSB0byBwYXkgbW9yZSBhdHRlbnRpb24gd2hlbiBjb21taXRpbmcgOy0pCgoyMDA1LTEyLTE5IDE0OjQwOjIyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZGl2eC9NYWtlZmlsZS5hbToKCSogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmg6CgkqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSogZXh0L2RpdngvZ3N0ZGl2eGVuYy5oOgoJICBkaXZ4ZGVjIGFuZCBkaXZ4ZW5jIHBvcnRlZCB0byAwLjEwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkaXZ4ZGVjIGFuZCBkaXZ4ZW5jIHBvcnRlZCB0byAwLjEwCgoyMDA1LTEyLTE4IDIxOjA2OjQ3ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFNvbWUgbW9yZSByZWZhY3RvcmluZywgaGFuZGxlIGV4b3RpYyBEaXJlY3RGQiByb3cgc3RyaWRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0xOCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLnR4dDoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIChnc3RfZGZidmlkZW9zaW5rX3N1cmZhY2VfY3JlYXRlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZXZlbnRfdGhyZWFkKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZW51bV9kZXZpY2VzKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0dXApLCAoZ3N0X2RmYnZpZGVvc2lua19jbGVhbnVwKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2FuX2JsaXRfZnJvbV9mb3JtYXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRjYXBzKSwgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX3Nob3dfZnJhbWUpLCAoZ3N0X2RmYnZpZGVvc2lua19idWZmZXJfYWxsb2MpLAoJICAoZ3N0X2RmYnN1cmZhY2VfZmluYWxpemUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19uYXZpZ2F0aW9uX3NlbmRfZXZlbnQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua191cGRhdGVfY29sb3JiYWxhbmNlKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0X3Byb3BlcnR5KSwgKGdzdF9kZmJ2aWRlb3NpbmtfaW5pdCk6IFNvbWUKCSAgbW9yZSByZWZhY3RvcmluZywgaGFuZGxlIGV4b3RpYyBEaXJlY3RGQiByb3cgc3RyaWRlLgoKMjAwNS0xMi0xOCAxMDo1ODo0NCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBVcGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0xOCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtdW5kb2N1bWVudGVkLnR4dDoKCSAgVXBkYXRlcy4KCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIChnc3RfZGZidmlkZW9zaW5rX3N1cmZhY2VfY3JlYXRlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZXZlbnRfdGhyZWFkKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZW51bV9kZXZpY2VzKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0dXApLCAoZ3N0X2RmYnZpZGVvc2lua19jbGVhbnVwKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2FuX2JsaXRfZnJvbV9mb3JtYXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRjYXBzKSwgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX3Nob3dfZnJhbWUpLCAoZ3N0X2RmYnZpZGVvc2lua19idWZmZXJfYWxsb2MpLAoJICAoZ3N0X2RmYnN1cmZhY2VfZmluYWxpemUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19uYXZpZ2F0aW9uX3NlbmRfZXZlbnQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua191cGRhdGVfY29sb3JiYWxhbmNlKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZmluYWxpemUpLCAoZ3N0X2RmYnZpZGVvc2lua19pbml0KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOiBJbXBsZW1lbnQgcGl4ZWwtYXNwZWN0LXJhdGlvLgoJICBUaGlzIHNob3VsZCB3b3JrIGJvdGggZm9yIGhhcmR3YXJlIGFjY2VsZXJhdGVkIHNjYWxpbmcgYW5kCgkgIHJldmVyc2UgY2FwcyBuZWdvdGlhdGlvbiB3aXRoIGEgc2NhbGluZyBlbGVtZW50LgoKMjAwNS0xMi0xNyAxNzo0ODozOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBVcGRhdGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0xNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy11bmRvY3VtZW50ZWQudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsdmlkZW9zaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOiBVcGRhdGVzLgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc3VyZmFjZV9jcmVhdGUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19ldmVudF90aHJlYWQpLCAoZ3N0X2RmYnZpZGVvc2lua19lbnVtX3Ztb2RlcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX2VudW1fZGV2aWNlcyksIChnc3RfZGZidmlkZW9zaW5rX3NldHVwKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2xlYW51cCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2Nhbl9ibGl0X2Zyb21fZm9ybWF0KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X2Jlc3Rfdm1vZGUpLCAoZ3N0X2RmYnZpZGVvc2lua19nZXRjYXBzKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0Y2FwcyksIChnc3RfZGZidmlkZW9zaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19idWZmZXJfYWxsb2MpLCAoZ3N0X2RmYnN1cmZhY2VfZmluYWxpemUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19pbnRlcmZhY2Vfc3VwcG9ydGVkKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfbmF2aWdhdGlvbl9zZW5kX2V2ZW50KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfdXBkYXRlX2NvbG9yYmFsYW5jZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NvbG9yYmFsYW5jZV9saXN0X2NoYW5uZWxzKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY29sb3JiYWxhbmNlX3NldF92YWx1ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NvbG9yYmFsYW5jZV9nZXRfdmFsdWUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jb2xvcmJhbGFuY2VfaW5pdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2luaXQpLCAoZ3N0X2RmYnZpZGVvc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6IEltcGxlbWVudCB2ZXJ0aWNhbCBzeW5jIGFuZAoJICBjb2xvciBiYWxhbmNlIGludGVyZmFjZS4KCjIwMDUtMTItMTYgMjE6NTU6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvbid0IHVzZSBkb2MgY29tbWVudHMgZm9yIG5vbi1kb2NzIGNoYW5nZSBzb21lIGNoYXIqIGludG8gY2hhcltdCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzogKGdzdF9hcnRzZHNpbmtfb3Blbl9hdWRpbyk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6IChzb2NrZXRfcmVjZWl2ZV9maWxlX3RvX2J1ZmYpOgoJICAqIGdzdC92YmlkZWMvdmJpZGF0YS5jOgoJICAqIGdzdC92YmlkZWMvdmJpZGF0YS5oOgoJICAqIGdzdC92YmlkZWMvdmJpc2NyZWVuLmM6CgkgICogc3lzL2R4cjMvYWMzX3BhZGRlci5jOgoJICBkb24ndCB1c2UgZG9jIGNvbW1lbnRzIGZvciBub24tZG9jcwoJICBjaGFuZ2Ugc29tZSBjaGFyKiBpbnRvIGNoYXJbXQoKMjAwNS0xMi0xNiAxNDo0Nzo1OSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IEFsd2F5cyBwcmVmZXIgdGhlIHByaW1hcnkgbGF5ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTE2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAoZ3N0X2RmYnZpZGVvc2lua19lbnVtX2xheWVycyksCgkgIChnc3RfZGZidmlkZW9zaW5rX2luaXQpOiBBbHdheXMgcHJlZmVyIHRoZSBwcmltYXJ5IGxheWVyLgoKMjAwNS0xMi0xNiAxMjoyNTozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogT29wcywgcmVtb3ZlIHRyYWlsaW5nIGNvbW1hIGZyb20gY2FwcyBzdHJpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSAgT29wcywgcmVtb3ZlIHRyYWlsaW5nIGNvbW1hIGZyb20gY2FwcyBzdHJpbmcuCgoyMDA1LTEyLTE2IDA5OjU5OjIxICswMDAwICBnY29jYXRyZUBnbWFpbC5jb20gPGdjb2NhdHJlQGdtYWlsLmNvbT4KCgkgIGV4dC93YXZwYWNrLzogV2F2cGFjayBzdXBwb3J0cyBzYW1wbGVyYXRlcyBmcm9tIDYtMTkya0h6LCBmaXggcGFkIHRlbXBsYXRlIHJlbW92ZSBidWZmZXItZnJhbWVzIGZyb20gY2FwcywgdGhleSBhcmUgZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfbGluayk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIFdhdnBhY2sgc3VwcG9ydHMgc2FtcGxlcmF0ZXMgZnJvbSA2LTE5MmtIeiwgZml4IHBhZCB0ZW1wbGF0ZQoJICBjYXBzIChmaXhlcyAjMzIyOTczOyBwYXRjaCBieTogZ2NvY2F0cmVAZ21haWwuY29tKS4gQWxzbwoJICByZW1vdmUgYnVmZmVyLWZyYW1lcyBmcm9tIGNhcHMsIHRoZXkgYXJlIGdvbmUgaW4gMC4xMC4KCjIwMDUtMTItMTUgMTQ6Mzk6MDAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L3h2aWQvTWFrZWZpbGUuYW06CgkqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICBGaXhlZCBzb21lIG1lbS1sZWFrcyBpbiB4dmlkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgc29tZSBtZW0tbGVha3MgaW4geHZpZC4KCjIwMDUtMTItMTUgMTA6MzA6MTQgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogRG9uJ3QgbGVhayBhbGwgaW5wdXQgYnVmZmVycyB0byBhdWRpb3Jlc2FtcGxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIERvbid0IGxlYWsgYWxsIGlucHV0IGJ1ZmZlcnMgdG8gYXVkaW9yZXNhbXBsZS4KCjIwMDUtMTItMTUgMDg6NTQ6MjYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICBkb2Vzbid0IHVzZSBsaWJvaWwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvZXNuJ3QgdXNlIGxpYm9pbAoKMjAwNS0xMi0xNCAyMjo0MTo0NyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3h2aWQvZ3N0eHZpZC5jOgoJKiBleHQveHZpZC9nc3R4dmlkLmg6CgkqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGRlYy5oOgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuaDoKCSAgeHZpZGRlYyBhbmQgeHZpZGVlbmMgcG9ydGVkIHRvIDAuMTAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHh2aWRkZWMgYW5kIHh2aWRlZW5jIHBvcnRlZCB0byAwLjEwCgoyMDA1LTEyLTE0IDIwOjU0OjA2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZHRzL01ha2VmaWxlLmFtOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5oOgoJICBkdHNkZWMgcG9ydGVkIHRvIDAuMTAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGR0c2RlYyBwb3J0ZWQgdG8gMC4xMAoKMjAwNS0xMi0xMiAxMDo0MDo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC86IEdzdE9iamVjdHMgbXVzdCBiZSB1bnJlZidlZCB3aXRoIGdzdF9vYmplY3RfdW5yZWYoKSBpbnN0ZWFkIG9mIGdfb2JqZWN0X3VucmVmKCksIG90aGVyd2lzZSB0aGluZ3MgYnJlYWsgZm9yIEdMaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6IChnc3RfaXZvcmJpc2ZpbGVfbG9vcCk6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfc3JjX3F1ZXJ5KSwgKGdzdF9tbXNfY3JlYXRlKToKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19zcmNfcXVlcnkpLAoJICAoZ3N0X211c2VwYWNrZGVjX2xvb3ApOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjX3ZpZGVvX2xpbmspLAoJICAoZ3N0X3N3ZmRlY19zcmNfcXVlcnkpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KToKCSAgR3N0T2JqZWN0cyBtdXN0IGJlIHVucmVmJ2VkIHdpdGggZ3N0X29iamVjdF91bnJlZigpIGluc3RlYWQgb2YKCSAgZ19vYmplY3RfdW5yZWYoKSwgb3RoZXJ3aXNlIHRoaW5ncyBicmVhayBmb3IgR0xpYi0yLjYgdXNlcnMuCgoyMDA1LTEyLTEyIDA5OjI5OjIxICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IEFkZCBhIHN1YmNsYXNzIG9mIEdzdEJ1ZmZlciB0aGF0IHdyYXBzIFN3ZmRlY0J1ZmZlcnMuICBGaXggYSBtYXNzaXZlIG1lbWxlYWsgYmVjYXVzZSB0aGUgdmlkZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY2J1ZmZlcl9nZXRfdHlwZSksCgkgIChnc3Rfc3dmZGVjYnVmZmVyX2NsYXNzX2luaXQpLCAoZ3N0X3N3ZmRlY2J1ZmZlcl9maW5hbGl6ZSksCgkgIChnc3Rfc3dmZGVjX2J1ZmZlcl9mcm9tX3N3ZiksIChnc3Rfc3dmZGVjX3JlbmRlcik6IEFkZCBhIHN1YmNsYXNzCgkgIG9mIEdzdEJ1ZmZlciB0aGF0IHdyYXBzIFN3ZmRlY0J1ZmZlcnMuICBGaXggYSBtYXNzaXZlIG1lbWxlYWsKCSAgYmVjYXVzZSB0aGUgdmlkZW8gYnVmZmVycyBwcmV2aW91c2x5IG5ldmVyIGdvdCBmcmVlZC4KCjIwMDUtMTItMTEgMjM6NTQ6NTYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgSnVzdCByZW1vdmVkIGEgd2VpcmQgcHJpbnRmIDstKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSnVzdCByZW1vdmVkIGEgd2VpcmQgcHJpbnRmIDstKQoKMjAwNS0xMi0xMSAyMzowOToyMSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmg6CgkgIEFkZGVkIHN1cG9ydCB0byBtbXNoLiBUaGVyZSdzIHN0aWxsIGEgc3Vja3MgbXNnICJFUlJPUjogUGlwZWxpbmUgY2FudCBQUkVST09MLi4uIiB0byBiZSBmaXhlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZGVkIHN1cG9ydCB0byBtbXNoLiBUaGVyZSdzIHN0aWxsIGEgc3Vja3MgbXNnICJFUlJPUjogUGlwZWxpbmUgY2FudCBQUkVST09MLi4uIiB0byBiZSBmaXhlZC4KCjIwMDUtMTItMDkgMTU6MzA6MjEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBBc3N1bWUgdGhhdCBhbiB1bmtub3duIGNoYW5uZWwgbWFwcGluZyB3aXRoIDIgY2hhbm5lbHMgaXMgc3RlcmVvIGFuZCBwbGF5IGl0IHRoYXQgd2F5IGluc3RlYWQgb2YgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2NoYW5wb3NfdG9fZ3N0KSwKCSAgKGdzdF9mYWFkX3VwZGF0ZV9jYXBzKToKCSAgQXNzdW1lIHRoYXQgYW4gdW5rbm93biBjaGFubmVsIG1hcHBpbmcgd2l0aCAyIGNoYW5uZWxzCgkgIGlzIHN0ZXJlbyBhbmQgcGxheSBpdCB0aGF0IHdheSBpbnN0ZWFkIG9mIGVycm9yaW5nLgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgSGFuZGxlIGUuZy4ganBlZyBzdHJlYW1zIHdpdGggMCBkdXJhdGlvbiBmcmFtZXMgYXMgaGF2aW5nIDAgZnJhbWVyYXRlLgoJICBEZWJ1ZyBmaXhlcy4gU29tZSA2NCBiaXQgdmFyaWFibGUgZml4ZXMKCjIwMDUtMTItMDkgMDQ6MTU6MDIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmg6CgkgIHN3ZmRlYyBQb3J0ZWQgdG8gMC4xMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHN3ZmRlYyBQb3J0ZWQgdG8gMC4xMC4KCjIwMDUtMTItMDcgMTE6NDY6MTUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1lbWxlYWsgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pOgoJICBNZW1sZWFrIGZpeGVzLgoJICBTZW5kIG91dCBFT1MgZm9yIHZhbGlkIHJlYXNvbnMgKGNvdWxkbid0IHB1bGxfcmFuZ2UoKSBmcm9tIHVwc3RyZWFtCgkgIGZvciBleGFtcGxlKS4KCjIwMDUtMTItMDYgMTk6NTU6NTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtdW5kb2N1bWVudGVkLnR4dDoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmg6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmg6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5oOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJKiBleHQvaXZvcmJpcy92b3JiaXNlbmMuaDoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuaDoKCSogZXh0L25hcy9uYXNzaW5rLmM6CgkqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJKiBleHQvc25kZmlsZS9nc3RzZi5oOgoJKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5oOgoJKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5oOgoJKiBleHQveGluZS9nc3R4aW5lLmg6CgkqIGV4dC94aW5lL3hpbmVjYXBzLmM6CgkqIGV4dC94dmlkL2dzdHh2aWQuaDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXkvcGxheS5oOgoJKiBnc3QvYXBldGFnL2FwZWRlbXV4Lmg6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmg6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmg6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0dmNkcGFyc2UuaDoKCSogZ3N0L2NvbG9yc3BhY2UveXV2MnJnYi5jOgoJKiBnc3QvY29sb3JzcGFjZS95dXYycmdiLmg6CgkqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5oOgoJKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6CgkqIGdzdC9nYW1lcy9nc3R2aWRlb2ltYWdlLmM6CgkqIGdzdC9nYW1lcy9nc3R2aWRlb2ltYWdlLmg6CgkqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuaDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9pdF9kZWZzLmg6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbW9kcGx1Zy5oOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZGZpbGUuaDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zdGRhZnguaDoKCSogZ3N0L21wZWcxc3lzL2J1ZmZlci5jOgoJKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuaDoKCSogZ3N0L21wZWcxc3lzL21haW4uaDoKCSogZ3N0L21wZWcxc3lzL3N5c3RlbXMuYzoKCSogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmg6CgkqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuaDoKCSogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmg6CgkqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuaDoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkqIGdzdC9ydGpwZWcvUlRqcGVnLmM6CgkqIGdzdC9ydGpwZWcvUlRqcGVnLmg6CgkqIGdzdC90dGEvY3JjMzIuaDoKCSogZ3N0L3R0YS9maWx0ZXJzLmg6CgkqIGdzdC90dGEvdHRhZGVjLmg6CgkqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmg6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5oOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXJfaW9jdGwuYzoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsLmg6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllcl9pb2N0bF9ic2QuaDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsX2lyaXguaDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsX3NvbGFyaXMuaDoKCSogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOgoJKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmg6CgkqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6CgkqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmg6CgkqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5oOgoJKiBzeXMvcWNhbS9kYXJrLmM6CgkqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJKiBzeXMvdmNkL3ZjZHNyYy5oOgoJICBleHBhbmQgdGFicwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZXhwYW5kIHRhYnMKCjIwMDUtMTItMDYgMTk6NDQ6NDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSogZXh0L2xhZHNwYS9zZWFyY2guYzoKCSogZXh0L2xhZHNwYS91dGlscy5oOgoJICBleHBhbmQgdGFicwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZXhwYW5kIHRhYnMKCjIwMDUtMTItMDYgMTk6NDI6MDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvYnVmZmVyLmg6CgkqIGdzdC9hdWRpb3Jlc2FtcGxlL2Z1bmN0YWJsZS5oOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzoKCSAgZXhwYW5kIHRhYnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGV4cGFuZCB0YWJzCgoyMDA1LTEyLTA1IDE4OjExOjMyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBIRUFECgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIEhFQUQKCj09PSByZWxlYXNlIDAuMTAuMCA9PT0KCjIwMDUtMTItMDUgMTg6MDE6NDggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbHZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICByZWxlYXNpbmcgMC4xMC4wCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC4xMC4wCgoyMDA1LTEyLTA1IDEzOjA0OjIyICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBVcGRhdGUgZm9yIGFsbG9jX2J1ZmZlciBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0wNSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19zaW5rX2V2ZW50KSwgKGdzdF9mYWFjX2NoYWluKToKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9jaGFpbik6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6IChnc3RfaGVybWVzX2NvbG9yc3BhY2VfY2hhaW4pOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfY2hhaW4pOgoJICAqIGV4dC94aW5lL3hpbmVpbnB1dC5jOiAoZ3N0X3hpbmVfaW5wdXRfZ2V0KToKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9jaGFpbik6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6IChzcGVlZF9jaGFpbik6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzogKGdzdF92aWRlb19jcm9wX2NoYWluKTogVXBkYXRlIGZvcgoJICBhbGxvY19idWZmZXIgY2hhbmdlcy4KCjIwMDUtMTItMDUgMTM6MDI6NTggKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIFVwZGF0ZSBmb3IgYWxsb2NfYnVmZmVyIGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEyLTA1ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9kdi9nc3RkdmRlYy5jOiAoZ3N0X2R2ZGVjX2NoYWluKToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY2RlY193cml0ZSk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNlbmNfd3JpdGVfY2FsbGJhY2spOgoJICAqIGV4dC9nZGtfcGl4YnVmL2dzdGdka3BpeGJ1Zi5jOiAoZ3N0X2dka19waXhidWZfY2hhaW4pOgoJICAqIGV4dC9nZGtfcGl4YnVmL3BpeGJ1ZnNjYWxlLmM6IChnc3RfcGl4YnVmc2NhbGVfY2hhaW4pOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdkZWMuYzogKGdzdF9qcGVnX2RlY19jaGFpbik6CgkgICogZXh0L2pwZWcvZ3N0anBlZ2VuYy5jOiAoZ3N0X2pwZWdlbmNfY2hhaW4pOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKToKCSAgKiBleHQvbGlicG5nL2dzdHBuZ2RlYy5jOiAodXNlcl9pbmZvX2NhbGxiYWNrKSwgKGdzdF9wbmdkZWNfdGFzayk6CgkgICogZXh0L3NwZWV4L2dzdHNwZWV4ZGVjLmM6IChzcGVleF9kZWNfY2hhaW4pOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGVuYy5jOiAoZ3N0X3NwZWV4ZW5jX2NoYWluKToKCSAgKiBnc3QvYXVwYXJzZS9nc3RhdXBhcnNlLmM6IChnc3RfYXVwYXJzZV9jaGFpbik6CgkgICogZ3N0L2ZseC9nc3RmbHhkZWMuYzogKGdzdF9mbHhkZWNfY2hhaW4pOgoJICAqIGdzdC9nb29tL2dzdGdvb20uYzogKGdzdF9nb29tX2NoYWluKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9wdXNoX3ZvcmJpc19jb2RlY19wcml2X2RhdGEpLAoJICAoZ3N0X21hdHJvc2thX2RlbXV4X2FkZF93dnBrX2hlYWRlcik6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRkZW11eC5jOiAoZ3N0X211bHRpcGFydF9kZW11eF9jaGFpbik6CgkgICogZ3N0L211bHRpcGFydC9tdWx0aXBhcnRtdXguYzogKGdzdF9tdWx0aXBhcnRfbXV4X2NvbGxlY3RlZCk6CgkgICogZ3N0L3ZpZGVvbWl4ZXIvdmlkZW9taXhlci5jOiAoZ3N0X3ZpZGVvbWl4ZXJfY29sbGVjdGVkKToKCSAgKiBnc3Qvd2F2ZW5jL2dzdHdhdmVuYy5jOiAoZ3N0X3dhdmVuY19jaGFpbik6IFVwZGF0ZSBmb3IKCSAgYWxsb2NfYnVmZmVyIGNoYW5nZXMuCgoyMDA1LTEyLTA0IDIyOjQ2OjM0ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZQoKMjAwNS0xMi0wMiAxMTozNDo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlLzogRml4IGF1ZGlvcmVzYW1wbGUsIHNlZWsgdG9ydHVyZSwgbmV3IHNlZ21lbnRzLCByZXZlcnNlIG5lZ290aWF0aW9uIGV0Yy4uIHdvcmsgZmluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvYnVmZmVyLmM6IChhdWRpb3Jlc2FtcGxlX2J1ZmZlcl9xdWV1ZV9mbHVzaCk6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvYnVmZmVyLmg6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuaDoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5jOiAocmVzYW1wbGVfaW5wdXRfZmx1c2gpLAoJICAocmVzYW1wbGVfaW5wdXRfcHVzaHRocm91Z2gpLCAocmVzYW1wbGVfaW5wdXRfZW9zKSwKCSAgKHJlc2FtcGxlX2dldF9vdXRwdXRfc2l6ZV9mb3JfaW5wdXQpLAoJICAocmVzYW1wbGVfZ2V0X2lucHV0X3NpemVfZm9yX291dHB1dCksIChyZXNhbXBsZV9nZXRfb3V0cHV0X3NpemUpLAoJICAocmVzYW1wbGVfZ2V0X291dHB1dF9kYXRhKToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5oOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlX3JlZi5jOiAocmVzYW1wbGVfc2NhbGVfcmVmKToKCSAgRml4IGF1ZGlvcmVzYW1wbGUsIHNlZWsgdG9ydHVyZSwgbmV3IHNlZ21lbnRzLCByZXZlcnNlIG5lZ290aWF0aW9uCgkgIGV0Yy4uIHdvcmsgZmluZS4KCjIwMDUtMTItMDIgMDk6MzI6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvTWFrZWZpbGUuYW06IEFkZCBtaXNzaW5nICQoV0FWUEFDS19ESVIpICgjMzIyOTYyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBBZGQgbWlzc2luZyAkKFdBVlBBQ0tfRElSKSAoIzMyMjk2MikuCgoyMDA1LTEyLTAxIDE5OjE3OjM0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBIRUFECgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIEhFQUQKCj09PSByZWxlYXNlIDAuOS43ID09PQoKMjAwNS0xMi0wMSAxOToxMzoyMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIExJQ0VOU0U6CgkqIE5FV1M6CgkqIFBPUlRFRF8wOToKCSogUkVMRUFTRToKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy11bmRvY3VtZW50ZWQudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsdmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcmFuZG9tL0xJQ0VOU0U6CgkqIGRvY3MvcmFuZG9tL1BPUlRFRF8wOToKCSAgcmVsZWFzaW5nIDAuOS43CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC45LjcKCjIwMDUtMTEtMjkgMDI6NTU6MTggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogUE9SVEVEXzA5OgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbGlibW1zL01ha2VmaWxlLmFtOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5oOgoJICBsaWJtbSBwb3J0ZWQgdG8gMC45LiBJdCB3b3JrcyBmaW5lLCBidXQgcHJpbnQgc29tZSBlcnJvciBtZXNzYWdlcy4gSSdsbCBmaXggdGhlbSBzb29uLiBUZXN0ZWQgd2l0aCAgbW1zc3JjIGxvY2F0aW9uPW0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGxpYm1tIHBvcnRlZCB0byAwLjkuIEl0IHdvcmtzIGZpbmUsIGJ1dCBwcmludCBzb21lIGVycm9yIG1lc3NhZ2VzLiBJJ2xsIGZpeCB0aGVtIHNvb24uIFRlc3RlZCB3aXRoICBtbXNzcmMgbG9jYXRpb249bW1zOi8vICEgZmlsZXNpbmsuCgoyMDA1LTExLTI4IDIxOjIyOjM5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbW1vbjoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOgoJICBmaXggaGVhZGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggaGVhZGVyCgoyMDA1LTExLTI4IDE3OjQ3OjI3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgIGZpeCBpbmNsdWRlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggaW5jbHVkZQoKMjAwNS0xMS0yOCAxNTo0MzoyOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogSGFuZGxlIGdyYWNlZnVsbHkgdGhlIGNvbnNlcXVlbmNlIG9mICJNYXhpbXVtIG51bWJlciBvZiBzY2FsZWZhY3RvciBiYW5kcyBleGNlZWRlZCIsIHdoaWNoIHJlc3VsdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9zcmNnZXRjYXBzKToKCSAgSGFuZGxlIGdyYWNlZnVsbHkgdGhlIGNvbnNlcXVlbmNlIG9mICJNYXhpbXVtIG51bWJlciBvZiBzY2FsZWZhY3RvcgoJICBiYW5kcyBleGNlZWRlZCIsIHdoaWNoIHJlc3VsdHMgaW4gMCBjaGFubmVscyB3aXRoIHNhbXBsZXJhdGVzIG9mIDAuCgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgRG8gdXB3YXJkIHRyYW5zaXRpb25zLCB0aGVuIGNhbGwgcGFyZW50IHN0YXRlX2NoYW5nZSwgdGhlbiBkbwoJICBkb3dud2FyZCB0cmFuc2l0aW9ucy4KCjIwMDUtMTEtMjggMTU6MTk6MzMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBmaXggbWFrZWZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBtYWtlZmlsZQoKMjAwNS0xMS0yOCAxNDo1MDo0NCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBleHQvTWFrZWZpbGUuYW06IGFscGhhYmV0cywgc28gaGFyZCB0byBtYXN0ZXIuICBTaG91bGQgZml4IGRpc3RjaGVjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBhbHBoYWJldHMsIHNvIGhhcmQgdG8gbWFzdGVyLiAgU2hvdWxkIGZpeCBkaXN0Y2hlY2suCgoyMDA1LTExLTI3IDE0OjM1OjI3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb21tb246CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgQUNMT0NBTF9BTUZMQUdTOyByZW1vdmUgb2xkIHN0dWZmIGZyb20gc3BlYyBjaGFuZ2Vsb2cKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBBQ0xPQ0FMX0FNRkxBR1M7IHJlbW92ZSBvbGQgc3R1ZmYgZnJvbSBzcGVjIGNoYW5nZWxvZwoKMjAwNS0xMS0yNSAxOTo1ODoxOSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBQT1JURURfMDk6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmg6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgV2F2cGFjayBwb3J0ZWQgdG8gMC45LiBObyBzdXBwb3J0IGZvciBjb3JyZWN0aW9uIGZpbGUgeWV0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgV2F2cGFjayBwb3J0ZWQgdG8gMC45LiBObyBzdXBwb3J0IGZvciBjb3JyZWN0aW9uIGZpbGUgeWV0LgoKMjAwNS0xMS0yNSAxODoxNTo1MSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBleHQvd2F2cGFjay86IHB1dCBiYWNrIHdhdnBhY2sgLSBzdGlsbCBuZWVkcyBwb3J0aW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfbGluayksCgkgIChnc3Rfd2F2cGFja19kZWNfd3ZjbGluayksIChnc3Rfd2F2cGFja19kZWNfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfZGlzcG9zZSksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfc3JjX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYWNrX2RlY19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19zZXR1cF9jb250ZXh0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19mb3JtYXRfc2FtcGxlcyksIChnc3Rfd2F2cGFja19kZWNfbG9vcCksCgkgIChnc3Rfd2F2cGFja19kZWNfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCksIChnc3Rfd2F2cGFja19wYXJzZV9kaXNwb3NlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19ldmVudCksIChmaW5kX2hlYWRlciksIChmaW5kX3NhbXBsZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zZWVrKSwgKGdzdF93YXZwYWNrX3BhcnNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX2V2ZW50KSwgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY2hhbmdlX3N0YXRlKSwgKGdzdF93YXZwYWNrX3BhcnNlX3BsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgcHV0IGJhY2sgd2F2cGFjayAtIHN0aWxsIG5lZWRzIHBvcnRpbmcKCjIwMDUtMTEtMjMgMjE6Mjc6MjAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkgIGFkZCBhIHRvcnR1cmUgdGFyZ2V0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgYSB0b3J0dXJlIHRhcmdldAoKMjAwNS0xMS0yMyAyMDowNjowOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBIRUFECgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIEhFQUQKCj09PSByZWxlYXNlIDAuOS42ID09PQoKMjAwNS0xMS0yMyAxOTo1Nzo0OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsdmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgIHJlbGVhc2luZyAwLjkuNgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuOS42CgoyMDA1LTExLTIzIDE4OjA1OjE2ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIFVzZSBmcmFjdGlvbiBmb3IgZnJhbWVyYXRlLCB2YXJpb3VzIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yMyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLnR4dDoKCSAgKiBleHQvZGlyZWN0ZmIvZGZiLWV4YW1wbGUuYzogKG1haW4pOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc3VyZmFjZV9kZXN0cm95KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZXZlbnRfdGhyZWFkKSwgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0dXApLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRjYXBzKSwgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSksIChnc3RfZGZidmlkZW9zaW5rX2dldF90aW1lcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX2J1ZmZlcnBvb2xfY2xlYXIpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19idWZmZXJfYWxsb2MpLCAoZ3N0X2RmYnN1cmZhY2VfZmluYWxpemUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19uYXZpZ2F0aW9uX3NlbmRfZXZlbnQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19maW5hbGl6ZSksIChnc3RfZGZidmlkZW9zaW5rX2luaXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6IFVzZSBmcmFjdGlvbiBmb3IgZnJhbWVyYXRlLAoJICB2YXJpb3VzCgkgIGZpeGVzLgoKMjAwNS0xMS0yMyAxNTozNjowOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvc2RsL3NkbHZpZGVvc2luay4qOiBVcGRhdGVzIGZvciBmcmFjdGlvbmFsIGZyYW1lcmF0ZXMgYW5kIFhPdmVybGF5IGludGVyZmFjZSBjaGFuZ2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2RsdmlkZW9zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX2dldF90aW1lcyksIChnc3Rfc2RsdmlkZW9zaW5rX2luaXQpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19zZXRjYXBzKSwgKGdzdF9zZGx2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICBVcGRhdGVzIGZvciBmcmFjdGlvbmFsIGZyYW1lcmF0ZXMgYW5kIFhPdmVybGF5IGludGVyZmFjZSBjaGFuZ2VzCgoyMDA1LTExLTIzIDExOjU3OjUxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ29udmVydCB0byBmcmFjdGlvbmFsIGZyYW1lcmF0ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksIChxdGRlbXV4X2R1bXBfbXZoZCksCgkgIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBDb252ZXJ0IHRvIGZyYWN0aW9uYWwgZnJhbWVyYXRlcwoKMjAwNS0xMS0yMyAwMDoyODoxMiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiBGaXggZm9yIGxhdGVzdCBBUEkgY2hhbmdlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19sb29wKToKCSAgRml4IGZvciBsYXRlc3QgQVBJIGNoYW5nZXMKCjIwMDUtMTEtMjIgMTU6MDk6MjggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogUE9SVEVEXzA5OgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5oOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tyZWFkZXIuYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrcmVhZGVyLmg6CgkgIE11c2VwYWNrZGVjIHBvcnRlZCB0byAwLjkuIFRoZXJlIGlzIHN0aWxsIGEgc21hbGwgcHJvYmxlbSB0byBiZSBzb2x2ZWQsIGFmdGVyIHRoZSBlbmQgb2YgZmlsZSwgdGhlIHBpcGVsaW5lIGRvZW5zJ3Qgcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTXVzZXBhY2tkZWMgcG9ydGVkIHRvIDAuOS4gVGhlcmUgaXMgc3RpbGwgYSBzbWFsbCBwcm9ibGVtIHRvIGJlIHNvbHZlZCwgYWZ0ZXIgdGhlIGVuZCBvZiBmaWxlLCB0aGUgcGlwZWxpbmUgZG9lbnMndCBzdG9wLgoKMjAwNS0xMS0yMiAxMTo1Nzo1MSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJICBleHQvZmFhZC9nc3RmYWFkLmMgKGdzdF9mYWFkX2V2ZW50KSBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmMgKGdzdF9pdm9yYmlzZmlsZV9sb29wKSBnc3QvcXRkZW11eC9xdGRlbXV4LmMgKGdzdF9xdGRlbXUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMjIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jIChnc3RfZmFhZF9ldmVudCkKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmMgKGdzdF9pdm9yYmlzZmlsZV9sb29wKQoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYyAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpCgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmMgKHNwZWVkX3NpbmtfZXZlbnQpCgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jIChnc3RfdHRhX3BhcnNlX3NyY19ldmVudCkKCSAgKGdzdF90dGFfcGFyc2VfcGFyc2VfaGVhZGVyKTogUnVuIHVwZGF0ZS1mdW5jbmFtZXMuCgoyMDA1LTExLTIxIDE4OjQ1OjU0ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IERvbid0IHRha2UgU1RSRUFNX0xPQ0sgaW4gc2luayBldmVudCBoYW5kbGVycyBhbnkgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfc2V0Y2FwcyksIChnc3RfZmFhZF9ldmVudCk6CgkgIERvbid0IHRha2UgU1RSRUFNX0xPQ0sgaW4gc2luayBldmVudCBoYW5kbGVycyBhbnkgbW9yZS4KCjIwMDUtMTEtMjEgMTg6MDk6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBVcGRhdGUgZm9yIHN0cmVhbSBsb2NrIEFQSSBjaGFuZ2VzOiBkb24ndCB0YWtlIHN0cmVhbSBsb2cgaW4gc2luayBldmVudCBoYW5kbGVycyBhbnkgbG9uZ2VyIGFuZCBjaGFuZ2UgR1NUX1NUUkVBTV9MT0MuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R2L2dzdGR2ZGVtdXguYzogKGdzdF9kdmRlbXV4X2hhbmRsZV9zaW5rX2V2ZW50KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY2RlY19sb29wKSwKCSAgKGdzdF9mbGFjZGVjX3NyY19ldmVudCk6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2VuYy5jOiAoZ3N0X2ZsYWNlbmNfc2lua19ldmVudCk6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX2V2ZW50KSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2dldHJhbmdlKSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NoYWluKToKCSAgKiBnc3QvYXZpL2dzdGF2aWRlbXV4LmM6IChnc3RfYXZpX2RlbXV4X2hhbmRsZV9zZWVrKToKCSAgKiBnc3QvZmx4L2dzdGZseGRlYy5jOiAoZ3N0X2ZseGRlY19zcmNfZXZlbnRfaGFuZGxlciksCgkgIChnc3RfZmx4ZGVjX3NpbmtfZXZlbnRfaGFuZGxlcik6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfaGFuZGxlX3NlZWtfZXZlbnQpOgoJICAqIGdzdC93YXZwYXJzZS9nc3R3YXZwYXJzZS5jOiAoZ3N0X3dhdnBhcnNlX2hhbmRsZV9zZWVrKToKCSAgVXBkYXRlIGZvciBzdHJlYW0gbG9jayBBUEkgY2hhbmdlczogZG9uJ3QgdGFrZSBzdHJlYW0gbG9nCgkgIGluIHNpbmsgZXZlbnQgaGFuZGxlcnMgYW55IGxvbmdlciBhbmQgY2hhbmdlIEdTVF9TVFJFQU1fTE9DSwoJICB0byBHU1RfUEFEX1NUUkVBTV9MT0NLLiBEb24ndCBsZWFrIHJlZmVyZW5jZXMgaW4gZmx4ZGVjIGV2ZW50CgkgIGZ1bmN0aW9ucy4KCjIwMDUtMTEtMjEgMTc6Mzc6NDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBGaXggZm9yIHN0cmVhbSBsb2NrIHVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX3NpbmtfZXZlbnQpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2Vfc3JjX2V2ZW50KToKCSAgRml4IGZvciBzdHJlYW0gbG9jayB1cGRhdGVzLgoKMjAwNS0xMS0yMSAxNzoxNDowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC86IFNlZ21lbnQgdXBkYXRlIGZpeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGJhc2VhdWRpb3NpbmsuYzoKCSAgKGdzdF9iYXNlX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfYmFzZV9hdWRpb19zaW5rX2luaXQpLAoJICAoZ3N0X2Jhc2VfYXVkaW9fc2lua19wcm92aWRlX2Nsb2NrKSwKCSAgKGdzdF9iYXNlX2F1ZGlvX3Npbmtfc2V0X2Nsb2NrKSwgKGdzdF9iYXNlX2F1ZGlvX3NpbmtfcmVuZGVyKSwKCSAgKGdzdF9iYXNlX2F1ZGlvX3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIFNlZ21lbnQgdXBkYXRlIGZpeC4KCjIwMDUtMTEtMjEgMTY6NDU6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IGpAYm9vdGxhYi5vcmcsICMzMjE5MDMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgRFg1MCwgRElWWCBhbmQgRElWMyBmb3VyY2NzIChwYXRjaCBieQoJICBqQGJvb3RsYWIub3JnLCAjMzIxOTAzKS4KCjIwMDUtMTEtMjEgMTY6Mzc6MTggKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgICouKjogUmFuIHNjcmlwdHMvdXBkYXRlLW1hY3Jvcy4gT2ggeWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yMSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiAqLmg6CgkgICogKi5jOiBSYW4gc2NyaXB0cy91cGRhdGUtbWFjcm9zLiBPaCB5ZXMuCgoyMDA1LTExLTIxIDE0OjM5OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgVXBkYXRlIGZvciBHU1RfRk9VUkNDX0ZPUk1BVCBBUEkgY2hhbmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9mb3JtYXRfZnJvbV9jYXBzKToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19jcmVhdGUpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKHF0ZGVtdXhfcGFyc2UpLCAocXRkZW11eF90eXBlX2dldCksIChxdGRlbXV4X25vZGVfZHVtcF9mb3JlYWNoKSwKCSAgKHF0ZGVtdXhfZHVtcF9oZGxyKSwgKHF0ZGVtdXhfZHVtcF9kcmVmKSwgKHF0ZGVtdXhfZHVtcF9zdHNkKSwKCSAgKHF0ZGVtdXhfZHVtcF9kY29tKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X3ZpZGVvX2NhcHMpLAoJICAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY192NGwyZm91cmNjX3RvX2NhcHMpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2ZpbGxfZm9ybWF0X2xpc3QpLAoJICAoZ3N0X3Y0bDJzcmNfY2FwdHVyZV9pbml0KSwgKGdzdF92NGwyc3JjX2dldF9zaXplX2xpbWl0cyk6CgkgIFVwZGF0ZSBmb3IgR1NUX0ZPVVJDQ19GT1JNQVQgQVBJIGNoYW5nZS4KCjIwMDUtMTEtMjEgMTQ6MzM6MTEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVuYW1lIGdzdF9jYXBzX3N0cnVjdHVyZV9maXhhdGVfKiB0byBnc3Rfc3RydWN0dXJlX2ZpeGF0ZV8qICgjMzIyMDI3KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5jOiAoZ3N0X3BvbHlwc2lua19zaW5rX2ZpeGF0ZSk6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogKGdzdF9yZmJzcmNfZml4YXRlKToKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlc2lua19maXhhdGUpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2ZpeGF0ZSk6CgkgIFJlbmFtZSBnc3RfY2Fwc19zdHJ1Y3R1cmVfZml4YXRlXyogdG8gZ3N0X3N0cnVjdHVyZV9maXhhdGVfKgoJICAoIzMyMjAyNykKCjIwMDUtMTEtMjEgMDM6MjE6MDQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbToKCSogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJICBOb3cgaXQgd29ya3MgaW4gcHVzaC1tb2RlLiBUZXN0ZWQgd2l0aCBnbm9tZXZmc3NyYyBsb2NhdGlvbj1odHRwOi8vLi4gICEgdHJlbW9yICEgYWxzYXNpbmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOb3cgaXQgd29ya3MgaW4gcHVzaC1tb2RlLiBUZXN0ZWQgd2l0aCBnbm9tZXZmc3NyYyBsb2NhdGlvbj1odHRwOi8vLi4gICEgdHJlbW9yICEgYWxzYXNpbmsuCgkgIFNvbWUgaXNzdWVzIHRvIGJlIHNvbHZlZCB5ZXQ6CgkgIDEtIHNldCBjb3JyZWN0IHRpbWVzdGFtcHMKCSAgMi0gc2VlayBpcyBmb3JjZWQgdG8gZGlzYWJsZWQgaW4gcHVsbC1tb2RlCgoyMDA1LTExLTE2IDE3OjI2OjEwICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBjb21tb246CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBtYWtlIGl0IHdvcmsKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1ha2UgaXQgd29yawoKMjAwNS0xMS0xNSAxNjo1MDoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mYWFjL2dzdGZhYWMuYzogU2V0IHByb3BlciBjYXBzIG9uIHNvdXJjZSBwYWQgKCMzMjA1MzIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19iYXNlX2luaXQpLCAoZ3N0X2ZhYWNfaW5pdCksCgkgIChnc3RfZmFhY19zaW5rX3NldGNhcHMpLCAoZ3N0X2ZhYWNfY29uZmlndXJlX3NvdXJjZV9wYWQpLAoJICAoZ3N0X2ZhYWNfY2hhaW4pOgoJICBTZXQgcHJvcGVyIGNhcHMgb24gc291cmNlIHBhZCAoIzMyMDUzMikuCgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBEb24ndCB1c2UgZ3RrLWRvYyBtYXJrZXJzIGZvciBjb21tZW50IGJsb2NrLgoKMjAwNS0xMS0xNSAwODozODoxNiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZXh0L2l2b3JiaXMvdm9yYmlzLmM6CgkgIHNldCByYW5rIHRvIHNlY29uZGFyeSBhcyB5b3UgbmV2ZXIgd2FudCB0aGlzIHRvIGJlIHVzZWQgaW5zdGVhZCBvZiBub3JtYWwgb2dnZGVtdXggZXRjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc2V0IHJhbmsgdG8gc2Vjb25kYXJ5IGFzIHlvdSBuZXZlciB3YW50IHRoaXMgdG8gYmUgdXNlZCBpbnN0ZWFkIG9mIG5vcm1hbCBvZ2dkZW11eCBldGMuCgoyMDA1LTExLTE0IDE3OjExOjU1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBjb25maWd1cmUuYWMgKEdTVF9QTFVHSU5fTERGTEFHUyk6IC1uby11bmRlZmluZWQgZm9yIGJldHRlciBkZWJ1Z2dpbmcsIGFsbG93cyBkbGwgYnVpbGRzIG9uIHdpbmRvd3MuIEZpeGVzICMzMTYwNzYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTE0ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGNvbmZpZ3VyZS5hYyAoR1NUX1BMVUdJTl9MREZMQUdTKTogLW5vLXVuZGVmaW5lZCBmb3IgYmV0dGVyCgkgIGRlYnVnZ2luZywgYWxsb3dzIGRsbCBidWlsZHMgb24gd2luZG93cy4gRml4ZXMgIzMxNjA3Ni4KCjIwMDUtMTEtMTQgMDI6MTM6MjYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICByZXdvcmsgY29uZmlndXJlLmFjOyBtYWtlIGFzdGVyaXNrIHJ0cCBzdHVmZiBjb21waWxlIG9uIG1pbmd3CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXdvcmsgY29uZmlndXJlLmFjOyBtYWtlIGFzdGVyaXNrIHJ0cCBzdHVmZiBjb21waWxlIG9uIG1pbmd3CgoyMDA1LTExLTExIDE5OjM5OjE3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIGhlYWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gaGVhZAoKPT09IHJlbGVhc2UgMC45LjUgPT09CgoyMDA1LTExLTExIDE5OjM4OjE3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJICByZWxlYXNpbmcgMC45LjUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjkuNQoKMjAwNS0xMS0xMSAxODo1NDoxNCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIEZpeCBjb21waWxlIG9uIHN5c3RlbXMgd2l0aCBicm9rZW4gZmFhZCBoZWFkZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IGNvbXBpbGUgb24gc3lzdGVtcyB3aXRoIGJyb2tlbiBmYWFkIGhlYWRlcnMuCgoyMDA1LTExLTExIDE4OjE3OjIyICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IENhbGwgZnVuY3Rpb25zIHdpdGggdGhlIGNvcnJlY3QgQVBJLiBVbmZvcnR1bmF0ZWx5LCB1bmxlc3MgeW91ciBkaXN0cmlidXRpb24gcGF0Y2hlcyB1cHN0cmVhbSwgdGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfc2V0Y2FwcyksIChnc3RfZmFhZF9jaGFpbik6CgkgIENhbGwgZnVuY3Rpb25zIHdpdGggdGhlIGNvcnJlY3QgQVBJLiBVbmZvcnR1bmF0ZWx5LCB1bmxlc3MgeW91cgoJICBkaXN0cmlidXRpb24gcGF0Y2hlcyB1cHN0cmVhbSwgdGhlIHB1YmxpYyBoZWFkZXIgZmlsZSBmb3IgRkFBRAoJICBkb2Vzbid0IGFjdHVhbGx5IGRlY2xhcmUgdGhlIEFQSSBhY2N1cmF0ZWx5LiBTbywgc29tZSBuYXN0aW5lc3MKCSAgZW5zdWVzLi4uCgoyMDA1LTExLTEwIDEyOjM0OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgc3VwcG9ydCBmb3IgY3VzdG9tIGdlbnJlIHRhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdWR0YSk6CgkgIEFkZCBzdXBwb3J0IGZvciBjdXN0b20gZ2VucmUgdGFncy4KCjIwMDUtMTEtMDkgMDE6MDQ6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBEb24ndCB1c2UgZ3RrLWRvYyBtYXJrZXJzIGZvciBub3JtYWwgY29tbWVudHMuIEZpeCBndGstZG9jIGZvcm1hdHRpbmcgd2hlcmUgcmVxdWlyZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YXJraW4vd2F2ZWxldC5jOgoJICAqIGV4dC90YXJraW4vd2F2ZWxldC5oOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICAqIGdzdC92YmlkZWMvdmJpZGF0YS5jOgoJICAqIGdzdC92YmlkZWMvdmJpc2NyZWVuLmg6CgkgICogc3lzL2R4cjMvYWMzX3BhZGRlci5jOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzoKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzoKCSAgKiBzeXMvcWNhbS9kYXJrLmM6CgkgIERvbid0IHVzZSBndGstZG9jIG1hcmtlcnMgZm9yIG5vcm1hbCBjb21tZW50cy4gRml4CgkgIGd0ay1kb2MgZm9ybWF0dGluZyB3aGVyZSByZXF1aXJlZC4KCjIwMDUtMTEtMDggMTQ6MjA6NTAgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJICByZW1vdmUgd3JvbmcgbXBlZ3N0cmVhbSBhZGRpdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIHdyb25nIG1wZWdzdHJlYW0gYWRkaXRpb24KCjIwMDUtMTEtMDggMTQ6MTc6MDMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCB0cmVtb3IgcGx1Z2lucyB0byBuZWVkZWQgYnVpbGRzY3JpcHRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgdHJlbW9yIHBsdWdpbnMgdG8gbmVlZGVkIGJ1aWxkc2NyaXB0cwoKMjAwNS0xMS0wOCAxMzo1NToxMyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBQT1JURURfMDk6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvaXZvcmJpcy92b3JiaXMuYzoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJICBQb3J0ZWQgdG8gMC45LiBTb21lIGlzc3VlcyB0byBiZSBzb2x2ZWQgeWV0OiAxLSBzZXQgY29ycmVjdCB0aW1lc3RhbXBzIDItIHNlZyBmYXVsdCB3aGVuIGVvcyAzLSBzZWVrIGlzIG5vdyBkaXNhYmxlZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUG9ydGVkIHRvIDAuOS4gU29tZSBpc3N1ZXMgdG8gYmUgc29sdmVkIHlldDoKCSAgMS0gc2V0IGNvcnJlY3QgdGltZXN0YW1wcwoJICAyLSBzZWcgZmF1bHQgd2hlbiBlb3MKCSAgMy0gc2VlayBpcyBub3cgZGlzYWJsZWQKCjIwMDUtMTEtMDYgMjI6Mjg6MzMgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXhhbXBsZXMvTWFrZWZpbGUuYW06IENsZWFudXAgbm9uIGV4aXN0aW5nIGV4YW1wbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0wNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4YW1wbGVzL01ha2VmaWxlLmFtOiBDbGVhbnVwIG5vbiBleGlzdGluZwoJICBleGFtcGxlcy4KCjIwMDUtMTEtMDYgMjI6MjM6MDcgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3Quc3RhbXA6IEFkZCBtaXNzaW5nIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0wNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0LnN0YW1wOiBBZGQgbWlzc2luZyBmaWxlcy4KCjIwMDUtMTEtMDYgMjI6MTk6MDUgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXhhbXBsZXMvTWFrZWZpbGUuYW06IE1ha2UgYnVpbGRib3QgaGFwcHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTA2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXhhbXBsZXMvTWFrZWZpbGUuYW06IE1ha2UgYnVpbGRib3QgaGFwcHkuCgoyMDA1LTExLTA2IDIyOjE2OjI3ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIE1ha2VmaWxlLmFtOiBleGFtcGxlcyBpbiBkaXN0IHN1YmRpcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTA2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogTWFrZWZpbGUuYW06IGV4YW1wbGVzIGluIGRpc3Qgc3ViZGlycy4KCSAgKiBjb25maWd1cmUuYWM6IGVuYWJsZSBwYXJhbWV0ZXIgZm9yIGJ1aWxkaW5nCgkgIGV4YW1wbGVzLgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJICAqIGV4YW1wbGVzL01ha2VmaWxlLmFtOiBVcGRhdGVzLgoKMjAwNS0xMS0wNiAyMTo1NTowMSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBFbmFibGUgZG9jdW1lbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMDYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBNYWtlZmlsZS5hbToKCSAgKiBhdXRvZ2VuLnNoOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy8uY3ZzaWdub3JlOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC1saXN0LnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy11bmRvY3VtZW50ZWQudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnR5cGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJICAqIGRvY3MvdmVyc2lvbi5lbnRpdGllcy5pbjogRW5hYmxlIGRvY3VtZW50YXRpb24uCgkgICogZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkgICogZXhhbXBsZXMvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkgICogZXhhbXBsZXMvZGlyZWN0ZmIvZGVja2VyLnR0ZjoKCSAgKiBleGFtcGxlcy9kaXJlY3RmYi9kZmJsb2dvLnBuZzoKCSAgKiBleGFtcGxlcy9kaXJlY3RmYi9nc3RkZmIuYzogKG15Y2xvY2spLCAoZHluYW1pY19saW5rKSwKCSAgKHNpemVfY2hhbmdlZCksIChzZXR1cF9keW5hbWljX2xpbmspLCAobWFpbik6IEFkZCBhbiBleGFtcGxlCgkgIGFwcGxpY2F0aW9uIGZvciBEaXJlY3RGQi4KCjIwMDUtMTEtMDUgMjM6MzY6MjAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOiBBZGQgdGhlIGV4YW1wbGUgYXBwbGljYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTA2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOiBBZGQgdGhlIGV4YW1wbGUgYXBwbGljYXRpb24uCgkgICogZXh0L2RpcmVjdGZiL2RmYi1leGFtcGxlLmM6IChnZXRfbWVfb3V0KSwgKG1haW4pOgoJICBIZXJlIGlzIGFuIGV4YW1wbGUgYXBwbGljYXRpb24gdGhhdCBydW5zIHZpZGVvdGVzdHNyYyBmb3IgMjAKCSAgc2Vjb25kcy4gSXQncyBpbmNsdWRlZCBpbiB0aGUgZG9jdW1lbnRhdGlvbi4KCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChnc3RfZGZidmlkZW9zaW5rX2VudW1fbGF5ZXJzKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0dXApLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jYW5fYmxpdF9mcm9tX2Zvcm1hdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldGNhcHMpLCAoZ3N0X2RmYnZpZGVvc2lua19idWZmZXJfYWxsb2MpOgoJICBNb3JlIGZpeGVzLCBjYWxjdWxhdGUgbmV3IHNpemUgb2YgdGhlIGJ1ZmZlciB3aGVuIHJlbmVnb3RpYXRpbmcuCgkgIFRoaXMgY29tcGxldGVseSBicmVha3MgZmZtcGVnY29sb3JzcGFjZSBidXQgaSBuZWVkIHRvIGRpc2N1c3MKCSAgdGhhdCB3aXRoIFdpbSBvbiBtb25kYXkuIEFkZCBkb2N1bWVudGF0aW9uLgoKMjAwNS0xMS0wNSAxOTo1NToxMiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IE1ha2UgYWNjZWxlcmF0aW9uIGRldGVjdGlvbiB3b3JrLCBiZXR0ZXIsIGFkZCBzYWZldHkgY2hlY2tzIGFuZCBBUkdCIHN1cHBvcnQgZm9yIGNhcmRzIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMDUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChnc3RfZGZidmlkZW9zaW5rX2VudW1fbGF5ZXJzKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0dXApLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jYW5fYmxpdF9mcm9tX2Zvcm1hdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldGNhcHMpOiBNYWtlIGFjY2VsZXJhdGlvbiBkZXRlY3Rpb24gd29yaywKCSAgYmV0dGVyLCBhZGQgc2FmZXR5IGNoZWNrcyBhbmQgQVJHQiBzdXBwb3J0IGZvciBjYXJkcyB0aGF0CgkgIHN1cHBvcnQgaXQuCgoyMDA1LTExLTA0IDE4OjI4OjU2ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuKjogTm93IGRvZXMgY2xpcHBpbmcgd2hlbiBzdXJmYWNlIGlzIHRvbyBzbWFsbCwgaGFuZGxlcyB1cHN0cmVhbSBlbGVtZW50cyB0aGF0IGFyZSBub3QgY2FsbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0wNCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc3VyZmFjZV9jcmVhdGUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zdXJmYWNlX2Rlc3Ryb3kpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfYmVzdF92bW9kZSksIChnc3RfZGZidmlkZW9zaW5rX2dldGNhcHMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jZW50ZXJfcmVjdCksIChnc3RfZGZidmlkZW9zaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19idWZmZXJfYWxsb2MpOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDogTm93IGRvZXMgY2xpcHBpbmcgd2hlbiBzdXJmYWNlCgkgIGlzIHRvbyBzbWFsbCwgaGFuZGxlcyB1cHN0cmVhbSBlbGVtZW50cyB0aGF0IGFyZSBub3QgY2FsbGluZwoJICBnc3RfcGFkX2FsbG9jX2J1ZmZlciwgZml4ZXMgYSBsb3Qgb2YgYnVncy4KCjIwMDUtMTEtMDMgMjI6MzY6NDIgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOiBQcmVwYXJlIGZvciBsaWJvaWwgdXNhZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTAzICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOiBQcmVwYXJlIGZvciBsaWJvaWwgdXNhZ2UuCgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAoZ3N0X2RmYnZpZGVvc2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVyX2FsbG9jKTogIFByZXBhcmUgZm9yIGxpYm9pbCwgaGFuZGxlCgkgIHJlbmRlcmluZyBpbiBleHRlcm5hbCBzdXJmYWNlIGNvcnJlY3RseS4gV2lsbCBjb21taXQgYSBuZWF0CgkgIGV4YW1wbGUgc29vbi4KCjIwMDUtMTEtMDMgMTY6NTk6MjAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSAgQWRkIHN1cHBvcnQgdG8gZXhpdCB3aGVuICdFc2MnIGtleSBpcyBwcmVzc2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIHN1cHBvcnQgdG8gZXhpdCB3aGVuICdFc2MnIGtleSBpcyBwcmVzc2VkLgoKMjAwNS0xMS0wMiAxNzoxMjozMSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IFJlcXVpcmVzIERpcmVjdEZCIDAuOS4yNAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0wMiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGNvbmZpZ3VyZS5hYzogUmVxdWlyZXMgRGlyZWN0RkIgMC45LjI0CgoyMDA1LTExLTAyIDEyOjUzOjAwICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIGFkZCBkaXJlY3RmYiB0byBkaXN0ZGlyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgZGlyZWN0ZmIgdG8gZGlzdGRpcgoKMjAwNS0xMS0wMiAxMjo0MzowMyArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBDb21wbGV0ZSByZXdyaXRlL3BvcnQgb2YKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMDIgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9mb3JtYXRfbmFtZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX3N1cmZhY2VfY3JlYXRlKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc3VyZmFjZV9kZXN0cm95KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZXZlbnRfdGhyZWFkKSwgKGdzdF9kZmJ2aWRlb3NpbmtfZW51bV9sYXllcnMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19lbnVtX3Ztb2RlcyksIChnc3RfZGZidmlkZW9zaW5rX2VudW1fZGV2aWNlcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldHVwKSwgKGdzdF9kZmJ2aWRlb3NpbmtfY2xlYW51cCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9mb3JtYXRfZnJvbV9jYXBzKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X2NhcHNfZnJvbV9mb3JtYXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jYW5fYmxpdF9mcm9tX2Zvcm1hdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9iZXN0X3Ztb2RlKSwgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0Y2FwcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldGNhcHMpLCAoZ3N0X2RmYnZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfdGltZXMpLCAoZ3N0X2RmYnZpZGVvc2lua19jZW50ZXJfcmVjdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19idWZmZXJwb29sX2NsZWFyKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVyX2FsbG9jKSwgKGdzdF9kZmJzdXJmYWNlX2ZpbmFsaXplKSwKCSAgKGdzdF9kZmJzdXJmYWNlX2luaXQpLCAoZ3N0X2RmYnN1cmZhY2VfY2xhc3NfaW5pdCksCgkgIChnc3RfZGZic3VyZmFjZV9nZXRfdHlwZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2ludGVyZmFjZV9zdXBwb3J0ZWQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19pbnRlcmZhY2VfaW5pdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX25hdmlnYXRpb25fc2VuZF9ldmVudCksCgkgIChnc3RfZGZidmlkZW9zaW5rX25hdmlnYXRpb25faW5pdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2luaXQpLCAoZ3N0X2RmYnZpZGVvc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jbGFzc19pbml0KSwgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X3R5cGUpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDoKCSAgKiBleHQvZGlyZWN0ZmIvZGlyZWN0ZmJ2aWRlb3NpbmsuYzoKCSAgKiBleHQvZGlyZWN0ZmIvZGlyZWN0ZmJ2aWRlb3NpbmsuaDogQ29tcGxldGUgcmV3cml0ZS9wb3J0IG9mCgkgIERpcmVjdEZCIHZpZGVvIHNpbmsgdG8gMC45LiBIYW5kbGVzIHJldmVyc2UgbmVnb3RpYXRpb24sCgkgIGhhcmR3YXJlCgkgIHNjYWxpbmcsIG5hdmlnYXRpb24sIGJ1ZmZlciBhbGxvY2F0aW9uIGZyb20gdmlkZW8gbWVtb3J5IGV0Yy4uLgoKMjAwNS0xMC0zMSAyMDo1Nzo0MiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICBDaGFuZ2VkIHByb3BlcnR5IGZ1bGwtc2NyZWVuIHRvIGZ1bGxzY3JlZW4sIHVzaW5nIFNETF9TV1NVUkZBQ0UgaW5zdGVhZCBvZiBTRExfSFdTVVJGQUNFIHdoZW4gaW4gZnVsbCBzY3JlZW4gbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZWQgcHJvcGVydHkgZnVsbC1zY3JlZW4gdG8gZnVsbHNjcmVlbiwgdXNpbmcgU0RMX1NXU1VSRkFDRSBpbnN0ZWFkIG9mIFNETF9IV1NVUkZBQ0Ugd2hlbiBpbiBmdWxsIHNjcmVlbiBtb2RlLgoKMjAwNS0xMC0zMSAxODowNzozMCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgIEFkZGVkIGEgcHJvcGVydHkgdGhhdCBhbGxvd3MgZnVsbC1zY3JlZW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGRlZCBhIHByb3BlcnR5IHRoYXQgYWxsb3dzIGZ1bGwtc2NyZWVuLgoKMjAwNS0xMC0yOCAxNToxMToxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zZGwvc2RsdmlkZW9zaW5rLio6IEZpeCBJNDIwIG91dHB1dCBvbiBzb21lIG1hY2hpbmVzIChub3QgdmVyeSBuaWNlLCBidXQgc2hvdWxkIHdvcmspLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfZ2V0X3NkbF9mcm9tX2ZvdXJjYyksIChnc3Rfc2RsdmlkZW9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19zaG93X2ZyYW1lKToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICBGaXggSTQyMCBvdXRwdXQgb24gc29tZSBtYWNoaW5lcyAobm90IHZlcnkgbmljZSwgYnV0IHNob3VsZCB3b3JrKS4KCSAgQWRkIGFuICdzZGx2aWRlb3NpbmsnIGRlYnVnIGNhdGVnb3J5LiBEaXNhYmxlIGZvcm1hdHMgdGhhdCBkbwoJICBub3Qgd29yay4gRml4IHNvbWUgdmFyYXJnIGZ1bmN0aW9uIGlzc3Vlcy4KCjIwMDUtMTAtMjcgMjA6MTY6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvc2RsL3NkbHZpZGVvc2luay5jOiBGaXggU0RMIHZpZGVvc2luayBhbmQgZGlkIHNvbWUgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2RsdmlkZW9zaW5rX2ZpbmFsaXplKSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfZ2V0X3RpbWVzKSwgKGdzdF9zZGx2aWRlb3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX2luaXQpLCAoZ3N0X3NkbHZpZGVvc2lua19sb2NrKSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfaW5pdHNkbCksIChnc3Rfc2RsdmlkZW9zaW5rX2NyZWF0ZSksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX3Nob3dfZnJhbWUpLCAoZ3N0X3NkbHZpZGVvc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19nZXRfcHJvcGVydHkpLCAoZ3N0X3NkbHZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpOgoJICBGaXggU0RMIHZpZGVvc2luayBhbmQgZGlkIHNvbWUgY2xlYW51cHMuCgoyMDA1LTEwLTI3IDE5OjM2OjE4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgIFRyeWluZyB0byBmaXggdmlkZW9zIG91dCBvZiBzeW5jIChub3QgZml4ZWQgeWV0KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVHJ5aW5nIHRvIGZpeCB2aWRlb3Mgb3V0IG9mIHN5bmMgKG5vdCBmaXhlZCB5ZXQpCgoyMDA1LTEwLTI3IDE2OjE2OjAwICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgcmVtb3ZlZCB1bnVzZWQgbGFuZ3VhZ2Ugc3R1ZmYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZWQgdW51c2VkIGxhbmd1YWdlIHN0dWZmCgoyMDA1LTEwLTI3IDEyOjQ5OjU0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkgIGRvbid0IGRvIHBvIHVudGlsIHNvbWV0aGluZyB3YW50cyB0byBiZSB0cmFuc2xhdGVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb24ndCBkbyBwbyB1bnRpbCBzb21ldGhpbmcgd2FudHMgdG8gYmUgdHJhbnNsYXRlZAoKMjAwNS0xMC0yNyAxMToyNzo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDogUmVtb3ZlIGdvdF9yZWRpcmVjdCBmcm9tIGNsYXNzIHN0cnVjdHVyZSBhcyB3ZWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIFJlbW92ZSBnb3RfcmVkaXJlY3QgZnJvbSBjbGFzcyBzdHJ1Y3R1cmUgYXMgd2VsbC4KCjIwMDUtMTAtMjcgMTE6MjU6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFJlbW92ZSAnZ290LXJlZGlyZWN0JyBzaWduYWwgYW5kIHBvc3QgZWxlbWVudCBtZXNzYWdlIG9uIHRoZSBidXMgaW5zdGVhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2xhc3NfaW5pdCksCgkgIChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICBSZW1vdmUgJ2dvdC1yZWRpcmVjdCcgc2lnbmFsIGFuZCBwb3N0IGVsZW1lbnQgbWVzc2FnZQoJICBvbiB0aGUgYnVzIGluc3RlYWQuCgoyMDA1LTEwLTI2IDE1OjQ1OjExICswMDAwICBaZWVzaGFuIEFsaSA8emVlbml4QGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2dzbS9nc3Rnc20uYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuaDoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgRml4aW5nIHN0dWZmIGFzIHdpbmdvIHBvaW50ZWQgb3V0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4aW5nIHN0dWZmIGFzIHdpbmdvIHBvaW50ZWQgb3V0LgoKMjAwNS0xMC0yNiAxMzo0MDozMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBmaXggZGlzdGNoZWNrCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggZGlzdGNoZWNrCgoyMDA1LTEwLTI2IDEzOjAxOjIwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSAgZG9uJ3QgcHV0IGNyYXAgaW4gdXNlci12aXNpYmxlIHN0cmluZ3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvbid0IHB1dCBjcmFwIGluIHVzZXItdmlzaWJsZSBzdHJpbmdzCgoyMDA1LTEwLTI1IDE2OjEyOjAzICswMDAwICBaZWVzaGFuIEFsaSA8emVlbml4QGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2dzbS9nc3Rnc20uYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuaDoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuaDoKCSAgT3Zlci13cml0aW5nIFdpbSdzIGdzbSBwbHVnaW5zIChjdXJyZW50bHkgbm90IHdvcmtpbmcpIHdpdGggdGhhdCBmcm9tIHRoZSBmYXJzaWdodCByZXBvLiBBbHNvIG1hZGUgc3VyZSB0aGF0IHRoZXkgd29yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBPdmVyLXdyaXRpbmcgV2ltJ3MgZ3NtIHBsdWdpbnMgKGN1cnJlbnRseSBub3Qgd29ya2luZykgd2l0aCB0aGF0IGZyb20gdGhlIGZhcnNpZ2h0IHJlcG8uIEFsc28gbWFkZSBzdXJlIHRoYXQgdGhleSB3b3JrIHdpdGggdGhlIFJUUCAoZGUpcGF5bG9hZGVyLgoKMjAwNS0xMC0yNSAxMzozMTowOSArMDAwMCAgRmxhdmlvIE9saXZlaXJhIDxmbGF2aW8ub2xpdmVpcmFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmg6CgkgIEZpeGVkIGV2ZW50IGhhbmRsaW5nIGluIGdzbWVuYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIGV2ZW50IGhhbmRsaW5nIGluIGdzbWVuYy4KCjIwMDUtMTAtMjQgMTM6MDI6MzIgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJICBwb3J0IG92ZXIgcGx1Z2luIGxpc3RpbmcgZnJvbSBiYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwb3J0IG92ZXIgcGx1Z2luIGxpc3RpbmcgZnJvbSBiYXNlCgoyMDA1LTEwLTIzIDIzOjA3OjAyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIEhFQUQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gSEVBRAoKPT09IHJlbGVhc2UgMC45LjQgPT09CgoyMDA1LTEwLTIzIDIyOjQ2OjQwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIHJlbGVhc2luZyAwLjkuNAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuOS40CgoyMDA1LTEwLTIzIDE0OjM4OjAwICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogU1RPUFBFRC0+RkFJTEVELgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0yMyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfbG9vcCk6IFNUT1BQRUQtPkZBSUxFRC4KCjIwMDUtMTAtMjEgMTY6MTE6NTMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBsYXRlc3QgdXBkYXRlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbGF0ZXN0IHVwZGF0ZXMKCjIwMDUtMTAtMjAgMTU6MDg6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmFhZC9nc3RmYWFkLio6IERvIHNvbWUgdGltZXN0YW1wIHNtb290aGluZyAobWF0cm9za2FkZW11eCBhcHBhcmVudGx5IHNlbmRzIG11bHRpcGxlIGJ1ZmZlcnMgaW4gYSByb3cgd2l0aCB0aGUgc2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfYmFzZV9pbml0KSwgKGdzdF9mYWFkX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ZhYWRfaW5pdCksIChnc3RfZmFhZF9zcmNnZXRjYXBzKSwgKGdzdF9mYWFkX2V2ZW50KSwKCSAgKGdzdF9mYWFkX2NoYWluKSwgKGdzdF9mYWFkX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBEbyBzb21lIHRpbWVzdGFtcCBzbW9vdGhpbmcgKG1hdHJvc2thZGVtdXggYXBwYXJlbnRseSBzZW5kcwoJICBtdWx0aXBsZSBidWZmZXJzIGluIGEgcm93IHdpdGggdGhlIHNhbWUgdGltZXN0YW1wKTsgZml4CgkgIGR1cmF0aW9uIG9uIG91dGdvaW5nIGJ1ZmZlcnM7IGZpeCBjaGFuZ2Ugc3RhdGUgZnVuY3Rpb247IHVzZQoJICBHU1RfREVCVUdfRlVOQ1BUUiBmb3IgcGFkIGZ1bmN0aW9ucy4KCjIwMDUtMTAtMTkgMTU6NTg6MDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvOiBBUEkgY2hhbmdlIGZpeC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X3NyY19xdWVyeV90eXBlcyksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KToKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzogKHNwZWVkX2dldF9xdWVyeV90eXBlcyksIChzcGVlZF9zcmNfcXVlcnkpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2Vfc3JjX2V2ZW50KSwKCSAgKGdzdF90dGFfcGFyc2VfZ2V0X3F1ZXJ5X3R5cGVzKSwgKGdzdF90dGFfcGFyc2VfcXVlcnkpOgoJICBBUEkgY2hhbmdlIGZpeC4KCjIwMDUtMTAtMTkgMTI6NDE6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEFsbCB0aGUgY29vbCBraWRzIHVzZSBHU1RfRE9DQk9PS19DSEVDSyBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQWxsIHRoZSBjb29sIGtpZHMgdXNlIEdTVF9ET0NCT09LX0NIRUNLIG5vdy4KCjIwMDUtMTAtMTggMDg6Mzk6NDEgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3NwZWVkL01ha2VmaWxlLmFtOiBGaXggYnVpbGQgb2Ygc3BlZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTE4ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3NwZWVkL01ha2VmaWxlLmFtOiBGaXggYnVpbGQgb2Ygc3BlZWQuCgoyMDA1LTEwLTE3IDIwOjQ4OjM1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmg6CgkgIEZpeGVkIFNwZWVkIC0gUmVjb3ZlcmVkIGZlYXR1cmVkIG1pc3NlZCBzaW5jZSB2ZXJzaW9uIDEuMzcsIGFuZCBjaGFuZ2VkIG90aGVyIG1pbm9yIHRoaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIFNwZWVkIC0gUmVjb3ZlcmVkIGZlYXR1cmVkIG1pc3NlZCBzaW5jZSB2ZXJzaW9uIDEuMzcsIGFuZCBjaGFuZ2VkIG90aGVyCgkgIG1pbm9yIHRoaW5ncy4KCjIwMDUtMTAtMTYgMTc6MDg6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEZpeCBnbGliIGNoZWNrCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IGdsaWIgY2hlY2sKCjIwMDUtMTAtMTYgMTM6NTQ6MzggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIHJlc3RydWN0dXJlIGNvbmZpZ3VyZS5hYywgdXNlIGNvcnJlY3QgbGlidG9vbCBMREZMQUdTLCBmaXggdXAgZGVmaW5lcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVzdHJ1Y3R1cmUgY29uZmlndXJlLmFjLCB1c2UgY29ycmVjdCBsaWJ0b29sIExERkxBR1MsIGZpeCB1cCBkZWZpbmVzCgoyMDA1LTEwLTEzIDE1OjMxOjIwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleC86IGFuZCBtb3JlIHR5cG9zIGZpeGVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL3N0YXRzL21wMm9nZy5jOgoJICAqIGV4dC90YXJraW4vdGFya2luLmM6ICh0YXJraW5fYW5hbHlzaXNfZnJhbWVpbiksCgkgICh0YXJraW5fc3ludGhlc2lzX3BhY2tldGluKToKCSAgYW5kIG1vcmUgdHlwb3MgZml4ZWQKCjIwMDUtMTAtMTMgMTE6Mzc6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmFhYy9nc3RmYWFjLmM6IEdzdDA5LWl6ZSBjb2RlIGEgbGl0dGxlIGJpdCBtb3JlOiB1c2UgZ3N0X3BhZF9hbGxvY19idWZmZXIoKSwgbW92ZSBldmVudCBoYW5kbGluZyBmcm9tIGNoYWluIGZ1bmMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfY2xhc3NfaW5pdCksIChnc3RfZmFhY19pbml0KSwKCSAgKGdzdF9mYWFjX3Npbmtfc2V0Y2FwcyksIChnc3RfZmFhY19zcmNfc2V0Y2FwcyksCgkgIChnc3RfZmFhY19zaW5rX2V2ZW50KSwgKGdzdF9mYWFjX2NoYWluKSwgKGdzdF9mYWFjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZmFhY19nZXRfcHJvcGVydHkpLCAoZ3N0X2ZhYWNfY2hhbmdlX3N0YXRlKToKCSAgR3N0MDktaXplIGNvZGUgYSBsaXR0bGUgYml0IG1vcmU6IHVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpLAoJICBtb3ZlIGV2ZW50IGhhbmRsaW5nIGZyb20gY2hhaW4gZnVuY3Rpb24gaW50byBhbiBldmVudCBmdW5jdGlvbiwKCSAgYWRkIHNvbWUgbG9ja3MgaGVyZSBhbmQgdGhlcmUsIGRvIHNvbWUgY2xlYW51cHM7IGRpc2FibGUgMzItYml0CgkgIGludGVnZXIgYW5kIGZsb2F0IGlucHV0IGZvcm1hdHMgdW50aWwgd2UncmUgc3VyZSB0aGF0IHRob3NlCgkgIGFjdHVhbGx5IHdvcmsgKGNvdWxkbid0IHBsYXkgYmFjayB0aGUgcHJvZHVjZWQgZmlsZXMgd2l0aAoJICBhbnl0aGluZykuCgoyMDA1LTEwLTEyIDE0OjI5OjU1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICByZW5hbWVkIEdTVF9GTEFHUyBtYWNyb3MgdG8gR1NUX09CSkVDVF9GTEFHUyBtb3ZlZCBiaXRzaGlmdCBmcm9tIG1hY3JvIHRvIGVudW0gZGVmaW5pdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9pbmRleGluZy9pbmRleG1wZWcuYzogKG1haW4pOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzogKGdzdF9hcnRzZHNpbmtfb3Blbl9hdWRpbyksCgkgIChnc3RfYXJ0c2RzaW5rX2Nsb3NlX2F1ZGlvKSwgKGdzdF9hcnRzZHNpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6IChnc3RfYWZwYXJzZV9vcGVuX2ZpbGUpLAoJICAoZ3N0X2FmcGFyc2VfY2xvc2VfZmlsZSk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzogKGdzdF9hZnNpbmtfb3Blbl9maWxlKSwKCSAgKGdzdF9hZnNpbmtfY2xvc2VfZmlsZSksIChnc3RfYWZzaW5rX2NoYWluKSwKCSAgKGdzdF9hZnNpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzogKGdzdF9hZnNyY19vcGVuX2ZpbGUpLAoJICAoZ3N0X2Fmc3JjX2Nsb3NlX2ZpbGUpLCAoZ3N0X2Fmc3JjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5oOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzogKGdzdF9jZGF1ZGlvX2luaXQpOgoJICAqIGV4dC9kaXJlY3RmYi9kaXJlY3RmYnZpZGVvc2luay5jOiAoZ3N0X2RpcmVjdGZidmlkZW9zaW5rX2luaXQpOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2luaXQpOgoJICAqIGV4dC9qYWNrL2dzdGphY2suaDoKCSAgKiBleHQvamFjay9nc3RqYWNrYmluLmM6IChnc3RfamFja19iaW5faW5pdCksCgkgIChnc3RfamFja19iaW5fY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19vcGVuX2F1ZGlvKSwKCSAgKGdzdF9uYXNzaW5rX2Nsb3NlX2F1ZGlvKSwgKGdzdF9uYXNzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L25hcy9uYXNzaW5rLmg6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5jOiAoZ3N0X3BvbHlwc2lua19pbml0KToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgICogZXh0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOiAoZ3N0X3Ntb290aHdhdmVfaW5pdCk6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzogKGdzdF9zZl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NmX2NoYW5nZV9zdGF0ZSksIChnc3Rfc2ZfcmVsZWFzZV9yZXF1ZXN0X3BhZCksCgkgIChnc3Rfc2Zfb3Blbl9maWxlKSwgKGdzdF9zZl9jbG9zZV9maWxlKSwgKGdzdF9zZl9sb29wKToKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5oOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjX2luaXQpOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6IChnc3RfdGFya2luZGVjX2luaXQpOgoJICAqIGdzdC9hcGV0YWcvYXBlZGVtdXguYzogKGdzdF9hcGVfZGVtdXhfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzogKGdzdF9jZHhhcGFyc2VfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfaW5pdCk6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6IChnc3RfZmVzdGl2YWxfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuaDoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6IChnc3RfbXBlZzJzdWJ0X2luaXQpOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzogKGdzdF9tdWx0aWZpbGVzaW5rX2luaXQpLAoJICAoZ3N0X211bHRpZmlsZXNpbmtfc2V0X2xvY2F0aW9uKSwgKGdzdF9tdWx0aWZpbGVzaW5rX29wZW5fZmlsZSksCgkgIChnc3RfbXVsdGlmaWxlc2lua19jbG9zZV9maWxlKSwgKGdzdF9tdWx0aWZpbGVzaW5rX25leHRfZmlsZSksCgkgIChnc3RfbXVsdGlmaWxlc2lua19wYWRfcXVlcnkpLCAoZ3N0X211bHRpZmlsZXNpbmtfaGFuZGxlX2V2ZW50KSwKCSAgKGdzdF9tdWx0aWZpbGVzaW5rX2NoYWluKSwgKGdzdF9tdWx0aWZpbGVzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5oOgoJICAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6IChnc3RfdmlkZW9kcm9wX2luaXQpOgoJICAqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOiAoY2RwbGF5ZXJfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOiAoZHhyM2F1ZGlvc2lua19pbml0KSwKCSAgKGR4cjNhdWRpb3Npbmtfb3BlbiksIChkeHIzYXVkaW9zaW5rX2Nsb3NlKSwKCSAgKGR4cjNhdWRpb3NpbmtfY2hhaW5fcGNtKSwgKGR4cjNhdWRpb3NpbmtfY2hhaW5fYWMzKSwKCSAgKGR4cjNhdWRpb3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzogKGR4cjNzcHVzaW5rX2luaXQpLCAoZHhyM3NwdXNpbmtfb3BlbiksCgkgIChkeHIzc3B1c2lua19jbG9zZSksIChkeHIzc3B1c2lua19jaGFpbiksCgkgIChkeHIzc3B1c2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOiAoZHhyM3ZpZGVvc2lua19pbml0KSwKCSAgKGR4cjN2aWRlb3Npbmtfb3BlbiksIChkeHIzdmlkZW9zaW5rX2Nsb3NlKSwKCSAgKGR4cjN2aWRlb3Npbmtfd3JpdGVfZGF0YSksIChkeHIzdmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5oOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlc2lua19pbml0KToKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6IChnc3RfcWNhbXNyY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3FjYW1zcmNfb3BlbiksIChnc3RfcWNhbXNyY19jbG9zZSk6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2luaXQpOgoJICAqIHN5cy92Y2QvdmNkc3JjLmM6IChnc3RfdmNkc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfdmNkc3JjX2dldCksCgkgIChnc3RfdmNkc3JjX29wZW5fZmlsZSksIChnc3RfdmNkc3JjX2Nsb3NlX2ZpbGUpLAoJICAoZ3N0X3ZjZHNyY19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3ZjZHNyY19yZWNhbGN1bGF0ZSk6CgkgICogc3lzL3ZjZC92Y2RzcmMuaDoKCSAgcmVuYW1lZCBHU1RfRkxBR1MgbWFjcm9zIHRvIEdTVF9PQkpFQ1RfRkxBR1MKCSAgbW92ZWQgYml0c2hpZnQgZnJvbSBtYWNybyB0byBlbnVtIGRlZmluaXRpb24KCjIwMDUtMTAtMTIgMTM6NTQ6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmFhYy9nc3RmYWFjLmM6IEZpeCBkZXB0aC93aWR0aCBoYW5kbGluZyBmb3IgZmxvYXQgYXVkaW8gKCMzMTg2NTkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19zaW5rX3NldGNhcHMpOgoJICBGaXggZGVwdGgvd2lkdGggaGFuZGxpbmcgZm9yIGZsb2F0IGF1ZGlvICgjMzE4NjU5KS4KCjIwMDUtMTAtMTIgMTI6NTM6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmFhYy9nc3RmYWFjLmM6IFJlZmNvdW50IGZpeGVzICgjMzE4NjU5KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2ZhYWNfc3JjX3NldGNhcHMpLCAoZ3N0X2ZhYWNfY2hhaW4pOgoJICBSZWZjb3VudCBmaXhlcyAoIzMxODY1OSkKCjIwMDUtMTAtMTIgMDk6MTU6NDAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L01ha2VmaWxlLmFtOiBsaWJ2aXN1YWwgYW5kIHNuYXBzaG90IGFyZSBub3QgaGVyZSBhbnltb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0xMiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9NYWtlZmlsZS5hbTogbGlidmlzdWFsIGFuZCBzbmFwc2hvdCBhcmUgbm90IGhlcmUgYW55bW9yZS4KCSAgTWFrZXMKCSAgYXV0b21ha2UtMS43IGhhcHB5IGFnYWluLgoKMjAwNS0xMC0xMSAyMzowMzowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogbmV3c2VnbWVudCBBUEkgdXBkYXRlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2V2ZW50KToKCSAgbmV3c2VnbWVudCBBUEkgdXBkYXRlCgoyMDA1LTEwLTExIDE2OjM0OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LzogbmV3c2VnbWVudCBBUEkgdXBkYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlcik6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3R0YV9wYXJzZV9wYXJzZV9oZWFkZXIpOgoJICBuZXdzZWdtZW50IEFQSSB1cGRhdGUuCgoyMDA1LTEwLTA3IDE1OjI0OjI0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogTWFrZSBpbnRlcnJ1cHRpYmxlLCBzbyBpdCB3b24ndCBibG9jayBmb3JldmVyIGluIGEgcmVhZCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMC0wNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvcmF3MTM5NC9nc3RkdjEzOTRzcmMuYzogTWFrZSBpbnRlcnJ1cHRpYmxlLCBzbyBpdCB3b24ndAoJICBibG9jayBmb3JldmVyIGluIGEgcmVhZCgpLgoKMjAwNS0xMC0wNCAxNTo0OTozNSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGZpeCBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBzcGVjIGZpbGUKCjIwMDUtMTAtMDMgMTg6MDA6MzIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gaGVhZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBoZWFkCgo9PT0gcmVsZWFzZSAwLjkuMyA9PT0KCjIwMDUtMTAtMDMgMTc6NTA6MjEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICByZWxlYXNlIHRpbWUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2UgdGltZQoKMjAwNS0wOS0yOCAxMzozODowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTm8gbmVlZCB0byB0YWtlIHN0cmVhbSBsb2NrIGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKToKCSAgTm8gbmVlZCB0byB0YWtlIHN0cmVhbSBsb2NrIGhlcmUuCgoyMDA1LTA5LTI2IDE3OjU3OjU2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZml4IGJ1aWxkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggYnVpbGQKCjIwMDUtMDktMjYgMTU6MTk6MzggKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgIHNvbWUgZGlzdGluZyBhbmQgYnVpbGQgZml4ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNvbWUgZGlzdGluZyBhbmQgYnVpbGQgZml4ZXMKCjIwMDUtMDktMjMgMTc6MDU6MjkgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogUE9SVEVEXzA5OgoJKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJKiBleHQvZ3NtL2dzdGdzbS5jOgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICBHc21kZWMgcG9ydGVkIHRvIDAuOS4gVGVzdGVkIHdpdGggZmlsZXNyYyAhIGdzbWRlYyAhIGFsc2FzaW5rIGFuZCBvc3NzaW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgR3NtZGVjIHBvcnRlZCB0byAwLjkuIFRlc3RlZCB3aXRoIGZpbGVzcmMgISBnc21kZWMgISBhbHNhc2luayBhbmQgb3Nzc2luay4KCjIwMDUtMDktMjMgMTY6NDA6MjcgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvOiBDb252ZXJ0IHRvIHVzaW5nIGdzdCBkZWJ1Z2dpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZGVidWcuaDoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuYzogQ29udmVydCB0byB1c2luZyBnc3QgZGVidWdnaW5nCgoyMDA1LTA5LTIzIDA0OjIyOjU0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgIGZpeCBidWlsZCBhbmQgdXNlIG9mIEdTVF9MSUJTCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggYnVpbGQgYW5kIHVzZSBvZiBHU1RfTElCUwoKMjAwNS0wOS0yMiAxMToxNzoyNiArMDAwMCAgQXJ3ZWQgdi4gTWVya2F0eiA8di5tZXJrYXR6QGdteC5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3R0YS9nc3R0dGFkZWMuYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmg6CgkgIHR0YSBwbHVnaW4gcG9ydGVkIHRvIDAuOQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdHRhIHBsdWdpbiBwb3J0ZWQgdG8gMC45CgoyMDA1LTA5LTIxIDIwOjMzOjQyICswMDAwICBGbGF2aW8gT2xpdmVpcmEgPGZsYXZpby5vbGl2ZWlyYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgU2V0dGluZyBjYXBzIG9uIHRoZSBvdXRnb2luZyBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU2V0dGluZyBjYXBzIG9uIHRoZSBvdXRnb2luZyBidWZmZXJzLgoKMjAwNS0wOS0yMCAxOToyNToxMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJICBmaXggTWFrZWZpbGUuYW0gIHVnaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IE1ha2VmaWxlLmFtICB1Z2gKCjIwMDUtMDktMjAgMTg6NDk6MDUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkgIEZpeGVkIGNvbmZpZ3VyZS5hYyBhbmQgZXh0L3NkbC9NYWtlZmlsZS5hbSBmb3Igc2RsIHBvcnQgdG8gMC45LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgY29uZmlndXJlLmFjIGFuZCBleHQvc2RsL01ha2VmaWxlLmFtIGZvciBzZGwgcG9ydCB0byAwLjkuCgoyMDA1LTA5LTE5IDIxOjUxOjAyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkgIHNkbHZpZGVvc2luayBwb3J0ZWQgdG8gMC45IGFuZCB0ZXN0ZWQgd2l0aCBmaWxlc3JjICEgbXBlZzJkZWMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNkbHZpZGVvc2luayBwb3J0ZWQgdG8gMC45IGFuZCB0ZXN0ZWQgd2l0aCBmaWxlc3JjICEgbXBlZzJkZWMKCjIwMDUtMDktMTkgMjE6NDc6NTQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIFBPUlRFRF8wOToKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgIHNkbHZpZGVvc2luayBwb3J0ZWQgdG8gMC45IGFuZCB0ZXN0ZWQgd2l0aCBmaWxlc3JjICEgbXBlZzJkZWMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNkbHZpZGVvc2luayBwb3J0ZWQgdG8gMC45IGFuZCB0ZXN0ZWQgd2l0aCBmaWxlc3JjICEgbXBlZzJkZWMKCjIwMDUtMDktMTkgMTY6NDQ6MzcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbW1vbjoKCSAgYWRkIGNoZWNrLXZhbGdyaW5kIHRhcmdldAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGNoZWNrLXZhbGdyaW5kIHRhcmdldAoKMjAwNS0wOS0wOSAxNzo1Mzo0NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjaGVjay86IEFkZCBleHRyYSB0ZXN0cyBmb3IgYmFzZXRyYW5zZm9ybSBiYXNlZCBjb21wb25lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjaGVjay9NYWtlZmlsZS5hbToKCSAgKiBjaGVjay9waXBlbGluZXMvc2ltcGxlX2xhdW5jaF9saW5lcy5jOiAoc2V0dXBfcGlwZWxpbmUpLAoJICAocnVuX3BpcGVsaW5lKSwgKEdTVF9TVEFSVF9URVNUKSwgKHNpbXBsZV9sYXVuY2hfbGluZXNfc3VpdGUpOgoJICBBZGQgZXh0cmEgdGVzdHMgZm9yIGJhc2V0cmFuc2Zvcm0gYmFzZWQgY29tcG9uZW50cy4KCSAgQ29tbWVudCBvdXQgdGhlIHRlc3RfZWxlbWVudF9uZWdvdGlhdGlvbiB0ZXN0IHVudGlsIHdlIGRlY2lkZQoJICBpZiBpdCdzIHRlc3RpbmcgY29ycmVjdCBiZWhhdmlvdXIuCgkgICogZXh0L2xpYnZpc3VhbC92aXN1YWwuYzogKGdzdF92aXN1YWxfaW5pdCksIChnZXRfYnVmZmVyKSwKCSAgKGdzdF92aXN1YWxfY2hhaW4pLCAoZ3N0X3Zpc3VhbF9jaGFuZ2Vfc3RhdGUpOgoJICBTbGlnaHRseSBtb3JlIGNvcnJlY3QgYnV0IHN0aWxsIGJvZ3VzIHRpbWVzdGFtcGluZy4KCSAgRml4IHN0YXRlIGNoYW5nZSBmdW5jdGlvbi4KCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2dzdGF1ZGlvY29udmVydC5jOgoJICAoZ3N0X2F1ZGlvX2NvbnZlcnRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGdzdC9mZm1wZWdjb2xvcnNwYWNlL2dzdGZmbXBlZ2NvbG9yc3BhY2UuYzoKCSAgKGdzdF9mZm1wZWdjc3BfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvc2NhbGUvZ3N0dmlkZW9zY2FsZS5jOiAoZ3N0X3ZpZGVvc2NhbGVfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9zY2FsZV9wcmVwYXJlX3NpemUpLCAoZ3N0X3ZpZGVvc2NhbGVfc2V0X2NhcHMpLAoJICAoZ3N0X3ZpZGVvc2NhbGVfcHJlcGFyZV9pbWFnZSk6CgkgICogZ3N0L3ZvbHVtZS9nc3R2b2x1bWUuYzogKGdzdF92b2x1bWVfY2xhc3NfaW5pdCksCgkgICh2b2x1bWVfdHJhbnNmb3JtX2lwKToKCSAgQmFzZXRyYW5zZm9ybSB1cGRhdGVzLiBFbmFibGUgcGFzc3Rocm91Z2ggbW9kZXMuCgkgICogc3lzL3hpbWFnZS94aW1hZ2VzaW5rLmM6IChnc3RfeGltYWdlX2J1ZmZlcl9pbml0KSwKCSAgKGdzdF94aW1hZ2VzaW5rX3JlbmVnb3RpYXRlX3NpemUpLCAoZ3N0X3hpbWFnZXNpbmtfeGNvbnRleHRfZ2V0KSwKCSAgKGdzdF94aW1hZ2VzaW5rX3NldGNhcHMpLCAoZ3N0X3hpbWFnZXNpbmtfYnVmZmVyX2FsbG9jKToKCSAgTmVnb3RpYXRpb24gZml4IHRoYXQgYWxsb3dzIHRoZSB3aW5kb3cgdG8gcmV0dXJuIHRvIHRoZSBvcmlnaW5hbAoJICBzaXplIGFuZCByZW5lZ290aWF0ZSBwYXNzdGhyb3VnaCB1cHN0cmVhbS4gRXh0cmEgZGVidWcgb3V0cHV0LgoKMjAwNS0wOS0wOCAxNTo1NjozOCArMDAwMCAgRmxhdmlvIE9saXZlaXJhIDxmbGF2aW8ub2xpdmVpcmFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIFBPUlRFRF8wOToKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICBQb3J0ZWQgc3BlZWQgUGx1Z2luIHRvIEdTdHJlYW1lciAwLjkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBvcnRlZCBzcGVlZCBQbHVnaW4gdG8gR1N0cmVhbWVyIDAuOQoKMjAwNS0wOS0wNiAxNDowNjo1NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gSEVBRAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBIRUFECgo9PT0gcmVsZWFzZSAwLjkuMSA9PT0KCjIwMDUtMDktMDYgMTQ6MDU6NTAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBNYWtlZmlsZS5hbToKCSogTkVXUzoKCSogUkVBRE1FOgoJKiBSRUxFQVNFOgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMuc3BlYy5pbjoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICByZWxlYXNpbmcgMC45LjEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjkuMQoKMjAwNS0wOS0wNSAxNzoyMDoyOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4YW1wbGVzL2dzdHBsYXkvcGxheWVyLmM6CgkqIGV4YW1wbGVzL3N0YXRzL21wMm9nZy5jOgoJKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuY2M6CgkqIGV4dC9kaXJlY3RmYi9kaXJlY3RmYnZpZGVvc2luay5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkqIGV4dC9uYXMvbmFzc2luay5jOgoJKiBleHQvcG9seXAvcG9seXBzaW5rLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJKiBleHQvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6CgkqIGV4dC94aW5lL3hpbmUuYzoKCSogZXh0L3hpbmUveGluZWF1ZGlvZGVjLmM6CgkqIGV4dC94aW5lL3hpbmVhdWRpb3NpbmsuYzoKCSogZXh0L3hpbmUveGluZWlucHV0LmM6CgkqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJKiBnc3QvYXBldGFnL2FwZWRlbXV4LmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0dmNkcGFyc2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6CgkqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6CgkqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOgoJKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpb3NyYy5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuZWxlbWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92Y2QvdmNkc3JjLmM6CgkgIEZpeCB1cCBhbGwgdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggdXAgYWxsIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb25zLgoKMjAwNS0wOS0wNSAxNToxMDoxOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIHBvL1BPVEZJTEVTLmluOgoJICBjbGVhbmluZyB1cCBiYWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNsZWFuaW5nIHVwIGJhZAoKMjAwNS0wOS0wNSAxMzo0OTo0MSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogZG9jcy9yYW5kb20vQ2hhbmdlTG9nLTAuODoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBjcmVhdGVkIGdzdC1wbHVnaW5zLWJhZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY3JlYXRlZCBnc3QtcGx1Z2lucy1iYWQKCj09PSByZWxlYXNlIDAuOS4yID09PQoKMjAwNS0wOS0wNCAxMDozODo0NSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBmaXggZGlzdGNoZWNrCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbW1vbi9ndGstZG9jLXBsdWdpbnMubWFrOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZml4IGRpc3RjaGVjawoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmM6CgkgIGZpeCB3cm9uZyBkb2NzdHJpbmcKCjIwMDUtMDktMDIgMjA6MjE6MTcgKzAwMDAgIEZsYXZpbyBPbGl2ZWlyYSA8ZmxhdmlvLm9saXZlaXJhQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBQT1JURURfMDk6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJKiBleHQvZ3NtL2dzdGdzbS5jOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICBQb3J0ZWQgR1NNIEVuY29kZXIgdG8gR1N0cmVhbWVyIDAuOQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUG9ydGVkIEdTTSBFbmNvZGVyIHRvIEdTdHJlYW1lciAwLjkKCjIwMDUtMDktMDIgMTU6NDQ6NDQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIEFsbCBwbHVnaW5zIHVwZGF0ZWQgZm9yIGVsZW1lbnQgc3RhdGUgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMDktMDIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogQWxsIHBsdWdpbnMgdXBkYXRlZCBmb3IgZWxlbWVudCBzdGF0ZSBjaGFuZ2VzLgoKMjAwNS0wOS0wMiAxNTo0MzoxNCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogY29tbW9uOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6CgkgIEFsbCBwbHVnaW5zIHVwZGF0ZWQgZm9yIGVsZW1lbnQgc3RhdGUgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMDktMDIgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogQWxsIHBsdWdpbnMgdXBkYXRlZCBmb3IgZWxlbWVudCBzdGF0ZSBjaGFuZ2VzLgoKMjAwNS0wOS0wMSAxOTo1MzoxMiArMDAwMCAgRmxhdmlvIE9saXZlaXJhIDxmbGF2aW8ub2xpdmVpcmFAaW5kdC5vcmcuYnI+CgoJKiBQT1JURURfMDk6CgkgIHVwZGF0ZSBQT1JURURfMDkgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIFBPUlRFRF8wOSBmaWxlCgo=